/*!--------------------------------------------------------
 * 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 */

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;
    return g = { next: verb(0), "throw": verb(1), "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 = {}, 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;
};

export function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __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;
    }
    function next() {
        while (env.stack.length) {
            var rec = env.stack.pop();
            try {
                var result = rec.dispose && rec.dispose.call(rec.value);
                if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
            }
            catch (e) {
                fail(e);
            }
        }
        if (env.hasError) throw env.error;
    }
    return next();
}

export default {
    __extends: __extends,
    __assign: __assign,
    __rest: __rest,
    __decorate: __decorate,
    __param: __param,
    __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,
};

var ok=Object.create;var mg=Object.defineProperty;var ab=Object.getOwnPropertyDescriptor;var sk=Object.getOwnPropertyNames;var ak=Object.getPrototypeOf,lk=Object.prototype.hasOwnProperty;var ob=(i,r)=>(r=Symbol[i])?r:Symbol.for("Symbol."+i),sb=i=>{throw TypeError(i)};var w=(i,r)=>()=>(i&&(r=i(i=0)),r);var ck=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var dk=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of sk(r))!lk.call(i,n)&&n!==e&&mg(i,n,{get:()=>r[n],enumerable:!(t=ab(r,n))||t.enumerable});return i};var lb=(i,r,e)=>(e=i!=null?ok(ak(i)):{},dk(r||!i||!i.__esModule?mg(e,"default",{value:i,enumerable:!0}):e,i));var T=(i,r,e,t)=>{for(var n=t>1?void 0:t?ab(r,e):r,o=i.length-1,s;o>=0;o--)(s=i[o])&&(n=(t?s(r,e,n):s(n))||n);return t&&n&&mg(r,e,n),n},g=(i,r)=>(e,t)=>r(e,t,i);var cb=(i,r,e)=>{if(r!=null){typeof r!="object"&&typeof r!="function"&&sb("Object expected");var t,n;e&&(t=r[ob("asyncDispose")]),t===void 0&&(t=r[ob("dispose")],e&&(n=t)),typeof t!="function"&&sb("Object not disposable"),n&&(t=function(){try{n.call(this)}catch(o){return Promise.reject(o)}}),i.push([e,t,r])}else e&&i.push([e]);return r},db=(i,r,e)=>{var t=typeof SuppressedError=="function"?SuppressedError:function(s,a,l,c){return c=Error(l),c.name="SuppressedError",c.error=s,c.suppressed=a,c},n=s=>r=e?new t(s,r,"An error was suppressed during disposal"):(e=!0,s),o=s=>{for(;s=i.pop();)try{var a=s[1]&&s[1].call(s[2]);if(s[0])return Promise.resolve(a).then(o,l=>(n(l),o()))}catch(l){n(l)}if(e)throw r};return o()};function gg(i){let r=[];typeof i=="number"&&r.push("code/timeOrigin",i);function e(o,s){r.push(o,s?.startTime??Date.now())}function t(){let o=[];for(let s=0;s<r.length;s+=2)o.push({name:r[s],startTime:r[s+1]});return o}function n(o){for(let s=r.length-2;s>=0;s-=2)typeof r[s]=="string"&&r[s].startsWith(o)&&r.splice(s,2)}return{mark:e,getMarks:t,clearMarks:n}}function mk(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?gg():{mark(i,r){performance.mark(i,r)},clearMarks(i){let r=new Set;for(let e of performance.getEntriesByType("mark"))e.name.startsWith(i)&&r.add(e.name);for(let e of r)performance.clearMarks(e)},getMarks(){let i=performance.timeOrigin;typeof i!="number"&&(i=(performance.timing.navigationStart||performance.timing.redirectStart||performance.timing.fetchStart)??0);let r=[{name:"code/timeOrigin",startTime:Math.round(i)}];for(let e of performance.getEntriesByType("mark"))r.push({name:e.name,startTime:Math.round(i+e.startTime)});return r}};if(typeof process=="object"){let i=performance?.timeOrigin;return gg(i)}else return console.trace("perf-util loaded in UNKNOWN environment"),gg()}function hk(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=mk()),i.MonacoPerformanceMarks}var vg,Ne,sF,pp,di=w(()=>{vg=hk(globalThis),Ne=vg.mark,sF=vg.clearMarks,pp=vg.getMarks});var Ig=ck((uF,vb)=>{"use strict";function wk(i,r){var e=i;r.slice(0,-1).forEach(function(n){e=e[n]||{}});var t=r[r.length-1];return t in e}function hb(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function gb(i,r){return r==="constructor"&&typeof i[r]=="function"||r==="__proto__"}vb.exports=function(i,r){r||(r={});var e={bools:{},strings:{},unknownFn:null};typeof r.unknown=="function"&&(e.unknownFn=r.unknown),typeof r.boolean=="boolean"&&r.boolean?e.allBools=!0:[].concat(r.boolean).filter(Boolean).forEach(function(D){e.bools[D]=!0});var t={};function n(D){return t[D].some(function(A){return e.bools[A]})}Object.keys(r.alias||{}).forEach(function(D){t[D]=[].concat(r.alias[D]),t[D].forEach(function(A){t[A]=[D].concat(t[D].filter(function(z){return A!==z}))})}),[].concat(r.string).filter(Boolean).forEach(function(D){e.strings[D]=!0,t[D]&&[].concat(t[D]).forEach(function(A){e.strings[A]=!0})});var o=r.default||{},s={_:[]};function a(D,A){return e.allBools&&/^--[^=]+$/.test(A)||e.strings[D]||e.bools[D]||t[D]}function l(D,A,z){for(var N=D,j=0;j<A.length-1;j++){var q=A[j];if(gb(N,q))return;N[q]===void 0&&(N[q]={}),(N[q]===Object.prototype||N[q]===Number.prototype||N[q]===String.prototype)&&(N[q]={}),N[q]===Array.prototype&&(N[q]=[]),N=N[q]}var ue=A[A.length-1];gb(N,ue)||((N===Object.prototype||N===Number.prototype||N===String.prototype)&&(N={}),N===Array.prototype&&(N=[]),N[ue]===void 0||e.bools[ue]||typeof N[ue]=="boolean"?N[ue]=z:Array.isArray(N[ue])?N[ue].push(z):N[ue]=[N[ue],z])}function c(D,A,z){if(!(z&&e.unknownFn&&!a(D,z)&&e.unknownFn(z)===!1)){var N=!e.strings[D]&&hb(A)?Number(A):A;l(s,D.split("."),N),(t[D]||[]).forEach(function(j){l(s,j.split("."),N)})}}Object.keys(e.bools).forEach(function(D){c(D,o[D]===void 0?!1:o[D])});var d=[];i.indexOf("--")!==-1&&(d=i.slice(i.indexOf("--")+1),i=i.slice(0,i.indexOf("--")));for(var u=0;u<i.length;u++){var f=i[u],m,y;if(/^--.+=/.test(f)){var v=f.match(/^--([^=]+)=([\s\S]*)$/);m=v[1];var b=v[2];e.bools[m]&&(b=b!=="false"),c(m,b,f)}else if(/^--no-.+/.test(f))m=f.match(/^--no-(.+)/)[1],c(m,!1,f);else if(/^--.+/.test(f))m=f.match(/^--(.+)/)[1],y=i[u+1],y!==void 0&&!/^(-|--)[^-]/.test(y)&&!e.bools[m]&&!e.allBools&&(!t[m]||!n(m))?(c(m,y,f),u+=1):/^(true|false)$/.test(y)?(c(m,y==="true",f),u+=1):c(m,e.strings[m]?"":!0,f);else if(/^-[^-]+/.test(f)){for(var I=f.slice(1,-1).split(""),C=!1,R=0;R<I.length;R++){if(y=f.slice(R+2),y==="-"){c(I[R],y,f);continue}if(/[A-Za-z]/.test(I[R])&&y[0]==="="){c(I[R],y.slice(1),f),C=!0;break}if(/[A-Za-z]/.test(I[R])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(y)){c(I[R],y,f),C=!0;break}if(I[R+1]&&I[R+1].match(/\W/)){c(I[R],f.slice(R+2),f),C=!0;break}else c(I[R],e.strings[I[R]]?"":!0,f)}m=f.slice(-1)[0],!C&&m!=="-"&&(i[u+1]&&!/^(-|--)[^-]/.test(i[u+1])&&!e.bools[m]&&(!t[m]||!n(m))?(c(m,i[u+1],f),u+=1):i[u+1]&&/^(true|false)$/.test(i[u+1])?(c(m,i[u+1]==="true",f),u+=1):c(m,e.strings[m]?"":!0,f))}else if((!e.unknownFn||e.unknownFn(f)!==!1)&&s._.push(e.strings._||!hb(f)?f:Number(f)),r.stopEarly){s._.push.apply(s._,i.slice(u+1));break}}return Object.keys(o).forEach(function(D){wk(s,D.split("."))||(l(s,D.split("."),o[D]),(t[D]||[]).forEach(function(A){l(s,A.split("."),o[D])}))}),r["--"]?s["--"]=d.slice():d.forEach(function(D){s._.push(D)}),s}});function bk(i){return i.replace(Ik,function(r,e,t,n,o,s){if(n)return"";if(o){let a=o.length;return o[a-1]===`
`?o[a-2]==="\r"?`\r
`:`
`:""}else return s?r.substring(1):r})}function mp(i){let r=bk(i);try{return JSON.parse(r)}catch{let t=r.replace(/,\s*([}\]])/g,"$1");return JSON.parse(t)}}var Ik,bg=w(()=>{Ik=/("[^"\\]*(?:\\.[^"\\]*)*")|('[^'\\]*(?:\\.[^'\\]*)*')|(\/\*[^\/\*]*(?:(?:\*|\/)[^\/\*]*)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))|(,\s*[}\]])/g});import{homedir as yb}from"os";import{resolve as Sk,isAbsolute as xk,join as ga}from"path";function hp(i,r){let e=Ek(i,r),t=[e];return xk(e)||t.unshift(Pk),Sk(...t)}function Ek(i,r){process.env.VSCODE_DEV&&(process.isEmbeddedApp?r="sessions-oss-dev":r="code-oss-dev");let e=process.env.VSCODE_PORTABLE;if(e)return ga(e,"user-data");let t=process.env.VSCODE_APPDATA;if(t)return ga(t,r);let n=i["user-data-dir"];if(n)return n;switch(process.platform){case"win32":if(t=process.env.APPDATA,!t){let o=process.env.USERPROFILE;if(typeof o!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");t=ga(o,"AppData","Roaming")}break;case"darwin":t=ga(yb(),"Library","Application Support");break;case"linux":t=process.env.XDG_CONFIG_HOME||ga(yb(),".config");break;default:throw new Error("Platform not supported")}return ga(t,r)}var Pk,Sg=w(()=>{Pk=process.env.VSCODE_CWD||process.cwd()});function xg(){return globalThis._VSCODE_NLS_MESSAGES}function jc(){return globalThis._VSCODE_NLS_LANGUAGE}function gp(i,r){let e;return r.length===0?e=i:e=i.replace(/\{(\d+)\}/g,(t,n)=>{let o=n[0],s=r[o],a=t;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),Tk&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function h(i,r,...e){return gp(typeof i=="number"?wb(i,r):r,e)}function wb(i,r){let e=xg()?.[i];if(typeof e!="string"){if(typeof r=="string")return r;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function Pg(i,r,...e){let t;typeof i=="number"?t=wb(i,r):t=r;let n=gp(t,e);return{value:n,original:r===t?n:gp(r,e)}}var Tk,Te=w(()=>{Tk=jc()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function Ip(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}function _g(i){return parseFloat(i)>=25}var ws,Jc,Qc,Gc,bb,Sb,Eg,Ck,xb,Pb,_k,vp,yp,Ib,Eb,Ui,Ni,tn,Tb,kk,wp,W,V,ne,bp,Sp,Dr,Rk,Cb,_b,Bi,ui,yn,Dk,Tg,Lk,kb,Qt,Cg,Rb,Db,Lb,gF,te=w(()=>{Te();ws="en",Jc=!1,Qc=!1,Gc=!1,bb=!1,Sb=!1,Eg=!1,Ck=!1,xb=!1,Pb=!1,_k=!1,yp=ws,Ib=ws,Ni=globalThis;typeof Ni.vscode<"u"&&typeof Ni.vscode.process<"u"?tn=Ni.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(tn=process);Tb=typeof tn?.versions?.electron=="string",kk=Tb&&tn?.type==="renderer";if(typeof tn=="object"){Jc=tn.platform==="win32",Qc=tn.platform==="darwin",Gc=tn.platform==="linux",bb=Gc&&!!tn.env.SNAP&&!!tn.env.SNAP_REVISION,Ck=Tb,Pb=!!tn.env.CI||!!tn.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!tn.env.GITHUB_WORKSPACE,vp=ws,yp=ws;let i=tn.env.VSCODE_NLS_CONFIG;if(i)try{let r=JSON.parse(i);vp=r.userLocale,Ib=r.osLocale,yp=r.resolvedLanguage||ws,Eb=r.languagePack?.translationsConfigFile}catch{}Sb=!0}else typeof navigator=="object"&&!kk?(Ui=navigator.userAgent,Jc=Ui.indexOf("Windows")>=0,Qc=Ui.indexOf("Macintosh")>=0,xb=(Ui.indexOf("Macintosh")>=0||Ui.indexOf("iPad")>=0||Ui.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Gc=Ui.indexOf("Linux")>=0,_k=Ui?.indexOf("Mobi")>=0,Eg=!0,yp=jc()||ws,vp=navigator.language.toLowerCase(),Ib=vp):console.error("Unable to resolve platform.");wp=0;Qc?wp=1:Jc?wp=3:Gc&&(wp=2);W=Jc,V=Qc,ne=Gc,bp=bb,Sp=Sb,Dr=Eg,Rk=Eg&&typeof Ni.importScripts=="function",Cb=Rk?Ni.origin:void 0,_b=Pb,Bi=wp,ui=Ui,yn=yp;(t=>{function i(){return yn}t.value=i;function r(){return yn.length===2?yn==="en":yn.length>=3?yn[0]==="e"&&yn[1]==="n"&&yn[2]==="-":!1}t.isDefaultVariant=r;function e(){return yn==="en"}t.isDefault=e})(Dk||={});Tg=Eb,Lk=typeof Ni.postMessage=="function"&&!Ni.importScripts,kb=(()=>{if(Lk){let i=[];Ni.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let t=0,n=i.length;t<n;t++){let o=i[t];if(o.id===e.data.vscodeScheduleAsyncWork){i.splice(t,1),o.callback();return}}});let r=0;return e=>{let t=++r;i.push({id:t,callback:e}),Ni.postMessage({vscodeScheduleAsyncWork:t},"*")}}return i=>setTimeout(i)})(),Qt=Qc||xb?2:Jc?1:3,Cg=!!(ui&&ui.indexOf("Chrome")>=0),Rb=!!(ui&&ui.indexOf("Firefox")>=0),Db=!!(!Cg&&ui&&ui.indexOf("Safari")>=0),Lb=!!(ui&&ui.indexOf("Edg/")>=0),gF=!!(ui&&ui.indexOf("Android")>=0)});var Is,kg,rn,or,xp,Ab,$n=w(()=>{te();kg=globalThis.vscode;if(typeof kg<"u"&&typeof kg.process<"u"){let i=kg.process;Is={get platform(){return i.platform},get arch(){return i.arch},get env(){return i.env},cwd(){return i.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?Is={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Is={get platform(){return W?"win32":V?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};rn=Is.cwd,or=Is.env,xp=Is.platform,Ab=Is.arch});function Uk(i,r){if(i===null||typeof i!="object")throw new Pp(r,"Object",i)}function Mt(i,r){if(typeof i!="string")throw new Pp(r,"string",i)}function Re(i){return i===pr||i===nn}function Rg(i){return i===pr}function Hi(i){return i>=Ak&&i<=Ok||i>=Mk&&i<=Fk}function Ep(i,r,e,t){let n="",o=0,s=-1,a=0,l=0;for(let c=0;c<=i.length;++c){if(c<i.length)l=i.charCodeAt(c);else{if(t(l))break;l=pr}if(t(l)){if(!(s===c-1||a===1))if(a===2){if(n.length<2||o!==2||n.charCodeAt(n.length-1)!==bs||n.charCodeAt(n.length-2)!==bs){if(n.length>2){let d=n.lastIndexOf(e);d===-1?(n="",o=0):(n=n.slice(0,d),o=n.length-1-n.lastIndexOf(e)),s=c,a=0;continue}else if(n.length!==0){n="",o=0,s=c,a=0;continue}}r&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${i.slice(s+1,c)}`:n=i.slice(s+1,c),o=c-s-1;s=c,a=0}else l===bs&&a!==-1?++a:a=-1}return n}function Nk(i){return i?`${i[0]==="."?"":"."}${i}`:""}function Ob(i,r){Uk(r,"pathObject");let e=r.dir||r.root,t=r.base||`${r.name||""}${Nk(r.ext)}`;return e?e===r.root?`${e}${t}`:`${e}${i}${t}`:t}var Ak,Mk,Ok,Fk,bs,pr,nn,Vi,Wk,Pp,on,ut,Bk,de,Ct,xo,B,$r,Tp,Ze,Pe,ya,wF,IF,bF,Ot,Cp,_e=w(()=>{$n();Ak=65,Mk=97,Ok=90,Fk=122,bs=46,pr=47,nn=92,Vi=58,Wk=63,Pp=class extends Error{constructor(r,e,t){let n;typeof e=="string"&&e.indexOf("not ")===0?(n="must not be",e=e.replace(/^not /,"")):n="must be";let o=r.indexOf(".")!==-1?"property":"argument",s=`The "${r}" ${o} ${n} of type ${e}`;s+=`. Received type ${typeof t}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};on=xp==="win32";ut={resolve(...i){let r="",e="",t=!1;for(let n=i.length-1;n>=-1;n--){let o;if(n>=0){if(o=i[n],Mt(o,`paths[${n}]`),o.length===0)continue}else r.length===0?o=rn():(o=or[`=${r}`]||rn(),(o===void 0||o.slice(0,2).toLowerCase()!==r.toLowerCase()&&o.charCodeAt(2)===nn)&&(o=`${r}\\`));let s=o.length,a=0,l="",c=!1,d=o.charCodeAt(0);if(s===1)Re(d)&&(a=1,c=!0);else if(Re(d))if(c=!0,Re(o.charCodeAt(1))){let u=2,f=u;for(;u<s&&!Re(o.charCodeAt(u));)u++;if(u<s&&u!==f){let m=o.slice(f,u);for(f=u;u<s&&Re(o.charCodeAt(u));)u++;if(u<s&&u!==f){for(f=u;u<s&&!Re(o.charCodeAt(u));)u++;(u===s||u!==f)&&(l=`\\\\${m}\\${o.slice(f,u)}`,a=u)}}}else a=1;else Hi(d)&&o.charCodeAt(1)===Vi&&(l=o.slice(0,2),a=2,s>2&&Re(o.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(r.length>0){if(l.toLowerCase()!==r.toLowerCase())continue}else r=l;if(t){if(r.length>0)break}else if(e=`${o.slice(a)}\\${e}`,t=c,c&&r.length>0)break}return e=Ep(e,!t,"\\",Re),t?`${r}\\${e}`:`${r}${e}`||"."},normalize(i){Mt(i,"path");let r=i.length;if(r===0)return".";let e=0,t,n=!1,o=i.charCodeAt(0);if(r===1)return Rg(o)?"\\":i;if(Re(o))if(n=!0,Re(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){let c=i.slice(l,a);for(l=a;a<r&&Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!Re(i.charCodeAt(a));)a++;if(a===r)return`\\\\${c}\\${i.slice(l)}\\`;a!==l&&(t=`\\\\${c}\\${i.slice(l,a)}`,e=a)}}}else e=1;else Hi(o)&&i.charCodeAt(1)===Vi&&(t=i.slice(0,2),e=2,r>2&&Re(i.charCodeAt(2))&&(n=!0,e=3));let s=e<r?Ep(i.slice(e),!n,"\\",Re):"";if(s.length===0&&!n&&(s="."),s.length>0&&Re(i.charCodeAt(r-1))&&(s+="\\"),!n&&t===void 0&&i.includes(":")){if(s.length>=2&&Hi(s.charCodeAt(0))&&s.charCodeAt(1)===Vi)return`.\\${s}`;let a=i.indexOf(":");do if(a===r-1||Re(i.charCodeAt(a+1)))return`.\\${s}`;while((a=i.indexOf(":",a+1))!==-1)}return t===void 0?n?`\\${s}`:s:n?`${t}\\${s}`:`${t}${s}`},isAbsolute(i){Mt(i,"path");let r=i.length;if(r===0)return!1;let e=i.charCodeAt(0);return Re(e)||r>2&&Hi(e)&&i.charCodeAt(1)===Vi&&Re(i.charCodeAt(2))},join(...i){if(i.length===0)return".";let r,e;for(let o=0;o<i.length;++o){let s=i[o];Mt(s,"path"),s.length>0&&(r===void 0?r=e=s:r+=`\\${s}`)}if(r===void 0)return".";let t=!0,n=0;if(typeof e=="string"&&Re(e.charCodeAt(0))){++n;let o=e.length;o>1&&Re(e.charCodeAt(1))&&(++n,o>2&&(Re(e.charCodeAt(2))?++n:t=!1))}if(t){for(;n<r.length&&Re(r.charCodeAt(n));)n++;n>=2&&(r=`\\${r.slice(n)}`)}return ut.normalize(r)},relative(i,r){if(Mt(i,"from"),Mt(r,"to"),i===r)return"";let e=ut.resolve(i),t=ut.resolve(r);if(e===t||(i=e.toLowerCase(),r=t.toLowerCase(),i===r))return"";if(e.length!==i.length||t.length!==r.length){let y=e.split("\\"),v=t.split("\\");y[y.length-1]===""&&y.pop(),v[v.length-1]===""&&v.pop();let b=y.length,I=v.length,C=b<I?b:I,R;for(R=0;R<C&&y[R].toLowerCase()===v[R].toLowerCase();R++);return R===0?t:R===C?I>C?v.slice(R).join("\\"):b>C?"..\\".repeat(b-1-R)+"..":"":"..\\".repeat(b-R)+v.slice(R).join("\\")}let n=0;for(;n<i.length&&i.charCodeAt(n)===nn;)n++;let o=i.length;for(;o-1>n&&i.charCodeAt(o-1)===nn;)o--;let s=o-n,a=0;for(;a<r.length&&r.charCodeAt(a)===nn;)a++;let l=r.length;for(;l-1>a&&r.charCodeAt(l-1)===nn;)l--;let c=l-a,d=s<c?s:c,u=-1,f=0;for(;f<d;f++){let y=i.charCodeAt(n+f);if(y!==r.charCodeAt(a+f))break;y===nn&&(u=f)}if(f!==d){if(u===-1)return t}else{if(c>d){if(r.charCodeAt(a+f)===nn)return t.slice(a+f+1);if(f===2)return t.slice(a+f)}s>d&&(i.charCodeAt(n+f)===nn?u=f:f===2&&(u=3)),u===-1&&(u=0)}let m="";for(f=n+u+1;f<=o;++f)(f===o||i.charCodeAt(f)===nn)&&(m+=m.length===0?"..":"\\..");return a+=u,m.length>0?`${m}${t.slice(a,l)}`:(t.charCodeAt(a)===nn&&++a,t.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let r=ut.resolve(i);if(r.length<=2)return i;if(r.charCodeAt(0)===nn){if(r.charCodeAt(1)===nn){let e=r.charCodeAt(2);if(e!==Wk&&e!==bs)return`\\\\?\\UNC\\${r.slice(2)}`}}else if(Hi(r.charCodeAt(0))&&r.charCodeAt(1)===Vi&&r.charCodeAt(2)===nn)return`\\\\?\\${r}`;return r},dirname(i){Mt(i,"path");let r=i.length;if(r===0)return".";let e=-1,t=0,n=i.charCodeAt(0);if(r===1)return Re(n)?i:".";if(Re(n)){if(e=t=1,Re(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&Re(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!Re(i.charCodeAt(a));)a++;if(a===r)return i;a!==l&&(e=t=a+1)}}}}else Hi(n)&&i.charCodeAt(1)===Vi&&(e=r>2&&Re(i.charCodeAt(2))?3:2,t=e);let o=-1,s=!0;for(let a=r-1;a>=t;--a)if(Re(i.charCodeAt(a))){if(!s){o=a;break}}else s=!1;if(o===-1){if(e===-1)return".";o=e}return i.slice(0,o)},basename(i,r){r!==void 0&&Mt(r,"suffix"),Mt(i,"path");let e=0,t=-1,n=!0,o;if(i.length>=2&&Hi(i.charCodeAt(0))&&i.charCodeAt(1)===Vi&&(e=2),r!==void 0&&r.length>0&&r.length<=i.length){if(r===i)return"";let s=r.length-1,a=-1;for(o=i.length-1;o>=e;--o){let l=i.charCodeAt(o);if(Re(l)){if(!n){e=o+1;break}}else a===-1&&(n=!1,a=o+1),s>=0&&(l===r.charCodeAt(s)?--s===-1&&(t=o):(s=-1,t=a))}return e===t?t=a:t===-1&&(t=i.length),i.slice(e,t)}for(o=i.length-1;o>=e;--o)if(Re(i.charCodeAt(o))){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){Mt(i,"path");let r=0,e=-1,t=0,n=-1,o=!0,s=0;i.length>=2&&i.charCodeAt(1)===Vi&&Hi(i.charCodeAt(0))&&(r=t=2);for(let a=i.length-1;a>=r;--a){let l=i.charCodeAt(a);if(Re(l)){if(!o){t=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===bs?e===-1?e=a:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||n===-1||s===0||s===1&&e===n-1&&e===t+1?"":i.slice(e,n)},format:Ob.bind(null,"\\"),parse(i){Mt(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.length,t=0,n=i.charCodeAt(0);if(e===1)return Re(n)?(r.root=r.dir=i,r):(r.base=r.name=i,r);if(Re(n)){if(t=1,Re(i.charCodeAt(1))){let u=2,f=u;for(;u<e&&!Re(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&Re(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&!Re(i.charCodeAt(u));)u++;u===e?t=u:u!==f&&(t=u+1)}}}}else if(Hi(n)&&i.charCodeAt(1)===Vi){if(e<=2)return r.root=r.dir=i,r;if(t=2,Re(i.charCodeAt(2))){if(e===3)return r.root=r.dir=i,r;t=3}}t>0&&(r.root=i.slice(0,t));let o=-1,s=t,a=-1,l=!0,c=i.length-1,d=0;for(;c>=t;--c){if(n=i.charCodeAt(c),Re(n)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===bs?o===-1?o=c:d!==1&&(d=1):o!==-1&&(d=-1)}return a!==-1&&(o===-1||d===0||d===1&&o===a-1&&o===s+1?r.base=r.name=i.slice(s,a):(r.name=i.slice(s,o),r.base=i.slice(s,a),r.ext=i.slice(o,a))),s>0&&s!==t?r.dir=i.slice(0,s-1):r.dir=r.root,r},sep:"\\",delimiter:";",win32:null,posix:null},Bk=(()=>{if(on){let i=/\\/g;return()=>{let r=rn().replace(i,"/");return r.slice(r.indexOf("/"))}}return()=>rn()})(),de={resolve(...i){let r="",e=!1;for(let t=i.length-1;t>=0&&!e;t--){let n=i[t];Mt(n,`paths[${t}]`),n.length!==0&&(r=`${n}/${r}`,e=n.charCodeAt(0)===pr)}if(!e){let t=Bk();r=`${t}/${r}`,e=t.charCodeAt(0)===pr}return r=Ep(r,!e,"/",Rg),e?`/${r}`:r.length>0?r:"."},normalize(i){if(Mt(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===pr,e=i.charCodeAt(i.length-1)===pr;return i=Ep(i,!r,"/",Rg),i.length===0?r?"/":e?"./":".":(e&&(i+="/"),r?`/${i}`:i)},isAbsolute(i){return Mt(i,"path"),i.length>0&&i.charCodeAt(0)===pr},join(...i){if(i.length===0)return".";let r=[];for(let e=0;e<i.length;++e){let t=i[e];Mt(t,"path"),t.length>0&&r.push(t)}return r.length===0?".":de.normalize(r.join("/"))},relative(i,r){if(Mt(i,"from"),Mt(r,"to"),i===r||(i=de.resolve(i),r=de.resolve(r),i===r))return"";let e=1,t=i.length,n=t-e,o=1,s=r.length-o,a=n<s?n:s,l=-1,c=0;for(;c<a;c++){let u=i.charCodeAt(e+c);if(u!==r.charCodeAt(o+c))break;u===pr&&(l=c)}if(c===a)if(s>a){if(r.charCodeAt(o+c)===pr)return r.slice(o+c+1);if(c===0)return r.slice(o+c)}else n>a&&(i.charCodeAt(e+c)===pr?l=c:c===0&&(l=0));let d="";for(c=e+l+1;c<=t;++c)(c===t||i.charCodeAt(c)===pr)&&(d+=d.length===0?"..":"/..");return`${d}${r.slice(o+l)}`},toNamespacedPath(i){return i},dirname(i){if(Mt(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===pr,e=-1,t=!0;for(let n=i.length-1;n>=1;--n)if(i.charCodeAt(n)===pr){if(!t){e=n;break}}else t=!1;return e===-1?r?"/":".":r&&e===1?"//":i.slice(0,e)},basename(i,r){r!==void 0&&Mt(r,"suffix"),Mt(i,"path");let e=0,t=-1,n=!0,o;if(r!==void 0&&r.length>0&&r.length<=i.length){if(r===i)return"";let s=r.length-1,a=-1;for(o=i.length-1;o>=0;--o){let l=i.charCodeAt(o);if(l===pr){if(!n){e=o+1;break}}else a===-1&&(n=!1,a=o+1),s>=0&&(l===r.charCodeAt(s)?--s===-1&&(t=o):(s=-1,t=a))}return e===t?t=a:t===-1&&(t=i.length),i.slice(e,t)}for(o=i.length-1;o>=0;--o)if(i.charCodeAt(o)===pr){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){Mt(i,"path");let r=-1,e=0,t=-1,n=!0,o=0;for(let s=i.length-1;s>=0;--s){let a=i[s];if(a==="/"){if(!n){e=s+1;break}continue}t===-1&&(n=!1,t=s+1),a==="."?r===-1?r=s:o!==1&&(o=1):r!==-1&&(o=-1)}return r===-1||t===-1||o===0||o===1&&r===t-1&&r===e+1?"":i.slice(r,t)},format:Ob.bind(null,"/"),parse(i){Mt(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.charCodeAt(0)===pr,t;e?(r.root="/",t=1):t=0;let n=-1,o=0,s=-1,a=!0,l=i.length-1,c=0;for(;l>=t;--l){let d=i.charCodeAt(l);if(d===pr){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),d===bs?n===-1?n=l:c!==1&&(c=1):n!==-1&&(c=-1)}if(s!==-1){let d=o===0&&e?1:o;n===-1||c===0||c===1&&n===s-1&&n===o+1?r.base=r.name=i.slice(d,s):(r.name=i.slice(d,n),r.base=i.slice(d,s),r.ext=i.slice(n,s))}return o>0?r.dir=i.slice(0,o-1):e&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};de.win32=ut.win32=ut;de.posix=ut.posix=de;Ct=on?ut.normalize:de.normalize,xo=on?ut.isAbsolute:de.isAbsolute,B=on?ut.join:de.join,$r=on?ut.resolve:de.resolve,Tp=on?ut.relative:de.relative,Ze=on?ut.dirname:de.dirname,Pe=on?ut.basename:de.basename,ya=on?ut.extname:de.extname,wF=on?ut.format:de.format,IF=on?ut.parse:de.parse,bF=on?ut.toNamespacedPath:de.toNamespacedPath,Ot=on?ut.sep:de.sep,Cp=on?ut.delimiter:de.delimiter});function Nb(i,r){let e=Object.create(null);for(let t of i){let n=r(t),o=e[n];o||(o=e[n]=[]),o.push(t)}return e}var Wb,Ub,Fb,Dg=w(()=>{Fb=class{constructor(r,e){this.toKey=e;this._map=new Map;this[Wb]="SetWithKey";for(let t of r)this.add(t)}get size(){return this._map.size}add(r){let e=this.toKey(r);return this._map.set(e,r),this}delete(r){return this._map.delete(this.toKey(r))}has(r){return this._map.has(this.toKey(r))}*entries(){for(let r of this._map.values())yield[r,r]}keys(){return this.values()}*values(){for(let r of this._map.values())yield r}clear(){this._map.clear()}forEach(r,e){this._map.forEach(t=>r.call(e,t,t,this))}[(Ub=Symbol.iterator,Wb=Symbol.toStringTag,Ub)](){return this.values()}}});function Rp(i){Ia.setUnexpectedErrorHandler(i)}function Bb(i){if(!i||typeof i!="object")return!1;let r=i;return r.code==="EPIPE"&&r.syscall?.toUpperCase()==="WRITE"}function nt(i){Xc(i)||Ia.onUnexpectedError(i)}function Xc(i){return i instanceof St?!0:i instanceof Error&&i.name===_p&&i.message===_p}function Kn(){let i=new Error(_p);return i.name=i.message,i}function Dp(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}function fr(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var Lg,Ia,_p,St,kp,wa,sn,qn,He=w(()=>{Lg=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(r){setTimeout(()=>{throw r.stack?sn.isErrorNoTelemetry(r)?new sn(r.message+`

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

`+r.stack):r},0)}}addListener(r){return this.listeners.push(r),()=>{this._removeListener(r)}}emit(r){this.listeners.forEach(e=>{e(r)})}_removeListener(r){this.listeners.splice(this.listeners.indexOf(r),1)}setUnexpectedErrorHandler(r){this.unexpectedErrorHandler=r}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(r){this.unexpectedErrorHandler(r),this.emit(r)}onUnexpectedExternalError(r){this.unexpectedErrorHandler(r)}},Ia=new Lg;_p="Canceled";St=class extends Error{constructor(){super(_p),this.name=this.message}},kp=class i extends Error{static{this._name="PendingMigrationError"}static is(r){return r instanceof i||r instanceof Error&&r.name===i._name}constructor(r){super(r),this.name=i._name}};wa=class extends Error{constructor(){super(...arguments);this.isExpected=!0}},sn=class i extends Error{constructor(r){super(r),this.name="CodeExpectedError"}static fromError(r){if(r instanceof i)return r;let e=new i;return e.message=r.message,e.stack=r.stack,e}static isErrorNoTelemetry(r){return r.name==="CodeExpectedError"}},qn=class i extends Error{constructor(r){super(r||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}}});function $i(i,r){let e=this,t=!1,n;return function(){if(t)return n;if(t=!0,r)try{n=i.apply(e,arguments)}finally{r()}else n=i.apply(e,arguments);return n}}var ba=w(()=>{});function Vk(i,r,e=0,t=i.length){let n=e,o=t;for(;n<o;){let s=Math.floor((n+o)/2);r(i[s])?n=s+1:o=s}return n-1}function $b(i,r,e=0,t=i.length){let n=e,o=t;for(;n<o;){let s=Math.floor((n+o)/2);r(i[s])?o=s:n=s+1}return n}var Hb,qb=w(()=>{Hb=class i{constructor(r){this._array=r;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(r){if(i.assertInvariants){if(this._prevFindLastPredicate){for(let t of this._array)if(this._prevFindLastPredicate(t)&&!r(t))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=r}let e=Vk(this._array,r,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function Po(i,r,e=(t,n)=>t===n){if(i===r)return!0;if(!i||!r||i.length!==r.length)return!1;for(let t=0,n=i.length;t<n;t++)if(!e(i[t],r[t]))return!1;return!0}function zb(i,r,e){return Hk(i.length,t=>e(i[t],r))}function Hk(i,r){let e=0,t=i-1;for(;e<=t;){let n=(e+t)/2|0,o=r(n);if(o<0)e=n+1;else if(o>0)t=n-1;else return n}return-(e+1)}function Lp(i,r,e){if(i=i|0,i>=r.length)throw new TypeError("invalid index");let t=r[Math.floor(r.length*Math.random())],n=[],o=[],s=[];for(let a of r){let l=e(a,t);l<0?n.push(a):l>0?o.push(a):s.push(a)}return i<n.length?Lp(i,n,e):i<n.length+s.length?s[0]:Lp(i-(n.length+s.length),o,e)}function jb(i,r,e){if(e===0)return[];let t=i.slice(0,e).sort(r);return $k(i,r,t,e,i.length),t}function $k(i,r,e,t,n){for(let o=e.length;t<n;t++){let s=i[t];if(r(s,e[o-1])<0){e.pop();let a=$b(e,l=>r(s,l)<0);e.splice(a,0,s)}}}function lt(i){return i.filter(r=>!!r)}function Lr(i,r=e=>e){let e=new Set;return i.filter(t=>{let n=r(t);return e.has(n)?!1:(e.add(n),!0)})}function Ag(i,r){return i.push(r),()=>qk(i,r)}function qk(i,r){let e=i.indexOf(r);if(e>-1)return i.splice(e,1),r}function Mg(i,r){let e;if(typeof r=="number"){let t=r;e=()=>{let n=Math.sin(t++)*179426549;return n-Math.floor(n)}}else e=Math.random;for(let t=i.length-1;t>0;t-=1){let n=Math.floor(e()*(t+1)),o=i[t];i[t]=i[n],i[n]=o}}function Gb(i){return i[Math.floor(Math.random()*i.length)]}function Qb(i,r){return(e,t)=>r(i(e),i(t))}var Jb,Xb,Kb,$t=w(()=>{qb();He();(a=>{function i(l){return l<0}a.isLessThan=i;function r(l){return l<=0}a.isLessThanOrEqual=r;function e(l){return l>0}a.isGreaterThan=e;function t(l){return l===0}a.isNeitherLessOrGreaterThan=t,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(Jb||={});Xb=(i,r)=>i-r,Kb=class i{constructor(r){this.iterate=r}static{this.empty=new i(r=>{})}forEach(r){this.iterate(e=>(r(e),!0))}toArray(){let r=[];return this.iterate(e=>(r.push(e),!0)),r}filter(r){return new i(e=>this.iterate(t=>r(t)?e(t):!0))}map(r){return new i(e=>this.iterate(t=>e(r(t))))}some(r){let e=!1;return this.iterate(t=>(e=r(t),!e)),e}findFirst(r){let e;return this.iterate(t=>r(t)?(e=t,!1):!0),e}findLast(r){let e;return this.iterate(t=>(r(t)&&(e=t),!0)),e}findLastMaxBy(r){let e,t=!0;return this.iterate(n=>((t||Jb.isGreaterThan(r(n,e)))&&(t=!1,e=n),!0)),e}}});function rS(i){let r=[];return i.forEach((e,t)=>{r.push(`${t} => ${e}`)}),`Map(${i.size}) {${r.join(", ")}}`}function nS(i){let r=[];return i.forEach(e=>{r.push(e)}),`Set(${i.size}) {${r.join(", ")}}`}function Kk(i){return Array.isArray(i)}var Og,Zb,ht,eS,Sa,tS,Fg,Wg,fi,Ap,Ar=w(()=>{Og=class{constructor(r,e){this.uri=r;this.value=e}};ht=class i{constructor(r,e){this[Zb]="ResourceMap";if(r instanceof i)this.map=new Map(r.map),this.toKey=e??i.defaultToKey;else if(Kk(r)){this.map=new Map,this.toKey=e??i.defaultToKey;for(let[t,n]of r)this.set(t,n)}else this.map=new Map,this.toKey=r??i.defaultToKey}static{this.defaultToKey=r=>r.toString()}set(r,e){return this.map.set(this.toKey(r),new Og(r,e)),this}get(r){return this.map.get(this.toKey(r))?.value}has(r){return this.map.has(this.toKey(r))}get size(){return this.map.size}clear(){this.map.clear()}delete(r){return this.map.delete(this.toKey(r))}forEach(r,e){typeof e<"u"&&(r=r.bind(e));for(let[t,n]of this.map)r(n.value,n.uri,this)}*values(){for(let r of this.map.values())yield r.value}*keys(){for(let r of this.map.values())yield r.uri}*entries(){for(let r of this.map.values())yield[r.uri,r.value]}*[(Zb=Symbol.toStringTag,Symbol.iterator)](){for(let[,r]of this.map)yield[r.uri,r.value]}},Sa=class{constructor(r,e){this[eS]="ResourceSet";!r||typeof r=="function"?this._map=new ht(r):(this._map=new ht(e),r.forEach(this.add,this))}get size(){return this._map.size}add(r){return this._map.set(r,r),this}clear(){this._map.clear()}delete(r){return this._map.delete(r)}forEach(r,e){this._map.forEach((t,n)=>r.call(e,n,n,this))}has(r){return this._map.has(r)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(eS=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},Fg=class{constructor(){this[tS]="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(r){return this._map.has(r)}get(r,e=0){let t=this._map.get(r);if(t)return e!==0&&this.touch(t,e),t.value}set(r,e,t=0){let n=this._map.get(r);if(n)n.value=e,t!==0&&this.touch(n,t);else{switch(n={key:r,value:e,next:void 0,previous:void 0},t){case 0:this.addItemLast(n);break;case 1:this.addItemFirst(n);break;case 2:this.addItemLast(n);break;default:this.addItemLast(n);break}this._map.set(r,n),this._size++}return this}delete(r){return!!this.remove(r)}remove(r){let e=this._map.get(r);if(e)return this._map.delete(r),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 r=this._head;return this._map.delete(r.key),this.removeItem(r),this._size--,r.value}forEach(r,e){let t=this._state,n=this._head;for(;n;){if(e?r.bind(e)(n.value,n.key,this):r(n.value,n.key,this),this._state!==t)throw new Error("LinkedMap got modified during iteration.");n=n.next}}keys(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.key,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}values(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:t.value,done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}entries(){let r=this,e=this._state,t=this._head,n={[Symbol.iterator](){return n},next(){if(r._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){let o={value:[t.key,t.value],done:!1};return t=t.next,o}else return{value:void 0,done:!0}}};return n}[(tS=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(r){if(r>=this.size)return;if(r===0){this.clear();return}let e=this._head,t=this.size;for(;e&&t>r;)this._map.delete(e.key),e=e.next,t--;this._head=e,this._size=t,e&&(e.previous=void 0),this._state++}trimNew(r){if(r>=this.size)return;if(r===0){this.clear();return}let e=this._tail,t=this.size;for(;e&&t>r;)this._map.delete(e.key),e=e.previous,t--;this._tail=e,this._size=t,e&&(e.next=void 0),this._state++}addItemFirst(r){if(!this._head&&!this._tail)this._tail=r;else if(this._head)r.next=this._head,this._head.previous=r;else throw new Error("Invalid list");this._head=r,this._state++}addItemLast(r){if(!this._head&&!this._tail)this._head=r;else if(this._tail)r.previous=this._tail,this._tail.next=r;else throw new Error("Invalid list");this._tail=r,this._state++}removeItem(r){if(r===this._head&&r===this._tail)this._head=void 0,this._tail=void 0;else if(r===this._head){if(!r.next)throw new Error("Invalid list");r.next.previous=void 0,this._head=r.next}else if(r===this._tail){if(!r.previous)throw new Error("Invalid list");r.previous.next=void 0,this._tail=r.previous}else{let e=r.next,t=r.previous;if(!e||!t)throw new Error("Invalid list");e.previous=t,t.next=e}r.next=void 0,r.previous=void 0,this._state++}touch(r,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(e!==1&&e!==2)){if(e===1){if(r===this._head)return;let t=r.next,n=r.previous;r===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),r.previous=void 0,r.next=this._head,this._head.previous=r,this._head=r,this._state++}else if(e===2){if(r===this._tail)return;let t=r.next,n=r.previous;r===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),r.next=void 0,r.previous=this._tail,this._tail.next=r,this._tail=r,this._state++}}}toJSON(){let r=[];return this.forEach((e,t)=>{r.push([t,e])}),r}fromJSON(r){this.clear();for(let[e,t]of r)this.set(e,t)}},Wg=class extends Fg{constructor(r,e=1){super(),this._limit=r,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(r){this._limit=r,this.checkTrim()}get ratio(){return this._ratio}set ratio(r){this._ratio=Math.min(Math.max(0,r),1),this.checkTrim()}get(r,e=2){return super.get(r,e)}peek(r){return super.get(r,0)}set(r,e){return super.set(r,e,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},fi=class extends Wg{constructor(r,e=1){super(r,e)}trim(r){this.trimOld(r)}set(r,e){return super.set(r,e),this.checkTrim(),this}},Ap=class{constructor(){this.map=new Map}add(r,e){let t=this.map.get(r);t||(t=new Set,this.map.set(r,t)),t.add(e)}delete(r,e){let t=this.map.get(r);t&&(t.delete(e),t.size===0&&this.map.delete(r))}forEach(r,e){let t=this.map.get(r);t&&t.forEach(e)}get(r){let e=this.map.get(r);return e||new Set}}});function Mp(i,r){if(!i)throw new Error(r?`Assertion failed (${r})`:"Assertion Failed")}function xa(i,r="unexpected state"){if(!i)throw typeof r=="string"?new qn(`Assertion Failed: ${r}`):r}var Pa=w(()=>{He()});function Me(i){return typeof i=="string"}function ze(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&!(i instanceof RegExp)&&!(i instanceof Date)}function iS(i){let r=Object.getPrototypeOf(Uint8Array);return typeof i=="object"&&i instanceof r}function zn(i){return typeof i=="number"&&!isNaN(i)}function oS(i){return!!i&&typeof i[Symbol.iterator]=="function"}function Op(i){return i===!0||i===!1}function kn(i){return typeof i>"u"}function Ft(i){return kn(i)||i===null}function sS(i,r){if(!i)throw new Error(r?`Unexpected type, expected '${r}'`:"Unexpected type")}function mi(i){return xa(i!=null,"Argument is `undefined` or `null`."),i}function Fp(i){if(!ze(i))return!1;for(let r in i)if(jk.call(i,r))return!1;return!0}function Yc(i){return typeof i=="function"}function an(i,r){for(let e in r)if(!(e in i))return!1;return!0}var jk,Le=w(()=>{Pa();jk=Object.prototype.hasOwnProperty});var hi,Zc=w(()=>{Le();(z=>{function i(N){return!!N&&typeof N=="object"&&typeof N[Symbol.iterator]=="function"}z.is=i;let r=Object.freeze([]);function e(){return r}z.empty=e;function*t(N){yield N}z.single=t;function n(N){return i(N)?N:t(N)}z.wrap=n;function o(N){return N??r}z.from=o;function*s(N){for(let j=N.length-1;j>=0;j--)yield N[j]}z.reverse=s;function a(N){return!N||N[Symbol.iterator]().next().done===!0}z.isEmpty=a;function l(N){return N[Symbol.iterator]().next().value}z.first=l;function c(N,j){let q=0;for(let ue of N)if(j(ue,q++))return!0;return!1}z.some=c;function d(N,j){let q=0;for(let ue of N)if(!j(ue,q++))return!1;return!0}z.every=d;function u(N,j){for(let q of N)if(j(q))return q}z.find=u;function*f(N,j){for(let q of N)j(q)&&(yield q)}z.filter=f;function*m(N,j){let q=0;for(let ue of N)yield j(ue,q++)}z.map=m;function*y(N,j){let q=0;for(let ue of N)yield*j(ue,q++)}z.flatMap=y;function*v(...N){for(let j of N)oS(j)?yield*j:yield j}z.concat=v;function b(N,j,q){let ue=q;for(let rt of N)ue=j(ue,rt);return ue}z.reduce=b;function I(N){let j=0;for(let q of N)j++;return j}z.length=I;function*C(N,j,q=N.length){for(j<-N.length&&(j=0),j<0&&(j+=N.length),q<0?q+=N.length:q>N.length&&(q=N.length);j<q;j++)yield N[j]}z.slice=C;function R(N,j=Number.POSITIVE_INFINITY){let q=[];if(j===0)return[q,N];let ue=N[Symbol.iterator]();for(let rt=0;rt<j;rt++){let bt=ue.next();if(bt.done)return[q,z.empty()];q.push(bt.value)}return[q,{[Symbol.iterator](){return ue}}]}z.consume=R;async function D(N){let j=[];for await(let q of N)j.push(q);return j}z.asyncToArray=D;async function A(N){let j=[];for await(let q of N)j=j.concat(q);return j}z.asyncToArrayFlat=A})(hi||={})});function Jk(i){Ta=i}function ed(i){return Ta?.trackDisposable(i),i}function td(i){Ta?.markAsDisposed(i)}function Ss(i,r){Ta?.setParent(i,r)}function Qk(i,r){if(Ta)for(let e of i)Ta.setParent(e,r)}function Wp(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function pt(i){if(hi.is(i)){let r=[];for(let e of i)if(e)try{e.dispose()}catch(t){r.push(t)}if(r.length===1)throw r[0];if(r.length>1)throw new AggregateError(r,"Encountered errors while disposing of store");return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function lS(...i){let r=G(()=>pt(i));return Qk(i,r),r}function G(i){return new Ug(i)}function cS(i,r){return i.then(e=>(r.isDisposed?e.dispose():r.add(e),e))}var Gk,Ta,aS,Ug,ee,_,qt,Xt,$=w(()=>{$t();Dg();Ar();ba();Zc();He();Gk=!1,Ta=null,aS=class i{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(r){let e=this.livingDisposables.get(r);return e||(e={parent:null,source:null,isSingleton:!1,value:r,idx:i.idx++},this.livingDisposables.set(r,e)),e}trackDisposable(r){let e=this.getDisposableData(r);e.source||(e.source=new Error().stack)}setParent(r,e){let t=this.getDisposableData(r);t.parent=e}markAsDisposed(r){this.livingDisposables.delete(r)}markAsSingleton(r){this.getDisposableData(r).isSingleton=!0}getRootParent(r,e){let t=e.get(r);if(t)return t;let n=r.parent?this.getRootParent(this.getDisposableData(r.parent),e):r;return e.set(r,n),n}getTrackedDisposables(){let r=new Map;return[...this.livingDisposables.entries()].filter(([,t])=>t.source!==null&&!this.getRootParent(t,r).isSingleton).flatMap(([t])=>t)}computeLeakingDisposables(r=10,e){let t;if(e)t=e;else{let l=new Map,c=[...this.livingDisposables.values()].filter(u=>u.source!==null&&!this.getRootParent(u,l).isSingleton);if(c.length===0)return;let d=new Set(c.map(u=>u.value));if(t=c.filter(u=>!(u.parent&&d.has(u.parent))),t.length===0)throw new Error("There are cyclic diposable chains!")}if(!t)return;function n(l){function c(u,f){for(;u.length>0&&f.some(m=>typeof m=="string"?m===u[0]:u[0].match(m));)u.shift()}let d=l.source.split(`
`).map(u=>u.trim().replace("at ","")).filter(u=>u!=="");return c(d,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),d.reverse()}let o=new Ap;for(let l of t){let c=n(l);for(let d=0;d<=c.length;d++)o.add(c.slice(0,d).join(`
`),l)}t.sort(Qb(l=>l.idx,Xb));let s="",a=0;for(let l of t.slice(0,r)){a++;let c=n(l),d=[];for(let u=0;u<c.length;u++){let f=c[u];f=`(shared with ${o.get(c.slice(0,u+1).join(`
`)).size}/${t.length} leaks) at ${f}`;let y=o.get(c.slice(0,u).join(`
`)),v=Nb([...y].map(b=>n(b)[u]),b=>b);delete v[c[u]];for(let[b,I]of Object.entries(v))I&&d.unshift(`    - stacktraces of ${I.length} other leaks continue with ${b}`);d.unshift(f)}s+=`


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

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


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

`),{leaks:t,details:s}}};if(Gk){let i="__is_disposable_tracked__";Jk(new class{trackDisposable(r){let e=new Error("Potentially leaked disposable").stack;setTimeout(()=>{r[i]||console.log(e)},3e3)}setParent(r,e){if(r&&r!==_.None)try{r[i]=!0}catch{}}markAsDisposed(r){if(r&&r!==_.None)try{r[i]=!0}catch{}}markAsSingleton(r){}})}Ug=class{constructor(r){this._isDisposed=!1,this._fn=r,ed(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,td(this),this._fn()}}};ee=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;ed(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(td(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{pt(this._toDispose)}finally{this._toDispose.clear()}}add(r){if(!r||r===_.None)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return Ss(r,this),this._isDisposed?i.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(r),r}delete(r){if(r){if(r===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(r),r.dispose()}}deleteAndLeak(r){r&&this._toDispose.delete(r)&&Ss(r,null)}assertNotDisposed(){this._isDisposed&&nt(new qn("Object disposed"))}},_=class{constructor(){this._store=new ee;ed(this),Ss(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){td(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}},qt=class{constructor(){this._isDisposed=!1;ed(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){this._isDisposed||r===this._value||(this._value?.dispose(),r&&Ss(r,this),this._value=r)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,td(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let r=this._value;return this._value=void 0,r&&Ss(r,null),r}},Xt=class{constructor(r=new Map){this._isDisposed=!1;this._store=r,ed(this)}dispose(){td(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{pt(this._store.values())}finally{this._store.clear()}}has(r){return this._store.has(r)}get size(){return this._store.size}get(r){return this._store.get(r)}set(r,e,t=!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),t||this._store.get(r)?.dispose(),this._store.set(r,e),Ss(e,this)}deleteAndDispose(r){this._store.get(r)?.dispose(),this._store.delete(r)}deleteAndLeak(r){let e=this._store.get(r);return e&&Ss(e,null),this._store.delete(r),e}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}});var yt,Ca,Ng=w(()=>{yt=class i{static{this.Undefined=new i(void 0)}constructor(r){this.element=r,this.next=i.Undefined,this.prev=i.Undefined}},Ca=class{constructor(){this._first=yt.Undefined;this._last=yt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===yt.Undefined}clear(){let r=this._first;for(;r!==yt.Undefined;){let e=r.next;r.prev=yt.Undefined,r.next=yt.Undefined,r=e}this._first=yt.Undefined,this._last=yt.Undefined,this._size=0}unshift(r){return this._insert(r,!1)}push(r){return this._insert(r,!0)}_insert(r,e){let t=new yt(r);if(this._first===yt.Undefined)this._first=t,this._last=t;else if(e){let o=this._last;this._last=t,t.prev=o,o.next=t}else{let o=this._first;this._first=t,t.next=o,o.prev=t}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(t))}}shift(){if(this._first!==yt.Undefined){let r=this._first.element;return this._remove(this._first),r}}pop(){if(this._last!==yt.Undefined){let r=this._last.element;return this._remove(this._last),r}}peek(){if(this._last!==yt.Undefined)return this._last.element}_remove(r){if(r.prev!==yt.Undefined&&r.next!==yt.Undefined){let e=r.prev;e.next=r.next,r.next.prev=e}else r.prev===yt.Undefined&&r.next===yt.Undefined?(this._first=yt.Undefined,this._last=yt.Undefined):r.next===yt.Undefined?(this._last=this._last.prev,this._last.next=yt.Undefined):r.prev===yt.Undefined&&(this._first=this._first.next,this._first.prev=yt.Undefined);this._size-=1}*[Symbol.iterator](){let r=this._first;for(;r!==yt.Undefined;)yield r.element,r=r.next}}});var Xk,ln,xs=w(()=>{Xk=globalThis.performance.now.bind(globalThis.performance),ln=class i{static create(r){return new i(r)}constructor(r){this._now=r===!1?Date.now:Xk,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 pS(){return!!or.VSCODE_DEV}function Kg(i,r){r instanceof ee?r.add(i):Array.isArray(r)&&r.push(i)}function mS(i,r){if(r instanceof ee)r.delete(i);else if(Array.isArray(r)){let e=r.indexOf(i);e!==-1&&r.splice(e,1)}i.dispose()}var dS,Yk,Zk,uS,x,Bg,fS,Vg,ka,Hg,$g,eR,_a,tR,rR,S,qg,Ps,Up,rd,J=w(()=>{Dg();He();ba();$();Ng();$n();xs();dS=!1,Yk=!1,Zk=100,uS=6e4;(Br=>{Br.None=()=>_.None;function r(Y){if(Yk){let{onDidAddListener:K}=Y,X=ka.create(),Z=0;Y.onDidAddListener=()=>{++Z===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),X.print()),K?.()}}}function e(Y,K,X){return m(Y,()=>{},0,void 0,K??!0,void 0,X)}Br.defer=e;function t(Y){return(K,X=null,Z)=>{let ie=!1,pe;return pe=Y(we=>{if(!ie)return pe?pe.dispose():ie=!0,K.call(X,we)},null,Z),ie&&pe.dispose(),pe}}Br.once=t;function n(Y,K){return Br.once(Br.filter(Y,K))}Br.onceIf=n;function o(Y,K,X){return u((Z,ie=null,pe)=>Y(we=>Z.call(ie,K(we)),null,pe),X)}Br.map=o;function s(Y,K,X){return u((Z,ie=null,pe)=>Y(we=>{K(we),Z.call(ie,we)},null,pe),X)}Br.forEach=s;function a(Y,K,X){return u((Z,ie=null,pe)=>Y(we=>K(we)&&Z.call(ie,we),null,pe),X)}Br.filter=a;function l(Y){return Y}Br.signal=l;function c(...Y){return(K,X=null,Z)=>{let ie=lS(...Y.map(pe=>pe(we=>K.call(X,we))));return f(ie,Z)}}Br.any=c;function d(Y,K,X,Z){let ie=X;return o(Y,pe=>(ie=K(ie,pe),ie),Z)}Br.reduce=d;function u(Y,K){let X,Z={onWillAddFirstListener(){X=Y(ie.fire,ie)},onDidRemoveLastListener(){X?.dispose()}};K||r(Z);let ie=new S(Z);return K?.add(ie),ie.event}function f(Y,K){return K instanceof Array?K.push(Y):K&&K.add(Y),Y}function m(Y,K,X=100,Z=!1,ie=!1,pe,we){let Ee,ot,Gt,Lt=0,Jt,Vr={leakWarningThreshold:pe,onWillAddFirstListener(){Ee=Y(Bc=>{Lt++,ot=K(ot,Bc),Z&&!Gt&&(li.fire(ot),ot=void 0),Jt=()=>{let Vc=ot;ot=void 0,Gt=void 0,(!Z||Lt>1)&&li.fire(Vc),Lt=0},typeof X=="number"?(Gt&&clearTimeout(Gt),Gt=setTimeout(Jt,X)):Gt===void 0&&(Gt=null,queueMicrotask(Jt))})},onWillRemoveListener(){ie&&Lt>0&&Jt?.()},onDidRemoveLastListener(){Jt=void 0,Ee.dispose()}};we||r(Vr);let li=new S(Vr);return we?.add(li),li.event}Br.debounce=m;function y(Y,K=0,X,Z){return Br.debounce(Y,(ie,pe)=>ie?(ie.push(pe),ie):[pe],K,void 0,X??!0,void 0,Z)}Br.accumulate=y;function v(Y,K,X=100,Z=!0,ie=!0,pe,we){let Ee,ot,Gt,Lt=0,Jt={leakWarningThreshold:pe,onWillAddFirstListener(){Ee=Y(li=>{Lt++,ot=K(ot,li),Gt===void 0&&(Z&&(Vr.fire(ot),ot=void 0,Lt=0),typeof X=="number"?Gt=setTimeout(()=>{ie&&Lt>0&&Vr.fire(ot),ot=void 0,Gt=void 0,Lt=0},X):(Gt=0,queueMicrotask(()=>{ie&&Lt>0&&Vr.fire(ot),ot=void 0,Gt=void 0,Lt=0})))})},onDidRemoveLastListener(){Ee.dispose()}};we||r(Jt);let Vr=new S(Jt);return we?.add(Vr),Vr.event}Br.throttle=v;function b(Y,K=(Z,ie)=>Z===ie,X){let Z=!0,ie;return a(Y,pe=>{let we=Z||!K(pe,ie);return Z=!1,ie=pe,we},X)}Br.latch=b;function I(Y,K,X){return[Br.filter(Y,K,X),Br.filter(Y,Z=>!K(Z),X)]}Br.split=I;function C(Y,K,X=!1,Z=[],ie){let pe=Z.slice(),we;pS()&&(we={stack:ka.create(),timerId:setTimeout(()=>{pe&&pe.length>0&&we&&!we.warned&&(we.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${pe.length} events buffered for ${uS/1e3}s without being consumed. Buffered here:`),we.stack.print())},uS),warned:!1},ie&&ie.add(G(()=>clearTimeout(we.timerId))));let Ee=()=>{we&&clearTimeout(we.timerId)},ot=Y(Jt=>{pe?(pe.push(Jt),pS()&&we&&!we.warned&&pe.length>=Zk&&(we.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${pe.length} events buffered without being consumed. Buffered here:`),we.stack.print())):Lt.fire(Jt)});ie&&ie.add(ot);let Gt=()=>{pe?.forEach(Jt=>Lt.fire(Jt)),pe=null,Ee()},Lt=new S({onWillAddFirstListener(){ot||(ot=Y(Jt=>Lt.fire(Jt)),ie&&ie.add(ot))},onDidAddFirstListener(){pe&&(X?setTimeout(Gt):Gt())},onDidRemoveLastListener(){ot&&ot.dispose(),ot=null,Ee()}});return ie&&ie.add(Lt),Lt.event}Br.buffer=C;function R(Y,K){return(Z,ie,pe)=>{let we=K(new A);return Y(function(Ee){let ot=we.evaluate(Ee);ot!==D&&Z.call(ie,ot)},void 0,pe)}}Br.chain=R;let D=Symbol("HaltChainable");class A{constructor(){this.steps=[]}map(K){return this.steps.push(K),this}forEach(K){return this.steps.push(X=>(K(X),X)),this}filter(K){return this.steps.push(X=>K(X)?X:D),this}reduce(K,X){let Z=X;return this.steps.push(ie=>(Z=K(Z,ie),Z)),this}latch(K=(X,Z)=>X===Z){let X=!0,Z;return this.steps.push(ie=>{let pe=X||!K(ie,Z);return X=!1,Z=ie,pe?ie:D}),this}evaluate(K){for(let X of this.steps)if(K=X(K),K===D)break;return K}}function z(Y,K,X=Z=>Z){let Z=(...Ee)=>we.fire(X(...Ee)),ie=()=>Y.on(K,Z),pe=()=>Y.removeListener(K,Z),we=new S({onWillAddFirstListener:ie,onDidRemoveLastListener:pe});return we.event}Br.fromNodeEventEmitter=z;function N(Y,K,X=Z=>Z){let Z=(...Ee)=>we.fire(X(...Ee)),ie=()=>Y.addEventListener(K,Z),pe=()=>Y.removeEventListener(K,Z),we=new S({onWillAddFirstListener:ie,onDidRemoveLastListener:pe});return we.event}Br.fromDOMEventEmitter=N;function j(Y,K){let X,Z,ie=new Promise(pe=>{Z=t(Y)(pe),Kg(Z,K),X=()=>{mS(Z,K)}});return ie.cancel=X,K&&ie.finally(()=>mS(Z,K)),ie}Br.toPromise=j;function q(Y,K){return Y(X=>K.fire(X))}Br.forward=q;function ue(Y,K,X){return K(X),Y(Z=>K(Z))}Br.runAndSubscribe=ue;class rt{constructor(K,X){this._observable=K;this._counter=0;this._hasChanged=!1;let Z={onWillAddFirstListener:()=>{K.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{K.removeObserver(this)}};X||r(Z),this.emitter=new S(Z),X&&X.add(this.emitter)}beginUpdate(K){this._counter++}handlePossibleChange(K){}handleChange(K,X){this._hasChanged=!0}endUpdate(K){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function bt(Y,K){return new rt(Y,K).emitter.event}Br.fromObservable=bt;function Nr(Y){return(K,X,Z)=>{let ie=0,pe=!1,we={beginUpdate(){ie++},endUpdate(){ie--,ie===0&&(Y.reportChanges(),pe&&(pe=!1,K.call(X)))},handlePossibleChange(){},handleChange(){pe=!0}};Y.addObserver(we),Y.reportChanges();let Ee={dispose(){Y.removeObserver(we)}};return Kg(Ee,Z),Ee}}Br.fromObservableLight=Nr})(x||={});Bg=class i{constructor(r){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${r}_${i._idPool++}`,i.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(r){this._stopWatch=new ln,this.listenerCount=r}stop(){if(this._stopWatch){let r=this._stopWatch.elapsed();this.durations.push(r),this.elapsedOverall+=r,this.invocationCount+=1,this._stopWatch=void 0}}},fS=-1,Vg=class i{constructor(r,e,t=(i._idPool++).toString(16).padStart(3,"0")){this._errorHandler=r;this.threshold=e;this.name=t;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(r,e){let t=this.threshold;if(t<=0||e<t)return;this._stacks||(this._stacks=new Map);let n=this._stacks.get(r.value)||0;if(this._stacks.set(r.value,n+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=t*.5;let[o,s]=this.getMostFrequentStack(),a=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${s}):`;console.warn(a),console.warn(o);let l=s/e>.3?"dominated":"popular",c=new Hg(l,a,o);this._errorHandler(c)}return()=>{let o=this._stacks.get(r.value)||0;this._stacks.set(r.value,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let r,e=0;for(let[t,n]of this._stacks)(!r||e<n)&&(r=[t,n],e=n);return r}},ka=class i{constructor(r){this.value=r}static create(){let r=new Error;return new i(r.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Hg=class extends Error{constructor(r,e,t){super(`potential listener LEAK detected, ${r}`),this.name="ListenerLeakError",this.details=e,this.stack=t}},$g=class extends Error{constructor(r,e,t){super(`potential listener LEAK detected, ${r} (REFUSED to add)`),this.name="ListenerRefusalError",this.details=e,this.stack=t}},eR=0,_a=class{constructor(r){this.value=r;this.id=eR++}},tR=2,rR=(i,r)=>{if(i instanceof _a)r(i);else for(let e=0;e<i.length;e++){let t=i[e];t&&r(t)}},S=class{constructor(r){this._size=0;this._options=r,this._leakageMon=fS>0||this._options?.leakWarningThreshold?new Vg(r?.onListenerError??nt,this._options?.leakWarningThreshold??fS):void 0,this._perfMon=this._options?._profName?new Bg(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(dS){let r=this._listeners;queueMicrotask(()=>{rR(r,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(r,e,t)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let l=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(l);let c=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],d=c[1]/this._size>.3?"dominated":"popular",u=new $g(d,`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0]);return(this._options?.onListenerError||nt)(u),_.None}if(this._disposed)return _.None;e&&(r=r.bind(e));let n=new _a(r),o,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=ka.create(),o=this._leakageMon.check(n.stack,this._size+1)),dS&&(n.stack=s??ka.create()),this._listeners?this._listeners instanceof _a?(this._deliveryQueue??=new qg,this._listeners=[this._listeners,n]):this._listeners.push(n):(this._options?.onWillAddFirstListener?.(this),this._listeners=n,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=G(()=>{o?.(),this._removeListener(n)});return Kg(a,t),a},this._event}_removeListener(r){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,t=e.indexOf(r);if(t===-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[t]=void 0;let n=this._deliveryQueue.current===this;if(this._size*tR<=e.length){let o=0;for(let s=0;s<e.length;s++)e[s]?e[o++]=e[s]:n&&o<this._deliveryQueue.end&&(this._deliveryQueue.end--,o<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=o}}_deliver(r,e){if(!r)return;let t=this._options?.onListenerError||nt;if(!t){r.value(e);return}try{r.value(e)}catch(n){t(n)}}_deliverQueue(r){let e=r.current._listeners;for(;r.i<r.end;)this._deliver(e[r.i++],r.value);r.reset()}fire(r){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof _a)this._deliver(this._listeners,r);else{let e=this._deliveryQueue;e.enqueue(this,r,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},qg=class{constructor(){this.i=-1;this.end=0}enqueue(r,e,t){this.i=0,this.end=t,this.current=r,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Ps=class extends S{constructor(e){super(e);this._isPaused=0;this._eventQueue=new Ca;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))}},Up=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new S({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(r){let e={event:r,listener:null};return this.events.push(e),this.hasListeners&&this.hook(e),G($i(()=>{this.hasListeners&&this.unhook(e);let n=this.events.indexOf(e);this.events.splice(n,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(r=>this.hook(r))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(r=>this.unhook(r))}hook(r){r.listener=r.event(e=>this.emitter.fire(e))}unhook(r){r.listener?.dispose(),r.listener=null}dispose(){this.emitter.dispose();for(let r of this.events)r.listener?.dispose();this.events=[]}},rd=class{constructor(){this.listening=!1;this.inputEvent=x.None;this.inputEventListener=_.None;this.emitter=new S({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(r){this.inputEvent=r,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=r(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}});var hS,Se,Ra,$e,wt=w(()=>{J();$();hS=Object.freeze(function(i,r){let e=setTimeout(i.bind(r),0);return{dispose(){clearTimeout(e)}}});(t=>{function i(n){return n===t.None||n===t.Cancelled||n instanceof Ra?!0:!n||typeof n!="object"?!1:typeof n.isCancellationRequested=="boolean"&&typeof n.onCancellationRequested=="function"}t.isCancellationToken=i,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:x.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hS})})(Se||={});Ra=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?hS:(this._emitter||(this._emitter=new S),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},$e=class{constructor(r){this._token=void 0;this._parentListener=void 0;this._parentListener=r&&r.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ra),this._token}cancel(){this._token?this._token instanceof Ra&&this._token.cancel():this._token=Se.Cancelled}dispose(r=!1){r&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Ra&&this._token.dispose():this._token=Se.None}}});var jn=w(()=>{});function nR(i){return i}var Np,gS=w(()=>{wt();Np=class{constructor(r,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof r=="function"?(this._fn=r,this._computeKey=nR):(this._fn=e,this._computeKey=r.getCacheKey)}get(r){let e=this._computeKey(r);return this.lastArgKey!==e&&(this.lastArgKey=e,this.lastCache=this._fn(r)),this.lastCache}}});var xr,Eo=w(()=>{xr=class{constructor(r){this.executor=r;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(r){this._error=r}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 vS=w(()=>{});function SS(i){return!i||typeof i!="string"?!0:i.trim().length===0}function xS(i){return i.replace(/[<>"'&]/g,r=>{switch(r){case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&apos;";case"&":return"&amp;"}return r})}function To(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function zg(i,r=" "){let e=jg(i,r);return Gn(e,r)}function jg(i,r){if(!i||!r)return i;let e=r.length,t=0;if(e===1){let n=r.charCodeAt(0);for(;t<i.length&&i.charCodeAt(t)===n;)t++}else for(;i.startsWith(r,t);)t+=e;return i.substring(t)}function Gn(i,r){if(!i||!r)return i;let e=r.length,t=i.length;if(e===1){let o=t,s=r.charCodeAt(0);for(;o>0&&i.charCodeAt(o-1)===s;)o--;return i.substring(0,o)}let n=t;for(;n>0&&i.endsWith(r,n);)n-=e;return i.substring(0,n)}function nd(i,r){return i<r?-1:i>r?1:0}function Bp(i,r,e=0,t=i.length,n=0,o=r.length){for(;e<t&&n<o;e++,n++){let l=i.charCodeAt(e),c=r.charCodeAt(n);if(l<c)return-1;if(l>c)return 1}let s=t-e,a=o-n;return s<a?-1:s>a?1:0}function id(i,r){return Es(i,r,0,i.length,0,r.length)}function Es(i,r,e=0,t=i.length,n=0,o=r.length){for(;e<t&&n<o;e++,n++){let l=i.charCodeAt(e),c=r.charCodeAt(n);if(l===c)continue;if(l>=128||c>=128)return Bp(i.toLowerCase(),r.toLowerCase(),e,t,n,o);yS(l)&&(l-=32),yS(c)&&(c-=32);let d=l-c;if(d!==0)return d}let s=t-e,a=o-n;return s<a?-1:s>a?1:0}function yS(i){return i>=97&&i<=122}function Gg(i){return i>=65&&i<=90}function qr(i,r){return i.length===r.length&&Es(i,r)===0}function Co(i,r){let e=r.length;return e<=i.length&&Es(i,r,0,e)===0}function PS(i,r){let e=i.length,t=e-r.length;return t>=0&&Es(i,r,t,e)===0}function ES(i){return 55296<=i&&i<=56319}function Jg(i){return 56320<=i&&i<=57343}function TS(i,r){return(i-55296<<10)+(r-56320)+65536}function aR(){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 iR,oR,sR,fW,mW,wS,IS,bS,sr=w(()=>{gS();jn();Eo();vS();iR=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,oR=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,sR=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,fW=new RegExp("(?:"+[iR.source,oR.source,sR.source].join("|")+")","g"),mW=String.fromCharCode(65279),wS=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=aR()}getGraphemeBreakType(r){if(r<32)return r===10?3:r===13?2:4;if(r<127)return 0;let e=this._data,t=e.length/3,n=1;for(;n<=t;)if(r<e[3*n])n=2*n;else if(r>e[3*n+1])n=2*n+1;else return e[3*n+2];return 0}};IS=class i{constructor(r){this.confusableDictionary=r}static{this.ambiguousCharacterData=new xr(()=>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 Np(r=>{let e=r.split(",");function t(u){let f=new Map;for(let m=0;m<u.length;m+=2)f.set(u[m],u[m+1]);return f}function n(u,f){let m=new Map(u);for(let[y,v]of f)m.set(y,v);return m}function o(u,f){if(!u)return f;let m=new Map;for(let[y,v]of u)f.has(y)&&m.set(y,v);return m}let s=this.ambiguousCharacterData.value,a=e.filter(u=>!u.startsWith("_")&&Object.hasOwn(s,u));a.length===0&&(a=["_default"]);let l;for(let u of a){let f=t(s[u]);l=o(l,f)}let c=t(s._common),d=n(c,l);return new i(d)})}static getInstance(r){return i.cache.get(Array.from(r).join(","))}static{this._locales=new xr(()=>Object.keys(i.ambiguousCharacterData.value).filter(r=>!r.startsWith("_")))}static getLocales(){return i._locales.value}isAmbiguous(r){return this.confusableDictionary.has(r)}containsAmbiguousCharacter(r){for(let e=0;e<r.length;e++){let t=r.codePointAt(e);if(typeof t=="number"&&this.isAmbiguous(t))return!0}return!1}getPrimaryConfusable(r){return this.confusableDictionary.get(r)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},bS=class i{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(i.getRawData())].flat())),this._data}static isInvisibleCharacter(r){return i.getData().has(r)}static containsInvisibleCharacter(r){for(let e=0;e<r.length;e++){let t=r.codePointAt(e);if(typeof t=="number"&&(i.isInvisibleCharacter(t)||t===32))return!0}return!1}static get codePoints(){return i.getData()}}});function _o(i){return i===47||i===92}function gi(i){return i.replace(/[\\/]/g,de.sep)}function CS(i){return i.indexOf("/")===-1&&(i=gi(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function Qg(i,r=de.sep){if(!i)return"";let e=i.length,t=i.charCodeAt(0);if(_o(t)){if(_o(i.charCodeAt(1))&&!_o(i.charCodeAt(2))){let o=3,s=o;for(;o<e&&!_o(i.charCodeAt(o));o++);if(s!==o&&!_o(i.charCodeAt(o+1))){for(o+=1;o<e;o++)if(_o(i.charCodeAt(o)))return i.slice(0,o+1).replace(/[\\/]/g,r)}}return r}else if(Hp(t)&&i.charCodeAt(1)===58)return _o(i.charCodeAt(2))?i.slice(0,2)+r:i.slice(0,2);let n=i.indexOf("://");if(n!==-1){for(n+=3;n<e;n++)if(_o(i.charCodeAt(n)))return i.slice(0,n+1)}return""}function _S(i){if(!W||!i||i.length<5)return!1;let r=i.charCodeAt(0);if(r!==92||(r=i.charCodeAt(1),r!==92))return!1;let e=2,t=e;for(;e<i.length&&(r=i.charCodeAt(e),r!==92);e++);return!(t===e||(r=i.charCodeAt(e+1),isNaN(r)||r===92))}function kS(i,r=W){let e=r?lR:cR;return!(!i||i.length===0||/^\s+$/.test(i)||(e.lastIndex=0,e.test(i))||r&&dR.test(i)||i==="."||i===".."||r&&i[i.length-1]==="."||r&&i.length!==i.trim().length||i.length>255)}function ko(i,r,e){let t=i===r;return!e||t?t:!i||!r?!1:qr(i,r)}function Ki(i,r,e,t=Ot){if(i===r)return!0;if(!i||!r||r.length>i.length)return!1;if(e){if(!Co(i,r))return!1;if(r.length===i.length)return!0;let o=r.length;return r.charAt(r.length-1)===t&&o--,i.charAt(o)===t}return r.charAt(r.length-1)!==t&&(r+=t),i.indexOf(r)===0}function Hp(i){return i>=65&&i<=90||i>=97&&i<=122}function $p(i,r){return W&&i.endsWith(":")&&(i+=Ot),xo(i)||(i=B(r,i)),i=Ct(i),Xg(i)}function Xg(i){return W?(i=Gn(i,Ot),i.endsWith(":")&&(i+=Ot)):(i=Gn(i,Ot),i||(i=Ot)),i}function Yg(i){let r=Ct(i);return W?i.length>3?!1:Zg(r)&&(i.length===2||r.charCodeAt(2)===92):r===de.sep}function Zg(i,r=W){return r?Hp(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}function Da(i){let r=i.split(":"),e,t,n;for(let o of r){let s=Number(o);zn(s)?t===void 0?t=s:n===void 0&&(n=s):e=e?[e,o].join(":"):o}if(!e)throw new Error("Format for `--goto` should be: `FILE:LINE(:COLUMN)`");return{path:e,line:t!==void 0?t:void 0,column:n!==void 0?n:t!==void 0?1:void 0}}function Ts(i,r,e=8){let t="";for(let o=0;o<e;o++){let s;o===0&&W&&!r&&(e===3||e===4)?s=pR:s=uR,t+=s.charAt(Math.floor(Math.random()*s.length))}let n;return r?n=`${r}-${t}`:n=t,i?B(i,n):n}var lR,cR,dR,uR,pR,cn=w(()=>{jn();_e();te();sr();Le();lR=/[\\/:\*\?"<>\|]/g,cR=/[/]/g,dR=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;uR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",pR="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var qp=w(()=>{});function vR(i,r){if(!i.scheme&&r)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${i.authority}", path: "${i.path}", query: "${i.query}", fragment: "${i.fragment}"}`);if(i.scheme&&!mR.test(i.scheme)){let e=[...i.scheme.matchAll(/[^\w\d+.-]/gu)],t=e.length>0?` Found '${e[0][0]}' at index ${e[0].index} (${e.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${t} (len:${i.scheme.length})`)}if(i.path){if(i.authority){if(!hR.test(i.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(gR.test(i.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function yR(i,r){return!i&&!r?"file":i}function wR(i,r){switch(i){case"https":case"http":case"file":r?r[0]!==Jn&&(r=Jn+r):r=Jn;break}return r}function RS(i,r,e){let t,n=-1;for(let o=0;o<i.length;o++){let s=i.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||r&&s===47||e&&s===91||e&&s===93||e&&s===58)n!==-1&&(t+=encodeURIComponent(i.substring(n,o)),n=-1),t!==void 0&&(t+=i.charAt(o));else{t===void 0&&(t=i.substr(0,o));let a=MS[s];a!==void 0?(n!==-1&&(t+=encodeURIComponent(i.substring(n,o)),n=-1),t+=a):n===-1&&(n=o)}}return n!==-1&&(t+=encodeURIComponent(i.substring(n))),t!==void 0?t:i}function bR(i){let r;for(let e=0;e<i.length;e++){let t=i.charCodeAt(e);t===35||t===63?(r===void 0&&(r=i.substr(0,e)),r+=MS[t]):r!==void 0&&(r+=i[e])}return r!==void 0?r:i}function od(i,r){let e;return i.authority&&i.path.length>1&&i.scheme==="file"?e=`//${i.authority}${i.path}`:i.path.charCodeAt(0)===47&&(i.path.charCodeAt(1)>=65&&i.path.charCodeAt(1)<=90||i.path.charCodeAt(1)>=97&&i.path.charCodeAt(1)<=122)&&i.path.charCodeAt(2)===58?r?e=i.path.substr(1):e=i.path[1].toLowerCase()+i.path.substr(2):e=i.path,W&&(e=e.replace(/\//g,"\\")),e}function ev(i,r){let e=r?bR:RS,t="",{scheme:n,authority:o,path:s,query:a,fragment:l}=i;if(n&&(t+=n,t+=":"),(o||n==="file")&&(t+=Jn,t+=Jn),o){let c=o.indexOf("@");if(c!==-1){let d=o.substr(0,c);o=o.substr(c+1),c=d.lastIndexOf(":"),c===-1?t+=e(d,!1,!1):(t+=e(d.substr(0,c),!1,!1),t+=":",t+=e(d.substr(c+1),!1,!0)),t+="@"}o=o.toLowerCase(),c=o.lastIndexOf(":"),c===-1?t+=e(o,!1,!0):(t+=e(o.substr(0,c),!1,!0),t+=o.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)}`)}t+=e(s,!0,!1)}return a&&(t+="?",t+=e(a,!1,!1)),l&&(t+="#",t+=r?l:RS(l,!1,!1)),t}function OS(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+OS(i.substr(3)):i}}function Kp(i){return i.match(DS)?i.replace(DS,r=>OS(r)):i}var mR,hR,gR,gt,Jn,IR,E,AS,Ro,MS,DS,le=w(()=>{jn();qp();_e();te();mR=/^\w[\w\d+.-]*$/,hR=/^\//,gR=/^\/\//;gt="",Jn="/",IR=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,E=class i{static isUri(r){return r instanceof i?!0:!r||typeof r!="object"?!1:typeof r.authority=="string"&&typeof r.fragment=="string"&&typeof r.path=="string"&&typeof r.query=="string"&&typeof r.scheme=="string"&&typeof r.fsPath=="string"&&typeof r.with=="function"&&typeof r.toString=="function"}constructor(r,e,t,n,o,s=!1){typeof r=="object"?(this.scheme=r.scheme||gt,this.authority=r.authority||gt,this.path=r.path||gt,this.query=r.query||gt,this.fragment=r.fragment||gt):(this.scheme=yR(r,s),this.authority=e||gt,this.path=wR(this.scheme,t||gt),this.query=n||gt,this.fragment=o||gt,vR(this,s))}get fsPath(){return od(this,!1)}with(r){if(!r)return this;let{scheme:e,authority:t,path:n,query:o,fragment:s}=r;return e===void 0?e=this.scheme:e===null&&(e=gt),t===void 0?t=this.authority:t===null&&(t=gt),n===void 0?n=this.path:n===null&&(n=gt),o===void 0?o=this.query:o===null&&(o=gt),s===void 0?s=this.fragment:s===null&&(s=gt),e===this.scheme&&t===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new Ro(e,t,n,o,s)}static parse(r,e=!1){let t=IR.exec(r);return t?new Ro(t[2]||gt,Kp(t[4]||gt),Kp(t[5]||gt),Kp(t[7]||gt),Kp(t[9]||gt),e):new Ro(gt,gt,gt,gt,gt)}static file(r){let e=gt;if(W&&(r=r.replace(/\\/g,Jn)),r[0]===Jn&&r[1]===Jn){let t=r.indexOf(Jn,2);t===-1?(e=r.substring(2),r=Jn):(e=r.substring(2,t),r=r.substring(t)||Jn)}return new Ro("file",e,r,gt,gt)}static from(r,e){return new Ro(r.scheme,r.authority,r.path,r.query,r.fragment,e)}static joinPath(r,...e){if(!r.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let t;return W&&r.scheme==="file"?t=i.file(ut.join(od(r,!0),...e)).path:t=de.join(r.path,...e),r.with({path:t})}toString(r=!1){return ev(this,r)}toJSON(){return this}static revive(r){if(r){if(r instanceof i)return r;{let e=new Ro(r);return e._formatted=r.external??null,e._fsPath=r._sep===AS?r.fsPath??null:null,e}}else return r}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}},AS=W?1:void 0,Ro=class extends E{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=od(this,!1)),this._fsPath}toString(e=!1){return e?ev(this,!0):(this._formatted||(this._formatted=ev(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=AS),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}},MS={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"};DS=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function SR(i,r){return E.isUri(i)?qr(i.scheme,r):Co(i,r+":")}function nv(i,...r){return r.some(e=>SR(i,e))}function PR(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var F,xR,tv,iv,La,rv,st,FS,WS,Aa,qe=w(()=>{He();te();sr();le();_e();(fe=>(fe.inMemory="inmemory",fe.vscode="vscode",fe.internal="private",fe.walkThrough="walkThrough",fe.walkThroughSnippet="walkThroughSnippet",fe.http="http",fe.https="https",fe.file="file",fe.mailto="mailto",fe.untitled="untitled",fe.data="data",fe.command="command",fe.vscodeRemote="vscode-remote",fe.vscodeRemoteResource="vscode-remote-resource",fe.vscodeManagedRemoteResource="vscode-managed-remote-resource",fe.vscodeUserData="vscode-userdata",fe.vscodeCustomEditor="vscode-custom-editor",fe.vscodeNotebookCell="vscode-notebook-cell",fe.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",fe.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",fe.vscodeNotebookCellOutput="vscode-notebook-cell-output",fe.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",fe.vscodeNotebookMetadata="vscode-notebook-metadata",fe.vscodeInteractiveInput="vscode-interactive-input",fe.vscodeSettings="vscode-settings",fe.vscodeWorkspaceTrust="vscode-workspace-trust",fe.vscodeTerminal="vscode-terminal",fe.vscodeImageCarousel="vscode-image-carousel",fe.vscodeChatCodeBlock="vscode-chat-code-block",fe.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",fe.vscodeChatEditor="vscode-chat-editor",fe.vscodeChatInput="chatSessionInput",fe.vscodeLocalChatSession="vscode-chat-session",fe.webviewPanel="webview-panel",fe.vscodeWebview="vscode-webview",fe.vscodeBrowser="vscode-browser",fe.extension="extension",fe.vscodeFileResource="vscode-file",fe.tmp="tmp",fe.vsls="vsls",fe.vscodeSourceControl="vscode-scm",fe.commentsInput="comment",fe.codeSetting="code-setting",fe.outputChannel="output",fe.accessibleView="accessible-view",fe.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",fe.chatEditingModel="chat-editing-text-model",fe.copilotPr="copilot-pr"))(F||={});xR="tkn",tv=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(r){this._preferredWebSchema=r}setDelegate(r){this._delegate=r}setServerRootPath(r,e){this._serverRootPath=de.join(e??"/",PR(r))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return de.join(this._serverRootPath,F.vscodeRemoteResource)}set(r,e,t){this._hosts[r]=e,this._ports[r]=t}setConnectionToken(r,e){this._connectionTokens[r]=e}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(r){if(this._delegate)try{return this._delegate(r)}catch(a){return nt(a),r}let e=r.authority,t=this._hosts[e];t&&t.indexOf(":")!==-1&&t.indexOf("[")===-1&&(t=`[${t}]`);let n=this._ports[e],o=this._connectionTokens[e],s=`path=${encodeURIComponent(r.path)}`;return typeof o=="string"&&(s+=`&${xR}=${encodeURIComponent(o)}`),E.from({scheme:Dr?this._preferredWebSchema:F.vscodeRemoteResource,authority:`${t}:${n}`,path:this._remoteResourcesPath,query:s})}},iv=new tv;La="vscode-app",rv=class i{static{this.FALLBACK_AUTHORITY=La}asBrowserUri(r){let e=this.toUri(r);return this.uriToBrowserUri(e)}uriToBrowserUri(r){return r.scheme===F.vscodeRemote?iv.rewrite(r):r.scheme===F.file&&(Sp||Cb===`${F.vscodeFileResource}://${i.FALLBACK_AUTHORITY}`)?r.with({scheme:F.vscodeFileResource,authority:r.authority||i.FALLBACK_AUTHORITY,query:null,fragment:null}):r}asFileUri(r){let e=this.toUri(r);return this.uriToFileUri(e)}uriToFileUri(r){return r.scheme===F.vscodeFileResource?r.with({scheme:F.file,authority:r.authority!==i.FALLBACK_AUTHORITY?r.authority:null,query:null,fragment:null}):r}toUri(r){if(E.isUri(r))return r;if(globalThis._VSCODE_FILE_ROOT){let e=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(e))return E.joinPath(E.parse(e,!0),r);let t=B(e,r);return E.file(t)}throw new Error("Cannot determine URI for module id!")}},st=new rv,FS=Object.freeze({"Cache-Control":"no-cache, no-store"}),WS=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"});(o=>{let i=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);o.CoopAndCoep=Object.freeze(i.get("3"));let e="vscode-coi";function t(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:E.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(e);if(l)return i.get(l)}o.getHeadersFromQuery=t;function n(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}o.addSearchParam=n})(Aa||={})});function mr(i){return od(i,!0)}var Cs,Oe,je,Ma,sd,ov,AW,ER,Kr,NS,BS,me,zp,MW,OW,VS,Mr,US,HS,FW,TR,It=w(()=>{jn();cn();qe();_e();te();sr();le();Cs=class{constructor(r){this._ignorePathCasing=r}compare(r,e,t=!1){return r===e?0:nd(this.getComparisonKey(r,t),this.getComparisonKey(e,t))}isEqual(r,e,t=!1){return r===e?!0:!r||!e?!1:this.getComparisonKey(r,t)===this.getComparisonKey(e,t)}getComparisonKey(r,e=!1){return r.with({path:this._ignorePathCasing(r)?r.path.toLowerCase():void 0,fragment:e?null:void 0}).toString()}ignorePathCasing(r){return this._ignorePathCasing(r)}isEqualOrParent(r,e,t=!1){if(r.scheme===e.scheme){if(r.scheme===F.file)return Ki(mr(r),mr(e),this._ignorePathCasing(r))&&r.query===e.query&&(t||r.fragment===e.fragment);if(Mr(r.authority,e.authority))return Ki(r.path,e.path,this._ignorePathCasing(r),"/")&&r.query===e.query&&(t||r.fragment===e.fragment)}return!1}joinPath(r,...e){return E.joinPath(r,...e)}basenameOrAuthority(r){return Kr(r)||r.authority}basename(r,e){return de.basename(r.path,e)}extname(r){return de.extname(r.path)}dirname(r){if(r.path.length===0)return r;let e;return r.scheme===F.file?e=E.file(Ze(mr(r))).path:(e=de.dirname(r.path),r.authority&&e.length&&e.charCodeAt(0)!==47&&(console.error(`dirname("${r.toString})) resulted in a relative path`),e="/")),r.with({path:e})}normalizePath(r){if(!r.path.length)return r;let e;return r.scheme===F.file?e=E.file(Ct(mr(r))).path:e=de.normalize(r.path),r.with({path:e})}relativePath(r,e){if(r.scheme!==e.scheme||!Mr(r.authority,e.authority))return;if(r.scheme===F.file){let o=Tp(mr(r),mr(e));return W?gi(o):o}let t=r.path||"/",n=e.path||"/";if(this._ignorePathCasing(r)){let o=0;for(let s=Math.min(t.length,n.length);o<s&&!(t.charCodeAt(o)!==n.charCodeAt(o)&&t.charAt(o).toLowerCase()!==n.charAt(o).toLowerCase());o++);t=n.substr(0,o)+t.substr(o)}return de.relative(t,n)}resolvePath(r,e){if(r.scheme===F.file){let t=E.file($r(mr(r),e));return r.with({authority:t.authority,path:t.path})}return e=CS(e),r.with({path:de.resolve(r.path,e)})}isAbsolutePath(r){return!!r.path&&r.path[0]==="/"}isEqualAuthority(r,e){return r===e||r!==void 0&&e!==void 0&&qr(r,e)}hasTrailingPathSeparator(r,e=Ot){if(r.scheme===F.file){let t=mr(r);return t.length>Qg(t).length&&t[t.length-1]===e}else{let t=r.path;return t.length>1&&t.charCodeAt(t.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(r.fsPath)}}removeTrailingPathSeparator(r,e=Ot){return US(r,e)?r.with({path:r.path.substr(0,r.path.length-1)}):r}addTrailingPathSeparator(r,e=Ot){let t=!1;if(r.scheme===F.file){let n=mr(r);t=n!==void 0&&n.length===Qg(n).length&&n[n.length-1]===e}else{e="/";let n=r.path;t=n.length===1&&n.charCodeAt(n.length-1)===47}return!t&&!US(r,e)?r.with({path:r.path+"/"}):r}},Oe=new Cs(()=>!1),je=new Cs(i=>i.scheme===F.file?!ne:!0),Ma=new Cs(i=>!0),sd=Oe.isEqual.bind(Oe),ov=Oe.isEqualOrParent.bind(Oe),AW=Oe.getComparisonKey.bind(Oe),ER=Oe.basenameOrAuthority.bind(Oe),Kr=Oe.basename.bind(Oe),NS=Oe.extname.bind(Oe),BS=Oe.dirname.bind(Oe),me=Oe.joinPath.bind(Oe),zp=Oe.normalizePath.bind(Oe),MW=Oe.relativePath.bind(Oe),OW=Oe.resolvePath.bind(Oe),VS=Oe.isAbsolutePath.bind(Oe),Mr=Oe.isEqualAuthority.bind(Oe),US=Oe.hasTrailingPathSeparator.bind(Oe),HS=Oe.removeTrailingPathSeparator.bind(Oe),FW=Oe.addTrailingPathSeparator.bind(Oe);(o=>{o.META_DATA_LABEL="label",o.META_DATA_DESCRIPTION="description",o.META_DATA_SIZE="size",o.META_DATA_MIME="mime";function n(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(d=>{let[u,f]=d.split(":");u&&f&&a.set(u,f)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(o.META_DATA_MIME,c),a}o.parseMetaData=n})(TR||={})});var $S,qS=w(()=>{$S=Symbol("MicrotaskDelay")});function Yp(i){return!!i&&typeof i.then=="function"}function Qn(i){let r=new $e,e=i(r.token),t=!1,n=new Promise((o,s)=>{let a=r.token.onCancellationRequested(()=>{t=!0,a.dispose(),s(new St)});Promise.resolve(e).then(l=>{a.dispose(),r.dispose(),t?Wp(l)&&l.dispose():o(l)},l=>{a.dispose(),r.dispose(),s(l)})});return new class{cancel(){r.cancel(),r.dispose()}then(o,s){return n.then(o,s)}catch(o){return this.then(void 0,o)}finally(o){return n.finally(o)}}}function lv(i,r,e){let t,n=setTimeout(()=>{t?.(void 0),e?.()},r);return Promise.race([i.finally(()=>clearTimeout(n)),new Promise(o=>t=o)])}function jS(){let i,r;return{promise:new Promise((t,n)=>{i=t,r=n}),resolve:i,reject:r}}function ct(i,r){return r?new Promise((e,t)=>{let n=setTimeout(()=>{o.dispose(),e()},i),o=r.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),t(new St)})}):Qn(e=>ct(i,e))}function GS(i,r=0,e){let t=setTimeout(()=>{i(),e&&n.dispose()},r),n=G(()=>{clearTimeout(t),e?.delete(n)});return e?.add(n),n}function JS(i,r=t=>!!t,e=null){let t=0,n=i.length,o=()=>{if(t>=n)return Promise.resolve(e);let s=i[t++];return Promise.resolve(s()).then(l=>r(l)?Promise.resolve(l):o())};return o()}async function QS(i,r,e){let t;for(let n=0;n<e;n++)try{return await i()}catch(o){t=o,await ct(r)}throw t}var ad,CR,_R,zi,Pr,vi,ld,Rn,Oa,cd,Gp,hr,Jp,Qp,Fa,dd,jp,sv,Xp,Kt,vt,KS,av,zS,ve=w(()=>{wt();He();J();$();It();te();qS();Eo();ad=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new $e}queue(r){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=r,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=r(this.cancellationTokenSource.token),new Promise((e,t)=>{this.activePromise.then(n=>{this.activePromise=null,e(n)},n=>{this.activePromise=null,t(n)})})}dispose(){this.cancellationTokenSource.cancel()}},CR=(i,r)=>{let e=!0,t=setTimeout(()=>{e=!1,r()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(t),e=!1}}},_R=i=>{let r=!0;return queueMicrotask(()=>{r&&(r=!1,i())}),{isTriggered:()=>r,dispose:()=>{r=!1}}},zi=class{constructor(r){this.defaultDelay=r;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(r,e=this.defaultDelay){this.task=r,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((n,o)=>{this.doResolve=n,this.doReject=o}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let n=this.task;return this.task=null,n()}}));let t=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=e===$S?_R(t):CR(e,t),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new St),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},Pr=class{constructor(r){this.delayer=new zi(r),this.throttler=new ad}trigger(r,e){return this.delayer.trigger(()=>this.throttler.queue(r),e)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}},vi=class{constructor(){this._isOpen=!1,this._promise=new Promise((r,e)=>{this._completePromise=r})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}};ld=class{constructor(r){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=r,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new S}whenIdle(){return this.size>0?x.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(r){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((e,t)=>{this.outstandingPromises.push({factory:r,c:e,e:t}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let r=this.outstandingPromises.shift();this.runningPromises++;let e=r.factory();e.then(r.c,r.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()}},Rn=class extends ld{constructor(){super(1)}},Oa=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let r=new Kt;return this.drainers.add(r),r.p}isDrained(){for(let[,r]of this.queues)if(r.size>0)return!1;return!0}queueSize(r,e=Oe){let t=e.getComparisonKey(r);return this.queues.get(t)?.size??0}queueFor(r,e,t=Oe){let n=t.getComparisonKey(r),o=this.queues.get(n);if(!o){o=new Rn;let s=this.drainListenerCount++,a=x.once(o.onDrained)(()=>{o?.dispose(),this.queues.delete(n),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Xt),this.drainListeners.set(s,a),this.queues.set(n,o)}return o.queue(e)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let r of this.drainers)r.complete();this.drainers.clear()}dispose(){for(let[,r]of this.queues)r.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}},cd=class{constructor(r,e){this._isDisposed=!1;this._token=void 0,typeof r=="function"&&typeof e=="number"&&this.setIfNotSet(r,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==void 0&&(clearTimeout(this._token),this._token=void 0)}cancelAndSet(r,e){if(this._isDisposed)throw new qn("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=void 0,r()},e)}setIfNotSet(r,e){if(this._isDisposed)throw new qn("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,r()},e))}},Gp=class{constructor(){this.disposable=void 0;this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(r,e,t=globalThis){if(this.isDisposed)throw new qn("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let n=t.setInterval(()=>{r()},e);this.disposable=G(()=>{t.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},hr=class{constructor(r,e){this.timeoutToken=void 0,this.runner=r,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(r=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,r)}get delay(){return this.timeout}set delay(r){this.timeout=r}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?.()}},Jp=class{constructor(r,e){e%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.runner=r,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(r=this.timeout){r%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${r}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(r/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?.())}},Qp=class extends hr{constructor(e,t){super(e,t);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()}},Fa=class extends _{constructor(e,t){super();this.options=e;this.handler=t;this.pendingWork=[];this.throttler=this._register(new qt);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 n of e)this.pendingWork.push(n);let t=Date.now()-this.lastExecutionTime;return!this.throttler.value&&(!this.options.waitThrottleDelayBetweenWorkUnits||t>=this.options.throttleDelay)?this.doWork():!this.throttler.value&&this.options.waitThrottleDelayBetweenWorkUnits&&this.scheduleThrottler(Math.max(this.options.throttleDelay-t,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 hr(()=>{this.throttler.clear(),this.doWork()},e),this.throttler.value.schedule()}dispose(){super.dispose(),this.pendingWork.length=0,this.disposed=!0}};(function(){let i=globalThis;typeof i.requestIdleCallback!="function"||typeof i.cancelIdleCallback!="function"?jp=(r,e,t)=>{kb(()=>{if(n)return;let o=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,o-Date.now())}}))});let n=!1;return{dispose(){n||(n=!0)}}}:jp=(r,e,t)=>{let n=r.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0),o=!1;return{dispose(){o||(o=!0,r.cancelIdleCallback(n))}}},dd=(r,e)=>jp(globalThis,r,e)})();sv=class{constructor(r,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=jp(r,()=>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}},Xp=class extends sv{constructor(r){super(globalThis,r)}};Kt=class i{static fromPromise(r){let e=new i;return e.settleWith(r),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((r,e)=>{this.completeCallback=r,this.errorCallback=e})}complete(r){return this.isSettled?Promise.resolve():new Promise(e=>{this.completeCallback(r),this.outcome={outcome:0,value:r},e()})}error(r){return this.isSettled?Promise.resolve():new Promise(e=>{this.errorCallback(r),this.outcome={outcome:1,value:r},e()})}settleWith(r){return r.then(e=>this.complete(e),e=>this.error(e))}cancel(){return this.error(new St)}};(e=>{async function i(t){let n,o=await Promise.all(t.map(s=>s.then(a=>a,a=>{n||(n=a)})));if(typeof n<"u")throw n;return o}e.settled=i;function r(t){return new Promise(async(n,o)=>{try{await t(n,o)}catch(s){o(s)}})}e.withAsyncBody=r})(vt||={});KS=class i{static fromArray(r){return new i(e=>{e.emitMany(r)})}static fromPromise(r){return new i(async e=>{e.emitMany(await r)})}static fromPromisesResolveOrder(r){return new i(async e=>{await Promise.all(r.map(async t=>e.emitOne(await t)))})}static merge(r){return new i(async e=>{await Promise.all(r.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=i.fromArray([])}constructor(r,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new S,queueMicrotask(async()=>{let t={emitOne:n=>this.emitOne(n),emitMany:n=>this.emitMany(n),reject:n=>this.reject(n)};try{await Promise.resolve(r(t)),this.resolve()}catch(n){this.reject(n)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let r=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(r<this._results.length)return{done:!1,value:this._results[r++]};if(this._state===1)return{done:!0,value:void 0};await x.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(r,e){return new i(async t=>{for await(let n of r)t.emitOne(e(n))})}map(r){return i.map(this,r)}static filter(r,e){return new i(async t=>{for await(let n of r)e(n)&&t.emitOne(n)})}filter(r){return i.filter(this,r)}static coalesce(r){return i.filter(r,e=>!!e)}coalesce(){return i.coalesce(this)}static async toPromise(r){let e=[];for await(let t of r)e.push(t);return e}toPromise(){return i.toPromise(this)}emitOne(r){this._state===0&&(this._results.push(r),this._onStateChanged.fire())}emitMany(r){this._state===0&&(this._results=this._results.concat(r),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(r){this._state===0&&(this._state=2,this._error=r,this._onStateChanged.fire())}},av=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(r){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let e=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(e,r)}else this._unconsumedValues.push(r)}produceFinal(r){this._ensureNoFinalValue(),this._finalValue=r;for(let e of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(e,r);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new qn("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(r,e){e.ok?r.complete(e.value):r.error(e.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let r=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return r.ok?Promise.resolve(r.value):Promise.reject(r.error)}else{let r=new Kt;return this._unsatisfiedConsumers.push(r),r.p}}},zS=class i{constructor(r,e){this._onReturn=e;this._producerConsumer=new av;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async r=>(this._finishError(r),{done:!0,value:void 0})};queueMicrotask(async()=>{let t=r({emitOne:n=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:n}}),emitMany:n=>{for(let o of n)this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}})},reject:n=>this._finishError(n)});if(!this._producerConsumer.hasFinalValue)try{await t,this._finishOk()}catch(n){this._finishError(n)}})}static fromArray(r){return new i(e=>{e.emitMany(r)})}static fromPromise(r){return new i(async e=>{e.emitMany(await r)})}static fromPromisesResolveOrder(r){return new i(async e=>{await Promise.all(r.map(async t=>e.emitOne(await t)))})}static merge(r){return new i(async e=>{await Promise.all(r.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=i.fromArray([])}static map(r,e){return new i(async t=>{for await(let n of r)t.emitOne(e(n))})}static tee(r){let e,t,n=new Kt,o=async()=>{if(!(!e||!t))try{for await(let l of r)e.emitOne(l),t.emitOne(l)}catch(l){e.reject(l),t.reject(l)}finally{n.complete()}},s=new i(async l=>(e=l,o(),n.p)),a=new i(async l=>(t=l,o(),n.p));return[s,a]}map(r){return i.map(this,r)}static coalesce(r){return i.filter(r,e=>!!e)}coalesce(){return i.coalesce(this)}static filter(r,e){return new i(async t=>{for await(let n of r)e(n)&&t.emitOne(n)})}filter(r){return i.filter(this,r)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(r){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:r})}[Symbol.asyncIterator](){return this._iterator}}});function yi(i){return XS(i,"NFC",kR)}function DR(i){return XS(i,"NFD",RR)}function XS(i,r,e){if(!i)return i;let t=e.get(i);if(t)return t;let n;return LR.test(i)?n=i.normalize(r):n=i,e.set(i,n),n}var kR,RR,LR,e4,ud=w(()=>{Ar();kR=new fi(1e4);RR=new fi(1e4);LR=/[^\u0000-\u0080]/;e4=(function(){let i=new fi(1e4),r=/[\u0300-\u036f]/g;return function(e){let t=i.get(e);if(t)return t;let n=DR(e).replace(r,""),o=(n.length===e.length?n:e).toLowerCase();return i.set(e,o),o}})()});import*as Ie from"fs";import{tmpdir as AR}from"os";import{promisify as pd}from"util";async function e1(i,r=0,e){if(Yg(i))throw new Error("rimraf - will refuse to recursively delete root");return r===0?cv(i):MR(i,e)}async function MR(i,r=Ts(AR())){try{try{await Ie.promises.rename(i,r)}catch(e){return e.code==="ENOENT"?void 0:cv(i)}cv(r).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function cv(i){return Ie.promises.rm(i,{recursive:!0,force:!0,maxRetries:3})}async function Zp(i,r){try{return await YS(i,r)}catch(e){if(e.code==="ENOENT"&&W&&Yg(i))try{return await YS(`${i}.`,r)}catch{}throw e}}async function YS(i,r){return FR(await(r?OR(i):Ie.promises.readdir(i)))}async function OR(i){try{return await Ie.promises.readdir(i,{withFileTypes:!0})}catch(t){t.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",t)}let r=[],e=await Zp(i);for(let t of e){let n=!1,o=!1,s=!1;try{let a=await Ie.promises.lstat(B(i,t));n=a.isFile(),o=a.isDirectory(),s=a.isSymbolicLink()}catch(a){a.code!=="ENOENT"&&console.warn("[node.js fs] unexpected error from lstat after readdir: ",a)}r.push({name:t,isFile:()=>n,isDirectory:()=>o,isSymbolicLink:()=>s})}return r}function FR(i){return i.map(r=>typeof r=="string"?V?yi(r):r:(r.name=V?yi(r.name):r.name,r))}async function WR(i){let r=await Zp(i),e=[];for(let t of r)await Yt.existsDirectory(B(i,t))&&e.push(t);return e}function t1(i,r=1e3){return new Promise(e=>{let t=!1,n=setInterval(()=>{t||(t=!0,Ie.access(i,o=>{t=!1,o&&(clearInterval(n),e(void 0))}))},r)})}function NR(i,r,e){return UR.queueFor(E.file(i),()=>{let t=HR(e);return new Promise((n,o)=>VR(i,r,t,s=>s?o(s):n()))},je)}function BR(i){r1=i}function VR(i,r,e,t){if(!r1)return Ie.writeFile(i,r,{mode:e.mode,flag:e.flag},t);Ie.open(i,e.flag,e.mode,(n,o)=>{if(n)return t(n);Ie.writeFile(o,r,s=>{if(s)return Ie.close(o,()=>t(s));Ie.fdatasync(o,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),BR(!1)),Ie.close(o,l=>t(l))))})})}function HR(i){return i?{mode:typeof i.mode=="number"?i.mode:438,flag:typeof i.flag=="string"?i.flag:"w"}:{mode:438,flag:"w"}}async function $R(i,r,e=6e4){if(i!==r)try{W&&typeof e=="number"?await n1(i,r,Date.now(),e):await Ie.promises.rename(i,r)}catch(t){if(i.toLowerCase()!==r.toLowerCase()&&t.code==="EXDEV"||i.endsWith("."))await i1(i,r,{preserveSymlinks:!1}),await e1(i,1);else throw t}}async function n1(i,r,e,t,n=0){try{return await Ie.promises.rename(i,r)}catch(o){if(o.code!=="EACCES"&&o.code!=="EPERM"&&o.code!=="EBUSY")throw o;if(Date.now()-e>=t)throw console.error(`[node.js fs] rename failed after ${n} retries with error: ${o}`),o;if(n===0){let s=!1;try{let{stat:a}=await Yt.stat(r);a.isFile()||(s=!0)}catch{}if(s)throw o}return await ct(Math.min(100,n*10)),n1(i,r,e,t,n+1)}}async function i1(i,r,e){return o1(i,r,{root:{source:i,target:r},options:e,handledSourcePaths:new Set})}async function o1(i,r,e){if(e.handledSourcePaths.has(i))return;e.handledSourcePaths.add(i);let{stat:t,symbolicLink:n}=await Yt.stat(i);if(n){if(e.options.preserveSymlinks)try{return await zR(i,r,e)}catch{}if(n.dangling)return}return t.isDirectory()?qR(i,r,t.mode&ZS,e):KR(i,r,t.mode&ZS)}async function qR(i,r,e,t){await Ie.promises.mkdir(r,{recursive:!0,mode:e});let n=await Zp(i);for(let o of n)await o1(B(i,o),B(r,o),t)}async function KR(i,r,e){await Ie.promises.copyFile(i,r),await Ie.promises.chmod(r,e)}async function zR(i,r,e){let t=await Ie.promises.readlink(i);Ki(t,e.root.source,!ne)&&(t=B(e.root.target,t.substr(e.root.source.length+1))),await Ie.promises.symlink(t,r)}async function jR(i){try{return await pd(Ie.realpath)(i)}catch{let r=GR(i);return await Ie.promises.access(r,Ie.constants.R_OK),r}}function GR(i){return Gn(Ct(i),Ot)}var Yt,UR,r1,ZS,Q,Zt=w(()=>{ve();cn();ud();_e();te();It();le();sr();(t=>{async function i(n){let o;try{if(o=await Ie.promises.lstat(n),!o.isSymbolicLink())return{stat:o}}catch{}try{return{stat:await Ie.promises.stat(n),symbolicLink:o?.isSymbolicLink()?{dangling:!1}:void 0}}catch(s){if(s.code==="ENOENT"&&o)return{stat:o,symbolicLink:{dangling:!0}};if(W&&s.code==="EACCES")try{return{stat:await Ie.promises.stat(await Ie.promises.readlink(n)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&o)return{stat:o,symbolicLink:{dangling:!0}};throw a}throw s}}t.stat=i;async function r(n){try{let{stat:o,symbolicLink:s}=await t.stat(n);return o.isFile()&&s?.dangling!==!0}catch{}return!1}t.existsFile=r;async function e(n){try{let{stat:o,symbolicLink:s}=await t.stat(n);return o.isDirectory()&&s?.dangling!==!0}catch{}return!1}t.existsDirectory=e})(Yt||={});UR=new Oa;r1=!0;ZS=511;Q=new class{get read(){return(i,r,e,t,n)=>new Promise((o,s)=>{Ie.read(i,r,e,t,n,(a,l,c)=>a?s(a):o({bytesRead:l,buffer:c}))})}get write(){return(i,r,e,t,n)=>new Promise((o,s)=>{Ie.write(i,r,e,t,n,(a,l,c)=>a?s(a):o({bytesWritten:l,buffer:c}))})}get fdatasync(){return pd(Ie.fdatasync)}get open(){return pd(Ie.open)}get close(){return pd(Ie.close)}get ftruncate(){return pd(Ie.ftruncate)}async exists(i){try{return await Ie.promises.access(i),!0}catch{return!1}}get readdir(){return Zp}get readDirsInDir(){return WR}get writeFile(){return NR}get rm(){return e1}get rename(){return $R}get copy(){return i1}get realpath(){return jR}}});function s1(){let i=a1();return i?Array.from(i):[]}function a1(){return process.uncHostAllowlist}function Gi(i){if(process.platform!=="win32")return;let r=a1();if(r)if(typeof i=="string")r.add(i.toLowerCase());else for(let e of YR(i))Gi(e)}function YR(i){let r=new Set;if(Array.isArray(i))for(let e of i)typeof e=="string"&&r.add(e);return Array.from(r)}function ef(i){if(typeof i!="string")return;let r=["\\\\.\\UNC\\","\\\\?\\UNC\\","\\\\"],e;for(let t of r){if(i.indexOf(t)!==0)continue;let o=i.indexOf("\\",t.length);if(o===-1)continue;let s=i.substring(t.length,o);if(s){e=s;break}}return e}function l1(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}function c1(){return process.platform!=="win32"?!0:process.restrictUNCAccess===!1}var Wa=w(()=>{});var d1,I4,hd=w(()=>{Te();d1="/etc/vscode/policy.json",I4={Extensions:{name:{key:"extensionsConfigurationTitle",value:h(138,null)}},IntegratedTerminal:{name:{key:"terminalIntegratedConfigurationTitle",value:h(141,null)}},InteractiveSession:{name:{key:"interactiveSessionConfigurationTitle",value:h(139,null)}},Telemetry:{name:{key:"telemetryConfigurationTitle",value:h(140,null)}},Update:{name:{key:"updateConfigurationTitle",value:h(142,null)}}}});function ZR(i,r,e){r[Xn.DI_TARGET]===r?r[Xn.DI_DEPENDENCIES].push({id:i,index:e}):(r[Xn.DI_DEPENDENCIES]=[{id:i,index:e}],r[Xn.DI_TARGET]=r)}function M(i){if(Xn.serviceIds.has(i))return Xn.serviceIds.get(i);let r=function(e,t,n){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");ZR(r,e,n)};return r.toString=()=>i,Xn.serviceIds.set(i,r),r}var Xn,Wt,re=w(()=>{(n=>{n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function t(o){return o[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=t})(Xn||={});Wt=M("instantiationService")});function tf(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifier||typeof r.overrideIdentifier=="string")&&(!r.resource||r.resource instanceof E)}function u1(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifiers||Array.isArray(r.overrideIdentifiers))&&!r.overrideIdentifier&&(!r.resource||r.resource instanceof E)}function rf(i,r){let e=Object.create(null);for(let t in i)uv(e,t,i[t],r);return e}function uv(i,r,e,t){let n=r.split("."),o=n.pop(),s=i;for(let a=0;a<n.length;a++){let l=n[a],c=s[l];switch(typeof c){case"undefined":c=s[l]=Object.create(null);break;case"object":if(c===null){t(`Ignoring ${r} as ${n.slice(0,a+1).join(".")} is null`);return}break;default:t(`Ignoring ${r} as ${n.slice(0,a+1).join(".")} is ${JSON.stringify(c)}`);return}s=c}if(typeof s=="object"&&s!==null)try{s[o]=e}catch{t(`Ignoring ${r} as ${n.join(".")} is ${JSON.stringify(s)}`)}else t(`Ignoring ${r} as ${n.join(".")} is ${JSON.stringify(s)}`)}function p1(i,r){let e=r.split(".");f1(i,e)}function f1(i,r){if(!i)return;let e=i,t=r.shift();if(r.length===0){delete e[t];return}if(Object.keys(e).indexOf(t)!==-1){let n=e[t];typeof n=="object"&&!Array.isArray(n)&&(f1(n,r),Object.keys(n).length===0&&delete e[t])}}function gd(i,r,e){function t(s,a){let l=s;for(let c of a){if(typeof l!="object"||l===null)return;l=l[c]}return l}let n=r.split("."),o=t(i,n);return typeof o>"u"?e:o}function m1(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var he,at=w(()=>{Pa();Le();le();re();he=M("configurationService")});function h1(i){let r=!1,e=new Map,t=new Map;if(eD(i,d=>{if(i===d)return!0;let u=JSON.stringify(d);if(u.length<30)return!0;let f=e.get(u);if(!f){let m={schemas:[d]};return e.set(u,m),t.set(d,m),!0}return f.schemas.push(d),t.set(d,f),r=!0,!1}),e.clear(),!r)return JSON.stringify(i);let o="$defs";for(;i.hasOwnProperty(o);)o+="_";let s=[];function a(d){return JSON.stringify(d,(u,f)=>{if(f!==d){let m=t.get(f);if(m&&m.schemas.length>1)return m.id||(m.id=`_${s.length}`,s.push(m.schemas[0])),{$ref:`#/${o}/${m.id}`}}return f})}let l=a(i),c=[];for(let d=0;d<s.length;d++)c.push(`"_${d}":${a(s[d])}`);return c.length?`${l.substring(0,l.length-1)},"${o}":{${c.join(",")}}}`:l}function Ua(i){return typeof i=="object"&&i!==null}function eD(i,r){if(!i||typeof i!="object")return;let e=(...l)=>{for(let c of l)Ua(c)&&s.push(c)},t=(...l)=>{for(let c of l)if(Ua(c))for(let d in c){let u=c[d];Ua(u)&&s.push(u)}},n=(...l)=>{for(let c of l)if(Array.isArray(c))for(let d of c)Ua(d)&&s.push(d)},o=l=>{if(Array.isArray(l))for(let c of l)Ua(c)&&s.push(c);else Ua(l)&&s.push(l)},s=[i],a=s.pop();for(;a;)r(a)&&(e(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),t(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),n(a.anyOf,a.allOf,a.oneOf,a.prefixItems),o(a.items)),a=s.pop()}var g1=w(()=>{});var pv,xt,Yn=w(()=>{Pa();Le();pv=class{constructor(){this.data=new Map}add(r,e){Mp(Me(r)),Mp(ze(e)),Mp(!this.data.has(r),"There is already an extension with this id"),this.data.set(r,e)}knows(r){return this.data.has(r)}as(r){return this.data.get(r)||null}dispose(){this.data.forEach(r=>{Yc(r.dispose)&&r.dispose()}),this.data.clear()}},xt=new pv});function v1(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var mv,fv,rD,y1=w(()=>{J();g1();$();Yn();mv={JSONContribution:"base.contributions.json"};fv=class extends _{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new S);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new S);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,t,n){let o=v1(e);this.schemasById[o]=t,this._onDidChangeSchema.fire(e),n&&n.add(G(()=>{delete this.schemasById[o],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,t){let n=v1(e);return this.schemaAssociations[n]||(this.schemaAssociations[n]=[]),this.schemaAssociations[n].includes(t)||(this.schemaAssociations[n].push(t),this._onDidChangeSchemaAssociations.fire()),G(()=>{let o=this.schemaAssociations[n];if(o){let s=o.indexOf(t);s!==-1&&(o.splice(s,1),o.length===0&&delete this.schemaAssociations[n],this._onDidChangeSchemaAssociations.fire())}})}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}getSchemaContributions(){return{schemas:this.schemasById}}getSchemaContent(e){let t=this.schemasById[e];return t?h1(t):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},rD=new fv;xt.add(mv.JSONContribution,rD)});var dn,hv,gr,Na=w(()=>{$n();hv=globalThis.vscode;if(typeof hv<"u"&&typeof hv.context<"u"){let i=hv.context.configuration();if(i)dn=i.product;else throw new Error("Sandbox: unable to resolve product configuration from preload script.")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(dn=globalThis._VSCODE_PRODUCT_JSON,or.VSCODE_DEV&&Object.assign(dn,{nameShort:`${dn.nameShort} Dev`,nameLong:`${dn.nameLong} Dev`,dataFolderName:`${dn.dataFolderName}-dev`,serverDataFolderName:dn.serverDataFolderName?`${dn.serverDataFolderName}-dev`:void 0}),!dn.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(dn,{version:i.version})}}else dn={nameShort:"Code",nameLong:"Visual Studio Code",applicationName:"code",win32x64AppId:"{{EA457B21-F73E-494C-ACAB-524FDE069978}",win32arm64AppId:"{{A5270FC5-65AD-483E-AC30-2C276B63D0AC}",win32x64UserAppId:"{{771FD6B0-FA20-440A-A002-3B3BAC16DC50}",win32arm64UserAppId:"{{D9E514E7-1A56-452D-9337-2990C0DC4310}",win32NameVersion:"Microsoft Visual Studio Code",win32DirName:"Microsoft VS Code",win32SetupExeBasename:"VSCodeSetup",win32AppUserModelId:"Microsoft.VisualStudioCode",win32ShellNameShort:"Code",win32MutexName:"vscode",win32RegValueName:"VSCode",win32VersionedUpdate:!0,darwinCredits:"resources/darwin/Credits.rtf",darwinBundleIdentifier:"com.microsoft.VSCode",darwinProfileUUID:"EBAE60D6-C8A2-4419-92FF-24F8AD5077AB",darwinProfilePayloadUUID:"C6B5723A-6539-4F31-8A4E-3CC96E51F48C",darwinExecutable:"VSCode",linuxIconName:"vscode",licenseFileName:"LICENSE.rtf",licenseName:"Multiple, see https://code.visualstudio.com/license",serverGreeting:[],serverLicense:["*","* Visual Studio Code Server","*","* By using the software, you agree to","* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and","* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).","*"],serverLicensePrompt:"Do you accept the terms in the License Agreement (Y/n)?",serverApplicationName:"code-server",urlProtocol:"vscode",dataFolderName:".vscode",serverDataFolderName:".vscode-server",downloadUrl:"https://code.visualstudio.com",updateUrl:"https://update.code.visualstudio.com",webUrl:"https://vscode.dev",webEndpointUrl:"https://main.vscode-cdn.net",webEndpointUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}",nlsCoreBaseUrl:"https://www.vscode-unpkg.net/nls/",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/",quality:"stable",embedded:{nameShort:"Sessions",nameLong:"Visual Studio Code Sessions",applicationName:"sessions",telemetryAppName:"sessions",win32AppUserModelId:"Microsoft.VisualStudioCodeSessions",win32MutexName:"vscodesessions",win32RegValueName:"VSCodeSessions",win32NameVersion:"Microsoft Visual Studio Code Sessions",win32VersionedUpdate:!0,darwinBundleIdentifier:"com.microsoft.VSCodeSessions",dataFolderName:".vscode-sessions",urlProtocol:"vscode-sessions",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"],"vscode.github":["github.copilot-chat"]}},extensionsGallery:{nlsBaseUrl:"https://www.vscode-unpkg.net/_lp/",serviceUrl:"https://marketplace.visualstudio.com/_apis/public/gallery",itemUrl:"https://marketplace.visualstudio.com/items",publisherUrl:"https://marketplace.visualstudio.com/publishers",resourceUrlTemplate:"https://{publisher}.vscode-unpkg.net/{publisher}/{name}/{version}/{path}",extensionUrlTemplate:"https://www.vscode-unpkg.net/_gallery/{publisher}/{name}/latest",controlUrl:"https://main.vscode-cdn.net/extensions/marketplace.json",mcpUrl:"https://main.vscode-cdn.net/mcp/servers.json",accessSKUs:["copilot_enterprise_seat","copilot_enterprise_seat_quota","copilot_enterprise_seat_multi_quota","copilot_enterprise_seat_assignment","copilot_enterprise_seat_assignment_quota","copilot_enterprise_seat_assignment_multi_quota","copilot_enterprise_trial_seat","copilot_enterprise_trial_seat_quota","copilot_for_business_seat","copilot_for_business_seat_quota","copilot_for_business_seat_multi_quota","copilot_for_business_seat_assignment","copilot_for_business_seat_assignment_quota","copilot_for_business_seat_assignment_multi_quota","copilot_for_business_trial_seat","copilot_for_business_trial_seat_quota"]},mcpGallery:{serviceUrl:"https://api.mcp.github.com",itemWebUrl:"https://github.com/mcp/{name}",publisherUrl:"https://github.com/{name}",supportUrl:"https://support.github.com",privacyPolicyUrl:"https://docs.github.com/site-policy/privacy-policies/github-general-privacy-statement",termsOfServiceUrl:"https://docs.github.com/site-policy/github-terms/github-terms-of-service",reportUrl:"https://docs.github.com/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam"},extensionProperties:{"github.copilot-chat":{hasPrereleaseVersion:!1,excludeVersionRange:"<=0.16.1"},"github.copilot":{hasPrereleaseVersion:!0}},extensionsForceVersionByQuality:["github.copilot-chat","github.copilot"],profileTemplatesUrl:"https://main.vscode-cdn.net/core/profile-templates.json",emergencyAlertUrl:"https://main.vscode-cdn.net/core/stable.json",extensionPublisherOrgs:["microsoft"],trustedExtensionPublishers:["microsoft","github","openai"],extensionRecommendations:{"ms-dotnettools.csdevkit":{onFileOpen:[{pathGlob:"{**/*.cs,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln}",important:!0},{languages:["csharp"],important:!0},{pathGlob:"{**/project.json,**/appsettings.json}"}]},"ms-python.python":{onFileOpen:[{pathGlob:"{**/*.py}",important:!0},{languages:["python"],important:!0},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.jupyter":{onFileOpen:[{pathGlob:"{**/*.py}",contentPattern:"^#\\s*%%$",important:!0,whenInstalled:["ms-python.python"]},{pathGlob:"{**/*.ipynb}"}]},"ms-toolsai.datawrangler":{onFileOpen:[{pathGlob:"{**/*.ipynb}",contentPattern:"import\\s*pandas|from\\s*pandas",whenInstalled:["ms-toolsai.jupyter"]}]},"golang.Go":{onFileOpen:[{pathGlob:"**/*.go",important:!0},{languages:["go"],important:!0}]},"vscjava.vscode-java-pack":{onFileOpen:[{pathGlob:"{**/*.java}",important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},{languages:["java"],important:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}]},"ms-vscode.PowerShell":{onFileOpen:[{pathGlob:"{**/*.ps1,**/*.psd1,**/*.psm1}",important:!0},{languages:["powershell"],important:!0},{pathGlob:"{**/*.ps.config,**/*.ps1.config}"}]},"ms-toolsai.prompty":{onFileOpen:[{pathGlob:"{**/*.prompty}",important:!1}]},"quantum.qsharp-lang-vscode":{onFileOpen:[{pathGlob:"{**/*.qs,**/*.qsc,**/*.qasm}",important:!0}]},"typespec.typespec-vscode":{onFileOpen:[{pathGlob:"{**/*.tsp,**/tspconfig.yaml}",important:!0}]},"ms-vscode.cpptools-extension-pack":{onFileOpen:[{pathGlob:"{**/*.c,**/*.cpp,**/*.cc,**/.cxx,**/*.hh,**/*.hpp,**/*.hxx,**/*.h}",important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]},{languages:["c","cpp"],important:!0,whenNotInstalled:["llvm-vs-code-extensions.vscode-clangd"]}]},"ms-azuretools.vscode-containers":{onFileOpen:[{pathGlob:"{**/dockerfile,**/Dockerfile,**/docker-compose.yml,**/docker-compose.*.yml}",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{languages:["dockerfile"],important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},{pathGlob:"{**/*.cs,**/project.json,**/global.json,**/*.csproj,**/*.cshtml,**/*.sln,**/appsettings.json,**/*.py,**/*.ipynb,**/*.js,**/*.ts,**/package.json}",whenNotInstalled:["ms-azuretools.vscode-docker"]}]},"vue.volar":{onFileOpen:[{pathGlob:"{**/*.vue}",important:!0},{languages:["vue"],important:!0}]},"ms-vscode.makefile-tools":{onFileOpen:[{pathGlob:"{**/makefile,**/Makefile}",important:!0},{languages:["makefile"],important:!0}]},"ms-vscode.cmake-tools":{onFileOpen:[{pathGlob:"{**/CMakeLists.txt}",important:!0}]},"ms-azure-devops.azure-pipelines":{onFileOpen:[{pathGlob:"{**/azure-pipelines.yaml}",important:!0}]},"msazurermtools.azurerm-vscode-tools":{onFileOpen:[{pathGlob:"{**/azuredeploy.json}",important:!0}]},"ms-vscode-remote.remote-containers":{onFileOpen:[{pathGlob:"{**/devcontainer.json}",important:!0}]},"ms-azuretools.vscode-bicep":{onFileOpen:[{pathGlob:"{**/*.bicep}",important:!0,whenNotInstalled:["ms-azuretools.rad-vscode-bicep"]}]},"svelte.svelte-vscode":{onFileOpen:[{pathGlob:"{**/*.svelte}",important:!0}]},"ms-vscode.vscode-github-issue-notebooks":{onFileOpen:[{pathGlob:"{**/*.github-issues}",important:!0}]},"ms-playwright.playwright":{onFileOpen:[{pathGlob:"{**/*playwright*.config.ts,**/*playwright*.config.js,**/*playwright*.config.mjs}",important:!0}]},"vscjava.vscode-gradle":{onFileOpen:[{pathGlob:"{**/gradlew,**/gradlew.bat,**/build.gradle,**/build.gradle.kts,**/settings.gradle,**/settings.gradle.kts}",important:!0}]},"REditorSupport.r":{onFileOpen:[{pathGlob:"{**/*.r}",important:!0},{languages:["r"],important:!0}]},"firefox-devtools.vscode-firefox-debug":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.es6,**/.babelrc}"}]},"ms-edgedevtools.vscode-edge-devtools":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.css,**/*.html}"}]},"Ionide.Ionide-fsharp":{onFileOpen:[{pathGlob:"{**/*.fsx,**/*.fsi,**/*.fs,**/*.ml,**/*.mli}"}]},"dbaeumer.vscode-eslint":{onFileOpen:[{pathGlob:"{**/*.js,**/*.jsx,**/*.es6,**/.eslintrc.*,**/.eslintrc,**/.babelrc,**/jsconfig.json}"}]},"bmewburn.vscode-intelephense-client":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"xdebug.php-debug":{onFileOpen:[{pathGlob:"{**/*.php,**/php.ini}"}]},"rust-lang.rust-analyzer":{onFileOpen:[{pathGlob:"{**/*.rs,**/*.rslib}"}]},"DavidAnson.vscode-markdownlint":{onFileOpen:[{pathGlob:"{**/*.md}"}]},"EditorConfig.EditorConfig":{onFileOpen:[{pathGlob:"{**/.editorconfig}"}]},"HookyQR.beautify":{onFileOpen:[{pathGlob:"{**/.jsbeautifyrc}"}]},"donjayamanne.githistory":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"eamodio.gitlens":{onFileOpen:[{pathGlob:"{**/.gitignore,**/.git}"}]},"Shopify.ruby-lsp":{onFileOpen:[{pathGlob:"{**/*.rb,**/*.erb,**/*.reek,**/.fasterer.yml,**/ruby-lint.yml,**/.rubocop.yml}"}]},"swiftlang.swift-vscode":{onFileOpen:[{pathGlob:"{**/*.swift,**/*.swiftinterface}",important:!0}]},"DotJoshJohnson.xml":{onFileOpen:[{pathGlob:"{**/*.xml}"}]},"stylelint.vscode-stylelint":{onFileOpen:[{pathGlob:"{**/.stylelintrc,**/stylelint.config.js}"}]},"ms-mssql.mssql":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"mtxr.sqltools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"usqlextpublisher.usql-vscode-ext":{onFileOpen:[{pathGlob:"{**/*.usql}"}]},"ms-vscode.sublime-keybindings":{onFileOpen:[{pathGlob:"{**/.sublime-project,**/.sublime-workspace}"}]},"k--kato.intellij-idea-keybindings":{onFileOpen:[{pathGlob:"{**/.idea}"}]},"christian-kohler.npm-intellisense":{onFileOpen:[{pathGlob:"{**/package.json}"}]},"cake-build.cake-vscode":{onFileOpen:[{pathGlob:"{**/build.cake}"}]},"Angular.ng-template":{onFileOpen:[{pathGlob:"{**/.angular-cli.json,**/angular.json,**/*.ng.html,**/*.ng,**/*.ngml}"}]},"vscjava.vscode-maven":{onFileOpen:[{pathGlob:"**/pom.xml"}]},"ms-azuretools.vscode-azureterraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"HashiCorp.terraform":{onFileOpen:[{pathGlob:"**/*.tf"}]},"vsciot-vscode.vscode-arduino":{onFileOpen:[{pathGlob:"**/*.ino"}]},"ms-kubernetes-tools.vscode-kubernetes-tools":{onFileOpen:[{pathGlob:"{**/Chart.yaml}"}]},"Oracle.oracledevtools":{onFileOpen:[{pathGlob:"{**/*.sql}"}]},"betterthantomorrow.calva":{onFileOpen:[{pathGlob:"{**/*.clj,**/*.cljs}"}]},"vmware.vscode-boot-dev-pack":{onFileOpen:[{pathGlob:"{**/application.properties}"}]},"GitHub.copilot":{onFileOpen:[{pathGlob:"{**/*.ts,**/*.tsx,**/*.js,**/*.jsx,**/*.py,**/*.go,**/*.rb,**/*.html,**/*.css,**/*.php,**/*.cpp,**/*.vue,**/*.c,**/*.sql,**/*.java,**/*.cs,**/*.rs,**/*.dart,**/*.ps,**/*.ps1,**/*.tex}"}]},"GitHub.copilot-chat":{onSettingsEditorOpen:{descriptionOverride:"GitHub Copilot is an AI-powered coding assistant that helps you write code faster and smarter."}},"GitHub.vscode-github-actions":{onFileOpen:[{pathGlob:"{**/.github/workflows/*.yml}",important:!0}]},"circleci.circleci":{onFileOpen:[{pathGlob:"{**/.circleci/config.yml}"}]},"mechatroner.rainbow-csv":{onFileOpen:[{pathGlob:"**/*.csv",important:!0}]},"tomoki1207.pdf":{onFileOpen:[{pathGlob:"**/*.pdf",important:!0}]},"Redis.redis-for-vscode":{onFileOpen:[{pathGlob:"{**/redis.*,**/redis-server.*,**/redis_*,**/redisinsight.*}",important:!0}]},"SonarSource.sonarlint-vscode":{onFileOpen:[{pathGlob:"{**/sonar-project.properties,**/sonarcloud.properties,**/sonarlint.*}",important:!0}]}},keymapExtensionTips:["vscodevim.vim","ms-vscode.sublime-keybindings","ms-vscode.atom-keybindings","ms-vscode.brackets-keybindings","ms-vscode.vs-keybindings","ms-vscode.notepadplusplus-keybindings","k--kato.intellij-idea-keybindings","lfs.vscode-emacs-friendly","alphabotsec.vscode-eclipse-keybindings","alefragnani.delphi-keybindings"],languageExtensionTips:["ms-python.python","ms-vscode.cpptools-extension-pack","ms-dotnettools.csdevkit","ms-toolsai.jupyter","vscjava.vscode-java-pack","ecmel.vscode-html-css","vue.volar","bmewburn.vscode-intelephense-client","dsznajder.es7-react-js-snippets","golang.go","ms-vscode.powershell","dart-code.dart-code","rust-lang.rust-analyzer","Shopify.ruby-lsp","GitHub.copilot"],configBasedExtensionTips:{git:{configPath:".git/config",configName:"Git",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",contentPattern:"^\\s*url\\s*=\\s*https:\\/\\/github\\.com.*$"},"eamodio.gitlens":{name:"GitLens"}}},devContainer:{configPath:".devcontainer/devcontainer.json",configName:"Dev Container",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0}}},maven:{configPath:"pom.xml",configName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]},"vmware.vscode-boot-dev-pack":{name:"Spring Boot Extension Pack",isExtensionPack:!0}}},gradle:{configPath:"build.gradle",configName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},"github-pull-request":{configPath:".vscode/.github-pull-request.rec",configName:"GitHub",configScheme:"vscode-vfs",recommendations:{"github.vscode-pull-request-github":{name:"GitHub Pull Request",important:!0}}},"pyproject-formatter":{configPath:"pyproject.toml",configName:"Python Formatter",recommendations:{"ms-python.black-formatter":{name:"Black Formatter",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?black"?\\s*[\\].])|("black\\s*["[(<=>!~;@])'},"ms-python.autopep8":{name:"Autopep8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?autopep8"?\\s*[\\].])|("autopep8\\s*["[(<=>!~;@])'}}},"pep8-formatter":{configPath:".pep8",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8"}}},"python-setup-cgf-formatter":{configPath:"setup.cfg",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"tox-ini-formatter":{configPath:"tox.ini",configName:"Python Formatter",recommendations:{"ms-python.autopep8":{name:"Autopep8",contentPattern:"^\\[pep8\\]"}}},"pyproject-linter":{configPath:"pyproject.toml",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?pylint"?\\s*[\\].])|("pylint\\s*["[(<=>!~;@])'},"charliermarsh.ruff":{name:"Ruff",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?ruff"?\\s*[\\].])|("ruff\\s*["[(<=>!~;@])'},"ms-python.mypy-type-checker":{name:"Mypy Type Checker",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?mypy"?\\s*[\\].])|("mypy\\s*["[(<=>!~;@])'},"ms-python.flake8":{name:"Flake8",contentPattern:'(^\\s*\\[\\[?\\s*"?tool"?\\s*\\.\\s*"?flake8"?\\s*[\\].])|("flake8\\s*["[(<=>!~;@])'}}},".pylintrc-linter":{configPath:".pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"pylintrc-linter":{configPath:"pylintrc",configName:"Python Linter",recommendations:{"ms-python.pylint":{name:"Pylint"}}},"mypy-ini-linter":{configPath:".mypy.ini",configName:"Python Linter",recommendations:{"ms-python.mypy-type-checker":{name:"Mypy Type Checker"}}},"tox-ini-linter":{configPath:"tox.ini",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}},".flake8-linter":{configPath:".flake8",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8"}}},"python-setup-cgf-linter":{configPath:"setup.cfg",configName:"Python Linter",recommendations:{"ms-python.flake8":{name:"Flake8",contentPattern:"^\\[flake8\\]"}}}},exeBasedExtensionTips:{az:{friendlyName:"Azure CLI",windowsPath:"%ProgramFiles(x86)%\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},azd:{friendlyName:"Azure Dev CLI",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azd-user":{friendlyName:"Azure Dev CLI",windowsPath:"%ProgramFiles%\\Azure Dev CLI\\azd.exe",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"},"ms-azuretools.vscode-azure-github-copilot":{name:"GitHub Copilot for Azure"}}},"azure-powershell":{friendlyName:"Azure PowerShell",windowsPath:"%USERPROFILE%\\.Azure",recommendations:{"ms-vscode.vscode-node-azure-pack":{name:"Azure Tools"}}},heroku:{friendlyName:"Heroku CLI",windowsPath:"%ProgramFiles%\\Heroku\\bin\\heroku.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"pkosta2005.heroku-command":{name:"heroku-cli"}}},mongo:{friendlyName:"Mongo",windowsPath:"%ProgramFiles%\\MongoDB\\Server\\3.6\\bin\\mongod.exe",recommendations:{"ms-azuretools.vscode-cosmosdb":{name:"Azure Databases"}}},serverless:{friendlyName:"Serverless framework",windowsPath:"%APPDATA%\\npm\\serverless.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},func:{friendlyName:"Azure Function SDK",windowsPath:"%APPDATA%\\npm\\func.cmd",recommendations:{"ms-azuretools.vscode-azurefunctions":{name:"Azure Functions"}}},mysql:{friendlyName:"MySQL",windowsPath:"%ProgramFiles%\\MySQL\\MySQL Server 8.0\\bin\\mysqld.exe",recommendations:{"mtxr.sqltools":{name:"SQLTools"}}},postgres:{friendlyName:"PostgreSQL",windowsPath:"%ProgramFiles%\\PostgreSQL\\11\\bin\\psql.exe",recommendations:{"ms-ossdata.vscode-postgresql":{name:"PostgreSQL"},"mtxr.sqltools":{name:"SQLTools"}}},sqlcmd:{friendlyName:"SQL CLI",recommendations:{"ms-mssql.mssql":{name:"SQL Server (mssql)"}}},now:{friendlyName:"Now CLI",windowsPath:"%APPDATA%\\npm\\now.cmd",recommendations:{"ms-azuretools.vscode-azureappservice":{name:"Azure App Service"},"ms-azuretools.vscode-containers":{name:"Docker"}}},docker:{friendlyName:"Docker",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\docker.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker",important:!0,whenNotInstalled:["ms-azuretools.vscode-docker"]},"ms-vscode-remote.remote-containers":{name:"Dev Containers",important:!0},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},kubectl:{friendlyName:"Kubernetes",windowsPath:"%ProgramFiles%\\Docker\\Docker\\Resources\\bin\\kubectl.exe",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},ng:{friendlyName:"Angular CLI",windowsPath:"%APPDATA%\\npmexit\\ng.cmd",recommendations:{"johnpapa.Angular2":{name:"Angular Snippets"}}},"create-react-app":{friendlyName:"Create React App",windowsPath:"%APPDATA%\\npm\\create-react-app.cmd",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},"react-native":{friendlyName:"React Native",windowsPath:"%APPDATA%\\npm\\react-native-cli",recommendations:{"msjsdiag.vscode-react-native":{name:"React Native Tools"}}},p4:{friendlyName:"Perforce",recommendations:{"slevesque.perforce":{name:"Perforce for VS Code"}}},hg:{friendlyName:"Mercurial",recommendations:{"mrcrowl.hg":{name:"Hg"}}},git:{friendlyName:"Git",windowsPath:"%ProgramFiles%\\Git\\git-bash.exe",recommendations:{"eamodio.gitlens":{name:"GitLens"}}},svn:{friendlyName:"Subversion",windowsPath:"%ProgramFiles%\\TortoiseSVN\\bin\\TortoiseProc.exe",recommendations:{"johnstoncode.svn-scm":{name:"SVN"}}},subl:{friendlyName:"Sublime",windowsPath:"%ProgramFiles%\\Sublime Text3\\sublime_text.exe",recommendations:{"ms-vscode.sublime-keybindings":{name:"Sublime Text Keymap and Settings Importer"}}},atom:{friendlyName:"Atom",windowsPath:"%USERPROFILE%\\AppData\\Local\\atom\\bin\\atom.cmd",recommendations:{"ms-vscode.atom-keybindings":{name:"Atom Keymap"}}},brackets:{friendlyName:"Brackets",windowsPath:"%ProgramFiles(x86)%\\Brackets\\Brackets.exe",recommendations:{"ms-vscode.brackets-keybindings":{name:"Brackets Keymap"}}},notepadplusplus:{friendlyName:"Notepad++",windowsPath:"%ProgramFiles%\\Notepad++\\Notepad++.exe",recommendations:{"ms-vscode.notepadplusplus-keybindings":{name:"Notepad++ keymap"}}},vi:{friendlyName:"VIM",windowsPath:"%ProgramFiles(x86)%\\Vim\\vim80\\gvim.exe",recommendations:{"vscodevim.vim":{name:"Vim"}}},mvn:{friendlyName:"Maven",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},gradle:{friendlyName:"Gradle",recommendations:{"vscjava.vscode-java-pack":{name:"Java",important:!0,isExtensionPack:!0,whenNotInstalled:["ASF.apache-netbeans-java","Oracle.oracle-java"]}}},ollama:{friendlyName:"Ollama",windowsPath:"%USERPROFILE%\\AppData\\Local\\Programs\\Ollama\\ollama.exe",recommendations:{"ms-windows-ai-studio.windows-ai-studio":{name:"AI Toolkit for Visual Studio Code"}}},"Microsoft Edge":{friendlyName:"Microsoft Edge",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Dev":{friendlyName:"Microsoft Edge Dev",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Dev\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Beta":{friendlyName:"Microsoft Edge Beta",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge Beta\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Microsoft Edge Canary":{friendlyName:"Microsoft Edge Canary",windowsPath:"%USERPROFILE%\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\msedge.exe",recommendations:{"ms-edgedevtools.vscode-edge-devtools":{name:"Microsoft Edge Developer Tools"}}},"Mozilla Firefox (x86)":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles(x86)%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition (x86)":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles(x86)%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox":{friendlyName:"Mozilla Firefox",windowsPath:"%ProgramFiles%\\Mozilla Firefox\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},"Mozilla Firefox Developer Edition":{friendlyName:"Mozilla Firefox Developer Edition",windowsPath:"%ProgramFiles%\\Firefox Developer Edition\\firefox.exe",recommendations:{"firefox-devtools.vscode-firefox-debug":{name:"Debugger for Firefox"}}},cordova:{friendlyName:"Cordova",windowsPath:"%APPDATA%\\npm\\cordova",recommendations:{"msjsdiag.cordova-tools":{name:"Cordova Tools"}}},gcloud:{friendlyName:"Google GCloud CLI",windowsPath:"%ProgramFiles(x86)%\\Google\\Cloud SDK\\google-cloud-sdk\\bin\\gcloud.cmd",recommendations:{"GoogleCloudTools.cloudcode":{name:"Cloud Code"}}},skaffold:{friendlyName:"Skaffold Code to Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"}}},minikube:{friendlyName:"MiniKube Local Kubernetes Cluster",recommendations:{"ms-azuretools.vscode-containers":{name:"Docker"},"ms-kubernetes-tools.vscode-kubernetes-tools":{name:"Kubernetes"},"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},podman:{friendlyName:"Podman",recommendations:{"ms-vscode-remote.remote-containers":{name:"Dev Containers"}}},wsl:{friendlyName:"Windows Subsystem for Linux (WSL)",windowsPath:"%WINDIR%\\system32\\lxss\\LxssManager.dll",recommendations:{"ms-vscode-remote.remote-wsl":{name:"WSL"}}}},webExtensionTips:["tyriar.luna-paint","codespaces-contrib.codeswing","ms-vscode.vscode-github-issue-notebooks","esbenp.prettier-vscode","hediet.vscode-drawio"],virtualWorkspaceExtensionTips:{"vscode-vfs":{friendlyName:"Remote Repositories",extensionId:"ms-vscode.remote-repositories",startEntry:{helpLink:"https://aka.ms/vscode-remote/remote-repositories",startConnectLabel:"Remote Repository",startCommand:"remoteHub.continueOn.openRepository",priority:5}}},remoteExtensionTips:{wsl:{friendlyName:"WSL",extensionId:"ms-vscode-remote.remote-wsl",supportedPlatforms:["Windows","Web"],startEntry:{helpLink:"https://aka.ms/vscode-remote/wsl",startConnectLabel:"WSL",startCommand:"remote-wsl.connect",priority:3}},"ssh-remote":{friendlyName:"Remote - SSH",extensionId:"ms-vscode-remote.remote-ssh",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/ssh",startConnectLabel:"SSH ",startCommand:"opensshremotes.openEmptyWindowInCurrentWindow",priority:1}},"dev-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers",supportedPlatforms:["Windows","Linux","Mac"],startEntry:{helpLink:"https://aka.ms/vscode-remote/containers",startConnectLabel:"Dev Container",startCommand:"remote-containers.reopenInContainer",priority:2}},"attached-container":{friendlyName:"Dev Containers",extensionId:"ms-vscode-remote.remote-containers"},codespaces:{friendlyName:"GitHub Codespaces",extensionId:"github.codespaces",startEntry:{helpLink:"https://aka.ms/vscode-remote-codespaces",startConnectLabel:"GitHub Codespace ",startCommand:"github.codespaces.connect",priority:4}},tunnel:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server",startEntry:{helpLink:"https://aka.ms/remote-tunnels-doc",startConnectLabel:"Tunnel",startCommand:"remote-tunnels.connectCurrentWindowToTunnel",priority:0}},amlext:{friendlyName:"Azure Machine Learning",extensionId:"ms-toolsai.vscode-ai-remote"}},commandPaletteSuggestedCommandIds:["workbench.action.files.openFile","workbench.action.files.openFileFolder","workbench.action.files.openFolder","workbench.action.remote.showMenu","editor.action.formatDocument","editor.action.commentLine","workbench.action.tasks.runTask","workbench.action.openSettings2","workbench.action.selectTheme","workbench.action.openWalkthrough","workbench.action.openIssueReporter"],extensionKeywords:{md:["Markdown"],js:["JavaScript"],jsx:["JavaScript"],es6:["JavaScript"],html:["Html"],ts:["TypeScript"],tsx:["TypeScript"],css:["CSS"],scss:["SASS"],txt:["Text"],php:["PHP"],php3:["PHP"],php4:["PHP"],ph3:["PHP"],ph4:["PHP"],xml:["XML"],py:["Python"],pyc:["Python"],pyd:["Python"],pyo:["Python"],pyw:["Python"],pyz:["Python"],java:["Java"],class:["Java"],jar:["Java"],c:["c","objective c","objective-c"],m:["objective c","objective-c"],mm:["objective c","objective-c"],cpp:["cpp","c plus plus","c","c++"],cc:["cpp","c plus plus","c","c++"],cxx:["cpp","c plus plus","c++"],hh:["cpp","c plus plus","c++"],hpp:["cpp","c++"],h:["cpp","c plus plus","c++","c","objective c","objective-c"],sql:["sql"],sh:["bash"],bash:["bash"],zsh:["bash","zshell"],cs:["c#","csharp"],csproj:["c#","csharp"],sln:["c#","csharp"],go:["go"],sty:["latex"],tex:["latex"],ps:["powershell"],ps1:["powershell"],rs:["rust"],rslib:["rust"],hs:["haskell"],lhs:["haskell"],scm:["scheme"],ss:["scheme"],clj:["clojure"],cljs:["clojure"],cljc:["clojure"],edn:["clojure"],erl:["erlang"],hrl:["erlang"],scala:["scala"],sc:["scala"],pl:["perl"],pm:["perl"],t:["perl"],pod:["perl"],groovy:["groovy"],swift:["swift"],rb:["ruby"],rbw:["ruby"],jl:["julia"],f:["fortran"],for:["fortran"],f90:["fortran"],f95:["fortran"],coffee:["CoffeeScript"],litcoffee:["CoffeeScript"],yaml:["yaml"],yml:["yaml"],dart:["dart"],json:["json"]},extensionAllowedBadgeProviders:["api.travis-ci.com","app.fossa.io","badge.buildkite.com","badge.fury.io","badgen.net","badges.frapsoft.com","badges.gitter.im","cdn.travis-ci.com","ci.appveyor.com","circleci.com","cla.opensource.microsoft.com","codacy.com","codeclimate.com","codecov.io","coveralls.io","david-dm.org","deepscan.io","dev.azure.com","docs.rs","flat.badgen.net","gitlab.com","godoc.org","goreportcard.com","img.shields.io","isitmaintained.com","marketplace.visualstudio.com","nodesecurity.io","opencollective.com","snyk.io","travis-ci.com","travis-ci.org","visualstudio.com","vsmarketplacebadge.apphb.com"],extensionAllowedBadgeProvidersRegex:["^https:\\/\\/github\\.com\\/[^/]+\\/[^/]+\\/(actions\\/)?workflows\\/.*badge\\.svg"],crashReporter:{productName:"VSCode",companyName:"Microsoft"},appCenter:{"win32-x64":"appcenter://code?aid=a4e3233c-699c-46ec-b4f4-9c2a77254662","win32-arm64":"appcenter://code?aid=3712d786-7cc8-4f11-8b08-cc12eab6d4f7","linux-x64":"appcenter://code?aid=fba07a4d-84bd-4fc8-a125-9640fc8ce171",darwin:"appcenter://code?aid=860d6632-f65b-490b-85a8-3e72944f7774","darwin-arm64":"appcenter://code?aid=be71415d-3893-4ae5-b453-e537b9668a10","darwin-universal":"appcenter://code?aid=de75e3cc-e22f-4f42-a03f-1409c21d8af8"},enableTelemetry:!0,aiConfig:{ariaKey:"5bbf946d11a54f6783919c455abaddaf-fd62977b-c92d-4714-a45d-649d06980372-7168"},msftInternalDomains:["redmond.corp.microsoft.com","northamerica.corp.microsoft.com","fareast.corp.microsoft.com","ntdev.corp.microsoft.com","wingroup.corp.microsoft.com","southpacific.corp.microsoft.com","wingroup.windeploy.ntdev.microsoft.com","ddnet.microsoft.com","europe.corp.microsoft.com"],documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",serverDocumentationUrl:"https://aka.ms/vscode-server-doc",releaseNotesUrl:"https://go.microsoft.com/fwlink/?LinkID=533483#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",youTubeUrl:"https://aka.ms/vscode-youtube",requestFeatureUrl:"https://go.microsoft.com/fwlink/?LinkID=533482",reportIssueUrl:"https://github.com/Microsoft/vscode/issues/new",reportMarketplaceIssueUrl:"https://github.com/microsoft/vsmarketplace/issues/new",licenseUrl:"https://go.microsoft.com/fwlink/?LinkID=533485",serverLicenseUrl:"https://aka.ms/vscode-server-license",privacyStatementUrl:"https://go.microsoft.com/fwlink/?LinkId=521839",showTelemetryOptOut:!0,npsSurveyUrl:"https://aka.ms/vscode-nps",checksumFailMoreInfoUrl:"https://go.microsoft.com/fwlink/?LinkId=828886",electronRepository:"Microsoft/vscode-electron-prebuilt",nodejsRepository:"Microsoft/vscode-node",settingsSearchUrl:"https://bingsettingssearch.trafficmanager.net/api/Search",surveys:[{surveyId:"cpp.1",surveyUrl:"https://www.research.net/r/VBVV6C6",languageId:"cpp",editCount:10,userProbability:.15},{surveyId:"java.2",surveyUrl:"https://www.research.net/r/vscodejava",languageId:"java",editCount:10,userProbability:.3},{surveyId:"javascript.1",surveyUrl:"https://www.research.net/r/vscode-js",languageId:"javascript",editCount:10,userProbability:.05},{surveyId:"typescript.1",surveyUrl:"https://www.research.net/r/vscode-ts",languageId:"typescript",editCount:10,userProbability:.05},{surveyId:"csharp.1",surveyUrl:"https://www.research.net/r/8KGJ9V8",languageId:"csharp",editCount:10,userProbability:.1}],extensionsEnabledWithApiProposalVersion:["GitHub.copilot-chat","ms-vscode.vscode-commander","ms-vscode.vscode-copilot-vision","GitHub.vscode-pull-request-github"],extensionEnabledApiProposals:{"mrleemurray.theme-2026":["css"],"ms-azuretools.vscode-containers":["authenticationChallenges"],"ms-azuretools.vscode-azureresourcegroups":["authenticationChallenges"],"ms-azuretools.vscode-azure-github-copilot":["authenticationChallenges"],"ms-azuretools.vscode-dev-azurecloudshell":["contribEditSessions","authenticationChallenges"],"ms-toolsai.vscode-ai":["authenticationChallenges"],"TeamsDevApp.vscode-ai-foundry":["authenticationChallenges"],"ms-vscode.vscode-selfhost-test-provider":["testObserver","testRelatedCode"],"VisualStudioExptTeam.vscodeintellicode-completions":["inlineCompletionsAdditions"],"ms-vsliveshare.vsliveshare":["contribMenuBarHome","contribShareMenu","contribStatusBarItems","diffCommand","documentFiltersExclusive","fileSearchProvider","findTextInFiles","notebookLiveShare","terminalDimensions","terminalDataWriteEvent","textSearchProvider"],"ms-vscode.js-debug":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-toolsai.vscode-ai-remote":["resolvers","authenticationChallenges"],"ms-python.python":["codeActionAI","contribEditorContentMenu","quickPickSortByLabel","portsAttributes","testObserver","quickPickItemTooltip","terminalDataWriteEvent","terminalExecuteCommandEvent","notebookReplDocument","notebookVariableProvider","terminalShellEnv"],"ms-python.vscode-python-envs":["terminalShellEnv","terminalDataWriteEvent","taskExecutionTerminal"],"ms-dotnettools.dotnet-interactive-vscode":["notebookMessaging"],"GitHub.codespaces":["contribEditSessions","contribMenuBarHome","contribRemoteHelp","contribViewsRemote","resolvers","tunnels","terminalDataWriteEvent","treeViewReveal","notebookKernelSource"],"ms-vscode.azure-repos":["extensionRuntime","fileSearchProvider","textSearchProvider"],"ms-vscode.remote-repositories":["canonicalUriProvider","contribEditSessions","contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","contribShareMenu","documentFiltersExclusive","editSessionIdentityProvider","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","shareProvider","scmActionButton","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-vscode-remote.remote-wsl":["resolvers","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode-remote.remote-ssh":["resolvers","tunnels","terminalDataWriteEvent","contribRemoteHelp","contribViewsRemote","telemetry"],"ms-vscode.remote-server":["resolvers","tunnels","contribViewsWelcome"],"ms-vscode.remote-explorer":["contribRemoteHelp","contribViewsRemote","extensionsAny"],"ms-vscode-remote.remote-containers":["contribEditSessions","resolvers","portsAttributes","tunnels","workspaceTrust","terminalDimensions","contribRemoteHelp","contribViewsRemote"],"ms-vscode.js-debug-nightly":["portsAttributes","findTextInFiles","workspaceTrust","tunnels","browser"],"ms-vscode.lsif-browser":["documentFiltersExclusive"],"ms-vscode.vscode-speech":["speech"],"GitHub.vscode-pull-request-github":["activeComment","chatContextProvider","chatParticipantAdditions","chatParticipantPrivate","chatSessionsProvider","codiconDecoration","codeActionRanges","commentingRangeHint","commentReactor","commentReveal","commentsDraftState","commentThreadApplicability","contribAccessibilityHelpContent","contribCommentEditorActionsMenu","contribCommentPeekContext","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribEditorContentMenu","contribMultiDiffEditorMenus","contribShareMenu","diffCommand","languageModelToolResultAudience","markdownAlertSyntax","quickDiffProvider","remoteCodingAgents","shareProvider","tabInputMultiDiff","tabInputTextMerge","tokenInformation","treeItemMarkdownLabel","treeViewMarkdownMessage"],"GitHub.copilot":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-nightly":["inlineCompletionsAdditions","devDeviceId"],"GitHub.copilot-chat":["agentSessionsWorkspace","interactive","terminalDataWriteEvent","terminalExecuteCommandEvent","terminalSelection","terminalQuickFixProvider","chatParticipantAdditions","defaultChatParticipant","embeddings","chatProvider","mappedEditsProvider","aiRelatedInformation","aiSettingsSearch","codeActionAI","findTextInFiles","findTextInFiles2","textSearchProvider","textSearchProvider2","activeComment","commentReveal","contribSourceControlInputBoxMenu","contribCommentEditorActionsMenu","contribCommentThreadAdditionalMenu","contribCommentsViewThreadMenus","contribChatEditorInlineGutterMenu","extensionAffinity","newSymbolNamesProvider","findFiles2","chatReferenceDiagnostic","extensionsAny","authLearnMore","testObserver","aiTextSearchProvider","documentFiltersExclusive","chatParticipantPrivate","contribDebugCreateConfiguration","inlineCompletionsAdditions","chatReferenceBinaryData","languageModelSystem","languageModelCapabilities","languageModelThinkingPart","languageModelToolSupportsModel","chatStatusItem","taskProblemMatcherStatus","contribLanguageModelToolSets","textDocumentChangeReason","resolvers","taskExecutionTerminal","dataChannels","chatSessionsProvider","chatSessionCustomizationProvider","devDeviceId","contribEditorContentMenu","tokenInformation","toolInvocationApproveCombination","chatPromptFiles","mcpServerDefinitions","tabInputMultiDiff","workspaceTrust","chatHooks","chatDebug","environmentPower","terminalTitle"],"GitHub.remotehub":["contribRemoteHelp","contribMenuBarHome","contribViewsRemote","contribViewsWelcome","documentFiltersExclusive","extensionRuntime","fileSearchProvider","quickPickSortByLabel","workspaceTrust","scmSelectedProvider","scmValidation","textSearchProvider","timeline"],"ms-python.vscode-pylance":["terminalShellEnv","portsAttributes","codeActionAI"],"ms-python.debugpy":["contribViewsWelcome","debugVisualization","portsAttributes"],"ms-toolsai.jupyter-renderers":["contribNotebookStaticPreloads"],"ms-toolsai.jupyter":["notebookDeprecated","notebookMessaging","notebookMime","portsAttributes","quickPickSortByLabel","notebookKernelSource","interactiveWindow","notebookControllerAffinityHidden","contribNotebookStaticPreloads","quickPickItemTooltip","notebookExecution","notebookCellExecution","notebookVariableProvider","notebookReplDocument"],"donjayamanne.kusto":["notebookVariableProvider"],"ms-toolsai.tensorboard":["portsAttributes"],"dbaeumer.vscode-eslint":[],"ms-vscode.azure-sphere-tools-ui":["tunnels"],"ms-azuretools.vscode-azureappservice":["terminalDataWriteEvent"],"ms-vscode.anycode":["extensionsAny"],"ms-vscode.cpptools":["terminalDataWriteEvent","chatParticipantAdditions"],"vscjava.vscode-java-pack":[],"ms-dotnettools.csdevkit":["inlineCompletionsAdditions"],"ms-dotnettools.vscodeintellicode-csharp":["inlineCompletionsAdditions"],"ms-dotnettools.vscode-dotnet-modernize":["chatParticipantAdditions","chatPromptFiles"],"microsoft-IsvExpTools.powerplatform-vscode":["fileSearchProvider","textSearchProvider"],"microsoft-IsvExpTools.powerplatform-vscode-preview":["fileSearchProvider","textSearchProvider"],"TeamsDevApp.ms-teams-vscode-extension":["chatParticipantAdditions","languageModelSystem","mcpServerDefinitions"],"ms-toolsai.datawrangler":[],"ms-vscode.vscode-commander":[],"ms-vscode.vscode-websearchforcopilot":[],"ms-vscode.vscode-copilot-vision":["chatReferenceBinaryData","codeActionAI"],"ms-autodev.vscode-autodev":["chatParticipantAdditions"],"vscjava.migrate-java-to-azure":["chatParticipantAdditions","chatParticipantPrivate"],"vscjava.vscode-java-upgrade":["chatParticipantAdditions","chatParticipantPrivate"],"FoundryLocal.foundry-local-chat":["chatProvider"],"Microsoft.foundry-local-chat":["chatProvider"],"ms-wmcp.windows-mcp-server-extension":["mcpToolDefinitions"],"openai.chatgpt":["languageModelProxy","chatSessionsProvider"],"TypeScriptTeam.native-preview":["editorHoverVerbosityLevel","multiDocumentHighlightProvider"],"ms-vscode.vscode-eng-codereview":["chatContextProvider"]},tasConfig:{endpoint:"https://default.exp-tas.com/vscode/ab",telemetryEventName:"query-expfeature",assignmentContextTelemetryPropertyName:"abexp.assignmentcontext"},extensionKind:{"Shan.code-settings-sync":["ui"],"shalldie.background":["ui"],"techer.open-in-browser":["ui"],"CoenraadS.bracket-pair-colorizer-2":["ui"],"CoenraadS.bracket-pair-colorizer":["ui","workspace"],"hiro-sun.vscode-emacs":["ui","workspace"],"hnw.vscode-auto-open-markdown-preview":["ui","workspace"],"wayou.vscode-todo-highlight":["ui","workspace"],"aaron-bond.better-comments":["ui","workspace"],"vscodevim.vim":["ui"],"ollyhayes.colmak-vim":["ui"]},extensionPointExtensionKind:{typescriptServerPlugins:["workspace"]},extensionSyncedKeys:{"ritwickdey.liveserver":["liveServer.setup.version"]},extensionVirtualWorkspacesSupport:{"esbenp.prettier-vscode":{default:!1},"msjsdiag.debugger-for-chrome":{default:!1},"redhat.java":{default:!1},"HookyQR.beautify":{default:!1},"ritwickdey.LiveServer":{default:!1},"VisualStudioExptTeam.vscodeintellicode":{default:!1},"octref.vetur":{default:!1},"formulahendry.code-runner":{default:!1},"xdebug.php-debug":{default:!1},"ms-mssql.mssql":{default:!1},"christian-kohler.path-intellisense":{default:!1},"eg2.tslint":{default:!1},"eg2.vscode-npm-script":{default:!1},"donjayamanne.githistory":{default:!1},"Zignd.html-css-class-completion":{default:!1},"christian-kohler.npm-intellisense":{default:!1},"EditorConfig.EditorConfig":{default:!1},"austin.code-gnu-global":{default:!1},"johnpapa.Angular2":{default:!1},"ms-vscode.vscode-typescript-tslint-plugin":{default:!1},"DotJoshJohnson.xml":{default:!1},"techer.open-in-browser":{default:!1},"tht13.python":{default:!1},"bmewburn.vscode-intelephense-client":{default:!1},"Angular.ng-template":{default:!1},"xdebug.php-pack":{default:!1},"dbaeumer.jshint":{default:!1},"yzhang.markdown-all-in-one":{default:!1},"Dart-Code.flutter":{default:!1},"streetsidesoftware.code-spell-checker":{default:!1},"rebornix.Ruby":{default:!1},"ms-vscode.sublime-keybindings":{default:!1},"mitaki28.vscode-clang":{default:!1},"steoates.autoimport":{default:!1},"donjayamanne.python-extension-pack":{default:!1},"shd101wyy.markdown-preview-enhanced":{default:!1},"mikestead.dotenv":{default:!1},"pranaygp.vscode-css-peek":{default:!1},"ikappas.phpcs":{default:!1},"platformio.platformio-ide":{default:!1},"jchannon.csharpextensions":{default:!1},"gruntfuggly.todo-tree":{default:!1}},linkProtectionTrustedDomains:["https://*.visualstudio.com","https://*.microsoft.com","https://aka.ms","https://*.gallerycdn.vsassets.io","https://*.github.com","https://login.microsoftonline.com","https://*.vscode.dev","https://*.github.dev","https://gh.io","https://portal.azure.com","https://raw.githubusercontent.com","https://private-user-images.githubusercontent.com","https://avatars.githubusercontent.com","https://auth.openai.com"],trustedExtensionAuthAccess:{github:["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],"github-enterprise":["vscode.github","github.remotehub","ms-vscode.remote-server","github.vscode-pull-request-github","github.codespaces","github.copilot","github.copilot-chat","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot"],microsoft:["github.copilot-chat","ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"microsoft-sovereign-cloud":["ms-vscode.azure-repos","ms-vscode.remote-server","ms-vsliveshare.vsliveshare","ms-azuretools.vscode-azure-github-copilot","ms-azuretools.vscode-azureresourcegroups","ms-azuretools.vscode-dev-azurecloudshell","ms-edu.vscode-learning","ms-toolsai.vscode-ai","ms-toolsai.vscode-ai-remote"],"__GitHub.copilot-chat":["ms-azuretools.vscode-azure-github-copilot","github.vscode-pull-request-github"]},trustedExtensionProtocolHandlers:["vscode.git","vscode.github-authentication","vscode.microsoft-authentication","github.vscode-pull-request-github"],authClientIdMetadataUrl:"https://vscode.dev/oauth/client-metadata.json",inheritAuthAccountPreference:{"github.copilot":["github.copilot-chat"]},auth:{loginUrl:"https://login.microsoftonline.com/common/oauth2/authorize",tokenUrl:"https://login.microsoftonline.com/common/oauth2/token",redirectUrl:"https://vscode-redirect.azurewebsites.net/",clientId:"aebc6443-996d-45c2-90f0-388ff96faa56"},"configurationSync.store":{url:"https://vscode-sync.trafficmanager.net/",stableUrl:"https://vscode-sync.trafficmanager.net/",insidersUrl:"https://vscode-sync-insiders.trafficmanager.net/",canSwitch:!1,authenticationProviders:{github:{scopes:["user:email"]},microsoft:{scopes:["openid","profile","email","offline_access"]}}},"editSessions.store":{url:"https://vscode-sync.trafficmanager.net/",authenticationProviders:{microsoft:{scopes:["openid","profile","email","offline_access"]},github:{scopes:["user:email"]}}},tunnelServerQualities:{stable:{serverApplicationName:"code-server"},exploration:{serverApplicationName:"code-server-exploration"},insider:{serverApplicationName:"code-server-insiders"}},tunnelApplicationName:"code-tunnel",tunnelApplicationConfig:{editorWebUrl:"https://vscode.dev",extension:{friendlyName:"Remote - Tunnels",extensionId:"ms-vscode.remote-server"},authenticationProviders:{github:{scopes:["user:email","read:org"]},microsoft:{scopes:["46da2f7e-b5ef-422a-88d4-2a7f9de6a0b2/.default","profile","openid"]}}},win32TunnelServiceMutex:"vscode-tunnelservice",win32TunnelMutex:"vscode-tunnel",aiGeneratedWorkspaceTrust:{title:"This workspace was generated by GitHub Copilot",checkboxText:"Trust the contents of all files in this workspace",trustOption:"Yes, I trust the contents",dontTrustOption:"No, I don't trust the contents",startupTrustRequestLearnMore:"If you don't trust the contents of the files generated by GitHub Copilot, we recommend continuing in restricted mode. See [our docs](https://aka.ms/vscode-workspace-trust) to learn more. "},defaultChatAgent:{providerExtensionId:"vscode.github-authentication",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",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",manageSettingsUrl:"https://aka.ms/github-copilot-settings",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",manageOverageUrl:"https://aka.ms/github-copilot-manage-overage",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.com"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},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",completionsRefreshTokenCommand:"github.copilot.signIn",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"},chatParticipantRegistry:"https://main.vscode-cdn.net/extensions/chat.json",remoteDefaultExtensionsIfInstalledLocally:["GitHub.copilot","GitHub.copilot-chat","GitHub.vscode-pull-request-github"],extensionConfigurationPolicy:{"github.copilot.nextEditSuggestions.enabled":{name:"CopilotNextEditSuggestions",minimumVersion:"1.99"},"github.copilot.chat.reviewSelection.enabled":{name:"CopilotReviewSelection",minimumVersion:"1.104"},"github.copilot.chat.reviewAgent.enabled":{name:"CopilotReviewAgent",minimumVersion:"1.104"},"github.copilot.chat.claudeAgent.enabled":{name:"Claude3PIntegration",minimumVersion:"1.113"}},win32ContextMenu:{x64:{clsid:"1C6DF0C0-192A-4451-BE36-6A59A86A692E"},arm64:{clsid:"F5EA5883-1DA8-4A05-864A-D5DE2D2B2854"}},chatSessionRecommendations:[{extensionId:"openai.chatgpt",extensionName:"Codex - OpenAI's coding agent",displayName:"Codex Agent",name:"codex",description:"Codex is OpenAI's coding agent that helps you write, review, and ship code faster.",postInstallCommand:"chatgpt.newCodexPanel"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Background Agent",name:"cli",description:"Delegate tasks to a background agent.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilotcli"},{extensionId:"GitHub.copilot-chat",extensionName:"GitHub Copilot Chat",displayName:"Cloud Agent",name:"cloud",description:"Delegate tasks to the GitHub Copilot Cloud Agent. The agent works asynchronously in the cloud to implement changes, iterates via chat, and can create or update pull requests as needed.",postInstallCommand:"workbench.action.chat.openNewSessionSidebar.copilot-cloud-agent"}],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.112.0",sha256:"c24322931434940938f8cf76ebc3dac1e95a5539b9625b165b6672d7f7eafea8",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.10",sha256:"7361748ddf9fd09d8a2ed1f2a2d7376a2cf9aae708692820b799708385c38e08",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"}}],version:"1.114.0",commit:"e7fb5e96c0730b9deb70b33781f98e2f35975036",date:"2026-04-01T09:27:11Z"},Object.keys(dn).length===0&&Object.assign(dn,{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:[]}});gr=dn});function nD(i,r){return i===r?!0:!i||!r?!1:typeof i=="string"||typeof r=="string"?i===r:i.id===r.id}function Ba(i){let r=[];if(wi.test(i)){let e=w1.exec(i);for(;e?.length;){let t=e[1].trim();t&&r.push(t),e=w1.exec(i)}}return Lr(r)}function b1(i){return i.reduce((r,e)=>`${r}[${e}]`,"")}function iD(i){switch(Array.isArray(i)?i[0]:i){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}function oD(i,r,e){return i.trim()?wi.test(i)?h(1903,null,i):uf.getConfigurationProperties()[i]!==void 0&&(!e||!sD.has(e.toLowerCase()))?h(1901,null,i):r.policy?.name&&uf.getPolicyConfigurations().get(r.policy?.name)!==void 0?h(1900,null,i,r.policy?.name,uf.getPolicyConfigurations().get(r.policy?.name)):null:h(1902,null)}var ar,nf,of,sf,af,lf,cf,vd,_s,df,gv,I1,w1,Do,wi,uf,sD,Ji=w(()=>{$t();J();Le();Te();at();y1();Yn();$();Na();ar={Configuration:"base.contributions.configuration"};nf={properties:{},patternProperties:{}},of={properties:{},patternProperties:{}},sf={properties:{},patternProperties:{}},af={properties:{},patternProperties:{}},lf={properties:{},patternProperties:{}},cf={properties:{},patternProperties:{}},vd={properties:{},patternProperties:{}},_s="vscode://schemas/settings/resourceLanguage",df=xt.as(mv.JSONContribution),gv=class extends _{constructor(){super();this.registeredConfigurationDefaults=[];this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new S);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new S);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:h(1905,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},df.registerSchema(_s,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){return this.registerConfigurations([e],t),e}registerConfigurations(e,t=!0){let n=new Set;this.doRegisterConfigurations(e,t,n),df.registerSchema(_s,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}deregisterConfigurations(e){let t=new Set;this.doDeregisterConfigurations(e,t),df.registerSchema(_s,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t})}updateConfigurations({add:e,remove:t}){let n=new Set;this.doDeregisterConfigurations(t,n),this.doRegisterConfigurations(e,!1,n),df.registerSchema(_s,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){let t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);let n=[];for(let{overrides:o,source:s}of e)for(let a in o){t.add(a);let l=this.configurationDefaultsOverrides.get(a)??this.configurationDefaultsOverrides.set(a,{configurationDefaultOverrides:[]}).get(a),c=o[a];if(l.configurationDefaultOverrides.push({value:c,source:s}),wi.test(a)){let d=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d,this.updateDefaultOverrideProperty(a,d,s),n.push(...Ba(a))}else{let d=this.mergeDefaultConfigurationsForConfigurationProperty(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d;let u=this.configurationProperties[a];u&&(this.updatePropertyDefaultValue(a,u),this.updateSchema(a,u))}}this.doRegisterOverrideIdentifiers(n)}deregisterDefaultConfigurations(e){let t=new Set;this.doDeregisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doDeregisterDefaultConfigurations(e,t){for(let n of e){let o=this.registeredConfigurationDefaults.indexOf(n);o!==-1&&this.registeredConfigurationDefaults.splice(o,1)}for(let{overrides:n,source:o}of e)for(let s in n){let a=this.configurationDefaultsOverrides.get(s);if(!a)continue;let l=a.configurationDefaultOverrides.findIndex(c=>o?nD(c.source,o):c.value===n[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 d of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,d.value,d.source,c);c&&!Fp(c.value)?(a.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(s,c,o)):(this.configurationDefaultsOverrides.delete(s),delete this.configurationProperties[s],delete this.defaultLanguageConfigurationOverridesNode.properties[s])}else{let c;for(let u of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForConfigurationProperty(s,u.value,u.source,c);a.configurationDefaultOverrideValue=c;let d=this.configurationProperties[s];d&&(this.updatePropertyDefaultValue(s,d),this.updateSchema(s,d))}t.add(s)}}this.updateOverridePropertyPatternKey()}updateDefaultOverrideProperty(e,t,n){let o={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:t.value,description:h(1904,null,m1(e)),$ref:_s,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=o,this.defaultLanguageConfigurationOverridesNode.properties[e]=o}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,o){let s=o?.value||{},a=o?.source??new Map;if(!(a instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(let l of Object.keys(t)){let c=t[l];if(ze(c)&&(kn(s[l])||ze(s[l]))){if(s[l]={...s[l]??{},...c},n)for(let u in c)a.set(`${l}.${u}`,n)}else s[l]=c,n?a.set(l,n):a.delete(l)}return{value:s,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,o){let s=this.configurationProperties[e],a=o?.value??s?.defaultDefaultValue,l=n;if(ze(t)&&(s!==void 0&&s.type==="object"||s===void 0&&(kn(a)||ze(a)))){if(l=o?.source??new Map,!(l instanceof Map)){console.error("defaultValueSource is not a Map");return}for(let d in t)n&&l.set(`${e}.${d}`,n);t={...ze(a)?a:{},...t}}return{value:t,source:l}}deltaConfiguration(e){let t=!1,n=new Set;e.removedDefaults&&(this.doDeregisterDefaultConfigurations(e.removedDefaults,n),t=!0),e.addedDefaults&&(this.doRegisterDefaultConfigurations(e.addedDefaults,n),t=!0),e.removedConfigurations&&this.doDeregisterConfigurations(e.removedConfigurations,n),e.addedConfigurations&&this.doRegisterConfigurations(e.addedConfigurations,!1,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:t})}notifyConfigurationSchemaUpdated(...e){this._onDidSchemaChange.fire()}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach(o=>{this.validateAndRegisterProperties(o,t,o.extensionInfo,o.restrictedProperties,void 0,n),this.configurationContributors.push(o),this.registerJSONConfiguration(o)})}doDeregisterConfigurations(e,t){let n=o=>{if(o.properties)for(let s in o.properties){t.add(s);let a=this.configurationProperties[s];a?.policy?.name&&this.policyConfigurations.delete(a.policy.name),delete this.configurationProperties[s],this.removeFromSchema(s,o.properties[s])}o.allOf?.forEach(s=>n(s))};for(let o of e){n(o);let s=this.configurationContributors.indexOf(o);s!==-1&&this.configurationContributors.splice(s,1)}}validateAndRegisterProperties(e,t=!0,n,o,s=4,a){s=Ft(e.scope)?s:e.scope;let l=e.properties;if(l)for(let d in l){let u=l[d];if(u.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},t&&oD(d,u,n?.id)){delete l[d];continue}u.source=n,u.defaultDefaultValue=l[d].default,this.updatePropertyDefaultValue(d,u),wi.test(d)?u.scope=void 0:(u.scope=Ft(u.scope)?s:u.scope,u.restricted=Ft(u.restricted)?!!o?.includes(d):u.restricted),u.experiment?u.tags?.some(y=>y.toLowerCase()==="onexp")||(u.tags=u.tags??[],u.tags.push("onExP")):u.tags?.some(y=>y.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${d}'. Please use 'experiment' property instead.`),u.experiment={mode:"startup"});let f=l[d].hasOwnProperty("included")&&!l[d].included,m=l[d].policy?.name;f?(this.excludedConfigurationProperties[d]=l[d],m&&(this.policyConfigurations.set(m,d),a.add(d)),delete l[d]):(a.add(d),m&&this.policyConfigurations.set(m,d),this.configurationProperties[d]=l[d],!l[d].deprecationMessage&&l[d].markdownDeprecationMessage&&(l[d].deprecationMessage=l[d].markdownDeprecationMessage))}let c=e.allOf;if(c)for(let d of c)this.validateAndRegisterProperties(d,t,n,o,s,a)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}getRegisteredDefaultConfigurations(){return[...this.registeredConfigurationDefaults]}getConfigurationDefaultsOverrides(){let e=new Map;for(let[t,n]of this.configurationDefaultsOverrides)n.configurationDefaultOverrideValue&&e.set(t,n.configurationDefaultOverrideValue);return e}registerJSONConfiguration(e){let t=n=>{let o=n.properties;if(o)for(let a in o)this.updateSchema(a,o[a]);n.allOf?.forEach(t)};t(e)}updateSchema(e,t){switch(nf.properties[e]=t,t.scope){case 1:of.properties[e]=t;break;case 2:af.properties[e]=t;break;case 3:sf.properties[e]=t;break;case 7:lf.properties[e]=t;break;case 4:cf.properties[e]=t;break;case 5:vd.properties[e]=t;break;case 6:vd.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t;break}}removeFromSchema(e,t){switch(delete nf.properties[e],t.scope){case 1:delete of.properties[e];break;case 2:delete af.properties[e];break;case 3:delete sf.properties[e];break;case 7:delete lf.properties[e];break;case 4:delete cf.properties[e];break;case 5:case 6:delete vd.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:"object",description:h(1906,null),errorMessage:h(1907,null),$ref:_s};this.updatePropertyDefaultValue(t,n),nf.properties[t]=n,of.properties[t]=n,sf.properties[t]=n,af.properties[t]=n,lf.properties[t]=n,cf.properties[t]=n,vd.properties[t]=n}}registerOverridePropertyPatternKey(){let e={type:"object",description:h(1906,null),errorMessage:h(1907,null),$ref:_s};nf.patternProperties[Do]=e,of.patternProperties[Do]=e,sf.patternProperties[Do]=e,af.patternProperties[Do]=e,lf.patternProperties[Do]=e,cf.patternProperties[Do]=e,vd.patternProperties[Do]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){let n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,o,s;n&&(!t.disallowConfigurationDefault||!n.source)&&(o=n.value,s=n.source),kn(o)&&(o=t.defaultDefaultValue,s=void 0),kn(o)&&(o=iD(t.type)),t.default=o,t.defaultValueSource=s}},I1="\\[([^\\]]+)\\]",w1=new RegExp(I1,"g"),Do=`^(${I1})+$`,wi=new RegExp(Do);uf=new gv;xt.add(ar.Configuration,uf);sD=new Set(gr.defaultChatAgent?[gr.defaultChatAgent.extensionId,gr.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[])});var aD,x1=w(()=>{te();hd();Te();Ji();Na();Yn();aD=xt.as(ar.Configuration);aD.registerConfiguration({id:"update",order:15,title:h(2758,null),type:"object",properties:{"update.mode":{type:"string",enum:["none","manual","start","default"],default:"default",scope:1,description:h(2759,null),tags:["usesOnlineServices"],enumDescriptions:[h(2749,null),h(2748,null),h(2751,null),h(2742,null)],policy:{name:"UpdateMode",category:"Update",minimumVersion:"1.67",localization:{description:{key:"updateMode",value:h(2759,null)},enumDescriptions:[{key:"none",value:h(2749,null)},{key:"manual",value:h(2748,null)},{key:"start",value:h(2751,null)},{key:"default",value:h(2742,null)}]}}},"update.channel":{type:"string",default:"default",scope:1,description:h(2759,null),deprecationMessage:h(2743,null,"update.mode")},"update.enableWindowsBackgroundUpdates":{type:"boolean",default:!0,scope:1,title:h(2746,null),description:h(2745,null),included:W&&!Dr},"update.showReleaseNotes":{type:"boolean",default:!0,scope:1,description:h(2750,null),tags:["usesOnlineServices"]},"update.statusBar":{type:"string",enum:["hidden","actionable","detailed"],default:"detailed",scope:1,description:h(2752,null),enumDescriptions:[h(2747,null),h(2741,null),h(2744,null)]},"update.titleBar":{type:"string",enum:["none","actionable","detailed","always"],default:gr.quality!=="stable"?"actionable":"none",scope:1,tags:["experimental"],experiment:{mode:"startup"},description:h(2753,null),enumDescriptions:[h(2757,null),h(2754,null),h(2756,null),h(2755,null)]}}})});function vv(i,r){return r&&(i.stack||i.stacktrace)?h(116,null,E1(i),P1(i.stack)||P1(i.stacktrace)):E1(i)}function P1(i){return Array.isArray(i)?i.join(`
`):i}function E1(i){return i.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${i.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof i.code=="string"&&typeof i.errno=="number"&&typeof i.syscall=="string"?h(115,null,i.message):i.message||h(113,null)}function Er(i=null,r=!1){if(!i)return h(113,null);if(Array.isArray(i)){let e=lt(i),t=Er(e[0],r);return e.length>1?h(114,null,t,e.length):t}if(Me(i))return i;if(i.detail){let e=i.detail;if(e.error)return vv(e.error,r);if(e.exception)return vv(e.exception,r)}return i.stack?vv(i,r):i.message?i.message:h(113,null)}var Lo=w(()=>{$t();Le();Te()});function Qi(i,r){let{os:e,tildify:t,relative:n}=r;if(n){let a=lD(i,n,e);if(typeof a=="string")return a}let o=i.fsPath;if(e===1&&!W?o=o.replace(/\//g,"\\"):e!==1&&W&&(o=o.replace(/\\/g,"/")),e!==1&&t?.userHome){let a=t.userHome.fsPath,l;i.scheme!==t.userHome.scheme&&i.path[0]===de.sep&&i.path[1]!==de.sep?l=t.userHome.with({path:i.path}).fsPath:l=o,o=cD(l,a,e)}return(e===1?ut:de).normalize(wd(o,e===1))}function lD(i,r,e){let t=e===1?ut:de,n=e===3?Oe:Ma,o=r.getWorkspace(),s=o.folders.at(0);if(!s)return;i.scheme!==s.uri.scheme&&i.path[0]===de.sep&&i.path[1]!==de.sep&&(i=s.uri.with({path:i.path}));let a=r.getWorkspaceFolder(i);if(!a)return;let l;if(n.isEqual(a.uri,i)?l="":l=n.relativePath(a.uri,i)??"",l&&(l=t.normalize(l)),o.folders.length>1&&!r.noPrefix){let c=a.name?a.name:n.basenameOrAuthority(a.uri);l=l?`${c} \u2022 ${l}`:c}return l}function wd(i,r=W){return Zg(i,r)?i.charAt(0).toUpperCase()+i.slice(1):i}function cD(i,r,e=Qt){if(e===1||!i||!r)return i;let t=yv.original===r?yv.normalized:void 0;t||(t=r,W&&(t=gi(t)),t=`${Gn(t,de.sep)}${de.sep}`,yv={original:r,normalized:t});let n=i;return W&&(n=gi(n)),(e===3?n.startsWith(t):Co(n,t))?`~/${n.substr(t.length)}`:i}function C1(i,r){return V||r?i.replace(/\(&&\w\)|&&/g,"").replace(/&/g,V?"&":"&&"):i.replace(/&&|&/g,e=>e==="&"?"&&":"&")}function Id(i,r){let e=i.replace(/\(&&\w\)|&&/g,"");if(r)return e;if(V)return{withMnemonic:e,withoutMnemonic:e};let t;return W?t=i.replace(/&&|&/g,n=>n==="&"?"&&":"&"):t=i.replace(/&&/g,"_"),{withMnemonic:t,withoutMnemonic:e}}function _1(i){if(i.endsWith("]")){let r=i.lastIndexOf(" [",i.length-2);if(r!==-1){let e=T1(i.substring(0,r)),t=i.substring(r);return{name:e.name+t,parentPath:e.parentPath}}}return T1(i)}function T1(i){let r=i.indexOf("/")!==-1?de:ut,e=r.basename(i),t=r.dirname(i);return e.length?{name:e,parentPath:t}:{name:t,parentPath:""}}var yv,Xi=w(()=>{cn();_e();te();It();sr();yv=Object.create(null)});function bd(i){let r=i;return r?[r.on,r.pause,r.resume,r.destroy].every(e=>typeof e=="function"):!1}function ff(i){let r=i;return r?bd(r.stream)&&Array.isArray(r.buffer)&&typeof r.ended=="boolean":!1}function Ao(i,r){return new wv(i,r)}function k1(i,r){let e=[],t;for(;(t=i.read())!==null;)e.push(t);return r(e)}function R1(i,r,e){let t=[],n;for(;(n=i.read())!==null&&t.length<e;)t.push(n);return n===null&&t.length>0?r(t):{read:()=>{if(t.length>0)return t.shift();if(typeof n<"u"){let o=n;return n=void 0,o}return i.read()}}}function mf(i,r){return new Promise((e,t)=>{let n=[];Va(i,{onData:o=>{r&&n.push(o)},onError:o=>{r?t(o):e(void 0)},onEnd:()=>{e(r?r(n):void 0)}})})}function Va(i,r,e){i.on("error",t=>{e?.isCancellationRequested||r.onError(t)}),i.on("end",()=>{e?.isCancellationRequested||r.onEnd()}),i.on("data",t=>{e?.isCancellationRequested||r.onData(t)})}function D1(i,r){return new Promise((e,t)=>{let n=new ee,o=[],s=c=>{if(o.push(c),o.length>r)return n.dispose(),i.pause(),e({stream:i,buffer:o,ended:!1})},a=c=>(n.dispose(),t(c)),l=()=>(n.dispose(),e({stream:i,buffer:o,ended:!0}));n.add(G(()=>i.removeListener("error",a))),i.on("error",a),n.add(G(()=>i.removeListener("end",l))),i.on("end",l),n.add(G(()=>i.removeListener("data",s))),i.on("data",s)})}function L1(i){let r=!1;return{read:()=>r?null:(r=!0,i)}}function Ha(i,r,e){let t=Ao(e);return Va(i,{onData:n=>t.write(r.data(n)),onError:n=>t.error(r.error?r.error(n):n),onEnd:()=>t.end()}),t}var wv,ks=w(()=>{He();$();wv=class{constructor(r,e){this.reducer=r;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(r){if(!this.state.destroyed){if(this.state.flowing)this.emitData(r);else if(this.buffer.data.push(r),typeof this.options?.highWaterMark=="number"&&this.buffer.data.length>this.options.highWaterMark)return new Promise(e=>this.pendingWritePromises.push(e))}}error(r){this.state.destroyed||(this.state.flowing?this.emitError(r):this.buffer.error.push(r))}end(r){this.state.destroyed||(typeof r<"u"&&this.write(r),this.state.flowing?(this.emitEnd(),this.destroy()):this.state.ended=!0)}emitData(r){this.listeners.data.slice(0).forEach(e=>e(r))}emitError(r){this.listeners.error.length===0?nt(r):this.listeners.error.slice(0).forEach(e=>e(r))}emitEnd(){this.listeners.end.slice(0).forEach(r=>r())}on(r,e){if(!this.state.destroyed)switch(r){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(r,e){if(this.state.destroyed)return;let t;switch(r){case"data":t=this.listeners.data;break;case"end":t=this.listeners.end;break;case"error":t=this.listeners.error;break}if(t){let n=t.indexOf(e);n>=0&&t.splice(n,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 r=[...this.pendingWritePromises];this.pendingWritePromises.length=0,r.forEach(e=>e())}flowErrors(){if(this.listeners.error.length>0){for(let r of this.buffer.error)this.emitError(r);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 pD(i,r,e=0){let t=r.byteLength,n=i.byteLength;if(t===0)return 0;if(t===1)return i.indexOf(r[0],e);if(t>n-e)return-1;let o=uD.value;o.fill(r.length);for(let c=0;c<r.length;c++)o[r[c]]=r.length-c-1;let s=e+r.length-1,a=s,l=-1;for(;s<n;)if(i[s]===r[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(r.length-a,o[i[s]]),a=r.length-1;return l}function fD(i,r){return i[r]*2**24+i[r+1]*2**16+i[r+2]*2**8+i[r+3]}function mD(i,r,e){i[e+3]=r,r=r>>>8,i[e+2]=r,r=r>>>8,i[e+1]=r,r=r>>>8,i[e]=r}function hD(i,r){return i[r+0]<<0>>>0|i[r+1]<<8>>>0|i[r+2]<<16>>>0|i[r+3]<<24>>>0}function gD(i,r,e){i[e+0]=r&255,r=r>>>8,i[e+1]=r&255,r=r>>>8,i[e+2]=r&255,r=r>>>8,i[e+3]=r&255}function vD(i,r){return i[r]}function yD(i,r,e){i[e]=r}function M1(i){return k1(i,r=>H.concat(r))}function O1(i){return L1(i)}function Rs(i){return mf(i,r=>H.concat(r))}async function F1(i){return i.ended?H.concat(i.buffer):H.concat([...i.buffer,await Rs(i.stream)])}function W1(i){return Ha(i,{data:r=>typeof r=="string"?H.fromString(r):H.wrap(r)},r=>H.concat(r))}function U1(i){return Ao(r=>H.concat(r),i)}function N1({buffer:i}){let r="";for(let e=0;e<i.length;e++){let t=i[e];r+=A1[t>>>4],r+=A1[t&15]}return r}var Sd,uD,Iv,bv,H,A1,it=w(()=>{Eo();ks();Sd=typeof Buffer<"u",uD=new xr(()=>new Uint8Array(256)),H=class i{static alloc(r){return Sd?new i(Buffer.allocUnsafe(r)):new i(new Uint8Array(r))}static wrap(r){return Sd&&!Buffer.isBuffer(r)&&(r=Buffer.from(r.buffer,r.byteOffset,r.byteLength)),new i(r)}static fromString(r,e){return!(e?.dontUseNodeBuffer||!1)&&Sd?new i(Buffer.from(r)):(Iv||(Iv=new TextEncoder),new i(Iv.encode(r)))}static fromByteArray(r){let e=i.alloc(r.length);for(let t=0,n=r.length;t<n;t++)e.buffer[t]=r[t];return e}static concat(r,e){if(typeof e>"u"){e=0;for(let o=0,s=r.length;o<s;o++)e+=r[o].byteLength}let t=i.alloc(e),n=0;for(let o=0,s=r.length;o<s;o++){let a=r[o];t.set(a,n),n+=a.byteLength}return t}static isNativeBuffer(r){return Sd&&Buffer.isBuffer(r)}constructor(r){this.buffer=r,this.byteLength=this.buffer.byteLength}clone(){let r=i.alloc(this.byteLength);return r.set(this),r}toString(){return Sd?this.buffer.toString():(bv||(bv=new TextDecoder(void 0,{ignoreBOM:!0})),bv.decode(this.buffer))}slice(r,e){return new i(this.buffer.subarray(r,e))}set(r,e){if(r instanceof i)this.buffer.set(r.buffer,e);else if(r instanceof Uint8Array)this.buffer.set(r,e);else if(r instanceof ArrayBuffer)this.buffer.set(new Uint8Array(r),e);else if(ArrayBuffer.isView(r))this.buffer.set(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),e);else throw new Error("Unknown argument 'array'")}readUInt32BE(r){return fD(this.buffer,r)}writeUInt32BE(r,e){mD(this.buffer,r,e)}readUInt32LE(r){return hD(this.buffer,r)}writeUInt32LE(r,e){gD(this.buffer,r,e)}readUInt8(r){return vD(this.buffer,r)}writeUInt8(r,e){yD(this.buffer,r,e)}indexOf(r,e=0){return pD(this.buffer,r instanceof i?r.buffer:r,e)}equals(r){return this===r?!0:this.byteLength!==r.byteLength?!1:this.buffer.every((e,t)=>e===r.buffer[t])}};A1="0123456789abcdef"});var B1=w(()=>{Le();$();wt()});function ce(i,r,e){let t=null,n=null;if(typeof e.value=="function"?(t="value",n=e.value,n.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof e.get=="function"&&(t="get",n=e.get),!n)throw new Error("not supported");let o=`$memoize$${r}`;e[t]=function(...s){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,s)}),this[o]}}var Mo=w(()=>{B1()});function V1(i){return JSON.stringify(i,wD)}function H1(i){let r=JSON.parse(i);return r=Zn(r),r}function wD(i,r){return r instanceof RegExp?{$mid:2,source:r.source,flags:r.flags}:r}function Zn(i,r=0){if(!i||r>200)return i;if(typeof i=="object"){switch(i.$mid){case 1:return E.revive(i);case 2:return new RegExp(i.source,i.flags);case 17:return new Date(i.source)}if(i instanceof H||i instanceof Uint8Array)return i;if(Array.isArray(i))for(let e=0;e<i.length;++e)i[e]=Zn(i[e],r+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=Zn(i[e],r+1))}return i}var xd=w(()=>{it();le();qp()});function Ka(i){switch(i){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function hf(i){switch(i){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function $a(i){let r=0;for(let e=0;;e+=7){let t=i.read(1);if(r|=(t.buffer[0]&127)<<e,!(t.buffer[0]&128))return r}}function qa(i,r){if(r===0){i.write(ID);return}let e=0;for(let n=r;n!==0;n=n>>>7)e++;let t=H.alloc(e);for(let n=0;r!==0;n++)t.buffer[n]=r&127,r=r>>>7,r>0&&(t.buffer[n]|=128);i.write(t)}function Oo(i){let r=H.alloc(1);return r.writeUInt8(i,0),r}function za(i,r){if(typeof r>"u")i.write(Ds.Undefined);else if(typeof r=="string"){let e=H.fromString(r);i.write(Ds.String),qa(i,e.byteLength),i.write(e)}else if(H.isNativeBuffer(r)){let e=H.wrap(r);i.write(Ds.Buffer),qa(i,e.byteLength),i.write(e)}else if(r instanceof H)i.write(Ds.VSBuffer),qa(i,r.byteLength),i.write(r);else if(Array.isArray(r)){i.write(Ds.Array),qa(i,r.length);for(let e of r)za(i,e)}else if(typeof r=="number"&&(r|0)===r)i.write(Ds.Uint),qa(i,r);else{let e=H.fromString(JSON.stringify(r));i.write(Ds.Object),qa(i,e.byteLength),i.write(e)}}function ja(i){switch(i.read(1).readUInt8(0)){case 0:return;case 1:return i.read($a(i)).toString();case 2:return i.read($a(i)).buffer;case 3:return i.read($a(i));case 4:{let e=$a(i),t=[];for(let n=0;n<e;n++)t.push(ja(i));return t}case 5:return JSON.parse(i.read($a(i)).toString());case 6:return $a(i)}}function Cd(i){return{call(r,e,t){return i.then(n=>n.call(r,e,t))},listen(r,e){let t=new rd;return i.then(n=>t.input=n.listen(r,e)),t.event}}}function $1(i){let r=!1;return{call(e,t,n){return r?i.call(e,t,n):ct(0).then(()=>r=!0).then(()=>i.call(e,t,n))},listen(e,t){if(r)return i.listen(e,t);let n=new rd;return ct(0).then(()=>r=!0).then(()=>n.input=i.listen(e,t)),n.event}}}var ID,Pd,Ed,Ds,Td,Ls,Ga,Ja,gf,Je,Ii=w(()=>{$t();ve();it();wt();Mo();He();J();ba();$();xd();sr();Le();ID=Oo(0);Pd=class{constructor(r){this.buffer=r;this.pos=0}read(r){let e=this.buffer.slice(this.pos,this.pos+r);return this.pos+=e.byteLength,e}},Ed=class{constructor(){this.buffers=[]}get buffer(){return H.concat(this.buffers)}write(r){this.buffers.push(r)}};Ds={Undefined:Oo(0),String:Oo(1),Buffer:Oo(2),VSBuffer:Oo(3),Array:Oo(4),Object:Oo(5),Uint:Oo(6)};Td=class{constructor(r,e,t=null,n=1e3){this.protocol=r;this.ctx=e;this.logger=t;this.timeoutDelay=n;this.channels=new Map;this.activeRequests=new Map;this.pendingRequests=new Map;this.protocolListener=this.protocol.onMessage(o=>this.onRawMessage(o)),this.sendResponse({type:200})}registerChannel(r,e){this.channels.set(r,e),setTimeout(()=>this.flushPendingRequests(r),0)}sendResponse(r){switch(r.type){case 200:{let e=this.send([r.type]);this.logger?.logOutgoing(e,0,1,hf(r.type));return}case 201:case 202:case 204:case 203:{let e=this.send([r.type,r.id],r.data);this.logger?.logOutgoing(e,r.id,1,hf(r.type),r.data);return}}}send(r,e=void 0){let t=new Ed;return za(t,r),za(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onRawMessage(r){let e=new Pd(r),t=ja(e),n=ja(e),o=t[0];switch(o){case 100:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ka(o)}: ${t[2]}.${t[3]}`,n),this.onPromise({type:o,id:t[1],channelName:t[2],name:t[3],arg:n});case 102:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ka(o)}: ${t[2]}.${t[3]}`,n),this.onEventListen({type:o,id:t[1],channelName:t[2],name:t[3],arg:n});case 101:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ka(o)}`),this.disposeActiveRequest({type:o,id:t[1]});case 103:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Ka(o)}`),this.disposeActiveRequest({type:o,id:t[1]})}}onPromise(r){let e=this.channels.get(r.channelName);if(!e){this.collectPendingRequest(r);return}let t=new $e,n;try{n=e.call(this.ctx,r.name,r.arg,t.token)}catch(a){n=Promise.reject(a)}let o=r.id;n.then(a=>{this.sendResponse({id:o,data:a,type:201})},a=>{a instanceof Error?this.sendResponse({id:o,data:{message:a.message,name:a.name,stack:a.stack?a.stack.split(`
`):void 0},type:202}):this.sendResponse({id:o,data:a,type:203})}).finally(()=>{s.dispose(),this.activeRequests.delete(r.id)});let s=G(()=>t.cancel());this.activeRequests.set(r.id,s)}onEventListen(r){let e=this.channels.get(r.channelName);if(!e){this.collectPendingRequest(r);return}let t=r.id,o=e.listen(this.ctx,r.name,r.arg)(s=>this.sendResponse({id:t,data:s,type:204}));this.activeRequests.set(r.id,o)}disposeActiveRequest(r){let e=this.activeRequests.get(r.id);e&&(e.dispose(),this.activeRequests.delete(r.id))}collectPendingRequest(r){let e=this.pendingRequests.get(r.channelName);e||(e=[],this.pendingRequests.set(r.channelName,e));let t=setTimeout(()=>{console.error(`Unknown channel: ${r.channelName}`),r.type===100&&this.sendResponse({id:r.id,data:{name:"Unknown channel",message:`Channel name '${r.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);e.push({request:r,timeoutTimer:t})}flushPendingRequests(r){let e=this.pendingRequests.get(r);if(e){for(let t of e)switch(clearTimeout(t.timeoutTimer),t.request.type){case 100:this.onPromise(t.request);break;case 102:this.onEventListen(t.request);break}this.pendingRequests.delete(r)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),pt(this.activeRequests.values()),this.activeRequests.clear()}},Ls=class{constructor(r,e=null){this.protocol=r;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new S;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(t=>this.onBuffer(t)),this.logger=e}getChannel(r){let e=this;return{call(t,n,o){return e.isDisposed?Promise.reject(new St):e.requestPromise(r,t,n,o)},listen(t,n){return e.isDisposed?x.None:e.requestEvent(r,t,n)}}}requestPromise(r,e,t,n=Se.None){let o=this.lastRequestId++,a={id:o,type:100,channelName:r,name:e,arg:t};if(n.isCancellationRequested)return Promise.reject(new St);let l,c;return new Promise((u,f)=>{if(n.isCancellationRequested)return f(new St);let m=()=>{let b=I=>{switch(I.type){case 201:this.handlers.delete(o),u(I.data);break;case 202:{this.handlers.delete(o);let C=new Error(I.data.message);C.stack=Array.isArray(I.data.stack)?I.data.stack.join(`
`):I.data.stack,C.name=I.data.name,f(C);break}case 203:this.handlers.delete(o),f(I.data);break}};this.handlers.set(o,b),this.sendRequest(a)},y=null;this.state===1?m():(y=Qn(b=>this.whenInitialized()),y.then(()=>{y=null,m()}));let v=()=>{y?(y.cancel(),y=null):this.sendRequest({id:o,type:101}),f(new St)};l=n.onCancellationRequested(v),c={dispose:$i(()=>{v(),l.dispose()})},this.activeRequests.add(c)}).finally(()=>{l?.dispose(),this.activeRequests.delete(c)})}requestEvent(r,e,t){let n=this.lastRequestId++,s={id:n,type:102,channelName:r,name:e,arg:t},a=null,l=new S({onWillAddFirstListener:()=>{let d=()=>{this.activeRequests.add(l),this.sendRequest(s)};this.state===1?d():(a=Qn(u=>this.whenInitialized()),a.then(()=>{a=null,d()}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:n,type:103})),this.handlers.delete(n)}}),c=d=>l.fire(d.data);return this.handlers.set(n,c),l.event}sendRequest(r){switch(r.type){case 100:case 102:{let e=this.send([r.type,r.id,r.channelName,r.name],r.arg);this.logger?.logOutgoing(e,r.id,0,`${Ka(r.type)}: ${r.channelName}.${r.name}`,r.arg);return}case 101:case 103:{let e=this.send([r.type,r.id]);this.logger?.logOutgoing(e,r.id,0,Ka(r.type));return}}}send(r,e=void 0){let t=new Ed;return za(t,r),za(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onBuffer(r){let e=new Pd(r),t=ja(e),n=ja(e),o=t[0];switch(o){case 200:return this.logger?.logIncoming(r.byteLength,0,0,hf(o)),this.onResponse({type:t[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(r.byteLength,t[1],0,hf(o),n),this.onResponse({type:t[0],id:t[1],data:n})}}onResponse(r){if(r.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(r.id)?.(r)}get onDidInitializePromise(){return x.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),pt(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};T([ce],Ls.prototype,"onDidInitializePromise",1);Ga=class{constructor(r,e,t){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new S;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new S;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new ee;this.disposables.add(r(({protocol:n,onDidClientDisconnect:o})=>{let s=x.once(n.onMessage);this.disposables.add(s(a=>{let l=new Pd(a),c=ja(l),d=new Td(n,c,e,t),u=new Ls(n,e);this.channels.forEach((m,y)=>d.registerChannel(y,m));let f={channelServer:d,channelClient:u,ctx:c};this._connections.add(f),this._onDidAddConnection.fire(f),this.disposables.add(o(()=>{d.dispose(),u.dispose(),this._connections.delete(f),this._onDidRemoveConnection.fire(f)}))}))}))}get connections(){let r=[];return this._connections.forEach(e=>r.push(e)),r}getChannel(r,e){let t=this;return{call(n,o,s){let a;if(Yc(e)){let c=Gb(t.connections.filter(e));a=c?Promise.resolve(c):x.toPromise(x.filter(t.onDidAddConnection,e))}else a=e.routeCall(t,n,o);let l=a.then(c=>c.channelClient.getChannel(r));return Cd(l).call(n,o,s)},listen(n,o){if(Yc(e))return t.getMulticastEvent(r,e,n,o);let s=e.routeEvent(t,n,o).then(a=>a.channelClient.getChannel(r));return Cd(s).listen(n,o)}}}getMulticastEvent(r,e,t,n){let o=this,s,a=new S({onWillAddFirstListener:()=>{s=new ee;let l=new Up,c=new Map,d=f=>{let y=f.channelClient.getChannel(r).listen(t,n),v=l.add(y);c.set(f,v)},u=f=>{let m=c.get(f);m&&(m.dispose(),c.delete(f))};o.connections.filter(e).forEach(d),x.filter(o.onDidAddConnection,e)(d,void 0,s),o.onDidRemoveConnection(u,void 0,s),l.event(a.fire,a,s),s.add(l)},onDidRemoveLastListener:()=>{s?.dispose(),s=void 0}});return o.disposables.add(a),a.event}registerChannel(r,e){this.channels.set(r,e);for(let t of this._connections)t.channelServer.registerChannel(r,e)}dispose(){this.disposables.dispose();for(let r of this._connections)r.channelClient.dispose(),r.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}},Ja=class{constructor(r,e,t=null){let n=new Ed;za(n,e),r.send(n.buffer),this.channelClient=new Ls(r,t),this.channelServer=new Td(r,e,t)}getChannel(r){return this.channelClient.getChannel(r)}registerChannel(r,e){this.channelServer.registerChannel(r,e)}dispose(){this.channelClient.dispose(),this.channelServer.dispose()}};gf=class{constructor(r){this.fn=r}routeCall(r){return this.route(r)}routeEvent(r){return this.route(r)}async route(r){for(let e of r.connections)if(await Promise.resolve(this.fn(e.ctx)))return Promise.resolve(e);return await x.toPromise(r.onDidAddConnection),await this.route(r)}};(n=>{function i(o,s,a){let l=o,c=a?.disableMarshalling,d=new Map;for(let u in l)e(u)&&d.set(u,x.buffer(l[u],u,!0,void 0,s));return new class{listen(u,f,m){let y=d.get(f);if(y)return y;let v=l[f];if(typeof v=="function"){if(t(f))return v.call(l,m);if(e(f))return d.set(f,x.buffer(l[f],f,!0,void 0,s)),d.get(f)}throw new sn(`Event not found: ${f}`)}call(u,f,m){let y=l[f];if(typeof y=="function"){if(!c&&Array.isArray(m))for(let b=0;b<m.length;b++)m[b]=Zn(m[b]);let v=y.apply(l,m);return v instanceof Promise||(v=Promise.resolve(v)),v}throw new sn(`Method not found: ${f}`)}}}n.fromService=i;function r(o,s){let a=s?.disableMarshalling;return new Proxy({},{get(l,c){if(typeof c=="string")return s?.properties?.has(c)?s.properties.get(c):t(c)?function(d){return o.listen(c,d)}:e(c)?o.listen(c):async function(...d){let u;s&&!Ft(s.context)?u=[s.context,...d]:u=d;let f=await o.call(c,u);return a?f:Zn(f)};throw new sn(`Property not found: ${String(c)}`)}})}n.toService=r;function e(o){return o[0]==="o"&&o[1]==="n"&&Gg(o.charCodeAt(2))}function t(o){return/^onDynamic/.test(o)&&Gg(o.charCodeAt(9))}})(Je||={})});function q1(i){return bD.test(i)}var bD,ke,er=w(()=>{bD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;ke=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let i=new Uint8Array(16),r=[];for(let e=0;e<256;e++)r.push(e.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(i),i[6]=i[6]&15|64,i[8]=i[8]&63|128;let t=0,n="";return n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+="-",n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n+=r[i[t++]],n}})()});function Fo(){return Sv||(Sv=H.alloc(0)),Sv}function K1(i){switch(i){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 Tv,Sv,_d,wn,kd,Rd,Dd,Ld,As,xv,Pv,Ev,vf,Cv=w(()=>{it();J();$();Ii();(s=>{s.enableDiagnostics=!1,s.records=[];let e=new WeakMap,t=0;function n(a,l){if(!e.has(a)){let c=String(++t);e.set(a,c)}return e.get(a)}function o(a,l,c,d){}s.traceSocketEvent=o})(Tv||={});Sv=null;_d=class{get byteLength(){return this._totalLength}constructor(){this._chunks=[],this._totalLength=0}acceptChunk(r){this._chunks.push(r),this._totalLength+=r.byteLength}read(r){return this._read(r,!0)}peek(r){return this._read(r,!1)}_read(r,e){if(r===0)return Fo();if(r>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===r){let s=this._chunks[0];return e&&(this._chunks.shift(),this._totalLength-=r),s}if(this._chunks[0].byteLength>r){let s=this._chunks[0].slice(0,r);return e&&(this._chunks[0]=this._chunks[0].slice(r),this._totalLength-=r),s}let t=H.alloc(r),n=0,o=0;for(;r>0;){let s=this._chunks[o];if(s.byteLength>r){let a=s.slice(0,r);t.set(a,n),n+=r,e&&(this._chunks[o]=s.slice(r),this._totalLength-=r),r-=r}else t.set(s,n),n+=s.byteLength,e?(this._chunks.shift(),this._totalLength-=s.byteLength):o++,r-=s.byteLength}return t}};wn=class{constructor(r,e,t,n){this.type=r;this.id=e;this.ack=t;this.data=n;this.writtenTime=0}get size(){return this.data.byteLength}},kd=class extends _{constructor(e){super();this._onMessage=this._register(new S);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 _d,this._register(this._socket.onData(t=>this.acceptChunk(t))),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 t=this._incomingData.read(this._state.readLen);if(this._state.readHead)this._state.readHead=!1,this._state.readLen=t.readUInt32BE(9),this._state.messageType=t.readUInt8(0),this._state.id=t.readUInt32BE(1),this._state.ack=t.readUInt32BE(5),this._socket.traceSocketEvent("protocolHeaderRead",{messageType:K1(this._state.messageType),id:this._state.id,ack:this._state.ack,messageSize:this._state.readLen});else{let n=this._state.messageType,o=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",t),this._onMessage.fire(new wn(n,o,s,t)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},Rd=class{constructor(r){this._writeNowTimeout=null;this._isDisposed=!1,this._isPaused=!1,this._socket=r,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(r){if(this._isDisposed)return;r.writtenTime=Date.now(),this.lastWriteTime=Date.now();let e=H.alloc(13);e.writeUInt8(r.type,0),e.writeUInt32BE(r.id,1),e.writeUInt32BE(r.ack,5),e.writeUInt32BE(r.data.byteLength,9),this._socket.traceSocketEvent("protocolHeaderWrite",{messageType:K1(r.type),id:r.id,ack:r.ack,messageSize:r.data.byteLength}),this._socket.traceSocketEvent("protocolMessageWrite",r.data),this._writeSoon(e,r.data)}_bufferAdd(r,e){let t=this._totalLength===0;return this._data.push(r,e),this._totalLength+=r.byteLength+e.byteLength,t}_bufferTake(){let r=H.concat(this._data,this._totalLength);return this._data.length=0,this._totalLength=0,r}_writeSoon(r,e){this._bufferAdd(r,e)&&this._scheduleWriting()}_scheduleWriting(){this._writeNowTimeout||(this._writeNowTimeout=setTimeout(()=>{this._writeNowTimeout=null,this._writeNow()}))}_writeNow(){if(this._totalLength===0||this._isPaused)return;let r=this._bufferTake();this._socket.traceSocketEvent("protocolWrite",{byteLength:r.byteLength}),this._socket.write(r)}},Dd=class extends _{constructor(e){super();this._onMessage=this._register(new S);this.onMessage=this._onMessage.event;this._onDidDispose=this._register(new S);this.onDidDispose=this._onDidDispose.event;this._socket=e,this._socketWriter=this._register(new Rd(this._socket)),this._socketReader=this._register(new kd(this._socket)),this._register(this._socketReader.onMessage(t=>{t.type===1&&this._onMessage.fire(t.data)})),this._register(this._socket.onClose(()=>this._onDidDispose.fire()))}drain(){return this._socketWriter.drain()}getSocket(){return this._socket}sendDisconnect(){}send(e){this._socketWriter.write(new wn(1,0,0,e))}},Ld=class i extends Ja{constructor(e,t,n=null){super(e,t,n);this.protocol=e}static fromSocket(e,t){return new i(new Dd(e),t)}get onDidDispose(){return this.protocol.onDidDispose}dispose(){super.dispose();let e=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),e.end()}},As=class{constructor(){this._hasListeners=!1;this._isDeliveringMessages=!1;this._bufferedMessages=[];this._emitter=new S({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(r){this._hasListeners?this._bufferedMessages.length>0?this._bufferedMessages.push(r):this._emitter.fire(r):this._bufferedMessages.push(r)}flushBuffer(){this._bufferedMessages=[]}},xv=class{constructor(r){this.data=r,this.next=null}},Pv=class{constructor(){this._first=null,this._last=null}length(){let r=0,e=this._first;for(;e;)e=e.next,r++;return r}peek(){return this._first?this._first.data:null}toArray(){let r=[],e=0,t=this._first;for(;t;)r[e++]=t.data,t=t.next;return r}pop(){if(this._first){if(this._first===this._last){this._first=null,this._last=null;return}this._first=this._first.next}}push(r){let e=new xv(r);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},Ev=class i{static{this._HISTORY_LENGTH=10}static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this.lastRuns=[];let r=Date.now();for(let e=0;e<i._HISTORY_LENGTH;e++)this.lastRuns[e]=r-1e3*e;setInterval(()=>{for(let e=i._HISTORY_LENGTH;e>=1;e--)this.lastRuns[e]=this.lastRuns[e-1];this.lastRuns[0]=Date.now()},1e3)}load(){let r=Date.now(),e=(1+i._HISTORY_LENGTH)*1e3,t=0;for(let n=0;n<i._HISTORY_LENGTH;n++)r-this.lastRuns[n]<=e&&t++;return 1-t/i._HISTORY_LENGTH}hasHighLoad(){return this.load()>=.5}},vf=class{constructor(r){this._onControlMessage=new As;this.onControlMessage=this._onControlMessage.event;this._onMessage=new As;this.onMessage=this._onMessage.event;this._onDidDispose=new As;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new As;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new As;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=r.loadEstimator??Ev.getInstance(),this._shouldSendKeepAlive=r.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new Pv,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 ee,this._socket=r.socket,this._socketWriter=this._socketDisposables.add(new Rd(this._socket)),this._socketReader=this._socketDisposables.add(new kd(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.add(this._socket.onClose(e=>this._onSocketClose.fire(e))),r.initialChunk&&this._socketReader.acceptChunk(r.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 r=new wn(5,0,0,Fo());this._socketWriter.write(r),this._socketWriter.flush()}}sendPause(){let r=new wn(7,0,0,Fo());this._socketWriter.write(r)}sendResume(){let r=new wn(8,0,0,Fo());this._socketWriter.write(r)}pauseSocketWriting(){this._socketWriter.pause()}getSocket(){return this._socket}getMillisSinceLastIncomingData(){return Date.now()-this._socketReader.lastReadTime}beginAcceptReconnection(r,e){this._isReconnecting=!0,this._socketDisposables.dispose(),this._socketDisposables=new ee,this._onControlMessage.flushBuffer(),this._onSocketClose.flushBuffer(),this._onSocketTimeout.flushBuffer(),this._socket.dispose(),this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socket=r,this._socketWriter=this._socketDisposables.add(new Rd(this._socket)),this._socketReader=this._socketDisposables.add(new kd(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(t=>this._receiveMessage(t))),this._socketDisposables.add(this._socket.onClose(t=>this._onSocketClose.fire(t))),this._socketReader.acceptChunk(e)}endAcceptReconnection(){this._isReconnecting=!1,this._incomingAckId=this._incomingMsgId;let r=new wn(3,0,this._incomingAckId,Fo());this._socketWriter.write(r);let e=this._outgoingUnackMsg.toArray();for(let t=0,n=e.length;t<n;t++)this._socketWriter.write(e[t]);this._recvAckCheck()}acceptDisconnect(){this._onDidDispose.fire()}_receiveMessage(r){if(r.ack>this._outgoingAckId){this._outgoingAckId=r.ack;do{let e=this._outgoingUnackMsg.peek();if(e&&e.id<=r.ack)this._outgoingUnackMsg.pop();else break}while(!0)}switch(r.type){case 0:break;case 1:{if(r.id>this._incomingMsgId)if(r.id!==this._incomingMsgId+1){let e=Date.now();e-this._lastReplayRequestTime>1e4&&(this._lastReplayRequestTime=e,this._socketWriter.write(new wn(6,0,0,Fo())))}else this._incomingMsgId=r.id,this._incomingMsgLastTime=Date.now(),this._sendAckCheck(),this._onMessage.fire(r.data);break}case 2:{this._onControlMessage.fire(r.data);break}case 3:break;case 5:{this._onDidDispose.fire();break}case 6:{let e=this._outgoingUnackMsg.toArray();for(let t=0,n=e.length;t<n;t++)this._socketWriter.write(e[t]);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(r){let e=++this._outgoingMsgId;this._incomingAckId=this._incomingMsgId;let t=new wn(1,e,this._incomingAckId,r);this._outgoingUnackMsg.push(t),this._isReconnecting||(this._socketWriter.write(t),this._recvAckCheck())}sendControl(r){let e=new wn(2,0,0,r);this._socketWriter.write(e)}_sendAckCheck(){if(this._incomingMsgId<=this._incomingAckId||this._incomingAckTimeout)return;let r=Date.now()-this._incomingMsgLastTime;if(r>=2e3){this._sendAck();return}this._incomingAckTimeout=setTimeout(()=>{this._incomingAckTimeout=null,this._sendAckCheck()},2e3-r+5)}_recvAckCheck(){if(this._outgoingMsgId<=this._outgoingAckId||this._outgoingAckTimeout||this._isReconnecting)return;let r=this._outgoingUnackMsg.peek(),e=Date.now()-r.writtenTime,t=Date.now()-this._socketReader.lastReadTime,n=Date.now()-this._lastSocketTimeoutTime;if(e>=2e4&&t>=2e4&&n>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=Date.now(),this._onSocketTimeout.fire({unacknowledgedMsgCount:this._outgoingUnackMsg.length(),timeSinceOldestUnacknowledgedMsg:e,timeSinceLastReceivedSomeData:t});return}let o=Math.max(2e4-e,2e4-t,2e4-n,500);this._outgoingAckTimeout=setTimeout(()=>{this._outgoingAckTimeout=null,this._recvAckCheck()},o)}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;let r=new wn(3,0,this._incomingAckId,Fo());this._socketWriter.write(r)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let r=new wn(9,0,this._incomingAckId,Fo());this._socketWriter.write(r)}}});import{createHash as j1}from"crypto";import{createConnection as z1,createServer as PD}from"net";import{createDeflateRaw as ED,createInflateRaw as TD}from"zlib";function G1(i,r,{debugLabel:e,skipWebSocketFrames:t=!1,disableWebSocketCompression:n=!1,enableMessageSplitting:o=!0}){if(i.headers.upgrade===void 0||i.headers.upgrade.toLowerCase()!=="websocket"){r.end("HTTP/1.1 400 Bad Request");return}let s=i.headers["sec-websocket-key"],a=j1("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")}`],d=!1;if(!t&&!n&&i.headers["sec-websocket-extensions"]){let u=Array.isArray(i.headers["sec-websocket-extensions"])?i.headers["sec-websocket-extensions"]:[i.headers["sec-websocket-extensions"]];for(let f of u)if(!/\b((server_max_window_bits)|(server_no_context_takeover)|(client_no_context_takeover))\b/.test(f)){if(/\b(permessage-deflate)\b/.test(f)){d=!0,c.push("Sec-WebSocket-Extensions: permessage-deflate");break}if(/\b(x-webkit-deflate-frame)\b/.test(f)){d=!0,c.push("Sec-WebSocket-Extensions: x-webkit-deflate-frame");break}}}return r.write(c.join(`\r
`)+`\r
\r
`),r.setTimeout(0),r.setNoDelay(!0),t?new Yi(r,e):new _v(new Yi(r,e),d,null,!0,o)}function _D(i,r){if(r===0)return;let e=i.byteLength>>>2;for(let l=0;l<e;l++){let c=i.readUInt32BE(l*4);i.writeUInt32BE(c^r,l*4)}let t=e*4,n=i.byteLength-t,o=r>>>24&255,s=r>>>16&255,a=r>>>8&255;n>=1&&i.writeUInt8(i.readUInt8(t)^o,t),n>=2&&i.writeUInt8(i.readUInt8(t+1)^s,t+1),n>=3&&i.writeUInt8(i.readUInt8(t+2)^a,t+2)}function J1(i,r,e){let n=j1("sha256").update(i).digest("hex").substr(0,8);if(process.platform==="win32")return`\\\\.\\pipe\\${n}-${e}-${r}-sock`;let o=e.substr(0,4),s=r.substr(0,6),a;return process.platform!=="darwin"&&yf&&!process.env.VSCODE_PORTABLE?a=B(yf,`vscode-${n}-${o}-${s}.sock`):a=B(i,`${o}-${s}.sock`),RD(a),a}function RD(i){let r=kD[Bi];typeof r=="number"&&i.length>=r&&console.warn(`WARNING: IPC handle "${i}" is longer than ${r} chars, try a shorter --user-data-dir`)}function Q1(i){return new Promise((r,e)=>{let t=PD();t.on("error",e),t.listen(i,()=>{t.removeListener("error",e),r(new Lv(t))})})}function X1(i,r){return new Promise((e,t)=>{let n,o=()=>{n.removeListener("error",t),e(Ld.fromSocket(new Yi(n,`ipc-client${r}`),r))};typeof i=="string"?n=z1(i,o):n=z1(i,o),n.once("error",t)})}var CD,Yi,_v,kv,Rv,Dv,yf,kD,Lv,Ad=w(()=>{it();He();J();$();_e();te();er();Ii();Cv();CD=3e4,Yi=class{constructor(r,e=""){this._canWrite=!0;this.debugLabel=e,this.socket=r,this.traceSocketEvent("created",{type:"NodeSocket"}),this._errorListener=n=>{if(this.traceSocketEvent("error",{code:n?.code,message:n?.message}),n){if(n.code==="EPIPE")return;nt(n)}},this.socket.on("error",this._errorListener);let t;this._closeListener=n=>{this.traceSocketEvent("close",{hadError:n}),this._canWrite=!1,t&&clearTimeout(t)},this.socket.on("close",this._closeListener),this._endListener=()=>{this.traceSocketEvent("nodeEndReceived"),this._canWrite=!1,t=setTimeout(()=>r.destroy(),CD)},this.socket.on("end",this._endListener)}traceSocketEvent(r,e){Tv.traceSocketEvent(this.socket,this.debugLabel,r,e)}dispose(){this.socket.off("error",this._errorListener),this.socket.off("close",this._closeListener),this.socket.off("end",this._endListener),this.socket.destroy()}onData(r){let e=t=>{this.traceSocketEvent("read",t),r(H.wrap(t))};return this.socket.on("data",e),{dispose:()=>this.socket.off("data",e)}}onClose(r){let e=t=>{r({type:0,hadError:t,error:void 0})};return this.socket.on("close",e),{dispose:()=>this.socket.off("close",e)}}onEnd(r){let e=()=>{r()};return this.socket.on("end",e),{dispose:()=>this.socket.off("end",e)}}write(r){if(!(this.socket.destroyed||!this._canWrite))try{this.traceSocketEvent("write",r),this.socket.write(r.buffer,e=>{if(e){if(e.code==="EPIPE")return;nt(e)}})}catch(e){if(e.code==="EPIPE")return;nt(e)}}end(){this.traceSocketEvent("nodeEndSent"),this.socket.end()}drain(){return this.traceSocketEvent("nodeDrainBegin"),new Promise((r,e)=>{if(this.socket.bufferSize===0){this.traceSocketEvent("nodeDrainEnd"),r();return}let t=()=>{this.socket.off("close",t),this.socket.off("end",t),this.socket.off("error",t),this.socket.off("timeout",t),this.socket.off("drain",t),this.traceSocketEvent("nodeDrainEnd"),r()};this.socket.on("close",t),this.socket.on("end",t),this.socket.on("error",t),this.socket.on("timeout",t),this.socket.on("drain",t)})}},_v=class extends _{constructor(e,t,n,o,s=!0){super();this._onData=this._register(new S);this._onClose=this._register(new S);this._isEnded=!1;this._state={state:1,readLen:2,fin:0,compressed:!1,firstFrameOfMessage:!0,mask:0,opcode:0};this.socket=e,this._maxSocketMessageLength=s?262144:1/0,this.traceSocketEvent("created",{type:"WebSocketNodeSocket",permessageDeflate:t,inflateBytesLength:n?.byteLength||0,recordInflateBytes:o}),this._flowManager=this._register(new kv(this,t,n,o,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),nt(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._incomingData=new _d,this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await x.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,t){this.socket.traceSocketEvent(e,t)}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 t=0;for(;t<e.byteLength;)this._flowManager.writeMessage(e.slice(t,Math.min(t+this._maxSocketMessageLength,e.byteLength)),{compressed:!0,opcode:2}),t+=this._maxSocketMessageLength}_write(e,{compressed:t,opcode:n}){if(this._isEnded)return;this.traceSocketEvent("webSocketNodeSocketWrite",e);let o=2;e.byteLength<126?o+=0:e.byteLength<2**16?o+=2:o+=8;let s=H.alloc(o),a=t?64:0,l=n&15;if(s.writeUInt8(128|a|l,0),e.byteLength<126)s.writeUInt8(e.byteLength,1);else if(e.byteLength<2**16){s.writeUInt8(126,1);let c=1;s.writeUInt8(e.byteLength>>>8&255,++c),s.writeUInt8(e.byteLength>>>0&255,++c)}else{s.writeUInt8(127,1);let c=1;s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(0,++c),s.writeUInt8(e.byteLength>>>24&255,++c),s.writeUInt8(e.byteLength>>>16&255,++c),s.writeUInt8(e.byteLength>>>8&255,++c),s.writeUInt8(e.byteLength>>>0&255,++c)}this.socket.write(H.concat([s,e]))}end(){this._isEnded=!0,this.socket.end()}_acceptChunk(e){if(e.byteLength!==0){for(this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;)if(this._state.state===1){let t=this._incomingData.peek(this._state.readLen),n=t.readUInt8(0),o=(n&128)>>>7,s=(n&64)>>>6,a=n&15,l=t.readUInt8(1),c=(l&128)>>>7,d=l&127;this._state.state=2,this._state.readLen=2+(c?4:0)+(d===126?2:0)+(d===127?8:0),this._state.fin=o,this._state.firstFrameOfMessage&&(this._state.compressed=!!s),this._state.firstFrameOfMessage=!!o,this._state.mask=0,this._state.opcode=a,this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{headerSize:this._state.readLen,compressed:this._state.compressed,fin:this._state.fin,opcode:this._state.opcode})}else if(this._state.state===2){let t=this._incomingData.read(this._state.readLen),n=t.readUInt8(1),o=(n&128)>>>7,s=n&127,a=1;s===126?s=t.readUInt8(++a)*2**8+t.readUInt8(++a):s===127&&(s=t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*0+t.readUInt8(++a)*2**24+t.readUInt8(++a)*2**16+t.readUInt8(++a)*2**8+t.readUInt8(++a));let l=0;o&&(l=t.readUInt8(++a)*2**24+t.readUInt8(++a)*2**16+t.readUInt8(++a)*2**8+t.readUInt8(++a)),this._state.state=3,this._state.readLen=s,this._state.mask=l,this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{bodySize:this._state.readLen,compressed:this._state.compressed,fin:this._state.fin,mask:this._state.mask,opcode:this._state.opcode})}else if(this._state.state===3){let t=this._incomingData.read(this._state.readLen);this.traceSocketEvent("webSocketNodeSocketReadData",t),_D(t,this._state.mask),this.traceSocketEvent("webSocketNodeSocketUnmaskedData",t),this._state.state=1,this._state.readLen=2,this._state.mask=0,this._state.opcode<=2?this._flowManager.acceptFrame(t,this._state.compressed,!!this._state.fin):this._state.opcode===9&&this._flowManager.writeMessage(t,{compressed:!1,opcode:10})}}}async drain(){this.traceSocketEvent("webSocketNodeSocketDrainBegin"),this._flowManager.isProcessingWriteQueue()&&await x.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},kv=class extends _{constructor(e,t,n,o,s,a){super();this._tracer=e;this._onData=s;this._writeFn=a;this._onError=this._register(new S);this.onError=this._onError.event;this._writeQueue=[];this._readQueue=[];this._onDidFinishProcessingReadQueue=this._register(new S);this.onDidFinishProcessingReadQueue=this._onDidFinishProcessingReadQueue.event;this._onDidFinishProcessingWriteQueue=this._register(new S);this.onDidFinishProcessingWriteQueue=this._onDidFinishProcessingWriteQueue.event;this._isProcessingWriteQueue=!1;this._isProcessingReadQueue=!1;t?(this._zlibInflateStream=this._register(new Rv(this._tracer,o,n,{windowBits:15})),this._zlibDeflateStream=this._register(new Dv(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:H.alloc(0)}setRecordInflateBytes(e){this._zlibInflateStream?.setRecordInflateBytes(e)}writeMessage(e,t){this._writeQueue.push({data:e,options:t}),this._processWriteQueue()}async _processWriteQueue(){if(!this._isProcessingWriteQueue){for(this._isProcessingWriteQueue=!0;this._writeQueue.length>0;){let{data:e,options:t}=this._writeQueue.shift();if(this._zlibDeflateStream&&t.compressed){let n=await this._deflateMessage(this._zlibDeflateStream,e);this._writeFn(n,t)}else this._writeFn(e,{...t,compressed:!1})}this._isProcessingWriteQueue=!1,this._onDidFinishProcessingWriteQueue.fire()}}isProcessingWriteQueue(){return this._isProcessingWriteQueue}_deflateMessage(e,t){return new Promise((n,o)=>{e.write(t),e.flush(s=>n(s))})}acceptFrame(e,t,n){this._readQueue.push({data:e,isCompressed:t,isLastFrameOfMessage:n}),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 t=await this._inflateFrame(this._zlibInflateStream,e.data,e.isLastFrameOfMessage);this._onData.fire(t)}else this._onData.fire(e.data)}this._isProcessingReadQueue=!1,this._onDidFinishProcessingReadQueue.fire()}}isProcessingReadQueue(){return this._isProcessingReadQueue}_inflateFrame(e,t,n){return new Promise((o,s)=>{e.write(t),n&&e.write(H.fromByteArray([0,0,255,255])),e.flush(a=>o(a))})}},Rv=class extends _{constructor(e,t,n,o){super();this._tracer=e;this._onError=this._register(new S);this.onError=this._onError.event;this._recordedInflateBytes=[];this._pendingInflateData=[];this._recordInflateBytes=t,this._zlibInflate=TD(o),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(H.wrap(s))}),n&&(this._tracer.traceSocketEvent("zlibInflateInitialWrite",n.buffer),this._zlibInflate.write(n.buffer),this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateInitialFlushFired"),this._pendingInflateData.length=0}))}get recordedInflateBytes(){return this._recordInflateBytes?H.concat(this._recordedInflateBytes):H.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 t=H.concat(this._pendingInflateData);this._pendingInflateData.length=0,e(t)})}dispose(){this._recordedInflateBytes.length=0,this._pendingInflateData.length=0;try{this._zlibInflate.close()}catch{}super.dispose()}},Dv=class extends _{constructor(e,t){super();this._tracer=e;this._onError=this._register(new S);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=ED({windowBits:15}),this._zlibDeflate.on("error",n=>{this._tracer.traceSocketEvent("zlibDeflateError",{message:n?.message,code:n?.code}),this._onError.fire(n)}),this._zlibDeflate.on("data",n=>{this._tracer.traceSocketEvent("zlibDeflateData",n),this._pendingDeflateData.push(H.wrap(n))})}write(e){this._tracer.traceSocketEvent("zlibDeflateWrite",e.buffer),this._zlibDeflate.write(e.buffer)}flush(e){this._zlibDeflate.flush(2,()=>{this._tracer.traceSocketEvent("zlibDeflateFlushFired");let t=H.concat(this._pendingDeflateData);this._pendingDeflateData.length=0,t=t.slice(0,t.byteLength-4),e(t)})}dispose(){this._pendingDeflateData.length=0;try{this._zlibDeflate.close()}catch{}super.dispose()}};yf=process.env.XDG_RUNTIME_DIR,kD={2:107,1:103};Lv=class i extends Ga{static toClientConnectionEvent(r){let e=x.fromNodeEventEmitter(r,"connection");return x.map(e,t=>({protocol:new Dd(new Yi(t,"ipc-server-connection")),onDidClientDisconnect:x.once(x.fromNodeEventEmitter(t,"close"))}))}constructor(r){super(i.toClientConnectionEvent(r)),this.server=r}dispose(){super.dispose(),this.server&&(this.server.close(),this.server=null)}}});import Md from"electron";var Mv,et,Dn=w(()=>{He();qe();Mv=class{constructor(){this.mapListenerToWrapper=new WeakMap}on(r,e){let t=(n,...o)=>{this.validateEvent(r,n)&&e(n,...o)};return this.mapListenerToWrapper.set(e,t),Md.ipcMain.on(r,t),this}once(r,e){return Md.ipcMain.once(r,(t,...n)=>{this.validateEvent(r,t)&&e(t,...n)}),this}handle(r,e){return Md.ipcMain.handle(r,(t,...n)=>this.validateEvent(r,t)?e(t,...n):Promise.reject(`Invalid channel '${r}' or sender for ipcMain.handle() usage.`)),this}removeHandler(r){return Md.ipcMain.removeHandler(r),this}removeListener(r,e){let t=this.mapListenerToWrapper.get(e);return t&&(Md.ipcMain.removeListener(r,t),this.mapListenerToWrapper.delete(e)),this}validateEvent(r,e){if(!r?.startsWith("vscode:"))return nt(`Refused to handle ipcMain event for channel '${r}' because the channel is unknown.`),!1;let t=e.senderFrame,n=t?.url;if(!n||n==="about:blank")return!0;let o="unknown";try{o=new URL(n).host}catch{return nt(`Refused to handle ipcMain event for channel '${r}' because of a malformed URL '${n}'.`),!1}return process.env.VSCODE_DEV&&n===process.env.DEV_WINDOW_SRC&&(o==="localhost"||o.startsWith("localhost:"))?!0:o!==La?(nt(`Refused to handle ipcMain event for channel '${r}' because of a bad origin of '${o}'.`),!1):t?.parent!==null?(nt(`Refused to handle ipcMain event for channel '${r}' because sender of origin '${o}' is not a main frame.`),!1):!0}},et=new Mv});import*as Od from"os";async function wf(){if(Wo)return;if(!W){Wo={release:Od.release(),buildNumber:0};return}let i,r;try{let e=await import("@vscode/windows-registry"),t="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",n=e.GetStringRegKey("HKEY_LOCAL_MACHINE",t,"CurrentBuild");n!==void 0&&(i=parseInt(n,10),isNaN(i)&&(i=void 0));let o=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",t,"CurrentMajorVersionNumber"),s=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",t,"CurrentMinorVersionNumber");o!==void 0&&s!==void 0&&n!==void 0&&(r=`${o}.${s}.${n}`)}catch{}finally{Wo={release:r||Od.release(),buildNumber:i||DD()}}}async function Y1(){return Wo||await wf(),Wo.release}async function If(){return Wo||await wf(),Wo.buildNumber}function Z1(){return Wo?.release??Od.release()}function DD(){let i=/(\d+)\.(\d+)\.(\d+)/g.exec(Od.release());return i&&i.length===4?parseInt(i[3],10):0}var Wo,Qa=w(()=>{te()});var ex,tx,rx=w(()=>{ex="vscode:contextmenu",tx="vscode:onCloseContextMenu"});import{Menu as LD,MenuItem as Ov}from"electron";function nx(){et.on(ex,(i,r,e,t,n)=>{let o=ix(i,t,e);o.popup({x:n?n.x:void 0,y:n?n.y:void 0,positioningItem:n?n.positioningItem:void 0,callback:()=>{o&&i.sender.send(tx,r)}})})}function ix(i,r,e){let t=new LD;return e.forEach(n=>{let o;n.type==="separator"?o=new Ov({type:n.type}):Array.isArray(n.submenu)?o=new Ov({submenu:ix(i,r,n.submenu),label:n.label}):o=new Ov({label:n.label,type:n.type,accelerator:n.accelerator,checked:n.checked,enabled:n.enabled,visible:n.visible,click:(s,a,l)=>i.sender.send(r,n.id,l)}),t.append(o)}),t}var ox=w(()=>{Dn();rx()});var bf,sx=w(()=>{bf=class{constructor(r,e){this.sender=r;this.onMessage=e}send(r){try{this.sender.send("vscode:message",r.buffer)}catch{}}disconnect(){this.sender.send("vscode:disconnect",null)}}});function ax(i,r){let e=x.fromNodeEventEmitter(et,r,(n,o)=>({event:n,message:o})),t=x.filter(e,({event:n})=>n.sender.id===i);return x.map(t,({message:n})=>n&&H.wrap(n))}var Sf,lx=w(()=>{Dn();it();J();$();Ii();sx();Sf=class i extends Ga{static{this.Clients=new Map}static getOnDidClientConnect(){let r=x.fromNodeEventEmitter(et,"vscode:hello",({sender:e})=>e);return x.map(r,e=>{let t=e.id;i.Clients.get(t)?.dispose();let o=new S;i.Clients.set(t,G(()=>o.fire()));let s=ax(t,"vscode:message"),a=x.any(x.signal(ax(t,"vscode:disconnect")),o.event);return{protocol:new bf(e,s),onDidClientDisconnect:a}})}constructor(){super(i.getOnDidClientConnect())}}});var Fv,xf,cx=w(()=>{it();J();Ii();Fv=class{constructor(r){this.port=r;this.onMessage=x.fromDOMEventEmitter(this.port,"message",e=>e.data?H.wrap(e.data):H.alloc(0)),r.start()}send(r){this.port.postMessage(r.buffer)}disconnect(){this.port.close()}},xf=class extends Ja{constructor(r,e){let t=new Fv(r);super(t,e),this.protocol=t}dispose(){this.protocol.disconnect(),super.dispose()}}});var Uo,Pf=w(()=>{Dn();J();er();cx();Uo=class extends xf{constructor(r,e){super({addEventListener:(t,n)=>r.addListener(t,n),removeEventListener:(t,n)=>r.removeListener(t,n),postMessage:t=>r.postMessage(t),start:()=>r.start(),close:()=>r.close()},e)}}});function lr(i){return Uv(i,0)}function Uv(i,r){switch(typeof i){case"object":return i===null?Zi(349,r):Array.isArray(i)?MD(i,r):OD(i,r);case"string":return ux(i,r);case"boolean":return AD(i,r);case"number":return Zi(i,r);case"undefined":return Zi(937,r);default:return Zi(617,r)}}function Zi(i,r){return(r<<5)-r+i|0}function AD(i,r){return Zi(i?433:863,r)}function ux(i,r){r=Zi(149417,r);for(let e=0,t=i.length;e<t;e++)r=Zi(i.charCodeAt(e),r);return r}function MD(i,r){return r=Zi(104579,r),i.reduce((e,t)=>Uv(t,e),r)}function OD(i,r){return r=Zi(181387,r),Object.keys(i).sort().reduce((e,t)=>(e=ux(t,e),Uv(i[t],e)),r)}function Wv(i,r,e=32){let t=e-r,n=~((1<<t)-1);return(i<<r|(n&i)>>>t)>>>0}function Fd(i,r=32){return i instanceof ArrayBuffer?N1(H.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(r/4,"0")}var dx,bi=w(()=>{it();sr();dx=class i{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(r){let e=r.length;if(e===0)return;let t=this._buff,n=this._buffLen,o=this._leftoverHighSurrogate,s,a;for(o!==0?(s=o,a=-1,o=0):(s=r.charCodeAt(0),a=0);;){let l=s;if(ES(s))if(a+1<e){let c=r.charCodeAt(a+1);Jg(c)?(a++,l=TS(s,c)):l=65533}else{o=s;break}else Jg(s)&&(l=65533);if(n=this._push(t,n,l),a++,a<e)s=r.charCodeAt(a);else break}this._buffLen=n,this._leftoverHighSurrogate=o}_push(r,e,t){return t<128?r[e++]=t:t<2048?(r[e++]=192|(t&1984)>>>6,r[e++]=128|(t&63)>>>0):t<65536?(r[e++]=224|(t&61440)>>>12,r[e++]=128|(t&4032)>>>6,r[e++]=128|(t&63)>>>0):(r[e++]=240|(t&1835008)>>>18,r[e++]=128|(t&258048)>>>12,r[e++]=128|(t&4032)>>>6,r[e++]=128|(t&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,r[0]=r[64],r[1]=r[65],r[2]=r[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()),Fd(this._h0)+Fd(this._h1)+Fd(this._h2)+Fd(this._h3)+Fd(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 r=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(r/4294967296),!1),this._buffDV.setUint32(60,r%4294967296,!1),this._step()}_step(){let r=i._bigBlock32,e=this._buffDV;for(let u=0;u<64;u+=4)r.setUint32(u,e.getUint32(u,!1),!1);for(let u=64;u<320;u+=4)r.setUint32(u,Wv(r.getUint32(u-12,!1)^r.getUint32(u-32,!1)^r.getUint32(u-56,!1)^r.getUint32(u-64,!1),1),!1);let t=this._h0,n=this._h1,o=this._h2,s=this._h3,a=this._h4,l,c,d;for(let u=0;u<80;u++)u<20?(l=n&o|~n&s,c=1518500249):u<40?(l=n^o^s,c=1859775393):u<60?(l=n&o|n&s|o&s,c=2400959708):(l=n^o^s,c=3395469782),d=Wv(t,5)+l+a+c+r.getUint32(u*4,!1)&4294967295,a=s,s=o,o=Wv(n,30),n=t,t=d;this._h0=this._h0+t&4294967295,this._h1=this._h1+n&4294967295,this._h2=this._h2+o&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}});var lN,Wd,Ef=w(()=>{re();lN=M("encryptionService"),Wd=M("encryptionMainService")});var zr,Or,un=w(()=>{re();zr=M("environmentService"),Or=zr});function px(i){return i.getFullYear()+"-"+String(i.getMonth()+1).padStart(2,"0")+"-"+String(i.getDate()).padStart(2,"0")+"T"+String(i.getHours()).padStart(2,"0")+":"+String(i.getMinutes()).padStart(2,"0")+":"+String(i.getSeconds()).padStart(2,"0")+"."+(i.getMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}var FD,WD,Bv,hN,gN,vN,fx=w(()=>{Te();Eo();te();FD=60,WD=FD*60,Bv=WD*24,hN=Bv*7,gN=Bv*30,vN=Bv*365});function UD(i,r){return Ud(i["inspect-extensions"],i["inspect-brk-extensions"],5870,r,i.debugId,i.extensionEnvironment)}function Ud(i,r,e,t,n,o){let a=Number(r||i)||(t?null:e),l=a?!!r:!1,c;if(o)try{c=JSON.parse(o)}catch{}return{port:a,break:l,debugId:n,env:c}}var mx,Ve,hx=w(()=>{fx();Mo();qe();_e();$n();It();le();mx=/^([^.]+\..+)[:=](.+)$/,Ve=class{constructor(r,e,t){this._args=r;this.paths=e;this.productService=t}get appRoot(){return Ze(st.asFileUri("").fsPath)}get userHome(){return E.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return E.file(B(this.userDataPath,"User"))}get tmpDir(){return E.file(this.paths.tmpDir)}get cacheHome(){return E.file(this.userDataPath)}get stateResource(){return me(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:F.vscodeUserData})}get userDataSyncHome(){return me(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let r=px(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=B(this.userDataPath,"logs",r)}return E.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return me(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return me(this.appSettingsHome,"History")}get keyboardLayoutResource(){return me(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let r=or.VSCODE_PORTABLE;return r?E.file(B(r,"argv.json")):me(this.userHome,this.productService.dataFolderName,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return E.file(B(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let r=this.args["builtin-extensions-dir"];return r?$r(r):Ct(B(st.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let r=this.args["extensions-download-dir"];return r?E.file($r(r)):E.file(B(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let r=this.args["extensions-dir"];if(r)return $r(r);let e=or.VSCODE_EXTENSIONS;if(e)return e;let t=or.VSCODE_PORTABLE;return t?B(t,"extensions"):me(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get agentPluginsPath(){let r=this.args["agent-plugins-dir"];if(r)return $r(r);let e=or.VSCODE_AGENT_PLUGINS;if(e)return e;let t=or.VSCODE_PORTABLE;return t?B(t,"agent-plugins"):me(this.userHome,this.productService.dataFolderName,"agent-plugins").fsPath}get extensionDevelopmentLocationURI(){let r=this.args.extensionDevelopmentPath;if(Array.isArray(r))return r.map(e=>/^[^:/?#]+?:\/\//.test(e)?E.parse(e):E.file(Ct(e)))}get extensionDevelopmentKind(){return this.args.extensionDevelopmentKind?.map(r=>r==="ui"||r==="workspace"||r==="web"?r:"workspace")}get extensionTestsLocationURI(){let r=this.args.extensionTestsPath;if(r)return/^[^:/?#]+?:\/\//.test(r)?E.parse(r):E.file(Ct(r))}get disableExtensions(){if(this.args["disable-extensions"])return!0;let r=this.args["disable-extension"];if(r){if(typeof r=="string")return[r];if(Array.isArray(r)&&r.length>0)return r}return!1}get debugExtensionHost(){return UD(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!or.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(r=>!mx.test(r))}get extensionLogLevel(){let r=[];for(let e of this.args.log||[]){let t=mx.exec(e);t?.[1]&&t[2]&&r.push([t[1],t[2]])}return r.length?r:void 0}get serviceMachineIdResource(){return me(E.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 r=or.VSCODE_PORTABLE;return r?E.file(B(r,"policy.json")):me(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return me(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(r){this.args.continueOn=r}get args(){return this._args}};T([ce],Ve.prototype,"appRoot",1),T([ce],Ve.prototype,"userHome",1),T([ce],Ve.prototype,"userDataPath",1),T([ce],Ve.prototype,"appSettingsHome",1),T([ce],Ve.prototype,"tmpDir",1),T([ce],Ve.prototype,"cacheHome",1),T([ce],Ve.prototype,"stateResource",1),T([ce],Ve.prototype,"userRoamingDataHome",1),T([ce],Ve.prototype,"userDataSyncHome",1),T([ce],Ve.prototype,"sync",1),T([ce],Ve.prototype,"workspaceStorageHome",1),T([ce],Ve.prototype,"localHistoryHome",1),T([ce],Ve.prototype,"keyboardLayoutResource",1),T([ce],Ve.prototype,"argvResource",1),T([ce],Ve.prototype,"isExtensionDevelopment",1),T([ce],Ve.prototype,"untitledWorkspacesHome",1),T([ce],Ve.prototype,"builtinExtensionsPath",1),T([ce],Ve.prototype,"extensionsDownloadLocation",1),T([ce],Ve.prototype,"extensionsPath",1),T([ce],Ve.prototype,"agentPluginsPath",1),T([ce],Ve.prototype,"extensionDevelopmentLocationURI",1),T([ce],Ve.prototype,"extensionDevelopmentKind",1),T([ce],Ve.prototype,"extensionTestsLocationURI",1),T([ce],Ve.prototype,"debugExtensionHost",1),T([ce],Ve.prototype,"logLevel",1),T([ce],Ve.prototype,"extensionLogLevel",1),T([ce],Ve.prototype,"serviceMachineIdResource",1),T([ce],Ve.prototype,"disableTelemetry",1),T([ce],Ve.prototype,"disableExperiments",1),T([ce],Ve.prototype,"disableWorkspaceTrust",1),T([ce],Ve.prototype,"useInMemorySecretStorage",1),T([ce],Ve.prototype,"policyFile",1),T([ce],Ve.prototype,"agentSessionsWorkspace",1)});import{homedir as ND,tmpdir as BD}from"os";function gx(i,r){return Ud(i["inspect-ptyhost"],i["inspect-brk-ptyhost"],5877,r,i.extensionEnvironment)}function vx(i,r){return Ud(i["inspect-agenthost"],i["inspect-brk-agenthost"],5878,r,i.extensionEnvironment)}function yx(i,r){return Ud(i["inspect-sharedprocess"],i["inspect-brk-sharedprocess"],5879,r,i.extensionEnvironment)}var Tf,Nd=w(()=>{hx();Sg();Tf=class extends Ve{constructor(r,e){super(r,{homeDir:ND(),tmpDir:BD(),userDataDir:hp(r,e.nameShort)},e)}}});var Ce,In,Rt=w(()=>{Mo();_e();te();Ad();un();Nd();re();Ce=zr,In=class extends Tf{constructor(){super(...arguments);this._snapEnv={}}get backupHome(){return B(this.userDataPath,"Backups")}get mainIPCHandle(){return J1(this.userDataPath,"main",this.productService.version)}get mainLockfile(){return B(this.userDataPath,"code.lock")}get disableUpdates(){return!!this.args["disable-updates"]}get isPortable(){return!!process.env.VSCODE_PORTABLE}get crossOriginIsolated(){return!!this.args["enable-coi"]}get enableRDPDisplayTracking(){return!!this.args["enable-rdp-display-tracking"]}get codeCachePath(){return process.env.VSCODE_CODE_CACHE_PATH||void 0}get useCodeCache(){return!!this.codeCachePath}unsetSnapExportedVariables(){if(ne){for(let e in process.env)if(e.endsWith("_VSCODE_SNAP_ORIG")){let t=e.slice(0,-17);if(this._snapEnv[t])continue;process.env[t]&&(this._snapEnv[t]=process.env[t]),process.env[e]?process.env[t]=process.env[e]:delete process.env[t]}}}restoreSnapExportedVariables(){if(ne)for(let e in this._snapEnv)process.env[e]=this._snapEnv[e],delete this._snapEnv[e]}};T([ce],In.prototype,"backupHome",1),T([ce],In.prototype,"mainIPCHandle",1),T([ce],In.prototype,"mainLockfile",1),T([ce],In.prototype,"disableUpdates",1),T([ce],In.prototype,"isPortable",1),T([ce],In.prototype,"crossOriginIsolated",1),T([ce],In.prototype,"enableRDPDisplayTracking",1),T([ce],In.prototype,"codeCachePath",1),T([ce],In.prototype,"useCodeCache",1)});function Vv(...i){switch(i.length){case 1:return h(1931,null,i[0]);case 2:return h(1932,null,i[0],i[1]);case 3:return h(1933,null,i[0],i[1],i[2]);default:return}}var VD,HD,No,wx=w(()=>{jn();He();Te();VD=h(1930,null),HD=h(1929,null),No=class i{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(r){switch(r.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return r.isTripleEq?"===":"==";case 4:return r.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return r.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 r.lexeme;case 18:return r.lexeme;case 19:return r.lexeme;case 20:return"EOF";default:throw Dp(`unhandled token type: ${JSON.stringify(r)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(r=>r.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(r){return this._input=r,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(Vv("==","=~"));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(Vv("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Vv("||"));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(r){return this._isAtEnd()||this._input.charCodeAt(this._current)!==r?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(r){this._tokens.push({type:r,offset:this._start})}_error(r){let e=this._start,t=this._input.substring(this._start,this._current),n={type:19,offset:this._start,lexeme:t};this._errors.push({offset:e,lexeme:t,additionalInfo:r}),this._tokens.push(n)}_string(){this.stringRe.lastIndex=this._start;let r=this.stringRe.exec(this._input);if(r){this._current=this._start+r[0].length;let e=this._input.substring(this._start,this._current),t=i._keywords.get(e);t?this._addToken(t):this._tokens.push({type:17,lexeme:e,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(VD);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let r=this._current,e=!1,t=!1;for(;;){if(r>=this._input.length){this._current=r,this._error(HD);return}let o=this._input.charCodeAt(r);if(e)e=!1;else if(o===47&&!t){r++;break}else o===91?t=!0:o===92?e=!0:o===93&&(t=!1);r++}for(;r<this._input.length&&i._regexFlags.has(this._input.charCodeAt(r));)r++;this._current=r;let n=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:n,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}});function Bd(i,r){return i.cmp(r)}function Df(i,r){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?r(i):Tr.INSTANCE}function Sx(i){let r=null;for(let e=0,t=i.length;e<t;e++){let n=i[e].substituteConstants();if(i[e]!==n&&r===null){r=[];for(let o=0;o<e;o++)r[o]=i[o]}r!==null&&(r[e]=n)}return r===null?i:r}function xx(i,r){return i<r?-1:i>r?1:0}function Fs(i,r,e,t){return i<e?-1:i>e?1:r<t?-1:r>t?1:0}function bx(i){return i.type===9?i.expr:[i]}var cr,$D,qD,KD,zD,jD,Ix,GD,JD,QD,XD,Hv,vr,Tr,Fr,Ms,Vd,Cf,_f,Hd,Os,Xa,$d,qd,Kd,zd,$v,kf,jd,Rf,n7,Px=w(()=>{jn();te();sr();wx();re();Te();He();cr=new Map;cr.set("false",!1);cr.set("true",!0);cr.set("isMac",V);cr.set("isLinux",ne);cr.set("isWindows",W);cr.set("isWeb",Dr);cr.set("isMacNative",V&&!Dr);cr.set("isEdge",Lb);cr.set("isFirefox",Rb);cr.set("isChrome",Cg);cr.set("isSafari",Db);$D=Object.prototype.hasOwnProperty,qD={regexParsingWithErrorRecovery:!0},KD=h(1910,null),zD=h(1911,null),jD=h(1913,null),Ix=h(1909,null),GD=h(1916,null),JD=h(1917,null),QD=h(1914,null),XD=h(1915,null),Hv=class i{constructor(r=qD){this._config=r;this._scanner=new No;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(r){if(r===""){this._parsingErrors.push({message:KD,offset:0,lexeme:"",additionalInfo:zD});return}this._tokens=this._scanner.reset(r).scan(),this._current=0,this._parsingErrors=[];try{let e=this._expr();if(!this._isAtEnd()){let t=this._peek(),n=t.type===17?JD:void 0;throw this._parsingErrors.push({message:GD,offset:t.offset,lexeme:No.getLexeme(t),additionalInfo:n}),i._parseError}return e}catch(e){if(e!==i._parseError)throw e;return}}_expr(){return this._or()}_or(){let r=[this._and()];for(;this._matchOne(16);){let e=this._and();r.push(e)}return r.length===1?r[0]:vr.or(...r)}_and(){let r=[this._term()];for(;this._matchOne(15);){let e=this._term();r.push(e)}return r.length===1?r[0]:vr.and(...r)}_term(){if(this._matchOne(2)){let r=this._peek();switch(r.type){case 11:return this._advance(),Tr.INSTANCE;case 12:return this._advance(),Fr.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,Ix),e?.negate()}case 17:return this._advance(),Os.create(r.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",r)}}return this._primary()}_primary(){let r=this._peek();switch(r.type){case 11:return this._advance(),vr.true();case 12:return this._advance(),vr.false();case 0:{this._advance();let e=this._expr();return this._consume(1,Ix),e}case 17:{let e=r.lexeme;if(this._advance(),this._matchOne(9)){let n=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),n.type!==10)throw this._errExpectedButGot("REGEX",n);let o=n.lexeme,s=o.lastIndexOf("/"),a=s===o.length-1?void 0:this._removeFlagsGY(o.substring(s+1)),l;try{l=new RegExp(o.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",n)}return zd.create(e,l)}switch(n.type){case 10:case 19:{let o=[n.lexeme];this._advance();let s=this._peek(),a=0;for(let f=0;f<n.lexeme.length;f++)n.lexeme.charCodeAt(f)===40?a++:n.lexeme.charCodeAt(f)===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 f=0;f<s.lexeme.length;f++)s.lexeme.charCodeAt(f)===40?a++:n.lexeme.charCodeAt(f)===41&&a--}if(a<0)break;o.push(No.getLexeme(s)),this._advance(),s=this._peek()}let l=o.join(""),c=l.lastIndexOf("/"),d=c===l.length-1?void 0:this._removeFlagsGY(l.substring(c+1)),u;try{u=new RegExp(l.substring(1,c),d)}catch{throw this._errExpectedButGot("REGEX",n)}return vr.regex(e,u)}case 18:{let o=n.lexeme;this._advance();let s=null;if(!SS(o)){let a=o.indexOf("/"),l=o.lastIndexOf("/");if(a!==l&&a>=0){let c=o.slice(a+1,l),d=o[l+1]==="i"?"i":"";try{s=new RegExp(c,d)}catch{throw this._errExpectedButGot("REGEX",n)}}}if(s===null)throw this._errExpectedButGot("REGEX",n);return zd.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,jD);let n=this._value();return vr.notIn(e,n)}switch(this._peek().type){case 3:{this._advance();let n=this._value();if(this._previous().type===18)return vr.equals(e,n);switch(n){case"true":return vr.has(e);case"false":return vr.not(e);default:return vr.equals(e,n)}}case 4:{this._advance();let n=this._value();if(this._previous().type===18)return vr.notEquals(e,n);switch(n){case"true":return vr.not(e);case"false":return vr.has(e);default:return vr.notEquals(e,n)}}case 5:return this._advance(),qd.create(e,this._value());case 6:return this._advance(),Kd.create(e,this._value());case 7:return this._advance(),Xa.create(e,this._value());case 8:return this._advance(),$d.create(e,this._value());case 13:return this._advance(),vr.in(e,this._value());default:return vr.has(e)}}case 20:throw this._parsingErrors.push({message:QD,offset:r.offset,lexeme:"",additionalInfo:XD}),i._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
	| KEY '=~' REGEX 
	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let r=this._peek();switch(r.type){case 17:case 18:return this._advance(),r.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(r){return r.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(r){return this._check(r)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(r,e){if(this._check(r))return this._advance();throw this._errExpectedButGot(e,this._peek())}_errExpectedButGot(r,e,t){let n=h(1912,null,r,No.getLexeme(e)),o=e.offset,s=No.getLexeme(e);return this._parsingErrors.push({message:n,offset:o,lexeme:s,additionalInfo:t}),i._parseError}_check(r){return this._peek().type===r}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},vr=class{static false(){return Tr.INSTANCE}static true(){return Fr.INSTANCE}static has(r){return Ms.create(r)}static equals(r,e){return Vd.create(r,e)}static notEquals(r,e){return Hd.create(r,e)}static regex(r,e){return zd.create(r,e)}static in(r,e){return Cf.create(r,e)}static notIn(r,e){return _f.create(r,e)}static not(r){return Os.create(r)}static and(...r){return kf.create(r,null,!0)}static or(...r){return jd.create(r,null,!0)}static greater(r,e){return Xa.create(r,e)}static greaterEquals(r,e){return $d.create(r,e)}static smaller(r,e){return qd.create(r,e)}static smallerEquals(r,e){return Kd.create(r,e)}static{this._parser=new Hv({regexParsingWithErrorRecovery:!1})}static deserialize(r){return r==null?void 0:this._parser.parse(r)}};Tr=class i{constructor(){this.type=0}static{this.INSTANCE=new i}cmp(r){return this.type-r.type}equals(r){return r.type===this.type}substituteConstants(){return this}evaluate(r){return!1}serialize(){return"false"}keys(){return[]}map(r){return this}negate(){return Fr.INSTANCE}},Fr=class i{constructor(){this.type=1}static{this.INSTANCE=new i}cmp(r){return this.type-r.type}equals(r){return r.type===this.type}substituteConstants(){return this}evaluate(r){return!0}serialize(){return"true"}keys(){return[]}map(r){return this}negate(){return Tr.INSTANCE}},Ms=class i{constructor(r,e){this.key=r;this.negated=e;this.type=2}static create(r,e=null){let t=cr.get(r);return typeof t=="boolean"?t?Fr.INSTANCE:Tr.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:xx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=cr.get(this.key);return typeof r=="boolean"?r?Fr.INSTANCE:Tr.INSTANCE:this}evaluate(r){return!!r.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(r){return r.mapDefined(this.key)}negate(){return this.negated||(this.negated=Os.create(this.key,this)),this.negated}},Vd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=4}static create(r,e,t=null){if(typeof e=="boolean")return e?Ms.create(r,t):Os.create(r,t);let n=cr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Fr.INSTANCE:Tr.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){let r=cr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Fr.INSTANCE:Tr.INSTANCE}return this}evaluate(r){return r.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(r){return r.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Hd.create(this.key,this.value,this)),this.negated}},Cf=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=10;this.negated=null}static create(r,e){return new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.valueKey,r.key,r.valueKey)}equals(r){return r.type===this.type?this.key===r.key&&this.valueKey===r.valueKey:!1}substituteConstants(){return this}evaluate(r){let e=r.getValue(this.valueKey),t=r.getValue(this.key);if(Array.isArray(e)){if(e.includes(t))return!0;if(W&&typeof t=="string"&&t.startsWith("file:///")){let n=t.toLowerCase();return e.some(o=>typeof o=="string"&&o.toLowerCase()===n)}return!1}if(typeof t=="string"&&typeof e=="object"&&e!==null){if($D.call(e,t))return!0;if(W&&t.startsWith("file:///")){let n=t.toLowerCase();return Object.keys(e).some(o=>o.toLowerCase()===n)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(r){return r.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=_f.create(this.key,this.valueKey)),this.negated}},_f=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=11;this._negated=Cf.create(r,e)}static create(r,e){return new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:this._negated.cmp(r._negated)}equals(r){return r.type===this.type?this._negated.equals(r._negated):!1}substituteConstants(){return this}evaluate(r){return!this._negated.evaluate(r)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(r){return r.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Hd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=5}static create(r,e,t=null){if(typeof e=="boolean")return e?Os.create(r,t):Ms.create(r,t);let n=cr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Tr.INSTANCE:Fr.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){let r=cr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Tr.INSTANCE:Fr.INSTANCE}return this}evaluate(r){return r.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(r){return r.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Vd.create(this.key,this.value,this)),this.negated}},Os=class i{constructor(r,e){this.key=r;this.negated=e;this.type=3}static create(r,e=null){let t=cr.get(r);return typeof t=="boolean"?t?Tr.INSTANCE:Fr.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:xx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=cr.get(this.key);return typeof r=="boolean"?r?Tr.INSTANCE:Fr.INSTANCE:this}evaluate(r){return!r.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(r){return r.mapNot(this.key)}negate(){return this.negated||(this.negated=Ms.create(this.key,this)),this.negated}};Xa=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=12}static create(r,e,t=null){return Df(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(r){return r.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=Kd.create(this.key,this.value,this)),this.negated}},$d=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=13}static create(r,e,t=null){return Df(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(r){return r.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=qd.create(this.key,this.value,this)),this.negated}},qd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=14}static create(r,e,t=null){return Df(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(r){return r.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=$d.create(this.key,this.value,this)),this.negated}},Kd=class i{constructor(r,e,t){this.key=r;this.value=e;this.negated=t;this.type=15}static create(r,e,t=null){return Df(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Fs(this.key,this.value,r.key,r.value)}equals(r){return r.type===this.type?this.key===r.key&&this.value===r.value:!1}substituteConstants(){return this}evaluate(r){return typeof this.value=="string"?!1:parseFloat(r.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(r){return r.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Xa.create(this.key,this.value,this)),this.negated}},zd=class i{constructor(r,e){this.key=r;this.regexp=e;this.type=7;this.negated=null}static create(r,e){return new i(r,e)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.key<r.key)return-1;if(this.key>r.key)return 1;let e=this.regexp?this.regexp.source:"",t=r.regexp?r.regexp.source:"";return e<t?-1:e>t?1:0}equals(r){if(r.type===this.type){let e=this.regexp?this.regexp.source:"",t=r.regexp?r.regexp.source:"";return this.key===r.key&&e===t}return!1}substituteConstants(){return this}evaluate(r){let e=r.getValue(this.key);return this.regexp?this.regexp.test(e):!1}serialize(){let r=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${r}`}keys(){return[this.key]}map(r){return r.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=$v.create(this)),this.negated}},$v=class i{constructor(r){this._actual=r;this.type=8}static create(r){return new i(r)}cmp(r){return r.type!==this.type?this.type-r.type:this._actual.cmp(r._actual)}equals(r){return r.type===this.type?this._actual.equals(r._actual):!1}substituteConstants(){return this}evaluate(r){return!this._actual.evaluate(r)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(r){return new i(this._actual.map(r))}negate(){return this._actual}};kf=class i{constructor(r,e){this.expr=r;this.negated=e;this.type=6}static create(r,e,t){return i._normalizeArr(r,e,t)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.expr.length<r.expr.length)return-1;if(this.expr.length>r.expr.length)return 1;for(let e=0,t=this.expr.length;e<t;e++){let n=Bd(this.expr[e],r.expr[e]);if(n!==0)return n}return 0}equals(r){if(r.type===this.type){if(this.expr.length!==r.expr.length)return!1;for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].equals(r.expr[e]))return!1;return!0}return!1}substituteConstants(){let r=Sx(this.expr);return r===this.expr?this:i.create(r,this.negated,!1)}evaluate(r){for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].evaluate(r))return!1;return!0}static _normalizeArr(r,e,t){let n=[],o=!1;for(let s of r)if(s){if(s.type===1){o=!0;continue}if(s.type===0)return Tr.INSTANCE;if(s.type===6){n.push(...s.expr);continue}n.push(s)}if(n.length===0&&o)return Fr.INSTANCE;if(n.length!==0){if(n.length===1)return n[0];n.sort(Bd);for(let s=1;s<n.length;s++)n[s-1].equals(n[s])&&(n.splice(s,1),s--);if(n.length===1)return n[0];for(;n.length>1;){let s=n[n.length-1];if(s.type!==9)break;n.pop();let a=n.pop(),l=n.length===0,c=jd.create(s.expr.map(d=>i.create([d,a],null,t)),null,l);c&&(n.push(c),n.sort(Bd))}if(n.length===1)return n[0];if(t){for(let s=0;s<n.length;s++)for(let a=s+1;a<n.length;a++)if(n[s].negate().equals(n[a]))return Tr.INSTANCE;if(n.length===1)return n[0]}return new i(n,e)}}serialize(){return this.expr.map(r=>r.serialize()).join(" && ")}keys(){let r=[];for(let e of this.expr)r.push(...e.keys());return r}map(r){return new i(this.expr.map(e=>e.map(r)),null)}negate(){if(!this.negated){let r=[];for(let e of this.expr)r.push(e.negate());this.negated=jd.create(r,this,!0)}return this.negated}},jd=class i{constructor(r,e){this.expr=r;this.negated=e;this.type=9}static create(r,e,t){return i._normalizeArr(r,e,t)}cmp(r){if(r.type!==this.type)return this.type-r.type;if(this.expr.length<r.expr.length)return-1;if(this.expr.length>r.expr.length)return 1;for(let e=0,t=this.expr.length;e<t;e++){let n=Bd(this.expr[e],r.expr[e]);if(n!==0)return n}return 0}equals(r){if(r.type===this.type){if(this.expr.length!==r.expr.length)return!1;for(let e=0,t=this.expr.length;e<t;e++)if(!this.expr[e].equals(r.expr[e]))return!1;return!0}return!1}substituteConstants(){let r=Sx(this.expr);return r===this.expr?this:i.create(r,this.negated,!1)}evaluate(r){for(let e=0,t=this.expr.length;e<t;e++)if(this.expr[e].evaluate(r))return!0;return!1}static _normalizeArr(r,e,t){let n=[],o=!1;if(r){for(let s=0,a=r.length;s<a;s++){let l=r[s];if(l){if(l.type===0){o=!0;continue}if(l.type===1)return Fr.INSTANCE;if(l.type===9){n=n.concat(l.expr);continue}n.push(l)}}if(n.length===0&&o)return Tr.INSTANCE;n.sort(Bd)}if(n.length!==0){if(n.length===1)return n[0];for(let s=1;s<n.length;s++)n[s-1].equals(n[s])&&(n.splice(s,1),s--);if(n.length===1)return n[0];if(t){for(let s=0;s<n.length;s++)for(let a=s+1;a<n.length;a++)if(n[s].negate().equals(n[a]))return Fr.INSTANCE;if(n.length===1)return n[0]}return new i(n,e)}}serialize(){return this.expr.map(r=>r.serialize()).join(" || ")}keys(){let r=[];for(let e of this.expr)r.push(...e.keys());return r}map(r){return new i(this.expr.map(e=>e.map(r)),null)}negate(){if(!this.negated){let r=[];for(let e of this.expr)r.push(e.negate());for(;r.length>1;){let e=r.shift(),t=r.shift(),n=[];for(let o of bx(e))for(let s of bx(t))n.push(kf.create([o,s],null,!1));r.unshift(i.create(n,null,!1))}this.negated=i.create(r,this,!0)}return this.negated}},Rf=class i extends Ms{static{this._info=[]}static all(){return i._info.values()}constructor(r,e,t){super(r,null),this._defaultValue=e,typeof t=="object"?i._info.push({...t,key:r}):t!==!0&&i._info.push({key:r,description:t,type:e!=null?typeof e:void 0})}bindTo(r){return r.createKey(this.key,this._defaultValue)}getValue(r){return r.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(r){return Vd.create(this.key,r)}notEqualsTo(r){return Hd.create(this.key,r)}greater(r){return Xa.create(this.key,r)}},n7=M("contextKeyService")});function Si(){return new Date().toISOString()}function Qd(i){return zn(i)}function YD(i,r){return i!==0&&i<=r}function Yd(i,r,e){switch(r){case 1:i.trace(e);break;case 2:i.debug(e);break;case 3:i.info(e);break;case 4:i.warn(e);break;case 5:i.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${r}`)}}function Ya(i,r=!1){let e="";for(let t=0;t<i.length;t++){let n=i[t];if(n instanceof Error&&(n=Er(n,r)),typeof n=="object")try{n=JSON.stringify(n)}catch{}e+=(t>0?" ":"")+n}return e}function Ex(i){if(i.verbose)return 1;if(typeof i.logLevel=="string"){let r=e2(i.logLevel.toLowerCase());if(r!==void 0)return r}return Xd}function ZD(i){switch(i){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 e2(i){switch(i){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 U,pn,Xd,Gd,Ws,Lf,Af,Jd,qv,Mf,w7,oe=w(()=>{Te();Lo();J();bi();$();Ar();te();It();Le();le();Px();re();U=M("logService"),pn=M("loggerService");Xd=3;Gd=class extends _{constructor(){super(...arguments);this.level=Xd;this._onDidChangeLogLevel=this._register(new S)}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 YD(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},Ws=class extends Gd{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...t){this.canLog(1)&&this.log(1,Ya([e,...t],!0))}debug(e,...t){this.canLog(2)&&this.log(2,Ya([e,...t]))}info(e,...t){this.canLog(3)&&this.log(3,Ya([e,...t]))}warn(e,...t){this.canLog(4)&&this.log(4,Ya([e,...t]))}error(e,...t){if(this.canLog(5))if(e instanceof Error){let n=Array.prototype.slice.call(arguments);n[0]=e.stack,this.log(5,Ya(n))}else this.log(5,Ya([e,...t]))}flush(){}},Lf=class extends Gd{constructor(r=Xd){super(),this.setLevel(r),this.useColors=!W}trace(r,...e){this.canLog(1)&&(this.useColors?console.log(`\x1B[90m[main ${Si()}]\x1B[0m`,r,...e):console.log(`[main ${Si()}]`,r,...e))}debug(r,...e){this.canLog(2)&&(this.useColors?console.log(`\x1B[90m[main ${Si()}]\x1B[0m`,r,...e):console.log(`[main ${Si()}]`,r,...e))}info(r,...e){this.canLog(3)&&(this.useColors?console.log(`\x1B[90m[main ${Si()}]\x1B[0m`,r,...e):console.log(`[main ${Si()}]`,r,...e))}warn(r,...e){this.canLog(4)&&(this.useColors?console.warn(`\x1B[93m[main ${Si()}]\x1B[0m`,r,...e):console.warn(`[main ${Si()}]`,r,...e))}error(r,...e){this.canLog(5)&&(this.useColors?console.error(`\x1B[91m[main ${Si()}]\x1B[0m`,r,...e):console.error(`[main ${Si()}]`,r,...e))}flush(){}},Af=class extends Gd{constructor(e){super();this.loggers=e;e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(let n of this.loggers)n.trace(e,...t)}debug(e,...t){for(let n of this.loggers)n.debug(e,...t)}info(e,...t){for(let n of this.loggers)n.info(e,...t)}warn(e,...t){for(let n of this.loggers)n.warn(e,...t)}error(e,...t){for(let n of this.loggers)n.error(e,...t)}flush(){for(let e of this.loggers)e.flush()}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},Jd=class extends _{constructor(e,t,n){super();this.logLevel=e;this.logsHome=t;this._loggers=new ht;this._onDidChangeLoggers=this._register(new S);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new S);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new S);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(n)for(let o of n)this._loggers.set(o.resource,{logger:void 0,info:o})}getLoggerEntry(e){return Me(e)?[...this._loggers.values()].find(t=>t.info.id===e):this._loggers.get(e)}getLogger(e){return this.getLoggerEntry(e)?.logger}createLogger(e,t){let n=this.toResource(e),o=Me(e)?e:t?.id??lr(n.toString()).toString(16),s=this._loggers.get(n)?.logger,a=t?.logLevel==="always"?1:t?.logLevel;s||(s=this.doCreateLogger(n,a??this.getLogLevel(n)??this.logLevel,{...t,id:o}));let l={logger:s,info:{resource:n,id:o,logLevel:a,name:t?.name,hidden:t?.hidden,group:t?.group,extensionId:t?.extensionId,when:t?.when}};return this.registerLogger(l.info),this._loggers.set(n,l),s}toResource(e){return Me(e)?me(this.logsHome,`${e.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):e}setLogLevel(e,t){if(E.isUri(e)){let n=e,o=t,s=this._loggers.get(n);s&&o!==s.info.logLevel&&(s.info.logLevel=o===this.logLevel?void 0:o,s.logger?.setLevel(o),this._loggers.set(s.info.resource,s),this._onDidChangeLogLevel.fire([n,o]))}else{this.logLevel=e;for(let[n,o]of this._loggers.entries())this._loggers.get(n)?.info.logLevel===void 0&&o.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(e,t){let n=this.getLoggerEntry(e);n&&t!==!n.info.hidden&&(n.info.hidden=!t,this._loggers.set(n.info.resource,n),this._onDidChangeVisibility.fire([n.info.resource,t]))}getLogLevel(e){let t;return e&&(t=this._loggers.get(e)?.info.logLevel),t??this.logLevel}registerLogger(e){let t=this._loggers.get(e.resource);t?t.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 t=this.toResource(e),n=this._loggers.get(t);n&&(n.logger&&n.logger.dispose(),this._loggers.delete(t),this._onDidChangeLoggers.fire({added:[],removed:[n.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()}},qv=class{constructor(){this.onDidChangeLogLevel=new S().event}setLevel(r){}getLevel(){return 3}trace(r,...e){}debug(r,...e){}info(r,...e){}warn(r,...e){}error(r,...e){}critical(r,...e){}dispose(){}flush(){}},Mf=class extends qv{};w7=new Rf("logLevel",ZD(3))});var Bo,Za,Kv=w(()=>{ve();J();$();xd();Le();Bo=class i extends _{constructor(e,t=Object.create(null)){super();this.database=e;this.options=t;this._onDidChangeStorage=this._register(new Ps);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new Pr(i.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((t,n)=>this.acceptExternal(n,t)),e.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===2)return;let n=!1;Ft(t)?n=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),n=!0),n&&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,t){let n=this.cache.get(e);return Ft(n)?t:n}getBoolean(e,t){let n=this.get(e);return Ft(n)?t:n==="true"}getNumber(e,t){let n=this.get(e);return Ft(n)?t:parseInt(n,10)}getObject(e,t){let n=this.get(e);return Ft(n)?t:H1(n)}async set(e,t,n=!1){if(this.state===2)return;if(Ft(t))return this.delete(e,n);let o=ze(t)||Array.isArray(t)?V1(t):String(t);if(this.cache.get(e)!==o)return this.cache.set(e,o),this.pendingInserts.set(e,o),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()}async delete(e,t=!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:t}),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}},Za=class{constructor(){this.onDidChangeItemsExternal=x.None;this.items=new Map}async getItems(){return this.items}async updateItems(r){r.insert?.forEach((e,t)=>this.items.set(t,e)),r.delete?.forEach(e=>this.items.delete(e))}async optimize(){}async close(){}}});var zv,jv,Of,Gv,eo,el,jr,Us=w(()=>{$t();Pa();jn();sr();zv=class{constructor(){this._value="";this._pos=0}reset(r){return this._value=r,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(r){let e=r.charCodeAt(0),t=this._value.charCodeAt(this._pos);return e-t}value(){return this._value[this._pos]}},jv=class{constructor(r=!0){this._caseSensitive=r}reset(r){return this._value=r,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let r=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(r)this._from++;else break;else r=!1;return this}cmp(r){return this._caseSensitive?Bp(r,this._value,0,r.length,this._from,this._to):Es(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Of=class{constructor(r=!0,e=!0){this._splitOnBackslash=r;this._caseSensitive=e}reset(r){this._from=0,this._to=0,this._value=r,this._valueLen=r.length;for(let e=r.length-1;e>=0;e--,this._valueLen--){let t=this._value.charCodeAt(e);if(!(t===47||this._splitOnBackslash&&t===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let r=!0;for(;this._to<this._valueLen;this._to++){let e=this._value.charCodeAt(this._to);if(e===47||this._splitOnBackslash&&e===92)if(r)this._from++;else break;else r=!1}return this}cmp(r){return this._caseSensitive?Bp(r,this._value,0,r.length,this._from,this._to):Es(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Gv=class{constructor(r,e){this._ignorePathCasing=r;this._ignoreQueryAndFragment=e;this._states=[];this._stateIdx=0}reset(r){return this._value=r,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new Of(!1,!this._ignorePathCasing(r)),this._pathIterator.reset(r.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(r)||(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(r){if(this._states[this._stateIdx]===1)return id(r,this._value.scheme);if(this._states[this._stateIdx]===2)return id(r,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(r);if(this._states[this._stateIdx]===4)return nd(r,this._value.query);if(this._states[this._stateIdx]===5)return nd(r,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}},eo=class i{static{this.Val=Symbol("undefined_placeholder")}static wrap(r){return r===void 0?i.Val:r}static unwrap(r){return r===i.Val?void 0:r}},el=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 r=this.right;return this.right=r.left,r.left=this,this.updateHeight(),r.updateHeight(),r}rotateRight(){let r=this.left;return this.left=r.right,r.right=this,this.updateHeight(),r.updateHeight(),r}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}},jr=class i{static forUris(r=()=>!1,e=()=>!1){return new i(new Gv(r,e))}static forPaths(r=!1){return new i(new Of(void 0,!r))}static forStrings(){return new i(new zv)}static forConfigKeys(){return new i(new jv)}constructor(r){this._iter=r}clear(){this._root=void 0}fill(r,e){if(e){let t=e.slice(0);Mg(t);for(let n of t)this.set(n,r)}else{let t=r.slice(0);Mg(t);for(let n of t)this.set(n[0],n[1])}}set(r,e){let t=this._iter.reset(r),n;this._root||(this._root=new el,this._root.segment=t.value());let o=[];for(n=this._root;;){let a=t.cmp(n.segment);if(a>0)n.left||(n.left=new el,n.left.segment=t.value()),o.push([-1,n]),n=n.left;else if(a<0)n.right||(n.right=new el,n.right.segment=t.value()),o.push([1,n]),n=n.right;else if(t.hasNext())t.next(),n.mid||(n.mid=new el,n.mid.segment=t.value()),o.push([0,n]),n=n.mid;else break}let s=eo.unwrap(n.value);n.value=eo.wrap(e),n.key=r;for(let a=o.length-1;a>=0;a--){let l=o[a][1];l.updateHeight();let c=l.balanceFactor();if(c<-1||c>1){let d=o[a][0],u=o[a+1][0];if(d===1&&u===1)o[a][1]=l.rotateLeft();else if(d===-1&&u===-1)o[a][1]=l.rotateRight();else if(d===1&&u===-1)l.right=o[a+1][1]=o[a+1][1].rotateRight(),o[a][1]=l.rotateLeft();else if(d===-1&&u===1)l.left=o[a+1][1]=o[a+1][1].rotateLeft(),o[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(o[a-1][0]){case-1:o[a-1][1].left=o[a][1];break;case 1:o[a-1][1].right=o[a][1];break;case 0:o[a-1][1].mid=o[a][1];break}else this._root=o[0][1]}}return s}get(r){return eo.unwrap(this._getNode(r)?.value)}_getNode(r){let e=this._iter.reset(r),t=this._root;for(;t;){let n=e.cmp(t.segment);if(n>0)t=t.left;else if(n<0)t=t.right;else if(e.hasNext())e.next(),t=t.mid;else break}return t}has(r){let e=this._getNode(r);return!(e?.value===void 0&&e?.mid===void 0)}delete(r){return this._delete(r,!1)}deleteSuperstr(r){return this._delete(r,!0)}_delete(r,e){let t=this._iter.reset(r),n=[],o=this._root;for(;o;){let s=t.cmp(o.segment);if(s>0)n.push([-1,o]),o=o.left;else if(s<0)n.push([1,o]),o=o.right;else if(t.hasNext())t.next(),n.push([0,o]),o=o.mid;else break}if(o){if(e?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){let s=[[1,o]],a=this._min(o.right,s);if(a.key){o.key=a.key,o.value=a.value,o.segment=a.segment;let l=a.right;if(s.length>1){let[d,u]=s[s.length-1];switch(d){case-1:u.left=l;break;case 0:xa(!1);case 1:xa(!1)}}else o.right=l;let c=this._balanceByStack(s);if(n.length>0){let[d,u]=n[n.length-1];switch(d){case-1:u.left=c;break;case 0:u.mid=c;break;case 1:u.right=c;break}}else this._root=c}}else{let s=o.left??o.right;if(n.length>0){let[a,l]=n[n.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(n)??this._root}}_min(r,e){for(;r.left;)e.push([-1,r]),r=r.left;return r}_balanceByStack(r){for(let e=r.length-1;e>=0;e--){let t=r[e][1];t.updateHeight();let n=t.balanceFactor();if(n>1?(t.right.balanceFactor()>=0||(t.right=t.right.rotateRight()),r[e][1]=t.rotateLeft()):n<-1&&(t.left.balanceFactor()<=0||(t.left=t.left.rotateLeft()),r[e][1]=t.rotateRight()),e>0)switch(r[e-1][0]){case-1:r[e-1][1].left=r[e][1];break;case 1:r[e-1][1].right=r[e][1];break;case 0:r[e-1][1].mid=r[e][1];break}else return r[0][1]}}findSubstr(r){let e=this._iter.reset(r),t=this._root,n;for(;t;){let o=e.cmp(t.segment);if(o>0)t=t.left;else if(o<0)t=t.right;else if(e.hasNext())e.next(),n=eo.unwrap(t.value)||n,t=t.mid;else break}return t&&eo.unwrap(t.value)||n}findSuperstr(r){return this._findSuperstrOrElement(r,!1)}_findSuperstrOrElement(r,e){let t=this._iter.reset(r),n=this._root;for(;n;){let o=t.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(t.hasNext())t.next(),n=n.mid;else return n.mid?this._entries(n.mid):e?eo.unwrap(n.value):void 0}}hasElementOrSubtree(r){return this._findSuperstrOrElement(r,!0)!==void 0}forEach(r){for(let[e,t]of this)r(t,e)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(r){let e=[];return this._dfsEntries(r,e),e[Symbol.iterator]()}_dfsEntries(r,e){r&&(r.left&&this._dfsEntries(r.left,e),r.value!==void 0&&e.push([r.key,eo.unwrap(r.value)]),r.mid&&this._dfsEntries(r.mid,e),r.right&&this._dfsEntries(r.right,e))}_isBalanced(){let r=e=>{if(!e)return!0;let t=e.balanceFactor();return t<-1||t>1?!1:r(e.left)&&r(e.right)};return r(this._root)}}});function Ns(i){return i.create===!0}function bn(i){return!!(i.capabilities&2)}function Tx(i){return!!(i.capabilities&524288)}function Zd(i){return!!(i.capabilities&8)}function Wf(i){return!!(i.capabilities&131072)}function Cx(i){return!!(i.capabilities&262144)}function ro(i){return!!(i.capabilities&4)}function Uf(i){return!!(i.capabilities&16)}function Nf(i){return bn(i)?!!(i.capabilities&16384):!1}function Jv(i){return bn(i)?!!(i.capabilities&32768):!1}function _x(i){return!!(i.capabilities&65536)}function Gr(i,r){return tl.create(i,r)}function no(i){return i||Gr(h(2130,null),"Unknown")}function t2(i,r){return i.name=r?`${r} (FileSystemError)`:"FileSystemError",i}function eu(i){if(!i)return"Unknown";if(i instanceof tl)return i.code;let r=/^(.+) \(FileSystemError\)$/.exec(i.name);if(!r)return"Unknown";switch(r[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 Jr(i){if(i instanceof zt)return i.fileOperationResult;switch(eu(i)){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 kx(i,r,e){return!i||!r||i===r||r.length>i.length?!1:(r.charAt(r.length-1)!==Ot&&(r+=Ot),e?Co(i,r):i.indexOf(r)===0)}function Qv(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var Ae,tl,to,Ff,zt,rl,nl,Bf,Vf,xi,Ke=w(()=>{Us();_e();sr();Le();le();Te();re();te();qe();Eo();Ae=M("fileService");tl=class i extends Error{constructor(e,t){super(e);this.code=t}static create(e,t){let n=new i(e.toString(),t);return t2(n,t),n}};to=class{constructor(r,e,t){this.resource=r;this.operation=e;this.target=t}isOperation(r){return this.operation===r}},Ff=class i{constructor(r,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new xr(()=>{let r=jr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawAdded.map(e=>[e,!0])),r});this.updated=new xr(()=>{let r=jr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawUpdated.map(e=>[e,!0])),r});this.deleted=new xr(()=>{let r=jr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawDeleted.map(e=>[e,!0])),r});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let t of r){switch(t.type){case 1:this.rawAdded.push(t.resource);break;case 0:this.rawUpdated.push(t.resource);break;case 2:this.rawDeleted.push(t.resource);break}this.correlationId!==i.MIXED_CORRELATION&&(typeof t.cId=="number"?this.correlationId===void 0?this.correlationId=t.cId:this.correlationId!==t.cId&&(this.correlationId=i.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=i.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(r,...e){return this.doContains(r,{includeChildren:!1},...e)}affects(r,...e){return this.doContains(r,{includeChildren:!0},...e)}doContains(r,e,...t){if(!r)return!1;let n=t.length>0;return!!((!n||t.includes(1))&&(this.added.value.get(r)||e.includeChildren&&this.added.value.findSuperstr(r))||(!n||t.includes(0))&&(this.updated.value.get(r)||e.includeChildren&&this.updated.value.findSuperstr(r))||(!n||t.includes(2))&&(this.deleted.value.findSubstr(r)||e.includeChildren&&this.deleted.value.findSuperstr(r)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(r){return this.correlationId===r}hasCorrelation(){return typeof this.correlationId=="number"}};zt=class extends Error{constructor(e,t,n){super(e);this.fileOperationResult=t;this.options=n}},rl=class extends zt{constructor(e,t,n,o){super(e,t,o);this.fileOperationResult=t;this.size=n}},nl=class extends zt{constructor(e,t,n){super(e,2,n);this.stat=t}},Bf={OFF:"off",ON_EXIT:"onExit",ON_EXIT_AND_WINDOW_CLOSE:"onExitAndWindowClose"},Vf="";xi=class i{static{this.KB=1024}static{this.MB=i.KB*i.KB}static{this.GB=i.MB*i.KB}static{this.TB=i.GB*i.KB}static formatSize(r){return zn(r)||(r=0),r<i.KB?h(2125,null,r.toFixed(0)):r<i.MB?h(2127,null,(r/i.KB).toFixed(2)):r<i.GB?h(2128,null,(r/i.MB).toFixed(2)):r<i.TB?h(2126,null,(r/i.GB).toFixed(2)):h(2129,null,(r/i.TB).toFixed(2))}}});function Ut(i){let r=i;return typeof r?.id=="string"&&E.isUri(r.uri)}function Vo(i,r){if(typeof i=="string"||typeof i>"u")return typeof i=="string"?{id:Pe(i)}:r?r2:n2;let e=i;return e.configuration?{id:e.id,configPath:e.configuration}:e.folders.length===1?{id:e.id,uri:e.folders[0].uri}:{id:e.id}}function dt(i){let r=i;return typeof r?.id=="string"&&E.isUri(r.configPath)}function Rx(i){let r=i;if(r?.uri)return{id:r.id,uri:E.revive(r.uri)};let e=i;if(e?.configPath)return{id:e.id,configPath:E.revive(e.configPath)};if(i?.id)return{id:i.id}}function Yv(i,r){return je.isEqualOrParent(i,r.untitledWorkspacesHome)}function Pi(i){return(typeof i=="string"?ya(i):NS(i))===i2}var Y7,r2,n2,Hf,tu,i2,Dx,Xv,Cr=w(()=>{Te();_e();Us();It();le();re();qe();Y7=M("contextService");r2={id:"ext-dev"},n2={id:"empty-window"};Hf=class{constructor(r,e){this.raw=e;this.uri=r.uri,this.index=r.index,this.name=r.name}toResource(r){return me(this.uri,r)}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}},tu="code-workspace",i2=`.${tu}`,Dx=[{name:h(2801,null),extensions:[tu]}],Xv="workspace.json"});var _t,ei=w(()=>{re();_t=M("IUriIdentityService")});function Lx(i){let r=i;return!!(r&&typeof r=="object"&&typeof r.id=="string"&&typeof r.isDefault=="boolean"&&typeof r.name=="string"&&E.isUri(r.location)&&E.isUri(r.globalStorageHome)&&E.isUri(r.settingsResource)&&E.isUri(r.keybindingsResource)&&E.isUri(r.tasksResource)&&E.isUri(r.snippetsHome)&&E.isUri(r.promptsHome)&&E.isUri(r.extensionsResource)&&E.isUri(r.mcpResource))}function $f(i,r,e,t,n,o){return{id:i,name:r,location:e,isDefault:!1,icon:n?.icon,globalStorageHome:o&&n?.useDefaultFlags?.globalState?o.globalStorageHome:me(e,"globalStorage"),settingsResource:o&&n?.useDefaultFlags?.settings?o.settingsResource:me(e,"settings.json"),keybindingsResource:o&&n?.useDefaultFlags?.keybindings?o.keybindingsResource:me(e,"keybindings.json"),tasksResource:o&&n?.useDefaultFlags?.tasks?o.tasksResource:me(e,"tasks.json"),snippetsHome:o&&n?.useDefaultFlags?.snippets?o.snippetsHome:me(e,"snippets"),promptsHome:o&&n?.useDefaultFlags?.prompts?o.promptsHome:me(e,"prompts"),extensionsResource:o&&n?.useDefaultFlags?.extensions?o.extensionsResource:me(e,"extensions.json"),mcpResource:o&&n?.useDefaultFlags?.mcp?o.mcpResource:me(e,"mcp.json"),cacheHome:me(t,i),useDefaultFlags:n?.useDefaultFlags,isTransient:n?.transient,workspaces:n?.workspaces}}var _r,il,ti=w(()=>{bi();J();$();It();le();Te();un();Ke();re();oe();Cr();ei();ve();er();sr();Le();_r=M("IUserDataProfilesService");il=class extends _{constructor(e,t,n,o){super();this.environmentService=e;this.fileService=t;this.uriIdentityService=n;this.logService=o;this._onDidChangeProfiles=this._register(new S);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new S);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new S);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new S);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=me(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=me(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(),t=[e];try{for(let o of this.getStoredProfiles()){if(this.isInvalidProfile(o)){this.logService.warn("Skipping the invalid stored profile",o.location||o.name);continue}let s=Kr(o.location);t.push($f(s,o.name,o.location,this.profilesCacheHome,{icon:o.icon,useDefaultFlags:o.useDefaultFlags},e))}}catch(o){this.logService.error(o)}let n=new Map;if(t.length)try{let o=this.getStoredProfileAssociations();if(o.workspaces)for(let[s,a]of Object.entries(o.workspaces)){let l=E.parse(s),c=t.find(d=>d.id===a);if(c){let d=c.workspaces?c.workspaces.slice(0):[];d.push(l),c.workspaces=d}}if(o.emptyWindows)for(let[s,a]of Object.entries(o.emptyWindows)){let l=t.find(c=>c.id===a);l&&n.set(s,l)}}catch(o){this.logService.error(o)}this._profilesObject={profiles:t,emptyWindows:n}}return this._profilesObject}isInvalidProfile(e){return!!(!e.name||!Me(e.name)||!e.location||e.isSystem||this.uriIdentityService.extUri.basename(this.uriIdentityService.extUri.dirname(e.location))==="builtin")}createDefaultProfile(){let e=$f("__default__profile__",h(2760,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let t="Temp",n=new RegExp(`${To(t)}\\s(\\d+)`),o=0;for(let a of this.profiles){let l=n.exec(a.name),c=l?parseInt(l[1]):0;o=c>o?c:o}let s=`${t} ${o+1}`;return this.createProfile(lr(ke()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,t,n){return this.createProfile(lr(ke()).toString(16),e,t,n)}async createProfile(e,t,n,o){return await this.doCreateProfile(e,t,n,o)}async doCreateProfile(e,t,n,o){if(!Me(t)||!t)throw new Error("Name of the profile is mandatory and must be of type `string`");let s=this.profileCreationPromises.get(t);return s||(s=(async()=>{try{if(this.profiles.find(u=>u.id===e||!u.isTransient&&!n?.transient&&u.name===t))throw new Error(`Profile with ${t} name already exists`);let l=o?this.getWorkspace(o):void 0;E.isUri(l)&&(n={...n,workspaces:[l]});let c=$f(e,t,this.uriIdentityService.extUri.joinPath(this.profilesHome,e),this.profilesCacheHome,n,this.defaultProfile);await this.fileService.createFolder(c.location);let d=[];return this._onWillCreateProfile.fire({profile:c,join(u){d.push(u)}}),await vt.settled(d),l&&!E.isUri(l)&&this.updateEmptyWindowAssociation(l,c,!!c.isTransient),this.updateProfiles([c],[],[]),c}finally{this.profileCreationPromises.delete(t)}})(),this.profileCreationPromises.set(t,s)),s}async updateProfile(e,t){let n=[];for(let s of this.profiles){let a;if(e.id===s.id)s.isDefault?t.workspaces&&(a=s,a.workspaces=t.workspaces):a=$f(s.id,t.name??s.name,s.location,this.profilesCacheHome,{icon:t.icon===null?void 0:t.icon??s.icon,transient:t.transient??s.isTransient,useDefaultFlags:t.useDefaultFlags??s.useDefaultFlags,workspaces:t.workspaces??s.workspaces},this.defaultProfile);else if(t.workspaces){let l=s.workspaces?.filter(c=>!t.workspaces?.some(d=>this.uriIdentityService.extUri.isEqual(c,d)));s.workspaces?.length!==l?.length&&(a=s,a.workspaces=l)}a&&n.push(a)}if(!n.length)throw e.isDefault?new Error("Cannot update default profile"):new Error(`Profile '${e.name}' does not exist`);this.updateProfiles([],[],n);let o=this.profiles.find(s=>s.id===e.id);if(!o)throw new Error(`Profile '${e.name}' was not updated`);return o}async removeProfile(e){if(e.isDefault)throw new Error("Cannot remove default profile");let t=this.profiles.find(o=>o.id===e.id);if(!t)throw new Error(`Profile '${e.name}' does not exist`);let n=[];this._onWillRemoveProfile.fire({profile:t,join(o){n.push(o)}});try{await Promise.allSettled(n)}catch(o){this.logService.error(o)}this.updateProfiles([],[t],[]);try{await this.fileService.del(t.cacheHome,{recursive:!0})}catch(o){Jr(o)!==1&&this.logService.error(o)}}async setProfileForWorkspace(e,t){let n=this.profiles.find(s=>s.id===t.id);if(!n)throw new Error(`Profile '${t.name}' does not exist`);let o=this.getWorkspace(e);if(E.isUri(o)){let s=n.workspaces?[...n.workspaces]:[];s.some(a=>this.uriIdentityService.extUri.isEqual(a,o))||(s.push(o),await this.updateProfile(n,{workspaces:s}))}else this.updateEmptyWindowAssociation(o,n,!1),this.updateStoredProfiles(this.profiles)}unsetWorkspace(e,t=!1){let n=this.getWorkspace(e);if(E.isUri(n)){let o=this.getProfileForWorkspace(e);o&&this.updateProfile(o,{workspaces:o.workspaces?.filter(s=>!this.uriIdentityService.extUri.isEqual(s,n))})}else this.updateEmptyWindowAssociation(n,void 0,t),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=this.uriIdentityService.extUri.joinPath(this.profilesHome,"builtin");if(await this.fileService.exists(e))try{await this.fileService.del(e,{recursive:!0})}catch(n){this.logService.error(n)}let t=await this.fileService.resolve(this.profilesHome);await Promise.all((t.children||[]).filter(n=>n.isDirectory&&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(),t=[];for(let n of this.getStoredProfiles())this.isInvalidProfile(n)?this.logService.warn(`Invalid user data profile found: ${n.name}`):t.push(n);e.length!==t.length&&this.saveStoredProfiles(t)}catch(e){this.logService.error("Error removing invalid stored profiles",e)}}async cleanUpTransientProfiles(){let e=this.transientProfilesObject.profiles.filter(t=>!this.isProfileAssociatedToWorkspace(t));await Promise.allSettled(e.map(t=>this.removeProfile(t)))}getProfileForWorkspace(e){let t=this.getWorkspace(e);return E.isUri(t)?this.profiles.find(n=>n.workspaces?.some(o=>this.uriIdentityService.extUri.isEqual(o,t))):this.profilesObject.emptyWindows.get(t)??this.transientProfilesObject.emptyWindows.get(t)}getWorkspace(e){return Ut(e)?e.uri:dt(e)?e.configPath:e.id}isProfileAssociatedToWorkspace(e){return!!(e.workspaces?.length||[...this.profilesObject.emptyWindows.values()].some(t=>this.uriIdentityService.extUri.isEqual(t.location,e.location))||[...this.transientProfilesObject.emptyWindows.values()].some(t=>this.uriIdentityService.extUri.isEqual(t.location,e.location)))}updateProfiles(e,t,n,o=!1){let s=[...this.profiles,...e],a=this.transientProfilesObject.profiles;this.transientProfilesObject.profiles=[];let l=[];for(let c of s){if(t.some(d=>c.id===d.id)){for(let d of[...this.profilesObject.emptyWindows.keys()])c.id===this.profilesObject.emptyWindows.get(d)?.id&&this.profilesObject.emptyWindows.delete(d);continue}if(!c.isDefault){c=n.find(u=>c.id===u.id)??c;let d=a.find(u=>c.id===u.id);if(c.isTransient)this.transientProfilesObject.profiles.push(c);else if(d){for(let[u,f]of this.transientProfilesObject.emptyWindows.entries())if(c.id===f.id){this.transientProfilesObject.emptyWindows.delete(u),this.profilesObject.emptyWindows.set(u,c);break}}}c.workspaces?.length===0&&(c.workspaces=void 0),l.push(c)}this.updateStoredProfiles(l),o||this.triggerProfilesChanges(e,t,n)}triggerProfilesChanges(e,t,n){this._onDidChangeProfiles.fire({added:e,removed:t,updated:n,all:this.profiles})}updateEmptyWindowAssociation(e,t,n){n=t?.isTransient?!0:n,n?t?this.transientProfilesObject.emptyWindows.set(e,t):this.transientProfilesObject.emptyWindows.delete(e):(this.transientProfilesObject.emptyWindows.delete(e),t?this.profilesObject.emptyWindows.set(e,t):this.profilesObject.emptyWindows.delete(e))}updateStoredProfiles(e){let t=[],n={},o={};for(let s of e)if(!s.isTransient&&(s.isDefault||t.push({location:s.location,name:s.name,icon:s.icon,useDefaultFlags:s.useDefaultFlags}),s.workspaces))for(let a of s.workspaces)n[a.toString()]=s.id;for(let[s,a]of this.profilesObject.emptyWindows.entries())o[s.toString()]=a.id;this.saveStoredProfileAssociations({workspaces:n,emptyWindows:o}),this.saveStoredProfiles(t),this._profilesObject=void 0}getStoredProfiles(){return[]}saveStoredProfiles(e){throw new Error("not implemented")}getStoredProfileAssociations(){return{}}saveStoredProfileAssociations(e){throw new Error("not implemented")}getDefaultProfileExtensionsLocation(){}};il=T([g(0,zr),g(1,Ae),g(2,_t),g(3,U)],il)});function zf(i){let r=i.get(io);if(r)try{return JSON.parse(r)}catch{}return Object.create(null)}function Kf(i){return i.isDefault||!!i.useDefaultFlags?.globalState}async function s2(i,r,e,t,n,o){let s=v=>{try{return JSON.parse(v)}catch{return v}},a=new Map,l=new Map;i.forEach((v,b)=>{a.set(b,v),l.set(b,s(v))});let c=new Map,d=new Map;r.forEach((v,b)=>{c.set(b,v),d.set(b,s(v))});let u=new Map,f=new Map;e.forEach((v,b)=>{u.set(b,v),f.set(b,s(v))}),console.group(t!==n?`Storage: Application (path: ${t})`:`Storage: Application & Profile (path: ${t}, default profile)`);let m=[];if(a.forEach((v,b)=>{m.push({key:b,value:v})}),console.table(m),console.groupEnd(),console.log(l),t!==n){console.group(`Storage: Profile (path: ${n}, profile specific)`);let v=[];c.forEach((b,I)=>{v.push({key:I,value:b})}),console.table(v),console.groupEnd(),console.log(d)}console.group(`Storage: Workspace (path: ${o})`);let y=[];u.forEach((v,b)=>{y.push({key:b,value:v})}),console.table(y),console.groupEnd(),console.log(f)}var ru,io,W9,qf,oo=w(()=>{ve();J();$();di();Le();Kv();re();ti();ru="__$__isNewStorageMarker",io="__$__targetStorageMarker",W9=M("storageService");qf=class i extends _{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Ps);this._onDidChangeTarget=this._register(new Ps);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new S);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new qt);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new hr(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,t,n){return x.filter(this._onDidChangeValue.event,o=>o.scope===e&&(t===void 0||o.key===t),n)}doFlushWhenIdle(){this.runFlushWhenIdle.value=dd(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){pt([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{Ne("code/willInitStorage");try{await this.doInitialize()}finally{Ne("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,t){let{key:n,external:o}=t;if(n===io){switch(e){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:n,target:this.getKeyTargets(e)[n],external:o})}emitWillSaveState(e){this._onWillSaveState.fire({reason:e})}get(e,t,n){return this.getStorage(t)?.get(e,n)}getBoolean(e,t,n){return this.getStorage(t)?.getBoolean(e,n)}getNumber(e,t,n){return this.getStorage(t)?.getNumber(e,n)}getObject(e,t,n){return this.getStorage(t)?.getObject(e,n)}storeAll(e,t){this.withPausedEmitters(()=>{for(let n of e)this.store(n.key,n.value,n.scope,n.target,t)})}store(e,t,n,o,s=!1){if(Ft(t)){this.remove(e,n,s);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,n,o),this.getStorage(n)?.set(e,t,s)})}remove(e,t,n=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,t,void 0),this.getStorage(t)?.delete(e,n)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}keys(e,t){let n=[],o=this.getKeyTargets(e);for(let s of Object.keys(o))o[s]===t&&n.push(s);return n}updateKeyTarget(e,t,n,o=!1){let s=this.getKeyTargets(t);typeof n=="number"?s[e]!==n&&(s[e]=n,this.getStorage(t)?.set(io,JSON.stringify(s),o)):typeof s[e]=="number"&&(delete s[e],this.getStorage(t)?.set(io,JSON.stringify(s),o))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let t=this.getStorage(e);return t?zf(t):Object.create(null)}isNew(e){return this.getBoolean(ru,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let t=this.getStorage(-1),n=this.getStorage(0),o=this.getStorage(1);switch(e){case 0:await vt.settled([t?.whenFlushed()??Promise.resolve(),n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve()]);break;case 1:await vt.settled([t?.flush(0)??Promise.resolve(),n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,t=this.getStorage(0)?.items??new Map,n=this.getStorage(1)?.items??new Map;return s2(e,t,n,this.getLogDetails(-1)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,t){return this.emitWillSaveState(0),Lx(e)?this.switchToProfile(e,t):this.switchToWorkspace(e,t)}canSwitchProfile(e,t){return!(e.id===t.id||Kf(t)&&Kf(e))}switchData(e,t,n){this.withPausedEmitters(()=>{let o=new Set;for(let[s,a]of e)o.add(s),t.get(s)!==a&&this.emitDidChangeValue(n,{key:s,external:!0});for(let[s]of t.items)o.has(s)||this.emitDidChangeValue(n,{key:s,external:!0})})}}});var jf,kt,Sn=w(()=>{re();jf=M("stateReadService"),kt=M("stateService")});function nu(i){return!!i.workspaceUri}function Gf(i){return!!i.folderUri}function ey(i){return!!i.fileUri}function a2(i,r){if(Dr)return!1;let e=Ho(i,r),t=i.getValue("window");return t?.menuStyle==="native"?!(!V&&!e):t?.menuStyle==="custom"?!1:e}function ty(i,r){return Dr?!1:V?!0:a2(i,r)}function Ax(i){let r=i.getValue("window.menuBarVisibility");return r==="default"||r==="compact"&&ty(i)||V&&Sp?"classic":r}function Ho(i,r){return r||(r=Mx(i)),r==="native"}function Mx(i){if(Dr)return"custom";let r=i.getValue("window");if(r){if(V&&r.nativeTabs===!0||V&&r.nativeFullScreen===!1)return"native";let n=r.titleBarStyle;if(n==="native"||n==="custom")return n}return"custom"}function l2(i){if(Dr||V||Mx(i)==="native")return"native";let e=i.getValue("window")?.controlsStyle;return e==="custom"||e==="hidden"?e:"native"}function iu(i){if(Dr||Ho(i))return!1;if(!V){let r=l2(i);if(r==="custom"||r==="hidden")return!1}return!0}function Jf(i){let r=i.getValue("window");return!r||typeof r.nativeFullScreen!="boolean"||r.nativeTabs?!0:r.nativeFullScreen!==!1}function Fx(i=0){return 1.2**i}var Zv,Ox,Wx,Ux,ry,$o=w(()=>{te();Zv={WIDTH:400,WIDTH_WITH_VERTICAL_PANEL:600,HEIGHT:270};Ox=35;Wx={width:1200,height:800},Ux={width:1440,height:900},ry={width:1024,height:768}});import c2 from"electron";var Ei,Nx,Ti=w(()=>{$o();Ei=function(i=1,r=!1){let e=r?Ux:Wx;return{width:e.width,height:e.height,mode:i}},Nx=function(){let i=ry.width,r=ry.height,e=c2.screen.getPrimaryDisplay().workArea,t=Math.max(e.x+e.width/2-i/2,0),n=Math.max(e.y+e.height/2-r/2,0);return{x:t,y:n,width:i,height:r,mode:1}}});function Ko(i,r){let e=Math.pow(10,r);return Math.round(i*e)/e}var k,qo,ol,zo,ny=w(()=>{jn();k=class{constructor(r,e,t,n=1){this._rgbaBrand=void 0;this.r=Math.min(255,Math.max(0,r))|0,this.g=Math.min(255,Math.max(0,e))|0,this.b=Math.min(255,Math.max(0,t))|0,this.a=Ko(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.r===e.r&&r.g===e.g&&r.b===e.b&&r.a===e.a}},qo=class i{constructor(r,e,t,n){this._hslaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Ko(Math.max(Math.min(1,e),0),3),this.l=Ko(Math.max(Math.min(1,t),0),3),this.a=Ko(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.h===e.h&&r.s===e.s&&r.l===e.l&&r.a===e.a}static fromRGBA(r){let e=r.r/255,t=r.g/255,n=r.b/255,o=r.a,s=Math.max(e,t,n),a=Math.min(e,t,n),l=0,c=0,d=(a+s)/2,u=s-a;if(u>0){switch(c=Math.min(d<=.5?u/(2*d):u/(2-2*d),1),s){case e:l=(t-n)/u+(t<n?6:0);break;case t:l=(n-e)/u+2;break;case n:l=(e-t)/u+4;break}l*=60,l=Math.round(l)}return new i(l,c,d,o)}static _hue2rgb(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*(2/3-t)*6:r}static toRGBA(r){let e=r.h/360,{s:t,l:n,a:o}=r,s,a,l;if(t===0)s=a=l=n;else{let c=n<.5?n*(1+t):n+t-n*t,d=2*n-c;s=i._hue2rgb(d,c,e+1/3),a=i._hue2rgb(d,c,e),l=i._hue2rgb(d,c,e-1/3)}return new k(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}},ol=class i{constructor(r,e,t,n){this._hsvaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=Ko(Math.max(Math.min(1,e),0),3),this.v=Ko(Math.max(Math.min(1,t),0),3),this.a=Ko(Math.max(Math.min(1,n),0),3)}static equals(r,e){return r.h===e.h&&r.s===e.s&&r.v===e.v&&r.a===e.a}static fromRGBA(r){let e=r.r/255,t=r.g/255,n=r.b/255,o=Math.max(e,t,n),s=Math.min(e,t,n),a=o-s,l=o===0?0:a/o,c;return a===0?c=0:o===e?c=((t-n)/a%6+6)%6:o===t?c=(n-e)/a+2:c=(e-t)/a+4,new i(Math.round(c*60),l,o,r.a)}static toRGBA(r){let{h:e,s:t,v:n,a:o}=r,s=n*t,a=s*(1-Math.abs(e/60%2-1)),l=n-s,[c,d,u]=[0,0,0];return e<60?(c=s,d=a):e<120?(c=a,d=s):e<180?(d=s,u=a):e<240?(d=a,u=s):e<300?(c=a,u=s):e<=360&&(c=s,u=a),c=Math.round((c+l)*255),d=Math.round((d+l)*255),u=Math.round((u+l)*255),new k(c,d,u,o)}},zo=class i{static fromHex(r){return i.Format.CSS.parseHex(r)||i.red}static equals(r,e){return!r&&!e?!0:!r||!e?!1:r.equals(e)}get hsla(){return this._hsla?this._hsla:qo.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:ol.fromRGBA(this.rgba)}constructor(r){if(r)if(r instanceof k)this.rgba=r;else if(r instanceof qo)this._hsla=r,this.rgba=qo.toRGBA(r);else if(r instanceof ol)this._hsva=r,this.rgba=ol.toRGBA(r);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(r){return!!r&&k.equals(this.rgba,r.rgba)&&qo.equals(this.hsla,r.hsla)&&ol.equals(this.hsva,r.hsva)}getRelativeLuminance(){let r=i._relativeLuminanceForComponent(this.rgba.r),e=i._relativeLuminanceForComponent(this.rgba.g),t=i._relativeLuminanceForComponent(this.rgba.b),n=.2126*r+.7152*e+.0722*t;return Ko(n,4)}reduceRelativeLuminace(r,e){let{r:t,g:n,b:o}=r.rgba,s=this.getContrastRatio(r);for(;s<e&&(t>0||n>0||o>0);)t-=Math.max(0,Math.ceil(t*.1)),n-=Math.max(0,Math.ceil(n*.1)),o-=Math.max(0,Math.ceil(o*.1)),s=this.getContrastRatio(new i(new k(t,n,o)));return new i(new k(t,n,o))}increaseRelativeLuminace(r,e){let{r:t,g:n,b:o}=r.rgba,s=this.getContrastRatio(r);for(;s<e&&(t<255||n<255||o<255);)t=Math.min(255,t+Math.ceil((255-t)*.1)),n=Math.min(255,n+Math.ceil((255-n)*.1)),o=Math.min(255,o+Math.ceil((255-o)*.1)),s=this.getContrastRatio(new i(new k(t,n,o)));return new i(new k(t,n,o))}static _relativeLuminanceForComponent(r){let e=r/255;return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)}getContrastRatio(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e>t?(e+.05)/(t+.05):(t+.05)/(e+.05)}isDarker(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3<128}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e>t}isDarkerThan(r){let e=this.getRelativeLuminance(),t=r.getRelativeLuminance();return e<t}ensureConstrast(r,e){let t=this.getRelativeLuminance(),n=r.getRelativeLuminance();if(this.getContrastRatio(r)<e){if(n<t){let l=this.reduceRelativeLuminace(r,e),c=this.getContrastRatio(l);if(c<e){let d=this.increaseRelativeLuminace(r,e),u=this.getContrastRatio(d);return c>u?l:d}return l}let s=this.increaseRelativeLuminace(r,e),a=this.getContrastRatio(s);if(a<e){let l=this.reduceRelativeLuminace(r,e),c=this.getContrastRatio(l);return a>c?s:l}return s}return r}lighten(r){return new i(new qo(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*r,this.hsla.a))}darken(r){return new i(new qo(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*r,this.hsla.a))}transparent(r){let{r:e,g:t,b:n,a:o}=this.rgba;return new i(new k(e,t,n,o*r))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new i(new k(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}blend(r){let e=r.rgba,t=this.rgba.a,n=e.a,o=t+n*(1-t);if(o<1e-6)return i.transparent;let s=this.rgba.r*t/o+e.r*n*(1-t)/o,a=this.rgba.g*t/o+e.g*n*(1-t)/o,l=this.rgba.b*t/o+e.b*n*(1-t)/o;return new i(new k(s,a,l,o))}mix(r,e=.5){let t=Math.min(Math.max(e,0),1),n=this.rgba,o=r.rgba,s=n.r+(o.r-n.r)*t,a=n.g+(o.g-n.g)*t,l=n.b+(o.b-n.b)*t,c=n.a+(o.a-n.a)*t;return new i(new k(s,a,l,c))}makeOpaque(r){if(this.isOpaque()||r.rgba.a!==1)return this;let{r:e,g:t,b:n,a:o}=this.rgba;return new i(new k(r.rgba.r-o*(r.rgba.r-e),r.rgba.g-o*(r.rgba.g-t),r.rgba.b-o*(r.rgba.b-n),1))}flatten(...r){let e=r.reduceRight((t,n)=>i._flatten(n,t));return i._flatten(this,e)}static _flatten(r,e){let t=1-r.rgba.a;return new i(new k(t*e.rgba.r+r.rgba.a*r.rgba.r,t*e.rgba.g+r.rgba.a*r.rgba.g,t*e.rgba.b+r.rgba.a*r.rgba.b))}toString(){return this._toString||(this._toString=i.Format.CSS.format(this)),this._toString}toNumber32Bit(){return this._toNumber32Bit||(this._toNumber32Bit=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0),this._toNumber32Bit}static getLighterColor(r,e,t){if(r.isLighterThan(e))return r;t=t||.5;let n=r.getRelativeLuminance(),o=e.getRelativeLuminance();return t=t*(o-n)/o,r.lighten(t)}static getDarkerColor(r,e,t){if(r.isDarkerThan(e))return r;t=t||.5;let n=r.getRelativeLuminance(),o=e.getRelativeLuminance();return t=t*(n-o)/n,r.darken(t)}static{this.white=new i(new k(255,255,255,1))}static{this.black=new i(new k(0,0,0,1))}static{this.red=new i(new k(255,0,0,1))}static{this.blue=new i(new k(0,0,255,1))}static{this.green=new i(new k(0,255,0,1))}static{this.cyan=new i(new k(0,255,255,1))}static{this.lightgrey=new i(new k(211,211,211,1))}static{this.transparent=new i(new k(0,0,0,0))}};(r=>{let i;(t=>{let e;(b=>{function n(I){return I.rgba.a===1?`rgb(${I.rgba.r}, ${I.rgba.g}, ${I.rgba.b})`:r.Format.CSS.formatRGBA(I)}b.formatRGB=n;function o(I){return`rgba(${I.rgba.r}, ${I.rgba.g}, ${I.rgba.b}, ${+I.rgba.a.toFixed(2)})`}b.formatRGBA=o;function s(I){return I.hsla.a===1?`hsl(${I.hsla.h}, ${Math.round(I.hsla.s*100)}%, ${Math.round(I.hsla.l*100)}%)`:r.Format.CSS.formatHSLA(I)}b.formatHSL=s;function a(I){return`hsla(${I.hsla.h}, ${Math.round(I.hsla.s*100)}%, ${Math.round(I.hsla.l*100)}%, ${I.hsla.a.toFixed(2)})`}b.formatHSLA=a;function l(I){let C=I.toString(16);return C.length!==2?"0"+C:C}function c(I){return`#${l(I.rgba.r)}${l(I.rgba.g)}${l(I.rgba.b)}`}b.formatHex=c;function d(I,C=!1){return C&&I.rgba.a===1?r.Format.CSS.formatHex(I):`#${l(I.rgba.r)}${l(I.rgba.g)}${l(I.rgba.b)}${l(Math.round(I.rgba.a*255))}`}b.formatHexA=d;function u(I){return I.isOpaque()?r.Format.CSS.formatHex(I):r.Format.CSS.formatRGBA(I)}b.format=u;function f(I){if(I==="transparent")return r.transparent;if(I.startsWith("#"))return y(I);if(I.startsWith("rgba(")){let C=I.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!C)throw new Error("Invalid color format "+I);let R=parseInt(C.groups?.r??"0"),D=parseInt(C.groups?.g??"0"),A=parseInt(C.groups?.b??"0"),z=parseFloat(C.groups?.a??"0");return new r(new k(R,D,A,z))}if(I.startsWith("rgb(")){let C=I.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!C)throw new Error("Invalid color format "+I);let R=parseInt(C.groups?.r??"0"),D=parseInt(C.groups?.g??"0"),A=parseInt(C.groups?.b??"0");return new r(new k(R,D,A))}return m(I)}b.parse=f;function m(I){switch(I){case"aliceblue":return new r(new k(240,248,255,1));case"antiquewhite":return new r(new k(250,235,215,1));case"aqua":return new r(new k(0,255,255,1));case"aquamarine":return new r(new k(127,255,212,1));case"azure":return new r(new k(240,255,255,1));case"beige":return new r(new k(245,245,220,1));case"bisque":return new r(new k(255,228,196,1));case"black":return new r(new k(0,0,0,1));case"blanchedalmond":return new r(new k(255,235,205,1));case"blue":return new r(new k(0,0,255,1));case"blueviolet":return new r(new k(138,43,226,1));case"brown":return new r(new k(165,42,42,1));case"burlywood":return new r(new k(222,184,135,1));case"cadetblue":return new r(new k(95,158,160,1));case"chartreuse":return new r(new k(127,255,0,1));case"chocolate":return new r(new k(210,105,30,1));case"coral":return new r(new k(255,127,80,1));case"cornflowerblue":return new r(new k(100,149,237,1));case"cornsilk":return new r(new k(255,248,220,1));case"crimson":return new r(new k(220,20,60,1));case"cyan":return new r(new k(0,255,255,1));case"darkblue":return new r(new k(0,0,139,1));case"darkcyan":return new r(new k(0,139,139,1));case"darkgoldenrod":return new r(new k(184,134,11,1));case"darkgray":return new r(new k(169,169,169,1));case"darkgreen":return new r(new k(0,100,0,1));case"darkgrey":return new r(new k(169,169,169,1));case"darkkhaki":return new r(new k(189,183,107,1));case"darkmagenta":return new r(new k(139,0,139,1));case"darkolivegreen":return new r(new k(85,107,47,1));case"darkorange":return new r(new k(255,140,0,1));case"darkorchid":return new r(new k(153,50,204,1));case"darkred":return new r(new k(139,0,0,1));case"darksalmon":return new r(new k(233,150,122,1));case"darkseagreen":return new r(new k(143,188,143,1));case"darkslateblue":return new r(new k(72,61,139,1));case"darkslategray":return new r(new k(47,79,79,1));case"darkslategrey":return new r(new k(47,79,79,1));case"darkturquoise":return new r(new k(0,206,209,1));case"darkviolet":return new r(new k(148,0,211,1));case"deeppink":return new r(new k(255,20,147,1));case"deepskyblue":return new r(new k(0,191,255,1));case"dimgray":return new r(new k(105,105,105,1));case"dimgrey":return new r(new k(105,105,105,1));case"dodgerblue":return new r(new k(30,144,255,1));case"firebrick":return new r(new k(178,34,34,1));case"floralwhite":return new r(new k(255,250,240,1));case"forestgreen":return new r(new k(34,139,34,1));case"fuchsia":return new r(new k(255,0,255,1));case"gainsboro":return new r(new k(220,220,220,1));case"ghostwhite":return new r(new k(248,248,255,1));case"gold":return new r(new k(255,215,0,1));case"goldenrod":return new r(new k(218,165,32,1));case"gray":return new r(new k(128,128,128,1));case"green":return new r(new k(0,128,0,1));case"greenyellow":return new r(new k(173,255,47,1));case"grey":return new r(new k(128,128,128,1));case"honeydew":return new r(new k(240,255,240,1));case"hotpink":return new r(new k(255,105,180,1));case"indianred":return new r(new k(205,92,92,1));case"indigo":return new r(new k(75,0,130,1));case"ivory":return new r(new k(255,255,240,1));case"khaki":return new r(new k(240,230,140,1));case"lavender":return new r(new k(230,230,250,1));case"lavenderblush":return new r(new k(255,240,245,1));case"lawngreen":return new r(new k(124,252,0,1));case"lemonchiffon":return new r(new k(255,250,205,1));case"lightblue":return new r(new k(173,216,230,1));case"lightcoral":return new r(new k(240,128,128,1));case"lightcyan":return new r(new k(224,255,255,1));case"lightgoldenrodyellow":return new r(new k(250,250,210,1));case"lightgray":return new r(new k(211,211,211,1));case"lightgreen":return new r(new k(144,238,144,1));case"lightgrey":return new r(new k(211,211,211,1));case"lightpink":return new r(new k(255,182,193,1));case"lightsalmon":return new r(new k(255,160,122,1));case"lightseagreen":return new r(new k(32,178,170,1));case"lightskyblue":return new r(new k(135,206,250,1));case"lightslategray":return new r(new k(119,136,153,1));case"lightslategrey":return new r(new k(119,136,153,1));case"lightsteelblue":return new r(new k(176,196,222,1));case"lightyellow":return new r(new k(255,255,224,1));case"lime":return new r(new k(0,255,0,1));case"limegreen":return new r(new k(50,205,50,1));case"linen":return new r(new k(250,240,230,1));case"magenta":return new r(new k(255,0,255,1));case"maroon":return new r(new k(128,0,0,1));case"mediumaquamarine":return new r(new k(102,205,170,1));case"mediumblue":return new r(new k(0,0,205,1));case"mediumorchid":return new r(new k(186,85,211,1));case"mediumpurple":return new r(new k(147,112,219,1));case"mediumseagreen":return new r(new k(60,179,113,1));case"mediumslateblue":return new r(new k(123,104,238,1));case"mediumspringgreen":return new r(new k(0,250,154,1));case"mediumturquoise":return new r(new k(72,209,204,1));case"mediumvioletred":return new r(new k(199,21,133,1));case"midnightblue":return new r(new k(25,25,112,1));case"mintcream":return new r(new k(245,255,250,1));case"mistyrose":return new r(new k(255,228,225,1));case"moccasin":return new r(new k(255,228,181,1));case"navajowhite":return new r(new k(255,222,173,1));case"navy":return new r(new k(0,0,128,1));case"oldlace":return new r(new k(253,245,230,1));case"olive":return new r(new k(128,128,0,1));case"olivedrab":return new r(new k(107,142,35,1));case"orange":return new r(new k(255,165,0,1));case"orangered":return new r(new k(255,69,0,1));case"orchid":return new r(new k(218,112,214,1));case"palegoldenrod":return new r(new k(238,232,170,1));case"palegreen":return new r(new k(152,251,152,1));case"paleturquoise":return new r(new k(175,238,238,1));case"palevioletred":return new r(new k(219,112,147,1));case"papayawhip":return new r(new k(255,239,213,1));case"peachpuff":return new r(new k(255,218,185,1));case"peru":return new r(new k(205,133,63,1));case"pink":return new r(new k(255,192,203,1));case"plum":return new r(new k(221,160,221,1));case"powderblue":return new r(new k(176,224,230,1));case"purple":return new r(new k(128,0,128,1));case"rebeccapurple":return new r(new k(102,51,153,1));case"red":return new r(new k(255,0,0,1));case"rosybrown":return new r(new k(188,143,143,1));case"royalblue":return new r(new k(65,105,225,1));case"saddlebrown":return new r(new k(139,69,19,1));case"salmon":return new r(new k(250,128,114,1));case"sandybrown":return new r(new k(244,164,96,1));case"seagreen":return new r(new k(46,139,87,1));case"seashell":return new r(new k(255,245,238,1));case"sienna":return new r(new k(160,82,45,1));case"silver":return new r(new k(192,192,192,1));case"skyblue":return new r(new k(135,206,235,1));case"slateblue":return new r(new k(106,90,205,1));case"slategray":return new r(new k(112,128,144,1));case"slategrey":return new r(new k(112,128,144,1));case"snow":return new r(new k(255,250,250,1));case"springgreen":return new r(new k(0,255,127,1));case"steelblue":return new r(new k(70,130,180,1));case"tan":return new r(new k(210,180,140,1));case"teal":return new r(new k(0,128,128,1));case"thistle":return new r(new k(216,191,216,1));case"tomato":return new r(new k(255,99,71,1));case"turquoise":return new r(new k(64,224,208,1));case"violet":return new r(new k(238,130,238,1));case"wheat":return new r(new k(245,222,179,1));case"white":return new r(new k(255,255,255,1));case"whitesmoke":return new r(new k(245,245,245,1));case"yellow":return new r(new k(255,255,0,1));case"yellowgreen":return new r(new k(154,205,50,1));default:return null}}function y(I){let C=I.length;if(C===0||I.charCodeAt(0)!==35)return null;if(C===7){let R=16*v(I.charCodeAt(1))+v(I.charCodeAt(2)),D=16*v(I.charCodeAt(3))+v(I.charCodeAt(4)),A=16*v(I.charCodeAt(5))+v(I.charCodeAt(6));return new r(new k(R,D,A,1))}if(C===9){let R=16*v(I.charCodeAt(1))+v(I.charCodeAt(2)),D=16*v(I.charCodeAt(3))+v(I.charCodeAt(4)),A=16*v(I.charCodeAt(5))+v(I.charCodeAt(6)),z=16*v(I.charCodeAt(7))+v(I.charCodeAt(8));return new r(new k(R,D,A,z/255))}if(C===4){let R=v(I.charCodeAt(1)),D=v(I.charCodeAt(2)),A=v(I.charCodeAt(3));return new r(new k(16*R+R,16*D+D,16*A+A))}if(C===5){let R=v(I.charCodeAt(1)),D=v(I.charCodeAt(2)),A=v(I.charCodeAt(3)),z=v(I.charCodeAt(4));return new r(new k(16*R+R,16*D+D,16*A+A,(16*z+z)/255))}return null}b.parseHex=y;function v(I){switch(I){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(e=t.CSS||={})})(i=r.Format||={})})(zo||={})});var De,tr=w(()=>{re();De=M("productService")});var Ci,sl=w(()=>{re();Ci=M("themeMainService")});import iy from"electron";function al(i,r,e,t){let n=i.get(Ci),o=i.get(De),s=i.get(he),a=i.get(Ce),l=s.getValue("window"),c={backgroundColor:n.getBackgroundColor(),minWidth:Zv.WIDTH,minHeight:Zv.HEIGHT,title:o.nameLong,show:r.mode!==0&&r.mode!==3,x:r.x,y:r.y,width:r.width,height:r.height,webPreferences:{...t,enableWebSQL:!1,spellcheck:!1,zoomFactor:Fx(r.zoomLevel??l?.zoomLevel),autoplayPolicy:"user-gesture-required",enableBlinkFeatures:"HighlightAPI",sandbox:!0,enableDeprecatedPaste:!0},experimentalDarkMode:!0};if(W){let f=l?.border||"default";f==="system"&&(f="default"),f!=="default"&&(f==="off"?c.accentColor=!1:typeof f=="string"&&(c.accentColor=f))}if(ne?c.icon=B(a.appRoot,"resources/linux/code.png"):W&&(a.isBuilt?process.isEmbeddedApp&&(c.icon=B(a.appRoot,"resources/win32/sessions.ico")):c.icon=B(a.appRoot,"resources/win32/code_150x150.png")),V&&(c.acceptFirstMouse=!0,l?.clickThroughInactive===!1&&(c.acceptFirstMouse=!1)),e?.disableFullscreen?c.fullscreen=!1:V&&!Jf(s)&&(c.fullscreenable=!1),V&&l?.nativeTabs===!0&&(c.tabbingIdentifier=o.nameShort),!Ho(s,e?.forceNativeTitlebar?"native":void 0)&&(c.titleBarStyle="hidden",V||(c.frame=!1),iu(s)))if(V)c.titleBarOverlay=!0;else{let f=n.getWindowSplash(void 0)?.colorInfo.titleBarBackground??n.getBackgroundColor(),m=zo.fromHex(f).isDarker()?"#FFFFFF":"#000000";c.titleBarOverlay={height:29,color:f,symbolColor:m}}return e?.alwaysOnTop&&(c.alwaysOnTop=!0),c}function Xf(i){let r,e=Number.MIN_VALUE;for(let t of i)t.lastFocusTime>e&&(e=t.lastFocusTime,r=t);return r}function _i(){return iy.BrowserWindow.getAllWindows().filter(i=>!i.webContents.isOffscreen())}var Be,ll,Dt=w(()=>{ny();_e();te();at();Rt();re();tr();sl();$o();Ti();Be=M("windowsMainService");(t=>{function i(n,o,s=iy.screen.getAllDisplays()){if(n.trace(`window#validateWindowState: validating window state on ${s.length} display(s)`,o),typeof o.x!="number"||typeof o.y!="number"||typeof o.width!="number"||typeof o.height!="number"){n.trace("window#validateWindowState: unexpected type of state values");return}if(o.width<=0||o.height<=0){n.trace("window#validateWindowState: unexpected negative values");return}if(s.length===1){let c=e(s[0]);if(n.trace("window#validateWindowState: single monitor working area",c),c){let d=function(){!o||typeof o.x!="number"||typeof o.y!="number"||!c||(o.x<c.x&&(o.x=c.x),o.y<c.y&&(o.y=c.y))};d(),o.width>c.width&&(o.width=c.width),o.height>c.height&&(o.height=c.height),o.x>c.x+c.width-128&&(o.x=c.x+c.width-o.width),o.y>c.y+c.height-128&&(o.y=c.y+c.height-o.height),d()}return o}if(o.display&&o.mode===3){let c=s.find(d=>d.id===o.display);if(c&&typeof c.bounds?.x=="number"&&typeof c.bounds?.y=="number"){n.trace("window#validateWindowState: restoring fullscreen to previous display");let d=Ei(3);return d.x=c.bounds.x,d.y=c.bounds.y,d}}let a,l;try{a=iy.screen.getDisplayMatching({x:o.x,y:o.y,width:o.width,height:o.height}),l=e(a),n.trace("window#validateWindowState: multi-monitor working area",l)}catch(c){n.error("window#validateWindowState: error finding display for window state",c)}if(a&&r(o,a))return o;n.trace("window#validateWindowState: state is outside of the multi-monitor working area")}t.validateWindowState=i;function r(n,o){if(typeof n.x!="number"||typeof n.y!="number"||typeof n.width!="number"||typeof n.height!="number"||n.width<=0||n.height<=0)return!1;let s=e(o);return!!(s&&n.x+n.width>s.x&&n.y+n.height>s.y&&n.x<s.x+s.width&&n.y<s.y+s.height)}t.validateWindowStateOnDisplay=r;function e(n){if(n.workArea.width>0&&n.workArea.height>0)return n.workArea;if(n.bounds.width>0&&n.bounds.height>0)return n.bounds}})(ll||={})});import Ln from"electron";var ye,ki,Pt=w(()=>{Dn();ve();J();$();te();$n();Le();re();oe();Sn();Ti();Rt();Dt();ye=M("lifecycleMainService"),ki=class extends _{constructor(e,t,n){super();this.logService=e;this.stateService=t;this.environmentMainService=n;this._onBeforeShutdown=this._register(new S);this.onBeforeShutdown=this._onBeforeShutdown.event;this._onWillShutdown=this._register(new S);this.onWillShutdown=this._onWillShutdown.event;this._onWillLoadWindow=this._register(new S);this.onWillLoadWindow=this._onWillLoadWindow.event;this._onBeforeCloseWindow=this._register(new S);this.onBeforeCloseWindow=this._onBeforeCloseWindow.event;this._quitRequested=!1;this._wasRestarted=!1;this._phase=1;this.windowToCloseRequest=new Set;this.oneTimeListenerTokenGenerator=0;this.windowCounter=0;this.pendingQuitPromise=void 0;this.pendingQuitPromiseResolve=void 0;this.pendingWillShutdownPromise=void 0;this.mapWindowIdToPendingUnload=new Map;this.phaseWhen=new Map;this.relaunchHandler=void 0;this.resolveRestarted(),this.when(2).then(()=>this.registerListeners())}static{this.QUIT_AND_RESTART_KEY="lifecycle.quitAndRestart"}get quitRequested(){return this._quitRequested}get wasRestarted(){return this._wasRestarted}get phase(){return this._phase}resolveRestarted(){this._wasRestarted=!!this.stateService.getItem(ki.QUIT_AND_RESTART_KEY),this._wasRestarted&&this.stateService.removeItem(ki.QUIT_AND_RESTART_KEY)}registerListeners(){let e=()=>{this._quitRequested||(this.trace("Lifecycle#app.on(before-quit)"),this._quitRequested=!0,this.trace("Lifecycle#onBeforeShutdown.fire()"),this._onBeforeShutdown.fire(),V&&this.windowCounter===0&&this.fireOnWillShutdown(1))};Ln.app.addListener("before-quit",e);let t=()=>{this.trace("Lifecycle#app.on(window-all-closed)"),(this._quitRequested||!V)&&Ln.app.quit()};Ln.app.addListener("window-all-closed",t),Ln.app.once("will-quit",n=>{this.trace("Lifecycle#app.on(will-quit) - begin"),n.preventDefault(),this.fireOnWillShutdown(1).finally(()=>{this.trace("Lifecycle#app.on(will-quit) - after fireOnWillShutdown"),this.resolvePendingQuitPromise(!1),Ln.app.removeListener("before-quit",e),Ln.app.removeListener("window-all-closed",t),this.trace("Lifecycle#app.on(will-quit) - calling app.quit()"),Ln.app.quit()})})}fireOnWillShutdown(e){if(this.pendingWillShutdownPromise)return this.pendingWillShutdownPromise;let t=this.logService;this.trace("Lifecycle#onWillShutdown.fire()");let n=[];return this._onWillShutdown.fire({reason:e,join(o,s){t.trace(`Lifecycle#onWillShutdown - begin '${o}'`),n.push(s.finally(()=>{t.trace(`Lifecycle#onWillShutdown - end '${o}'`)}))}}),this.pendingWillShutdownPromise=(async()=>{try{await vt.settled(n)}catch(o){this.logService.error(o)}try{await this.stateService.close()}catch(o){this.logService.error(o)}})(),this.pendingWillShutdownPromise}set phase(e){if(e<this.phase)throw new Error("Lifecycle cannot go backwards");if(this._phase===e)return;this.trace(`lifecycle (main): phase changed (value: ${e})`),this._phase=e;let t=this.phaseWhen.get(this._phase);t&&(t.open(),this.phaseWhen.delete(this._phase))}async when(e){if(e<=this._phase)return;let t=this.phaseWhen.get(e);t||(t=new vi,this.phaseWhen.set(e,t)),await t.wait()}registerWindow(e){let t=new ee;this.windowCounter++,t.add(e.onWillLoad(o=>this._onWillLoadWindow.fire({window:e,workspace:o.workspace,reason:o.reason})));let n=mi(e.win);t.add(x.fromNodeEventEmitter(n,"close")(o=>{let s=e.id;this.windowToCloseRequest.delete(s)||(this.trace(`Lifecycle#window.on('close') - window ID ${e.id}`),o.preventDefault(),this.unload(e,1).then(a=>{if(a){this.windowToCloseRequest.delete(s);return}this.windowToCloseRequest.add(s),this.trace(`Lifecycle#onBeforeCloseWindow.fire() - window ID ${s}`),this._onBeforeCloseWindow.fire(e),e.close()}))})),t.add(x.fromNodeEventEmitter(n,"closed")(()=>{this.trace(`Lifecycle#window.on('closed') - window ID ${e.id}`),this.windowCounter--,t.dispose(),this.windowCounter===0&&(!V||this._quitRequested)&&this.fireOnWillShutdown(1)}))}registerAuxWindow(e){let t=mi(e.win),n=new ee;n.add(x.fromNodeEventEmitter(t,"close")(o=>{this.trace(`Lifecycle#auxWindow.on('close') - window ID ${e.id}`),this._quitRequested&&(this.trace("Lifecycle#auxWindow.on('close') - preventDefault() because quit requested"),o.preventDefault())})),n.add(x.fromNodeEventEmitter(t,"closed")(()=>{this.trace(`Lifecycle#auxWindow.on('closed') - window ID ${e.id}`),n.dispose()}))}async reload(e,t){await this.unload(e,3)||e.reload(t)}unload(e,t){let n=this.mapWindowIdToPendingUnload.get(e.id);if(n)return n;let o=this.doUnload(e,t).finally(()=>{this.mapWindowIdToPendingUnload.delete(e.id)});return this.mapWindowIdToPendingUnload.set(e.id,o),o}async doUnload(e,t){if(!e.isReady)return!1;this.trace(`Lifecycle#unload() - window ID ${e.id}`);let n=this._quitRequested?2:t,o=await this.onBeforeUnloadWindowInRenderer(e,n);return o?(this.trace(`Lifecycle#unload() - veto in renderer (window ID ${e.id})`),this.handleWindowUnloadVeto(o)):(await this.onWillUnloadWindowInRenderer(e,n),!1)}handleWindowUnloadVeto(e){return e?(this.resolvePendingQuitPromise(!0),this._quitRequested=!1,!0):!1}resolvePendingQuitPromise(e){this.pendingQuitPromiseResolve&&(this.pendingQuitPromiseResolve(e),this.pendingQuitPromiseResolve=void 0,this.pendingQuitPromise=void 0)}onBeforeUnloadWindowInRenderer(e,t){return new Promise(n=>{let o=this.oneTimeListenerTokenGenerator++,s=`vscode:ok${o}`,a=`vscode:cancel${o}`;et.once(s,()=>{n(!1)}),et.once(a,()=>{n(!0)}),e.send("vscode:onBeforeUnload",{okChannel:s,cancelChannel:a,reason:t})})}onWillUnloadWindowInRenderer(e,t){return new Promise(n=>{let s=`vscode:reply${this.oneTimeListenerTokenGenerator++}`;et.once(s,()=>n()),e.send("vscode:onWillUnload",{replyChannel:s,reason:t})})}quit(e){return this.doQuit(e).then(t=>{if(!t&&e)try{if(W){let n=rn();n!==process.cwd()&&process.chdir(n)}}catch(n){this.logService.error(n)}return t})}doQuit(e){return this.trace(`Lifecycle#quit() - begin (willRestart: ${e})`),this.pendingQuitPromise?(this.trace("Lifecycle#quit() - returning pending quit promise"),this.pendingQuitPromise):(e&&this.stateService.setItem(ki.QUIT_AND_RESTART_KEY,!0),this.pendingQuitPromise=new Promise(t=>{this.pendingQuitPromiseResolve=t,this.trace("Lifecycle#quit() - calling app.quit()"),Ln.app.quit()}),this.pendingQuitPromise)}trace(e){this.environmentMainService.args["enable-smoke-test-driver"]?this.logService.info(e):this.logService.trace(e)}setRelaunchHandler(e){this.relaunchHandler=e}async relaunch(e){this.trace("Lifecycle#relaunch()");let t=process.argv.slice(1);if(e?.addArgs&&t.push(...e.addArgs),e?.removeArgs)for(let s of e.removeArgs){let a=t.indexOf(s);a>=0&&t.splice(a,1)}let n=()=>{this.relaunchHandler?.handleRelaunch(e)||(this.trace("Lifecycle#relaunch() - calling app.relaunch()"),Ln.app.relaunch({args:t}))};Ln.app.once("quit",n),await this.quit(!0)&&Ln.app.removeListener("quit",n)}async kill(e){this.trace("Lifecycle#kill()"),await this.fireOnWillShutdown(2),await Promise.race([ct(1e3),(async()=>{for(let t of _i())if(t&&!t.isDestroyed()){let n;t.webContents&&!t.webContents.isDestroyed()?n=new Promise(o=>t.once("closed",o)):n=Promise.resolve(),t.destroy(),await n}})()]),Ln.app.exit(e)}};ki=T([g(0,U),g(1,kt),g(2,Ce)],ki)});import*as oy from"fs";var Vs,sy,Vx=w(()=>{ve();J();Ar();_e();Zt();Vs=class i{constructor(r,e=Object.create(null)){this.path=r;this.name=Pe(this.path),this.logger=new sy(e.logging),this.whenConnected=this.connect(this.path)}static{this.IN_MEMORY_PATH=":memory:"}get onDidChangeItemsExternal(){return x.None}static{this.BUSY_OPEN_TIMEOUT=2e3}static{this.MAX_HOST_PARAMETERS=256}async getItems(){let r=await this.whenConnected,e=new Map;return(await this.all(r,"SELECT * FROM ItemTable")).forEach(n=>e.set(n.key,n.value)),this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] getItems(): ${e.size} rows`),e}async updateItems(r){let e=await this.whenConnected;return this.doUpdateItems(e,r)}doUpdateItems(r,e){return this.logger.isTracing&&this.logger.trace(`[storage ${this.name}] updateItems(): insert(${e.insert?rS(e.insert):"0"}), delete(${e.delete?nS(e.delete):"0"})`),this.transaction(r,()=>{let t=e.insert,n=e.delete;if(t&&t.size>0){let o=[];o.push([]);let s=0;t.forEach((a,l)=>{let c=o[s];c.length>i.MAX_HOST_PARAMETERS&&(s++,c=[],o.push(c)),c.push(l,a)}),o.forEach(a=>{this.prepare(r,`INSERT INTO ItemTable VALUES ${new Array(a.length/2).fill("(?,?)").join(",")} ON CONFLICT (key) DO UPDATE SET value = excluded.value WHERE value != excluded.value`,l=>l.run(a),()=>{let l=[],c=0;return t.forEach((d,u)=>{l.push(u),c+=d.length}),`Keys: ${l.join(", ")} Length: ${c}`})})}if(n?.size){let o=[];o.push([]);let s=0;n.forEach(a=>{let l=o[s];l.length>i.MAX_HOST_PARAMETERS&&(s++,l=[],o.push(l)),l.push(a)}),o.forEach(a=>{this.prepare(r,`DELETE FROM ItemTable WHERE key IN (${new Array(a.length).fill("?").join(",")})`,l=>l.run(a),()=>{let l=[];return n.forEach(c=>{l.push(c)}),`Keys: ${l.join(", ")}`})})}})}async optimize(){this.logger.trace(`[storage ${this.name}] vacuum()`);let r=await this.whenConnected;return this.exec(r,"VACUUM")}async close(r){this.logger.trace(`[storage ${this.name}] close()`);let e=await this.whenConnected;return this.doClose(e,r)}doClose(r,e){return new Promise((t,n)=>{r.db.close(o=>(o&&this.handleSQLiteError(r,`[storage ${this.name}] close(): ${o}`),this.path===i.IN_MEMORY_PATH?t():!r.isErroneous&&!r.isInMemory?this.backup().then(t,s=>(this.logger.error(`[storage ${this.name}] backup(): ${s}`),t())):typeof e=="function"?oy.promises.unlink(this.path).then(()=>this.doConnect(this.path).then(s=>{let a=()=>this.doClose(s,void 0);return this.doUpdateItems(s,{insert:e()}).then(()=>a(),l=>(a(),Promise.reject(l)))})).then(t,n):n(o||new Error("Database has errors or is in-memory without recovery option"))))})}backup(){let r=this.toBackupPath(this.path);return Q.copy(this.path,r,{preserveSymlinks:!1})}toBackupPath(r){return`${r}.backup`}async checkIntegrity(r){this.logger.trace(`[storage ${this.name}] checkIntegrity(full: ${r})`);let e=await this.whenConnected,t=await this.get(e,r?"PRAGMA integrity_check":"PRAGMA quick_check"),n=r?t.integrity_check:t.quick_check;return e.isErroneous?`${n} (last error: ${e.lastError})`:e.isInMemory?`${n} (in-memory!)`:n}async connect(r,e=!0){this.logger.trace(`[storage ${this.name}] open(${r}, retryOnBusy: ${e})`);try{return await this.doConnect(r)}catch(t){if(this.logger.error(`[storage ${this.name}] open(): Unable to open DB due to ${t}`),t.code==="SQLITE_BUSY"&&e)return await ct(i.BUSY_OPEN_TIMEOUT),this.connect(r,!1);try{await oy.promises.unlink(r);try{await Q.rename(this.toBackupPath(r),r,!1)}catch{}return await this.doConnect(r)}catch(n){return this.logger.error(`[storage ${this.name}] open(): Unable to use backup due to ${n}`),this.doConnect(i.IN_MEMORY_PATH)}}}handleSQLiteError(r,e){r.isErroneous=!0,r.lastError=e,this.logger.error(e)}doConnect(r){return new Promise((e,t)=>{import("@vscode/sqlite3").then(n=>{let o=this.logger.isTracing?n.default.verbose().Database:n.default.Database,s={db:new o(r,a=>a?s.db&&a.code!=="SQLITE_CANTOPEN"?s.db.close(()=>t(a)):t(a):this.exec(s,["PRAGMA user_version = 1;","CREATE TABLE IF NOT EXISTS ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB)"].join("")).then(()=>e(s),l=>s.db.close(()=>t(l)))),isInMemory:r===i.IN_MEMORY_PATH};s.db.on("error",a=>this.handleSQLiteError(s,`[storage ${this.name}] Error (event): ${a}`)),this.logger.isTracing&&s.db.on("trace",a=>this.logger.trace(`[storage ${this.name}] Trace (event): ${a}`))},t)})}exec(r,e){return new Promise((t,n)=>{r.db.exec(e,o=>o?(this.handleSQLiteError(r,`[storage ${this.name}] exec(): ${o}`),n(o)):t())})}get(r,e){return new Promise((t,n)=>{r.db.get(e,(o,s)=>o?(this.handleSQLiteError(r,`[storage ${this.name}] get(): ${o}`),n(o)):t(s))})}all(r,e){return new Promise((t,n)=>{r.db.all(e,(o,s)=>o?(this.handleSQLiteError(r,`[storage ${this.name}] all(): ${o}`),n(o)):t(s))})}transaction(r,e){return new Promise((t,n)=>{r.db.serialize(()=>{r.db.run("BEGIN TRANSACTION"),e(),r.db.run("END TRANSACTION",o=>o?(this.handleSQLiteError(r,`[storage ${this.name}] transaction(): ${o}`),n(o)):t())})})}prepare(r,e,t,n){let o=r.db.prepare(e),s=a=>{this.handleSQLiteError(r,`[storage ${this.name}] prepare(): ${a} (${e}). Details: ${n()}`)};o.on("error",s),t(o),o.finalize(a=>{a&&s(a),o.removeListener("error",s)})}},sy=class i{static{this.VSCODE_TRACE_STORAGE="VSCODE_TRACE_STORAGE"}constructor(r){r&&typeof r.logTrace=="function"&&process.env[i.VSCODE_TRACE_STORAGE]&&(this.logTrace=r.logTrace),r&&typeof r.logError=="function"&&(this.logError=r.logError)}get isTracing(){return!!this.logTrace}trace(r){this.logTrace?.(r)}error(r){this.logError?.(r)}}});var Ge,z8,ay,ly,Hx,Yf,Zf,ou,$x,cl,em,su,rr=w(()=>{re();Ge=M("telemetryService"),z8=M("customEndpointTelemetryService"),ay="telemetry.currentSessionDate",ly="telemetry.firstSessionDate",Hx="telemetry.lastSessionDate",Yf="telemetry.machineId",Zf="telemetry.sqmId",ou="telemetry.devDeviceId",$x="telemetry",cl="telemetry.telemetryLevel",em="telemetry.enableCrashReporter",su="telemetry.enableTelemetry"});import*as qx from"fs";var au,tm,rm,nm,im,lu,Kx=w(()=>{$t();ve();J();$();_e();xs();le();Zt();Kv();Vx();oe();oo();rr();Cr();qe();au=class i extends _{constructor(e,t){super();this.logService=e;this.fileService=t;this._onDidChangeStorage=this._register(new S);this.onDidChangeStorage=this._onDidChangeStorage.event;this._onDidCloseStorage=this._register(new S);this.onDidCloseStorage=this._onDidCloseStorage.event;this._storage=this._register(new Bo(new Za,{hint:1}));this.initializePromise=void 0;this.whenInitPromise=new Kt;this.whenInit=this.whenInitPromise.p;this.state=0}static{this.LOG_SLOW_CLOSE_THRESHOLD=2e3}get storage(){return this._storage}isInMemory(){return this._storage.isInMemory()}init(){return this.initializePromise||(this.initializePromise=(async()=>{if(this.state===0)try{let e=this._register(await this.doCreate());this._storage.dispose(),this._storage=e,this._register(e.onDidChangeStorage(n=>this._onDidChangeStorage.fire(n))),await this.doInit(e);let t=e.getBoolean(ru);t===void 0?e.set(ru,!0):t&&e.set(ru,!1)}catch(e){this.logService.error(`[storage main] initialize(): Unable to init storage due to ${e}`)}finally{this.state=1,this.whenInitPromise.complete()}})()),this.initializePromise}createLoggingOptions(){return{logTrace:this.logService.getLevel()===1?e=>this.logService.trace(e):void 0,logError:e=>this.logService.error(e)}}doInit(e){return e.init()}get items(){return this._storage.items}get(e,t){return this._storage.get(e,t)}set(e,t){return this._storage.set(e,t)}delete(e){return this._storage.delete(e)}optimize(){return this._storage.optimize()}async close(){let e=new ln(!1);await this.doClose(),e.stop(),e.elapsed()>i.LOG_SLOW_CLOSE_THRESHOLD&&await this.logSlowClose(e),this._onDidCloseStorage.fire()}async logSlowClose(e){if(this.path)try{let t=jb(Array.from(this._storage.items.entries()).map(([o,s])=>({key:o,length:s.length})),(o,s)=>s.length-o.length,5).map(o=>`${o.key}:${o.length}`).join(", "),n=(await this.fileService.stat(E.file(this.path))).size;this.logService.warn(`[storage main] detected slow close() operation: Time: ${e.elapsed()}ms, DB size: ${n}b, Large Keys: ${t}`)}catch(t){this.logService.error("[storage main] figuring out stats for slow DB on close() resulted in an error",t)}}async doClose(){this.initializePromise&&await this.initializePromise,this.state=2,await this._storage.close()}},tm=class i extends au{constructor(e,t,n,o){super(n,o);this.profile=e;this.options=t}static{this.STORAGE_NAME="state.vscdb"}get path(){if(!this.options.useInMemoryStorage)return B(this.profile.globalStorageHome.with({scheme:F.file}).fsPath,i.STORAGE_NAME)}async doCreate(){return new Bo(new Vs(this.path??Vs.IN_MEMORY_PATH,{logging:this.createLoggingOptions()}),this.path?void 0:{hint:1})}},rm=class extends tm{},nm=class extends tm{constructor(r,e,t,n){super(e.defaultProfile,r,t,n)}async doInit(r){await super.doInit(r),this.updateTelemetryState(r)}updateTelemetryState(r){r.get(ly,void 0)===void 0&&r.set(ly,new Date().toUTCString());let t=r.get(ay,void 0),n=new Date().toUTCString();r.set(Hx,typeof t>"u"?null:t),r.set(ay,n)}},im=class i extends au{constructor(e,t,n,o,s){super(n,s);this.workspace=e;this.options=t;this.environmentService=o}static{this.WORKSPACE_STORAGE_NAME="state.vscdb"}static{this.WORKSPACE_META_NAME="workspace.json"}get path(){if(!this.options.useInMemoryStorage)return B(this.environmentService.workspaceStorageHome.with({scheme:F.file}).fsPath,this.workspace.id,i.WORKSPACE_STORAGE_NAME)}async doCreate(){let{storageFilePath:e,wasCreated:t}=await this.prepareWorkspaceStorageFolder();return new Bo(new Vs(e,{logging:this.createLoggingOptions()}),{hint:this.options.useInMemoryStorage?1:t?0:void 0})}async prepareWorkspaceStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:Vs.IN_MEMORY_PATH,wasCreated:!0};let e=B(this.environmentService.workspaceStorageHome.with({scheme:F.file}).fsPath,this.workspace.id),t=B(e,i.WORKSPACE_STORAGE_NAME);return await Q.exists(e)?{storageFilePath:t,wasCreated:!1}:(await qx.promises.mkdir(e,{recursive:!0}),this.ensureWorkspaceStorageFolderMeta(e),{storageFilePath:t,wasCreated:!0})}async ensureWorkspaceStorageFolderMeta(e){let t;if(Ut(this.workspace)?t={folder:this.workspace.uri.toString()}:dt(this.workspace)&&(t={workspace:this.workspace.configPath.toString()}),t)try{let n=B(e,i.WORKSPACE_META_NAME);await Q.exists(n)||await Q.writeFile(n,JSON.stringify(t,void 0,2))}catch(n){this.logService.error(`[storage main] ensureWorkspaceStorageFolderMeta(): Unable to create workspace storage metadata due to ${n}`)}}},lu=class extends au{get path(){}async doCreate(){return new Bo(new Za,{hint:1})}}});var cy,du,dl,dy=w(()=>{ve();it();$();Le();un();Ke();oe();cy=class extends _{constructor(e,t,n,o){super();this.storagePath=e;this.logService=n;this.fileService=o;this.storage=Object.create(null);this.lastSavedStorageContents="";this.initializing=void 0;this.closing=void 0;this.flushDelayer=this._register(new Pr(t===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,t){let n=this.storage[e];return Ft(n)?t:n}setItem(e,t){this.setItems([{key:e,data:t}])}setItems(e){let t=!1;for(let{key:n,data:o}of e)this.storage[n]!==o&&(Ft(o)?kn(this.storage[n])||(this.storage[n]=void 0,t=!0):(this.storage[n]=o,t=!0));t&&this.save()}removeItem(e){kn(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,H.fromString(e),{atomic:{postfix:".vsctmp"}}),this.lastSavedStorageContents=e}catch(t){this.logService.error(t)}}async close(){return this.closing||(this.closing=this.flushDelayer.trigger(()=>this.doSave(),0)),this.closing}},du=class extends _{constructor(r,e,t,n){super(),this.fileStorage=this._register(new cy(e.stateResource,r,t,n))}async init(){await this.fileStorage.init()}getItem(r,e){return this.fileStorage.getItem(r,e)}};du=T([g(1,zr),g(2,U),g(3,Ae)],du);dl=class extends du{setItem(r,e){this.fileStorage.setItem(r,e)}setItems(r){this.fileStorage.setItems(r)}removeItem(r){this.fileStorage.removeItem(r)}close(){return this.fileStorage.close()}}});var jo,An,om,zx=w(()=>{le();un();Ke();oe();Sn();ei();ti();Le();dy();jo=class extends il{constructor(e,t,n,o,s){super(n,o,t,s);this.stateReadonlyService=e;this.nativeEnvironmentService=n}getStoredProfiles(){return this.stateReadonlyService.getItem(jo.PROFILES_KEY,[]).map(t=>({...t,location:Me(t.location)?this.uriIdentityService.extUri.joinPath(this.profilesHome,t.location):E.revive(t.location)}))}getStoredProfileAssociations(){return this.stateReadonlyService.getItem(jo.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(E.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};jo=T([g(0,jf),g(1,_t),g(2,Or),g(3,Ae),g(4,U)],jo);An=class extends jo{constructor(e,t,n,o,s){super(e,t,n,o,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(An.PROFILES_KEY,e.map(t=>({...t,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,t.location)}))):this.stateService.removeItem(An.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(An.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(An.PROFILE_ASSOCIATIONS_KEY)}};An=T([g(0,kt),g(1,_t),g(2,Or),g(3,Ae),g(4,U)],An);om=class extends An{constructor(r,e,t,n){super(new dl(0,e,n,t),r,e,t,n)}async init(){return await this.stateService.init(),super.init()}};om=T([g(0,_t),g(1,Or),g(2,Ae),g(3,U)],om)});var Wr,ul,Go=w(()=>{un();Ke();re();oe();ei();ti();zx();Sn();Wr=_r,ul=class extends An{constructor(r,e,t,n,o){super(r,e,t,n,o)}getAssociatedEmptyWindows(){let r=[];for(let e of this.profilesObject.emptyWindows.keys())r.push({id:e});return r}};ul=T([g(0,kt),g(1,_t),g(2,Or),g(3,Ae),g(4,U)],ul)});var Hs,pl,yr,fl,Ri=w(()=>{le();J();$();un();Ke();re();Pt();oe();oo();Kx();ti();Go();ei();qe();Hs=M("storageMainService"),pl=class extends _{constructor(e,t,n,o,s,a){super();this.logService=e;this.environmentService=t;this.userDataProfilesService=n;this.lifecycleMainService=o;this.fileService=s;this.uriIdentityService=a;this.shutdownReason=void 0;this._onDidChangeProfileStorage=this._register(new S);this.onDidChangeProfileStorage=this._onDidChangeProfileStorage.event;this.mapProfileToStorage=new Map;this.mapWorkspaceToStorage=new Map;this.applicationStorage=this._register(this.createApplicationStorage()),this.registerListeners()}getStorageOptions(){return{useInMemoryStorage:!!this.environmentService.extensionTestsLocationURI}}registerListeners(){(async()=>(await this.lifecycleMainService.when(3),this.applicationStorage.init()))(),this._register(this.lifecycleMainService.onWillLoadWindow(e=>{e.window.profile&&this.profileStorage(e.window.profile).init(),e.workspace&&this.workspaceStorage(e.workspace).init()})),this._register(this.lifecycleMainService.onWillShutdown(e=>{this.logService.trace("storageMainService#onWillShutdown()"),this.shutdownReason=e.reason,e.join("applicationStorage",this.applicationStorage.close());for(let[,t]of this.mapProfileToStorage)e.join("profileStorage",t.close());for(let[,t]of this.mapWorkspaceToStorage)e.join("workspaceStorage",t.close())})),this._register(this.userDataProfilesService.onWillCreateProfile(e=>{e.join((async()=>{await this.fileService.exists(e.profile.globalStorageHome)||await this.fileService.createFolder(e.profile.globalStorageHome)})())})),this._register(this.userDataProfilesService.onWillRemoveProfile(e=>{let t=this.mapProfileToStorage.get(e.profile.id);t&&e.join(t.close())}))}createApplicationStorage(){this.logService.trace("StorageMainService: creating application storage");let e=new nm(this.getStorageOptions(),this.userDataProfilesService,this.logService,this.fileService);return this._register(x.once(e.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application storage")})),e}profileStorage(e){if(Kf(e))return this.applicationStorage;let t=this.mapProfileToStorage.get(e.id);if(!t){this.logService.trace(`StorageMainService: creating profile storage (${e.name})`),t=this._register(this.createProfileStorage(e)),this.mapProfileToStorage.set(e.id,t);let n=t.onDidChangeStorage(o=>this._onDidChangeProfileStorage.fire({...o,storage:t,profile:e}));x.once(t.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed profile storage (${e.name})`),this.mapProfileToStorage.delete(e.id),n.dispose()})}return t}createProfileStorage(e){return this.shutdownReason===2?new lu(this.logService,this.fileService):new rm(e,this.getStorageOptions(),this.logService,this.fileService)}workspaceStorage(e){let t=this.mapWorkspaceToStorage.get(e.id);return t||(this.logService.trace(`StorageMainService: creating workspace storage (${e.id})`),t=this._register(this.createWorkspaceStorage(e)),this.mapWorkspaceToStorage.set(e.id,t),x.once(t.onDidCloseStorage)(()=>{this.logService.trace(`StorageMainService: closed workspace storage (${e.id})`),this.mapWorkspaceToStorage.delete(e.id)})),t}createWorkspaceStorage(e){return this.shutdownReason===2?new lu(this.logService,this.fileService):new im(e,this.getStorageOptions(),this.logService,this.environmentService,this.fileService)}isUsed(e){let t=E.file(e);for(let n of[this.applicationStorage,...this.mapProfileToStorage.values(),...this.mapWorkspaceToStorage.values()])if(n.path&&this.uriIdentityService.extUri.isEqualOrParent(E.file(n.path),t))return!0;return!1}};pl=T([g(0,U),g(1,zr),g(2,Wr),g(3,ye),g(4,Ae),g(5,_t)],pl);yr=M("applicationStorageMainService"),fl=class extends qf{constructor(e,t){super();this.userDataProfilesService=e;this.storageMainService=t;this.whenReady=this.storageMainService.applicationStorage.whenInit}doInitialize(){return this.storageMainService.applicationStorage.whenInit}getStorage(e){if(e===-1)return this.storageMainService.applicationStorage.storage}getLogDetails(e){if(e===-1)return this.userDataProfilesService.defaultProfile.globalStorageHome.with({scheme:F.file}).fsPath}shouldFlushWhenIdle(){return!1}switch(){throw new Error("Migrating storage is unsupported from main process")}switchToProfile(){throw new Error("Switching storage profile is unsupported from main process")}switchToWorkspace(){throw new Error("Switching storage workspace is unsupported from main process")}hasScope(){throw new Error("Main process is never profile or workspace scoped")}};fl=T([g(0,_r),g(1,Hs)],fl)});import{app as f2}from"electron";var pu,hl,uy=w(()=>{wt();J();bi();$();le();er();at();Ef();Rt();re();oe();oo();Ri();Dt();pu=M("proxyAuthService"),hl=class extends _{constructor(e,t,n,o,s,a){super();this.logService=e;this.windowsMainService=t;this.encryptionMainService=n;this.applicationStorageMainService=o;this.configurationService=s;this.environmentMainService=a;this.PROXY_CREDENTIALS_SERVICE_KEY="proxy-credentials://";this.pendingProxyResolves=new Map;this.currentDialog=void 0;this.cancelledAuthInfoHashes=new Set;this.sessionCredentials=new Map;this.registerListeners()}registerListeners(){let e=x.fromNodeEventEmitter(f2,"login",(t,n,o,s,a)=>({event:t,authInfo:{...s,attempt:o.firstAuthAttempt?1:2},callback:a}));this._register(e(this.onLogin,this))}async lookupAuthorization(e){return this.onLogin({authInfo:e})}async onLogin({event:e,authInfo:t,callback:n}){if(!t.isProxy)return;e?.preventDefault();let o=String(lr({scheme:t.scheme,host:t.host,port:t.port})),s,a=this.pendingProxyResolves.get(o);if(a)this.logService.trace("auth#onLogin (proxy) - pending proxy handling found"),s=await a;else{this.logService.trace("auth#onLogin (proxy) - no pending proxy handling found, starting new"),a=this.resolveProxyCredentials(t,o),this.pendingProxyResolves.set(o,a);try{s=await a}finally{this.pendingProxyResolves.delete(o)}}return n?.(s?.username,s?.password),s}async resolveProxyCredentials(e,t){this.logService.trace("auth#resolveProxyCredentials (proxy) - enter");try{let n=await this.doResolveProxyCredentials(e,t);if(n)return this.logService.trace("auth#resolveProxyCredentials (proxy) - got credentials"),n;this.logService.trace("auth#resolveProxyCredentials (proxy) - did not get credentials")}finally{this.logService.trace("auth#resolveProxyCredentials (proxy) - exit")}}async doResolveProxyCredentials(e,t){if(this.logService.trace("auth#doResolveProxyCredentials - enter",e),this.environmentMainService.extensionTestsLocationURI){try{let d=Buffer.from(e.realm,"base64").toString("utf-8");if(d.startsWith("{"))return JSON.parse(d)}catch{}return}let n=(this.configurationService.getValue("http.proxy")||"").trim()||(process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY||"").trim()||void 0;if(n?.indexOf("@")!==-1){let d=E.parse(n),u=d.authority.indexOf("@");if(u!==-1){if(e.attempt>1){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - ignoring previously used config/envvar credentials");return}this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found config/envvar credentials to use");let f=d.authority.substring(0,u),m=f.indexOf(":");return m!==-1?{username:f.substring(0,m),password:f.substring(m+1)}:{username:f,password:""}}}let o=e.attempt===1&&this.sessionCredentials.get(t);if(o){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found session credentials to use");let{username:d,password:u}=o;return{username:d,password:u}}let s,a;try{let d=this.applicationStorageMainService.get(this.PROXY_CREDENTIALS_SERVICE_KEY+t,-1);if(d){let u=JSON.parse(await this.encryptionMainService.decrypt(d));s=u.username,a=u.password}}catch(d){this.logService.error(d)}if(e.attempt===1&&typeof s=="string"&&typeof a=="string")return this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - found stored credentials to use"),this.sessionCredentials.set(t,{username:s,password:a}),{username:s,password:a};let l=this.currentDialog,c=this.currentDialog=(async()=>{await l;let d=await this.showProxyCredentialsDialog(e,t,s,a);return this.currentDialog===c&&(this.currentDialog=void 0),d})();return c}async showProxyCredentialsDialog(e,t,n,o){if(this.cancelledAuthInfoHashes.has(t)){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - login dialog was cancelled before, not showing again");return}let s=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(!s){this.logService.trace("auth#doResolveProxyCredentials (proxy) - exit - no opened window found to show dialog in");return}this.logService.trace(`auth#doResolveProxyCredentials (proxy) - asking window ${s.id} to handle proxy login`);let a=this.sessionCredentials.get(t),l={authInfo:e,username:a?.username??n,password:a?.password??o,replyChannel:`vscode:proxyAuthResponse:${ke()}`};s.sendWhenReady("vscode:openProxyAuthenticationDialog",Se.None,l);let c=await new Promise(d=>{let u=async(f,m,y)=>{if(m===l.replyChannel)if(this.logService.trace(`auth#doResolveProxyCredentials - exit - received credentials from window ${s.id}`),s.win?.webContents.off("ipc-message",u),y){let v={username:y.username,password:y.password};try{if(y.remember){let b=await this.encryptionMainService.encrypt(JSON.stringify(v));this.applicationStorageMainService.store(this.PROXY_CREDENTIALS_SERVICE_KEY+t,b,-1,1)}else this.applicationStorageMainService.remove(this.PROXY_CREDENTIALS_SERVICE_KEY+t,-1)}catch(b){this.logService.error(b)}d({username:v.username,password:v.password})}else this.cancelledAuthInfoHashes.add(t),d(void 0)};s.win?.webContents.on("ipc-message",u)});return this.sessionCredentials.set(t,c),c}};hl=T([g(0,U),g(1,Be),g(2,Wd),g(3,yr),g(4,he),g(5,Ce)],hl)});var Di,gl=w(()=>{re();Di=M("backupMainService")});function jx(i){return typeof i?.backupFolder=="string"}function Gx(i){let r=[];try{Array.isArray(i.workspaces)&&(r=i.workspaces.map(e=>({workspace:{id:e.id,configPath:E.parse(e.configURIPath)},remoteAuthority:e.remoteAuthority})))}catch{}return r}function Jx(i){let r=[];try{Array.isArray(i.folders)&&(r=i.folders.map(e=>({folderUri:E.parse(e.folderUri),remoteAuthority:e.remoteAuthority})))}catch{}return r}var Qx=w(()=>{le()});function Xx(i){return i?.hasOwnProperty("folderUri")}var Yx=w(()=>{});import{createHash as py}from"crypto";function so(i){function r(){let e=i.scheme===F.file?mr(i):i.toString();return ne||(e=e.toLowerCase()),py("md5").update(e).digest("hex")}return{id:r(),configPath:i}}function am(i,r){function e(){if(i.scheme!==F.file)return py("md5").update(i.toString()).digest("hex");if(!r)return;let n;return ne?n=r.ino:V?n=r.birthtime.getTime():W&&(typeof r.birthtimeMs=="number"?n=Math.floor(r.birthtimeMs):n=r.birthtime.getTime()),py("md5").update(i.fsPath).update(n?String(n):"").digest("hex")}let t=e();if(typeof t=="string")return{id:t,uri:i}}function fu(){return{id:(Date.now()+Math.round(Math.random()*1e3)).toString()}}var Z3,lm=w(()=>{qe();te();It();Z3=128/4});import{createHash as h2}from"crypto";var ao,Zx=w(()=>{cn();qe();_e();te();It();Zt();Qx();at();Rt();Sn();Ke();oe();Yx();Cr();lm();ao=class{constructor(r,e,t,n){this.configurationService=e;this.logService=t;this.stateService=n;this.workspaces=[];this.folders=[];this.emptyWindows=[];this.backupUriComparer=je;this.backupPathComparer={isEqual:(r,e)=>ko(r,e,!ne)};this.backupHome=r.backupHome}static{this.backupWorkspacesMetadataStorageKey="backupWorkspaces"}async initialize(){let r=this.stateService.getItem(ao.backupWorkspacesMetadataStorageKey)??{workspaces:[],folders:[],emptyWindows:[]};this.emptyWindows=await this.validateEmptyWorkspaces(r.emptyWindows),this.workspaces=await this.validateWorkspaces(Gx(r)),this.folders=await this.validateFolders(Jx(r)),this.storeWorkspacesMetadata()}getWorkspaceBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.workspaces.slice(0)}getFolderBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.folders.slice(0)}isHotExitEnabled(){return this.getHotExitConfig()!==Bf.OFF}isHotExitOnExitAndWindowClose(){return this.getHotExitConfig()===Bf.ON_EXIT_AND_WINDOW_CLOSE}getHotExitConfig(){return this.configurationService.getValue()?.files?.hotExit||Bf.ON_EXIT}getEmptyWindowBackups(){return this.emptyWindows.slice(0)}registerWorkspaceBackup(r,e){this.workspaces.some(n=>r.workspace.id===n.workspace.id)||(this.workspaces.push(r),this.storeWorkspacesMetadata());let t=B(this.backupHome,r.workspace.id);return e?this.moveBackupFolder(t,e).then(()=>t):t}async moveBackupFolder(r,e){if(await Q.exists(r)&&await this.convertToEmptyWindowBackup(r),await Q.exists(e))try{await Q.rename(e,r,!1)}catch(t){this.logService.error(`Backup: Could not move backup folder to new location: ${t.toString()}`)}}registerFolderBackup(r){return this.folders.some(e=>this.backupUriComparer.isEqual(r.folderUri,e.folderUri))||(this.folders.push(r),this.storeWorkspacesMetadata()),B(this.backupHome,this.getFolderHash(r))}registerEmptyWindowBackup(r){return this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.backupFolder))||(this.emptyWindows.push(r),this.storeWorkspacesMetadata()),B(this.backupHome,r.backupFolder)}async validateWorkspaces(r){if(!Array.isArray(r))return[];let e=new Set,t=[];for(let n of r){let o=n.workspace;if(!dt(o))return[];if(!e.has(o.id)){e.add(o.id);let s=B(this.backupHome,o.id);await this.doHasBackups(s)?o.configPath.scheme!==F.file||await Q.exists(o.configPath.fsPath)?t.push(n):await this.convertToEmptyWindowBackup(s):await this.deleteStaleBackup(s)}}return t}async validateFolders(r){if(!Array.isArray(r))return[];let e=[],t=new Set;for(let n of r){let o=n.folderUri,s=this.backupUriComparer.getComparisonKey(o);if(!t.has(s)){t.add(s);let a=B(this.backupHome,this.getFolderHash(n));await this.doHasBackups(a)?o.scheme!==F.file||await Q.exists(o.fsPath)?e.push(n):await this.convertToEmptyWindowBackup(a):await this.deleteStaleBackup(a)}}return e}async validateEmptyWorkspaces(r){if(!Array.isArray(r))return[];let e=[],t=new Set;for(let n of r){let o=n.backupFolder;if(typeof o!="string")return[];if(!t.has(o)){t.add(o);let s=B(this.backupHome,o);await this.doHasBackups(s)?e.push(n):await this.deleteStaleBackup(s)}}return e}async deleteStaleBackup(r){try{await Q.rm(r,1)}catch(e){this.logService.error(`Backup: Could not delete stale backup: ${e.toString()}`)}}prepareNewEmptyWindowBackup(){let r=fu();for(;this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.id));)r=fu();return{backupFolder:r.id}}async convertToEmptyWindowBackup(r){let e=this.prepareNewEmptyWindowBackup(),t=B(this.backupHome,e.backupFolder);try{await Q.rename(r,t,!1)}catch(n){return this.logService.error(`Backup: Could not rename backup folder: ${n.toString()}`),!1}return this.emptyWindows.push(e),!0}async getDirtyWorkspaces(){let r=[];for(let e of this.workspaces)await this.hasBackups(e)&&r.push(e);for(let e of this.folders)await this.hasBackups(e)&&r.push(e);return r}hasBackups(r){let e;return jx(r)?e=B(this.backupHome,r.backupFolder):Xx(r)?e=B(this.backupHome,this.getFolderHash(r)):e=B(this.backupHome,r.workspace.id),this.doHasBackups(e)}async doHasBackups(r){try{let e=await Q.readdir(r);for(let t of e)try{if((await Q.readdir(B(r,t))).length>0)return!0}catch{}}catch{}return!1}storeWorkspacesMetadata(){let r={workspaces:this.workspaces.map(({workspace:e,remoteAuthority:t})=>{let n={id:e.id,configURIPath:e.configPath.toString()};return t&&(n.remoteAuthority=t),n}),folders:this.folders.map(({folderUri:e,remoteAuthority:t})=>{let n={folderUri:e.toString()};return t&&(n.remoteAuthority=t),n}),emptyWindows:this.emptyWindows.map(({backupFolder:e,remoteAuthority:t})=>{let n={backupFolder:e};return t&&(n.remoteAuthority=t),n})};this.stateService.setItem(ao.backupWorkspacesMetadataStorageKey,r)}getFolderHash(r){let e=r.folderUri,t;return e.scheme===F.file?t=ne?e.fsPath:e.fsPath.toLowerCase():t=e.toString().toLowerCase(),h2("md5").update(t).digest("hex")}};ao=T([g(0,Ce),g(1,he),g(2,U),g(3,kt)],ao)});function mu(i,r,e=g2){let t=i.find((f,m)=>f.length>0&&f[0]!=="-"&&r.hasOwnProperty(f)&&r[f].type==="subcommand"),n={},o=["_"],s=[],a={},l;for(let f in r){let m=r[f];m.type==="subcommand"?f===t&&(l=m):(m.alias&&(n[f]=m.alias),m.type==="string"||m.type==="string[]"?(o.push(f),m.deprecates&&o.push(...m.deprecates)):m.type==="boolean"&&(s.push(f),m.deprecates&&s.push(...m.deprecates)),m.global&&(a[f]=m))}if(l&&t){let f=a;for(let b in l.options)f[b]=l.options[b];let m=i.filter(b=>b!==t),y=e.getSubcommandReporter?e.getSubcommandReporter(t):void 0,v=mu(m,f,y);return{[t]:v,_:[]}}let c=(0,eP.default)(i,{string:o,boolean:s,alias:n}),d={},u=c;d._=c._.map(f=>String(f)).filter(f=>f.length>0),delete u._;for(let f in r){let m=r[f];if(m.type==="subcommand")continue;m.alias&&delete u[m.alias];let y=u[f];if(m.deprecates)for(let v of m.deprecates)u.hasOwnProperty(v)&&(y||(y=u[v],y&&e.onDeprecatedOption(v,m.deprecationMessage||h(1955,null,f))),delete u[v]);if(typeof y<"u"){if(m.type==="string[]"){if(Array.isArray(y)||(y=[y]),!m.allowEmptyValue){let v=y.filter(b=>b.length>0);v.length!==y.length&&(e.onEmptyValue(f),y=v.length>0?v:void 0)}}else m.type==="string"&&(Array.isArray(y)?(y=y.pop(),e.onMultipleValues(f,y)):!y&&!m.allowEmptyValue&&(e.onEmptyValue(f),y=void 0));d[f]=y,m.deprecationMessage&&e.onDeprecatedOption(f,m.deprecationMessage)}delete u[f]}for(let f in u)e.onUnknownOption(f);return d}var eP,kB,fy,cm,g2,my=w(()=>{eP=lb(Ig(),1);te();Te();kB={o:h(1980,null),e:h(1964,null),t:h(1995,null),m:h(1975,null)},fy=["tunnel","serve-web","agent-host"],cm={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:h(1984,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:h(1952,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:h(1948,null)},maximize:{type:"boolean",cat:"o",description:h(1951,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(1987,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(1978,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(1983,null)},help:{type:"boolean",alias:"h",description:h(1966,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:h(1953,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},"agent-host":{type:"subcommand",description:"Run a server that hosts agents.",options:{"cli-data-dir":{type:"string",args:"dir",description:h(1953,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:h(1953,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:h(1956,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:h(1976,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:h(1947,null)},remove:{type:"boolean",cat:"o",args:"folder",description:h(1985,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:h(1965,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(1977,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(1986,null)},sessions:{type:"boolean",cat:"o",description:h(1988,null)},wait:{type:"boolean",cat:"o",alias:"w",description:h(2005,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:h(1972,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:h(2002,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(1983,null)},help:{type:"boolean",cat:"o",alias:"h",description:h(1966,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:h(1963,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:h(1971,null)},"agent-plugins-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:h(1989,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:h(1950,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:h(1970,null)},"pre-release":{type:"boolean",cat:"e",description:h(1969,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:h(1997,null)},"update-extensions":{type:"boolean",cat:"e",description:h(2000,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:h(1962,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:h(1949,null)},version:{type:"boolean",cat:"t",alias:"v",description:h(2004,null)},verbose:{type:"boolean",cat:"t",global:!0,description:h(2003,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:h(1974,null)},status:{type:"boolean",alias:"s",cat:"t",description:h(1990,null)},"prof-startup":{type:"boolean",cat:"t",description:h(1982,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:h(1959,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:h(1958,null)},sync:{type:"string",cat:"t",description:h(1996,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:h(1968,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:h(1967,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:h(1961,null)},"disable-gpu":{type:"boolean",cat:"t",description:h(1960,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:h(1957,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:h(1973,null)},telemetry:{type:"boolean",cat:"t",description:h(1993,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-search":{type:"string",deprecates:["debugSearch"],allowEmptyValue:!0},"inspect-brk-search":{type:"string",deprecates:["debugBrkSearch"],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"},"disable-updates":{type:"boolean"},transient:{type:"boolean",cat:"t",description:h(1994,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[]"}},g2={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});var dm,tP=w(()=>{J();$();dm=class extends _{constructor(){super(...arguments);this._onCloseEmitter=this._register(new S);this._onReloadEmitter=this._register(new S);this._onTerminateEmitter=this._register(new S);this._onAttachEmitter=this._register(new S)}static{this.ChannelName="extensionhostdebugservice"}call(e,t,n){switch(t){case"close":return Promise.resolve(this._onCloseEmitter.fire({sessionId:n[0]}));case"reload":return Promise.resolve(this._onReloadEmitter.fire({sessionId:n[0]}));case"terminate":return Promise.resolve(this._onTerminateEmitter.fire({sessionId:n[0]}));case"attach":return Promise.resolve(this._onAttachEmitter.fire({sessionId:n[0],port:n[1],subId:n[2]}))}throw new Error("Method not implemented.")}listen(e,t,n){switch(t){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 um,rP=w(()=>{it();$();er();Ad();my();Dt();tP();um=class extends dm{constructor(e){super();this.windowsMainService=e}call(e,t,n){return t==="openExtensionDevelopmentHostWindow"?this.openExtensionDevelopmentHostWindow(n[0],n[1]):t==="attachToCurrentWindowRenderer"?this.attachToCurrentWindowRenderer(n[0]):super.call(e,t,n)}async attachToCurrentWindowRenderer(e){let t=this.windowsMainService.getWindowById(e);return t?.win?this.openCdp(t.win,!0):{success:!1}}async openExtensionDevelopmentHostWindow(e,t){let n=mu(e,cm);n.debugRenderer=t;let o=n.extensionDevelopmentPath;if(!o)return{success:!1};let[s]=await this.windowsMainService.openExtensionDevelopmentHostWindow(o,{context:5,cli:n,forceProfile:n.profile,forceTempProfile:n["profile-temp"]});if(!t)return{success:!0};let a=s.win;return a?this.openCdp(a,!1):{success:!0}}async openCdpServer(e,t){let{createServer:n}=await import("http"),o=n((d,u)=>{if(d.url==="/json/list"||d.url==="/json"){u.setHeader("Content-Type","application/json"),u.end(JSON.stringify([{description:"VS Code Renderer",devtoolsFrontendUrl:"",id:e,title:"VS Code Renderer",type:"page",url:"vscode://renderer",webSocketDebuggerUrl:c}]));return}else if(d.url==="/json/version"){u.setHeader("Content-Type","application/json"),u.end(JSON.stringify({Browser:"VS Code Renderer","Protocol-Version":"1.3",webSocketDebuggerUrl:c}));return}u.statusCode=404,u.end()});await new Promise(d=>o.listen(0,"127.0.0.1",d));let s=o.address(),a=typeof s=="object"&&s?s.port:0,c=`${typeof s=="string"?s:`ws://127.0.0.1:${s?.port}`}/${e}`;return o.on("upgrade",(d,u)=>{if(!d.url?.includes(e)){u.end();return}let f=G1(d,u,{debugLabel:"extension-host-cdp-"+ke(),enableMessageSplitting:!1});f&&t(f)}),{server:o,wsUrl:c,port:a}}async openCdp(e,t){let n=e.webContents.debugger,o=n.isAttached()?1/0:0,s=ke(),a=t?`page-${s}`:void 0,{server:l,wsUrl:c,port:d}=await this.openCdpServer(s,u=>{o++===0&&n.attach();let f=new ee;f.add(u);let m=b=>{f.isDisposed||u.write(H.fromString(JSON.stringify(b)))},y=(b,I,C,R)=>m({method:I,params:C,sessionId:R||a}),v=()=>{u.end(),f.dispose()};e.addListener("close",v),f.add(G(()=>e.removeListener("close",v))),n.addListener("message",y),f.add(G(()=>n.removeListener("message",y))),f.add(u.onData(b=>{let I;try{I=JSON.parse(b.toString())}catch(R){console.error("error reading cdp line",R);return}if(t){let R={targetId:s,type:"page",title:"VS Code Renderer",url:"vscode://renderer"};if(I.method==="Target.setDiscoverTargets"){m({id:I.id,sessionId:I.sessionId,result:{}}),m({method:"Target.targetCreated",sessionId:I.sessionId,params:{targetInfo:{...R,attached:!1,canAccessOpener:!1}}});return}if(I.method==="Target.attachToTarget"){m({id:I.id,sessionId:I.sessionId,result:{sessionId:a}}),m({method:"Target.attachedToTarget",params:{sessionId:a,targetInfo:{...R,attached:!0,canAccessOpener:!1},waitingForDebugger:!1}});return}if(I.method==="Target.setAutoAttach"||I.method==="Target.attachToBrowserTarget"){m({id:I.id,sessionId:I.sessionId,result:I.method==="Target.attachToBrowserTarget"?{sessionId:"browser"}:{}});return}if(I.method==="Target.getTargets"){m({id:I.id,sessionId:I.sessionId,result:{targetInfos:[{...R,attached:!0}]}});return}}let C=I.sessionId===a?void 0:I.sessionId;n.sendCommand(I.method,I.params,C).then(R=>m({id:I.id,sessionId:I.sessionId,result:R})).catch(R=>m({id:I.id,sessionId:I.sessionId,error:{code:0,message:R.message}}))})),f.add(u.onClose(()=>{--o===0&&n.detach()}))});return e.on("close",()=>l.close()),{rendererDebugAddr:c,success:!0,port:d}}}});function gu(i){let r=i;return!!r?.hostName&&!!r?.errorMessage}var v2,hu,pm=w(()=>{re();v2="diagnosticsService",hu=M(v2)});function gy(i,r=!1){let e=0,t=i.length,n="",o=0,s=16,a=0;function l(v){let b=0,I=0;for(;b<v;){let C=i.charCodeAt(e);if(C>=48&&C<=57)I=I*16+C-48;else if(C>=65&&C<=70)I=I*16+C-65+10;else if(C>=97&&C<=102)I=I*16+C-97+10;else break;e++,b++}return b<v&&(I=-1),I}function c(v){e=v,n="",o=0,s=16,a=0}function d(){let v=e;if(i.charCodeAt(e)===48)e++;else for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&yl(i.charCodeAt(e)))for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;else return a=3,i.substring(v,e);let b=e;if(e<i.length&&(i.charCodeAt(e)===69||i.charCodeAt(e)===101))if(e++,(e<i.length&&i.charCodeAt(e)===43||i.charCodeAt(e)===45)&&e++,e<i.length&&yl(i.charCodeAt(e))){for(e++;e<i.length&&yl(i.charCodeAt(e));)e++;b=e}else a=3;return i.substring(v,b)}function u(){let v="",b=e;for(;;){if(e>=t){v+=i.substring(b,e),a=2;break}let I=i.charCodeAt(e);if(I===34){v+=i.substring(b,e),e++;break}if(I===92){if(v+=i.substring(b,e),e++,e>=t){a=2;break}switch(i.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 R=l(4);R>=0?v+=String.fromCharCode(R):a=4;break}default:a=5}b=e;continue}if(I>=0&&I<=31)if(fm(I)){v+=i.substring(b,e),a=2;break}else a=6;e++}return v}function f(){if(n="",a=0,o=e,e>=t)return o=t,s=17;let v=i.charCodeAt(e);if(hy(v)){do e++,n+=String.fromCharCode(v),v=i.charCodeAt(e);while(hy(v));return s=15}if(fm(v))return e++,n+=String.fromCharCode(v),v===13&&i.charCodeAt(e)===10&&(e++,n+=`
`),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++,n=u(),s=10;case 47:{let b=e-1;if(i.charCodeAt(e+1)===47){for(e+=2;e<t&&!fm(i.charCodeAt(e));)e++;return n=i.substring(b,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let I=t-1,C=!1;for(;e<I;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,C=!0;break}e++}return C||(e++,a=1),n=i.substring(b,e),s=13}return n+=String.fromCharCode(v),e++,s=16}case 45:if(n+=String.fromCharCode(v),e++,e===t||!yl(i.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 n+=d(),s=11;default:for(;e<t&&m(v);)e++,v=i.charCodeAt(e);if(o!==e){switch(n=i.substring(o,e),n){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return n+=String.fromCharCode(v),e++,s=16}}function m(v){if(hy(v)||fm(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 y(){let v;do v=f();while(v>=12&&v<=15);return v}return{setPosition:c,getPosition:()=>e,scan:r?y:f,getToken:()=>s,getTokenValue:()=>n,getTokenOffset:()=>o,getTokenLength:()=>e-o,getTokenError:()=>a}}function hy(i){return i===32||i===9||i===11||i===12||i===160||i===5760||i>=8192&&i<=8203||i===8239||i===8287||i===12288||i===65279}function fm(i){return i===10||i===13||i===8232||i===8233}function yl(i){return i>=48&&i<=57}function Mn(i,r=[],e=mm.DEFAULT){let t=null,n=[],o=[];function s(l){Array.isArray(n)?n.push(l):t!==null&&(n[t]=l)}return wl(i,{onObjectBegin:()=>{let l={};s(l),o.push(n),n=l,t=null},onObjectProperty:l=>{t=l},onObjectEnd:()=>{n=o.pop()},onArrayBegin:()=>{let l=[];s(l),o.push(n),n=l,t=null},onArrayEnd:()=>{n=o.pop()},onLiteralValue:s,onError:(l,c,d)=>{r.push({error:l,offset:c,length:d})}},e),n[0]}function nP(i,r=[],e=mm.DEFAULT){let t={type:"array",offset:-1,length:-1,children:[],parent:void 0};function n(l){t.type==="property"&&(t.length=l-t.offset,t=t.parent)}function o(l){return t.children.push(l),l}wl(i,{onObjectBegin:l=>{t=o({type:"object",offset:l,length:-1,parent:t,children:[]})},onObjectProperty:(l,c,d)=>{t=o({type:"property",offset:c,length:-1,parent:t,children:[]}),t.children.push({type:"string",value:l,offset:c,length:d,parent:t})},onObjectEnd:(l,c)=>{t.length=l+c-t.offset,t=t.parent,n(l+c)},onArrayBegin:(l,c)=>{t=o({type:"array",offset:l,length:-1,parent:t,children:[]})},onArrayEnd:(l,c)=>{t.length=l+c-t.offset,t=t.parent,n(l+c)},onLiteralValue:(l,c,d)=>{o({type:Jo(l),offset:c,length:d,parent:t,value:l}),n(c+d)},onSeparator:(l,c,d)=>{t.type==="property"&&(l===":"?t.colonOffset=c:l===","&&n(c))},onError:(l,c,d)=>{r.push({error:l,offset:c,length:d})}},e);let a=t.children[0];return a&&delete a.parent,a}function vy(i,r){if(!i)return;let e=i;for(let t of r)if(typeof t=="string"){if(e.type!=="object"||!Array.isArray(e.children))return;let n=!1;for(let o of e.children)if(Array.isArray(o.children)&&o.children[0].value===t){e=o.children[1],n=!0;break}if(!n)return}else{let n=t;if(e.type!=="array"||n<0||!Array.isArray(e.children)||n>=e.children.length)return;e=e.children[n]}return e}function wl(i,r,e=mm.DEFAULT){let t=gy(i,!1);function n(q){return q?()=>q(t.getTokenOffset(),t.getTokenLength()):()=>!0}function o(q){return q?ue=>q(ue,t.getTokenOffset(),t.getTokenLength()):()=>!0}let s=n(r.onObjectBegin),a=o(r.onObjectProperty),l=n(r.onObjectEnd),c=n(r.onArrayBegin),d=n(r.onArrayEnd),u=o(r.onLiteralValue),f=o(r.onSeparator),m=n(r.onComment),y=o(r.onError),v=e&&e.disallowComments,b=e&&e.allowTrailingComma;function I(){for(;;){let q=t.scan();switch(t.getTokenError()){case 4:C(14);break;case 5:C(15);break;case 3:C(13);break;case 1:v||C(11);break;case 2:C(12);break;case 6:C(16);break}switch(q){case 12:case 13:v?C(10):m();break;case 16:C(1);break;case 15:case 14:break;default:return q}}}function C(q,ue=[],rt=[]){if(y(q),ue.length+rt.length>0){let bt=t.getToken();for(;bt!==17;){if(ue.indexOf(bt)!==-1){I();break}else if(rt.indexOf(bt)!==-1)break;bt=I()}}}function R(q){let ue=t.getTokenValue();return q?u(ue):a(ue),I(),!0}function D(){switch(t.getToken()){case 11:{let q=0;try{q=JSON.parse(t.getTokenValue()),typeof q!="number"&&(C(2),q=0)}catch{C(2)}u(q);break}case 7:u(null);break;case 8:u(!0);break;case 9:u(!1);break;default:return!1}return I(),!0}function A(){return t.getToken()!==10?(C(3,[],[2,5]),!1):(R(!1),t.getToken()===6?(f(":"),I(),j()||C(4,[],[2,5])):C(5,[],[2,5]),!0)}function z(){s(),I();let q=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(q||C(4,[],[]),f(","),I(),t.getToken()===2&&b)break}else q&&C(6,[],[]);A()||C(4,[],[2,5]),q=!0}return l(),t.getToken()!==2?C(7,[2],[]):I(),!0}function N(){c(),I();let q=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(q||C(4,[],[]),f(","),I(),t.getToken()===4&&b)break}else q&&C(6,[],[]);j()||C(4,[],[4,5]),q=!0}return d(),t.getToken()!==4?C(8,[4],[]):I(),!0}function j(){switch(t.getToken()){case 3:return N();case 1:return z();case 10:return R(!0);default:return D()}}return I(),t.getToken()===17?e.allowEmptyContent?!0:(C(4,[],[]),!1):j()?(t.getToken()!==17&&C(9,[],[]),!0):(C(4,[],[]),!1)}function Jo(i){switch(typeof i){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(i){if(Array.isArray(i))return"array"}else return"null";return"object"}default:return"null"}}var mm,ri=w(()=>{(r=>r.DEFAULT={allowTrailingComma:!0})(mm||={})});var hm,Fe,vu=w(()=>{sr();hm=(n=>(n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(hm||{});(a=>{let i="error",r="warning",e="warn",t="info",n="ignore";function o(l){return l?qr(i,l)?3:qr(r,l)||qr(e,l)?2:qr(t,l)?1:0:0}a.fromValue=o;function s(l){switch(l){case 3:return i;case 2:return r;case 1:return t;default:return n}}a.toString=s})(hm||={});Fe=hm});function nr(i){if(!i||typeof i!="object"||i instanceof RegExp)return i;let r=Array.isArray(i)?[]:{};return Object.entries(i).forEach(([e,t])=>{r[e]=t&&typeof t=="object"?nr(t):t}),r}function iP(i){if(!i||typeof i!="object")return i;let r=[i];for(;r.length>0;){let e=r.shift();Object.freeze(e);for(let t in e)if(oP.call(e,t)){let n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&!iS(n)&&r.push(n)}}return i}function sP(i,r){return wy(i,r,new Set)}function wy(i,r,e){if(Ft(i))return i;let t=r(i);if(typeof t<"u")return t;if(Array.isArray(i)){let n=[];for(let o of i)n.push(wy(o,r,e));return n}if(ze(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let n={};for(let o in i)oP.call(i,o)&&(n[o]=wy(i[o],r,e));return e.delete(i),n}return i}function gm(i,r,e=!0){return ze(i)?(ze(r)&&Object.keys(r).forEach(t=>{t in i?e&&(ze(i[t])&&ze(r[t])?gm(i[t],r[t],e):i[t]=r[t]):i[t]=r[t]}),i):r}function fn(i,r){if(i===r)return!0;if(i==null||r===null||r===void 0||typeof i!=typeof r||typeof i!="object"||Array.isArray(i)!==Array.isArray(r))return!1;let e,t;if(Array.isArray(i)){if(i.length!==r.length)return!1;for(e=0;e<i.length;e++)if(!fn(i[e],r[e]))return!1}else{let n=[];for(t in i)n.push(t);n.sort();let o=[];for(t in r)o.push(t);if(o.sort(),!fn(n,o))return!1;for(e=0;e<n.length;e++)if(!fn(i[n[e]],r[n[e]]))return!1}return!0}function Iy(i){let r=new Set;return JSON.stringify(i,(e,t)=>{if(ze(t)||Array.isArray(t)){if(r.has(t))return"[Circular]";r.add(t)}return typeof t=="bigint"?`[BigInt ${t.toString()}]`:t})}function by(i,r){let e=r.toLowerCase(),t=Object.keys(i).find(n=>n.toLowerCase()===e);return t?i[t]:i[r]}var oP,mn=w(()=>{Le();oP=Object.prototype.hasOwnProperty});function vm(i,r){let e=nr(i),t=(e.buttons??[]).map(a=>Id(a).withMnemonic),n=(i.buttons||[]).map((a,l)=>l),o=0,s=e.cancelId??t.length-1;if(t.length>1){let a=typeof s=="number"?t[s]:void 0;if(ne||V){if(typeof a=="string"&&t.length>1&&s!==1){t.splice(s,1),t.splice(1,0,a);let l=n[s];n.splice(s,1),n.splice(1,0,l),s=1}ne&&t.length>1&&(t=t.reverse(),n=n.reverse(),o=t.length-1,typeof a=="string"&&(s=o-1))}else if(W&&typeof a=="string"&&t.length>1&&s!==t.length-1){t.splice(s,1),t.push(a);let l=n[s];n.splice(s,1),n.push(l),s=t.length-1}}return e.buttons=t,e.defaultId=o,e.cancelId=s,e.noLink=!0,e.title=e.title||r.nameLong,{options:e,buttonIndeces:n}}var tV,rV,Sy=w(()=>{It();vu();Te();re();Xi();te();mn();tV=M("dialogService"),rV=M("fileDialogService")});import $s from"electron";var xn,Il,qs=w(()=>{ve();bi();Xi();$();ud();te();Zt();Te();Sy();re();oe();tr();Cr();xn=M("dialogMainService"),Il=class{constructor(r,e){this.logService=r;this.productService=e;this.windowFileDialogLocks=new Map;this.windowDialogQueues=new Map;this.noWindowDialogueQueue=new Rn}pickFileFolder(r,e){return this.doPick({...r,pickFolders:!0,pickFiles:!0,title:h(1940,null)},e)}pickFolder(r,e){let t={...r,pickFolders:!0,title:h(1942,null)};return W&&(t={...t,buttonLabel:Id(h(1945,null)).withMnemonic}),this.doPick(t,e)}pickFile(r,e){return this.doPick({...r,pickFiles:!0,title:h(1941,null)},e)}pickWorkspace(r,e){let t=h(1944,null),n=Id(h(1943,null)).withMnemonic,o=Dx;return this.doPick({...r,pickFiles:!0,title:t,filters:o,buttonLabel:n},e)}async doPick(r,e){let t={title:r.title,buttonLabel:r.buttonLabel,filters:r.filters,defaultPath:r.defaultPath};(typeof r.pickFiles=="boolean"||typeof r.pickFolders=="boolean")&&(t.properties=void 0,r.pickFiles&&r.pickFolders&&(t.properties=["multiSelections","openDirectory","openFile","createDirectory"])),t.properties||(t.properties=["multiSelections",r.pickFolders?"openDirectory":"openFile","createDirectory"]),V&&t.properties.push("treatPackageAsDirectory");let n=await this.showOpenDialog(t,(e||$s.BrowserWindow.getFocusedWindow())??void 0);if(n?.filePaths&&n.filePaths.length>0)return n.filePaths}getWindowDialogQueue(r){if(r){let e=this.windowDialogQueues.get(r.id);return e||(e=new Rn,this.windowDialogQueues.set(r.id,e)),e}else return this.noWindowDialogueQueue}showMessageBox(r,e){return this.getWindowDialogQueue(e).queue(async()=>{let{options:t,buttonIndeces:n}=vm(r,this.productService),o;return e?o=await $s.dialog.showMessageBox(e,t):o=await $s.dialog.showMessageBox(t),{response:n[o.response],checkboxChecked:o.checkboxChecked}})}async showSaveDialog(r,e){let t=this.acquireFileDialogLock(r,e);if(!t)return this.logService.error("[DialogMainService]: file save dialog is already or will be showing for the window with the same configuration"),{canceled:!0,filePath:""};try{return await this.getWindowDialogQueue(e).queue(async()=>{let n;return e?n=await $s.dialog.showSaveDialog(e,r):n=await $s.dialog.showSaveDialog(r),n.filePath=this.normalizePath(n.filePath),n})}finally{pt(t)}}normalizePath(r){return r&&V&&(r=yi(r)),r}normalizePaths(r){return r.map(e=>this.normalizePath(e))}async showOpenDialog(r,e){r.defaultPath&&(await Q.exists(r.defaultPath)||(r.defaultPath=void 0));let t=this.acquireFileDialogLock(r,e);if(!t)return this.logService.error("[DialogMainService]: file open dialog is already or will be showing for the window with the same configuration"),{canceled:!0,filePaths:[]};try{return await this.getWindowDialogQueue(e).queue(async()=>{let n;return e?n=await $s.dialog.showOpenDialog(e,r):n=await $s.dialog.showOpenDialog(r),n.filePaths=this.normalizePaths(n.filePaths),n})}finally{pt(t)}}acquireFileDialogLock(r,e){if(!e)return _.None;this.logService.trace("[DialogMainService]: request to acquire file dialog lock",r);let t=this.windowFileDialogLocks.get(e.id);t||(t=new Set,this.windowFileDialogLocks.set(e.id,t));let n=lr(r);if(!t.has(n))return this.logService.trace("[DialogMainService]: new file dialog lock created",r),t.add(n),G(()=>{this.logService.trace("[DialogMainService]: file dialog lock disposed",r),t?.delete(n),t?.size===0&&this.windowFileDialogLocks.delete(e.id)})}};Il=T([g(0,U),g(1,De)],Il)});async function lP(i,r,e){for(let n of i){let o=n.openedWorkspace;if(dt(o)){let s=await e(o);if(s){if(s.folders.some(a=>je.isEqualOrParent(r,a.uri)))return n}else if(je.isEqualOrParent(r,o.configPath))return n}}let t=i.filter(n=>Ut(n.openedWorkspace)&&je.isEqualOrParent(r,n.openedWorkspace.uri));if(t.length)return t.sort((n,o)=>-(n.openedWorkspace.uri.path.length-o.openedWorkspace.uri.path.length))[0]}function lo(i,r){for(let e of i)if(dt(e.openedWorkspace)&&je.isEqual(e.openedWorkspace.configPath,r)||Ut(e.openedWorkspace)&&je.isEqual(e.openedWorkspace.uri,r))return e}function cP(i,r){let e=t=>r.some(n=>je.isEqual(E.file(n),E.file(t)));for(let t of i)if(t.config?.extensionDevelopmentPath?.some(n=>e(n)))return t}var xy=w(()=>{It();le();Cr()});function dP(i,r,e){let t,n,o,s,a;if(r){for(s=r.offset,a=s+r.length,o=s;o>0&&!yu(i,o-1);)o--;let R=a;for(;R<i.length&&!yu(i,R);)R++;n=i.substring(o,R),t=y2(n,e)}else n=i,t=0,o=0,s=0,a=i.length;let l=w2(e,i),c=!1,d=0,u;e.insertSpaces?u=Py(" ",e.tabSize||4):u="	";let f=gy(n,!1),m=!1;function y(){return l+Py(u,t+d)}function v(){let R=f.scan();for(c=!1;R===15||R===14;)c=c||R===14,R=f.scan();return m=R===16||f.getTokenError()!==0,R}let b=[];function I(R,D,A){!m&&D<a&&A>s&&i.substring(D,A)!==R&&b.push({offset:D,length:A-D,content:R})}let C=v();if(C!==17){let R=f.getTokenOffset()+o,D=Py(u,t);I(D,o,R)}for(;C!==17;){let R=f.getTokenOffset()+f.getTokenLength()+o,D=v(),A="";for(;!c&&(D===12||D===13);){let N=f.getTokenOffset()+o;I(" ",R,N),R=f.getTokenOffset()+f.getTokenLength()+o,A=D===12?y():"",D=v()}if(D===2)C!==1&&(d--,A=y());else if(D===4)C!==3&&(d--,A=y());else{switch(C){case 3:case 1:d++,A=y();break;case 5:case 12:A=y();break;case 13:c?A=y():A=" ";break;case 6:A=" ";break;case 10:if(D===6){A="";break}case 7:case 8:case 9:case 11:case 2:case 4:D===12||D===13?A=" ":D!==5&&D!==17&&(m=!0);break;case 16:m=!0;break}c&&(D===12||D===13)&&(A=y())}let z=f.getTokenOffset()+o;I(A,R,z),C=D}return b}function Py(i,r){let e="";for(let t=0;t<r;t++)e+=i;return e}function y2(i,r){let e=0,t=0,n=r.tabSize||4;for(;e<i.length;){let o=i.charAt(e);if(o===" ")t++;else if(o==="	")t+=n;else break;e++}return Math.floor(t/n)}function w2(i,r){for(let e=0;e<r.length;e++){let t=r.charAt(e);if(t==="\r")return e+1<r.length&&r.charAt(e+1)===`
`?`\r
`:"\r";if(t===`
`)return`
`}return i&&i.eol||`
`}function yu(i,r){return`\r
`.indexOf(i.charAt(r))!==-1}var uP=w(()=>{ri()});function Ty(i,r,e,t,n){let o=r.slice(),a=nP(i,[]),l,c;for(;o.length>0&&(c=o.pop(),l=vy(a,o),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 d=vy(l,[c]);if(d!==void 0)if(e===void 0){if(!d.parent)throw new Error("Malformed AST");let u=l.children.indexOf(d.parent),f,m=d.parent.offset+d.parent.length;if(u>0){let y=l.children[u-1];f=y.offset+y.length}else f=l.offset+1,l.children.length>1&&(m=l.children[1].offset);return bl(i,{offset:f,length:m-f,content:""},t)}else return bl(i,{offset:d.offset,length:d.length,content:JSON.stringify(e)},t);else{if(e===void 0)return[];let u=`${JSON.stringify(c)}: ${JSON.stringify(e)}`,f=n?n(l.children.map(y=>y.children[0].value)):l.children.length,m;if(f>0){let y=l.children[f-1];m={offset:y.offset+y.length,length:0,content:","+u}}else l.children.length===0?m={offset:l.offset+1,length:0,content:u}:m={offset:l.offset+1,length:0,content:u+","};return bl(i,m,t)}}else if(l.type==="array"&&typeof c=="number"&&Array.isArray(l.children))if(e!==void 0){let d=`${JSON.stringify(e)}`,u;if(l.children.length===0||c===0)u={offset:l.offset+1,length:0,content:l.children.length===0?d:d+","};else{let f=c===-1||c>l.children.length?l.children.length:c,m=l.children[f-1];u={offset:m.offset+m.length,length:0,content:","+d}}return bl(i,u,t)}else{let d=c,u=l.children[d],f;if(l.children.length===1)f={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===d){let m=l.children[d-1],y=m.offset+m.length,v=l.offset+l.length;f={offset:y,length:v-2-y,content:""}}else f={offset:u.offset,length:l.children[d+1].offset-u.offset,content:""};return bl(i,f,t)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${l.type}`);else return e===void 0?[]:bl(i,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},t)}function bl(i,r,e){let t=Ey(i,r),n=r.offset,o=r.offset+r.content.length;if(r.length===0||r.content.length===0){for(;n>0&&!yu(t,n-1);)n--;for(;o<t.length&&!yu(t,o);)o++}let s=dP(t,{offset:n,length:o-n},e);for(let l=s.length-1;l>=0;l--){let c=s[l];t=Ey(t,c),n=Math.min(n,c.offset),o=Math.max(o,c.offset+c.length),o+=c.content.length-c.length}let a=i.length-(t.length-o)-n;return[{offset:n,length:a,content:t.substring(n,o)}]}function Ey(i,r){return i.substring(0,r.offset)+r.content+i.substring(r.offset+r.length)}function Cy(i,r){let e=r.slice(0).sort((n,o)=>{let s=n.offset-o.offset;return s===0?n.length-o.length:s}),t=i.length;for(let n=e.length-1;n>=0;n--){let o=e[n];if(o.offset+o.length<=t)i=Ey(i,o);else throw new Error("Overlapping edit");t=o.offset}return i}var _y=w(()=>{ri();uP()});function co(i){return i.scheme===F.vscodeRemote?i.authority:void 0}var Sl=w(()=>{qe()});function ym(i){return i.hasOwnProperty("workspace")}function wu(i){return i.hasOwnProperty("folderUri")}function fP(i){return i.hasOwnProperty("fileUri")}function mP(i){return hP(i)||gP(i)}function hP(i){let r=i;return typeof r?.path=="string"&&(!r.name||typeof r.name=="string")}function gP(i){let r=i;return typeof r?.uri=="string"&&(!r.name||typeof r.name=="string")}function vP(i,r,e,t,n){if(i.scheme!==t.scheme)return{name:e,uri:i.toString(!0)};let o=r?void 0:n.relativePath(t,i);if(o!==void 0)o.length===0?o=".":W&&(o=pP(o));else if(i.scheme===F.file)o=i.fsPath,W&&(o=pP(o));else if(n.isEqualAuthority(i.authority,t.authority))o=i.path;else return{name:e,uri:i.toString(!0)};return{name:e,path:o}}function pP(i){return i=wd(i),_S(i)||(i=gi(i)),i}function yP(i,r,e){let t=[],n=new Set,o=e.dirname(r);for(let s of i){let a;if(hP(s))s.path&&(a=e.resolvePath(o,s.path));else if(gP(s))try{a=E.parse(s.uri),a.path[0]!==de.sep&&(a=a.with({path:de.sep+a.path}))}catch(l){console.warn(l)}if(a){let l=e.getComparisonKey(a);if(!n.has(l)){n.add(l);let c=s.name||e.basenameOrAuthority(a);t.push(new Hf({uri:a,name:c,index:t.length},s))}}}return t}function b2(i){let r=i;return typeof r?.workspace=="object"&&typeof r.workspace.id=="string"&&typeof r.workspace.configPath=="string"}function S2(i){return typeof i?.folderUri=="string"}function x2(i){return typeof i?.fileUri=="string"}function wP(i,r){let e={workspaces:[],files:[]};if(i){let t=function(o,s){for(let a=0;a<o.length;a++)try{s(o[a],a)}catch(l){r.warn(`Error restoring recent entry ${JSON.stringify(o[a])}: ${l.toString()}. Skip entry.`)}},n=i;Array.isArray(n.entries)&&t(n.entries,o=>{let s=o.label,a=o.remoteAuthority;b2(o)?e.workspaces.push({label:s,remoteAuthority:a,workspace:{id:o.workspace.id,configPath:E.parse(o.workspace.configPath)}}):S2(o)?e.workspaces.push({label:s,remoteAuthority:a,folderUri:E.parse(o.folderUri)}):x2(o)&&e.files.push({label:s,remoteAuthority:a,fileUri:E.parse(o.fileUri)})})}return e}function IP(i){let r={entries:[]},e=(t,n)=>t&&t!==n.fsPath&&t!==n.path;for(let t of i.workspaces)wu(t)?r.entries.push({folderUri:t.folderUri.toString(),label:e(t.label,t.folderUri)?t.label:void 0,remoteAuthority:t.remoteAuthority}):r.entries.push({workspace:{id:t.workspace.id,configPath:t.workspace.configPath.toString()},label:e(t.label,t.workspace.configPath)?t.label:void 0,remoteAuthority:t.remoteAuthority});for(let t of i.files)r.entries.push({fileUri:t.fileUri.toString(),label:e(t.label,t.fileUri)?t.label:void 0,remoteAuthority:t.remoteAuthority});return r}var ky,wm=w(()=>{cn();ri();_y();Xi();qe();_e();te();It();le();re();Sl();Cr();ky=M("workspacesService")});import*as Ry from"fs";import P2 from"electron";var hn,xl,Qo=w(()=>{J();ri();$();qe();_e();It();Zt();Te();gl();qs();Rt();re();oe();Go();xy();Cr();wm();lm();hn=M("workspacesManagementMainService"),xl=class extends _{constructor(e,t,n,o,s){super();this.environmentMainService=e;this.logService=t;this.userDataProfilesMainService=n;this.backupMainService=o;this.dialogMainService=s;this._onDidDeleteUntitledWorkspace=this._register(new S);this.onDidDeleteUntitledWorkspace=this._onDidDeleteUntitledWorkspace.event;this._onDidEnterWorkspace=this._register(new S);this.onDidEnterWorkspace=this._onDidEnterWorkspace.event;this.untitledWorkspaces=[];this.untitledWorkspacesHome=this.environmentMainService.untitledWorkspacesHome}async initialize(){this.untitledWorkspaces=[];try{let e=(await Q.readdir(this.untitledWorkspacesHome.with({scheme:F.file}).fsPath)).map(t=>me(this.untitledWorkspacesHome,t,Xv));for(let t of e){let n=so(t),o=await this.resolveLocalWorkspace(t);o?this.untitledWorkspaces.push({workspace:n,remoteAuthority:o.remoteAuthority}):await this.deleteUntitledWorkspace(n)}}catch(e){e.code!=="ENOENT"&&this.logService.warn(`Unable to read folders in ${this.untitledWorkspacesHome} (${e}).`)}}resolveLocalWorkspace(e){return this.doResolveLocalWorkspace(e,t=>Ry.promises.readFile(t,"utf8"))}doResolveLocalWorkspace(e,t){if(this.isWorkspacePath(e)&&e.scheme===F.file)try{let n=t(e.fsPath);return n instanceof Promise?n.then(o=>this.doResolveWorkspace(e,o),o=>{}):this.doResolveWorkspace(e,n)}catch{return}}isWorkspacePath(e){return Yv(e,this.environmentMainService)||Pi(e)}doResolveWorkspace(e,t){try{let n=this.doParseStoredWorkspace(e,t),o=so(e);return{id:o.id,configPath:o.configPath,folders:yP(n.folders,o.configPath,je),remoteAuthority:n.remoteAuthority,transient:n.transient}}catch(n){this.logService.warn(n.toString())}}doParseStoredWorkspace(e,t){let n=Mn(t);if(n&&Array.isArray(n.folders))n.folders=n.folders.filter(o=>mP(o));else throw new Error(`${e.toString(!0)} looks like an invalid workspace file.`);return n}async createUntitledWorkspace(e,t){let{workspace:n,storedWorkspace:o}=this.newUntitledWorkspace(e,t),s=n.configPath.fsPath;return await Ry.promises.mkdir(Ze(s),{recursive:!0}),await Q.writeFile(s,JSON.stringify(o,null,"	")),this.untitledWorkspaces.push({workspace:n,remoteAuthority:t}),n}newUntitledWorkspace(e=[],t){let n=(Date.now()+Math.round(Math.random()*1e3)).toString(),o=me(this.untitledWorkspacesHome,n),s=me(o,Xv),a=[];for(let l of e)a.push(vP(l.uri,!0,l.name,o,je));return{workspace:so(s),storedWorkspace:{folders:a,remoteAuthority:t}}}async getWorkspaceIdentifier(e){return so(e)}isUntitledWorkspace(e){return Yv(e.configPath,this.environmentMainService)}async deleteUntitledWorkspace(e){this.isUntitledWorkspace(e)&&(await this.doDeleteUntitledWorkspace(e),this.userDataProfilesMainService.unsetWorkspace(e),this._onDidDeleteUntitledWorkspace.fire(e))}async doDeleteUntitledWorkspace(e){let t=mr(e.configPath);try{await Q.rm(Ze(t));let n=B(this.environmentMainService.workspaceStorageHome.with({scheme:F.file}).fsPath,e.id);await Q.exists(n)&&await Q.writeFile(B(n,"obsolete"),""),this.untitledWorkspaces=this.untitledWorkspaces.filter(o=>o.workspace.id!==e.id)}catch(n){this.logService.warn(`Unable to delete untitled workspace ${t} (${n}).`)}}getUntitledWorkspaces(){return this.untitledWorkspaces}async enterWorkspace(e,t,n){if(!e?.win||!e.isReady||!await this.isValidTargetWorkspacePath(e,t,n))return;let s=await this.doEnterWorkspace(e,so(n));if(s)return this._onDidEnterWorkspace.fire({window:e,workspace:s.workspace}),s}async isValidTargetWorkspacePath(e,t,n){return n?dt(e.openedWorkspace)&&je.isEqual(e.openedWorkspace.configPath,n)?!1:lo(t,n)?(await this.dialogMainService.showMessageBox({type:"info",buttons:[h(2812,null)],message:h(2814,null,Kr(n)),detail:h(2813,null)},P2.BrowserWindow.getFocusedWindow()??void 0),!1):!0:!0}async doEnterWorkspace(e,t){if(!e.config)return;e.focus();let n;return e.config.extensionDevelopmentPath||(e.config.backupPath?n=await this.backupMainService.registerWorkspaceBackup({workspace:t,remoteAuthority:e.remoteAuthority},e.config.backupPath):n=this.backupMainService.registerWorkspaceBackup({workspace:t,remoteAuthority:e.remoteAuthority})),dt(e.openedWorkspace)&&this.isUntitledWorkspace(e.openedWorkspace)&&await this.deleteUntitledWorkspace(e.openedWorkspace),e.config.workspace=t,e.config.backupPath=n,{workspace:t,backupPath:n}}};xl=T([g(0,Ce),g(1,U),g(2,Wr),g(3,Di),g(4,xn)],xl)});function bP(i,...r){let e=r.reduce((o,s)=>(o[s]=!0,o),{}),t=[/^ELECTRON_.+$/,/^VSCODE_(?!(PORTABLE|SHELL_LOGIN|ENV_REPLACE|ENV_APPEND|ENV_PREPEND)).+$/,/^SNAP(|_.*)$/,/^GDK_PIXBUF_.+$/];Object.keys(i).filter(o=>!e[o]).forEach(o=>{for(let s=0;s<t.length;s++)if(o.search(t[s])!==-1){delete i[o];break}})}function Im(i){i&&(delete i.DEBUG,ne&&delete i.LD_PRELOAD)}var Iu=w(()=>{te()});import{MessageChannelMain as E2,app as SP,utilityProcess as T2}from"electron";import{StringDecoder as xP}from"string_decoder";function C2(i){return typeof i.responseWindowId=="number"}var ir,Xo,Yo=w(()=>{$();J();oe();ve();qe();Dt();vu();rr();Pt();Iu();mn();te();Wa();ir=class extends _{constructor(e,t,n){super();this.logService=e;this.telemetryService=t;this.lifecycleMainService=n;this.id=String(++ir.ID_COUNTER);this._onStdout=this._register(new S);this.onStdout=this._onStdout.event;this._onStderr=this._register(new S);this.onStderr=this._onStderr.event;this._onMessage=this._register(new S);this.onMessage=this._onMessage.event;this._onSpawn=this._register(new S);this.onSpawn=this._onSpawn.event;this._onExit=this._register(new S);this.onExit=this._onExit.event;this._onCrash=this._register(new S);this.onCrash=this._onCrash.event;this.process=void 0;this.processPid=void 0;this.configuration=void 0}static{this.ID_COUNTER=0}static{this.all=new Map}static getAll(){return Array.from(ir.all.values())}log(e,t){let n;switch(this.configuration?.correlationId?n=`[UtilityProcess id: ${this.configuration?.correlationId}, type: ${this.configuration?.type}, pid: ${this.processPid??"<none>"}]: ${e}`:n=`[UtilityProcess type: ${this.configuration?.type}, pid: ${this.processPid??"<none>"}]: ${e}`,t){case Fe.Error:this.logService.error(n);break;case Fe.Warning:this.logService.warn(n);break;case Fe.Info:this.logService.trace(n);break}}validateCanStart(){return this.process?(this.log("Cannot start utility process because it is already running...",Fe.Error),!1):!0}start(e){let t=this.doStart(e);return t&&e.payload&&this.postMessage(e.payload)&&this.log("payload sent via postMessage()",Fe.Info),t}doStart(e){if(!this.validateCanStart())return!1;this.configuration=e;let t=`${this.configuration.type}-${this.id}`,n=st.asFileUri("bootstrap-fork.js").fsPath,o=this.configuration.args??[],s=[...this.configuration.execArgv??[]],a=this.configuration.allowLoadingUnsignedLibraries,l=SP.commandLine.getSwitchValue("js-flags");l&&s.push(`--js-flags=${l}`);let c=this.configuration.respondToAuthRequestsFromMainProcess,d="pipe",u=this.createEnv(e);return this.log("creating new...",Fe.Info),this.process=T2.fork(n,o,{serviceName:t,env:u,execArgv:s,allowLoadingUnsignedLibraries:a,respondToAuthRequestsFromMainProcess:c,stdio:d}),this.registerListeners(this.process,this.configuration,t),!0}createEnv(e){let t=e.env?{...e.env}:{...nr(process.env)};t.VSCODE_ESM_ENTRYPOINT=e.entryPoint,typeof e.parentLifecycleBound=="number"&&(t.VSCODE_PARENT_PID=String(e.parentLifecycleBound)),t.VSCODE_CRASH_REPORTER_PROCESS_TYPE=e.type,W&&(c1()?t.NODE_DISABLE_UNC_ACCESS_CHECKS="1":t.NODE_UNC_HOST_ALLOWLIST=s1().join("\\")),Im(t);for(let n of Object.keys(t))t[n]=String(t[n]);return t}registerListeners(e,t,n){if(e.stdout){let o=new xP("utf-8");this._register(x.fromNodeEventEmitter(e.stdout,"data")(s=>this._onStdout.fire(typeof s=="string"?s:o.write(s))))}if(e.stderr){let o=new xP("utf-8");this._register(x.fromNodeEventEmitter(e.stderr,"data")(s=>this._onStderr.fire(typeof s=="string"?s:o.write(s))))}this._register(x.fromNodeEventEmitter(e,"message")(o=>this._onMessage.fire(o))),this._register(x.fromNodeEventEmitter(e,"spawn")(()=>{this.processPid=e.pid,typeof e.pid=="number"&&ir.all.set(e.pid,{pid:e.pid,name:C2(t)?`${t.name} [${t.responseWindowId}]`:t.name}),this.log("successfully created",Fe.Info),this._onSpawn.fire(e.pid)})),this._register(x.fromNodeEventEmitter(e,"exit")(o=>{this.log(`received exit event with code ${o}`,Fe.Info),this._onExit.fire({pid:this.processPid,code:o,signal:"unknown"}),this.onDidExitOrCrashOrKill()})),this._register(x.fromNodeEventEmitter(SP,"child-process-gone",(o,s)=>({event:o,details:s}))(({details:o})=>{o.type==="Utility"&&o.name===n&&(this.log(`crashed with code ${o.exitCode} and reason '${o.reason}'`,Fe.Error),this.telemetryService.publicLog2("utilityprocesscrash",{type:t.type,reason:o.reason,code:o.exitCode}),this._onCrash.fire({pid:this.processPid,code:o.exitCode,reason:o.reason}),this.onDidExitOrCrashOrKill())}))}once(e,t){let n=this._register(this._onMessage.event(o=>{o===e&&(n.dispose(),t())}))}postMessage(e,t){return this.process?(this.process.postMessage(e,t),!0):!1}connect(e){let{port1:t,port2:n}=new E2;return this.postMessage(e,[n]),t}enableInspectPort(){if(!this.process||typeof this.processPid!="number")return!1;this.log("enabling inspect port",Fe.Info);let e=process;return typeof e._debugProcess=="function"?(e._debugProcess(this.processPid),!0):!1}kill(){if(!this.process)return;this.log("attempting to kill the process...",Fe.Info),this.process.kill()?(this.log("successfully killed the process",Fe.Info),this.onDidExitOrCrashOrKill()):this.log("unable to kill the process",Fe.Warning)}onDidExitOrCrashOrKill(){typeof this.processPid=="number"&&ir.all.delete(this.processPid),this.process=void 0}async waitForExit(e){this.process&&(this.log("waiting to exit...",Fe.Info),await Promise.race([x.toPromise(this.onExit),ct(e)]),this.process&&(this.log(`did not exit within ${e}ms, will kill it now...`,Fe.Info),this.kill()))}};ir=T([g(0,U),g(1,Ge),g(2,ye)],ir);Xo=class extends ir{constructor(e,t,n,o){super(e,n,o);this.windowsMainService=t}start(e){let t=this.windowsMainService.getWindowById(e.responseWindowId);if(!t?.win||t.win.isDestroyed()||t.win.webContents.isDestroyed())return this.log("Refusing to start utility process because requesting window cannot be found or is destroyed...",Fe.Error),!0;if(!super.doStart(e))return!1;this.registerWindowListeners(t.win,e);let o=this.connect(e.payload);return t.win.webContents.postMessage(e.responseChannel,e.responseNonce,[o]),!0}registerWindowListeners(e,t){if(t.windowLifecycleBound){let n=t.windowLifecycleGraceTime,o=n&&n>0?()=>this.waitForExit(n):()=>this.kill();this._register(x.filter(this.lifecycleMainService.onWillLoadWindow,s=>s.window.win===e)(o)),this._register(x.fromNodeEventEmitter(e,"closed")(o))}}};Xo=T([g(0,U),g(1,Be),g(2,Ge),g(3,ye)],Xo)});import{app as Dy}from"electron";var _2,El,Pl,Ly=w(()=>{Dn();wt();re();Dt();Cr();Qo();Le();oe();Yo();_2="diagnosticsMainService",El=M(_2),Pl=class{constructor(r,e,t){this.windowsMainService=r;this.workspacesManagementMainService=e;this.logService=t}async getRemoteDiagnostics(r){let e=this.windowsMainService.getWindows();return(await Promise.all(e.map(async n=>{let o=n.remoteAuthority;if(!o)return;let s=`vscode:getDiagnosticInfoResponse${n.id}`,a={includeProcesses:r.includeProcesses,folders:r.includeWorkspaceMetadata?await this.getFolderURIs(n):void 0};return new Promise(l=>{n.sendWhenReady("vscode:getDiagnosticInfo",Se.None,{replyChannel:s,args:a}),et.once(s,(c,d)=>{d||l({hostName:o,errorMessage:`Unable to resolve connection to '${o}'.`}),l(d)}),setTimeout(()=>{l({hostName:o,errorMessage:`Connection to '${o}' could not be established`})},5e3)})}))).filter(n=>!!n)}async getMainDiagnostics(){this.logService.trace("Received request for main process info from other instance.");let r=[];for(let o of _i()){let s=this.windowsMainService.getWindowById(o.id);s?r.push(await this.codeWindowToInfo(s)):r.push(this.browserWindowToInfo(o))}let e=[];for(let{pid:o,name:s}of ir.getAll())e.push({pid:o,name:s});let t=[],n=Dy;return typeof n.getGPULogMessages=="function"&&(t=n.getGPULogMessages()),{mainPID:process.pid,mainArguments:process.argv.slice(1),windows:r,pidToNames:e,screenReader:!!Dy.accessibilitySupportEnabled,gpuFeatureStatus:Dy.getGPUFeatureStatus(),gpuLogMessages:t}}async codeWindowToInfo(r){let e=await this.getFolderURIs(r),t=mi(r.win);return this.browserWindowToInfo(t,e,r.remoteAuthority)}browserWindowToInfo(r,e=[],t){return{id:r.id,pid:r.webContents.getOSProcessId(),title:r.getTitle(),folderURIs:e,remoteAuthority:t}}async getFolderURIs(r){let e=[],t=r.openedWorkspace;if(Ut(t))e.push(t.uri);else if(dt(t)){let n=await this.workspacesManagementMainService.resolveLocalWorkspace(t.configPath);n&&n.folders.forEach(s=>{e.push(s.uri)})}return e}};Pl=T([g(0,Be),g(1,hn),g(2,U)],Pl)});import{safeStorage as k2,app as R2}from"electron";var Zo,Tl,PP=w(()=>{te();Ef();oe();Zo=k2,Tl=class{constructor(r){this.logService=r;R2.commandLine.getSwitchValue("password-store")==="basic"&&(this.logService.trace("[EncryptionMainService] setting usePlainTextEncryption to true..."),Zo.setUsePlainTextEncryption?.(!0),this.logService.trace("[EncryptionMainService] set usePlainTextEncryption to true"))}async encrypt(r){this.logService.trace("[EncryptionMainService] Encrypting value...");try{let e=JSON.stringify(Zo.encryptString(r));return this.logService.trace("[EncryptionMainService] Encrypted value."),e}catch(e){throw this.logService.error(e),e}}async decrypt(r){let e;try{if(e=JSON.parse(r),!e.data)throw new Error(`[EncryptionMainService] Invalid encrypted value: ${r}`);let t=Buffer.from(e.data);this.logService.trace("[EncryptionMainService] Decrypting value...");let n=Zo.decryptString(t);return this.logService.trace("[EncryptionMainService] Decrypted value."),n}catch(t){throw this.logService.error(t),t}}isEncryptionAvailable(){this.logService.trace("[EncryptionMainService] Checking if encryption is available...");let r=Zo.isEncryptionAvailable();return this.logService.trace("[EncryptionMainService] Encryption is available: ",r),Promise.resolve(r)}getKeyStorageProvider(){if(W)return Promise.resolve("dpapi");if(V)return Promise.resolve("keychain_access");if(Zo.getSelectedStorageBackend)try{this.logService.trace("[EncryptionMainService] Getting selected storage backend...");let r=Zo.getSelectedStorageBackend();return this.logService.trace("[EncryptionMainService] Selected storage backend: ",r),Promise.resolve(r)}catch(r){this.logService.error(r)}return Promise.resolve("unknown")}async setUsePlainTextEncryption(){if(W)throw new Error("Setting plain text encryption is not supported on Windows.");if(V)throw new Error("Setting plain text encryption is not supported on macOS.");if(!Zo.setUsePlainTextEncryption)throw new Error("Setting plain text encryption is not supported.");this.logService.trace("[EncryptionMainService] Setting usePlainTextEncryption to true..."),Zo.setUsePlainTextEncryption(!0),this.logService.trace("[EncryptionMainService] Set usePlainTextEncryption to true")}};Tl=T([g(0,U)],Tl)});var Pn,Ks=w(()=>{re();Pn=M("auxiliaryWindowsMainService")});var Nt,bu,Ay,Su,EP,TP,xu=w(()=>{Te();Nt="workbench.action.browser",bu=(z=>(z.Open=`${Nt}.open`,z.NewTab=`${Nt}.newTab`,z.QuickOpen=`${Nt}.quickOpen`,z.CloseAll=`${Nt}.closeAll`,z.CloseAllInGroup=`${Nt}.closeAllInGroup`,z.GoBack=`${Nt}.goBack`,z.GoForward=`${Nt}.goForward`,z.Reload=`${Nt}.reload`,z.HardReload=`${Nt}.hardReload`,z.FocusUrlInput=`${Nt}.focusUrlInput`,z.OpenExternal=`${Nt}.openExternal`,z.OpenSettings=`${Nt}.openSettings`,z.AddElementToChat=`${Nt}.addElementToChat`,z.AddConsoleLogsToChat=`${Nt}.addConsoleLogsToChat`,z.ToggleDevTools=`${Nt}.toggleDevTools`,z.ClearGlobalStorage=`${Nt}.clearGlobalStorage`,z.ClearWorkspaceStorage=`${Nt}.clearWorkspaceStorage`,z.ClearEphemeralStorage=`${Nt}.clearEphemeralStorage`,z.ShowFind=`${Nt}.showFind`,z.HideFind=`${Nt}.hideFind`,z.FindNext=`${Nt}.findNext`,z.FindPrevious=`${Nt}.findPrevious`,z))(bu||{}),Ay="browserView",Su=[.25,1/3,.5,2/3,.75,.8,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4,5],EP=Su.indexOf(1),TP=999});function D2(){let i=new ee;return i[Symbol.dispose]=()=>i.dispose(),i}async function CP(i,r){var D=[];try{let e=cb(D,D2());let t={};e.add(i.onEvent(j=>{if(j.method==="DOM.setChildNodes"){let{nodes:q}=j.params;for(let ue of q){if(t[ue.nodeId]=ue,ue.children)for(let rt of ue.children)t[rt.nodeId]={...rt,parentId:ue.nodeId};if(ue.pseudoElements)for(let rt of ue.pseudoElements)t[rt.nodeId]={...rt,parentId:ue.nodeId}}}}));await i.sendCommand("DOM.getDocument");let{node:n}=await i.sendCommand("DOM.describeNode",r);if(!n)throw new Error("Failed to describe node.");let o=n.nodeId;if(!o){let{nodeIds:j}=await i.sendCommand("DOM.pushNodesByBackendIdsToFrontend",{backendNodeIds:[n.backendNodeId]});if(!j?.length)throw new Error("Failed to get node ID.");o=j[0]}let{model:s}=await i.sendCommand("DOM.getBoxModel",{nodeId:o});if(!s)throw new Error("Failed to get box model.");let a=s.content;let l=s.margin;let c=Math.min(l[0],a[0]);let d=Math.min(l[1],a[1]);let u=Math.max(l[2]-l[0],a[2]-a[0]);let f=Math.max(l[5]-l[1],a[5]-a[1]);let m=await i.sendCommand("CSS.getMatchedStylesForNode",{nodeId:o});if(!m)throw new Error("Failed to get matched css.");let y=L2(m);let{outerHTML:v}=await i.sendCommand("DOM.getOuterHTML",{nodeId:o});if(!v)throw new Error("Failed to get outerHTML.");let b=_P(n.attributes);let I=[];let C=t[o]??n;for(;C;){let j=_P(C.attributes);I.unshift({tagName:C.localName,id:j.id,classNames:j.class?.trim().split(/\s+/).filter(Boolean)}),C=C.parentId?t[C.parentId]:void 0}let R;try{let{computedStyle:j}=await i.sendCommand("CSS.getComputedStyleForNode",{nodeId:o});if(j){R={};for(let q of j)q.name&&typeof q.value=="string"&&(R[q.name]=q.value)}}catch{}return{outerHTML:v,computedStyle:y,bounds:{x:c,y:d,width:u,height:f},ancestors:I,attributes:b,computedStyles:R,dimensions:{top:d,left:c,width:u,height:f}}}catch(A){var z=A,N=!0}finally{db(D,z,N)}}function L2(i){let r=[];if(i.inlineStyle?.cssProperties?.length){r.push("/* Inline style */"),r.push("element {");for(let e of i.inlineStyle.cssProperties)e.name&&e.value&&r.push(`  ${e.name}: ${e.value};`);r.push(`}
`)}if(i.matchedCSSRules?.length)for(let e of i.matchedCSSRules){let t=e.rule,n=t.selectorList.selectors.map(o=>o.text).join(", ");r.push(`/* Matched Rule from ${t.origin} */`),r.push(`${n} {`);for(let o of t.style.cssProperties)o.name&&o.value&&r.push(`  ${o.name}: ${o.value};`);r.push(`}
`)}if(i.inherited?.length){let e=1;for(let t of i.inherited){t.inlineStyle&&(r.push(`/* Inherited from ancestor level ${e} (inline) */`),r.push("element {"),r.push(t.inlineStyle.cssText||""),r.push(`}
`));let n=t.matchedCSSRules||[];for(let o of n){let s=o.rule,a=s.selectorList.selectors.map(l=>l.text).join(", ");r.push(`/* Inherited from ancestor level ${e} (${s.origin}) */`),r.push(`${a} {`);for(let l of s.style.cssProperties)l.name&&l.value&&r.push(`  ${l.name}: ${l.value};`);r.push(`}
`)}e++}}return`
`+r.join(`
`)}function _P(i){let r={};for(let e=0;e<i.length;e+=2){let t=i[e],n=i[e+1];r[t]=n}return r}var bm,A2,kP=w(()=>{$();bm=class extends _{constructor(r){super(),this._connectionPromise=r.attach().then(async e=>{try{if(await e.sendCommand("DOM.enable"),await e.sendCommand("Overlay.enable"),await e.sendCommand("CSS.enable"),this._store.isDisposed)throw e.dispose(),new Error("Inspector disposed before connection was ready");return this._register(e),e}catch(t){throw e.dispose(),t}})}async getElementData(r){let e=await this._connectionPromise,t=new ee,n=new Promise((o,s)=>{t.add(r.onCancellationRequested(()=>{o(void 0)})),t.add(e.onEvent(async a=>{if(a.method!=="Overlay.inspectNodeRequested")return;let l=a.params;if(!l?.backendNodeId){s(new Error("Missing backendNodeId in inspectNodeRequested event"));return}try{let c=await CP(e,{backendNodeId:l.backendNodeId});o(c)}catch(c){s(c)}}))});try{return await e.sendCommand("Overlay.setInspectMode",{mode:"searchForNode",highlightConfig:A2}),await n}finally{try{await e.sendCommand("Overlay.setInspectMode",{mode:"none",highlightConfig:{showInfo:!1,showStyles:!1}}),await e.sendCommand("Overlay.hideHighlight")}catch{}t.dispose()}}async getFocusedElementData(){let r=await this._connectionPromise;await r.sendCommand("Runtime.enable");let{result:e}=await r.sendCommand("Runtime.evaluate",{expression:"document.activeElement",returnByValue:!1});if(e?.objectId)return CP(r,{objectId:e.objectId})}};A2={showInfo:!0,showRulers:!1,showStyles:!0,showAccessibilityInfo:!0,showExtensionLines:!1,contrastAlgorithm:"aa",contentColor:{r:173,g:216,b:255,a:.8},paddingColor:{r:150,g:200,b:255,a:.5},borderColor:{r:120,g:180,b:255,a:.7},marginColor:{r:200,g:220,b:255,a:.4},eventTargetColor:{r:130,g:160,b:255,a:.8},shapeColor:{r:130,g:160,b:255,a:.8},shapeMarginColor:{r:130,g:160,b:255,a:.5},gridHighlightConfig:{rowGapColor:{r:140,g:190,b:255,a:.3},rowHatchColor:{r:140,g:190,b:255,a:.7},columnGapColor:{r:140,g:190,b:255,a:.3},columnHatchColor:{r:140,g:190,b:255,a:.7},rowLineColor:{r:120,g:180,b:255},columnLineColor:{r:120,g:180,b:255},rowLineDash:!0,columnLineDash:!0},flexContainerHighlightConfig:{containerBorder:{color:{r:120,g:180,b:255},pattern:"solid"},itemSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},lineSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},mainDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},crossDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},rowGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},columnGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}}},flexItemHighlightConfig:{baseSizeBox:{hatchColor:{r:130,g:170,b:255,a:.6}},baseSizeBorder:{color:{r:120,g:180,b:255},pattern:"solid"},flexibilityArrow:{color:{r:130,g:190,b:255}}}}});var Pu,My=w(()=>{qe();le();(n=>{n.scheme=F.vscodeBrowser;function r(o){return E.from({scheme:n.scheme,path:`/${o}`})}n.forId=r;function e(o){if(o.scheme!==n.scheme)return;let s=o.path.startsWith("/")?o.path.substring(1):o.path;if(s)return{id:s}}n.parse=e;function t(o){return e(o)?.id}n.getId=t})(Pu||={})});var Sm,Oy,RP=w(()=>{J();$();Sm=class extends _{constructor(e,t){super();this.view=e;this.logService=t;this._sessions=this._register(new Xt);this._isPaused=!1;this._electronDebugger=e.webContents.debugger,this._messageHandler=(n,o,s,a)=>{this.routeCDPEvent(o,s,a)}}get isPaused(){return this._isPaused}async attach(){await this.initialize();let t=(await this._electronDebugger.sendCommand("Target.attachToTarget",{targetId:this._realTargetId,flatten:!0})).sessionId,n=new Oy(t,this.view,this._electronDebugger);return this._sessions.set(t,n),n.onClose(()=>this._sessions.deleteAndDispose(t)),n}async getTargetInfo(){await this.initialize();let e=this.view.webContents.getURL()||"about:blank",t=this.view.webContents.getTitle()||e;return{targetId:this._realTargetId,type:"page",title:t,url:e,attached:this._sessions.size>0,canAccessOpener:!1,browserContextId:this.view.session.id}}initialize(){return this._initializePromise||(this._initializePromise=(async()=>{if(this.attachElectronDebugger(),await this.discoverRealTargetId(),!this._realTargetId)throw this._initializePromise=void 0,new Error("Could not discover real targetId for this WebContents")})()),this._initializePromise}async discoverRealTargetId(){try{let e=await this._electronDebugger.sendCommand("Target.getTargetInfo");this._realTargetId=e.targetInfo.targetId}catch(e){this.logService.error("[BrowserViewDebugger] Error discovering real targetId:",e)}}attachElectronDebugger(){this._electronDebugger.isAttached()||(this._electronDebugger.attach("1.3"),this._electronDebugger.on("message",this._messageHandler))}routeCDPEvent(e,t,n){if(!n)return;e==="Debugger.paused"?this._isPaused=!0:e==="Debugger.resumed"&&(this._isPaused=!1);let o=this._sessions.get(n);o&&o.emitEvent({method:e,params:t,sessionId:n})}detachElectronDebugger(){if(this._electronDebugger.isAttached()){this._electronDebugger.removeListener("message",this._messageHandler);try{this._electronDebugger.detach()}catch(e){this.logService.error("[BrowserViewDebugger] Error detaching from WebContents:",e)}}}dispose(){this.detachElectronDebugger(),super.dispose()}},Oy=class extends _{constructor(e,t,n){super();this.sessionId=e;this._view=t;this._electronDebugger=n;this._onEvent=this._register(new S);this.onEvent=this._onEvent.event;this.emitEvent=e=>this._onEvent.fire(e);this._onClose=this._register(new S);this.onClose=this._onClose.event;this._isDisposed=!1}async sendCommand(e,t,n){if(e==="Emulation.setDeviceMetricsOverride")return Promise.resolve({});let o=await this._electronDebugger.sendCommand(e,t,this.sessionId);return e==="Page.handleJavaScriptDialog"&&this._view.webContents.emit("-cancel-dialogs"),o}dispose(){this._isDisposed||(this._isDisposed=!0,this._electronDebugger.sendCommand("Target.detachFromTarget",{sessionId:this.sessionId}).catch(()=>{}),this._onClose.fire(),super.dispose())}}});function B2(i){return i===5||i===4||i===6||i===57}var Eu,xm,Fy,Wy,M2,O2,Ny,F2,W2,U2,DP,Uy,N2,LP=w(()=>{Eu=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(r,e){this._keyCodeToStr[r]=e,this._strToKeyCode[e.toLowerCase()]=r}keyCodeToStr(r){return this._keyCodeToStr[r]}strToKeyCode(r){return this._strToKeyCode[r.toLowerCase()]||0}},xm=new Eu,Fy=new Eu,Wy=new Eu,M2=new Array(230),O2={},Ny={},F2=[],W2=Object.create(null),U2=Object.create(null),DP=[],Uy=[];for(let i=0;i<=193;i++)DP[i]=-1;for(let i=0;i<=132;i++)Uy[i]=-1;(function(){let r=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN","",""],[1,1,"Hyper",0,"",0,"","",""],[1,2,"Super",0,"",0,"","",""],[1,3,"Fn",0,"",0,"","",""],[1,4,"FnLock",0,"",0,"","",""],[1,5,"Suspend",0,"",0,"","",""],[1,6,"Resume",0,"",0,"","",""],[1,7,"Turbo",0,"",0,"","",""],[1,8,"Sleep",0,"",0,"VK_SLEEP","",""],[1,9,"WakeUp",0,"",0,"","",""],[0,10,"KeyA",31,"A",65,"VK_A","",""],[0,11,"KeyB",32,"B",66,"VK_B","",""],[0,12,"KeyC",33,"C",67,"VK_C","",""],[0,13,"KeyD",34,"D",68,"VK_D","",""],[0,14,"KeyE",35,"E",69,"VK_E","",""],[0,15,"KeyF",36,"F",70,"VK_F","",""],[0,16,"KeyG",37,"G",71,"VK_G","",""],[0,17,"KeyH",38,"H",72,"VK_H","",""],[0,18,"KeyI",39,"I",73,"VK_I","",""],[0,19,"KeyJ",40,"J",74,"VK_J","",""],[0,20,"KeyK",41,"K",75,"VK_K","",""],[0,21,"KeyL",42,"L",76,"VK_L","",""],[0,22,"KeyM",43,"M",77,"VK_M","",""],[0,23,"KeyN",44,"N",78,"VK_N","",""],[0,24,"KeyO",45,"O",79,"VK_O","",""],[0,25,"KeyP",46,"P",80,"VK_P","",""],[0,26,"KeyQ",47,"Q",81,"VK_Q","",""],[0,27,"KeyR",48,"R",82,"VK_R","",""],[0,28,"KeyS",49,"S",83,"VK_S","",""],[0,29,"KeyT",50,"T",84,"VK_T","",""],[0,30,"KeyU",51,"U",85,"VK_U","",""],[0,31,"KeyV",52,"V",86,"VK_V","",""],[0,32,"KeyW",53,"W",87,"VK_W","",""],[0,33,"KeyX",54,"X",88,"VK_X","",""],[0,34,"KeyY",55,"Y",89,"VK_Y","",""],[0,35,"KeyZ",56,"Z",90,"VK_Z","",""],[0,36,"Digit1",22,"1",49,"VK_1","",""],[0,37,"Digit2",23,"2",50,"VK_2","",""],[0,38,"Digit3",24,"3",51,"VK_3","",""],[0,39,"Digit4",25,"4",52,"VK_4","",""],[0,40,"Digit5",26,"5",53,"VK_5","",""],[0,41,"Digit6",27,"6",54,"VK_6","",""],[0,42,"Digit7",28,"7",55,"VK_7","",""],[0,43,"Digit8",29,"8",56,"VK_8","",""],[0,44,"Digit9",30,"9",57,"VK_9","",""],[0,45,"Digit0",21,"0",48,"VK_0","",""],[1,46,"Enter",3,"Enter",13,"VK_RETURN","",""],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE","",""],[1,48,"Backspace",1,"Backspace",8,"VK_BACK","",""],[1,49,"Tab",2,"Tab",9,"VK_TAB","",""],[1,50,"Space",10,"Space",32,"VK_SPACE","",""],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,"",0,"","",""],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL","",""],[1,64,"F1",59,"F1",112,"VK_F1","",""],[1,65,"F2",60,"F2",113,"VK_F2","",""],[1,66,"F3",61,"F3",114,"VK_F3","",""],[1,67,"F4",62,"F4",115,"VK_F4","",""],[1,68,"F5",63,"F5",116,"VK_F5","",""],[1,69,"F6",64,"F6",117,"VK_F6","",""],[1,70,"F7",65,"F7",118,"VK_F7","",""],[1,71,"F8",66,"F8",119,"VK_F8","",""],[1,72,"F9",67,"F9",120,"VK_F9","",""],[1,73,"F10",68,"F10",121,"VK_F10","",""],[1,74,"F11",69,"F11",122,"VK_F11","",""],[1,75,"F12",70,"F12",123,"VK_F12","",""],[1,76,"PrintScreen",0,"",0,"","",""],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL","",""],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE","",""],[1,79,"Insert",19,"Insert",45,"VK_INSERT","",""],[1,80,"Home",14,"Home",36,"VK_HOME","",""],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR","",""],[1,82,"Delete",20,"Del",46,"VK_DELETE","Delete",""],[1,83,"End",13,"End",35,"VK_END","",""],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT","",""],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",""],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",""],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",""],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",""],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK","",""],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE","",""],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY","",""],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT","",""],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD","",""],[1,94,"NumpadEnter",3,"",0,"","",""],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1","",""],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2","",""],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3","",""],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4","",""],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5","",""],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6","",""],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7","",""],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8","",""],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9","",""],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0","",""],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL","",""],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102","",""],[1,107,"ContextMenu",58,"ContextMenu",93,"","",""],[1,108,"Power",0,"",0,"","",""],[1,109,"NumpadEqual",0,"",0,"","",""],[1,110,"F13",71,"F13",124,"VK_F13","",""],[1,111,"F14",72,"F14",125,"VK_F14","",""],[1,112,"F15",73,"F15",126,"VK_F15","",""],[1,113,"F16",74,"F16",127,"VK_F16","",""],[1,114,"F17",75,"F17",128,"VK_F17","",""],[1,115,"F18",76,"F18",129,"VK_F18","",""],[1,116,"F19",77,"F19",130,"VK_F19","",""],[1,117,"F20",78,"F20",131,"VK_F20","",""],[1,118,"F21",79,"F21",132,"VK_F21","",""],[1,119,"F22",80,"F22",133,"VK_F22","",""],[1,120,"F23",81,"F23",134,"VK_F23","",""],[1,121,"F24",82,"F24",135,"VK_F24","",""],[1,122,"Open",0,"",0,"","",""],[1,123,"Help",0,"",0,"","",""],[1,124,"Select",0,"",0,"","",""],[1,125,"Again",0,"",0,"","",""],[1,126,"Undo",0,"",0,"","",""],[1,127,"Cut",0,"",0,"","",""],[1,128,"Copy",0,"",0,"","",""],[1,129,"Paste",0,"",0,"","",""],[1,130,"Find",0,"",0,"","",""],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE","",""],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP","",""],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN","",""],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR","",""],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1","",""],[1,136,"KanaMode",0,"",0,"","",""],[0,137,"IntlYen",0,"",0,"","",""],[1,138,"Convert",0,"",0,"","",""],[1,139,"NonConvert",0,"",0,"","",""],[1,140,"Lang1",0,"",0,"","",""],[1,141,"Lang2",0,"",0,"","",""],[1,142,"Lang3",0,"",0,"","",""],[1,143,"Lang4",0,"",0,"","",""],[1,144,"Lang5",0,"",0,"","",""],[1,145,"Abort",0,"",0,"","",""],[1,146,"Props",0,"",0,"","",""],[1,147,"NumpadParenLeft",0,"",0,"","",""],[1,148,"NumpadParenRight",0,"",0,"","",""],[1,149,"NumpadBackspace",0,"",0,"","",""],[1,150,"NumpadMemoryStore",0,"",0,"","",""],[1,151,"NumpadMemoryRecall",0,"",0,"","",""],[1,152,"NumpadMemoryClear",0,"",0,"","",""],[1,153,"NumpadMemoryAdd",0,"",0,"","",""],[1,154,"NumpadMemorySubtract",0,"",0,"","",""],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR","",""],[1,156,"NumpadClearEntry",0,"",0,"","",""],[1,0,"",5,"Ctrl",17,"VK_CONTROL","",""],[1,0,"",4,"Shift",16,"VK_SHIFT","",""],[1,0,"",6,"Alt",18,"VK_MENU","",""],[1,0,"",57,"Meta",91,"VK_COMMAND","",""],[1,157,"ControlLeft",5,"",0,"VK_LCONTROL","",""],[1,158,"ShiftLeft",4,"",0,"VK_LSHIFT","",""],[1,159,"AltLeft",6,"",0,"VK_LMENU","",""],[1,160,"MetaLeft",57,"",0,"VK_LWIN","",""],[1,161,"ControlRight",5,"",0,"VK_RCONTROL","",""],[1,162,"ShiftRight",4,"",0,"VK_RSHIFT","",""],[1,163,"AltRight",6,"",0,"VK_RMENU","",""],[1,164,"MetaRight",57,"",0,"VK_RWIN","",""],[1,165,"BrightnessUp",0,"",0,"","",""],[1,166,"BrightnessDown",0,"",0,"","",""],[1,167,"MediaPlay",0,"",0,"","",""],[1,168,"MediaRecord",0,"",0,"","",""],[1,169,"MediaFastForward",0,"",0,"","",""],[1,170,"MediaRewind",0,"",0,"","",""],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK","",""],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK","",""],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP","",""],[1,174,"Eject",0,"",0,"","",""],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE","",""],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT","",""],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL","",""],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2","",""],[1,179,"LaunchApp1",0,"",0,"VK_MEDIA_LAUNCH_APP1","",""],[1,180,"SelectTask",0,"",0,"","",""],[1,181,"LaunchScreenSaver",0,"",0,"","",""],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH","",""],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME","",""],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK","",""],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD","",""],[1,186,"BrowserStop",0,"",0,"VK_BROWSER_STOP","",""],[1,187,"BrowserRefresh",0,"",0,"VK_BROWSER_REFRESH","",""],[1,188,"BrowserFavorites",0,"",0,"VK_BROWSER_FAVORITES","",""],[1,189,"ZoomToggle",0,"",0,"","",""],[1,190,"MailReply",0,"",0,"","",""],[1,191,"MailForward",0,"",0,"","",""],[1,192,"MailSend",0,"",0,"","",""],[1,0,"",114,"KeyInComposition",229,"","",""],[1,0,"",116,"ABNT_C2",194,"VK_ABNT_C2","",""],[1,0,"",96,"OEM_8",223,"VK_OEM_8","",""],[1,0,"",0,"",0,"VK_KANA","",""],[1,0,"",0,"",0,"VK_HANGUL","",""],[1,0,"",0,"",0,"VK_JUNJA","",""],[1,0,"",0,"",0,"VK_FINAL","",""],[1,0,"",0,"",0,"VK_HANJA","",""],[1,0,"",0,"",0,"VK_KANJI","",""],[1,0,"",0,"",0,"VK_CONVERT","",""],[1,0,"",0,"",0,"VK_NONCONVERT","",""],[1,0,"",0,"",0,"VK_ACCEPT","",""],[1,0,"",0,"",0,"VK_MODECHANGE","",""],[1,0,"",0,"",0,"VK_SELECT","",""],[1,0,"",0,"",0,"VK_PRINT","",""],[1,0,"",0,"",0,"VK_EXECUTE","",""],[1,0,"",0,"",0,"VK_SNAPSHOT","",""],[1,0,"",0,"",0,"VK_HELP","",""],[1,0,"",0,"",0,"VK_APPS","",""],[1,0,"",0,"",0,"VK_PROCESSKEY","",""],[1,0,"",0,"",0,"VK_PACKET","",""],[1,0,"",0,"",0,"VK_DBE_SBCSCHAR","",""],[1,0,"",0,"",0,"VK_DBE_DBCSCHAR","",""],[1,0,"",0,"",0,"VK_ATTN","",""],[1,0,"",0,"",0,"VK_CRSEL","",""],[1,0,"",0,"",0,"VK_EXSEL","",""],[1,0,"",0,"",0,"VK_EREOF","",""],[1,0,"",0,"",0,"VK_PLAY","",""],[1,0,"",0,"",0,"VK_ZOOM","",""],[1,0,"",0,"",0,"VK_NONAME","",""],[1,0,"",0,"",0,"VK_PA1","",""],[1,0,"",0,"",0,"VK_OEM_CLEAR","",""]],e=[],t=[];for(let n of r){let[o,s,a,l,c,d,u,f,m]=n;if(t[s]||(t[s]=!0,F2[s]=a,W2[a]=s,U2[a.toLowerCase()]=s,o&&(DP[s]=l,l!==0&&l!==3&&!B2(l)&&(Uy[l]=s))),!e[l]){if(e[l]=!0,!c)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);xm.define(l,c),Fy.define(l,f||c),Wy.define(l,m||f||c)}d&&(M2[d]=l),a&&(Ny[a]=d),u&&(O2[u]=l)}Uy[3]=46})();(s=>{function i(a){return xm.keyCodeToStr(a)}s.toString=i;function r(a){return xm.strToKeyCode(a)}s.fromString=r;function e(a){return Fy.keyCodeToStr(a)}s.toUserSettingsUS=e;function t(a){return Wy.keyCodeToStr(a)}s.toUserSettingsGeneral=t;function n(a){return Fy.strToKeyCode(a)||Wy.strToKeyCode(a)}s.fromUserSettings=n;function o(a){if(a>=98&&a<=113)return null;switch(a){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right";case 20:return"Delete"}return xm.keyCodeToStr(a)}s.toElectronAccelerator=o})(N2||={})});import{WebContentsView as V2,webContents as H2}from"electron";var Qr,By=w(()=>{$();J();it();xu();kP();Dt();Ks();My();RP();oe();Le();LP();Qr=class extends _{constructor(e,t,n,o,s,a,l,c){super();this.id=e;this.session=t;this.windowsMainService=a;this.auxiliaryWindowsMainService=l;this.logService=c;this._faviconRequestCache=new Map;this._lastScreenshot=void 0;this._lastFavicon=void 0;this._lastError=void 0;this._lastUserGestureTimestamp=-1/0;this._browserZoomIndex=EP;this._isDisposed=!1;this._consoleLogs=[];this._onDidNavigate=this._register(new S);this.onDidNavigate=this._onDidNavigate.event;this._onDidChangeLoadingState=this._register(new S);this.onDidChangeLoadingState=this._onDidChangeLoadingState.event;this._onDidChangeFocus=this._register(new S);this.onDidChangeFocus=this._onDidChangeFocus.event;this._onDidChangeVisibility=this._register(new S);this.onDidChangeVisibility=this._onDidChangeVisibility.event;this._onDidChangeDevToolsState=this._register(new S);this.onDidChangeDevToolsState=this._onDidChangeDevToolsState.event;this._onDidKeyCommand=this._register(new S);this.onDidKeyCommand=this._onDidKeyCommand.event;this._onDidChangeTitle=this._register(new S);this.onDidChangeTitle=this._onDidChangeTitle.event;this._onDidChangeFavicon=this._register(new S);this.onDidChangeFavicon=this._onDidChangeFavicon.event;this._onDidRequestNewPage=this._register(new S);this.onDidRequestNewPage=this._onDidRequestNewPage.event;this._onDidFindInPage=this._register(new S);this.onDidFindInPage=this._onDidFindInPage.event;this._onDidClose=this._register(new S);this.onDidClose=this._onDidClose.event;let d={...s?.webPreferences,nodeIntegration:!1,contextIsolation:!0,sandbox:!0,webviewTag:!1,session:this.session.electronSession,type:"browserView"};this._view=new V2({webPreferences:d,...s?.webContents?{webContents:s.webContents}:{}}),this._view.setBackgroundColor("#FFFFFF"),this._view.webContents.setWindowOpenHandler(u=>{let f=(()=>{switch(u.disposition){case"background-tab":return"background";case"foreground-tab":return"foreground";case"new-window":return"newWindow";default:return}})();return!f||!this.consumePopupPermission(f)?{action:"deny"}:{action:"allow",createWindow:m=>{let y=n(m),v=Pu.forId(y.id);return this._onDidRequestNewPage.fire({resource:v,url:u.url,location:f,position:{x:m.x,y:m.y,width:m.width,height:m.height}}),y.webContents}}}),this._view.webContents.on("context-menu",(u,f)=>{o(this,f)}),this._view.webContents.on("destroyed",()=>{this.dispose()}),this._debugger=new Sm(this,this.logService),this._inspector=this._register(new bm(this)),this.setupEventListeners()}static{this.MAX_CONSOLE_LOG_ENTRIES=1e3}setupEventListeners(){let e=this._view.webContents;e.on("devtools-opened",()=>{this._onDidChangeDevToolsState.fire({isDevToolsOpen:!0})}),e.on("devtools-closed",()=>{this._onDidChangeDevToolsState.fire({isDevToolsOpen:!1})}),e.on("page-favicon-updated",async(o,s)=>{for(let a of s){this._faviconRequestCache.has(a)||this._faviconRequestCache.set(a,(async()=>{if(a.startsWith("data:image/"))return a;let l=await e.session.fetch(a,{cache:"force-cache"});if(!l.ok)throw new Error(`Failed to fetch favicon: ${l.status} ${l.statusText}`);let c=await l.headers.get("content-type");if(!c?.startsWith("image/"))throw new Error(`Favicon is not an image: ${c}`);let d=await l.arrayBuffer();return`data:${c};base64,${Buffer.from(d).toString("base64")}`})());try{this._lastFavicon=await this._faviconRequestCache.get(a),this._onDidChangeFavicon.fire({favicon:this._lastFavicon});return}catch{}}this._lastFavicon&&(this._lastFavicon=void 0,this._onDidChangeFavicon.fire({favicon:this._lastFavicon}))}),e.on("page-title-updated",(o,s)=>{this._onDidChangeTitle.fire({title:s})});let t=()=>{let o=e.getURL();this._onDidNavigate.fire({url:o,title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(o)})},n=o=>{this._onDidChangeLoadingState.fire({loading:o,error:this._lastError})};e.on("did-start-loading",()=>{this._lastError=void 0,n(!0)}),e.on("did-stop-loading",()=>n(!1)),e.on("did-fail-load",(o,s,a,l,c)=>{if(c){if(s===-3){n(!1);return}this._lastError={url:l,errorCode:s,errorDescription:a,certificateError:s<=-200&&s>=-220?this.session.trust.getCertificateError(l):void 0},n(!1),this._onDidNavigate.fire({url:l,title:"",canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),certificateError:this.session.trust.getCertificateError(l)})}}),e.on("did-finish-load",()=>n(!1)),this.session.trust.installCertErrorHandler(e),e.on("render-process-gone",(o,s)=>{this._lastError={url:e.getURL(),errorCode:s.exitCode,errorDescription:`Render process gone: ${s.reason}`},n(!1)}),e.on("did-navigate",t),e.on("did-navigate-in-page",t),e.on("did-navigate",()=>{this._consoleLogs.length=0,this._view.webContents.setZoomFactor(Su[this._browserZoomIndex])}),e.on("focus",()=>{this._onDidChangeFocus.fire({focused:!0})}),e.on("blur",()=>{this._onDidChangeFocus.fire({focused:!1})}),e.ipc.on("vscode:browserView:keydown",(o,s)=>{this._onDidKeyCommand.fire(s)}),e.on("before-input-event",(o,s)=>{if(s.type!=="keyDown"||this._view.getVisible()&&!e.isCrashed()&&!this._debugger.isPaused||!(s.control||s.alt||s.meta)&&s.key.length===1)return;o.preventDefault();let l=Ny[s.code]||0;this._onDidKeyCommand.fire({key:s.key,keyCode:l,code:s.code,ctrlKey:s.control,shiftKey:s.shift,altKey:s.alt,metaKey:s.meta,repeat:s.isAutoRepeat})}),e.on("input-event",(o,s)=>{switch(s.type){case"rawKeyDown":case"keyDown":case"mouseDown":case"pointerDown":case"pointerUp":case"touchEnd":this._lastUserGestureTimestamp=Date.now()}}),e.on("will-prevent-unload",o=>{o.preventDefault()}),e.on("found-in-page",(o,s)=>{this._onDidFindInPage.fire({activeMatchOrdinal:s.activeMatchOrdinal,matches:s.matches,selectionArea:s.selectionArea,finalUpdate:s.finalUpdate})}),this._view.webContents.on("console-message",o=>{this._consoleLogs.push(`[${o.level}] ${o.message}`),this._consoleLogs.length>Qr.MAX_CONSOLE_LOG_ENTRIES&&this._consoleLogs.splice(0,this._consoleLogs.length-Qr.MAX_CONSOLE_LOG_ENTRIES)})}consumePopupPermission(e){switch(e){case"foreground":case"background":return!0;case"newWindow":return this._lastUserGestureTimestamp>Date.now()-1e3?(this._lastUserGestureTimestamp=-1/0,!0):!1}}get webContents(){return this._view.webContents}getState(){let e=this._view.webContents,t=e.getURL();return{url:t,title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward(),loading:e.isLoading(),focused:e.isFocused(),visible:this._view.getVisible(),isDevToolsOpen:e.isDevToolsOpened(),lastScreenshot:this._lastScreenshot,lastFavicon:this._lastFavicon,lastError:this._lastError,certificateError:this.session.trust.getCertificateError(t),storageScope:this.session.storageScope,browserZoomIndex:this._browserZoomIndex}}toggleDevTools(){this._view.webContents.toggleDevTools()}layout(e){if(this._window?.win?.id!==e.windowId){let t=this._windowById(e.windowId);t&&(this._window?.win?.contentView.removeChildView(this._view),this._window=t,t.win?.contentView.addChildView(this._view))}this._view.setBorderRadius(Math.round(e.cornerRadius*e.zoomFactor)),this._view.setBounds({x:Math.round(e.x*e.zoomFactor),y:Math.round(e.y*e.zoomFactor),width:Math.round(e.width*e.zoomFactor),height:Math.round(e.height*e.zoomFactor)})}setBrowserZoomIndex(e){this._browserZoomIndex=Math.max(0,Math.min(e,Su.length-1));let t=Su[this._browserZoomIndex];this._view.webContents.setZoomFactor(t)}setVisible(e){this._view.getVisible()!==e&&(!e&&this._view.webContents.isFocused()&&this._window?.win?.webContents.focus(),this._view.setVisible(e),this._onDidChangeVisibility.fire({visible:e}))}getConsoleLogs(){return this._consoleLogs.join(`
`)}async getElementData(e){return this._inspector.getElementData(e)}async getFocusedElementData(){return this._inspector.getFocusedElementData()}async loadURL(e){await this._view.webContents.loadURL(e)}getURL(){return this._view.webContents.getURL()}goBack(){this._view.webContents.navigationHistory.canGoBack()&&this._view.webContents.navigationHistory.goBack()}goForward(){this._view.webContents.navigationHistory.canGoForward()&&this._view.webContents.navigationHistory.goForward()}reload(e){e?this._view.webContents.reloadIgnoringCache():this._view.webContents.reload()}canGoBack(){return this._view.webContents.navigationHistory.canGoBack()}canGoForward(){return this._view.webContents.navigationHistory.canGoForward()}async captureScreenshot(e){let t=e?.quality??80;if(e?.pageRect){let a=this._view.webContents.getZoomFactor();e.screenRect={x:e.pageRect.x*a,y:e.pageRect.y*a,width:e.pageRect.width*a,height:e.pageRect.height*a}}let o=(await this._view.webContents.capturePage(e?.screenRect,{stayHidden:!0})).toJPEG(t),s=H.wrap(o);return e?.screenRect||(this._lastScreenshot=s),s}async focus(){this._view.webContents.focus()}async findInPage(e,t){this._view.webContents.findInPage(e,{matchCase:t?.matchCase??!1,forward:t?.forward??!0,findNext:t?.recompute??!1})}async stopFindInPage(e){this._view.webContents.stopFindInPage(e?"keepSelection":"clearSelection")}async getSelectedText(){if(this._view.webContents.isLoading())return"";try{return await this._view.webContents.executeJavaScriptInIsolatedWorld(TP,[{code:'window.browserViewAPI?.getSelectedText?.() ?? ""'}])}catch{return""}}async clearStorage(){await this.session.clearData()}async trustCertificate(e,t){await this.session.trust.trustCertificate(e,t),this._view.webContents.reload()}async untrustCertificate(e,t){await this.session.trust.untrustCertificate(e,t),this.dispose()}getWebContentsView(){return this._view}getElectronWindow(){return this._window?.win??void 0}getTopCodeWindow(){return this._window&&an(this._window,{parentId:!0})?this._codeWindowById(this._window.parentId):void 0}getTargetInfo(){return this._debugger.getTargetInfo()}attach(){return this._debugger.attach()}dispose(){this._isDisposed||(this._isDisposed=!0,this._debugger.dispose(),this._window?.win?.contentView.removeChildView(this._view),this._onDidClose.fire(),this._view.webContents.isDestroyed()||this._view.webContents.close({waitForBeforeUnload:!1}),super.dispose())}_windowById(e){return this._codeWindowById(e)??this._auxiliaryWindowById(e)}_codeWindowById(e){if(typeof e=="number")return this.windowsMainService.getWindowById(e)}_auxiliaryWindowById(e){if(typeof e!="number")return;let t=H2.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};Qr=T([g(5,Be),g(6,Pn),g(7,U)],Qr)});var Pm,$2,Em,AP=w(()=>{oo();Pm="browserView.sessionTrustData",$2=10080*60*1e3,Em=class{constructor(r){this._session=r;this._trustedCertificates=new Map;this._certErrors=new Map;this._installCertVerifyProc()}_installCertVerifyProc(){this._session.electronSession.setCertificateVerifyProc((r,e)=>{let{hostname:t,errorCode:n,certificate:o,verificationResult:s}=r;return n!==0?this._certErrors.set(t,{certificate:o,error:s}):this._certErrors.delete(t),e(-3)})}installCertErrorHandler(r){r.on("certificate-error",(e,t,n,o,s)=>{e.preventDefault();let a=URL.parse(t)?.hostname;return a&&this.isCertificateTrusted(a,o.fingerprint)?s(!0):s(!1)})}getCertificateError(r){let e=URL.parse(r);if(!e||e.protocol!=="https:")return;let t=e.hostname;if(!t)return;let n=this._certErrors.get(t);if(!n)return;let o=n.certificate;return{host:t,fingerprint:o.fingerprint,error:n.error,url:r,hasTrustedException:this.isCertificateTrusted(t,o.fingerprint),issuerName:o.issuerName,subjectName:o.subjectName,validStart:o.validStart,validExpiry:o.validExpiry}}async trustCertificate(r,e){let t=this._trustedCertificates.get(r);t||(t=new Map,this._trustedCertificates.set(r,t)),t.set(e,Date.now()+$2),this.writeStorage()}async untrustCertificate(r,e){let t=this._trustedCertificates.get(r);if(t&&t.delete(e))t.size===0&&this._trustedCertificates.delete(r);else throw new Error(`Certificate not found: host=${r} fingerprint=${e}`);this.writeStorage(),await this._session.electronSession.closeAllConnections()}isCertificateTrusted(r,e){let t=this._trustedCertificates.get(r)?.get(e);return!(t===void 0||Date.now()>t)}connectStorage(r){this._storage||(this._storage=r,this.readStorage())}async clear(){this._trustedCertificates.clear(),this._certErrors.clear(),this.writeStorage(),await this._session.electronSession.closeAllConnections()}readStorage(){let r=this._storage;if(!r)return;let e=r.get(Pm,-1);if(!e)return;let t=Date.now(),n=!1;try{let s=JSON.parse(e)[this._session.id]?.trustedCerts;if(s)for(let{host:a,fingerprint:l,expiresAt:c}of s)if(c>t){let d=this._trustedCertificates.get(a);d||(d=new Map,this._trustedCertificates.set(a,d)),d.set(l,c)}else n=!0}catch{}n&&this.writeStorage()}writeStorage(){let r=this._storage;if(!r)return;let e={};try{let t=r.get(Pm,-1);t&&(e=JSON.parse(t))}catch{}if(e[this._session.id]||(e[this._session.id]={}),this._trustedCertificates.size===0)delete e[this._session.id].trustedCerts;else{let t=[];for(let[n,o]of this._trustedCertificates)for(let[s,a]of o)t.push({host:n,fingerprint:s,expiresAt:a});e[this._session.id].trustedCerts=t}Object.keys(e[this._session.id]).length===0&&delete e[this._session.id],Object.keys(e).length===0?r.remove(Pm,-1):r.store(Pm,JSON.stringify(e),-1,1)}}});import{session as Vy}from"electron";var MP,On,OP=w(()=>{It();xu();AP();qe();MP=new Set(["pointerLock","notifications","clipboard-sanitized-write"]),On=class i{constructor(r,e,t){this.id=r;this.electronSession=e;this.storageScope=t;this._trust=new Em(this),this.configure(),i.knownSessions.add(e),i._bySession.set(e,this),i._byId.set(r,new WeakRef(this)),i._finalizer.register(e,r)}static{this._bySession=new WeakMap}static{this._byId=new Map}static{this._finalizer=new FinalizationRegistry(r=>{i._byId.delete(r)})}static{this.knownSessions=new WeakSet}static isBrowserViewWebContents(r){return i.knownSessions.has(r.session)}static get(r){let e=i._byId.get(r);if(!e)return;let t=e.deref();return t||i._byId.delete(r),t}static getBrowserContextIds(){let r=[];for(let[e,t]of i._byId)t.deref()?r.push(e):i._byId.delete(e);return r}static getOrCreateGlobal(){let r=Vy.fromPartition("persist:vscode-browser");return i._bySession.get(r)??new i("global",r,"global")}static getOrCreateWorkspace(r,e){let t=me(e,r,"browserStorage"),n=Vy.fromPath(t.fsPath);return i._bySession.get(n)??new i(`workspace:${r}`,n,"workspace")}static getOrCreateEphemeral(r,e){if(e==="workspace"||e==="ephemeral")throw new Error(`Cannot create session with reserved type '${e}'`);let t=`${e??"ephemeral"}:${r}`,n=Vy.fromPartition(`vscode-browser-${e}${r}`);return i._bySession.get(n)??new i(t,n,"ephemeral")}static getOrCreate(r,e,t,n){switch(e){case"global":return i.getOrCreateGlobal();case"workspace":if(n)return i.getOrCreateWorkspace(n,t);case"ephemeral":default:return i.getOrCreateEphemeral(r)}}get trust(){return this._trust}connectStorage(r){this._trust.connectStorage(r)}configure(){this.electronSession.setPermissionRequestHandler((r,e,t)=>t(MP.has(e))),this.electronSession.setPermissionCheckHandler((r,e,t)=>MP.has(e)),this.electronSession.registerPreloadScript({type:"frame",filePath:st.asFileUri("vs/platform/browserView/electron-browser/preload-browserView.js").fsPath})}async clearData(){await this._trust.clear(),await this.electronSession.clearData()}}});var Cu,es,Tm,Tu,ts,FP=w(()=>{Cu={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,ServerError:-32e3},es=class extends Error{constructor(e,t){super(e);this.code=t;this.name="CDPError"}},Tm=class extends es{constructor(r){super(`Method not found: ${r}`,Cu.MethodNotFound),this.name="CDPMethodNotFoundError"}},Tu=class extends es{constructor(r){super(r,Cu.InvalidParams),this.name="CDPInvalidParamsError"}},ts=class extends es{constructor(r){super(r,Cu.ServerError),this.name="CDPServerError"}}});var zs,Hy,$y=w(()=>{$();J();er();FP();zs=class extends _{constructor(e){super();this.browserTarget=e;this.sessionId=`browser-session-${ke()}`;this._isAttachedToBrowserTarget=!1;this._autoAttach=!1;this._discover=!1;this._targets=this._register(new Hy);this._sessions=this._register(new Xt);this._sessionTargetIds=new WeakMap;this._autoAttachments=new WeakMap;this._handlers=new Map([["Browser.addPrivacySandboxCoordinatorKeyConfig",()=>({})],["Browser.addPrivacySandboxEnrollmentOverride",()=>({})],["Browser.close",()=>({})],["Browser.getVersion",()=>this.browserTarget.getVersion()],["Browser.resetPermissions",()=>({})],["Browser.getWindowForTarget",(e,t)=>this.handleBrowserGetWindowForTarget(e,t)],["Browser.setDownloadBehavior",()=>({})],["Browser.setWindowBounds",()=>({})],["Target.activateTarget",e=>this.handleTargetActivateTarget(e)],["Target.attachToTarget",e=>this.handleTargetAttachToTarget(e)],["Target.closeTarget",e=>this.handleTargetCloseTarget(e)],["Target.createBrowserContext",()=>this.handleTargetCreateBrowserContext()],["Target.createTarget",e=>this.handleTargetCreateTarget(e)],["Target.detachFromTarget",e=>this.handleTargetDetachFromTarget(e)],["Target.disposeBrowserContext",e=>this.handleTargetDisposeBrowserContext(e)],["Target.getBrowserContexts",()=>this.handleTargetGetBrowserContexts()],["Target.getTargets",()=>this.handleTargetGetTargets()],["Target.setAutoAttach",e=>this.handleTargetSetAutoAttach(e)],["Target.setDiscoverTargets",e=>this.handleTargetSetDiscoverTargets(e)],["Target.attachToBrowserTarget",()=>this.handleTargetAttachToBrowserTarget()],["Target.getTargetInfo",e=>this.handleTargetGetTargetInfo(e)]]);this._onEvent=this._register(new S);this.onEvent=this._onEvent.event;this._onClose=this._register(new S);this.onClose=this._onClose.event;this._onMessage=this._register(new S);this.onMessage=this._onMessage.event;this._targets.onDidRegisterTarget(async({targetInfo:t})=>{this._discover&&this.sendBrowserEvent("Target.targetCreated",{targetInfo:t}),this._autoAttach&&await this.attachToTarget(t.targetId,!0)}),this._targets.onDidUnregisterTarget(({targetInfo:t})=>{let n=[];for(let[,o]of this._sessions)this._sessionTargetIds.get(o)===t.targetId&&n.push(o);for(let o of n)o.dispose();this._discover&&this.sendBrowserEvent("Target.targetDestroyed",{targetId:t.targetId})}),this._register(this.browserTarget.onTargetCreated(t=>this._targets.register(t))),this._register(this.browserTarget.onTargetDestroyed(t=>this._targets.unregister(t)));for(let t of this.browserTarget.getTargets())this._targets.register(t);this._register(this._onEvent.event(t=>{this._onMessage.fire(t)}))}async sendCommand(e,t={},n){try{if(!n||n===this.sessionId||e.startsWith("Browser.")||e.startsWith("Target.")){let a=this._handlers.get(e);if(!a)throw new Tm(e);return await a(t,n)}let o=this._sessions.get(n);if(!o)throw new ts(`Session not found: ${n}`);return await o.sendCommand(e,t)??{}}catch(o){throw o instanceof es?o:new ts(o instanceof Error?o.message:"Unknown error")}}async sendMessage({id:e,method:t,params:n,sessionId:o}){return this.sendCommand(t,n,o).then(s=>{this._onMessage.fire({id:e,result:s,sessionId:o})}).catch(s=>{this._onMessage.fire({id:e,error:{code:s instanceof es?s.code:Cu.ServerError,message:s.message||"Unknown error"},sessionId:o})})}handleBrowserGetWindowForTarget({targetId:e},t){let n=(t&&this.findTargetIdForSession(t))??e;if(!n)throw new ts("Unable to resolve target");let o=this._targets.getById(n);return this.browserTarget.getWindowForTarget(o)}handleTargetGetBrowserContexts(){return{browserContextIds:this.browserTarget.getBrowserContexts()}}async handleTargetCreateBrowserContext(){return{browserContextId:await this.browserTarget.createBrowserContext()}}async handleTargetDisposeBrowserContext({browserContextId:e}){return await this.browserTarget.disposeBrowserContext(e),{}}handleTargetAttachToBrowserTarget(){return this._isAttachedToBrowserTarget=!0,{sessionId:this.sessionId}}handleTargetActivateTarget({targetId:e}){let t=this._targets.getById(e);return this.browserTarget.activateTarget(t)}async handleTargetSetAutoAttach({autoAttach:e=!1,flatten:t}){if(!t)throw new Tu("This implementation only supports auto-attach with flatten=true");return this._autoAttach=e,{}}async handleTargetSetDiscoverTargets({discover:e=!1}){if(e!==this._discover&&(this._discover=e,this._discover))for(let t of this._targets.getAllInfos())this.sendBrowserEvent("Target.targetCreated",{targetInfo:t});return{}}async handleTargetGetTargets(){return{targetInfos:Array.from(this._targets.getAllInfos())}}async handleTargetGetTargetInfo({targetId:e}={}){return e?{targetInfo:await this._targets.getById(e).getTargetInfo()}:{targetInfo:await this.browserTarget.getTargetInfo()}}async handleTargetAttachToTarget({targetId:e,flatten:t}){if(!t)throw new Tu("This implementation only supports attachToTarget with flatten=true");return{sessionId:(await this.attachToTarget(e,!1)).sessionId}}async handleTargetDetachFromTarget({sessionId:e}){let t=this._sessions.get(e);if(!t)throw new ts(`Session not found: ${e}`);return t.dispose(),{}}async handleTargetCreateTarget({url:e,browserContextId:t}){let n=await this.browserTarget.createTarget(e||"about:blank",t),o=await this._targets.register(n);return this._autoAttach&&await this.attachToTarget(o.targetId,!0),{targetId:o.targetId}}async handleTargetCloseTarget({targetId:e}){try{return await this.browserTarget.closeTarget(this._targets.getById(e)),{success:!0}}catch{return{success:!1}}}findTargetIdForSession(e){let t=this._sessions.get(e);if(t)return this._sessionTargetIds.get(t)}sendBrowserEvent(e,t){let n=this._isAttachedToBrowserTarget?this.sessionId:void 0;this._onEvent.fire({method:e,params:t,sessionId:n})}async attachToTarget(e,t){let n=this._targets.getById(e);if(t&&this._autoAttachments.has(n))return this._autoAttachments.get(n);let o=(async()=>{let s=await n.attach(),a=s.sessionId;this._sessions.set(a,s),this._sessionTargetIds.set(s,e);let l=await n.getTargetInfo();return s.onEvent(c=>{c.method.startsWith("Target.")||this._onEvent.fire({method:c.method,params:c.params,sessionId:a})}),s.onClose(()=>{this.sendBrowserEvent("Target.detachedFromTarget",{sessionId:a,targetId:e}),this._sessions.deleteAndDispose(a),this._sessionTargetIds.delete(s),this._autoAttachments.get(n)===o&&this._autoAttachments.delete(n)}),this.sendBrowserEvent("Target.attachedToTarget",{sessionId:a,targetInfo:{...l,attached:!0},waitingForDebugger:!1}),s})();return t&&this._autoAttachments.set(n,o),o}},Hy=class extends _{constructor(){super(...arguments);this._knownTargets=new WeakSet;this._targetInfos=new WeakMap;this._targetsByID=new Map;this._onDidRegisterTarget=this._register(new S);this.onDidRegisterTarget=this._onDidRegisterTarget.event;this._onDidUnregisterTarget=this._register(new S);this.onDidUnregisterTarget=this._onDidUnregisterTarget.event}getById(e){let t=this._targetsByID.get(e);if(!t)throw new ts(`Unknown targetId: ${e}`);return t}*getAllInfos(){for(let e of this._targetsByID.values())yield this._targetInfos.get(e)}async register(e){if(this._knownTargets.has(e))return e.getTargetInfo();this._knownTargets.add(e);let t=await e.getTargetInfo();return this._knownTargets.has(e)&&(this._targetInfos.set(e,t),this._targetsByID.set(t.targetId,e),this._onDidRegisterTarget.fire({target:e,targetInfo:t})),t}async unregister(e){if(!this._knownTargets.has(e))return;this._knownTargets.delete(e);let t=this._targetInfos.get(e);t&&(this._targetInfos.delete(e),this._targetsByID.delete(t.targetId),this._onDidUnregisterTarget.fire({target:e,targetInfo:t}))}}});function WP(i,r){i.publicLog2("integratedBrowser.open",{source:r})}var UP=w(()=>{});import{networkInterfaces as q2}from"os";function z2(i){let r=i.replace(/\-/g,":").toLowerCase();return!K2.has(r)}function NP(){let i=q2();for(let r in i){let e=i[r];if(e){for(let{mac:t}of e)if(z2(t))return t}}throw new Error("Unable to retrieve mac address (unexpected format)")}var K2,BP=w(()=>{K2=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as j2}from"os";async function VP(i){return qy||(qy=(async()=>await G2(i)||ke())()),qy}async function G2(i){try{let r=await import("crypto"),e=NP();return r.createHash("sha256").update(e,"utf8").digest("hex")}catch(r){i(r);return}}async function HP(i){if(W){let r=await import("@vscode/windows-registry");try{return r.GetStringRegKey("HKEY_LOCAL_MACHINE",J2,"MachineId")||""}catch(e){return i(e),""}}return""}async function Cm(i){try{return await(await import("@vscode/deviceid")).getDeviceId()}catch(r){return i(r),ke()}}var _u,qy,J2,ku=w(()=>{Us();er();BP();te();_u=new class{_isVirtualMachineMacAddress(i){return this._virtualMachineOUIs||(this._virtualMachineOUIs=jr.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(i)}value(){if(this._value===void 0){let i=0,r=0,e=j2();for(let t in e){let n=e[t];if(n)for(let{mac:o,internal:s}of n)s||(r+=1,this._isVirtualMachineMacAddress(o.toUpperCase())&&(i+=1))}this._value=r>0?i/r:0}return this._value}};J2="Software\\Microsoft\\SQMClient"});import*as _m from"net";function qP(i,r,e,t=1){let n=!1;return new Promise(o=>{let s=setTimeout(()=>{if(!n)return n=!0,o(0)},e);Ky(i,r,t,a=>{if(!n)return n=!0,clearTimeout(s),o(a)})})}function Ky(i,r,e,t){if(r===0)return t(0);let n=new _m.Socket;n.once("connect",()=>($P(n),Ky(i+e,r-1,e,t))),n.once("data",()=>{}),n.once("error",o=>($P(n),o.code!=="ECONNREFUSED"?Ky(i+e,r-1,e,t):t(i))),n.connect(i,"127.0.0.1")}function KP(i,r){return jy(i,0,r).then(e=>e!==0)}function jy(i,r,e,t="127.0.0.1"){let n=!1,o,s=1,a=_m.createServer({pauseOnConnect:!0});function l(c,d){n||(n=!0,a.removeAllListeners(),a.close(),o&&clearTimeout(o),d(c))}return new Promise(c=>{o=setTimeout(()=>{l(0,c)},e),a.on("listening",()=>{l(i,c)}),a.on("error",d=>{d&&(d.code==="EADDRINUSE"||d.code==="EACCES")&&s<r?(i++,s++,a.listen(i,t)):l(0,c)}),a.on("close",()=>{l(0,c)}),a.listen(i,t)})}function $P(i){try{i.removeAllListeners("connect"),i.removeAllListeners("error"),i.end(),i.destroy(),i.unref()}catch(r){console.error(r)}}var zy,Gy=w(()=>{zy={1:!0,7:!0,9:!0,11:!0,13:!0,15:!0,17:!0,19:!0,20:!0,21:!0,22:!0,23:!0,25:!0,37:!0,42:!0,43:!0,53:!0,69:!0,77:!0,79:!0,87:!0,95:!0,101:!0,102:!0,103:!0,104:!0,109:!0,110:!0,111:!0,113:!0,115:!0,117:!0,119:!0,123:!0,135:!0,137:!0,139:!0,143:!0,161:!0,179:!0,389:!0,427:!0,465:!0,512:!0,513:!0,514:!0,515:!0,526:!0,530:!0,531:!0,532:!0,540:!0,548:!0,554:!0,556:!0,563:!0,587:!0,601:!0,636:!0,989:!0,990:!0,993:!0,995:!0,1719:!0,1720:!0,1723:!0,2049:!0,3659:!0,4045:!0,5060:!0,5061:!0,6e3:!0,6566:!0,6665:!0,6666:!0,6667:!0,6668:!0,6669:!0,6697:!0,10080:!0}});var eK,Jy=w(()=>{re();eK=M("nativeHostService")});import*as zP from"fs";import*as jP from"child_process";async function GP(i=!1){return(Qy===void 0||i)&&(Qy=Q2()),Qy}async function Q2(){let i=await If();if(i===0)return!1;if(i>=22e3){let r=X2();if(r)return new Promise(e=>{try{jP.execFile(r,["--status"],t=>e(!t))}catch{e(!1)}})}else{let r=Y2();if(r)try{if((await zP.promises.stat(r)).isFile())return!0}catch{}}return!1}function JP(i){let r=process.env.SystemRoot;if(r){let e=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");return B(r,e?"Sysnative":"System32",i)}}function X2(){return JP("wsl.exe")}function Y2(){return JP("lxss\\LxssManager.dll")}var Qy,QP=w(()=>{_e();Qa()});var Cl,XP=w(()=>{ve();oe();Cl=class{constructor(r,e,t){this._window=r;this._sessionId=e;this._logService=t}async inspect(r){await this._connect();let e=this._window.webContents.debugger;await e.sendCommand("Profiler.start"),this._logService.warn("[perf] profiling STARTED",this._sessionId),await ct(r);let t=await e.sendCommand("Profiler.stop");return this._logService.warn("[perf] profiling DONE",this._sessionId),await this._disconnect(),t.profile}async _connect(){let r=this._window.webContents.debugger;r.attach(),await r.sendCommand("Profiler.enable")}async _disconnect(){let r=this._window.webContents.debugger;await r.sendCommand("Profiler.disable"),r.detach()}};Cl=T([g(2,U)],Cl)});import{createWriteStream as Z2,promises as pK}from"fs";async function YP(i,r){let{ZipFile:e}=await import("yazl");return new Promise((t,n)=>{let o=new e;r.forEach(a=>{a.contents?o.addBuffer(typeof a.contents=="string"?Buffer.from(a.contents,"utf8"):a.contents,a.path):a.localPath&&o.addFile(a.localPath,a.path)}),o.end();let s=Z2(i);o.outputStream.pipe(s),o.outputStream.once("error",n),s.once("error",n),s.once("finish",()=>t(i))})}var eL,gK,ZP=w(()=>{ve();_e();Le();Zt();Te();eL="end of central directory record signature not found",gK=new RegExp(eL)});function tL(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function rL(i){return i.res.statusCode===204}async function _l(i){if(!tL(i))throw new Error("Server returned "+i.res.statusCode);if(rL(i))return null;let e=(await Rs(i.stream)).toString();try{return JSON.parse(e)}catch(t){throw t.message+=`:
`+e,t}}function nL(i=!0,r=!0){if(e0===i&&t0===r)return;e0=i,t0=r;let e=xt.as(ar.Configuration),t=Xy;Xy=[{id:"http",order:15,title:h(2332,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:r,markdownDescription:h(2347,null),restricted:!0}}},{id:"http",order:15,title:h(2332,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:h(2330,null),restricted:!0}}},{id:"http",order:15,title:h(2332,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:h(2335,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:h(2343,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:h(2337,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:h(2334,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:h(2336,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[h(2340,null),h(2341,null),h(2339,null),h(2342,null)],default:"override",markdownDescription:h(2338,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:h(2344,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:Zy,markdownDescription:h(2345,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:h(2346,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2331,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2348,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:h(2333,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:Xy,remove:t})}var Fn,Yy,km,Zy,Xy,e0,t0,rs=w(()=>{it();He();J();$();Te();Ji();re();Yn();Fn=M("requestService"),Yy=class{constructor(r){this.original=r}toJSON(){if(!this.headers){let r=Object.create(null);for(let e in this.original)e.toLowerCase()==="authorization"||e.toLowerCase()==="proxy-authorization"?r[e]="*****":r[e]=this.original[e];this.headers=r}return this.headers}},km=class extends _{constructor(e){super();this.logService=e;this.counter=0;this._onDidCompleteRequest=this._register(new S);this.onDidCompleteRequest=this._onDidCompleteRequest.event}async logAndRequest(e,t){let n=`#${++this.counter}: ${e.url}`;this.logService.trace(`${n} - begin`,e.type,new Yy(e.headers??{}));let o=Date.now();try{let s=await t();return this.logService.trace(`${n} - end`,e.type,s.res.statusCode,s.res.headers),this._onDidCompleteRequest.fire({callSite:e.callSite,latency:Date.now()-o,statusCode:s.res.statusCode}),s}catch(s){throw this.logService.error(`${n} - error`,e.type,fr(s)),s}}};Zy=!1,Xy=[];nL()});import*as rw from"fs";import{exec as r0}from"child_process";import{app as Ru,BrowserWindow as Rm,clipboard as ns,contentTracing as oL,Menu as Du,Notification as n0,powerMonitor as En,powerSaveBlocker as ew,screen as Lu,shell as tw,webContents as sL}from"electron";import{arch as aL,cpus as lL,freemem as cL,loadavg as dL,platform as uL,release as pL,totalmem as fL,type as mL}from"os";import{promisify as i0}from"util";var Wn,js,kl=w(()=>{Mo();J();$();qe();_e();te();le();ku();Zt();Gy();Te();qs();Rt();re();Pt();oe();Jy();tr();sl();Ti();Dt();Cr();Qo();it();QP();XP();Ks();He();ZP();at();uy();rs();cn();wt();Wn=M("nativeHostMainService"),js=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y){super();this.windowsMainService=e;this.auxiliaryWindowsMainService=t;this.dialogMainService=n;this.lifecycleMainService=o;this.environmentMainService=s;this.logService=a;this.productService=l;this.themeMainService=c;this.workspacesManagementMainService=d;this.configurationService=u;this.requestService=f;this.proxyAuthService=m;this.instantiationService=y;this._onDidChangePassword=this._register(new S);this.onDidChangePassword=this._onDidChangePassword.event;this.activeToasts=this._register(new Xt);this.onDidOpenMainWindow=x.map(this.windowsMainService.onDidOpenWindow,v=>v.id),this.onDidTriggerWindowSystemContextMenu=x.any(x.map(this.windowsMainService.onDidTriggerSystemContextMenu,({window:v,x:b,y:I})=>({windowId:v.id,x:b,y:I})),x.map(this.auxiliaryWindowsMainService.onDidTriggerSystemContextMenu,({window:v,x:b,y:I})=>({windowId:v.id,x:b,y:I}))),this.onDidMaximizeWindow=x.any(x.map(this.windowsMainService.onDidMaximizeWindow,v=>v.id),x.map(this.auxiliaryWindowsMainService.onDidMaximizeWindow,v=>v.id)),this.onDidUnmaximizeWindow=x.any(x.map(this.windowsMainService.onDidUnmaximizeWindow,v=>v.id),x.map(this.auxiliaryWindowsMainService.onDidUnmaximizeWindow,v=>v.id)),this.onDidChangeWindowFullScreen=x.any(x.map(this.windowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen})),x.map(this.auxiliaryWindowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen}))),this.onDidChangeWindowAlwaysOnTop=x.any(x.None,x.map(this.auxiliaryWindowsMainService.onDidChangeAlwaysOnTop,v=>({windowId:v.window.id,alwaysOnTop:v.alwaysOnTop}))),this.onDidBlurMainWindow=x.filter(x.fromNodeEventEmitter(Ru,"browser-window-blur",(v,b)=>b.id),v=>!!this.windowsMainService.getWindowById(v)),this.onDidFocusMainWindow=x.any(x.map(x.filter(x.map(this.windowsMainService.onDidChangeWindowsCount,()=>this.windowsMainService.getLastActiveWindow()),v=>!!v),v=>v.id),x.filter(x.fromNodeEventEmitter(Ru,"browser-window-focus",(v,b)=>b.id),v=>!!this.windowsMainService.getWindowById(v))),this.onDidBlurMainOrAuxiliaryWindow=x.any(this.onDidBlurMainWindow,x.map(x.filter(x.fromNodeEventEmitter(Ru,"browser-window-blur",(v,b)=>this.auxiliaryWindowsMainService.getWindowByWebContents(b.webContents)),v=>!!v),v=>v.id)),this.onDidFocusMainOrAuxiliaryWindow=x.any(this.onDidFocusMainWindow,x.map(x.filter(x.fromNodeEventEmitter(Ru,"browser-window-focus",(v,b)=>this.auxiliaryWindowsMainService.getWindowByWebContents(b.webContents)),v=>!!v),v=>v.id)),this.onDidSuspendOS=x.fromNodeEventEmitter(En,"suspend"),this.onDidResumeOS=x.fromNodeEventEmitter(En,"resume"),this.onDidChangeOnBatteryPower=x.any(x.map(x.fromNodeEventEmitter(En,"on-ac"),()=>!1),x.map(x.fromNodeEventEmitter(En,"on-battery"),()=>!0)),this.onDidChangeThermalState=x.map(x.fromNodeEventEmitter(En,"thermal-state-change"),v=>v.state),this.onDidChangeSpeedLimit=x.map(x.fromNodeEventEmitter(En,"speed-limit-change"),v=>v.limit),this.onWillShutdownOS=x.fromNodeEventEmitter(En,"shutdown"),this.onDidLockScreen=x.fromNodeEventEmitter(En,"lock-screen"),this.onDidUnlockScreen=x.fromNodeEventEmitter(En,"unlock-screen"),this.onDidChangeColorScheme=this.themeMainService.onDidChangeColorScheme,this.onDidChangeDisplay=x.debounce(x.any(x.filter(x.fromNodeEventEmitter(Lu,"display-metrics-changed",(v,b,I)=>I),v=>!(Array.isArray(v)&&v.length===1&&v[0]==="workArea")),x.fromNodeEventEmitter(Lu,"display-added"),x.fromNodeEventEmitter(Lu,"display-removed")),()=>{},100)}get windowId(){throw new Error("Not implemented in electron-main")}async getWindows(e,t){let n=this.windowsMainService.getWindows().map(s=>({id:s.id,workspace:s.openedWorkspace??Vo(s.backupPath,s.isExtensionDevelopmentHost),title:s.win?.getTitle()??"",filename:s.getRepresentedFilename(),dirty:s.isDocumentEdited()})),o=[];return t.includeAuxiliaryWindows&&o.push(...this.auxiliaryWindowsMainService.getWindows().map(s=>({id:s.id,parentId:s.parentId,title:s.win?.getTitle()??"",filename:s.getRepresentedFilename()}))),[...n,...o]}async getWindowCount(e){return this.windowsMainService.getWindowCount()}async getActiveWindowId(e){let t=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(t)return t.id}async getActiveWindowPosition(){let e=this.windowsMainService.getFocusedWindow()||this.windowsMainService.getLastActiveWindow();if(e)return e.getBounds()}async getNativeWindowHandle(e,t){let n=this.windowById(t,e);if(n?.win)return H.wrap(n.win.getNativeWindowHandle())}openWindow(e,t,n){return Array.isArray(t)?this.doOpenWindow(e,t,n):this.doOpenEmptyWindow(e,t)}async doOpenWindow(e,t,n=Object.create(null)){t.length>0&&await this.windowsMainService.open({context:5,contextWindowId:e,urisToOpen:t,cli:this.environmentMainService.args,forceNewWindow:n.forceNewWindow,forceReuseWindow:n.forceReuseWindow,preferNewWindow:n.preferNewWindow,diffMode:n.diffMode,mergeMode:n.mergeMode,addMode:n.addMode,removeMode:n.removeMode,gotoLineMode:n.gotoLineMode,noRecentEntry:n.noRecentEntry,waitMarkerFileURI:n.waitMarkerFileURI,remoteAuthority:n.remoteAuthority||void 0,forceProfile:n.forceProfile,forceTempProfile:n.forceTempProfile})}async doOpenEmptyWindow(e,t){await this.windowsMainService.openEmptyWindow({context:5,contextWindowId:e},t)}async openSessionsWindow(e){await this.windowsMainService.openSessionsWindow({context:5,contextWindowId:e})}async isFullScreen(e,t){return this.windowById(t?.targetWindowId,e)?.isFullScreen??!1}async toggleFullScreen(e,t){this.windowById(t?.targetWindowId,e)?.toggleFullScreen()}async getCursorScreenPoint(e){let t=Lu.getCursorScreenPoint(),n=Lu.getDisplayNearestPoint(t);return{point:t,display:n.bounds}}async isMaximized(e,t){return this.windowById(t?.targetWindowId,e)?.win?.isMaximized()??!1}async maximizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.maximize()}async unmaximizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.unmaximize()}async minimizeWindow(e,t){this.windowById(t?.targetWindowId,e)?.win?.minimize()}async moveWindowTop(e,t){this.windowById(t?.targetWindowId,e)?.win?.moveTop()}async isWindowAlwaysOnTop(e,t){return this.windowById(t?.targetWindowId,e)?.win?.isAlwaysOnTop()??!1}async toggleWindowAlwaysOnTop(e,t){let n=this.windowById(t?.targetWindowId,e);n?.win?.setAlwaysOnTop(!n.win.isAlwaysOnTop())}async setWindowAlwaysOnTop(e,t,n){this.windowById(n?.targetWindowId,e)?.win?.setAlwaysOnTop(t)}async positionWindow(e,t,n){let o=this.windowById(n?.targetWindowId,e);if(o?.win){if(o.win.isFullScreen()){let s=x.toPromise(x.once(x.fromNodeEventEmitter(o.win,"leave-full-screen")));o.win.setFullScreen(!1),await s}o.win.setBounds(t)}}async updateWindowControls(e,t){this.windowById(t?.targetWindowId,e)?.updateWindowControls(t)}async updateWindowAccentColor(e,t,n){if(!W)return;let o=this.windowById(e);if(!o)return;let s,a;t==="default"?(s=null,a=null):t==="off"?(s=!1,a=!1):(s=t,a=n??t);let l=[o];for(let c of this.auxiliaryWindowsMainService.getWindows())c.parentId===e&&l.push(c);for(let c of l)c.win?.setAccentColor(c.win.isFocused()?s:a)}async focusWindow(e,t){this.windowById(t?.targetWindowId,e)?.focus({mode:t?.mode??0})}async setMinimumSize(e,t,n){let o=this.codeWindowById(e);if(o?.win){let[s,a]=o.win.getSize(),[l,c]=o.win.getMinimumSize(),[d,u]=[t??l,n??c],[f,m]=[Math.max(s,d),Math.max(a,u)];(l!==d||c!==u)&&o.win.setMinimumSize(d,u),(s!==f||a!==m)&&o.win.setSize(f,m)}}async saveWindowSplash(e,t){let n=this.codeWindowById(e);this.themeMainService.saveWindowSplash(e,n?.openedWorkspace,t)}async setBackgroundThrottling(e,t){let n=this.codeWindowById(e);this.logService.trace(`Setting background throttling for window ${e} to '${t}'`),n?.win?.webContents?.setBackgroundThrottling(t)}async installShellCommand(e){let{source:t,target:n}=await this.getShellCommandLink();try{let{symbolicLink:o}=await Yt.stat(t);if(o&&!o.dangling){let s=await Q.realpath(t);if(n===s)return}}catch(o){if(o.code!=="ENOENT")throw o}await this.installShellCommandWithPrivileges(e,t,n)}async installShellCommandWithPrivileges(e,t,n){let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2281,null,this.productService.nameShort),buttons:[h(2274,null),h(2270,null)]});if(o===1)throw new St;try{let s=`osascript -e "do shell script \\"mkdir -p /usr/local/bin && ln -sf '${n}' '${t}'\\" with administrator privileges"`;await i0(r0)(s)}catch{throw new Error(h(2271,null,t))}}async uninstallShellCommand(e){let{source:t}=await this.getShellCommandLink();try{await rw.promises.unlink(t)}catch(n){switch(n.code){case"EACCES":{let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2282,null,this.productService.nameShort),buttons:[h(2274,null),h(2270,null)]});if(o===1)throw new St;try{let s=`osascript -e "do shell script \\"rm '${t}'\\" with administrator privileges"`;await i0(r0)(s)}catch{throw new Error(h(2272,null,t))}break}case"ENOENT":break;default:throw n}}}async getShellCommandLink(){let e=$r(this.environmentMainService.appRoot,"bin","code"),t=`/usr/local/bin/${this.productService.applicationName}`;if(!await Q.exists(e))throw new Error(h(2277,null,e));return{source:t,target:e}}async showMessageBox(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showMessageBox(t,n?.win??void 0)}async showSaveDialog(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showSaveDialog(t,n?.win??void 0)}async showOpenDialog(e,t){let n=this.windowById(t?.targetWindowId,e);return this.dialogMainService.showOpenDialog(t,n?.win??void 0)}async pickFileFolderAndOpen(e,t){let n=await this.dialogMainService.pickFileFolder(t);n&&await this.doOpenPicked(await Promise.all(n.map(async o=>await Yt.existsDirectory(o)?{folderUri:E.file(o)}:{fileUri:E.file(o)})),t,e)}async pickFolderAndOpen(e,t){let n=await this.dialogMainService.pickFolder(t);n&&await this.doOpenPicked(n.map(o=>({folderUri:E.file(o)})),t,e)}async pickFileAndOpen(e,t){let n=await this.dialogMainService.pickFile(t);n&&await this.doOpenPicked(n.map(o=>({fileUri:E.file(o)})),t,e)}async pickWorkspaceAndOpen(e,t){let n=await this.dialogMainService.pickWorkspace(t);n&&await this.doOpenPicked(n.map(o=>({workspaceUri:E.file(o)})),t,e)}async doOpenPicked(e,t,n){await this.windowsMainService.open({context:3,contextWindowId:n,cli:this.environmentMainService.args,urisToOpen:e,forceNewWindow:t.forceNewWindow})}async showItemInFolder(e,t){tw.showItemInFolder(t)}async setRepresentedFilename(e,t,n){this.windowById(n?.targetWindowId,e)?.setRepresentedFilename(t)}async setDocumentEdited(e,t,n){this.windowById(n?.targetWindowId,e)?.setDocumentEdited(t)}async openExternal(e,t,n){this.environmentMainService.unsetSnapExportedVariables();try{nv(t,F.http,F.https)?this.openExternalBrowser(e,t,n):this.doOpenShellExternal(e,t)}finally{this.environmentMainService.restoreSnapExportedVariables()}return!0}async openExternalBrowser(e,t,n){let o=n??this.configurationService.getValue("workbench.externalBrowser");if(!o)return this.doOpenShellExternal(e,t);if((o.includes(de.sep)||o.includes(ut.sep))&&!await Q.exists(o))return this.logService.error(`Configured external browser path does not exist: ${o}`),this.doOpenShellExternal(e,t);try{let{default:s,apps:a}=await import("open"),l=await s(t,{app:{name:Object.hasOwn(a,o)?a[o]:o}});W||l.stderr?.once("data",c=>(this.logService.error(`Error openening external URL '${t}' using browser '${o}': ${c.toString()}`),this.doOpenShellExternal(e,t)))}catch(s){return this.logService.error(`Unable to open external URL '${t}' using browser '${o}' due to ${s}.`),this.doOpenShellExternal(e,t)}}async doOpenShellExternal(e,t){try{await tw.openExternal(t)}catch(n){let o,s;nv(t,F.http,F.https)?(o=!0,s=h(2275,null)):(o=!1,s=h(2276,null));let{response:a}=await this.dialogMainService.showMessageBox({type:"error",message:s,detail:n.message,buttons:o?[h(2273,null),h(2270,null)]:[h(2274,null)]},this.windowById(e)?.win??void 0);if(a===1)return;this.writeClipboardText(e,t)}}moveItemToTrash(e,t){return tw.trashItem(t)}async isAdmin(){let e;return W?e=(await import("native-is-elevated")).default():e=process.getuid?.()===0,e}async writeElevated(e,t,n,o){let s=await import("@vscode/sudo-prompt"),a=Ts(this.environmentMainService.userDataPath,"code-elevated");await Q.writeFile(a,JSON.stringify({source:t.fsPath,target:n.fsPath}));try{await new Promise((l,c)=>{let d=[`"${this.cliPath}"`];o?.unlock&&d.push("--file-chmod"),d.push("--file-write",`"${a}"`);let u={name:this.productService.nameLong.replace("-",""),icns:V&&this.environmentMainService.isBuilt?B(Ze(this.environmentMainService.appRoot),`${this.productService.nameShort}.icns`):void 0};this.logService.trace(`[sudo-prompt] running command: ${d.join(" ")}`),s.exec(d.join(" "),u,(f,m,y)=>{m&&this.logService.trace(`[sudo-prompt] received stdout: ${m}`),y&&this.logService.error(`[sudo-prompt] received stderr: ${y}`),f?c(f):l(void 0)})})}finally{await rw.promises.unlink(a)}}async isRunningUnderARM64Translation(){return ne||W?!1:Ru.runningUnderARM64Translation}get cliPath(){return W?this.environmentMainService.isBuilt?B(Ze(process.execPath),"bin",`${this.productService.applicationName}.cmd`):B(this.environmentMainService.appRoot,"scripts","code-cli.bat"):ne?this.environmentMainService.isBuilt?B(Ze(process.execPath),"bin",`${this.productService.applicationName}`):B(this.environmentMainService.appRoot,"scripts","code-cli.sh"):this.environmentMainService.isBuilt?B(this.environmentMainService.appRoot,"bin","code"):B(this.environmentMainService.appRoot,"scripts","code-cli.sh")}async getOSStatistics(){return{totalmem:fL(),freemem:cL(),loadavg:dL()}}async getOSProperties(){return{arch:aL(),platform:uL(),release:pL(),type:mL(),cpus:lL()}}async getOSVirtualMachineHint(){return _u.value()}async getOSColorScheme(){return this.themeMainService.getColorScheme()}async hasWSLFeatureInstalled(){return W&&GP()}async getScreenshot(e,t,n){let a=(await this.windowById(n?.targetWindowId,e)?.win?.webContents.capturePage(t))?.toJPEG(95);return a&&H.wrap(a)}async getProcessId(e){return this.windowById(void 0,e)?.win?.webContents.getOSProcessId()}async killProcess(e,t,n){process.kill(t,n)}async readClipboardText(e,t){this.logService.trace(`readClipboardText in window ${e} with type:`,t);let n=ns.readText(t);return this.logService.trace("clipboardText.length :",n.length),n}async triggerPaste(e,t){return this.logService.trace(`Triggering paste in window ${e} with options:`,t),this.windowById(t?.targetWindowId,e)?.win?.webContents.paste()??Promise.resolve()}async readImage(){return ns.readImage().toPNG()}async writeClipboardText(e,t,n){return ns.writeText(t,n)}async readClipboardFindText(e){return ns.readFindText()}async writeClipboardFindText(e,t){return ns.writeFindText(t)}async writeClipboardBuffer(e,t,n,o){return ns.writeBuffer(t,Buffer.from(n.buffer),o)}async readClipboardBuffer(e,t){return H.wrap(ns.readBuffer(t))}async hasClipboard(e,t,n){return ns.has(t,n)}async newWindowTab(){await this.windowsMainService.open({context:5,cli:this.environmentMainService.args,forceNewTabbedWindow:!0,forceEmpty:!0,remoteAuthority:this.environmentMainService.args.remote||void 0})}async showPreviousWindowTab(){Du.sendActionToFirstResponder("selectPreviousTab:")}async showNextWindowTab(){Du.sendActionToFirstResponder("selectNextTab:")}async moveWindowTabToNewWindow(){Du.sendActionToFirstResponder("moveTabToNewWindow:")}async mergeAllWindowTabs(){Du.sendActionToFirstResponder("mergeAllWindows:")}async toggleWindowTabsBar(){Du.sendActionToFirstResponder("toggleTabBar:")}async updateTouchBar(e,t){this.codeWindowById(e)?.updateTouchBar(t)}async notifyReady(e){this.codeWindowById(e)?.setReady()}async relaunch(e,t){return this.lifecycleMainService.relaunch(t)}async reload(e,t){let n=this.codeWindowById(e);if(n){if(dt(n.openedWorkspace)){let o=n.openedWorkspace.configPath;if(o.scheme===F.file&&(await this.workspacesManagementMainService.resolveLocalWorkspace(o))?.transient)return this.openWindow(n.id,{forceReuseWindow:!0})}return this.lifecycleMainService.reload(n,t?.disableExtensions!==void 0?{_:[],"disable-extensions":t.disableExtensions}:void 0)}}async closeWindow(e,t){return this.windowById(t?.targetWindowId,e)?.win?.close()}async quit(e){let t=this.windowsMainService.getLastActiveWindow();t?.isExtensionDevelopmentHost&&this.windowsMainService.getWindowCount()>1&&t.win?t.win.close():this.lifecycleMainService.quit()}async exit(e,t){await this.lifecycleMainService.kill(t)}async resolveProxy(e,t){return this.codeWindowById(e)?.win?.webContents?.session?.resolveProxy(t)}async lookupAuthorization(e,t){return this.proxyAuthService.lookupAuthorization(t)}async lookupKerberosAuthorization(e,t){return this.requestService.lookupKerberosAuthorization(t)}async loadCertificates(e){return this.requestService.loadCertificates()}isPortFree(e,t){return KP(t,1e3)}findFreePort(e,t,n,o,s=1){return qP(t,n,o,s)}async openDevTools(e,t){this.windowById(t?.targetWindowId,e)?.win?.webContents.openDevTools(t?.mode?{mode:t.mode,activate:t.activate}:void 0)}async toggleDevTools(e,t){this.windowById(t?.targetWindowId,e)?.win?.webContents.toggleDevTools()}async openDevToolsWindow(e,t){let n=this.codeWindowById(e);n&&this.openChildWindow(n.win,t)}openChildWindow(e,t,n={}){let s={...this.instantiationService.invokeFunction(al,Ei(),{forceNativeTitlebar:!0}),parent:e??void 0,...n},a=new Rm(s);return a.setMenuBarVisibility(!1),a.loadURL(t),a.once("ready-to-show",()=>a.show()),a}async openGPUInfoWindow(e){let t=this.codeWindowById(e);if(t){if(typeof this.gpuInfoWindowId!="number"){let n=this.openChildWindow(t.win,"chrome://gpu");n.once("close",()=>this.gpuInfoWindowId=void 0),this.gpuInfoWindowId=n.id}if(typeof this.gpuInfoWindowId=="number"){let n=Rm.fromId(this.gpuInfoWindowId);n?.isMinimized()&&n?.restore(),n?.focus()}}}async openContentTracingWindow(){if(typeof this.contentTracingWindowId!="number"){let e=this.openChildWindow(null,"chrome://tracing",{paintWhenInitiallyHidden:!1,webPreferences:{backgroundThrottling:!1}});e.webContents.once("did-finish-load",async()=>{await e.webContents.executeJavaScript(`
					window.prompt = () => '';
					null
				`),e.show()}),e.once("close",()=>this.contentTracingWindowId=void 0),this.contentTracingWindowId=e.id}if(typeof this.contentTracingWindowId=="number"){let e=Rm.fromId(this.contentTracingWindowId);e?.isMinimized()&&e?.restore(),e?.focus()}}async stopTracing(e){if(!this.environmentMainService.args.trace)return;let t=await oL.stopRecording(`${Ts(this.environmentMainService.userHome.fsPath,this.productService.applicationName)}.trace.txt`);await this.dialogMainService.showMessageBox({type:"info",message:h(2279,null),detail:h(2278,null,t),buttons:[h(2280,null)]},Rm.getFocusedWindow()??void 0),this.showItemInFolder(void 0,t)}async profileRenderer(e,t,n){let o=this.codeWindowById(e);if(!o?.win)throw new Error;return await new Cl(o.win,t,this.logService).inspect(n)}async showToast(e,t){if(!n0.isSupported())return{supported:!1,clicked:!1};let n=new n0({title:t.title,body:t.body,silent:t.silent,actions:t.actions?.map(a=>({type:"button",text:a}))}),o=new ee;this.activeToasts.set(t.id,o);let s=new $e;return o.add(G(()=>{this.activeToasts.deleteAndDispose(t.id),n.removeAllListeners(),n.close(),s.dispose(!0)})),new Promise(a=>{let l=c=>{a(c),o.dispose()};o.add(s.token.onCancellationRequested(()=>l({supported:!0,clicked:!1}))),n.on("click",()=>l({supported:!0,clicked:!0})),n.on("action",(c,d)=>l({supported:!0,clicked:!0,actionIndex:d})),n.on("close",()=>l({supported:!0,clicked:!1})),n.on("failed",()=>l({supported:!1,clicked:!1})),n.show()})}async clearToast(e,t){this.activeToasts.deleteAndDispose(t)}async clearToasts(){this.activeToasts.clearAndDisposeAll()}async windowsGetStringRegKey(e,t,n,o){if(!W)return;let s=await import("@vscode/windows-registry");try{return s.GetStringRegKey(t,n,o)}catch{return}}async createZipFile(e,t,n){await YP(t.fsPath,n)}async getSystemIdleState(e,t){return En.getSystemIdleState(t)}async getSystemIdleTime(e){return En.getSystemIdleTime()}async getCurrentThermalState(e){return En.getCurrentThermalState()}async isOnBatteryPower(e){return En.isOnBatteryPower()}async startPowerSaveBlocker(e,t){return ew.start(t)}async stopPowerSaveBlocker(e,t){return ew.stop(t)}async isPowerSaveBlockerStarted(e,t){return ew.isStarted(t)}windowById(e,t){return this.codeWindowById(e)??this.auxiliaryWindowById(e)??this.codeWindowById(t)}codeWindowById(e){if(typeof e=="number")return this.windowsMainService.getWindowById(e)}auxiliaryWindowById(e){if(typeof e!="number")return;let t=sL.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};T([ce],js.prototype,"cliPath",1),js=T([g(0,Be),g(1,Pn),g(2,xn),g(3,ye),g(4,Ce),g(5,U),g(6,De),g(7,Ci),g(8,hn),g(9,he),g(10,Fn),g(11,pu),g(12,Wt)],js)});import{clipboard as o0,Menu as hL,MenuItem as dr}from"electron";var Js,Gs,Dm=w(()=>{J();$();wt();xu();Rt();re();By();er();My();Dt();OP();tr();Ri();$y();UP();rr();Te();kl();sr();Js=M("browserViewMainService"),Gs=class extends _{constructor(e,t,n,o,s,a,l){super();this.environmentMainService=e;this.instantiationService=t;this.windowsMainService=n;this.productService=o;this.telemetryService=s;this.nativeHostMainService=a;this.applicationStorageMainService=l;this.browserViews=this._register(new Xt);this._activeTokens=new Map;this._keybindings=Object.create(null);this._onTargetCreated=this._register(new S);this.onTargetCreated=this._onTargetCreated.event;this._onTargetDestroyed=this._register(new S);this.onTargetDestroyed=this._onTargetDestroyed.event}static isBrowserViewWebContents(e){return On.isBrowserViewWebContents(e)}async getOrCreateBrowserView(e,t,n){if(this.browserViews.has(e))return this.browserViews.get(e).getState();let o=On.getOrCreate(e,t,this.environmentMainService.workspaceStorageHome,n);return this.createBrowserView(e,o).getState()}tryGetBrowserView(e){return this.browserViews.get(e)}getVersion(){return{protocolVersion:"1.3",product:`${this.productService.nameShort}/${this.productService.version}`,revision:this.productService.commit||"unknown",userAgent:"Electron",jsVersion:process.versions.v8}}getWindowForTarget(e){if(!(e instanceof Qr))throw new Error("Can only get window for targets created by this service");let n=e.getWebContentsView().getBounds();return{windowId:1,bounds:{left:n.x,top:n.y,width:n.width,height:n.height,windowState:"normal"}}}async attach(){return new zs(this)}async getTargetInfo(){return{targetId:"browser",type:"browser",title:this.getVersion().product,url:"",attached:!0,canAccessOpener:!1}}getTargets(){return this.browserViews.values()}async createTarget(e,t,n){let o=t?On.get(t):void 0;return this.openNew(e,{session:o,windowId:n,editorOptions:{preserveFocus:!0},source:"cdpCreated"})}async activateTarget(e){if(!(e instanceof Qr))throw new Error("Can only activate targets created by this service")}async closeTarget(e){if(!(e instanceof Qr))throw new Error("Can only close targets created by this service");return await this.destroyBrowserView(e.id),!0}getBrowserContexts(){return On.getBrowserContextIds()}async createBrowserContext(){return On.getOrCreateEphemeral(ke(),"cdp-created").id}async disposeBrowserContext(e){if(!e.startsWith("cdp-created:"))throw new Error("Can only dispose browser contexts created via CDP");let t=On.get(e);if(!t)throw new Error(`Browser context ${e} not found`);for(let n of this.browserViews.values())n.session===t&&await this.destroyBrowserView(n.id)}_getBrowserView(e){let t=this.browserViews.get(e);if(!t)throw new Error(`Browser view ${e} not found`);return t}onDynamicDidNavigate(e){return this._getBrowserView(e).onDidNavigate}onDynamicDidChangeLoadingState(e){return this._getBrowserView(e).onDidChangeLoadingState}onDynamicDidChangeFocus(e){return this._getBrowserView(e).onDidChangeFocus}onDynamicDidChangeVisibility(e){return this._getBrowserView(e).onDidChangeVisibility}onDynamicDidChangeDevToolsState(e){return this._getBrowserView(e).onDidChangeDevToolsState}onDynamicDidKeyCommand(e){return this._getBrowserView(e).onDidKeyCommand}onDynamicDidChangeTitle(e){return this._getBrowserView(e).onDidChangeTitle}onDynamicDidChangeFavicon(e){return this._getBrowserView(e).onDidChangeFavicon}onDynamicDidRequestNewPage(e){return this._getBrowserView(e).onDidRequestNewPage}onDynamicDidFindInPage(e){return this._getBrowserView(e).onDidFindInPage}onDynamicDidClose(e){return this._getBrowserView(e).onDidClose}async getState(e){return this._getBrowserView(e).getState()}async destroyBrowserView(e){return this.browserViews.deleteAndDispose(e)}async layout(e,t){return this._getBrowserView(e).layout(t)}async setVisible(e,t){return this._getBrowserView(e).setVisible(t)}async loadURL(e,t){return this._getBrowserView(e).loadURL(t)}async getURL(e){return this._getBrowserView(e).getURL()}async goBack(e){return this._getBrowserView(e).goBack()}async goForward(e){return this._getBrowserView(e).goForward()}async reload(e,t){return this._getBrowserView(e).reload(t)}async toggleDevTools(e){return this._getBrowserView(e).toggleDevTools()}async canGoBack(e){return this._getBrowserView(e).canGoBack()}async canGoForward(e){return this._getBrowserView(e).canGoForward()}async captureScreenshot(e,t){return this._getBrowserView(e).captureScreenshot(t)}async focus(e){return this._getBrowserView(e).focus()}async findInPage(e,t,n){return this._getBrowserView(e).findInPage(t,n)}async stopFindInPage(e,t){return this._getBrowserView(e).stopFindInPage(t)}async getSelectedText(e){return this._getBrowserView(e).getSelectedText()}async clearStorage(e){return this._getBrowserView(e).clearStorage()}async setBrowserZoomIndex(e,t){return this._getBrowserView(e).setBrowserZoomIndex(t)}async trustCertificate(e,t,n){return this._getBrowserView(e).trustCertificate(t,n)}async untrustCertificate(e,t,n){return this._getBrowserView(e).untrustCertificate(t,n)}async clearGlobalStorage(){let e=On.getOrCreateGlobal();e.connectStorage(this.applicationStorageMainService),await e.clearData()}async clearWorkspaceStorage(e){let t=On.getOrCreateWorkspace(e,this.environmentMainService.workspaceStorageHome);t.connectStorage(this.applicationStorageMainService),await t.clearData()}async getConsoleLogs(e){return this._getBrowserView(e).getConsoleLogs()}async getElementData(e,t){return this._makeCancellable(t,n=>this._getBrowserView(e).getElementData(n))}async getFocusedElementData(e){return this._getBrowserView(e).getFocusedElementData()}async cancel(e){this._activeTokens.get(e)?.cancel()}async updateKeybindings(e){this._keybindings=e}async _makeCancellable(e,t){let n=new $e;this._activeTokens.set(e,n);try{return await t(n.token)}finally{this._activeTokens.delete(e),n.dispose()}}createBrowserView(e,t,n){if(this.browserViews.has(e))throw new Error(`Browser view with id ${e} already exists`);t.connectStorage(this.applicationStorageMainService);let o=this.instantiationService.createInstance(Qr,e,t,s=>this.createBrowserView(ke(),t,s),(s,a)=>this.showContextMenu(s,a),n);return this.browserViews.set(e,o),this._onTargetCreated.fire(o),x.once(o.onDidClose)(()=>{this._onTargetDestroyed.fire(o),this.browserViews.deleteAndDispose(e)}),o}async openNew(e,{session:t,windowId:n,editorOptions:o,source:s}){let a=ke(),l=this.createBrowserView(a,t||On.getOrCreateEphemeral(a)),c=n!==void 0?this.windowsMainService.getWindowById(n):this.windowsMainService.getFocusedWindow();if(!c)throw new Error(`Window ${n} not found`);return WP(this.telemetryService,s),c.sendWhenReady("vscode:runAction",Se.None,{id:"_workbench.open",args:[Pu.forId(a),[void 0,{...o,viewState:{url:e}}],void 0]}),l}showContextMenu(e,t){let n=e.getElectronWindow();if(!n)return;let o=e.webContents;if(o.isDestroyed())return;let s=new hL;t.linkURL&&(s.append(new dr({label:h(1898,null),click:()=>{this.openNew(t.linkURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new dr({label:h(1897,null),click:()=>{this.nativeHostMainService.openExternal(void 0,t.linkURL)}})),s.append(new dr({type:"separator"})),s.append(new dr({label:h(1893,null),click:()=>{o0.write({text:t.linkURL,html:`<a href="${encodeURI(t.linkURL)}">${xS(t.linkText||t.linkURL)}</a>`})}}))),t.hasImageContents&&t.srcURL&&(s.items.length>0&&s.append(new dr({type:"separator"})),s.append(new dr({label:h(1896,null),click:()=>{this.openNew(t.srcURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new dr({label:h(1891,null),click:()=>{e.webContents.copyImageAt(t.x,t.y)}})),s.append(new dr({label:h(1892,null),click:()=>{o0.writeText(t.srcURL)}}))),t.isEditable?(s.append(new dr({role:"cut",enabled:t.editFlags.canCut})),s.append(new dr({role:"copy",enabled:t.editFlags.canCopy})),s.append(new dr({role:"paste",enabled:t.editFlags.canPaste})),s.append(new dr({role:"pasteAndMatchStyle",enabled:t.editFlags.canPaste})),s.append(new dr({role:"selectAll",enabled:t.editFlags.canSelectAll}))):t.selectionText&&s.append(new dr({role:"copy"})),s.items.length===0&&(o.navigationHistory.canGoBack()&&s.append(new dr({label:h(1890,null),accelerator:this._keybindings[bu.GoBack],click:()=>o.navigationHistory.goBack()})),o.navigationHistory.canGoForward()&&s.append(new dr({label:h(1894,null),accelerator:this._keybindings[bu.GoForward],click:()=>o.navigationHistory.goForward()})),s.append(new dr({label:h(1899,null),accelerator:this._keybindings[bu.Reload],click:()=>o.reload()}))),s.append(new dr({type:"separator"})),s.append(new dr({label:h(1895,null),click:()=>o.inspectElement(t.x,t.y)}));let a=e.getWebContentsView().getBounds();s.popup({window:n,x:a.x+t.x,y:a.y+t.y,sourceType:t.menuSourceType})}};Gs=T([g(0,Ce),g(1,Wt),g(2,Be),g(3,De),g(4,Ge),g(5,Wn),g(6,yr)],Gs)});import{webContents as Au}from"electron";function a0(i){return i.browserViewId??i.webviewId}var nw,s0,Mu,Rl,l0=w(()=>{Ks();Dt();re();$();Dm();nw=M("browserElementsMainService"),s0=1e3,Mu=new Map;Rl=class extends _{constructor(e,t,n){super();this.windowsMainService=e;this.auxiliaryWindowsMainService=t;this.browserViewMainService=n}get windowId(){throw new Error("Not implemented in electron-main")}async getConsoleLogs(e,t){let n=a0(t);if(!n)return;let o=Mu.get(n);if(!(!o||o.length===0))return o.join(`
`)}async startConsoleSession(e,t,n,o){let s=this.windowById(e);if(!s?.win)return;let a=s.win.webContents,l;if(n.browserViewId&&(l=this.browserViewMainService.tryGetBrowserView(n.browserViewId)?.webContents),!l)return;let c=a0(n);if(!c)return;Mu.has(c)||Mu.set(c,[]);let d={0:"log",1:"warning",2:"error"},u=(v,b,I,C,R)=>{let A=`[${d[b]??"log"}] ${I}`,z=Mu.get(c)??[];z.push(A),z.length>s0&&z.splice(0,z.length-s0),Mu.set(c,z)},f=()=>{l?.off("console-message",u),l?.off("destroyed",y),a.off("ipc-message",m)},m=(v,b,I)=>{if(b===`vscode:cancelConsoleSession${o}`){if(o!==I)return;f()}},y=()=>{f()};l.on("console-message",u),l.on("destroyed",y),a.on("ipc-message",m)}async findWebviewTarget(e,t){let{targetInfos:n}=await e.sendCommand("Target.getTargets");if(t.webviewId){let o="";for(let a of n)try{let l=new URL(a.url);if(l.searchParams.get("id")===t.webviewId){o=l.searchParams.get("extensionId")||"";break}}catch{}return o?n.find(a=>{try{let l=new URL(a.url),c=o==="ms-vscode.live-server"&&l.searchParams.get("serverWindowId")===t.webviewId,d=o==="vscode.simple-browser"&&l.searchParams.get("id")===t.webviewId&&l.searchParams.has("vscodeBrowserReqId");return!!(c||d)}catch{return!1}})?.targetId:void 0}if(t.browserViewId){let o=this.browserViewMainService.tryGetBrowserView(t.browserViewId)?.webContents;return n.find(a=>a.type!=="page"?!1:Au.fromDevToolsTargetId(a.targetId)===o)?.targetId}}async waitForWebviewTargets(e,t){let n=Date.now(),o=1e4;for(;Date.now()-n<o;){let s=await this.findWebviewTarget(e,t);if(s)return s;await new Promise(a=>setTimeout(a,500))}e.detach()}async startDebugSession(e,t,n,o){let s=this.windowById(e);if(!s?.win)return;let l=Au.getAllWebContents().find(d=>d.id===s.id);if(!l)return;let c=l.debugger;c.isAttached()||c.attach();try{if(!await this.waitForWebviewTargets(c,n))throw c.isAttached()&&c.detach(),new Error("No target found")}catch{throw c.isAttached()&&c.detach(),new Error("No target found")}s.win.webContents.on("ipc-message",async(d,u,f)=>{if(u===`vscode:cancelCurrentSession${o}`){if(o!==f)return;c.isAttached()&&c.detach(),s.win&&s.win.webContents.removeAllListeners("ipc-message")}})}async finishOverlay(e,t){e.isAttached()&&t&&(await e.sendCommand("Overlay.setInspectMode",{mode:"none",highlightConfig:{showInfo:!1,showStyles:!1}},t),await e.sendCommand("Overlay.hideHighlight",{},t),await e.sendCommand("Overlay.disable",{},t),e.detach())}async getElementData(e,t,n,o,s){let a=this.windowById(e);if(!a?.win)return;let c=Au.getAllWebContents().find(I=>I.id===a.id);if(!c)return;let d=c.debugger;d.isAttached()||d.attach();let u;try{let I=await this.findWebviewTarget(d,o),{sessionId:C}=await d.sendCommand("Target.attachToTarget",{targetId:I,flatten:!0});u=C,await d.sendCommand("DOM.enable",{},C),await d.sendCommand("CSS.enable",{},C),await d.sendCommand("Overlay.enable",{},C),await d.sendCommand("Debugger.enable",{},C),await d.sendCommand("Runtime.enable",{},C),await d.sendCommand("Runtime.evaluate",{expression:`(function() {
							const style = document.createElement('style');
							style.id = '__pseudoBlocker__';
							style.textContent = '*::before, *::after { pointer-events: none !important; }';
							document.head.appendChild(style);
						})();`},C),await d.sendCommand("Overlay.setInspectMode",{mode:"searchForNode",highlightConfig:{showInfo:!0,showRulers:!1,showStyles:!0,showAccessibilityInfo:!0,showExtensionLines:!1,contrastAlgorithm:"aa",contentColor:{r:173,g:216,b:255,a:.8},paddingColor:{r:150,g:200,b:255,a:.5},borderColor:{r:120,g:180,b:255,a:.7},marginColor:{r:200,g:220,b:255,a:.4},eventTargetColor:{r:130,g:160,b:255,a:.8},shapeColor:{r:130,g:160,b:255,a:.8},shapeMarginColor:{r:130,g:160,b:255,a:.5},gridHighlightConfig:{rowGapColor:{r:140,g:190,b:255,a:.3},rowHatchColor:{r:140,g:190,b:255,a:.7},columnGapColor:{r:140,g:190,b:255,a:.3},columnHatchColor:{r:140,g:190,b:255,a:.7},rowLineColor:{r:120,g:180,b:255},columnLineColor:{r:120,g:180,b:255},rowLineDash:!0,columnLineDash:!0},flexContainerHighlightConfig:{containerBorder:{color:{r:120,g:180,b:255},pattern:"solid"},itemSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},lineSeparator:{color:{r:140,g:190,b:255},pattern:"solid"},mainDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},crossDistributedSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},rowGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}},columnGapSpace:{hatchColor:{r:140,g:190,b:255,a:.7},fillColor:{r:140,g:190,b:255,a:.4}}},flexItemHighlightConfig:{baseSizeBox:{hatchColor:{r:130,g:170,b:255,a:.6}},baseSizeBorder:{color:{r:120,g:180,b:255},pattern:"solid"},flexibilityArrow:{color:{r:130,g:190,b:255}}}}},C)}catch(I){throw d.detach(),new Error("No target found",{cause:I})}if(!u)throw d.detach(),new Error("No target session id found");let f=await this.getNodeData(u,d,a.win,s);await this.finishOverlay(d,u);let m=c.getZoomFactor(),y={x:t.x+f.bounds.x,y:t.y+f.bounds.y,width:f.bounds.width,height:f.bounds.height},v={x:Math.max(y.x,t.x),y:Math.max(y.y,t.y),width:Math.max(0,Math.min(y.x+y.width,t.x+t.width)-Math.max(y.x,t.x)),height:Math.max(0,Math.min(y.y+y.height,t.y+t.height)-Math.max(y.y,t.y))},b={x:v.x*m,y:v.y*m,width:v.width*m,height:v.height*m};return{outerHTML:f.outerHTML,computedStyle:f.computedStyle,bounds:b,ancestors:f.ancestors,attributes:f.attributes,computedStyles:f.computedStyles,dimensions:f.dimensions,innerText:f.innerText}}async getFocusedElementData(e,t,n,o,s){let a=this.windowById(e);if(!a?.win)return;let c=Au.getAllWebContents().find(f=>f.id===a.id);if(!c)return;let d=c.debugger;d.isAttached()||d.attach();let u;try{let f=await this.findWebviewTarget(d,o);if(!f)return;u=(await d.sendCommand("Target.attachToTarget",{targetId:f,flatten:!0})).sessionId,await d.sendCommand("Runtime.enable",{},u);let{result:y}=await d.sendCommand("Runtime.evaluate",{expression:`(() => {
					const el = document.activeElement;
					if (!el || el.nodeType !== 1) {
						return undefined;
					}
					const r = el.getBoundingClientRect();
					const attrs = {};
					for (let i = 0; i < el.attributes.length; i++) {
						attrs[el.attributes[i].name] = el.attributes[i].value;
					}
					const ancestors = [];
					let n = el;
					while (n && n.nodeType === 1) {
						const entry = { tagName: n.tagName.toLowerCase() };
						if (n.id) {
							entry.id = n.id;
						}
						if (typeof n.className === 'string' && n.className.trim().length > 0) {
							entry.classNames = n.className.trim().split(/\\s+/).filter(Boolean);
						}
						ancestors.unshift(entry);
						n = n.parentElement;
					}
					const css = getComputedStyle(el);
					const computedStyles = {};
					for (let i = 0; i < css.length; i++) {
						const name = css[i];
						computedStyles[name] = css.getPropertyValue(name);
					}
					const text = (el.innerText || '').trim();
					return {
						outerHTML: el.outerHTML,
						computedStyle: '',
						bounds: { x: r.x, y: r.y, width: r.width, height: r.height },
						ancestors,
						attributes: attrs,
						computedStyles,
						dimensions: { top: r.top, left: r.left, width: r.width, height: r.height },
						innerText: text.length > 100 ? text.slice(0, 100) + '\\u2026' : text
					};
				})();`,returnByValue:!0},u),v=y?.value;if(!v)return;let b=c.getZoomFactor(),I={x:t.x+v.bounds.x,y:t.y+v.bounds.y,width:v.bounds.width,height:v.bounds.height},C={x:Math.max(I.x,t.x),y:Math.max(I.y,t.y),width:Math.max(0,Math.min(I.x+I.width,t.x+t.width)-Math.max(I.x,t.x)),height:Math.max(0,Math.min(I.y+I.height,t.y+t.height)-Math.max(I.y,t.y))};return{outerHTML:v.outerHTML,computedStyle:v.computedStyle,bounds:{x:C.x*b,y:C.y*b,width:C.width*b,height:C.height*b},ancestors:v.ancestors,attributes:v.attributes,computedStyles:v.computedStyles,dimensions:v.dimensions,innerText:v.innerText}}finally{d.isAttached()&&d.detach()}}async getNodeData(e,t,n,o){return new Promise((s,a)=>{let l=async(c,d,u)=>{if(d==="Overlay.inspectNodeRequested"){t.off("message",l),await t.sendCommand("Runtime.evaluate",{expression:`(() => {
										const style = document.getElementById('__pseudoBlocker__');
										if (style) style.remove();
									})();`},e);let f=u?.backendNodeId;if(!f)throw new Error("Missing backendNodeId in inspectNodeRequested event");try{await t.sendCommand("DOM.getDocument",{},e);let{nodeIds:m}=await t.sendCommand("DOM.pushNodesByBackendIdsToFrontend",{backendNodeIds:[f]},e);if(!m||m.length===0)throw new Error("Failed to get node IDs.");let y=m[0],{model:v}=await t.sendCommand("DOM.getBoxModel",{nodeId:y},e);if(!v)throw new Error("Failed to get box model.");let b=v.content,I=v.margin,C=Math.min(I[0],b[0]),R=Math.min(I[1],b[1]),D=Math.max(I[2]-I[0],b[2]-b[0]),A=Math.max(I[5]-I[1],b[5]-b[1]),z=await t.sendCommand("CSS.getMatchedStylesForNode",{nodeId:y},e);if(!z)throw new Error("Failed to get matched css.");let N=this.formatMatchedStyles(z),{outerHTML:j}=await t.sendCommand("DOM.getOuterHTML",{nodeId:y},e);if(!j)throw new Error("Failed to get outerHTML.");let q,ue,rt,bt;try{let{object:Nr}=await t.sendCommand("DOM.resolveNode",{nodeId:y},e);if(Nr?.objectId){let{result:Y}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Nr.objectId,functionDeclaration:`function() {
										var chain = [];
										var el = this;
										while (el && el.nodeType === 1) {
											var entry = { tagName: el.tagName.toLowerCase() };
											if (el.id) { entry.id = el.id; }
											if (el.className && typeof el.className === 'string') {
												var cls = el.className.trim().split(/\\s+/).filter(Boolean);
												if (cls.length > 0) { entry.classNames = cls; }
											}
											chain.unshift(entry);
											el = el.parentElement;
										}
										return chain;
									}`,returnByValue:!0},e);Y?.value&&Array.isArray(Y.value)&&(q=Y.value);let{result:K}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Nr.objectId,functionDeclaration:`function() {
										var attrs = {};
										for (var i = 0; i < this.attributes.length; i++) {
											attrs[this.attributes[i].name] = this.attributes[i].value;
										}
										return attrs;
									}`,returnByValue:!0},e);K?.value&&(ue=K.value);let{result:X}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Nr.objectId,functionDeclaration:"function() { return this.innerText; }",returnByValue:!0},e);if(X?.value){let Z=String(X.value).trim();bt=Z.length>100?Z.substring(0,100)+"\u2026":Z}}let{computedStyle:Br}=await t.sendCommand("CSS.getComputedStyleForNode",{nodeId:y},e);if(Br){rt={};for(let Y of Br)Y.name&&typeof Y.value=="string"&&(rt[Y.name]=Y.value)}}catch{}s({outerHTML:j,computedStyle:N,bounds:{x:C,y:R,width:D,height:A},ancestors:q,attributes:ue,computedStyles:rt,dimensions:{top:R,left:C,width:D,height:A},innerText:bt})}catch(m){t.off("message",l),t.detach(),a(m)}}};n.webContents.on("ipc-message",async(c,d,u)=>{if(d===`vscode:cancelElementSelection${o}`){if(o!==u)return;t.off("message",l),await this.finishOverlay(t,e),n.webContents.removeAllListeners("ipc-message")}}),t.on("message",l)})}formatMatchedStyles(e){let t=[];if(e.inlineStyle?.cssProperties?.length){t.push("/* Inline style */"),t.push("element {");for(let n of e.inlineStyle.cssProperties)n.name&&n.value&&t.push(`  ${n.name}: ${n.value};`);t.push(`}
`)}if(e.matchedCSSRules?.length)for(let n of e.matchedCSSRules){let o=n.rule,s=o.selectorList.selectors.map(a=>a.text).join(", ");t.push(`/* Matched Rule from ${o.origin} */`),t.push(`${s} {`);for(let a of o.style.cssProperties)a.name&&a.value&&t.push(`  ${a.name}: ${a.value};`);t.push(`}
`)}if(e.inherited?.length){let n=1;for(let o of e.inherited){let s=o.inlineStyle;s&&(t.push(`/* Inherited from ancestor level ${n} (inline) */`),t.push("element {"),t.push(s.cssText),t.push(`}
`));let a=o.matchedCSSRules||[];for(let l of a){let c=l.rule,d=c.selectorList.selectors.map(u=>u.text).join(", ");t.push(`/* Inherited from ancestor level ${n} (${c.origin}) */`),t.push(`${d} {`);for(let u of c.style.cssProperties)u.name&&u.value&&t.push(`  ${u.name}: ${u.value};`);t.push(`}
`)}n++}}return`
`+t.join(`
`)}windowById(e,t){return this.codeWindowById(e)??this.auxiliaryWindowById(e)??this.codeWindowById(t)}codeWindowById(e){if(typeof e=="number")return this.windowsMainService.getWindowById(e)}auxiliaryWindowById(e){if(typeof e!="number")return;let t=Au.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};Rl=T([g(0,Be),g(1,Pn),g(2,Js)],Rl)});var iw,c0=w(()=>{iw="browserViewGroup"});var Dl,d0=w(()=>{$();J();By();$y();Dm();Dl=class extends _{constructor(e,t,n){super();this.id=e;this.windowId=t;this.browserViewMainService=n;this.views=new Map;this.viewListeners=this._register(new ee);this.knownContextIds=new Set;this.ownedContextIds=new Set;this._onTargetCreated=this._register(new S);this.onTargetCreated=this._onTargetCreated.event;this._onTargetDestroyed=this._register(new S);this.onTargetDestroyed=this._onTargetDestroyed.event;this._onDidAddView=this._register(new S);this.onDidAddView=this._onDidAddView.event;this._onDidRemoveView=this._register(new S);this.onDidRemoveView=this._onDidRemoveView.event;this._onDidDestroy=this._register(new S);this.onDidDestroy=this._onDidDestroy.event}async addView(e){if(this.views.has(e))return;let t=this.browserViewMainService.tryGetBrowserView(e);if(!t)throw new Error(`Browser view ${e} not found`);this.views.set(t.id,t),this.knownContextIds.add(t.session.id),this._onDidAddView.fire({viewId:t.id}),this._onTargetCreated.fire(t),this.viewListeners.add(x.once(t.onDidClose)(()=>{this.removeView(e)}))}async removeView(e){let t=this.views.get(e);t&&this.views.delete(e)&&(!this.ownedContextIds.has(t.session.id)&&![...this.views.values()].some(n=>n.session.id===t.session.id)&&this.knownContextIds.delete(t.session.id),this._onDidRemoveView.fire({viewId:t.id}),this._onTargetDestroyed.fire(t))}getVersion(){return this.browserViewMainService.getVersion()}getWindowForTarget(e){return this.browserViewMainService.getWindowForTarget(e)}async attach(){return new zs(this)}async getTargetInfo(){return{targetId:this.id,type:"browser",title:this.getVersion().product,url:"",attached:!0,canAccessOpener:!1}}getTargets(){return this.views.values()}async createTarget(e,t,n=this.windowId){if(t&&!this.knownContextIds.has(t))throw new Error(`Unknown browser context ${t}`);let o=await this.browserViewMainService.createTarget(e,t,n);return o instanceof Qr&&await this.addView(o.id),o}async activateTarget(e){return this.browserViewMainService.activateTarget(e)}async closeTarget(e){return e instanceof Qr&&await this.removeView(e.id),this.browserViewMainService.closeTarget(e)}getBrowserContexts(){return[...this.knownContextIds]}async createBrowserContext(){let e=await this.browserViewMainService.createBrowserContext();return this.knownContextIds.add(e),this.ownedContextIds.add(e),e}async disposeBrowserContext(e){if(!this.ownedContextIds.has(e))throw new Error("Can only dispose browser contexts created by this group");for(let t of this.views.values())t.session.id===e&&await this.removeView(t.id);return this.knownContextIds.delete(e),this.ownedContextIds.delete(e),this.browserViewMainService.disposeBrowserContext(e)}get debugger(){return this._debugger||(this._debugger=this._register(new zs(this))),this._debugger}async sendCDPMessage(e){return this.debugger.sendMessage(e)}get onCDPMessage(){return this.debugger.onMessage}dispose(){this._onDidDestroy.fire(),super.dispose()}};Dl=T([g(2,Js)],Dl)});var ow,Ll,u0=w(()=>{$();J();re();er();d0();ow=M("browserViewGroupMainService"),Ll=class extends _{constructor(e){super();this.instantiationService=e;this.groups=this._register(new Xt)}async createGroup(e){let t=ke(),n=this.instantiationService.createInstance(Dl,t,e);return this.groups.set(t,n),x.once(n.onDidDestroy)(()=>{this.groups.deleteAndLeak(t)}),t}async destroyGroup(e){this.groups.deleteAndDispose(e)}async addViewToGroup(e,t){return this._getGroup(e).addView(t)}async removeViewFromGroup(e,t){return this._getGroup(e).removeView(t)}async sendCDPMessage(e,t){return this._getGroup(e).debugger.sendMessage(t)}onDynamicDidAddView(e){return this._getGroup(e).onDidAddView}onDynamicDidRemoveView(e){return this._getGroup(e).onDidRemoveView}onDynamicDidDestroy(e){return this._getGroup(e).onDidDestroy}onDynamicCDPMessage(e){return this._getGroup(e).debugger.onMessage}_getGroup(e){let t=this.groups.get(e);if(!t)throw new Error(`Browser view group ${e} not found`);return t}};Ll=T([g(0,Wt)],Ll)});import gL from"assert";function vL(i,r){let e=(l,c)=>{console.warn(h(2009,null,l,c))},t=l=>{console.warn(h(2007,null,l))},n=(l,c)=>{console.warn(h(2006,null,l,c))},o=l=>({onUnknownOption:c=>{fy.includes(l)||console.warn(h(2011,null,c,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:fy.includes(l)?o:void 0}),a=mu(i,cm,r?{onUnknownOption:l=>{console.warn(h(2010,null,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:o}:void 0);return a.goto&&a._.forEach(l=>gL(/^(\w:)?[^:]+(:\d*){0,2}:?$/.test(l),h(2008,null))),a}function yL(i){let r=i.findIndex(e=>!/^-/.test(e));if(r>-1)return[...i.slice(0,r),...i.slice(r+1)]}function p0(i){let[,...r]=i;if(W&&r.length>0){let t=$r(r[0]).toLowerCase(),n=Ze(process.execPath).toLowerCase()+"\\";t.startsWith(n)&&t.endsWith("\\resources\\app\\out\\cli.js")&&r.shift()}process.env.VSCODE_DEV&&(r=yL(r)||[]);let e=!ni(process.env);return vL(r,e)}function f0(i,...r){let e=i.indexOf("--");return e===-1?i.push(...r):i.splice(e,0,...r),i}function ni(i){return i.VSCODE_CLI==="1"}var Al=w(()=>{_e();te();Te();my()});import*as sw from"os";function bL({useAlternateBitness:i=!1}={}){return i?Ou===0?process.env["ProgramFiles(x86)"]||null:Ml===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function Lm({useAlternateBitness:i=!1,findPreview:r=!1}={}){let e=bL({useAlternateBitness:i});if(!e)return null;let t=B(e,"PowerShell");if(!await Yt.existsDirectory(t))return null;let n=-1,o=null;for(let l of await Q.readdir(t)){let c=-1;if(r){let u=l.indexOf("-");if(u<0)continue;let f=l.substring(0,u);if(!m0.test(f)||l.substring(u+1)!=="preview")continue;c=parseInt(f,10)}else{if(!m0.test(l))continue;c=parseInt(l,10)}if(c<=n)continue;let d=B(t,l,"pwsh.exe");await Yt.existsFile(d)&&(o=d,n=c)}if(!o)return null;let s=e.includes("x86")?" (x86)":"",a=r?" Preview":"";return new Qs(o,`PowerShell${a}${s}`,!0)}async function h0({findPreview:i}={}){if(!process.env.LOCALAPPDATA)return null;let r=B(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await Yt.existsDirectory(r))return null;let{pwshMsixDirRegex:e,pwshMsixName:t}=i?{pwshMsixDirRegex:IL,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:wL,pwshMsixName:"PowerShell (Store)"};for(let n of await Q.readdir(r))if(e.test(n)){let o=B(r,n,"pwsh.exe");return new Qs(o,t)}return null}function SL(){let i=B(sw.homedir(),".dotnet","tools","pwsh.exe");return new Qs(i,".NET Core PowerShell Global Tool")}function xL(){let i=B(sw.homedir(),"scoop","apps"),r=B(i,"pwsh","current","pwsh.exe");return new Qs(r,"PowerShell (Scoop)")}function PL(){let i=B(process.env.windir,Ou===1&&Ml!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new Qs(i,"Windows PowerShell",!0)}async function*EL(){let i=await Lm();i&&(yield i),i=await Lm({useAlternateBitness:!0}),i&&(yield i),i=await h0(),i&&(yield i),i=SL(),i&&(yield i),i=await Lm({findPreview:!0}),i&&(yield i),i=await h0({findPreview:!0}),i&&(yield i),i=await Lm({useAlternateBitness:!0,findPreview:!0}),i&&(yield i),i=await xL(),i&&(yield i),i=PL(),i&&(yield i)}async function*aw(){for await(let i of EL())await i.exists()&&(yield i)}async function g0(){for await(let i of aw())return i;return null}var m0,wL,IL,Ou,Ml,Qs,lw=w(()=>{_e();Zt();m0=/^\d+$/,wL=/^Microsoft.PowerShell_.*/,IL=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":Ou=1;break;case"arm":case"arm64":Ou=2;break;default:Ou=0;break}process.env.PROCESSOR_ARCHITEW6432?Ml=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Ml=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Ml=1:Ml=0;Qs=class{constructor(r,e,t){this.exePath=r;this.displayName=e;this.knownToExist=t}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await Yt.existsFile(this.exePath)),this.knownToExist}}});import*as cw from"child_process";import{promises as v0}from"fs";function Am(i=or){return i.comspec||"cmd.exe"}function y0(i){let r=[],e=!1,t=function(n){if(e){r.push(n);return}(!i.send(n,s=>{if(s&&console.error(s),e=!1,r.length>0){let a=r.slice(0);r=[],a.forEach(l=>t(l))}})||W)&&(e=!0)};return{send:t}}async function TL(i){if(await Q.exists(i)){let r;try{r=await v0.stat(i)}catch(e){e.message.startsWith("EACCES")&&(r=await v0.lstat(i))}return r?!r.isDirectory():!1}return!1}async function Xs(i,r,e,t=or,n=TL){if(xo(i))return await n(i)?i:void 0;if(r===void 0&&(r=rn()),Ze(i)!=="."){let l=B(r,i);return await n(l)?l:void 0}let s=by(t,"PATH");if(e===void 0&&Me(s)&&(e=s.split(Cp)),e===void 0||e.length===0){let l=B(r,i);return await n(l)?l:void 0}for(let l of e){let c;if(xo(l)?c=B(l,i):c=B(r,l,i),W){let u=(by(t,"PATHEXT")||".COM;.EXE;.BAT;.CMD").split(";").map(async f=>{let m=c+f;return await n(m)?m:void 0});for(let f of u){let m=await f;if(m)return m}}if(await n(c))return c}let a=B(r,i);return await n(a)?a:void 0}async function w0(i,r=!1){let e;if(W){let t=process.env.WINDIR||"C:\\Windows",n=B(t,"System32","taskkill.exe"),o=["/T"];r&&o.push("/F"),o.push("/PID",String(i)),e=cw.spawn(n,o,{stdio:["ignore","pipe","pipe"]})}else{let t=st.asFileUri("vs/base/node/terminateProcess.sh").fsPath;e=cw.spawn("/bin/sh",[t,String(i),r?"9":"15"],{stdio:["ignore","pipe","pipe"]})}return new Promise((t,n)=>{let o=[];e.stdout.on("data",s=>o.push(s)),e.stderr.on("data",s=>o.push(s)),e.on("error",n),e.on("exit",s=>{s===0?t():n(new Error(`taskkill exited with code ${s}: ${Buffer.concat(o).toString()}`))})})}var Ys=w(()=>{mn();_e();te();$n();Iu();Le();Zt();qe()});import{userInfo as CL}from"os";async function Mm(i,r){return i===1?W?kL():Am(r):_L(i,r)}function _L(i,r){if(ne&&i===2||V&&i===3)return"/bin/bash";if(!dw){let e;if(W)e="/bin/bash";else{if(e=r.SHELL,!e)try{e=CL().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}dw=e}return dw}async function kL(){return uw||(uw=(await g0()).exePath),uw}var dw,uw,pw=w(()=>{te();lw();Ys();dw=null;uw=null});function b0(i,r,e){return Math.min(Math.max(i,r),e)}var S0=w(()=>{Pa()});import{spawn as RL}from"child_process";async function Ol(i,r,e,t){return e["force-disable-user-env"]?(r.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):W?(r.trace("resolveShellEnv(): skipped (Windows)"),{}):ni(t)&&!e["force-user-env"]?(r.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(ni(t)?r.trace("resolveShellEnv(): running (--force-user-env)"):r.trace("resolveShellEnv(): running (macOS/Linux)"),fw||(fw=vt.withAsyncBody(async(n,o)=>{let s=new $e,a=1e4,l=i.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=b0(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),o(new Error(h(2351,null)))},a);try{n(await DL(r,s.token))}catch(d){!Xc(d)&&!s.token.isCancellationRequested?o(new Error(h(2349,null,Er(d)))):n({})}finally{clearTimeout(c),s.dispose()}})),fw)}async function DL(i,r){let e=process.env.ELECTRON_RUN_AS_NODE;i.trace("getUnixShellEnvironment#runAsNode",e);let t=process.env.ELECTRON_NO_ATTACH_CONSOLE;i.trace("getUnixShellEnvironment#noAttach",t);let n=ke().replace(/-/g,"").substr(0,12),o=new RegExp(n+"({.*})"+n),s={...process.env,ELECTRON_RUN_AS_NODE:"1",ELECTRON_NO_ATTACH_CONSOLE:"1",VSCODE_RESOLVING_ENVIRONMENT:"1"};i.trace("getUnixShellEnvironment#env",s);let a=await Mm(Qt,s);return i.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(r.isCancellationRequested)return c(new St);let d=Pe(a),u,f,m="";/^(?:pwsh|powershell)(?:-preview)?$/.test(d)?(u=`& '${process.execPath}' ${m} -p '''${n}'' + JSON.stringify(process.env) + ''${n}'''`,f=["-Login","-Command"]):d==="nu"?(u=`^'${process.execPath}' ${m} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`,f=["-i","-l","-c"]):d==="xonsh"?(u=`import os, json; print("${n}", json.dumps(dict(os.environ)), "${n}")`,f=["-i","-l","-c"]):(u=`'${process.execPath}' ${m} -p '"${n}" + JSON.stringify(process.env) + "${n}"'`,d==="tcsh"||d==="csh"?f=["-ic"]:f=["-i","-l","-c"]),i.trace("getUnixShellEnvironment#spawn",JSON.stringify(f),u);let y=RL(a,[...f,u],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});r.onCancellationRequested(()=>(y.kill(),c(new St))),y.on("error",I=>{i.error("getUnixShellEnvironment#errorChildProcess",Er(I)),c(I)});let v=[];y.stdout.on("data",I=>v.push(I));let b=[];y.stderr.on("data",I=>b.push(I)),y.on("close",(I,C)=>{let R=Buffer.concat(v).toString("utf8");i.trace("getUnixShellEnvironment#raw",R);let D=Buffer.concat(b).toString("utf8");if(D.trim()&&i.trace("getUnixShellEnvironment#stderr",D),I||C)return c(new Error(h(2350,null,I,C)));let A=o.exec(R),z=A?A[1]:"{}";try{let N=JSON.parse(z);e?N.ELECTRON_RUN_AS_NODE=e:delete N.ELECTRON_RUN_AS_NODE,t?N.ELECTRON_NO_ATTACH_CONSOLE=t:delete N.ELECTRON_NO_ATTACH_CONSOLE,delete N.VSCODE_RESOLVING_ENVIRONMENT,delete N.XDG_RUNTIME_DIR,i.trace("getUnixShellEnvironment#result",N),l(N)}catch(N){i.error("getUnixShellEnvironment#errorCaught",Er(N)),c(N)}})})}var fw,Om=w(()=>{_e();Te();wt();Lo();He();te();er();pw();Al();ve();S0()});var mw,x0,P0,hw=w(()=>{re();mw=M("extensionHostStarter"),x0="extensionHostStarter",P0=6e3});var is,E0=w(()=>{ve();He();J();$();hw();Pt();oe();rr();Yo();Dt();at();is=class extends _{constructor(e,t,n,o,s){super();this._logService=e;this._lifecycleMainService=t;this._windowsMainService=n;this._telemetryService=o;this._configurationService=s;this._extHosts=new Map;this._shutdown=!1;this._register(this._lifecycleMainService.onWillShutdown(a=>{this._shutdown=!0,a.join("extHostStarter",this._waitForAllExit(6e3))}))}static{this._lastId=0}dispose(){super.dispose()}_getExtHost(e){let t=this._extHosts.get(e);if(!t)throw new Error("Unknown extension host!");return t}onDynamicStdout(e){return this._getExtHost(e).onStdout}onDynamicStderr(e){return this._getExtHost(e).onStderr}onDynamicMessage(e){return this._getExtHost(e).onMessage}onDynamicExit(e){return this._getExtHost(e).onExit}async createExtensionHost(){if(this._shutdown)throw Kn();let e=String(++is._lastId),t=new Xo(this._logService,this._windowsMainService,this._telemetryService,this._lifecycleMainService);this._extHosts.set(e,t);let n=t.onExit(({pid:o,code:s,signal:a})=>{n.dispose(),this._logService.info(`Extension host with pid ${o} exited with code: ${s}, signal: ${a}.`),setTimeout(()=>{t.dispose(),this._extHosts.delete(e)}),setTimeout(()=>{try{process.kill(o,0),this._logService.error(`Extension host with pid ${o} still exists, forcefully killing it...`),process.kill(o)}catch{}},1e3)});return{id:e}}async start(e,t){if(this._shutdown)throw Kn();let n=this._getExtHost(e),o=["--skipWorkspaceStorageLock"];return this._configurationService.getValue("extensions.supportNodeGlobalNavigator")&&o.push("--supportGlobalNavigator"),n.start({...t,type:"extensionHost",name:"extension-host",entryPoint:"vs/workbench/api/node/extensionHostProcess",args:o,execArgv:t.execArgv,allowLoadingUnsignedLibraries:!0,respondToAuthRequestsFromMainProcess:!0,windowLifecycleBound:!0,windowLifecycleGraceTime:P0,correlationId:e}),{pid:await x.toPromise(n.onSpawn)}}async enableInspectPort(e){if(this._shutdown)throw Kn();let t=this._extHosts.get(e);return t?t.enableInspectPort():!1}async kill(e){if(this._shutdown)throw Kn();let t=this._extHosts.get(e);t&&t.kill()}async waitForExit(e,t){if(this._shutdown)throw Kn();let n=this._extHosts.get(e);n&&await n.waitForExit(t)}async _killAllNow(){for(let[,e]of this._extHosts)e.kill()}async _waitForAllExit(e){let t=[];for(let[,n]of this._extHosts)t.push(n.waitForExit(e));return vt.settled(t).then(()=>{})}};is=T([g(0,U),g(1,ye),g(2,Be),g(3,Ge),g(4,he)],is)});var Fu,T0=w(()=>{re();Fu=M("externalTerminal")});var $G,Fl,C0=w(()=>{re();$G=M("externalTerminal"),Fl="Terminal.app"});import*as os from"child_process";function Zs(i){let r={...i.env};return bP(r),r}function k0(i){return i.errno==="ENOENT"&&i.path?new Error(h(2119,null,i.path)):i}function gw(i,r,e,t){let n="";i.on("error",o=>{e(k0(o))}),i.stderr?.on("data",o=>{n+=o.toString()}),i.on("exit",o=>{if(o===0)r(void 0);else if(n){let s=n.split(`
`,1);e(new Error(s[0]))}else e(new Error(h(2122,null,t,o)))})}function LL(i){let r="";for(let e of i)e.indexOf(" ")>=0?r+='"'+e+'"':r+=e,r+=" ";return r}var _0,Wu,ii,Uu,Fm,Nu,R0=w(()=>{Mo();qe();_e();te();Iu();Zt();Ys();Te();C0();_0=h(2118,null),Wu=class{async getDefaultTerminalForPlatforms(){return{windows:Uu.getDefaultTerminalWindows(),linux:await Nu.getDefaultTerminalLinuxReady(),osx:Fl}}},ii=class ii extends Wu{static{this.CMD="cmd.exe"}openTerminal(r,e){return this.spawnTerminal(os,r,Am(),e)}spawnTerminal(r,e,t,n){let o=e.windowsExec||ii.getDefaultTerminalWindows();n&&n[1]===":"&&(n=n[0].toUpperCase()+n.substr(1));let s=Pe(o,".exe").toLowerCase();if(s==="cmder")return r.spawn(o,n?[n]:void 0),Promise.resolve(void 0);let a=["/c","start","/wait"];return o.indexOf(" ")>=0&&a.push(o),a.push(o),s==="wt"&&a.push("-d ."),new Promise((l,c)=>{let d=Zs(process),u=r.spawn(t,a,{cwd:n,env:d,detached:!0});u.on("error",c),u.on("exit",()=>l())})}async runInTerminal(r,e,t,n,o){let s=o.windowsExec||ii.getDefaultTerminalWindows(),a=await ii.getWtExePath();return new Promise((l,c)=>{let d=`"${e} - ${_0}"`,u=`"${t.join('" "')}" & pause`,f=Object.assign({},Zs(process),n);Object.keys(f).filter(I=>f[I]===null).forEach(I=>delete f[I]);let m={cwd:e,env:f,windowsVerbatimArguments:!0},y,v;Pe(s,".exe")==="wt"?(y=s,v=["-d",".",ii.CMD,"/c",u]):a?(y=a,v=["-d",".",s,"/c",u]):(y=ii.CMD,v=["/c","start",d,"/wait",s,"/c",`"${u}"`]),os.spawn(y,v,m).on("error",I=>{c(k0(I))}),l(void 0)})}static getDefaultTerminalWindows(){if(!ii._DEFAULT_TERMINAL_WINDOWS){let r=!!process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");ii._DEFAULT_TERMINAL_WINDOWS=`${process.env.windir?process.env.windir:"C:\\Windows"}\\${r?"Sysnative":"System32"}\\cmd.exe`}return ii._DEFAULT_TERMINAL_WINDOWS}static async getWtExePath(){try{return await Xs("wt")}catch{return}}};T([ce],ii,"getWtExePath",1);Uu=ii,Fm=class i extends Wu{static{this.OSASCRIPT="/usr/bin/osascript"}openTerminal(r,e){return this.spawnTerminal(os,r,e)}runInTerminal(r,e,t,n,o){let s=o.osxExec||Fl;return new Promise((a,l)=>{if(s===Fl||s==="iTerm.app"){let c=s===Fl?"TerminalHelper":"iTermHelper",u=[st.asFileUri(`vs/workbench/contrib/externalTerminal/node/${c}.scpt`).fsPath,"-t",r||_0,"-w",e];for(let m of t)u.push("-a"),u.push(m);if(n){let m=Object.assign({},Zs(process),n);for(let y in m){let v=m[y];v===null?(u.push("-u"),u.push(y)):(u.push("-e"),u.push(`${y}=${v}`))}}let f=os.spawn(i.OSASCRIPT,u);gw(f,a,l,s)}else if(s==="Ghostty.app"){let c=Object.assign({},Zs(process),n),d=["-na","Ghostty.app","--args"];d.push("--working-directory="+e),d.push("--wait-after-command=true"),d.push("-e",...t);let u=os.spawn("/usr/bin/open",d,{env:c});gw(u,a,l,s)}else l(new Error(h(2120,null,s)))})}spawnTerminal(r,e,t){let n=e.osxExec||Fl;return new Promise((o,s)=>{let a=["-a",n];t&&a.push(t);let l=Zs(process),c=r.spawn("/usr/bin/open",a,{cwd:t,env:l});c.on("error",s),c.on("exit",()=>o())})}},Nu=class i extends Wu{static{this.WAIT_MESSAGE=h(2121,null)}openTerminal(r,e){return this.spawnTerminal(os,r,e)}runInTerminal(r,e,t,n,o){let s=o.linuxExec?Promise.resolve(o.linuxExec):i.getDefaultTerminalLinuxReady();return new Promise((a,l)=>{s.then(c=>{if(Pe(c).toLowerCase()==="ghostty"){let m=[];e&&m.push(`--working-directory=${e}`),m.push("--wait-after-command=true"),t.length&&m.push("-e",...t),i.spawnTerminalWithEnv(c,m,e,n,a,l);return}let u=[];c.indexOf("gnome-terminal")>=0?u.push("-x"):u.push("-e"),u.push("bash"),u.push("-c");let f=`${LL(t)}; echo; read -p "${i.WAIT_MESSAGE}" -n1;`;u.push(`''${f}''`),i.spawnTerminalWithEnv(c,u,e,n,a,l)})})}static spawnTerminalWithEnv(r,e,t,n,o,s){let a=Object.assign({},Zs(process),n);Object.keys(a).filter(c=>a[c]===null).forEach(c=>delete a[c]);let l=os.spawn(r,e,{cwd:t,env:a});gw(l,o,s,r)}static async getDefaultTerminalLinuxReady(){if(!i._DEFAULT_TERMINAL_LINUX_READY)if(!ne)i._DEFAULT_TERMINAL_LINUX_READY=Promise.resolve("xterm");else{let r=await Q.exists("/etc/debian_version");i._DEFAULT_TERMINAL_LINUX_READY=new Promise(e=>{r?e("x-terminal-emulator"):process.env.DESKTOP_SESSION==="gnome"||process.env.DESKTOP_SESSION==="gnome-classic"?e("gnome-terminal"):process.env.DESKTOP_SESSION==="kde-plasma"?e("konsole"):process.env.COLORTERM?e(process.env.COLORTERM):process.env.TERM?e(process.env.TERM):e("xterm")})}return i._DEFAULT_TERMINAL_LINUX_READY}spawnTerminal(r,e,t){let n=e.linuxExec?Promise.resolve(e.linuxExec):i.getDefaultTerminalLinuxReady();return new Promise((o,s)=>{n.then(a=>{let l=Zs(process),d=Pe(a).toLowerCase()==="ghostty"&&t?[`--working-directory=${t}`]:[],u=r.spawn(a,d,{cwd:t,env:l});u.on("error",s),u.on("exit",()=>o())})})}}});var vw,D0=w(()=>{re();vw=M("sandboxHelper")});var Wm,L0=w(()=>{te();Ys();Wm=class i{static async checkSandboxDependenciesWith(r,e=ne){if(!e)return;let[t,n]=await Promise.all([r("bwrap"),r("socat")]);return{bubblewrapInstalled:!!t,socatInstalled:!!n}}checkSandboxDependencies(){return i.checkSandboxDependenciesWith(Xs)}}});function M0(i,r){switch(i){case 0:return"";case 1:return`${Nm}*?`;default:return`(?:${Um}|${Nm}+${Um}${r?`|${Um}${Nm}+`:""})*?`}}function O0(i,r){if(!i)return[];let e=[],t=!1,n=!1,o="";for(let s of i){switch(s){case r:if(!t&&!n){e.push(o),o="";continue}break;case"{":t=!0;break;case"}":t=!1;break;case"[":n=!0;break;case"]":n=!1;break}o+=s}return o&&e.push(o),e}function B0(i){if(!i)return"";let r="",e=O0(i,A0);if(e.every(t=>t===Wl))r=".*";else{let t=!1;e.forEach((n,o)=>{if(n===Wl){if(t)return;r+=M0(2,o===e.length-1)}else{let s=!1,a="",l=!1,c="";for(let d of n){if(d!=="}"&&s){a+=d;continue}if(l&&(d!=="]"||!c)){let u;d==="-"?u=d:(d==="^"||d==="!")&&!c?u="^":d===A0?u="":u=To(d),c+=u;continue}switch(d){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let f=`(?:${O0(a,",").map(m=>B0(m)).join("|")})`;r+=f,s=!1,a="";break}case"]":{r+="["+c+"]",l=!1,c="";break}case"?":r+=Nm;continue;case"*":r+=M0(1);continue;default:r+=To(d)}}o<e.length-1&&(e[o+1]!==Wl||o+2<e.length)&&(r+=Um)}t=n===Wl})}return r}function ww(i,r){if(!i)return Li;let e;typeof i!="string"?e=i.pattern:e=i,e=e.trim();let t=r.ignoreCase??!1,n={...r,equals:t?qr:(l,c)=>l===c,endsWith:t?PS:(l,c)=>l.endsWith(c),isEqualOrParent:(l,c)=>Ki(l,c,r.ignoreCase??!ne)},o=`${t?e.toLowerCase():e}_${!!r.trimForExclusions}_${t}`,s=F0.get(o);if(s)return U0(s,i,n);let a;return ML.test(e)?s=BL(e.substring(4),e,n):(a=OL.exec(yw(e,n)))?s=VL(a[1],e,n):(r.trimForExclusions?WL:FL).test(e)?s=HL(e,n):(a=UL.exec(yw(e,n)))?s=N0(a[1].substring(1),e,!0,n):(a=NL.exec(yw(e,n)))?s=N0(a[1],e,!1,n):s=$L(e,n),F0.set(o,s),U0(s,i,n)}function U0(i,r,e){if(typeof r=="string")return i;let t=function(n,o){return e.isEqualOrParent(n,r.base)?i(jg(n.substring(r.base.length),Ot),o):null};return t.allBasenames=i.allBasenames,t.allPaths=i.allPaths,t.basenames=i.basenames,t.patterns=i.patterns,t}function yw(i,r){return r.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function BL(i,r,e){return function(t,n){return typeof t=="string"&&e.endsWith(t,i)?r:null}}function VL(i,r,e){let t=`/${i}`,n=`\\${i}`,o=function(a,l){return typeof a!="string"?null:l?e.equals(l,i)?r:null:e.equals(a,i)||e.endsWith(a,t)||e.endsWith(a,n)?r:null},s=[i];return o.basenames=s,o.patterns=[r],o.allBasenames=s,o}function HL(i,r){let e=H0(i.slice(1,-1).split(",").map(a=>ww(a,r)).filter(a=>a!==Li),i),t=e.length;if(!t)return Li;if(t===1)return e[0];let n=function(a,l){for(let c=0,d=e.length;c<d;c++)if(e[c](a,l))return i;return null},o=e.find(a=>!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(n.allPaths=s),n}function N0(i,r,e,t){let n=Ot===de.sep,o=n?i:i.replace(AL,Ot),s=Ot+o,a=de.sep+i,l;return e?l=function(c,d){return typeof c=="string"&&(t.equals(c,o)||t.endsWith(c,s)||!n&&(t.equals(c,i)||t.endsWith(c,a)))?r:null}:l=function(c,d){return typeof c=="string"&&(t.equals(c,o)||!n&&t.equals(c,i))?r:null},l.allPaths=[(e?"*/":"./")+i],l}function $L(i,r){try{let e=new RegExp(`^${B0(i)}$`,r.ignoreCase?"i":void 0);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?i:null}}catch{return Li}}function V0(i,r={}){if(!i)return W0;if(typeof i=="string"||qL(i)){let e=ww(i,r);if(e===Li)return W0;let t=function(n,o){return!!e(n,o)};return e.allBasenames&&(t.allBasenames=e.allBasenames),e.allPaths&&(t.allPaths=e.allPaths),t}return KL(i,r)}function qL(i){let r=i;return r?typeof r.base=="string"&&typeof r.pattern=="string":!1}function KL(i,r){let e=H0(Object.getOwnPropertyNames(i).map(a=>zL(a,i[a],r)).filter(a=>a!==Li)),t=e.length;if(!t)return Li;if(!e.some(a=>!!a.requiresSiblings)){if(t===1)return e[0];let a=function(d,u){let f;for(let m=0,y=e.length;m<y;m++){let v=e[m](d,u);if(typeof v=="string")return v;Yp(v)&&(f||(f=[]),f.push(v))}return f?(async()=>{for(let m of f){let y=await m;if(typeof y=="string")return y}return null})():null},l=e.find(d=>!!d.allBasenames);l&&(a.allBasenames=l.allBasenames);let c=e.reduce((d,u)=>u.allPaths?d.concat(u.allPaths):d,[]);return c.length&&(a.allPaths=c),a}let n=function(a,l,c){let d,u;for(let f=0,m=e.length;f<m;f++){let y=e[f];y.requiresSiblings&&c&&(l||(l=Pe(a)),d||(d=l.substring(0,l.length-ya(a).length)));let v=y(a,l,d,c);if(typeof v=="string")return v;Yp(v)&&(u||(u=[]),u.push(v))}return u?(async()=>{for(let f of u){let m=await f;if(typeof m=="string")return m}return null})():null},o=e.find(a=>!!a.allBasenames);o&&(n.allBasenames=o.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(n.allPaths=s),n}function zL(i,r,e){if(r===!1)return Li;let t=ww(i,e);if(t===Li)return Li;if(typeof r=="boolean")return t;if(r){let n=r.when;if(typeof n=="string"){let o=(s,a,l,c)=>{if(!c||!t(s,a))return null;let d=n.replace("$(basename)",()=>l),u=c(d);return Yp(u)?u.then(f=>f?i:null):u?i:null};return o.requiresSiblings=!0,o}}return t}function H0(i,r){let e=i.filter(a=>!!a.basenames);if(e.length<2)return i;let t=e.reduce((a,l)=>{let c=l.basenames;return c?a.concat(c):a},[]),n;if(r){n=[];for(let a=0,l=t.length;a<l;a++)n.push(r)}else n=e.reduce((a,l)=>{let c=l.patterns;return c?a.concat(c):a},[]);let o=function(a,l){if(typeof a!="string")return null;if(!l){let d;for(d=a.length;d>0;d--){let u=a.charCodeAt(d-1);if(u===47||u===92)break}l=a.substring(d)}let c=t.indexOf(l);return c!==-1?n[c]:null};o.basenames=t,o.patterns=n,o.allBasenames=t;let s=i.filter(a=>!a.basenames);return s.push(o),s}function Iw(i,r){return Po(i,r,(e,t)=>typeof e=="string"&&typeof t=="string"?e===t:typeof e!="string"&&typeof t!="string"?e.base===t.base&&e.pattern===t.pattern:!1)}var Wl,A0,Um,Nm,AL,ML,OL,FL,WL,UL,NL,F0,W0,Li,bw=w(()=>{$t();ve();jn();cn();Ar();_e();te();sr();Wl="**",A0="/",Um="[/\\\\]",Nm="[^/\\\\]",AL=/\//g;ML=/^\*\*\/\*\.[\w\.-]+$/,OL=/^\*\*\/([\w\.-]+)\/?$/,FL=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,WL=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,UL=/^\*\*((\/[\w\.-]+)+)\/?$/,NL=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,F0=new fi(1e4),W0=function(){return!1},Li=function(){return null}});function $m(i){return typeof i.correlationId=="number"}function q0(i){return i.recursive===!0}function qm(i){return i.map(r=>({type:r.type,resource:E.revive(r.resource),cId:r.cId}))}function K0(i){let r=new Sw;for(let e of i)r.processEvent(e);return r.coalesce()}function jL(i,r){return typeof r=="string"&&!r.startsWith(Wl)&&!xo(r)?{base:i,pattern:r}:r}function xw(i,r,e){let t=[];for(let n of r)t.push(V0(jL(i,n),{ignoreCase:e}));return t}function z0(i,r){if(typeof r=="number")switch(i.type){case 1:return(r&4)===0;case 2:return(r&8)===0;case 0:return(r&2)===0}return!1}function j0(i){if(typeof i=="number"){let r=[];return i&4&&r.push("Added"),i&8&&r.push("Deleted"),i&2&&r.push("Updated"),r.length===0?"<all>":`[${r.join(", ")}]`}return"<none>"}var Bm,Vm,Hm,Sw,ea=w(()=>{bw();$();_e();te();le();Ke();Bm=class i extends _{constructor(e,t,n,o){super();this.onFileChanges=e;this.onLogMessage=t;this.verboseLogging=n;this.options=o;this.watcherDisposables=this._register(new qt);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new ee;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(t=>this.onFileChanges(t))),e.add(this.watcher.onDidLogMessage(t=>this.onLogMessage(t))),e.add(this.watcher.onDidError(t=>this.onError(t.error,t.request)))}onError(e,t){this.canRestart(e,t)?this.restartCounter<i.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,t){return!(!this.options.restartOnError||t||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()}},Vm=class extends Bm{constructor(r,e,t){super(r,e,t,{type:"node.js",restartOnError:!1})}},Hm=class extends Bm{constructor(r,e,t){super(r,e,t,{type:"universal",restartOnError:!0})}};Sw=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(r){return ne?r.resource.fsPath:r.resource.fsPath.toLowerCase()}processEvent(r){let e=this.mapPathToChange.get(this.toKey(r)),t=!1;if(e){let n=e.type,o=r.type;e.resource.fsPath!==r.resource.fsPath&&(r.type===2||r.type===1)?t=!0:n===1&&o===2?(this.mapPathToChange.delete(this.toKey(r)),this.coalesced.delete(e)):n===2&&o===1?e.type=0:n===1&&o===0||(e.type=o)}else t=!0;t&&(this.coalesced.add(r),this.mapPathToChange.set(this.toKey(r),r))}coalesce(){let r=[],e=[];return Array.from(this.coalesced).filter(t=>t.type!==2?(r.push(t),!1):!0).sort((t,n)=>t.resource.fsPath.length-n.resource.fsPath.length).filter(t=>e.some(n=>kx(t.resource.fsPath,n,!ne))?!1:(e.push(t.resource.fsPath),!0)).concat(r)}}});var Ew,G0=w(()=>{it();Lo();He();J();$();ks();er();Ke();ea();Ew="localFilesystem"});async function zm(i,r,e,t,n,o){let s;try{await GL(i,r,e,t,n,o)}catch(a){s=a}finally{s&&n.errorTransformer&&(s=n.errorTransformer(s)),typeof s<"u"&&e.error(s),e.end()}}async function GL(i,r,e,t,n,o){Tw(o);let s=await i.open(r,{create:!1});try{Tw(o);let a=0,l=0,c=n&&typeof n.length=="number"?n.length:void 0,d=H.alloc(Math.min(n.bufferSize,typeof c=="number"?c:n.bufferSize)),u=n&&typeof n.position=="number"?n.position:0,f=0;do l=await i.read(s,u,d.buffer,f,d.byteLength-f),u+=l,f+=l,a+=l,typeof c=="number"&&(c-=l),f===d.byteLength&&(await e.write(t(d)),d=H.alloc(Math.min(n.bufferSize,typeof c=="number"?c:n.bufferSize)),f=0);while(l>0&&(typeof c!="number"||c>0)&&Tw(o)&&JL(a,n));if(f>0){let m=f;typeof c=="number"&&(m=Math.min(f,c)),e.write(t(d.slice(0,m)))}}catch(a){throw no(a)}finally{await i.close(s)}}function Tw(i){if(i.isCancellationRequested)throw Kn();return!0}function JL(i,r){if(typeof r?.limits?.size=="number"&&i>r.limits.size)throw Gr(h(2158,null),"EntryTooLarge");return!0}var Cw=w(()=>{it();He();Te();Ke()});var jm,J0=w(()=>{$t();ve();He();J();cn();$();_e();ea();oe();jm=class extends _{constructor(e,t){super();this.logService=e;this.options=t;this._onDidChangeFile=this._register(new S);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidWatchError=this._register(new S);this.onDidWatchError=this._onDidWatchError.event;this.universalWatchRequests=[];this.universalWatchRequestDelayer=this._register(new Pr(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new Pr(this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)))}watch(e,t){return t.recursive||this.options?.watcher?.forceUniversal?this.watchUniversal(e,t):this.watchNonRecursive(e,t)}getRefreshWatchersDelay(e){return e>200?500:0}watchUniversal(e,t){let n=this.toWatchRequest(e,t),o=Ag(this.universalWatchRequests,n);return this.refreshUniversalWatchers(),G(()=>{o(),this.refreshUniversalWatchers()})}toWatchRequest(e,t){let n={path:this.toWatchPath(e),excludes:t.excludes,includes:t.includes,recursive:t.recursive,filter:t.filter,correlationId:t.correlationId};if(q0(n)){let o=this.options?.watcher?.recursive?.usePolling;o===!0?n.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3:Array.isArray(o)&&o.includes(n.path)&&(n.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3)}return n}refreshUniversalWatchers(){this.universalWatchRequestDelayer.trigger(()=>this.doRefreshUniversalWatchers(),this.getRefreshWatchersDelay(this.universalWatchRequests.length)).catch(e=>nt(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire(qm(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,t){let n={path:this.toWatchPath(e),excludes:t.excludes,includes:t.includes,recursive:!1,filter:t.filter,correlationId:t.correlationId},o=Ag(this.nonRecursiveWatchRequests,n);return this.refreshNonRecursiveWatchers(),G(()=>{o(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>nt(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire(qm(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 Ct(e.fsPath)}toWatchPath(e){let t=this.toFilePath(e);return Xg(t)}}});function Q0(i){let r=i;return r&&typeof r.type=="string"&&typeof r.severity=="string"}function QL(i){let r=[],e;try{let t=JSON.parse(i.arguments),n=t[t.length-1];n&&n.__$stack&&(t.pop(),e=n.__$stack),r.push(...t)}catch{r.push("Unable to log remote console arguments",i.arguments)}return{args:r,stack:e}}function XL(i){if(!i)return i;let r=i.indexOf(`
`);return r===-1?i:i.substring(0,r)}function X0(i,r){let{args:e,stack:t}=QL(i),n=typeof e[0]=="string"&&e.length===1,o=XL(t);o&&(o=`(${o.trim()})`);let s=[];if(typeof e[0]=="string"?o&&n?s=[`%c[${r}] %c${e[0]} %c${o}`,Ul("blue"),Ul(""),Ul("grey")]:s=[`%c[${r}] %c${e[0]}`,Ul("blue"),Ul(""),...e.slice(1)]:s=[`%c[${r}]%`,Ul("blue"),...e],o&&!n&&s.push(o),typeof console[i.severity]!="function")throw new Error("Unknown console method");console[i.severity].apply(console,s)}function Ul(i){return`color: ${i}`}var Y0=w(()=>{le()});import{fork as YL}from"child_process";var Gm,Z0=w(()=>{ve();it();wt();Y0();He();J();$();mn();Ys();Iu();Ii();Gm=class{constructor(r,e){this.modulePath=r;this.options=e;this.activeRequests=new Set;this.channels=new Map;this._onDidProcessExit=new S;this.onDidProcessExit=this._onDidProcessExit.event;let t=e.timeout||6e4;this.disposeDelayer=new zi(t),this.child=null,this._client=null}getChannel(r){let e=this;return{call(t,n,o){return e.requestPromise(r,t,n,o)},listen(t,n){return e.requestEvent(r,t,n)}}}requestPromise(r,e,t,n=Se.None){if(!this.disposeDelayer)return Promise.reject(new Error("disposed"));if(n.isCancellationRequested)return Promise.reject(Kn());this.disposeDelayer.cancel();let o=this.getCachedChannel(r),s=Qn(c=>o.call(e,t,c)),a=n.onCancellationRequested(()=>s.cancel()),l=G(()=>s.cancel());return this.activeRequests.add(l),s.finally(()=>{a.dispose(),this.activeRequests.delete(l),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}),s}requestEvent(r,e,t){if(!this.disposeDelayer)return x.None;this.disposeDelayer.cancel();let n,o=new S({onWillAddFirstListener:()=>{n=this.getCachedChannel(r).listen(e,t)(o.fire,o),this.activeRequests.add(n)},onDidRemoveLastListener:()=>{this.activeRequests.delete(n),n.dispose(),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}});return o.event}get client(){if(!this._client){let r=this.options.args||[],e=Object.create(null);e.env={...nr(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(u=>!/^--inspect(-brk)?=/.test(u)).filter(u=>!u.startsWith("--vscode-"))),Im(e.env),this.child=YL(this.modulePath,r,e);let t=new S,o=x.fromNodeEventEmitter(this.child,"message",u=>u)(u=>{if(Q0(u)){X0(u,`IPC Library: ${this.options.serverName}`);return}t.fire(H.wrap(Buffer.from(u,"base64")))}),s=this.options.useQueue?y0(this.child):this.child,a=u=>this.child?.connected&&s.send(u.buffer.toString("base64")),l=t.event,c={send:a,onMessage:l};this._client=new Ls(c);let d=()=>this.disposeClient();process.once("exit",d),this.child.on("error",u=>console.warn('IPC "'+this.options.serverName+'" errored with '+u)),this.child.on("exit",(u,f)=>{process.removeListener("exit",d),o.dispose(),this.activeRequests.forEach(m=>pt(m)),this.activeRequests.clear(),u!==0&&f!=="SIGTERM"&&console.warn('IPC "'+this.options.serverName+'" crashed with exit code '+u+" and signal "+f),this.disposeDelayer?.cancel(),this.disposeClient(),this._onDidProcessExit.fire({code:u,signal:f})})}return this._client}getCachedChannel(r){let e=this.channels.get(r);return e||(e=this.client.getChannel(r),this.channels.set(r,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 Jm,eE=w(()=>{qe();Ii();Z0();ea();Jm=class extends Hm{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){let e=r.add(new Gm(st.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 r.add(e.onDidProcessExit(({code:t,signal:n})=>this.onError(`terminated by itself with code ${t}, signal: ${n} (ETERM)`))),Je.toService($1(e.getChannel("watcher")))}}});import{watchFile as ZL,unwatchFile as eA}from"fs";var Qm,tE=w(()=>{$();ea();J();Ke();le();ve();bi();He();Qm=class extends _{constructor(){super();this._onDidChangeFile=this._register(new S);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidLogMessage=this._register(new S);this.onDidLogMessage=this._onDidLogMessage.event;this._onDidWatchFail=this._register(new S);this.onDidWatchFail=this._onDidWatchFail.event;this.correlatedWatchRequests=new Map;this.nonCorrelatedWatchRequests=new Map;this.suspendedWatchRequests=this._register(new Xt);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new Pr(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new Kt;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 $m(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:lr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new Kt;try{this.correlatedWatchRequests.clear(),this.nonCorrelatedWatchRequests.clear();for(let t of e)this.isCorrelated(t)?this.correlatedWatchRequests.set(t.correlationId,t):this.nonCorrelatedWatchRequests.set(this.computeId(t),t);for(let[t]of this.suspendedWatchRequests)!this.nonCorrelatedWatchRequests.has(t)&&!this.correlatedWatchRequests.has(t)&&(this.suspendedWatchRequests.deleteAndDispose(t),this.suspendedWatchRequestsWithPolling.delete(t));return await this.updateWatchers(!1)}finally{this.joinWatch.complete()}}updateWatchers(e){let t=[];for(let[n,o]of[...this.nonCorrelatedWatchRequests,...this.correlatedWatchRequests])this.suspendedWatchRequests.has(n)||t.push(o);return this.updateWatchersDelayer.trigger(()=>this.doWatch(t),e?this.getUpdateWatchersDelay():0).catch(n=>nt(n))}getUpdateWatchersDelay(){return 800}isSuspended(e){let t=this.computeId(e);return this.suspendedWatchRequestsWithPolling.has(t)?"polling":this.suspendedWatchRequests.has(t)}async suspendWatchRequest(e){if(this.suspendedWatchRequests.has(e.id))return;let t=new ee;this.suspendedWatchRequests.set(e.id,t),await this.joinWatch.p,!t.isDisposed&&(this.monitorSuspendedWatchRequest(e,t),this.updateWatchers(!0))}resumeWatchRequest(e){this.suspendedWatchRequests.deleteAndDispose(e.id),this.suspendedWatchRequestsWithPolling.delete(e.id),this.updateWatchers(!1)}monitorSuspendedWatchRequest(e,t){this.doMonitorWithExistingWatcher(e,t)?(this.trace(`reusing an existing recursive watcher to monitor ${e.path}`),this.suspendedWatchRequestsWithPolling.delete(e.id)):(this.doMonitorWithNodeJS(e,t),this.suspendedWatchRequestsWithPolling.add(e.id))}doMonitorWithExistingWatcher(e,t){let n=this.recursiveWatcher?.subscribe(e.path,(o,s)=>{t.isDisposed||(o?this.monitorSuspendedWatchRequest(e,t):s?.type===1&&this.onMonitoredPathAdded(e))});return n?(t.add(n),!0):!1}doMonitorWithNodeJS(e,t){let n=!1,o=(s,a)=>{if(t.isDisposed)return;let l=this.isPathNotFound(s),c=this.isPathNotFound(a),d=n;n=l,!l&&(c||d)&&this.onMonitoredPathAdded(e)};this.trace(`starting fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{ZL(e.path,{persistent:!1,interval:this.suspendedWatchRequestPollingInterval},o)}catch(s){this.warn(`fs.watchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}t.add(G(()=>{this.trace(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{eA(e.path,o)}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 t={resource:E.file(e.path),type:1,cId:e.correlationId};this._onDidChangeFile.fire([t]),this.traceEvent(t,e),this.resumeWatchRequest(e)}isPathNotFound(e){return e.ctimeMs===0&&e.ino===0}async stop(){this.suspendedWatchRequests.clearAndDisposeAll(),this.suspendedWatchRequestsWithPolling.clear()}traceEvent(e,t){if(this.verboseLogging){let n=` >> normalized ${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`;this.traceWithCorrelation(n,t)}}traceWithCorrelation(e,t){this.verboseLogging&&this.trace(`${e}${typeof t.correlationId=="number"?` <${t.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: ${j0(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as tA,promises as rA}from"fs";var Xm,rE=w(()=>{ve();wt();cn();$();ud();_e();te();It();le();Zt();Ke();ea();Eo();Xm=class i extends _{constructor(e,t,n,o,s,a){super();this.request=e;this.recursiveWatcher=t;this.onDidFilesChange=n;this.onDidWatchFail=o;this.onLogMessage=s;this.verboseLogging=a;this.throttledFileChangesEmitter=this._register(new Fa({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},e=>this.onDidFilesChange(e)));this.fileChangesAggregator=this._register(new Qp(e=>this.handleFileChanges(e),i.FILE_CHANGES_HANDLER_DELAY));this.cts=new $e;this.realPath=new xr(async()=>{let e=this.request.path;try{e=await Q.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=!ne;this.excludes=xw(this.request.path,this.request.excludes,l),this.includes=this.request.includes?xw(this.request.path,this.request.includes,l):void 0,this.filter=$m(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 rA.stat(this.request.path);if(this.cts.token.isCancellationRequested)return;this._register(await this.doWatch(e.isDirectory()))}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 t=new ee;return this.doWatchWithExistingWatcher(e,t)?(this.trace(`reusing an existing recursive watcher for ${this.request.path}`),this._isReusingRecursiveWatcher=!0):(this._isReusingRecursiveWatcher=!1,await this.doWatchWithNodeJS(e,t)),t}doWatchWithExistingWatcher(e,t){if(e)return!1;let n=E.file(this.request.path),o=this.recursiveWatcher?.subscribe(this.request.path,async(s,a)=>{t.isDisposed||(s?await cS(this.doWatch(e),t):a&&(typeof a.cId=="number"||typeof this.request.correlationId=="number")&&this.onFileChange({resource:n,type:a.type,cId:this.request.correlationId},!0))});return o?(t.add(o),!0):!1}async doWatchWithNodeJS(e,t){let n=await this.realPath.value;if(this.cts.token.isCancellationRequested)return;if(V&&Ki(n,"/Volumes/",!0)){this.error(`Refusing to watch ${n} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`);return}let o=new $e(this.cts.token);t.add(G(()=>o.dispose(!0)));let s=new ee;t.add(s);try{let a=E.file(this.request.path),l=Pe(n),c=tA(n);s.add(G(()=>{c.removeAllListeners(),c.close()})),this.trace(`Started watching: '${n}'`);let d=new Set;if(e)try{for(let f of await Q.readdir(n))d.add(f)}catch(f){this.error(f)}if(o.token.isCancellationRequested)return;let u=new Map;s.add(G(()=>{for(let[,f]of u)f.dispose();u.clear()})),c.on("error",(f,m)=>{o.token.isCancellationRequested||(this.error(`Failed to watch ${n} for changes using fs.watch() (${f}, ${m})`),this.notifyWatchFailed())}),c.on("change",(f,m)=>{if(o.token.isCancellationRequested)return;this.verboseLogging&&this.traceWithCorrelation(`[raw] ["${f}"] ${m}`);let y="";if(m&&(y=m.toString(),V&&(y=yi(y))),!(!y||f!=="change"&&f!=="rename"))if(e)if(f==="rename"){u.get(y)?.dispose();let v=setTimeout(async()=>{if(u.delete(y),ko(y,l,!ne)&&!await Q.exists(n)){this.onWatchedPathDeleted(a);return}if(o.token.isCancellationRequested)return;let b=await this.existsChildStrictCase(B(n,y));if(o.token.isCancellationRequested)return;let I;b?d.has(y)?I=0:(I=1,d.add(y)):(d.delete(y),I=2),this.onFileChange({resource:me(a,y),type:I,cId:this.request.correlationId})},i.FILE_DELETE_HANDLER_DELAY);u.set(y,G(()=>clearTimeout(v)))}else{let v;d.has(y)?v=0:(v=1,d.add(y)),this.onFileChange({resource:me(a,y),type:v,cId:this.request.correlationId})}else if(f==="rename"||!ko(y,l,!ne)){let v=setTimeout(async()=>{let b=await Q.exists(n);o.token.isCancellationRequested||(b?(this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0),s.add(await this.doWatch(!1))):this.onWatchedPathDeleted(a))},i.FILE_DELETE_HANDLER_DELAY);s.clear(),s.add(G(()=>clearTimeout(v)))}else this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0)})}catch(a){if(o.token.isCancellationRequested)return;this.error(`Failed to watch ${n} 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,t=!1){this.cts.token.isCancellationRequested||(this.verboseLogging&&this.traceWithCorrelation(`${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`),!t&&this.excludes.some(n=>n(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (excluded) ${e.resource.fsPath}`):!t&&this.includes&&this.includes.length>0&&!this.includes.some(n=>n(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${e.resource.fsPath}`):this.fileChangesAggregator.work(e))}handleFileChanges(e){let t=K0(e),n=[];for(let s of t){if(z0(s,this.filter)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${s.resource.fsPath}`);continue}n.push(s)}if(n.length===0)return;if(this.verboseLogging)for(let s of n)this.traceWithCorrelation(` >> normalized ${s.type===1?"[ADDED]":s.type===2?"[DELETED]":"[CHANGED]"} ${s.resource.fsPath}`);this.throttledFileChangesEmitter.work(n)?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: ${n[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: ${n.length}, most recent change: ${n[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async existsChildStrictCase(e){if(ne)return Q.exists(e);try{let t=Pe(e);return(await Q.readdir(Ze(e))).some(o=>o===t)}catch(t){return this.trace(t),!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 Ym,nE=w(()=>{J();bw();tE();te();rE();ve();$();Ym=class extends Qm{constructor(e){super();this.recursiveWatcher=e;this.onDidError=x.None;this._watchers=new Map;this.worker=this._register(new qt)}get watchers(){return this._watchers.values()}async doWatch(e){e=this.removeDuplicateRequests(e);let t=[],n=new Set(Array.from(this.watchers));for(let o of e){let s=this._watchers.get(this.requestToWatcherKey(o));s&&Iw(s.request.excludes,o.excludes)&&Iw(s.request.includes,o.includes)?n.delete(s):t.push(o)}t.length&&this.trace(`Request to start watching: ${t.map(o=>this.requestToString(o)).join(",")}`),n.size&&this.trace(`Request to stop watching: ${Array.from(n).map(o=>this.requestToString(o.request)).join(",")}`),this.worker.clear();for(let o of n)this.stopWatching(o);this.createWatchWorker().work(t)}createWatchWorker(){return this.worker.value=new Fa({maxWorkChunkSize:100,throttleDelay:100,maxBufferedWork:Number.MAX_VALUE},e=>{for(let t of e)this.startWatching(t)}),this.worker.value}requestToWatcherKey(e){return typeof e.correlationId=="number"?e.correlationId:this.pathToWatcherKey(e.path)}pathToWatcherKey(e){return ne?e:e.toLowerCase()}startWatching(e){let t=new Xm(e,this.recursiveWatcher,o=>this._onDidChangeFile.fire(o),()=>this._onDidWatchFail.fire(e),o=>this._onDidLogMessage.fire(o),this.verboseLogging),n={request:e,instance:t};this._watchers.set(this.requestToWatcherKey(e),n)}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 t=new Map;for(let n of e){let o=t.get(n.correlationId);o||(o=new Map,t.set(n.correlationId,o));let s=this.pathToWatcherKey(n.path);o.has(s)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(n)}`),o.set(s,n)}return Array.from(t.values()).flatMap(n=>Array.from(n.values()))}async setVerboseLogging(e){super.setVerboseLogging(e);for(let t of this.watchers)t.instance.setVerboseLogging(e)}trace(e,t){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(e,t)})}warn(e){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(e)})}toMessage(e,t){return t?`[File Watcher (node.js)] ${e} (${this.requestToString(t.request)})`:`[File Watcher (node.js)] ${e}`}}});var Zm,iE=w(()=>{ea();nE();Zm=class extends Vm{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){return r.add(new Ym(void 0))}}});import{constants as _w,promises as ta}from"fs";var ss,eh=w(()=>{ve();Ar();it();J();cn();$();_e();te();It();ks();Zt();Te();Ke();Cw();J0();eE();iE();ss=class i extends jm{constructor(){super(...arguments);this.onDidChangeCapabilities=x.None;this.resourceLocks=new ht(e=>je.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,ne&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:t,symbolicLink:n}=await Yt.stat(this.toFilePath(e)),o;return(t.mode&128)===0&&(o=2),(t.mode&_w.S_IXUSR||t.mode&_w.S_IXGRP||t.mode&_w.S_IXOTH)&&(o=(o??0)|4),{type:this.toType(t,n),ctime:t.birthtime.getTime(),mtime:t.mtime.getTime(),size:t.size,permissions:o}}catch(t){throw this.toFileSystemProviderError(t)}}async statIgnoreError(e){try{return await this.stat(e)}catch{return}}async realpath(e){let t=this.toFilePath(e);return Q.realpath(t)}async readdir(e){try{let t=await Q.readdir(this.toFilePath(e),{withFileTypes:!0}),n=[];return await Promise.all(t.map(async o=>{try{let s;o.isSymbolicLink()?s=(await this.stat(me(e,o.name))).type:s=this.toType(o),n.push([o.name,s])}catch(s){this.logService.trace(s)}})),n}catch(t){throw this.toFileSystemProviderError(t)}}toType(e,t){let n;return t?.dangling?n=0:e.isFile()?n=1:e.isDirectory()?n=2:n=0,t&&(n|=64),n}async createResourceLock(e){let t=this.toFilePath(e);this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (${t})`);let n;for(;n=this.resourceLocks.get(e);)this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - waiting for resource lock to be released (${t})`),await n.wait();let o=new vi;return this.resourceLocks.set(e,o),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${t})`),G(()=>{this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (${t})`),this.resourceLocks.get(e)===o&&(this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (${t})`),this.resourceLocks.delete(e)),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (${t})`),o.open()})}async readFile(e,t){let n;try{t?.atomic&&(this.traceLock(`[Disk FileSystemProvider]: atomic read operation started (${this.toFilePath(e)})`),n=await this.createResourceLock(e));let o=this.toFilePath(e);return await ta.readFile(o)}catch(o){throw this.toFileSystemProviderError(o)}finally{n?.dispose()}}traceLock(e){i.TRACE_LOG_RESOURCE_LOCKS&&this.logService.trace(e)}readFileStream(e,t,n){let o=Ao(s=>H.concat(s.map(a=>H.wrap(a))).buffer);return zm(this,e,o,s=>s.buffer,{...t,bufferSize:256*1024},n),o}async writeFile(e,t,n){return n?.atomic!==!1&&n?.atomic?.postfix&&await this.canWriteFileAtomic(e)?this.doWriteFileAtomic(e,me(BS(e),`${Kr(e)}${n.atomic.postfix}`),t,n):this.doWriteFile(e,t,n)}async canWriteFileAtomic(e){try{let t=this.toFilePath(e),{symbolicLink:n}=await Yt.stat(t);if(n)return!1}catch{}return!0}async doWriteFileAtomic(e,t,n,o){let s=new ee;try{s.add(await this.createResourceLock(e)),s.add(await this.createResourceLock(t)),await this.doWriteFile(t,n,{...o,create:!0,overwrite:!0},!0);try{await this.rename(t,e,{overwrite:!0})}catch(a){try{await this.delete(t,{recursive:!1,useTrash:!1,atomic:!1})}catch{}throw a}}finally{s.dispose()}}async doWriteFile(e,t,n,o){let s;try{let a=this.toFilePath(e);if(!n.create||!n.overwrite){if(await Q.exists(a)){if(!n.overwrite)throw Gr(h(2163,null),"EntryExists")}else if(!n.create)throw Gr(h(2166,null),"EntryNotFound")}s=await this.open(e,{create:!0,append:n.append,unlock:n.unlock},o),await this.write(s,0,t,0,t.byteLength)}catch(a){throw await this.toFileSystemProviderWriteError(e,a)}finally{typeof s=="number"&&await this.close(s)}}static{this.canFlush=!0}static configureFlushOnWrite(e){i.canFlush=e}async open(e,t,n){let o=this.toFilePath(e),s;Ns(t)&&!n&&(s=await this.createResourceLock(e));let a;try{if(Ns(t)&&t.unlock)try{let{stat:l}=await Yt.stat(o);l.mode&128||await ta.chmod(o,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(W&&Ns(t)&&!t.append)try{a=await Q.open(o,"r+"),await Q.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await Q.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(a=await Q.open(o,Ns(t)?t.append?"a":"w":"r"))}catch(l){throw s?.dispose(),Ns(t)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),Ns(t)&&this.writeHandles.set(a,e),s){let l=this.mapHandleToLock.get(a);this.traceLock(`[Disk FileSystemProvider]: open() - storing lock for handle ${a} (${o})`),this.mapHandleToLock.set(a,s),l&&(this.traceLock(`[Disk FileSystemProvider]: open() - disposing a previous lock that was still stored on same handle ${a} (${o})`),l.dispose())}return a}async close(e){let t=this.mapHandleToLock.get(e);try{if(this.mapHandleToPos.delete(e),this.writeHandles.delete(e)&&i.canFlush)try{await Q.fdatasync(e)}catch(n){i.configureFlushOnWrite(!1),this.logService.error(n)}return await Q.close(e)}catch(n){throw this.toFileSystemProviderError(n)}finally{t&&(this.mapHandleToLock.get(e)===t&&(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}`),t.dispose())}}async read(e,t,n,o,s){let a=this.normalizePos(e,t),l=null;try{l=(await Q.read(e,n,o,s,a)).bytesRead}catch(c){throw this.toFileSystemProviderError(c)}finally{this.updatePos(e,a,l)}return l}normalizePos(e,t){return t===this.mapHandleToPos.get(e)?null:t}updatePos(e,t,n){let o=this.mapHandleToPos.get(e);typeof o=="number"&&(typeof t=="number"||(typeof n=="number"?this.mapHandleToPos.set(e,o+n):this.mapHandleToPos.delete(e)))}async write(e,t,n,o,s){return QS(()=>this.doWrite(e,t,n,o,s),100,3)}async doWrite(e,t,n,o,s){let a=this.normalizePos(e,t),l=null;try{l=(await Q.write(e,n,o,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 ta.mkdir(this.toFilePath(e))}catch(t){throw this.toFileSystemProviderError(t)}}async delete(e,t){try{let n=this.toFilePath(e);if(t.recursive){let o;t?.atomic!==!1&&t.atomic.postfix&&(o=B(Ze(n),`${Pe(n)}${t.atomic.postfix}`)),await Q.rm(n,1,o)}else try{await ta.unlink(n)}catch(o){if(o.code==="EPERM"||o.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await Yt.stat(n);s=a.isDirectory()&&!l}catch{}if(s)await ta.rmdir(n);else throw o}else throw o}}catch(n){throw this.toFileSystemProviderError(n)}}async rename(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t);if(o!==s)try{await this.validateMoveCopy(e,t,"move",n.overwrite),await Q.rename(o,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2167,null,Pe(o),Pe(Ze(s)),a.toString()))),this.toFileSystemProviderError(a)}}async copy(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t);if(o!==s)try{await this.validateMoveCopy(e,t,"copy",n.overwrite),await Q.copy(o,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2161,null,Pe(o),Pe(Ze(s)),a.toString()))),this.toFileSystemProviderError(a)}}async validateMoveCopy(e,t,n,o){let s=this.toFilePath(e),a=this.toFilePath(t),l=!1;if(this.capabilities&1024||(l=ko(s,a,!0)),l){if(n==="copy")throw Gr(h(2162,null),"EntryExists");if(n==="move")return}let d=await this.statIgnoreError(e);if(!d)throw Gr(h(2165,null),"EntryNotFound");let u=await this.statIgnoreError(t);if(u){if(!o)throw Gr(h(2164,null),"EntryExists");(d.type&1)!==0&&(u.type&1)!==0||await this.delete(t,{recursive:!0,useTrash:!1,atomic:!1})}}async cloneFile(e,t){return this.doCloneFile(e,t,!1)}async doCloneFile(e,t,n){let o=this.toFilePath(e),s=this.toFilePath(t),a=!!(this.capabilities&1024);if(ko(o,s,!a))return;let l=new ee;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(t)),n&&await ta.mkdir(Ze(s),{recursive:!0}),await ta.copyFile(o,s)}catch(c){if(c.code==="ENOENT"&&!n)return this.doCloneFile(e,t,!0);throw this.toFileSystemProviderError(c)}finally{l.dispose()}}createUniversalWatcher(e,t,n){return new Jm(o=>e(o),o=>t(o),n)}createNonRecursiveWatcher(e,t,n){return new Zm(o=>e(o),o=>t(o),n)}toFileSystemProviderError(e){if(e instanceof tl)return e;let t=e,n;switch(e.code){case"ENOENT":n="EntryNotFound";break;case"EISDIR":n="EntryIsADirectory";break;case"ENOTDIR":n="EntryNotADirectory";break;case"EEXIST":n="EntryExists";break;case"EPERM":case"EACCES":n="NoPermissions";break;case"ERR_UNC_HOST_NOT_ALLOWED":t=`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`,n="Unknown";break;default:n="Unknown"}return Gr(t,n)}async toFileSystemProviderWriteError(e,t){let n=this.toFileSystemProviderError(t);if(e&&n.code==="NoPermissions")try{let{stat:o}=await Yt.stat(this.toFilePath(e));o.mode&128||(n=Gr(t,"EntryWriteLocked"))}catch(o){this.logService.trace(o)}return n}}});var th,rh,sE=w(()=>{J();eh();$();it();ks();wt();th=class extends _{constructor(e,t){super();this.provider=e;this.logService=t;this.sessionToWatcher=new Map;this.watchRequests=new Map}call(e,t,n){let o=this.getUriTransformer(e);switch(t){case"stat":return this.stat(o,n[0]);case"realpath":return this.realpath(o,n[0]);case"readdir":return this.readdir(o,n[0]);case"open":return this.open(o,n[0],n[1]);case"close":return this.close(n[0]);case"read":return this.read(n[0],n[1],n[2]);case"readFile":return this.readFile(o,n[0],n[1]);case"write":return this.write(n[0],n[1],n[2],n[3],n[4]);case"writeFile":return this.writeFile(o,n[0],n[1],n[2]);case"rename":return this.rename(o,n[0],n[1],n[2]);case"copy":return this.copy(o,n[0],n[1],n[2]);case"cloneFile":return this.cloneFile(o,n[0],n[1]);case"mkdir":return this.mkdir(o,n[0]);case"delete":return this.delete(o,n[0],n[1]);case"watch":return this.watch(o,n[0],n[1],n[2],n[3]);case"unwatch":return this.unwatch(n[0],n[1])}throw new Error(`IPC Command ${t} not found`)}listen(e,t,n){let o=this.getUriTransformer(e);switch(t){case"fileChange":return this.onFileChange(o,n[0]);case"readFileStream":return this.onReadFileStream(o,n[0],n[1])}throw new Error(`Unknown event ${t}`)}stat(e,t){let n=this.transformIncoming(e,t,!0);return this.provider.stat(n)}realpath(e,t){let n=this.transformIncoming(e,t,!0);return this.provider.realpath(n)}readdir(e,t){let n=this.transformIncoming(e,t);return this.provider.readdir(n)}async readFile(e,t,n){let o=this.transformIncoming(e,t,!0),s=await this.provider.readFile(o,n);return H.wrap(s)}onReadFileStream(e,t,n){let o=this.transformIncoming(e,t,!0),s=new $e,a=new S({onDidRemoveLastListener:()=>{s.cancel()}}),l=this.provider.readFileStream(o,n,s.token);return Va(l,{onData:c=>a.fire(H.wrap(c)),onError:c=>a.fire(c),onEnd:()=>{a.fire("end"),a.dispose(),s.dispose()}}),a.event}writeFile(e,t,n,o){let s=this.transformIncoming(e,t);return this.provider.writeFile(s,n.buffer,o)}open(e,t,n){let o=this.transformIncoming(e,t,!0);return this.provider.open(o,n)}close(e){return this.provider.close(e)}async read(e,t,n){let o=H.alloc(n),a=await this.provider.read(e,t,o.buffer,0,n);return[o,a]}write(e,t,n,o,s){return this.provider.write(e,t,n.buffer,o,s)}mkdir(e,t){let n=this.transformIncoming(e,t);return this.provider.mkdir(n)}delete(e,t,n){let o=this.transformIncoming(e,t);return this.provider.delete(o,n)}rename(e,t,n,o){let s=this.transformIncoming(e,t),a=this.transformIncoming(e,n);return this.provider.rename(s,a,o)}copy(e,t,n,o){let s=this.transformIncoming(e,t),a=this.transformIncoming(e,n);return this.provider.copy(s,a,o)}cloneFile(e,t,n){let o=this.transformIncoming(e,t),s=this.transformIncoming(e,n);return this.provider.cloneFile(o,s)}onFileChange(e,t){let n=new S({onWillAddFirstListener:()=>{this.sessionToWatcher.set(t,this.createSessionFileWatcher(e,n))},onDidRemoveLastListener:()=>{pt(this.sessionToWatcher.get(t)),this.sessionToWatcher.delete(t)}});return n.event}async watch(e,t,n,o,s){let a=this.sessionToWatcher.get(t);if(a){let l=this.transformIncoming(e,o),c=a.watch(n,l,s);this.watchRequests.set(t+n,c)}}async unwatch(e,t){let n=e+t,o=this.watchRequests.get(n);o&&(pt(o),this.watchRequests.delete(n))}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()}},rh=class extends _{constructor(e,t,n,o){super();this.uriTransformer=e;this.environmentService=o;this.watcherRequests=new Map;this.fileWatcher=this._register(new ss(n)),this.registerListeners(t)}registerListeners(e){let t=this._register(new S);this._register(t.event(n=>{e.fire(n.map(o=>({resource:this.uriTransformer.transformOutgoingURI(o.resource),type:o.type,cId:o.cId})))})),this._register(this.fileWatcher.onDidChangeFile(n=>t.fire(n))),this._register(this.fileWatcher.onDidWatchError(n=>e.fire(n)))}getRecursiveWatcherOptions(e){}getExtraExcludes(e){}watch(e,t,n){let o=this.getExtraExcludes(this.environmentService);return Array.isArray(o)&&(n.excludes=[...n.excludes,...o]),this.watcherRequests.set(e,this.fileWatcher.watch(t,n)),G(()=>{pt(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var aE,lE=w(()=>{it();qp();le();aE=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}}});import{shell as iA}from"electron";var nh,kw,cE=w(()=>{Te();te();le();Ke();_e();sE();lE();Lo();nh=class extends th{constructor(e,t,n){super(e,t);this.environmentService=n}getUriTransformer(e){return aE}transformIncoming(e,t){return E.revive(t)}async delete(e,t,n){if(!n.useTrash)return super.delete(e,t,n);let o=this.transformIncoming(e,t),s=Ct(o.fsPath);try{await iA.trashItem(s)}catch(a){throw Gr(W?h(2159,null,Pe(s),Er(a)):h(2160,null,Pe(s),Er(a)),"Unknown")}}createSessionFileWatcher(e,t){return new kw(e,t,this.logService,this.environmentService)}},kw=class extends rh{watch(r,e,t){if(t.recursive)throw Gr("Recursive file watching is not supported from main process for performance reasons.","Unavailable");return super.watch(r,e,t)}}});var ge,Bu=w(()=>{ge=class{constructor(r,e=[],t=!1){this.ctor=r,this.staticArguments=e,this.supportsDelayedInstantiation=t}}});var as,ih=w(()=>{as=class{constructor(...r){this._entries=new Map;for(let[e,t]of r)this.set(e,t)}set(r,e){let t=this._entries.get(r);return this._entries.set(r,e),t}has(r){return this._entries.has(r)}get(r){return this._entries.get(r)}}});import{exec as oh}from"child_process";import{totalmem as oA}from"os";function Vu(i){return new Promise((r,e)=>{let t,n=new Map,o=oA();function s(l,c,d,u,f){let m=n.get(c);if(l===i||m){let y={name:a(d),cmd:d,pid:l,ppid:c,load:u,mem:W?f:o*(f/100)};n.set(l,y),l===i&&(t=y),m&&(m.children||(m.children=[]),m.children.push(y),m.children.length>1&&(m.children=m.children.sort((v,b)=>v.pid-b.pid)))}}function a(l){let c=/--utility-sub-type=network/i,d=/--crashes-directory/i,u=/conhost\.exe.+--headless/i,f=/--type=([a-zA-Z-]+)/;if(d.exec(l))return"electron-crash-reporter";if(u.exec(l))return"conpty-agent";let m=f.exec(l);if(m&&m.length===2)return m[1]==="renderer"?"window":m[1]==="utility"?c.exec(l)?"utility-network-service":"utility-process":m[1]==="extensionHost"?"extension-host":m[1];if(l.indexOf("node ")<0&&l.indexOf("node.exe")<0){let y="";do m=sA.exec(l),m&&(y+=m+" ");while(m);if(y)return`electron-nodejs (${y.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(i,d=>{if(!d){e(new Error(`Root process ${i} not found`));return}c.getProcessCpuUsage(d,u=>{let f=new Map;u.forEach(m=>{let y=l(m.commandLine||"");f.set(m.pid,{name:a(y),cmd:y,pid:m.pid,ppid:m.ppid,load:m.cpu||0,mem:m.memory||0})}),t=f.get(i),t?(f.forEach(m=>{let y=f.get(m.ppid);y&&(y.children||(y.children=[]),y.children.push(m))}),f.forEach(m=>{m.children&&(m.children=m.children.sort((y,v)=>y.pid-v.pid))}),r(t)):e(new Error(`Root process ${i} not found`))})},c.ProcessDataFlag.CommandLine|c.ProcessDataFlag.Memory)})}else{let l=function(){let c=[t],d=[];for(;c.length;){let f=c.shift();f&&(d.push(f.pid),f.children&&(c=c.concat(f.children)))}let u=JSON.stringify(st.asFileUri("vs/base/node/cpuUsage.sh").fsPath);u+=" "+d.join(" "),oh(u,{},(f,m,y)=>{if(f||y)e(f||new Error(y.toString()));else{let v=m.toString().split(`
`);for(let b=0;b<d.length;b++){let I=n.get(d[b]);I.load=parseFloat(v[b])}if(!t){e(new Error(`Root process ${i} not found`));return}r(t)}})};oh("which ps",{},(c,d,u)=>{if(c||u)if(process.platform!=="linux")e(c||new Error(u.toString()));else{let f=JSON.stringify(st.asFileUri("vs/base/node/ps.sh").fsPath);oh(f,{},(m,y,v)=>{m||v?e(m||new Error(v.toString())):(dE(y,s),l())})}else{let f=d.toString().trim();oh(`${f} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(y,v,b)=>{y||b&&!b.includes("screen size is bogus")?e(y||new Error(b.toString())):(dE(v,s),process.platform==="linux"?l():t?r(t):e(new Error(`Root process ${i} not found`)))})}})}})}function dE(i,r){let e=/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/,t=i.toString().split(`
`);for(let n of t){let o=e.exec(n.trim());o&&o.length===6&&r(parseInt(o[1]),parseInt(o[2]),o[5],parseFloat(o[3]),parseFloat(o[4]))}}var sA,Rw=w(()=>{qe();te();sA=/[a-zA-Z-]+\.js\b/g});var Nl,uE=w(()=>{Rw();Te();pm();Ly();oe();Yo();Nl=class{constructor(r,e,t){this.logService=r;this.diagnosticsService=e;this.diagnosticsMainService=t}async resolveProcesses(){let r=await this.diagnosticsMainService.getMainDiagnostics(),e=[];for(let n of r.windows)e.push([n.pid,`window [${n.id}] (${n.title})`]);for(let{pid:n,name:o}of ir.getAll())e.push([n,o]);let t=[];try{t.push({name:h(2286,null),rootProcess:await Vu(process.pid)}),(await this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0})).forEach(o=>{gu(o)?t.push({name:o.hostName,rootProcess:o}):o.processes&&t.push({name:o.hostName,rootProcess:o.processes})})}catch(n){this.logService.error(`Listing processes failed: ${n}`)}return{pidToNames:e,processes:t}}async getSystemStatus(){let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!1,includeWorkspaceMetadata:!1})]);return this.diagnosticsService.getDiagnostics(r,e)}async getSystemInfo(){let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!1,includeWorkspaceMetadata:!1})]);return await this.diagnosticsService.getSystemInfo(r,e)}async getPerformanceInfo(){try{let[r,e]=await Promise.all([this.diagnosticsMainService.getMainDiagnostics(),this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0})]);return await this.diagnosticsService.getPerformanceInfo(r,e)}catch(r){throw this.logService.warn("issueService#getPerformanceInfo ",r.message),r}}};Nl=T([g(0,U),g(1,hu),g(2,El)],Nl)});function pE(i){let r=i.getKeyMap(),e=i.getCurrentKeyboardLayout();return{keyboardMapping:r,keyboardLayoutInfo:e}}var Dw,Bl,fE=w(()=>{te();J();$();re();Pt();Dw=M("keyboardLayoutMainService"),Bl=class extends _{constructor(e){super();this._onDidChangeKeyboardLayout=this._register(new S);this.onDidChangeKeyboardLayout=this._onDidChangeKeyboardLayout.event;this._initPromise=null,this._keyboardLayoutData=null,e.when(3).then(()=>this._initialize())}_initialize(){return this._initPromise||(this._initPromise=this._doInitialize()),this._initPromise}async _doInitialize(){let e=await import("native-keymap");this._keyboardLayoutData=pE(e),_b||e.onDidChangeKeyboardLayout(()=>{this._keyboardLayoutData=pE(e),this._onDidChangeKeyboardLayout.fire(this._keyboardLayoutData)})}async getKeyboardLayoutData(){return await this._initialize(),this._keyboardLayoutData}};Bl=T([g(0,ye)],Bl)});var Vl,Lw=w(()=>{re();Vl=M("urlService")});import{app as aA}from"electron";var lA,Aw,Hl,mE=w(()=>{$t();te();le();Zt();at();Al();re();oe();Lw();Dt();tr();lA="launchMainService",Aw=M(lA),Hl=class{constructor(r,e,t,n,o){this.logService=r;this.windowsMainService=e;this.urlService=t;this.configurationService=n;this.productService=o}async start(r,e){this.logService.trace("Received data from other instance: ",r,e),V&&aA.focus({steal:!0});let t=this.parseOpenUrl(r);if(t.length){let n=Promise.resolve();if(this.windowsMainService.getWindowCount()===0){let o=(await this.windowsMainService.openEmptyWindow({context:4})).at(0);o&&(n=o.ready())}n.then(()=>{for(let{uri:o,originalUrl:s}of t)this.urlService.open(o,{originalUrl:s})})}else return this.startOpenWindow(r,e)}parseOpenUrl(r){return r["open-url"]&&r._urls&&r._urls.length>0?lt(r._urls.map(e=>{try{return{uri:E.parse(e),originalUrl:e}}catch{return null}})):[]}async startOpenWindow(r,e){let t=ni(e)?0:4,n=[],o=r.wait&&r.waitMarkerFilePath?E.file(r.waitMarkerFilePath):void 0,s=r.remote||void 0,a={context:t,cli:r,userEnv:r["preserve-env"]||t===0?e:void 0,waitMarkerFileURI:o,remoteAuthority:s,forceProfile:r.profile,forceTempProfile:r["profile-temp"]};if(r.extensionDevelopmentPath)await this.windowsMainService.openExtensionDevelopmentHostWindow(r.extensionDevelopmentPath,a);else if(r.sessions&&this.productService.quality!=="stable")n=await this.windowsMainService.openSessionsWindow({context:t,contextWindowId:void 0});else if(!r._.length&&!r["folder-uri"]&&!r["file-uri"]){let l=!1;if(r["new-window"]||a.forceProfile||a.forceTempProfile)l=!0;else if(r["reuse-window"])l=!1;else switch(this.configurationService.getValue("window")?.openWithoutArgumentsInNewWindow||"default"){case"on":l=!0;break;case"off":l=!1;break;default:l=!V}if(l)n=await this.windowsMainService.open({...a,forceNewWindow:!0,forceEmpty:!0});else{let c=this.windowsMainService.getLastActiveWindow();c?(this.windowsMainService.openExistingWindow(c,a),n=[c]):n=await this.windowsMainService.open({...a,forceEmpty:!0})}}else n=await this.windowsMainService.open({...a,forceNewWindow:r["new-window"],preferNewWindow:!r["reuse-window"]&&!r.wait,forceReuseWindow:r["reuse-window"],diffMode:r.diff,mergeMode:r.merge,addMode:r.add,removeMode:r.remove,noRecentEntry:!!r["skip-add-to-recently-opened"],gotoLineMode:r.goto});if(o&&n.length===1&&n[0])return Promise.race([n[0].whenClosedOrLoaded,t1(o.fsPath)]).then(()=>{},()=>{})}async getMainProcessId(){return this.logService.trace("Received request for process ID from other instance."),process.pid}};Hl=T([g(0,U),g(1,Be),g(2,Vl),g(3,he),g(4,De)],Hl)});function Mw(i){return i.submenu!==void 0}function Ow(i){return i.id==="vscode.menubar.separator"}function Fw(i){return i.uri!==void 0}function hE(i){return!Mw(i)&&!Ow(i)&&!Fw(i)}var gE=w(()=>{});var ae,ls,uo=w(()=>{Le();re();ae={Uninitialized:{type:"uninitialized"},Disabled:i=>({type:"disabled",reason:i}),Idle:(i,r,e)=>({type:"idle",updateType:i,error:r,notAvailable:e}),CheckingForUpdates:i=>({type:"checking for updates",explicit:i}),AvailableForDownload:(i,r)=>({type:"available for download",update:i,canInstall:r}),Downloading:(i,r,e,t,n,o)=>({type:"downloading",update:i,explicit:r,overwrite:e,downloadedBytes:t,totalBytes:n,startTime:o}),Downloaded:(i,r,e)=>({type:"downloaded",update:i,explicit:r,overwrite:e}),Updating:(i,r,e)=>({type:"updating",update:i,currentProgress:r,maxProgress:e}),Ready:(i,r,e)=>({type:"ready",update:i,explicit:r,overwrite:e}),Overwriting:(i,r)=>({type:"overwriting",update:i,explicit:r})},ls=M("updateService")});import{app as ra}from"electron";var cs,wr,Hu=w(()=>{$t();ve();J();Xi();$();qe();te();It();le();Zt();Te();re();Pt();oe();oo();Ri();wm();Cr();Qo();Ar();qs();Rt();cs=M("workspacesHistoryMainService"),wr=class extends _{constructor(e,t,n,o,s,a){super();this.logService=e;this.workspacesManagementMainService=t;this.lifecycleMainService=n;this.applicationStorageMainService=o;this.dialogMainService=s;this.environmentMainService=a;this._onDidChangeRecentlyOpened=this._register(new S);this.onDidChangeRecentlyOpened=this._onDidChangeRecentlyOpened.event;this.macOSRecentDocumentsUpdater=this._register(new Pr(800));this.registerListeners()}static{this.MAX_TOTAL_RECENT_ENTRIES=500}static{this.RECENTLY_OPENED_STORAGE_KEY="history.recentlyOpenedPathsList"}registerListeners(){this.lifecycleMainService.when(4).then(()=>this.handleWindowsJumpList()),this._register(this.workspacesManagementMainService.onDidEnterWorkspace(e=>this.addRecentlyOpened([{workspace:e.workspace,remoteAuthority:e.window.remoteAuthority}])))}async addRecentlyOpened(e){let t=[],n=[];for(let s of e)if(ym(s))!this.workspacesManagementMainService.isUntitledWorkspace(s.workspace)&&!this.containsWorkspace(t,s.workspace)&&t.push(s);else if(wu(s))this.containsFolder(t,s.folderUri)||t.push(s);else{let a=this.containsFile(n,s.fileUri),l=s.fileUri.scheme===F.file&&wr.COMMON_FILES_FILTER.indexOf(Kr(s.fileUri))>=0;!a&&!l&&(n.push(s),W&&s.fileUri.scheme===F.file&&!this.environmentMainService.isPortable&&ra.addRecentDocument(s.fileUri.fsPath))}let o=await this.mergeEntriesFromStorage({workspaces:t,files:n});t=o.workspaces,n=o.files,t.length>wr.MAX_TOTAL_RECENT_ENTRIES&&(t.length=wr.MAX_TOTAL_RECENT_ENTRIES),n.length>wr.MAX_TOTAL_RECENT_ENTRIES&&(n.length=wr.MAX_TOTAL_RECENT_ENTRIES),await this.saveRecentlyOpened({workspaces:t,files:n}),this._onDidChangeRecentlyOpened.fire(),V&&!this.environmentMainService.isPortable&&this.macOSRecentDocumentsUpdater.trigger(()=>this.updateMacOSRecentDocuments())}async removeRecentlyOpened(e){let t=a=>{let l=this.location(a);for(let c of e)if(je.isEqual(c,l))return!1;return!0},n=await this.getRecentlyOpened(),o=n.workspaces.filter(t),s=n.files.filter(t);(o.length!==n.workspaces.length||s.length!==n.files.length)&&(await this.saveRecentlyOpened({files:s,workspaces:o}),this._onDidChangeRecentlyOpened.fire(),V&&!this.environmentMainService.isPortable&&this.macOSRecentDocumentsUpdater.trigger(()=>this.updateMacOSRecentDocuments()))}async clearRecentlyOpened(e){if(e?.confirm){let{response:t}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2803,null),h(2802,null)],message:h(2805,null),detail:h(2804,null),cancelId:1});if(t!==0)return}await this.saveRecentlyOpened({workspaces:[],files:[]}),this.environmentMainService.isPortable||ra.clearRecentDocuments(),this._onDidChangeRecentlyOpened.fire()}async getRecentlyOpened(){return this.mergeEntriesFromStorage()}async mergeEntriesFromStorage(e){let t=new ht(s=>je.getComparisonKey(s));if(e?.workspaces)for(let s of e.workspaces)t.set(this.location(s),s);let n=new ht(s=>je.getComparisonKey(s));if(e?.files)for(let s of e.files)n.set(this.location(s),s);let o=await this.getRecentlyOpenedFromStorage();for(let s of o.workspaces){let a=t.get(this.location(s));a?a.label=a.label??s.label:t.set(this.location(s),s)}for(let s of o.files){let a=n.get(this.location(s));a?a.label=a.label??s.label:n.set(this.location(s),s)}return{workspaces:[...t.values()],files:[...n.values()]}}async getRecentlyOpenedFromStorage(){await this.applicationStorageMainService.whenReady;let e,t=this.applicationStorageMainService.get(wr.RECENTLY_OPENED_STORAGE_KEY,-1);if(typeof t=="string")try{e=JSON.parse(t)}catch(n){this.logService.error("Unexpected error parsing opened paths list",n)}return wP(e,this.logService)}async saveRecentlyOpened(e){await this.applicationStorageMainService.whenReady,this.applicationStorageMainService.store(wr.RECENTLY_OPENED_STORAGE_KEY,JSON.stringify(IP(e)),-1,1)}location(e){return wu(e)?e.folderUri:fP(e)?e.fileUri:e.workspace.configPath}containsWorkspace(e,t){return!!e.find(n=>ym(n)&&n.workspace.id===t.id)}containsFolder(e,t){return!!e.find(n=>wu(n)&&je.isEqual(n.folderUri,t))}containsFile(e,t){return!!e.find(n=>je.isEqual(n.fileUri,t))}static{this.MAX_MACOS_DOCK_RECENT_WORKSPACES=7}static{this.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL=10}static{this.MAX_WINDOWS_JUMP_LIST_ENTRIES=7}static{this.COMMON_FILES_FILTER=["COMMIT_EDITMSG","MERGE_MSG","git-rebase-todo"]}async handleWindowsJumpList(){W&&(this.environmentMainService.isPortable||(await this.updateWindowsJumpList(),this._register(this.onDidChangeRecentlyOpened(()=>this.updateWindowsJumpList()))))}async updateWindowsJumpList(){if(!W)return;let e=[];if(e.push({type:"tasks",items:[{type:"task",title:h(2806,null),description:h(2807,null),program:process.execPath,args:"-n",iconPath:process.execPath,iconIndex:0}]}),(await this.getRecentlyOpened()).workspaces.length>0){let t=[];for(let s of ra.getJumpListSettings().removedItems){let a=s.args;if(a){let l=/^--(folder|file)-uri\s+"([^"]+)"$/.exec(a);l&&t.push(E.parse(l[2]))}}await this.removeRecentlyOpened(t);let n=!1,o=lt((await this.getRecentlyOpened()).workspaces.slice(0,wr.MAX_WINDOWS_JUMP_LIST_ENTRIES).map(s=>{let a=ym(s)?s.workspace:s.folderUri,{title:l,description:c}=this.getWindowsJumpListLabel(a,s.label),d;return E.isUri(a)?d=`--folder-uri "${a.toString()}"`:(n=!0,d=`--file-uri "${a.configPath.toString()}"`),{type:"task",title:l.substr(0,255),description:c.substr(0,255),program:process.execPath,args:d,iconPath:"explorer.exe",iconIndex:0}}));o.length>0&&e.push({type:"custom",name:n?h(2809,null):h(2808,null),items:o})}e.push({type:"recent"});try{let t=ra.setJumpList(e);t&&t!=="ok"&&this.logService.warn(`updateWindowsJumpList#setJumpList unexpected result: ${t}`)}catch(t){this.logService.warn("updateWindowsJumpList#setJumpList",t)}}getWindowsJumpListLabel(e,t){if(t)return{title:_1(t).name,description:t};if(E.isUri(e))return{title:Kr(e),description:this.renderJumpListPathDescription(e)};if(this.workspacesManagementMainService.isUntitledWorkspace(e))return{title:h(2810,null),description:""};let n=Kr(e.configPath);return n.endsWith(tu)&&(n=n.substr(0,n.length-tu.length-1)),{title:h(2811,null,n),description:this.renderJumpListPathDescription(e.configPath)}}renderJumpListPathDescription(e){return e.scheme==="file"?wd(e.fsPath):e.toString()}async updateMacOSRecentDocuments(){if(!V)return;ra.clearRecentDocuments();let e=await this.getRecentlyOpened(),t=[],n=0;for(let s=0;s<e.workspaces.length&&n<wr.MAX_MACOS_DOCK_RECENT_WORKSPACES;s++){let a=this.location(e.workspaces[s]);if(a.scheme===F.file){let l=mr(a);await Q.exists(l)&&(t.push(l),n++)}}let o=[];for(let s=0;s<e.files.length&&n<wr.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL;s++){let a=this.location(e.files[s]);if(a.scheme===F.file){let l=mr(a);if(wr.COMMON_FILES_FILTER.includes(Kr(a))||t.includes(l))continue;await Q.exists(l)&&(o.push(l),n++)}}o.reverse().forEach(s=>ra.addRecentDocument(s)),t.reverse().forEach(s=>ra.addRecentDocument(s))}};wr=T([g(0,U),g(1,hn),g(2,ye),g(3,yr),g(4,xn),g(5,Ce)],wr)});import{app as cA,BrowserWindow as sh,Menu as jt,MenuItem as Qe}from"electron";function po(){return new Qe({type:"separator"})}var ah,fo,vE=w(()=>{ve();wt();Xi();te();le();Te();Ks();at();Rt();Pt();oe();gE();kl();tr();Sn();rr();uo();$o();Dt();Hu();$();ah="menu",fo=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.updateService=e;this.configurationService=t;this.windowsMainService=n;this.environmentMainService=o;this.telemetryService=s;this.workspacesHistoryMainService=a;this.stateService=l;this.lifecycleMainService=c;this.logService=d;this.nativeHostMainService=u;this.productService=f;this.auxiliaryWindowsMainService=m;this.fallbackMenuHandlers=Object.create(null);this.menuUpdater=this._register(new hr(()=>this.doUpdateMenu(),0)),this.menuGC=this._register(new hr(()=>{this.oldMenus=[]},1e4)),this.menubarMenus=Object.create(null),this.keybindings=Object.create(null),this.showNativeMenu=ty(t),(V||this.showNativeMenu)&&this.restoreCachedMenubarData(),this.addFallbackHandlers(),this.closedLastWindow=!1,this.noActiveMainWindow=!1,this.oldMenus=[],this.install(),this.registerListeners()}static{this.lastKnownMenubarStorageKey="lastKnownMenubarData"}restoreCachedMenubarData(){let e=this.stateService.getItem(fo.lastKnownMenubarStorageKey);e&&(e.menus&&(this.menubarMenus=e.menus),e.keybindings&&(this.keybindings=e.keybindings))}addFallbackHandlers(){this.fallbackMenuHandlers["workbench.action.files.newUntitledFile"]=(a,l,c)=>{this.runActionInRenderer({type:"commandId",commandId:"workbench.action.files.newUntitledFile"})||this.windowsMainService.openEmptyWindow({context:2,contextWindowId:l?.id})},this.fallbackMenuHandlers["workbench.action.newWindow"]=(a,l,c)=>this.windowsMainService.openEmptyWindow({context:2,contextWindowId:l?.id}),this.fallbackMenuHandlers["workbench.action.files.openFileFolder"]=(a,l,c)=>this.nativeHostMainService.pickFileFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:ah}}),this.fallbackMenuHandlers["workbench.action.files.openFolder"]=(a,l,c)=>this.nativeHostMainService.pickFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:ah}}),this.fallbackMenuHandlers["workbench.action.openWorkspace"]=(a,l,c)=>this.nativeHostMainService.pickWorkspaceAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:ah}}),this.fallbackMenuHandlers["workbench.action.clearRecentFiles"]=()=>this.workspacesHistoryMainService.clearRecentlyOpened({confirm:!0});let e=this.productService.youTubeUrl;e&&(this.fallbackMenuHandlers["workbench.action.openYouTubeUrl"]=()=>this.openUrl(e,"openYouTubeUrl"));let t=this.productService.requestFeatureUrl;t&&(this.fallbackMenuHandlers["workbench.action.openRequestFeatureUrl"]=()=>this.openUrl(t,"openUserVoiceUrl"));let n=this.productService.reportIssueUrl;n&&(this.fallbackMenuHandlers["workbench.action.openIssueReporter"]=()=>this.openUrl(n,"openReportIssues"));let o=this.productService.licenseUrl;o&&(this.fallbackMenuHandlers["workbench.action.openLicenseUrl"]=()=>{if(yn){let a=o.indexOf("?")>0?"&":"?";this.openUrl(`${o}${a}lang=${yn}`,"openLicenseUrl")}else this.openUrl(o,"openLicenseUrl")});let s=this.productService.privacyStatementUrl;s&&o&&(this.fallbackMenuHandlers["workbench.action.openPrivacyStatementUrl"]=()=>{this.openUrl(s,"openPrivacyStatement")})}registerListeners(){this._register(this.lifecycleMainService.onWillShutdown(()=>this.willShutdown=!0)),this._register(this.windowsMainService.onDidChangeWindowsCount(e=>this.onDidChangeWindowsCount(e))),this._register(this.nativeHostMainService.onDidBlurMainWindow(()=>this.onDidChangeWindowFocus())),this._register(this.nativeHostMainService.onDidFocusMainWindow(()=>this.onDidChangeWindowFocus()))}get currentEnableMenuBarMnemonics(){let e=this.configurationService.getValue("window.enableMenuBarMnemonics");return typeof e!="boolean"?!0:e}get currentEnableNativeTabs(){if(!V)return!1;let e=this.configurationService.getValue("window.nativeTabs");return typeof e!="boolean"?!1:e}updateMenu(e,t){this.menubarMenus=e.menus,this.keybindings=e.keybindings,this.stateService.setItem(fo.lastKnownMenubarStorageKey,e),this.scheduleUpdateMenu()}scheduleUpdateMenu(){this.menuUpdater.schedule()}doUpdateMenu(){this.willShutdown||setTimeout(()=>{this.willShutdown||this.install()},10)}onDidChangeWindowsCount(e){V&&(e.oldCount===0&&e.newCount>0||e.oldCount>0&&e.newCount===0)&&(this.closedLastWindow=e.newCount===0,this.scheduleUpdateMenu())}onDidChangeWindowFocus(){if(!V)return;let e=sh.getFocusedWindow();this.noActiveMainWindow=!e||!!this.auxiliaryWindowsMainService.getWindowByWebContents(e.webContents),this.scheduleUpdateMenu()}install(){let e=jt.getApplicationMenu();if(e&&this.oldMenus.push(e),Object.keys(this.menubarMenus).length===0){this.doSetApplicationMenu(V?new jt:null);return}let t=new jt,n;if(V){let s=new jt;n=new Qe({label:this.productService.nameShort,submenu:s}),this.setMacApplicationMenu(s),t.append(n)}if(V&&!this.appMenuInstalled){this.appMenuInstalled=!0;let s=new jt;s.append(new Qe({label:this.mnemonicLabel(h(2243,null)),click:()=>this.windowsMainService.openEmptyWindow({context:1})})),cA.dock.setMenu(s)}if(this.shouldDrawMenu("File")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2232,null)),submenu:s});this.setMenuById(s,"File"),t.append(a)}if(this.shouldDrawMenu("Edit")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2231,null)),submenu:s});this.setMenuById(s,"Edit"),t.append(a)}if(this.shouldDrawMenu("Selection")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2253,null)),submenu:s});this.setMenuById(s,"Selection"),t.append(a)}if(this.shouldDrawMenu("View")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2259,null)),submenu:s});this.setMenuById(s,"View"),t.append(a)}if(this.shouldDrawMenu("Go")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2233,null)),submenu:s});this.setMenuById(s,"Go"),t.append(a)}if(this.shouldDrawMenu("Run")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2252,null)),submenu:s});this.setMenuById(s,"Run"),t.append(a)}if(this.shouldDrawMenu("Terminal")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2258,null)),submenu:s});this.setMenuById(s,"Terminal"),t.append(a)}let o;if(this.shouldDrawMenu("Window")){let s=new jt;o=new Qe({label:this.mnemonicLabel(h(2260,null)),submenu:s,role:"window"}),this.setMacWindowMenu(s)}if(o&&t.append(o),this.shouldDrawMenu("Help")){let s=new jt,a=new Qe({label:this.mnemonicLabel(h(2234,null)),submenu:s,role:"help"});this.setMenuById(s,"Help"),t.append(a)}t.items&&t.items.length>0?this.doSetApplicationMenu(t):this.doSetApplicationMenu(null),this.menuGC.schedule()}doSetApplicationMenu(e){if(jt.setApplicationMenu(e),e)for(let t of this.auxiliaryWindowsMainService.getWindows())t.win?.setMenu(null)}setMacApplicationMenu(e){let t=this.createMenuItem(h(2229,null,this.productService.nameLong),"workbench.action.showAboutDialog"),n=this.getUpdateMenuItems(),o;if(this.shouldDrawMenu("Preferences")){let m=new jt;this.setMenuById(m,"Preferences"),o=new Qe({label:this.mnemonicLabel(h(2244,null)),submenu:m})}let s=new jt,a=new Qe({label:h(2254,null),role:"services",submenu:s}),l=new Qe({label:h(2235,null,this.productService.nameLong),role:"hide",accelerator:"Command+H"}),c=new Qe({label:h(2236,null),role:"hideOthers",accelerator:"Command+Alt+H"}),d=new Qe({label:h(2255,null),role:"unhide"}),u=new Qe(this.likeAction("workbench.action.quit",{label:h(2245,null,this.productService.nameLong),click:async(m,y,v)=>{let b=this.windowsMainService.getLastActiveWindow();(this.windowsMainService.getWindowCount()===0||sh.getFocusedWindow()||b?.win?.isMinimized())&&await this.confirmBeforeQuit(v)&&this.nativeHostMainService.quit(void 0)}})),f=[t];f.push(...n),o&&f.push(po(),o),f.push(po(),a,po(),l,c,d,po(),u),f.forEach(m=>e.append(m))}async confirmBeforeQuit(e){if(this.windowsMainService.getWindowCount()===0)return!0;let t=this.configurationService.getValue("window.confirmBeforeClose");if(t==="always"||t==="keyboardOnly"&&this.isKeyboardEvent(e)){let{response:n}=await this.nativeHostMainService.showMessageBox(this.windowsMainService.getFocusedWindow()?.id,{type:"question",buttons:[V?h(2262,null):h(2228,null),h(2227,null)],message:V?h(2264,null):h(2263,null)});return n===0}return!0}shouldDrawMenu(e){if(!V&&!this.showNativeMenu)return!1;switch(e){case"File":case"Help":if(V)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus&&!!this.menubarMenus[e];case"Window":if(V)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus;default:return this.windowsMainService.getWindowCount()>0&&!!this.menubarMenus&&!!this.menubarMenus[e]}}setMenu(e,t){t.forEach(n=>{if(Ow(n))e.append(po());else if(Mw(n)){let o=new jt,s=new Qe({label:this.mnemonicLabel(n.label),submenu:o});this.setMenu(o,n.submenu.items),e.append(s)}else Fw(n)?e.append(this.createOpenRecentMenuItem(n)):hE(n)&&(n.id==="workbench.action.showAboutDialog"&&this.insertCheckForUpdatesItems(e),V?this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow?this.fallbackMenuHandlers[n.id]?e.append(new Qe(this.likeAction(n.id,{label:this.mnemonicLabel(n.label),click:this.fallbackMenuHandlers[n.id]}))):e.append(this.createMenuItem(n.label,n.id,!1,n.checked)):e.append(this.createMenuItem(n.label,n.id,n.enabled!==!1,!!n.checked)):e.append(this.createMenuItem(n.label,n.id,n.enabled!==!1,!!n.checked)))})}setMenuById(e,t){this.menubarMenus?.[t]&&this.setMenu(e,this.menubarMenus[t].items)}insertCheckForUpdatesItems(e){let t=this.getUpdateMenuItems();t.length&&(t.forEach(n=>e.append(n)),e.append(po()))}createOpenRecentMenuItem(e){let t=E.revive(e.uri),n=e.id,o=n==="openRecentFile"?{fileUri:t}:n==="openRecentWorkspace"?{workspaceUri:t}:{folderUri:t};return new Qe(this.likeAction(n,{label:e.label,click:async(s,a,l)=>{let c=this.isOptionClick(l);(await this.windowsMainService.open({context:2,cli:this.environmentMainService.args,urisToOpen:[o],forceNewWindow:c,gotoLineMode:!1,remoteAuthority:e.remoteAuthority})).length>0||await this.workspacesHistoryMainService.removeRecentlyOpened([t])}},!1))}isOptionClick(e){return!!(e&&(!V&&(e.ctrlKey||e.shiftKey)||V&&(e.metaKey||e.altKey)))}isKeyboardEvent(e){return!!(e.triggeredByAccelerator||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)}createRoleMenuItem(e,t,n){let o={label:this.mnemonicLabel(e),role:n,enabled:!0};return new Qe(this.withKeybinding(t,o))}setMacWindowMenu(e){let t=new Qe({label:h(2249,null),role:"minimize",accelerator:"Command+M",enabled:this.windowsMainService.getWindowCount()>0}),n=new Qe({label:h(2261,null),role:"zoom",enabled:this.windowsMainService.getWindowCount()>0}),o=new Qe({label:h(2230,null),role:"front",enabled:this.windowsMainService.getWindowCount()>0}),s=this.createMenuItem(h(2247,null),"workbench.action.switchWindow"),a=[];this.currentEnableNativeTabs&&(a.push(po()),a.push(this.createMenuItem(h(2251,null),"workbench.action.newWindowTab")),a.push(this.createRoleMenuItem(h(2257,null),"workbench.action.showPreviousWindowTab","selectPreviousTab")),a.push(this.createRoleMenuItem(h(2256,null),"workbench.action.showNextWindowTab","selectNextTab")),a.push(this.createRoleMenuItem(h(2250,null),"workbench.action.moveWindowTabToNewWindow","moveTabToNewWindow")),a.push(this.createRoleMenuItem(h(2248,null),"workbench.action.mergeAllWindowTabs","mergeAllWindows"))),[t,n,po(),s,...a,po(),o].forEach(l=>e.append(l))}getUpdateMenuItems(){switch(this.updateService.state.type){case"idle":return[new Qe({label:this.mnemonicLabel(h(2237,null)),click:()=>setTimeout(()=>{this.reportMenuActionTelemetry("CheckForUpdate"),this.updateService.checkForUpdates(!0)},0)})];case"checking for updates":return[new Qe({label:h(2238,null),enabled:!1})];case"available for download":return[new Qe({label:this.mnemonicLabel(h(2240,null)),click:()=>{this.updateService.downloadUpdate(!0)}})];case"downloading":case"overwriting":return[new Qe({label:h(2239,null),enabled:!1})];case"downloaded":return V?[]:[new Qe({label:this.mnemonicLabel(h(2242,null)),click:()=>{this.reportMenuActionTelemetry("InstallUpdate"),this.updateService.applyUpdate()}})];case"updating":return[new Qe({label:h(2241,null),enabled:!1})];case"ready":return[new Qe({label:this.mnemonicLabel(h(2246,null)),click:()=>{this.reportMenuActionTelemetry("RestartToUpdate"),this.updateService.quitAndInstall()}})];default:return[]}}createMenuItem(e,t,n,o){let s=this.mnemonicLabel(e),a=(u,f,m)=>{let y=u?u.userSettingsLabel:null;y&&m.triggeredByAccelerator?this.runActionInRenderer({type:"keybinding",userSettingsLabel:y}):this.runActionInRenderer({type:"commandId",commandId:t})},l=typeof n=="boolean"?n:this.windowsMainService.getWindowCount()>0,c=typeof o=="boolean"?o:!1,d={label:s,click:a,enabled:l};return c&&(d.type="checkbox",d.checked=c),V&&(t==="editor.action.clipboardCutAction"?d.role="cut":t==="editor.action.clipboardCopyAction"?d.role="copy":t==="editor.action.clipboardPasteAction"&&(d.role="paste"),t==="undo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.undo(),inNoWindow:()=>jt.sendActionToFirstResponder("undo:")}):t==="redo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.redo(),inNoWindow:()=>jt.sendActionToFirstResponder("redo:")}):t==="editor.action.selectAll"&&(d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.selectAll(),inNoWindow:()=>jt.sendActionToFirstResponder("selectAll:")}))),new Qe(this.withKeybinding(t,d))}makeContextAwareClickHandler(e,t){return(n,o,s)=>{let a=sh.getFocusedWindow();if(!a)return t.inNoWindow();if(a.webContents.isDevToolsFocused()&&a.webContents.devToolsWebContents)return t.inDevTools(a.webContents.devToolsWebContents);if(!a.webContents.isFocused())return t.inNoWindow();e(n,o||a,s)}}runActionInRenderer(e){let t=sh.getFocusedWindow();if(t){let o=this.auxiliaryWindowsMainService.getWindowByWebContents(t.webContents);o&&(t=this.windowsMainService.getWindowById(o.parentId)?.win??null)}if(!t){let o=this.windowsMainService.getLastActiveWindow();o?.win?.isMinimized()&&(t=o.win)}let n=t?this.windowsMainService.getWindowById(t.id):void 0;if(n){if(this.logService.trace("menubar#runActionInRenderer",e),V&&!this.environmentMainService.isBuilt&&!n.isReady&&(e.type==="commandId"&&e.commandId==="workbench.action.toggleDevTools"||e.type!=="commandId"&&e.userSettingsLabel==="alt+cmd+i"))return!1;if(e.type==="commandId"){let o={id:e.commandId,from:"menu"};n.sendWhenReady("vscode:runAction",Se.None,o)}else{let o={userSettingsLabel:e.userSettingsLabel};n.sendWhenReady("vscode:runKeybinding",Se.None,o)}return!0}else return this.logService.trace("menubar#runActionInRenderer: no active window found",e),!1}withKeybinding(e,t){let n=typeof e=="string"?this.keybindings[e]:void 0;if(n?.label){if(n.isNative!==!1)t.accelerator=n.label,t.userSettingsLabel=n.userSettingsLabel;else if(typeof t.label=="string"){let o=t.label.indexOf("[");o>=0?t.label=`${t.label.substr(0,o)} [${n.label}]`:t.label=`${t.label} [${n.label}]`}}else t.accelerator=void 0;return t}likeAction(e,t,n=!t.accelerator){n&&(t=this.withKeybinding(e,t));let o=t.click;return t.click=(s,a,l)=>{this.reportMenuActionTelemetry(e),o?.(s,a,l)},t}openUrl(e,t){this.nativeHostMainService.openExternal(void 0,e),this.reportMenuActionTelemetry(t)}reportMenuActionTelemetry(e){this.telemetryService.publicLog2("workbenchActionExecuted",{id:e,from:ah})}mnemonicLabel(e){return C1(e,!this.currentEnableMenuBarMnemonics)}};fo=T([g(0,ls),g(1,he),g(2,Be),g(3,Ce),g(4,Ge),g(5,cs),g(6,kt),g(7,ye),g(8,U),g(9,Wn),g(10,De),g(11,Pn)],fo)});var Ww,$l,yE=w(()=>{re();Pt();oe();vE();$();Ww=M("menubarMainService"),$l=class extends _{constructor(e,t,n){super();this.instantiationService=e;this.lifecycleMainService=t;this.logService=n;this.menubar=this.installMenuBarAfterWindowOpen()}async installMenuBarAfterWindowOpen(){return await this.lifecycleMainService.when(3),this._register(this.instantiationService.createInstance(fo))}async updateMenubar(e,t){this.logService.trace("menubarService#updateMenubar",e),(await this.menubar).updateMenu(t,e)}};$l=T([g(0,Wt),g(1,ye),g(2,U)],$l)});var Xr,Uw,ch,ds=w(()=>{J();$();re();Xr=M("meteredConnectionService"),Uw="network.meteredConnection",ch=class extends _{constructor(e,t){super();this._onDidChangeIsConnectionMetered=this._register(new S);this.onDidChangeIsConnectionMetered=this._onDidChangeIsConnectionMetered.event;this._isBrowserConnectionMetered=t,this._meteredConnectionSetting=e.getValue(Uw),this._isConnectionMetered=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered,this._register(e.onDidChangeConfiguration(n=>{if(n.affectsConfiguration(Uw)){let o=e.getValue(Uw);o!==this._meteredConnectionSetting&&(this._meteredConnectionSetting=o,this.onUpdated())}}))}get isConnectionMetered(){return this._isConnectionMetered}get isBrowserConnectionMetered(){return this._isBrowserConnectionMetered}setIsBrowserConnectionMetered(e){e!==this._isBrowserConnectionMetered&&(this._isBrowserConnectionMetered=e,this.onChangeBrowserConnection())}onChangeBrowserConnection(){this.onUpdated()}onUpdated(){let e=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered;e!==this._isConnectionMetered&&(this._isConnectionMetered=e,this.onChangeIsConnectionMetered())}onChangeIsConnectionMetered(){this._onDidChangeIsConnectionMetered.fire(this._isConnectionMetered)}}});var Nw,Bw=w(()=>{J();$();Nw="meteredConnection"});var dh,wE=w(()=>{Bw();dh=class{constructor(r){this.service=r}listen(r,e){if(e==="OnDidChangeIsConnectionMetered")return this.service.onDidChangeIsConnectionMetered;throw new Error(`Event not found: ${e}`)}async call(r,e,t){switch(e){case"IsConnectionMetered":return this.service.isConnectionMetered;case"SetIsBrowserConnectionMetered":this.service.setIsBrowserConnectionMetered(t);break;default:throw new Error(`Call not found: ${e}`)}}}});var ql,IE=w(()=>{at();ds();ql=class extends ch{constructor(r){super(r,!1)}setTelemetryService(r){this.telemetryService=r}onChangeBrowserConnection(){let r=this.isBrowserConnectionMetered;r||super.onChangeBrowserConnection(),this.telemetryService?.publicLog2("meteredConnectionStateChange",{connectionState:this.isBrowserConnectionMetered}),r&&super.onChangeBrowserConnection()}};ql=T([g(0,he)],ql)});var Un,na,Kl,oi=w(()=>{J();Zc();$();re();Un=M("policy"),na=class extends _{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this._onDidChange=this._register(new S);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let t=Object.keys(this.policyDefinitions).length;return this.policyDefinitions={...e,...this.policyDefinitions},t!==Object.keys(this.policyDefinitions).length&&await this._updatePolicyDefinitions(this.policyDefinitions),hi.reduce(this.policies.entries(),(n,[o,s])=>({...n,[o]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return hi.reduce(Object.entries(this.policyDefinitions),(e,[t,n])=>({...e,[t]:{definition:n,value:this.policies.get(t)}}),{})}},Kl=class{constructor(){this.onDidChange=x.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}serialize(){}}});async function dA(i,r,e,t,n){try{let o=await import("@vscode/spdlog");o.setFlushOn(0);let s=await o.createAsyncRotatingLogger(i,r,e,t);return n?s.clearFormatters():s.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"),s}catch(o){console.error(o)}return null}function bE(i,r,e){switch(r){case 1:i.trace(e);break;case 2:i.debug(e);break;case 3:i.info(e);break;case 4:i.warn(e);break;case 5:i.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${r}`)}}function SE(i,r){switch(r){case 1:i.setLevel(0);break;case 2:i.setLevel(1);break;case 3:i.setLevel(2);break;case 4:i.setLevel(3);break;case 5:i.setLevel(4);break;case 0:i.setLevel(6);break;default:throw new Error(`Invalid log level ${r}`)}}var uh,xE=w(()=>{Ke();oe();uh=class extends Ws{constructor(e,t,n,o,s){super();this.buffer=[];this.setLevel(s),this._loggerCreationPromise=this._createSpdLogLogger(e,t,n,o),this._register(this.onDidChangeLogLevel(a=>{this._logger&&SE(this._logger,a)}))}async _createSpdLogLogger(e,t,n,o){let s=n?6:1,a=30/s*xi.MB,l=await dA(e,t,a,s,o);if(l){this._logger=l,SE(this._logger,this.getLevel());for(let{level:c,message:d}of this.buffer)bE(this._logger,c,d);this.buffer=[]}}log(e,t){this._logger?bE(this._logger,e,t):this.getLevel()<=e&&this.buffer.push({level:e,message:t})}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 ph,PE=w(()=>{er();oe();xE();ph=class extends Jd{doCreateLogger(r,e,t){return new uh(ke(),r.fsPath,!t?.donotRotate,!!t?.donotUseFormatters,e)}}});var si,fh,zl=w(()=>{Ar();J();re();oe();PE();si=pn,fh=class extends ph{constructor(){super(...arguments);this.loggerResourcesByWindow=new ht}createLogger(e,t,n){n!==void 0&&this.loggerResourcesByWindow.set(this.toResource(e),n);try{return super.createLogger(e,t)}catch(o){throw this.loggerResourcesByWindow.delete(this.toResource(e)),o}}registerLogger(e,t){t!==void 0&&this.loggerResourcesByWindow.set(e.resource,t),super.registerLogger(e)}deregisterLogger(e){this.loggerResourcesByWindow.delete(e),super.deregisterLogger(e)}getGlobalLoggers(){let e=[];for(let t of super.getRegisteredLoggers())this.loggerResourcesByWindow.has(t.resource)||e.push(t);return e}getOnDidChangeLogLevelEvent(e){return x.filter(this.onDidChangeLogLevel,t=>Qd(t)||this.isInterestedLoggerResource(t[0],e))}getOnDidChangeVisibilityEvent(e){return x.filter(this.onDidChangeVisibility,([t])=>this.isInterestedLoggerResource(t,e))}getOnDidChangeLoggersEvent(e){return x.filter(x.map(this.onDidChangeLoggers,t=>({added:[...t.added].filter(o=>this.isInterestedLoggerResource(o.resource,e)),removed:[...t.removed].filter(o=>this.isInterestedLoggerResource(o.resource,e))})),t=>t.added.length>0||t.removed.length>0)}deregisterLoggers(e){for(let[t,n]of this.loggerResourcesByWindow)n===e&&this.deregisterLogger(t)}isInterestedLoggerResource(e,t){let n=this.loggerResourcesByWindow.get(e);return n===void 0||n===t}dispose(){super.dispose(),this.loggerResourcesByWindow.clear()}}});function uA(i){if(Bi===2&&/^penguin(\.|$)/i.test(i))return"chromebook"}function EE(i,r,e,t,n,o,s,a,l,c,d){let u=Object.create(null);u["common.machineId"]=o,u["common.sqmId"]=s,u["common.devDeviceId"]=a,u.sessionID=ke()+Date.now(),u.commitHash=t,u.version=n,u["common.releaseDate"]=c,u["common.platformVersion"]=(i||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),u["common.platform"]=Ip(Bi),u["common.nodePlatform"]=xp,u["common.nodeArch"]=e,u["common.product"]=d||"desktop",l&&(u["common.msftInternal"]=l);let f=0,m=Date.now();Object.defineProperties(u,{timestamp:{get:()=>new Date,enumerable:!0},"common.timesincesessionstart":{get:()=>Date.now()-m,enumerable:!0},"common.sequence":{get:()=>f++,enumerable:!0}}),bp&&(u["common.snap"]="true");let y=uA(r);return y&&(u["common.platformDetail"]=y),u}function TE(i){let r=or.USERDNSDOMAIN;if(!r)return!1;let e=r.toLowerCase();return i.some(t=>e===t)}var Vw=w(()=>{te();$n();er()});function hh(i,r){return!r.isBuilt&&!r.disableTelemetry?!0:!(r.disableTelemetry||!i.enableTelemetry)}function jl(i){let r=i.getValue(cl),e=i.getValue(em);if(i.getValue(su)===!1||e===!1)return 0;switch(r??"all"){case"all":return 3;case"error":return 2;case"crash":return 1;case"off":return 0}}function CE(i,r){let e=i.msftInternalDomains||[],t=r.getValue("telemetry.internalTesting");return TE(e)||t}function _E(i){return[i.appRoot,i.extensionsPath,i.userHome.fsPath,i.tmpDir.fsPath,i.userDataPath]}function hA(i,r){if(!i||!i.includes("/")&&!i.includes("\\"))return i;let e=i,t=[];for(let l of r)for(;;){let c=l.exec(i);if(!c)break;t.push([c.index,l.lastIndex])}let n=/(?:^|[\\\/])((node_modules|node_modules\.asar)[\\\/].*)$/,o=/^(.*?)((?:\.vscode(?:-[a-z]+)*|resources[\\\/]app)[\\\/]extensions[\\\/].*)$/i,s=/(file:\/\/)?([a-zA-Z]:(\\\\|\\|\/)|(\\\\|\\|\/))?([\w\-\._@]+(\\\\|\\|\/))+[\w\-\._@]*/g,a=0;for(e="";;){let l=s.exec(i);if(!l)break;if(!t.some(([d,u])=>l.index<u&&d<s.lastIndex)){let d=o.exec(l[0]);if(d)e+=i.substring(a,l.index)+"<REDACTED: user-file-path>/"+d[2];else{let u=n.exec(l[0]);u?e+=i.substring(a,l.index)+"<REDACTED: user-file-path>/"+u[1]:e+=i.substring(a,l.index)+"<REDACTED: user-file-path>"}a=s.lastIndex}}return a<i.length&&(e+=i.substr(a)),e}function gA(i){if(!i)return i;let r=[{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,}/}];for(let e of r)if(e.regex.test(i))return`<REDACTED: ${e.label}>`;return i}function kE(i,r){return i?sP(i,e=>{if(e instanceof mh||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let t=e.replaceAll("%20"," ");t=hA(t,r);for(let n of r)t=t.replace(n,"");return t=gA(t),t}}):{}}var mh,Hw,Ai,mA,Fre,mo=w(()=>{mn();Le();Te();Sl();Vw();rr();mh=class{constructor(r){this.value=r;this.isTrustedTelemetryValue=!0}},Hw=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(){}},Ai=new Hw,mA="telemetry",Fre={id:mA,name:h(2372,null)}});var gh,qw,Kw,RE=w(()=>{gh={exit:"vscode:electron-main->shared-process=exit",ipcReady:"vscode:shared-process->electron-main=ipc-ready",initDone:"vscode:shared-process->electron-main=init-done"},qw={request:"vscode:createSharedProcessChannelConnection",response:"vscode:createSharedProcessChannelConnectionResult"},Kw={request:"vscode:createSharedProcessRawConnection",response:"vscode:createSharedProcessRawConnectionResult"}});var Gl,DE=w(()=>{Dn();ve();$();Rt();Pt();oe();ti();oi();zl();Yo();mo();Nd();Le();RE();J();Gl=class extends _{constructor(e,t,n,o,s,a,l,c,d){super();this.machineId=e;this.sqmId=t;this.devDeviceId=n;this.environmentMainService=o;this.userDataProfilesService=s;this.lifecycleMainService=a;this.logService=l;this.loggerMainService=c;this.policyService=d;this.firstWindowConnectionBarrier=new vi;this.utilityProcess=void 0;this.utilityProcessLogListener=void 0;this._onDidCrash=this._register(new S);this.onDidCrash=this._onDidCrash.event;this._whenReady=void 0;this._whenIpcReady=void 0;this.registerListeners()}registerListeners(){et.on(qw.request,(e,t)=>this.onWindowConnection(e,t,qw.response)),et.on(Kw.request,(e,t)=>this.onWindowConnection(e,t,Kw.response)),this._register(this.lifecycleMainService.onWillShutdown(()=>this.onWillShutdown()))}async onWindowConnection(e,t,n){this.logService.trace(`[SharedProcess] onWindowConnection for: ${n}`),this.firstWindowConnectionBarrier.isOpen()||this.firstWindowConnectionBarrier.open(),await this.whenReady();let o=await this.connect(n);if(e.sender.isDestroyed())return o.close();e.sender.postMessage(n,t,[o])}onWillShutdown(){this.logService.trace("[SharedProcess] onWillShutdown"),this.utilityProcess?.postMessage(gh.exit),this.utilityProcess=void 0}whenReady(){return this._whenReady||(this._whenReady=(async()=>{await this.whenIpcReady;let e=new Kt;this.utilityProcess?.once(gh.initDone,()=>e.complete()),await e.p,this.utilityProcessLogListener?.dispose(),this.logService.trace("[SharedProcess] Overall ready")})()),this._whenReady}get whenIpcReady(){return this._whenIpcReady||(this._whenIpcReady=(async()=>{await this.firstWindowConnectionBarrier.wait(),this.createUtilityProcess();let e=new Kt;this.utilityProcess?.once(gh.ipcReady,()=>e.complete()),await e.p,this.logService.trace("[SharedProcess] IPC ready")})()),this._whenIpcReady}createUtilityProcess(){this.utilityProcess=this._register(new ir(this.logService,Ai,this.lifecycleMainService)),this.utilityProcessLogListener=this.utilityProcess.onMessage(n=>{let o=n;typeof o.warning=="string"?this.logService.warn(o.warning):typeof o.error=="string"&&this.logService.error(o.error)});let e=yx(this.environmentMainService.args,this.environmentMainService.isBuilt),t;e.port&&(t=["--nolazy","--experimental-network-inspection"],e.break?t.push(`--inspect-brk=${e.port}`):t.push(`--inspect=${e.port}`)),this.utilityProcess.start({type:"shared-process",name:"shared-process",entryPoint:"vs/code/electron-utility/sharedProcess/sharedProcessMain",payload:this.createSharedProcessConfiguration(),respondToAuthRequestsFromMainProcess:!0,execArgv:t}),this._register(this.utilityProcess.onCrash(()=>this._onDidCrash.fire()))}createSharedProcessConfiguration(){return{machineId:this.machineId,sqmId:this.sqmId,devDeviceId:this.devDeviceId,codeCachePath:this.environmentMainService.codeCachePath,profiles:{home:this.userDataProfilesService.profilesHome,all:this.userDataProfilesService.profiles},args:this.environmentMainService.args,logLevel:this.loggerMainService.getLogLevel(),loggers:this.loggerMainService.getGlobalLoggers(),policiesData:this.policyService.serialize()}}async connect(e){return await this.whenIpcReady,mi(this.utilityProcess).connect(e)}};Gl=T([g(3,Ce),g(4,_r),g(5,ye),g(6,U),g(7,si),g(8,Un)],Gl)});var vA,us,vh=w(()=>{re();vA="signService",us=M(vA)});var yh,LE=w(()=>{J();$();xd();Cr();yh=class i extends _{constructor(e,t){super();this.logService=e;this.storageMainService=t;this.onDidChangeApplicationStorageEmitter=this._register(new S);this.mapProfileToOnDidChangeProfileStorageEmitter=new Map;this.registerStorageChangeListeners(t.applicationStorage,this.onDidChangeApplicationStorageEmitter)}static{this.STORAGE_CHANGE_DEBOUNCE_TIME=100}registerStorageChangeListeners(e,t){this._register(x.debounce(e.onDidChangeStorage,(n,o)=>(n?n.push(o):n=[o],n),i.STORAGE_CHANGE_DEBOUNCE_TIME)(n=>{n.length&&t.fire(this.serializeStorageChangeEvents(n,e))}))}serializeStorageChangeEvents(e,t){let n=new Map,o=new Set;return e.forEach(s=>{let a=t.get(s.key);typeof a=="string"?n.set(s.key,a):o.add(s.key)}),{changed:Array.from(n.entries()),deleted:Array.from(o.values())}}listen(e,t,n){switch(t){case"onDidChangeStorage":{let o=n.profile?Zn(n.profile):void 0;if(!o)return this.onDidChangeApplicationStorageEmitter.event;let s=this.mapProfileToOnDidChangeProfileStorageEmitter.get(o.id);return s||(s=this._register(new S),this.registerStorageChangeListeners(this.storageMainService.profileStorage(o),s),this.mapProfileToOnDidChangeProfileStorageEmitter.set(o.id,s)),s.event}}throw new Error(`Event not found: ${t}`)}async call(e,t,n){let o=n.profile?Zn(n.profile):void 0,s=Rx(n.workspace),a=await this.withStorageInitialized(o,s);switch(t){case"getItems":return Array.from(a.items.entries());case"updateItems":{let l=n;if(l.insert)for(let[c,d]of l.insert)a.set(c,d);l.delete?.forEach(c=>a.delete(c));break}case"optimize":return a.optimize();case"isUsed":{let l=n.payload;return typeof l=="string"?this.storageMainService.isUsed(l):!1}default:throw new Error(`Call not found: ${t}`)}}async withStorageInitialized(e,t){let n;t?n=this.storageMainService.workspaceStorage(t):e?n=this.storageMainService.profileStorage(e):n=this.storageMainService.applicationStorage;try{await n.init()}catch(o){this.logService.error(`StorageIPC#init: Unable to init ${t?"workspace":e?"profile":"application"} storage due to ${o}`)}return n}}});var wh,AE=w(()=>{wh=class{constructor(r){this.channel=r}log(r,e){return this.channel.call("log",{eventName:r,data:e}).then(void 0,t=>`Failed to log telemetry: ${console.warn(t)}`),Promise.resolve(null)}flush(){return Promise.resolve()}}});function yA(){let i=h(2369,null,gr.nameLong),r=gr.privacyStatementUrl?h(2355,null,"https://aka.ms/vscode-telemetry",gr.privacyStatementUrl):h(2356,null,"https://aka.ms/vscode-telemetry"),e=Dr?"":h(2361,null),t=h(2354,null),n=h(2359,null),o=h(2370,null),s=h(2368,null),a=`
|       | ${t} | ${n} | ${o} |
|:------|:-------------:|:---------------:|:----------:|
| all   |       \u2713       |        \u2713        |     \u2713      |
| error |       \u2713       |        \u2713        |     -      |
| crash |       \u2713       |        -        |     -      |
| off   |       -       |        -        |     -      |
`,l=h(2364,null);return`
${i} ${r} ${e}

&nbsp;

${s}
${a}

&nbsp;

${l}
`}var ho,wA,ME=w(()=>{$();mn();te();hd();sr();Te();at();Ji();Na();tr();Yn();rr();mo();ho=class{constructor(r,e,t){this._configurationService=e;this._productService=t;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new ee;this._cleanupPatterns=[];this._appenders=r.appenders,this._commonProperties=r.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=r.piiPaths||[],this._telemetryLevel=3,this._sendErrorTelemetry=!!r.sendErrorTelemetry,this._meteredConnectionService=r.meteredConnectionService,this._cleanupPatterns=[/(vscode-)?file:\/\/.*?\/resources\/app\//gi];for(let n of this._piiPaths)this._cleanupPatterns.push(new RegExp(To(n),"gi")),n.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(To(n.replace(/\\/g,"/")),"gi"));this._updateTelemetryLevel(),this._disposables.add(this._configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(cl)||n.affectsConfiguration(su)||n.affectsConfiguration(em))&&this._updateTelemetryLevel()})),r.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),ho.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}setExperimentProperty(r,e){this._experimentProperties[r]=e,this._isExperimentPropertySet||this._flushPendingEvents()}_flushPendingEvents(){if(!this._isExperimentPropertySet){this._isExperimentPropertySet=!0,this._flushTimeout!==void 0&&(clearTimeout(this._flushTimeout),this._flushTimeout=void 0);for(let r of this._pendingEvents)this._doLog(r.eventName,r.eventLevel,r.data);this._pendingEvents=[]}}_updateTelemetryLevel(){let r=jl(this._configurationService),e=this._productService.enabledTelemetryLevels;if(e){this._sendErrorTelemetry=this.sendErrorTelemetry?e.error:!1;let t=e.usage?3:e.error?2:0;r=Math.min(r,t)}this._telemetryLevel=r}get sendErrorTelemetry(){return this._sendErrorTelemetry}get telemetryLevel(){return this._telemetryLevel}dispose(){this._flushPendingEvents(),this._disposables.dispose()}_log(r,e,t){if(!(this._telemetryLevel<e)&&!this._meteredConnectionService?.isConnectionMetered){if(!this._isExperimentPropertySet){this._pendingEvents.length<ho.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:r,eventLevel:e,data:t});return}this._doLog(r,e,t)}}_doLog(r,e,t){t=gm(t,this._experimentProperties),t=kE(t,this._cleanupPatterns),t=gm(t,this._commonProperties),this._appenders.forEach(n=>n.log(r,t??{}))}publicLog(r,e){this._log(r,3,e)}publicLog2(r,e){this.publicLog(r,e)}publicLogError(r,e){this._sendErrorTelemetry&&this._log(r,2,e)}publicLogError2(r,e){this.publicLogError(r,e)}};ho=T([g(1,he),g(2,De)],ho);wA=xt.as(ar.Configuration);wA.registerConfiguration({id:$x,order:1,type:"object",title:h(2371,null),properties:{[cl]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[h(2363,null),h(2365,null),h(2362,null),h(2366,null)],markdownDescription:yA(),default:"all",restricted:!0,scope:1,tags:["usesOnlineServices","telemetry"],policy:{name:"TelemetryLevel",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.telemetryLevel.policyDescription",value:h(2367,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:h(2363,null)},{key:"telemetry.telemetryLevel.error",value:h(2365,null)},{key:"telemetry.telemetryLevel.crash",value:h(2362,null)},{key:"telemetry.telemetryLevel.off",value:h(2366,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:h(2360,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:h(2360,null)}}}},[su]:{type:"boolean",markdownDescription:gr.privacyStatementUrl?h(2358,null,gr.nameLong,gr.privacyStatementUrl):h(2357,null,gr.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:h(2353,null,`\`#${cl}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var Ih,OE=w(()=>{J();$();uo();Ih=class{constructor(r){this.service=r}listen(r,e){if(e==="onStateChange")return this.service.onStateChange;throw new Error(`Event not found: ${e}`)}call(r,e,t){switch(e){case"checkForUpdates":return this.service.checkForUpdates(t);case"downloadUpdate":return this.service.downloadUpdate(t);case"applyUpdate":return this.service.applyUpdate();case"quitAndInstall":return this.service.quitAndInstall();case"_getInitialState":return Promise.resolve(this.service.state);case"isLatestVersion":return this.service.isLatestVersion();case"_applySpecificUpdate":return this.service._applySpecificUpdate(t);case"setInternalOrg":return this.service.setInternalOrg(t)}throw new Error(`Call not found: ${e}`)}}});import*as WE from"os";function Jl(i,r,e,t,n){let o=new URL(`${i}/api/update/${r}/${e}/${t}`);return n?.background&&o.searchParams.set("bg","true"),o.searchParams.set("u",n?.internalOrg??"none"),o.toString()}function Ql(i){if(V){let r=WE.release();return{"User-Agent":`Code/${i} Darwin/${r}`}}if(W){let r=Z1().match(/^(\d+\.\d+)/);if(r)return{"User-Agent":`Code/${i} Electron/${process.versions.electron} Windows NT ${r[1]}`}}}var FE,Mi,Sh=w(()=>{ve();wt();J();te();Qa();ds();at();Rt();Pt();oe();tr();rs();oo();Ri();rr();uo();FE="abstractUpdateService/lastKnownVersion";Mi=class{constructor(r,e,t,n,o,s,a,l,c,d){this.lifecycleMainService=r;this.configurationService=e;this.environmentMainService=t;this.requestService=n;this.logService=o;this.productService=s;this.telemetryService=a;this.applicationStorageMainService=l;this.meteredConnectionService=c;this.supportsUpdateOverwrite=d;this._state=ae.Uninitialized;this._overwrite=!1;this._hasCheckedForOverwriteOnQuit=!1;this.overwriteUpdatesCheckInterval=new Gp;this._internalOrg=void 0;this._onStateChange=new S;this.onStateChange=this._onStateChange.event;r.when(3).finally(()=>this.initialize())}get state(){return this._state}setState(r){this.logService.info("update#setState",r.type),this._state=r,this._onStateChange.fire(r),r.type==="idle"&&(r.error||r.notAvailable)&&(this._state=ae.Idle(r.updateType)),this.supportsUpdateOverwrite&&(r.type==="ready"?this.overwriteUpdatesCheckInterval.cancelAndSet(()=>this.checkForOverwriteUpdates(),300*1e3):this.overwriteUpdatesCheckInterval.cancel())}async initialize(){if(!this.environmentMainService.isBuilt){this.setState(ae.Disabled(0));return}if(await this.trackVersionChange(),this.environmentMainService.disableUpdates){this.setState(ae.Disabled(1)),this.logService.info("update#ctor - updates are disabled by the environment");return}if(!this.productService.updateUrl||!this.productService.commit){this.setState(ae.Disabled(4)),this.logService.info("update#ctor - updates are disabled as there is no update URL");return}let r=this.configurationService.getValue("update.mode"),e=this.configurationService.inspect("update.mode"),t=e.policyValue!==void 0&&!this.getProductQuality(e.policyValue),n=this.getProductQuality(r);if(!n){t?(this.setState(ae.Disabled(3)),this.logService.info("update#ctor - updates are disabled by policy")):(this.setState(ae.Disabled(2)),this.logService.info("update#ctor - updates are disabled by user preference"));return}if(!this.buildUpdateFeedUrl(n,this.productService.commit)){this.setState(ae.Disabled(5)),this.logService.info("update#ctor - updates are disabled as the update URL is badly formed");return}if(this.quality=n,this.setState(ae.Idle(this.getUpdateType())),await this.postInitialize(),r==="manual"){this.logService.info("update#ctor - manual checks only; automatic updates are disabled by user preference");return}r==="start"?(this.logService.info("update#ctor - startup checks only; automatic updates are disabled by user preference"),setTimeout(()=>this.checkForUpdates(!1),30*1e3)):this.scheduleCheckForUpdates(30*1e3).then(void 0,o=>this.logService.error(o))}async trackVersionChange(){await this.applicationStorageMainService.whenReady;let r,e=this.applicationStorageMainService.get(FE,-1);if(typeof e=="string")try{r=JSON.parse(e)}catch{}let t={version:this.productService.version,commit:this.productService.commit,timestamp:Date.now()};r?.commit!==t.commit&&(this.applicationStorageMainService.store(FE,JSON.stringify(t),-1,1),r&&this.telemetryService.publicLog2("update:versionChanged",{fromVersion:r.version,fromCommit:r.commit,fromVersionTime:r.timestamp,toVersion:t.version,toCommit:t.commit,timeToUpdateMs:t.timestamp-r.timestamp,updateMode:this.configurationService.getValue("update.mode"),titleBarMode:this.configurationService.getValue("update.titleBar")}))}getProductQuality(r){return r==="none"?void 0:this.productService.quality}scheduleCheckForUpdates(r=3600*1e3){return ct(r).then(()=>this.checkForUpdates(!1)).then(()=>this.scheduleCheckForUpdates(3600*1e3))}async checkForUpdates(r){this.logService.trace("update#checkForUpdates, state = ",this.state.type),this.state.type==="idle"&&this.doCheckForUpdates(r)}async downloadUpdate(r){if(this.logService.trace("update#downloadUpdate, state = ",this.state.type),this.state.type==="available for download"){if(!r&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#downloadUpdate - skipping download because connection is metered");return}await this.doDownloadUpdate(this.state)}}async doDownloadUpdate(r){}async applyUpdate(){this.logService.trace("update#applyUpdate, state = ",this.state.type),this.state.type==="downloaded"&&await this.doApplyUpdate()}async doApplyUpdate(){}async quitAndInstall(){if(this.logService.trace("update#quitAndInstall, state = ",this.state.type),this.state.type==="ready"){if(this.supportsUpdateOverwrite&&!this._hasCheckedForOverwriteOnQuit&&(this._hasCheckedForOverwriteOnQuit=!0,await this.checkForOverwriteUpdates(!0))){this.logService.info("update#quitAndInstall(): overwrite update detected, postponing quitAndInstall");return}return this.logService.trace("update#quitAndInstall(): before lifecycle quit()"),this.lifecycleMainService.quit(!0).then(r=>{this.logService.trace(`update#quitAndInstall(): after lifecycle quit() with veto: ${r}`),!r&&(this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.doQuitAndInstall())}),Promise.resolve(void 0)}}async checkForOverwriteUpdates(r=!1){if(this._state.type!=="ready")return!1;let e=this._state.update.version,t;try{let n=new $e,o=ct(2e3).then(()=>{n.cancel()});t=await Promise.race([this.isLatestVersion(e,n.token),o]),n.dispose()}catch(n){return this.logService.warn("update#checkForOverwriteUpdates(): failed to check for updates, proceeding with restart"),this.logService.warn(n),!1}if(t===!1&&this._state.type==="ready"){this.logService.info("update#readyStateCheck: newer update available, restarting update machinery");try{await this.cancelPendingUpdate()}catch(n){return this.logService.error("update#checkForOverwriteUpdates(): failed to cancel pending update, aborting overwrite"),this.logService.error(n),!1}return this._overwrite=!0,this.setState(ae.Overwriting(this._state.update,r)),this.doCheckForUpdates(r,e),!0}return!1}async isLatestVersion(r,e=Se.None){if(!this.quality||this.configurationService.getValue("update.mode")==="none")return;let n=this.buildUpdateFeedUrl(this.quality,r??this.productService.commit,{internalOrg:this.getInternalOrg()});if(!n)return;let o=Ql(this.productService.version);this.logService.trace("update#isLatestVersion() - checking update server",{url:n,headers:o});try{let a=(await this.requestService.request({url:n,headers:o,callSite:"updateService.isLatestVersion"},e)).res.statusCode;return this.logService.trace("update#isLatestVersion() - response",{statusCode:a}),a===204}catch(s){this.logService.error("update#isLatestVersion(): failed to check for updates"),this.logService.error(s);return}}async _applySpecificUpdate(r){}async setInternalOrg(r){this._internalOrg!==r&&(this.logService.info("update#setInternalOrg",r),this._internalOrg=r)}getInternalOrg(){return this._internalOrg}getUpdateType(){return 1}doQuitAndInstall(){}async postInitialize(){}async cancelPendingUpdate(){}};Mi=T([g(0,ye),g(1,he),g(2,Ce),g(3,Fn),g(4,U),g(5,De),g(6,Ge),g(7,yr),g(8,Xr)],Mi)});import*as Oi from"electron";var ai,UE=w(()=>{wt();Mo();J();bi();$();at();Rt();Pt();oe();tr();rs();Ri();rr();uo();ds();Sh();ai=class extends Mi{constructor(e,t,n,o,s,a,l,c,d){super(e,t,o,s,a,l,n,c,d,!0);this.disposables=new ee;e.setRelaunchHandler(this)}get onRawError(){return x.fromNodeEventEmitter(Oi.autoUpdater,"error",(e,t)=>t)}get onRawCheckingForUpdate(){return x.fromNodeEventEmitter(Oi.autoUpdater,"checking-for-update")}get onRawUpdateNotAvailable(){return x.fromNodeEventEmitter(Oi.autoUpdater,"update-not-available")}get onRawUpdateAvailable(){return x.fromNodeEventEmitter(Oi.autoUpdater,"update-available")}get onRawUpdateDownloaded(){return x.fromNodeEventEmitter(Oi.autoUpdater,"update-downloaded",(e,t,n,o)=>({version:t,productVersion:n,timestamp:o instanceof Date?o.getTime()||void 0:o}))}handleRelaunch(e){return e?.addArgs||e?.removeArgs||this.state.type!=="ready"?!1:(this.logService.trace("update#handleRelaunch(): running raw#quitAndInstall()"),this.doQuitAndInstall(),!0)}async initialize(){if(await super.initialize(),process.isEmbeddedApp){this.logService.info("update#ctor - embedded app: checking for updates without auto-download");return}this.onRawError(this.onError,this,this.disposables),this.onRawCheckingForUpdate(this.onCheckingForUpdate,this,this.disposables),this.onRawUpdateAvailable(this.onUpdateAvailable,this,this.disposables),this.onRawUpdateDownloaded(this.onUpdateDownloaded,this,this.disposables),this.onRawUpdateNotAvailable(this.onUpdateNotAvailable,this,this.disposables)}onCheckingForUpdate(){this.logService.trace("update#onCheckingForUpdate - Electron autoUpdater is checking for updates")}onError(e){this.telemetryService.publicLog2("update:error",{messageHash:String(lr(String(e)))}),this.logService.error("UpdateService error:",e);let t=this.state.type==="checking for updates"&&this.state.explicit?e:void 0;this.setState(ae.Idle(1,t))}buildUpdateFeedUrl(e,t,n){let o=this.productService.darwinUniversalAssetId??(process.arch==="x64"?"darwin":"darwin-arm64"),s=Jl(this.productService.updateUrl,o,e,t,n),a=Ql(this.productService.version);try{this.logService.trace("update#buildUpdateFeedUrl - setting feed URL for Electron autoUpdater",{url:s,assetID:o,quality:e,commit:t,headers:a}),Oi.autoUpdater.setFeedURL({url:s,headers:a})}catch(l){this.logService.error("Failed to set update feed URL",l);return}return s}async checkForUpdates(e){this.logService.trace("update#checkForUpdates, state = ",this.state.type),this.state.type==="idle"&&this.doCheckForUpdates(e)}doCheckForUpdates(e,t){if(!this.quality)return;this.setState(ae.CheckingForUpdates(e));let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,t??this.productService.commit,{background:o,internalOrg:n});if(s){if(process.isEmbeddedApp){this.logService.info("update#doCheckForUpdates - embedded app: checking for update without auto-download"),this.checkForUpdateNoDownload(s,!1);return}if(!e&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#doCheckForUpdates - checking for update without auto-download because connection is metered"),this.checkForUpdateNoDownload(s);return}this.logService.trace("update#doCheckForUpdates - using Electron autoUpdater",{url:s,explicit:e,background:o}),Oi.autoUpdater.checkForUpdates()}}async checkForUpdateNoDownload(e,t){let n=Ql(this.productService.version);this.logService.trace("update#checkForUpdateNoDownload - checking update server",{url:e,headers:n});try{let o=await this.requestService.request({url:e,headers:n,callSite:"updateService.darwin.checkForUpdates"},Se.None),s=o.res.statusCode;this.logService.trace("update#checkForUpdateNoDownload - response",{statusCode:s});let a=await _l(o);if(!a||!a.url||!a.version||!a.productVersion){this.logService.trace("update#checkForUpdateNoDownload - no update available");let l=this.state.type==="checking for updates"&&this.state.explicit;this.setState(ae.Idle(1,void 0,l||void 0))}else this.logService.trace("update#checkForUpdateNoDownload - update available",{version:a.version,productVersion:a.productVersion}),this.setState(ae.AvailableForDownload(a,t))}catch(o){this.logService.error("update#checkForUpdateNoDownload - failed to check for update",o),this.setState(ae.Idle(1))}}onUpdateAvailable(){this.logService.trace("update#onUpdateAvailable - Electron autoUpdater reported update available"),!(this.state.type!=="checking for updates"&&this.state.type!=="overwriting")&&this.setState(ae.Downloading(this.state.type==="overwriting"?this.state.update:void 0,this.state.explicit,this._overwrite))}onUpdateDownloaded(e){this.state.type==="downloading"&&(this.setState(ae.Downloaded(e,this.state.explicit,this._overwrite)),this.logService.info(`Update downloaded: ${JSON.stringify(e)}`),this.setState(ae.Ready(e,this.state.explicit,this._overwrite)))}onUpdateNotAvailable(){if(this.logService.trace("update#onUpdateNotAvailable - Electron autoUpdater reported no update available"),this.state.type!=="checking for updates")return;let e=this.state.explicit;this.setState(ae.Idle(1,void 0,e||void 0))}async doDownloadUpdate(e){this.buildUpdateFeedUrl(this.quality,e.update.version,{internalOrg:this.getInternalOrg()}),this.setState(ae.CheckingForUpdates(!0)),Oi.autoUpdater.checkForUpdates()}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),Oi.autoUpdater.quitAndInstall()}dispose(){this.disposables.dispose()}};T([ce],ai.prototype,"onRawError",1),T([ce],ai.prototype,"onRawCheckingForUpdate",1),T([ce],ai.prototype,"onRawUpdateNotAvailable",1),T([ce],ai.prototype,"onRawUpdateAvailable",1),T([ce],ai.prototype,"onRawUpdateDownloaded",1),ai=T([g(0,ye),g(1,he),g(2,Ge),g(3,Ce),g(4,Fn),g(5,U),g(6,De),g(7,yr),g(8,Xr)],ai)});var Xl,NE=w(()=>{wt();at();Rt();Pt();oe();ds();kl();tr();rs();Ri();rr();uo();Sh();Xl=class extends Mi{constructor(e,t,n,o,s,a,l,c,d,u){super(e,t,n,o,s,l,c,d,u,!1);this.nativeHostMainService=a}buildUpdateFeedUrl(e,t,n){return Jl(this.productService.updateUrl,`linux-${process.arch}`,e,t,n)}doCheckForUpdates(e,t){if(!this.quality)return;let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,this.productService.commit,{background:o,internalOrg:n});this.setState(ae.CheckingForUpdates(e)),this.requestService.request({url:s,callSite:"updateService.linux.checkForUpdates"},Se.None).then(_l).then(a=>{!a||!a.url||!a.version||!a.productVersion?this.setState(ae.Idle(1,void 0,e||void 0)):this.setState(ae.AvailableForDownload(a))}).then(void 0,a=>{this.logService.error(a);let l=e?a.message||a:void 0;this.setState(ae.Idle(1,l))})}async doDownloadUpdate(e){this.productService.downloadUrl&&this.productService.downloadUrl.length>0?this.nativeHostMainService.openExternal(void 0,this.productService.downloadUrl):e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(ae.Idle(1))}};Xl=T([g(0,ye),g(1,he),g(2,Ce),g(3,Fn),g(4,U),g(5,Wn),g(6,De),g(7,Ge),g(8,yr),g(9,Xr)],Xl)});import{spawn as bA}from"child_process";import{realpath as SA,watch as xA}from"fs";var $u,Yl,BE=w(()=>{ve();J();_e();Rt();Pt();oe();uo();ds();$u=class{constructor(r,e,t,n){this.lifecycleMainService=r;this.logService=t;this.meteredConnectionService=n;this._state=ae.Uninitialized;this._onStateChange=new S;this.onStateChange=this._onStateChange.event;if(e.disableUpdates){this.logService.info("update#ctor - updates are disabled");return}this.setState(ae.Idle(this.getUpdateType())),this.scheduleCheckForUpdates(30*1e3).then(void 0,o=>this.logService.error(o))}get state(){return this._state}setState(r){this.logService.info("update#setState",r.type),this._state=r,this._onStateChange.fire(r),r.type==="idle"&&(r.error||r.notAvailable)&&(this._state=ae.Idle(r.updateType))}scheduleCheckForUpdates(r=3600*1e3){return ct(r).then(()=>this.checkForUpdates(!1)).then(()=>this.scheduleCheckForUpdates(3600*1e3))}async checkForUpdates(r){this.logService.trace("update#checkForUpdates, state = ",this.state.type),this.state.type==="idle"&&this.doCheckForUpdates(r)}async downloadUpdate(r){if(this.logService.trace("update#downloadUpdate, state = ",this.state.type),this.state.type==="available for download"){if(!r&&this.meteredConnectionService.isConnectionMetered){this.logService.info("update#downloadUpdate - skipping download because connection is metered");return}await this.doDownloadUpdate(this.state)}}doDownloadUpdate(r){return Promise.resolve(void 0)}async applyUpdate(){this.logService.trace("update#applyUpdate, state = ",this.state.type),this.state.type==="downloaded"&&await this.doApplyUpdate()}doApplyUpdate(){return Promise.resolve(void 0)}quitAndInstall(){return this.logService.trace("update#quitAndInstall, state = ",this.state.type),this.state.type!=="ready"||(this.logService.trace("update#quitAndInstall(): before lifecycle quit()"),this.lifecycleMainService.quit(!0).then(r=>{this.logService.trace(`update#quitAndInstall(): after lifecycle quit() with veto: ${r}`),!r&&(this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.doQuitAndInstall())})),Promise.resolve(void 0)}getUpdateType(){return 2}doQuitAndInstall(){}async setInternalOrg(r){}async _applySpecificUpdate(r){}};$u=T([g(0,ye),g(1,Ce),g(2,U),g(3,Xr)],$u);Yl=class extends $u{constructor(e,t,n,o,s,a){super(n,o,s,a);this.snap=e;this.snapRevision=t;let l=xA(Ze(this.snap)),c=x.fromNodeEventEmitter(l,"change",(m,y)=>y),d=x.filter(c,m=>m==="current"),f=x.debounce(d,(m,y)=>y,2e3)(()=>this.checkForUpdates(!1));x.once(n.onWillShutdown)(()=>{f.dispose(),l.close()})}doCheckForUpdates(){this.setState(ae.CheckingForUpdates(!1)),this.isUpdateAvailable().then(e=>{e?this.setState(ae.Ready({version:"something"},!1,!1)):this.setState(ae.Idle(2,void 0,void 0))},e=>{this.logService.error(e),this.setState(ae.Idle(2,e.message||e))})}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),bA("sleep 3 && "+Pe(process.argv[0]),{shell:!0,detached:!0,stdio:"ignore"})}async isUpdateAvailable(){let e=await new Promise((n,o)=>SA(`${Ze(this.snap)}/current`,(s,a)=>s?o(s):n(a))),t=Pe(e);return this.snapRevision!==t}isLatestVersion(){return this.isUpdateAvailable().then(void 0,e=>{this.logService.error("update#checkForSnapUpdate(): Could not get realpath of application.")})}};Yl=T([g(2,ye),g(3,Ce),g(4,U),g(5,Xr)],Yl)});import*as VE from"crypto";import*as HE from"fs";async function $E(i,r){if(await new Promise((n,o)=>{let s=HE.createReadStream(i),a=VE.createHash("sha256");s.pipe(a);let l=$i((c,d)=>{s.removeAllListeners(),a.removeAllListeners(),s.destroy(),c?o(c):n(d)});s.once("error",l),s.once("end",l),a.once("error",l),a.once("data",c=>l(void 0,c.toString("hex")))})!==r)throw new Error("Hash mismatch")}var qE=w(()=>{ba()});import{spawn as zw}from"child_process";import{app as KE}from"electron";import{existsSync as PA,unlinkSync as EA}from"fs";import{mkdir as TA,readFile as jw,unlink as CA}from"fs/promises";import{release as _A,tmpdir as kA}from"os";function ia(){return typeof Gw>"u"&&(Gw=PA(B(Ze(process.execPath),"unins000.exe"))?0:1),Gw}var Gw,oa,zE=w(()=>{ve();it();wt();Mo();bi();_e();_e();ks();le();qE();Zt();Ys();Qa();at();Rt();Ke();Pt();oe();ds();kl();tr();rs();Ri();rr();uo();Sh();oa=class extends Mi{constructor(e,t,n,o,s,a,l,c,d,u,f){super(e,t,o,s,a,d,n,u,f,!0);this.fileService=l;this.nativeHostMainService=c;e.setRelaunchHandler(this)}get cachePath(){let e=B(kA(),`vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`);return TA(e,{recursive:!0}).then(()=>e)}handleRelaunch(e){return e?.addArgs||e?.removeArgs||this.state.type!=="ready"||!this.availableUpdate?!1:(this.logService.trace("update#handleRelaunch(): running raw#quitAndInstall()"),this.doQuitAndInstall(),!0)}async initialize(){if(process.isEmbeddedApp){this.logService.info("update#ctor - embedded app: checking for updates without auto-download"),await super.initialize();return}if(this.productService.win32VersionedUpdate){let n=await this.cachePath;KE.setPath("appUpdate",n),await this.unlink(B(n,"session-ending.flag"))}let e=await Y1(),t=_A();if(this.telemetryService.publicLog2("windowsUpdateInit",{osRelease:e,osNodeRelease:t}),this.productService.target==="user"&&await this.nativeHostMainService.isAdmin(void 0)){this.setState(ae.Disabled(6)),this.logService.info("update#ctor - updates are disabled due to running as Admin in user setup");return}await super.initialize()}async postInitialize(){if(!this.productService.win32VersionedUpdate)return;let e=KE.getPath("exe"),t=Ze(e),n=B(t,"updating_version");if(await Q.exists(n))try{let o=(await jw(n,"utf8")).trim();this.logService.info(`update#doCheckForUpdates - application was updating to version ${o}`);let s=await this.getUpdatePackagePath(o);await Q.exists(s)&&(await this._applySpecificUpdate(s),this.logService.info(`update#doCheckForUpdates - successfully applied update to version ${o}`))}catch(o){this.logService.error(`update#doCheckForUpdates - could not read ${n}`,o)}else if(this.configurationService.getValue("update.enableWindowsBackgroundUpdates")&&this.productService.target==="user"&&this.productService.commit){let s=this.productService.commit.substring(0,10),a=B(t,s,"tools","inno_updater.exe");await new Promise(l=>{zw(a,["--gc",e,s],{stdio:["ignore","ignore","ignore"],windowsHide:!0,timeout:12e4}).once("exit",()=>l())})}}buildUpdateFeedUrl(e,t,n){let o=`win32-${process.arch}`;return ia()===1?o+="-archive":this.productService.target==="user"&&(o+="-user"),Jl(this.productService.updateUrl,o,e,t,n)}doCheckForUpdates(e,t){if(!this.quality)return;let n=this.getInternalOrg(),o=!e&&!n,s=this.buildUpdateFeedUrl(this.quality,t??this.productService.commit,{background:o,internalOrg:n});this.state.type!=="overwriting"&&this.setState(ae.CheckingForUpdates(e));let a=Ql(this.productService.version);this.requestService.request({url:s,headers:a,callSite:"updateService.win32.checkForUpdates"},Se.None).then(_l).then(l=>{let c=ia();if(!l||!l.url||!l.version||!l.productVersion)return this.state.type==="overwriting"?(this._overwrite=!1,this.setState(ae.Ready(this.state.update,this.state.explicit,!1))):this.setState(ae.Idle(c,void 0,e||void 0)),Promise.resolve(null);if(c===1)return this.setState(ae.AvailableForDownload(l)),Promise.resolve(null);if(process.isEmbeddedApp)return this.logService.info("update#doCheckForUpdates - embedded app: update available, skipping download"),this.setState(ae.AvailableForDownload(l,!1)),Promise.resolve(null);if(!e&&this.meteredConnectionService.isConnectionMetered)return this.logService.info("update#doCheckForUpdates - update available but skipping download because connection is metered"),this.setState(ae.AvailableForDownload(l)),Promise.resolve(null);let d=Date.now();return this.setState(ae.Downloading(l,e,this._overwrite,0,void 0,d)),this.cleanup(l.version).then(()=>this.getUpdatePackagePath(l.version).then(u=>Q.exists(u).then(f=>{if(f)return Promise.resolve(u);let m=`${u}.tmp`;return this.requestService.request({url:l.url,callSite:"updateService.win32.downloadUpdate"},Se.None).then(y=>{let v=y.res.headers["content-length"],b=typeof v=="string"?v:void 0,I=b?parseInt(b,10):void 0,C=0,R=new zi(500),D=Ha(y.stream,{data:A=>(C+=A.byteLength,R.trigger(()=>{this.setState(ae.Downloading(l,e,this._overwrite,C,I,d))}),A)},A=>H.concat(A));return this.fileService.writeFile(E.file(m),D).finally(()=>R.dispose())}).then(l.sha256hash?()=>$E(m,l.sha256hash):()=>{}).then(()=>Q.rename(m,u,!1)).then(()=>u)})).then(u=>{this.availableUpdate={packagePath:u},this.saveUpdateMetadata(l),this.setState(ae.Downloaded(l,e,this._overwrite)),this.configurationService.getValue("update.enableWindowsBackgroundUpdates")&&this.productService.target==="user"?this.doApplyUpdate():this.setState(ae.Ready(l,e,this._overwrite))}))}).then(void 0,l=>{this.telemetryService.publicLog2("update:error",{messageHash:String(lr(String(l)))}),this.logService.error(l);let c=e?l.message||l:void 0;this.state.type==="overwriting"?(this._overwrite=!1,this.setState(ae.Ready(this.state.update,this.state.explicit,!1))):this.setState(ae.Idle(ia(),c))})}async doDownloadUpdate(e){e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(ae.Idle(ia()))}async getUpdatePackagePath(e){let t=await this.cachePath;return B(t,`CodeSetup-${this.productService.quality}-${e}.exe`)}async cleanup(e=null){let t=e?a=>!new RegExp(`${this.productService.quality}-${e}\\.exe$`).test(a):()=>!0,n=await this.cachePath,s=(await Q.readdir(n)).filter(t).map(a=>this.unlink(B(n,a)));await Promise.all(s)}async doApplyUpdate(){if(this.state.type!=="downloaded"||!this.availableUpdate)return Promise.resolve(void 0);let e=this.state.update,t=this.state.explicit;this.setState(ae.Updating(e));let n=await this.cachePath,o=B(n,"session-ending.flag"),s=B(n,"cancel.flag");await this.unlink(s);let a=B(n,"update-progress");await this.unlink(a),this.availableUpdate.updateFilePath=B(n,`CodeSetup-${this.productService.quality}-${e.version}.flag`),this.availableUpdate.cancelFilePath=s,await Q.writeFile(this.availableUpdate.updateFilePath,"flag");let l=zw(this.availableUpdate.packagePath,["/verysilent","/log",`/update="${this.availableUpdate.updateFilePath}"`,`/progress="${a}"`,`/sessionend="${o}"`,`/cancel="${s}"`,"/nocloseapplications","/mergetasks=runcode,!desktopicon,!quicklaunchicon"],{detached:!0,stdio:["ignore","ignore","ignore"],windowsVerbatimArguments:!0,env:{...process.env,__COMPAT_LAYER:"RunAsInvoker"}});this.availableUpdate.updateProcess=l,l.once("exit",()=>{this.availableUpdate=void 0,this.setState(ae.Idle(ia()))});let c=`${this.productService.win32MutexName}-ready`,d=await import("@vscode/windows-mutex");this.updateCancellationTokenSource?.dispose(!0);let u=this.updateCancellationTokenSource=new $e,f=u.token,m=async()=>{for(;this.state.type==="updating"&&!f.isCancellationRequested;){if(d.isActive(c)){this.setState(ae.Ready(e,t,this._overwrite));return}try{let v=await jw(a,"utf8");if(!f.isCancellationRequested){let[b,I]=v.split(","),C=parseInt(b,10),R=parseInt(I,10);!isNaN(C)&&!isNaN(R)&&this.state.type==="updating"&&(this.state.currentProgress!==C||this.state.maxProgress!==R)&&this.setState(ae.Updating(e,C,R))}}catch{}await ct(500)}},y=new Jp(()=>{this.logService.warn("update#doApplyUpdate: polling timed out waiting for update to be ready"),this.setState(ae.Idle(ia(),"Update did not complete within expected time"))},3600*1e3);y.schedule(),m().finally(()=>{y.dispose(),this.updateCancellationTokenSource===u&&(this.updateCancellationTokenSource=void 0),u.dispose()})}async cancelPendingUpdate(){if(!this.availableUpdate)return;this.updateCancellationTokenSource?.dispose(!0),this.updateCancellationTokenSource=void 0,this.logService.trace("update#cancelPendingUpdate: cancelling pending update");let{updateProcess:e,updateFilePath:t,cancelFilePath:n}=this.availableUpdate;if(e&&e.exitCode===null){e.removeAllListeners();let o=new Promise(l=>e.once("exit",()=>l(!0)));if(n)try{await Q.writeFile(n,"cancel")}catch(l){this.logService.warn("update#cancelPendingUpdate: failed to write cancel file",l)}let s=e.pid,a=await Promise.race([o,ct(30*1e3).then(()=>!1)]);s&&!a&&(this.logService.trace("update#cancelPendingUpdate: process did not exit gracefully, killing process tree"),await w0(s,!0))}await this.unlink(t),await this.unlink(n),this.availableUpdate=void 0}doQuitAndInstall(){if(!(this.state.type!=="ready"||!this.availableUpdate))if(this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),this.availableUpdate.updateFilePath)try{EA(this.availableUpdate.updateFilePath)}catch{}else zw(this.availableUpdate.packagePath,["/silent","/log","/mergetasks=runcode,!desktopicon,!quicklaunchicon"],{detached:!0,stdio:["ignore","ignore","ignore"],env:{...process.env,__COMPAT_LAYER:"RunAsInvoker"}})}async saveUpdateMetadata(e){try{let t=await this.cachePath,n=B(t,"update-metadata.json");await Q.writeFile(n,JSON.stringify(e))}catch(t){this.logService.error("update#saveUpdateMetadata: failed to save",t)}}async loadUpdateMetadata(){try{let e=await this.cachePath,t=B(e,"update-metadata.json");if(await Q.exists(t)){let n=await jw(t,"utf8");return JSON.parse(n)}}catch(e){this.logService.error("update#loadUpdateMetadata: failed to load",e)}}getUpdateType(){return ia()}async _applySpecificUpdate(e){if(this.state.type!=="idle")return;let t=this.configurationService.getValue("update.enableWindowsBackgroundUpdates"),n=await this.loadUpdateMetadata()??{version:"unknown",productVersion:"unknown"};this.setState(ae.Downloading(n,!0,!1)),this.availableUpdate={packagePath:e},this.setState(ae.Downloaded(n,!0,!1)),t&&this.productService.target==="user"?this.doApplyUpdate():this.setState(ae.Ready(n,!0,!1))}async unlink(e){if(e)try{await CA(e)}catch(t){let n=t;if(n&&n.code==="ENOENT")return;this.logService.warn(`update#unlink: failed to unlink ${Pe(e)}`,t)}}};T([ce],oa.prototype,"cachePath",1),oa=T([g(0,ye),g(1,he),g(2,Ge),g(3,Ce),g(4,Fn),g(5,U),g(6,Ae),g(7,Wn),g(8,De),g(9,yr),g(10,Xr)],oa)});var xh,Ph,jE=w(()=>{le();xh=class{constructor(r){this.channel=r}handleURL(r,e){return this.channel.call("handleURL",[r.toJSON(),e])}},Ph=class{constructor(r,e){this.next=r;this.logService=e}async routeCall(r,e,t,n){if(e!=="handleURL")throw new Error(`Call not found: ${e}`);if(Array.isArray(t)&&t.length>0){let o=E.revive(t[0]);if(this.logService.trace("URLHandlerRouter#routeCall() with URI argument",o.toString(!0)),o.query){let s=/\bwindowId=(\d+)/.exec(o.query);if(s){let a=s[1];this.logService.trace(`URLHandlerRouter#routeCall(): found windowId query parameter with value "${a}"`,o.toString(!0));let l=new RegExp(`window:${a}`),c=r.connections.find(d=>(this.logService.trace("URLHandlerRouter#routeCall(): testing connection",d.ctx),l.test(d.ctx)));if(c)return this.logService.trace("URLHandlerRouter#routeCall(): found a connection to route",o.toString(!0)),c;this.logService.trace("URLHandlerRouter#routeCall(): did not find a connection to route",o.toString(!0))}else this.logService.trace("URLHandlerRouter#routeCall(): did not find windowId query parameter",o.toString(!0))}}else this.logService.trace("URLHandlerRouter#routeCall() without URI argument");return this.next.routeCall(r,e,t,n)}routeEvent(r,e){throw new Error(`Event not found: ${e}`)}}});var Jw,Zl,GE=w(()=>{ve();$();le();tr();Jw=class extends _{constructor(){super(...arguments);this.handlers=new Set}open(e,t){let n=[...this.handlers.values()];return JS(n.map(o=>()=>o.handleURL(e,t)),void 0,!1).then(o=>o||!1)}registerHandler(e){return this.handlers.add(e),G(()=>this.handlers.delete(e))}},Zl=class extends Jw{constructor(e){super();this.productService=e}create(e){let{authority:t,path:n,query:o,fragment:s}=e||{authority:void 0,path:void 0,query:void 0,fragment:void 0};return t&&n&&n.indexOf("/")!==0&&(n=`/${n}`),E.from({scheme:this.productService.urlProtocol,authority:t,path:n,query:o,fragment:s})}};Zl=T([g(0,De)],Zl)});import{app as JE}from"electron";var Eh,QE=w(()=>{ve();J();$();te();le();Eh=class extends _{constructor(e,t,n,o,s,a){super();this.urlService=t;this.logService=a;this.uris=[];this.retryCount=0;if(e&&(a.trace("ElectronURLListener initialUrisToHandle:",e.map(d=>d.originalUrl)),this.uris=e),W&&!o.isPortable&&!process.isEmbeddedApp){let d=o.isBuilt?[]:[`"${o.appRoot}"`];d.push("--open-url","--"),JE.setAsDefaultProtocolClient(s.urlProtocol,process.execPath,d)}let l=x.map(x.fromNodeEventEmitter(JE,"open-url",(d,u)=>({event:d,url:u})),({event:d,url:u})=>(d.preventDefault(),u));this._register(l(d=>{let u=this.uriFromRawUrl(d);u&&this.urlService.open(u,{originalUrl:d})})),n.getWindows().filter(d=>d.isReady).length>0?(a.trace("ElectronURLListener: window is ready to handle URLs"),this.flush()):(a.trace("ElectronURLListener: waiting for window to be ready to handle URLs..."),this._register(x.once(n.onDidSignalReadyWindow)(()=>this.flush())))}uriFromRawUrl(e){try{return E.parse(e)}catch{return}}async flush(){if(this.retryCount++>10){this.logService.trace("ElectronURLListener#flush(): giving up after 10 retries");return}this.logService.trace("ElectronURLListener#flush(): flushing URLs");let e=[];for(let t of this.uris)await this.urlService.open(t.uri,{originalUrl:t.originalUrl})?this.logService.trace("ElectronURLListener#flush(): URL was handled",t.originalUrl):(this.logService.trace("ElectronURLListener#flush(): URL was not yet handled",t.originalUrl),e.push(t));e.length!==0&&(this.uris=e,GS(()=>this.flush(),500,this._store))}}});var Qw,XE=w(()=>{re();Qw=M("webviewManagerService")});import{protocol as YE}from"electron";var ps,ZE=w(()=>{qe();le();Ke();ps=class{constructor(r){this._fileService=r;let e=this.handleWebviewRequest.bind(this);YE.handle(F.vscodeWebview,e)}static{this.validWebviewFilePaths=new Map([["/index.html",{mime:"text/html"}],["/fake.html",{mime:"text/html"}],["/service-worker.js",{mime:"application/javascript"}]])}dispose(){YE.unhandle(F.vscodeWebview)}async handleWebviewRequest(r){try{let e=E.parse(r.url),t=ps.validWebviewFilePaths.get(e.path);if(t){let n=`vs/workbench/contrib/webview/browser/pre${e.path}`,o=st.asFileUri(n),s=await this._fileService.readFile(o);return new Response(s.value.buffer.buffer,{headers:{"Content-Type":t.mime,...Aa.getHeadersFromQuery(r.url),"Cross-Origin-Resource-Policy":"cross-origin"}})}else return new Response(null,{status:403})}catch{}return new Response(null,{status:500})}};ps=T([g(0,Ae)],ps)});import{webContents as RA}from"electron";var ec,eT=w(()=>{J();$();ZE();Dt();Ke();ec=class extends _{constructor(e,t){super();this.windowsMainService=t;this._onFoundInFrame=this._register(new S);this.onFoundInFrame=this._onFoundInFrame.event;this._register(new ps(e))}async setIgnoreMenuShortcuts(e,t){let n;if(typeof e.windowId=="number"){let{windowId:o}=e,s=this.windowsMainService.getWindowById(o);if(!s?.win)throw new Error(`Invalid windowId: ${o}`);n=s.win.webContents}else{let{webContentsId:o}=e;if(n=RA.fromId(o),!n)throw new Error(`Invalid webContentsId: ${o}`)}n.isDestroyed()||n.setIgnoreMenuShortcuts(t)}async findInFrame(e,t,n,o){let a=this.getFrameByName(e,t);if(typeof a.findInFrame=="function"){a.findInFrame(n,{findNext:o.findNext,forward:o.forward});let l=(c,d)=>{d.finalUpdate&&(this._onFoundInFrame.fire(d),a.removeListener("found-in-frame",l))};a.on("found-in-frame",l)}}async stopFindInFrame(e,t,n){let s=this.getFrameByName(e,t);typeof s.stopFindInFrame=="function"&&s.stopFindInFrame(n.keepSelection?"keepSelection":"clearSelection")}getFrameByName(e,t){let n=this.windowsMainService.getWindowById(e.windowId);if(!n?.win)throw new Error(`Invalid windowId: ${e}`);let o=n.win.webContents.mainFrame.framesInSubtree.find(s=>s.name===t);if(!o)throw new Error(`Unknown frame: ${t}`);return o}};ec=T([g(0,Ae),g(1,Be)],ec)});var tc,Th=w(()=>{re();tc=M("protocolMainService")});async function tT(i,r,e){let t=e&&e.get("storage.serviceMachineId",-1)||null;if(t)return t;try{let o=(await r.readFile(i.serviceMachineIdResource)).value.toString();t=q1(o)?o:null}catch{t=null}if(!t){t=ke();try{await r.writeFile(i.serviceMachineIdResource,H.fromString(t))}catch{}}return e?.store("storage.serviceMachineId",t,-1,1),t}var rT=w(()=>{it();er();oo()});async function nT(i,r,e,t,n,o,s){let a={"X-Market-Client-Id":`VSCode ${i}`,"User-Agent":`VSCode ${i} (${r.nameShort})`};if(hh(r,e)&&jl(t)===3){let l=await tT(e,n,o);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var iT=w(()=>{rT();rr();mo()});function p(i,r){if(Me(r)){let e=oT[r];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${r}`);r=e}return oT[i]=r,{id:i}}var oT,Xw=w(()=>{Le();oT=Object.create(null)});var sT,aT=w(()=>{Xw();sT={add:p("add",6e4),plus:p("plus",6e4),gistNew:p("gist-new",6e4),repoCreate:p("repo-create",6e4),lightbulb:p("lightbulb",60001),lightBulb:p("light-bulb",60001),repo:p("repo",60002),repoDelete:p("repo-delete",60002),gistFork:p("gist-fork",60003),repoForked:p("repo-forked",60003),gitPullRequest:p("git-pull-request",60004),gitPullRequestAbandoned:p("git-pull-request-abandoned",60004),recordKeys:p("record-keys",60005),keyboard:p("keyboard",60005),tag:p("tag",60006),gitPullRequestLabel:p("git-pull-request-label",60006),tagAdd:p("tag-add",60006),tagRemove:p("tag-remove",60006),person:p("person",60007),personFollow:p("person-follow",60007),personOutline:p("person-outline",60007),personFilled:p("person-filled",60007),sourceControl:p("source-control",60008),mirror:p("mirror",60009),mirrorPublic:p("mirror-public",60009),star:p("star",60010),starAdd:p("star-add",60010),starDelete:p("star-delete",60010),starEmpty:p("star-empty",60010),comment:p("comment",60011),commentAdd:p("comment-add",60011),alert:p("alert",60012),warning:p("warning",60012),search:p("search",60013),searchSave:p("search-save",60013),logOut:p("log-out",60014),signOut:p("sign-out",60014),logIn:p("log-in",60015),signIn:p("sign-in",60015),eye:p("eye",60016),eyeUnwatch:p("eye-unwatch",60016),eyeWatch:p("eye-watch",60016),circleFilled:p("circle-filled",60017),primitiveDot:p("primitive-dot",60017),closeDirty:p("close-dirty",60017),debugBreakpoint:p("debug-breakpoint",60017),debugBreakpointDisabled:p("debug-breakpoint-disabled",60017),debugHint:p("debug-hint",60017),terminalDecorationSuccess:p("terminal-decoration-success",60017),primitiveSquare:p("primitive-square",60018),edit:p("edit",60019),pencil:p("pencil",60019),info:p("info",60020),issueOpened:p("issue-opened",60020),gistPrivate:p("gist-private",60021),gitForkPrivate:p("git-fork-private",60021),lock:p("lock",60021),mirrorPrivate:p("mirror-private",60021),close:p("close",60022),removeClose:p("remove-close",60022),x:p("x",60022),repoSync:p("repo-sync",60023),sync:p("sync",60023),clone:p("clone",60024),desktopDownload:p("desktop-download",60024),beaker:p("beaker",60025),microscope:p("microscope",60025),vm:p("vm",60026),deviceDesktop:p("device-desktop",60026),file:p("file",60027),more:p("more",60028),ellipsis:p("ellipsis",60028),kebabHorizontal:p("kebab-horizontal",60028),mailReply:p("mail-reply",60029),reply:p("reply",60029),organization:p("organization",60030),organizationFilled:p("organization-filled",60030),organizationOutline:p("organization-outline",60030),newFile:p("new-file",60031),fileAdd:p("file-add",60031),newFolder:p("new-folder",60032),fileDirectoryCreate:p("file-directory-create",60032),trash:p("trash",60033),trashcan:p("trashcan",60033),history:p("history",60034),clock:p("clock",60034),folder:p("folder",60035),fileDirectory:p("file-directory",60035),symbolFolder:p("symbol-folder",60035),logoGithub:p("logo-github",60036),markGithub:p("mark-github",60036),github:p("github",60036),terminal:p("terminal",60037),console:p("console",60037),repl:p("repl",60037),zap:p("zap",60038),symbolEvent:p("symbol-event",60038),error:p("error",60039),stop:p("stop",60039),variable:p("variable",60040),symbolVariable:p("symbol-variable",60040),array:p("array",60042),symbolArray:p("symbol-array",60042),symbolModule:p("symbol-module",60043),symbolPackage:p("symbol-package",60043),symbolNamespace:p("symbol-namespace",60043),symbolObject:p("symbol-object",60043),symbolMethod:p("symbol-method",60044),symbolFunction:p("symbol-function",60044),symbolConstructor:p("symbol-constructor",60044),symbolBoolean:p("symbol-boolean",60047),symbolNull:p("symbol-null",60047),symbolNumeric:p("symbol-numeric",60048),symbolNumber:p("symbol-number",60048),symbolStructure:p("symbol-structure",60049),symbolStruct:p("symbol-struct",60049),symbolParameter:p("symbol-parameter",60050),symbolTypeParameter:p("symbol-type-parameter",60050),symbolKey:p("symbol-key",60051),symbolText:p("symbol-text",60051),symbolReference:p("symbol-reference",60052),goToFile:p("go-to-file",60052),symbolEnum:p("symbol-enum",60053),symbolValue:p("symbol-value",60053),symbolRuler:p("symbol-ruler",60054),symbolUnit:p("symbol-unit",60054),activateBreakpoints:p("activate-breakpoints",60055),archive:p("archive",60056),arrowBoth:p("arrow-both",60057),arrowDown:p("arrow-down",60058),arrowLeft:p("arrow-left",60059),arrowRight:p("arrow-right",60060),arrowSmallDown:p("arrow-small-down",60061),arrowSmallLeft:p("arrow-small-left",60062),arrowSmallRight:p("arrow-small-right",60063),arrowSmallUp:p("arrow-small-up",60064),arrowUp:p("arrow-up",60065),bell:p("bell",60066),bold:p("bold",60067),book:p("book",60068),bookmark:p("bookmark",60069),debugBreakpointConditionalUnverified:p("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:p("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:p("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:p("debug-breakpoint-data-unverified",60072),debugBreakpointData:p("debug-breakpoint-data",60073),debugBreakpointDataDisabled:p("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:p("debug-breakpoint-log-unverified",60074),debugBreakpointLog:p("debug-breakpoint-log",60075),debugBreakpointLogDisabled:p("debug-breakpoint-log-disabled",60075),briefcase:p("briefcase",60076),broadcast:p("broadcast",60077),browser:p("browser",60078),bug:p("bug",60079),calendar:p("calendar",60080),caseSensitive:p("case-sensitive",60081),check:p("check",60082),checklist:p("checklist",60083),chevronDown:p("chevron-down",60084),chevronLeft:p("chevron-left",60085),chevronRight:p("chevron-right",60086),chevronUp:p("chevron-up",60087),chromeClose:p("chrome-close",60088),chromeMaximize:p("chrome-maximize",60089),chromeMinimize:p("chrome-minimize",60090),chromeRestore:p("chrome-restore",60091),circleOutline:p("circle-outline",60092),circle:p("circle",60092),debugBreakpointUnverified:p("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:p("terminal-decoration-incomplete",60092),circleSlash:p("circle-slash",60093),circuitBoard:p("circuit-board",60094),clearAll:p("clear-all",60095),clippy:p("clippy",60096),closeAll:p("close-all",60097),cloudDownload:p("cloud-download",60098),cloudUpload:p("cloud-upload",60099),code:p("code",60100),collapseAll:p("collapse-all",60101),colorMode:p("color-mode",60102),commentDiscussion:p("comment-discussion",60103),creditCard:p("credit-card",60105),dash:p("dash",60108),dashboard:p("dashboard",60109),database:p("database",60110),debugContinue:p("debug-continue",60111),debugDisconnect:p("debug-disconnect",60112),debugPause:p("debug-pause",60113),debugRestart:p("debug-restart",60114),debugStart:p("debug-start",60115),debugStepInto:p("debug-step-into",60116),debugStepOut:p("debug-step-out",60117),debugStepOver:p("debug-step-over",60118),debugStop:p("debug-stop",60119),debug:p("debug",60120),deviceCameraVideo:p("device-camera-video",60121),deviceCamera:p("device-camera",60122),deviceMobile:p("device-mobile",60123),diffAdded:p("diff-added",60124),diffIgnored:p("diff-ignored",60125),diffModified:p("diff-modified",60126),diffRemoved:p("diff-removed",60127),diffRenamed:p("diff-renamed",60128),diff:p("diff",60129),diffSidebyside:p("diff-sidebyside",60129),discard:p("discard",60130),editorLayout:p("editor-layout",60131),emptyWindow:p("empty-window",60132),exclude:p("exclude",60133),extensions:p("extensions",60134),eyeClosed:p("eye-closed",60135),fileBinary:p("file-binary",60136),fileCode:p("file-code",60137),fileMedia:p("file-media",60138),filePdf:p("file-pdf",60139),fileSubmodule:p("file-submodule",60140),fileSymlinkDirectory:p("file-symlink-directory",60141),fileSymlinkFile:p("file-symlink-file",60142),fileZip:p("file-zip",60143),files:p("files",60144),filter:p("filter",60145),flame:p("flame",60146),foldDown:p("fold-down",60147),foldUp:p("fold-up",60148),fold:p("fold",60149),folderActive:p("folder-active",60150),folderOpened:p("folder-opened",60151),gear:p("gear",60152),gift:p("gift",60153),gistSecret:p("gist-secret",60154),gist:p("gist",60155),gitCommit:p("git-commit",60156),gitCompare:p("git-compare",60157),compareChanges:p("compare-changes",60157),gitMerge:p("git-merge",60158),githubAction:p("github-action",60159),githubAlt:p("github-alt",60160),globe:p("globe",60161),grabber:p("grabber",60162),graph:p("graph",60163),gripper:p("gripper",60164),heart:p("heart",60165),home:p("home",60166),horizontalRule:p("horizontal-rule",60167),hubot:p("hubot",60168),inbox:p("inbox",60169),issueReopened:p("issue-reopened",60171),issues:p("issues",60172),italic:p("italic",60173),jersey:p("jersey",60174),json:p("json",60175),bracket:p("bracket",60175),kebabVertical:p("kebab-vertical",60176),key:p("key",60177),law:p("law",60178),lightbulbAutofix:p("lightbulb-autofix",60179),linkExternal:p("link-external",60180),link:p("link",60181),listOrdered:p("list-ordered",60182),listUnordered:p("list-unordered",60183),liveShare:p("live-share",60184),loading:p("loading",60185),location:p("location",60186),mailRead:p("mail-read",60187),mail:p("mail",60188),markdown:p("markdown",60189),megaphone:p("megaphone",60190),mention:p("mention",60191),milestone:p("milestone",60192),gitPullRequestMilestone:p("git-pull-request-milestone",60192),mortarBoard:p("mortar-board",60193),move:p("move",60194),multipleWindows:p("multiple-windows",60195),mute:p("mute",60196),noNewline:p("no-newline",60197),note:p("note",60198),octoface:p("octoface",60199),openPreview:p("open-preview",60200),package:p("package",60201),paintcan:p("paintcan",60202),pin:p("pin",60203),play:p("play",60204),run:p("run",60204),plug:p("plug",60205),preserveCase:p("preserve-case",60206),preview:p("preview",60207),project:p("project",60208),pulse:p("pulse",60209),question:p("question",60210),quote:p("quote",60211),radioTower:p("radio-tower",60212),reactions:p("reactions",60213),references:p("references",60214),refresh:p("refresh",60215),regex:p("regex",60216),remoteExplorer:p("remote-explorer",60217),remote:p("remote",60218),remove:p("remove",60219),replaceAll:p("replace-all",60220),replace:p("replace",60221),repoClone:p("repo-clone",60222),repoForcePush:p("repo-force-push",60223),repoPull:p("repo-pull",60224),repoPush:p("repo-push",60225),report:p("report",60226),requestChanges:p("request-changes",60227),rocket:p("rocket",60228),rootFolderOpened:p("root-folder-opened",60229),rootFolder:p("root-folder",60230),rss:p("rss",60231),ruby:p("ruby",60232),saveAll:p("save-all",60233),saveAs:p("save-as",60234),save:p("save",60235),screenFull:p("screen-full",60236),screenNormal:p("screen-normal",60237),searchStop:p("search-stop",60238),server:p("server",60240),settingsGear:p("settings-gear",60241),settings:p("settings",60242),shield:p("shield",60243),smiley:p("smiley",60244),sortPrecedence:p("sort-precedence",60245),splitHorizontal:p("split-horizontal",60246),splitVertical:p("split-vertical",60247),squirrel:p("squirrel",60248),starFull:p("star-full",60249),starHalf:p("star-half",60250),symbolClass:p("symbol-class",60251),symbolColor:p("symbol-color",60252),symbolConstant:p("symbol-constant",60253),symbolEnumMember:p("symbol-enum-member",60254),symbolField:p("symbol-field",60255),symbolFile:p("symbol-file",60256),symbolInterface:p("symbol-interface",60257),symbolKeyword:p("symbol-keyword",60258),symbolMisc:p("symbol-misc",60259),symbolOperator:p("symbol-operator",60260),symbolProperty:p("symbol-property",60261),wrench:p("wrench",60261),wrenchSubaction:p("wrench-subaction",60261),symbolSnippet:p("symbol-snippet",60262),tasklist:p("tasklist",60263),telescope:p("telescope",60264),textSize:p("text-size",60265),threeBars:p("three-bars",60266),thumbsdown:p("thumbsdown",60267),thumbsup:p("thumbsup",60268),tools:p("tools",60269),triangleDown:p("triangle-down",60270),triangleLeft:p("triangle-left",60271),triangleRight:p("triangle-right",60272),triangleUp:p("triangle-up",60273),twitter:p("twitter",60274),unfold:p("unfold",60275),unlock:p("unlock",60276),unmute:p("unmute",60277),unverified:p("unverified",60278),verified:p("verified",60279),versions:p("versions",60280),vmActive:p("vm-active",60281),vmOutline:p("vm-outline",60282),vmRunning:p("vm-running",60283),watch:p("watch",60284),whitespace:p("whitespace",60285),wholeWord:p("whole-word",60286),window:p("window",60287),wordWrap:p("word-wrap",60288),zoomIn:p("zoom-in",60289),zoomOut:p("zoom-out",60290),listFilter:p("list-filter",60291),listFlat:p("list-flat",60292),listSelection:p("list-selection",60293),selection:p("selection",60293),listTree:p("list-tree",60294),debugBreakpointFunctionUnverified:p("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:p("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:p("debug-breakpoint-function-disabled",60296),debugStackframeActive:p("debug-stackframe-active",60297),circleSmallFilled:p("circle-small-filled",60298),debugStackframeDot:p("debug-stackframe-dot",60298),terminalDecorationMark:p("terminal-decoration-mark",60298),debugStackframe:p("debug-stackframe",60299),debugStackframeFocused:p("debug-stackframe-focused",60299),debugBreakpointUnsupported:p("debug-breakpoint-unsupported",60300),symbolString:p("symbol-string",60301),debugReverseContinue:p("debug-reverse-continue",60302),debugStepBack:p("debug-step-back",60303),debugRestartFrame:p("debug-restart-frame",60304),debugAlt:p("debug-alt",60305),callIncoming:p("call-incoming",60306),callOutgoing:p("call-outgoing",60307),menu:p("menu",60308),expandAll:p("expand-all",60309),feedback:p("feedback",60310),gitPullRequestReviewer:p("git-pull-request-reviewer",60310),groupByRefType:p("group-by-ref-type",60311),ungroupByRefType:p("ungroup-by-ref-type",60312),account:p("account",60313),gitPullRequestAssignee:p("git-pull-request-assignee",60313),bellDot:p("bell-dot",60314),debugConsole:p("debug-console",60315),library:p("library",60316),output:p("output",60317),runAll:p("run-all",60318),syncIgnored:p("sync-ignored",60319),pinned:p("pinned",60320),githubInverted:p("github-inverted",60321),serverProcess:p("server-process",60322),serverEnvironment:p("server-environment",60323),pass:p("pass",60324),issueClosed:p("issue-closed",60324),stopCircle:p("stop-circle",60325),playCircle:p("play-circle",60326),record:p("record",60327),debugAltSmall:p("debug-alt-small",60328),vmConnect:p("vm-connect",60329),cloud:p("cloud",60330),merge:p("merge",60331),export:p("export",60332),graphLeft:p("graph-left",60333),magnet:p("magnet",60334),notebook:p("notebook",60335),redo:p("redo",60336),checkAll:p("check-all",60337),pinnedDirty:p("pinned-dirty",60338),passFilled:p("pass-filled",60339),circleLargeFilled:p("circle-large-filled",60340),circleLarge:p("circle-large",60341),circleLargeOutline:p("circle-large-outline",60341),combine:p("combine",60342),gather:p("gather",60342),table:p("table",60343),variableGroup:p("variable-group",60344),typeHierarchy:p("type-hierarchy",60345),typeHierarchySub:p("type-hierarchy-sub",60346),typeHierarchySuper:p("type-hierarchy-super",60347),gitPullRequestCreate:p("git-pull-request-create",60348),runAbove:p("run-above",60349),runBelow:p("run-below",60350),notebookTemplate:p("notebook-template",60351),debugRerun:p("debug-rerun",60352),workspaceTrusted:p("workspace-trusted",60353),workspaceUntrusted:p("workspace-untrusted",60354),workspaceUnknown:p("workspace-unknown",60355),terminalCmd:p("terminal-cmd",60356),terminalDebian:p("terminal-debian",60357),terminalLinux:p("terminal-linux",60358),terminalPowershell:p("terminal-powershell",60359),terminalTmux:p("terminal-tmux",60360),terminalUbuntu:p("terminal-ubuntu",60361),terminalBash:p("terminal-bash",60362),arrowSwap:p("arrow-swap",60363),copy:p("copy",60364),personAdd:p("person-add",60365),filterFilled:p("filter-filled",60366),wand:p("wand",60367),debugLineByLine:p("debug-line-by-line",60368),inspect:p("inspect",60369),layers:p("layers",60370),layersDot:p("layers-dot",60371),layersActive:p("layers-active",60372),compass:p("compass",60373),compassDot:p("compass-dot",60374),compassActive:p("compass-active",60375),azure:p("azure",60376),issueDraft:p("issue-draft",60377),gitPullRequestClosed:p("git-pull-request-closed",60378),gitPullRequestDraft:p("git-pull-request-draft",60379),debugAll:p("debug-all",60380),debugCoverage:p("debug-coverage",60381),runErrors:p("run-errors",60382),folderLibrary:p("folder-library",60383),debugContinueSmall:p("debug-continue-small",60384),beakerStop:p("beaker-stop",60385),graphLine:p("graph-line",60386),graphScatter:p("graph-scatter",60387),pieChart:p("pie-chart",60388),bracketDot:p("bracket-dot",60389),bracketError:p("bracket-error",60390),lockSmall:p("lock-small",60391),azureDevops:p("azure-devops",60392),verifiedFilled:p("verified-filled",60393),newline:p("newline",60394),layout:p("layout",60395),layoutActivitybarLeft:p("layout-activitybar-left",60396),layoutActivitybarRight:p("layout-activitybar-right",60397),layoutPanelLeft:p("layout-panel-left",60398),layoutPanelCenter:p("layout-panel-center",60399),layoutPanelJustify:p("layout-panel-justify",60400),layoutPanelRight:p("layout-panel-right",60401),layoutPanel:p("layout-panel",60402),layoutSidebarLeft:p("layout-sidebar-left",60403),layoutSidebarRight:p("layout-sidebar-right",60404),layoutStatusbar:p("layout-statusbar",60405),layoutMenubar:p("layout-menubar",60406),layoutCentered:p("layout-centered",60407),target:p("target",60408),indent:p("indent",60409),recordSmall:p("record-small",60410),errorSmall:p("error-small",60411),terminalDecorationError:p("terminal-decoration-error",60411),arrowCircleDown:p("arrow-circle-down",60412),arrowCircleLeft:p("arrow-circle-left",60413),arrowCircleRight:p("arrow-circle-right",60414),arrowCircleUp:p("arrow-circle-up",60415),layoutSidebarRightOff:p("layout-sidebar-right-off",60416),layoutPanelOff:p("layout-panel-off",60417),layoutSidebarLeftOff:p("layout-sidebar-left-off",60418),blank:p("blank",60419),heartFilled:p("heart-filled",60420),map:p("map",60421),mapHorizontal:p("map-horizontal",60421),foldHorizontal:p("fold-horizontal",60421),mapFilled:p("map-filled",60422),mapHorizontalFilled:p("map-horizontal-filled",60422),foldHorizontalFilled:p("fold-horizontal-filled",60422),circleSmall:p("circle-small",60423),bellSlash:p("bell-slash",60424),bellSlashDot:p("bell-slash-dot",60425),commentUnresolved:p("comment-unresolved",60426),gitPullRequestGoToChanges:p("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:p("git-pull-request-new-changes",60428),searchFuzzy:p("search-fuzzy",60429),commentDraft:p("comment-draft",60430),send:p("send",60431),sparkle:p("sparkle",60432),insert:p("insert",60433),mic:p("mic",60434),thumbsdownFilled:p("thumbsdown-filled",60435),thumbsupFilled:p("thumbsup-filled",60436),coffee:p("coffee",60437),snake:p("snake",60438),game:p("game",60439),vr:p("vr",60440),chip:p("chip",60441),piano:p("piano",60442),music:p("music",60443),micFilled:p("mic-filled",60444),repoFetch:p("repo-fetch",60445),copilot:p("copilot",60446),lightbulbSparkle:p("lightbulb-sparkle",60447),robot:p("robot",60448),sparkleFilled:p("sparkle-filled",60449),diffSingle:p("diff-single",60450),diffMultiple:p("diff-multiple",60451),surroundWith:p("surround-with",60452),share:p("share",60453),gitStash:p("git-stash",60454),gitStashApply:p("git-stash-apply",60455),gitStashPop:p("git-stash-pop",60456),vscode:p("vscode",60457),vscodeInsiders:p("vscode-insiders",60458),codeOss:p("code-oss",60459),runCoverage:p("run-coverage",60460),runAllCoverage:p("run-all-coverage",60461),coverage:p("coverage",60462),githubProject:p("github-project",60463),mapVertical:p("map-vertical",60464),foldVertical:p("fold-vertical",60464),mapVerticalFilled:p("map-vertical-filled",60465),foldVerticalFilled:p("fold-vertical-filled",60465),goToSearch:p("go-to-search",60466),percentage:p("percentage",60467),sortPercentage:p("sort-percentage",60467),attach:p("attach",60468),goToEditingSession:p("go-to-editing-session",60469),editSession:p("edit-session",60470),codeReview:p("code-review",60471),copilotWarning:p("copilot-warning",60472),python:p("python",60473),copilotLarge:p("copilot-large",60474),copilotWarningLarge:p("copilot-warning-large",60475),keyboardTab:p("keyboard-tab",60476),copilotBlocked:p("copilot-blocked",60477),copilotNotConnected:p("copilot-not-connected",60478),flag:p("flag",60479),lightbulbEmpty:p("lightbulb-empty",60480),symbolMethodArrow:p("symbol-method-arrow",60481),copilotUnavailable:p("copilot-unavailable",60482),repoPinned:p("repo-pinned",60483),keyboardTabAbove:p("keyboard-tab-above",60484),keyboardTabBelow:p("keyboard-tab-below",60485),gitPullRequestDone:p("git-pull-request-done",60486),mcp:p("mcp",60487),extensionsLarge:p("extensions-large",60488),layoutPanelDock:p("layout-panel-dock",60489),layoutSidebarLeftDock:p("layout-sidebar-left-dock",60490),layoutSidebarRightDock:p("layout-sidebar-right-dock",60491),copilotInProgress:p("copilot-in-progress",60492),copilotError:p("copilot-error",60493),copilotSuccess:p("copilot-success",60494),chatSparkle:p("chat-sparkle",60495),searchSparkle:p("search-sparkle",60496),editSparkle:p("edit-sparkle",60497),copilotSnooze:p("copilot-snooze",60498),sendToRemoteAgent:p("send-to-remote-agent",60499),commentDiscussionSparkle:p("comment-discussion-sparkle",60500),chatSparkleWarning:p("chat-sparkle-warning",60501),chatSparkleError:p("chat-sparkle-error",60502),collection:p("collection",60503),newCollection:p("new-collection",60504),thinking:p("thinking",60505),build:p("build",60506),commentDiscussionQuote:p("comment-discussion-quote",60507),cursor:p("cursor",60508),eraser:p("eraser",60509),fileText:p("file-text",60510),quotes:p("quotes",60512),rename:p("rename",60513),runWithDeps:p("run-with-deps",60514),debugConnected:p("debug-connected",60515),strikethrough:p("strikethrough",60516),openInProduct:p("open-in-product",60517),indexZero:p("index-zero",60518),agent:p("agent",60519),editCode:p("edit-code",60520),repoSelected:p("repo-selected",60521),skip:p("skip",60522),mergeInto:p("merge-into",60523),gitBranchChanges:p("git-branch-changes",60524),gitBranchStagedChanges:p("git-branch-staged-changes",60525),gitBranchConflicts:p("git-branch-conflicts",60526),gitBranch:p("git-branch",60527),gitBranchCreate:p("git-branch-create",60527),gitBranchDelete:p("git-branch-delete",60527),searchLarge:p("search-large",60528),terminalGitBash:p("terminal-git-bash",60529),windowActive:p("window-active",60530),forward:p("forward",60531),download:p("download",60532),clockface:p("clockface",60533),unarchive:p("unarchive",60534),sessionInProgress:p("session-in-progress",60535),collectionSmall:p("collection-small",60536),vmSmall:p("vm-small",60537),cloudSmall:p("cloud-small",60538),addSmall:p("add-small",60539),removeSmall:p("remove-small",60540),worktreeSmall:p("worktree-small",60541),worktree:p("worktree",60542),screenCut:p("screen-cut",60543),ask:p("ask",60544),openai:p("openai",60545),claude:p("claude",60546),openInWindow:p("open-in-window",60547),newSession:p("new-session",60548),terminalSecure:p("terminal-secure",60549)}});function Yw(){return Object.values(ft)}var DA,ft,qu=w(()=>{Xw();aT();DA={dialogError:p("dialog-error","error"),dialogWarning:p("dialog-warning","warning"),dialogInfo:p("dialog-info","info"),dialogClose:p("dialog-close","close"),treeItemExpanded:p("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:p("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:p("tree-filter-on-type-off","list-selection"),treeFilterClear:p("tree-filter-clear","close"),treeItemLoading:p("tree-item-loading","loading"),menuSelection:p("menu-selection","check"),menuSubmenu:p("menu-submenu","chevron-right"),menuBarMore:p("menubar-more","more"),scrollbarButtonLeft:p("scrollbar-button-left","triangle-left"),scrollbarButtonRight:p("scrollbar-button-right","triangle-right"),scrollbarButtonUp:p("scrollbar-button-up","triangle-up"),scrollbarButtonDown:p("scrollbar-button-down","triangle-down"),toolBarMore:p("toolbar-more","more"),quickInputBack:p("quick-input-back","arrow-left"),dropDownButton:p("drop-down-button",60084),symbolCustomColor:p("symbol-customcolor",60252),exportIcon:p("export",60332),workspaceUnspecified:p("workspace-unspecified",60355),newLine:p("newline",60394),thumbsDownFilled:p("thumbsdown-filled",60435),thumbsUpFilled:p("thumbsup-filled",60436),gitFetch:p("git-fetch",60445),lightbulbSparkleAutofix:p("lightbulb-sparkle-autofix",60447),debugBreakpointPending:p("debug-breakpoint-pending",60377),chatImport:p("chat-import",60550),chatExport:p("chat-export",60551)},ft={...sT,...DA}});var lT,rc,Zw=w(()=>{qu();(r=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}r.isThemeColor=i})(lT||={});(I=>{I.iconNameSegment="[A-Za-z0-9]+",I.iconNameExpression="[A-Za-z0-9-]+",I.iconModifierExpression="~[A-Za-z]+",I.iconNameCharacter="[A-Za-z0-9~-]";let n=new RegExp(`^(${I.iconNameExpression})(${I.iconModifierExpression})?$`);function o(C){let R=n.exec(C.id);if(!R)return o(ft.error);let[,D,A]=R,z=["codicon","codicon-"+D];return A&&z.push("codicon-modifier-"+A.substring(1)),z}I.asClassNameArray=o;function s(C){return o(C).join(" ")}I.asClassName=s;function a(C){return"."+o(C).join(".")}I.asCSSSelector=a;function l(C){return!!C&&typeof C=="object"&&typeof C.id=="string"&&(typeof C.color>"u"||lT.isThemeColor(C.color))}I.isThemeIcon=l;let c=new RegExp(`^\\$\\((${I.iconNameExpression}(?:${I.iconModifierExpression})?)\\)$`);function d(C){let R=c.exec(C);if(!R)return;let[,D]=R;return{id:D}}I.fromString=d;function u(C){return{id:C}}I.fromId=u;function f(C,R){let D=C.id,A=D.lastIndexOf("~");return A!==-1&&(D=D.substring(0,A)),R&&(D=`${D}~${R}`),{id:D}}I.modify=f;function m(C){let R=C.id.lastIndexOf("~");if(R!==-1)return C.id.substring(R+1)}I.getModifier=m;function y(C,R){return C.id===R.id&&C.color?.id===R.color?.id}I.isEqual=y;function v(C){return C?.id===ft.file.id}I.isFile=v;function b(C){return C?.id===ft.folder.id}I.isFolder=b})(rc||={})});import gn,{screen as AA}from"electron";import{release as cT}from"os";var eI,Ku,sa,tI,rI=w(()=>{ve();wt();Lo();J();$();qe();di();te();le();Te();gl();at();qs();Rt();Al();Ke();Pt();oe();tr();Th();iT();Ri();rr();Zw();sl();$o();Dt();Cr();Qo();Ti();oi();Sn();Go();zl();re();it();He();Jy();ny();eI=class i{constructor(){this.windows=new Set}static{this.INSTANCE=new i}acquireBadge(r){return this.windows.add(r.id),gn.app.setBadgeCount(ne?1:void 0),{dispose:()=>{this.windows.delete(r.id),this.windows.size===0&&gn.app.setBadgeCount(0)}}}},Ku=class i extends _{constructor(e,t,n,o){super();this.configurationService=e;this.stateService=t;this.environmentMainService=n;this.logService=o;this._onDidClose=this._register(new S);this.onDidClose=this._onDidClose.event;this._onDidMaximize=this._register(new S);this.onDidMaximize=this._onDidMaximize.event;this._onDidUnmaximize=this._register(new S);this.onDidUnmaximize=this._onDidUnmaximize.event;this._onDidTriggerSystemContextMenu=this._register(new S);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this._onDidEnterFullScreen=this._register(new S);this.onDidEnterFullScreen=this._onDidEnterFullScreen.event;this._onDidLeaveFullScreen=this._register(new S);this.onDidLeaveFullScreen=this._onDidLeaveFullScreen.event;this._onDidChangeAlwaysOnTop=this._register(new S);this.onDidChangeAlwaysOnTop=this._onDidChangeAlwaysOnTop.event;this._lastFocusTime=Date.now();this._win=null;this.notifyFocusDisposable=this._register(new qt);this.windowControlsDimmed=!1;this.transientIsNativeFullScreen=void 0;this.joinNativeFullScreenTransition=void 0}get lastFocusTime(){return this._lastFocusTime}get win(){return this._win}setWin(e,t){this._win=e,this._register(x.fromNodeEventEmitter(e,"maximize")(()=>{if(W&&this.environmentMainService.enableRDPDisplayTracking&&this._win){let[o,s]=this._win.getPosition(),[a,l]=this._win.getSize();this.maximizedWindowState={mode:0,width:a,height:l,x:o,y:s},this.logService.debug(`Saved maximized window ${this.id} display state:`,this.maximizedWindowState)}this._onDidMaximize.fire()})),this._register(x.fromNodeEventEmitter(e,"unmaximize")(()=>{W&&this.environmentMainService.enableRDPDisplayTracking&&this.maximizedWindowState&&(this.maximizedWindowState=void 0,this.logService.debug(`Cleared maximized window ${this.id} state`)),this._onDidUnmaximize.fire()})),this._register(x.fromNodeEventEmitter(e,"closed")(()=>{this._onDidClose.fire(),this.dispose()})),this._register(x.fromNodeEventEmitter(e,"focus")(()=>{this.clearNotifyFocus(),this._lastFocusTime=Date.now()})),this._register(x.fromNodeEventEmitter(this._win,"enter-full-screen")(()=>this._onDidEnterFullScreen.fire())),this._register(x.fromNodeEventEmitter(this._win,"leave-full-screen")(()=>this._onDidLeaveFullScreen.fire())),this._register(x.fromNodeEventEmitter(this._win,"always-on-top-changed",(o,s)=>s)(o=>this._onDidChangeAlwaysOnTop.fire(o)));let n=!Ho(this.configurationService,t?.titleBarStyle==="hidden"?"custom":void 0);if(V&&n&&e.setSheetOffset(_g(cT())?32:28),n&&iu(this.configurationService)){let o=this.stateService.getItem(i.windowControlHeightStateStorageKey);o?this.updateWindowControls({height:o}):this.updateWindowControls({height:Ox})}(W||ne)&&n&&this._register(x.fromNodeEventEmitter(e,"system-context-menu",(o,s)=>({event:o,point:s}))(o=>{let[s,a]=e.getPosition(),l=gn.screen.screenToDipPoint(o.point),c=Math.floor(l.x)-s,d=Math.floor(l.y)-a;ne&&c>35&&(o.event.preventDefault(),this._onDidTriggerSystemContextMenu.fire({x:c,y:d}))})),this.environmentMainService.args["open-devtools"]===!0&&e.webContents.openDevTools(),V&&(this._register(this.onDidEnterFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)})),this._register(this.onDidLeaveFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)}))),W&&this.environmentMainService.enableRDPDisplayTracking&&this._register(x.fromNodeEventEmitter(AA,"display-added",(o,s)=>({event:o,display:s}))(o=>{this.onDisplayAdded(o.display)}))}onDisplayAdded(e){let t=this.maximizedWindowState;t&&this._win&&ll.validateWindowStateOnDisplay(t,e)&&(this.logService.debug(`Setting maximized window ${this.id} bounds to match newly added display`,t),this._win.setBounds(t))}applyState(e,t=gn.screen.getAllDisplays().length>0){let n=this.configurationService.getValue("window"),o=V&&n?.nativeTabs===!0;(V||W)&&t&&(!o||_i().length===1)&&[e.width,e.height,e.x,e.y].every(s=>typeof s=="number")&&this._win?.setBounds({width:e.width,height:e.height,x:e.x,y:e.y}),(e.mode===0||e.mode===3)&&(this._win?.maximize(),e.mode===3&&this.setFullScreen(!0,!0),this._win?.show())}setRepresentedFilename(e){V?this.win?.setRepresentedFilename(e):this.representedFilename=e}getRepresentedFilename(){return V?this.win?.getRepresentedFilename():this.representedFilename}setDocumentEdited(e){V&&this.win?.setDocumentEdited(e),this.documentEdited=e}isDocumentEdited(){return V?!!this.win?.isDocumentEdited():!!this.documentEdited}focus(e){switch(e?.mode??0){case 0:this.doFocusWindow();break;case 1:this.showNotifyFocus();break;case 2:V&&gn.app.focus({steal:!0}),this.doFocusWindow();break}}showNotifyFocus(){let e=new ee;this.notifyFocusDisposable.value=e,e.add(eI.INSTANCE.acquireBadge(this)),W||ne?(this.win?.flashFrame(!0),e.add(G(()=>this.win?.flashFrame(!1)))):V&&gn.app.dock?.bounce("informational")}clearNotifyFocus(){this.notifyFocusDisposable.clear()}doFocusWindow(){let e=this.win;e&&(e.isMinimized()&&e.restore(),e.focus(),e.webContents.focus())}static{this.windowControlHeightStateStorageKey="windowControlHeight"}updateWindowControls(e){let t=this.win;if(t){if(e.height&&this.stateService.setItem(sa.windowControlHeightStateStorageKey,e.height),!V&&iu(this.configurationService)){e.dimmed!==void 0&&(this.windowControlsDimmed=e.dimmed);let n=e.backgroundColor??this.lastWindowControlColors?.backgroundColor,o=e.foregroundColor??this.lastWindowControlColors?.foregroundColor;(e.backgroundColor!==void 0||e.foregroundColor!==void 0)&&(this.lastWindowControlColors={backgroundColor:n,foregroundColor:o});let s=this.windowControlsDimmed&&n?this.dimColor(n):n,a=this.windowControlsDimmed&&o?this.dimColor(o):o;t.setTitleBarOverlay({color:s?.trim()===""?void 0:s,symbolColor:a?.trim()===""?void 0:a,height:e.height?e.height-1:void 0})}else if(V&&e.height!==void 0){let n=_g(cT())?14:16,o=Math.floor((e.height-n)/2);o?t.setWindowButtonPosition({x:o+1,y:o}):t.setWindowButtonPosition(null)}}}dimColor(e){let t=zo.Format.CSS.parse(e);if(!t)return e;let n=.7,o=Math.round(t.rgba.r*n),s=Math.round(t.rgba.g*n),a=Math.round(t.rgba.b*n);return`rgb(${o}, ${s}, ${a})`}toggleFullScreen(){this.setFullScreen(!this.isFullScreen,!1)}setFullScreen(e,t){Jf(this.configurationService)?this.setNativeFullScreen(e,t):this.setSimpleFullScreen(e)}get isFullScreen(){if(V&&typeof this.transientIsNativeFullScreen=="boolean")return this.transientIsNativeFullScreen;let e=this.win,t=e?.isFullScreen(),n=e?.isSimpleFullScreen();return!!(t||n)}setNativeFullScreen(e,t){let n=this.win;n?.isSimpleFullScreen()&&n?.setSimpleFullScreen(!1),this.doSetNativeFullScreen(e,t)}doSetNativeFullScreen(e,t){if(V){this.transientIsNativeFullScreen=e;let o=this.joinNativeFullScreenTransition=new Kt;(async()=>{let s=await Promise.race([o.p,ct(1e4).then(()=>!1)]);this.joinNativeFullScreenTransition===o&&(this.transientIsNativeFullScreen=void 0,this.joinNativeFullScreenTransition=void 0,!s&&e&&t&&this.win&&!this.win.isFullScreen()&&(this.logService.warn("window: native macOS fullscreen transition did not happen within 10s from restoring"),this._onDidLeaveFullScreen.fire()))})()}this.win?.setFullScreen(e)}setSimpleFullScreen(e){let t=this.win;t?.isFullScreen()&&this.doSetNativeFullScreen(!1,!1),t?.setSimpleFullScreen(e),t?.webContents.focus()}dispose(){super.dispose(),this._win=null}},sa=class extends Ku{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,b,I,C,R,D,A,z){super(u,A,o,t);this.loggerMainService=n;this.policyService=s;this.userDataProfilesService=a;this.fileService=l;this.applicationStorageMainService=c;this.storageMainService=d;this.themeMainService=f;this.workspacesManagementMainService=m;this.backupMainService=y;this.telemetryService=v;this.dialogMainService=b;this.lifecycleMainService=I;this.productService=C;this.windowsMainService=D;this._onWillLoad=this._register(new S);this.onWillLoad=this._onWillLoad.event;this._onDidSignalReady=this._register(new S);this.onDidSignalReady=this._onDidSignalReady.event;this._onDidDestroy=this._register(new S);this.onDidDestroy=this._onDidDestroy.event;this.whenReadyCallbacks=[];this.touchBarGroups=[];this.currentHttpProxy=void 0;this.currentNoProxy=void 0;this.customZoomLevel=void 0;this.wasLoaded=!1;this.readyState=0;this.swipeListenerDisposable=this._register(new qt);{this.configObjectUrl=this._register(R.createIPCObjectUrl());let[q,ue]=this.restoreWindowState(e.state);this.windowState=q,this.logService.trace("window#ctor: using window state",q);let rt={preload:st.asFileUri("vs/base/parts/sandbox/electron-browser/preload.js").fsPath,additionalArguments:[`--vscode-window-config=${this.configObjectUrl.resource.toString()}`],v8CacheOptions:this.environmentMainService.useCodeCache?"bypassHeatCheck":"none"};process.isEmbeddedApp&&(rt.backgroundThrottling=!1);let bt=z.invokeFunction(al,this.windowState,void 0,rt);Ne("code/willCreateCodeBrowserWindow"),this._win=new gn.BrowserWindow(bt),Ne("code/didCreateCodeBrowserWindow"),this._id=this._win.id,this.setWin(this._win,bt),this.applyState(this.windowState,ue),this._lastFocusTime=Date.now()}let N=parseInt(this.environmentMainService.args["unresponsive-sample-interval"]||"1000"),j=parseInt(this.environmentMainService.args["unresponsive-sample-period"]||"15000");(N<=0||j<=0||N>j)&&(this.logService.warn(`Invalid unresponsive sample interval (${N}ms) or period (${j}ms), using defaults.`),N=1e3,j=15e3),this.jsCallStackMap=new Map,this.jsCallStackEffectiveSampleCount=Math.round(j/N),this.jsCallStackCollector=this._register(new zi(N)),this.jsCallStackCollectorStopScheduler=this._register(new hr(()=>{this.stopCollectingJScallStacks()},j)),this.onConfigurationUpdated(),this.createTouchBar(),this.registerListeners()}get id(){return this._id}get backupPath(){return this._config?.backupPath}get openedWorkspace(){return this._config?.workspace}get profile(){if(!this.config)return;let e=this.userDataProfilesService.profiles.find(t=>t.id===this.config?.profiles.profile.id);return this.isExtensionDevelopmentHost&&e?e:this.userDataProfilesService.getProfileForWorkspace(this.config.workspace??Vo(this.backupPath,this.isExtensionDevelopmentHost))??this.userDataProfilesService.defaultProfile}get remoteAuthority(){return this._config?.remoteAuthority}get config(){return this._config}get isExtensionDevelopmentHost(){return!!this._config?.extensionDevelopmentPath}get isExtensionTestHost(){return!!this._config?.extensionTestsPath}get isExtensionDevelopmentTestFromCli(){return this.isExtensionDevelopmentHost&&this.isExtensionTestHost&&!this._config?.debugId}setReady(){for(this.logService.trace(`window#load: window reported ready (id: ${this._id})`),this.readyState=2;this.whenReadyCallbacks.length;)this.whenReadyCallbacks.pop()(this);this._onDidSignalReady.fire()}ready(){return new Promise(e=>{if(this.isReady)return e(this);this.whenReadyCallbacks.push(e)})}get isReady(){return this.readyState===2}get whenClosedOrLoaded(){return new Promise(e=>{function t(){n.dispose(),o.dispose(),e()}let n=this.onDidClose(()=>t()),o=this.onWillLoad(()=>t())})}registerListeners(){this._register(x.fromNodeEventEmitter(this._win,"unresponsive")(()=>this.onWindowError(1))),this._register(x.fromNodeEventEmitter(this._win,"responsive")(()=>this.onWindowError(4))),this._register(x.fromNodeEventEmitter(this._win.webContents,"render-process-gone",(t,n)=>n)(t=>this.onWindowError(2,{...t}))),this._register(x.fromNodeEventEmitter(this._win.webContents,"did-fail-load",(t,n,o)=>({exitCode:n,reason:o}))(({exitCode:t,reason:n})=>this.onWindowError(3,{reason:n,exitCode:t}))),this._register(x.fromNodeEventEmitter(this._win.webContents,"will-prevent-unload")(t=>t.preventDefault())),this._register(x.fromNodeEventEmitter(this._win.webContents,"did-finish-load")(()=>{this.pendingLoadConfig&&(this._config=this.pendingLoadConfig,this.pendingLoadConfig=void 0)})),this._register(this.onDidMaximize(()=>{this._config&&(this._config.maximized=!0)})),this._register(this.onDidUnmaximize(()=>{this._config&&(this._config.maximized=!1)})),this._register(this.onDidEnterFullScreen(()=>{this.sendWhenReady("vscode:enterFullScreen",Se.None)})),this._register(this.onDidLeaveFullScreen(()=>{this.sendWhenReady("vscode:leaveFullScreen",Se.None)})),this._register(this.configurationService.onDidChangeConfiguration(t=>this.onConfigurationUpdated(t))),this._register(this.workspacesManagementMainService.onDidDeleteUntitledWorkspace(t=>this.onDidDeleteUntitledWorkspace(t)));let e=["https://*.vsassets.io/*"];if(this.productService.extensionsGallery?.serviceUrl){let t=E.parse(this.productService.extensionsGallery.serviceUrl);e.push(`${t.scheme}://${t.authority}/*`)}this._win.webContents.session.webRequest.onBeforeSendHeaders({urls:e},async(t,n)=>{let o=await this.getMarketplaceHeaders();n({cancel:!1,requestHeaders:Object.assign(t.requestHeaders,o)})})}getMarketplaceHeaders(){return this.marketplaceHeadersPromise||(this.marketplaceHeadersPromise=nT(this.productService.version,this.productService,this.environmentMainService,this.configurationService,this.fileService,this.applicationStorageMainService,this.telemetryService)),this.marketplaceHeadersPromise}async onWindowError(e,t){switch(e){case 2:this.logService.error(`CodeWindow: renderer process gone (reason: ${t?.reason||"<unknown>"}, code: ${t?.exitCode||"<unknown>"})`);break;case 1:this.logService.error("CodeWindow: detected unresponsive");break;case 4:this.logService.error("CodeWindow: recovered from unresponsive");break;case 3:this.logService.error(`CodeWindow: failed to load (reason: ${t?.reason||"<unknown>"}, code: ${t?.exitCode||"<unknown>"})`);break}switch(this.telemetryService.publicLog2("windowerror",{type:e,reason:t?.reason,code:t?.exitCode}),e){case 1:case 2:if(this.isExtensionDevelopmentTestFromCli){this.lifecycleMainService.kill(1);return}if(this.environmentMainService.args["enable-smoke-test-driver"]){await this.destroyWindow(!1,!1),this.lifecycleMainService.quit();return}if(e===1){if(this.isExtensionDevelopmentHost||this.isExtensionTestHost||this._win?.webContents?.isDevToolsOpened())return;this.jsCallStackCollector.trigger(()=>this.startCollectingJScallStacks()),this.jsCallStackCollectorStopScheduler.schedule();let{response:n,checkboxChecked:o}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2788,null),h(2784,null),h(2789,null)],message:h(2782,null),detail:h(2783,null),checkboxLabel:this._config?.workspace?h(2785,null):void 0},this._win);if(n!==2){let s=n===0;this.stopCollectingJScallStacks(),await this.destroyWindow(s,o)}}else if(e===2){let n;t?n=h(2780,null,t.reason,t.exitCode??"<unknown>"):n=h(2778,null);let{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[this._config?.workspace?h(2788,null):h(2787,null),h(2784,null)],message:n,detail:this._config?.workspace?h(2781,null):h(2779,null),checkboxLabel:this._config?.workspace?h(2785,null):void 0},this._win),a=o===0;await this.destroyWindow(a,s)}break;case 4:this.stopCollectingJScallStacks();break}}async destroyWindow(e,t){let n=this._config?.workspace;if(t&&n)try{let o=this.storageMainService.workspaceStorage(n);await o.init(),o.delete("memento/workbench.parts.editor"),await o.close()}catch(o){this.logService.error(o)}this._onDidDestroy.fire();try{if(e&&this._config){let o,s;Ut(n)?o={folderUri:n.uri}:dt(n)?o={workspaceUri:n.configPath}:s=!0,(await this.windowsMainService.open({context:5,userEnv:this._config.userEnv,cli:{...this.environmentMainService.args,_:[]},urisToOpen:o?[o]:void 0,forceEmpty:s,forceNewWindow:!0,remoteAuthority:this.remoteAuthority})).at(0)?.focus()}}finally{this._win?.destroy()}}onDidDeleteUntitledWorkspace(e){this._config?.workspace?.id===e.id&&(this._config.workspace=void 0)}onConfigurationUpdated(e){if(V&&(!e||e.affectsConfiguration("workbench.editor.swipeToNavigate"))&&(this.configurationService.getValue("workbench.editor.swipeToNavigate")?this.registerSwipeListener():this.swipeListenerDisposable.clear()),!e||e.affectsConfiguration("window.menuBarVisibility")){let t=this.getMenuBarVisibility();t!==this.currentMenuBarVisibility&&(this.currentMenuBarVisibility=t,this.setMenuBarVisibility(t))}if(!e||e.affectsConfiguration("http.proxy")||e.affectsConfiguration("http.noProxy")){let n=(this.configurationService.inspect("http.proxy").userLocalValue||"").trim()||(process.env.https_proxy||process.env.HTTPS_PROXY||process.env.http_proxy||process.env.HTTP_PROXY||"").trim()||void 0;if(n?.indexOf("@")!==-1){let s=E.parse(n),a=s.authority.indexOf("@");a!==-1&&(n=s.with({authority:s.authority.substring(a+1)}).toString())}n?.endsWith("/")&&(n=n.substr(0,n.length-1));let o=(this.configurationService.getValue("http.noProxy")||[]).map(s=>s.trim()).join(",")||(process.env.no_proxy||process.env.NO_PROXY||"").trim()||void 0;if((n||"").indexOf("@")===-1&&(n!==this.currentHttpProxy||o!==this.currentNoProxy)){this.currentHttpProxy=n,this.currentNoProxy=o;let s=n||"",a=o?`${o},<local>`:"<local>";this.logService.trace(`Setting proxy to '${s}', bypassing '${a}'`),this._win.webContents.session.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""}),gn.app.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""})}}}registerSwipeListener(){this.swipeListenerDisposable.value=x.fromNodeEventEmitter(this._win,"swipe",(e,t)=>t)(e=>{this.isReady&&(e==="left"?this.send("vscode:runAction",{id:"workbench.action.openPreviousRecentlyUsedEditor",from:"mouse"}):e==="right"&&this.send("vscode:runAction",{id:"workbench.action.openNextRecentlyUsedEditor",from:"mouse"}))})}addTabbedWindow(e){V&&e.win&&this._win.addTabbedWindow(e.win)}load(e,t=Object.create(null)){this.logService.trace(`window#load: attempt to load window (id: ${this._id})`),this.isDocumentEdited()&&(!t.isReload||!this.backupMainService.isHotExitEnabled())&&this.setDocumentEdited(!1),t.isReload||(this.getRepresentedFilename()&&this.setRepresentedFilename(""),this._win.setTitle(this.productService.nameLong)),this.updateConfiguration(e,t),this.readyState===0?this._config=e:this.pendingLoadConfig=e,this.readyState=1;let n;process.env.VSCODE_DEV&&process.env.VSCODE_DEV_SERVER_URL?n=process.env.VSCODE_DEV_SERVER_URL:e.isSessionsWindow?n=st.asBrowserUri(`vs/sessions/electron-browser/sessions${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0):n=st.asBrowserUri(`vs/code/electron-browser/workbench/workbench${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0),this._win.loadURL(n);let o=this.wasLoaded;this.wasLoaded=!0,!this.environmentMainService.isBuilt&&!this.environmentMainService.extensionTestsLocationURI&&this._register(new hr(()=>{this._win&&!this._win.isVisible()&&!this._win.isMinimized()&&(this._win.show(),this.focus({mode:2}),this._win.webContents.openDevTools())},1e4)).schedule(),this._onWillLoad.fire({workspace:e.workspace,reason:t.isReload?3:o?2:1})}updateConfiguration(e,t){let n=(this._config??this.pendingLoadConfig)?.userEnv;if(n){let o=ni(n)&&!ni(e.userEnv),s=this.isExtensionDevelopmentHost;(o||s)&&(e.userEnv={...n,...e.userEnv})}process.env.CHROME_CRASHPAD_PIPE_NAME&&Object.assign(e.userEnv,{CHROME_CRASHPAD_PIPE_NAME:process.env.CHROME_CRASHPAD_PIPE_NAME}),t.disableExtensions!==void 0&&(e["disable-extensions"]=t.disableExtensions);try{e.handle=H.wrap(this._win.getNativeWindowHandle())}catch(o){this.logService.error(`Error getting native window handle: ${o}`)}e.fullscreen=this.isFullScreen,e.maximized=this._win.isMaximized(),e.partsSplash=this.themeMainService.getWindowSplash(e.workspace),e.zoomLevel=this.getZoomLevel(),e.isCustomZoomLevel=typeof this.customZoomLevel=="number",e.isCustomZoomLevel&&e.partsSplash&&(e.partsSplash.zoomLevel=e.zoomLevel),Ne("code/willOpenNewWindow"),e.perfMarks=pp(),this.configObjectUrl.update(e)}async reload(e){let t=Object.assign({},this._config);t.workspace=await this.validateWorkspaceBeforeReload(t),delete t.filesToOpenOrCreate,delete t.filesToDiff,delete t.filesToMerge,delete t.filesToWait,this.isExtensionDevelopmentHost&&e&&(t.verbose=e.verbose,t.debugId=e.debugId,t.extensionEnvironment=e.extensionEnvironment,t["inspect-extensions"]=e["inspect-extensions"],t["inspect-brk-extensions"]=e["inspect-brk-extensions"],t["extensions-dir"]=e["extensions-dir"]),t.accessibilitySupport=gn.app.isAccessibilitySupportEnabled(),t.isInitialStartup=!1,t.policiesData=this.policyService.serialize(),t.continueOn=this.environmentMainService.continueOn,t.profiles={all:this.userDataProfilesService.profiles,profile:this.profile||this.userDataProfilesService.defaultProfile,home:this.userDataProfilesService.profilesHome},t.logLevel=this.loggerMainService.getLogLevel(),t.loggers=this.loggerMainService.getGlobalLoggers(),this.load(t,{isReload:!0,disableExtensions:e?.["disable-extensions"]})}async validateWorkspaceBeforeReload(e){if(dt(e.workspace)){let t=e.workspace.configPath;if(t.scheme===F.file&&!await this.fileService.exists(t))return}else if(Ut(e.workspace)){let t=e.workspace.uri;if(t.scheme===F.file&&!await this.fileService.exists(t))return}return e.workspace}serializeWindowState(){if(!this._win)return Ei();if(this.isFullScreen){let n;try{n=gn.screen.getDisplayMatching(this.getBounds())}catch{}let o=Ei();return{mode:3,display:n?n.id:void 0,width:this.windowState.width||o.width,height:this.windowState.height||o.height,x:this.windowState.x||0,y:this.windowState.y||0,zoomLevel:this.customZoomLevel}}let e=Object.create(null),t;if(!V&&this._win.isMaximized()?t=0:t=1,t===0?e.mode=0:e.mode=1,t===1||t===0){let n;t===1?n=this.getBounds():n=this._win.getNormalBounds(),e.x=n.x,e.y=n.y,e.width=n.width,e.height=n.height}return e.zoomLevel=this.customZoomLevel,e}restoreWindowState(e){Ne("code/willRestoreCodeWindowState");let t=!1;if(e){this.customZoomLevel=e.zoomLevel;try{let n=gn.screen.getAllDisplays();t=n.length>1,e=ll.validateWindowState(this.logService,e,n)}catch(n){this.logService.warn(`Unexpected error validating window state: ${n}
${n.stack}`)}}return Ne("code/didRestoreCodeWindowState"),[e||Ei(),t]}getBounds(){let[e,t]=this._win.getPosition(),[n,o]=this._win.getSize();return{x:e,y:t,width:n,height:o}}setFullScreen(e,t){super.setFullScreen(e,t),this.sendWhenReady(e?"vscode:enterFullScreen":"vscode:leaveFullScreen",Se.None),this.currentMenuBarVisibility&&this.setMenuBarVisibility(this.currentMenuBarVisibility,!1)}getMenuBarVisibility(){let e=Ax(this.configurationService);return["visible","toggle","hidden"].indexOf(e)<0&&(e="classic"),e}setMenuBarVisibility(e,t=!0){V||(e==="toggle"&&t&&this.send("vscode:showInfoMessage",h(2786,null)),e==="hidden"?setTimeout(()=>{this.doSetMenuBarVisibility(e)}):this.doSetMenuBarVisibility(e))}doSetMenuBarVisibility(e){let t=this.isFullScreen;switch(e){case"classic":this._win.setMenuBarVisibility(!t),this._win.autoHideMenuBar=t;break;case"visible":this._win.setMenuBarVisibility(!0),this._win.autoHideMenuBar=!1;break;case"toggle":this._win.setMenuBarVisibility(!1),this._win.autoHideMenuBar=!0;break;case"hidden":this._win.setMenuBarVisibility(!1),this._win.autoHideMenuBar=!1;break}}notifyZoomLevel(e){this.customZoomLevel=e}getZoomLevel(){return typeof this.customZoomLevel=="number"?this.customZoomLevel:this.configurationService.getValue("window")?.zoomLevel}close(){this._win?.close()}sendWhenReady(e,t,...n){this.isReady?this.send(e,...n):this.ready().then(()=>{t.isCancellationRequested||this.send(e,...n)})}send(e,...t){if(this._win){if(this._win.isDestroyed()||this._win.webContents.isDestroyed()){this.logService.warn(`Sending IPC message to channel '${e}' for window that is destroyed`);return}try{this._win.webContents.send(e,...t)}catch(n){this.logService.warn(`Error sending IPC message to channel '${e}' of window ${this._id}: ${Er(n)}`)}}}updateTouchBar(e){V&&this.touchBarGroups.forEach((t,n)=>{let o=e[n];t.segments=this.createTouchBarGroupSegments(o)})}createTouchBar(){if(V){for(let e=0;e<10;e++){let t=this.createTouchBarGroup();this.touchBarGroups.push(t)}this._win.setTouchBar(new gn.TouchBar({items:this.touchBarGroups}))}}createTouchBarGroup(e=[]){let t=this.createTouchBarGroupSegments(e),n=new gn.TouchBar.TouchBarSegmentedControl({segments:t,mode:"buttons",segmentStyle:"automatic",change:o=>{this.sendWhenReady("vscode:runAction",Se.None,{id:n.segments[o].id,from:"touchbar"})}});return n}createTouchBarGroupSegments(e=[]){return e.map(n=>{let o;n.icon&&!rc.isThemeIcon(n.icon)&&n.icon?.dark?.scheme===F.file&&(o=gn.nativeImage.createFromPath(E.revive(n.icon.dark).fsPath),o.isEmpty()&&(o=void 0));let s;return typeof n.title=="string"?s=n.title:s=n.title.value,{id:n.id,label:o?void 0:s,icon:o}})}async startCollectingJScallStacks(){if(!this.jsCallStackCollector.isTriggered()){let e=await this._win?.webContents.mainFrame.collectJavaScriptCallStack();if(e){let t=this.jsCallStackMap.get(e)||0;this.jsCallStackMap.set(e,t+1)}this.jsCallStackCollector.trigger(()=>this.startCollectingJScallStacks())}}stopCollectingJScallStacks(){if(this.jsCallStackCollectorStopScheduler.cancel(),this.jsCallStackCollector.cancel(),this.jsCallStackMap.size){let e=`CodeWindow unresponsive samples:
`,t=0,n=Array.from(this.jsCallStackMap.entries()).sort((o,s)=>s[1]-o[1]);for(let[o,s]of n){if(t+=s,Math.round(s*100/this.jsCallStackEffectiveSampleCount)>20){let a=new tI(o,this.id,this._win?.webContents.getOSProcessId());Ia.onUnexpectedError(a)}e+=`<${s}> ${o}
`}e+=`Total Samples: ${t}
`,e+="For full overview of the unresponsive period, capture cpu profile via https://aka.ms/vscode-tracing-cpu-profile",this.logService.error(e)}this.jsCallStackMap.clear()}matches(e){return this._win?.webContents.id===e.id}dispose(){super.dispose(),this.loggerMainService.deregisterLoggers(this.id)}};sa=T([g(1,U),g(2,si),g(3,Ce),g(4,Un),g(5,Wr),g(6,Ae),g(7,yr),g(8,Hs),g(9,he),g(10,Ci),g(11,hn),g(12,Di),g(13,Ge),g(14,xn),g(15,ye),g(16,De),g(17,tc),g(18,Be),g(19,kt),g(20,Wt)],sa);tI=class extends Error{constructor(r,e,t=0){let n=Error.stackTraceLimit;Error.stackTraceLimit=0,super(`UnresponsiveSampleError: from window with ID ${e} belonging to process with pid ${t}`),Error.stackTraceLimit=n,this.name="UnresponsiveSampleError",this.stack=r}}});import nc from"electron";function MA(i){let r={openedWindows:[]},e=i||{openedWindows:[]};return e.lastActiveWindow&&(r.lastActiveWindow=nI(e.lastActiveWindow)),e.lastPluginDevelopmentHostWindow&&(r.lastPluginDevelopmentHostWindow=nI(e.lastPluginDevelopmentHostWindow)),Array.isArray(e.openedWindows)&&(r.openedWindows=e.openedWindows.map(t=>nI(t))),r}function nI(i){let r={uiState:i.uiState};return i.backupPath&&(r.backupPath=i.backupPath),i.remoteAuthority&&(r.remoteAuthority=i.remoteAuthority),i.folder&&(r.folderUri=E.parse(i.folder)),i.workspaceIdentifier&&(r.workspace={id:i.workspaceIdentifier.id,configPath:E.parse(i.workspaceIdentifier.configURIPath)}),r}function OA(i){return{lastActiveWindow:i.lastActiveWindow&&iI(i.lastActiveWindow),lastPluginDevelopmentHostWindow:i.lastPluginDevelopmentHostWindow&&iI(i.lastPluginDevelopmentHostWindow),openedWindows:i.openedWindows.map(r=>iI(r))}}function iI(i){return{workspaceIdentifier:i.workspace&&{id:i.workspace.id,configURIPath:i.workspace.configPath.toString()},folder:i.folderUri?.toString(),backupPath:i.backupPath,remoteAuthority:i.remoteAuthority,uiState:i.uiState}}var go,dT=w(()=>{$();te();It();le();at();Pt();oe();Sn();Dt();Ti();Cr();go=class extends _{constructor(e,t,n,o,s){super();this.windowsMainService=e;this.stateService=t;this.lifecycleMainService=n;this.logService=o;this.configurationService=s;this.lastClosedState=void 0;this.shuttingDown=!1;this._state=MA(this.stateService.getItem(go.windowsStateStorageKey)),this.registerListeners()}static{this.windowsStateStorageKey="windowsState"}get state(){return this._state}registerListeners(){nc.app.on("browser-window-blur",()=>{this.shuttingDown||this.saveWindowsState()}),this._register(this.lifecycleMainService.onBeforeCloseWindow(e=>this.onBeforeCloseWindow(e))),this._register(this.lifecycleMainService.onBeforeShutdown(()=>this.onBeforeShutdown())),this._register(this.windowsMainService.onDidChangeWindowsCount(e=>{e.newCount-e.oldCount>0&&(this.lastClosedState=void 0)})),this._register(this.windowsMainService.onDidDestroyWindow(e=>this.onBeforeCloseWindow(e)))}onBeforeShutdown(){this.shuttingDown=!0,this.saveWindowsState()}saveWindowsState(){let e=new Set,t={openedWindows:[],lastPluginDevelopmentHostWindow:this._state.lastPluginDevelopmentHostWindow,lastActiveWindow:this.lastClosedState};if(!t.lastActiveWindow){let s=this.windowsMainService.getLastActiveWindow();(!s||s.isExtensionDevelopmentHost)&&(s=this.windowsMainService.getWindows().find(a=>!a.isExtensionDevelopmentHost)),s&&(t.lastActiveWindow=this.toWindowState(s),t.lastActiveWindow.uiState.mode===3&&e.add(t.lastActiveWindow.uiState.display))}let n=this.windowsMainService.getWindows().find(s=>s.isExtensionDevelopmentHost&&!s.isExtensionTestHost);n&&(t.lastPluginDevelopmentHostWindow=this.toWindowState(n),t.lastPluginDevelopmentHostWindow.uiState.mode===3&&(e.has(t.lastPluginDevelopmentHostWindow.uiState.display)?V&&!n.win?.isSimpleFullScreen()&&(t.lastPluginDevelopmentHostWindow.uiState.mode=1):e.add(t.lastPluginDevelopmentHostWindow.uiState.display))),this.windowsMainService.getWindowCount()>1&&(t.openedWindows=this.windowsMainService.getWindows().filter(s=>!s.isExtensionDevelopmentHost).map(s=>{let a=this.toWindowState(s);return a.uiState.mode===3&&(e.has(a.uiState.display)?V&&a.windowId!==t.lastActiveWindow?.windowId&&!s.win?.isSimpleFullScreen()&&(a.uiState.mode=1):e.add(a.uiState.display)),a}));let o=OA(t);this.stateService.setItem(go.windowsStateStorageKey,o),this.shuttingDown&&this.logService.trace("[WindowsStateHandler] onBeforeShutdown",o)}onBeforeCloseWindow(e){if(this.lifecycleMainService.quitRequested)return;let t=this.toWindowState(e);e.isExtensionDevelopmentHost&&!e.isExtensionTestHost?this._state.lastPluginDevelopmentHostWindow=t:!e.isExtensionDevelopmentHost&&e.openedWorkspace&&this._state.openedWindows.forEach(n=>{let o=dt(e.openedWorkspace)&&n.workspace?.id===e.openedWorkspace.id,s=Ut(e.openedWorkspace)&&n.folderUri&&je.isEqual(n.folderUri,e.openedWorkspace.uri);(o||s)&&(n.uiState=t.uiState)}),this.windowsMainService.getWindowCount()===1&&(this.lastClosedState=t)}toWindowState(e){return{windowId:e.id,workspace:dt(e.openedWorkspace)?e.openedWorkspace:void 0,folderUri:Ut(e.openedWorkspace)?e.openedWorkspace.uri:void 0,backupPath:e.backupPath,remoteAuthority:e.remoteAuthority,uiState:e.serializeWindowState()}}getNewWindowState(e){let t=this.doGetNewWindowState(e),n=this.configurationService.getValue("window");if(t.mode===3){let o;t.hasDefaultState?o=!!(n?.newWindowDimensions&&["fullscreen","inherit","offset"].indexOf(n.newWindowDimensions)>=0):o=!!(this.lifecycleMainService.wasRestarted||n?.restoreFullscreen),o||(t.mode=1)}return t}doGetNewWindowState(e){let t=this.windowsMainService.getLastActiveWindow();if(!e.extensionTestsPath){if(e.extensionDevelopmentPath&&this.state.lastPluginDevelopmentHostWindow)return this.state.lastPluginDevelopmentHostWindow.uiState;let c=e.workspace;if(dt(c)){let u=this.state.openedWindows.filter(f=>f.workspace&&f.workspace.id===c.id).map(f=>f.uiState);if(u.length)return u[0]}if(Ut(c)){let u=this.state.openedWindows.filter(f=>f.folderUri&&je.isEqual(f.folderUri,c.uri)).map(f=>f.uiState);if(u.length)return u[0]}else if(e.backupPath){let u=this.state.openedWindows.filter(f=>f.backupPath===e.backupPath).map(f=>f.uiState);if(u.length)return u[0]}let d=this.lastClosedState||this.state.lastActiveWindow;if(!t&&d)return d.uiState}let n,o=nc.screen.getAllDisplays();if(o.length===1)n=o[0];else{if(V){let c=nc.screen.getCursorScreenPoint();n=nc.screen.getDisplayNearestPoint(c)}!n&&t&&(n=nc.screen.getDisplayMatching(t.getBounds())),n||(n=nc.screen.getPrimaryDisplay()||o[0])}let s=Ei(void 0,dt(e.workspace)||Ut(e.workspace));s.x=Math.round(n.bounds.x+n.bounds.width/2-s.width/2),s.y=Math.round(n.bounds.y+n.bounds.height/2-s.height/2);let a=this.configurationService.getValue("window"),l=!0;if(a?.newWindowDimensions){if(a.newWindowDimensions==="maximized")s.mode=0,l=!1;else if(a.newWindowDimensions==="fullscreen")s.mode=3,l=!1;else if((a.newWindowDimensions==="inherit"||a.newWindowDimensions==="offset")&&t){let c=t.serializeWindowState();c.mode===3?s.mode=3:s={...c,zoomLevel:void 0},l=s.mode!==3&&a.newWindowDimensions==="offset"}}return l&&(s=this.ensureNoOverlap(s)),s.hasDefaultState=!0,s}ensureNoOverlap(e){if(this.windowsMainService.getWindows().length===0)return e;e.x=typeof e.x=="number"?e.x:0,e.y=typeof e.y=="number"?e.y:0;let t=this.windowsMainService.getWindows().map(n=>n.getBounds());for(;t.some(n=>n.x===e.x||n.y===e.y);)e.x+=30,e.y+=30;return e}};go=T([g(0,Be),g(1,kt),g(2,ye),g(3,U),g(4,he)],go)});import{spawn as FA}from"child_process";var Ch,ic,oI=w(()=>{_e();qe();xs();un();re();oe();Ch=M("ICSSDevelopmentService"),ic=class{constructor(r,e){this.envService=r;this.logService=e}get isEnabled(){return!this.envService.isBuilt}getCssModules(){return this._cssModules??=this.computeCssModules(),this._cssModules}async computeCssModules(){if(!this.isEnabled)return[];let r=await import("@vscode/ripgrep");return await new Promise(e=>{let t=ln.create(),n=[],o=st.asFileUri("").fsPath,s=FA(r.rgPath,["-g","**/*.css","--files","--no-ignore",o],{});s.stdout.on("data",a=>{n.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(n).toString("utf8"),l=a.split(`
`).filter(Boolean).map(c=>Tp(o,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(t.elapsed())}ms)`)})})}};ic=T([g(0,zr),g(1,U)],ic)});import*as uT from"fs";import{app as WA,BrowserWindow as _h,shell as UA}from"electron";import{hostname as NA,release as BA,arch as VA}from"os";function zu(i){return dt(i?.workspace)}function oc(i){return Ut(i?.workspace)}var sI,sc,pT=w(()=>{Wa();$t();wt();jn();J();cn();Xi();$();qe();_e();di();te();$n();It();Le();le();Te();gl();at();qs();Rt();Ke();re();Pt();oe();Na();Th();Sl();Sn();$o();rI();Dt();xy();dT();Cr();lm();Hu();Qo();Ti();sl();oi();Go();zl();Ks();oI();Ar();it();sI=Object.create(null);sc=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,b,I,C,R,D,A,z,N){super();this.machineId=e;this.sqmId=t;this.devDeviceId=n;this.initialUserEnv=o;this.logService=s;this.loggerService=a;this.policyService=c;this.environmentMainService=d;this.userDataProfilesMainService=u;this.lifecycleMainService=f;this.backupMainService=m;this.configurationService=y;this.workspacesHistoryMainService=v;this.workspacesManagementMainService=b;this.instantiationService=I;this.dialogMainService=C;this.fileService=R;this.protocolMainService=D;this.themeMainService=A;this.auxiliaryWindowsMainService=z;this.cssDevelopmentService=N;this._onDidOpenWindow=this._register(new S);this.onDidOpenWindow=this._onDidOpenWindow.event;this._onDidSignalReadyWindow=this._register(new S);this.onDidSignalReadyWindow=this._onDidSignalReadyWindow.event;this._onDidDestroyWindow=this._register(new S);this.onDidDestroyWindow=this._onDidDestroyWindow.event;this._onDidChangeWindowsCount=this._register(new S);this.onDidChangeWindowsCount=this._onDidChangeWindowsCount.event;this._onDidMaximizeWindow=this._register(new S);this.onDidMaximizeWindow=this._onDidMaximizeWindow.event;this._onDidUnmaximizeWindow=this._register(new S);this.onDidUnmaximizeWindow=this._onDidUnmaximizeWindow.event;this._onDidChangeFullScreen=this._register(new S);this.onDidChangeFullScreen=this._onDidChangeFullScreen.event;this._onDidTriggerSystemContextMenu=this._register(new S);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this.windows=new Map;this.windowsStateHandler=this._register(new go(this,l,this.lifecycleMainService,this.logService,this.configurationService)),this.registerListeners()}registerListeners(){this._register(this.workspacesManagementMainService.onDidEnterWorkspace(e=>this._onDidSignalReadyWindow.fire(e.window))),this._register(this.onDidSignalReadyWindow(e=>{if(e.config?.extensionDevelopmentPath||e.config?.extensionTestsPath){let t=new ee;if(t.add(x.any(e.onDidClose,e.onDidDestroy)(()=>t.dispose())),e.config.extensionDevelopmentPath)for(let n of e.config.extensionDevelopmentPath)t.add(this.protocolMainService.addValidFileRoot(n));e.config.extensionTestsPath&&t.add(this.protocolMainService.addValidFileRoot(e.config.extensionTestsPath))}}))}openEmptyWindow(e,t){let n=this.environmentMainService.args,o=t?.remoteAuthority||void 0,s=!0,a=t?.forceReuseWindow,l=!a;return this.open({...e,cli:n,forceEmpty:s,forceNewWindow:l,forceReuseWindow:a,remoteAuthority:o,forceTempProfile:t?.forceTempProfile,forceProfile:t?.forceProfile})}openExistingWindow(e,t){e.focus(),this.handleWaitMarkerFile(t,[e]),this.handleChatRequest(t,[e])}async openSessionsWindow(e){this.logService.trace("windowsManager#openSessionsWindow");let t=this.environmentMainService.agentSessionsWorkspace;if(!t)throw new Error("Sessions workspace is not configured");if(!await this.fileService.exists(t)){let o=JSON.stringify({folders:[]},null,"	");await this.fileService.writeFile(t,H.fromString(o))}return this.open({...e,urisToOpen:[{workspaceUri:t}],cli:this.environmentMainService.args,forceNewWindow:!0,noRecentEntry:!0})}async open(e){this.logService.trace("windowsManager#open"),(e.addMode||e.removeMode)&&(e.initialStartup||!this.getLastActiveWindow())&&(e.addMode=!1,e.removeMode=!1);let t=[],n=[],o=[],s=[],a=[],l=[],c,d=!1,u=await this.getPathsToOpen(e);this.logService.trace("windowsManager#open pathsToOpen",u);for(let b of u)oc(b)?e.addMode?t.push(b):e.removeMode?n.push(b):o.push(b):zu(b)?s.push(b):b.fileUri?(c||(c={filesToOpenOrCreate:[],filesToDiff:[],filesToMerge:[],remoteAuthority:b.remoteAuthority}),c.filesToOpenOrCreate.push(b)):b.backupPath?l.push({backupFolder:Pe(b.backupPath),remoteAuthority:b.remoteAuthority}):d=!0;e.diffMode&&c&&c.filesToOpenOrCreate.length>=2&&(c.filesToDiff=c.filesToOpenOrCreate.slice(0,2),c.filesToOpenOrCreate=[]),e.mergeMode&&c&&c.filesToOpenOrCreate.length===4&&(c.filesToMerge=c.filesToOpenOrCreate.slice(0,4),c.filesToOpenOrCreate=[],c.filesToDiff=[]),c&&e.waitMarkerFileURI&&(c.filesToWait={paths:lt([...c.filesToDiff,c.filesToMerge[3],...c.filesToOpenOrCreate]),waitMarkerFileUri:e.waitMarkerFileURI}),e.initialStartup?(a.push(...this.workspacesManagementMainService.getUntitledWorkspaces()),s.push(...a),l.push(...this.backupMainService.getEmptyWindowBackups())):l.length=0;let{windows:f,filesOpenedInWindow:m}=await this.doOpen(e,s,o,l,d,c,t,n);if(this.logService.trace(`windowsManager#open used window count ${f.length} (workspacesToOpen: ${s.length}, foldersToOpen: ${o.length}, emptyToRestore: ${l.length}, maybeOpenEmptyWindow: ${d})`),f.length>1)if(m)m.focus();else{let b=this.windowsStateHandler.state.lastActiveWindow&&!e.forceEmpty&&!e.cli._.length&&!e.cli["file-uri"]&&!e.cli["folder-uri"]&&!e.urisToOpen?.length,I=!0,C=!0;if(b){let R=f.filter(D=>this.windowsStateHandler.state.lastActiveWindow&&D.backupPath===this.windowsStateHandler.state.lastActiveWindow.backupPath);R.length&&(R[0].focus(),I=!1,C=!1)}if(I)for(let R=f.length-1;R>=0;R--){let D=f[R];if(!(D.openedWorkspace&&a.some(A=>D.openedWorkspace&&A.workspace.id===D.openedWorkspace.id)||D.backupPath&&l.some(A=>D.backupPath&&A.backupFolder===Pe(D.backupPath)))){D.focus(),C=!1;break}}C&&f[f.length-1].focus()}let y=c&&c.filesToDiff.length>0,v=c&&c.filesToMerge.length>0;if(!f.some(b=>b.isExtensionDevelopmentHost)&&!y&&!v&&!e.noRecentEntry){let b=[];for(let I of u)zu(I)&&!I.transient?b.push({label:I.label,workspace:I.workspace,remoteAuthority:I.remoteAuthority}):oc(I)?b.push({label:I.label,folderUri:I.workspace.uri,remoteAuthority:I.remoteAuthority}):I.fileUri&&b.push({label:I.label,fileUri:I.fileUri,remoteAuthority:I.remoteAuthority});this.workspacesHistoryMainService.addRecentlyOpened(b)}return this.handleWaitMarkerFile(e,f),this.handleChatRequest(e,f),f}handleWaitMarkerFile(e,t){let n=e.waitMarkerFileURI;e.context===0&&n&&t.length===1&&t[0]&&(async()=>{await t[0].whenClosedOrLoaded;try{await this.fileService.del(n)}catch{}})()}handleChatRequest(e,t){if(e.context!==0||!e.cli.chat||t.length===0)return;let n;if(t.length===1)n=t[0];else{let o=e.cli._[0];o&&(n=lo(t,E.file(o)))}n&&(n.sendWhenReady("vscode:handleChatRequest",Se.None,e.cli.chat),n.focus())}async doOpen(e,t,n,o,s,a,l,c){let d=[],u;function f(R,D){d.push(R),D&&(u=R,a=void 0)}let{openFolderInNewWindow:m,openFilesInNewWindow:y}=this.shouldOpenNewWindow(e);if(!e.initialStartup&&(l.length>0||c.length>0)){let R=l.at(0)?.remoteAuthority??c.at(0)?.remoteAuthority,D=this.getLastActiveWindowForAuthority(R);D&&f(this.doAddRemoveFoldersInExistingWindow(D,l.map(A=>A.workspace.uri),c.map(A=>A.workspace.uri)))}let v=n.length+t.length+o.length;if(a&&v===0){let R=a.filesToOpenOrCreate[0]||a.filesToDiff[0]||a.filesToMerge[3],D=this.getWindows().filter(z=>a&&Mr(z.remoteAuthority,a.remoteAuthority)),A;R?.fileUri&&!y&&((e.context===4||e.context===0||e.context===1||e.context===6)&&(A=await lP(D,R.fileUri,async z=>z.configPath.scheme===F.file?this.workspacesManagementMainService.resolveLocalWorkspace(z.configPath):void 0)),A||(A=this.doGetLastActiveWindow(D))),A?dt(A.openedWorkspace)?t.push({workspace:A.openedWorkspace,remoteAuthority:A.remoteAuthority}):Ut(A.openedWorkspace)?n.push({workspace:A.openedWorkspace,remoteAuthority:A.remoteAuthority}):f(this.doOpenFilesInExistingWindow(e,A,a),!0):f(await this.openInBrowserWindow({userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,filesToOpen:a,forceNewWindow:!0,remoteAuthority:a.remoteAuthority,forceNewTabbedWindow:e.forceNewTabbedWindow,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile}),!0)}let b=Lr(t,R=>R.workspace.id);if(b.length>0){let R=lt(b.map(D=>lo(this.getWindows(),D.workspace.configPath)));if(R.length>0){let D=R[0],A=Mr(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,A),!!A),m=!0}for(let D of b){if(R.some(N=>N.openedWorkspace&&N.openedWorkspace.id===D.workspace.id))continue;let A=D.remoteAuthority,z=Mr(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,z),!!z),m=!0}}let I=Lr(n,R=>je.getComparisonKey(R.workspace.uri));if(I.length>0){let R=lt(I.map(D=>lo(this.getWindows(),D.workspace.uri)));if(R.length>0){let D=R[0],A=Mr(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,A),!!A),m=!0}for(let D of I){if(R.some(N=>Ut(N.openedWorkspace)&&je.isEqual(N.openedWorkspace.uri,D.workspace.uri)))continue;let A=D.remoteAuthority,z=Mr(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,z),!!z),m=!0}}let C=Lr(o,R=>R.backupFolder);if(C.length>0)for(let R of C){let D=R.remoteAuthority,A=Mr(a?.remoteAuthority,D)?a:void 0;f(await this.doOpenEmpty(e,!0,D,A,R),!!A),m=!0}if(a||s&&(e.forceEmpty||d.length===0)){let R=a?a.remoteAuthority:e.remoteAuthority;f(await this.doOpenEmpty(e,m,R,a),!!a)}return{windows:Lr(d),filesOpenedInWindow:u}}doOpenFilesInExistingWindow(e,t,n){this.logService.trace("windowsManager#doOpenFilesInExistingWindow",{filesToOpen:n}),this.focusMainOrChildWindow(t);let o={filesToOpenOrCreate:n?.filesToOpenOrCreate,filesToDiff:n?.filesToDiff,filesToMerge:n?.filesToMerge,filesToWait:n?.filesToWait,termProgram:e?.userEnv?.TERM_PROGRAM};return t.sendWhenReady("vscode:openFiles",Se.None,o),t}focusMainOrChildWindow(e){let t=e,n=_h.getFocusedWindow();if(n&&n.id!==e.id){let o=this.auxiliaryWindowsMainService.getWindowByWebContents(n.webContents);o&&o.parentId===e.id&&(t=o)}t.focus()}doAddRemoveFoldersInExistingWindow(e,t,n){this.logService.trace("windowsManager#doAddRemoveFoldersToExistingWindow",{foldersToAdd:t,foldersToRemove:n}),e.focus();let o={foldersToAdd:t,foldersToRemove:n};return e.sendWhenReady("vscode:addRemoveFolders",Se.None,o),e}doOpenEmpty(e,t,n,o,s){this.logService.trace("windowsManager#doOpenEmpty",{restore:!!s,remoteAuthority:n,filesToOpen:o,forceNewWindow:t});let a;return!t&&typeof e.contextWindowId=="number"&&(a=this.getWindowById(e.contextWindowId)),this.openInBrowserWindow({userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,remoteAuthority:n,forceNewWindow:t,forceNewTabbedWindow:e.forceNewTabbedWindow,filesToOpen:o,windowToUse:a,emptyWindowBackupInfo:s,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile})}doOpenFolderOrWorkspace(e,t,n,o,s){return this.logService.trace("windowsManager#doOpenFolderOrWorkspace",{folderOrWorkspace:t,filesToOpen:o}),!n&&!s&&typeof e.contextWindowId=="number"&&(s=this.getWindowById(e.contextWindowId)),this.openInBrowserWindow({workspace:t.workspace,userEnv:e.userEnv,cli:e.cli,initialStartup:e.initialStartup,remoteAuthority:t.remoteAuthority,forceNewWindow:n,forceNewTabbedWindow:e.forceNewTabbedWindow,filesToOpen:o,windowToUse:s,forceProfile:e.forceProfile,forceTempProfile:e.forceTempProfile})}async getPathsToOpen(e){let t,n=!1,o=!1;if(e.urisToOpen&&e.urisToOpen.length>0?(t=await this.doExtractPathsFromAPI(e),n=!0):e.forceEmpty?t=[sI]:e.cli._.length||e.cli["folder-uri"]||e.cli["file-uri"]?(t=await this.doExtractPathsFromCLI(e.cli),t.length===0&&t.push(sI),n=!0):(t=await this.doGetPathsFromLastSession(),t.length===0&&t.push(sI),o=!0),!e.addMode&&!e.removeMode&&n){let s=t.filter(a=>oc(a));if(s.length>1){let a=s[0].remoteAuthority;if(s.every(l=>Mr(l.remoteAuthority,a))){let l,c=await this.doGetWorkspaceMatchingFoldersFromLastSession(a,s);c?l=c:l=await this.workspacesManagementMainService.createUntitledWorkspace(s.map(d=>({uri:d.workspace.uri}))),t.push({workspace:l,remoteAuthority:a}),t=t.filter(d=>!oc(d))}}}if(e.initialStartup&&!o&&this.configurationService.getValue("window")?.restoreWindows==="preserve"){let s=await this.doGetPathsFromLastSession();t.unshift(...s.filter(a=>zu(a)||oc(a)||a.backupPath))}return t}async doExtractPathsFromAPI(e){let t={gotoLineMode:e.gotoLineMode,remoteAuthority:e.remoteAuthority},n=await Promise.all(lt(e.urisToOpen||[]).map(async o=>{let s=await this.resolveOpenable(o,t);if(s)return s.label=o.label,s;let a=this.resourceFromOpenable(o);this.dialogMainService.showMessageBox({type:"info",buttons:[h(2796,null)],message:a.scheme===F.file?h(2798,null):h(2800,null),detail:a.scheme===F.file?h(2797,null,Qi(a,{os:Qt,tildify:this.environmentMainService})):h(2799,null,a.toString(!0))},_h.getFocusedWindow()??void 0)}));return lt(n)}async doExtractPathsFromCLI(e){let t=[],n={ignoreFileNotFound:!0,gotoLineMode:e.goto,remoteAuthority:e.remote||void 0,forceOpenWorkspaceAsFile:e.diff&&e._.length===2||e.merge&&e._.length===4},o=e["folder-uri"];if(o){let l=await Promise.all(o.map(c=>{let d=this.cliArgToUri(c);if(d)return this.resolveOpenable({folderUri:d},n)}));t.push(...lt(l))}let s=e["file-uri"];if(s){let l=await Promise.all(s.map(c=>{let d=this.cliArgToUri(c);if(d)return this.resolveOpenable(Pi(c)?{workspaceUri:d}:{fileUri:d},n)}));t.push(...lt(l))}let a=await Promise.all(e._.map(l=>n.remoteAuthority?this.doResolveRemotePath(l,n):this.doResolveFilePath(l,n)));return t.push(...lt(a)),t}cliArgToUri(e){try{let t=E.parse(e);if(!t.scheme){this.logService.error(`Invalid URI input string, scheme missing: ${e}`);return}return t.path?t:t.with({path:"/"})}catch(t){this.logService.error(`Invalid URI input string: ${e}, ${t.message}`)}}async doGetPathsFromLastSession(){let e=this.getRestoreWindowsSetting();switch(e){case"none":return[];case"one":case"all":case"preserve":case"folders":{let t=[];e!=="one"&&t.push(...this.windowsStateHandler.state.openedWindows),this.windowsStateHandler.state.lastActiveWindow&&t.push(this.windowsStateHandler.state.lastActiveWindow);let n=await Promise.all(t.map(async o=>{if(o.workspace){let s=await this.resolveOpenable({workspaceUri:o.workspace.configPath},{remoteAuthority:o.remoteAuthority,rejectTransientWorkspaces:!0});if(zu(s))return s}else if(o.folderUri){let s=await this.resolveOpenable({folderUri:o.folderUri},{remoteAuthority:o.remoteAuthority});if(oc(s))return s}else if(e!=="folders"&&o.backupPath)return{backupPath:o.backupPath,remoteAuthority:o.remoteAuthority}}));return lt(n)}}}getRestoreWindowsSetting(){let e;return this.lifecycleMainService.wasRestarted?e="all":(e=this.configurationService.getValue("window")?.restoreWindows||"all",["preserve","all","folders","one","none"].includes(e)||(e="all")),e}async doGetWorkspaceMatchingFoldersFromLastSession(e,t){let n=(await this.doGetPathsFromLastSession()).filter(s=>zu(s)),o=t.map(s=>s.workspace.uri);for(let{workspace:s}of n){let a=await this.workspacesManagementMainService.resolveLocalWorkspace(s.configPath);if(!a||a.remoteAuthority!==e||a.transient||a.folders.length!==t.length)continue;let l=new Sa(o,c=>je.getComparisonKey(c));if(a.folders.every(c=>l.has(c.uri)))return a}}async resolveOpenable(e,t=Object.create(null)){let n=this.resourceFromOpenable(e);return n.scheme===F.file?(ey(e)&&(t={...t,forceOpenWorkspaceAsFile:!0}),this.doResolveFilePath(n.fsPath,t)):this.doResolveRemoteOpenable(e,t)}doResolveRemoteOpenable(e,t){let n=this.resourceFromOpenable(e),o=co(n)||t.remoteAuthority;if(n=HS(zp(n)),ey(e)){if(t.gotoLineMode){let{path:s,line:a,column:l}=Da(n.path);return{fileUri:n.with({path:s}),options:{selection:a?{startLineNumber:a,startColumn:l||1}:void 0},remoteAuthority:o}}return{fileUri:n,remoteAuthority:o}}else if(nu(e))return{workspace:so(n),remoteAuthority:o};return{workspace:am(n),remoteAuthority:o}}resourceFromOpenable(e){return nu(e)?e.workspaceUri:Gf(e)?e.folderUri:e.fileUri}async doResolveFilePath(e,t,n){let o,s;t.gotoLineMode&&({path:e,line:o,column:s}=Da(e)),e=$p(Ct(e),rn());try{let a=await uT.promises.stat(e);if(a.isFile()){if(!t.forceOpenWorkspaceAsFile){let l=await this.workspacesManagementMainService.resolveLocalWorkspace(E.file(e));if(l)return l.transient&&t.rejectTransientWorkspaces?void 0:{workspace:{id:l.id,configPath:l.configPath},type:1,exists:!0,remoteAuthority:l.remoteAuthority,transient:l.transient}}return{fileUri:E.file(e),type:1,exists:!0,options:{selection:o?{startLineNumber:o,startColumn:s||1}:void 0}}}else{if(a.isDirectory())return{workspace:am(E.file(e),a),type:2,exists:!0};if(!W&&e==="/dev/null")return{fileUri:E.file(e),type:1,exists:!0}}}catch(a){if(a.code==="ERR_UNC_HOST_NOT_ALLOWED"&&!n)return this.onUNCHostNotAllowed(e,t);let l=E.file(e);if(this.workspacesHistoryMainService.removeRecentlyOpened([l]),t.ignoreFileNotFound&&a.code==="ENOENT")return{fileUri:l,type:1,exists:!1};this.logService.error(`Invalid path provided: ${e}, ${a.message}`)}}async onUNCHostNotAllowed(e,t){let n=E.file(e),{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[h(2790,null),h(2791,null),h(2795,null)],message:h(2793,null,n.authority),detail:h(2792,null,Qi(n,{os:Qt,tildify:this.environmentMainService})),checkboxLabel:h(2794,null,n.authority),cancelId:1});if(o===0){if(Gi(n.authority),s){let a={channel:"vscode:configureAllowedUNCHost",args:n.authority};this.sendToFocused(a.channel,a.args),this.sendToOpeningWindow(a.channel,a.args)}return this.doResolveFilePath(e,t,!0)}if(o===2)return UA.openExternal("https://aka.ms/vscode-windows-unc"),this.onUNCHostNotAllowed(e,t)}doResolveRemotePath(e,t){let n=e.charCodeAt(0),o=t.remoteAuthority,s,a;t.gotoLineMode&&({path:e,line:s,column:a}=Da(e)),n!==47&&(Hp(n)&&e.charCodeAt(e.charCodeAt(1))===58&&(e=gi(e)),e=`/${e}`);let l=E.from({scheme:F.vscodeRemote,authority:o,path:e});if(e.charCodeAt(e.length-1)!==47){if(Pi(e))return t.forceOpenWorkspaceAsFile?{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:t.remoteAuthority}:{workspace:so(l),remoteAuthority:o};if(t.gotoLineMode||de.basename(e).indexOf(".")!==-1)return{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:o}}return{workspace:am(l),remoteAuthority:o}}shouldOpenNewWindow(e){let t=this.configurationService.getValue("window"),n=t?.openFoldersInNewWindow||"default",o=t?.openFilesInNewWindow||"off",s=(e.preferNewWindow||e.forceNewWindow)&&!e.forceReuseWindow;!e.forceNewWindow&&!e.forceReuseWindow&&(n==="on"||n==="off")&&(s=n==="on");let a=!1;return e.forceNewWindow||e.forceReuseWindow?a=!!e.forceNewWindow&&!e.forceReuseWindow:(V?e.context===1&&(a=!0):e.context!==3&&e.context!==2&&!(e.userEnv&&e.userEnv.TERM_PROGRAM==="vscode")&&(a=!0),!e.cli.extensionDevelopmentPath&&(o==="on"||o==="off")&&(a=o==="on")),{openFolderInNewWindow:!!s,openFilesInNewWindow:a}}async openExtensionDevelopmentHostWindow(e,t){let n=cP(this.getWindows(),e);if(n)return this.lifecycleMainService.reload(n,t.cli),n.focus(),[n];let o=t.cli["folder-uri"]||[],s=t.cli["file-uri"]||[],a=t.cli._;if(!a.length&&!o.length&&!s.length&&!t.cli.extensionTestsPath){let d=this.windowsStateHandler.state.lastPluginDevelopmentHostWindow,u=d?.workspace??d?.folderUri;u&&(E.isUri(u)?u.scheme===F.file?a=[u.fsPath]:o=[u.toString()]:u.configPath.scheme===F.file?a=[mr(u.configPath)]:s=[u.configPath.toString()])}let l=t.remoteAuthority;for(let d of e)if(d.match(/^[a-zA-Z][a-zA-Z0-9\+\-\.]+:/)){let u=E.parse(d),f=co(u);f&&(l?Mr(f,l)||this.logService.error("more than one extension development path authority"):l=f)}a=a.filter(d=>{let u=E.file(d);return lo(this.getWindows(),u)?!1:Mr(co(u),l)}),o=o.filter(d=>{let u=this.cliArgToUri(d);return u&&lo(this.getWindows(),u)?!1:u?Mr(co(u),l):!1}),s=s.filter(d=>{let u=this.cliArgToUri(d);return u&&lo(this.getWindows(),u)?!1:u?Mr(co(u),l):!1}),t.cli._=a,t.cli["folder-uri"]=o,t.cli["file-uri"]=s;let c={context:t.context,cli:t.cli,forceNewWindow:!0,forceEmpty:!a.length&&!o.length&&!s.length,userEnv:t.userEnv,noRecentEntry:!0,waitMarkerFileURI:t.waitMarkerFileURI,remoteAuthority:l,forceProfile:t.forceProfile,forceTempProfile:t.forceTempProfile};return this.open(c)}async openInBrowserWindow(e){let t=this.configurationService.getValue("window"),n=this.getLastActiveWindow(),s=(t?.newWindowProfile?this.userDataProfilesMainService.profiles.find(c=>c.name===t.newWindowProfile):void 0)??n?.profile??this.userDataProfilesMainService.defaultProfile,a;!e.forceNewWindow&&!e.forceNewTabbedWindow&&(a=e.windowToUse||n,a&&a.focus());let l={...this.environmentMainService.args,...e.cli,machineId:this.machineId,sqmId:this.sqmId,devDeviceId:this.devDeviceId,isPortable:this.environmentMainService.isPortable,windowId:-1,mainPid:process.pid,appRoot:this.environmentMainService.appRoot,execPath:process.execPath,codeCachePath:this.environmentMainService.codeCachePath,backupPath:e.emptyWindowBackupInfo?B(this.environmentMainService.backupHome,e.emptyWindowBackupInfo.backupFolder):void 0,profiles:{home:this.userDataProfilesMainService.profilesHome,all:this.userDataProfilesMainService.profiles,profile:s},homeDir:this.environmentMainService.userHome.with({scheme:F.file}).fsPath,tmpDir:this.environmentMainService.tmpDir.with({scheme:F.file}).fsPath,userDataDir:this.environmentMainService.userDataPath,remoteAuthority:e.remoteAuthority,workspace:e.workspace,userEnv:{...this.initialUserEnv,...e.userEnv},nls:{messages:xg(),language:jc()},filesToOpenOrCreate:e.filesToOpen?.filesToOpenOrCreate,filesToDiff:e.filesToOpen?.filesToDiff,filesToMerge:e.filesToOpen?.filesToMerge,filesToWait:e.filesToOpen?.filesToWait,logLevel:this.loggerService.getLogLevel(),loggers:this.loggerService.getGlobalLoggers(),logsPath:this.environmentMainService.logsHome.with({scheme:F.file}).fsPath,product:gr,isInitialStartup:e.initialStartup,perfMarks:pp(),os:{release:BA(),hostname:NA(),arch:VA()},autoDetectHighContrast:t?.autoDetectHighContrast??!0,autoDetectColorScheme:t?.autoDetectColorScheme??!1,accessibilitySupport:WA.accessibilitySupportEnabled,colorScheme:this.themeMainService.getColorScheme(),policiesData:this.policyService.serialize(),continueOn:this.environmentMainService.continueOn,cssModules:this.cssDevelopmentService.isEnabled?await this.cssDevelopmentService.getCssModules():void 0,isSessionsWindow:dt(e.workspace)&&sd(e.workspace.configPath,this.environmentMainService.agentSessionsWorkspace)};if(a){let c=a.config;!l.extensionDevelopmentPath&&c?.extensionDevelopmentPath&&(l.extensionDevelopmentPath=c.extensionDevelopmentPath,l.extensionDevelopmentKind=c.extensionDevelopmentKind,l["enable-proposed-api"]=c["enable-proposed-api"],l.verbose=c.verbose,l["inspect-extensions"]=c["inspect-extensions"],l["inspect-brk-extensions"]=c["inspect-brk-extensions"],l.debugId=c.debugId,l.extensionEnvironment=c.extensionEnvironment,l["extensions-dir"]=c["extensions-dir"],l["disable-extensions"]=c["disable-extensions"],l["disable-extension"]=c["disable-extension"])}else{let c=this.windowsStateHandler.getNewWindowState(l);Ne("code/willCreateCodeWindow");let d=a=this.instantiationService.createInstance(sa,{state:c,extensionDevelopmentPath:l.extensionDevelopmentPath,isExtensionTestHost:!!l.extensionTestsPath});Ne("code/didCreateCodeWindow"),e.forceNewTabbedWindow&&this.getLastActiveWindow()?.addTabbedWindow(d),this.windows.set(d.id,d),this._onDidOpenWindow.fire(d),this._onDidChangeWindowsCount.fire({oldCount:this.getWindowCount()-1,newCount:this.getWindowCount()});let u=new ee;u.add(d.onDidSignalReady(()=>this._onDidSignalReadyWindow.fire(d))),u.add(x.once(d.onDidClose)(()=>this.onWindowClosed(d,u))),u.add(x.once(d.onDidDestroy)(()=>this.onWindowDestroyed(d))),u.add(d.onDidMaximize(()=>this._onDidMaximizeWindow.fire(d))),u.add(d.onDidUnmaximize(()=>this._onDidUnmaximizeWindow.fire(d))),u.add(d.onDidEnterFullScreen(()=>this._onDidChangeFullScreen.fire({window:d,fullscreen:!0}))),u.add(d.onDidLeaveFullScreen(()=>this._onDidChangeFullScreen.fire({window:d,fullscreen:!1}))),u.add(d.onDidTriggerSystemContextMenu(({x:m,y})=>this._onDidTriggerSystemContextMenu.fire({window:d,x:m,y})));let f=mi(d.win?.webContents);f.removeAllListeners("devtools-reload-page"),u.add(x.fromNodeEventEmitter(f,"devtools-reload-page")(()=>this.lifecycleMainService.reload(d))),this.lifecycleMainService.registerWindow(d)}return l.windowId=a.id,a.isReady?this.lifecycleMainService.unload(a,4).then(async c=>{c||await this.doOpenInBrowserWindow(a,l,e,s)}):await this.doOpenInBrowserWindow(a,l,e,s),a}async doOpenInBrowserWindow(e,t,n,o){t.extensionDevelopmentPath||(dt(t.workspace)?t.backupPath=this.backupMainService.registerWorkspaceBackup({workspace:t.workspace,remoteAuthority:t.remoteAuthority}):Ut(t.workspace)?t.backupPath=this.backupMainService.registerFolderBackup({folderUri:t.workspace.uri,remoteAuthority:t.remoteAuthority}):t.backupPath=this.backupMainService.registerEmptyWindowBackup({backupFolder:n.emptyWindowBackupInfo?.backupFolder??fu().id,remoteAuthority:t.remoteAuthority}));let s=t.workspace??Vo(t.backupPath,!1),a=this.resolveProfileForBrowserWindow(n,s,o),l=a instanceof Promise?await a:a;t.profiles.profile=l,t.extensionDevelopmentPath||await this.userDataProfilesMainService.setProfileForWorkspace(s,l),e.load(t)}resolveProfileForBrowserWindow(e,t,n){return e.forceProfile?this.userDataProfilesMainService.profiles.find(o=>o.name===e.forceProfile)??this.userDataProfilesMainService.createNamedProfile(e.forceProfile):e.forceTempProfile?this.userDataProfilesMainService.createTransientProfile():this.userDataProfilesMainService.getProfileForWorkspace(t)??n}onWindowClosed(e,t){this.windows.delete(e.id),this._onDidChangeWindowsCount.fire({oldCount:this.getWindowCount()+1,newCount:this.getWindowCount()}),t.dispose()}onWindowDestroyed(e){this.windows.delete(e.id),this._onDidDestroyWindow.fire(e)}getFocusedWindow(){let e=_h.getFocusedWindow();if(e)return this.getWindowById(e.id)}getLastActiveWindow(){return this.doGetLastActiveWindow(this.getWindows())}getLastActiveWindowForAuthority(e){return this.doGetLastActiveWindow(this.getWindows().filter(t=>Mr(t.remoteAuthority,e)))}doGetLastActiveWindow(e){return Xf(e)}sendToFocused(e,...t){(this.getFocusedWindow()||this.getLastActiveWindow())?.sendWhenReady(e,Se.None,...t)}sendToOpeningWindow(e,...t){this._register(x.once(this.onDidSignalReadyWindow)(n=>{n.sendWhenReady(e,Se.None,...t)}))}sendToAll(e,t,n){for(let o of this.getWindows())n&&n.indexOf(o.id)>=0||o.sendWhenReady(e,Se.None,t)}getWindows(){return Array.from(this.windows.values())}getWindowCount(){return this.windows.size}getWindowById(e){return this.windows.get(e)}getWindowByWebContents(e){let t=_h.fromWebContents(e);if(!t)return;let n=this.getWindowById(t.id);return n?.matches(e)?n:void 0}};sc=T([g(4,U),g(5,si),g(6,kt),g(7,Un),g(8,Ce),g(9,Wr),g(10,ye),g(11,Di),g(12,he),g(13,cs),g(14,hn),g(15,Wt),g(16,xn),g(17,Ae),g(18,tc),g(19,Ci),g(20,Pn),g(21,Ch)],sc)});var kh,fT=w(()=>{ve();J();$();kh=class extends _{constructor({onDidOpenMainWindow:e,onDidFocusMainWindow:t,getActiveWindowId:n}){super();this.disposables=this._register(new ee);x.latch(x.any(e,t))(this.setActiveWindow,this,this.disposables),this.firstActiveWindowIdPromise=Qn(()=>n()),(async()=>{try{let s=await this.firstActiveWindowIdPromise;this.activeWindowId=typeof this.activeWindowId=="number"?this.activeWindowId:s}catch{}finally{this.firstActiveWindowIdPromise=void 0}})()}setActiveWindow(e){this.firstActiveWindowIdPromise&&(this.firstActiveWindowIdPromise.cancel(),this.firstActiveWindowIdPromise=void 0),this.activeWindowId=e}async getActiveClientId(){return`window:${this.firstActiveWindowIdPromise?await this.firstActiveWindowIdPromise:this.activeWindowId}`}}});var ac,mT=w(()=>{gl();Dt();Hu();Qo();ac=class{constructor(r,e,t,n){this.workspacesManagementMainService=r;this.windowsMainService=e;this.workspacesHistoryMainService=t;this.backupMainService=n;this.onDidChangeRecentlyOpened=this.workspacesHistoryMainService.onDidChangeRecentlyOpened}async enterWorkspace(r,e){let t=this.windowsMainService.getWindowById(r);if(t)return this.workspacesManagementMainService.enterWorkspace(t,this.windowsMainService.getWindows(),e)}createUntitledWorkspace(r,e,t){return this.workspacesManagementMainService.createUntitledWorkspace(e,t)}deleteUntitledWorkspace(r,e){return this.workspacesManagementMainService.deleteUntitledWorkspace(e)}getWorkspaceIdentifier(r,e){return this.workspacesManagementMainService.getWorkspaceIdentifier(e)}getRecentlyOpened(r){return this.workspacesHistoryMainService.getRecentlyOpened()}addRecentlyOpened(r,e){return this.workspacesHistoryMainService.addRecentlyOpened(e)}removeRecentlyOpened(r,e){return this.workspacesHistoryMainService.removeRecentlyOpened(e)}clearRecentlyOpened(r){return this.workspacesHistoryMainService.clearRecentlyOpened()}async getDirtyWorkspaces(){return this.backupMainService.getDirtyWorkspaces()}};ac=T([g(0,hn),g(1,Be),g(2,cs),g(3,Di)],ac)});var Rh,hT=w(()=>{J();$();oi();Rh=class{constructor(r){this.service=r;this.disposables=new ee}listen(r,e){if(e==="onDidChange")return x.map(this.service.onDidChange,t=>t.reduce((n,o)=>({...n,[o]:this.service.getPolicyValue(o)??null}),{}),this.disposables);throw new Error(`Event not found: ${e}`)}call(r,e,t){if(e==="updatePolicyDefinitions")return this.service.updatePolicyDefinitions(t);throw new Error(`Call not found: ${e}`)}dispose(){this.disposables.dispose()}}});function yT(i){return i.map(r=>{let[e,t]=r.split("@");return{proposalName:e,version:t?parseInt(t):void 0}})}function wT(i){return i.map(r=>r.split("@")[0])}var gT,vT,Lh,vo,Dh,hde,ju=w(()=>{sr();re();Sl();gT="extensions.user.cache",vT="extensions.builtin.cache",Lh="undefined_publisher",vo=class{constructor(r){this.value=r,this._lower=r.toLowerCase()}static equals(r,e){if(typeof r>"u"||r===null)return typeof e>"u"||e===null;if(typeof e>"u"||e===null)return!1;if(typeof r=="string"||typeof e=="string"){let t=typeof r=="string"?r:r.value,n=typeof e=="string"?e:e.value;return qr(t,n)}return r._lower===e._lower}static toKey(r){return typeof r=="string"?r.toLowerCase():r._lower}},Dh=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(r){this._map.delete(vo.toKey(r))}get(r){return this._map.get(vo.toKey(r))}has(r){return this._map.has(vo.toKey(r))}set(r,e){this._map.set(vo.toKey(r),e)}values(){return this._map.values()}forEach(r){this._map.forEach(r)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};hde=M("IBuiltinExtensionsScannerService")});function bT(i,r){switch(i){case 3:return r==="x64"?"win32-x64":r==="arm64"?"win32-arm64":"unknown";case 2:return r==="x64"?"linux-x64":r==="arm64"?"linux-arm64":r==="arm"?"linux-armhf":"unknown";case"alpine":return r==="x64"?"alpine-x64":r==="arm64"?"alpine-arm64":"unknown";case 1:return r==="x64"?"darwin-x64":r==="arm64"?"darwin-arm64":"unknown";case 0:return"web"}}function ST(i){let r=i;return!!r&&typeof r=="object"&&typeof r.id=="string"&&(!r.uuid||typeof r.uuid=="string")}var HA,Lde,Ade,Mde,Ode,Fde,Wde,Ude,Nde,$A,aI=w(()=>{te();hd();Te();Ji();ju();Ke();re();Yn();HA="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",Lde=new RegExp(HA);Ade=M("extensionGalleryService"),Mde=M("extensionManagementService"),Ode=M("IGlobalExtensionEnablementService"),Fde=M("IExtensionTipsService"),Wde=M("IAllowedExtensionsService"),Ude=Pg(2033,"Extensions"),Nde=Pg(2050,"Preferences"),$A="extensions.allowed";xt.as(ar.Configuration).registerConfiguration({id:"extensions",order:30,title:h(2049,null),type:"object",properties:{[$A]:{type:"object",markdownDescription:h(2039,null),default:"*",defaultSnippets:[{body:{},description:h(2044,null)},{body:{"*":!0},description:h(2040,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:h(2045,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:h(2037,null),enumDescriptions:[h(2043,null),h(2041,null),h(2042,null)]},{type:"array",items:{type:"string"},description:h(2038,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:h(2032,null),enumDescriptions:[h(2048,null),h(2046,null),h(2047,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:h(2034,null),enumDescriptions:[h(2036,null),h(2035,null)]}}}}})});function aa(i,r){return i.uuid&&r.uuid?i.uuid===r.uuid:i.id===r.id?!0:id(i.id,r.id)===0}function xT(i,r){return`${i}.${r}`}function qA(i){return i.toLowerCase()}function PT(i,r){return qA(xT(i??Lh,r))}async function KA(i,r){if(!ne)return!1;let e;try{e=(await i.readFile(E.file("/etc/os-release"))).value.toString()}catch{try{e=(await i.readFile(E.file("/usr/lib/os-release"))).value.toString()}catch(n){r.debug("Error while getting the os-release file.",fr(n))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function ET(i,r){let e=await KA(i,r),t=bT(e?"alpine":Bi,Ab);return r.debug("ComputeTargetPlatform:",t),t}var tue,lI=w(()=>{sr();aI();ju();te();le();He();$n();mo();Le();tue=new vo("pprice.better-merge")});function TT(i){let r=i;return ze(r)&&ST(r.identifier)&&(zA(r.location)||Me(r.location)&&!!r.location)&&(kn(r.relativeLocation)||Me(r.relativeLocation))&&!!r.version&&Me(r.version)}function zA(i){if(!i)return!1;let r=i;return typeof r?.path=="string"&&typeof r?.scheme=="string"}var la,fs,lc,Gu=w(()=>{ve();it();$();J();Ar();le();aI();lI();Ke();re();oe();ti();ei();Le();He();la=class extends Error{constructor(e,t){super(e);this.code=t}},fs=M("IExtensionsProfileScannerService"),lc=class extends _{constructor(e,t,n,o,s){super();this.extensionsLocation=e;this.fileService=t;this.userDataProfilesService=n;this.uriIdentityService=o;this.logService=s;this._onAddExtensions=this._register(new S);this.onAddExtensions=this._onAddExtensions.event;this._onDidAddExtensions=this._register(new S);this.onDidAddExtensions=this._onDidAddExtensions.event;this._onRemoveExtensions=this._register(new S);this.onRemoveExtensions=this._onRemoveExtensions.event;this._onDidRemoveExtensions=this._register(new S);this.onDidRemoveExtensions=this._onDidRemoveExtensions.event;this.resourcesAccessQueueMap=new ht}scanProfileExtensions(e,t){return this.withProfileExtensions(e,void 0,t)}async addExtensionsToProfile(e,t,n){let o=[],s=[];try{return await this.withProfileExtensions(t,a=>{let l=[];if(n)l.push(...a);else for(let c of a)e.some(([d])=>aa(d.identifier,c.identifier)&&d.manifest.version!==c.version)?o.push(c):l.push(c);for(let[c,d]of e){let u=l.findIndex(m=>aa(m.identifier,c.identifier)&&m.version===c.manifest.version),f={identifier:c.identifier,version:c.manifest.version,location:c.location,metadata:d};u===-1?(s.push(f),l.push(f)):l.splice(u,1,f)}return s.length&&this._onAddExtensions.fire({extensions:s,profileLocation:t}),o.length&&this._onRemoveExtensions.fire({extensions:o,profileLocation:t}),l}),s.length&&this._onDidAddExtensions.fire({extensions:s,profileLocation:t}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,profileLocation:t}),s}catch(a){throw s.length&&this._onDidAddExtensions.fire({extensions:s,error:a,profileLocation:t}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,error:a,profileLocation:t}),a}}async updateMetadata(e,t){let n=[];return await this.withProfileExtensions(t,o=>{let s=[];for(let a of o){let l=e.find(([c])=>aa({id:c.identifier.id},{id:a.identifier.id})&&c.manifest.version===a.version);l&&(a.metadata={...a.metadata,...l[1]},n.push(a)),s.push(a)}return s}),n}async removeExtensionsFromProfile(e,t){let n=[];try{await this.withProfileExtensions(t,o=>{let s=[];for(let a of o)e.some(l=>aa(a.identifier,l))?n.push(a):s.push(a);return n.length&&this._onRemoveExtensions.fire({extensions:n,profileLocation:t}),s}),n.length&&this._onDidRemoveExtensions.fire({extensions:n,profileLocation:t})}catch(o){throw n.length&&this._onDidRemoveExtensions.fire({extensions:n,error:o,profileLocation:t}),o}}async withProfileExtensions(e,t,n){return this.getResourceAccessQueue(e).queue(async()=>{let o=[],s;try{let a=await this.fileService.readFile(e);s=JSON.parse(a.value.toString().trim()||"[]")}catch(a){if(Jr(a)!==1)throw a;if(this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)&&(s=await this.migrateFromOldDefaultProfileExtensionsLocation()),!s&&n?.bailOutWhenFileNotFound)throw new la(fr(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){TT(l)||this.throwInvalidConentError(e);let c;if(Me(l.relativeLocation)&&l.relativeLocation)c=this.resolveExtensionLocation(l.relativeLocation);else if(Me(l.location)){this.logService.warn(`Extensions profile: Ignoring extension with invalid location: ${l.location}`);continue}else{c=E.revive(l.location);let u=this.toRelativePath(c);u&&(a=!0,l.relativeLocation=u)}kn(l.metadata?.hasPreReleaseVersion)&&l.metadata?.preRelease&&(a=!0,l.metadata.hasPreReleaseVersion=!0);let d=l.metadata?.id??l.identifier.uuid;o.push({identifier:d?{id:l.identifier.id,uuid:d}:{id:l.identifier.id},location:c,version:l.version,metadata:l.metadata})}a&&await this.fileService.writeFile(e,H.fromString(JSON.stringify(s)))}if(t){o=t(o);let a=o.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,H.fromString(JSON.stringify(a)))}return o})}throwInvalidConentError(e){throw new la(`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"),t=this.uriIdentityService.extUri.joinPath(this.extensionsLocation,".init-default-profile-extensions"),n;try{n=(await this.fileService.readFile(e)).value.toString()}catch(s){if(Jr(s)===1)return;throw s}this.logService.info("Migrating extensions from old default profile location",e.toString());let o;try{let s=JSON.parse(n);Array.isArray(s)&&s.every(a=>TT(a))?o=s:this.logService.warn("Skipping migrating from old default profile locaiton: Found invalid data",s)}catch(s){this.logService.error(s)}if(o)try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,H.fromString(JSON.stringify(o)),{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(Jr(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){Jr(s)!==1&&this.logService.error(s)}try{await this.fileService.del(t)}catch(s){Jr(s)!==1&&this.logService.error(s)}return o})()),this._migrationPromise}getResourceAccessQueue(e){let t=this.resourcesAccessQueueMap.get(e);return t||(t=new Rn,this.resourcesAccessQueueMap.set(e,t)),t}};lc=T([g(1,Ae),g(2,_r),g(3,_t),g(4,U)],lc)});function Ah(i){switch(i){case 1:return h(123,null);case 2:return h(122,null);case 3:return h(124,null);case 4:return h(125,null);case 5:return h(119,null);case 6:return h(120,null);case 7:return h(117,null);case 8:return h(118,null);case 9:return h(121,null);default:return""}}var CT=w(()=>{Te();ri()});var Mh,We,_ue,kue,_T,Rue,Due,Lue,Aue,Mue,Oue,Fue,kT,Wue,Uue,Nue,RT,Bue,Vue,Hue,$ue,que,Kue,zue,jue,Gue,Jue,Que,Xue,Yue,Zue,epe,tpe,rpe,npe,ipe,ope,spe,ape,cI=w(()=>{Mh={},We={exports:Mh};(function(i,r){if(typeof Mh=="object"&&typeof We=="object")We.exports=r();else if(typeof define=="function"&&define.amd)define([],r);else{var e=r();for(var t in e)(typeof Mh=="object"?Mh:i)[t]=e[t]}})(typeof self<"u"?self:void 0,(function(){return(function(i){var r={};function e(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return i[t].call(n.exports,n,n.exports,e),n.l=!0,n.exports}return e.m=i,e.c=r,e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:o})},e.r=function(t){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n||4&n&&typeof t=="object"&&t&&t.__esModule)return t;var o=Object.create(null);if(e.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&n&&typeof t!="string")for(var s in t)e.d(o,s,function(a){return t[a]}.bind(null,s));return o},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)})([function(i,r,e){(function(t){var n;r=i.exports=Xe,n=typeof t=="object"&&t.env&&t.env.NODE_DEBUG&&/\bsemver\b/i.test(t.env.NODE_DEBUG)?function(){var P=Array.prototype.slice.call(arguments,0);P.unshift("SEMVER"),console.log.apply(console,P)}:function(){},r.SEMVER_SPEC_VERSION="2.0.0";var o=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,a=r.re=[],l=r.src=[],c=0,d=c++;l[d]="0|[1-9]\\d*";var u=c++;l[u]="[0-9]+";var f=c++;l[f]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var m=c++;l[m]="("+l[d]+")\\.("+l[d]+")\\.("+l[d]+")";var y=c++;l[y]="("+l[u]+")\\.("+l[u]+")\\.("+l[u]+")";var v=c++;l[v]="(?:"+l[d]+"|"+l[f]+")";var b=c++;l[b]="(?:"+l[u]+"|"+l[f]+")";var I=c++;l[I]="(?:-("+l[v]+"(?:\\."+l[v]+")*))";var C=c++;l[C]="(?:-?("+l[b]+"(?:\\."+l[b]+")*))";var R=c++;l[R]="[0-9A-Za-z-]+";var D=c++;l[D]="(?:\\+("+l[R]+"(?:\\."+l[R]+")*))";var A=c++,z="v?"+l[m]+l[I]+"?"+l[D]+"?";l[A]="^"+z+"$";var N="[v=\\s]*"+l[y]+l[C]+"?"+l[D]+"?",j=c++;l[j]="^"+N+"$";var q=c++;l[q]="((?:<|>)?=?)";var ue=c++;l[ue]=l[u]+"|x|X|\\*";var rt=c++;l[rt]=l[d]+"|x|X|\\*";var bt=c++;l[bt]="[v=\\s]*("+l[rt]+")(?:\\.("+l[rt]+")(?:\\.("+l[rt]+")(?:"+l[I]+")?"+l[D]+"?)?)?";var Nr=c++;l[Nr]="[v=\\s]*("+l[ue]+")(?:\\.("+l[ue]+")(?:\\.("+l[ue]+")(?:"+l[C]+")?"+l[D]+"?)?)?";var Br=c++;l[Br]="^"+l[q]+"\\s*"+l[bt]+"$";var Y=c++;l[Y]="^"+l[q]+"\\s*"+l[Nr]+"$";var K=c++;l[K]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var X=c++;l[X]="(?:~>?)";var Z=c++;l[Z]="(\\s*)"+l[X]+"\\s+",a[Z]=new RegExp(l[Z],"g");var ie=c++;l[ie]="^"+l[X]+l[bt]+"$";var pe=c++;l[pe]="^"+l[X]+l[Nr]+"$";var we=c++;l[we]="(?:\\^)";var Ee=c++;l[Ee]="(\\s*)"+l[we]+"\\s+",a[Ee]=new RegExp(l[Ee],"g");var ot=c++;l[ot]="^"+l[we]+l[bt]+"$";var Gt=c++;l[Gt]="^"+l[we]+l[Nr]+"$";var Lt=c++;l[Lt]="^"+l[q]+"\\s*("+N+")$|^$";var Jt=c++;l[Jt]="^"+l[q]+"\\s*("+z+")$|^$";var Vr=c++;l[Vr]="(\\s*)"+l[q]+"\\s*("+N+"|"+l[bt]+")",a[Vr]=new RegExp(l[Vr],"g");var li=c++;l[li]="^\\s*("+l[bt]+")\\s+-\\s+("+l[bt]+")\\s*$";var Bc=c++;l[Bc]="^\\s*("+l[Nr]+")\\s+-\\s+("+l[Nr]+")\\s*$";var Vc=c++;l[Vc]="(<|>)?=?\\s*\\*";for(var bo=0;bo<35;bo++)n(bo,l[bo]),a[bo]||(a[bo]=new RegExp(l[bo]));function fe(P,L){if(P instanceof Xe)return P;if(typeof P!="string"||P.length>o||!(L?a[j]:a[A]).test(P))return null;try{return new Xe(P,L)}catch{return null}}function Xe(P,L){if(P instanceof Xe){if(P.loose===L)return P;P=P.version}else if(typeof P!="string")throw new TypeError("Invalid Version: "+P);if(P.length>o)throw new TypeError("version is longer than "+o+" characters");if(!(this instanceof Xe))return new Xe(P,L);n("SemVer",P,L),this.loose=L;var O=P.trim().match(L?a[j]:a[A]);if(!O)throw new TypeError("Invalid Version: "+P);if(this.raw=P,this.major=+O[1],this.minor=+O[2],this.patch=+O[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");O[4]?this.prerelease=O[4].split(".").map((function(se){if(/^[0-9]+$/.test(se)){var be=+se;if(be>=0&&be<s)return be}return se})):this.prerelease=[],this.build=O[5]?O[5].split("."):[],this.format()}r.parse=fe,r.valid=function(P,L){var O=fe(P,L);return O?O.version:null},r.clean=function(P,L){var O=fe(P.trim().replace(/^[=v]+/,""),L);return O?O.version:null},r.SemVer=Xe,Xe.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},Xe.prototype.toString=function(){return this.version},Xe.prototype.compare=function(P){return n("SemVer.compare",this.version,this.loose,P),P instanceof Xe||(P=new Xe(P,this.loose)),this.compareMain(P)||this.comparePre(P)},Xe.prototype.compareMain=function(P){return P instanceof Xe||(P=new Xe(P,this.loose)),ha(this.major,P.major)||ha(this.minor,P.minor)||ha(this.patch,P.patch)},Xe.prototype.comparePre=function(P){if(P instanceof Xe||(P=new Xe(P,this.loose)),this.prerelease.length&&!P.prerelease.length)return-1;if(!this.prerelease.length&&P.prerelease.length)return 1;if(!this.prerelease.length&&!P.prerelease.length)return 0;var L=0;do{var O=this.prerelease[L],se=P.prerelease[L];if(n("prerelease compare",L,O,se),O===void 0&&se===void 0)return 0;if(se===void 0)return 1;if(O===void 0)return-1;if(O!==se)return ha(O,se)}while(++L)},Xe.prototype.inc=function(P,L){switch(P){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",L);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",L);break;case"prepatch":this.prerelease.length=0,this.inc("patch",L),this.inc("pre",L);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",L),this.inc("pre",L);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 O=this.prerelease.length;--O>=0;)typeof this.prerelease[O]=="number"&&(this.prerelease[O]++,O=-2);O===-1&&this.prerelease.push(0)}L&&(this.prerelease[0]===L?isNaN(this.prerelease[1])&&(this.prerelease=[L,0]):this.prerelease=[L,0]);break;default:throw new Error("invalid increment argument: "+P)}return this.format(),this.raw=this.version,this},r.inc=function(P,L,O,se){typeof O=="string"&&(se=O,O=void 0);try{return new Xe(P,O).inc(L,se).version}catch{return null}},r.diff=function(P,L){if(dg(P,L))return null;var O=fe(P),se=fe(L);if(O.prerelease.length||se.prerelease.length){for(var be in O)if((be==="major"||be==="minor"||be==="patch")&&O[be]!==se[be])return"pre"+be;return"prerelease"}for(var be in O)if((be==="major"||be==="minor"||be==="patch")&&O[be]!==se[be])return be},r.compareIdentifiers=ha;var rb=/^[0-9]+$/;function ha(P,L){var O=rb.test(P),se=rb.test(L);return O&&se&&(P=+P,L=+L),O&&!se?-1:se&&!O?1:P<L?-1:P>L?1:0}function Wi(P,L,O){return new Xe(P,O).compare(new Xe(L,O))}function lp(P,L,O){return Wi(P,L,O)>0}function cp(P,L,O){return Wi(P,L,O)<0}function dg(P,L,O){return Wi(P,L,O)===0}function nb(P,L,O){return Wi(P,L,O)!==0}function ug(P,L,O){return Wi(P,L,O)>=0}function pg(P,L,O){return Wi(P,L,O)<=0}function dp(P,L,O,se){var be;switch(L){case"===":typeof P=="object"&&(P=P.version),typeof O=="object"&&(O=O.version),be=P===O;break;case"!==":typeof P=="object"&&(P=P.version),typeof O=="object"&&(O=O.version),be=P!==O;break;case"":case"=":case"==":be=dg(P,O,se);break;case"!=":be=nb(P,O,se);break;case">":be=lp(P,O,se);break;case">=":be=ug(P,O,se);break;case"<":be=cp(P,O,se);break;case"<=":be=pg(P,O,se);break;default:throw new TypeError("Invalid operator: "+L)}return be}function _n(P,L){if(P instanceof _n){if(P.loose===L)return P;P=P.value}if(!(this instanceof _n))return new _n(P,L);n("comparator",P,L),this.loose=L,this.parse(P),this.semver===Hc?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}r.rcompareIdentifiers=function(P,L){return ha(L,P)},r.major=function(P,L){return new Xe(P,L).major},r.minor=function(P,L){return new Xe(P,L).minor},r.patch=function(P,L){return new Xe(P,L).patch},r.compare=Wi,r.compareLoose=function(P,L){return Wi(P,L,!0)},r.rcompare=function(P,L,O){return Wi(L,P,O)},r.sort=function(P,L){return P.sort((function(O,se){return r.compare(O,se,L)}))},r.rsort=function(P,L){return P.sort((function(O,se){return r.rcompare(O,se,L)}))},r.gt=lp,r.lt=cp,r.eq=dg,r.neq=nb,r.gte=ug,r.lte=pg,r.cmp=dp,r.Comparator=_n;var Hc={};function At(P,L){if(P instanceof At)return P.loose===L?P:new At(P.raw,L);if(P instanceof _n)return new At(P.value,L);if(!(this instanceof At))return new At(P,L);if(this.loose=L,this.raw=P,this.set=P.split(/\s*\|\|\s*/).map((function(O){return this.parseRange(O.trim())}),this).filter((function(O){return O.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+P);this.format()}function Hr(P){return!P||P.toLowerCase()==="x"||P==="*"}function nk(P,L,O,se,be,ur,Ye,Zr,Vt,kr,ci,Ht,Ir){return((L=Hr(O)?"":Hr(se)?">="+O+".0.0":Hr(be)?">="+O+"."+se+".0":">="+L)+" "+(Zr=Hr(Vt)?"":Hr(kr)?"<"+(+Vt+1)+".0.0":Hr(ci)?"<"+Vt+"."+(+kr+1)+".0":Ht?"<="+Vt+"."+kr+"."+ci+"-"+Ht:"<="+Zr)).trim()}function ik(P,L){for(var O=0;O<P.length;O++)if(!P[O].test(L))return!1;if(L.prerelease.length){for(O=0;O<P.length;O++)if(n(P[O].semver),P[O].semver!==Hc&&P[O].semver.prerelease.length>0){var se=P[O].semver;if(se.major===L.major&&se.minor===L.minor&&se.patch===L.patch)return!0}return!1}return!0}function up(P,L,O){try{L=new At(L,O)}catch{return!1}return L.test(P)}function fg(P,L,O,se){var be,ur,Ye,Zr,Vt;switch(P=new Xe(P,se),L=new At(L,se),O){case">":be=lp,ur=pg,Ye=cp,Zr=">",Vt=">=";break;case"<":be=cp,ur=ug,Ye=lp,Zr="<",Vt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(up(P,L,se))return!1;for(var kr=0;kr<L.set.length;++kr){var ci=L.set[kr],Ht=null,Ir=null;if(ci.forEach((function(en){en.semver===Hc&&(en=new _n(">=0.0.0")),Ht=Ht||en,Ir=Ir||en,be(en.semver,Ht.semver,se)?Ht=en:Ye(en.semver,Ir.semver,se)&&(Ir=en)})),Ht.operator===Zr||Ht.operator===Vt||(!Ir.operator||Ir.operator===Zr)&&ur(P,Ir.semver)||Ir.operator===Vt&&Ye(P,Ir.semver))return!1}return!0}_n.prototype.parse=function(P){var L=this.loose?a[Lt]:a[Jt],O=P.match(L);if(!O)throw new TypeError("Invalid comparator: "+P);this.operator=O[1],this.operator==="="&&(this.operator=""),O[2]?this.semver=new Xe(O[2],this.loose):this.semver=Hc},_n.prototype.toString=function(){return this.value},_n.prototype.test=function(P){return n("Comparator.test",P,this.loose),this.semver===Hc||(typeof P=="string"&&(P=new Xe(P,this.loose)),dp(P,this.operator,this.semver,this.loose))},_n.prototype.intersects=function(P,L){if(!(P instanceof _n))throw new TypeError("a Comparator is required");var O;if(this.operator==="")return O=new At(P.value,L),up(this.value,O,L);if(P.operator==="")return O=new At(this.value,L),up(P.semver,O,L);var se=!(this.operator!==">="&&this.operator!==">"||P.operator!==">="&&P.operator!==">"),be=!(this.operator!=="<="&&this.operator!=="<"||P.operator!=="<="&&P.operator!=="<"),ur=this.semver.version===P.semver.version,Ye=!(this.operator!==">="&&this.operator!=="<="||P.operator!==">="&&P.operator!=="<="),Zr=dp(this.semver,"<",P.semver,L)&&(this.operator===">="||this.operator===">")&&(P.operator==="<="||P.operator==="<"),Vt=dp(this.semver,">",P.semver,L)&&(this.operator==="<="||this.operator==="<")&&(P.operator===">="||P.operator===">");return se||be||ur&&Ye||Zr||Vt},r.Range=At,At.prototype.format=function(){return this.range=this.set.map((function(P){return P.join(" ").trim()})).join("||").trim(),this.range},At.prototype.toString=function(){return this.range},At.prototype.parseRange=function(P){var L=this.loose;P=P.trim(),n("range",P,L);var O=L?a[Bc]:a[li];P=P.replace(O,nk),n("hyphen replace",P),P=P.replace(a[Vr],"$1$2$3"),n("comparator trim",P,a[Vr]),P=(P=(P=P.replace(a[Z],"$1~")).replace(a[Ee],"$1^")).split(/\s+/).join(" ");var se=L?a[Lt]:a[Jt],be=P.split(" ").map((function(ur){return(function(Ye,Zr){return n("comp",Ye),Ye=(function(Vt,kr){return Vt.trim().split(/\s+/).map((function(ci){return(function(Ht,Ir){n("caret",Ht,Ir);var en=Ir?a[Gt]:a[ot];return Ht.replace(en,(function(Hn,xe,Ue,mt,Tt){var br;return n("caret",Ht,Hn,xe,Ue,mt,Tt),Hr(xe)?br="":Hr(Ue)?br=">="+xe+".0.0 <"+(+xe+1)+".0.0":Hr(mt)?br=xe==="0"?">="+xe+"."+Ue+".0 <"+xe+"."+(+Ue+1)+".0":">="+xe+"."+Ue+".0 <"+(+xe+1)+".0.0":Tt?(n("replaceCaret pr",Tt),Tt.charAt(0)!=="-"&&(Tt="-"+Tt),br=xe==="0"?Ue==="0"?">="+xe+"."+Ue+"."+mt+Tt+" <"+xe+"."+Ue+"."+(+mt+1):">="+xe+"."+Ue+"."+mt+Tt+" <"+xe+"."+(+Ue+1)+".0":">="+xe+"."+Ue+"."+mt+Tt+" <"+(+xe+1)+".0.0"):(n("no pr"),br=xe==="0"?Ue==="0"?">="+xe+"."+Ue+"."+mt+" <"+xe+"."+Ue+"."+(+mt+1):">="+xe+"."+Ue+"."+mt+" <"+xe+"."+(+Ue+1)+".0":">="+xe+"."+Ue+"."+mt+" <"+(+xe+1)+".0.0"),n("caret return",br),br}))})(ci,kr)})).join(" ")})(Ye,Zr),n("caret",Ye),Ye=(function(Vt,kr){return Vt.trim().split(/\s+/).map((function(ci){return(function(Ht,Ir){var en=Ir?a[pe]:a[ie];return Ht.replace(en,(function(Hn,xe,Ue,mt,Tt){var br;return n("tilde",Ht,Hn,xe,Ue,mt,Tt),Hr(xe)?br="":Hr(Ue)?br=">="+xe+".0.0 <"+(+xe+1)+".0.0":Hr(mt)?br=">="+xe+"."+Ue+".0 <"+xe+"."+(+Ue+1)+".0":Tt?(n("replaceTilde pr",Tt),Tt.charAt(0)!=="-"&&(Tt="-"+Tt),br=">="+xe+"."+Ue+"."+mt+Tt+" <"+xe+"."+(+Ue+1)+".0"):br=">="+xe+"."+Ue+"."+mt+" <"+xe+"."+(+Ue+1)+".0",n("tilde return",br),br}))})(ci,kr)})).join(" ")})(Ye,Zr),n("tildes",Ye),Ye=(function(Vt,kr){return n("replaceXRanges",Vt,kr),Vt.split(/\s+/).map((function(ci){return(function(Ht,Ir){Ht=Ht.trim();var en=Ir?a[Y]:a[Br];return Ht.replace(en,(function(Hn,xe,Ue,mt,Tt,br){n("xRange",Ht,Hn,xe,Ue,mt,Tt,br);var ib=Hr(Ue),$c=ib||Hr(mt),qc=$c||Hr(Tt);return xe==="="&&qc&&(xe=""),ib?Hn=xe===">"||xe==="<"?"<0.0.0":"*":xe&&qc?($c&&(mt=0),qc&&(Tt=0),xe===">"?(xe=">=",$c?(Ue=+Ue+1,mt=0,Tt=0):qc&&(mt=+mt+1,Tt=0)):xe==="<="&&(xe="<",$c?Ue=+Ue+1:mt=+mt+1),Hn=xe+Ue+"."+mt+"."+Tt):$c?Hn=">="+Ue+".0.0 <"+(+Ue+1)+".0.0":qc&&(Hn=">="+Ue+"."+mt+".0 <"+Ue+"."+(+mt+1)+".0"),n("xRange return",Hn),Hn}))})(ci,kr)})).join(" ")})(Ye,Zr),n("xrange",Ye),Ye=(function(Vt,kr){return n("replaceStars",Vt,kr),Vt.trim().replace(a[Vc],"")})(Ye,Zr),n("stars",Ye),Ye})(ur,L)})).join(" ").split(/\s+/);return this.loose&&(be=be.filter((function(ur){return!!ur.match(se)}))),be=be.map((function(ur){return new _n(ur,L)}))},At.prototype.intersects=function(P,L){if(!(P instanceof At))throw new TypeError("a Range is required");return this.set.some((function(O){return O.every((function(se){return P.set.some((function(be){return be.every((function(ur){return se.intersects(ur,L)}))}))}))}))},r.toComparators=function(P,L){return new At(P,L).set.map((function(O){return O.map((function(se){return se.value})).join(" ").trim().split(" ")}))},At.prototype.test=function(P){if(!P)return!1;typeof P=="string"&&(P=new Xe(P,this.loose));for(var L=0;L<this.set.length;L++)if(ik(this.set[L],P))return!0;return!1},r.satisfies=up,r.maxSatisfying=function(P,L,O){var se=null,be=null;try{var ur=new At(L,O)}catch{return null}return P.forEach((function(Ye){ur.test(Ye)&&(se&&be.compare(Ye)!==-1||(be=new Xe(se=Ye,O)))})),se},r.minSatisfying=function(P,L,O){var se=null,be=null;try{var ur=new At(L,O)}catch{return null}return P.forEach((function(Ye){ur.test(Ye)&&(se&&be.compare(Ye)!==1||(be=new Xe(se=Ye,O)))})),se},r.validRange=function(P,L){try{return new At(P,L).range||"*"}catch{return null}},r.ltr=function(P,L,O){return fg(P,L,"<",O)},r.gtr=function(P,L,O){return fg(P,L,">",O)},r.outside=fg,r.prerelease=function(P,L){var O=fe(P,L);return O&&O.prerelease.length?O.prerelease:null},r.intersects=function(P,L,O){return P=new At(P,O),L=new At(L,O),P.intersects(L)},r.coerce=function(P){if(P instanceof Xe)return P;if(typeof P!="string")return null;var L=P.match(a[K]);return L==null?null:fe((L[1]||"0")+"."+(L[2]||"0")+"."+(L[3]||"0"))}}).call(this,e(1))},function(i,r){var e,t,n=i.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(b){if(e===setTimeout)return setTimeout(b,0);if((e===o||!e)&&setTimeout)return e=setTimeout,setTimeout(b,0);try{return e(b,0)}catch{try{return e.call(null,b,0)}catch{return e.call(this,b,0)}}}(function(){try{e=typeof setTimeout=="function"?setTimeout:o}catch{e=o}try{t=typeof clearTimeout=="function"?clearTimeout:s}catch{t=s}})();var l,c=[],d=!1,u=-1;function f(){d&&l&&(d=!1,l.length?c=l.concat(c):u=-1,c.length&&m())}function m(){if(!d){var b=a(f);d=!0;for(var I=c.length;I;){for(l=c,c=[];++u<I;)l&&l[u].run();u=-1,I=c.length}l=null,d=!1,(function(C){if(t===clearTimeout)return clearTimeout(C);if((t===s||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(C);try{t(C)}catch{try{return t.call(null,C)}catch{return t.call(this,C)}}})(b)}}function y(b,I){this.fun=b,this.array=I}function v(){}n.nextTick=function(b){var I=new Array(arguments.length-1);if(arguments.length>1)for(var C=1;C<arguments.length;C++)I[C-1]=arguments[C];c.push(new y(b,I)),c.length!==1||d||a(m)},y.prototype.run=function(){this.fun.apply(null,this.array)},n.title="browser",n.browser=!0,n.env={},n.argv=[],n.version="",n.versions={},n.on=v,n.addListener=v,n.once=v,n.off=v,n.removeListener=v,n.removeAllListeners=v,n.emit=v,n.prependListener=v,n.prependOnceListener=v,n.listeners=function(b){return[]},n.binding=function(b){throw new Error("process.binding is not supported")},n.cwd=function(){return"/"},n.chdir=function(b){throw new Error("process.chdir is not supported")},n.umask=function(){return 0}}])}));_ue=We.exports.SEMVER_SPEC_VERSION,kue=We.exports.parse,_T=We.exports.valid,Rue=We.exports.coerce,Due=We.exports.clean,Lue=We.exports.inc,Aue=We.exports.major,Mue=We.exports.minor,Oue=We.exports.patch,Fue=We.exports.prerelease,kT=We.exports.gt,Wue=We.exports.gte,Uue=We.exports.lt,Nue=We.exports.lte,RT=We.exports.eq,Bue=We.exports.neq,Vue=We.exports.cmp,Hue=We.exports.compare,$ue=We.exports.rcompare,que=We.exports.compareIdentifiers,Kue=We.exports.rcompareIdentifiers,zue=We.exports.compareBuild,jue=We.exports.sort,Gue=We.exports.rsort,Jue=We.exports.diff,Que=We.exports.validRange,Xue=We.exports.satisfies,Yue=We.exports.maxSatisfying,Zue=We.exports.minSatisfying,epe=We.exports.minVersion,tpe=We.exports.gtr,rpe=We.exports.ltr,npe=We.exports.outside,ipe=We.exports.intersects,ope=We.exports.SemVer,spe=We.exports.Comparator,ape=We.exports.Range});var jA,LT,AT=w(()=>{jA={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.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",version:2},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"},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",version:4},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts",version:6},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",version:3},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts",version:15},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts",version:1},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts",version:4},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",version:3},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"},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",version:4},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"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.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",version:2},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"},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",version:1},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",version:1},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.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",version:1},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"},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"}},LT=Object.freeze(jA)});function JA(i){return i=i.trim(),i==="*"||MT.test(i)}function uI(i){if(!JA(i))return null;if(i=i.trim(),i==="*")return{hasCaret:!1,hasGreaterEquals:!1,majorBase:0,majorMustEqual:!1,minorBase:0,minorMustEqual:!1,patchBase:0,patchMustEqual:!1,preRelease:null};let r=i.match(MT);return r?{hasCaret:r[1]==="^",hasGreaterEquals:r[1]===">=",majorBase:r[2]==="x"?0:parseInt(r[2],10),majorMustEqual:r[2]!=="x",minorBase:r[4]==="x"?0:parseInt(r[4],10),minorMustEqual:r[4]!=="x",patchBase:r[6]==="x"?0:parseInt(r[6],10),patchMustEqual:r[6]!=="x",preRelease:r[8]||null}:null}function pI(i){if(!i)return null;let r=i.majorBase,e=i.majorMustEqual,t=i.minorBase,n=i.minorMustEqual,o=i.patchBase,s=i.patchMustEqual;i.hasCaret&&(r===0||(n=!1),s=!1);let a=0;if(i.preRelease){let l=GA.exec(i.preRelease);if(l){let[,c,d,u,f,m]=l;a=Date.UTC(Number(c),Number(d)-1,Number(u),Number(f)||0,Number(m)||0)}}return{majorBase:r,majorMustEqual:e,minorBase:t,minorMustEqual:n,patchBase:o,patchMustEqual:s,isMinimum:i.hasGreaterEquals,notBefore:a}}function QA(i,r,e){let t;typeof i=="string"?t=pI(uI(i)):t=i;let n;r instanceof Date?n=r.getTime():typeof r=="string"&&(n=new Date(r).getTime());let o;if(typeof e=="string"?o=pI(uI(e)):o=e,!t||!o)return!1;let s=t.majorBase,a=t.minorBase,l=t.patchBase,c=o.majorBase,d=o.minorBase,u=o.patchBase,f=o.notBefore,m=o.majorMustEqual,y=o.minorMustEqual,v=o.patchMustEqual;return o.isMinimum?s>c?!0:s<c?!1:a>d?!0:a<d||n&&n<f?!1:l>=u:(s===1&&c===0&&(!m||!y||!v)&&(c=1,d=0,u=0,m=!0,y=!1,v=!1),s<c?!1:s>c?!m:a<d?!1:a>d?!y:l<u?!1:l>u?!v:!(n&&n<f))}function OT(i,r,e,t,n,o){let s=[];if(typeof t.publisher<"u"&&typeof t.publisher!="string")return s.push([Fe.Error,h(2111,null)]),s;if(typeof t.name!="string")return s.push([Fe.Error,h(2110,null,"name")]),s;if(typeof t.version!="string")return s.push([Fe.Error,h(2112,null,"version")]),s;if(!t.engines)return s.push([Fe.Error,h(2103,null,"engines")]),s;if(typeof t.engines.vscode!="string")return s.push([Fe.Error,h(2104,null,"engines.vscode")]),s;if(typeof t.extensionDependencies<"u"&&!dI(t.extensionDependencies))return s.push([Fe.Error,h(2106,null,"extensionDependencies")]),s;if(typeof t.extensionAffinity<"u"&&!dI(t.extensionAffinity))return s.push([Fe.Error,h(2105,null,"extensionAffinity")]),s;if(typeof t.activationEvents<"u"){if(!dI(t.activationEvents))return s.push([Fe.Error,h(2099,null,"activationEvents")]),s;if(typeof t.main>"u"&&typeof t.browser>"u")return s.push([Fe.Error,h(2100,null,"activationEvents","main","browser")]),s}if(typeof t.extensionKind<"u"&&typeof t.main>"u"&&s.push([Fe.Warning,h(2107,null,"extensionKind")]),typeof t.main<"u"){if(typeof t.main!="string")return s.push([Fe.Error,h(2108,null,"main")]),s;{let c=me(e,t.main);ov(c,e)||s.push([Fe.Warning,h(2109,null,c.path,e.path)])}}if(typeof t.browser<"u"){if(typeof t.browser!="string")return s.push([Fe.Error,h(2101,null,"browser")]),s;{let c=me(e,t.browser);ov(c,e)||s.push([Fe.Warning,h(2102,null,c.path,e.path)])}}if(!_T(t.version))return s.push([Fe.Error,h(2113,null)]),s;let a=[];if(!XA(i,r,t,n,a))for(let c of a)s.push([Fe.Error,c]);if(o&&t.enabledApiProposals?.length){let c=[];if(!YA([...t.enabledApiProposals],c))for(let d of c)s.push([Fe.Error,d])}return s}function XA(i,r,e,t,n){return t||typeof e.main>"u"&&typeof e.browser>"u"?!0:ZA(i,r,e.engines.vscode,n)}function YA(i,r){if(i.length===0)return!0;let e=Array.isArray(r)?r:void 0,t=(Array.isArray(r)?void 0:r)??LT,n=[],o=yT(i);for(let{proposalName:s,version:a}of o){if(!a)continue;t[s]?.version!==a&&n.push(s)}return n.length?(e&&(n.length===1?e.push(h(2097,null,n[0])):e.push(h(2098,null,n.slice(0,n.length-1).map(s=>`'${s}'`).join(", "),n[n.length-1]))),!1):!0}function ZA(i,r,e,t=[]){let n=pI(uI(e));if(!n)return t.push(h(2117,null,e)),!1;if(n.majorBase===0){if(!n.majorMustEqual||!n.minorMustEqual)return t.push(h(2115,null,e)),!1}else if(!n.majorMustEqual)return t.push(h(2116,null,e)),!1;return QA(i,r,n)?!0:(t.push(h(2114,null,i,e)),!1)}function dI(i){if(!Array.isArray(i))return!1;for(let r=0,e=i.length;r<e;r++)if(typeof i[r]!="string")return!1;return!0}var MT,GA,FT=w(()=>{It();vu();Te();cI();ju();AT();MT=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,GA=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});function WT(i,r,e,t){try{eM(i,r,e,t)}catch(n){i.error(n?.message??n)}return r}function eM(i,r,e,t){let n=(o,s,a)=>{let l=o[s];if(Me(l)){let c=l,d=c.length;if(d>1&&c[0]==="%"&&c[d-1]==="%"){let u=c.substr(1,d-2),f=e[u];f===void 0&&t&&(f=t[u]);let m=typeof f=="string"?f:f?.message,y=t?.[u],v=typeof y=="string"?y:y?.message;if(!m){v||i.warn(`[${r.name}]: ${h(2082,null,u)}`);return}if(a&&(s==="title"||s==="category")&&v&&v!==m){let b={value:m,original:v};o[s]=b}else o[s]=m}}else if(ze(l))for(let c in l)l.hasOwnProperty(c)&&(c==="commands"?n(l,c,!0):n(l,c,a));else if(Array.isArray(l))for(let c=0;c<l.length;c++)n(l,c,a)};for(let o in r)r.hasOwnProperty(o)&&n(r,o)}var UT=w(()=>{Le();Te()});var NT,BT,Ju,ca,cc,dc,Oh,fI=w(()=>{$t();ve();mn();it();He();ri();CT();$();qe();_e();te();It();cI();vu();le();Te();un();lI();ju();FT();Ke();re();oe();tr();J();xd();Gu();ti();ei();UT();(r=>{function i(e,t){if(e===t)return!0;let n=Object.keys(e),o=new Set;for(let s of Object.keys(t))o.add(s);if(n.length!==o.size)return!1;for(let s of n){if(e[s]!==t[s])return!1;o.delete(s)}return o.size===0}r.equals=i})(NT||={});BT=M("IExtensionsScannerService"),Ju=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.systemExtensionsLocation=e;this.userExtensionsLocation=t;this.extensionsControlLocation=n;this.userDataProfilesService=s;this.extensionsProfileScannerService=a;this.fileService=l;this.logService=c;this.environmentService=d;this.productService=u;this.uriIdentityService=f;this.instantiationService=m;this._onDidChangeCache=this._register(new S);this.onDidChangeCache=this._onDidChangeCache.event;this.initializeDefaultProfileExtensionsPromise=void 0;this.systemExtensionsCachedScanner=this._register(this.instantiationService.createInstance(dc,o)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(dc,o)),this.extensionsScanner=this._register(this.instantiationService.createInstance(cc)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=ET(this.fileService,this.logService)),this._targetPlatformPromise}async scanAllExtensions(e,t){let[n,o]=await Promise.all([this.scanSystemExtensions(e),this.scanUserExtensions(t)]);return this.dedupExtensions(n,o,[],await this.getTargetPlatform(),!0)}async scanSystemExtensions(e){let t=[];t.push(this.scanDefaultSystemExtensions(e.language)),t.push(this.scanDevSystemExtensions(e.language,!!e.checkControlFile));let[n,o]=await Promise.all(t);return this.applyScanOptions([...n,...o],0,{pickLatest:!1})}async scanUserExtensions(e){this.logService.trace("Started scanning user extensions",e.profileLocation);let t=this.uriIdentityService.extUri.isEqual(e.profileLocation,this.userDataProfilesService.defaultProfile.extensionsResource)?{bailOutWhenFileNotFound:!0}:void 0,n=await this.createExtensionScannerInput(e.profileLocation,!0,1,e.language,!0,t,e.productVersion??this.getProductVersion()),o=e.useCache&&!n.devMode?this.userExtensionsCachedScanner:this.extensionsScanner,s;try{s=await o.scanExtensions(n)}catch(a){if(a instanceof la&&a.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions(),s=await o.scanExtensions(n);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 t=await this.createExtensionScannerInput(this.userExtensionsLocation,!1,1,void 0,!0,void 0,this.getProductVersion()),n=await this.extensionsScanner.scanExtensions(t);return this.applyScanOptions(n,1,{includeAllVersions:e.includeAllVersions,includeInvalid:e.includeInvalid})}async scanExtensionsUnderDevelopment(e,t){if(this.environmentService.isExtensionDevelopment&&this.environmentService.extensionDevelopmentLocationURI){let n=(await Promise.all(this.environmentService.extensionDevelopmentLocationURI.filter(o=>o.scheme===F.file).map(async o=>{let s=await this.createExtensionScannerInput(o,!1,1,t.language,!1,void 0,this.getProductVersion());return(await this.extensionsScanner.scanOneOrMultipleExtensions(s)).map(l=>(l.type=e.find(c=>aa(c.identifier,l.identifier))?.type??l.type,this.extensionsScanner.validate(l,s)))}))).flat();return this.applyScanOptions(n,"development",{includeInvalid:t.includeInvalid,pickLatest:!0})}return[]}async scanExistingExtension(e,t,n){let o=await this.createExtensionScannerInput(e,!1,t,n.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanExtension(o);return!s||!n.includeInvalid&&!s.isValid?null:s}async scanOneOrMultipleExtensions(e,t,n){let o=await this.createExtensionScannerInput(e,!1,t,n.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanOneOrMultipleExtensions(o);return this.applyScanOptions(s,t,{includeInvalid:n.includeInvalid,pickLatest:!0})}async scanMultipleExtensions(e,t,n){let o=[];return await Promise.all(e.map(async s=>{let a=await this.scanOneOrMultipleExtensions(s,t,n);o.push(...a)})),this.applyScanOptions(o,t,{includeInvalid:n.includeInvalid,pickLatest:!0})}async updateManifestMetadata(e,t){let n=me(e,"package.json"),o=(await this.fileService.readFile(n)).value.toString(),s=JSON.parse(o);s.__metadata={...s.__metadata,...t},await this.fileService.writeFile(me(e,"package.json"),H.fromString(JSON.stringify(s,null,"	")))}async initializeDefaultProfileExtensions(){try{await this.extensionsProfileScannerService.scanProfileExtensions(this.userDataProfilesService.defaultProfile.extensionsResource,{bailOutWhenFileNotFound:!0})}catch(e){if(e instanceof la&&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(t=>[t,t.metadata]),this.userDataProfilesService.defaultProfile.extensionsResource);else try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,H.fromString(JSON.stringify([])))}catch(t){Jr(t)!==1&&this.logService.warn("Failed to create default profile extensions manifest in extensions installation folder.",this.userExtensionsLocation.toString(),fr(t))}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,t,n={}){return n.includeAllVersions||(e=this.dedupExtensions(t===0?e:void 0,t===1?e:void 0,t==="development"?e:void 0,await this.getTargetPlatform(),!!n.pickLatest)),n.includeInvalid||(e=e.filter(o=>o.isValid)),e.sort((o,s)=>{let a=Pe(o.location.fsPath),l=Pe(s.location.fsPath);return a<l?-1:a>l?1:0})}dedupExtensions(e,t,n,o,s){let a=(c,d,u)=>{if(!u){if(c.metadata?.isApplicationScoped&&!d.metadata?.isApplicationScoped)return!1;if(!c.metadata?.isApplicationScoped&&d.metadata?.isApplicationScoped)return!0}if(c.isValid&&!d.isValid)return!1;if(c.isValid===d.isValid){if(s&&kT(c.manifest.version,d.manifest.version))return this.logService.debug(`Skipping extension ${d.location.path} with lower version ${d.manifest.version} in favour of ${c.location.path} with version ${c.manifest.version}`),!1;if(RT(c.manifest.version,d.manifest.version)){if(c.type===0)return this.logService.debug(`Skipping extension ${d.location.path} in favour of system extension ${c.location.path} with same version`),!1;if(c.targetPlatform===o)return this.logService.debug(`Skipping extension ${d.location.path} from different target platform ${d.targetPlatform}`),!1}}return u?this.logService.warn(`Overwriting user extension ${c.location.path} with ${d.location.path}.`):this.logService.debug(`Overwriting user extension ${c.location.path} with ${d.location.path}.`),!0},l=new Dh;return e?.forEach(c=>{let d=l.get(c.identifier.id);(!d||a(d,c,!1))&&l.set(c.identifier.id,c)}),t?.forEach(c=>{let d=l.get(c.identifier.id);if(!d&&e&&c.type===0){this.logService.debug(`Skipping obsolete system extension ${c.location.path}.`);return}(!d||a(d,c,!1))&&l.set(c.identifier.id,c)}),n?.forEach(c=>{let d=l.get(c.identifier.id);(!d||a(d,c,!0))&&l.set(c.identifier.id,c),l.set(c.identifier.id,c)}),[...l.values()]}async scanDefaultSystemExtensions(e){this.logService.trace("Started scanning system extensions");let t=await this.createExtensionScannerInput(this.systemExtensionsLocation,!1,0,e,!0,void 0,this.getProductVersion()),o=await(t.devMode?this.extensionsScanner:this.systemExtensionsCachedScanner).scanExtensions(t);return this.logService.trace("Scanned system extensions:",o.length),o}async scanDevSystemExtensions(e,t){let n=this.environmentService.isBuilt?[]:this.productService.builtInExtensions;if(!n?.length)return[];this.logService.trace("Started scanning dev system extensions");let o=t?await this.getBuiltInExtensionControl():{},s=[],a=E.file(Ct(B(st.asFileUri("").fsPath,"..",".build","builtInExtensions")));for(let c of n){let d=o[c.name]||"marketplace";switch(d){case"disabled":break;case"marketplace":s.push(me(a,c.name));break;default:s.push(E.file(d));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),lt(l)}async getBuiltInExtensionControl(){try{let e=await this.fileService.readFile(this.extensionsControlLocation);return JSON.parse(e.value.toString())}catch{return{}}}async createExtensionScannerInput(e,t,n,o,s,a,l){let c=await this.getTranslations(o??yn),d=await this.getMtime(e),u=t&&!this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)?this.userDataProfilesService.defaultProfile.extensionsResource:void 0,f=u?await this.getMtime(u):void 0;return new ca(e,d,u,f,t,a,n,s,l.version,l.date,this.productService.commit,!this.environmentService.isBuilt,o,c)}async getMtime(e){try{let t=await this.fileService.stat(e);if(typeof t.mtime=="number")return t.mtime}catch{}}getProductVersion(){return{version:this.productService.version,date:this.productService.date}}};Ju=T([g(4,_r),g(5,fs),g(6,Ae),g(7,U),g(8,zr),g(9,De),g(10,_t),g(11,Wt)],Ju);ca=class{constructor(r,e,t,n,o,s,a,l,c,d,u,f,m,y){this.location=r;this.mtime=e;this.applicationExtensionslocation=t;this.applicationExtensionslocationMtime=n;this.profile=o;this.profileScanOptions=s;this.type=a;this.validate=l;this.productVersion=c;this.productDate=d;this.productCommit=u;this.devMode=f;this.language=m;this.translations=y}static createNlsConfiguration(r){return{language:r.language,pseudo:r.language==="pseudo",devMode:r.devMode,translations:r.translations}}static equals(r,e){return sd(r.location,e.location)&&r.mtime===e.mtime&&sd(r.applicationExtensionslocation,e.applicationExtensionslocation)&&r.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&r.profile===e.profile&&fn(r.profileScanOptions,e.profileScanOptions)&&r.type===e.type&&r.validate===e.validate&&r.productVersion===e.productVersion&&r.productDate===e.productDate&&r.productCommit===e.productCommit&&r.devMode===e.devMode&&r.language===e.language&&NT.equals(r.translations,e.translations)}},cc=class extends _{constructor(e,t,n,o,s,a){super();this.extensionsProfileScannerService=e;this.uriIdentityService=t;this.fileService=n;this.environmentService=s;this.logService=a;this.extensionsEnabledWithApiProposalVersion=o.extensionsEnabledWithApiProposalVersion?.map(l=>l.toLowerCase())??[]}async scanExtensions(e){return e.profile?this.scanExtensionsFromProfile(e):this.scanExtensionsFromLocation(e)}async scanExtensionsFromLocation(e){let t=await this.fileService.resolve(e.location);if(!t.children?.length)return[];let n=await Promise.all(t.children.map(async o=>{if(!o.isDirectory||e.type===1&&Kr(o.resource).indexOf(".")===0)return null;let s=new ca(o.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 lt(n).sort((o,s)=>o.location.path<s.location.path?-1:1)}async scanExtensionsFromProfile(e){let t=await this.scanExtensionsFromProfileResource(e.location,()=>!0,e);if(e.applicationExtensionslocation&&!this.uriIdentityService.extUri.isEqual(e.location,e.applicationExtensionslocation)){t=t.filter(o=>!o.metadata?.isApplicationScoped);let n=await this.scanExtensionsFromProfileResource(e.applicationExtensionslocation,o=>!!o.metadata?.isBuiltin||!!o.metadata?.isApplicationScoped,e);t.push(...n)}return t}async scanExtensionsFromProfileResource(e,t,n){let o=await this.extensionsProfileScannerService.scanProfileExtensions(e,n.profileScanOptions);if(!o.length)return[];let s=await Promise.all(o.map(async a=>{if(t(a)){let l=new ca(a.location,n.mtime,n.applicationExtensionslocation,n.applicationExtensionslocationMtime,n.profile,n.profileScanOptions,n.type,n.validate,n.productVersion,n.productDate,n.productCommit,n.devMode,n.language,n.translations);return this.scanExtension(l,a)}return null}));return lt(s)}async scanOneOrMultipleExtensions(e){try{if(await this.fileService.exists(me(e.location,"package.json"))){let t=await this.scanExtension(e);return t?[t]:[]}else return await this.scanExtensions(e)}catch(t){return this.logService.error(`Error scanning extensions at ${e.location.path}:`,fr(t)),[]}}async scanExtension(e,t){let n=[],o=!0,s;try{s=await this.scanExtensionManifest(e.location)}catch(m){if(t){n.push([Fe.Error,fr(m)]),o=!1;let[y,v]=t.identifier.id.split(".");s={name:v,publisher:y,version:t.version,engines:{vscode:""}}}else return e.type!==0&&this.logService.error(m),null}s.publisher||(s.publisher=Lh);let a;t?a={...t.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=PT(s.publisher,s.name),c=a?.id?{id:l,uuid:a.id}:{id:l},d=a?.isSystem?0:e.type,u=d===0||!!a?.isBuiltin;try{s=await this.translateManifest(e.location,s,ca.createNlsConfiguration(e))}catch(m){this.logService.warn("Failed to translate manifest",fr(m))}let f={type:d,identifier:c,manifest:s,location:e.location,isBuiltin:u,targetPlatform:a?.targetPlatform??"undefined",publisherDisplayName:a?.publisherDisplayName,metadata:a,isValid:o,validations:n,preRelease:!!a?.preRelease};return e.validate&&(f=this.validate(f,e)),s.enabledApiProposals&&(!this.environmentService.isBuilt||this.extensionsEnabledWithApiProposalVersion.includes(l.toLowerCase()))&&(s.originalEnabledApiProposals=s.enabledApiProposals,s.enabledApiProposals=wT([...s.enabledApiProposals])),f}validate(e,t){let n=e.isValid,o=this.environmentService.isBuilt&&this.extensionsEnabledWithApiProposalVersion.includes(e.identifier.id.toLowerCase()),s=OT(t.productVersion,t.productDate,t.location,e.manifest,e.isBuiltin,o);for(let[a,l]of s)a===Fe.Error&&(n=!1,this.logService.error(this.formatMessage(t.location,l)));return e.isValid=n,e.validations=[...e.validations,...s],e}async scanExtensionManifest(e){let t=me(e,"package.json"),n;try{n=(await this.fileService.readFile(t)).value.toString()}catch(s){throw Jr(s)!==1&&this.logService.error(this.formatMessage(e,h(2083,null,t.path,s.message))),s}let o;try{o=JSON.parse(n)}catch(s){let a=[];Mn(n,a);for(let l of a)this.logService.error(this.formatMessage(e,h(2085,null,t.path,l.offset,l.length,Ah(l.error))));throw s}if(Jo(o)!=="object"){let s=this.formatMessage(e,h(2086,null,t.path));throw this.logService.error(s),new Error(s)}return o}async translateManifest(e,t,n){let o=await this.getLocalizedMessages(e,t,n);if(o)try{let s=[],a=await this.resolveOriginalMessageBundle(o.default,s);if(s.length>0)return s.forEach(c=>{this.logService.error(this.formatMessage(e,h(2087,null,o.default?.path,Ah(c.error))))}),t;if(Jo(o)!=="object")return this.logService.error(this.formatMessage(e,h(2084,null,o.default?.path))),t;let l=o.values||Object.create(null);return WT(this.logService,t,l,a)}catch{}return t}async getLocalizedMessages(e,t,n){let o=me(e,"package.nls.json"),s=(d,u)=>{u.forEach(f=>{this.logService.error(this.formatMessage(e,h(2087,null,d?.path,Ah(f.error))))})},a=d=>{this.logService.error(this.formatMessage(e,h(2084,null,d?.path)))},l=`${t.publisher}.${t.name}`,c=n.translations[l];if(c)try{let d=E.file(c),u=(await this.fileService.readFile(d)).value.toString(),f=[],m=Mn(u,f);return f.length>0?(s(d,f),{values:void 0,default:o}):Jo(m)!=="object"?(a(d),{values:void 0,default:o}):{values:m.contents?m.contents.package:void 0,default:o}}catch{return{values:void 0,default:o}}else{if(!await this.fileService.exists(o))return;let u;try{u=await this.findMessageBundles(e,n)}catch{return}if(!u.localized)return{values:void 0,default:u.original};try{let f=(await this.fileService.readFile(u.localized)).value.toString(),m=[],y=Mn(f,m);return m.length>0?(s(u.localized,m),{values:void 0,default:u.original}):Jo(y)!=="object"?(a(u.localized),{values:void 0,default:u.original}):{values:y,default:u.original}}catch{return{values:void 0,default:u.original}}}}async resolveOriginalMessageBundle(e,t){if(e)try{let n=(await this.fileService.readFile(e)).value.toString();return Mn(n,t)}catch{}}findMessageBundles(e,t){return new Promise((n,o)=>{let s=a=>{let l=me(e,`package.nls.${a}.json`);this.fileService.exists(l).then(c=>{c&&n({localized:l,original:me(e,"package.nls.json")});let d=a.lastIndexOf("-");d===-1?n({localized:me(e,"package.nls.json"),original:null}):(a=a.substring(0,d),s(a))})};if(t.devMode||t.pseudo||!t.language)return n({localized:me(e,"package.nls.json"),original:null});s(t.language)})}formatMessage(e,t){return`[${e.path}]: ${t}`}};cc=T([g(0,fs),g(1,_t),g(2,Ae),g(3,De),g(4,zr),g(5,U)],cc);dc=class extends cc{constructor(e,t,n,o,s,a,l,c){super(n,o,s,a,l,c);this.currentProfile=e;this.userDataProfilesService=t;this.cacheValidatorThrottler=this._register(new Pr(3e3));this._onDidChangeCache=this._register(new S);this.onDidChangeCache=this._onDidChangeCache.event}async scanExtensions(e){let t=this.getCacheFile(e),n=await this.readExtensionCache(t);if(this.input=e,n&&n.input&&ca.equals(n.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()),n.result.map(s=>(s.location=E.revive(s.location),s));let o=await super.scanExtensions(e);return await this.writeExtensionCache(t,{input:e,result:o}),o}async readExtensionCache(e){try{let t=await this.fileService.readFile(e),n=JSON.parse(t.value.toString());return{result:n.result,input:Zn(n.input)}}catch(t){Jr(t)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,fr(t))}return null}async writeExtensionCache(e,t){try{await this.fileService.writeFile(e,H.fromString(JSON.stringify(t)))}catch(n){this.logService.debug("Error while writing the extension cache file:",e.path,fr(n))}}async validateCache(){if(!this.input)return;let e=this.getCacheFile(this.input),t=await this.readExtensionCache(e);if(!t)return;let n=t.result,o=JSON.parse(JSON.stringify(await super.scanExtensions(this.input)));if(!fn(o,n))try{this.logService.info("Invalidating Cache",n,o),await this.fileService.del(e),this._onDidChangeCache.fire()}catch(s){this.logService.error(s)}}getCacheFile(e){let t=this.getProfile(e);return this.uriIdentityService.extUri.joinPath(t.cacheHome,e.type===0?vT:gT)}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(t=>this.uriIdentityService.extUri.isEqual(e.location,t.extensionsResource))??this.currentProfile:this.userDataProfilesService.defaultProfile}};dc=T([g(1,_r),g(2,fs),g(3,_t),g(4,Ae),g(5,De),g(6,zr),g(7,U)],dc);Oh=class extends Ju{constructor(r,e,t,n,o,s,a,l,c,d,u,f){super(r,e,me(t,".vscode-oss-dev","extensions","control.json"),n,o,s,a,l,c,d,u,f),this.translationsPromise=(async()=>{if(Tg)try{let m=await this.fileService.readFile(E.file(Tg));return JSON.parse(m.value.toString())}catch{}return Object.create(null)})()}getTranslations(r){return this.translationsPromise}}});var uc,VT=w(()=>{le();un();Gu();fI();Ke();re();oe();tr();ei();ti();uc=class extends Oh{constructor(r,e,t,n,o,s,a,l){super(E.file(o.builtinExtensionsPath),E.file(o.extensionsPath),o.userHome,r.defaultProfile,r,e,t,n,o,s,a,l)}};uc=T([g(0,_r),g(1,fs),g(2,Ae),g(3,U),g(4,Or),g(5,De),g(6,_t),g(7,Wt)],uc)});var pc,HT=w(()=>{$();Pt();Ti();Go();Cr();ve();Dt();pc=class extends _{constructor(e,t,n){super();this.userDataProfilesService=t;this.windowsMainService=n;this._register(e.onWillLoadWindow(o=>{o.reason===2&&this.unsetProfileForWorkspace(o.window)})),this._register(e.onBeforeCloseWindow(o=>this.unsetProfileForWorkspace(o))),this._register(new hr(()=>this.cleanUpEmptyWindowAssociations(),30*1e3)).schedule()}async unsetProfileForWorkspace(e){let t=this.getWorkspace(e),n=this.userDataProfilesService.getProfileForWorkspace(t);n?.isTransient&&(this.userDataProfilesService.unsetWorkspace(t,n.isTransient),n.isTransient&&await this.userDataProfilesService.cleanUpTransientProfiles())}getWorkspace(e){return e.openedWorkspace??Vo(e.backupPath,e.isExtensionDevelopmentHost)}cleanUpEmptyWindowAssociations(){let e=this.userDataProfilesService.getAssociatedEmptyWindows();if(e.length===0)return;let t=this.windowsMainService.getWindows().map(n=>this.getWorkspace(n));for(let n of e)t.some(o=>o.id===n.id)||this.userDataProfilesService.unsetWorkspace(n,!1)}};pc=T([g(0,ye),g(1,Wr),g(2,Be)],pc)});var Fh,$T=w(()=>{J();$();oo();Fh=class extends _{constructor(e,t,n){super();this.storageMainService=e;this.userDataProfilesService=t;this.logService=n;let o=this._register(new qt);this._onDidChange=this._register(new S({onWillAddFirstListener:()=>o.value=this.registerStorageChangeListeners(),onDidRemoveLastListener:()=>o.value=void 0}))}registerStorageChangeListeners(){this.logService.debug("ProfileStorageChangesListenerChannel#registerStorageChangeListeners");let e=new ee;return e.add(x.debounce(this.storageMainService.applicationStorage.onDidChangeStorage,(t,n)=>(t?t.push(n.key):t=[n.key],t),100)(t=>this.onDidChangeApplicationStorage(t))),e.add(x.debounce(this.storageMainService.onDidChangeProfileStorage,(t,n)=>{t||(t=new Map);let o=t.get(n.profile.id);return o||t.set(n.profile.id,o={profile:n.profile,keys:[],storage:n.storage}),o.keys.push(n.key),t},100)(t=>this.onDidChangeProfileStorage(t))),e}onDidChangeApplicationStorage(e){let t=e.includes(io)?[this.userDataProfilesService.defaultProfile]:[],n=[];if(e=e.filter(o=>o!==io),e.length){let o=zf(this.storageMainService.applicationStorage.storage);n.push({profile:this.userDataProfilesService.defaultProfile,changes:e.map(s=>({key:s,scope:0,target:o[s]}))})}this.triggerEvents(t,n)}onDidChangeProfileStorage(e){let t=[],n=new Map;for(let[o,s]of e.entries()){s.keys.includes(io)&&t.push(s.profile);let a=s.keys.filter(l=>l!==io);if(a.length){let l=zf(s.storage.storage);n.set(o,{profile:s.profile,changes:a.map(c=>({key:c,scope:0,target:l[c]}))})}}this.triggerEvents(t,[...n.values()])}triggerEvents(e,t){(e.length||t.length)&&this._onDidChange.fire({valueChanges:t,targetChanges:e})}listen(e,t,n){if(t==="onDidChange")return this._onDidChange.event;throw new Error(`[ProfileStorageChangesListenerChannel] Event not found: ${t}`)}async call(e,t){throw new Error(`Call not found: ${t}`)}}});async function qT(i,r){let e=i.getItem(Yf);return(typeof e!="string"||V&&e==="6c9d2bc8f91b89624add29c0abeae7fb42bf539fa1cdb2e3e57cd668fa9bcead")&&(e=await VP(r.error.bind(r))),e}async function KT(i,r){let e=i.getItem(Zf);return typeof e!="string"&&(e=await HP(r.error.bind(r))),e}async function mI(i,r){let e=i.getItem(ou);return typeof e!="string"&&(e=await Cm(r.error.bind(r))),e}var zT=w(()=>{te();ku();rr()});async function jT(i,r){r.trace("Resolving machine identifier...");let e=await qT(i,r);return i.setItem(Yf,e),r.trace(`Resolved machine identifier: ${e}`),e}async function GT(i,r){r.trace("Resolving SQM identifier...");let e=await KT(i,r);return i.setItem(Zf,e),r.trace(`Resolved SQM identifier: ${e}`),e}async function JT(i,r){r.trace("Resolving devDevice identifier...");let e=await mI(i,r);return i.setItem(ou,e),r.trace(`Resolved devDevice identifier: ${e}`),e}async function QT(i,r){let e=await Cm(r.error.bind(r)),t=await mI(i,r);e!==t&&i.setItem(ou,e)}var XT=w(()=>{ku();rr();zT()});var fc,YT=w(()=>{oe();ti();ei();Gu();Ke();un();le();fc=class extends lc{constructor(r,e,t,n,o){super(E.file(r.extensionsPath),e,t,n,o)}};fc=T([g(0,Or),g(1,Ae),g(2,_r),g(3,_t),g(4,U)],fc)});var Wh,ZT=w(()=>{Ar();le();oe();Wh=class{constructor(r){this.loggerService=r;this.loggers=new ht}listen(r,e,t){switch(e){case"onDidChangeLoggers":return t?this.loggerService.getOnDidChangeLoggersEvent(t):this.loggerService.onDidChangeLoggers;case"onDidChangeLogLevel":return t?this.loggerService.getOnDidChangeLogLevelEvent(t):this.loggerService.onDidChangeLogLevel;case"onDidChangeVisibility":return t?this.loggerService.getOnDidChangeVisibilityEvent(t):this.loggerService.onDidChangeVisibility}throw new Error(`Event not found: ${e}`)}async call(r,e,t){switch(e){case"createLogger":this.createLogger(E.revive(t[0]),t[1],t[2]);return;case"log":return this.log(E.revive(t[0]),t[1]);case"consoleLog":return this.consoleLog(t[0],t[1]);case"setLogLevel":return Qd(t[0])?this.loggerService.setLogLevel(t[0]):this.loggerService.setLogLevel(E.revive(t[0]),t[1]);case"setVisibility":return this.loggerService.setVisibility(E.revive(t[0]),t[1]);case"registerLogger":return this.loggerService.registerLogger({...t[0],resource:E.revive(t[0].resource)},t[1]);case"deregisterLogger":return this.loggerService.deregisterLogger(E.revive(t[0]))}throw new Error(`Call not found: ${e}`)}createLogger(r,e,t){this.loggers.set(r,this.loggerService.createLogger(r,e,t))}consoleLog(r,e){let t=console.log;switch(r){case 5:t=console.error;break;case 4:t=console.warn;break;case 3:t=console.info;break}t.call(console,...e)}log(r,e){let t=this.loggers.get(r);if(!t)throw new Error("Create the logger before logging");for(let[n,o]of e)Yd(t,n,o)}}});var hI,mc,Qu,eC=w(()=>{$();re();oe();Dt();Yo();rr();bi();J();ve();Pt();hI=M("utilityProcessWorker"),mc=class extends _{constructor(e,t,n,o){super();this.logService=e;this.windowsMainService=t;this.telemetryService=n;this.lifecycleMainService=o;this.workers=new Map}async createWorker(e){let t=`window: ${e.reply.windowId}, moduleId: ${e.process.moduleId}`;this.logService.trace(`[UtilityProcessWorker]: createWorker(${t})`);let n=this.hash(e);this.workers.has(n)&&(this.logService.warn(`[UtilityProcessWorker]: createWorker() found an existing worker that will be terminated (${t})`),this.disposeWorker(e));let o=new Qu(this.logService,this.windowsMainService,this.telemetryService,this.lifecycleMainService,e);if(!o.spawn())return{reason:{code:1,signal:"EINVALID"}};this.workers.set(n,o);let s=new Kt;return x.once(o.onDidTerminate)(a=>{a.code===0?this.logService.trace(`[UtilityProcessWorker]: terminated normally with code ${a.code}, signal: ${a.signal}`):this.logService.error(`[UtilityProcessWorker]: terminated unexpectedly with code ${a.code}, signal: ${a.signal}`),this.workers.delete(n),s.complete({reason:a})}),s.p}hash(e){return lr({moduleId:e.process.moduleId,windowId:e.reply.windowId})}async disposeWorker(e){let t=this.hash(e),n=this.workers.get(t);n&&(this.logService.trace(`[UtilityProcessWorker]: disposeWorker(window: ${e.reply.windowId}, moduleId: ${e.process.moduleId})`),n.kill(),n.dispose(),this.workers.delete(t))}};mc=T([g(0,U),g(1,Be),g(2,Ge),g(3,ye)],mc);Qu=class extends _{constructor(e,t,n,o,s){super();this.windowsMainService=t;this.configuration=s;this._onDidTerminate=this._register(new S);this.onDidTerminate=this._onDidTerminate.event;this.utilityProcess=this._register(new Xo(e,t,n,o)),this.registerListeners()}registerListeners(){this._register(this.utilityProcess.onExit(e=>this._onDidTerminate.fire({code:e.code,signal:e.signal}))),this._register(this.utilityProcess.onCrash(e=>this._onDidTerminate.fire({code:e.code,signal:"ECRASH"})))}spawn(){let t=this.windowsMainService.getWindowById(this.configuration.reply.windowId)?.win?.webContents.getOSProcessId();return this.utilityProcess.start({type:this.configuration.process.type,name:this.configuration.process.name,entryPoint:this.configuration.process.moduleId,parentLifecycleBound:t,windowLifecycleBound:!0,correlationId:`${this.configuration.reply.windowId}`,responseWindowId:this.configuration.reply.windowId,responseChannel:this.configuration.reply.channel,responseNonce:this.configuration.reply.nonce})}kill(){this.utilityProcess.kill()}};Qu=T([g(0,U),g(1,Be),g(2,Ge),g(3,ye)],Qu)});var tC,rC=w(()=>{tC="utilityProcessWorker"});var gme,tM,gI,vI,vme,hc=w(()=>{re();Yn();gme=M("ptyService"),tM={Backend:"workbench.contributions.terminal.processBackend"},gI=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(r){let e=this._sanitizeRemoteAuthority(r.remoteAuthority);if(this._backends.has(e))throw new Error(`A terminal backend with remote authority '${e}' was already registered.`);this._backends.set(e,r)}getTerminalBackend(r){return this._backends.get(this._sanitizeRemoteAuthority(r))}_sanitizeRemoteAuthority(r){return r?.toLowerCase()??""}};xt.add(tM.Backend,new gI);vI=M("localPtyService"),vme=M("terminalLogService")});var gc,nC=w(()=>{Rt();Nd();Pt();oe();mo();hc();Yo();Pf();Dn();$();J();mn();Le();at();qe();gc=class extends _{constructor(e,t,n,o,s){super();this._reconnectConstants=e;this._configurationService=t;this._environmentMainService=n;this._lifecycleMainService=o;this._logService=s;this.utilityProcess=void 0;this._onRequestConnection=this._register(new S);this.onRequestConnection=this._onRequestConnection.event;this._onWillShutdown=this._register(new S);this.onWillShutdown=this._onWillShutdown.event;this._register(this._lifecycleMainService.onWillShutdown(()=>this._onWillShutdown.fire())),et.on("vscode:createPtyHostMessageChannel",(a,l)=>this._onWindowConnection(a,l)),this._register(G(()=>{et.removeHandler("vscode:createPtyHostMessageChannel")}))}start(){this.utilityProcess=new ir(this._logService,Ai,this._lifecycleMainService);let e=gx(this._environmentMainService.args,this._environmentMainService.isBuilt),t=e.port?["--nolazy",`--inspect${e.break?"-brk":""}=${e.port}`]:void 0;this.utilityProcess.start({type:"ptyHost",name:"pty-host",entryPoint:"vs/platform/terminal/node/ptyHostMain",execArgv:t,args:["--logsPath",this._environmentMainService.logsHome.with({scheme:F.file}).fsPath],env:this._createPtyHostConfiguration()});let n=this.utilityProcess.connect(),o=new Uo(n,"ptyHost"),s=new ee;return s.add(o),s.add(G(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0})),{client:o,store:s,onDidProcessExit:this.utilityProcess.onExit}}_createPtyHostConfiguration(){this._environmentMainService.unsetSnapExportedVariables();let e={...nr(process.env),VSCODE_ESM_ENTRYPOINT:"vs/platform/terminal/node/ptyHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",VSCODE_RECONNECT_GRACE_TIME:String(this._reconnectConstants.graceTime),VSCODE_RECONNECT_SHORT_GRACE_TIME:String(this._reconnectConstants.shortGraceTime),VSCODE_RECONNECT_SCROLLBACK:String(this._reconnectConstants.scrollback)},t=this._configurationService.getValue("terminal.integrated.developer.ptyHost.latency");t&&zn(t)&&(e.VSCODE_LATENCY=String(t));let n=this._configurationService.getValue("terminal.integrated.developer.ptyHost.startupDelay");return n&&zn(n)&&(e.VSCODE_STARTUP_DELAY=String(n)),this._environmentMainService.restoreSnapExportedVariables(),e}_onWindowConnection(e,t){this._onRequestConnection.fire();let n=this.utilityProcess.connect();if(e.sender.isDestroyed()){n.close();return}e.sender.postMessage("vscode:createPtyHostMessageChannelResult",t,[n])}};gc=T([g(1,he),g(2,Ce),g(3,ye),g(4,U)],gc)});var vc,yI=w(()=>{le();J();oe();$();vc=class extends _{constructor(r,e){super(),e.call("setLogLevel",[r.getLogLevel()]),this._register(r.onDidChangeLogLevel(t=>e.call("setLogLevel",[t]))),e.call("getRegisteredLoggers").then(t=>{for(let n of t)r.registerLogger({...n,resource:E.revive(n.resource)})}),this._register(e.listen("onDidChangeVisibility")(([t,n])=>r.setVisibility(E.revive(t),n))),this._register(e.listen("onDidChangeLoggers")(({added:t,removed:n})=>{for(let o of t)r.registerLogger({...o,resource:E.revive(o.resource)});for(let o of n)r.deregisterLogger(o.resource)}))}}});var yc,iC=w(()=>{ve();wt();J();$();oe();yc=class extends _{constructor(e,t){super();this._logService=t;this._lastRequestId=0;this._pendingRequests=new Map;this._pendingRequestDisposables=new Map;this._onCreateRequest=this._register(new S);this.onCreateRequest=this._onCreateRequest.event;this._timeout=e===void 0?15e3:e,this._register(G(()=>{for(let n of this._pendingRequestDisposables.values())pt(n)}))}createRequest(e){return new Promise((t,n)=>{let o=++this._lastRequestId;this._pendingRequests.set(o,t),this._onCreateRequest.fire({requestId:o,...e});let s=new $e;ct(this._timeout,s.token).then(()=>n(`Request ${o} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(o,[G(()=>s.cancel())])})}acceptReply(e,t){let n=this._pendingRequests.get(e);n?(this._pendingRequests.delete(e),pt(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),n(t)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};yc=T([g(1,U)],yc)});function oC(i,r){let e=[{name:null,description:h(2404,null)}];return e.push(...i.map(t=>({name:t.profileName,description:rM(t)}))),r&&e.push(...r.map(t=>({name:t.title,description:nM(t)}))),{values:e.map(t=>t.name),markdownDescriptions:e.map(t=>t.description)}}function rM(i){let r=`$(${rc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:ft.terminal.id}) ${i.profileName}
- path: ${i.path}`;return i.args&&(Me(i.args)?r+=`
- args: "${i.args}"`:r+=`
- args: [${i.args.length===0?"":`'${i.args.join("','")}'`}]`),i.overrideName!==void 0&&(r+=`
- overrideName: ${i.overrideName}`),i.color&&(r+=`
- color: ${i.color}`),i.env&&(r+=`
- env: ${JSON.stringify(i.env)}`),r}function nM(i){return`$(${rc.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:ft.terminal.id}) ${i.title}
- extensionIdentifier: ${i.extensionIdentifier}`}var sC=w(()=>{qu();le();Te();Zw();Le()});function bI(i){let r=i===2?"linux":i===1?"osx":"windows";return h(2383,null,Ip(i),'```json\n"terminal.integrated.profile.'+r+'": {\n  "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function aC(){xt.as(ar.Configuration).registerConfiguration(sM),aM()}function aM(i,r){let e=xt.as(ar.Configuration),t;i&&(t=oC(i?.profiles,r));let n=SI;SI={id:"terminal",order:100,title:h(2387,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:h(2378,null),type:["string","null"],default:null,enum:i?.os===3?t?.values:void 0,markdownEnumDescriptions:i?.os===3?t?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.osx":{restricted:!0,markdownDescription:h(2379,null),type:["string","null"],default:null,enum:i?.os===2?t?.values:void 0,markdownEnumDescriptions:i?.os===2?t?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.windows":{restricted:!0,markdownDescription:h(2380,null),type:["string","null"],default:null,enum:i?.os===1?t?.values:void 0,markdownEnumDescriptions:i?.os===1?t?.markdownDescriptions:void 0}}},e.updateConfigurations({add:[SI],remove:n?[n]:[]})}var iM,oM,wc,wI,II,sM,SI,lC=w(()=>{qu();te();Te();Ji();Yn();hc();sC();iM={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},oM={type:"string",enum:Array.from(Yw(),i=>i.id),markdownEnumDescriptions:Array.from(Yw(),i=>`$(${i.id})`)},wc={args:{description:h(2388,null),type:"array",items:{type:"string"}},icon:{description:h(2391,null),...oM},color:{description:h(2389,null),...iM},env:{markdownDescription:h(2390,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},wI={type:"object",required:["path"],properties:{path:{description:h(2399,null),type:["string","array"],items:{type:"string"}},overrideName:{description:h(2398,null),type:"boolean"},...wc}},II={type:"object",required:["path"],properties:{path:{description:h(2386,null),type:["string"],items:{type:"string"}},...wc}};sM={id:"terminal",order:100,title:h(2387,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:h(2374,null),type:["object","null"],default:null,anyOf:[{type:"null"},II],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:h(2375,null),type:["object","null"],default:null,anyOf:[{type:"null"},II],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:h(2376,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},II],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:bI(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:ft.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:ft.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:ft.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:h(2403,null),enum:["PowerShell","Git Bash"]},...wc}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2401,null),type:"string"},id:{description:h(2400,null),type:"string"},title:{description:h(2402,null),type:"string"},...wc}},{type:"null"},wI]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:bI(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:ft.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:ft.terminalTmux.id},pwsh:{path:"pwsh",icon:ft.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2396,null),type:"string"},id:{description:h(2395,null),type:"string"},title:{description:h(2397,null),type:"string"},...wc}},{type:"null"},wI]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:bI(2),type:"object",default:{bash:{path:"bash",icon:ft.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:ft.terminalTmux.id},pwsh:{path:"pwsh",icon:ft.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2393,null),type:"string"},id:{description:h(2392,null),type:"string"},title:{description:h(2394,null),type:"string"},...wc}},{type:"null"},wI]}},"terminal.integrated.useWslProfiles":{description:h(2385,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:h(2381,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:h(2382,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:h(2384,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:h(2377,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as uC from"fs";import*as pC from"child_process";function fC(i,r,e,t,n=process.env,o,s,a,l){return o=o||{existsFile:Yt.existsFile,readFile:uC.promises.readFile},W?lM(e,o,n,s,t.getValue("terminal.integrated.useWslProfiles")!==!1,i&&ze(i)?{...i}:t.getValue("terminal.integrated.profiles.windows"),Me(r)?r:t.getValue("terminal.integrated.defaultProfile.windows"),l,a):hM(o,s,e,i&&ze(i)?{...i}:t.getValue(ne?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),Me(r)?r:t.getValue(ne?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,n)}async function lM(i,r,e,t,n,o,s,a,l){let c=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"),d=`${process.env.windir}\\${c?"Sysnative":"System32"}`,u=await If()>=19041;await dM(a);let f=new Map;if(i){f.set("PowerShell",{source:"PowerShell",icon:ft.terminalPowershell,isAutoDetected:!0}),f.set("Windows PowerShell",{path:`${d}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:ft.terminalPowershell,isAutoDetected:!0}),f.set("Git Bash",{source:"Git Bash",icon:ft.terminalGitBash,isAutoDetected:!0}),f.set("Command Prompt",{path:`${d}\\cmd.exe`,icon:ft.terminalCmd,isAutoDetected:!0}),f.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}),f.set("bash (MSYS2)",{path:[{path:`${process.env.HOMEDRIVE}\\msys64\\usr\\bin\\bash.exe`,isUnsafe:!0}],args:["--login","-i"],env:{CHERE_INVOKING:"1"},icon:ft.terminalBash,isAutoDetected:!0});let y=`${process.env.CMDER_ROOT||`${process.env.HOMEDRIVE}\\cmder`}\\vendor\\bin\\vscode_init.cmd`;f.set("Cmder",{path:`${d}\\cmd.exe`,args:["/K",y],requiresPath:process.env.CMDER_ROOT?y:{path:y,isUnsafe:!0},isAutoDetected:!0})}hC(o,f);let m=await mC(f.entries(),s,r,e,t,l);if(i&&n&&u)try{let y=await fM(`${d}\\wsl.exe`,s);for(let v of y)(!o||!Object.prototype.hasOwnProperty.call(o,v.profileName))&&m.push(v)}catch{cC&&(t?.trace("WSL is not installed, so could not detect WSL profiles"),cC=!1)}return m}async function mC(i,r,e,t=process.env,n,o){let s=[];for(let[a,l]of i)s.push(cM(a,l,r,e,t,n,o));return(await Promise.all(s)).filter(a=>!!a)}async function cM(i,r,e,t,n=process.env,o,s){if(r===null)return;let a,l,c;if(an(r,{source:!0})){let m=Xu?.get(r.source);if(!m)return;a=m.paths,l=r.args||m.args,r.icon?c=dC(r.icon):m.icon&&(c=m.icon)}else a=Array.isArray(r.path)?r.path:[r.path],l=W||Array.isArray(r.args)?r.args:void 0,c=dC(r.icon);let d;if(s){let m=a.map(v=>Me(v)?v:v.path),y=await s(m);d=new Array(a.length);for(let v=0;v<a.length;v++)Me(a[v])?d[v]=y[v]:d[v]={path:y[v],isUnsafe:!0}}else d=a.slice();let u;if(r.requiresPath){let m;if(Me(r.requiresPath)?m=r.requiresPath:(m=r.requiresPath.path,r.requiresPath.isUnsafe&&(u=m)),!await t.existsFile(m))return}let f=await Nh(i,e,d,t,n,l,r.env,r.overrideName,r.isAutoDetected,u);if(!f){o?.debug("Terminal profile not validated",i,a);return}return f.isAutoDetected=r.isAutoDetected,f.icon=c,f.color=r.color,f}function dC(i){return Me(i)?{id:i}:i}async function dM(i){if(Xu&&!i)return;let[r,e]=await Promise.all([uM(),i||pM()]);Xu=new Map,Xu.set("Git Bash",{profileName:"Git Bash",paths:r,args:["--login","-i"]}),Xu.set("PowerShell",{profileName:"PowerShell",paths:e,icon:ft.terminalPowershell})}async function uM(){let i=new Set,r=await Xs("git.exe");if(r){let n=Ze(r);i.add($r(n,"../.."))}function e(n,o){o&&n.add(o)}e(i,process.env.ProgramW6432),e(i,process.env.ProgramFiles),e(i,process.env["ProgramFiles(X86)"]),e(i,`${process.env.LocalAppData}\\Program`);let t=[];for(let n of i)t.push(`${n}\\Git\\bin\\bash.exe`,`${n}\\Git\\usr\\bin\\bash.exe`,`${n}\\usr\\bin\\bash.exe`);return t.push(`${process.env.UserProfile}\\scoop\\apps\\git\\current\\bin\\bash.exe`),t.push(`${process.env.UserProfile}\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe`),t}async function pM(){let i=[];for await(let r of aw())i.push(r.exePath);return i}async function fM(i,r){let e=[],t=await new Promise((o,s)=>{pC.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");o(l)})});if(!t)return[];let n=t.split(/\r?\n/).filter(o=>o.trim().length>0);for(let o of n){if(o===""||o.startsWith("docker-desktop"))continue;let s=`${o} (WSL)`,a={profileName:s,path:i,args:["-d",`${o}`],isDefault:s===r,icon:mM(o),isAutoDetected:!1};e.push(a)}return e}function mM(i){return i.includes("Ubuntu")?ft.terminalUbuntu:i.includes("Debian")?ft.terminalDebian:ft.terminalLinux}async function hM(i,r,e,t,n,o,s,a){let l=new Map;if(e&&await i.existsFile("/etc/shells")){let c=(await i.readFile("/etc/shells")).toString(),d=(o||c.split(`
`)).map(f=>{let m=f.indexOf("#");return m===-1?f:f.substring(0,m)}).filter(f=>f.trim().length>0),u=new Map;for(let f of d){let m=Pe(f),y=u.get(m)||0;y++,y>1&&(m=`${m} (${y})`),u.set(m,y),l.set(m,{path:f,isAutoDetected:!0})}}return hC(t,l),await mC(l.entries(),n,i,a,r,s)}function hC(i,r){if(i)for(let[e,t]of Object.entries(i))t===null||!ze(t)||!an(t,{path:!0})&&!an(t,{source:!0})?r.delete(e):(t.icon=t.icon||r.get(e)?.icon,r.set(e,t))}async function Nh(i,r,e,t,n,o,s,a,l,c){if(e.length===0)return Promise.resolve(void 0);let d=e.shift();if(d==="")return Nh(i,r,e,t,n,o,s,a,l);let u=!Me(d)&&d.isUnsafe,f=Me(d)?d:d.path,m={profileName:i,path:f,args:o,env:s,overrideName:a,isAutoDetected:l,isDefault:i===r,isUnsafePath:u,requiresUnsafePath:c};if(Pe(f)===f){let v=n.PATH?n.PATH.split(Cp):void 0,b=await Xs(f,void 0,v,void 0,t.existsFile);return b?(m.path=b,m.isFromPath=!0,m):Nh(i,r,e,t,n,o)}return await t.existsFile(Ct(f))?m:Nh(i,r,e,t,n,o,s,a,l)}var Xu,cC,gC=w(()=>{qu();_e();te();Ys();Le();Zt();lw();hc();Qa();cC=!0});var Ic,vC=w(()=>{J();$();te();Ii();at();oe();yI();Om();iC();hc();lC();gC();pw();xs();Ic=class extends _{constructor(e,t,n,o){super();this._ptyHostStarter=e;this._configurationService=t;this._logService=n;this._loggerService=o;this._wasQuitRequested=!1;this._restartCount=0;this._isResponsive=!0;this._onPtyHostExit=this._register(new S);this.onPtyHostExit=this._onPtyHostExit.event;this._onPtyHostStart=this._register(new S);this.onPtyHostStart=this._onPtyHostStart.event;this._onPtyHostUnresponsive=this._register(new S);this.onPtyHostUnresponsive=this._onPtyHostUnresponsive.event;this._onPtyHostResponsive=this._register(new S);this.onPtyHostResponsive=this._onPtyHostResponsive.event;this._onPtyHostRequestResolveVariables=this._register(new S);this.onPtyHostRequestResolveVariables=this._onPtyHostRequestResolveVariables.event;this._onProcessData=this._register(new S);this.onProcessData=this._onProcessData.event;this._onProcessReady=this._register(new S);this.onProcessReady=this._onProcessReady.event;this._onProcessReplay=this._register(new S);this.onProcessReplay=this._onProcessReplay.event;this._onProcessOrphanQuestion=this._register(new S);this.onProcessOrphanQuestion=this._onProcessOrphanQuestion.event;this._onDidRequestDetach=this._register(new S);this.onDidRequestDetach=this._onDidRequestDetach.event;this._onDidChangeProperty=this._register(new S);this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=this._register(new S);this.onProcessExit=this._onProcessExit.event;aC(),this._register(this._ptyHostStarter),this._register(G(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new yc(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(x.once(this._ptyHostStarter.onRequestConnection)(()=>this._ensurePtyHost())),this._ptyHostStarter.onWillShutdown&&this._register(this._ptyHostStarter.onWillShutdown(()=>this._wasQuitRequested=!0))}get _connection(){return this._ensurePtyHost(),this.__connection}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(W)return process.env;try{return await Ol(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(),t=e.client;this._logService.getLevel()===1&&this._logService.trace("PtyHostService#_startPtyHost",new Error().stack?.replace(/^Error/,"")),Je.toService(t.getChannel("heartbeat")).onBeat(()=>this._handleHeartbeat()),this._handleHeartbeat(!0),this._register(e.onDidProcessExit(s=>{this._onPtyHostExit.fire(s.code),!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`ptyHost terminated unexpectedly with code ${s.code}`),this._restartCount++,this.restartPtyHost()):this._logService.error(`ptyHost terminated unexpectedly with code ${s.code}, giving up`))}));let o=Je.toService(t.getChannel("ptyHost"));return this._register(o.onProcessData(s=>this._onProcessData.fire(s))),this._register(o.onProcessReady(s=>this._onProcessReady.fire(s))),this._register(o.onProcessExit(s=>this._onProcessExit.fire(s))),this._register(o.onDidChangeProperty(s=>this._onDidChangeProperty.fire(s))),this._register(o.onProcessReplay(s=>this._onProcessReplay.fire(s))),this._register(o.onProcessOrphanQuestion(s=>this._onProcessOrphanQuestion.fire(s))),this._register(o.onDidRequestDetach(s=>this._onDidRequestDetach.fire(s))),this._register(new vc(this._loggerService,t.getChannel("logger"))),this.__connection=e,this.__proxy=o,this._onPtyHostStart.fire(),this._register(this._configurationService.onDidChangeConfiguration(async s=>{s.affectsConfiguration("terminal.integrated.ignoreProcessNames")&&await this._refreshIgnoreProcessNames()})),this._refreshIgnoreProcessNames(),[e,o]}async createProcess(e,t,n,o,s,a,l,c,d,u,f){let m=setTimeout(()=>this._handleUnresponsiveCreateProcess(),5e3),y=await this._proxy.createProcess(e,t,n,o,s,a,l,c,d,u,f);return clearTimeout(m),y}updateTitle(e,t,n){return this._proxy.updateTitle(e,t,n)}updateIcon(e,t,n,o){return this._proxy.updateIcon(e,t,n,o)}attachToProcess(e){return this._proxy.attachToProcess(e)}detachFromProcess(e,t){return this._proxy.detachFromProcess(e,t)}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,t){return this._proxy.shutdown(e,t)}input(e,t){return this._proxy.input(e,t)}sendSignal(e,t){return this._proxy.sendSignal(e,t)}processBinary(e,t){return this._proxy.processBinary(e,t)}resize(e,t,n,o,s){return this._proxy.resize(e,t,n,o,s)}clearBuffer(e){return this._proxy.clearBuffer(e)}acknowledgeDataEvent(e,t){return this._proxy.acknowledgeDataEvent(e,t)}setUnicodeVersion(e,t){return this._proxy.setUnicodeVersion(e,t)}setNextCommandId(e,t,n){return this._proxy.setNextCommandId(e,t,n)}getInitialCwd(e){return this._proxy.getInitialCwd(e)}getCwd(e){return this._proxy.getCwd(e)}async getLatency(){let e=new ln,t=await this._proxy.getLatency();return e.stop(),[{label:"ptyhostservice<->ptyhost",latency:e.elapsed()},...t]}orphanQuestionReply(e){return this._proxy.orphanQuestionReply(e)}installAutoReply(e,t){return this._proxy.installAutoReply(e,t)}uninstallAllAutoReplies(){return this._proxy.uninstallAllAutoReplies()}getDefaultSystemShell(e){return this._optionalProxy?.getDefaultSystemShell(e)??Mm(e??Qt,process.env)}async getProfiles(e,t,n,o=!1){let s=await this._resolveShellEnv();return fC(t,n,o,this._configurationService,s,void 0,this._logService,this._resolveVariables.bind(this,e))}async getEnvironment(){return this.__proxy?this._proxy.getEnvironment():{...process.env}}getWslPath(e,t){return this._proxy.getWslPath(e,t)}getRevivedPtyNewId(e,t){return this._proxy.getRevivedPtyNewId(e,t)}setTerminalLayoutInfo(e){return this._proxy.setTerminalLayoutInfo(e)}async getTerminalLayoutInfo(e){return this._optionalProxy?.getTerminalLayoutInfo(e)}async requestDetachInstance(e,t){return this._proxy.requestDetachInstance(e,t)}async acceptDetachInstanceReply(e,t){return this._proxy.acceptDetachInstanceReply(e,t)}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,t,n){return this._proxy.reviveTerminalProcesses(e,t,n)}async refreshProperty(e,t){return this._proxy.refreshProperty(e,t)}async updateProperty(e,t,n){return this._proxy.updateProperty(e,t,n)}async restartPtyHost(){this._disposePtyHost(),this._isResponsive=!0,this._startPtyHost()}_disposePtyHost(){this._proxy.shutdownAll(),this._connection.store.dispose()}_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,t){return this._resolveVariablesRequestStore.createRequest({workspaceId:e,originalText:t})}async acceptPtyHostResolvedVariables(e,t){this._resolveVariablesRequestStore.acceptReply(e,t)}};Ic=T([g(1,he),g(2,U),g(3,pn)],Ic)});var ms,yC=w(()=>{$();J();mn();Dn();Pf();Rt();Nd();Pt();oe();qe();mo();Yo();ms=class extends _{constructor(e,t,n){super();this._environmentMainService=e;this._lifecycleMainService=t;this._logService=n;this.utilityProcess=void 0;this._onRequestConnection=this._register(new S);this.onRequestConnection=this._onRequestConnection.event;this._onWillShutdown=this._register(new S);this.onWillShutdown=this._onWillShutdown.event;this._register(this._lifecycleMainService.onWillShutdown(()=>this._onWillShutdown.fire()));let o=(s,a)=>this._onWindowConnection(s,a);et.on("vscode:createAgentHostMessageChannel",o),this._register(G(()=>{et.removeListener("vscode:createAgentHostMessageChannel",o)}))}start(){this.utilityProcess=new ir(this._logService,Ai,this._lifecycleMainService);let e=vx(this._environmentMainService.args,this._environmentMainService.isBuilt),t=e.port?["--nolazy",`--inspect${e.break?"-brk":""}=${e.port}`]:void 0;this.utilityProcess.start({type:"agentHost",name:"agent-host",entryPoint:"vs/platform/agentHost/node/agentHostMain",execArgv:t,args:["--logsPath",this._environmentMainService.logsHome.with({scheme:F.file}).fsPath],env:{...nr(process.env),VSCODE_ESM_ENTRYPOINT:"vs/platform/agentHost/node/agentHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true"}});let n=this.utilityProcess.connect(),o=new Uo(n,"agentHost"),s=new ee;return s.add(o),s.add(this.utilityProcess.onStderr(a=>{this._isExpectedStderr(a)||this._logService.error(`[AgentHost:stderr] ${a}`)})),s.add(G(()=>{this.utilityProcess?.kill(),this.utilityProcess?.dispose(),this.utilityProcess=void 0})),{client:o,store:s,onDidProcessExit:this.utilityProcess.onExit}}_onWindowConnection(e,t){if(this._onRequestConnection.fire(),!this.utilityProcess){this._logService.error("AgentHostStarter: cannot create window connection, agent host process is not running");return}let n=this.utilityProcess.connect();if(e.sender.isDestroyed()){n.close();return}e.sender.postMessage("vscode:createAgentHostMessageChannelResult",t,[n])}static{this._expectedStderrPatterns=["Most NODE_OPTIONs are not supported in packaged apps","Debugger listening on ws://","For help, see: https://nodejs.org/en/docs/inspector","ExperimentalWarning: SQLite is an experimental feature"]}_isExpectedStderr(e){return ms._expectedStderrPatterns.some(t=>e.includes(t))}};ms=T([g(0,Ce),g(1,ye),g(2,U)],ms)});var wC,vM,Uge,Nge,xI=w(()=>{le();re();wC="chat.agentHost.enabled";(t=>{function i(n,o){return E.from({scheme:n,path:`/${o}`})}t.uri=i;function r(n){return(typeof n=="string"?E.parse(n):n).path.substring(1)}t.id=r;function e(n){return(typeof n=="string"?E.parse(n):n).scheme||void 0}t.provider=e})(vM||={});Uge=M("agentService"),Nge=M("agentHostService")});var bc,IC=w(()=>{J();$();oe();yI();xI();bc=class extends _{constructor(e,t,n){super();this._starter=e;this._logService=t;this._loggerService=n;this._started=!1;this._wasQuitRequested=!1;this._restartCount=0;this._register(this._starter),this._starter.onRequestConnection&&this._register(x.once(this._starter.onRequestConnection)(()=>this._ensureStarted())),this._starter.onWillShutdown&&this._register(this._starter.onWillShutdown(()=>this._wasQuitRequested=!0))}_ensureStarted(){this._started||this._start()}_start(){let e=this._starter.start();this._logService.info("AgentHostProcessManager: agent host started"),this._register(new vc(this._loggerService,e.client.getChannel("agentHostLogger"))),this._register(e.onDidProcessExit(t=>{!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`AgentHostProcessManager: agent host terminated unexpectedly with code ${t.code}`),this._restartCount++,this._started=!1,e.store.dispose(),this._start()):this._logService.error(`AgentHostProcessManager: agent host terminated with code ${t.code}, giving up after 5 restarts`))})),this._register(G(()=>e.store.dispose())),this._started=!0}};bc=T([g(1,U),g(2,pn)],bc)});var PI,bC,Bh,SC=w(()=>{PI="request",bC="remoteResourceHandler",Bh=class{async routeCall(r,e,t){if(e!==PI)throw new Error(`Call not found: ${e}`);let n=Array.isArray(t)?t[0]:void 0;if(n?.authority){let o=r.connections.find(s=>s.ctx===n.authority);if(o)return o}throw new Error("Caller not found")}routeEvent(r,e){throw new Error(`Event not found: ${e}`)}}});import{BrowserWindow as yM}from"electron";var Sc,xC=w(()=>{te();at();Rt();Pt();oe();Sn();$o();Ti();rI();Sc=class extends Ku{constructor(e,t,n,o,s,a){super(o,s,t,n);this.webContents=e;this.lifecycleMainService=a;this.parentId=-1;this.stateApplied=!1;this.id=this.webContents.id,this.tryClaimWindow()}get win(){return super.win||this.tryClaimWindow(),super.win}tryClaimWindow(e){this._store.isDisposed||this.webContents.isDestroyed()||(this.doTryClaimWindow(e),e&&!this.stateApplied&&(this.stateApplied=!0,this.applyState({x:e.x,y:e.y,width:e.width,height:e.height,mode:e.show===!1?0:1})))}doTryClaimWindow(e){if(this._win)return;let t=yM.fromWebContents(this.webContents);t&&(this.logService.trace("[aux window] Claimed browser window instance"),this.setWin(t,e),t.setMenu(null),(W||ne)&&Ho(this.configurationService,e?.titleBarStyle==="hidden"?"custom":void 0)&&t.setAutoHideMenuBar(!0),this.lifecycleMainService.registerAuxWindow(this))}matches(e){return this.webContents.id===e.id}};Sc=T([g(1,Ce),g(2,U),g(3,he),g(4,kt),g(5,ye)],Sc)});import{BrowserWindow as wM,app as IM}from"electron";var xc,PC=w(()=>{J();$();qe();Dn();xC();re();oe();Ti();Dt();xc=class extends _{constructor(e,t){super();this.instantiationService=e;this.logService=t;this._onDidMaximizeWindow=this._register(new S);this.onDidMaximizeWindow=this._onDidMaximizeWindow.event;this._onDidUnmaximizeWindow=this._register(new S);this.onDidUnmaximizeWindow=this._onDidUnmaximizeWindow.event;this._onDidChangeFullScreen=this._register(new S);this.onDidChangeFullScreen=this._onDidChangeFullScreen.event;this._onDidChangeAlwaysOnTop=this._register(new S);this.onDidChangeAlwaysOnTop=this._onDidChangeAlwaysOnTop.event;this._onDidTriggerSystemContextMenu=this._register(new S);this.onDidTriggerSystemContextMenu=this._onDidTriggerSystemContextMenu.event;this.windows=new Map;this.registerListeners()}registerListeners(){IM.on("browser-window-created",(e,t)=>{let n=this.getWindowByWebContents(t.webContents);if(n)this.logService.trace('[aux window] app.on("browser-window-created"): Trying to claim auxiliary window'),n.tryClaimWindow();else{let o=new ee;o.add(x.fromNodeEventEmitter(t.webContents,"did-create-window",(s,a)=>({browserWindow:s,details:a}))(({browserWindow:s,details:a})=>{let l=this.getWindowByWebContents(s.webContents);l&&(this.logService.trace('[aux window] window.on("did-create-window"): Trying to claim auxiliary window'),l.tryClaimWindow(a.options))})),o.add(x.fromNodeEventEmitter(t,"closed")(()=>o.dispose()))}}),et.handle("vscode:registerAuxiliaryWindow",async(e,t)=>{let n=this.getWindowByWebContents(e.sender);return n&&(this.logService.trace("[aux window] vscode:registerAuxiliaryWindow: Registering auxiliary window to main window"),n.parentId=t),e.sender.id})}createWindow(e){let{state:t,overrides:n}=this.computeWindowStateAndOverrides(e);return this.instantiationService.invokeFunction(al,t,n,{preload:st.asFileUri("vs/base/parts/sandbox/electron-browser/preload-aux.js").fsPath})}computeWindowStateAndOverrides(e){let t={},n={},o=e.features.split(",");for(let a of o){let[l,c]=a.split("=");switch(l){case"width":t.width=parseInt(c,10);break;case"height":t.height=parseInt(c,10);break;case"left":t.x=parseInt(c,10);break;case"top":t.y=parseInt(c,10);break;case"window-maximized":t.mode=0;break;case"window-fullscreen":t.mode=3;break;case"window-disable-fullscreen":n.disableFullscreen=!0;break;case"window-native-titlebar":n.forceNativeTitlebar=!0;break;case"window-always-on-top":n.alwaysOnTop=!0;break}}let s=ll.validateWindowState(this.logService,t)??Nx();return this.logService.trace("[aux window] using window state",s),{state:s,overrides:n}}registerWindow(e){let t=new ee,n=this.instantiationService.createInstance(Sc,e);this.windows.set(n.id,n),t.add(G(()=>this.windows.delete(n.id))),t.add(n.onDidMaximize(()=>this._onDidMaximizeWindow.fire(n))),t.add(n.onDidUnmaximize(()=>this._onDidUnmaximizeWindow.fire(n))),t.add(n.onDidEnterFullScreen(()=>this._onDidChangeFullScreen.fire({window:n,fullscreen:!0}))),t.add(n.onDidLeaveFullScreen(()=>this._onDidChangeFullScreen.fire({window:n,fullscreen:!1}))),t.add(n.onDidChangeAlwaysOnTop(o=>this._onDidChangeAlwaysOnTop.fire({window:n,alwaysOnTop:o}))),t.add(n.onDidTriggerSystemContextMenu(({x:o,y:s})=>this._onDidTriggerSystemContextMenu.fire({window:n,x:o,y:s}))),x.once(n.onDidClose)(()=>t.dispose())}getWindowByWebContents(e){let t=this.windows.get(e.id);return t?.matches(e)?t:void 0}getFocusedWindow(){let e=wM.getFocusedWindow();if(e)return this.getWindowByWebContents(e.webContents)}getLastActiveWindow(){return Xf(Array.from(this.windows.values()))}getWindows(){return Array.from(this.windows.values())}};xc=T([g(0,Wt),g(1,U)],xc)});var EI,EC,TC=w(()=>{re();EI=M("INativeMcpDiscoveryHelperService"),EC="NativeMcpDiscoveryHelper"});import{homedir as bM}from"os";var Vh,CC=w(()=>{te();le();Vh=class{constructor(){}load(){return Promise.resolve({platform:Bi,homedir:E.file(bM()),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")})}uriFromEnvVariable(r){let e=process.env[r];if(e)return E.file(e)}}});var Yu,_C,kC,TI=w(()=>{re();Yu=M("IMcpGatewayService"),_C="mcpGateway",kC="mcpGatewayToolBroker"});function SM(i){return"method"in i&&"id"in i&&(typeof i.id=="string"||typeof i.id=="number")}function CI(i){return an(i,{id:!0,result:!0})||an(i,{id:!0,error:!0})}function _I(i){return an(i,{method:!0})&&!an(i,{id:!0})}function xM(i){return typeof i=="object"&&i!==null&&"then"in i&&typeof i.then=="function"}var Nn,Pc,kI=w(()=>{ve();wt();He();$();Le();Nn=class extends Error{constructor(e,t,n){super(t);this.code=e;this.data=n}},Pc=class i extends _{constructor(e,t){super();this._send=e;this._handlers=t;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,t=Se.None,n){if(this._store.isDisposed)return Promise.reject(new St);let o=this._nextRequestId++,s=new Kt,a=new $e;this._pendingRequests.set(o,{promise:s,cts:a});let l=t.onCancellationRequested(()=>{s.isSettled||(this._pendingRequests.delete(o),a.cancel(),n?.(o),s.cancel()),l.dispose()});return this._send({jsonrpc:"2.0",id:o,...e}),s.p.finally(()=>{l.dispose(),this._pendingRequests.delete(o),a.dispose(!0)})}async handleMessage(e){if(Array.isArray(e)){let n=[];for(let o of e){let s=await this._handleMessage(o);s&&n.push(s)}return n}let t=await this._handleMessage(e);return t?[t]:[]}cancelPendingRequest(e){let t=this._pendingRequests.get(e);t&&(this._pendingRequests.delete(e),t.cts.cancel(),t.promise.cancel(),t.cts.dispose(!0))}cancelAllRequests(){for(let[e,t]of this._pendingRequests)this._pendingRequests.delete(e),t.cts.cancel(),t.promise.cancel(),t.cts.dispose(!0)}async _handleMessage(e){if(CI(e)){an(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(SM(e))return this._handleRequest(e);_I(e)&&this._handlers.handleNotification?.(e)}_handleResult(e){let t=this._pendingRequests.get(e.id);t&&(this._pendingRequests.delete(e.id),t.promise.complete(e.result),t.cts.dispose(!0))}_handleError(e){if(e.id===void 0)return;let t=this._pendingRequests.get(e.id);t&&(this._pendingRequests.delete(e.id),t.promise.error(new Nn(e.error.code,e.error.message,e.error.data)),t.cts.dispose(!0))}async _handleRequest(e){if(!this._handlers.handleRequest){let n={jsonrpc:"2.0",id:e.id,error:{code:i.MethodNotFound,message:`Method not found: ${e.method}`}};return this._send(n),n}let t=new $e;this._register(G(()=>t.dispose(!0)));try{let n=this._handlers.handleRequest(e,t.token),o=xM(n)?await n:n,s={jsonrpc:"2.0",id:e.id,result:o};return this._send(s),s}catch(n){let o;return n instanceof Nn?o={jsonrpc:"2.0",id:e.id,error:{code:n.code,message:n.message,data:n.data}}:o={jsonrpc:"2.0",id:e.id,error:{code:i.InternalError,message:n instanceof Error?n.message:"Internal error"}},this._send(o),o}finally{t.dispose(!0)}}dispose(){this.cancelAllRequests(),super.dispose()}static createParseError(e,t){return{jsonrpc:"2.0",error:{code:i.ParseError,message:e,data:t}}}}});function RC(i){let r=Array.isArray(i)?i[0]:i;return!r||!an(r,{method:!0})?!1:r.method==="initialize"}var PM,EM,TM,CM,Zu,Hh,DC=w(()=>{kI();$();Le();PM="2025-11-25",EM=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],TM=-32600,CM=-32601,Zu=-32602,Hh=class extends _{constructor(e,t,n,o){super();this.id=e;this._logService=t;this._onDidDispose=n;this._serverInvoker=o;this._sseClients=new Set;this._lastEventId=0;this._isInitialized=!1;this._rpc=this._register(new Pc(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,t){t.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}),t.write(`: connected

`),this._sseClients.add(t),this._logService.info(`[McpGateway][session ${this.id}] SSE client attached (total: ${this._sseClients.size})`),t.on("close",()=>{this._sseClients.delete(t),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(CI(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(_I(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 t=JSON.stringify(e),n=String(++this._lastEventId);this._logService.debug(`[McpGateway][session ${this.id}] Broadcasting SSE event id=${n} to ${this._sseClients.size}`);let o=t.split(/\r?\n/g),s=[`id: ${n}`,"event: message",...o.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 Nn(TM,"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 Nn(CM,`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 t=typeof e.params=="object"&&e.params?e.params:void 0,n=typeof t?.protocolVersion=="string"?t.protocolVersion:void 0,o=t?.clientInfo,s=n&&EM.includes(n)?n:PM;return this._logService.info(`[McpGateway] Initialize: client=${o?.name??"unknown"}/${o?.version??"?"}, clientProtocol=${n??"(none)"}, negotiated=${s}`),n&&n!==s&&this._logService.warn(`[McpGateway] Client requested unsupported protocol version '${n}', 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 t=typeof e.params=="object"&&e.params?e.params:void 0;if(!t||typeof t.name!="string")throw new Nn(Zu,"Missing tool call params");if(t.arguments&&typeof t.arguments!="object")throw new Nn(Zu,"Invalid tool call arguments");let n=t.arguments&&typeof t.arguments=="object"?t.arguments:{};this._logService.debug(`[McpGateway][session ${this.id}] Calling tool '${t.name}' with args: ${JSON.stringify(n)}`);try{let o=await this._serverInvoker.callTool(t.name,n);return this._logService.debug(`[McpGateway][session ${this.id}] Tool '${t.name}' completed (isError=${o.isError??!1}, content blocks=${o.content.length})`),o}catch(o){throw this._logService.error(`[McpGateway][session ${this.id}] Tool '${t.name}' invocation failed`,o),new Nn(Zu,String(o))}}async _handleListTools(){let e=await this._serverInvoker.listTools();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} tool(s): [${e.map(t=>t.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 t=typeof e.params=="object"&&e.params?e.params:void 0;if(!t||typeof t.uri!="string")throw new Nn(Zu,"Missing resource URI");this._logService.debug(`[McpGateway][session ${this.id}] Reading resource '${t.uri}'`);try{let n=await this._serverInvoker.readResource(t.uri);return this._logService.debug(`[McpGateway][session ${this.id}] Resource read returned ${n.contents.length} content(s)`),n}catch(n){throw this._logService.error(`[McpGateway][session ${this.id}] Resource read failed for '${t.uri}'`,n),new Nn(Zu,String(n))}}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 Ec,RI,LC=w(()=>{ve();J();kI();$();le();er();oe();DC();Ec=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,t){if(await this._ensureServer(),this._port===void 0)throw new Error("[McpGatewayService] Server failed to start, port is undefined");if(!t)throw new Error("[McpGatewayService] Tool invoker is required to create gateway");let n=ke(),o=new Set,s=new Map;this._gatewayRoutes.set(n,o),this._gatewayServerRoutes.set(n,s);let a=new ee;this._gatewayDisposables.set(n,a);try{let l=t.listServers(),c=[];for(let u of l){let f=this._createRouteForServer(n,u.id,u.label,t,o,s);c.push(f)}e?(this._gatewayToClient.set(n,e),this._logger.info(`[McpGatewayService] Created gateway ${n} with ${c.length} server(s) for client ${e}`)):this._logger.warn(`[McpGatewayService] Created gateway ${n} with ${c.length} server(s) without client tracking`);let d=a.add(new S);return a.add(t.onDidChangeServers(u=>{this._refreshGatewayServers(n,u,t,o,s,d)})),{servers:c,onDidChangeServers:d.event,gatewayId:n}}catch(l){throw this._cleanupGateway(n),l}}_refreshGatewayServers(e,t,n,o,s,a){if(!this._gatewayRoutes.has(e))return;let l=new Set(t.map(u=>u.id)),c=new Set(s.keys());for(let u of c)if(!l.has(u)){let f=s.get(u);f&&(this._disposeRoute(f),o.delete(f),s.delete(u))}for(let u of t){if(!c.has(u.id)){this._createRouteForServer(e,u.id,u.label,n,o,s);continue}let f=s.get(u.id),m=f?this._routes.get(f):void 0;m&&m.label!==u.label&&(m.label=u.label)}let d=this._getGatewayServers(e);this._logger.info(`[McpGatewayService] Gateway ${e} servers changed: ${d.length} server(s)`),a.fire(d)}_cleanupGateway(e){let t=this._gatewayRoutes.get(e);if(t)for(let n of t)this._disposeRoute(n);this._gatewayRoutes.delete(e),this._gatewayServerRoutes.delete(e),this._gatewayToClient.delete(e),this._gatewayDisposables.get(e)?.dispose(),this._gatewayDisposables.delete(e)}_createRouteForServer(e,t,n,o,s,a){let l=ke(),c={onDidChangeTools:o.onDidChangeTools,onDidChangeResources:o.onDidChangeResources,listTools:()=>o.listToolsForServer(t),callTool:(f,m)=>o.callToolForServer(t,f,m),listResources:()=>o.listResourcesForServer(t),readResource:f=>o.readResourceForServer(t,f),listResourceTemplates:()=>o.listResourceTemplatesForServer(t)},d=new RI(l,this._logger,c,n);this._routes.set(l,d),s.add(l),a.set(t,l);let u=E.parse(`http://127.0.0.1:${this._port}/gateway/${l}`);return this._logger.info(`[McpGatewayService] Created route ${l} for server '${n}' (${t}) at ${u}`),{label:n,address:u}}_getGatewayServers(e){let t=this._gatewayServerRoutes.get(e);if(!t)return[];let n=[];for(let[o,s]of t){let a=this._routes.get(s);a&&n.push({label:a.label,address:E.parse(`http://127.0.0.1:${this._port}/gateway/${s}`)})}return n}_disposeRoute(e){let t=this._routes.get(e);t&&(t.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 t=[];for(let[n,o]of this._gatewayToClient)o===e&&t.push(n);if(t.length>0){this._logger.info(`[McpGatewayService] Disposing ${t.length} gateway(s) for disconnected client ${e}`);for(let n of t)this._cleanupGateway(n);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"),t=new Kt;this._server=e((o,s)=>{this._handleRequest(o,s)});let n=setTimeout(()=>{t.error(new Error("[McpGatewayService] Timeout waiting for server to start"))},5e3);return this._server.on("listening",()=>{let o=this._server.address();if(typeof o=="string")this._port=parseInt(o);else if(o instanceof Object)this._port=o.port;else{clearTimeout(n),t.error(new Error("[McpGatewayService] Unable to determine port"));return}clearTimeout(n),this._logger.info(`[McpGatewayService] Server started on port ${this._port}`),t.complete()}),this._server.on("error",o=>{if(o.code==="EADDRINUSE"){this._logger.warn("[McpGatewayService] Port in use, retrying with random port..."),this._server.listen(0,"127.0.0.1");return}clearTimeout(n),this._logger.error(`[McpGatewayService] Server error: ${o}`),t.error(o)}),this._server.listen(0,"127.0.0.1"),t.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,t){let n=new URL(e.url,`http://${e.headers.host}`),o=n.pathname.split("/").filter(Boolean);if(this._logger.debug(`[McpGatewayService] ${e.method} ${n.pathname} (active routes: ${this._routes.size})`),o.length>=2&&o[0]==="gateway"){let s=o[1],a=this._routes.get(s);if(a){a.handleRequest(e,t);return}}this._logger.warn(`[McpGatewayService] ${e.method} ${n.pathname}: route not found`),t.writeHead(404,{"Content-Type":"application/json"}),t.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()}};Ec=T([g(0,pn)],Ec);RI=class i extends _{constructor(e,t,n,o=""){super();this.routeId=e;this._logger=t;this._serverInvoker=n;this.label=o;this._sessions=new Map}static{this.SessionHeaderName="mcp-session-id"}handleRequest(e,t){if(this._logger.debug(`[McpGateway][route ${this.routeId}] ${e.method} request (sessions: ${this._sessions.size})`),e.method==="POST"){this._handlePost(e,t);return}if(e.method==="GET"){this._handleGet(e,t);return}if(e.method==="DELETE"){this._handleDelete(e,t);return}this._respondHttpError(t,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,t){let n=this._getSessionId(e);if(!n){this._respondHttpError(t,400,"Missing Mcp-Session-Id header");return}let o=this._sessions.get(n);if(!o){this._respondHttpError(t,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] Deleting session ${n}`),o.dispose(),this._sessions.delete(n),t.writeHead(204),t.end()}_handleGet(e,t){let n=this._getSessionId(e);if(!n){this._respondHttpError(t,400,"Missing Mcp-Session-Id header");return}let o=this._sessions.get(n);if(!o){this._respondHttpError(t,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] SSE connection requested for session ${n}`),o.attachSseClient(e,t)}async _handlePost(e,t){let n=await this._readRequestBody(e);if(n===void 0){this._respondHttpError(t,413,"Payload too large");return}this._logger.debug(`[McpGateway][route ${this.routeId}] Handling POST`);let o;try{o=JSON.parse(n)}catch(l){this._logger.warn(`[McpGateway][route ${this.routeId}] JSON parse error: ${l instanceof Error?l.message:String(l)}`),t.writeHead(400,{"Content-Type":"application/json"}),t.end(JSON.stringify(Pc.createParseError("Parse error",l instanceof Error?l.message:String(l))));return}let s=this._getSessionId(e),a=this._resolveSessionForPost(s,o,t);if(a)try{let l=await a.handleIncoming(o),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)`),t.writeHead(202,c),t.end();return}let d=JSON.stringify(Array.isArray(o)?l:l[0]);this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 200, body: ${d}`),t.writeHead(200,c),t.end(d)}catch(l){this._logger.error("[McpGatewayService] Failed handling gateway request",l),this._respondHttpError(t,500,"Internal server error")}}_resolveSessionForPost(e,t,n){if(e){let a=this._sessions.get(e);if(!a){this._logger.warn(`[McpGateway][route ${this.routeId}] Session not found: ${e}`),this._respondHttpError(n,404,"Session not found");return}return a}if(!RC(t)){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let o=ke();this._logger.info(`[McpGateway][route ${this.routeId}] Creating new session ${o}`);let s=new Hh(o,this._logger,()=>{this._sessions.delete(o)},this._serverInvoker);return this._sessions.set(o,s),s}_respondHttpError(e,t,n){this._logger.debug(`[McpGateway][route ${this.routeId}] HTTP error response: ${t} ${n}`),e.writeHead(t,{"Content-Type":"application/json"}),e.end(JSON.stringify({jsonrpc:"2.0",error:{code:t,message:n}}))}_getSessionId(e){let t=e.headers[i.SessionHeaderName];return Array.isArray(t)?t[0]:t}async _readRequestBody(e){let t=[],n=0,o=1024*1024;for await(let s of e){let a=Buffer.isBuffer(s)?s:Buffer.from(s);if(n+=a.byteLength,n>o)return;t.push(a)}return Buffer.concat(t).toString("utf8")}}});function _M(i,r){return i.getChannel(kC,e=>e.ctx===r)}var Tc,AC=w(()=>{J();$();oe();TI();Tc=class extends _{constructor(e,t,n){super();this._ipcServer=e;this.mcpGatewayService=t;this._loggerService=n;this._onDidChangeGatewayServers=this._register(new S);this._gatewayDisposables=this._register(new Xt);this._clientGateways=new Map;this._register(e.onDidRemoveConnection(o=>{this._loggerService.getLogger("mcpGateway")?.info(`[McpGateway][Channel] Client disconnected: ${o.ctx}, cleaning up gateways`),t.disposeGatewaysForClient(o.ctx);let s=this._clientGateways.get(o.ctx);if(s){for(let a of s)this._gatewayDisposables.deleteAndDispose(a);this._clientGateways.delete(o.ctx)}}))}listen(e,t){if(t==="onDidChangeGatewayServers")return this._onDidChangeGatewayServers.event;throw new Error(`Invalid listen: ${t}`)}async call(e,t,n){let o=this._loggerService.getLogger("mcpGateway");switch(o?.debug(`[McpGateway][Channel] IPC call: ${t} from client ${e}`),t){case"createGateway":{let s=_M(this._ipcServer,e),a=await s.call("listServers"),l=s.listen("onDidChangeServers"),c=await this.mcpGatewayService.createGateway(e,{onDidChangeServers:x.map(l,f=>(a=f,f)),onDidChangeTools:s.listen("onDidChangeTools"),onDidChangeResources:s.listen("onDidChangeResources"),listServers:()=>a,listToolsForServer:f=>s.call("listToolsForServer",{serverId:f}),callToolForServer:(f,m,y)=>s.call("callToolForServer",{serverId:f,name:m,args:y}),listResourcesForServer:f=>s.call("listResourcesForServer",{serverId:f}),readResourceForServer:(f,m)=>s.call("readResourceForServer",{serverId:f,uri:m}),listResourceTemplatesForServer:f=>s.call("listResourceTemplatesForServer",{serverId:f})}),d=new ee;d.add(c.onDidChangeServers(f=>{this._onDidChangeGatewayServers.fire({gatewayId:c.gatewayId,servers:f})})),this._gatewayDisposables.set(c.gatewayId,d);let u=this._clientGateways.get(e);return u||(u=new Set,this._clientGateways.set(e,u)),u.add(c.gatewayId),o?.info(`[McpGateway][Channel] Gateway created: ${c.gatewayId} with ${c.servers.length} server(s) for client ${e}`),{gatewayId:c.gatewayId,servers:c.servers}}case"disposeGateway":{let s=n;o?.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: ${t}`)}};Tc=T([g(1,Yu),g(2,pn)],Tc)});var DI,yye,MC=w(()=>{re();DI=M("IWebContentExtractorService"),yye=M("ISharedWebContentExtractorService")});function LI(i){let r=typeof i=="string"?E.parse(i):i;return r.with({path:r.path.replace(/\/+$/,""),query:null,fragment:null})}function OC(i,r){let e=LI(i),t;if(/^[^./:]*:\/\//.test(r))t=LI(r);else{if(e.scheme!=="http"&&e.scheme!=="https")return!1;t=LI(`${e.scheme}://${r}`)}return AI(e.scheme,t.scheme)&&AI(e.authority,t.authority,!0)&&(t.path==="/"||AI(e.path,t.path))}function AI(i,r,e=!1){let t=Array.from({length:i.length+1}).map(()=>Array.from({length:r.length+1}).map(()=>{}));return yo(t,e,i,r,0,0)}function yo(i,r,e,t,n,o){if(i[n]?.[o]!==void 0)return i[n][o];let s=[];if(n===e.length)return o===t.length?!0:r&&t[o]+t[o+1]===":*"?o+2===t.length:!1;if(o===t.length)return e.slice(n)[0]==="/";if(e[n]===t[o]&&s.push(yo(i,r,e,t,n+1,o+1)),t[o]+t[o+1]==="*."&&(["/",":"].includes(e[n])||s.push(yo(i,r,e,t,n+1,o)),(n===0||e[n-1]===".")&&s.push(yo(i,r,e,t,n,o+2))),t[o]==="*"&&(n+1===e.length?s.push(yo(i,r,e,t,n+1,o+1)):s.push(yo(i,r,e,t,n+1,o)),s.push(yo(i,r,e,t,n,o+1))),r&&t[o]+t[o+1]===":*")if(e[n]===":"){let a=n+1;do a++;while(/[0-9]/.test(e[a]));s.push(yo(i,r,e,t,a,o+2))}else s.push(yo(i,r,e,t,n,o+2));return i[n][o]=s.some(a=>a===!0)}var FC=w(()=>{le()});function UC(i,r){if(i=E.parse(WC(i)),r=r.map(WC),LM(i.authority))return!0;for(let e=0;e<r.length;e++)if(r[e]==="*"||OC(i,r[e]))return!0;return!1}function WC(i){let r=["github.com"];try{let e=typeof i=="string"?E.parse(i,!0):i;return r.includes(e.authority)?e.with({path:e.path.toLowerCase()}).toString(!0):e.toString(!0)}catch{return i.toString()}}function LM(i){return kM.test(i)||RM.test(i)||DM.test(i)}var kM,RM,DM,NC=w(()=>{le();FC();kM=/^(.+\.)?localhost(:\d+)?$/i,RM=/^127.0.0.1(:\d+)?$/,DM=/^\[::1\](:\d+)?$/});var $h,BC=w(()=>{Ar();It();$h=class i{constructor(){this._cache=new fi(i.MAX_CACHE_SIZE)}static{this.MAX_CACHE_SIZE=1e3}static{this.SUCCESS_CACHE_DURATION=1e3*60*60*24}static{this.ERROR_CACHE_DURATION=1e3*60*5}add(r,e,t){let n;switch(t.status){case"ok":case"redirect":n=Date.now()+i.SUCCESS_CACHE_DURATION;break;default:n=Date.now()+i.ERROR_CACHE_DURATION;break}let o=i.getKey(r,e);this._cache.set(o,{result:t,options:e,expiration:n})}tryGet(r,e){let t=i.getKey(r,e),n=this._cache.get(t);if(n!==void 0){if(n.expiration<Date.now()){this._cache.delete(t);return}return n.result}}static getKey(r,e){return`${!!e?.followRedirects}${Ma.getComparisonKey(r)}`}}});function AM(i){if(i.length===0)return[];let r=new Map;for(let o of i)r.set(o.nodeId,o);function e(o){let s=r.get(o);if(!s||!s.childIds)return[];let a=[];for(let l of s.childIds){let c=r.get(l);c&&(c.ignored?a.push(...e(l)):a.push(l))}return a}let t=new Map;for(let o of i)o.ignored||t.set(o.nodeId,{node:o,children:[],parent:null});for(let o of i){if(o.ignored)continue;let s=t.get(o.nodeId);if(o.childIds)for(let a of o.childIds){let l=r.get(a);if(l)if(l.ignored){let c=e(a);for(let d of c){let u=t.get(d);u&&(u.parent=s,s.children.push(u))}}else{let c=t.get(a);c&&(c.parent=s,s.children.push(c))}}}let n=[];for(let o of t.values())o.parent||n.push(o);return n}function HC(i,r){let e=AM(r);if(e.length===0)return"";let t=[],n=[];for(let s of e){let a=MM(i,s),l=HM(s);a.trim().length>0&&t.push(a),n.push(...l)}return t.join(`

`)+(n.length>0?`

## Additional Links
`+n.join(`
`):"")}function MM(i,r){let e=[];return wo(i,r,e,0,!0),e.join("")}function wo(i,r,e,t,n){switch(Io(r.node)){case"navigation":return;case"heading":UM(i,r,e,t);return;case"paragraph":WM(i,r,e,t,n);return;case"list":e.push(`
`);for(let s of r.children)wo(i,s,e,t+1,!0);e.push(`
`);return;case"ListMarker":e.push(Fi(r.node,n));return;case"listitem":{let s=[];for(let l of r.children)wo(i,l,s,t+1,!0);let a=OI(r.node)>1?" ".repeat(OI(r.node)):"";e.push(`${a}${s.join("").trim()}
`);return}case"link":if(!$C(r)){let s=Fi(r.node,n),a=FI(r.node);FM(i,r.node)?e.push(s):e.push(`[${s}](${a})`)}return;case"StaticText":{let s=Fi(r.node,n);s&&e.push(s);break}case"image":{let s=Fi(r.node,n)||"Image",a=OM(r.node);a?e.push(`![${s}](${a})

`):e.push(`[Image: ${s}]

`);break}case"DescriptionList":NM(i,r,e,t);return;case"blockquote":e.push("> "+Fi(r.node,n).replace(/\n/g,`
> `)+`

`);break;case"generic":e.push(" ");break;case"code":{VM(i,r,e,t);return}case"pre":e.push("```\n"+Fi(r.node,!1)+"\n```\n\n");break;case"table":BM(r,e);return}for(let s of r.children)wo(i,s,e,t+1,n)}function Io(i){return i.role?.value||""}function Fi(i,r){let e=i.name?.value||i.value?.value||"";if(!r||e.length<=MI)return e;let t=e.split(""),n=-1;for(let o=1;o<t.length;o++)t[o]===" "&&(n=o),o%MI===0&&n!==-1&&(t[n]=`
`,n=o);return t.join("")}function OI(i){let r=i.properties?.find(e=>e.name==="level");return r?Math.min(Number(r.value.value)||1,6):1}function FI(i){return i.properties?.find(e=>e.name==="url")?.value.value||"#"}function OM(i){return i.properties?.find(e=>e.name==="url")?.value.value||null}function $C(i){let r=i;for(;r;){let e=Io(r.node);if(["navigation","menu","menubar"].includes(e))return!0;r=r.parent}return!1}function FM(i,r){let e=FI(r);try{let t=E.parse(e);return t.scheme===i.scheme&&t.authority===i.authority&&t.path===i.path}catch{return!1}}function WM(i,r,e,t,n){e.push(`
`);for(let o of r.children)wo(i,o,e,t+1,n);e.push(`

`)}function UM(i,r,e,t){e.push(`
`);let n=OI(r.node);e.push(`${"#".repeat(n)} `);for(let o of r.children)Io(o.node)==="StaticText"?e.push(Fi(o.node,!1)):wo(i,o,e,t+1,!1);e.push(`

`)}function NM(i,r,e,t){e.push(`
`);for(let n of r.children)if(Io(n.node)==="term"){e.push("- **");for(let o of n.children)wo(i,o,e,t+1,!0);e.push("** ")}else if(Io(n.node)==="definition"){for(let o of n.children)wo(i,o,e,t+1,!0);e.push(`
`)}e.push(`
`)}function VC(i){return i==="cell"||i==="gridcell"||i==="columnheader"||i==="rowheader"}function BM(i,r){r.push(`
`);let e=i.children.filter(t=>Io(t.node).includes("row"));if(e.length>0){let t=e[0].children.filter(o=>VC(Io(o.node))),n=t.map(o=>Fi(o.node,!1)||" ");r.push("| "+n.join(" | ")+` |
`),r.push("| "+t.map(()=>"---").join(" | ")+` |
`);for(let o=1;o<e.length;o++){let a=e[o].children.filter(l=>VC(Io(l.node))).map(l=>Fi(l.node,!1)||" ");r.push("| "+a.join(" | ")+` |
`)}}r.push(`
`)}function VM(i,r,e,t){let n=[];for(let s of r.children)wo(i,s,n,t+1,!1);if(n.some(s=>s.includes(`
`)))e.push("\n```\n"),e.push(n.join("")),e.push("\n```\n");else{e.push("`");let s=0;for(let a of n)s+=a.length,s>MI&&(e.push(`
`),s=0),e.push(a),e.push("`")}}function HM(i){let r=[];return qC(i,r),r}function qC(i,r){if(Io(i.node)==="link"&&$C(i)){let t=Fi(i.node,!0),n=FI(i.node),o=i.node.description?.value||"";r.push(`- [${t}](${n})${o?" - "+o:""}`)}for(let t of i.children)qC(t,r)}var MI,KC=w(()=>{le();MI=80});var qh,zC=w(()=>{ve();wt();ba();$();le();er();KC();qh=class i extends _{constructor(e,t,n,o,s){super();this._logger=t;this._uri=n;this._options=o;this._isTrustedDomain=s;this._requests=new Set;this._queue=this._register(new Rn);this._timeout=this._register(new cd);this._idleDebounceTimer=this._register(new cd);this._onResult=e=>{};this._didFinishLoad=!1;this._window=e({width:800,height:600,show:!1,webPreferences:{partition:ke(),javascript:!0,offscreen:!0,sandbox:!0,webgl:!1}}),this._register(G(()=>this._window.destroy())),this._debugger=this._window.webContents.debugger,this._debugger.attach("1.1"),this._debugger.on("message",this.onDebugMessage.bind(this)),this._window.webContents.once("did-start-loading",this.onStartLoading.bind(this)).once("did-finish-load",this.onFinishLoad.bind(this)).once("did-fail-load",this.onFailLoad.bind(this)).on("will-navigate",this.onRedirect.bind(this)).on("will-redirect",this.onRedirect.bind(this)).on("select-client-certificate",a=>a.preventDefault()),this._window.webContents.session.webRequest.onBeforeSendHeaders(this.onBeforeSendHeaders.bind(this)),this._window.webContents.session.webRequest.onHeadersReceived(this.onHeadersReceived.bind(this)),this._window.webContents.session.on("will-download",this.onDownload.bind(this))}static{this.TIMEOUT=3e4}static{this.POST_LOAD_TIMEOUT=5e3}static{this.FRAME_TIMEOUT=500}static{this.EXTRACT_CONTENT_TIMEOUT=2e3}static{this.IDLE_DEBOUNCE_TIME=500}static{this.MIN_CONTENT_LENGTH=100}trace(e){this._logger.trace(`[WebPageLoader] [${this._uri}] ${e}`)}async load(){return await new Promise(e=>{this._onResult=$i(t=>{switch(t.status){case"ok":this.trace(`Loaded web page content, status: ${t.status}, title: '${t.title}', length: ${t.result.length}`);break;case"redirect":this.trace(`Loaded web page content, status: ${t.status}, toURI: ${t.toURI}`);break;case"error":this.trace(`Loaded web page content, status: ${t.status}, code: ${t.statusCode}, error: '${t.error}', title: '${t.title}', length: ${t.result?.length??0}`);break}let n=t.status!=="redirect"?t.result:void 0;n!==void 0&&this.trace(n.length<200?`Extracted content: '${n}'`:`Extracted content preview: '${n.substring(0,200)}...'`),e(t),this.dispose()}),this.trace("Loading web page content"),this._window.loadURL(this._uri.toString(!0)),this.setTimeout(i.TIMEOUT)})}setTimeout(e){this._store.isDisposed||(this.trace(`Setting page load timeout to ${e} ms`),this._timeout.cancelAndSet(()=>{this.trace("Page load timeout reached"),this._queue.queue(()=>this.extractContent())},e))}onBeforeSendHeaders(e,t){let n={...e.requestHeaders};n.DNT="1",n["Sec-GPC"]="1",t({requestHeaders:n})}onHeadersReceived(e,t){let n=e.responseHeaders;if(n){let o=!1,s,a;for(let l of Object.keys(n)){let c=l.toLowerCase();c==="content-disposition"&&n[l]?.some(d=>d.toLowerCase().includes("attachment"))&&(o=!0,s=l),c==="content-type"&&(a=n[l]?.[0]?.toLowerCase())}if(o&&s){this.isTextMimeType(a)?(this.trace(`Replacing Content-Disposition: attachment with inline for ${e.url} (content-type: ${a})`),n[s]=["inline"],t({responseHeaders:n,cancel:!1})):(this.trace(`Blocked binary download (Content-Disposition: attachment, content-type: ${a}) for ${e.url}`),t({cancel:!0}));return}}t({cancel:!1})}static{this.TEXT_MIME_TYPE_RE=/^(?:text\/|application\/(?:json|xml|xhtml\+xml|rss\+xml|atom\+xml|svg\+xml|javascript|ecmascript|x-yaml|yaml|toml|.*\+(?:xml|json))$)/}isTextMimeType(e){let t=e?.split(";")[0].trim();return!!t&&i.TEXT_MIME_TYPE_RE.test(t)}onDownload(e,t){let n=t.getFilename();this.trace(`Blocked download: ${n}`),t.cancel(),this._queue.queue(()=>this.extractContent({status:"error",error:`Download not allowed: ${n}`}))}onStartLoading(){this._store.isDisposed||(this.trace("Received 'did-start-loading' event"),this._debugger.sendCommand("Network.enable").catch(()=>{}))}onFinishLoad(){this._store.isDisposed||(this.trace("Received 'did-finish-load' event"),this._didFinishLoad=!0,this.scheduleIdleCheck(),this.setTimeout(i.POST_LOAD_TIMEOUT))}onFailLoad(e,t,n){this._store.isDisposed||(this.trace(`Received 'did-fail-load' event, code: ${t}, error: '${n}'`),t===-3?(this.trace("Ignoring ERR_ABORTED (-3) as it may be caused by CSP or other measures"),this._queue.queue(()=>this.extractContent())):t===-27?(this.trace("Ignoring ERR_BLOCKED_BY_CLIENT (-27) as it may be caused by ad-blockers or similar extensions"),this._queue.queue(()=>this.extractContent())):this._queue.queue(()=>this.extractContent({status:"error",statusCode:t,error:n})))}onRedirect(e,t){if(!this._store.isDisposed&&(this.trace(`Received 'will-navigate' or 'will-redirect' event, url: ${t}`),!this._options?.followRedirects)){let n=E.parse(t);if(this.normalizeAuthority(n.authority)===this.normalizeAuthority(this._uri.authority)||this._isTrustedDomain(n))return;if(this._didFinishLoad){this.trace(`Blocking post-load navigation to ${t} (likely ad/tracker script)`),e.preventDefault();return}e.preventDefault(),this._onResult({status:"redirect",toURI:n})}}normalizeAuthority(e){return e.toLowerCase().replace(/^www\./,"")}onDebugMessage(e,t,n){if(this._store.isDisposed)return;let{requestId:o,type:s,response:a}=n;switch(t){case"Network.requestWillBeSent":o!==void 0&&(this._requests.add(o),this._idleDebounceTimer.cancel());break;case"Network.loadingFinished":case"Network.loadingFailed":o!==void 0&&(this._requests.delete(o),this._requests.size===0&&this._didFinishLoad&&this.scheduleIdleCheck());break;case"Network.responseReceived":if(s==="Document"){let l=a?.status??0;if(l>=400){let c=a?.statusText||`HTTP error ${l}`;this._queue.queue(()=>this.extractContent({status:"error",statusCode:l,error:c}))}}break}}scheduleIdleCheck(){this._store.isDisposed||this._idleDebounceTimer.cancelAndSet(async()=>{this._store.isDisposed||(await this.nextFrame(),this._requests.size===0?this._queue.queue(()=>this.extractContent()):this.trace("New network requests detected, deferring content extraction"))},i.IDLE_DEBOUNCE_TIME)}async nextFrame(){this._store.isDisposed||await lv(new Promise(e=>{try{this.trace("Waiting for a frame to be rendered"),this._window.webContents.beginFrameSubscription(!1,()=>{try{this.trace("A frame has been rendered"),this._window.webContents.endFrameSubscription()}catch{}e()})}catch{e()}}),i.FRAME_TIMEOUT)}async extractContent(e){if(!this._store.isDisposed)try{let t=this._window.webContents.getTitle(),n="",o=new $e;try{await lv((async()=>{if(o.token.isCancellationRequested||(n=await this.extractAccessibilityTreeContent(o.token)??""),!o.token.isCancellationRequested&&n.length<i.MIN_CONTENT_LENGTH){this.trace("Accessibility tree extraction yielded insufficient content, trying main DOM element extraction");let s=await this.extractMainDomElementContent()??"";n=s.length>n.length?s:n}})(),i.EXTRACT_CONTENT_TIMEOUT)}finally{o.cancel(),o.dispose()}n.length===0?this._onResult({status:"error",error:"Failed to extract meaningful content from the web page"}):e!==void 0?this._onResult({...e,result:n,title:t}):this._onResult({status:"ok",result:n,title:t})}catch(t){e!==void 0?this._onResult(e):this._onResult({status:"error",error:t instanceof Error?t.message:String(t)})}}async extractAccessibilityTreeContent(e){this.trace("Extracting content using Accessibility domain");try{if(await this._debugger.sendCommand("Page.enable"),e.isCancellationRequested)return;let{frameTree:t}=await this._debugger.sendCommand("Page.getFrameTree");if(e.isCancellationRequested)return;let n=[t];for(let s=0;s<n.length;s++)n.push(...n[s].childFrames??[]);let o=[];for(let{frame:s}of n)try{let{nodes:a}=await this._debugger.sendCommand("Accessibility.getFullAXTree",{frameId:s.id});if(o.push(...a),e.isCancellationRequested)return}catch{}return HC(this._uri,o)}catch(t){this.trace(`Accessibility tree extraction failed: ${t instanceof Error?t.message:String(t)}`);return}}async extractMainDomElementContent(){try{return this.trace("Extracting content from main DOM element"),await this._window.webContents.executeJavaScript(`
				(() => {
					const selectors = ['main','article','[role="main"]','.main-content','#main-content','.article-body','.post-content','.entry-content','.content','body'];
					for (const selector of selectors) {
						const content = document.querySelector(selector)?.textContent?.replace(/[ \\t]+/g, ' ').replace(/\\s{2,}/gm, '\\n').trim();
						if (content && content.length > ${i.MIN_CONTENT_LENGTH}) {
							return content;
						}
					}
					return undefined;
				})();
			`)}catch(e){this.trace(`DOM extraction failed: ${e instanceof Error?e.message:String(e)}`);return}}}});import{BrowserWindow as $M}from"electron";var Cc,jC=w(()=>{ve();oe();NC();BC();zC();Cc=class{constructor(r){this._logger=r;this._limiter=new ld(3);this._webContentsCache=new $h}extract(r,e){return r.length===0?(this._logger.info("No URIs provided for extraction"),Promise.resolve([])):(this._logger.info(`Extracting content from ${r.length} URIs`),Promise.all(r.map(t=>this._limiter.queue(()=>this.doExtract(t,e)))))}async doExtract(r,e){let t=this._webContentsCache.tryGet(r,e);if(t!==void 0)return this._logger.info(`Found cached content for ${r.toString()}`),t;let n=new qh(o=>new $M(o),this._logger,r,e,o=>UC(o,e?.trustedDomains||[]));try{let o=await n.load();return this._webContentsCache.add(r,e,o),o}finally{n.dispose()}}};Cc=T([g(0,U)],Cc)});var GC,ep,JC=w(()=>{$t();He();$();mn();Ke();(r=>{function i(e,t){return e.callstack<t.callstack?-1:e.callstack>t.callstack?1:0}r.compare=i})(GC||={});ep=class i{constructor(r,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new ee;this._telemetryService=r,this._flushDelay=e;let t=Ia.addListener(n=>this._onErrorEvent(n));this._disposables.add(G(t)),this.installErrorListeners()}static{this.ERROR_FLUSH_TIMEOUT=5*1e3}dispose(){clearTimeout(this._flushHandle),this._flushBuffer(),this._disposables.dispose()}installErrorListeners(){}_onErrorEvent(r){if(!r||r.code||(r.detail&&r.detail.stack&&(r=r.detail),sn.isErrorNoTelemetry(r)||r instanceof zt||kp.is(r)||typeof r?.message=="string"&&r.message.includes("Unable to read file")))return;let e=Array.isArray(r.stack)?r.stack.join(`
`):r.stack,t=r.message?r.message:Iy(r);e&&this._enqueue({msg:t,callstack:e})}_enqueue(r){let e=zb(this._buffer,r,GC.compare);e<0?(r.count=1,this._buffer.splice(~e,0,r)):(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 r of this._buffer)this._telemetryService.publicLogError2("UnhandledError",r);this._buffer.length=0}}});var da,QC=w(()=>{He();JC();rr();da=class extends ep{constructor(e,t){super(t);this.logService=e}installErrorListeners(){Rp(e=>this.onUnexpectedError(e)),process.on("uncaughtException",e=>{Bb(e)||nt(e)}),process.on("unhandledRejection",e=>nt(e))}onUnexpectedError(e){this.logService.error(`[uncaught exception in main]: ${e}`),e.stack&&this.logService.error(e.stack)}};da=T([g(1,Ge)],da)});import{app as Tn,powerMonitor as _c,protocol as XC,session as kc,systemPreferences as YC}from"electron";import{hostname as qM,release as KM}from"os";var hs,ZC=w(()=>{Wa();Dn();Qa();it();Lo();J();bg();Xi();$();qe();_e();te();Le();le();er();ox();Ii();lx();Pf();uy();Te();gl();Zx();at();rP();pm();Ly();qs();Ef();PP();l0();xu();c0();Dm();u0();Rt();Al();Om();hw();E0();T0();R0();D0();L0();G0();Ke();cE();eh();Bu();re();ih();uE();fE();mE();Pt();oe();yE();kl();ds();Bw();wE();IE();tr();Sl();DE();vh();Sn();LE();Ri();Vw();rr();AE();ME();mo();uo();OE();UE();NE();BE();zE();Lw();jE();GE();QE();XE();eT();$o();Dt();pT();fT();Cr();wm();Hu();mT();Qo();oi();hT();Go();Gu();fI();VT();HT();$T();ve();wt();XT();YT();ZT();zl();eC();rC();hc();nC();vC();yC();IC();xI();SC();Eo();Ks();PC();ud();oI();TC();CC();TI();LC();AC();MC();jC();QC();hs=class extends _{constructor(e,t,n,o,s,a,l,c,d,u,f,m){super();this.mainProcessNodeIpcServer=e;this.userEnv=t;this.mainInstantiationService=n;this.logService=o;this.loggerService=s;this.environmentMainService=a;this.lifecycleMainService=l;this.configurationService=c;this.stateService=d;this.fileService=u;this.productService=f;this.userDataProfilesMainService=m;this.configureSession(),this.registerListeners()}static{this.SECURITY_PROTOCOL_HANDLING_CONFIRMATION_SETTING_KEY={[F.file]:"security.promptForLocalFileProtocolHandling",[F.vscodeRemote]:"security.promptForRemoteFileProtocolHandling"}}configureSession(){let e=m=>m?.startsWith(`${F.vscodeFileResource}://${La}`),t=m=>m?.startsWith(`${F.vscodeWebview}://`),n=new Set(["pointerLock","notifications"]),o=new Set([...n,"clipboard-read","clipboard-sanitized-write","deprecated-sync-clipboard-read"]),s=new Set([...n,"media","local-fonts","deprecated-sync-clipboard-read"]);kc.defaultSession.setPermissionRequestHandler((m,y,v,b)=>t(b.requestingUrl)?v(o.has(y)):e(b.requestingUrl)?v(s.has(y)):v(!1)),kc.defaultSession.setPermissionCheckHandler((m,y,v,b)=>t(b.requestingUrl)?o.has(y):e(b.requestingUrl)?s.has(y):!1);let a=new Set([F.file,F.vscodeFileResource,F.vscodeRemoteResource,F.vscodeManagedRemoteResource,"devtools"]),l=m=>{for(let y=m;y;y=y.parent)if(y.url.startsWith(`${F.vscodeWebview}://`))return!0;return!1},c=m=>m.resourceType==="xhr"||l(m.frame),d=m=>{let y=m.frame;if(!y||!this.windowsMainService)return!1;let v=_i();for(let b of v)if(y.processId===b.webContents.mainFrame.processId)return!0;return!1},u=(m,y)=>{if(m.path!=="/index.html")return!0;let v=y.frame;if(!v||!this.windowsMainService)return!1;for(let b of this.windowsMainService.getWindows())if(b.win&&v.processId===b.win.webContents.mainFrame.processId)return!0;return!1};kc.defaultSession.webRequest.onBeforeRequest((m,y)=>{let v=E.parse(m.url);return v.scheme===F.vscodeWebview&&!u(v,m)?(this.logService.error("Blocked vscode-webview request",m.url),y({cancel:!0})):v.scheme===F.vscodeFileResource&&!d(m)?(this.logService.error("Blocked vscode-file request",m.url),y({cancel:!0})):v.path.endsWith(".svg")&&!a.has(v.scheme)?y({cancel:!c(m)}):y({cancel:!1})}),kc.defaultSession.webRequest.onHeadersReceived((m,y)=>{let v=m.responseHeaders,b=v["content-type"]||v["Content-Type"];if(b&&Array.isArray(b)){let I=E.parse(m.url);if(I.path.endsWith(".svg")&&a.has(I.scheme))return v["Content-Type"]=["image/svg+xml"],y({cancel:!1,responseHeaders:v});if(!I.path.endsWith(F.vscodeRemoteResource)&&b.some(C=>C.toLowerCase().includes("image/svg")))return y({cancel:!c(m)})}return y({cancel:!1})}),kc.defaultSession.webRequest.onHeadersReceived((m,y)=>{if(m.url.startsWith("https://vscode.download.prss.microsoft.com/")){let v=m.responseHeaders??Object.create(null);if(v["Access-Control-Allow-Origin"]===void 0)return v["Access-Control-Allow-Origin"]=["*"],y({cancel:!1,responseHeaders:v})}return y({cancel:!1})});let f=kc.defaultSession;typeof f.setCodeCachePath=="function"&&this.environmentMainService.codeCachePath&&f.setCodeCachePath(B(this.environmentMainService.codeCachePath,"chrome")),W&&(this.configurationService.getValue("security.restrictUNCAccess")===!1?l1():Gi(this.configurationService.getValue("security.allowedUNCHosts")))}registerListeners(){x.once(this.lifecycleMainService.onWillShutdown)(()=>this.dispose()),nx(),Tn.on("accessibility-support-changed",(n,o)=>{this.windowsMainService?.sendToAll("vscode:accessibilitySupportChanged",o)}),Tn.on("activate",async(n,o)=>{this.logService.trace("app#activate"),o||(process.isEmbeddedApp||this.environmentMainService.args.sessions&&this.productService.quality!=="stable"?await this.windowsMainService?.openSessionsWindow({context:1}):await this.windowsMainService?.openEmptyWindow({context:1}))}),Tn.on("web-contents-created",(n,o)=>{o?.opener?.url.startsWith(`${F.vscodeFileResource}://${La}/`)&&(this.logService.trace('[aux window]  app.on("web-contents-created"): Registering auxiliary window'),this.auxiliaryWindowsMainService?.registerWindow(o)),o.on("will-navigate",s=>{Gs.isBrowserViewWebContents(o)||(this.logService.error("webContents#will-navigate: Prevented webcontent navigation"),s.preventDefault())}),o.setWindowOpenHandler(s=>s.url==="about:blank"?(this.logService.trace("[aux window] webContents#setWindowOpenHandler: Allowing auxiliary window to open on about:blank"),{action:"allow",overrideBrowserWindowOptions:this.auxiliaryWindowsMainService?.createWindow(s)}):(this.logService.trace(`webContents#setWindowOpenHandler: Prevented opening window with URL ${s.url}}`),this.nativeHostMainService?.openExternal(void 0,s.url),{action:"deny"}))});let e=[],t;Tn.on("open-file",(n,o)=>{o=yi(o),this.logService.trace("app#open-file: ",o),n.preventDefault(),e.push(Pi(o)?{workspaceUri:E.file(o)}:{fileUri:E.file(o)}),t!==void 0&&(clearTimeout(t),t=void 0),t=setTimeout(async()=>{await this.windowsMainService?.open({context:1,cli:this.environmentMainService.args,urisToOpen:e,gotoLineMode:!1,preferNewWindow:!0}),e=[],t=void 0},100)}),Tn.on("new-window-for-tab",async()=>{await this.windowsMainService?.openEmptyWindow({context:4})}),et.handle("vscode:fetchShellEnv",n=>{let o=this.windowsMainService?.getWindowByWebContents(n.sender),s,a;return o?.config?(s=o.config,a={...process.env,...o.config.userEnv}):(s=this.environmentMainService.args,a=process.env),this.resolveShellEnvironment(s,a,!1)}),et.on("vscode:toggleDevTools",n=>n.sender.toggleDevTools()),et.on("vscode:openDevTools",n=>n.sender.openDevTools()),et.on("vscode:reloadWindow",n=>n.sender.reload()),et.handle("vscode:notifyZoomLevel",async(n,o)=>{let s=this.windowsMainService?.getWindowByWebContents(n.sender);s&&s.notifyZoomLevel(o)})}async startup(){this.logService.debug("Starting VS Code"),this.logService.debug(`from: ${this.environmentMainService.appRoot}`),this.logService.debug("args:",this.environmentMainService.args);let e=this.productService.win32AppUserModelId;W&&e&&Tn.setAppUserModelId(e);try{V&&this.configurationService.getValue("window.nativeTabs")===!0&&!YC.getUserDefault("NSUseImprovedLayoutPass","boolean")&&YC.setUserDefault("NSUseImprovedLayoutPass","boolean",!0)}catch(f){this.logService.error(f)}let t=new Sf;x.once(this.lifecycleMainService.onWillShutdown)(f=>{f.reason===2&&t.dispose()});let[n,o,s]=await Promise.all([jT(this.stateService,this.logService),GT(this.stateService,this.logService),JT(this.stateService,this.logService)]),{sharedProcessReady:a,sharedProcessClient:l}=this.setupSharedProcess(n,o,s),c=await this.initServices(n,o,s,a);c.invokeFunction(f=>this._register(new da(f.get(U),f.get(Ge)))),c.invokeFunction(f=>{f.get(Xr).setTelemetryService(f.get(Ge))}),c.invokeFunction(f=>f.get(pu)),this._register(c.createInstance(pc)),c.invokeFunction(f=>this.initChannels(f,t,l));let d=await c.invokeFunction(f=>this.setupProtocolUrlHandlers(f,t));this.setupManagedRemoteResourceUrlHandler(t),this.lifecycleMainService.phase=2,await c.invokeFunction(f=>this.openFirstWindow(f,d)),this.lifecycleMainService.phase=3,this.afterWindowOpen(c),this._register(new hr(()=>{this._register(dd(()=>{this.lifecycleMainService.phase=4,this.eventuallyAfterWindowOpen()},2500))},2500)).schedule()}async setupProtocolUrlHandlers(e,t){let n=this.windowsMainService=e.get(Be),o=e.get(Vl),s=this.nativeHostMainService=e.get(Wn),a=e.get(xn),l=this;o.registerHandler({async handleURL(y,v){return l.handleProtocolUrl(n,a,o,y,v)}});let c=this._register(new kh({onDidOpenMainWindow:s.onDidOpenMainWindow,onDidFocusMainWindow:s.onDidFocusMainWindow,getActiveWindowId:()=>s.getActiveWindowId(-1)})),d=new gf(y=>c.getActiveClientId().then(v=>y===v)),u=new Ph(d,this.logService),f=t.getChannel("urlHandler",u);o.registerHandler(new xh(f));let m=await this.resolveInitialProtocolUrls(n,a);return this._register(new Eh(m?.urls,o,n,this.environmentMainService,this.productService,this.logService)),m}setupManagedRemoteResourceUrlHandler(e){let t=()=>({statusCode:404,data:"Not found"}),n=new xr(()=>e.getChannel(bC,new Bh));XC.registerBufferProtocol(F.vscodeManagedRemoteResource,(o,s)=>{let a=E.parse(o.url);if(!a.authority.startsWith("window:"))return s(t());n.value.call(PI,[a]).then(l=>s({...l,data:Buffer.from(l.body,"base64")}),l=>{this.logService.warn("error dispatching remote resource call",l),s({statusCode:500,data:String(l)})})})}async resolveInitialProtocolUrls(e,t){let n=this.environmentMainService.args["open-url"]?this.environmentMainService.args._urls||[]:[];n.length>0&&this.logService.trace("app#resolveInitialProtocolUrls() protocol urls from command line:",n);let o=global.getOpenUrls?.()||[];if(o.length>0&&this.logService.trace("app#resolveInitialProtocolUrls() protocol urls from macOS 'open-url' event:",o),n.length+o.length===0)return;let s=[...n,...o].map(c=>{try{return{uri:E.parse(c),originalUrl:c}}catch{this.logService.trace("app#resolveInitialProtocolUrls() protocol url failed to parse:",c);return}}),a=[],l=[];for(let c of s){if(!c)continue;let d=this.getWindowOpenableFromProtocolUrl(c.uri);if(d){if(process.isEmbeddedApp){this.logService.trace("app#resolveInitialProtocolUrls() sessions app skipping window openable:",c.uri.toString(!0));continue}if(await this.shouldBlockOpenable(d,e,t)){this.logService.trace("app#resolveInitialProtocolUrls() protocol url was blocked:",c.uri.toString(!0));continue}else this.logService.trace("app#resolveInitialProtocolUrls() protocol url will be handled as window to open:",c.uri.toString(!0),d),a.push(d)}else this.logService.trace("app#resolveInitialProtocolUrls() protocol url will be passed to active window for handling:",c.uri.toString(!0)),l.push(c)}return{urls:l,openables:a}}async shouldBlockOpenable(e,t,n){let o,s;if(nu(e)?(o=e.workspaceUri,s=h(159,null,o.scheme===F.file?Qi(o,{os:Qt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):Gf(e)?(o=e.folderUri,s=h(158,null,o.scheme===F.file?Qi(o,{os:Qt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):(o=e.fileUri,s=h(157,null,o.scheme===F.file?Qi(o,{os:Qt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)),o.scheme!==F.file&&o.scheme!==F.vscodeRemote||this.configurationService.getValue(hs.SECURITY_PROTOCOL_HANDLING_CONFIRMATION_SETTING_KEY[o.scheme])===!1)return!1;let{response:l,checkboxChecked:c}=await n.showMessageBox({type:"warning",buttons:[h(162,null),h(155,null)],message:s,detail:h(156,null),checkboxLabel:o.scheme===F.file?h(160,null):h(161,null),cancelId:1});if(l!==0)return!0;if(c){let d={channel:"vscode:disablePromptForProtocolHandling",args:o.scheme===F.file?"local":"remote"};t.sendToFocused(d.channel,d.args),t.sendToOpeningWindow(d.channel,d.args)}return!1}getWindowOpenableFromProtocolUrl(e){if(e.path){if(e.authority===F.file){let t=E.file(e.fsPath);return Pi(t)?{workspaceUri:t}:{fileUri:t}}else if(e.authority===F.vscodeRemote){let t=e.path.indexOf(de.sep,1),n,o;t!==-1?(n=e.path.substring(1,t),o=e.path.substring(t)):(n=e.path.substring(1),o="/");let s=e.query,a=new URLSearchParams(e.query);a.get("windowId")==="_blank"&&(a.delete("windowId"),s=a.toString());let l=E.from({scheme:F.vscodeRemote,authority:n,path:o,query:s,fragment:e.fragment});return Pi(o)?{workspaceUri:l}:/:[\d]+$/.test(o)?{fileUri:l}:{folderUri:l}}}}async handleProtocolUrl(e,t,n,o,s){if(this.logService.trace("app#handleProtocolUrl():",o.toString(!0),s),process.isEmbeddedApp){if(this.logService.trace("app#handleProtocolUrl() sessions app handling protocol URL:",o.toString(!0)),this.getWindowOpenableFromProtocolUrl(o))return this.logService.trace("app#handleProtocolUrl() sessions app skipping window openable:",o.toString(!0)),!0;let y=(await e.openSessionsWindow({context:6,contextWindowId:void 0})).at(0);return y?.focus(),await y?.ready(),!1}o.scheme===this.productService.urlProtocol&&o.path==="workspace"&&(o=o.with({authority:F.file,path:E.parse(o.query).path,query:""}));let a=!1,l=new URLSearchParams(o.query);l.get("windowId")==="_blank"?(this.logService.trace("app#handleProtocolUrl() found 'windowId=_blank' as parameter, setting shouldOpenInNewWindow=true:",o.toString(!0)),l.delete("windowId"),o=o.with({query:l.toString()}),a=!0):V&&e.getWindowCount()===0&&(this.logService.trace("app#handleProtocolUrl() running on macOS with no window open, setting shouldOpenInNewWindow=true:",o.toString(!0)),a=!0);let c=l.get("continueOn");c!==null&&(this.logService.trace("app#handleProtocolUrl() found 'continueOn' as parameter:",o.toString(!0)),l.delete("continueOn"),o=o.with({query:l.toString()}),this.environmentMainService.continueOn=c??void 0);let d=l.get("session");d!==null&&(this.logService.trace("app#handleProtocolUrl() found 'session' as parameter:",o.toString(!0)),l.delete("session"),o=o.with({query:l.toString()}));let u=this.getWindowOpenableFromProtocolUrl(o);if(u){if(await this.shouldBlockOpenable(u,e,t))return this.logService.trace("app#handleProtocolUrl() protocol url was blocked:",o.toString(!0)),!0;{this.logService.trace("app#handleProtocolUrl() opening protocol url as window:",u,o.toString(!0));let f=(await e.open({context:6,cli:{...this.environmentMainService.args},urisToOpen:[u],forceNewWindow:a,gotoLineMode:!0})).at(0);return f?.focus(),f&&d&&f.sendWhenReady("vscode:openChatSession",Se.None,d),!0}}return a?(this.logService.trace("app#handleProtocolUrl() opening empty window and passing in protocol url:",o.toString(!0)),await(await e.open({context:6,cli:{...this.environmentMainService.args},forceNewWindow:!0,forceEmpty:!0,gotoLineMode:!0,remoteAuthority:co(o)})).at(0)?.ready(),n.open(o,s)):(this.logService.trace("app#handleProtocolUrl(): not handled",o.toString(!0),s),!1)}setupSharedProcess(e,t,n){let o=this._register(this.mainInstantiationService.createInstance(Gl,e,t,n));this._register(o.onDidCrash(()=>this.windowsMainService?.sendToFocused("vscode:reportSharedProcessCrash")));let s=(async()=>{this.logService.trace("Main->SharedProcess#connect");let l=await o.connect();return this.logService.trace("Main->SharedProcess#connect: connection established"),new Uo(l,"main")})();return{sharedProcessReady:(async()=>(await o.whenReady(),s))(),sharedProcessClient:s}}async initServices(e,t,n,o){let s=new as;switch(process.platform){case"win32":s.set(ls,new ge(oa));break;case"linux":bp?s.set(ls,new ge(Yl,[process.env.SNAP,process.env.SNAP_REVISION])):s.set(ls,new ge(Xl));break;case"darwin":s.set(ls,new ge(ai));break}s.set(Be,new ge(sc,[e,t,n,this.userEnv],!1)),s.set(Pn,new ge(xc,void 0,!1));let a=new Il(this.logService,this.productService);s.set(xn,a),s.set(Aw,new ge(Hl,void 0,!1)),s.set(El,new ge(Pl,void 0,!1)),s.set(hu,Je.toService(Cd(o.then(m=>m.getChannel("diagnostics"))))),s.set(Wd,new ge(Tl)),s.set(nw,new ge(Rl,void 0,!1)),s.set(Js,new ge(Gs,void 0,!1)),s.set(ow,new ge(Ll,void 0,!1)),s.set(Dw,new ge(Bl)),s.set(Wn,new ge(js,void 0,!1));let l=new ql(this.configurationService);s.set(Xr,l),s.set(DI,new ge(Cc,void 0,!1)),s.set(Qw,new ge(ec)),s.set(Ww,new ge($l)),s.set(mw,new ge(is)),s.set(Hs,new ge(pl)),s.set(yr,new ge(fl));let c=new gc({graceTime:6e4,shortGraceTime:6e3,scrollback:this.configurationService.getValue("terminal.integrated.persistentSessionScrollback")??100},this.configurationService,this.environmentMainService,this.lifecycleMainService,this.logService),d=new Ic(c,this.configurationService,this.logService,this.loggerService);if(s.set(vI,d),this.configurationService.getValue(wC)){let m=new ms(this.environmentMainService,this.lifecycleMainService,this.logService);this._register(new bc(m,this.logService,this.loggerService))}W?s.set(Fu,new ge(Uu)):V?s.set(Fu,new ge(Fm)):ne&&s.set(Fu,new ge(Nu)),s.set(vw,new ge(Wm));let u=new ao(this.environmentMainService,this.configurationService,this.logService,this.stateService);s.set(Di,u);let f=new xl(this.environmentMainService,this.logService,this.userDataProfilesMainService,u,a);if(s.set(hn,f),s.set(ky,new ge(ac,void 0,!1)),s.set(cs,new ge(wr,void 0,!1)),s.set(Vl,new ge(Zl,void 0,!1)),hh(this.productService,this.environmentMainService)){let m=CE(this.productService,this.configurationService),y=Cd(o.then(R=>R.getChannel("telemetryAppender"))),v=new wh(y),b=EE(KM(),qM(),process.arch,this.productService.commit,this.productService.version,e,t,n,m,this.productService.date,this.productService.telemetryAppName),I=_E(this.environmentMainService),C={appenders:[v],commonProperties:b,piiPaths:I,sendErrorTelemetry:!0};s.set(Ge,new ge(ho,[C],!1))}else s.set(Ge,Ai);return s.set(fs,new ge(fc,void 0,!0)),s.set(BT,new ge(uc,void 0,!0)),s.set(hI,new ge(mc,void 0,!0)),s.set(pu,new ge(hl)),s.set(EI,new ge(Vh)),s.set(Yu,new ge(Ec)),s.set(Ch,new ge(ic,void 0,!0)),await vt.settled([u.initialize(),f.initialize()]),this.mainInstantiationService.createChild(s)}initChannels(e,t,n){let o=this._register(new ee),s=Je.fromService(e.get(Aw),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("launch",s);let a=Je.fromService(e.get(El),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("diagnostics",a);let l=o.add(new Rh(e.get(Un)));t.registerChannel("policy",l),n.then(Ee=>Ee.registerChannel("policy",l));let c=this.fileService.getProvider(F.file);sS(c instanceof ss);let d=o.add(new nh(c,this.logService,this.environmentMainService));t.registerChannel(Ew,d),n.then(Ee=>Ee.registerChannel(Ew,d));let u=Je.fromService(e.get(Wr),o);t.registerChannel("userDataProfiles",u),n.then(Ee=>Ee.registerChannel("userDataProfiles",u));let f=new Ih(e.get(ls));t.registerChannel("update",f);let m=new dh(e.get(Xr));t.registerChannel(Nw,m),n.then(Ee=>Ee.registerChannel(Nw,m));let y=Je.fromService(new Nl(this.logService,e.get(hu),e.get(El)),o);t.registerChannel("process",y);let v=Je.fromService(e.get(Wd),o);t.registerChannel("encryption",v);let b=Je.fromService(e.get(nw),o);t.registerChannel("browserElements",b),n.then(Ee=>Ee.registerChannel("browserElements",b));let I=Je.fromService(e.get(Js),o);t.registerChannel(Ay,I),n.then(Ee=>Ee.registerChannel(Ay,I));let C=Je.fromService(e.get(ow),o);t.registerChannel(iw,C),n.then(Ee=>Ee.registerChannel(iw,C));let R=Je.fromService(e.get(us),o);t.registerChannel("sign",R);let D=Je.fromService(e.get(Dw),o);t.registerChannel("keyboardLayout",D),this.nativeHostMainService=e.get(Wn);let A=Je.fromService(this.nativeHostMainService,o);t.registerChannel("nativeHost",A),n.then(Ee=>Ee.registerChannel("nativeHost",A));let z=Je.fromService(e.get(DI),o);t.registerChannel("webContentExtractor",z);let N=Je.fromService(e.get(ky),o);t.registerChannel("workspaces",N);let j=Je.fromService(e.get(Ww),o);t.registerChannel("menubar",j);let q=Je.fromService(e.get(Vl),o);t.registerChannel("url",q);let ue=Je.fromService(e.get(Qw),o);t.registerChannel("webview",ue);let rt=o.add(new yh(this.logService,e.get(Hs)));t.registerChannel("storage",rt),n.then(Ee=>Ee.registerChannel("storage",rt));let bt=o.add(new Fh(e.get(Hs),e.get(Wr),this.logService));n.then(Ee=>Ee.registerChannel("profileStorageListener",bt));let Nr=Je.fromService(e.get(vI),o);t.registerChannel("localPty",Nr);let Br=Je.fromService(e.get(Fu),o);t.registerChannel("externalTerminal",Br);let Y=Je.fromService(e.get(vw),o);t.registerChannel("sandboxHelper",Y);let K=Je.fromService(e.get(EI),o);t.registerChannel(EC,K);let X=this._register(new Tc(t,e.get(Yu),e.get(si)));t.registerChannel(_C,X);let Z=new Wh(e.get(si));t.registerChannel("logger",Z),n.then(Ee=>Ee.registerChannel("logger",Z));let ie=new um(e.get(Be));t.registerChannel("extensionhostdebugservice",ie);let pe=Je.fromService(e.get(mw),o);t.registerChannel(x0,pe);let we=Je.fromService(e.get(hI),o);t.registerChannel(tC,we)}async openFirstWindow(e,t){let n=this.windowsMainService=e.get(Be);this.auxiliaryWindowsMainService=e.get(Pn);let o=ni(process.env)?0:4,s=this.environmentMainService.args;if(process.isEmbeddedApp||s.sessions&&this.productService.quality!=="stable")return n.openSessionsWindow({context:o,contextWindowId:void 0});if(t){if(t.openables.length>0)return n.open({context:o,cli:s,urisToOpen:t.openables,gotoLineMode:!0,initialStartup:!0});if(t.urls.length>0)for(let b of t.urls){let I=new URLSearchParams(b.uri.query);if(I.get("windowId")==="_blank")return I.delete("windowId"),b.originalUrl=b.uri.toString(!0),b.uri=b.uri.with({query:I.toString()}),n.open({context:o,cli:s,forceNewWindow:!0,forceEmpty:!0,gotoLineMode:!0,initialStartup:!0})}}let a=global.macOpenFiles??[],l=s._.length,c=!!s["folder-uri"],d=!!s["file-uri"],u=s["skip-add-to-recently-opened"]===!0,f=s.wait&&s.waitMarkerFilePath?E.file(s.waitMarkerFilePath):void 0,m=s.remote||void 0,y=s.profile,v=s["profile-temp"];if(!l&&!c&&!d){if(s["new-window"]||y||v)return n.open({context:o,cli:s,forceNewWindow:!0,forceEmpty:!0,noRecentEntry:u,waitMarkerFileURI:f,initialStartup:!0,remoteAuthority:m,forceProfile:y,forceTempProfile:v});if(a.length)return n.open({context:1,cli:s,urisToOpen:a.map(b=>(b=yi(b),Pi(b)?{workspaceUri:E.file(b)}:{fileUri:E.file(b)})),noRecentEntry:u,waitMarkerFileURI:f,initialStartup:!0})}return n.open({context:o,cli:s,forceNewWindow:s["new-window"],diffMode:s.diff,mergeMode:s.merge,noRecentEntry:u,waitMarkerFileURI:f,gotoLineMode:s.goto,initialStartup:!0,remoteAuthority:m,forceProfile:y,forceTempProfile:v})}afterWindowOpen(e){W&&wf(),this.installMutex(),XC.registerHttpProtocol(F.vscodeRemoteResource,(t,n)=>{n({url:t.url.replace(/^vscode-remote-resource:/,"http:"),method:t.method})}),this.resolveShellEnvironment(this.environmentMainService.args,process.env,!0),this.updateCrashReporterEnablement(),V&&Tn.runningUnderARM64Translation&&this.windowsMainService?.sendToFocused("vscode:showTranslatedBuildWarning"),e.invokeFunction(t=>{let n=t.get(Ge),o=()=>({idleState:_c.getSystemIdleState(60),idleTime:_c.getSystemIdleTime(),thermalState:_c.getCurrentThermalState(),onBattery:_c.isOnBatteryPower()});this._register(x.fromNodeEventEmitter(_c,"suspend")(()=>{n.publicLog2("power.suspend",o())})),this._register(x.fromNodeEventEmitter(_c,"resume")(()=>{n.publicLog2("power.resume",o())}))}),V&&e.invokeFunction(t=>{let n=t.get(Ge);if(Tn.getGPUFeatureStatus().skia_graphite==="enabled"){let a=x.fromNodeEventEmitter(Tn,"gpu-info-update"),l=this._register(new qt);this._register(x.fromNodeEventEmitter(Tn,"child-process-gone",(c,d)=>({event:c,details:d}))(({details:c})=>{c.type==="GPU"&&c.reason==="crashed"&&(l.value=x.once(a)(()=>{let d=Tn.getGPUFeatureStatus();if(d.rasterization!=="enabled"){let f=[],m=Tn;typeof m.getGPULogMessages=="function"&&(f=m.getGPULogMessages().slice(-10).map(y=>y.message)),n.publicLog2("gpu.crash.fallback",{gpuFeatureStatus:JSON.stringify(d),gpuLogMessages:JSON.stringify(f)})}}))}))}});{let t=Tn;e.invokeFunction(n=>{let o=n.get(Ge);this._register(x.fromNodeEventEmitter(t,"network-process-launched",(s,a)=>a)(s=>{this.logService.info(`[network process] launched with pid ${s.pid}`),o.publicLog2("networkProcess.launched",{})})),this._register(x.fromNodeEventEmitter(t,"network-process-gone",(s,a)=>a)(s=>{this.logService.info(`[network process] gone - pid: ${s.pid}, exitCode: ${s.exitCode}, crashed: ${s.crashed}, crashedPreIPC: ${s.crashedPreIPC}`),o.publicLog2("networkProcess.gone",{exitCode:s.exitCode,crashed:s.crashed,crashedPreIPC:s.crashedPreIPC})}))})}}async installMutex(){let e=this.productService.win32MutexName;if(W&&e)try{let t=await import("@vscode/windows-mutex"),n=new t.Mutex(e);x.once(this.lifecycleMainService.onWillShutdown)(()=>n.release())}catch(t){this.logService.error(t)}}async resolveShellEnvironment(e,t,n){try{return await Ol(this.configurationService,this.logService,e,t)}catch(o){let s=Er(o);n?this.windowsMainService?.sendToFocused("vscode:showResolveShellEnvError",s):this.logService.error(s)}return{}}async updateCrashReporterEnablement(){try{let t=(await this.fileService.readFile(this.environmentMainService.argvResource)).value.toString(),n=mp(t),s=jl(this.configurationService)>=1;if(n["enable-crash-reporter"]===void 0){let a=["","	// Allows to disable crash reporting.","	// Should restart the app if the value is changed.",`	"enable-crash-reporter": ${s},`,"","	// Unique id used for correlating crash reports sent from this instance.","	// Do not edit this value.",`	"crash-reporter-id": "${ke()}"`,"}"],l=t.substring(0,t.length-2).concat(`,
`,a.join(`
`));await this.fileService.writeFile(this.environmentMainService.argvResource,H.fromString(l))}else{let a=t.replace(/"enable-crash-reporter": .*,/,`"enable-crash-reporter": ${s},`);a!==t&&await this.fileService.writeFile(this.environmentMainService.argvResource,H.fromString(a))}}catch(e){this.logService.error(e),this.windowsMainService?.sendToFocused("vscode:showArgvParseWarning")}}eventuallyAfterWindowOpen(){QT(this.stateService,this.logService)}};hs=T([g(2,Wt),g(3,U),g(4,pn),g(5,Ce),g(6,ye),g(7,he),g(8,kt),g(9,Ae),g(10,De),g(11,Wr)],hs)});function tp(i){return Object.isFrozen(i)?i:iP(i)}function gs(i,r){let{added:e,removed:t,updated:n}=e_(r?.rawConfiguration,i?.rawConfiguration),o=[],s=i?.getAllOverrideIdentifiers()||[],a=r?.getAllOverrideIdentifiers()||[];if(r){let l=a.filter(c=>!s.includes(c));for(let c of l)o.push([c,r.getKeysForOverrideIdentifier(c)])}if(i){let l=s.filter(c=>!a.includes(c));for(let c of l)o.push([c,i.getKeysForOverrideIdentifier(c)])}if(r&&i){for(let l of s)if(a.includes(l)){let c=e_({contents:i.getOverrideValue(void 0,l)||{},keys:i.getKeysForOverrideIdentifier(l)},{contents:r.getOverrideValue(void 0,l)||{},keys:r.getKeysForOverrideIdentifier(l)});o.push([l,[...c.added,...c.removed,...c.updated]])}}return{added:e,removed:t,updated:n,overrides:o}}function e_(i,r){let e=i?r?i.keys.filter(o=>r.keys.indexOf(o)===-1):[...i.keys]:[],t=r?i?r.keys.filter(o=>i.keys.indexOf(o)===-1):[...r.keys]:[],n=[];if(i&&r){for(let o of r.keys)if(i.keys.indexOf(o)!==-1){let s=gd(r.contents,o),a=gd(i.contents,o);fn(s,a)||n.push(o)}}return{added:e,removed:t,updated:n}}var Et,Kh,zh,WI,Rc,jh,UI=w(()=>{$t();J();ri();$();Ar();mn();Le();le();at();Ji();Ke();Yn();Et=class i{constructor(r,e,t,n,o){this._contents=r;this._keys=e;this._overrides=t;this._raw=n;this.logService=o;this.overrideConfigurations=new Map}static createEmptyModel(r){return new i({},[],[],void 0,r)}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let r=(Array.isArray(this._raw)?this._raw:[this._raw]).map(e=>{if(e instanceof i)return e;let t=new Kh("",this.logService);return t.parseRaw(e),t.configurationModel});this._rawConfiguration=r.reduce((e,t)=>t===e?t:e.merge(t),r[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(r=>r instanceof i)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(r){return r?gd(this.contents,r):this.contents}inspect(r,e){let t=this;return{get value(){return tp(t.rawConfiguration.getValue(r))},get override(){return e?tp(t.rawConfiguration.getOverrideValue(r,e)):void 0},get merged(){return tp(e?t.rawConfiguration.override(e).getValue(r):t.rawConfiguration.getValue(r))},get overrides(){let n=[];for(let{contents:o,identifiers:s,keys:a}of t.rawConfiguration.overrides){let l=new i(o,a,[],void 0,t.logService).getValue(r);l!==void 0&&n.push({identifiers:s,value:l})}return n.length?tp(n):void 0}}}getOverrideValue(r,e){let t=this.getContentsForOverrideIdentifer(e);return t?r?gd(t,r):t:void 0}getKeysForOverrideIdentifier(r){let e=[];for(let t of this.overrides)t.identifiers.includes(r)&&e.push(...t.keys);return Lr(e)}getAllOverrideIdentifiers(){let r=[];for(let e of this.overrides)r.push(...e.identifiers);return Lr(r)}override(r){let e=this.overrideConfigurations.get(r);return e||(e=this.createOverrideConfigurationModel(r),this.overrideConfigurations.set(r,e)),e}merge(...r){let e=nr(this.contents),t=nr(this.overrides),n=[...this.keys],o=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let s of r)if(o.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]=t.filter(c=>Po(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Lr(l.keys)):t.push(nr(a))}for(let a of s.keys)n.indexOf(a)===-1&&n.push(a)}return new i(e,n,t,!o.length||o.every(s=>s instanceof i)?void 0:o,this.logService)}createOverrideConfigurationModel(r){let e=this.getContentsForOverrideIdentifer(r);if(!e||typeof e!="object"||!Object.keys(e).length)return this;let t={};for(let n of Lr([...Object.keys(this.contents),...Object.keys(e)])){let o=this.contents[n],s=e[n];s&&(typeof o=="object"&&typeof s=="object"?(o=nr(o),this.mergeContents(o,s)):o=s),t[n]=o}return new i(t,this.keys,this.overrides,void 0,this.logService)}mergeContents(r,e){for(let t of Object.keys(e)){if(t in r&&ze(r[t])&&ze(e[t])){this.mergeContents(r[t],e[t]);continue}r[t]=nr(e[t])}}getContentsForOverrideIdentifer(r){let e=null,t=null,n=o=>{o&&(t?this.mergeContents(t,o):t=nr(o))};for(let o of this.overrides)o.identifiers.length===1&&o.identifiers[0]===r?e=o.contents:o.identifiers.includes(r)&&n(o.contents);return n(e),t}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(r,e){this.updateValue(r,e,!0)}setValue(r,e){this.updateValue(r,e,!1)}removeValue(r){let e=this.keys.indexOf(r);e!==-1&&(this.keys.splice(e,1),p1(this.contents,r),wi.test(r)&&this.overrides.splice(this.overrides.findIndex(t=>Po(t.identifiers,Ba(r))),1))}updateValue(r,e,t){if(uv(this.contents,r,e,n=>this.logService.error(n)),t=t||this.keys.indexOf(r)===-1,t&&this.keys.push(r),wi.test(r)){let n=this.contents[r],o=Ba(r),s={identifiers:o,keys:Object.keys(n),contents:rf(n,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>Po(l.identifiers,o));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},Kh=class{constructor(r,e){this._name=r;this.logService=e;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[];this._parseErrors=[]}get configurationModel(){return this._configurationModel||Et.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(r,e){if(!Ft(r)){let t=this.doParseContent(r);this.parseRaw(t,e)}}reparse(r){this._raw&&this.parseRaw(this._raw,r)}parseRaw(r,e){this._raw=r;let{contents:t,keys:n,overrides:o,restricted:s,hasExcludedProperties:a}=this.doParseRaw(r,e);this._configurationModel=new Et(t,n,o,a?[r]:void 0,this.logService),this._restrictedConfigurations=s||[]}doParseContent(r){let e={},t=null,n=[],o=[],s=[];function a(c){Array.isArray(n)?n.push(c):t!==null&&(n[t]=c)}let l={onObjectBegin:()=>{let c={};a(c),o.push(n),n=c,t=null},onObjectProperty:c=>{t=c},onObjectEnd:()=>{n=o.pop()},onArrayBegin:()=>{let c=[];a(c),o.push(n),n=c,t=null},onArrayEnd:()=>{n=o.pop()},onLiteralValue:a,onError:(c,d,u)=>{s.push({error:c,offset:d,length:u})}};if(r)try{wl(r,l),e=n[0]||{}}catch(c){this.logService.error(`Error while parsing settings file ${this._name}: ${c}`),this._parseErrors=[c]}return e}doParseRaw(r,e){let t=xt.as(ar.Configuration),n=t.getConfigurationProperties(),o=t.getExcludedConfigurationProperties(),s=this.filter(r,n,o,!0,e);r=s.raw;let a=rf(r,d=>this.logService.error(`Conflict in settings file ${this._name}: ${d}`)),l=Object.keys(r),c=this.toOverrides(r,d=>this.logService.error(`Conflict in settings file ${this._name}: ${d}`));return{contents:a,keys:l,overrides:c,restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(r,e,t,n,o){let s=!1;if(!o?.scopes&&!o?.skipRestricted&&!o?.skipUnregistered&&!o?.exclude?.length)return{raw:r,restricted:[],hasExcludedProperties:s};let a={},l=[];for(let c in r)if(wi.test(c)&&n){let d=this.filter(r[c],e,t,!1,o);a[c]=d.raw,s=s||d.hasExcludedProperties,l.push(...d.restricted)}else{let d=e[c];d?.restricted&&l.push(c),this.shouldInclude(c,d,t,o)?a[c]=r[c]:s=!0}return{raw:a,restricted:l,hasExcludedProperties:s}}shouldInclude(r,e,t,n){if(n.exclude?.includes(r))return!1;if(n.include?.includes(r))return!0;if(n.skipRestricted&&e?.restricted||n.skipUnregistered&&!e)return!1;let o=e??t[r],s=o?typeof o.scope<"u"?o.scope:4:void 0;return s===void 0||n.scopes===void 0?!0:n.scopes.includes(s)}toOverrides(r,e){let t=[];for(let n of Object.keys(r))if(wi.test(n)){let o={},s=r[n];for(let a in s)o[a]=s[a];t.push({identifiers:Ba(n),keys:Object.keys(o),contents:rf(o,e)})}return t}},zh=class extends _{constructor(e,t,n,o,s){super();this.userSettingsResource=e;this.parseOptions=t;this.fileService=o;this.logService=s;this._onDidChange=this._register(new S);this.onDidChange=this._onDidChange.event;this.parser=new Kh(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(n.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(x.any(x.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),x.filter(this.fileService.onDidRunOperation,a=>(a.isOperation(0)||a.isOperation(3)||a.isOperation(1)||a.isOperation(4))&&n.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 Et.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},WI=class{constructor(r,e,t,n,o,s,a,l,c,d,u,f,m){this.key=r;this.overrides=e;this._value=t;this.overrideIdentifiers=n;this.defaultConfiguration=o;this.policyConfiguration=s;this.applicationConfiguration=a;this.userConfiguration=l;this.localUserConfiguration=c;this.remoteUserConfiguration=d;this.workspaceConfiguration=u;this.folderConfigurationModel=f;this.memoryConfigurationModel=m}get value(){return tp(this._value)}toInspectValue(r){return r?.value!==void 0||r?.override!==void 0||r?.overrides!==void 0?r: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)}},Rc=class i{constructor(r,e,t,n,o,s,a,l,c,d){this._defaultConfiguration=r;this._policyConfiguration=e;this._applicationConfiguration=t;this._localUserConfiguration=n;this._remoteUserConfiguration=o;this._workspaceConfiguration=s;this._folderConfigurations=a;this._memoryConfiguration=l;this._memoryConfigurationByResource=c;this.logService=d;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new ht;this._userConfiguration=null}getValue(r,e,t){return this.getConsolidatedConfigurationModel(r,e,t).getValue(r)}updateValue(r,e,t={}){let n;t.resource?(n=this._memoryConfigurationByResource.get(t.resource),n||(n=Et.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(t.resource,n))):n=this._memoryConfiguration,e===void 0?n.removeValue(r):n.setValue(r,e),t.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(r,e,t){let n=this.getConsolidatedConfigurationModel(r,e,t),o=this.getFolderConfigurationModelForResource(e.resource,t),s=e.resource?this._memoryConfigurationByResource.get(e.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(let l of n.overrides)for(let c of l.identifiers)n.getOverrideValue(r,c)!==void 0&&a.add(c);return new WI(r,e,n.getValue(r),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,t?this._workspaceConfiguration:void 0,o||void 0,s)}keys(r){let e=this.getFolderConfigurationModelForResource(void 0,r);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(r){this._defaultConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updatePolicyConfiguration(r){this._policyConfiguration=r}updateApplicationConfiguration(r){this._applicationConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateLocalUserConfiguration(r){this._localUserConfiguration=r,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateRemoteUserConfiguration(r){this._remoteUserConfiguration=r,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateWorkspaceConfiguration(r){this._workspaceConfiguration=r,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateFolderConfiguration(r,e){this._folderConfigurations.set(r,e),this._foldersConsolidatedConfigurations.delete(r)}deleteFolderConfiguration(r){this.folderConfigurations.delete(r),this._foldersConsolidatedConfigurations.delete(r)}compareAndUpdateDefaultConfiguration(r,e){let t=[];if(!e){let{added:n,updated:o,removed:s}=gs(this._defaultConfiguration,r);e=[...n,...o,...s]}for(let n of e)for(let o of Ba(n)){let s=this._defaultConfiguration.getKeysForOverrideIdentifier(o),a=r.getKeysForOverrideIdentifier(o),l=[...a.filter(c=>s.indexOf(c)===-1),...s.filter(c=>a.indexOf(c)===-1),...s.filter(c=>!fn(this._defaultConfiguration.override(o).getValue(c),r.override(o).getValue(c)))];t.push([o,l])}return this.updateDefaultConfiguration(r),{keys:e,overrides:t}}compareAndUpdatePolicyConfiguration(r){let{added:e,updated:t,removed:n}=gs(this._policyConfiguration,r),o=[...e,...t,...n];return o.length&&this.updatePolicyConfiguration(r),{keys:o,overrides:[]}}compareAndUpdateApplicationConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=gs(this.applicationConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateApplicationConfiguration(r),{keys:s,overrides:o}}compareAndUpdateLocalUserConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=gs(this.localUserConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateLocalUserConfiguration(r),{keys:s,overrides:o}}compareAndUpdateRemoteUserConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=gs(this.remoteUserConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateRemoteUserConfiguration(r),{keys:s,overrides:o}}compareAndUpdateWorkspaceConfiguration(r){let{added:e,updated:t,removed:n,overrides:o}=gs(this.workspaceConfiguration,r),s=[...e,...t,...n];return s.length&&this.updateWorkspaceConfiguration(r),{keys:s,overrides:o}}compareAndUpdateFolderConfiguration(r,e){let t=this.folderConfigurations.get(r),{added:n,updated:o,removed:s,overrides:a}=gs(t,e),l=[...n,...o,...s];return(l.length||!t)&&this.updateFolderConfiguration(r,e),{keys:l,overrides:a}}compareAndDeleteFolderConfiguration(r){let e=this.folderConfigurations.get(r);if(!e)throw new Error("Unknown folder");this.deleteFolderConfiguration(r);let{added:t,updated:n,removed:o,overrides:s}=gs(e,void 0);return{keys:[...t,...n,...o],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 r=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new Et(r.contents,r.keys,r.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(r,e,t){let n=this.getConsolidatedConfigurationModelForResource(e,t);if(e.overrideIdentifier&&(n=n.override(e.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(r)!==void 0){n=n.merge();for(let o of this._policyConfiguration.keys)n.setValue(o,this._policyConfiguration.getValue(o))}return n}getConsolidatedConfigurationModelForResource({resource:r},e){let t=this.getWorkspaceConsolidatedConfiguration();if(e&&r){let n=e.getFolder(r);n&&(t=this.getFolderConsolidatedConfiguration(n.uri)||t);let o=this._memoryConfigurationByResource.get(r);o&&(t=t.merge(o))}return t}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(r){let e=this._foldersConsolidatedConfigurations.get(r);if(!e){let t=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(r);n?(e=t.merge(n),this._foldersConsolidatedConfigurations.set(r,e)):e=t}return e}getFolderConfigurationModelForResource(r,e){if(e&&r){let t=e.getFolder(r);if(t)return this._folderConfigurations.get(t.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((r,e)=>{let{contents:t,overrides:n,keys:o}=this._folderConfigurations.get(e);return r.push([e,{contents:t,overrides:n,keys:o}]),r},[])}}allKeys(){let r=new Set;return this._defaultConfiguration.keys.forEach(e=>r.add(e)),this.userConfiguration.keys.forEach(e=>r.add(e)),this._workspaceConfiguration.keys.forEach(e=>r.add(e)),this._folderConfigurations.forEach(e=>e.keys.forEach(t=>r.add(t))),[...r.values()]}allOverrideIdentifiers(){let r=new Set;return this._defaultConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this.userConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this._workspaceConfiguration.getAllOverrideIdentifiers().forEach(e=>r.add(e)),this._folderConfigurations.forEach(e=>e.getAllOverrideIdentifiers().forEach(t=>r.add(t))),[...r.values()]}getAllKeysForOverrideIdentifier(r){let e=new Set;return this._defaultConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this.userConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this._workspaceConfiguration.getKeysForOverrideIdentifier(r).forEach(t=>e.add(t)),this._folderConfigurations.forEach(t=>t.getKeysForOverrideIdentifier(r).forEach(n=>e.add(n))),[...e.values()]}static parse(r,e){let t=this.parseConfigurationModel(r.defaults,e),n=this.parseConfigurationModel(r.policy,e),o=this.parseConfigurationModel(r.application,e),s=this.parseConfigurationModel(r.userLocal,e),a=this.parseConfigurationModel(r.userRemote,e),l=this.parseConfigurationModel(r.workspace,e),c=r.folders.reduce((d,u)=>(d.set(E.revive(u[0]),this.parseConfigurationModel(u[1],e)),d),new ht);return new i(t,n,o,s,a,l,c,Et.createEmptyModel(e),new ht,e)}static parseConfigurationModel(r,e){return new Et(r.contents,r.keys,r.overrides,r.raw,e)}},jh=class{constructor(r,e,t,n,o){this.change=r;this.previous=e;this.currentConfiguraiton=t;this.currentWorkspace=n;this.logService=o;this._marker=`
`;this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=46;this.affectedKeys=new Set;this._previousConfiguration=void 0;for(let s of r.keys)this.affectedKeys.add(s);for(let[,s]of r.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=Rc.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(r,e){let t=this._marker+r,n=this._affectsConfigStr.indexOf(t);if(n<0)return!1;let o=n+t.length;if(o>=this._affectsConfigStr.length)return!1;let s=this._affectsConfigStr.charCodeAt(o);if(s!==this._markerCode1&&s!==this._markerCode2)return!1;if(e){let a=this.previousConfiguration?this.previousConfiguration.getValue(r,e,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(r,e,this.currentWorkspace);return!fn(a,l)}return!0}}});var Gh,Jh,Dc,t_=w(()=>{$t();J();$();mn();Le();UI();Ji();oe();oi();Yn();He();ri();Gh=class extends _{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new S);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=Et.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(xt.as(ar.Configuration).onDidUpdateConfiguration(({properties:e,defaultsOverrides:t})=>this.onDidUpdateConfiguration(Array.from(e),t))),this.configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}onDidUpdateConfiguration(e,t){this.updateConfigurationModel(e,xt.as(ar.Configuration).getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=Et.createEmptyModel(this.logService);let e=xt.as(ar.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){let n=this.getConfigurationDefaultOverrides();for(let o of e){let s=n[o],a=t[o];s!==void 0?this._configurationModel.setValue(o,s):a?this._configurationModel.setValue(o,nr(a.default)):this._configurationModel.removeValue(o)}}},Jh=class{constructor(){this.onDidChangeConfiguration=x.None;this.configurationModel=Et.createEmptyModel(new Mf)}async initialize(){return this.configurationModel}},Dc=class extends _{constructor(e,t,n){super();this.defaultConfiguration=e;this.policyService=t;this.logService=n;this._onDidChangeConfiguration=this._register(new S);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=Et.createEmptyModel(this.logService),this.configurationRegistry=xt.as(ar.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}async updatePolicyDefinitions(e){this.logService.trace("PolicyConfiguration#updatePolicyDefinitions",e);let t={},n=[],o=this.configurationRegistry.getConfigurationProperties(),s=this.configurationRegistry.getExcludedConfigurationProperties();for(let a of e){let l=o[a]??s[a];if(!l){n.push(a);continue}if(l.policy){if(l.type!=="string"&&l.type!=="number"&&l.type!=="array"&&l.type!=="object"&&l.type!=="boolean"){this.logService.warn(`Policy ${l.policy.name} has unsupported type ${l.type}`);continue}let{value:c}=l.policy;n.push(a),t[l.policy.name]={type:l.type==="number"?"number":l.type==="boolean"?"boolean":"string",value:c}}}return Fp(t)||await this.policyService.updatePolicyDefinitions(t),n}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let t=this.configurationRegistry.getPolicyConfigurations(),n=lt(e.map(o=>t.get(o)));this.update(n,!0)}update(e,t){this.logService.trace("PolicyConfiguration#update",e);let n=this.configurationRegistry.getConfigurationProperties(),o=this.configurationRegistry.getExcludedConfigurationProperties(),s=[],a=this._configurationModel.isEmpty();for(let l of e){let c=n[l]??o[l],d=c?.policy?.name;if(d){let u=this.policyService.getPolicyValue(d);if(Me(u)&&c.type!=="string")try{u=this.parse(u)}catch(f){this.logService.error(`Error parsing policy value ${d}:`,fr(f));continue}(a?u!==void 0:!fn(this._configurationModel.getValue(l),u))&&s.push([l,u])}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=Et.createEmptyModel(this.logService);for(let c of l.keys)this._configurationModel.setValue(c,l.getValue(c));for(let[c,d]of s)d===void 0?this._configurationModel.removeValue(c):this._configurationModel.setValue(c,d);t&&this._onDidChangeConfiguration.fire(this._configurationModel)}}parse(e){let t={},n=null,o=[],s=[],a=[];function l(d){if(Array.isArray(o))o.push(d);else if(n!==null){if(o[n]!==void 0)throw new Error(`Duplicate property found: ${n}`);o[n]=d}}if(e&&(wl(e,{onObjectBegin:()=>{let d={};l(d),s.push(o),o=d,n=null},onObjectProperty:d=>{n=d},onObjectEnd:()=>{o=s.pop()},onArrayBegin:()=>{let d=[];l(d),s.push(o),o=d,n=null},onArrayEnd:()=>{o=s.pop()},onLiteralValue:l,onError:(d,u,f)=>{a.push({error:d,offset:u,length:f})}}),t=o[0]||t),a.length>0)throw new Error(a.map(d=>fr(d.error)).join(`
`));return t}};Dc=T([g(1,Un),g(2,U)],Dc)});var Qh,NI,r_=w(()=>{$t();ve();it();J();ri();_y();$();Ar();mn();te();It();at();UI();Ji();t_();Ke();oi();Qh=class extends _{constructor(e,t,n,o){super();this.settingsResource=e;this.logService=o;this._onDidChangeConfiguration=this._register(new S);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this.defaultConfiguration=this._register(new Gh(o)),this.policyConfiguration=n instanceof Kl?new Jh:this._register(new Dc(this.defaultConfiguration,n,o)),this.userConfiguration=this._register(new zh(this.settingsResource,{},je,t,o)),this.configuration=new Rc(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,Et.createEmptyModel(o),Et.createEmptyModel(o),Et.createEmptyModel(o),Et.createEmptyModel(o),new ht,Et.createEmptyModel(o),new ht,o),this.configurationEditing=new NI(e,t,this),this.reloadConfigurationScheduler=this._register(new hr(()=>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,t,n]=await Promise.all([this.defaultConfiguration.initialize(),this.policyConfiguration.initialize(),this.userConfiguration.loadConfiguration()]);this.configuration=new Rc(e,t,Et.createEmptyModel(this.logService),n,Et.createEmptyModel(this.logService),Et.createEmptyModel(this.logService),new ht,Et.createEmptyModel(this.logService),new ht,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,t){let n=typeof e=="string"?e:void 0,o=tf(e)?e:tf(t)?t:{};return this.configuration.getValue(n,o,void 0)}async updateValue(e,t,n,o,s){let a=u1(n)?n:tf(n)?{resource:n.resource,overrideIdentifiers:n.overrideIdentifier?[n.overrideIdentifier]:void 0}:void 0,l=a?o:n;if(l!==void 0&&l!==3&&l!==2)throw new Error(`Unable to write ${e} to target ${l}.`);a?.overrideIdentifiers&&(a.overrideIdentifiers=Lr(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(fn(t,c.defaultValue)&&(t=void 0),a?.overrideIdentifiers?.length&&a.overrideIdentifiers.length>1){let u=a.overrideIdentifiers.sort(),f=this.configuration.localUserConfiguration.overrides.find(m=>Po([...m.identifiers].sort(),u));f&&(a.overrideIdentifiers=f.identifiers)}let d=a?.overrideIdentifiers?.length?[b1(a.overrideIdentifiers),e]:[e];await this.configurationEditing.write(d,t),await this.reloadConfiguration()}inspect(e,t={}){return this.configuration.inspect(e,t,void 0)}keys(){return this.configuration.keys(void 0)}async reloadConfiguration(){let e=await this.userConfiguration.loadConfiguration();this.onDidChangeUserConfiguration(e)}onDidChangeUserConfiguration(e){let t=this.configuration.toData(),n=this.configuration.compareAndUpdateLocalUserConfiguration(e);this.trigger(n,t,2)}onDidDefaultConfigurationChange(e,t){let n=this.configuration.toData(),o=this.configuration.compareAndUpdateDefaultConfiguration(e,t);this.trigger(o,n,7)}onDidPolicyConfigurationChange(e){let t=this.configuration.toData(),n=this.configuration.compareAndUpdatePolicyConfiguration(e);this.trigger(n,t,7)}trigger(e,t,n){let o=new jh(e,{data:t},this.configuration,void 0,this.logService);o.source=n,this._onDidChangeConfiguration.fire(o)}},NI=class{constructor(r,e,t){this.settingsResource=r;this.fileService=e;this.configurationService=t;this.queue=new Rn}write(r,e){return this.queue.queue(()=>this.doWriteConfiguration(r,e))}async doWriteConfiguration(r,e){let t;try{t=(await this.fileService.readFile(this.settingsResource)).value.toString()}catch(s){if(s.fileOperationResult===1)t="{}";else throw s}let n=[];if(Mn(t,n,{allowTrailingComma:!0,allowEmptyContent:!0}),n.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 o=this.getEdits(t,r,e);t=Cy(t,o),await this.fileService.writeFile(this.settingsResource,H.fromString(t))}getEdits(r,e,t){let{tabSize:n,insertSpaces:o,eol:s}=this.formattingOptions;if(!e.length){let a=JSON.stringify(t,null,o?" ".repeat(n):"	");return[{content:a,length:a.length,offset:0}]}return Ty(r,e,t,{tabSize:n,insertSpaces:o,eol:s})}get formattingOptions(){if(!this._formattingOptions){let r=Qt===3||Qt===2?`
`:`\r
`,e=this.configurationService.getValue("files.eol",{overrideIdentifier:"jsonc"});e&&typeof e=="string"&&e!=="auto"&&(r=e),this._formattingOptions={eol:r,insertSpaces:!!this.configurationService.getValue("editor.insertSpaces",{overrideIdentifier:"jsonc"}),tabSize:this.configurationService.getValue("editor.tabSize",{overrideIdentifier:"jsonc"})}}return this._formattingOptions}}});import*as i_ from"fs";import*as Bt from"os";async function BI(i,r){let e=`${i}::${r.join(":")}`,t=n_.get(e);if(t)return t;let n=[{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}],o=new Map,s=new Map,a=2e4;function l(d,u,f,m){let y=u.substring(d.length+1);return vt.withAsyncBody(async v=>{let b;m.readdirCount++;try{b=await Q.readdir(u,{withFileTypes:!0})}catch{v();return}if(m.count>=a){m.count+=b.length,m.maxReached=!0,v();return}let I=b.length;if(I===0){v();return}let C=b;m.count+b.length>a&&(m.maxReached=!0,I=a-m.count,C=b.slice(0,I)),m.count+=b.length;for(let R of C)if(R.isDirectory()){if(f.includes(R.name)||await l(d,B(u,R.name),f,m),--I===0){v();return}}else{let D=R.name.lastIndexOf(".");if(D>=0){let A=R.name.substring(D+1);A&&o.set(A,(o.get(A)??0)+1)}for(let A of n)A.relativePathPattern?.test(y)!==!1&&A.filePattern.test(R.name)&&s.set(A.tag,(s.get(A.tag)??0)+1);if(--I===0){v();return}}})}let c=vt.withAsyncBody(async d=>{let u={count:0,maxReached:!1,readdirCount:0},f=new ln(!0);await l(i,i,r,u);let m=await GM(i);d({configFiles:VI(s),fileTypes:VI(o),fileCount:u.count,maxFilesReached:u.maxReached,launchConfigFiles:m,totalScanTime:f.elapsed(),totalReaddirCount:u.readdirCount})});return n_.set(e,c),c}function VI(i){return Array.from(i.entries(),([r,e])=>({name:r,count:e})).sort((r,e)=>e.count-r.count)}function jM(){let i={os:`${Bt.type()} ${Bt.arch()} ${Bt.release()}`,memory:`${(Bt.totalmem()/xi.GB).toFixed(2)}GB (${(Bt.freemem()/xi.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(_u.value()*100)}%`},r=Bt.cpus();return r&&r.length>0&&(i.cpus=`${r[0].model} (${r.length} x ${r[0].speed})`),i}async function GM(i){try{let r=new Map,e=B(i,".vscode","launch.json"),t=await i_.promises.readFile(e),n=[],o=Mn(t.toString(),n);if(n.length)return console.log(`Unable to parse ${e}`),[];if(Jo(o)==="object"&&o.configurations)for(let s of o.configurations){let a=s.type;a&&(r.has(a)?r.set(a,r.get(a)+1):r.set(a,1))}return VI(r)}catch{return[]}}var n_,Lc,o_=w(()=>{ve();ri();qe();_e();te();xs();le();ku();Zt();Rw();pm();Ke();tr();rr();n_=new Map;Lc=class{constructor(r,e){this.telemetryService=r;this.productService=e}formatMachineInfo(r){let e=[];return e.push(`OS Version:       ${r.os}`),e.push(`CPUs:             ${r.cpus}`),e.push(`Memory (System):  ${r.memory}`),e.push(`VM:               ${r.vmHint}`),e.join(`
`)}formatEnvironment(r){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:       ${Bt.type()} ${Bt.arch()} ${Bt.release()}`);let t=Bt.cpus();return t&&t.length>0&&e.push(`CPUs:             ${t[0].model} (${t.length} x ${t[0].speed})`),e.push(`Memory (System):  ${(Bt.totalmem()/xi.GB).toFixed(2)}GB (${(Bt.freemem()/xi.GB).toFixed(2)}GB free)`),W||e.push(`Load (avg):       ${Bt.loadavg().map(n=>Math.round(n)).join(", ")}`),e.push(`VM:               ${Math.round(_u.value()*100)}%`),e.push(`Screen Reader:    ${r.screenReader?"yes":"no"}`),e.push(`Process Argv:     ${r.mainArguments.join(" ")}`),e.push(`GPU Status:       ${this.expandGPUFeatures(r.gpuFeatureStatus)}`),r.gpuLogMessages&&r.gpuLogMessages.length>0&&(e.push("GPU Log Messages:"),r.gpuLogMessages.forEach(n=>{e.push(`${n.header}: ${n.message}`)})),e.join(`
`)}async getPerformanceInfo(r,e){return Promise.all([Vu(r.mainPID),this.formatWorkspaceMetadata(r)]).then(async t=>{let[n,o]=t,s=this.formatProcessList(r,n);return e.forEach(a=>{if(gu(a))s+=`
${a.errorMessage}`,o+=`
${a.errorMessage}`;else if(s+=`

Remote: ${a.hostName}`,a.processes&&(s+=`
${this.formatProcessList(r,a.processes)}`),a.workspaceMetadata){o+=`
|  Remote: ${a.hostName}`;for(let l of Object.keys(a.workspaceMetadata)){let c=a.workspaceMetadata[l],d=`${c.fileCount} files`;c.maxFilesReached&&(d=`more than ${d}`),o+=`|    Folder (${l}): ${d}`,o+=this.formatWorkspaceStats(c)}}}),{processInfo:s,workspaceInfo:o}})}async getSystemInfo(r,e){let{memory:t,vmHint:n,os:o,cpus:s}=jM(),a={os:o,memory:t,cpus:s,vmHint:n,processArgs:`${r.mainArguments.join(" ")}`,gpuStatus:r.gpuFeatureStatus,screenReader:`${r.screenReader?"yes":"no"}`,remoteData:e};return W||(a.load=`${Bt.loadavg().map(l=>Math.round(l)).join(", ")}`),ne&&(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(r,e){let t=[];return Vu(r.mainPID).then(async n=>(t.push(""),t.push(this.formatEnvironment(r)),t.push(""),t.push(this.formatProcessList(r,n)),r.windows.some(o=>o.folderURIs&&o.folderURIs.length>0&&!o.remoteAuthority)&&(t.push(""),t.push("Workspace Stats: "),t.push(await this.formatWorkspaceMetadata(r))),e.forEach(o=>{if(gu(o))t.push(`
${o.errorMessage}`);else if(t.push(`

`),t.push(`Remote:           ${o.hostName}`),t.push(this.formatMachineInfo(o.machineInfo)),o.processes&&t.push(this.formatProcessList(r,o.processes)),o.workspaceMetadata)for(let s of Object.keys(o.workspaceMetadata)){let a=o.workspaceMetadata[s],l=`${a.fileCount} files`;a.maxFilesReached&&(l=`more than ${l}`),t.push(`Folder (${s}): ${l}`),t.push(this.formatWorkspaceStats(a))}}),t.push(""),t.push(""),t.join(`
`)))}formatWorkspaceStats(r){let e=[],n=0,o=(c,d)=>{let u=` ${c}(${d})`;n+u.length>60?(e.push(s),s="|                 ",n=s.length):n+=u.length,s+=u},s="|      File types:",a=10,l=r.fileTypes.length>a?a:r.fileTypes.length;for(let c=0;c<l;c++){let d=r.fileTypes[c];o(d.name,d.count)}if(e.push(s),r.configFiles.length>=0&&(s="|      Conf files:",n=0,r.configFiles.forEach(c=>{o(c.name,c.count)}),e.push(s)),r.launchConfigFiles.length>0){let c="|      Launch Configs:";r.launchConfigFiles.forEach(d=>{let u=d.count>1?` ${d.name}(${d.count})`:` ${d.name}`;c+=u}),e.push(c)}return e.join(`
`)}expandGPUFeatures(r){let e=Math.max(...Object.keys(r).map(t=>t.length));return Object.keys(r).map(t=>`${t}:  ${" ".repeat(e-t.length)}  ${r[t]}`).join(`
                  `)}formatWorkspaceMetadata(r){let e=[],t=[];return r.windows.forEach(n=>{n.folderURIs.length===0||n.remoteAuthority||(e.push(`|  Window (${n.title})`),n.folderURIs.forEach(o=>{let s=E.revive(o);if(s.scheme===F.file){let a=s.fsPath;t.push(BI(a,["node_modules",".git"]).then(l=>{let c=`${l.fileCount} files`;l.maxFilesReached&&(c=`more than ${c}`),e.push(`|    Folder (${Pe(a)}): ${c}`),e.push(this.formatWorkspaceStats(l))}).catch(l=>{e.push(`|      Error: Unable to collect workspace stats for folder ${a} (${l.toString()})`)}))}else e.push(`|    Folder (${s.toString()}): Workspace stats not available.`)}))}),Promise.all(t).then(n=>e.join(`
`)).catch(n=>`Unable to collect workspace stats: ${n}`)}formatProcessList(r,e){let t=new Map;r.windows.forEach(o=>t.set(o.pid,`window [${o.id}] (${o.title})`)),r.pidToNames.forEach(({pid:o,name:s})=>t.set(o,s));let n=[];return n.push("CPU %	Mem MB	   PID	Process"),e&&this.formatProcessItem(r.mainPID,t,n,e,0),n.join(`
`)}formatProcessItem(r,e,t,n,o){let s=o===0,a;s?a=n.pid===r?this.productService.applicationName:"remote-server":e.has(n.pid)?a=e.get(n.pid):a=`${"  ".repeat(o)} ${n.name}`;let l=process.platform==="win32"?n.mem:Bt.totalmem()*(n.mem/100);t.push(`${n.load.toFixed(0).padStart(5," ")}	${(l/xi.MB).toFixed(0).padStart(6," ")}	${n.pid.toFixed(0).padStart(6," ")}	${a}`),Array.isArray(n.children)&&n.children.forEach(c=>this.formatProcessItem(r,e,t,c,o+1))}async getWorkspaceFileExtensions(r){let e=new Set;for(let{uri:t}of r.folders){let n=E.revive(t);if(n.scheme!==F.file)continue;let o=n.fsPath;try{(await BI(o,["node_modules",".git"])).fileTypes.forEach(a=>e.add(a.name))}catch{}}return{extensions:[...e]}}async reportWorkspaceStats(r){for(let{uri:e}of r.folders){let t=E.revive(e);if(t.scheme!==F.file)continue;let n=t.fsPath;try{let o=await BI(n,["node_modules",".git"]);this.telemetryService.publicLog2("workspace.stats",{"workspace.id":r.telemetryId,rendererSessionId:r.rendererSessionId}),o.fileTypes.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.file",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),o.launchConfigFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.launchConfigFile",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),o.configFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.configFiles",{rendererSessionId:r.rendererSessionId,type:s.name,count:s.count})}),this.telemetryService.publicLog2("workspace.stats.metadata",{duration:o.totalScanTime,reachedLimit:o.maxFilesReached,fileCount:o.fileCount,readdirCount:o.totalReaddirCount})}catch{}}}};Lc=T([g(0,Ge),g(1,De)],Lc)});import{writeFileSync as JM}from"fs";import{tmpdir as QM}from"os";function s_(i){let r=Ts(QM());try{return JM(r,""),i&&console.log(`Marker file for --wait created: ${r}`),r}catch(e){i&&console.error(`Failed to create marker file for --wait: ${e}`);return}}var a_=w(()=>{cn()});var vs,l_=w(()=>{$t();ve();it();wt();J();bi();Zc();$();Us();qe();di();It();ks();Te();Ke();Cw();oe();He();vs=class extends _{constructor(e){super();this.logService=e;this.BUFFER_SIZE=256*1024;this._onDidChangeFileSystemProviderRegistrations=this._register(new S);this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event;this._onWillActivateFileSystemProvider=this._register(new S);this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event;this._onDidChangeFileSystemProviderCapabilities=this._register(new S);this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event;this.provider=new Map;this._onDidRunOperation=this._register(new S);this.onDidRunOperation=this._onDidRunOperation.event;this.internalOnDidFilesChange=this._register(new S);this._onDidUncorrelatedFilesChange=this._register(new S);this.onDidFilesChange=this._onDidUncorrelatedFilesChange.event;this._onDidWatchError=this._register(new S);this.onDidWatchError=this._onDidWatchError.event;this.activeWatchers=new Map;this.writeQueue=this._register(new Oa)}registerProvider(e,t){if(this.provider.has(e))throw new Error(`A filesystem provider for the scheme '${e}' is already registered.`);Ne(`code/registerFilesystem/${e}`);let n=new ee;return this.provider.set(e,t),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:t}),n.add(t.onDidChangeFile(o=>{let s=new Ff(o,!this.isPathCaseSensitive(t));this.internalOnDidFilesChange.fire(s),s.hasCorrelation()||this._onDidUncorrelatedFilesChange.fire(s)})),typeof t.onDidWatchError=="function"&&n.add(t.onDidWatchError(o=>this._onDidWatchError.fire(new Error(o)))),n.add(t.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:t,scheme:e}))),G(()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:e,provider:t}),this.provider.delete(e),pt(n)})}getProvider(e){return this.provider.get(e)}async activateProvider(e){let t=[];this._onWillActivateFileSystemProvider.fire({scheme:e,join(n){t.push(n)}}),!this.provider.has(e)&&await vt.settled(t)}async canHandleResource(e){return await this.activateProvider(e.scheme),this.hasProvider(e)}hasProvider(e){return this.provider.has(e.scheme)}hasCapability(e,t){let n=this.provider.get(e.scheme);return!!(n&&n.capabilities&t)}listCapabilities(){return hi.map(this.provider,([e,t])=>({scheme:e,capabilities:t.capabilities}))}async withProvider(e){if(!VS(e))throw new zt(h(2147,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let t=this.provider.get(e.scheme);if(!t){let n=new sn;throw n.message=h(2149,null,e.toString()),n}return t}async withReadProvider(e){let t=await this.withProvider(e);if(ro(t)||bn(t)||Uf(t))return t;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 t=await this.withProvider(e);if(ro(t)||bn(t))return t;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,t){try{return await this.doResolveFile(e,t)}catch(n){throw eu(n)==="EntryNotFound"?new zt(h(2144,null,this.resourceForError(e)),1):no(n)}}async doResolveFile(e,t){let n=await this.withProvider(e),o=this.isPathCaseSensitive(n),s=t?.resolveTo,a=t?.resolveSingleChildDescendants,l=t?.resolveMetadata,c=await n.stat(e),d;return this.toFileStat(n,e,c,void 0,!!l,(u,f)=>(d||(d=jr.forUris(()=>!o),d.set(e,!0),s&&d.fill(!0,s)),d.get(u.resource)||d.findSuperstr(u.resource.with({query:null,fragment:null}))?!0:u.isDirectory&&a?f===1:!1))}async toFileStat(e,t,n,o,s,a){let{providerExtUri:l}=this.getExtUri(e),c={resource:t,name:l.basename(t),isFile:(n.type&1)!==0,isDirectory:(n.type&2)!==0,isSymbolicLink:(n.type&64)!==0,mtime:n.mtime,ctime:n.ctime,size:n.size,readonly:!!((n.permissions??0)&1)||!!(e.capabilities&2048),locked:!!((n.permissions??0)&2),executable:!!((n.permissions??0)&4),etag:Qv({mtime:n.mtime,size:n.size}),children:void 0};if(c.isDirectory&&a(c,o)){try{let d=await e.readdir(t),u=await vt.settled(d.map(async([f,m])=>{try{let y=l.joinPath(t,f),v=s?await e.stat(y):{type:m};return await this.toFileStat(e,y,v,d.length,s,a)}catch(y){return this.logService.trace(y),null}}));c.children=lt(u)}catch(d){this.logService.trace(d),c.children=[]}return c}return c}async resolveAll(e){return vt.settled(e.map(async t=>{try{return{stat:await this.doResolveFile(t.resource,t.options),success:!0}}catch(n){return this.logService.trace(n),{stat:void 0,success:!1}}}))}async stat(e){let t=await this.withProvider(e),n=await t.stat(e);return this.toFileStat(t,e,n,void 0,!0,()=>!1)}async realpath(e){let t=await this.withProvider(e);if(Cx(t)){let n=await t.realpath(e);return e.with({path:n})}}async exists(e){let t=await this.withProvider(e);try{return!!await t.stat(e)}catch{return!1}}async canCreateFile(e,t){try{await this.doValidateCreateFile(e,t)}catch(n){return n}return!0}async doValidateCreateFile(e,t){if(!t?.overwrite&&await this.exists(e))throw new zt(h(2140,null,this.resourceForError(e)),3,t)}async createFile(e,t=H.fromString(""),n){await this.doValidateCreateFile(e,n);let o=await this.writeFile(e,t);return this._onDidRunOperation.fire(new to(e,0,o)),o}async writeFile(e,t,n){let o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),{providerExtUri:s}=this.getExtUri(o),a=n;if(Jv(o)&&!a?.atomic){let l=o.enforceAtomicWriteFile?.(e);l&&(a={...n,atomic:l})}try{let{stat:l,buffer:c}=await this.validateWriteFile(o,e,t,a);l||await this.mkdirp(o,s.dirname(e)),c||(c=await this.peekBufferForWriting(o,t)),!ro(o)||bn(o)&&c instanceof H||bn(o)&&Jv(o)&&a?.atomic?await this.doWriteUnbuffered(o,e,a,c):await this.doWriteBuffered(o,e,a,c instanceof H?O1(c):c),this._onDidRunOperation.fire(new to(e,4))}catch(l){throw new zt(h(2139,null,this.resourceForError(e),no(l).toString()),Jr(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,t){let n;if(bn(e)&&!(t instanceof H))if(bd(t)){let o=await D1(t,3);o.ended?n=H.concat(o.buffer):n=o}else n=R1(t,o=>H.concat(o),3);else n=t;return n}async validateWriteFile(e,t,n,o){let s=!!o?.unlock;if(s&&!(e.capabilities&8192))throw new Error(h(2157,null,this.resourceForError(t)));if(o?.append&&!Tx(e))throw new zt(h(2136,null,this.resourceForError(t)),6);if(!!o?.atomic){if(!(e.capabilities&32768))throw new Error(h(2155,null,this.resourceForError(t)));if(!(e.capabilities&2))throw new Error(h(2156,null,this.resourceForError(t)));if(s)throw new Error(h(2154,null,this.resourceForError(t)))}let l;try{l=await e.stat(t)}catch{return Object.create(null)}if((l.type&2)!==0)throw new zt(h(2142,null,this.resourceForError(t)),0,o);this.throwIfFileIsReadonly(t,l);let c;if(typeof o?.mtime=="number"&&typeof o.etag=="string"&&o.etag!==Vf&&typeof l.mtime=="number"&&typeof l.size=="number"&&o.mtime<l.mtime&&o.etag!==Qv({mtime:o.mtime,size:l.size})){if(c=await this.peekBufferForWriting(e,n),c instanceof H&&c.byteLength===l.size)try{let{value:d}=await this.readFile(t,{limits:{size:l.size}});if(c.equals(d))return{stat:l,buffer:c}}catch{}throw new zt(h(2143,null),3,o)}return{stat:l,buffer:c}}async readFile(e,t,n){let o=await this.withReadProvider(e);return t?.atomic?this.doReadFileAtomic(o,e,t,n):this.doReadFile(o,e,t,n)}async doReadFileAtomic(e,t,n,o){return new Promise((s,a)=>{this.writeQueue.queueFor(t,async()=>{try{let l=await this.doReadFile(e,t,n,o);s(l)}catch(l){a(l)}},this.getExtUri(e).providerExtUri)})}async doReadFile(e,t,n,o){let s=await this.doReadFileStream(e,t,{...n,preferUnbuffered:!0},o);return{...s,value:await Rs(s.value)}}async readFileStream(e,t,n){let o=await this.withReadProvider(e);return this.doReadFileStream(o,e,t,n)}async doReadFileStream(e,t,n,o){let s=new $e(o),a=n;Nf(e)&&e.enforceAtomicReadFile?.(t)&&(a={...n,atomic:!0});let l=this.validateReadFile(t,a).then(d=>d,d=>{throw s.dispose(!0),d}),c;try{return typeof a?.etag=="string"&&a.etag!==Vf&&await l,a?.atomic&&Nf(e)||!(ro(e)||Uf(e))||bn(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,t,a):Uf(e)?c=this.readFileStreamed(e,t,s.token,a):c=this.readFileBuffered(e,t,s.token,a),c.on("end",()=>s.dispose()),c.on("error",()=>s.dispose()),{...await l,value:c}}catch(d){throw c&&await mf(c),this.restoreReadError(d,t,a)}}restoreReadError(e,t,n){let o=h(2137,null,this.resourceForError(t),no(e).toString());return e instanceof nl?new nl(o,e.stat,n):e instanceof rl?new rl(o,e.fileOperationResult,e.size,e.options):new zt(o,Jr(e),n)}readFileStreamed(e,t,n,o=Object.create(null)){let s=e.readFileStream(t,o,n);return Ha(s,{data:a=>a instanceof H?a:H.wrap(a),error:a=>this.restoreReadError(a,t,o)},a=>H.concat(a))}readFileBuffered(e,t,n,o=Object.create(null)){let s=U1();return zm(e,t,s,a=>a,{...o,bufferSize:this.BUFFER_SIZE,errorTransformer:a=>this.restoreReadError(a,t,o)},n),s}readFileUnbuffered(e,t,n){let o=Ao(s=>H.concat(s));return(async()=>{try{let s;n?.atomic&&Nf(e)?s=await e.readFile(t,{atomic:!0}):s=await e.readFile(t),typeof n?.position=="number"&&(s=s.slice(n.position)),typeof n?.length=="number"&&(s=s.slice(0,n.length)),this.validateReadFileLimits(t,s.byteLength,n),o.end(H.wrap(s))}catch(s){o.error(s),o.end()}})(),o}async validateReadFile(e,t){let n=await this.resolve(e,{resolveMetadata:!0});if(n.isDirectory)throw new zt(h(2141,null,this.resourceForError(e)),0,t);if(typeof t?.etag=="string"&&t.etag!==Vf&&t.etag===n.etag)throw new nl(h(2145,null),n,t);return this.validateReadFileLimits(e,n.size,t),n}validateReadFileLimits(e,t,n){if(typeof n?.limits?.size=="number"&&t>n.limits.size)throw new rl(h(2146,null,this.resourceForError(e)),7,t,n)}async canMove(e,t,n){return this.doCanMoveCopy(e,t,"move",n)}async canCopy(e,t,n){return this.doCanMoveCopy(e,t,"copy",n)}async doCanMoveCopy(e,t,n,o){if(e.toString()!==t.toString())try{let s=n==="move"?this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e):await this.withReadProvider(e),a=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t);await this.doValidateMoveCopy(s,e,a,t,n,o)}catch(s){return s}return!0}async move(e,t,n){let o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t),a=await this.doMoveCopy(o,e,s,t,"move",!!n),l=await this.resolve(t,{resolveMetadata:!0});return this._onDidRunOperation.fire(new to(e,a==="move"?2:3,l)),l}async copy(e,t,n){let o=await this.withReadProvider(e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t),a=await this.doMoveCopy(o,e,s,t,"copy",!!n),l=await this.resolve(t,{resolveMetadata:!0});return this._onDidRunOperation.fire(new to(e,a==="copy"?3:2,l)),l}async doMoveCopy(e,t,n,o,s,a){if(t.toString()===o.toString())return s;let{exists:l,isSameResourceWithDifferentPathCase:c}=await this.doValidateMoveCopy(e,t,n,o,s,a);if(l&&!c&&a&&await this.del(o,{recursive:!0}),await this.mkdirp(n,this.getExtUri(n).providerExtUri.dirname(o)),s==="copy"){if(e===n&&Zd(e))await e.copy(t,o,{overwrite:a});else{let d=await this.resolve(t);d.isDirectory?await this.doCopyFolder(e,d,n,o):await this.doCopyFile(e,t,n,o)}return s}else return e===n?(await e.rename(t,o,{overwrite:a}),s):(await this.doMoveCopy(e,t,n,o,"copy",a),await this.del(t,{recursive:!0}),"copy")}async doCopyFile(e,t,n,o){if(ro(e)&&ro(n))return this.doPipeBuffered(e,t,n,o);if(ro(e)&&bn(n))return this.doPipeBufferedToUnbuffered(e,t,n,o);if(bn(e)&&ro(n))return this.doPipeUnbufferedToBuffered(e,t,n,o);if(bn(e)&&bn(n))return this.doPipeUnbuffered(e,t,n,o)}async doCopyFolder(e,t,n,o){await n.mkdir(o),Array.isArray(t.children)&&await vt.settled(t.children.map(async s=>{let a=this.getExtUri(n).providerExtUri.joinPath(o,s.name);return s.isDirectory?this.doCopyFolder(e,await this.resolve(s.resource),n,a):this.doCopyFile(e,s.resource,n,a)}))}async doValidateMoveCopy(e,t,n,o,s,a){let l=!1;if(e===n){let{providerExtUri:d,isPathCaseSensitive:u}=this.getExtUri(e);if(u||(l=d.isEqual(t,o)),l&&s==="copy")throw new Error(h(2150,null,this.resourceForError(t),this.resourceForError(o)));if(!l&&d.isEqualOrParent(o,t))throw new Error(h(2151,null,this.resourceForError(t),this.resourceForError(o)))}let c=await this.exists(o);if(c&&!l){if(!a)throw new zt(h(2152,null,this.resourceForError(t),this.resourceForError(o)),4);if(e===n){let{providerExtUri:d}=this.getExtUri(e);if(d.isEqualOrParent(t,o))throw new Error(h(2153,null,this.resourceForError(t),this.resourceForError(o)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let t=this.isPathCaseSensitive(e);return{providerExtUri:t?Oe:Ma,isPathCaseSensitive:t}}isPathCaseSensitive(e){return!!(e.capabilities&1024)}async createFolder(e){let t=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e);await this.mkdirp(t,e);let n=await this.resolve(e,{resolveMetadata:!0});return this._onDidRunOperation.fire(new to(e,0,n)),n}async mkdirp(e,t){let n=[],{providerExtUri:o}=this.getExtUri(e);for(;!o.isEqual(t,o.dirname(t));)try{if(((await e.stat(t)).type&2)===0)throw new Error(h(2148,null,this.resourceForError(t)));break}catch(s){if(eu(s)!=="EntryNotFound")throw s;n.push(o.basename(t)),t=o.dirname(t)}for(let s=n.length-1;s>=0;s--){t=o.joinPath(t,n[s]);try{await e.mkdir(t)}catch(a){if(eu(a)!=="EntryExists")throw a}}}async canDelete(e,t){try{await this.doValidateDelete(e,t)}catch(n){return n}return!0}async doValidateDelete(e,t){let n=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e),o=!!t?.useTrash;if(o&&!(n.capabilities&4096))throw new Error(h(2135,null,this.resourceForError(e)));let s=t?.atomic;if(s&&!(n.capabilities&65536))throw new Error(h(2131,null,this.resourceForError(e)));if(o&&s)throw new Error(h(2134,null,this.resourceForError(e)));let a;try{a=await n.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new zt(h(2133,null,this.resourceForError(e)),1);if(!!!t?.recursive){let c=await this.resolve(e);if(c.isDirectory&&Array.isArray(c.children)&&c.children.length>0)throw new Error(h(2132,null,this.resourceForError(e)))}return n}async del(e,t){let n=await this.doValidateDelete(e,t),o=t;if(_x(n)&&!o?.atomic){let c=n.enforceAtomicDelete?.(e);c&&(o={...t,atomic:c})}let s=!!o?.useTrash,a=!!o?.recursive,l=o?.atomic??!1;await n.delete(e,{recursive:a,useTrash:s,atomic:l}),this._onDidRunOperation.fire(new to(e,1))}async cloneFile(e,t){let n=await this.withProvider(e),o=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(t),t);if(!(n===o&&this.getExtUri(n).providerExtUri.isEqual(e,t)))return n===o&&Wf(n)?n.cloneFile(e,t):(await this.mkdirp(o,this.getExtUri(o).providerExtUri.dirname(t)),n===o&&Zd(n)?this.writeQueue.queueFor(e,()=>n.copy(e,t,{overwrite:!0}),this.getExtUri(n).providerExtUri):this.writeQueue.queueFor(e,()=>this.doCopyFile(n,e,o,t),this.getExtUri(n).providerExtUri))}static{this.WATCHER_CORRELATION_IDS=0}createWatcher(e,t){return this.watch(e,{...t,correlationId:vs.WATCHER_CORRELATION_IDS++})}watch(e,t={recursive:!1,excludes:[]}){let n=new ee,o=!1,s=()=>{o=!0};n.add(G(()=>s())),(async()=>{try{let l=await this.doWatch(e,t);o?pt(l):s=()=>pt(l)}catch(l){this.logService.error(l)}})();let a=t.correlationId;if(typeof a=="number"){let l=n.add(new S);return n.add(this.internalOnDidFilesChange.event(d=>{d.correlates(a)&&l.fire(d)})),{onDidChange:l.event,dispose:()=>n.dispose()}}return n}async doWatch(e,t){let n=await this.withProvider(e),o=lr([this.getExtUri(n).providerExtUri.getComparisonKey(e),t]),s=this.activeWatchers.get(o);return s||(s={count:0,disposable:n.watch(e,t)},this.activeWatchers.set(o,s)),s.count+=1,G(()=>{s&&(s.count--,s.count===0&&(pt(s.disposable),this.activeWatchers.delete(o)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)pt(e.disposable);this.activeWatchers.clear()}async doWriteBuffered(e,t,n,o){return this.writeQueue.queueFor(t,async()=>{let s=await e.open(t,{create:!0,unlock:n?.unlock??!1,append:n?.append??!1});try{bd(o)||ff(o)?await this.doWriteStreamBufferedQueued(e,s,o):await this.doWriteReadableBufferedQueued(e,s,o)}catch(a){throw no(a)}finally{await e.close(s)}},this.getExtUri(e).providerExtUri)}async doWriteStreamBufferedQueued(e,t,n){let o=0,s;if(ff(n)){if(n.buffer.length>0){let a=H.concat(n.buffer);await this.doWriteBuffer(e,t,a,a.byteLength,o,0),o+=a.byteLength}if(n.ended)return;s=n.stream}else s=n;return new Promise((a,l)=>{Va(s,{onData:async c=>{s.pause();try{await this.doWriteBuffer(e,t,c,c.byteLength,o,0)}catch(d){return l(d)}o+=c.byteLength,setTimeout(()=>s.resume())},onError:c=>l(c),onEnd:()=>a()})})}async doWriteReadableBufferedQueued(e,t,n){let o=0,s;for(;(s=n.read())!==null;)await this.doWriteBuffer(e,t,s,s.byteLength,o,0),o+=s.byteLength}async doWriteBuffer(e,t,n,o,s,a){let l=0;for(;l<o;){let c=await e.write(t,s+l,n.buffer,a+l,o-l);l+=c}}async doWriteUnbuffered(e,t,n,o){return this.writeQueue.queueFor(t,()=>this.doWriteUnbufferedQueued(e,t,n,o),this.getExtUri(e).providerExtUri)}async doWriteUnbufferedQueued(e,t,n,o){let s;o instanceof H?s=o:bd(o)?s=await Rs(o):ff(o)?s=await F1(o):s=M1(o),await e.writeFile(t,s.buffer,{create:!0,overwrite:!0,unlock:n?.unlock??!1,atomic:n?.atomic??!1,append:n?.append??!1})}async doPipeBuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeBufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeBufferedQueued(e,t,n,o){let s,a;try{s=await e.open(t,{create:!1}),a=await n.open(o,{create:!0,unlock:!1});let l=H.alloc(this.BUFFER_SIZE),c=0,d=0,u=0;do u=await e.read(s,c,l.buffer,d,l.byteLength-d),await this.doWriteBuffer(n,a,l,u,c,d),c+=u,d+=u,d===l.byteLength&&(d=0);while(u>0)}catch(l){throw no(l)}finally{await vt.settled([typeof s=="number"?e.close(s):Promise.resolve(),typeof a=="number"?n.close(a):Promise.resolve()])}}async doPipeUnbuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeUnbufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeUnbufferedQueued(e,t,n,o){return n.writeFile(o,await e.readFile(t),{create:!0,overwrite:!0,unlock:!1,atomic:!1})}async doPipeUnbufferedToBuffered(e,t,n,o){return this.writeQueue.queueFor(o,()=>this.doPipeUnbufferedToBufferedQueued(e,t,n,o),this.getExtUri(n).providerExtUri)}async doPipeUnbufferedToBufferedQueued(e,t,n,o){let s=await n.open(o,{create:!0,unlock:!1});try{let a=await e.readFile(t);await this.doWriteBuffer(n,s,H.wrap(a),a.byteLength,0,0)}catch(a){throw no(a)}finally{await n.close(s)}}async doPipeBufferedToUnbuffered(e,t,n,o){let s=await Rs(this.readFileBuffered(e,t,Se.None));await this.doWriteUnbuffered(n,o,void 0,s)}throwIfFileSystemIsReadonly(e,t){if(e.capabilities&2048)throw new zt(h(2138,null,this.resourceForError(t)),6);return e}throwIfFileIsReadonly(e,t){if((t.permissions??0)&1)throw new zt(h(2138,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===F.file?e.fsPath:e.toString(!0)}};vs=T([g(0,U)],vs)});var HI,rp,c_=w(()=>{HI=class{constructor(r,e){this.key=r;this.data=e;this.incoming=new Map;this.outgoing=new Map}},rp=class{constructor(r){this._hashFn=r;this._nodes=new Map}roots(){let r=[];for(let e of this._nodes.values())e.outgoing.size===0&&r.push(e);return r}insertEdge(r,e){let t=this.lookupOrInsertNode(r),n=this.lookupOrInsertNode(e);t.outgoing.set(n.key,n),n.incoming.set(t.key,t)}removeNode(r){let e=this._hashFn(r);this._nodes.delete(e);for(let t of this._nodes.values())t.outgoing.delete(e),t.incoming.delete(e)}lookupOrInsertNode(r){let e=this._hashFn(r),t=this._nodes.get(e);return t||(t=new HI(e,r),this._nodes.set(e,t)),t}lookup(r){return this._nodes.get(this._hashFn(r))}isEmpty(){return this._nodes.size===0}toString(){let r=[];for(let[e,t]of this._nodes)r.push(`${e}
	(-> incoming)[${[...t.incoming.keys()].join(", ")}]
	(outgoing ->)[${[...t.outgoing.keys()].join(",")}]
`);return r.join(`
`)}findCycleSlow(){for(let[r,e]of this._nodes){let t=new Set([r]),n=this._findCycle(e,t);if(n)return n}}_findCycle(r,e){for(let[t,n]of r.outgoing){if(e.has(t))return[...e,t].join(" -> ");e.add(t);let o=this._findCycle(n,e);if(o)return o;e.delete(t)}}}});var XM,Xh,Yh,np,d_=w(()=>{ve();He();$();Bu();c_();re();ih();Ng();XM=!1,Xh=class extends Error{constructor(r){super("cyclic dependency between services"),this.message=r.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${r.toString()}`}},Yh=class i{constructor(r=new as,e=!1,t,n=XM){this._services=r;this._strict=e;this._parent=t;this._enableTracing=n;this._isDisposed=!1;this._servicesToMaybeDispose=new Set;this._children=new Set;this._activeInstantiations=new Set;this._services.set(Wt,this),this._globalGraph=n?t?._globalGraph??new rp(o=>o):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,pt(this._children),this._children.clear();for(let r of this._servicesToMaybeDispose)Wp(r)&&r.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(r,e){this._throwIfDisposed();let t=this,n=new class extends i{dispose(){t._children.delete(n),super.dispose()}}(r,this._strict,this,this._enableTracing);return this._children.add(n),e?.add(n),n}invokeFunction(r,...e){this._throwIfDisposed();let t=np.traceInvocation(this._enableTracing,r),n=!1;try{return r({get:s=>{if(n)throw Dp("service accessor is only valid during the invocation of its target method");let a=this._getOrCreateServiceInstance(s,t);return a||this._throwIfStrict(`[invokeFunction] unknown service '${s}'`,!1),a}},...e)}finally{n=!0,t.stop()}}createInstance(r,...e){this._throwIfDisposed();let t,n;return r instanceof ge?(t=np.traceCreation(this._enableTracing,r.ctor),n=this._createInstance(r.ctor,r.staticArguments.concat(e),t)):(t=np.traceCreation(this._enableTracing,r),n=this._createInstance(r,e,t)),t.stop(),n}_createInstance(r,e=[],t){let n=Xn.getServiceDependencies(r).sort((a,l)=>a.index-l.index),o=[];for(let a of n){let l=this._getOrCreateServiceInstance(a.id,t);l||this._throwIfStrict(`[createInstance] ${r.name} depends on UNKNOWN service ${a.id}.`,!1),o.push(l)}let s=n.length>0?n[0].index:e.length;if(e.length!==s){console.trace(`[createInstance] First service dependency of ${r.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(r,e.concat(o))}_setCreatedServiceInstance(r,e){if(this._services.get(r)instanceof ge)this._services.set(r,e);else if(this._parent)this._parent._setCreatedServiceInstance(r,e);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(r){let e=this._services.get(r);return!e&&this._parent?this._parent._getServiceInstanceOrDescriptor(r):e}_getOrCreateServiceInstance(r,e){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(r));let t=this._getServiceInstanceOrDescriptor(r);return t instanceof ge?this._safeCreateAndCacheServiceInstance(r,t,e.branch(r,!0)):(e.branch(r,!1),t)}_safeCreateAndCacheServiceInstance(r,e,t){if(this._activeInstantiations.has(r))throw new Error(`illegal state - RECURSIVELY instantiating service '${r}'`);this._activeInstantiations.add(r);try{return this._createAndCacheServiceInstance(r,e,t)}finally{this._activeInstantiations.delete(r)}}_createAndCacheServiceInstance(r,e,t){let n=new rp(l=>l.id.toString()),o=0,s=[{id:r,desc:e,_trace:t}],a=new Set;for(;s.length;){let l=s.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),n.lookupOrInsertNode(l),o++>1e3)throw new Xh(n);for(let c of Xn.getServiceDependencies(l.desc.ctor)){let d=this._getServiceInstanceOrDescriptor(c.id);if(d||this._throwIfStrict(`[createInstance] ${r} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),d instanceof ge){let u={id:c.id,desc:d,_trace:l._trace.branch(c.id,!0)};n.insertEdge(l,u),s.push(u)}}}}for(;;){let l=n.roots();if(l.length===0){if(!n.isEmpty())throw new Xh(n);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof ge){let u=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,u)}n.removeNode(c)}}return this._getServiceInstanceOrDescriptor(r)}_createServiceInstanceWithOwner(r,e,t=[],n,o){if(this._services.get(r)instanceof ge)return this._createServiceInstance(r,e,t,n,o,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(r,e,t,n,o);throw new Error(`illegalState - creating UNKNOWN service instance ${e.name}`)}_createServiceInstance(r,e,t=[],n,o,s){if(n){let a=new i(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(r);let l=new Map,c=new Xp(()=>{let d=a._createInstance(e,t,o);for(let[u,f]of l){let m=d[u];if(typeof m=="function")for(let y of f)y.disposable=m.apply(d,y.listener)}return l.clear(),s.add(d),d});return new Proxy(Object.create(null),{get(d,u){if(!c.isInitialized&&typeof u=="string"&&(u.startsWith("onDid")||u.startsWith("onWill"))){let y=l.get(u);return y||(y=new Ca,l.set(u,y)),(b,I,C)=>{if(c.isInitialized)return c.value[u](b,I,C);{let R={listener:[b,I,C],disposable:void 0},D=y.push(R);return G(()=>{D(),R.disposable?.dispose()})}}}if(u in d)return d[u];let f=c.value,m=f[u];return typeof m!="function"||(m=m.bind(f),d[u]=m),m},set(d,u,f){return c.value[u]=f,!0},getPrototypeOf(d){return e.prototype}})}else{let a=this._createInstance(e,t,o);return s.add(a),a}}_throwIfStrict(r,e){if(e&&console.warn(r),this._strict)throw new Error(r)}},np=class i{constructor(r,e){this.type=r;this.name=e;this._start=Date.now();this._dep=[]}static{this.all=new Set}static{this._None=new class extends i{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(r,e){return r?new i(2,e.name||new Error().stack.split(`
`).slice(3,4).join(`
`)):i._None}static traceCreation(r,e){return r?new i(1,e.name):i._None}static{this._totals=0}branch(r,e){let t=new i(3,r.toString());return this._dep.push([r,e,t]),t}stop(){let r=Date.now()-this._start;i._totals+=r;let e=!1;function t(o,s){let a=[],l=new Array(o+1).join("	");for(let[c,d,u]of s._dep)if(d&&u){e=!0,a.push(`${l}CREATES -> ${c}`);let f=t(o+1,u);f&&a.push(f)}else a.push(`${l}uses -> ${c}`);return a.join(`
`)}let n=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${t(1,this)}`,`DONE, took ${r.toFixed(2)}ms (grand total ${i._totals.toFixed(2)}ms)`];(r>2||e)&&i.all.add(n.join(`
`))}}});var Zh,u_=w(()=>{$();oe();Zh=class extends Ws{constructor(e=Xd){super();this.buffer=[];this._logger=void 0;this._logLevelDisposable=this._register(new qt);this.setLevel(e)}set logger(e){this._logger=e,this.setLevel(e.getLevel()),this._logLevelDisposable.value=e.onDidChangeLogLevel(this.setLevel,this);for(let{level:t,message:n}of this.buffer)Yd(e,t,n);this.buffer=[]}log(e,t){this._logger?Yd(this._logger,e,t):this.getLevel()<=e&&this.buffer.push({level:e,message:t})}dispose(){this._logger?.dispose(),super.dispose()}flush(){this._logger?.flush()}}});import{session as YM}from"electron";var Ac,p_=w(()=>{$();qe();_e();te();Us();le();er();Dn();un();oe();ti();Ac=class extends _{constructor(e,t,n){super();this.environmentService=e;this.logService=n;this.validRoots=jr.forPaths(!ne);this.validExtensions=new Set([".svg",".png",".jpg",".jpeg",".gif",".bmp",".webp",".mp4",".otf",".ttf"]);this.addValidFileRoot(e.appRoot),this.addValidFileRoot(e.extensionsPath),this.addValidFileRoot(t.defaultProfile.globalStorageHome.with({scheme:F.file}).fsPath),this.addValidFileRoot(e.workspaceStorageHome.with({scheme:F.file}).fsPath),this.handleProtocols()}handleProtocols(){let{defaultSession:e}=YM;e.protocol.registerFileProtocol(F.vscodeFileResource,(t,n)=>this.handleResourceRequest(t,n)),e.protocol.interceptFileProtocol(F.file,(t,n)=>this.handleFileRequest(t,n)),this._register(G(()=>{e.protocol.unregisterProtocol(F.vscodeFileResource),e.protocol.uninterceptProtocol(F.file)}))}addValidFileRoot(e){let t=Ct(e);return this.validRoots.get(t)?_.None:(this.validRoots.set(t,!0),G(()=>this.validRoots.delete(t)))}handleFileRequest(e,t){let n=E.parse(e.url);return this.logService.error(`Refused to load resource ${n.fsPath} from ${F.file}: protocol (original URL: ${e.url})`),t({error:-3})}handleResourceRequest(e,t){let n=this.requestToNormalizedFilePath(e),o=Pe(n),s;return this.environmentService.crossOriginIsolated&&(o==="workbench.html"||o==="workbench-dev.html"?s=Aa.CoopAndCoep:s=Aa.getHeadersFromQuery(e.url)),this.environmentService.isBuilt||(s={...s,...FS}),(o==="workbench.html"||o==="workbench-dev.html")&&(s={...s,...WS}),this.validRoots.findSubstr(n)?t({path:n,headers:s}):this.validExtensions.has(ya(n).toLowerCase())?t({path:n,headers:s}):(this.logService.error(`${F.vscodeFileResource}: Refused to load resource ${n} from ${F.vscodeFileResource}: protocol (original URL: ${e.url})`),t({error:-3}))}requestToNormalizedFilePath(e){let t=E.parse(e.url),n=st.uriToFileUri(t);return Ct(n.fsPath)}createIPCObjectUrl(){let e,t=E.from({scheme:"vscode",path:ke()}),n=t.toString(),o=async()=>e;return et.handle(n,o),this.logService.trace(`IPC Object URL: Registered new channel ${n}.`),{resource:t,update:s=>e=s,dispose:()=>{this.logService.trace(`IPC Object URL: Removed channel ${n}.`),et.removeHandler(n)}}}};Ac=T([g(0,Or),g(1,_r),g(2,U)],Ac)});function m_(i){return!!i.forwardPort}function ZM(i){if(i.scheme!=="http"&&i.scheme!=="https")return;let r=/^(localhost|127\.0\.0\.1|0\.0\.0\.0):(\d+)$/.exec(i.authority);if(r)return{address:r[1],port:+r[2]}}function eg(i){return $I.indexOf(i)>=0}function Oc(i){return qI.indexOf(i)>=0}function h_(i,r,e,t){if(e===1)return!1;if(e===2&&Oc(r)){let n=/(\d+)\.(\d+)\.(\d+)/g.exec(t);if(n?.length===4&&parseInt(n[1])>=18)return!1}return i<1024}var f_,NPe,$I,qI,Mc,KI=w(()=>{J();$();te();le();at();re();oe();f_=M("tunnelService"),NPe=M("sharedTunnelsService");$I=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];qI=["0.0.0.0","0:0:0:0:0:0:0:0","::"];Mc=class extends _{constructor(e,t){super();this.logService=e;this.configurationService=t;this._onTunnelOpened=this._register(new S);this.onTunnelOpened=this._onTunnelOpened.event;this._onTunnelClosed=this._register(new S);this.onTunnelClosed=this._onTunnelClosed.event;this._onAddedTunnelProvider=this._register(new S);this.onAddedTunnelProvider=this._onAddedTunnelProvider.event;this._tunnels=new Map;this._canElevate=!1;this._canChangeProtocol=!0;this._privacyOptions=[];this._factoryInProgress=new Set}get hasTunnelProvider(){return!!this._tunnelProvider}get defaultTunnelHost(){let e=this.configurationService.getValue("remote.localPortHost");return!e||e==="localhost"?"127.0.0.1":"0.0.0.0"}setTunnelProvider(e){return this._tunnelProvider=e,e?(this._onAddedTunnelProvider.fire(),{dispose:()=>{this._tunnelProvider=void 0,this._canElevate=!1,this._privacyOptions=[]}}):(this._canElevate=!1,this._privacyOptions=[],this._onAddedTunnelProvider.fire(),{dispose:()=>{}})}setTunnelFeatures(e){this._canElevate=e.elevation,this._privacyOptions=e.privacyOptions,this._canChangeProtocol=e.protocol}get canChangeProtocol(){return this._canChangeProtocol}get canElevate(){return this._canElevate}get canChangePrivacy(){return this._privacyOptions.length>0}get privacyOptions(){return this._privacyOptions}get tunnels(){return this.getTunnels()}async getTunnels(){let e=[],t=Array.from(this._tunnels.values());for(let n of t){let o=Array.from(n.values());for(let s of o){let a=await s.value;a&&typeof a!="string"&&e.push(a)}}return e}async dispose(){super.dispose();for(let e of this._tunnels.values()){for(let{value:t}of e.values())await t.then(n=>typeof n!="string"?n?.dispose():void 0);e.clear()}this._tunnels.clear()}setEnvironmentTunnel(e,t,n,o,s){this.addTunnelToMap(e,t,Promise.resolve({tunnelRemoteHost:e,tunnelRemotePort:t,localAddress:n,privacy:o,protocol:s,dispose:()=>Promise.resolve()}))}async getExistingTunnel(e,t){(Oc(e)||eg(e))&&(e=$I[0]);let n=this.getTunnelFromMap(e,t);if(n)return++n.refcount,n.value}openTunnel(e,t,n,o,s,a=!1,l,c){this.logService.trace(`ForwardedPorts: (TunnelService) openTunnel request for ${t}:${n} on local port ${s}.`);let d=this._tunnelProvider??e;if(!d)return;if(t||(t="localhost"),o||(o=this.defaultTunnelHost),this._tunnelProvider&&this._factoryInProgress.has(n)){this.logService.debug("ForwardedPorts: (TunnelService) Another call to create a tunnel with the same address has occurred before the last one completed. This call will be ignored.");return}let u=this.retainOrCreateTunnel(d,t,n,o,s,a,l,c);return u?u.then(f=>{if(f){if(typeof f=="string")return this.logService.trace("ForwardedPorts: (TunnelService) The tunnel provider returned an error when creating the tunnel."),this.removeEmptyOrErrorTunnelFromMap(t,n),f}else{this.logService.trace("ForwardedPorts: (TunnelService) New tunnel is undefined."),this.removeEmptyOrErrorTunnelFromMap(t,n);return}this.logService.trace("ForwardedPorts: (TunnelService) New tunnel established.");let m=this.makeTunnel(f);return(f.tunnelRemoteHost!==t||f.tunnelRemotePort!==n)&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Host or port mismatch."),l&&f.privacy!==l&&this.logService.warn("ForwardedPorts: (TunnelService) Created tunnel does not match requirements of requested tunnel. Privacy mismatch."),this._onTunnelOpened.fire(m),m}):(this.logService.trace("ForwardedPorts: (TunnelService) Tunnel was not created."),u)}makeTunnel(e){return{tunnelRemotePort:e.tunnelRemotePort,tunnelRemoteHost:e.tunnelRemoteHost,tunnelLocalPort:e.tunnelLocalPort,localAddress:e.localAddress,privacy:e.privacy,protocol:e.protocol,dispose:async()=>{this.logService.trace(`ForwardedPorts: (TunnelService) dispose request for ${e.tunnelRemoteHost}:${e.tunnelRemotePort} `);let t=this._tunnels.get(e.tunnelRemoteHost);if(t){let n=t.get(e.tunnelRemotePort);n&&(n.refcount--,await this.tryDisposeTunnel(e.tunnelRemoteHost,e.tunnelRemotePort,n))}}}}async tryDisposeTunnel(e,t,n){if(n.refcount<=0){this.logService.trace(`ForwardedPorts: (TunnelService) Tunnel is being disposed ${e}:${t}.`);let o=n.value.then(async s=>{s&&typeof s!="string"&&(await s.dispose(!0),this._onTunnelClosed.fire({host:s.tunnelRemoteHost,port:s.tunnelRemotePort}))});return this._tunnels.has(e)&&this._tunnels.get(e).delete(t),o}}async closeTunnel(e,t){this.logService.trace(`ForwardedPorts: (TunnelService) close request for ${e}:${t} `);let n=this._tunnels.get(e);if(n&&n.has(t)){let o=n.get(t);o.refcount=0,await this.tryDisposeTunnel(e,t,o)}}addTunnelToMap(e,t,n){this._tunnels.has(e)||this._tunnels.set(e,new Map),this._tunnels.get(e).set(t,{refcount:1,value:n})}async removeEmptyOrErrorTunnelFromMap(e,t){let n=this._tunnels.get(e);if(n){let o=n.get(t),s=o?await o.value:void 0;(!s||typeof s=="string")&&n.delete(t),n.size===0&&this._tunnels.delete(e)}}getTunnelFromMap(e,t){let n=[e];eg(e)?(n.push(...$I),n.push(...qI)):Oc(e)&&n.push(...qI);let o=n.map(s=>this._tunnels.get(s));for(let s of o){let a=s?.get(t);if(a)return a}}canTunnel(e){return!!ZM(e)}createWithProvider(e,t,n,o,s,a,l){this.logService.trace(`ForwardedPorts: (TunnelService) Creating tunnel with provider ${t}:${n} on local port ${o}.`);let c=n;this._factoryInProgress.add(c);let d=o===void 0?n:o,u={elevationRequired:s?this.isPortPrivileged(d):!1},f={remoteAddress:{host:t,port:n},localAddressPort:o,privacy:a,public:a?a!=="private":void 0,protocol:l},m=e.forwardPort(f,u);return m?(this.addTunnelToMap(t,n,m),m.finally(()=>{this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created by provider."),this._factoryInProgress.delete(c)})):this._factoryInProgress.delete(c),m}};Mc=T([g(0,U),g(1,he)],Mc)});var qPe,Fc,g_=w(()=>{He();re();qPe=M("remoteAuthorityResolverService"),Fc=class i extends sn{static isNotAvailable(r){return r instanceof i&&r._code==="NotAvailable"}static isTemporarilyNotAvailable(r){return r instanceof i&&r._code==="TemporarilyNotAvailable"}static isNoResolverFound(r){return r instanceof i&&r._code==="NoResolverFound"}static isInvalidAuthority(r){return r instanceof i&&r._code==="InvalidAuthority"}static isHandled(r){return r instanceof i&&r.isHandled}constructor(r,e="Unknown",t){super(r),this._message=r,this._code=e,this._detail=t,this.isHandled=e==="NotAvailable"&&t===!0,Object.setPrototypeOf(this,i.prototype)}}});function jI(i){switch(i){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function y_(i){let r=new $e;return setTimeout(()=>r.cancel(),i),r.token}function tO(i,r){if(i.isCancellationRequested||r.isCancellationRequested)return Se.Cancelled;let e=new $e;return i.onCancellationRequested(()=>e.cancel()),r.onCancellationRequested(()=>e.cancel()),e.token}function rO(i,r){let e=new op(r);return e.registerDisposable(i.onControlMessage(t=>{let n=JSON.parse(t.toString()),o=aO(n);o?e.reject(o):e.resolve(n)})),e.promise}function nO(i,r,e,t,n,o,s,a){let l=new op(a),c=ln.create(!1);return i.info(`Creating a socket (${s})...`),Ne(`code/willCreateSocket/${o}`),r.connect(e,t,n,s).then(d=>{l.didTimeout?(Ne(`code/didCreateSocketError/${o}`),i.info(`Creating a socket (${s}) finished after ${c.elapsed()} ms, but this is too late and has timed out already.`),d?.dispose()):(Ne(`code/didCreateSocketOK/${o}`),i.info(`Creating a socket (${s}) was successful after ${c.elapsed()} ms.`),l.resolve(d))},d=>{Ne(`code/didCreateSocketError/${o}`),i.info(`Creating a socket (${s}) returned an error after ${c.elapsed()} ms.`),i.error(d),l.reject(d)}),l.promise}function zI(i,r){let e=new op(r);return i.then(t=>{e.didTimeout||e.resolve(t)},t=>{e.didTimeout||e.reject(t)}),e.promise}async function iO(i,r,e,t){let n=S_(i,r);i.logService.trace(`${n} 1/6. invoking socketFactory.connect().`);let o;try{o=await nO(i.logService,i.remoteSocketFactoryService,i.connectTo,iv.getServerRootPath(),`reconnectionToken=${i.reconnectionToken}&reconnection=${i.reconnectionProtocol?"true":"false"}`,jI(r),`renderer-${jI(r)}-${i.reconnectionToken}`,t)}catch(d){throw i.logService.error(`${n} socketFactory.connect() failed or timed out. Error:`),i.logService.error(d),d}i.logService.trace(`${n} 2/6. socketFactory.connect() was successful.`);let s,a;i.reconnectionProtocol?(i.reconnectionProtocol.beginAcceptReconnection(o,null),s=i.reconnectionProtocol,a=!1):(s=new vf({socket:o}),a=!0),i.logService.trace(`${n} 3/6. sending AuthRequest control message.`);let l=await zI(i.signService.createNewMessage(ke()),t),c={type:"auth",auth:i.connectionToken||"00000000000000000000",data:l.data};s.sendControl(H.fromString(JSON.stringify(c)));try{let d=await rO(s,tO(t,y_(1e4)));if(d.type!=="sign"||typeof d.data!="string"){let y=new Error("Unexpected handshake message");throw y.code="VSCODE_CONNECTION_ERROR",y}if(i.logService.trace(`${n} 4/6. received SignRequest control message.`),!await zI(i.signService.validate(l,d.signedData),t)){let y=new Error("Refused to connect to unsupported server");throw y.code="VSCODE_CONNECTION_ERROR",y}let f=await zI(i.signService.sign(d.data),t),m={type:"connectionType",commit:i.commit,signedData:f,desiredConnectionType:r};return e&&(m.args=e),i.logService.trace(`${n} 5/6. sending ConnectionTypeRequest control message.`),s.sendControl(H.fromString(JSON.stringify(m))),{protocol:s,ownsProtocol:a}}catch(d){throw d&&d.code==="ETIMEDOUT"&&(i.logService.error(`${n} the handshake timed out. Error:`),i.logService.error(d)),d&&d.code==="VSCODE_CONNECTION_ERROR"&&(i.logService.error(`${n} received error control message when negotiating connection. Error:`),i.logService.error(d)),a&&b_(s),d}}async function oO(i,r,e){let t=Date.now(),n=S_(i,3),{protocol:o}=await iO(i,3,r,e);return i.logService.trace(`${n} 6/6. handshake finished, connection is up and running after ${uO(t)}!`),o}async function w_(i,r,e){let{connectTo:t,connectionToken:n}=await i.addressProvider.getAddress();return{commit:i.commit,quality:i.quality,connectTo:t,connectionToken:n,reconnectionToken:r,reconnectionProtocol:e,remoteSocketFactoryService:i.remoteSocketFactoryService,signService:i.signService,logService:i.logService}}async function I_(i,r,e){let t=await w_(i,ke(),null);return await oO(t,{host:r,port:e},Se.None)}function sO(i){return Qn(r=>new Promise((e,t)=>{let n=setTimeout(e,i*1e3);r.onCancellationRequested(()=>{clearTimeout(n),e()})}))}function b_(i){try{i.acceptDisconnect();let r=i.getSocket();i.dispose(),r.dispose()}catch(r){nt(r)}}function aO(i){if(i&&i.type==="error"){let r=new Error(`Connection error: ${i.reason}`);return r.code="VSCODE_CONNECTION_ERROR",r}return null}function lO(i,r){return typeof i!="number"||!isFinite(i)||i<0?r:i>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(i)}function cO(i,r){for(;i.length<r;)i+=" ";return i}function dO(i,r){return`[remote-connection][${cO(jI(i),13)}][${r.substr(0,5)}\u2026]`}function ip(i,r,e){return`${dO(i,r)}[${e?"reconnect":"initial"}]`}function S_(i,r){return`${ip(r,i.reconnectionToken,!!i.reconnectionProtocol)}[${i.connectTo}]`}function uO(i){return`${Date.now()-i} ms`}var eO,op,GI,JI,QI,tg,XI,v_,x_=w(()=>{ve();it();wt();He();J();$();qe();di();xs();er();Cv();g_();eO=30*1e3;op=class{get didTimeout(){return this._state==="timedout"}constructor(r){this._state="pending",this._disposables=new ee,{promise:this.promise,resolve:this._resolvePromise,reject:this._rejectPromise}=jS(),r.isCancellationRequested?this._timeout():this._disposables.add(r.onCancellationRequested(()=>this._timeout()))}registerDisposable(r){this._state==="pending"?this._disposables.add(r):r.dispose()}_timeout(){this._state==="pending"&&(this._disposables.dispose(),this._state="timedout",this._rejectPromise(this._createTimeoutError()))}_createTimeoutError(){let r=new Error("Time limit reached");return r.code="ETIMEDOUT",r.syscall="connect",r}resolve(r){this._state==="pending"&&(this._disposables.dispose(),this._state="resolved",this._resolvePromise(r))}reject(r){this._state==="pending"&&(this._disposables.dispose(),this._state="rejected",this._rejectPromise(r))}};GI=class{constructor(r,e){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.type=0}},JI=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.durationSeconds=t;this.cancellableTimer=n;this.type=1}skipWait(){this.cancellableTimer.cancel()}},QI=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=2}},tg=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=4}},XI=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.handled=n;this.type=3}},v_=class i extends _{constructor(e,t,n,o,s){super();this._connectionType=e;this._options=t;this.reconnectionToken=n;this.protocol=o;this._reconnectionFailureIsFatal=s;this._onDidStateChange=this._register(new S);this.onDidStateChange=this._onDidStateChange.event;this._permanentFailure=!1;this._isReconnecting=!1;this._isDisposed=!1;this._reconnectionGraceTime=108e5;this._onDidStateChange.fire(new tg(this.reconnectionToken,0,0)),this._register(o.onSocketClose(a=>{let l=ip(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(o.onSocketTimeout(a=>{let l=ip(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${l} received socket timeout event (unacknowledgedMsgCount: ${a.unacknowledgedMsgCount}, timeSinceOldestUnacknowledgedMsg: ${a.timeSinceOldestUnacknowledgedMsg}, timeSinceLastReceivedSomeData: ${a.timeSinceLastReceivedSomeData}).`),this._beginReconnecting()})),i._instances.push(this),this._register(G(()=>{let a=i._instances.indexOf(this);a>=0&&i._instances.splice(a,1)})),this._isPermanentFailure&&this._gotoPermanentFailure(i._permanentFailureMillisSinceLastIncomingData,i._permanentFailureAttempt,i._permanentFailureHandled)}static triggerPermanentFailure(e,t,n){this._permanentFailure=!0,this._permanentFailureMillisSinceLastIncomingData=e,this._permanentFailureAttempt=t,this._permanentFailureHandled=n,this._instances.forEach(o=>o._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||i._permanentFailure}updateGraceTime(e){let t=lO(e,108e5),n=ip(this._connectionType,this.reconnectionToken,!1);this._options.logService.trace(`${n} Applying reconnection grace time: ${t}ms (${Math.floor(t/1e3)}s)`),this._reconnectionGraceTime=t}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=ip(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 GI(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData()));let t=[0,5,5,10,10,10,10,10,30],n=this._reconnectionGraceTime;if(this._options.logService.info(`${e} starting reconnection with grace time: ${n}ms (${Math.floor(n/1e3)}s)`),n<=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 o=Date.now(),s=-1;do{s++;let a=s<t.length?t[s]:t[t.length-1];try{if(a>0){let c=sO(a);this._onDidStateChange.fire(new JI(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 QI(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1)),this._options.logService.info(`${e} resolving connection...`);let l=await w_(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${l.connectTo}...`),await this._reconnect(l,y_(eO)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new tg(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()-o>=n){let c=Math.round(n/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(Fc.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(Xc(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 Fc){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,Fc.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,t,n){this._reconnectionFailureIsFatal?i.triggerPermanentFailure(e,t,n):this._gotoPermanentFailure(e,t,n)}_gotoPermanentFailure(e,t,n){this._onDidStateChange.fire(new XI(this.reconnectionToken,e,t,n)),b_(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var rg,P_=w(()=>{$();re();rg=M("remoteSocketFactoryService")});import*as E_ from"net";import*as T_ from"os";async function pO(i,r,e,t,n){let o;for(let s=3;s&&(o?.dispose(),o=await new YI(i,r,e,t,n).waitForReady(),!(n&&zy[n]||!zy[o.tunnelLocalPort]));s--);return o}var YI,sp,ua,ng,C_=w(()=>{Gy();Ad();ve();$();te();at();oe();tr();x_();P_();vh();KI();it();YI=class extends _{constructor(e,t,n,o,s){super();this.defaultTunnelHost=t;this.suggestedLocalPort=s;this.privacy="private";this._socketsDispose=new Map;this._options=e,this._server=E_.createServer(),this._barrier=new vi,this._listeningListener=()=>this._barrier.open(),this._server.on("listening",this._listeningListener),this._connectionListener=a=>this._onConnection(a),this._server.on("connection",this._connectionListener),this._errorListener=()=>{},this._server.on("error",this._errorListener),this.tunnelRemotePort=o,this.tunnelRemoteHost=n}async dispose(){super.dispose(),this._server.removeListener("listening",this._listeningListener),this._server.removeListener("connection",this._connectionListener),this._server.removeListener("error",this._errorListener),this._server.close(),Array.from(this._socketsDispose.values()).forEach(t=>{t()})}async waitForReady(){let e=this.suggestedLocalPort??this.tunnelRemotePort,t=Oc(this.defaultTunnelHost)?"0.0.0.0":"127.0.0.1",n=await jy(e,2,1e3,t),o=null;return this._server.listen(n,this.defaultTunnelHost),await this._barrier.wait(),o=this._server.address(),o||(n=0,this._server.listen(n,this.defaultTunnelHost),await this._barrier.wait(),o=this._server.address()),this.tunnelLocalPort=o.port,this.localAddress=`${this.tunnelRemoteHost==="127.0.0.1"?"127.0.0.1":"localhost"}:${o.port}`,this}async _onConnection(e){e.pause();let t=eg(this.tunnelRemoteHost)||Oc(this.tunnelRemoteHost)?"localhost":this.tunnelRemoteHost,n=await I_(this._options,t,this.tunnelRemotePort),o=n.getSocket(),s=n.readEntireBuffer();n.dispose(),s.byteLength>0&&e.write(s.buffer),e.on("end",()=>{e.localAddress&&this._socketsDispose.delete(e.localAddress),o.end()}),e.on("close",()=>o.end()),e.on("error",()=>{e.localAddress&&this._socketsDispose.delete(e.localAddress),o instanceof Yi?o.socket.destroy():o.end()}),o instanceof Yi?this._mirrorNodeSocket(e,o):this._mirrorGenericSocket(e,o),e.localAddress&&this._socketsDispose.set(e.localAddress,()=>{e.end(),o.end()})}_mirrorGenericSocket(e,t){t.onClose(()=>e.destroy()),t.onEnd(()=>e.end()),t.onData(n=>e.write(n.buffer)),e.on("data",n=>t.write(H.wrap(n))),e.resume()}_mirrorNodeSocket(e,t){let n=t.socket;n.on("end",()=>e.end()),n.on("close",()=>e.end()),n.on("error",()=>{e.destroy()}),n.pipe(e),e.pipe(n)}},sp=class extends Mc{constructor(e,t,n,o,s){super(t,s);this.remoteSocketFactoryService=e;this.signService=n;this.productService=o}isPortPrivileged(e){return h_(e,this.defaultTunnelHost,Qt,T_.release())}retainOrCreateTunnel(e,t,n,o,s,a,l,c){let d=this.getTunnelFromMap(t,n);if(d)return++d.refcount,d.value;if(m_(e))return this.createWithProvider(e,t,n,s,a,l,c);{this.logService.trace(`ForwardedPorts: (TunnelService) Creating tunnel without provider ${t}:${n} on local port ${s}.`);let u={commit:this.productService.commit,quality:this.productService.quality,addressProvider:e,remoteSocketFactoryService:this.remoteSocketFactoryService,signService:this.signService,logService:this.logService,ipcLogger:null},f=pO(u,o,t,n,s);return this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created without provider."),this.addTunnelToMap(t,n,f),f}}};sp=T([g(0,rg),g(1,U),g(2,us),g(3,De),g(4,he)],sp);ua=class extends sp{constructor(r,e,t,n,o){super(r,e,t,n,o)}};ua=T([g(0,rg),g(1,U),g(2,us),g(3,De),g(4,he)],ua);ng=class extends _{constructor(e,t,n,o,s){super();this.remoteSocketFactoryService=e;this.logService=t;this.productService=n;this.signService=o;this.configurationService=s;this._tunnelServices=new Map}async openTunnel(e,t,n,o,s,a,l,c,d){if(this.logService.trace(`ForwardedPorts: (SharedTunnelService) openTunnel request for ${n}:${o} on local port ${a}.`),!this._tunnelServices.has(e)){let u=new ua(this.remoteSocketFactoryService,this.logService,this.signService,this.productService,this.configurationService);this._register(u),this._tunnelServices.set(e,u),u.onTunnelClosed(async()=>{(await u.tunnels).length===0&&(u.dispose(),this._tunnelServices.delete(e))})}return this._tunnelServices.get(e).openTunnel(t,n,o,s,a,l,c,d)}};ng=T([g(0,rg),g(1,U),g(2,De),g(3,us),g(4,he)],ng)});import{parse as __}from"url";function fO(i,r){return i.protocol==="http:"?r.HTTP_PROXY||r.http_proxy||null:i.protocol==="https:"&&(r.HTTPS_PROXY||r.https_proxy||r.HTTP_PROXY||r.http_proxy)||null}async function k_(i,r,e={}){let t=__(i),n=e.proxyUrl||fO(t,r);if(!n)return null;let o=__(n);if(!/^https?:$/.test(o.protocol||""))return null;let s={host:o.hostname||"",port:(o.port?+o.port:0)||(o.protocol==="https"?443:80),auth:o.auth,rejectUnauthorized:Op(e.strictSSL)?e.strictSSL:!0};if(t.protocol==="http:"){let{default:a}=await import("http-proxy-agent");return new a.HttpProxyAgent(n,s)}else{let{default:a}=await import("https-proxy-agent");return new a.HttpsProxyAgent(n,s)}}var R_=w(()=>{Le()});import{parse as D_}from"url";import{createGunzip as mO}from"zlib";function vO(i){if(i instanceof Error){let r=i.code;return!!r&&hO.has(r)}return!1}async function yO(i,r,e,t){let n=await import("kerberos"),o=n.default||n,s=new URL(i),a=r||(process.platform==="win32"?`HTTP/${s.hostname}`:`HTTP@${s.hostname}`);return e.debug(`${t} Kerberos authentication lookup`,`proxyURL:${s}`,`spn:${a}`),(await o.initializeClient(a)).step("")}async function wO(i){return(D_(i.url).protocol==="https:"?await import("https"):await import("http")).request}async function L_(i,r){let t,n=gO.test(i.type||"GET");for(let o=1;o<=3;o++)try{return await IO(i,r)}catch(s){if(t=s,s instanceof St||!n||!vO(s)||o===3)throw s;await ct(100*o,r)}throw t}async function IO(i,r){return vt.withAsyncBody(async(e,t)=>{let n=D_(i.url),o=i.getRawRequest?i.getRawRequest(i):await wO(i),s={hostname:n.hostname,port:n.port?parseInt(n.port):n.protocol==="https:"?443:80,protocol:n.protocol,path:n.path,method:i.type||"GET",headers:i.headers,agent:i.agent,rejectUnauthorized:Op(i.strictSSL)?i.strictSSL:!0};i.user&&i.password&&(s.auth=i.user+":"+i.password),i.disableCache&&(s.cache="no-store");let a=o(s,c=>{let d=zn(i.followRedirects)?i.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&d>0&&c.headers.location)L_({...i,url:c.headers.location,followRedirects:d-1},r).then(e,t);else{let u=c;!i.isChromiumNetwork&&c.headers["content-encoding"]==="gzip"&&(u=c.pipe(mO())),e({res:c,stream:W1(u)})}});if(a.on("error",t),i.timeout)if(i.isChromiumNetwork){let c=setTimeout(()=>{a.abort(),t(new Error(`Request timeout after ${i.timeout}ms`))},i.timeout);a.on("response",()=>clearTimeout(c)),a.on("error",()=>clearTimeout(c)),a.on("abort",()=>clearTimeout(c))}else a.setTimeout(i.timeout);i.isChromiumNetwork&&a.removeHeader("Content-Length"),i.data&&typeof i.data=="string"&&a.write(i.data),a.end();let l=r.onCancellationRequested(()=>{l.dispose(),a.abort(),t(new St)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var hO,gO,Wc,A_=w(()=>{ve();it();He();Le();at();un();Om();oe();rs();R_();hO=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),gO=/^(GET|HEAD|OPTIONS)$/i;Wc=class extends km{constructor(e,t,n,o){super(o);this.machine=e;this.configurationService=t;this.environmentService=n;this.configure(),this._register(t.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,t){let{proxyUrl:n,strictSSL:o}=this,s;try{s=await Ol(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",fr(c)))}let a={...process.env,...s},l=e.agent?e.agent:await k_(e.url||"",a,{proxyUrl:n,strictSSL:o});return e.agent=l,e.strictSSL=o,this.authorization&&(e.headers={...e.headers||{},"Proxy-Authorization":this.authorization}),this.logAndRequest(e,()=>L_(e,t))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let t=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await yO(e,t,this.logService,"RequestService#lookupKerberosAuthorization")}catch(t){this.logService.debug("RequestService#lookupKerberosAuthorization Kerberos authentication failed",t);return}}async loadCertificates(){return(await import("@vscode/proxy-agent")).loadSystemCertificates({loadSystemCertificatesFromNode:()=>this.getConfigValue("http.systemCertificatesNode",Zy),log:this.logService})}getConfigValue(e,t){if(this.machine==="remote")return this.configurationService.getValue(e);let n=this.configurationService.inspect(e);return n.userLocalValue??n.defaultValue??t}};Wc=T([g(1,he),g(2,Or),g(3,U)],Wc)});import{net as bO}from"electron";function SO(i){return bO.request}var Uc,M_=w(()=>{A_();at();un();oe();Uc=class extends Wc{constructor(r,e,t){super("local",r,e,t)}request(r,e){return super.request({...r||{},getRawRequest:SO,isChromiumNetwork:!0},e)}};Uc=T([g(0,he),g(1,Or),g(2,U)],Uc)});var ig,O_=w(()=>{ig=class i{constructor(){this.validators=new Map}static{this._nextId=1}async createNewMessage(r){try{let e=await this.getValidator();if(e){let t=String(i._nextId++);return this.validators.set(t,e),{id:t,data:e.createNewMessage(r)}}}catch{}return{id:"",data:r}}async validate(r,e){if(!r.id)return!0;let t=this.validators.get(r.id);if(!t)return!1;this.validators.delete(r.id);try{return t.validate(e)==="ok"}catch{return!1}finally{t.dispose?.()}}async sign(r){try{return await this.signValue(r)}catch{}return r}}});var og,F_=w(()=>{O_();og=class extends ig{getValidator(){return this.vsda().then(r=>new r.validator)}signValue(r){return this.vsda().then(e=>new e.signer().sign(r))}async vsda(){let r="vsda",{default:e}=await import(r);return e}}});var pa,W_=w(()=>{oi();ve();$();oe();pa=class extends na{constructor(e,t){super();this.logService=e;this.productName=t;this.throttler=this._register(new ad);this.watcher=this._register(new qt)}async _updatePolicyDefinitions(e){this.logService.trace(`NativePolicyService#_updatePolicyDefinitions - Found ${Object.keys(e).length} policy definitions`);let{createWatcher:t}=await import("@vscode/policy-watcher");await this.throttler.queue(()=>new Promise((n,o)=>{try{this.watcher.value=t(this.productName,e,s=>{this._onDidPolicyChange(s),n()})}catch(s){this.logService.error("NativePolicyService#_updatePolicyDefinitions - Error creating watcher:",s),o(s)}}))}_onDidPolicyChange(e){this.logService.trace(`NativePolicyService#_onDidPolicyChange - Updated policy values: ${JSON.stringify(e)}`);for(let t in e){let n=e[t];n===void 0?this.policies.delete(t):this.policies.set(t,n)}this._onDidChange.fire(Object.keys(e))}};pa=T([g(0,U)],pa)});function xO(i,r){let e=[];for(let t of new Set(hi.concat(i.keys(),r.keys())))i.get(t)!==r.get(t)&&e.push(t);return e}var fa,U_=w(()=>{ve();J();Zc();Le();Ke();oe();oi();fa=class extends na{constructor(e,t,n){super();this.file=e;this.fileService=t;this.logService=n;this.throttledDelayer=this._register(new Pr(500));let o=x.filter(t.onDidFilesChange,s=>s.affects(e));this._register(t.watch(e)),this._register(o(()=>this.throttledDelayer.trigger(()=>this.refresh())))}async _updatePolicyDefinitions(){await this.refresh()}async read(){let e=new Map;try{let t=await this.fileService.readFile(this.file),n=JSON.parse(t.value.toString());if(!ze(n))throw new Error("Policy file isn't a JSON object");for(let o of Object.keys(n))this.policyDefinitions[o]&&e.set(o,n[o])}catch(t){t.fileOperationResult!==1&&this.logService.error("[FilePolicyService] Failed to read policies",t)}return e}async refresh(){let e=await this.read(),t=xO(this.policies,e);this.policies=e,t.length>0&&this._onDidChange.fire(t)}};fa=T([g(1,Ae),g(2,U)],fa)});function N_(i,r,e){r instanceof ge||(r=new ge(r,[],!!e)),PO.push([i,r])}var PO,B_=w(()=>{Bu();PO=[]});var sg,ma,V_=w(()=>{ei();le();B_();Ke();It();J();$();$t();sg=class i{constructor(r){this.uri=r;this.time=i._clock++}static{this._clock=0}touch(){return this.time=i._clock++,this}},ma=class{constructor(r){this._fileService=r;this._dispooables=new ee;this._limit=2**16;let e=new Map,t=n=>{let o=e.get(n.scheme);return o===void 0&&(o=r.hasProvider(n)&&!this._fileService.hasCapability(n,1024),e.set(n.scheme,o)),o};this._dispooables.add(x.any(r.onDidChangeFileSystemProviderRegistrations,r.onDidChangeFileSystemProviderCapabilities)(n=>{if(e.get(n.scheme)===void 0)return;e.delete(n.scheme);let s=t(E.from({scheme:n.scheme}));if(s!==s)for(let[a,l]of this._canonicalUris.entries())l.uri.scheme===n.scheme&&this._canonicalUris.delete(a)})),this.extUri=new Cs(t),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(r){this._fileService.hasProvider(r)&&(r=zp(r));let e=this.extUri.getComparisonKey(r,!0),t=this._canonicalUris.get(e);return t?t.touch().uri.with({fragment:r.fragment}):(this._canonicalUris.set(e,new sg(r)),this._checkTrim(),r)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;sg._clock=1;let r=[...this._canonicalUris.values()].map(t=>t.time),e=Lp(Math.floor(r.length/2),r,(t,n)=>t-n);for(let[t,n]of this._canonicalUris.entries())n.time<=e?this._canonicalUris.delete(t):n.time=0}};ma=T([g(0,Ae)],ma);N_(_t,ma,1)});var ag,H_=w(()=>{$();oe();ag=class extends _{constructor(r,e=[]){super(),this.logger=new Af([r,...e]),this._register(r.onDidChangeLogLevel(t=>this.setLevel(t)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(r){this.logger.setLevel(r)}getLevel(){return this.logger.getLevel()}trace(r,...e){this.logger.trace(r,...e)}debug(r,...e){this.logger.debug(r,...e)}info(r,...e){this.logger.info(r,...e)}warn(r,...e){this.logger.warn(r,...e)}error(r,...e){this.logger.error(r,...e)}flush(){this.logger.flush()}}});var lg,$_=w(()=>{J();$();Ke();Us();Ar();lg=class extends _{constructor(e,t,n,o,s,a){super();this.fileSystemScheme=e;this.fileSystemProvider=t;this.userDataScheme=n;this.userDataProfilesService=o;this.uriIdentityService=s;this.logService=a;this.capabilities=this.fileSystemProvider.capabilities,this.onDidChangeCapabilities=this.fileSystemProvider.onDidChangeCapabilities,this._onDidChangeFile=this._register(new S),this.onDidChangeFile=this._onDidChangeFile.event,this.watchResources=jr.forUris(()=>!(this.capabilities&1024)),this.atomicReadWriteResources=new Sa(l=>this.uriIdentityService.extUri.getComparisonKey(this.toFileSystemResource(l))),this.updateAtomicReadWritesResources(),this._register(o.onDidChangeProfiles(()=>this.updateAtomicReadWritesResources())),this._register(this.fileSystemProvider.onDidChangeFile(l=>this.handleFileChanges(l)))}updateAtomicReadWritesResources(){this.atomicReadWriteResources.clear();for(let e of this.userDataProfilesService.profiles)this.atomicReadWriteResources.add(e.settingsResource),this.atomicReadWriteResources.add(e.keybindingsResource),this.atomicReadWriteResources.add(e.tasksResource),this.atomicReadWriteResources.add(e.extensionsResource)}open(e,t){return this.fileSystemProvider.open(this.toFileSystemResource(e),t)}close(e){return this.fileSystemProvider.close(e)}read(e,t,n,o,s){return this.fileSystemProvider.read(e,t,n,o,s)}write(e,t,n,o,s){return this.fileSystemProvider.write(e,t,n,o,s)}watch(e,t){this.watchResources.set(e,e);let n=this.fileSystemProvider.watch(this.toFileSystemResource(e),t);return G(()=>{this.watchResources.delete(e),n.dispose()})}stat(e){return this.fileSystemProvider.stat(this.toFileSystemResource(e))}mkdir(e){return this.fileSystemProvider.mkdir(this.toFileSystemResource(e))}rename(e,t,n){return this.fileSystemProvider.rename(this.toFileSystemResource(e),this.toFileSystemResource(t),n)}readFile(e,t){return this.fileSystemProvider.readFile(this.toFileSystemResource(e),t)}readFileStream(e,t,n){return this.fileSystemProvider.readFileStream(this.toFileSystemResource(e),t,n)}readdir(e){return this.fileSystemProvider.readdir(this.toFileSystemResource(e))}enforceAtomicReadFile(e){return this.atomicReadWriteResources.has(e)}writeFile(e,t,n){return this.fileSystemProvider.writeFile(this.toFileSystemResource(e),t,n)}enforceAtomicWriteFile(e){return this.atomicReadWriteResources.has(e)?{postfix:".vsctmp"}:!1}delete(e,t){return this.fileSystemProvider.delete(this.toFileSystemResource(e),t)}copy(e,t,n){if(Zd(this.fileSystemProvider))return this.fileSystemProvider.copy(this.toFileSystemResource(e),this.toFileSystemResource(t),n);throw new Error("copy not supported")}cloneFile(e,t){if(Wf(this.fileSystemProvider))return this.fileSystemProvider.cloneFile(this.toFileSystemResource(e),this.toFileSystemResource(t));throw new Error("clone not supported")}handleFileChanges(e){let t=[];for(let n of e){if(n.resource.scheme!==this.fileSystemScheme)continue;let o=this.toUserDataResource(n.resource);this.watchResources.findSubstr(o)&&t.push({resource:o,type:n.type,cId:n.cId})}t.length&&(this.logService.debug("User data changed"),this._onDidChangeFile.fire(t))}toFileSystemResource(e){return e.with({scheme:this.fileSystemScheme})}toUserDataResource(e){return e.with({scheme:this.userDataScheme})}}});var q_=w(()=>{});import Ur from"electron";var EO,TO,CO,_O,K_,z_,j_,G_,vn,Yr,J_=w(()=>{J();$();te();at();Sn();q_();$t();Dt();oe();EO="#FFFFFF",TO="#1F1F1F",CO="#000000",_O="#FFFFFF",K_="theme",z_="themeBackground",j_="windowSplash",G_="windowSplashWorkspaceOverride",vn=class{constructor(r,e){this.key=r;this.defaultValue=e}getValue(r){return r.getValue(this.key)??this.defaultValue}};(o=>(o.DETECT_COLOR_SCHEME=new o("window.autoDetectColorScheme",!1),o.DETECT_HC=new o("window.autoDetectHighContrast",!0),o.SYSTEM_COLOR_THEME=new o("window.systemColorTheme","default"),o.AUXILIARYBAR_DEFAULT_VISIBILITY=new o("workbench.secondarySideBar.defaultVisibility","visibleInWorkspace"),o.STARTUP_EDITOR=new o("workbench.startupEditor","welcomePage")))(vn||={});Yr=class extends _{constructor(e,t,n){super();this.stateService=e;this.configurationService=t;this.logService=n;this._onDidChangeColorScheme=this._register(new S);this.onDidChangeColorScheme=this._onDidChangeColorScheme.event;ne||this._register(this.configurationService.onDidChangeConfiguration(o=>{(o.affectsConfiguration(vn.SYSTEM_COLOR_THEME.key)||o.affectsConfiguration(vn.DETECT_COLOR_SCHEME.key))&&(this.updateSystemColorTheme(),this.logThemeSettings())})),this.updateSystemColorTheme(),this.logThemeSettings(),this._register(x.fromNodeEventEmitter(Ur.nativeTheme,"updated")(()=>{this.logThemeSettings(),this._onDidChangeColorScheme.fire(this.getColorScheme())}))}static{this.DEFAULT_BAR_WIDTH=300}static{this.WORKSPACE_OVERRIDE_LIMIT=50}logThemeSettings(){if(this.logService.getLevel()>=2){let e=n=>`${n.key}=${n.getValue(this.configurationService)}`;this.logService.debug(`[theme main service] ${e(vn.DETECT_COLOR_SCHEME)}, ${e(vn.DETECT_HC)}, ${e(vn.SYSTEM_COLOR_THEME)}`);let t=n=>`${String(n)}=${Ur.nativeTheme[n]}`;this.logService.debug(`[theme main service] electron.nativeTheme: ${t("themeSource")}, ${t("shouldUseDarkColors")}, ${t("shouldUseHighContrastColors")}, ${t("shouldUseInvertedColorScheme")}, ${t("shouldUseDarkColorsForSystemIntegratedUI")}	`),this.logService.debug(`[theme main service] New color scheme: ${JSON.stringify(this.getColorScheme())}`)}}updateSystemColorTheme(){if(ne||this.isAutoDetectColorScheme())Ur.nativeTheme.themeSource="system";else switch(vn.SYSTEM_COLOR_THEME.getValue(this.configurationService)){case"dark":Ur.nativeTheme.themeSource="dark";break;case"light":Ur.nativeTheme.themeSource="light";break;case"auto":switch(this.getPreferredBaseTheme()??this.getStoredBaseTheme()){case"vs":Ur.nativeTheme.themeSource="light";break;case"vs-dark":Ur.nativeTheme.themeSource="dark";break;default:Ur.nativeTheme.themeSource="system"}break;default:Ur.nativeTheme.themeSource="system";break}}getColorScheme(){if(W){if(Ur.nativeTheme.shouldUseHighContrastColors)return{dark:Ur.nativeTheme.shouldUseInvertedColorScheme,highContrast:!0}}else if(V){if(Ur.nativeTheme.shouldUseInvertedColorScheme||Ur.nativeTheme.shouldUseHighContrastColors)return{dark:Ur.nativeTheme.shouldUseDarkColors,highContrast:!0}}else if(ne&&Ur.nativeTheme.shouldUseHighContrastColors)return{dark:!0,highContrast:!0};return{dark:Ur.nativeTheme.shouldUseDarkColors,highContrast:!1}}getPreferredBaseTheme(){let e=this.getColorScheme();if(vn.DETECT_HC.getValue(this.configurationService)&&e.highContrast)return e.dark?"hc-black":"hc-light";if(this.isAutoDetectColorScheme())return e.dark?"vs-dark":"vs"}isAutoDetectColorScheme(){return!!vn.DETECT_COLOR_SCHEME.getValue(this.configurationService)}getBackgroundColor(){let e=this.getPreferredBaseTheme(),t=this.getStoredBaseTheme();if(e===void 0||e===t){let n=this.stateService.getItem(z_,null);if(n)return n}switch(e??t){case"vs":return EO;case"hc-black":return CO;case"hc-light":return _O;default:return TO}}getStoredBaseTheme(){switch(this.stateService.getItem(K_,"vs-dark").split(" ")[0]){case"vs":return"vs";case"hc-black":return"hc-black";case"hc-light":return"hc-light";default:return"vs-dark"}}saveWindowSplash(e,t,n){let o=this.updateWindowSplashOverride(t,n);this.stateService.setItems(lt([{key:K_,data:n.baseTheme},{key:z_,data:n.colorInfo.background},{key:j_,data:n},o?{key:G_,data:o}:void 0])),typeof e=="number"&&this.updateBackgroundColor(e,n),this.updateSystemColorTheme()}updateWindowSplashOverride(e,t){let n,o=!1;return e&&(n={...this.getWindowSplashOverride()},o=this.doUpdateWindowSplashOverride(e,t,n,"sideBar"),o=this.doUpdateWindowSplashOverride(e,t,n,"auxiliaryBar")||o),o?n:void 0}doUpdateWindowSplashOverride(e,t,n,o){let s=o==="sideBar"?t.layoutInfo?.sideBarWidth:t.layoutInfo?.auxiliaryBarWidth,a=o==="sideBar"?n.layoutInfo.sideBarWidth:n.layoutInfo.auxiliaryBarWidth,l=!1;if(typeof s!="number")return n.layoutInfo.workspaces[e.id]&&(delete n.layoutInfo.workspaces[e.id],l=!0),l;let c=n.layoutInfo.workspaces[e.id];if(!c){let d=Object.keys(n.layoutInfo.workspaces);d.length>=Yr.WORKSPACE_OVERRIDE_LIMIT&&(delete n.layoutInfo.workspaces[d[0]],l=!0),c={sideBarVisible:!1,auxiliaryBarVisible:!1},n.layoutInfo.workspaces[e.id]=c,l=!0}if(s>0)switch(a!==s&&(n.layoutInfo[o==="sideBar"?"sideBarWidth":"auxiliaryBarWidth"]=s,l=!0),o){case"sideBar":c.sideBarVisible||(c.sideBarVisible=!0,l=!0);break;case"auxiliaryBar":c.auxiliaryBarVisible||(c.auxiliaryBarVisible=!0,l=!0);break}else switch(o){case"sideBar":c.sideBarVisible&&(c.sideBarVisible=!1,l=!0);break;case"auxiliaryBar":c.auxiliaryBarVisible&&(c.auxiliaryBarVisible=!1,l=!0);break}return l}updateBackgroundColor(e,t){for(let n of _i())if(n.id===e){n.setBackgroundColor(t.colorInfo.background);break}}getWindowSplash(e){try{return this.doGetWindowSplash(e)}catch(t){this.logService.error("[theme main service] Failed to get window splash",t);return}}doGetWindowSplash(e){let t=this.stateService.getItem(j_);if(!t?.layoutInfo)return t;let n=this.getWindowSplashOverride(),o;e?n.layoutInfo.workspaces[e.id]?.sideBarVisible===!1?o=0:o=n.layoutInfo.sideBarWidth||t.layoutInfo.sideBarWidth||Yr.DEFAULT_BAR_WIDTH:o=0;let s=vn.AUXILIARYBAR_DEFAULT_VISIBILITY.getValue(this.configurationService),a=vn.STARTUP_EDITOR.getValue(this.configurationService),l;if(e){let c=n.layoutInfo.workspaces[e.id]?.auxiliaryBarVisible;c===!0?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Yr.DEFAULT_BAR_WIDTH:c===!1?l=0:a!=="agentSessionsWelcomePage"&&(s==="visible"||s==="visibleInWorkspace")?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Yr.DEFAULT_BAR_WIDTH:a!=="agentSessionsWelcomePage"&&(s==="maximized"||s==="maximizedInWorkspace")?l=Number.MAX_SAFE_INTEGER:l=0}else l=0;return{...t,layoutInfo:{...t.layoutInfo,sideBarWidth:o,auxiliaryBarWidth:l}}}getWindowSplashOverride(){let e=this.stateService.getItem(G_);return e?.layoutInfo||(e={layoutInfo:{sideBarWidth:Yr.DEFAULT_BAR_WIDTH,auxiliaryBarWidth:Yr.DEFAULT_BAR_WIDTH,workspaces:{}}}),e.layoutInfo.sideBarWidth||(e.layoutInfo.sideBarWidth=Yr.DEFAULT_BAR_WIDTH),e.layoutInfo.auxiliaryBarWidth||(e.layoutInfo.auxiliaryBarWidth=Yr.DEFAULT_BAR_WIDTH),e.layoutInfo.workspaces||(e.layoutInfo.workspaces={}),e}};Yr=T([g(0,kt),g(1,he),g(2,U)],Yr)});var AO={};import{app as kO,dialog as RO}from"electron";import{unlinkSync as DO,promises as Q_}from"fs";var ZI,LO,X_=w(()=>{x1();le();$t();ve();Lo();He();cn();J();Xi();qe();_e();di();te();$n();sr();Zt();Ii();Ad();ZC();Te();at();r_();o_();Rt();Al();a_();Ke();l_();eh();Bu();d_();ih();Pt();u_();oe();Na();tr();Th();p_();KI();C_();rs();M_();vh();F_();Sn();mo();sl();Go();oi();W_();U_();$();ei();V_();zl();H_();Sy();dy();$_();Wa();J_();hd();ZI=class{main(){try{this.startup()}catch(r){console.error(r.message),kO.exit(1)}}async startup(){Rp(c=>console.error(c));let[r,e,t,n,o,s,a,l]=this.createServices();try{try{await this.initServices(t,l,n,o,a)}catch(c){throw this.handleStartupDataDirError(t,a,c),c}await r.invokeFunction(async c=>{let d=c.get(U),u=c.get(ye),f=c.get(Ae),m=c.get(pn),y=await this.claimInstance(d,t,u,r,a,!0);if(Q.writeFile(t.mainLockfile,String(process.pid)).catch(b=>{d.warn(`app#startup(): Error writing main lockfile: ${b.stack}`)}),s.logger=m.createLogger("main",{name:h(164,null)}),x.once(u.onWillShutdown)(b=>{f.dispose(),n.dispose(),b.join("instanceLockfile",Q_.unlink(t.mainLockfile).catch(()=>{}))}),await this.checkInnoSetupMutex(a)){let b=`${a.nameShort} is currently being updated. Please wait for the update to complete before launching.`;r.invokeFunction(this.quit,new Error(b));return}return r.createInstance(hs,y,e).startup()})}catch(c){r.invokeFunction(this.quit,c)}}createServices(){let r=new as,e=new ee;process.once("exit",()=>e.dispose());let t={_serviceBrand:void 0,...gr};r.set(De,t);let n=new In(this.resolveArgs(),t),o=this.patchEnvironment(n);r.set(Ce,n);let s=new fh(Ex(n),n.logsHome);r.set(si,s);let a=new Zh(s.getLogLevel()),l=e.add(new ag(a,[new Lf(s.getLogLevel())]));r.set(U,l);let c=new vs(l);r.set(Ae,c);let d=new ss(l);c.registerProvider(F.file,d);let u=new ma(c);r.set(_t,u);let f=new dl(1,n,l,c);r.set(jf,f),r.set(kt,f);let m=new ul(f,u,n,c,l);r.set(Wr,m),c.registerProvider(F.vscodeUserData,new lg(F.file,d,F.vscodeUserData,m,u,l));let y;W&&t.win32RegValueName?y=e.add(new pa(l,t.win32RegValueName)):V&&t.darwinBundleIdentifier?y=e.add(new pa(l,t.darwinBundleIdentifier)):ne?y=e.add(new fa(E.file(d1),c,l)):n.policyFile?y=e.add(new fa(n.policyFile,c,l)):y=new Kl,r.set(Un,y);let v=new Qh(m.defaultProfile.settingsResource,c,y,l);return r.set(he,v),r.set(ye,new ge(ki,void 0,!1)),r.set(Fn,new ge(Uc,void 0,!0)),r.set(Ci,new ge(Yr)),r.set(us,new ge(og,void 0,!1)),r.set(f_,new ge(ua)),r.set(tc,new Ac(n,m,l)),[new Yh(r,!0),o,n,v,f,a,t,m]}patchEnvironment(r){let e={VSCODE_IPC_HOOK:r.mainIPCHandle};return["VSCODE_NLS_CONFIG","VSCODE_PORTABLE"].forEach(t=>{let n=process.env[t];typeof n=="string"&&(e[t]=n)}),Object.assign(process.env,e),e}async initServices(r,e,t,n,o){await vt.settled([Promise.all([this.allowWindowsUNCPath(r.extensionsPath),r.codeCachePath,r.logsHome.with({scheme:F.file}).fsPath,e.defaultProfile.globalStorageHome.with({scheme:F.file}).fsPath,r.workspaceStorageHome.with({scheme:F.file}).fsPath,r.localHistoryHome.with({scheme:F.file}).fsPath,r.backupHome].map(s=>s?Q_.mkdir(s,{recursive:!0}):void 0)),n.init(),t.initialize()]),e.init()}allowWindowsUNCPath(r){if(W){let e=ef(r);e&&Gi(e)}return r}async claimInstance(r,e,t,n,o,s){let a;try{Ne("code/willStartMainServer"),a=await Q1(e.mainIPCHandle),Ne("code/didStartMainServer"),x.once(t.onWillShutdown)(()=>a.dispose())}catch(l){if(l.code!=="EADDRINUSE")throw this.handleStartupDataDirError(e,o,l),l;let c;try{c=await X1(e.mainIPCHandle,"main")}catch(m){if(!s||W||m.code!=="ECONNREFUSED")throw m.code==="EPERM"&&this.showStartupWarningDialog(h(165,null,o.nameShort),h(166,null),o),m;try{DO(e.mainIPCHandle)}catch(y){throw r.warn("Could not delete obsolete instance handle",y),y}return this.claimInstance(r,e,t,n,o,!1)}if(e.extensionTestsLocationURI&&!e.debugExtensionHost.break){let m=`Running extension tests from the command line is currently only supported if no other instance of ${o.nameShort} is running.`;throw r.error(m),c.dispose(),new Error(m)}let d;!e.args.wait&&!e.args.status&&(d=setTimeout(()=>{this.showStartupWarningDialog(h(167,null,o.nameShort),h(168,null),o)},1e4));let u=Je.toService(c.getChannel("launch"),{disableMarshalling:!0}),f=Je.toService(c.getChannel("diagnostics"),{disableMarshalling:!0});if(e.args.status)return n.invokeFunction(async()=>{let m=new Lc(Ai,o),y=await f.getMainDiagnostics(),v=await f.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0}),b=await m.getDiagnostics(y,v);throw console.log(b),new wa});throw W&&await this.windowsAllowSetForegroundWindow(u,r),r.trace("Sending env to running instance..."),await u.start(e.args,process.env),c.dispose(),d&&clearTimeout(d),new wa("Sent env to running instance. Terminating...")}if(e.args.status)throw console.log(h(171,null,o.nameShort)),new wa("Terminating...");return process.env.VSCODE_PID=String(process.pid),a}handleStartupDataDirError(r,e,t){if(t.code==="EACCES"||t.code==="EPERM"){let n=lt([r.userDataPath,r.extensionsPath,yf]).map(o=>Qi(E.file(o),{os:Qt,tildify:r}));this.showStartupWarningDialog(h(169,null),h(170,null,Er(t),n.join(`
`)),e)}}showStartupWarningDialog(r,e,t){RO.showMessageBoxSync(vm({type:"warning",buttons:[h(163,null)],message:r,detail:e},t).options)}async windowsAllowSetForegroundWindow(r,e){if(W){let t=await r.getMainProcessId();e.trace("Sending some foreground love to the running instance:",t);try{(await import("windows-foreground-love")).allowSetForegroundWindow(t)}catch(n){e.error(n)}}}quit(r,e){let t=r.get(U),n=r.get(ye),o=0;e&&(e.isExpected?e.message&&t.trace(e.message):(o=1,e.stack?t.error(e.stack):t.error(`Startup error: ${e.toString()}`))),n.kill(o)}async checkInnoSetupMutex(r){if(!(W&&r.win32MutexName&&r.win32VersionedUpdate))return!1;try{let e=`${r.win32MutexName}-updating`;return(await import("@vscode/windows-mutex")).isActive(e)}catch(e){return console.error("Failed to check Inno Setup mutex:",e),!1}}resolveArgs(){let r=this.validatePaths(p0(process.argv));if(r.wait&&!r.waitMarkerFilePath){let e=s_(r.verbose);e&&(f0(process.argv,"--waitMarkerFilePath",e),r.waitMarkerFilePath=e)}return r.chat&&(r.chat["new-window"]?r["new-window"]=!0:r.chat["reuse-window"]?r["reuse-window"]=!0:r.chat.profile?r.profile=r.chat.profile:r._=[rn()]),r}validatePaths(r){if(r["open-url"]&&(r._urls=r._,r._=[]),!r.remote){let e=this.doValidatePaths(r._,r.goto);r._=e}return r}doValidatePaths(r,e){let t=rn(),n=r.map(a=>{let l=String(a),c;e&&(c=Da(l),l=c.path),l&&(l=this.preparePath(t,l));let d=$p(l,t),u=Pe(d);return u&&!kS(u)?null:e&&c?(c.path=d,this.toPath(c)):d}),o=W||V,s=Lr(n,a=>a&&o?a.toLowerCase():a||"");return lt(s)}preparePath(r,e){return W&&(e=Gn(e,'"')),e=zg(zg(e," "),"	"),W&&(e=$r(r,e),e=Gn(e,".")),e}toPath(r){let e=[r.path];return typeof r.line=="number"&&e.push(String(r.line)),typeof r.column=="number"&&e.push(String(r.column)),e.join(":")}},LO=new ZI;LO.main()});import*as Bn from"node:path";import*as Vn from"original-fs";import*as ek from"node:os";import{performance as MO}from"node:perf_hooks";import*as Sr from"node:path";import*as hg from"node:fs";import{createRequire as uk}from"node:module";var tF=uk(import.meta.url),rF=process.platform==="win32";Error.stackTraceLimit=100;if(!process.env.VSCODE_HANDLES_SIGPIPE){let i=!1;process.on("SIGPIPE",()=>{i||(i=!0,console.error(new Error("Unexpected SIGPIPE")))})}function pk(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir(Sr.dirname(process.execPath))}catch(i){console.error(i)}}pk();function ub(i){let r=Sr.dirname(import.meta.dirname);function e(){return process.env.VSCODE_DEV?r:process.platform==="darwin"?Sr.dirname(Sr.dirname(Sr.dirname(r))):process.platform==="win32"&&i.win32VersionedUpdate?Sr.dirname(Sr.dirname(Sr.dirname(r))):Sr.dirname(Sr.dirname(r))}function t(){if(process.env.VSCODE_PORTABLE)return process.env.VSCODE_PORTABLE;if(process.platform==="win32"||process.platform==="linux")return Sr.join(e(),"data");let l=i.portable||`${i.applicationName}-portable-data`;return Sr.join(Sr.dirname(e()),l)}let n=t(),o=!("target"in i)&&hg.existsSync(n),s=Sr.join(n,"tmp"),a=o&&hg.existsSync(s);return o?process.env.VSCODE_PORTABLE=n:delete process.env.VSCODE_PORTABLE,a&&(process.platform==="win32"?(process.env.TMP=s,process.env.TEMP=s):process.env.TMPDIR=s),{portableDataPath:n,isPortable:o}}import*as fp from"node:fs";import{register as gk}from"node:module";import{createRequire as fk}from"node:module";var Kc=fk(import.meta.url),ys={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};ys.BUILD_INSERT_PRODUCT_CONFIGURATION&&(ys=Kc("../product.json"));var zc={"name":"Code","version":"1.114.0","distro":"886aa843d329210629db2763724ed15e0cea613c","author":{"name":"Microsoft Corporation"},"license":"MIT","main":"./out/main.js","type":"module","private":true,"scripts":{"test":"echo Please run any of the test scripts from the scripts folder.","test-browser":"npx playwright install && node test/unit/browser/index.js","test-browser-no-install":"node test/unit/browser/index.js","test-node":"mocha test/unit/node/index.js --delay --ui=tdd --timeout=5000 --exit","test-extension":"vscode-test","test-build-scripts":"cd build && npm run test","check-cyclic-dependencies":"node build/lib/checkCyclicDependencies.ts out","preinstall":"node build/npm/preinstall.ts","postinstall":"node build/npm/postinstall.ts","compile":"npm run gulp compile","compile-check-ts-native":"tsgo --project ./src/tsconfig.json --noEmit --skipLibCheck","watch":"npm-run-all2 -lp watch-client-transpile watch-client watch-extensions","watchd":"deemon npm run watch","watch-webd":"deemon npm run watch-web","kill-watchd":"deemon --kill npm run watch","kill-watch-webd":"deemon --kill npm run watch-web","restart-watchd":"deemon --restart npm run watch","restart-watch-webd":"deemon --restart npm run watch-web","watch-client":"npm run gulp watch-client","watch-clientd":"deemon npm run watch-client","kill-watch-clientd":"deemon --kill npm run watch-client","transpile-client":"node build/next/index.ts transpile","watch-client-transpile":"node build/next/index.ts transpile --watch","watch-client-transpiled":"deemon npm run watch-client-transpile","kill-watch-client-transpiled":"deemon --kill npm run watch-client-transpile","watch-extensions":"npm run gulp watch-extensions watch-extension-media","watch-extensionsd":"deemon npm run watch-extensions","kill-watch-extensionsd":"deemon --kill npm run watch-extensions","precommit":"node --experimental-strip-types build/hygiene.ts","gulp":"node --max-old-space-size=8192 ./node_modules/gulp/bin/gulp.js","electron":"node build/lib/electron.ts","7z":"7z","update-grammars":"node build/npm/update-all-grammars.ts","update-localization-extension":"node build/npm/update-localization-extension.ts","mixin-telemetry-docs":"node build/npm/mixin-telemetry-docs.ts","smoketest":"node build/lib/preLaunch.ts && cd test/smoke && npm run compile && node test/index.js","smoketest-no-compile":"cd test/smoke && node test/index.js","download-builtin-extensions":"node build/lib/builtInExtensions.ts","download-builtin-extensions-cg":"node build/lib/builtInExtensionsCG.ts","monaco-compile-check":"tsgo --project src/tsconfig.monaco.json --noEmit","tsec-compile-check":"node node_modules/tsec/bin/tsec -p src/tsconfig.tsec.json","vscode-dts-compile-check":"tsgo --project src/tsconfig.vscode-dts.json && tsgo --project src/tsconfig.vscode-proposed-dts.json","valid-layers-check":"node build/checker/layersChecker.ts && tsgo --project build/checker/tsconfig.browser.json && tsgo --project build/checker/tsconfig.worker.json && tsgo --project build/checker/tsconfig.node.json && tsgo --project build/checker/tsconfig.electron-browser.json && tsgo --project build/checker/tsconfig.electron-main.json && tsgo --project build/checker/tsconfig.electron-utility.json","define-class-fields-check":"node build/lib/propertyInitOrderChecker.ts && tsgo --project src/tsconfig.defineClassFields.json","update-distro":"node build/npm/update-distro.ts","web":"echo 'npm run web' is replaced by './scripts/code-server' or './scripts/code-web'","compile-cli":"npm run gulp compile-cli","compile-web":"npm run gulp compile-web","watch-web":"npm run gulp watch-web","watch-cli":"npm run gulp watch-cli","eslint":"node build/eslint.ts","stylelint":"node build/stylelint.ts","playwright-install":"npm exec playwright install","compile-build":"npm run gulp compile-build-with-mangling","compile-extensions-build":"npm run gulp compile-extensions-build","minify-vscode":"npm run gulp minify-vscode","minify-vscode-reh":"npm run gulp minify-vscode-reh","minify-vscode-reh-web":"npm run gulp minify-vscode-reh-web","hygiene":"npm run gulp hygiene","core-ci":"npm run gulp core-ci","core-ci-pr":"npm run gulp core-ci-pr","extensions-ci":"npm run gulp extensions-ci","extensions-ci-pr":"npm run gulp extensions-ci-pr","perf":"node scripts/code-perf.js","update-build-ts-version":"npm install -D typescript@next && npm install -D @typescript/native-preview && (cd build && npm run typecheck)","install-local-component-explorer":"npm install ../vscode-packages/js-component-explorer/dist/vscode-component-explorer-0.1.0.tgz ../vscode-packages/js-component-explorer/dist/vscode-component-explorer-cli-0.1.0.tgz --no-save && cd build/vite && npm install ../../../vscode-packages/js-component-explorer/dist/vscode-component-explorer-vite-plugin-0.1.0.tgz --no-save","symlink-local-component-explorer":"npm install ../vscode-packages/js-component-explorer/packages/explorer ../vscode-packages/js-component-explorer/packages/cli --no-save && cd build/vite && npm install ../../../vscode-packages/js-component-explorer/packages/vite-plugin ../../../vscode-packages/js-component-explorer/packages/explorer --no-save","install-latest-component-explorer":"npm install @vscode/component-explorer@next @vscode/component-explorer-cli@next && cd build/vite && npm install @vscode/component-explorer-vite-plugin@next && npm install @vscode/component-explorer@next"},"dependencies":{"@anthropic-ai/sandbox-runtime":"0.0.42","@github/copilot":"^1.0.11","@github/copilot-sdk":"^0.2.0","@microsoft/1ds-core-js":"^3.2.13","@microsoft/1ds-post-js":"^3.2.13","@parcel/watcher":"^2.5.6","@types/semver":"^7.5.8","@vscode/codicons":"^0.0.46-1","@vscode/deviceid":"^0.1.1","@vscode/iconv-lite-umd":"0.7.1","@vscode/native-watchdog":"^1.4.6","@vscode/policy-watcher":"^1.3.2","@vscode/proxy-agent":"^0.40.0","@vscode/ripgrep":"^1.17.1","@vscode/spdlog":"^0.15.8","@vscode/sqlite3":"5.1.12-vscode","@vscode/sudo-prompt":"9.3.2","@vscode/tree-sitter-wasm":"^0.3.0","@vscode/vscode-languagedetection":"1.0.23","@vscode/windows-mutex":"^0.5.0","@vscode/windows-process-tree":"^0.6.0","@vscode/windows-registry":"^1.2.0","@xterm/addon-clipboard":"^0.3.0-beta.191","@xterm/addon-image":"^0.10.0-beta.191","@xterm/addon-ligatures":"^0.11.0-beta.191","@xterm/addon-progress":"^0.3.0-beta.191","@xterm/addon-search":"^0.17.0-beta.191","@xterm/addon-serialize":"^0.15.0-beta.191","@xterm/addon-unicode11":"^0.10.0-beta.191","@xterm/addon-webgl":"^0.20.0-beta.190","@xterm/headless":"^6.1.0-beta.191","@xterm/xterm":"^6.1.0-beta.191","http-proxy-agent":"^7.0.0","https-proxy-agent":"^7.0.2","jschardet":"3.1.4","katex":"^0.16.22","kerberos":"2.1.1","minimist":"^1.2.8","native-is-elevated":"0.9.0","native-keymap":"^3.3.5","node-pty":"^1.2.0-beta.12","open":"^10.1.2","playwright-core":"1.59.0-alpha-2026-02-20","tas-client":"0.3.1","undici":"^7.24.0","v8-inspect-profiler":"^0.1.1","vscode-oniguruma":"1.7.0","vscode-regexpp":"^3.1.0","vscode-textmate":"^9.3.2","ws":"^8.19.0","yauzl":"^3.0.0","yazl":"^2.4.3"},"devDependencies":{"@playwright/cli":"^0.1.1","@playwright/test":"^1.56.1","@stylistic/eslint-plugin-ts":"^2.8.0","@types/cookie":"^0.3.3","@types/debug":"^4.1.5","@types/eslint":"^9.6.1","@types/gulp-svgmin":"^1.2.1","@types/http-proxy-agent":"^2.0.1","@types/kerberos":"^1.1.2","@types/minimist":"^1.2.1","@types/mocha":"^10.0.10","@types/node":"^22.18.10","@types/sinon":"^10.0.2","@types/sinon-test":"^2.4.2","@types/trusted-types":"^2.0.7","@types/vscode-notebook-renderer":"^1.72.0","@types/wicg-file-system-access":"^2023.10.7","@types/windows-foreground-love":"^0.3.0","@types/winreg":"^1.2.30","@types/ws":"^8.18.1","@types/yauzl":"^2.10.0","@types/yazl":"^2.4.2","@typescript-eslint/utils":"^8.45.0","@typescript/native-preview":"^7.0.0-dev.20260306","@vscode/component-explorer":"^0.1.1-24","@vscode/component-explorer-cli":"^0.1.1-20","@vscode/gulp-electron":"1.41.0","@vscode/l10n-dev":"0.0.35","@vscode/telemetry-extractor":"^1.20.2","@vscode/test-cli":"^0.0.6","@vscode/test-electron":"^2.4.0","@vscode/test-web":"^0.0.76","@vscode/v8-heap-parser":"^0.1.0","@vscode/vscode-perf":"^0.0.19","@webgpu/types":"^0.1.66","agent-browser":"^0.16.3","ansi-colors":"^3.2.3","asar":"^3.0.3","chromium-pickle-js":"^0.2.0","cookie":"^0.7.2","debounce":"^1.0.0","deemon":"^1.13.6","electron":"39.8.3","eslint":"^9.36.0","eslint-formatter-compact":"^8.40.0","eslint-plugin-header":"3.1.1","eslint-plugin-jsdoc":"^50.3.1","event-stream":"3.3.4","fancy-log":"^1.3.3","glob":"^5.0.13","gulp":"^4.0.0","gulp-azure-storage":"^0.12.1","gulp-bom":"^3.0.0","gulp-buffer":"0.0.2","gulp-filter":"^5.1.0","gulp-flatmap":"^1.0.2","gulp-gunzip":"^1.0.0","gulp-gzip":"^1.4.2","gulp-json-editor":"^2.5.0","gulp-plumber":"^1.2.0","gulp-rename":"^1.2.0","gulp-replace":"^0.5.4","gulp-sourcemaps":"^3.0.0","gulp-svgmin":"^4.1.0","husky":"^0.13.1","innosetup":"^6.4.1","istanbul-lib-coverage":"^3.2.0","istanbul-lib-instrument":"^6.0.1","istanbul-lib-report":"^3.0.0","istanbul-lib-source-maps":"^4.0.1","istanbul-reports":"^3.1.5","lazy.js":"^0.4.2","merge-options":"^1.0.1","mime":"^1.4.1","minimatch":"^3.1.5","mocha":"^10.8.2","mocha-junit-reporter":"^2.2.1","mocha-multi-reporters":"^1.5.1","npm-run-all2":"^8.0.4","os-browserify":"^0.3.0","p-all":"^1.0.0","path-browserify":"^1.0.1","pump":"^1.0.1","rcedit":"^1.1.0","rimraf":"^2.2.8","sinon":"^12.0.1","sinon-test":"^3.1.3","source-map":"0.6.1","source-map-support":"^0.3.2","tar":"^7.5.9","tsec":"0.2.7","tslib":"^2.6.3","typescript":"^6.0.0-dev.20260306","typescript-eslint":"^8.45.0","util":"^0.12.4","xml2js":"^0.5.0","yaserver":"^0.4.0"},"overrides":{"node-gyp-build":"4.8.1","kerberos@2.1.1":{"node-addon-api":"7.1.0"},"serialize-javascript":"^7.0.3"},"repository":{"type":"git","url":"https://github.com/microsoft/vscode.git"},"bugs":{"url":"https://github.com/microsoft/vscode/issues"},"optionalDependencies":{"windows-foreground-love":"0.6.1"},"desktopName":"code.desktop"};zc.BUILD_INSERT_PACKAGE_CONFIGURATION&&(zc=Kc("../package.json"));if(process.isEmbeddedApp){try{let i=Kc("../product.sub.json");ys=Object.assign(ys,i)}catch{}try{let i=Kc("../package.sub.json");zc=Object.assign(zc,i)}catch{}}var pb={};if(process.env.VSCODE_DEV)try{pb=Kc("../product.overrides.json"),ys=Object.assign(ys,pb)}catch{}var Rr=ys,fb=zc;di();(process.env.ELECTRON_RUN_AS_NODE||process.versions.electron)&&gk(`data:text/javascript;base64,${Buffer.from(`
	export async function resolve(specifier, context, nextResolve) {
		if (specifier === 'fs') {
			return {
				format: 'builtin',
				shortCircuit: true,
				url: 'node:original-fs'
			};
		}

		// 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);
	}`).toString("base64")}`,import.meta.url);globalThis._VSCODE_PRODUCT_JSON={...Rr};globalThis._VSCODE_PACKAGE_JSON={...fb};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;var wg;function vk(){return wg||(wg=yk()),wg}async function yk(){Ne("code/willLoadNls");let i,r;if(process.env.VSCODE_NLS_CONFIG)try{i=JSON.parse(process.env.VSCODE_NLS_CONFIG),i?.languagePack?.messagesFile?r=i.languagePack.messagesFile:i?.defaultMessagesFile&&(r=i.defaultMessagesFile),globalThis._VSCODE_NLS_LANGUAGE=i?.resolvedLanguage}catch(e){console.error(`Error reading VSCODE_NLS_CONFIG from environment: ${e}`)}if(!(process.env.VSCODE_DEV||!r)){try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await fp.promises.readFile(r)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${r}: ${e}`),i?.languagePack?.corruptMarkerFile)try{await fp.promises.writeFile(i.languagePack.corruptMarkerFile,"corrupted")}catch(t){console.error(`Error writing corrupted NLS marker file: ${t}`)}if(i?.defaultMessagesFile&&i.defaultMessagesFile!==r)try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await fp.promises.readFile(i.defaultMessagesFile)).toString())}catch(t){console.error(`Error reading default NLS messages file ${i.defaultMessagesFile}: ${t}`)}}return Ne("code/didLoadNls"),i}}async function mb(){await vk()}var tk=lb(Ig(),1);import{app as tt,protocol as OO,crashReporter as FO,Menu as WO,contentTracing as UO}from"electron";bg();Sg();di();_e();di();Zt();import{promises as ji}from"fs";async function dv({userLocale:i,osLocale:r,userDataPath:e,commit:t,nlsMetadataPath:n}){if(Ne("code/willGenerateNls"),process.env.VSCODE_DEV||i==="pseudo"||i.startsWith("en")||!t||!e)return md(i,r,n);try{let o=await JR(e);if(!o)return md(i,r,n);let s=QR(o,i);if(!s)return md(i,r,n);let a=o[s],l=a?.translations?.vscode;if(!a||typeof a.hash!="string"||!a.translations||typeof l!="string"||!await Q.exists(l))return md(i,r,n);let c=`${a.hash}.${s}`,d=B(e,"clp",c),u=B(d,t),f=B(u,"nls.messages.json"),m=B(d,"tcf.json"),y=B(d,"corrupted.info");await Q.exists(y)&&await ji.rm(d,{recursive:!0,force:!0,maxRetries:3});let v={userLocale:i,osLocale:r,resolvedLanguage:s,defaultMessagesFile:B(n,"nls.messages.json"),languagePack:{translationsConfigFile:m,messagesFile:f,corruptMarkerFile:y},locale:i,availableLanguages:{"*":s},_languagePackId:c,_languagePackSupport:!0,_translationsConfigFile:m,_cacheRoot:d,_resolvedLanguagePackCoreLocation:u,_corruptedFile:y};if(await Q.exists(f))return XR(u).catch(()=>{}),Ne("code/didGenerateNls"),v;let[b,I,C]=await Promise.all([ji.readFile(B(n,"nls.keys.json"),"utf-8").then(A=>JSON.parse(A)),ji.readFile(B(n,"nls.messages.json"),"utf-8").then(A=>JSON.parse(A)),ji.readFile(l,"utf-8").then(A=>JSON.parse(A))]),R=[],D=0;for(let[A,z]of b){let N=C.contents[A];for(let j of z)R.push(N?.[j]||I[D]),D++}return await ji.mkdir(u,{recursive:!0}),await Promise.all([ji.writeFile(f,JSON.stringify(R),"utf-8"),ji.writeFile(m,JSON.stringify(a.translations),"utf-8")]),Ne("code/didGenerateNls"),v}catch(o){console.error("Generating translation files failed.",o)}return md(i,r,n)}async function JR(i){let r=B(i,"languagepacks.json");try{return JSON.parse(await ji.readFile(r,"utf-8"))}catch{return}}function QR(i,r){try{for(;r;){if(i[r])return r;let e=r.lastIndexOf("-");if(e>0)r=r.substring(0,e);else return}}catch(e){console.error("Resolving language pack configuration failed.",e)}}function md(i,r,e){return Ne("code/didGenerateNls"),{userLocale:i,osLocale:r,resolvedLanguage:"en",defaultMessagesFile:B(e,"nls.messages.json"),locale:i,availableLanguages:{}}}function XR(i){let r=new Date;return ji.utimes(i,r,r)}Wa();Ne("code/didStartMain");Ne("code/willLoadMainBundle",{startTime:Math.floor(MO.timeOrigin)});Ne("code/didLoadMainBundle");var NO=ub(Rr),Cn=jO(),cg=VO(Cn);Cn.sandbox&&!Cn["disable-chromium-sandbox"]&&!cg["disable-chromium-sandbox"]?tt.enableSandbox():tt.commandLine.hasSwitch("no-sandbox")&&!tt.commandLine.hasSwitch("disable-gpu-sandbox")?tt.commandLine.appendSwitch("disable-gpu-sandbox"):(tt.commandLine.appendSwitch("no-sandbox"),tt.commandLine.appendSwitch("disable-gpu-sandbox"));var Nc=hp(Cn,Rr.nameShort??"code-oss-dev");if(process.platform==="win32"){let i=ef(Nc);i&&Gi(i)}tt.setPath("userData",Nc);var Y_=JO();WO.setApplicationMenu(null);Ne("code/willStartCrashReporter");(Cn["crash-reporter-directory"]||cg["enable-crash-reporter"]&&!Cn["disable-crash-reporter"])&&KO();Ne("code/didStartCrashReporter");NO.isPortable&&tt.setAppLogsPath(Bn.join(Nc,"logs"));OO.registerSchemesAsPrivileged([{scheme:"vscode-webview",privileges:{standard:!0,secure:!0,supportFetchAPI:!0,corsEnabled:!0,allowServiceWorkers:!0,codeCache:!0}},{scheme:"vscode-file",privileges:{secure:!0,standard:!0,supportFetchAPI:!0,corsEnabled:!0,codeCache:!0}}]);GO();var eb,tb=rk((tt.getPreferredSystemLanguages()?.[0]??"en").toLowerCase()),ap=YO(cg);ap&&(eb=dv({userLocale:ap,osLocale:tb,commit:Rr.commit,userDataPath:Nc,nlsMetadataPath:import.meta.dirname}));if(process.platform==="win32"||process.platform==="linux"){let i=!ap||ap==="qps-ploc"?"en":ap;tt.commandLine.appendSwitch("lang",i)}tt.once("ready",function(){if(Cn.trace){let i;if(Cn["trace-memory-infra"]){let r=Cn["trace-category-filter"]?.split(",")||[];r.push("disabled-by-default-memory-infra","disabled-by-default-memory-infra.v8.code_stats"),i={included_categories:r,excluded_categories:["*"],memory_dump_config:{allowed_dump_modes:["light","detailed"],triggers:[{type:"periodic_interval",mode:"detailed",min_time_between_dumps_ms:1e4},{type:"periodic_interval",mode:"light",min_time_between_dumps_ms:1e3}]}}}else i={categoryFilter:Cn["trace-category-filter"]||"*",traceOptions:Cn["trace-options"]||"record-until-full,enable-sampling"};UO.startRecording(i).finally(()=>Z_())}else Z_()});async function Z_(){Ne("code/mainAppReady");try{let[,i]=await Promise.all([QO(Y_),XO()]);await BO(Y_,i)}catch(i){console.error(i)}}async function BO(i,r){process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_CODE_CACHE_PATH=i||"",await mb(),await Promise.resolve().then(()=>(X_(),AO)),Ne("code/didRunMainBundle")}function VO(i){let r=["disable-hardware-acceleration","force-color-profile","disable-lcd-text","proxy-bypass-list","remote-debugging-port"];process.platform==="linux"&&(r.push("force-renderer-accessibility"),r.push("password-store"));let e=["enable-proposed-api","log-level","use-inmemory-secretstorage","enable-rdp-display-tracking"],t=HO();Object.keys(t).forEach(l=>{let c=t[l];if(r.indexOf(l)!==-1){if(c===!0||c==="true")l==="disable-hardware-acceleration"?tt.disableHardwareAcceleration():tt.commandLine.appendSwitch(l);else if(typeof c=="string"&&c)if(l==="password-store"){let d=c;(c==="gnome"||c==="gnome-keyring")&&(d="gnome-libsecret"),tt.commandLine.appendSwitch(l,d)}else tt.commandLine.appendSwitch(l,c)}else if(e.indexOf(l)!==-1)switch(l){case"enable-proposed-api":Array.isArray(c)?c.forEach(d=>d&&typeof d=="string"&&process.argv.push("--enable-proposed-api",d)):console.error("Unexpected value for `enable-proposed-api` in argv.json. Expected array of extension ids.");break;case"log-level":if(typeof c=="string")process.argv.push("--log",c);else if(Array.isArray(c))for(let d of c)process.argv.push("--log",d);break;case"use-inmemory-secretstorage":c&&process.argv.push("--use-inmemory-secretstorage");break;case"enable-rdp-display-tracking":c&&process.argv.push("--enable-rdp-display-tracking");break}});let n=`NetAdapterMaxBufSizeFeature:NetAdapterMaxBufSize/8192,DocumentPolicyIncludeJSCallStacksInCrashReports,EarlyEstablishGpuChannel,EstablishGpuChannelAsync,${tt.commandLine.getSwitchValue("enable-features")}`;tt.commandLine.appendSwitch("enable-features",n);let o=`CalculateNativeWinOcclusion,${tt.commandLine.getSwitchValue("disable-features")}`;tt.commandLine.appendSwitch("disable-features",o);let s=`FontMatchingCTMigration,StandardizedBrowserZoom,${tt.commandLine.getSwitchValue("disable-blink-features")}`;tt.commandLine.appendSwitch("disable-blink-features",s);let a=zO(i,t);return a&&tt.commandLine.appendSwitch("js-flags",a),tt.commandLine.appendSwitch("xdg-portal-required-version","4"),tt.commandLine.appendSwitch("max-active-webgl-contexts","32"),t}function HO(){let i=qO(),r;try{r=mp(Vn.readFileSync(i).toString())}catch(e){e&&e.code==="ENOENT"?$O(i):console.warn(`Unable to read argv.json configuration file in ${i}, falling back to defaults (${e})`)}return r||(r={}),r}function $O(i){try{let r=Bn.dirname(i);Vn.existsSync(r)||Vn.mkdirSync(r),Vn.writeFileSync(i,["// This configuration file allows you to pass permanent command line arguments to VS Code.","// Only a subset of arguments is currently supported to reduce the likelihood of breaking","// the installation.","//","// PLEASE DO NOT CHANGE WITHOUT UNDERSTANDING THE IMPACT","//","// NOTE: Changing this file requires a restart of VS Code.","{","	// Use software rendering instead of hardware accelerated rendering.","	// This can help in cases where you see rendering issues in VS Code.",'	// "disable-hardware-acceleration": true',"}"].join(`
`))}catch(r){console.error(`Unable to create argv.json configuration file in ${i}, falling back to defaults (${r})`)}}function qO(){let i=process.env.VSCODE_PORTABLE;if(i)return Bn.join(i,"argv.json");let r=Rr.dataFolderName;return process.env.VSCODE_DEV&&(r=`${r}-dev`),Bn.join(ek.homedir(),r,"argv.json")}function KO(){let i=Cn["crash-reporter-directory"],r="";if(i){if(i=Bn.normalize(i),Bn.isAbsolute(i)||(console.error(`The path '${i}' specified for --crash-reporter-directory must be absolute.`),tt.exit(1)),!Vn.existsSync(i))try{Vn.mkdirSync(i,{recursive:!0})}catch{console.error(`The path '${i}' specified for --crash-reporter-directory does not seem to exist or cannot be created.`),tt.exit(1)}console.log(`Found --crash-reporter-directory argument. Setting crashDumps directory to be '${i}'`),tt.setPath("crashDumps",i)}else{let o=Rr.appCenter;if(o){let s=process.platform==="win32",a=process.platform==="linux",l=process.platform==="darwin",c=cg["crash-reporter-id"];if(c&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(c)){if(s)switch(process.arch){case"x64":r=o["win32-x64"];break;case"arm64":r=o["win32-arm64"];break}else if(l)if(Rr.darwinUniversalAssetId)r=o["darwin-universal"];else switch(process.arch){case"x64":r=o.darwin;break;case"arm64":r=o["darwin-arm64"];break}else a&&(r=o["linux-x64"]);r=r.concat("&uid=",c,"&iid=",c,"&sid=",c);let u=process.argv,f=u.indexOf("--");f===-1?u.push("--crash-reporter-id",c):u.splice(f,0,"--crash-reporter-id",c)}}}let e=(Rr.crashReporter?Rr.crashReporter.productName:void 0)||Rr.nameShort,t=(Rr.crashReporter?Rr.crashReporter.companyName:void 0)||"Microsoft",n=!!(!process.env.VSCODE_DEV&&r&&!i);FO.start({companyName:t,productName:process.env.VSCODE_DEV?`${e} Dev`:e,submitURL:r,uploadToServer:n,compress:!0,ignoreSystemCrashHandler:!0})}function zO(i,r){let e=[];return i["js-flags"]&&e.push(i["js-flags"]),typeof r["js-flags"]=="string"&&r["js-flags"]&&e.push(r["js-flags"]),process.platform==="linux"&&e.push("--nodecommit_pooled_pages"),e.length>0?e.join(" "):null}function jO(){return(0,tk.default)(process.argv,{string:["user-data-dir","locale","js-flags","crash-reporter-directory"],boolean:["disable-chromium-sandbox"],default:{sandbox:!0},alias:{"no-sandbox":"sandbox"}})}function GO(){let i=[];globalThis.macOpenFiles=i,tt.on("open-file",function(t,n){i.push(n)});let r=[],e=function(t,n){t.preventDefault(),r.push(n)};tt.on("will-finish-launching",function(){tt.on("open-url",e)}),globalThis.getOpenUrls=function(){return tt.removeListener("open-url",e),r}}function JO(){if(process.argv.indexOf("--no-cached-data")>0||process.env.VSCODE_DEV)return;let i=Rr.commit;if(i)return Bn.join(Nc,"CachedData",i)}async function QO(i){if(typeof i=="string")try{return await Vn.promises.mkdir(i,{recursive:!0}),i}catch{}}function rk(i){if(i.startsWith("zh")){let r=i.split("-")[1];return["hans","cn","sg","my"].includes(r)?"zh-cn":"zh-tw"}return i}async function XO(){let i=eb?await eb:void 0;if(i)return i;let r=tt.getLocale();return r?(r=rk(r.toLowerCase()),dv({userLocale:r,osLocale:tb,commit:Rr.commit,userDataPath:Nc,nlsMetadataPath:import.meta.dirname})):{userLocale:"en",osLocale:tb,resolvedLanguage:"en",defaultMessagesFile:Bn.join(import.meta.dirname,"nls.messages.json"),locale:"en",availableLanguages:{}}}function YO(i){let r=Cn.locale;return r?r.toLowerCase():typeof i?.locale=="string"?i.locale.toLowerCase():void 0}
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/e7fb5e96c0730b9deb70b33781f98e2f35975036/core/main.js.map
