/*!--------------------------------------------------------
 * 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 U_=Object.create;var ag=Object.defineProperty;var JI=Object.getOwnPropertyDescriptor;var N_=Object.getOwnPropertyNames;var B_=Object.getPrototypeOf,V_=Object.prototype.hasOwnProperty;var w=(i,r)=>()=>(i&&(r=i(i=0)),r);var H_=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var $_=(i,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of N_(r))!V_.call(i,n)&&n!==e&&ag(i,n,{get:()=>r[n],enumerable:!(t=JI(r,n))||t.enumerable});return i};var QI=(i,r,e)=>(e=i!=null?U_(B_(i)):{},$_(r||!i||!i.__esModule?ag(e,"default",{value:i,enumerable:!0}):e,i));var T=(i,r,e,t)=>{for(var n=t>1?void 0:t?JI(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&&ag(r,e,n),n},g=(i,r)=>(e,t)=>r(e,t,i);function cg(i){let r=[];typeof i=="number"&&r.push("code/timeOrigin",i);function e(n,o){r.push(n,o?.startTime??Date.now())}function t(){let n=[];for(let o=0;o<r.length;o+=2)n.push({name:r[o],startTime:r[o+1]});return n}return{mark:e,getMarks:t}}function j_(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?cg():{mark(i,r){performance.mark(i,r)},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 cg(i)}else return console.trace("perf-util loaded in UNKNOWN environment"),cg()}function G_(i){return i.MonacoPerformanceMarks||(i.MonacoPerformanceMarks=j_()),i.MonacoPerformanceMarks}var eb,Ue,ap,li=w(()=>{eb=G_(globalThis),Ue=eb.mark,ap=eb.getMarks});var pg=H_((BO,ib)=>{"use strict";function Y_(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 rb(i){return typeof i=="number"||/^0x[0-9a-f]+$/i.test(i)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(i)}function nb(i,r){return r==="constructor"&&typeof i[r]=="function"||r==="__proto__"}ib.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(ae){return A!==ae}))})}),[].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,ae){for(var U=D,Y=0;Y<A.length-1;Y++){var q=A[Y];if(nb(U,q))return;U[q]===void 0&&(U[q]={}),(U[q]===Object.prototype||U[q]===Number.prototype||U[q]===String.prototype)&&(U[q]={}),U[q]===Array.prototype&&(U[q]=[]),U=U[q]}var be=A[A.length-1];nb(U,be)||((U===Object.prototype||U===Number.prototype||U===String.prototype)&&(U={}),U===Array.prototype&&(U=[]),U[be]===void 0||e.bools[be]||typeof U[be]=="boolean"?U[be]=ae:Array.isArray(U[be])?U[be].push(ae):U[be]=[U[be],ae])}function c(D,A,ae){if(!(ae&&e.unknownFn&&!a(D,ae)&&e.unknownFn(ae)===!1)){var U=!e.strings[D]&&rb(A)?Number(A):A;l(s,D.split("."),U),(t[D]||[]).forEach(function(Y){l(s,Y.split("."),U)})}}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(""),_=!1,C=0;C<I.length;C++){if(y=f.slice(C+2),y==="-"){c(I[C],y,f);continue}if(/[A-Za-z]/.test(I[C])&&y[0]==="="){c(I[C],y.slice(1),f),_=!0;break}if(/[A-Za-z]/.test(I[C])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(y)){c(I[C],y,f),_=!0;break}if(I[C+1]&&I[C+1].match(/\W/)){c(I[C],f.slice(C+2),f),_=!0;break}else c(I[C],e.strings[I[C]]?"":!0,f)}m=f.slice(-1)[0],!_&&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._||!rb(f)?f:Number(f)),r.stopEarly){s._.push.apply(s._,i.slice(u+1));break}}return Object.keys(o).forEach(function(D){Y_(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 ek(i){return i.replace(Z_,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 cp(i){let r=ek(i);try{return JSON.parse(r)}catch{let t=r.replace(/,\s*([}\]])/g,"$1");return JSON.parse(t)}}var Z_,fg=w(()=>{Z_=/("[^"\\]*(?:\\.[^"\\]*)*")|('[^'\\]*(?:\\.[^'\\]*)*')|(\/\*[^\/\*]*(?:(?:\*|\/)[^\/\*]*)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))|(,\s*[}\]])/g});import{homedir as ob}from"os";import{resolve as tk,isAbsolute as rk,join as pa}from"path";function dp(i,r){let e=ik(i,r),t=[e];return rk(e)||t.unshift(nk),tk(...t)}function ik(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 pa(e,"user-data");let t=process.env.VSCODE_APPDATA;if(t)return pa(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=pa(o,"AppData","Roaming")}break;case"darwin":t=pa(ob(),"Library","Application Support");break;case"linux":t=process.env.XDG_CONFIG_HOME||pa(ob(),".config");break;default:throw new Error("Platform not supported")}return pa(t,r)}var nk,mg=w(()=>{nk=process.env.VSCODE_CWD||process.cwd()});function hg(){return globalThis._VSCODE_NLS_MESSAGES}function Hc(){return globalThis._VSCODE_NLS_LANGUAGE}function up(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}),ok&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function h(i,r,...e){return up(typeof i=="number"?sb(i,r):r,e)}function sb(i,r){let e=hg()?.[i];if(typeof e!="string"){if(typeof r=="string")return r;throw new Error(`!!! NLS MISSING: ${i} !!!`)}return e}function gg(i,r,...e){let t;typeof i=="number"?t=sb(i,r):t=r;let n=up(t,e);return{value:n,original:r===t?n:up(r,e)}}var ok,Ee=w(()=>{ok=Hc()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function hp(i){switch(i){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}function Ig(i){return parseFloat(i)>=25}var ms,Kc,qc,$c,lb,cb,vg,sk,db,ub,ak,pp,fp,ab,pb,Oi,Wi,Zr,fb,lk,mp,W,B,ie,gp,vp,Rr,ck,mb,hb,Fi,ci,hn,dk,yg,uk,gb,Jt,wg,vb,yb,wb,qO,Z=w(()=>{Ee();ms="en",Kc=!1,qc=!1,$c=!1,lb=!1,cb=!1,vg=!1,sk=!1,db=!1,ub=!1,ak=!1,fp=ms,ab=ms,Wi=globalThis;typeof Wi.vscode<"u"&&typeof Wi.vscode.process<"u"?Zr=Wi.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(Zr=process);fb=typeof Zr?.versions?.electron=="string",lk=fb&&Zr?.type==="renderer";if(typeof Zr=="object"){Kc=Zr.platform==="win32",qc=Zr.platform==="darwin",$c=Zr.platform==="linux",lb=$c&&!!Zr.env.SNAP&&!!Zr.env.SNAP_REVISION,sk=fb,ub=!!Zr.env.CI||!!Zr.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!Zr.env.GITHUB_WORKSPACE,pp=ms,fp=ms;let i=Zr.env.VSCODE_NLS_CONFIG;if(i)try{let r=JSON.parse(i);pp=r.userLocale,ab=r.osLocale,fp=r.resolvedLanguage||ms,pb=r.languagePack?.translationsConfigFile}catch{}cb=!0}else typeof navigator=="object"&&!lk?(Oi=navigator.userAgent,Kc=Oi.indexOf("Windows")>=0,qc=Oi.indexOf("Macintosh")>=0,db=(Oi.indexOf("Macintosh")>=0||Oi.indexOf("iPad")>=0||Oi.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,$c=Oi.indexOf("Linux")>=0,ak=Oi?.indexOf("Mobi")>=0,vg=!0,fp=Hc()||ms,pp=navigator.language.toLowerCase(),ab=pp):console.error("Unable to resolve platform.");mp=0;qc?mp=1:Kc?mp=3:$c&&(mp=2);W=Kc,B=qc,ie=$c,gp=lb,vp=cb,Rr=vg,ck=vg&&typeof Wi.importScripts=="function",mb=ck?Wi.origin:void 0,hb=ub,Fi=mp,ci=Oi,hn=fp;(t=>{function i(){return hn}t.value=i;function r(){return hn.length===2?hn==="en":hn.length>=3?hn[0]==="e"&&hn[1]==="n"&&hn[2]==="-":!1}t.isDefaultVariant=r;function e(){return hn==="en"}t.isDefault=e})(dk||={});yg=pb,uk=typeof Wi.postMessage=="function"&&!Wi.importScripts,gb=(()=>{if(uk){let i=[];Wi.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}),Wi.postMessage({vscodeScheduleAsyncWork:t},"*")}}return i=>setTimeout(i)})(),Jt=qc||db?2:Kc?1:3,wg=!!(ci&&ci.indexOf("Chrome")>=0),vb=!!(ci&&ci.indexOf("Firefox")>=0),yb=!!(!wg&&ci&&ci.indexOf("Safari")>=0),wb=!!(ci&&ci.indexOf("Edg/")>=0),qO=!!(ci&&ci.indexOf("Android")>=0)});var hs,bg,en,br,yp,Ib,Bn=w(()=>{Z();bg=globalThis.vscode;if(typeof bg<"u"&&typeof bg.process<"u"){let i=bg.process;hs={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"?hs={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:hs={get platform(){return W?"win32":B?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};en=hs.cwd,br=hs.env,yp=hs.platform,Ib=hs.arch});function vk(i,r){if(i===null||typeof i!="object")throw new wp(r,"Object",i)}function At(i,r){if(typeof i!="string")throw new wp(r,"string",i)}function ke(i){return i===ar||i===tn}function Sg(i){return i===ar}function Ni(i){return i>=pk&&i<=mk||i>=fk&&i<=hk}function Ip(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=ar}if(t(l)){if(!(s===c-1||a===1))if(a===2){if(n.length<2||o!==2||n.charCodeAt(n.length-1)!==gs||n.charCodeAt(n.length-2)!==gs){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===gs&&a!==-1?++a:a=-1}return n}function yk(i){return i?`${i[0]==="."?"":"."}${i}`:""}function Sb(i,r){vk(r,"pathObject");let e=r.dir||r.root,t=r.base||`${r.name||""}${yk(r.ext)}`;return e?e===r.root?`${e}${t}`:`${e}${i}${t}`:t}var pk,fk,mk,hk,gs,ar,tn,Ui,gk,wp,rn,ct,wk,de,Et,yo,V,nn,bp,Qe,Pe,ma,GO,JO,QO,Mt,Sp,Te=w(()=>{Bn();pk=65,fk=97,mk=90,hk=122,gs=46,ar=47,tn=92,Ui=58,gk=63,wp=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"}};rn=yp==="win32";ct={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],At(o,`paths[${n}]`),o.length===0)continue}else r.length===0?o=en():(o=br[`=${r}`]||en(),(o===void 0||o.slice(0,2).toLowerCase()!==r.toLowerCase()&&o.charCodeAt(2)===tn)&&(o=`${r}\\`));let s=o.length,a=0,l="",c=!1,d=o.charCodeAt(0);if(s===1)ke(d)&&(a=1,c=!0);else if(ke(d))if(c=!0,ke(o.charCodeAt(1))){let u=2,f=u;for(;u<s&&!ke(o.charCodeAt(u));)u++;if(u<s&&u!==f){let m=o.slice(f,u);for(f=u;u<s&&ke(o.charCodeAt(u));)u++;if(u<s&&u!==f){for(f=u;u<s&&!ke(o.charCodeAt(u));)u++;(u===s||u!==f)&&(l=`\\\\${m}\\${o.slice(f,u)}`,a=u)}}}else a=1;else Ni(d)&&o.charCodeAt(1)===Ui&&(l=o.slice(0,2),a=2,s>2&&ke(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=Ip(e,!t,"\\",ke),t?`${r}\\${e}`:`${r}${e}`||"."},normalize(i){At(i,"path");let r=i.length;if(r===0)return".";let e=0,t,n=!1,o=i.charCodeAt(0);if(r===1)return Sg(o)?"\\":i;if(ke(o))if(n=!0,ke(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!ke(i.charCodeAt(a));)a++;if(a<r&&a!==l){let c=i.slice(l,a);for(l=a;a<r&&ke(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!ke(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 Ni(o)&&i.charCodeAt(1)===Ui&&(t=i.slice(0,2),e=2,r>2&&ke(i.charCodeAt(2))&&(n=!0,e=3));let s=e<r?Ip(i.slice(e),!n,"\\",ke):"";if(s.length===0&&!n&&(s="."),s.length>0&&ke(i.charCodeAt(r-1))&&(s+="\\"),!n&&t===void 0&&i.includes(":")){if(s.length>=2&&Ni(s.charCodeAt(0))&&s.charCodeAt(1)===Ui)return`.\\${s}`;let a=i.indexOf(":");do if(a===r-1||ke(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){At(i,"path");let r=i.length;if(r===0)return!1;let e=i.charCodeAt(0);return ke(e)||r>2&&Ni(e)&&i.charCodeAt(1)===Ui&&ke(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];At(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"&&ke(e.charCodeAt(0))){++n;let o=e.length;o>1&&ke(e.charCodeAt(1))&&(++n,o>2&&(ke(e.charCodeAt(2))?++n:t=!1))}if(t){for(;n<r.length&&ke(r.charCodeAt(n));)n++;n>=2&&(r=`\\${r.slice(n)}`)}return ct.normalize(r)},relative(i,r){if(At(i,"from"),At(r,"to"),i===r)return"";let e=ct.resolve(i),t=ct.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,_=b<I?b:I,C;for(C=0;C<_&&y[C].toLowerCase()===v[C].toLowerCase();C++);return C===0?t:C===_?I>_?v.slice(C).join("\\"):b>_?"..\\".repeat(b-1-C)+"..":"":"..\\".repeat(b-C)+v.slice(C).join("\\")}let n=0;for(;n<i.length&&i.charCodeAt(n)===tn;)n++;let o=i.length;for(;o-1>n&&i.charCodeAt(o-1)===tn;)o--;let s=o-n,a=0;for(;a<r.length&&r.charCodeAt(a)===tn;)a++;let l=r.length;for(;l-1>a&&r.charCodeAt(l-1)===tn;)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===tn&&(u=f)}if(f!==d){if(u===-1)return t}else{if(c>d){if(r.charCodeAt(a+f)===tn)return t.slice(a+f+1);if(f===2)return t.slice(a+f)}s>d&&(i.charCodeAt(n+f)===tn?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)===tn)&&(m+=m.length===0?"..":"\\..");return a+=u,m.length>0?`${m}${t.slice(a,l)}`:(t.charCodeAt(a)===tn&&++a,t.slice(a,l))},toNamespacedPath(i){if(typeof i!="string"||i.length===0)return i;let r=ct.resolve(i);if(r.length<=2)return i;if(r.charCodeAt(0)===tn){if(r.charCodeAt(1)===tn){let e=r.charCodeAt(2);if(e!==gk&&e!==gs)return`\\\\?\\UNC\\${r.slice(2)}`}}else if(Ni(r.charCodeAt(0))&&r.charCodeAt(1)===Ui&&r.charCodeAt(2)===tn)return`\\\\?\\${r}`;return r},dirname(i){At(i,"path");let r=i.length;if(r===0)return".";let e=-1,t=0,n=i.charCodeAt(0);if(r===1)return ke(n)?i:".";if(ke(n)){if(e=t=1,ke(i.charCodeAt(1))){let a=2,l=a;for(;a<r&&!ke(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&ke(i.charCodeAt(a));)a++;if(a<r&&a!==l){for(l=a;a<r&&!ke(i.charCodeAt(a));)a++;if(a===r)return i;a!==l&&(e=t=a+1)}}}}else Ni(n)&&i.charCodeAt(1)===Ui&&(e=r>2&&ke(i.charCodeAt(2))?3:2,t=e);let o=-1,s=!0;for(let a=r-1;a>=t;--a)if(ke(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&&At(r,"suffix"),At(i,"path");let e=0,t=-1,n=!0,o;if(i.length>=2&&Ni(i.charCodeAt(0))&&i.charCodeAt(1)===Ui&&(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(ke(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(ke(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){At(i,"path");let r=0,e=-1,t=0,n=-1,o=!0,s=0;i.length>=2&&i.charCodeAt(1)===Ui&&Ni(i.charCodeAt(0))&&(r=t=2);for(let a=i.length-1;a>=r;--a){let l=i.charCodeAt(a);if(ke(l)){if(!o){t=a+1;break}continue}n===-1&&(o=!1,n=a+1),l===gs?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:Sb.bind(null,"\\"),parse(i){At(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 ke(n)?(r.root=r.dir=i,r):(r.base=r.name=i,r);if(ke(n)){if(t=1,ke(i.charCodeAt(1))){let u=2,f=u;for(;u<e&&!ke(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&ke(i.charCodeAt(u));)u++;if(u<e&&u!==f){for(f=u;u<e&&!ke(i.charCodeAt(u));)u++;u===e?t=u:u!==f&&(t=u+1)}}}}else if(Ni(n)&&i.charCodeAt(1)===Ui){if(e<=2)return r.root=r.dir=i,r;if(t=2,ke(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),ke(n)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),n===gs?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},wk=(()=>{if(rn){let i=/\\/g;return()=>{let r=en().replace(i,"/");return r.slice(r.indexOf("/"))}}return()=>en()})(),de={resolve(...i){let r="",e=!1;for(let t=i.length-1;t>=0&&!e;t--){let n=i[t];At(n,`paths[${t}]`),n.length!==0&&(r=`${n}/${r}`,e=n.charCodeAt(0)===ar)}if(!e){let t=wk();r=`${t}/${r}`,e=t.charCodeAt(0)===ar}return r=Ip(r,!e,"/",Sg),e?`/${r}`:r.length>0?r:"."},normalize(i){if(At(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===ar,e=i.charCodeAt(i.length-1)===ar;return i=Ip(i,!r,"/",Sg),i.length===0?r?"/":e?"./":".":(e&&(i+="/"),r?`/${i}`:i)},isAbsolute(i){return At(i,"path"),i.length>0&&i.charCodeAt(0)===ar},join(...i){if(i.length===0)return".";let r=[];for(let e=0;e<i.length;++e){let t=i[e];At(t,"path"),t.length>0&&r.push(t)}return r.length===0?".":de.normalize(r.join("/"))},relative(i,r){if(At(i,"from"),At(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===ar&&(l=c)}if(c===a)if(s>a){if(r.charCodeAt(o+c)===ar)return r.slice(o+c+1);if(c===0)return r.slice(o+c)}else n>a&&(i.charCodeAt(e+c)===ar?l=c:c===0&&(l=0));let d="";for(c=e+l+1;c<=t;++c)(c===t||i.charCodeAt(c)===ar)&&(d+=d.length===0?"..":"/..");return`${d}${r.slice(o+l)}`},toNamespacedPath(i){return i},dirname(i){if(At(i,"path"),i.length===0)return".";let r=i.charCodeAt(0)===ar,e=-1,t=!0;for(let n=i.length-1;n>=1;--n)if(i.charCodeAt(n)===ar){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&&At(r,"suffix"),At(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===ar){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)===ar){if(!n){e=o+1;break}}else t===-1&&(n=!1,t=o+1);return t===-1?"":i.slice(e,t)},extname(i){At(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:Sb.bind(null,"/"),parse(i){At(i,"path");let r={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return r;let e=i.charCodeAt(0)===ar,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===ar){if(!a){o=l+1;break}continue}s===-1&&(a=!1,s=l+1),d===gs?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=ct.win32=ct;de.posix=ct.posix=de;Et=rn?ct.normalize:de.normalize,yo=rn?ct.isAbsolute:de.isAbsolute,V=rn?ct.join:de.join,nn=rn?ct.resolve:de.resolve,bp=rn?ct.relative:de.relative,Qe=rn?ct.dirname:de.dirname,Pe=rn?ct.basename:de.basename,ma=rn?ct.extname:de.extname,GO=rn?ct.format:de.format,JO=rn?ct.parse:de.parse,QO=rn?ct.toNamespacedPath:de.toNamespacedPath,Mt=rn?ct.sep:de.sep,Sp=rn?ct.delimiter:de.delimiter});function Tb(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 Pb,Eb,xb,xg=w(()=>{xb=class{constructor(r,e){this.toKey=e;this._map=new Map;this[Pb]="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))}[(Eb=Symbol.iterator,Pb=Symbol.toStringTag,Eb)](){return this.values()}}});function Ep(i){ga.setUnexpectedErrorHandler(i)}function Cb(i){if(!i||typeof i!="object")return!1;let r=i;return r.code==="EPIPE"&&r.syscall?.toUpperCase()==="WRITE"}function Ze(i){zc(i)||ga.onUnexpectedError(i)}function zc(i){return i instanceof bt?!0:i instanceof Error&&i.name===xp&&i.message===xp}function ui(){let i=new Error(xp);return i.name=i.message,i}function Tp(i){return i?new Error(`Illegal state: ${i}`):new Error("Illegal state")}function lr(i){return i?i.message?i.message:i.stack?i.stack.split(`
`)[0]:String(i):"Error"}var Pg,ga,xp,bt,Pp,ha,on,Vn,Be=w(()=>{Pg=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(r){setTimeout(()=>{throw r.stack?on.isErrorNoTelemetry(r)?new on(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)}},ga=new Pg;xp="Canceled";bt=class extends Error{constructor(){super(xp),this.name=this.message}},Pp=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}};ha=class extends Error{constructor(){super(...arguments);this.isExpected=!0}},on=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"}},Vn=class i extends Error{constructor(r){super(r||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}}});function Bi(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 va=w(()=>{});function Ik(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 Rb(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 kb,Db=w(()=>{kb=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=Ik(this._array,r,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function wo(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 Ab(i,r,e){return bk(i.length,t=>e(i[t],r))}function bk(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 Cp(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?Cp(i,n,e):i<n.length+s.length?s[0]:Cp(i-(n.length+s.length),o,e)}function Mb(i,r,e){if(e===0)return[];let t=i.slice(0,e).sort(r);return Sk(i,r,t,e,i.length),t}function Sk(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=Rb(e,l=>r(s,l)<0);e.splice(a,0,s)}}}function it(i){return i.filter(r=>!!r)}function Dr(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 Eg(i,r){return i.push(r),()=>xk(i,r)}function xk(i,r){let e=i.indexOf(r);if(e>-1)return i.splice(e,1),r}function Tg(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 Ob(i){return i[Math.floor(Math.random()*i.length)]}function Fb(i,r){return(e,t)=>r(i(e),i(t))}var Wb,Ub,Lb,Ht=w(()=>{Db();Be();(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})(Wb||={});Ub=(i,r)=>i-r,Lb=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||Wb.isGreaterThan(r(n,e)))&&(t=!1,e=n),!0)),e}}});function $b(i){let r=[];return i.forEach((e,t)=>{r.push(`${t} => ${e}`)}),`Map(${i.size}) {${r.join(", ")}}`}function Kb(i){let r=[];return i.forEach(e=>{r.push(e)}),`Set(${i.size}) {${r.join(", ")}}`}function Pk(i){return Array.isArray(i)}var Cg,Bb,ft,Vb,ya,Hb,_g,kg,pi,_p,Lr=w(()=>{Cg=class{constructor(r,e){this.uri=r;this.value=e}};ft=class i{constructor(r,e){this[Bb]="ResourceMap";if(r instanceof i)this.map=new Map(r.map),this.toKey=e??i.defaultToKey;else if(Pk(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 Cg(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]}*[(Bb=Symbol.toStringTag,Symbol.iterator)](){for(let[,r]of this.map)yield[r.uri,r.value]}},ya=class{constructor(r,e){this[Vb]="ResourceSet";!r||typeof r=="function"?this._map=new ft(r):(this._map=new ft(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()}[(Vb=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},_g=class{constructor(){this[Hb]="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}[(Hb=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)}},kg=class extends _g{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))}},pi=class extends kg{constructor(r,e=1){super(r,e)}trim(r){this.trimOld(r)}set(r,e){return super.set(r,e),this.checkTrim(),this}},_p=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 kp(i,r){if(!i)throw new Error(r?`Assertion failed (${r})`:"Assertion Failed")}function wa(i,r="unexpected state"){if(!i)throw typeof r=="string"?new Vn(`Assertion Failed: ${r}`):r}var Ia=w(()=>{Be()});function Ae(i){return typeof i=="string"}function Ke(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)&&!(i instanceof RegExp)&&!(i instanceof Date)}function qb(i){let r=Object.getPrototypeOf(Uint8Array);return typeof i=="object"&&i instanceof r}function Hn(i){return typeof i=="number"&&!isNaN(i)}function zb(i){return!!i&&typeof i[Symbol.iterator]=="function"}function Rp(i){return i===!0||i===!1}function Tn(i){return typeof i>"u"}function Ot(i){return Tn(i)||i===null}function jb(i,r){if(!i)throw new Error(r?`Unexpected type, expected '${r}'`:"Unexpected type")}function fi(i){return wa(i!=null,"Argument is `undefined` or `null`."),i}function Dp(i){if(!Ke(i))return!1;for(let r in i)if(Tk.call(i,r))return!1;return!0}function jc(i){return typeof i=="function"}function sn(i,r){for(let e in r)if(!(e in i))return!1;return!0}var Tk,De=w(()=>{Ia();Tk=Object.prototype.hasOwnProperty});var mi,Gc=w(()=>{De();(ae=>{function i(U){return!!U&&typeof U=="object"&&typeof U[Symbol.iterator]=="function"}ae.is=i;let r=Object.freeze([]);function e(){return r}ae.empty=e;function*t(U){yield U}ae.single=t;function n(U){return i(U)?U:t(U)}ae.wrap=n;function o(U){return U??r}ae.from=o;function*s(U){for(let Y=U.length-1;Y>=0;Y--)yield U[Y]}ae.reverse=s;function a(U){return!U||U[Symbol.iterator]().next().done===!0}ae.isEmpty=a;function l(U){return U[Symbol.iterator]().next().value}ae.first=l;function c(U,Y){let q=0;for(let be of U)if(Y(be,q++))return!0;return!1}ae.some=c;function d(U,Y){let q=0;for(let be of U)if(!Y(be,q++))return!1;return!0}ae.every=d;function u(U,Y){for(let q of U)if(Y(q))return q}ae.find=u;function*f(U,Y){for(let q of U)Y(q)&&(yield q)}ae.filter=f;function*m(U,Y){let q=0;for(let be of U)yield Y(be,q++)}ae.map=m;function*y(U,Y){let q=0;for(let be of U)yield*Y(be,q++)}ae.flatMap=y;function*v(...U){for(let Y of U)zb(Y)?yield*Y:yield Y}ae.concat=v;function b(U,Y,q){let be=q;for(let wt of U)be=Y(be,wt);return be}ae.reduce=b;function I(U){let Y=0;for(let q of U)Y++;return Y}ae.length=I;function*_(U,Y,q=U.length){for(Y<-U.length&&(Y=0),Y<0&&(Y+=U.length),q<0?q+=U.length:q>U.length&&(q=U.length);Y<q;Y++)yield U[Y]}ae.slice=_;function C(U,Y=Number.POSITIVE_INFINITY){let q=[];if(Y===0)return[q,U];let be=U[Symbol.iterator]();for(let wt=0;wt<Y;wt++){let It=be.next();if(It.done)return[q,ae.empty()];q.push(It.value)}return[q,{[Symbol.iterator](){return be}}]}ae.consume=C;async function D(U){let Y=[];for await(let q of U)Y.push(q);return Y}ae.asyncToArray=D;async function A(U){let Y=[];for await(let q of U)Y=Y.concat(q);return Y}ae.asyncToArrayFlat=A})(mi||={})});function _k(i){Sa=i}function Jc(i){return Sa?.trackDisposable(i),i}function Qc(i){Sa?.markAsDisposed(i)}function vs(i,r){Sa?.setParent(i,r)}function kk(i,r){if(Sa)for(let e of i)Sa.setParent(e,r)}function Lp(i){return typeof i=="object"&&i!==null&&typeof i.dispose=="function"&&i.dispose.length===0}function dt(i){if(mi.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 Jb(...i){let r=G(()=>dt(i));return kk(i,r),r}function G(i){return new Rg(i)}function Qb(i,r){return i.then(e=>(r.isDisposed?e.dispose():r.add(e),e))}var Ck,Sa,Gb,Rg,re,k,Zt,cr,$=w(()=>{Ht();xg();Lr();va();Gc();Be();Ck=!1,Sa=null,Gb=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 _p;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(Fb(l=>l.idx,Ub));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=Tb([...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(Ck){let i="__is_disposable_tracked__";_k(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!==k.None)try{r[i]=!0}catch{}}markAsDisposed(r){if(r&&r!==k.None)try{r[i]=!0}catch{}}markAsSingleton(r){}})}Rg=class{constructor(r){this._isDisposed=!1,this._fn=r,Jc(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,Qc(this),this._fn()}}};re=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;Jc(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(Qc(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{dt(this._toDispose)}finally{this._toDispose.clear()}}add(r){if(!r||r===k.None)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return vs(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)&&vs(r,null)}assertNotDisposed(){this._isDisposed&&Ze(new Vn("Object disposed"))}},k=class{constructor(){this._store=new re;Jc(this),vs(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){Qc(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}},Zt=class{constructor(){this._isDisposed=!1;Jc(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){this._isDisposed||r===this._value||(this._value?.dispose(),r&&vs(r,this),this._value=r)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Qc(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let r=this._value;return this._value=void 0,r&&vs(r,null),r}},cr=class{constructor(r=new Map){this._isDisposed=!1;this._store=r,Jc(this)}dispose(){Qc(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{dt(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),vs(e,this)}deleteAndDispose(r){this._store.get(r)?.dispose(),this._store.delete(r)}deleteAndLeak(r){let e=this._store.get(r);return e&&vs(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 gt,xa,Dg=w(()=>{gt=class i{static{this.Undefined=new i(void 0)}constructor(r){this.element=r,this.next=i.Undefined,this.prev=i.Undefined}},xa=class{constructor(){this._first=gt.Undefined;this._last=gt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===gt.Undefined}clear(){let r=this._first;for(;r!==gt.Undefined;){let e=r.next;r.prev=gt.Undefined,r.next=gt.Undefined,r=e}this._first=gt.Undefined,this._last=gt.Undefined,this._size=0}unshift(r){return this._insert(r,!1)}push(r){return this._insert(r,!0)}_insert(r,e){let t=new gt(r);if(this._first===gt.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!==gt.Undefined){let r=this._first.element;return this._remove(this._first),r}}pop(){if(this._last!==gt.Undefined){let r=this._last.element;return this._remove(this._last),r}}peek(){if(this._last!==gt.Undefined)return this._last.element}_remove(r){if(r.prev!==gt.Undefined&&r.next!==gt.Undefined){let e=r.prev;e.next=r.next,r.next.prev=e}else r.prev===gt.Undefined&&r.next===gt.Undefined?(this._first=gt.Undefined,this._last=gt.Undefined):r.next===gt.Undefined?(this._last=this._last.prev,this._last.next=gt.Undefined):r.prev===gt.Undefined&&(this._first=this._first.next,this._first.prev=gt.Undefined);this._size-=1}*[Symbol.iterator](){let r=this._first;for(;r!==gt.Undefined;)yield r.element,r=r.next}}});var Rk,an,ys=w(()=>{Rk=globalThis.performance.now.bind(globalThis.performance),an=class i{static create(r){return new i(r)}constructor(r){this._now=r===!1?Date.now:Rk,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 Zb(){return!!br.VSCODE_DEV}function Fg(i,r){r instanceof re?r.add(i):Array.isArray(r)&&r.push(i)}function tS(i,r){if(r instanceof re)r.delete(i);else if(Array.isArray(r)){let e=r.indexOf(i);e!==-1&&r.splice(e,1)}i.dispose()}var Xb,Dk,Lk,Yb,P,Lg,eS,Ag,Ea,Mg,Og,Ak,Pa,Mk,Ok,S,Wg,ws,Ap,Xc,Q=w(()=>{xg();Be();va();$();Dg();Bn();ys();Xb=!1,Dk=!1,Lk=100,Yb=6e4;(Nr=>{Nr.None=()=>k.None;function r(J){if(Dk){let{onDidAddListener:K}=J,j=Ea.create(),X=0;J.onDidAddListener=()=>{++X===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),j.print()),K?.()}}}function e(J,K,j){return m(J,()=>{},0,void 0,K??!0,void 0,j)}Nr.defer=e;function t(J){return(K,j=null,X)=>{let te=!1,pe;return pe=J(ee=>{if(!te)return pe?pe.dispose():te=!0,K.call(j,ee)},null,X),te&&pe.dispose(),pe}}Nr.once=t;function n(J,K){return Nr.once(Nr.filter(J,K))}Nr.onceIf=n;function o(J,K,j){return u((X,te=null,pe)=>J(ee=>X.call(te,K(ee)),null,pe),j)}Nr.map=o;function s(J,K,j){return u((X,te=null,pe)=>J(ee=>{K(ee),X.call(te,ee)},null,pe),j)}Nr.forEach=s;function a(J,K,j){return u((X,te=null,pe)=>J(ee=>K(ee)&&X.call(te,ee),null,pe),j)}Nr.filter=a;function l(J){return J}Nr.signal=l;function c(...J){return(K,j=null,X)=>{let te=Jb(...J.map(pe=>pe(ee=>K.call(j,ee))));return f(te,X)}}Nr.any=c;function d(J,K,j,X){let te=j;return o(J,pe=>(te=K(te,pe),te),X)}Nr.reduce=d;function u(J,K){let j,X={onWillAddFirstListener(){j=J(te.fire,te)},onDidRemoveLastListener(){j?.dispose()}};K||r(X);let te=new S(X);return K?.add(te),te.event}function f(J,K){return K instanceof Array?K.push(J):K&&K.add(J),J}function m(J,K,j=100,X=!1,te=!1,pe,ee){let kt,tt,jt,Dt=0,Gt,Br={leakWarningThreshold:pe,onWillAddFirstListener(){kt=J(Oc=>{Dt++,tt=K(tt,Oc),X&&!jt&&(si.fire(tt),tt=void 0),Gt=()=>{let Wc=tt;tt=void 0,jt=void 0,(!X||Dt>1)&&si.fire(Wc),Dt=0},typeof j=="number"?(jt&&clearTimeout(jt),jt=setTimeout(Gt,j)):jt===void 0&&(jt=null,queueMicrotask(Gt))})},onWillRemoveListener(){te&&Dt>0&&Gt?.()},onDidRemoveLastListener(){Gt=void 0,kt.dispose()}};ee||r(Br);let si=new S(Br);return ee?.add(si),si.event}Nr.debounce=m;function y(J,K=0,j,X){return Nr.debounce(J,(te,pe)=>te?(te.push(pe),te):[pe],K,void 0,j??!0,void 0,X)}Nr.accumulate=y;function v(J,K,j=100,X=!0,te=!0,pe,ee){let kt,tt,jt,Dt=0,Gt={leakWarningThreshold:pe,onWillAddFirstListener(){kt=J(si=>{Dt++,tt=K(tt,si),jt===void 0&&(X&&(Br.fire(tt),tt=void 0,Dt=0),typeof j=="number"?jt=setTimeout(()=>{te&&Dt>0&&Br.fire(tt),tt=void 0,jt=void 0,Dt=0},j):(jt=0,queueMicrotask(()=>{te&&Dt>0&&Br.fire(tt),tt=void 0,jt=void 0,Dt=0})))})},onDidRemoveLastListener(){kt.dispose()}};ee||r(Gt);let Br=new S(Gt);return ee?.add(Br),Br.event}Nr.throttle=v;function b(J,K=(X,te)=>X===te,j){let X=!0,te;return a(J,pe=>{let ee=X||!K(pe,te);return X=!1,te=pe,ee},j)}Nr.latch=b;function I(J,K,j){return[Nr.filter(J,K,j),Nr.filter(J,X=>!K(X),j)]}Nr.split=I;function _(J,K,j=!1,X=[],te){let pe=X.slice(),ee;Zb()&&(ee={stack:Ea.create(),timerId:setTimeout(()=>{pe&&pe.length>0&&ee&&!ee.warned&&(ee.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${pe.length} events buffered for ${Yb/1e3}s without being consumed. Buffered here:`),ee.stack.print())},Yb),warned:!1},te&&te.add(G(()=>clearTimeout(ee.timerId))));let kt=()=>{ee&&clearTimeout(ee.timerId)},tt=J(Gt=>{pe?(pe.push(Gt),Zb()&&ee&&!ee.warned&&pe.length>=Lk&&(ee.warned=!0,console.warn(`[Event.buffer][${K}] potential LEAK detected: ${pe.length} events buffered without being consumed. Buffered here:`),ee.stack.print())):Dt.fire(Gt)});te&&te.add(tt);let jt=()=>{pe?.forEach(Gt=>Dt.fire(Gt)),pe=null,kt()},Dt=new S({onWillAddFirstListener(){tt||(tt=J(Gt=>Dt.fire(Gt)),te&&te.add(tt))},onDidAddFirstListener(){pe&&(j?setTimeout(jt):jt())},onDidRemoveLastListener(){tt&&tt.dispose(),tt=null,kt()}});return te&&te.add(Dt),Dt.event}Nr.buffer=_;function C(J,K){return(X,te,pe)=>{let ee=K(new A);return J(function(kt){let tt=ee.evaluate(kt);tt!==D&&X.call(te,tt)},void 0,pe)}}Nr.chain=C;let D=Symbol("HaltChainable");class A{constructor(){this.steps=[]}map(K){return this.steps.push(K),this}forEach(K){return this.steps.push(j=>(K(j),j)),this}filter(K){return this.steps.push(j=>K(j)?j:D),this}reduce(K,j){let X=j;return this.steps.push(te=>(X=K(X,te),X)),this}latch(K=(j,X)=>j===X){let j=!0,X;return this.steps.push(te=>{let pe=j||!K(te,X);return j=!1,X=te,pe?te:D}),this}evaluate(K){for(let j of this.steps)if(K=j(K),K===D)break;return K}}function ae(J,K,j=X=>X){let X=(...kt)=>ee.fire(j(...kt)),te=()=>J.on(K,X),pe=()=>J.removeListener(K,X),ee=new S({onWillAddFirstListener:te,onDidRemoveLastListener:pe});return ee.event}Nr.fromNodeEventEmitter=ae;function U(J,K,j=X=>X){let X=(...kt)=>ee.fire(j(...kt)),te=()=>J.addEventListener(K,X),pe=()=>J.removeEventListener(K,X),ee=new S({onWillAddFirstListener:te,onDidRemoveLastListener:pe});return ee.event}Nr.fromDOMEventEmitter=U;function Y(J,K){let j,X,te=new Promise(pe=>{X=t(J)(pe),Fg(X,K),j=()=>{tS(X,K)}});return te.cancel=j,K&&te.finally(()=>tS(X,K)),te}Nr.toPromise=Y;function q(J,K){return J(j=>K.fire(j))}Nr.forward=q;function be(J,K,j){return K(j),J(X=>K(X))}Nr.runAndSubscribe=be;class wt{constructor(K,j){this._observable=K;this._counter=0;this._hasChanged=!1;let X={onWillAddFirstListener:()=>{K.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{K.removeObserver(this)}};j||r(X),this.emitter=new S(X),j&&j.add(this.emitter)}beginUpdate(K){this._counter++}handlePossibleChange(K){}handleChange(K,j){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 It(J,K){return new wt(J,K).emitter.event}Nr.fromObservable=It;function Ur(J){return(K,j,X)=>{let te=0,pe=!1,ee={beginUpdate(){te++},endUpdate(){te--,te===0&&(J.reportChanges(),pe&&(pe=!1,K.call(j)))},handlePossibleChange(){},handleChange(){pe=!0}};J.addObserver(ee),J.reportChanges();let kt={dispose(){J.removeObserver(ee)}};return Fg(kt,X),kt}}Nr.fromObservableLight=Ur})(P||={});Lg=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 an,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}}},eS=-1,Ag=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=new Mg(a,o);this._errorHandler(l)}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}},Ea=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(`
`))}},Mg=class extends Error{constructor(r,e){super(r),this.name="ListenerLeakError",this.stack=e}},Og=class extends Error{constructor(r,e){super(r),this.name="ListenerRefusalError",this.stack=e}},Ak=0,Pa=class{constructor(r){this.value=r;this.id=Ak++}},Mk=2,Ok=(i,r)=>{if(i instanceof Pa)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=eS>0||this._options?.leakWarningThreshold?new Ag(r?.onListenerError??Ze,this._options?.leakWarningThreshold??eS):void 0,this._perfMon=this._options?._profName?new Lg(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(Xb){let r=this._listeners;queueMicrotask(()=>{Ok(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=new Og(`${l}. HINT: Stack shows most frequent listener (${c[1]}-times)`,c[0]);return(this._options?.onListenerError||Ze)(d),k.None}if(this._disposed)return k.None;e&&(r=r.bind(e));let n=new Pa(r),o,s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=Ea.create(),o=this._leakageMon.check(n.stack,this._size+1)),Xb&&(n.stack=s??Ea.create()),this._listeners?this._listeners instanceof Pa?(this._deliveryQueue??=new Wg,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 Fg(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*Mk<=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||Ze;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 Pa)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}},Wg=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}},ws=class extends S{constructor(e){super(e);this._isPaused=0;this._eventQueue=new xa;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))}},Ap=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(Bi(()=>{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=[]}},Xc=class{constructor(){this.listening=!1;this.inputEvent=P.None;this.inputEventListener=k.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 rS,Se,Ta,qe,vt=w(()=>{Q();$();rS=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 Ta?!0:!n||typeof n!="object"?!1:typeof n.isCancellationRequested=="boolean"&&typeof n.onCancellationRequested=="function"}t.isCancellationToken=i,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:P.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:rS})})(Se||={});Ta=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?rS:(this._emitter||(this._emitter=new S),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},qe=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 Ta),this._token}cancel(){this._token?this._token instanceof Ta&&this._token.cancel():this._token=Se.Cancelled}dispose(r=!1){r&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof Ta&&this._token.dispose():this._token=Se.None}}});var $n=w(()=>{});function Wk(i){return i}var Mp,nS=w(()=>{vt();Mp=class{constructor(r,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof r=="function"?(this._fn=r,this._computeKey=Wk):(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 Sr,Io=w(()=>{Sr=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 iS=w(()=>{});function cS(i){return!i||typeof i!="string"?!0:i.trim().length===0}function dS(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 bo(i){return i.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Ug(i,r=" "){let e=Ng(i,r);return Kn(e,r)}function Ng(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 Kn(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 Yc(i,r){return i<r?-1:i>r?1:0}function Op(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 Zc(i,r){return Is(i,r,0,i.length,0,r.length)}function Is(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 Op(i.toLowerCase(),r.toLowerCase(),e,t,n,o);oS(l)&&(l-=32),oS(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 oS(i){return i>=97&&i<=122}function Bg(i){return i>=65&&i<=90}function Hr(i,r){return i.length===r.length&&Is(i,r)===0}function So(i,r){let e=r.length;return e<=i.length&&Is(i,r,0,e)===0}function uS(i,r){let e=i.length,t=e-r.length;return t>=0&&Is(i,r,t,e)===0}function pS(i){return 55296<=i&&i<=56319}function Vg(i){return 56320<=i&&i<=57343}function fS(i,r){return(i-55296<<10)+(r-56320)+65536}function Bk(){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 Fk,Uk,Nk,HW,$W,sS,aS,lS,er=w(()=>{nS();$n();Io();iS();Fk=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,Uk=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,Nk=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,HW=new RegExp("(?:"+[Fk.source,Uk.source,Nk.source].join("|")+")","g"),$W=String.fromCharCode(65279),sS=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=Bk()}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}};aS=class i{constructor(r){this.confusableDictionary=r}static{this.ambiguousCharacterData=new Sr(()=>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 Mp(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 Sr(()=>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())}},lS=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 xo(i){return i===47||i===92}function hi(i){return i.replace(/[\\/]/g,de.sep)}function mS(i){return i.indexOf("/")===-1&&(i=hi(i)),/^[a-zA-Z]:(\/|$)/.test(i)&&(i="/"+i),i}function Hg(i,r=de.sep){if(!i)return"";let e=i.length,t=i.charCodeAt(0);if(xo(t)){if(xo(i.charCodeAt(1))&&!xo(i.charCodeAt(2))){let o=3,s=o;for(;o<e&&!xo(i.charCodeAt(o));o++);if(s!==o&&!xo(i.charCodeAt(o+1))){for(o+=1;o<e;o++)if(xo(i.charCodeAt(o)))return i.slice(0,o+1).replace(/[\\/]/g,r)}}return r}else if(Fp(t)&&i.charCodeAt(1)===58)return xo(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(xo(i.charCodeAt(n)))return i.slice(0,n+1)}return""}function hS(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 gS(i,r=W){let e=r?Vk:Hk;return!(!i||i.length===0||/^\s+$/.test(i)||(e.lastIndex=0,e.test(i))||r&&$k.test(i)||i==="."||i===".."||r&&i[i.length-1]==="."||r&&i.length!==i.trim().length||i.length>255)}function Po(i,r,e){let t=i===r;return!e||t?t:!i||!r?!1:Hr(i,r)}function Hi(i,r,e,t=Mt){if(i===r)return!0;if(!i||!r||r.length>i.length)return!1;if(e){if(!So(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 Fp(i){return i>=65&&i<=90||i>=97&&i<=122}function Up(i,r){return W&&i.endsWith(":")&&(i+=Mt),yo(i)||(i=V(r,i)),i=Et(i),$g(i)}function $g(i){return W?(i=Kn(i,Mt),i.endsWith(":")&&(i+=Mt)):(i=Kn(i,Mt),i||(i=Mt)),i}function Kg(i){let r=Et(i);return W?i.length>3?!1:qg(r)&&(i.length===2||r.charCodeAt(2)===92):r===de.sep}function qg(i,r=W){return r?Fp(i.charCodeAt(0))&&i.charCodeAt(1)===58:!1}function Ca(i){let r=i.split(":"),e,t,n;for(let o of r){let s=Number(o);Hn(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 bs(i,r,e=8){let t="";for(let o=0;o<e;o++){let s;o===0&&W&&!r&&(e===3||e===4)?s=qk:s=Kk,t+=s.charAt(Math.floor(Math.random()*s.length))}let n;return r?n=`${r}-${t}`:n=t,i?V(i,n):n}var Vk,Hk,$k,Kk,qk,ln=w(()=>{$n();Te();Z();er();De();Vk=/[\\/:\*\?"<>\|]/g,Hk=/[/]/g,$k=/^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])(\.(.*?))?$/i;Kk="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",qk="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var Np=w(()=>{});function Qk(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&&!jk.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(!Gk.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(Jk.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 Xk(i,r){return!i&&!r?"file":i}function Yk(i,r){switch(i){case"https":case"http":case"file":r?r[0]!==qn&&(r=qn+r):r=qn;break}return r}function vS(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=bS[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 eR(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+=bS[t]):r!==void 0&&(r+=i[e])}return r!==void 0?r:i}function ed(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 zg(i,r){let e=r?eR:vS,t="",{scheme:n,authority:o,path:s,query:a,fragment:l}=i;if(n&&(t+=n,t+=":"),(o||n==="file")&&(t+=qn,t+=qn),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:vS(l,!1,!1)),t}function SS(i){try{return decodeURIComponent(i)}catch{return i.length>3?i.substr(0,3)+SS(i.substr(3)):i}}function Bp(i){return i.match(yS)?i.replace(yS,r=>SS(r)):i}var jk,Gk,Jk,mt,qn,Zk,E,IS,Eo,bS,yS,le=w(()=>{$n();Np();Te();Z();jk=/^\w[\w\d+.-]*$/,Gk=/^\//,Jk=/^\/\//;mt="",qn="/",Zk=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,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||mt,this.authority=r.authority||mt,this.path=r.path||mt,this.query=r.query||mt,this.fragment=r.fragment||mt):(this.scheme=Xk(r,s),this.authority=e||mt,this.path=Yk(this.scheme,t||mt),this.query=n||mt,this.fragment=o||mt,Qk(this,s))}get fsPath(){return ed(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=mt),t===void 0?t=this.authority:t===null&&(t=mt),n===void 0?n=this.path:n===null&&(n=mt),o===void 0?o=this.query:o===null&&(o=mt),s===void 0?s=this.fragment:s===null&&(s=mt),e===this.scheme&&t===this.authority&&n===this.path&&o===this.query&&s===this.fragment?this:new Eo(e,t,n,o,s)}static parse(r,e=!1){let t=Zk.exec(r);return t?new Eo(t[2]||mt,Bp(t[4]||mt),Bp(t[5]||mt),Bp(t[7]||mt),Bp(t[9]||mt),e):new Eo(mt,mt,mt,mt,mt)}static file(r){let e=mt;if(W&&(r=r.replace(/\\/g,qn)),r[0]===qn&&r[1]===qn){let t=r.indexOf(qn,2);t===-1?(e=r.substring(2),r=qn):(e=r.substring(2,t),r=r.substring(t)||qn)}return new Eo("file",e,r,mt,mt)}static from(r,e){return new Eo(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(ct.join(ed(r,!0),...e)).path:t=de.join(r.path,...e),r.with({path:t})}toString(r=!1){return zg(this,r)}toJSON(){return this}static revive(r){if(r){if(r instanceof i)return r;{let e=new Eo(r);return e._formatted=r.external??null,e._fsPath=r._sep===IS?r.fsPath??null:null,e}}else return r}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}},IS=W?1:void 0,Eo=class extends E{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=ed(this,!1)),this._fsPath}toString(e=!1){return e?zg(this,!0):(this._formatted||(this._formatted=zg(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=IS),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}},bS={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"};yS=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function tR(i,r){return E.isUri(i)?Hr(i.scheme,r):So(i,r+":")}function Jg(i,...r){return r.some(e=>tR(i,e))}function nR(i){return`${i.quality??"oss"}-${i.commit??"dev"}`}var F,rR,jg,Qg,_a,Gg,rt,xS,PS,ka,He=w(()=>{Be();Z();er();le();Te();(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||={});rR="tkn",jg=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??"/",nR(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 Ze(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+=`&${rR}=${encodeURIComponent(o)}`),E.from({scheme:Rr?this._preferredWebSchema:F.vscodeRemoteResource,authority:`${t}:${n}`,path:this._remoteResourcesPath,query:s})}},Qg=new jg;_a="vscode-app",Gg=class i{static{this.FALLBACK_AUTHORITY=_a}asBrowserUri(r){let e=this.toUri(r);return this.uriToBrowserUri(e)}uriToBrowserUri(r){return r.scheme===F.vscodeRemote?Qg.rewrite(r):r.scheme===F.file&&(vp||mb===`${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=V(e,r);return E.file(t)}throw new Error("Cannot determine URI for module id!")}},rt=new Gg,xS=Object.freeze({"Cache-Control":"no-cache, no-store"}),PS=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})(ka||={})});function dr(i){return ed(i,!0)}var Ss,Me,ze,Ra,td,Xg,lF,iR,$r,TS,CS,me,Vp,cF,dF,_S,Ar,ES,kS,uF,oR,yt=w(()=>{$n();ln();He();Te();Z();er();le();Ss=class{constructor(r){this._ignorePathCasing=r}compare(r,e,t=!1){return r===e?0:Yc(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 Hi(dr(r),dr(e),this._ignorePathCasing(r))&&r.query===e.query&&(t||r.fragment===e.fragment);if(Ar(r.authority,e.authority))return Hi(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 $r(r)||r.authority}basename(r){return de.basename(r.path)}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(Qe(dr(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(Et(dr(r))).path:e=de.normalize(r.path),r.with({path:e})}relativePath(r,e){if(r.scheme!==e.scheme||!Ar(r.authority,e.authority))return;if(r.scheme===F.file){let o=bp(dr(r),dr(e));return W?hi(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(nn(dr(r),e));return r.with({authority:t.authority,path:t.path})}return e=mS(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&&Hr(r,e)}hasTrailingPathSeparator(r,e=Mt){if(r.scheme===F.file){let t=dr(r);return t.length>Hg(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=Mt){return ES(r,e)?r.with({path:r.path.substr(0,r.path.length-1)}):r}addTrailingPathSeparator(r,e=Mt){let t=!1;if(r.scheme===F.file){let n=dr(r);t=n!==void 0&&n.length===Hg(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&&!ES(r,e)?r.with({path:r.path+"/"}):r}},Me=new Ss(()=>!1),ze=new Ss(i=>i.scheme===F.file?!ie:!0),Ra=new Ss(i=>!0),td=Me.isEqual.bind(Me),Xg=Me.isEqualOrParent.bind(Me),lF=Me.getComparisonKey.bind(Me),iR=Me.basenameOrAuthority.bind(Me),$r=Me.basename.bind(Me),TS=Me.extname.bind(Me),CS=Me.dirname.bind(Me),me=Me.joinPath.bind(Me),Vp=Me.normalizePath.bind(Me),cF=Me.relativePath.bind(Me),dF=Me.resolvePath.bind(Me),_S=Me.isAbsolutePath.bind(Me),Ar=Me.isEqualAuthority.bind(Me),ES=Me.hasTrailingPathSeparator.bind(Me),kS=Me.removeTrailingPathSeparator.bind(Me),uF=Me.addTrailingPathSeparator.bind(Me);(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})(oR||={})});var RS,DS=w(()=>{RS=Symbol("MicrotaskDelay")});function jp(i){return!!i&&typeof i.then=="function"}function zn(i){let r=new qe,e=i(r.token),t=!1,n=new Promise((o,s)=>{let a=r.token.onCancellationRequested(()=>{t=!0,a.dispose(),s(new bt)});Promise.resolve(e).then(l=>{a.dispose(),r.dispose(),t?Lp(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 ev(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 MS(){let i,r;return{promise:new Promise((t,n)=>{i=t,r=n}),resolve:i,reject:r}}function ot(i,r){return r?new Promise((e,t)=>{let n=setTimeout(()=>{o.dispose(),e()},i),o=r.onCancellationRequested(()=>{clearTimeout(n),o.dispose(),t(new bt)})}):zn(e=>ot(i,e))}function OS(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 WS(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 FS(i,r,e){let t;for(let n=0;n<e;n++)try{return await i()}catch(o){t=o,await ot(r)}throw t}var rd,sR,aR,$i,xr,gi,nd,Cn,Da,id,$p,ur,Kp,qp,La,od,Hp,Yg,zp,$t,ht,LS,Zg,AS,ge=w(()=>{vt();Be();Q();$();yt();Z();DS();Io();rd=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new qe}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()}},sR=(i,r)=>{let e=!0,t=setTimeout(()=>{e=!1,r()},i);return{isTriggered:()=>e,dispose:()=>{clearTimeout(t),e=!1}}},aR=i=>{let r=!0;return queueMicrotask(()=>{r&&(r=!1,i())}),{isTriggered:()=>r,dispose:()=>{r=!1}}},$i=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===RS?aR(t):sR(e,t),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new bt),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},xr=class{constructor(r){this.delayer=new $i(r),this.throttler=new rd}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()}},gi=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}};nd=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?P.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()}},Cn=class extends nd{constructor(){super(1)}},Da=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 $t;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=Me){let t=e.getComparisonKey(r);return this.queues.get(t)?.size??0}queueFor(r,e,t=Me){let n=t.getComparisonKey(r),o=this.queues.get(n);if(!o){o=new Cn;let s=this.drainListenerCount++,a=P.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 cr),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()}},id=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 Vn("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 Vn("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,r()},e))}},$p=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 Vn("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}},ur=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?.()}},Kp=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 ur{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()}},La=class extends k{constructor(e,t){super();this.options=e;this.handler=t;this.pendingWork=[];this.throttler=this._register(new Zt);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 ur(()=>{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"?Hp=(r,e,t)=>{gb(()=>{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)}}}:Hp=(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))}}},od=(r,e)=>Hp(globalThis,r,e)})();Yg=class{constructor(r,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=Hp(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}},zp=class extends Yg{constructor(r){super(globalThis,r)}};$t=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 bt)}};(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})(ht||={});LS=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 P.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())}},Zg=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 Vn("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 $t;return this._unsatisfiedConsumers.push(r),r.p}}},AS=class i{constructor(r,e){this._onReturn=e;this._producerConsumer=new Zg;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 $t,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 vi(i){return US(i,"NFC",lR)}function dR(i){return US(i,"NFD",cR)}function US(i,r,e){if(!i)return i;let t=e.get(i);if(t)return t;let n;return uR.test(i)?n=i.normalize(r):n=i,e.set(i,n),n}var lR,cR,uR,kF,sd=w(()=>{Lr();lR=new pi(1e4);cR=new pi(1e4);uR=/[^\u0000-\u0080]/;kF=(function(){let i=new pi(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 we from"fs";import{tmpdir as pR}from"os";import{promisify as ad}from"util";async function VS(i,r=0,e){if(Kg(i))throw new Error("rimraf - will refuse to recursively delete root");return r===0?tv(i):fR(i,e)}async function fR(i,r=bs(pR())){try{try{await we.promises.rename(i,r)}catch(e){return e.code==="ENOENT"?void 0:tv(i)}tv(r).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function tv(i){return we.promises.rm(i,{recursive:!0,force:!0,maxRetries:3})}async function Gp(i,r){try{return await NS(i,r)}catch(e){if(e.code==="ENOENT"&&W&&Kg(i))try{return await NS(`${i}.`,r)}catch{}throw e}}async function NS(i,r){return hR(await(r?mR(i):we.promises.readdir(i)))}async function mR(i){try{return await we.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 Gp(i);for(let t of e){let n=!1,o=!1,s=!1;try{let a=await we.promises.lstat(V(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 hR(i){return i.map(r=>typeof r=="string"?B?vi(r):r:(r.name=B?vi(r.name):r.name,r))}async function gR(i){let r=await Gp(i),e=[];for(let t of r)await Qt.existsDirectory(V(i,t))&&e.push(t);return e}function HS(i,r=1e3){return new Promise(e=>{let t=!1,n=setInterval(()=>{t||(t=!0,we.access(i,o=>{t=!1,o&&(clearInterval(n),e(void 0))}))},r)})}function yR(i,r,e){return vR.queueFor(E.file(i),()=>{let t=bR(e);return new Promise((n,o)=>IR(i,r,t,s=>s?o(s):n()))},ze)}function wR(i){$S=i}function IR(i,r,e,t){if(!$S)return we.writeFile(i,r,{mode:e.mode,flag:e.flag},t);we.open(i,e.flag,e.mode,(n,o)=>{if(n)return t(n);we.writeFile(o,r,s=>{if(s)return we.close(o,()=>t(s));we.fdatasync(o,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),wR(!1)),we.close(o,l=>t(l))))})})}function bR(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 SR(i,r,e=6e4){if(i!==r)try{W&&typeof e=="number"?await KS(i,r,Date.now(),e):await we.promises.rename(i,r)}catch(t){if(i.toLowerCase()!==r.toLowerCase()&&t.code==="EXDEV"||i.endsWith("."))await qS(i,r,{preserveSymlinks:!1}),await VS(i,1);else throw t}}async function KS(i,r,e,t,n=0){try{return await we.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 Qt.stat(r);a.isFile()||(s=!0)}catch{}if(s)throw o}return await ot(Math.min(100,n*10)),KS(i,r,e,t,n+1)}}async function qS(i,r,e){return zS(i,r,{root:{source:i,target:r},options:e,handledSourcePaths:new Set})}async function zS(i,r,e){if(e.handledSourcePaths.has(i))return;e.handledSourcePaths.add(i);let{stat:t,symbolicLink:n}=await Qt.stat(i);if(n){if(e.options.preserveSymlinks)try{return await ER(i,r,e)}catch{}if(n.dangling)return}return t.isDirectory()?xR(i,r,t.mode&BS,e):PR(i,r,t.mode&BS)}async function xR(i,r,e,t){await we.promises.mkdir(r,{recursive:!0,mode:e});let n=await Gp(i);for(let o of n)await zS(V(i,o),V(r,o),t)}async function PR(i,r,e){await we.promises.copyFile(i,r),await we.promises.chmod(r,e)}async function ER(i,r,e){let t=await we.promises.readlink(i);Hi(t,e.root.source,!ie)&&(t=V(e.root.target,t.substr(e.root.source.length+1))),await we.promises.symlink(t,r)}async function TR(i){try{return await ad(we.realpath)(i)}catch{let r=CR(i);return await we.promises.access(r,we.constants.R_OK),r}}function CR(i){return Kn(Et(i),Mt)}var Qt,vR,$S,BS,z,Xt=w(()=>{ge();ln();sd();Te();Z();yt();le();er();(t=>{async function i(n){let o;try{if(o=await we.promises.lstat(n),!o.isSymbolicLink())return{stat:o}}catch{}try{return{stat:await we.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 we.promises.stat(await we.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})(Qt||={});vR=new Da;$S=!0;BS=511;z=new class{get read(){return(i,r,e,t,n)=>new Promise((o,s)=>{we.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)=>{we.write(i,r,e,t,n,(a,l,c)=>a?s(a):o({bytesWritten:l,buffer:c}))})}get fdatasync(){return ad(we.fdatasync)}get open(){return ad(we.open)}get close(){return ad(we.close)}get ftruncate(){return ad(we.ftruncate)}async exists(i){try{return await we.promises.access(i),!0}catch{return!1}}get readdir(){return Gp}get readDirsInDir(){return gR}get writeFile(){return yR}get rm(){return VS}get rename(){return SR}get copy(){return qS}get realpath(){return TR}}});function jS(){let i=GS();return i?Array.from(i):[]}function GS(){return process.uncHostAllowlist}function qi(i){if(process.platform!=="win32")return;let r=GS();if(r)if(typeof i=="string")r.add(i.toLowerCase());else for(let e of DR(i))qi(e)}function DR(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 Jp(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 JS(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}function QS(){return process.platform!=="win32"?!0:process.restrictUNCAccess===!1}var Aa=w(()=>{});var XS,JF,dd=w(()=>{Ee();XS="/etc/vscode/policy.json",JF={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 LR(i,r,e){r[jn.DI_TARGET]===r?r[jn.DI_DEPENDENCIES].push({id:i,index:e}):(r[jn.DI_DEPENDENCIES]=[{id:i,index:e}],r[jn.DI_TARGET]=r)}function O(i){if(jn.serviceIds.has(i))return jn.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");LR(r,e,n)};return r.toString=()=>i,jn.serviceIds.set(i,r),r}var jn,Wt,ne=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})(jn||={});Wt=O("instantiationService")});function Qp(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifier||typeof r.overrideIdentifier=="string")&&(!r.resource||r.resource instanceof E)}function YS(i){let r=i;return r&&typeof r=="object"&&(!r.overrideIdentifiers||Array.isArray(r.overrideIdentifiers))&&!r.overrideIdentifier&&(!r.resource||r.resource instanceof E)}function Xp(i,r){let e=Object.create(null);for(let t in i)nv(e,t,i[t],r);return e}function nv(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 ZS(i,r){let e=r.split(".");e1(i,e)}function e1(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)&&(e1(n,r),Object.keys(n).length===0&&delete e[t])}}function ud(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 t1(i){return i.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var he,nt=w(()=>{Ia();De();le();ne();he=O("configurationService")});function r1(i){let r=!1,e=new Map,t=new Map;if(AR(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 Ma(i){return typeof i=="object"&&i!==null}function AR(i,r){if(!i||typeof i!="object")return;let e=(...l)=>{for(let c of l)Ma(c)&&s.push(c)},t=(...l)=>{for(let c of l)if(Ma(c))for(let d in c){let u=c[d];Ma(u)&&s.push(u)}},n=(...l)=>{for(let c of l)if(Array.isArray(c))for(let d of c)Ma(d)&&s.push(d)},o=l=>{if(Array.isArray(l))for(let c of l)Ma(c)&&s.push(c);else Ma(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 n1=w(()=>{});var iv,St,Gn=w(()=>{Ia();De();iv=class{constructor(){this.data=new Map}add(r,e){kp(Ae(r)),kp(Ke(e)),kp(!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=>{jc(r.dispose)&&r.dispose()}),this.data.clear()}},St=new iv});function i1(i){return i.length>0&&i.charAt(i.length-1)==="#"?i.substring(0,i.length-1):i}var sv,ov,OR,o1=w(()=>{Q();n1();$();Gn();sv={JSONContribution:"base.contributions.json"};ov=class extends k{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=i1(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=i1(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?r1(t):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},OR=new ov;St.add(sv.JSONContribution,OR)});var cn,av,pr,Oa=w(()=>{Bn();av=globalThis.vscode;if(typeof av<"u"&&typeof av.context<"u"){let i=av.context.configuration();if(i)cn=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(cn=globalThis._VSCODE_PRODUCT_JSON,br.VSCODE_DEV&&Object.assign(cn,{nameShort:`${cn.nameShort} Dev`,nameLong:`${cn.nameLong} Dev`,dataFolderName:`${cn.dataFolderName}-dev`,serverDataFolderName:cn.serverDataFolderName?`${cn.serverDataFolderName}-dev`:void 0}),!cn.version){let i=globalThis._VSCODE_PACKAGE_JSON;Object.assign(cn,{version:i.version})}}else cn={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",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","devDeviceId","contribEditorContentMenu","tokenInformation","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.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"}},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.112.0",commit:"07ff9d6178ede9a1bd12ad3399074d726ebe6e43",date:"2026-03-17T18:09:23Z"},Object.keys(cn).length===0&&Object.assign(cn,{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:[]}});pr=cn});function WR(i,r){return i===r?!0:!i||!r?!1:typeof i=="string"||typeof r=="string"?i===r:i.id===r.id}function Wa(i){let r=[];if(yi.test(i)){let e=s1.exec(i);for(;e?.length;){let t=e[1].trim();t&&r.push(t),e=s1.exec(i)}}return Dr(r)}function l1(i){return i.reduce((r,e)=>`${r}[${e}]`,"")}function FR(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 UR(i,r,e){return i.trim()?yi.test(i)?h(1851,null,i):sf.getConfigurationProperties()[i]!==void 0&&(!e||!NR.has(e.toLowerCase()))?h(1849,null,i):r.policy?.name&&sf.getPolicyConfigurations().get(r.policy?.name)!==void 0?h(1848,null,i,r.policy?.name,sf.getPolicyConfigurations().get(r.policy?.name)):null:h(1850,null)}var tr,Yp,Zp,ef,tf,rf,nf,pd,xs,of,lv,a1,s1,To,yi,sf,NR,zi=w(()=>{Ht();Q();De();Ee();nt();o1();Gn();$();Oa();tr={Configuration:"base.contributions.configuration"};Yp={properties:{},patternProperties:{}},Zp={properties:{},patternProperties:{}},ef={properties:{},patternProperties:{}},tf={properties:{},patternProperties:{}},rf={properties:{},patternProperties:{}},nf={properties:{},patternProperties:{}},pd={properties:{},patternProperties:{}},xs="vscode://schemas/settings/resourceLanguage",of=St.as(sv.JSONContribution),lv=class extends k{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(1853,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},of.registerSchema(xs,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),of.registerSchema(xs,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}deregisterConfigurations(e){let t=new Set;this.doDeregisterConfigurations(e,t),of.registerSchema(xs,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),of.registerSchema(xs,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}),yi.test(a)){let d=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!d)continue;l.configurationDefaultOverrideValue=d,this.updateDefaultOverrideProperty(a,d,s),n.push(...Wa(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?WR(c.source,o):c.value===n[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),yi.test(s)){let c;for(let d of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,d.value,d.source,c);c&&!Dp(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(1852,null,t1(e)),$ref:xs,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(Ke(c)&&(Tn(s[l])||Ke(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(Ke(t)&&(s!==void 0&&s.type==="object"||s===void 0&&(Tn(a)||Ke(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={...Ke(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=Ot(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&&UR(d,u,n?.id)){delete l[d];continue}u.source=n,u.defaultDefaultValue=l[d].default,this.updatePropertyDefaultValue(d,u),yi.test(d)?u.scope=void 0:(u.scope=Ot(u.scope)?s:u.scope,u.restricted=Ot(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(Yp.properties[e]=t,t.scope){case 1:Zp.properties[e]=t;break;case 2:tf.properties[e]=t;break;case 3:ef.properties[e]=t;break;case 7:rf.properties[e]=t;break;case 4:nf.properties[e]=t;break;case 5:pd.properties[e]=t;break;case 6:pd.properties[e]=t,this.resourceLanguageSettingsSchema.properties[e]=t;break}}removeFromSchema(e,t){switch(delete Yp.properties[e],t.scope){case 1:delete Zp.properties[e];break;case 2:delete tf.properties[e];break;case 3:delete ef.properties[e];break;case 7:delete rf.properties[e];break;case 4:delete nf.properties[e];break;case 5:case 6:delete pd.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:"object",description:h(1854,null),errorMessage:h(1855,null),$ref:xs};this.updatePropertyDefaultValue(t,n),Yp.properties[t]=n,Zp.properties[t]=n,ef.properties[t]=n,tf.properties[t]=n,rf.properties[t]=n,nf.properties[t]=n,pd.properties[t]=n}}registerOverridePropertyPatternKey(){let e={type:"object",description:h(1854,null),errorMessage:h(1855,null),$ref:xs};Yp.patternProperties[To]=e,Zp.patternProperties[To]=e,ef.patternProperties[To]=e,tf.patternProperties[To]=e,rf.patternProperties[To]=e,nf.patternProperties[To]=e,pd.patternProperties[To]=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),Tn(o)&&(o=t.defaultDefaultValue,s=void 0),Tn(o)&&(o=FR(t.type)),t.default=o,t.defaultValueSource=s}},a1="\\[([^\\]]+)\\]",s1=new RegExp(a1,"g"),To=`^(${a1})+$`,yi=new RegExp(To);sf=new lv;St.add(tr.Configuration,sf);NR=new Set(pr.defaultChatAgent?[pr.defaultChatAgent.extensionId,pr.defaultChatAgent.chatExtensionId].map(i=>i.toLowerCase()):[])});var BR,d1=w(()=>{Z();dd();Ee();zi();Oa();Gn();BR=St.as(tr.Configuration);BR.registerConfiguration({id:"update",order:15,title:h(2706,null),type:"object",properties:{"update.mode":{type:"string",enum:["none","manual","start","default"],default:"default",scope:1,description:h(2707,null),tags:["usesOnlineServices"],enumDescriptions:[h(2697,null),h(2696,null),h(2699,null),h(2690,null)],policy:{name:"UpdateMode",category:"Update",minimumVersion:"1.67",localization:{description:{key:"updateMode",value:h(2707,null)},enumDescriptions:[{key:"none",value:h(2697,null)},{key:"manual",value:h(2696,null)},{key:"start",value:h(2699,null)},{key:"default",value:h(2690,null)}]}}},"update.channel":{type:"string",default:"default",scope:1,description:h(2707,null),deprecationMessage:h(2691,null,"update.mode")},"update.enableWindowsBackgroundUpdates":{type:"boolean",default:!0,scope:1,title:h(2694,null),description:h(2693,null),included:W&&!Rr},"update.showReleaseNotes":{type:"boolean",default:!0,scope:1,description:h(2698,null),tags:["usesOnlineServices"]},"update.statusBar":{type:"string",enum:["hidden","actionable","detailed"],default:"detailed",scope:1,description:h(2700,null),enumDescriptions:[h(2695,null),h(2689,null),h(2692,null)]},"update.titleBar":{type:"string",enum:["none","actionable","detailed","always"],default:pr.quality!=="stable"?"actionable":"none",scope:1,tags:["experimental"],experiment:{mode:"startup"},description:h(2701,null),enumDescriptions:[h(2705,null),h(2702,null),h(2704,null),h(2703,null)]}}})});function cv(i,r){return r&&(i.stack||i.stacktrace)?h(116,null,p1(i),u1(i.stack)||u1(i.stacktrace)):p1(i)}function u1(i){return Array.isArray(i)?i.join(`
`):i}function p1(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 Pr(i=null,r=!1){if(!i)return h(113,null);if(Array.isArray(i)){let e=it(i),t=Pr(e[0],r);return e.length>1?h(114,null,t,e.length):t}if(Ae(i))return i;if(i.detail){let e=i.detail;if(e.error)return cv(e.error,r);if(e.exception)return cv(e.exception,r)}return i.stack?cv(i,r):i.message?i.message:h(113,null)}var Co=w(()=>{Ht();De();Ee()});function ji(i,r){let{os:e,tildify:t,relative:n}=r;if(n){let a=VR(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=HR(l,a,e)}return(e===1?ct:de).normalize(md(o,e===1))}function VR(i,r,e){let t=e===1?ct:de,n=e===3?Me:Ra,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 md(i,r=W){return qg(i,r)?i.charAt(0).toUpperCase()+i.slice(1):i}function HR(i,r,e=Jt){if(e===1||!i||!r)return i;let t=dv.original===r?dv.normalized:void 0;t||(t=r,W&&(t=hi(t)),t=`${Kn(t,de.sep)}${de.sep}`,dv={original:r,normalized:t});let n=i;return W&&(n=hi(n)),(e===3?n.startsWith(t):So(n,t))?`~/${n.substr(t.length)}`:i}function m1(i,r){return B||r?i.replace(/\(&&\w\)|&&/g,"").replace(/&/g,B?"&":"&&"):i.replace(/&&|&/g,e=>e==="&"?"&&":"&")}function hd(i,r){let e=i.replace(/\(&&\w\)|&&/g,"");if(r)return e;if(B)return{withMnemonic:e,withoutMnemonic:e};let t;return W?t=i.replace(/&&|&/g,n=>n==="&"?"&&":"&"):t=i.replace(/&&/g,"_"),{withMnemonic:t,withoutMnemonic:e}}function h1(i){if(i.endsWith("]")){let r=i.lastIndexOf(" [",i.length-2);if(r!==-1){let e=f1(i.substring(0,r)),t=i.substring(r);return{name:e.name+t,parentPath:e.parentPath}}}return f1(i)}function f1(i){let r=i.indexOf("/")!==-1?de:ct,e=r.basename(i),t=r.dirname(i);return e.length?{name:e,parentPath:t}:{name:t,parentPath:""}}var dv,Gi=w(()=>{ln();Te();Z();yt();er();dv=Object.create(null)});function gd(i){let r=i;return r?[r.on,r.pause,r.resume,r.destroy].every(e=>typeof e=="function"):!1}function lf(i){let r=i;return r?gd(r.stream)&&Array.isArray(r.buffer)&&typeof r.ended=="boolean":!1}function _o(i,r){return new uv(i,r)}function g1(i,r){let e=[],t;for(;(t=i.read())!==null;)e.push(t);return r(e)}function v1(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 cf(i,r){return new Promise((e,t)=>{let n=[];Fa(i,{onData:o=>{r&&n.push(o)},onError:o=>{r?t(o):e(void 0)},onEnd:()=>{e(r?r(n):void 0)}})})}function Fa(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 y1(i,r){return new Promise((e,t)=>{let n=new re,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 w1(i){let r=!1;return{read:()=>r?null:(r=!0,i)}}function Ua(i,r,e){let t=_o(e);return Fa(i,{onData:n=>t.write(r.data(n)),onError:n=>t.error(r.error?r.error(n):n),onEnd:()=>t.end()}),t}var uv,Ps=w(()=>{Be();$();uv=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?Ze(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 qR(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=KR.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 zR(i,r){return i[r]*2**24+i[r+1]*2**16+i[r+2]*2**8+i[r+3]}function jR(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 GR(i,r){return i[r+0]<<0>>>0|i[r+1]<<8>>>0|i[r+2]<<16>>>0|i[r+3]<<24>>>0}function JR(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 QR(i,r){return i[r]}function XR(i,r,e){i[e]=r}function b1(i){return g1(i,r=>H.concat(r))}function S1(i){return w1(i)}function Es(i){return cf(i,r=>H.concat(r))}async function x1(i){return i.ended?H.concat(i.buffer):H.concat([...i.buffer,await Es(i.stream)])}function P1(i){return Ua(i,{data:r=>typeof r=="string"?H.fromString(r):H.wrap(r)},r=>H.concat(r))}function E1(i){return _o(r=>H.concat(r),i)}function T1({buffer:i}){let r="";for(let e=0;e<i.length;e++){let t=i[e];r+=I1[t>>>4],r+=I1[t&15]}return r}var vd,KR,pv,fv,H,I1,et=w(()=>{Io();Ps();vd=typeof Buffer<"u",KR=new Sr(()=>new Uint8Array(256)),H=class i{static alloc(r){return vd?new i(Buffer.allocUnsafe(r)):new i(new Uint8Array(r))}static wrap(r){return vd&&!Buffer.isBuffer(r)&&(r=Buffer.from(r.buffer,r.byteOffset,r.byteLength)),new i(r)}static fromString(r,e){return!(e?.dontUseNodeBuffer||!1)&&vd?new i(Buffer.from(r)):(pv||(pv=new TextEncoder),new i(pv.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 vd&&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 vd?this.buffer.toString():(fv||(fv=new TextDecoder(void 0,{ignoreBOM:!0})),fv.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 zR(this.buffer,r)}writeUInt32BE(r,e){jR(this.buffer,r,e)}readUInt32LE(r){return GR(this.buffer,r)}writeUInt32LE(r,e){JR(this.buffer,r,e)}readUInt8(r){return QR(this.buffer,r)}writeUInt8(r,e){XR(this.buffer,r,e)}indexOf(r,e=0){return qR(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])}};I1="0123456789abcdef"});var C1=w(()=>{De();$();vt()});function ue(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 ko=w(()=>{C1()});function _1(i){return JSON.stringify(i,YR)}function k1(i){let r=JSON.parse(i);return r=Jn(r),r}function YR(i,r){return r instanceof RegExp?{$mid:2,source:r.source,flags:r.flags}:r}function Jn(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]=Jn(i[e],r+1);else for(let e in i)Object.hasOwnProperty.call(i,e)&&(i[e]=Jn(i[e],r+1))}return i}var yd=w(()=>{et();le();Np()});function Va(i){switch(i){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function df(i){switch(i){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function Na(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 Ba(i,r){if(r===0){i.write(ZR);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 Ro(i){let r=H.alloc(1);return r.writeUInt8(i,0),r}function Ha(i,r){if(typeof r>"u")i.write(Ts.Undefined);else if(typeof r=="string"){let e=H.fromString(r);i.write(Ts.String),Ba(i,e.byteLength),i.write(e)}else if(H.isNativeBuffer(r)){let e=H.wrap(r);i.write(Ts.Buffer),Ba(i,e.byteLength),i.write(e)}else if(r instanceof H)i.write(Ts.VSBuffer),Ba(i,r.byteLength),i.write(r);else if(Array.isArray(r)){i.write(Ts.Array),Ba(i,r.length);for(let e of r)Ha(i,e)}else if(typeof r=="number"&&(r|0)===r)i.write(Ts.Uint),Ba(i,r);else{let e=H.fromString(JSON.stringify(r));i.write(Ts.Object),Ba(i,e.byteLength),i.write(e)}}function $a(i){switch(i.read(1).readUInt8(0)){case 0:return;case 1:return i.read(Na(i)).toString();case 2:return i.read(Na(i)).buffer;case 3:return i.read(Na(i));case 4:{let e=Na(i),t=[];for(let n=0;n<e;n++)t.push($a(i));return t}case 5:return JSON.parse(i.read(Na(i)).toString());case 6:return Na(i)}}function Sd(i){return{call(r,e,t){return i.then(n=>n.call(r,e,t))},listen(r,e){let t=new Xc;return i.then(n=>t.input=n.listen(r,e)),t.event}}}function R1(i){let r=!1;return{call(e,t,n){return r?i.call(e,t,n):ot(0).then(()=>r=!0).then(()=>i.call(e,t,n))},listen(e,t){if(r)return i.listen(e,t);let n=new Xc;return ot(0).then(()=>r=!0).then(()=>n.input=i.listen(e,t)),n.event}}}var ZR,wd,Id,Ts,bd,Cs,Ka,qa,uf,Xe,wi=w(()=>{Ht();ge();et();vt();ko();Be();Q();va();$();yd();er();De();ZR=Ro(0);wd=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}},Id=class{constructor(){this.buffers=[]}get buffer(){return H.concat(this.buffers)}write(r){this.buffers.push(r)}};Ts={Undefined:Ro(0),String:Ro(1),Buffer:Ro(2),VSBuffer:Ro(3),Array:Ro(4),Object:Ro(5),Uint:Ro(6)};bd=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,df(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,df(r.type),r.data);return}}}send(r,e=void 0){let t=new Id;return Ha(t,r),Ha(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onRawMessage(r){let e=new wd(r),t=$a(e),n=$a(e),o=t[0];switch(o){case 100:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Va(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,`${Va(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,`${Va(o)}`),this.disposeActiveRequest({type:o,id:t[1]});case 103:return this.logger?.logIncoming(r.byteLength,t[1],1,`${Va(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 qe,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),dt(this.activeRequests.values()),this.activeRequests.clear()}},Cs=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 bt):e.requestPromise(r,t,n,o)},listen(t,n){return e.isDisposed?P.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 bt);let l,c;return new Promise((u,f)=>{if(n.isCancellationRequested)return f(new bt);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 _=new Error(I.data.message);_.stack=Array.isArray(I.data.stack)?I.data.stack.join(`
`):I.data.stack,_.name=I.data.name,f(_);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=zn(b=>this.whenInitialized()),y.then(()=>{y=null,m()}));let v=()=>{y?(y.cancel(),y=null):this.sendRequest({id:o,type:101}),f(new bt)};l=n.onCancellationRequested(v),c={dispose:Bi(()=>{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=zn(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,`${Va(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,Va(r.type));return}}}send(r,e=void 0){let t=new Id;return Ha(t,r),Ha(t,e),this.sendBuffer(t.buffer)}sendBuffer(r){try{return this.protocol.send(r),r.byteLength}catch{return 0}}onBuffer(r){let e=new wd(r),t=$a(e),n=$a(e),o=t[0];switch(o){case 200:return this.logger?.logIncoming(r.byteLength,0,0,df(o)),this.onResponse({type:t[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(r.byteLength,t[1],0,df(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 P.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),dt(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};T([ue],Cs.prototype,"onDidInitializePromise",1);Ka=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 re;this.disposables.add(r(({protocol:n,onDidClientDisconnect:o})=>{let s=P.once(n.onMessage);this.disposables.add(s(a=>{let l=new wd(a),c=$a(l),d=new bd(n,c,e,t),u=new Cs(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(jc(e)){let c=Ob(t.connections.filter(e));a=c?Promise.resolve(c):P.toPromise(P.filter(t.onDidAddConnection,e))}else a=e.routeCall(t,n,o);let l=a.then(c=>c.channelClient.getChannel(r));return Sd(l).call(n,o,s)},listen(n,o){if(jc(e))return t.getMulticastEvent(r,e,n,o);let s=e.routeEvent(t,n,o).then(a=>a.channelClient.getChannel(r));return Sd(s).listen(n,o)}}}getMulticastEvent(r,e,t,n){let o=this,s,a=new S({onWillAddFirstListener:()=>{s=new re;let l=new Ap,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),P.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()}},qa=class{constructor(r,e,t=null){let n=new Id;Ha(n,e),r.send(n.buffer),this.channelClient=new Cs(r,t),this.channelServer=new bd(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()}};uf=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 P.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,P.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,P.buffer(l[f],f,!0,void 0,s)),d.get(f)}throw new on(`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]=Jn(m[b]);let v=y.apply(l,m);return v instanceof Promise||(v=Promise.resolve(v)),v}throw new on(`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&&!Ot(s.context)?u=[s.context,...d]:u=d;let f=await o.call(c,u);return a?f:Jn(f)};throw new on(`Property not found: ${String(c)}`)}})}n.toService=r;function e(o){return o[0]==="o"&&o[1]==="n"&&Bg(o.charCodeAt(2))}function t(o){return/^onDynamic/.test(o)&&Bg(o.charCodeAt(9))}})(Xe||={})});function D1(i){return eD.test(i)}var eD,Ce,Kt=w(()=>{eD=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;Ce=(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 Do(){return mv||(mv=H.alloc(0)),mv}function L1(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 yv,mv,xd,gn,Pd,Ed,Td,Cd,_s,hv,gv,vv,pf,wv=w(()=>{et();Q();$();wi();(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})(yv||={});mv=null;xd=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 Do();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}};gn=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}},Pd=class extends k{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 xd,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:L1(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 gn(n,o,s,t)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},Ed=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:L1(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)}},Td=class extends k{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 Ed(this._socket)),this._socketReader=this._register(new Pd(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 gn(1,0,0,e))}},Cd=class i extends qa{constructor(e,t,n=null){super(e,t,n);this.protocol=e}static fromSocket(e,t){return new i(new Td(e),t)}get onDidDispose(){return this.protocol.onDidDispose}dispose(){super.dispose();let e=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),e.end()}},_s=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=[]}},hv=class{constructor(r){this.data=r,this.next=null}},gv=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 hv(r);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},vv=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}},pf=class{constructor(r){this._onControlMessage=new _s;this.onControlMessage=this._onControlMessage.event;this._onMessage=new _s;this.onMessage=this._onMessage.event;this._onDidDispose=new _s;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new _s;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new _s;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=r.loadEstimator??vv.getInstance(),this._shouldSendKeepAlive=r.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new gv,this._outgoingMsgId=0,this._outgoingAckId=0,this._outgoingAckTimeout=null,this._incomingMsgId=0,this._incomingAckId=0,this._incomingMsgLastTime=0,this._incomingAckTimeout=null,this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socketDisposables=new re,this._socket=r.socket,this._socketWriter=this._socketDisposables.add(new Ed(this._socket)),this._socketReader=this._socketDisposables.add(new Pd(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 gn(5,0,0,Do());this._socketWriter.write(r),this._socketWriter.flush()}}sendPause(){let r=new gn(7,0,0,Do());this._socketWriter.write(r)}sendResume(){let r=new gn(8,0,0,Do());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 re,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 Ed(this._socket)),this._socketReader=this._socketDisposables.add(new Pd(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 gn(3,0,this._incomingAckId,Do());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 gn(6,0,0,Do())))}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 gn(1,e,this._incomingAckId,r);this._outgoingUnackMsg.push(t),this._isReconnecting||(this._socketWriter.write(t),this._recvAckCheck())}sendControl(r){let e=new gn(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 gn(3,0,this._incomingAckId,Do());this._socketWriter.write(r)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let r=new gn(9,0,this._incomingAckId,Do());this._socketWriter.write(r)}}});import{createHash as M1}from"crypto";import{createConnection as A1,createServer as nD}from"net";import{createDeflateRaw as iD,createInflateRaw as oD}from"zlib";function O1(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=M1("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 Ji(r,e):new Iv(new Ji(r,e),d,null,!0,o)}function aD(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 W1(i,r,e){let n=M1("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"&&ff&&!process.env.VSCODE_PORTABLE?a=V(ff,`vscode-${n}-${o}-${s}.sock`):a=V(i,`${o}-${s}.sock`),cD(a),a}function cD(i){let r=lD[Fi];typeof r=="number"&&i.length>=r&&console.warn(`WARNING: IPC handle "${i}" is longer than ${r} chars, try a shorter --user-data-dir`)}function F1(i){return new Promise((r,e)=>{let t=nD();t.on("error",e),t.listen(i,()=>{t.removeListener("error",e),r(new Pv(t))})})}function U1(i,r){return new Promise((e,t)=>{let n,o=()=>{n.removeListener("error",t),e(Cd.fromSocket(new Ji(n,`ipc-client${r}`),r))};typeof i=="string"?n=A1(i,o):n=A1(i,o),n.once("error",t)})}var sD,Ji,Iv,bv,Sv,xv,ff,lD,Pv,_d=w(()=>{et();Be();Q();$();Te();Z();Kt();wi();wv();sD=3e4,Ji=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;Ze(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(),sD)},this.socket.on("end",this._endListener)}traceSocketEvent(r,e){yv.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;Ze(e)}})}catch(e){if(e.code==="EPIPE")return;Ze(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)})}},Iv=class extends k{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 bv(this,t,n,o,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),Ze(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._incomingData=new xd,this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await P.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),aD(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 P.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},bv=class extends k{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 Sv(this._tracer,o,n,{windowBits:15})),this._zlibDeflateStream=this._register(new xv(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))})}},Sv=class extends k{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=oD(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()}},xv=class extends k{constructor(e,t){super();this._tracer=e;this._onError=this._register(new S);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=iD({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()}};ff=process.env.XDG_RUNTIME_DIR,lD={2:107,1:103};Pv=class i extends Ka{static toClientConnectionEvent(r){let e=P.fromNodeEventEmitter(r,"connection");return P.map(e,t=>({protocol:new Td(new Ji(t,"ipc-server-connection")),onDidClientDisconnect:P.once(P.fromNodeEventEmitter(t,"close"))}))}constructor(r){super(i.toClientConnectionEvent(r)),this.server=r}dispose(){super.dispose(),this.server&&(this.server.close(),this.server=null)}}});import kd from"electron";var Tv,st,Qn=w(()=>{Be();He();Tv=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),kd.ipcMain.on(r,t),this}once(r,e){return kd.ipcMain.once(r,(t,...n)=>{this.validateEvent(r,t)&&e(t,...n)}),this}handle(r,e){return kd.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 kd.ipcMain.removeHandler(r),this}removeListener(r,e){let t=this.mapListenerToWrapper.get(e);return t&&(kd.ipcMain.removeListener(r,t),this.mapListenerToWrapper.delete(e)),this}validateEvent(r,e){if(!r?.startsWith("vscode:"))return Ze(`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 Ze(`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!==_a?(Ze(`Refused to handle ipcMain event for channel '${r}' because of a bad origin of '${o}'.`),!1):t?.parent!==null?(Ze(`Refused to handle ipcMain event for channel '${r}' because sender of origin '${o}' is not a main frame.`),!1):!0}},st=new Tv});import*as Rd from"os";async function mf(){if(Lo)return;if(!W){Lo={release:Rd.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{Lo={release:r||Rd.release(),buildNumber:i||dD()}}}async function N1(){return Lo||await mf(),Lo.release}async function hf(){return Lo||await mf(),Lo.buildNumber}function B1(){return Lo?.release??Rd.release()}function dD(){let i=/(\d+)\.(\d+)\.(\d+)/g.exec(Rd.release());return i&&i.length===4?parseInt(i[3],10):0}var Lo,za=w(()=>{Z()});var V1,H1,$1=w(()=>{V1="vscode:contextmenu",H1="vscode:onCloseContextMenu"});import{Menu as uD,MenuItem as Cv}from"electron";function K1(){st.on(V1,(i,r,e,t,n)=>{let o=q1(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(H1,r)}})})}function q1(i,r,e){let t=new uD;return e.forEach(n=>{let o;n.type==="separator"?o=new Cv({type:n.type}):Array.isArray(n.submenu)?o=new Cv({submenu:q1(i,r,n.submenu),label:n.label}):o=new Cv({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 z1=w(()=>{Qn();$1()});var gf,j1=w(()=>{gf=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 G1(i,r){let e=P.fromNodeEventEmitter(st,r,(n,o)=>({event:n,message:o})),t=P.filter(e,({event:n})=>n.sender.id===i);return P.map(t,({message:n})=>n&&H.wrap(n))}var vf,J1=w(()=>{Qn();et();Q();$();wi();j1();vf=class i extends Ka{static{this.Clients=new Map}static getOnDidClientConnect(){let r=P.fromNodeEventEmitter(st,"vscode:hello",({sender:e})=>e);return P.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=G1(t,"vscode:message"),a=P.any(P.signal(G1(t,"vscode:disconnect")),o.event);return{protocol:new gf(e,s),onDidClientDisconnect:a}})}constructor(){super(i.getOnDidClientConnect())}}});var _v,yf,Q1=w(()=>{et();Q();wi();_v=class{constructor(r){this.port=r;this.onMessage=P.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()}},yf=class extends qa{constructor(r,e){let t=new _v(r);super(t,e),this.protocol=t}dispose(){this.protocol.disconnect(),super.dispose()}}});var ja,kv=w(()=>{Qn();Q();Kt();Q1();ja=class extends yf{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 rr(i){return Dv(i,0)}function Dv(i,r){switch(typeof i){case"object":return i===null?Qi(349,r):Array.isArray(i)?fD(i,r):mD(i,r);case"string":return Y1(i,r);case"boolean":return pD(i,r);case"number":return Qi(i,r);case"undefined":return Qi(937,r);default:return Qi(617,r)}}function Qi(i,r){return(r<<5)-r+i|0}function pD(i,r){return Qi(i?433:863,r)}function Y1(i,r){r=Qi(149417,r);for(let e=0,t=i.length;e<t;e++)r=Qi(i.charCodeAt(e),r);return r}function fD(i,r){return r=Qi(104579,r),i.reduce((e,t)=>Dv(t,e),r)}function mD(i,r){return r=Qi(181387,r),Object.keys(i).sort().reduce((e,t)=>(e=Y1(t,e),Dv(i[t],e)),r)}function Rv(i,r,e=32){let t=e-r,n=~((1<<t)-1);return(i<<r|(n&i)>>>t)>>>0}function Dd(i,r=32){return i instanceof ArrayBuffer?T1(H.wrap(new Uint8Array(i))):(i>>>0).toString(16).padStart(r/4,"0")}var X1,Ii=w(()=>{et();er();X1=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(pS(s))if(a+1<e){let c=r.charCodeAt(a+1);Vg(c)?(a++,l=fS(s,c)):l=65533}else{o=s;break}else Vg(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()),Dd(this._h0)+Dd(this._h1)+Dd(this._h2)+Dd(this._h3)+Dd(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,Rv(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=Rv(t,5)+l+a+c+r.getUint32(u*4,!1)&4294967295,a=s,s=o,o=Rv(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 FU,Ld,wf=w(()=>{ne();FU=O("encryptionService"),Ld=O("encryptionMainService")});var Kr,Mr,dn=w(()=>{ne();Kr=O("environmentService"),Mr=Kr});function Z1(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 hD,gD,Av,KU,qU,zU,ex=w(()=>{Ee();Io();Z();hD=60,gD=hD*60,Av=gD*24,KU=Av*7,qU=Av*30,zU=Av*365});function vD(i,r){return If(i["inspect-extensions"],i["inspect-brk-extensions"],5870,r,i.debugId,i.extensionEnvironment)}function If(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 tx,Ve,rx=w(()=>{ex();ko();He();Te();Bn();yt();le();tx=/^([^.]+\..+)[:=](.+)$/,Ve=class{constructor(r,e,t){this._args=r;this.paths=e;this.productService=t}get appRoot(){return Qe(rt.asFileUri("").fsPath)}get userHome(){return E.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return E.file(V(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=Z1(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=V(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=br.VSCODE_PORTABLE;return r?E.file(V(r,"argv.json")):me(this.userHome,this.productService.dataFolderName,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return E.file(V(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let r=this.args["builtin-extensions-dir"];return r?nn(r):Et(V(rt.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let r=this.args["extensions-download-dir"];return r?E.file(nn(r)):E.file(V(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let r=this.args["extensions-dir"];if(r)return nn(r);let e=br.VSCODE_EXTENSIONS;if(e)return e;let t=br.VSCODE_PORTABLE;return t?V(t,"extensions"):me(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get extensionDevelopmentLocationURI(){let r=this.args.extensionDevelopmentPath;if(Array.isArray(r))return r.map(e=>/^[^:/?#]+?:\/\//.test(e)?E.parse(e):E.file(Et(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(Et(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 vD(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!br.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(r=>!tx.test(r))}get extensionLogLevel(){let r=[];for(let e of this.args.log||[]){let t=tx.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=br.VSCODE_PORTABLE;return r?E.file(V(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 continueOn(){return this.args.continueOn}set continueOn(r){this.args.continueOn=r}get args(){return this._args}};T([ue],Ve.prototype,"appRoot",1),T([ue],Ve.prototype,"userHome",1),T([ue],Ve.prototype,"userDataPath",1),T([ue],Ve.prototype,"appSettingsHome",1),T([ue],Ve.prototype,"tmpDir",1),T([ue],Ve.prototype,"cacheHome",1),T([ue],Ve.prototype,"stateResource",1),T([ue],Ve.prototype,"userRoamingDataHome",1),T([ue],Ve.prototype,"userDataSyncHome",1),T([ue],Ve.prototype,"sync",1),T([ue],Ve.prototype,"workspaceStorageHome",1),T([ue],Ve.prototype,"localHistoryHome",1),T([ue],Ve.prototype,"keyboardLayoutResource",1),T([ue],Ve.prototype,"argvResource",1),T([ue],Ve.prototype,"isExtensionDevelopment",1),T([ue],Ve.prototype,"untitledWorkspacesHome",1),T([ue],Ve.prototype,"builtinExtensionsPath",1),T([ue],Ve.prototype,"extensionsDownloadLocation",1),T([ue],Ve.prototype,"extensionsPath",1),T([ue],Ve.prototype,"extensionDevelopmentLocationURI",1),T([ue],Ve.prototype,"extensionDevelopmentKind",1),T([ue],Ve.prototype,"extensionTestsLocationURI",1),T([ue],Ve.prototype,"debugExtensionHost",1),T([ue],Ve.prototype,"logLevel",1),T([ue],Ve.prototype,"extensionLogLevel",1),T([ue],Ve.prototype,"serviceMachineIdResource",1),T([ue],Ve.prototype,"disableTelemetry",1),T([ue],Ve.prototype,"disableExperiments",1),T([ue],Ve.prototype,"disableWorkspaceTrust",1),T([ue],Ve.prototype,"useInMemorySecretStorage",1),T([ue],Ve.prototype,"policyFile",1),T([ue],Ve.prototype,"agentSessionsWorkspace",1)});import{homedir as yD,tmpdir as wD}from"os";function nx(i,r){return If(i["inspect-ptyhost"],i["inspect-brk-ptyhost"],5877,r,i.extensionEnvironment)}function ix(i,r){return If(i["inspect-sharedprocess"],i["inspect-brk-sharedprocess"],5879,r,i.extensionEnvironment)}var bf,Sf=w(()=>{rx();mg();bf=class extends Ve{constructor(r,e){super(r,{homeDir:yD(),tmpDir:wD(),userDataDir:dp(r,e.nameShort)},e)}}});var _e,vn,Ft=w(()=>{ko();Te();Z();_d();dn();Sf();ne();_e=Kr,vn=class extends bf{constructor(){super(...arguments);this._snapEnv={}}get backupHome(){return V(this.userDataPath,"Backups")}get mainIPCHandle(){return W1(this.userDataPath,"main",this.productService.version)}get mainLockfile(){return V(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(ie){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(ie)for(let e in this._snapEnv)process.env[e]=this._snapEnv[e],delete this._snapEnv[e]}};T([ue],vn.prototype,"backupHome",1),T([ue],vn.prototype,"mainIPCHandle",1),T([ue],vn.prototype,"mainLockfile",1),T([ue],vn.prototype,"disableUpdates",1),T([ue],vn.prototype,"isPortable",1),T([ue],vn.prototype,"crossOriginIsolated",1),T([ue],vn.prototype,"enableRDPDisplayTracking",1),T([ue],vn.prototype,"codeCachePath",1),T([ue],vn.prototype,"useCodeCache",1)});function Mv(...i){switch(i.length){case 1:return h(1879,null,i[0]);case 2:return h(1880,null,i[0],i[1]);case 3:return h(1881,null,i[0],i[1],i[2]);default:return}}var ID,bD,Ao,ox=w(()=>{$n();Be();Ee();ID=h(1878,null),bD=h(1877,null),Ao=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 Tp(`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(Mv("==","=~"));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(Mv("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Mv("||"));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(ID);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(bD);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 Ad(i,r){return i.cmp(r)}function Cf(i,r){if(typeof i=="string"){let e=parseFloat(i);isNaN(e)||(i=e)}return typeof i=="string"||typeof i=="number"?r(i):Er.INSTANCE}function lx(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 cx(i,r){return i<r?-1:i>r?1:0}function Ds(i,r,e,t){return i<e?-1:i>e?1:r<t?-1:r>t?1:0}function ax(i){return i.type===9?i.expr:[i]}var nr,SD,xD,PD,ED,TD,sx,CD,_D,kD,RD,Ov,fr,Er,Or,ks,Md,xf,Pf,Od,Rs,Ga,Wd,Fd,Ud,Nd,Wv,Ef,Bd,Tf,LN,dx=w(()=>{$n();Z();er();ox();ne();Ee();Be();nr=new Map;nr.set("false",!1);nr.set("true",!0);nr.set("isMac",B);nr.set("isLinux",ie);nr.set("isWindows",W);nr.set("isWeb",Rr);nr.set("isMacNative",B&&!Rr);nr.set("isEdge",wb);nr.set("isFirefox",vb);nr.set("isChrome",wg);nr.set("isSafari",yb);SD=Object.prototype.hasOwnProperty,xD={regexParsingWithErrorRecovery:!0},PD=h(1858,null),ED=h(1859,null),TD=h(1861,null),sx=h(1857,null),CD=h(1864,null),_D=h(1865,null),kD=h(1862,null),RD=h(1863,null),Ov=class i{constructor(r=xD){this._config=r;this._scanner=new Ao;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:PD,offset:0,lexeme:"",additionalInfo:ED});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?_D:void 0;throw this._parsingErrors.push({message:CD,offset:t.offset,lexeme:Ao.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]:fr.or(...r)}_and(){let r=[this._term()];for(;this._matchOne(15);){let e=this._term();r.push(e)}return r.length===1?r[0]:fr.and(...r)}_term(){if(this._matchOne(2)){let r=this._peek();switch(r.type){case 11:return this._advance(),Er.INSTANCE;case 12:return this._advance(),Or.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,sx),e?.negate()}case 17:return this._advance(),Rs.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(),fr.true();case 12:return this._advance(),fr.false();case 0:{this._advance();let e=this._expr();return this._consume(1,sx),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 Nd.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(Ao.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 fr.regex(e,u)}case 18:{let o=n.lexeme;this._advance();let s=null;if(!cS(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 Nd.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,TD);let n=this._value();return fr.notIn(e,n)}switch(this._peek().type){case 3:{this._advance();let n=this._value();if(this._previous().type===18)return fr.equals(e,n);switch(n){case"true":return fr.has(e);case"false":return fr.not(e);default:return fr.equals(e,n)}}case 4:{this._advance();let n=this._value();if(this._previous().type===18)return fr.notEquals(e,n);switch(n){case"true":return fr.not(e);case"false":return fr.has(e);default:return fr.notEquals(e,n)}}case 5:return this._advance(),Fd.create(e,this._value());case 6:return this._advance(),Ud.create(e,this._value());case 7:return this._advance(),Ga.create(e,this._value());case 8:return this._advance(),Wd.create(e,this._value());case 13:return this._advance(),fr.in(e,this._value());default:return fr.has(e)}}case 20:throw this._parsingErrors.push({message:kD,offset:r.offset,lexeme:"",additionalInfo:RD}),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(1860,null,r,Ao.getLexeme(e)),o=e.offset,s=Ao.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}},fr=class{static false(){return Er.INSTANCE}static true(){return Or.INSTANCE}static has(r){return ks.create(r)}static equals(r,e){return Md.create(r,e)}static notEquals(r,e){return Od.create(r,e)}static regex(r,e){return Nd.create(r,e)}static in(r,e){return xf.create(r,e)}static notIn(r,e){return Pf.create(r,e)}static not(r){return Rs.create(r)}static and(...r){return Ef.create(r,null,!0)}static or(...r){return Bd.create(r,null,!0)}static greater(r,e){return Ga.create(r,e)}static greaterEquals(r,e){return Wd.create(r,e)}static smaller(r,e){return Fd.create(r,e)}static smallerEquals(r,e){return Ud.create(r,e)}static{this._parser=new Ov({regexParsingWithErrorRecovery:!1})}static deserialize(r){return r==null?void 0:this._parser.parse(r)}};Er=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 Or.INSTANCE}},Or=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 Er.INSTANCE}},ks=class i{constructor(r,e){this.key=r;this.negated=e;this.type=2}static create(r,e=null){let t=nr.get(r);return typeof t=="boolean"?t?Or.INSTANCE:Er.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:cx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=nr.get(this.key);return typeof r=="boolean"?r?Or.INSTANCE:Er.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=Rs.create(this.key,this)),this.negated}},Md=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?ks.create(r,t):Rs.create(r,t);let n=nr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Or.INSTANCE:Er.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=nr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Or.INSTANCE:Er.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=Od.create(this.key,this.value,this)),this.negated}},xf=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:Ds(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(SD.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=Pf.create(this.key,this.valueKey)),this.negated}},Pf=class i{constructor(r,e){this.key=r;this.valueKey=e;this.type=11;this._negated=xf.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}},Od=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?Rs.create(r,t):ks.create(r,t);let n=nr.get(r);return typeof n=="boolean"?e===(n?"true":"false")?Er.INSTANCE:Or.INSTANCE:new i(r,e,t)}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=nr.get(this.key);if(typeof r=="boolean"){let e=r?"true":"false";return this.value===e?Er.INSTANCE:Or.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=Md.create(this.key,this.value,this)),this.negated}},Rs=class i{constructor(r,e){this.key=r;this.negated=e;this.type=3}static create(r,e=null){let t=nr.get(r);return typeof t=="boolean"?t?Er.INSTANCE:Or.INSTANCE:new i(r,e)}cmp(r){return r.type!==this.type?this.type-r.type:cx(this.key,r.key)}equals(r){return r.type===this.type?this.key===r.key:!1}substituteConstants(){let r=nr.get(this.key);return typeof r=="boolean"?r?Er.INSTANCE:Or.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=ks.create(this.key,this)),this.negated}};Ga=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 Cf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=Ud.create(this.key,this.value,this)),this.negated}},Wd=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 Cf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=Fd.create(this.key,this.value,this)),this.negated}},Fd=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 Cf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=Wd.create(this.key,this.value,this)),this.negated}},Ud=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 Cf(e,n=>new i(r,n,t))}cmp(r){return r.type!==this.type?this.type-r.type:Ds(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=Ga.create(this.key,this.value,this)),this.negated}},Nd=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=Wv.create(this)),this.negated}},Wv=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}};Ef=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=Ad(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=lx(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 Er.INSTANCE;if(s.type===6){n.push(...s.expr);continue}n.push(s)}if(n.length===0&&o)return Or.INSTANCE;if(n.length!==0){if(n.length===1)return n[0];n.sort(Ad);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=Bd.create(s.expr.map(d=>i.create([d,a],null,t)),null,l);c&&(n.push(c),n.sort(Ad))}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 Er.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=Bd.create(r,this,!0)}return this.negated}},Bd=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=Ad(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=lx(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 Or.INSTANCE;if(l.type===9){n=n.concat(l.expr);continue}n.push(l)}}if(n.length===0&&o)return Er.INSTANCE;n.sort(Ad)}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 Or.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 ax(e))for(let s of ax(t))n.push(Ef.create([o,s],null,!1));r.unshift(i.create(n,null,!1))}this.negated=i.create(r,this,!0)}return this.negated}},Tf=class i extends ks{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 Md.create(this.key,r)}notEqualsTo(r){return Od.create(this.key,r)}greater(r){return Ga.create(this.key,r)}},LN=O("contextKeyService")});function bi(){return new Date().toISOString()}function $d(i){return Hn(i)}function DD(i,r){return i!==0&&i<=r}function qd(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 Ja(i,r=!1){let e="";for(let t=0;t<i.length;t++){let n=i[t];if(n instanceof Error&&(n=Pr(n,r)),typeof n=="object")try{n=JSON.stringify(n)}catch{}e+=(t>0?" ":"")+n}return e}function ux(i){if(i.verbose)return 1;if(typeof i.logLevel=="string"){let r=AD(i.logLevel.toLowerCase());if(r!==void 0)return r}return Kd}function LD(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 AD(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 N,_n,Kd,Vd,Ls,_f,kf,Hd,Fv,Rf,GN,oe=w(()=>{Ee();Co();Q();Ii();$();Lr();Z();yt();De();le();dx();ne();N=O("logService"),_n=O("loggerService");Kd=3;Vd=class extends k{constructor(){super(...arguments);this.level=Kd;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 DD(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},Ls=class extends Vd{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...t){this.canLog(1)&&this.log(1,Ja([e,...t],!0))}debug(e,...t){this.canLog(2)&&this.log(2,Ja([e,...t]))}info(e,...t){this.canLog(3)&&this.log(3,Ja([e,...t]))}warn(e,...t){this.canLog(4)&&this.log(4,Ja([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,Ja(n))}else this.log(5,Ja([e,...t]))}flush(){}},_f=class extends Vd{constructor(r=Kd){super(),this.setLevel(r),this.useColors=!W}trace(r,...e){this.canLog(1)&&(this.useColors?console.log(`\x1B[90m[main ${bi()}]\x1B[0m`,r,...e):console.log(`[main ${bi()}]`,r,...e))}debug(r,...e){this.canLog(2)&&(this.useColors?console.log(`\x1B[90m[main ${bi()}]\x1B[0m`,r,...e):console.log(`[main ${bi()}]`,r,...e))}info(r,...e){this.canLog(3)&&(this.useColors?console.log(`\x1B[90m[main ${bi()}]\x1B[0m`,r,...e):console.log(`[main ${bi()}]`,r,...e))}warn(r,...e){this.canLog(4)&&(this.useColors?console.warn(`\x1B[93m[main ${bi()}]\x1B[0m`,r,...e):console.warn(`[main ${bi()}]`,r,...e))}error(r,...e){this.canLog(5)&&(this.useColors?console.error(`\x1B[91m[main ${bi()}]\x1B[0m`,r,...e):console.error(`[main ${bi()}]`,r,...e))}flush(){}},kf=class extends Vd{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()}},Hd=class extends k{constructor(e,t,n){super();this.logLevel=e;this.logsHome=t;this._loggers=new ft;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 Ae(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=Ae(e)?e:t?.id??rr(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 Ae(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()}},Fv=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(){}},Rf=class extends Fv{};GN=new Tf("logLevel",LD(3))});var Mo,Qa,Uv=w(()=>{ge();Q();$();yd();De();Mo=class i extends k{constructor(e,t=Object.create(null)){super();this.database=e;this.options=t;this._onDidChangeStorage=this._register(new ws);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new xr(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;Ot(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 Ot(n)?t:n}getBoolean(e,t){let n=this.get(e);return Ot(n)?t:n==="true"}getNumber(e,t){let n=this.get(e);return Ot(n)?t:parseInt(n,10)}getObject(e,t){let n=this.get(e);return Ot(n)?t:k1(n)}async set(e,t,n=!1){if(this.state===2)return;if(Ot(t))return this.delete(e,n);let o=Ke(t)||Array.isArray(t)?_1(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}},Qa=class{constructor(){this.onDidChangeItemsExternal=P.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 Nv,Bv,Df,Vv,Xi,Xa,qr,As=w(()=>{Ht();Ia();$n();er();Nv=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]}},Bv=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?Op(r,this._value,0,r.length,this._from,this._to):Is(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Df=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?Op(r,this._value,0,r.length,this._from,this._to):Is(r,this._value,0,r.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Vv=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 Df(!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 Zc(r,this._value.scheme);if(this._states[this._stateIdx]===2)return Zc(r,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(r);if(this._states[this._stateIdx]===4)return Yc(r,this._value.query);if(this._states[this._stateIdx]===5)return Yc(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}},Xi=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}},Xa=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}},qr=class i{static forUris(r=()=>!1,e=()=>!1){return new i(new Vv(r,e))}static forPaths(r=!1){return new i(new Df(void 0,!r))}static forStrings(){return new i(new Nv)}static forConfigKeys(){return new i(new Bv)}constructor(r){this._iter=r}clear(){this._root=void 0}fill(r,e){if(e){let t=e.slice(0);Tg(t);for(let n of t)this.set(n,r)}else{let t=r.slice(0);Tg(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 Xa,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 Xa,n.left.segment=t.value()),o.push([-1,n]),n=n.left;else if(a<0)n.right||(n.right=new Xa,n.right.segment=t.value()),o.push([1,n]),n=n.right;else if(t.hasNext())t.next(),n.mid||(n.mid=new Xa,n.mid.segment=t.value()),o.push([0,n]),n=n.mid;else break}let s=Xi.unwrap(n.value);n.value=Xi.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 Xi.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:wa(!1);case 1:wa(!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=Xi.unwrap(t.value)||n,t=t.mid;else break}return t&&Xi.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?Xi.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,Xi.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 Ms(i){return i.create===!0}function yn(i){return!!(i.capabilities&2)}function px(i){return!!(i.capabilities&524288)}function zd(i){return!!(i.capabilities&8)}function Af(i){return!!(i.capabilities&131072)}function fx(i){return!!(i.capabilities&262144)}function Zi(i){return!!(i.capabilities&4)}function Mf(i){return!!(i.capabilities&16)}function Of(i){return yn(i)?!!(i.capabilities&16384):!1}function Hv(i){return yn(i)?!!(i.capabilities&32768):!1}function mx(i){return!!(i.capabilities&65536)}function zr(i,r){return Ya.create(i,r)}function eo(i){return i||zr(h(2078,null),"Unknown")}function MD(i,r){return i.name=r?`${r} (FileSystemError)`:"FileSystemError",i}function jd(i){if(!i)return"Unknown";if(i instanceof Ya)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 qt)return i.fileOperationResult;switch(jd(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 hx(i,r,e){return!i||!r||i===r||r.length>i.length?!1:(r.charAt(r.length-1)!==Mt&&(r+=Mt),e?So(i,r):i.indexOf(r)===0)}function $v(i){if(!(typeof i.size!="number"||typeof i.mtime!="number"))return i.mtime.toString(29)+i.size.toString(31)}var Le,Ya,Yi,Lf,qt,Za,el,Wf,Ff,Si,$e=w(()=>{As();Te();er();De();le();Ee();ne();Z();He();Io();Le=O("fileService");Ya=class i extends Error{constructor(e,t){super(e);this.code=t}static create(e,t){let n=new i(e.toString(),t);return MD(n,t),n}};Yi=class{constructor(r,e,t){this.resource=r;this.operation=e;this.target=t}isOperation(r){return this.operation===r}},Lf=class i{constructor(r,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new Sr(()=>{let r=qr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawAdded.map(e=>[e,!0])),r});this.updated=new Sr(()=>{let r=qr.forUris(()=>this.ignorePathCasing);return r.fill(this.rawUpdated.map(e=>[e,!0])),r});this.deleted=new Sr(()=>{let r=qr.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"}};qt=class extends Error{constructor(e,t,n){super(e);this.fileOperationResult=t;this.options=n}},Za=class extends qt{constructor(e,t,n,o){super(e,t,o);this.fileOperationResult=t;this.size=n}},el=class extends qt{constructor(e,t,n){super(e,2,n);this.stat=t}},Wf={OFF:"off",ON_EXIT:"onExit",ON_EXIT_AND_WINDOW_CLOSE:"onExitAndWindowClose"},Ff="";Si=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 Hn(r)||(r=0),r<i.KB?h(2073,null,r.toFixed(0)):r<i.MB?h(2075,null,(r/i.KB).toFixed(2)):r<i.GB?h(2076,null,(r/i.MB).toFixed(2)):r<i.TB?h(2074,null,(r/i.GB).toFixed(2)):h(2077,null,(r/i.TB).toFixed(2))}}});function Ut(i){let r=i;return typeof r?.id=="string"&&E.isUri(r.uri)}function Oo(i,r){if(typeof i=="string"||typeof i>"u")return typeof i=="string"?{id:Pe(i)}:r?OD:WD;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 at(i){let r=i;return typeof r?.id=="string"&&E.isUri(r.configPath)}function gx(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 qv(i,r){return ze.isEqualOrParent(i,r.untitledWorkspacesHome)}function xi(i){return(typeof i=="string"?ma(i):TS(i))===FD}var C7,OD,WD,Uf,Gd,FD,vx,Kv,Tr=w(()=>{Ee();Te();As();yt();le();ne();He();C7=O("contextService");OD={id:"ext-dev"},WD={id:"empty-window"};Uf=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}}},Gd="code-workspace",FD=`.${Gd}`,vx=[{name:h(2749,null),extensions:[Gd]}],Kv="workspace.json"});var Tt,Xn=w(()=>{ne();Tt=O("IUriIdentityService")});function yx(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 Nf(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 Cr,tl,Yn=w(()=>{Ii();Q();$();yt();le();Ee();dn();$e();ne();oe();Tr();Xn();ge();Kt();er();De();Cr=O("IUserDataProfilesService");tl=class extends k{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=$r(o.location);t.push(Nf(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||!Ae(e.name)||!e.location||e.isSystem||this.uriIdentityService.extUri.basename(this.uriIdentityService.extUri.dirname(e.location))==="builtin")}createDefaultProfile(){let e=Nf("__default__profile__",h(2708,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let t="Temp",n=new RegExp(`${bo(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(rr(Ce()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,t,n){return this.createProfile(rr(Ce()).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(!Ae(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=Nf(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 ht.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=Nf(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:at(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(){}};tl=T([g(0,Kr),g(1,Le),g(2,Tt),g(3,N)],tl)});function Hf(i){let r=i.get(to);if(r)try{return JSON.parse(r)}catch{}return Object.create(null)}function Vf(i){return i.isDefault||!!i.useDefaultFlags?.globalState}async function ND(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 Jd,to,p9,Bf,Ws=w(()=>{ge();Q();$();li();De();Uv();ne();Yn();Jd="__$__isNewStorageMarker",to="__$__targetStorageMarker",p9=O("storageService");Bf=class i extends k{constructor(e={flushInterval:i.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new ws);this._onDidChangeTarget=this._register(new ws);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new S);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new Zt);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new ur(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,t,n){return P.filter(this._onDidChangeValue.event,o=>o.scope===e&&(t===void 0||o.key===t),n)}doFlushWhenIdle(){this.runFlushWhenIdle.value=od(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){dt([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{Ue("code/willInitStorage");try{await this.doInitialize()}finally{Ue("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,t){let{key:n,external:o}=t;if(n===to){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(Ot(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(to,JSON.stringify(s),o)):typeof s[e]=="number"&&(delete s[e],this.getStorage(t)?.set(to,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?Hf(t):Object.create(null)}isNew(e){return this.getBoolean(Jd,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 ht.settled([t?.whenFlushed()??Promise.resolve(),n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve()]);break;case 1:await ht.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 ND(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),yx(e)?this.switchToProfile(e,t):this.switchToWorkspace(e,t)}canSwitchProfile(e,t){return!(e.id===t.id||Vf(t)&&Vf(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 $f,Ct,wn=w(()=>{ne();$f=O("stateReadService"),Ct=O("stateService")});function Qd(i){return!!i.workspaceUri}function Kf(i){return!!i.folderUri}function jv(i){return!!i.fileUri}function BD(i,r){if(Rr)return!1;let e=Wo(i,r),t=i.getValue("window");return t?.menuStyle==="native"?!(!B&&!e):t?.menuStyle==="custom"?!1:e}function Gv(i,r){return Rr?!1:B?!0:BD(i,r)}function wx(i){let r=i.getValue("window.menuBarVisibility");return r==="default"||r==="compact"&&Gv(i)||B&&vp?"classic":r}function Wo(i,r){return r||(r=Ix(i)),r==="native"}function Ix(i){if(Rr)return"custom";let r=i.getValue("window");if(r){if(B&&r.nativeTabs===!0||B&&r.nativeFullScreen===!1)return"native";let n=r.titleBarStyle;if(n==="native"||n==="custom")return n}return"custom"}function VD(i){if(Rr||B||Ix(i)==="native")return"native";let e=i.getValue("window")?.controlsStyle;return e==="custom"||e==="hidden"?e:"native"}function Xd(i){if(Rr||Wo(i))return!1;if(!B){let r=VD(i);if(r==="custom"||r==="hidden")return!1}return!0}function qf(i){let r=i.getValue("window");return!r||typeof r.nativeFullScreen!="boolean"||r.nativeTabs?!0:r.nativeFullScreen!==!1}function Sx(i=0){return 1.2**i}var zv,bx,xx,Px,Jv,Fo=w(()=>{Z();zv={WIDTH:400,WIDTH_WITH_VERTICAL_PANEL:600,HEIGHT:270};bx=35;xx={width:1200,height:800},Px={width:1440,height:900},Jv={width:1024,height:768}});import HD from"electron";var Pi,Ex,Ei=w(()=>{Fo();Pi=function(i=1,r=!1){let e=r?Px:xx;return{width:e.width,height:e.height,mode:i}},Ex=function(){let i=Jv.width,r=Jv.height,e=HD.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 No(i,r){let e=Math.pow(10,r);return Math.round(i*e)/e}var R,Uo,rl,Bo,Qv=w(()=>{$n();R=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=No(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}},Uo=class i{constructor(r,e,t,n){this._hslaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=No(Math.max(Math.min(1,e),0),3),this.l=No(Math.max(Math.min(1,t),0),3),this.a=No(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 R(Math.round(s*255),Math.round(a*255),Math.round(l*255),o)}},rl=class i{constructor(r,e,t,n){this._hsvaBrand=void 0;this.h=Math.max(Math.min(360,r),0)|0,this.s=No(Math.max(Math.min(1,e),0),3),this.v=No(Math.max(Math.min(1,t),0),3),this.a=No(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 R(c,d,u,o)}},Bo=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:Uo.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:rl.fromRGBA(this.rgba)}constructor(r){if(r)if(r instanceof R)this.rgba=r;else if(r instanceof Uo)this._hsla=r,this.rgba=Uo.toRGBA(r);else if(r instanceof rl)this._hsva=r,this.rgba=rl.toRGBA(r);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(r){return!!r&&R.equals(this.rgba,r.rgba)&&Uo.equals(this.hsla,r.hsla)&&rl.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 No(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 R(t,n,o)));return new i(new R(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 R(t,n,o)));return new i(new R(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 Uo(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*r,this.hsla.a))}darken(r){return new i(new Uo(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 R(e,t,n,o*r))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new i(new R(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 R(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 R(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 R(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 R(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 R(255,255,255,1))}static{this.black=new i(new R(0,0,0,1))}static{this.red=new i(new R(255,0,0,1))}static{this.blue=new i(new R(0,0,255,1))}static{this.green=new i(new R(0,255,0,1))}static{this.cyan=new i(new R(0,255,255,1))}static{this.lightgrey=new i(new R(211,211,211,1))}static{this.transparent=new i(new R(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 _=I.toString(16);return _.length!==2?"0"+_:_}function c(I){return`#${l(I.rgba.r)}${l(I.rgba.g)}${l(I.rgba.b)}`}b.formatHex=c;function d(I,_=!1){return _&&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 _=I.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!_)throw new Error("Invalid color format "+I);let C=parseInt(_.groups?.r??"0"),D=parseInt(_.groups?.g??"0"),A=parseInt(_.groups?.b??"0"),ae=parseFloat(_.groups?.a??"0");return new r(new R(C,D,A,ae))}if(I.startsWith("rgb(")){let _=I.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!_)throw new Error("Invalid color format "+I);let C=parseInt(_.groups?.r??"0"),D=parseInt(_.groups?.g??"0"),A=parseInt(_.groups?.b??"0");return new r(new R(C,D,A))}return m(I)}b.parse=f;function m(I){switch(I){case"aliceblue":return new r(new R(240,248,255,1));case"antiquewhite":return new r(new R(250,235,215,1));case"aqua":return new r(new R(0,255,255,1));case"aquamarine":return new r(new R(127,255,212,1));case"azure":return new r(new R(240,255,255,1));case"beige":return new r(new R(245,245,220,1));case"bisque":return new r(new R(255,228,196,1));case"black":return new r(new R(0,0,0,1));case"blanchedalmond":return new r(new R(255,235,205,1));case"blue":return new r(new R(0,0,255,1));case"blueviolet":return new r(new R(138,43,226,1));case"brown":return new r(new R(165,42,42,1));case"burlywood":return new r(new R(222,184,135,1));case"cadetblue":return new r(new R(95,158,160,1));case"chartreuse":return new r(new R(127,255,0,1));case"chocolate":return new r(new R(210,105,30,1));case"coral":return new r(new R(255,127,80,1));case"cornflowerblue":return new r(new R(100,149,237,1));case"cornsilk":return new r(new R(255,248,220,1));case"crimson":return new r(new R(220,20,60,1));case"cyan":return new r(new R(0,255,255,1));case"darkblue":return new r(new R(0,0,139,1));case"darkcyan":return new r(new R(0,139,139,1));case"darkgoldenrod":return new r(new R(184,134,11,1));case"darkgray":return new r(new R(169,169,169,1));case"darkgreen":return new r(new R(0,100,0,1));case"darkgrey":return new r(new R(169,169,169,1));case"darkkhaki":return new r(new R(189,183,107,1));case"darkmagenta":return new r(new R(139,0,139,1));case"darkolivegreen":return new r(new R(85,107,47,1));case"darkorange":return new r(new R(255,140,0,1));case"darkorchid":return new r(new R(153,50,204,1));case"darkred":return new r(new R(139,0,0,1));case"darksalmon":return new r(new R(233,150,122,1));case"darkseagreen":return new r(new R(143,188,143,1));case"darkslateblue":return new r(new R(72,61,139,1));case"darkslategray":return new r(new R(47,79,79,1));case"darkslategrey":return new r(new R(47,79,79,1));case"darkturquoise":return new r(new R(0,206,209,1));case"darkviolet":return new r(new R(148,0,211,1));case"deeppink":return new r(new R(255,20,147,1));case"deepskyblue":return new r(new R(0,191,255,1));case"dimgray":return new r(new R(105,105,105,1));case"dimgrey":return new r(new R(105,105,105,1));case"dodgerblue":return new r(new R(30,144,255,1));case"firebrick":return new r(new R(178,34,34,1));case"floralwhite":return new r(new R(255,250,240,1));case"forestgreen":return new r(new R(34,139,34,1));case"fuchsia":return new r(new R(255,0,255,1));case"gainsboro":return new r(new R(220,220,220,1));case"ghostwhite":return new r(new R(248,248,255,1));case"gold":return new r(new R(255,215,0,1));case"goldenrod":return new r(new R(218,165,32,1));case"gray":return new r(new R(128,128,128,1));case"green":return new r(new R(0,128,0,1));case"greenyellow":return new r(new R(173,255,47,1));case"grey":return new r(new R(128,128,128,1));case"honeydew":return new r(new R(240,255,240,1));case"hotpink":return new r(new R(255,105,180,1));case"indianred":return new r(new R(205,92,92,1));case"indigo":return new r(new R(75,0,130,1));case"ivory":return new r(new R(255,255,240,1));case"khaki":return new r(new R(240,230,140,1));case"lavender":return new r(new R(230,230,250,1));case"lavenderblush":return new r(new R(255,240,245,1));case"lawngreen":return new r(new R(124,252,0,1));case"lemonchiffon":return new r(new R(255,250,205,1));case"lightblue":return new r(new R(173,216,230,1));case"lightcoral":return new r(new R(240,128,128,1));case"lightcyan":return new r(new R(224,255,255,1));case"lightgoldenrodyellow":return new r(new R(250,250,210,1));case"lightgray":return new r(new R(211,211,211,1));case"lightgreen":return new r(new R(144,238,144,1));case"lightgrey":return new r(new R(211,211,211,1));case"lightpink":return new r(new R(255,182,193,1));case"lightsalmon":return new r(new R(255,160,122,1));case"lightseagreen":return new r(new R(32,178,170,1));case"lightskyblue":return new r(new R(135,206,250,1));case"lightslategray":return new r(new R(119,136,153,1));case"lightslategrey":return new r(new R(119,136,153,1));case"lightsteelblue":return new r(new R(176,196,222,1));case"lightyellow":return new r(new R(255,255,224,1));case"lime":return new r(new R(0,255,0,1));case"limegreen":return new r(new R(50,205,50,1));case"linen":return new r(new R(250,240,230,1));case"magenta":return new r(new R(255,0,255,1));case"maroon":return new r(new R(128,0,0,1));case"mediumaquamarine":return new r(new R(102,205,170,1));case"mediumblue":return new r(new R(0,0,205,1));case"mediumorchid":return new r(new R(186,85,211,1));case"mediumpurple":return new r(new R(147,112,219,1));case"mediumseagreen":return new r(new R(60,179,113,1));case"mediumslateblue":return new r(new R(123,104,238,1));case"mediumspringgreen":return new r(new R(0,250,154,1));case"mediumturquoise":return new r(new R(72,209,204,1));case"mediumvioletred":return new r(new R(199,21,133,1));case"midnightblue":return new r(new R(25,25,112,1));case"mintcream":return new r(new R(245,255,250,1));case"mistyrose":return new r(new R(255,228,225,1));case"moccasin":return new r(new R(255,228,181,1));case"navajowhite":return new r(new R(255,222,173,1));case"navy":return new r(new R(0,0,128,1));case"oldlace":return new r(new R(253,245,230,1));case"olive":return new r(new R(128,128,0,1));case"olivedrab":return new r(new R(107,142,35,1));case"orange":return new r(new R(255,165,0,1));case"orangered":return new r(new R(255,69,0,1));case"orchid":return new r(new R(218,112,214,1));case"palegoldenrod":return new r(new R(238,232,170,1));case"palegreen":return new r(new R(152,251,152,1));case"paleturquoise":return new r(new R(175,238,238,1));case"palevioletred":return new r(new R(219,112,147,1));case"papayawhip":return new r(new R(255,239,213,1));case"peachpuff":return new r(new R(255,218,185,1));case"peru":return new r(new R(205,133,63,1));case"pink":return new r(new R(255,192,203,1));case"plum":return new r(new R(221,160,221,1));case"powderblue":return new r(new R(176,224,230,1));case"purple":return new r(new R(128,0,128,1));case"rebeccapurple":return new r(new R(102,51,153,1));case"red":return new r(new R(255,0,0,1));case"rosybrown":return new r(new R(188,143,143,1));case"royalblue":return new r(new R(65,105,225,1));case"saddlebrown":return new r(new R(139,69,19,1));case"salmon":return new r(new R(250,128,114,1));case"sandybrown":return new r(new R(244,164,96,1));case"seagreen":return new r(new R(46,139,87,1));case"seashell":return new r(new R(255,245,238,1));case"sienna":return new r(new R(160,82,45,1));case"silver":return new r(new R(192,192,192,1));case"skyblue":return new r(new R(135,206,235,1));case"slateblue":return new r(new R(106,90,205,1));case"slategray":return new r(new R(112,128,144,1));case"slategrey":return new r(new R(112,128,144,1));case"snow":return new r(new R(255,250,250,1));case"springgreen":return new r(new R(0,255,127,1));case"steelblue":return new r(new R(70,130,180,1));case"tan":return new r(new R(210,180,140,1));case"teal":return new r(new R(0,128,128,1));case"thistle":return new r(new R(216,191,216,1));case"tomato":return new r(new R(255,99,71,1));case"turquoise":return new r(new R(64,224,208,1));case"violet":return new r(new R(238,130,238,1));case"wheat":return new r(new R(245,222,179,1));case"white":return new r(new R(255,255,255,1));case"whitesmoke":return new r(new R(245,245,245,1));case"yellow":return new r(new R(255,255,0,1));case"yellowgreen":return new r(new R(154,205,50,1));default:return null}}function y(I){let _=I.length;if(_===0||I.charCodeAt(0)!==35)return null;if(_===7){let C=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 R(C,D,A,1))}if(_===9){let C=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)),ae=16*v(I.charCodeAt(7))+v(I.charCodeAt(8));return new r(new R(C,D,A,ae/255))}if(_===4){let C=v(I.charCodeAt(1)),D=v(I.charCodeAt(2)),A=v(I.charCodeAt(3));return new r(new R(16*C+C,16*D+D,16*A+A))}if(_===5){let C=v(I.charCodeAt(1)),D=v(I.charCodeAt(2)),A=v(I.charCodeAt(3)),ae=v(I.charCodeAt(4));return new r(new R(16*C+C,16*D+D,16*A+A,(16*ae+ae)/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||={})})(Bo||={})});var Re,Yt=w(()=>{ne();Re=O("productService")});var Ti,nl=w(()=>{ne();Ti=O("themeMainService")});import Xv from"electron";function il(i,r,e,t){let n=i.get(Ti),o=i.get(Re),s=i.get(he),a=i.get(_e),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:Sx(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(ie?c.icon=V(a.appRoot,"resources/linux/code.png"):W&&(a.isBuilt?process.isEmbeddedApp&&(c.icon=V(a.appRoot,"resources/win32/sessions.ico")):c.icon=V(a.appRoot,"resources/win32/code_150x150.png")),B&&(c.acceptFirstMouse=!0,l?.clickThroughInactive===!1&&(c.acceptFirstMouse=!1)),e?.disableFullscreen?c.fullscreen=!1:B&&!qf(s)&&(c.fullscreenable=!1),B&&l?.nativeTabs===!0&&(c.tabbingIdentifier=o.nameShort),!Wo(s,e?.forceNativeTitlebar?"native":void 0)&&(c.titleBarStyle="hidden",B||(c.frame=!1),Xd(s)))if(B)c.titleBarOverlay=!0;else{let f=n.getWindowSplash(void 0)?.colorInfo.titleBarBackground??n.getBackgroundColor(),m=Bo.fromHex(f).isDarker()?"#FFFFFF":"#000000";c.titleBarOverlay={height:29,color:f,symbolColor:m}}return e?.alwaysOnTop&&(c.alwaysOnTop=!0),c}function jf(i){let r,e=Number.MIN_VALUE;for(let t of i)t.lastFocusTime>e&&(e=t.lastFocusTime,r=t);return r}function Ci(){return Xv.BrowserWindow.getAllWindows().filter(i=>!i.webContents.isOffscreen())}var Ne,ol,Rt=w(()=>{Qv();Te();Z();nt();Ft();ne();Yt();nl();Fo();Ei();Ne=O("windowsMainService");(t=>{function i(n,o,s=Xv.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=Pi(3);return d.x=c.bounds.x,d.y=c.bounds.y,d}}let a,l;try{a=Xv.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}})(ol||={})});import kn from"electron";var ye,_i,_t=w(()=>{Qn();ge();Q();$();Z();Bn();De();ne();oe();wn();Ei();Ft();Rt();ye=O("lifecycleMainService"),_i=class extends k{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(_i.QUIT_AND_RESTART_KEY),this._wasRestarted&&this.stateService.removeItem(_i.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(),B&&this.windowCounter===0&&this.fireOnWillShutdown(1))};kn.app.addListener("before-quit",e);let t=()=>{this.trace("Lifecycle#app.on(window-all-closed)"),(this._quitRequested||!B)&&kn.app.quit()};kn.app.addListener("window-all-closed",t),kn.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),kn.app.removeListener("before-quit",e),kn.app.removeListener("window-all-closed",t),this.trace("Lifecycle#app.on(will-quit) - calling app.quit()"),kn.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 ht.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 gi,this.phaseWhen.set(e,t)),await t.wait()}registerWindow(e){let t=new re;this.windowCounter++,t.add(e.onWillLoad(o=>this._onWillLoadWindow.fire({window:e,workspace:o.workspace,reason:o.reason})));let n=fi(e.win);t.add(P.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(P.fromNodeEventEmitter(n,"closed")(()=>{this.trace(`Lifecycle#window.on('closed') - window ID ${e.id}`),this.windowCounter--,t.dispose(),this.windowCounter===0&&(!B||this._quitRequested)&&this.fireOnWillShutdown(1)}))}registerAuxWindow(e){let t=fi(e.win),n=new re;n.add(P.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(P.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}`;st.once(s,()=>{n(!1)}),st.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++}`;st.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=en();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(_i.QUIT_AND_RESTART_KEY,!0),this.pendingQuitPromise=new Promise(t=>{this.pendingQuitPromiseResolve=t,this.trace("Lifecycle#quit() - calling app.quit()"),kn.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()"),kn.app.relaunch({args:t}))};kn.app.once("quit",n),await this.quit(!0)&&kn.app.removeListener("quit",n)}async kill(e){this.trace("Lifecycle#kill()"),await this.fireOnWillShutdown(2),await Promise.race([ot(1e3),(async()=>{for(let t of Ci())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}})()]),kn.app.exit(e)}};_i=T([g(0,N),g(1,Ct),g(2,_e)],_i)});import*as Yv from"fs";var Fs,Zv,Cx=w(()=>{ge();Q();Lr();Te();Xt();Fs=class i{constructor(r,e=Object.create(null)){this.path=r;this.name=Pe(this.path),this.logger=new Zv(e.logging),this.whenConnected=this.connect(this.path)}static{this.IN_MEMORY_PATH=":memory:"}get onDidChangeItemsExternal(){return P.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?$b(e.insert):"0"}), delete(${e.delete?Kb(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"?Yv.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 z.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 ot(i.BUSY_OPEN_TIMEOUT),this.connect(r,!1);try{await Yv.promises.unlink(r);try{await z.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)})}},Zv=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 lt,b8,ey,ty,_x,Gf,Jf,Yd,kx,sl,Qf,Zd,mr=w(()=>{ne();lt=O("telemetryService"),b8=O("customEndpointTelemetryService"),ey="telemetry.currentSessionDate",ty="telemetry.firstSessionDate",_x="telemetry.lastSessionDate",Gf="telemetry.machineId",Jf="telemetry.sqmId",Yd="telemetry.devDeviceId",kx="telemetry",sl="telemetry.telemetryLevel",Qf="telemetry.enableCrashReporter",Zd="telemetry.enableTelemetry"});import*as Rx from"fs";var eu,Xf,Yf,Zf,em,tu,Dx=w(()=>{Ht();ge();Q();$();Te();ys();le();Xt();Uv();Cx();oe();Ws();mr();Tr();He();eu=class i extends k{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 Mo(new Qa,{hint:1}));this.initializePromise=void 0;this.whenInitPromise=new $t;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(Jd);t===void 0?e.set(Jd,!0):t&&e.set(Jd,!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 an(!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=Mb(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()}},Xf=class i extends eu{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 V(this.profile.globalStorageHome.with({scheme:F.file}).fsPath,i.STORAGE_NAME)}async doCreate(){return new Mo(new Fs(this.path??Fs.IN_MEMORY_PATH,{logging:this.createLoggingOptions()}),this.path?void 0:{hint:1})}},Yf=class extends Xf{},Zf=class extends Xf{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(ty,void 0)===void 0&&r.set(ty,new Date().toUTCString());let t=r.get(ey,void 0),n=new Date().toUTCString();r.set(_x,typeof t>"u"?null:t),r.set(ey,n)}},em=class i extends eu{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 V(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 Mo(new Fs(e,{logging:this.createLoggingOptions()}),{hint:this.options.useInMemoryStorage?1:t?0:void 0})}async prepareWorkspaceStorageFolder(){if(this.options.useInMemoryStorage)return{storageFilePath:Fs.IN_MEMORY_PATH,wasCreated:!0};let e=V(this.environmentService.workspaceStorageHome.with({scheme:F.file}).fsPath,this.workspace.id),t=V(e,i.WORKSPACE_STORAGE_NAME);return await z.exists(e)?{storageFilePath:t,wasCreated:!1}:(await Rx.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()}:at(this.workspace)&&(t={workspace:this.workspace.configPath.toString()}),t)try{let n=V(e,i.WORKSPACE_META_NAME);await z.exists(n)||await z.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}`)}}},tu=class extends eu{get path(){}async doCreate(){return new Mo(new Qa,{hint:1})}}});var ry,nu,al,ny=w(()=>{ge();et();$();De();dn();$e();oe();ry=class extends k{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 xr(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 Ot(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&&(Ot(o)?Tn(this.storage[n])||(this.storage[n]=void 0,t=!0):(this.storage[n]=o,t=!0));t&&this.save()}removeItem(e){Tn(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}},nu=class extends k{constructor(r,e,t,n){super(),this.fileStorage=this._register(new ry(e.stateResource,r,t,n))}async init(){await this.fileStorage.init()}getItem(r,e){return this.fileStorage.getItem(r,e)}};nu=T([g(1,Kr),g(2,N),g(3,Le)],nu);al=class extends nu{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 Vo,Rn,tm,Lx=w(()=>{le();dn();$e();oe();wn();Xn();Yn();De();ny();Vo=class extends tl{constructor(e,t,n,o,s){super(n,o,t,s);this.stateReadonlyService=e;this.nativeEnvironmentService=n}getStoredProfiles(){return this.stateReadonlyService.getItem(Vo.PROFILES_KEY,[]).map(t=>({...t,location:Ae(t.location)?this.uriIdentityService.extUri.joinPath(this.profilesHome,t.location):E.revive(t.location)}))}getStoredProfileAssociations(){return this.stateReadonlyService.getItem(Vo.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(E.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};Vo=T([g(0,$f),g(1,Tt),g(2,Mr),g(3,Le),g(4,N)],Vo);Rn=class extends Vo{constructor(e,t,n,o,s){super(e,t,n,o,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(Rn.PROFILES_KEY,e.map(t=>({...t,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,t.location)}))):this.stateService.removeItem(Rn.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(Rn.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(Rn.PROFILE_ASSOCIATIONS_KEY)}};Rn=T([g(0,Ct),g(1,Tt),g(2,Mr),g(3,Le),g(4,N)],Rn);tm=class extends Rn{constructor(r,e,t,n){super(new al(0,e,n,t),r,e,t,n)}async init(){return await this.stateService.init(),super.init()}};tm=T([g(0,Tt),g(1,Mr),g(2,Le),g(3,N)],tm)});var Wr,ll,Ho=w(()=>{dn();$e();ne();oe();Xn();Yn();Lx();wn();Wr=Cr,ll=class extends Rn{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}};ll=T([g(0,Ct),g(1,Tt),g(2,Mr),g(3,Le),g(4,N)],ll)});var Us,cl,$o,dl,ou=w(()=>{le();Q();$();dn();$e();ne();_t();oe();Ws();Dx();Yn();Ho();Xn();He();Us=O("storageMainService"),cl=class extends k{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 Zf(this.getStorageOptions(),this.userDataProfilesService,this.logService,this.fileService);return this._register(P.once(e.onDidCloseStorage)(()=>{this.logService.trace("StorageMainService: closed application storage")})),e}profileStorage(e){if(Vf(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}));P.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 tu(this.logService,this.fileService):new Yf(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),P.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 tu(this.logService,this.fileService):new em(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}};cl=T([g(0,N),g(1,Kr),g(2,Wr),g(3,ye),g(4,Le),g(5,Tt)],cl);$o=O("applicationStorageMainService"),dl=class extends Bf{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")}};dl=T([g(0,Cr),g(1,Us)],dl)});import{app as zD}from"electron";var su,ul,iy=w(()=>{vt();Q();Ii();$();le();Kt();nt();wf();Ft();ne();oe();Ws();ou();Rt();su=O("proxyAuthService"),ul=class extends k{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=P.fromNodeEventEmitter(zD,"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(rr({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:${Ce()}`};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}};ul=T([g(0,N),g(1,Ne),g(2,Ld),g(3,$o),g(4,he),g(5,_e)],ul)});var ki,pl=w(()=>{ne();ki=O("backupMainService")});function Mx(i){return typeof i?.backupFolder=="string"}function Ox(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 Wx(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 Fx=w(()=>{le()});function Ux(i){return i?.hasOwnProperty("folderUri")}var Nx=w(()=>{});import{createHash as oy}from"crypto";function ro(i){function r(){let e=i.scheme===F.file?dr(i):i.toString();return ie||(e=e.toLowerCase()),oy("md5").update(e).digest("hex")}return{id:r(),configPath:i}}function nm(i,r){function e(){if(i.scheme!==F.file)return oy("md5").update(i.toString()).digest("hex");if(!r)return;let n;return ie?n=r.ino:B?n=r.birthtime.getTime():W&&(typeof r.birthtimeMs=="number"?n=Math.floor(r.birthtimeMs):n=r.birthtime.getTime()),oy("md5").update(i.fsPath).update(n?String(n):"").digest("hex")}let t=e();if(typeof t=="string")return{id:t,uri:i}}function au(){return{id:(Date.now()+Math.round(Math.random()*1e3)).toString()}}var _3,im=w(()=>{He();Z();yt();_3=128/4});import{createHash as GD}from"crypto";var no,Bx=w(()=>{ln();He();Te();Z();yt();Xt();Fx();nt();Ft();wn();$e();oe();Nx();Tr();im();no=class{constructor(r,e,t,n){this.configurationService=e;this.logService=t;this.stateService=n;this.workspaces=[];this.folders=[];this.emptyWindows=[];this.backupUriComparer=ze;this.backupPathComparer={isEqual:(r,e)=>Po(r,e,!ie)};this.backupHome=r.backupHome}static{this.backupWorkspacesMetadataStorageKey="backupWorkspaces"}async initialize(){let r=this.stateService.getItem(no.backupWorkspacesMetadataStorageKey)??{workspaces:[],folders:[],emptyWindows:[]};this.emptyWindows=await this.validateEmptyWorkspaces(r.emptyWindows),this.workspaces=await this.validateWorkspaces(Ox(r)),this.folders=await this.validateFolders(Wx(r)),this.storeWorkspacesMetadata()}getWorkspaceBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.workspaces.slice(0)}getFolderBackups(){return this.isHotExitOnExitAndWindowClose()?[]:this.folders.slice(0)}isHotExitEnabled(){return this.getHotExitConfig()!==Wf.OFF}isHotExitOnExitAndWindowClose(){return this.getHotExitConfig()===Wf.ON_EXIT_AND_WINDOW_CLOSE}getHotExitConfig(){return this.configurationService.getValue()?.files?.hotExit||Wf.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=V(this.backupHome,r.workspace.id);return e?this.moveBackupFolder(t,e).then(()=>t):t}async moveBackupFolder(r,e){if(await z.exists(r)&&await this.convertToEmptyWindowBackup(r),await z.exists(e))try{await z.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()),V(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()),V(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(!at(o))return[];if(!e.has(o.id)){e.add(o.id);let s=V(this.backupHome,o.id);await this.doHasBackups(s)?o.configPath.scheme!==F.file||await z.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=V(this.backupHome,this.getFolderHash(n));await this.doHasBackups(a)?o.scheme!==F.file||await z.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=V(this.backupHome,o);await this.doHasBackups(s)?e.push(n):await this.deleteStaleBackup(s)}}return e}async deleteStaleBackup(r){try{await z.rm(r,1)}catch(e){this.logService.error(`Backup: Could not delete stale backup: ${e.toString()}`)}}prepareNewEmptyWindowBackup(){let r=au();for(;this.emptyWindows.some(e=>!!e.backupFolder&&this.backupPathComparer.isEqual(e.backupFolder,r.id));)r=au();return{backupFolder:r.id}}async convertToEmptyWindowBackup(r){let e=this.prepareNewEmptyWindowBackup(),t=V(this.backupHome,e.backupFolder);try{await z.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 Mx(r)?e=V(this.backupHome,r.backupFolder):Ux(r)?e=V(this.backupHome,this.getFolderHash(r)):e=V(this.backupHome,r.workspace.id),this.doHasBackups(e)}async doHasBackups(r){try{let e=await z.readdir(r);for(let t of e)try{if((await z.readdir(V(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(no.backupWorkspacesMetadataStorageKey,r)}getFolderHash(r){let e=r.folderUri,t;return e.scheme===F.file?t=ie?e.fsPath:e.fsPath.toLowerCase():t=e.toString().toLowerCase(),GD("md5").update(t).digest("hex")}};no=T([g(0,_e),g(1,he),g(2,N),g(3,Ct)],no)});function lu(i,r,e=JD){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=lu(m,f,y);return{[t]:v,_:[]}}let c=(0,Vx.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(1903,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 Vx,iB,sy,om,JD,ay=w(()=>{Vx=QI(pg(),1);Z();Ee();iB={o:h(1928,null),e:h(1912,null),t:h(1943,null),m:h(1923,null)},sy=["tunnel","serve-web"],om={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:h(1932,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:h(1900,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:h(1896,null)},maximize:{type:"boolean",cat:"o",description:h(1899,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(1935,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(1926,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(1931,null)},help:{type:"boolean",alias:"h",description:h(1914,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(1901,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(1901,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(1904,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:h(1924,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:h(1895,null)},remove:{type:"boolean",cat:"o",args:"folder",description:h(1933,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:h(1913,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:h(1925,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:h(1934,null)},sessions:{type:"boolean",cat:"o",description:h(1936,null)},wait:{type:"boolean",cat:"o",alias:"w",description:h(1953,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:h(1920,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:h(1950,null)},profile:{type:"string",cat:"o",args:"profileName",description:h(1931,null)},help:{type:"boolean",cat:"o",alias:"h",description:h(1914,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:h(1911,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:h(1919,null)},"show-versions":{type:"boolean",cat:"e",description:h(1937,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:h(1898,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:h(1918,null)},"pre-release":{type:"boolean",cat:"e",description:h(1917,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:h(1945,null)},"update-extensions":{type:"boolean",cat:"e",description:h(1948,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:h(1910,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:h(1897,null)},version:{type:"boolean",cat:"t",alias:"v",description:h(1952,null)},verbose:{type:"boolean",cat:"t",global:!0,description:h(1951,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:h(1922,null)},status:{type:"boolean",alias:"s",cat:"t",description:h(1938,null)},"prof-startup":{type:"boolean",cat:"t",description:h(1930,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(1907,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:h(1906,null)},sync:{type:"string",cat:"t",description:h(1944,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:h(1916,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:h(1915,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:h(1909,null)},"disable-gpu":{type:"boolean",cat:"t",description:h(1908,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:h(1905,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:h(1921,null)},telemetry:{type:"boolean",cat:"t",description:h(1941,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-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},"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(1942,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[]"}},JD={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});var sm,Hx=w(()=>{Q();$();sm=class extends k{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 am,$x=w(()=>{et();$();Kt();_d();ay();Rt();Hx();am=class extends sm{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=lu(e,om);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=O1(d,u,{debugLabel:"extension-host-cdp-"+Ce(),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=Ce(),a=t?`page-${s}`:void 0,{server:l,wsUrl:c,port:d}=await this.openCdpServer(s,u=>{o++===0&&n.attach();let f=new re;f.add(u);let m=b=>{f.isDisposed||u.write(H.fromString(JSON.stringify(b)))},y=(b,I,_,C)=>m({method:I,params:_,sessionId:C||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(C){console.error("error reading cdp line",C);return}if(t){let C={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:{...C,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:{...C,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:[{...C,attached:!0}]}});return}}let _=I.sessionId===a?void 0:I.sessionId;n.sendCommand(I.method,I.params,_).then(C=>m({id:I.id,sessionId:I.sessionId,result:C})).catch(C=>m({id:I.id,sessionId:I.sessionId,error:{code:0,message:C.message}}))})),f.add(u.onClose(()=>{--o===0&&n.detach()}))});return e.on("close",()=>l.close()),{rendererDebugAddr:c,success:!0,port:d}}}});function du(i){let r=i;return!!r?.hostName&&!!r?.errorMessage}var QD,cu,lm=w(()=>{ne();QD="diagnosticsService",cu=O(QD)});function cy(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 _=i.charCodeAt(e);if(_>=48&&_<=57)I=I*16+_-48;else if(_>=65&&_<=70)I=I*16+_-65+10;else if(_>=97&&_<=102)I=I*16+_-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&&ml(i.charCodeAt(e));)e++;if(e<i.length&&i.charCodeAt(e)===46)if(e++,e<i.length&&ml(i.charCodeAt(e)))for(e++;e<i.length&&ml(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&&ml(i.charCodeAt(e))){for(e++;e<i.length&&ml(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 C=l(4);C>=0?v+=String.fromCharCode(C):a=4;break}default:a=5}b=e;continue}if(I>=0&&I<=31)if(cm(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(ly(v)){do e++,n+=String.fromCharCode(v),v=i.charCodeAt(e);while(ly(v));return s=15}if(cm(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&&!cm(i.charCodeAt(e));)e++;return n=i.substring(b,e),s=12}if(i.charCodeAt(e+1)===42){e+=2;let I=t-1,_=!1;for(;e<I;){if(i.charCodeAt(e)===42&&i.charCodeAt(e+1)===47){e+=2,_=!0;break}e++}return _||(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||!ml(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(ly(v)||cm(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 ly(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 cm(i){return i===10||i===13||i===8232||i===8233}function ml(i){return i>=48&&i<=57}function Dn(i,r=[],e=dm.DEFAULT){let t=null,n=[],o=[];function s(l){Array.isArray(n)?n.push(l):t!==null&&(n[t]=l)}return hl(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 Kx(i,r=[],e=dm.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}hl(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:Ko(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 dy(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 hl(i,r,e=dm.DEFAULT){let t=cy(i,!1);function n(q){return q?()=>q(t.getTokenOffset(),t.getTokenLength()):()=>!0}function o(q){return q?be=>q(be,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:_(14);break;case 5:_(15);break;case 3:_(13);break;case 1:v||_(11);break;case 2:_(12);break;case 6:_(16);break}switch(q){case 12:case 13:v?_(10):m();break;case 16:_(1);break;case 15:case 14:break;default:return q}}}function _(q,be=[],wt=[]){if(y(q),be.length+wt.length>0){let It=t.getToken();for(;It!==17;){if(be.indexOf(It)!==-1){I();break}else if(wt.indexOf(It)!==-1)break;It=I()}}}function C(q){let be=t.getTokenValue();return q?u(be):a(be),I(),!0}function D(){switch(t.getToken()){case 11:{let q=0;try{q=JSON.parse(t.getTokenValue()),typeof q!="number"&&(_(2),q=0)}catch{_(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?(_(3,[],[2,5]),!1):(C(!1),t.getToken()===6?(f(":"),I(),Y()||_(4,[],[2,5])):_(5,[],[2,5]),!0)}function ae(){s(),I();let q=!1;for(;t.getToken()!==2&&t.getToken()!==17;){if(t.getToken()===5){if(q||_(4,[],[]),f(","),I(),t.getToken()===2&&b)break}else q&&_(6,[],[]);A()||_(4,[],[2,5]),q=!0}return l(),t.getToken()!==2?_(7,[2],[]):I(),!0}function U(){c(),I();let q=!1;for(;t.getToken()!==4&&t.getToken()!==17;){if(t.getToken()===5){if(q||_(4,[],[]),f(","),I(),t.getToken()===4&&b)break}else q&&_(6,[],[]);Y()||_(4,[],[4,5]),q=!0}return d(),t.getToken()!==4?_(8,[4],[]):I(),!0}function Y(){switch(t.getToken()){case 3:return U();case 1:return ae();case 10:return C(!0);default:return D()}}return I(),t.getToken()===17?e.allowEmptyContent?!0:(_(4,[],[]),!1):Y()?(t.getToken()!==17&&_(9,[],[]),!0):(_(4,[],[]),!1)}function Ko(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 dm,Zn=w(()=>{(r=>r.DEFAULT={allowTrailingComma:!0})(dm||={})});var um,Oe,uu=w(()=>{er();um=(n=>(n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error",n))(um||{});(a=>{let i="error",r="warning",e="warn",t="info",n="ignore";function o(l){return l?Hr(i,l)?3:Hr(r,l)||Hr(e,l)?2:Hr(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})(um||={});Oe=um});function hr(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"?hr(t):t}),r}function qx(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(zx.call(e,t)){let n=e[t];typeof n=="object"&&!Object.isFrozen(n)&&!qb(n)&&r.push(n)}}return i}function jx(i,r){return py(i,r,new Set)}function py(i,r,e){if(Ot(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(py(o,r,e));return n}if(Ke(i)){if(e.has(i))throw new Error("Cannot clone recursive data-structure");e.add(i);let n={};for(let o in i)zx.call(i,o)&&(n[o]=py(i[o],r,e));return e.delete(i),n}return i}function pm(i,r,e=!0){return Ke(i)?(Ke(r)&&Object.keys(r).forEach(t=>{t in i?e&&(Ke(i[t])&&Ke(r[t])?pm(i[t],r[t],e):i[t]=r[t]):i[t]=r[t]}),i):r}function un(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(!un(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(),!un(n,o))return!1;for(e=0;e<n.length;e++)if(!un(i[n[e]],r[n[e]]))return!1}return!0}function fy(i){let r=new Set;return JSON.stringify(i,(e,t)=>{if(Ke(t)||Array.isArray(t)){if(r.has(t))return"[Circular]";r.add(t)}return typeof t=="bigint"?`[BigInt ${t.toString()}]`:t})}function my(i,r){let e=r.toLowerCase(),t=Object.keys(i).find(n=>n.toLowerCase()===e);return t?i[t]:i[r]}var zx,In=w(()=>{De();zx=Object.prototype.hasOwnProperty});function fm(i,r){let e=hr(i),t=(e.buttons??[]).map(a=>hd(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(ie||B){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}ie&&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 RB,DB,hy=w(()=>{yt();uu();Ee();ne();Gi();Z();In();RB=O("dialogService"),DB=O("fileDialogService")});import Ns from"electron";var bn,gl,Bs=w(()=>{ge();Ii();Gi();$();sd();Z();Xt();Ee();hy();ne();oe();Yt();Tr();bn=O("dialogMainService"),gl=class{constructor(r,e){this.logService=r;this.productService=e;this.windowFileDialogLocks=new Map;this.windowDialogQueues=new Map;this.noWindowDialogueQueue=new Cn}pickFileFolder(r,e){return this.doPick({...r,pickFolders:!0,pickFiles:!0,title:h(1888,null)},e)}pickFolder(r,e){let t={...r,pickFolders:!0,title:h(1890,null)};return W&&(t={...t,buttonLabel:hd(h(1893,null)).withMnemonic}),this.doPick(t,e)}pickFile(r,e){return this.doPick({...r,pickFiles:!0,title:h(1889,null)},e)}pickWorkspace(r,e){let t=h(1892,null),n=hd(h(1891,null)).withMnemonic,o=vx;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"]),B&&t.properties.push("treatPackageAsDirectory");let n=await this.showOpenDialog(t,(e||Ns.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 Cn,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}=fm(r,this.productService),o;return e?o=await Ns.dialog.showMessageBox(e,t):o=await Ns.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 Ns.dialog.showSaveDialog(e,r):n=await Ns.dialog.showSaveDialog(r),n.filePath=this.normalizePath(n.filePath),n})}finally{dt(t)}}normalizePath(r){return r&&B&&(r=vi(r)),r}normalizePaths(r){return r.map(e=>this.normalizePath(e))}async showOpenDialog(r,e){r.defaultPath&&(await z.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 Ns.dialog.showOpenDialog(e,r):n=await Ns.dialog.showOpenDialog(r),n.filePaths=this.normalizePaths(n.filePaths),n})}finally{dt(t)}}acquireFileDialogLock(r,e){if(!e)return k.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=rr(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)})}};gl=T([g(0,N),g(1,Re)],gl)});async function Jx(i,r,e){for(let n of i){let o=n.openedWorkspace;if(at(o)){let s=await e(o);if(s){if(s.folders.some(a=>ze.isEqualOrParent(r,a.uri)))return n}else if(ze.isEqualOrParent(r,o.configPath))return n}}let t=i.filter(n=>Ut(n.openedWorkspace)&&ze.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 io(i,r){for(let e of i)if(at(e.openedWorkspace)&&ze.isEqual(e.openedWorkspace.configPath,r)||Ut(e.openedWorkspace)&&ze.isEqual(e.openedWorkspace.uri,r))return e}function Qx(i,r){let e=t=>r.some(n=>ze.isEqual(E.file(n),E.file(t)));for(let t of i)if(t.config?.extensionDevelopmentPath?.some(n=>e(n)))return t}var gy=w(()=>{yt();le();Tr()});function Xx(i,r,e){let t,n,o,s,a;if(r){for(s=r.offset,a=s+r.length,o=s;o>0&&!pu(i,o-1);)o--;let C=a;for(;C<i.length&&!pu(i,C);)C++;n=i.substring(o,C),t=XD(n,e)}else n=i,t=0,o=0,s=0,a=i.length;let l=YD(e,i),c=!1,d=0,u;e.insertSpaces?u=vy(" ",e.tabSize||4):u="	";let f=cy(n,!1),m=!1;function y(){return l+vy(u,t+d)}function v(){let C=f.scan();for(c=!1;C===15||C===14;)c=c||C===14,C=f.scan();return m=C===16||f.getTokenError()!==0,C}let b=[];function I(C,D,A){!m&&D<a&&A>s&&i.substring(D,A)!==C&&b.push({offset:D,length:A-D,content:C})}let _=v();if(_!==17){let C=f.getTokenOffset()+o,D=vy(u,t);I(D,o,C)}for(;_!==17;){let C=f.getTokenOffset()+f.getTokenLength()+o,D=v(),A="";for(;!c&&(D===12||D===13);){let U=f.getTokenOffset()+o;I(" ",C,U),C=f.getTokenOffset()+f.getTokenLength()+o,A=D===12?y():"",D=v()}if(D===2)_!==1&&(d--,A=y());else if(D===4)_!==3&&(d--,A=y());else{switch(_){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 ae=f.getTokenOffset()+o;I(A,C,ae),_=D}return b}function vy(i,r){let e="";for(let t=0;t<r;t++)e+=i;return e}function XD(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 YD(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 pu(i,r){return`\r
`.indexOf(i.charAt(r))!==-1}var Yx=w(()=>{Zn()});function wy(i,r,e,t,n){let o=r.slice(),a=Kx(i,[]),l,c;for(;o.length>0&&(c=o.pop(),l=dy(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=dy(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 vl(i,{offset:f,length:m-f,content:""},t)}else return vl(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 vl(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 vl(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 vl(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?[]:vl(i,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},t)}function vl(i,r,e){let t=yy(i,r),n=r.offset,o=r.offset+r.content.length;if(r.length===0||r.content.length===0){for(;n>0&&!pu(t,n-1);)n--;for(;o<t.length&&!pu(t,o);)o++}let s=Xx(t,{offset:n,length:o-n},e);for(let l=s.length-1;l>=0;l--){let c=s[l];t=yy(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 yy(i,r){return i.substring(0,r.offset)+r.content+i.substring(r.offset+r.length)}function Iy(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=yy(i,o);else throw new Error("Overlapping edit");t=o.offset}return i}var by=w(()=>{Zn();Yx()});function oo(i){return i.scheme===F.vscodeRemote?i.authority:void 0}var yl=w(()=>{He()});function mm(i){return i.hasOwnProperty("workspace")}function fu(i){return i.hasOwnProperty("folderUri")}function e0(i){return i.hasOwnProperty("fileUri")}function t0(i){return r0(i)||n0(i)}function r0(i){let r=i;return typeof r?.path=="string"&&(!r.name||typeof r.name=="string")}function n0(i){let r=i;return typeof r?.uri=="string"&&(!r.name||typeof r.name=="string")}function i0(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=Zx(o));else if(i.scheme===F.file)o=i.fsPath,W&&(o=Zx(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 Zx(i){return i=md(i),hS(i)||(i=hi(i)),i}function o0(i,r,e){let t=[],n=new Set,o=e.dirname(r);for(let s of i){let a;if(r0(s))s.path&&(a=e.resolvePath(o,s.path));else if(n0(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 Uf({uri:a,name:c,index:t.length},s))}}}return t}function e2(i){let r=i;return typeof r?.workspace=="object"&&typeof r.workspace.id=="string"&&typeof r.workspace.configPath=="string"}function t2(i){return typeof i?.folderUri=="string"}function r2(i){return typeof i?.fileUri=="string"}function s0(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;e2(o)?e.workspaces.push({label:s,remoteAuthority:a,workspace:{id:o.workspace.id,configPath:E.parse(o.workspace.configPath)}}):t2(o)?e.workspaces.push({label:s,remoteAuthority:a,folderUri:E.parse(o.folderUri)}):r2(o)&&e.files.push({label:s,remoteAuthority:a,fileUri:E.parse(o.fileUri)})})}return e}function a0(i){let r={entries:[]},e=(t,n)=>t&&t!==n.fsPath&&t!==n.path;for(let t of i.workspaces)fu(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 Sy,hm=w(()=>{ln();Zn();by();Gi();He();Te();Z();yt();le();ne();yl();Tr();Sy=O("workspacesService")});import*as xy from"fs";import n2 from"electron";var pn,wl,qo=w(()=>{Q();Zn();$();He();Te();yt();Xt();Ee();pl();Bs();Ft();ne();oe();Ho();gy();Tr();hm();im();pn=O("workspacesManagementMainService"),wl=class extends k{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 z.readdir(this.untitledWorkspacesHome.with({scheme:F.file}).fsPath)).map(t=>me(this.untitledWorkspacesHome,t,Kv));for(let t of e){let n=ro(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=>xy.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 qv(e,this.environmentMainService)||xi(e)}doResolveWorkspace(e,t){try{let n=this.doParseStoredWorkspace(e,t),o=ro(e);return{id:o.id,configPath:o.configPath,folders:o0(n.folders,o.configPath,ze),remoteAuthority:n.remoteAuthority,transient:n.transient}}catch(n){this.logService.warn(n.toString())}}doParseStoredWorkspace(e,t){let n=Dn(t);if(n&&Array.isArray(n.folders))n.folders=n.folders.filter(o=>t0(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 xy.promises.mkdir(Qe(s),{recursive:!0}),await z.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,Kv),a=[];for(let l of e)a.push(i0(l.uri,!0,l.name,o,ze));return{workspace:ro(s),storedWorkspace:{folders:a,remoteAuthority:t}}}async getWorkspaceIdentifier(e){return ro(e)}isUntitledWorkspace(e){return qv(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=dr(e.configPath);try{await z.rm(Qe(t));let n=V(this.environmentMainService.workspaceStorageHome.with({scheme:F.file}).fsPath,e.id);await z.exists(n)&&await z.writeFile(V(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,ro(n));if(s)return this._onDidEnterWorkspace.fire({window:e,workspace:s.workspace}),s}async isValidTargetWorkspacePath(e,t,n){return n?at(e.openedWorkspace)&&ze.isEqual(e.openedWorkspace.configPath,n)?!1:io(t,n)?(await this.dialogMainService.showMessageBox({type:"info",buttons:[h(2760,null)],message:h(2762,null,$r(n)),detail:h(2761,null)},n2.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})),at(e.openedWorkspace)&&this.isUntitledWorkspace(e.openedWorkspace)&&await this.deleteUntitledWorkspace(e.openedWorkspace),e.config.workspace=t,e.config.backupPath=n,{workspace:t,backupPath:n}}};wl=T([g(0,_e),g(1,N),g(2,Wr),g(3,ki),g(4,bn)],wl)});function l0(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 gm(i){i&&(delete i.DEBUG,ie&&delete i.LD_PRELOAD)}var mu=w(()=>{Z()});import{MessageChannelMain as i2,app as c0,utilityProcess as o2}from"electron";import{StringDecoder as d0}from"string_decoder";function s2(i){return typeof i.responseWindowId=="number"}var gr,zo,Vs=w(()=>{$();Q();oe();ge();He();Rt();uu();mr();_t();mu();In();Z();Aa();gr=class extends k{constructor(e,t,n){super();this.logService=e;this.telemetryService=t;this.lifecycleMainService=n;this.id=String(++gr.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(gr.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 Oe.Error:this.logService.error(n);break;case Oe.Warning:this.logService.warn(n);break;case Oe.Info:this.logService.trace(n);break}}validateCanStart(){return this.process?(this.log("Cannot start utility process because it is already running...",Oe.Error),!1):!0}start(e){let t=this.doStart(e);return t&&e.payload&&this.postMessage(e.payload)&&this.log("payload sent via postMessage()",Oe.Info),t}doStart(e){if(!this.validateCanStart())return!1;this.configuration=e;let t=`${this.configuration.type}-${this.id}`,n=rt.asFileUri("bootstrap-fork.js").fsPath,o=this.configuration.args??[],s=[...this.configuration.execArgv??[]],a=this.configuration.allowLoadingUnsignedLibraries,l=c0.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...",Oe.Info),this.process=o2.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}:{...hr(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&&(QS()?t.NODE_DISABLE_UNC_ACCESS_CHECKS="1":t.NODE_UNC_HOST_ALLOWLIST=jS().join("\\")),gm(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 d0("utf-8");this._register(P.fromNodeEventEmitter(e.stdout,"data")(s=>this._onStdout.fire(typeof s=="string"?s:o.write(s))))}if(e.stderr){let o=new d0("utf-8");this._register(P.fromNodeEventEmitter(e.stderr,"data")(s=>this._onStderr.fire(typeof s=="string"?s:o.write(s))))}this._register(P.fromNodeEventEmitter(e,"message")(o=>this._onMessage.fire(o))),this._register(P.fromNodeEventEmitter(e,"spawn")(()=>{this.processPid=e.pid,typeof e.pid=="number"&&gr.all.set(e.pid,{pid:e.pid,name:s2(t)?`${t.name} [${t.responseWindowId}]`:t.name}),this.log("successfully created",Oe.Info),this._onSpawn.fire(e.pid)})),this._register(P.fromNodeEventEmitter(e,"exit")(o=>{this.log(`received exit event with code ${o}`,Oe.Info),this._onExit.fire({pid:this.processPid,code:o,signal:"unknown"}),this.onDidExitOrCrashOrKill()})),this._register(P.fromNodeEventEmitter(c0,"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}'`,Oe.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 i2;return this.postMessage(e,[n]),t}enableInspectPort(){if(!this.process||typeof this.processPid!="number")return!1;this.log("enabling inspect port",Oe.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...",Oe.Info),this.process.kill()?(this.log("successfully killed the process",Oe.Info),this.onDidExitOrCrashOrKill()):this.log("unable to kill the process",Oe.Warning)}onDidExitOrCrashOrKill(){typeof this.processPid=="number"&&gr.all.delete(this.processPid),this.process=void 0}async waitForExit(e){this.process&&(this.log("waiting to exit...",Oe.Info),await Promise.race([P.toPromise(this.onExit),ot(e)]),this.process&&(this.log(`did not exit within ${e}ms, will kill it now...`,Oe.Info),this.kill()))}};gr=T([g(0,N),g(1,lt),g(2,ye)],gr);zo=class extends gr{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...",Oe.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(P.filter(this.lifecycleMainService.onWillLoadWindow,s=>s.window.win===e)(o)),this._register(P.fromNodeEventEmitter(e,"closed")(o))}}};zo=T([g(0,N),g(1,Ne),g(2,lt),g(3,ye)],zo)});import{app as Py}from"electron";var a2,bl,Il,Ey=w(()=>{Qn();vt();ne();Rt();Tr();qo();De();oe();Vs();a2="diagnosticsMainService",bl=O(a2),Il=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}),st.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 Ci()){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 gr.getAll())e.push({pid:o,name:s});let t=[],n=Py;return typeof n.getGPULogMessages=="function"&&(t=n.getGPULogMessages()),{mainPID:process.pid,mainArguments:process.argv.slice(1),windows:r,pidToNames:e,screenReader:!!Py.accessibilitySupportEnabled,gpuFeatureStatus:Py.getGPUFeatureStatus(),gpuLogMessages:t}}async codeWindowToInfo(r){let e=await this.getFolderURIs(r),t=fi(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(at(t)){let n=await this.workspacesManagementMainService.resolveLocalWorkspace(t.configPath);n&&n.folders.forEach(s=>{e.push(s.uri)})}return e}};Il=T([g(0,Ne),g(1,pn),g(2,N)],Il)});import{safeStorage as l2,app as c2}from"electron";var jo,Sl,u0=w(()=>{Z();wf();oe();jo=l2,Sl=class{constructor(r){this.logService=r;c2.commandLine.getSwitchValue("password-store")==="basic"&&(this.logService.trace("[EncryptionMainService] setting usePlainTextEncryption to true..."),jo.setUsePlainTextEncryption?.(!0),this.logService.trace("[EncryptionMainService] set usePlainTextEncryption to true"))}async encrypt(r){this.logService.trace("[EncryptionMainService] Encrypting value...");try{let e=JSON.stringify(jo.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=jo.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=jo.isEncryptionAvailable();return this.logService.trace("[EncryptionMainService] Encryption is available: ",r),Promise.resolve(r)}getKeyStorageProvider(){if(W)return Promise.resolve("dpapi");if(B)return Promise.resolve("keychain_access");if(jo.getSelectedStorageBackend)try{this.logService.trace("[EncryptionMainService] Getting selected storage backend...");let r=jo.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(B)throw new Error("Setting plain text encryption is not supported on macOS.");if(!jo.setUsePlainTextEncryption)throw new Error("Setting plain text encryption is not supported.");this.logService.trace("[EncryptionMainService] Setting usePlainTextEncryption to true..."),jo.setUsePlainTextEncryption(!0),this.logService.trace("[EncryptionMainService] Set usePlainTextEncryption to true")}};Sl=T([g(0,N)],Sl)});var Sn,Hs=w(()=>{ne();Sn=O("auxiliaryWindowsMainService")});var ir,hu,Ty,gu,p0,f0,vu=w(()=>{Ee();ir="workbench.action.browser",hu=(C=>(C.Open=`${ir}.open`,C.NewTab=`${ir}.newTab`,C.GoBack=`${ir}.goBack`,C.GoForward=`${ir}.goForward`,C.Reload=`${ir}.reload`,C.HardReload=`${ir}.hardReload`,C.FocusUrlInput=`${ir}.focusUrlInput`,C.AddElementToChat=`${ir}.addElementToChat`,C.AddConsoleLogsToChat=`${ir}.addConsoleLogsToChat`,C.ToggleDevTools=`${ir}.toggleDevTools`,C.OpenExternal=`${ir}.openExternal`,C.ClearGlobalStorage=`${ir}.clearGlobalStorage`,C.ClearWorkspaceStorage=`${ir}.clearWorkspaceStorage`,C.ClearEphemeralStorage=`${ir}.clearEphemeralStorage`,C.OpenSettings=`${ir}.openSettings`,C.ShowFind=`${ir}.showFind`,C.HideFind=`${ir}.hideFind`,C.FindNext=`${ir}.findNext`,C.FindPrevious=`${ir}.findPrevious`,C))(hu||{}),Ty="browserView",gu=[.25,1/3,.5,2/3,.75,.8,.9,1,1.1,1.25,1.5,1.75,2,2.5,3,4,5],p0=gu.indexOf(1),f0=999});function h2(i){return i===5||i===4||i===6||i===57}var yu,vm,Cy,_y,Ry,d2,Dy,u2,p2,f2,m0,ky,m2,h0=w(()=>{yu=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}},vm=new yu,Cy=new yu,_y=new yu,Ry=new Array(230),d2={},Dy={},u2=[],p2=Object.create(null),f2=Object.create(null),m0=[],ky=[];for(let i=0;i<=193;i++)m0[i]=-1;for(let i=0;i<=132;i++)ky[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,u2[s]=a,p2[a]=s,f2[a.toLowerCase()]=s,o&&(m0[s]=l,l!==0&&l!==3&&!h2(l)&&(ky[l]=s))),!e[l]){if(e[l]=!0,!c)throw new Error(`String representation missing for key code ${l} around scan code ${a}`);vm.define(l,c),Cy.define(l,f||c),_y.define(l,m||f||c)}d&&(Ry[d]=l),a&&(Dy[a]=d),u&&(d2[u]=l)}ky[3]=46})();(s=>{function i(a){return vm.keyCodeToStr(a)}s.toString=i;function r(a){return vm.strToKeyCode(a)}s.fromString=r;function e(a){return Cy.keyCodeToStr(a)}s.toUserSettingsUS=e;function t(a){return _y.keyCodeToStr(a)}s.toUserSettingsGeneral=t;function n(a){return Cy.strToKeyCode(a)||_y.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 vm.keyCodeToStr(a)}s.toElectronAccelerator=o})(m2||={})});var wu,Ly=w(()=>{He();le();Kt();(o=>{o.scheme=F.vscodeBrowser;function r(s,a){let l=a??Ce();return E.from({scheme:o.scheme,path:`/${l}`,query:s?`url=${encodeURIComponent(s)}`:void 0})}o.forUrl=r;function e(s){if(s.scheme!==o.scheme)return;let a=s.path.startsWith("/")?s.path.substring(1):s.path;if(!a)return;let l=s.query?new URLSearchParams(s.query).get("url")??"":"";return{id:a,url:l}}o.parse=e;function t(s){return e(s)?.id}o.getId=t;function n(s){return e(s)?.url}o.getUrl=n})(wu||={})});var ym,Ay,g0=w(()=>{Q();$();ym=class extends k{constructor(e,t){super();this.view=e;this.logService=t;this._sessions=this._register(new cr);this._electronDebugger=e.webContents.debugger,this._messageHandler=(n,o,s,a)=>{this.routeCDPEvent(o,s,a)}}async attach(){await this.initialize();let t=(await this._electronDebugger.sendCommand("Target.attachToTarget",{targetId:this._realTargetId,flatten:!0})).sessionId,n=new Ay(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;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()}},Ay=class extends k{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())}}});import{WebContentsView as g2,webContents as v2}from"electron";var y2,Ln,My=w(()=>{He();$();Q();et();vu();h0();Rt();Hs();Z();Ly();g0();oe();De();y2=new Set([2079,2081,2100,3124,2102,...B?[]:[2103],2104,3128]),Ln=class extends k{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=p0;this._isSendingKeyEvent=!1;this._isDisposed=!1;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,preload:rt.asFileUri("vs/platform/browserView/electron-browser/preload-browserView.js").fsPath,type:"browserView"};this._view=new g2({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=wu.forUrl(u.url,y.id);return this._onDidRequestNewPage.fire({resource:v,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 ym(this,this.logService),this._register(t.acquire()),this.setupEventListeners()}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()=>{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"),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=()=>{this._onDidNavigate.fire({url:e.getURL(),title:e.getTitle(),canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward()})},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},n(!1),this._onDidNavigate.fire({url:l,title:"",canGoBack:e.navigationHistory.canGoBack(),canGoForward:e.navigationHistory.canGoForward()})}}),e.on("did-finish-load",()=>n(!1)),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._view.webContents.setZoomFactor(gu[this._browserZoomIndex])}),e.on("focus",()=>{this._onDidChangeFocus.fire({focused:!0})}),e.on("blur",()=>{this._onDidChangeFocus.fire({focused:!1})}),e.on("before-input-event",async(o,s)=>{s.type==="keyDown"&&!this._isSendingKeyEvent&&this.tryHandleCommand(s)&&o.preventDefault()}),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})})}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;return{url:e.getURL(),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,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,gu.length-1));let t=gu[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}))}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,o=(await this._view.webContents.capturePage(e?.rect,{stayHidden:!0})).toJPEG(t),s=H.wrap(o);return e?.rect||(this._lastScreenshot=s),s}async dispatchKeyEvent(e){let t={type:"keyDown",keyCode:e.key,modifiers:[]};e.ctrlKey&&t.modifiers.push("control"),e.shiftKey&&t.modifiers.push("shift"),e.altKey&&t.modifiers.push("alt"),e.metaKey&&t.modifiers.push("meta"),this._isSendingKeyEvent=!0;try{await this._view.webContents.sendInputEvent(t)}finally{this._isSendingKeyEvent=!1}}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(f0,[{code:'window.browserViewAPI?.getSelectedText?.() ?? ""'}])}catch{return""}}async clearStorage(){await this.session.electronSession.clearData()}getWebContentsView(){return this._view}getElectronWindow(){return this._window?.win??void 0}getTopCodeWindow(){return this._window&&sn(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())}tryHandleCommand(e){let t=Dy[e.code]||0,n=Ry[t]||0,o=n>=15&&n<=18,s=n===3||n===9||n>=59&&n<=82||n>=117;if(e.alt&&!e.control&&!e.meta&&!s&&!o||!(e.control||e.alt||e.meta)&&!s)return!1;let c=B?e.meta:e.control,d=n|(c?2048:0)|(e.shift?1024:0)|(e.alt?512:0);return y2.has(d)?!1:(this._onDidKeyCommand.fire({key:e.key,keyCode:t,code:e.code,ctrlKey:e.control||!1,shiftKey:e.shift||!1,altKey:e.alt||!1,metaKey:e.meta||!1,repeat:e.isAutoRepeat||!1}),!0)}_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=v2.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};Ln=T([g(5,Ne),g(6,Sn),g(7,N)],Ln)});import{session as Oy}from"electron";var v0,An,y0=w(()=>{$();yt();vu();v0=new Set(["pointerLock","notifications","clipboard-read","clipboard-sanitized-write"]),An=class i extends k{constructor(e,t,n){super();this.id=e;this.electronSession=t;this.storageScope=n;this.refs=0;if(i._sessions.has(e))throw new Error(`BrowserSession with id '${e}' already exists`);this.configureSession(),i.knownSessions.add(t),i._sessions.set(e,this)}static{this._sessions=new Map}static{this.knownSessions=new WeakSet}static isBrowserViewWebContents(e){return i.knownSessions.has(e.session)}static get(e){return i._sessions.get(e)}static getBrowserContextIds(){return[...i._sessions.keys()]}static getOrCreateGlobal(){let e=i._sessions.get("global");return e||new i("global",Oy.fromPartition("persist:vscode-browser"),"global")}static getOrCreateWorkspace(e,t){let n=`workspace:${e}`,o=i._sessions.get(n);if(o)return o;let s=me(t,e,"browserStorage");return new i(n,Oy.fromPath(s.fsPath),"workspace")}static getOrCreateEphemeral(e,t){if(t==="workspace"||t==="ephemeral")throw new Error(`Cannot create session with reserved type '${t}'`);let n=`${t??"ephemeral"}:${e}`,o=i._sessions.get(n);return o||new i(n,Oy.fromPartition(`vscode-browser-${t}${e}`),"ephemeral")}static getOrCreate(e,t,n,o){switch(t){case"global":return i.getOrCreateGlobal();case"workspace":if(o)return i.getOrCreateWorkspace(o,n);case"ephemeral":default:return i.getOrCreateEphemeral(e)}}configureSession(){this.electronSession.setPermissionRequestHandler((e,t,n)=>n(v0.has(t))),this.electronSession.setPermissionCheckHandler((e,t,n)=>v0.has(t))}acquire(){return this.refs++,G(()=>{this.refs--,this.refs===0&&this.dispose()})}dispose(){if(this.refs>0)throw new Error("Cannot dispose BrowserSession because it is still in use");i._sessions.delete(this.id),super.dispose()}}});var bu,Go,wm,Iu,Jo,w0=w(()=>{bu={MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603,ServerError:-32e3},Go=class extends Error{constructor(e,t){super(e);this.code=t;this.name="CDPError"}},wm=class extends Go{constructor(r){super(`Method not found: ${r}`,bu.MethodNotFound),this.name="CDPMethodNotFoundError"}},Iu=class extends Go{constructor(r){super(r,bu.InvalidParams),this.name="CDPInvalidParamsError"}},Jo=class extends Go{constructor(r){super(r,bu.ServerError),this.name="CDPServerError"}}});var $s,Wy,Fy=w(()=>{$();Q();Kt();w0();$s=class extends k{constructor(e){super();this.browserTarget=e;this.sessionId=`browser-session-${Ce()}`;this._isAttachedToBrowserTarget=!1;this._autoAttach=!1;this._discover=!1;this._targets=this._register(new Wy);this._sessions=this._register(new cr);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 wm(e);return await a(t,n)}let o=this._sessions.get(n);if(!o)throw new Jo(`Session not found: ${n}`);return await o.sendCommand(e,t)??{}}catch(o){throw o instanceof Go?o:new Jo(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 Go?s.code:bu.ServerError,message:s.message||"Unknown error"},sessionId:o})})}handleBrowserGetWindowForTarget({targetId:e},t){let n=(t&&this.findTargetIdForSession(t))??e;if(!n)throw new Jo("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 Iu("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 Iu("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 Jo(`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}},Wy=class extends k{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 Jo(`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 I0(i,r){i.publicLog2("integratedBrowser.open",{source:r})}var b0=w(()=>{});import{networkInterfaces as w2}from"os";function b2(i){let r=i.replace(/\-/g,":").toLowerCase();return!I2.has(r)}function S0(){let i=w2();for(let r in i){let e=i[r];if(e){for(let{mac:t}of e)if(b2(t))return t}}throw new Error("Unable to retrieve mac address (unexpected format)")}var I2,x0=w(()=>{I2=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as S2}from"os";async function P0(i){return Uy||(Uy=(async()=>await x2(i)||Ce())()),Uy}async function x2(i){try{let r=await import("crypto"),e=S0();return r.createHash("sha256").update(e,"utf8").digest("hex")}catch(r){i(r);return}}async function E0(i){if(W){let r=await import("@vscode/windows-registry");try{return r.GetStringRegKey("HKEY_LOCAL_MACHINE",P2,"MachineId")||""}catch(e){return i(e),""}}return""}async function Im(i){try{return await(await import("@vscode/deviceid")).getDeviceId()}catch(r){return i(r),Ce()}}var Su,Uy,P2,xu=w(()=>{As();Kt();x0();Z();Su=new class{_isVirtualMachineMacAddress(i){return this._virtualMachineOUIs||(this._virtualMachineOUIs=qr.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=S2();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}};P2="Software\\Microsoft\\SQMClient"});import*as bm from"net";function C0(i,r,e,t=1){let n=!1;return new Promise(o=>{let s=setTimeout(()=>{if(!n)return n=!0,o(0)},e);Ny(i,r,t,a=>{if(!n)return n=!0,clearTimeout(s),o(a)})})}function Ny(i,r,e,t){if(r===0)return t(0);let n=new bm.Socket;n.once("connect",()=>(T0(n),Ny(i+e,r-1,e,t))),n.once("data",()=>{}),n.once("error",o=>(T0(n),o.code!=="ECONNREFUSED"?Ny(i+e,r-1,e,t):t(i))),n.connect(i,"127.0.0.1")}function _0(i,r){return Vy(i,0,r).then(e=>e!==0)}function Vy(i,r,e,t="127.0.0.1"){let n=!1,o,s=1,a=bm.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 T0(i){try{i.removeAllListeners("connect"),i.removeAllListeners("error"),i.end(),i.destroy(),i.unref()}catch(r){console.error(r)}}var By,Hy=w(()=>{By={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 CK,$y=w(()=>{ne();CK=O("nativeHostService")});import*as k0 from"fs";import*as R0 from"child_process";async function D0(i=!1){return(Ky===void 0||i)&&(Ky=E2()),Ky}async function E2(){let i=await hf();if(i===0)return!1;if(i>=22e3){let r=T2();if(r)return new Promise(e=>{try{R0.execFile(r,["--status"],t=>e(!t))}catch{e(!1)}})}else{let r=C2();if(r)try{if((await k0.promises.stat(r)).isFile())return!0}catch{}}return!1}function L0(i){let r=process.env.SystemRoot;if(r){let e=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");return V(r,e?"Sysnative":"System32",i)}}function T2(){return L0("wsl.exe")}function C2(){return L0("lxss\\LxssManager.dll")}var Ky,A0=w(()=>{Te();za()});var xl,M0=w(()=>{ge();oe();xl=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 ot(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()}};xl=T([g(2,N)],xl)});import{createWriteStream as _2,promises as NK}from"fs";async function O0(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=_2(i);o.outputStream.pipe(s),o.outputStream.once("error",n),s.once("error",n),s.once("finish",()=>t(i))})}var k2,$K,W0=w(()=>{ge();Te();De();Xt();Ee();k2="end of central directory record signature not found",$K=new RegExp(k2)});function R2(i){return i.res.statusCode&&i.res.statusCode>=200&&i.res.statusCode<300||i.res.statusCode===1223}function D2(i){return i.res.statusCode===204}async function Pl(i){if(!R2(i))throw new Error("Server returned "+i.res.statusCode);if(D2(i))return null;let e=(await Es(i.stream)).toString();try{return JSON.parse(e)}catch(t){throw t.message+=`:
`+e,t}}function L2(i=!0,r=!0){if(F0===i&&U0===r)return;F0=i,U0=r;let e=St.as(tr.Configuration),t=qy;qy=[{id:"http",order:15,title:h(2280,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:r,markdownDescription:h(2295,null),restricted:!0}}},{id:"http",order:15,title:h(2280,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:h(2278,null),restricted:!0}}},{id:"http",order:15,title:h(2280,null),type:"object",scope:i?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:h(2283,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:h(2291,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:h(2285,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:h(2282,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:h(2284,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[h(2288,null),h(2289,null),h(2287,null),h(2290,null)],default:"override",markdownDescription:h(2286,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:h(2292,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:jy,markdownDescription:h(2293,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:h(2294,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2279,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:h(2296,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:h(2281,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:qy,remove:t})}var Mn,zy,Sm,jy,qy,F0,U0,Qo=w(()=>{et();Be();Q();$();Ee();zi();ne();Gn();Mn=O("requestService"),zy=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}},Sm=class extends k{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 zy(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,lr(s)),s}}};jy=!1,qy=[];L2()});import*as Qy from"fs";import{exec as N0}from"child_process";import{app as Pu,BrowserWindow as xm,clipboard as Xo,contentTracing as M2,Menu as Eu,Notification as B0,powerMonitor as xn,powerSaveBlocker as Gy,screen as Tu,shell as Jy,webContents as O2}from"electron";import{arch as W2,cpus as F2,freemem as U2,loadavg as N2,platform as B2,release as V2,totalmem as H2,type as $2}from"os";import{promisify as V0}from"util";var On,Ks,El=w(()=>{ko();Q();$();He();Te();Z();le();xu();Xt();Hy();Ee();Bs();Ft();ne();_t();oe();$y();Yt();nl();Ei();Rt();Tr();qo();et();A0();M0();Hs();Be();W0();nt();iy();Qo();ln();vt();On=O("nativeHostMainService"),Ks=class extends k{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 cr);this.onDidOpenMainWindow=P.map(this.windowsMainService.onDidOpenWindow,v=>v.id),this.onDidTriggerWindowSystemContextMenu=P.any(P.map(this.windowsMainService.onDidTriggerSystemContextMenu,({window:v,x:b,y:I})=>({windowId:v.id,x:b,y:I})),P.map(this.auxiliaryWindowsMainService.onDidTriggerSystemContextMenu,({window:v,x:b,y:I})=>({windowId:v.id,x:b,y:I}))),this.onDidMaximizeWindow=P.any(P.map(this.windowsMainService.onDidMaximizeWindow,v=>v.id),P.map(this.auxiliaryWindowsMainService.onDidMaximizeWindow,v=>v.id)),this.onDidUnmaximizeWindow=P.any(P.map(this.windowsMainService.onDidUnmaximizeWindow,v=>v.id),P.map(this.auxiliaryWindowsMainService.onDidUnmaximizeWindow,v=>v.id)),this.onDidChangeWindowFullScreen=P.any(P.map(this.windowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen})),P.map(this.auxiliaryWindowsMainService.onDidChangeFullScreen,v=>({windowId:v.window.id,fullscreen:v.fullscreen}))),this.onDidChangeWindowAlwaysOnTop=P.any(P.None,P.map(this.auxiliaryWindowsMainService.onDidChangeAlwaysOnTop,v=>({windowId:v.window.id,alwaysOnTop:v.alwaysOnTop}))),this.onDidBlurMainWindow=P.filter(P.fromNodeEventEmitter(Pu,"browser-window-blur",(v,b)=>b.id),v=>!!this.windowsMainService.getWindowById(v)),this.onDidFocusMainWindow=P.any(P.map(P.filter(P.map(this.windowsMainService.onDidChangeWindowsCount,()=>this.windowsMainService.getLastActiveWindow()),v=>!!v),v=>v.id),P.filter(P.fromNodeEventEmitter(Pu,"browser-window-focus",(v,b)=>b.id),v=>!!this.windowsMainService.getWindowById(v))),this.onDidBlurMainOrAuxiliaryWindow=P.any(this.onDidBlurMainWindow,P.map(P.filter(P.fromNodeEventEmitter(Pu,"browser-window-blur",(v,b)=>this.auxiliaryWindowsMainService.getWindowByWebContents(b.webContents)),v=>!!v),v=>v.id)),this.onDidFocusMainOrAuxiliaryWindow=P.any(this.onDidFocusMainWindow,P.map(P.filter(P.fromNodeEventEmitter(Pu,"browser-window-focus",(v,b)=>this.auxiliaryWindowsMainService.getWindowByWebContents(b.webContents)),v=>!!v),v=>v.id)),this.onDidSuspendOS=P.fromNodeEventEmitter(xn,"suspend"),this.onDidResumeOS=P.fromNodeEventEmitter(xn,"resume"),this.onDidChangeOnBatteryPower=P.any(P.map(P.fromNodeEventEmitter(xn,"on-ac"),()=>!1),P.map(P.fromNodeEventEmitter(xn,"on-battery"),()=>!0)),this.onDidChangeThermalState=P.map(P.fromNodeEventEmitter(xn,"thermal-state-change"),v=>v.state),this.onDidChangeSpeedLimit=P.map(P.fromNodeEventEmitter(xn,"speed-limit-change"),v=>v.limit),this.onWillShutdownOS=P.fromNodeEventEmitter(xn,"shutdown"),this.onDidLockScreen=P.fromNodeEventEmitter(xn,"lock-screen"),this.onDidUnlockScreen=P.fromNodeEventEmitter(xn,"unlock-screen"),this.onDidChangeColorScheme=this.themeMainService.onDidChangeColorScheme,this.onDidChangeDisplay=P.debounce(P.any(P.filter(P.fromNodeEventEmitter(Tu,"display-metrics-changed",(v,b,I)=>I),v=>!(Array.isArray(v)&&v.length===1&&v[0]==="workArea")),P.fromNodeEventEmitter(Tu,"display-added"),P.fromNodeEventEmitter(Tu,"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??Oo(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=Tu.getCursorScreenPoint(),n=Tu.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=P.toPromise(P.once(P.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 Qt.stat(t);if(o&&!o.dangling){let s=await z.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(2229,null,this.productService.nameShort),buttons:[h(2222,null),h(2218,null)]});if(o===1)throw new bt;try{let s=`osascript -e "do shell script \\"mkdir -p /usr/local/bin && ln -sf '${n}' '${t}'\\" with administrator privileges"`;await V0(N0)(s)}catch{throw new Error(h(2219,null,t))}}async uninstallShellCommand(e){let{source:t}=await this.getShellCommandLink();try{await Qy.promises.unlink(t)}catch(n){switch(n.code){case"EACCES":{let{response:o}=await this.showMessageBox(e,{type:"info",message:h(2230,null,this.productService.nameShort),buttons:[h(2222,null),h(2218,null)]});if(o===1)throw new bt;try{let s=`osascript -e "do shell script \\"rm '${t}'\\" with administrator privileges"`;await V0(N0)(s)}catch{throw new Error(h(2220,null,t))}break}case"ENOENT":break;default:throw n}}}async getShellCommandLink(){let e=nn(this.environmentMainService.appRoot,"bin","code"),t=`/usr/local/bin/${this.productService.applicationName}`;if(!await z.exists(e))throw new Error(h(2225,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 Qt.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){Jy.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{Jg(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(ct.sep))&&!await z.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 Jy.openExternal(t)}catch(n){let o,s;Jg(t,F.http,F.https)?(o=!0,s=h(2223,null)):(o=!1,s=h(2224,null));let{response:a}=await this.dialogMainService.showMessageBox({type:"error",message:s,detail:n.message,buttons:o?[h(2221,null),h(2218,null)]:[h(2222,null)]},this.windowById(e)?.win??void 0);if(a===1)return;this.writeClipboardText(e,t)}}moveItemToTrash(e,t){return Jy.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=bs(this.environmentMainService.userDataPath,"code-elevated");await z.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:B&&this.environmentMainService.isBuilt?V(Qe(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 Qy.promises.unlink(a)}}async isRunningUnderARM64Translation(){return ie||W?!1:Pu.runningUnderARM64Translation}get cliPath(){return W?this.environmentMainService.isBuilt?V(Qe(process.execPath),"bin",`${this.productService.applicationName}.cmd`):V(this.environmentMainService.appRoot,"scripts","code-cli.bat"):ie?this.environmentMainService.isBuilt?V(Qe(process.execPath),"bin",`${this.productService.applicationName}`):V(this.environmentMainService.appRoot,"scripts","code-cli.sh"):this.environmentMainService.isBuilt?V(this.environmentMainService.appRoot,"bin","code"):V(this.environmentMainService.appRoot,"scripts","code-cli.sh")}async getOSStatistics(){return{totalmem:H2(),freemem:U2(),loadavg:N2()}}async getOSProperties(){return{arch:W2(),platform:B2(),release:V2(),type:$2(),cpus:F2()}}async getOSVirtualMachineHint(){return Su.value()}async getOSColorScheme(){return this.themeMainService.getColorScheme()}async hasWSLFeatureInstalled(){return W&&D0()}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=Xo.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 Xo.readImage().toPNG()}async writeClipboardText(e,t,n){return Xo.writeText(t,n)}async readClipboardFindText(e){return Xo.readFindText()}async writeClipboardFindText(e,t){return Xo.writeFindText(t)}async writeClipboardBuffer(e,t,n,o){return Xo.writeBuffer(t,Buffer.from(n.buffer),o)}async readClipboardBuffer(e,t){return H.wrap(Xo.readBuffer(t))}async hasClipboard(e,t,n){return Xo.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(){Eu.sendActionToFirstResponder("selectPreviousTab:")}async showNextWindowTab(){Eu.sendActionToFirstResponder("selectNextTab:")}async moveWindowTabToNewWindow(){Eu.sendActionToFirstResponder("moveTabToNewWindow:")}async mergeAllWindowTabs(){Eu.sendActionToFirstResponder("mergeAllWindows:")}async toggleWindowTabsBar(){Eu.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(at(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 _0(t,1e3)}findFreePort(e,t,n,o,s=1){return C0(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(il,Pi(),{forceNativeTitlebar:!0}),parent:e??void 0,...n},a=new xm(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=xm.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=xm.fromId(this.contentTracingWindowId);e?.isMinimized()&&e?.restore(),e?.focus()}}async stopTracing(e){if(!this.environmentMainService.args.trace)return;let t=await M2.stopRecording(`${bs(this.environmentMainService.userHome.fsPath,this.productService.applicationName)}.trace.txt`);await this.dialogMainService.showMessageBox({type:"info",message:h(2227,null),detail:h(2226,null,t),buttons:[h(2228,null)]},xm.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 xl(o.win,t,this.logService).inspect(n)}async showToast(e,t){if(!B0.isSupported())return{supported:!1,clicked:!1};let n=new B0({title:t.title,body:t.body,silent:t.silent,actions:t.actions?.map(a=>({type:"button",text:a}))}),o=new re;this.activeToasts.set(t.id,o);let s=new qe;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 O0(t.fsPath,n)}async getSystemIdleState(e,t){return xn.getSystemIdleState(t)}async getSystemIdleTime(e){return xn.getSystemIdleTime()}async getCurrentThermalState(e){return xn.getCurrentThermalState()}async isOnBatteryPower(e){return xn.isOnBatteryPower()}async startPowerSaveBlocker(e,t){return Gy.start(t)}async stopPowerSaveBlocker(e,t){return Gy.stop(t)}async isPowerSaveBlockerStarted(e,t){return Gy.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=O2.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};T([ue],Ks.prototype,"cliPath",1),Ks=T([g(0,Ne),g(1,Sn),g(2,bn),g(3,ye),g(4,_e),g(5,N),g(6,Re),g(7,Ti),g(8,pn),g(9,he),g(10,Mn),g(11,su),g(12,Wt)],Ks)});import{clipboard as H0,Menu as K2,MenuItem as or}from"electron";var zs,qs,Pm=w(()=>{Q();$();vu();Ft();ne();My();Kt();Ly();Rt();y0();Yt();Fy();b0();mr();vt();Ee();El();er();zs=O("browserViewMainService"),qs=class extends k{constructor(e,t,n,o,s,a){super();this.environmentMainService=e;this.instantiationService=t;this.windowsMainService=n;this.productService=o;this.telemetryService=s;this.nativeHostMainService=a;this.browserViews=this._register(new cr);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 An.isBrowserViewWebContents(e)}async getOrCreateBrowserView(e,t,n){if(this.browserViews.has(e))return this.browserViews.get(e).getState();let o=An.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 Ln))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 $s(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?An.get(t):void 0;return this.openNew(e,{session:o,windowId:n,editorOptions:{preserveFocus:!0},source:"cdpCreated"})}async activateTarget(e){if(!(e instanceof Ln))throw new Error("Can only activate targets created by this service")}async closeTarget(e){if(!(e instanceof Ln))throw new Error("Can only close targets created by this service");return await this.destroyBrowserView(e.id),!0}getBrowserContexts(){return An.getBrowserContextIds()}async createBrowserContext(){return An.getOrCreateEphemeral(Ce(),"cdp-created").id}async disposeBrowserContext(e){if(!e.startsWith("cdp-created:"))throw new Error("Can only dispose browser contexts created via CDP");let t=An.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);t.dispose()}_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 dispatchKeyEvent(e,t){return this._getBrowserView(e).dispatchKeyEvent(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 clearGlobalStorage(){await An.getOrCreateGlobal().electronSession.clearData()}async clearWorkspaceStorage(e){await An.getOrCreateWorkspace(e,this.environmentMainService.workspaceStorageHome).electronSession.clearData()}async updateKeybindings(e){this._keybindings=e}createBrowserView(e,t,n){if(this.browserViews.has(e))throw new Error(`Browser view with id ${e} already exists`);let o=this.instantiationService.createInstance(Ln,e,t,s=>this.createBrowserView(Ce(),t,s),(s,a)=>this.showContextMenu(s,a),n);return this.browserViews.set(e,o),this._onTargetCreated.fire(o),P.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=Ce(),l=this.createBrowserView(a,t||An.getOrCreateEphemeral(a)),c=n!==void 0?this.windowsMainService.getWindowById(n):this.windowsMainService.getFocusedWindow();if(!c)throw new Error(`Window ${n} not found`);return I0(this.telemetryService,s),c.sendWhenReady("vscode:runAction",Se.None,{id:"_workbench.open",args:[wu.forUrl(e,a),[void 0,o],void 0]}),l}showContextMenu(e,t){let n=e.getElectronWindow();if(!n)return;let o=e.webContents;if(o.isDestroyed())return;let s=new K2;t.linkURL&&(s.append(new or({label:h(1846,null),click:()=>{this.openNew(t.linkURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new or({label:h(1845,null),click:()=>{this.nativeHostMainService.openExternal(void 0,t.linkURL)}})),s.append(new or({type:"separator"})),s.append(new or({label:h(1841,null),click:()=>{H0.write({text:t.linkURL,html:`<a href="${encodeURI(t.linkURL)}">${dS(t.linkText||t.linkURL)}</a>`})}}))),t.hasImageContents&&t.srcURL&&(s.items.length>0&&s.append(new or({type:"separator"})),s.append(new or({label:h(1844,null),click:()=>{this.openNew(t.srcURL,{session:e.session,windowId:e.getTopCodeWindow()?.id,editorOptions:{preserveFocus:!0,inactive:!0},source:"browserLinkBackground"})}})),s.append(new or({label:h(1839,null),click:()=>{e.webContents.copyImageAt(t.x,t.y)}})),s.append(new or({label:h(1840,null),click:()=>{H0.writeText(t.srcURL)}}))),t.isEditable?(s.append(new or({role:"cut",enabled:t.editFlags.canCut})),s.append(new or({role:"copy",enabled:t.editFlags.canCopy})),s.append(new or({role:"paste",enabled:t.editFlags.canPaste})),s.append(new or({role:"pasteAndMatchStyle",enabled:t.editFlags.canPaste})),s.append(new or({role:"selectAll",enabled:t.editFlags.canSelectAll}))):t.selectionText&&s.append(new or({role:"copy"})),s.items.length===0&&(o.navigationHistory.canGoBack()&&s.append(new or({label:h(1838,null),accelerator:this._keybindings[hu.GoBack],click:()=>o.navigationHistory.goBack()})),o.navigationHistory.canGoForward()&&s.append(new or({label:h(1842,null),accelerator:this._keybindings[hu.GoForward],click:()=>o.navigationHistory.goForward()})),s.append(new or({label:h(1847,null),accelerator:this._keybindings[hu.Reload],click:()=>o.reload()}))),s.append(new or({type:"separator"})),s.append(new or({label:h(1843,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})}};qs=T([g(0,_e),g(1,Wt),g(2,Ne),g(3,Re),g(4,lt),g(5,On)],qs)});import{webContents as Cu}from"electron";function K0(i){return i.browserViewId??i.webviewId}var Xy,$0,_u,Tl,q0=w(()=>{Hs();Rt();ne();$();Pm();Xy=O("browserElementsMainService"),$0=1e3,_u=new Map;Tl=class extends k{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=K0(t);if(!n)return;let o=_u.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=K0(n);if(!c)return;_u.has(c)||_u.set(c,[]);let d={0:"log",1:"warning",2:"error"},u=(v,b,I,_,C)=>{let A=`[${d[b]??"log"}] ${I}`,ae=_u.get(c)??[];ae.push(A),ae.length>$0&&ae.splice(0,ae.length-$0),_u.set(c,ae)},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),t.onCancellationRequested(f)}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:Cu.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=Cu.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=Cu.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:_}=await d.sendCommand("Target.attachToTarget",{targetId:I,flatten:!0});u=_,await d.sendCommand("DOM.enable",{},_),await d.sendCommand("CSS.enable",{},_),await d.sendCommand("Overlay.enable",{},_),await d.sendCommand("Debugger.enable",{},_),await d.sendCommand("Runtime.enable",{},_),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);
						})();`},_),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}}}}},_)}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=Cu.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},_={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:_.x*b,y:_.y*b,width:_.width*b,height:_.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,_=Math.min(I[0],b[0]),C=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]),ae=await t.sendCommand("CSS.getMatchedStylesForNode",{nodeId:y},e);if(!ae)throw new Error("Failed to get matched css.");let U=this.formatMatchedStyles(ae),{outerHTML:Y}=await t.sendCommand("DOM.getOuterHTML",{nodeId:y},e);if(!Y)throw new Error("Failed to get outerHTML.");let q,be,wt,It;try{let{object:Ur}=await t.sendCommand("DOM.resolveNode",{nodeId:y},e);if(Ur?.objectId){let{result:J}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Ur.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);J?.value&&Array.isArray(J.value)&&(q=J.value);let{result:K}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Ur.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&&(be=K.value);let{result:j}=await t.sendCommand("Runtime.callFunctionOn",{objectId:Ur.objectId,functionDeclaration:"function() { return this.innerText; }",returnByValue:!0},e);if(j?.value){let X=String(j.value).trim();It=X.length>100?X.substring(0,100)+"\u2026":X}}let{computedStyle:Nr}=await t.sendCommand("CSS.getComputedStyleForNode",{nodeId:y},e);if(Nr){wt={};for(let J of Nr)J.name&&typeof J.value=="string"&&(wt[J.name]=J.value)}}catch{}s({outerHTML:Y,computedStyle:U,bounds:{x:_,y:C,width:D,height:A},ancestors:q,attributes:be,computedStyles:wt,dimensions:{top:C,left:_,width:D,height:A},innerText:It})}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=Cu.fromId(e);if(t)return this.auxiliaryWindowsMainService.getWindowByWebContents(t)}};Tl=T([g(0,Ne),g(1,Sn),g(2,zs)],Tl)});var Yy,z0=w(()=>{Yy="browserViewGroup"});var Cl,j0=w(()=>{$();Q();My();Fy();Pm();Cl=class extends k{constructor(e,t,n){super();this.id=e;this.windowId=t;this.browserViewMainService=n;this.views=new Map;this.viewListeners=this._register(new re);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(P.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 $s(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 Ln&&await this.addView(o.id),o}async activateTarget(e){return this.browserViewMainService.activateTarget(e)}async closeTarget(e){return e instanceof Ln&&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 $s(this))),this._debugger}async sendCDPMessage(e){return this.debugger.sendMessage(e)}get onCDPMessage(){return this.debugger.onMessage}dispose(){this._onDidDestroy.fire(),super.dispose()}};Cl=T([g(2,zs)],Cl)});var Zy,_l,G0=w(()=>{$();Q();ne();Kt();j0();Zy=O("browserViewGroupMainService"),_l=class extends k{constructor(e){super();this.instantiationService=e;this.groups=this._register(new cr)}async createGroup(e){let t=Ce(),n=this.instantiationService.createInstance(Cl,t,e);return this.groups.set(t,n),P.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}};_l=T([g(0,Wt)],_l)});import q2 from"assert";function z2(i,r){let e=(l,c)=>{console.warn(h(1957,null,l,c))},t=l=>{console.warn(h(1955,null,l))},n=(l,c)=>{console.warn(h(1954,null,l,c))},o=l=>({onUnknownOption:c=>{sy.includes(l)||console.warn(h(1959,null,c,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:sy.includes(l)?o:void 0}),a=lu(i,om,r?{onUnknownOption:l=>{console.warn(h(1958,null,l))},onMultipleValues:e,onEmptyValue:t,onDeprecatedOption:n,getSubcommandReporter:o}:void 0);return a.goto&&a._.forEach(l=>q2(/^(\w:)?[^:]+(:\d*){0,2}:?$/.test(l),h(1956,null))),a}function j2(i){let r=i.findIndex(e=>!/^-/.test(e));if(r>-1)return[...i.slice(0,r),...i.slice(r+1)]}function J0(i){let[,...r]=i;if(W&&r.length>0){let t=nn(r[0]).toLowerCase(),n=Qe(process.execPath).toLowerCase()+"\\";t.startsWith(n)&&t.endsWith("\\resources\\app\\out\\cli.js")&&r.shift()}process.env.VSCODE_DEV&&(r=j2(r)||[]);let e=!ei(process.env);return z2(r,e)}function Q0(i,...r){let e=i.indexOf("--");return e===-1?i.push(...r):i.splice(e,0,...r),i}function ei(i){return i.VSCODE_CLI==="1"}var kl=w(()=>{Te();Z();Ee();ay()});import*as ew from"os";function Q2({useAlternateBitness:i=!1}={}){return i?ku===0?process.env["ProgramFiles(x86)"]||null:Rl===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function Em({useAlternateBitness:i=!1,findPreview:r=!1}={}){let e=Q2({useAlternateBitness:i});if(!e)return null;let t=V(e,"PowerShell");if(!await Qt.existsDirectory(t))return null;let n=-1,o=null;for(let l of await z.readdir(t)){let c=-1;if(r){let u=l.indexOf("-");if(u<0)continue;let f=l.substring(0,u);if(!X0.test(f)||l.substring(u+1)!=="preview")continue;c=parseInt(f,10)}else{if(!X0.test(l))continue;c=parseInt(l,10)}if(c<=n)continue;let d=V(t,l,"pwsh.exe");await Qt.existsFile(d)&&(o=d,n=c)}if(!o)return null;let s=e.includes("x86")?" (x86)":"",a=r?" Preview":"";return new js(o,`PowerShell${a}${s}`,!0)}async function Y0({findPreview:i}={}){if(!process.env.LOCALAPPDATA)return null;let r=V(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await Qt.existsDirectory(r))return null;let{pwshMsixDirRegex:e,pwshMsixName:t}=i?{pwshMsixDirRegex:J2,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:G2,pwshMsixName:"PowerShell (Store)"};for(let n of await z.readdir(r))if(e.test(n)){let o=V(r,n,"pwsh.exe");return new js(o,t)}return null}function X2(){let i=V(ew.homedir(),".dotnet","tools","pwsh.exe");return new js(i,".NET Core PowerShell Global Tool")}function Y2(){let i=V(ew.homedir(),"scoop","apps"),r=V(i,"pwsh","current","pwsh.exe");return new js(r,"PowerShell (Scoop)")}function Z2(){let i=V(process.env.windir,ku===1&&Rl!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new js(i,"Windows PowerShell",!0)}async function*eL(){let i=await Em();i&&(yield i),i=await Em({useAlternateBitness:!0}),i&&(yield i),i=await Y0(),i&&(yield i),i=X2(),i&&(yield i),i=await Em({findPreview:!0}),i&&(yield i),i=await Y0({findPreview:!0}),i&&(yield i),i=await Em({useAlternateBitness:!0,findPreview:!0}),i&&(yield i),i=await Y2(),i&&(yield i),i=Z2(),i&&(yield i)}async function*tw(){for await(let i of eL())await i.exists()&&(yield i)}async function Z0(){for await(let i of tw())return i;return null}var X0,G2,J2,ku,Rl,js,rw=w(()=>{Te();Xt();X0=/^\d+$/,G2=/^Microsoft.PowerShell_.*/,J2=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":ku=1;break;case"arm":case"arm64":ku=2;break;default:ku=0;break}process.env.PROCESSOR_ARCHITEW6432?Rl=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Rl=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Rl=1:Rl=0;js=class{constructor(r,e,t){this.exePath=r;this.displayName=e;this.knownToExist=t}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await Qt.existsFile(this.exePath)),this.knownToExist}}});import*as nw from"child_process";import{promises as eP}from"fs";function Tm(i=br){return i.comspec||"cmd.exe"}function tP(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 z.exists(i)){let r;try{r=await eP.stat(i)}catch(e){e.message.startsWith("EACCES")&&(r=await eP.lstat(i))}return r?!r.isDirectory():!1}return!1}async function Ru(i,r,e,t=br,n=tL){if(yo(i))return await n(i)?i:void 0;if(r===void 0&&(r=en()),Qe(i)!=="."){let l=V(r,i);return await n(l)?l:void 0}let s=my(t,"PATH");if(e===void 0&&Ae(s)&&(e=s.split(Sp)),e===void 0||e.length===0){let l=V(r,i);return await n(l)?l:void 0}for(let l of e){let c;if(yo(l)?c=V(l,i):c=V(r,l,i),W){let u=(my(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=V(r,i);return await n(a)?a:void 0}async function rP(i,r=!1){let e;if(W){let t=process.env.WINDIR||"C:\\Windows",n=V(t,"System32","taskkill.exe"),o=["/T"];r&&o.push("/F"),o.push("/PID",String(i)),e=nw.spawn(n,o,{stdio:["ignore","pipe","pipe"]})}else{let t=rt.asFileUri("vs/base/node/terminateProcess.sh").fsPath;e=nw.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 Dl=w(()=>{In();Te();Z();Bn();mu();De();Xt();He()});import{userInfo as rL}from"os";async function Cm(i,r){return i===1?W?iL():Tm(r):nL(i,r)}function nL(i,r){if(ie&&i===2||B&&i===3)return"/bin/bash";if(!iw){let e;if(W)e="/bin/bash";else{if(e=r.SHELL,!e)try{e=rL().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}iw=e}return iw}async function iL(){return ow||(ow=(await Z0()).exePath),ow}var iw,ow,sw=w(()=>{Z();rw();Dl();iw=null;ow=null});function iP(i,r,e){return Math.min(Math.max(i,r),e)}var oP=w(()=>{Ia()});import{spawn as oL}from"child_process";async function Ll(i,r,e,t){return e["force-disable-user-env"]?(r.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):W?(r.trace("resolveShellEnv(): skipped (Windows)"),{}):ei(t)&&!e["force-user-env"]?(r.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(ei(t)?r.trace("resolveShellEnv(): running (--force-user-env)"):r.trace("resolveShellEnv(): running (macOS/Linux)"),aw||(aw=ht.withAsyncBody(async(n,o)=>{let s=new qe,a=1e4,l=i.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=iP(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),o(new Error(h(2299,null)))},a);try{n(await sL(r,s.token))}catch(d){!zc(d)&&!s.token.isCancellationRequested?o(new Error(h(2297,null,Pr(d)))):n({})}finally{clearTimeout(c),s.dispose()}})),aw)}async function sL(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=Ce().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 Cm(Jt,s);return i.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(r.isCancellationRequested)return c(new bt);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=oL(a,[...f,u],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});r.onCancellationRequested(()=>(y.kill(),c(new bt))),y.on("error",I=>{i.error("getUnixShellEnvironment#errorChildProcess",Pr(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,_)=>{let C=Buffer.concat(v).toString("utf8");i.trace("getUnixShellEnvironment#raw",C);let D=Buffer.concat(b).toString("utf8");if(D.trim()&&i.trace("getUnixShellEnvironment#stderr",D),I||_)return c(new Error(h(2298,null,I,_)));let A=o.exec(C),ae=A?A[1]:"{}";try{let U=JSON.parse(ae);e?U.ELECTRON_RUN_AS_NODE=e:delete U.ELECTRON_RUN_AS_NODE,t?U.ELECTRON_NO_ATTACH_CONSOLE=t:delete U.ELECTRON_NO_ATTACH_CONSOLE,delete U.VSCODE_RESOLVING_ENVIRONMENT,delete U.XDG_RUNTIME_DIR,i.trace("getUnixShellEnvironment#result",U),l(U)}catch(U){i.error("getUnixShellEnvironment#errorCaught",Pr(U)),c(U)}})})}var aw,_m=w(()=>{Te();Ee();vt();Co();Be();Z();Kt();sw();kl();ge();oP()});var lw,sP,aP=w(()=>{ne();lw=O("extensionHostStarter"),sP="extensionHostStarter"});var Yo,lP=w(()=>{ge();Be();Q();$();_t();oe();mr();Vs();Rt();nt();Yo=class extends k{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 ui();let e=String(++Yo._lastId),t=new zo(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 ui();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:6e3,correlationId:e}),{pid:await P.toPromise(n.onSpawn)}}async enableInspectPort(e){if(this._shutdown)throw ui();let t=this._extHosts.get(e);return t?t.enableInspectPort():!1}async kill(e){if(this._shutdown)throw ui();let t=this._extHosts.get(e);t&&t.kill()}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 ht.settled(t).then(()=>{})}};Yo=T([g(0,N),g(1,ye),g(2,Ne),g(3,lt),g(4,he)],Yo)});var Du,cP=w(()=>{ne();Du=O("externalTerminal")});var fG,Al,dP=w(()=>{ne();fG=O("externalTerminal"),Al="Terminal.app"});import*as Zo from"child_process";function Gs(i){let r={...i.env};return l0(r),r}function pP(i){return i.errno==="ENOENT"&&i.path?new Error(h(2067,null,i.path)):i}function cw(i,r,e,t){let n="";i.on("error",o=>{e(pP(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(2070,null,t,o)))})}function aL(i){let r="";for(let e of i)e.indexOf(" ")>=0?r+='"'+e+'"':r+=e,r+=" ";return r}var uP,Lu,ti,Au,km,Mu,fP=w(()=>{ko();He();Te();Z();mu();Xt();Dl();Ee();dP();uP=h(2066,null),Lu=class{async getDefaultTerminalForPlatforms(){return{windows:Au.getDefaultTerminalWindows(),linux:await Mu.getDefaultTerminalLinuxReady(),osx:Al}}},ti=class ti extends Lu{static{this.CMD="cmd.exe"}openTerminal(r,e){return this.spawnTerminal(Zo,r,Tm(),e)}spawnTerminal(r,e,t,n){let o=e.windowsExec||ti.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=Gs(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||ti.getDefaultTerminalWindows(),a=await ti.getWtExePath();return new Promise((l,c)=>{let d=`"${e} - ${uP}"`,u=`"${t.join('" "')}" & pause`,f=Object.assign({},Gs(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",".",ti.CMD,"/c",u]):a?(y=a,v=["-d",".",s,"/c",u]):(y=ti.CMD,v=["/c","start",d,"/wait",s,"/c",`"${u}"`]),Zo.spawn(y,v,m).on("error",I=>{c(pP(I))}),l(void 0)})}static getDefaultTerminalWindows(){if(!ti._DEFAULT_TERMINAL_WINDOWS){let r=!!process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432");ti._DEFAULT_TERMINAL_WINDOWS=`${process.env.windir?process.env.windir:"C:\\Windows"}\\${r?"Sysnative":"System32"}\\cmd.exe`}return ti._DEFAULT_TERMINAL_WINDOWS}static async getWtExePath(){try{return await Ru("wt")}catch{return}}};T([ue],ti,"getWtExePath",1);Au=ti,km=class i extends Lu{static{this.OSASCRIPT="/usr/bin/osascript"}openTerminal(r,e){return this.spawnTerminal(Zo,r,e)}runInTerminal(r,e,t,n,o){let s=o.osxExec||Al;return new Promise((a,l)=>{if(s===Al||s==="iTerm.app"){let c=s===Al?"TerminalHelper":"iTermHelper",u=[rt.asFileUri(`vs/workbench/contrib/externalTerminal/node/${c}.scpt`).fsPath,"-t",r||uP,"-w",e];for(let m of t)u.push("-a"),u.push(m);if(n){let m=Object.assign({},Gs(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=Zo.spawn(i.OSASCRIPT,u);cw(f,a,l,s)}else if(s==="Ghostty.app"){let c=Object.assign({},Gs(process),n),d=["-na","Ghostty.app","--args"];d.push("--working-directory="+e),d.push("--wait-after-command=true"),d.push("-e",...t);let u=Zo.spawn("/usr/bin/open",d,{env:c});cw(u,a,l,s)}else l(new Error(h(2068,null,s)))})}spawnTerminal(r,e,t){let n=e.osxExec||Al;return new Promise((o,s)=>{let a=["-a",n];t&&a.push(t);let l=Gs(process),c=r.spawn("/usr/bin/open",a,{cwd:t,env:l});c.on("error",s),c.on("exit",()=>o())})}},Mu=class i extends Lu{static{this.WAIT_MESSAGE=h(2069,null)}openTerminal(r,e){return this.spawnTerminal(Zo,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=`${aL(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({},Gs(process),n);Object.keys(a).filter(c=>a[c]===null).forEach(c=>delete a[c]);let l=Zo.spawn(r,e,{cwd:t,env:a});cw(l,o,s,r)}static async getDefaultTerminalLinuxReady(){if(!i._DEFAULT_TERMINAL_LINUX_READY)if(!ie)i._DEFAULT_TERMINAL_LINUX_READY=Promise.resolve("xterm");else{let r=await z.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=Gs(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())})})}}});function hP(i,r){switch(i){case 0:return"";case 1:return`${Dm}*?`;default:return`(?:${Rm}|${Dm}+${Rm}${r?`|${Rm}${Dm}+`:""})*?`}}function gP(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 bP(i){if(!i)return"";let r="",e=gP(i,mP);if(e.every(t=>t===Ml))r=".*";else{let t=!1;e.forEach((n,o)=>{if(n===Ml){if(t)return;r+=hP(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===mP?u="":u=bo(d),c+=u;continue}switch(d){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let f=`(?:${gP(a,",").map(m=>bP(m)).join("|")})`;r+=f,s=!1,a="";break}case"]":{r+="["+c+"]",l=!1,c="";break}case"?":r+=Dm;continue;case"*":r+=hP(1);continue;default:r+=bo(d)}}o<e.length-1&&(e[o+1]!==Ml||o+2<e.length)&&(r+=Rm)}t=n===Ml})}return r}function uw(i,r){if(!i)return Ri;let e;typeof i!="string"?e=i.pattern:e=i,e=e.trim();let t=r.ignoreCase??!1,n={...r,equals:t?Hr:(l,c)=>l===c,endsWith:t?uS:(l,c)=>l.endsWith(c),isEqualOrParent:(l,c)=>Hi(l,c,!ie||t)},o=`${t?e.toLowerCase():e}_${!!r.trimForExclusions}_${t}`,s=vP.get(o);if(s)return wP(s,i,n);let a;return cL.test(e)?s=hL(e.substring(4),e,n):(a=dL.exec(dw(e,n)))?s=gL(a[1],e,n):(r.trimForExclusions?pL:uL).test(e)?s=vL(e,n):(a=fL.exec(dw(e,n)))?s=IP(a[1].substring(1),e,!0,n):(a=mL.exec(dw(e,n)))?s=IP(a[1],e,!1,n):s=yL(e,n),vP.set(o,s),wP(s,i,n)}function wP(i,r,e){if(typeof r=="string")return i;let t=function(n,o){return e.isEqualOrParent(n,r.base)?i(Ng(n.substring(r.base.length),Mt),o):null};return t.allBasenames=i.allBasenames,t.allPaths=i.allPaths,t.basenames=i.basenames,t.patterns=i.patterns,t}function dw(i,r){return r.trimForExclusions&&i.endsWith("/**")?i.substring(0,i.length-2):i}function hL(i,r,e){return function(t,n){return typeof t=="string"&&e.endsWith(t,i)?r:null}}function gL(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 vL(i,r){let e=xP(i.slice(1,-1).split(",").map(a=>uw(a,r)).filter(a=>a!==Ri),i),t=e.length;if(!t)return Ri;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 IP(i,r,e,t){let n=Mt===de.sep,o=n?i:i.replace(lL,Mt),s=Mt+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 yL(i,r){try{let e=new RegExp(`^${bP(i)}$`,r.ignoreCase?"i":void 0);return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?i:null}}catch{return Ri}}function SP(i,r={}){if(!i)return yP;if(typeof i=="string"||wL(i)){let e=uw(i,r);if(e===Ri)return yP;let t=function(n,o){return!!e(n,o)};return e.allBasenames&&(t.allBasenames=e.allBasenames),e.allPaths&&(t.allPaths=e.allPaths),t}return IL(i,r)}function wL(i){let r=i;return r?typeof r.base=="string"&&typeof r.pattern=="string":!1}function IL(i,r){let e=xP(Object.getOwnPropertyNames(i).map(a=>bL(a,i[a],r)).filter(a=>a!==Ri)),t=e.length;if(!t)return Ri;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;jp(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-ma(a).length)));let v=y(a,l,d,c);if(typeof v=="string")return v;jp(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 bL(i,r,e){if(r===!1)return Ri;let t=uw(i,e);if(t===Ri)return Ri;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 jp(u)?u.then(f=>f?i:null):u?i:null};return o.requiresSiblings=!0,o}}return t}function xP(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 pw(i,r){return wo(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 Ml,mP,Rm,Dm,lL,cL,dL,uL,pL,fL,mL,vP,yP,Ri,fw=w(()=>{Ht();ge();$n();ln();Lr();Te();Z();er();Ml="**",mP="/",Rm="[/\\\\]",Dm="[^/\\\\]",lL=/\//g;cL=/^\*\*\/\*\.[\w\.-]+$/,dL=/^\*\*\/([\w\.-]+)\/?$/,uL=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,pL=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,fL=/^\*\*((\/[\w\.-]+)+)\/?$/,mL=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,vP=new pi(1e4),yP=function(){return!1},Ri=function(){return null}});function Om(i){return typeof i.correlationId=="number"}function EP(i){return i.recursive===!0}function Wm(i){return i.map(r=>({type:r.type,resource:E.revive(r.resource),cId:r.cId}))}function TP(i){let r=new mw;for(let e of i)r.processEvent(e);return r.coalesce()}function SL(i,r){return typeof r=="string"&&!r.startsWith(Ml)&&!yo(r)?{base:i,pattern:r}:r}function hw(i,r,e){let t=[];for(let n of r)t.push(SP(SL(i,n),{ignoreCase:e}));return t}function CP(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 _P(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 Lm,Am,Mm,mw,Js=w(()=>{fw();$();Te();Z();le();$e();Lm=class i extends k{constructor(e,t,n,o){super();this.onFileChanges=e;this.onLogMessage=t;this.verboseLogging=n;this.options=o;this.watcherDisposables=this._register(new Zt);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new re;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(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()}},Am=class extends Lm{constructor(r,e,t){super(r,e,t,{type:"node.js",restartOnError:!1})}},Mm=class extends Lm{constructor(r,e,t){super(r,e,t,{type:"universal",restartOnError:!0})}};mw=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(r){return ie?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=>hx(t.resource.fsPath,n,!ie))?!1:(e.push(t.resource.fsPath),!0)).concat(r)}}});var vw,kP=w(()=>{et();Co();Be();Q();$();Ps();Kt();$e();Js();vw="localFilesystem"});async function Um(i,r,e,t,n,o){let s;try{await xL(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 xL(i,r,e,t,n,o){yw(o);let s=await i.open(r,{create:!1});try{yw(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)&&yw(o)&&PL(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 eo(a)}finally{await i.close(s)}}function yw(i){if(i.isCancellationRequested)throw ui();return!0}function PL(i,r){if(typeof r?.limits?.size=="number"&&i>r.limits.size)throw zr(h(2106,null),"EntryTooLarge");return!0}var ww=w(()=>{et();Be();Ee();$e()});var Nm,RP=w(()=>{Ht();ge();Be();Q();ln();$();Te();Js();oe();Nm=class extends k{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 xr(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new xr(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=Eg(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(EP(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=>Ze(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire(Wm(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=Eg(this.nonRecursiveWatchRequests,n);return this.refreshNonRecursiveWatchers(),G(()=>{o(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>Ze(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire(Wm(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 Et(e.fsPath)}toWatchPath(e){let t=this.toFilePath(e);return $g(t)}}});function DP(i){let r=i;return r&&typeof r.type=="string"&&typeof r.severity=="string"}function EL(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 TL(i){if(!i)return i;let r=i.indexOf(`
`);return r===-1?i:i.substring(0,r)}function LP(i,r){let{args:e,stack:t}=EL(i),n=typeof e[0]=="string"&&e.length===1,o=TL(t);o&&(o=`(${o.trim()})`);let s=[];if(typeof e[0]=="string"?o&&n?s=[`%c[${r}] %c${e[0]} %c${o}`,Ol("blue"),Ol(""),Ol("grey")]:s=[`%c[${r}] %c${e[0]}`,Ol("blue"),Ol(""),...e.slice(1)]:s=[`%c[${r}]%`,Ol("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 Ol(i){return`color: ${i}`}var AP=w(()=>{le()});import{fork as CL}from"child_process";var Bm,MP=w(()=>{ge();et();vt();AP();Be();Q();$();In();Dl();mu();wi();Bm=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 $i(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(ui());this.disposeDelayer.cancel();let o=this.getCachedChannel(r),s=zn(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 P.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={...hr(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-"))),gm(e.env),this.child=CL(this.modulePath,r,e);let t=new S,o=P.fromNodeEventEmitter(this.child,"message",u=>u)(u=>{if(DP(u)){LP(u,`IPC Library: ${this.options.serverName}`);return}t.fire(H.wrap(Buffer.from(u,"base64")))}),s=this.options.useQueue?tP(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 Cs(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=>dt(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 Vm,OP=w(()=>{He();wi();MP();Js();Vm=class extends Mm{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){let e=r.add(new Bm(rt.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)`))),Xe.toService(R1(e.getChannel("watcher")))}}});import{watchFile as _L,unwatchFile as kL}from"fs";var Hm,WP=w(()=>{$();Js();Q();$e();le();ge();Ii();Be();Hm=class extends k{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 cr);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new xr(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new $t;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 Om(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:rr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new $t;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=>Ze(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 re;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{_L(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{kL(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: ${_P(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as RL,promises as DL}from"fs";var $m,FP=w(()=>{ge();vt();ln();$();sd();Te();Z();yt();le();Xt();$e();Js();Io();$m=class i extends k{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 La({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 qe;this.realPath=new Sr(async()=>{let e=this.request.path;try{e=await z.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=!ie;this.excludes=hw(this.request.path,this.request.excludes,l),this.includes=this.request.includes?hw(this.request.path,this.request.includes,l):void 0,this.filter=Om(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 DL.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 re;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 Qb(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(B&&Hi(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 qe(this.cts.token);t.add(G(()=>o.dispose(!0)));let s=new re;t.add(s);try{let a=E.file(this.request.path),l=Pe(n),c=RL(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 z.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(),B&&(y=vi(y))),!(!y||f!=="change"&&f!=="rename"))if(e)if(f==="rename"){u.get(y)?.dispose();let v=setTimeout(async()=>{if(u.delete(y),Po(y,l,!ie)&&!await z.exists(n)){this.onWatchedPathDeleted(a);return}if(o.token.isCancellationRequested)return;let b=await this.existsChildStrictCase(V(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"||!Po(y,l,!ie)){let v=setTimeout(async()=>{let b=await z.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=TP(e),n=[];for(let s of t){if(CP(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(ie)return z.exists(e);try{let t=Pe(e);return(await z.readdir(Qe(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 Km,UP=w(()=>{Q();fw();WP();Z();FP();ge();$();Km=class extends Hm{constructor(e){super();this.recursiveWatcher=e;this.onDidError=P.None;this._watchers=new Map;this.worker=this._register(new Zt)}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&&pw(s.request.excludes,o.excludes)&&pw(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 La({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 ie?e:e.toLowerCase()}startWatching(e){let t=new $m(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 qm,NP=w(()=>{Js();UP();qm=class extends Am{constructor(r,e,t){super(r,e,t),this.init()}createWatcher(r){return r.add(new Km(void 0))}}});import{constants as Iw,promises as Qs}from"fs";var es,zm=w(()=>{ge();Lr();et();Q();ln();$();Te();Z();yt();Ps();Xt();Ee();$e();ww();RP();OP();NP();es=class i extends Nm{constructor(){super(...arguments);this.onDidChangeCapabilities=P.None;this.resourceLocks=new ft(e=>ze.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,ie&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:t,symbolicLink:n}=await Qt.stat(this.toFilePath(e)),o;return(t.mode&128)===0&&(o=2),(t.mode&Iw.S_IXUSR||t.mode&Iw.S_IXGRP||t.mode&Iw.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 z.realpath(t)}async readdir(e){try{let t=await z.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 gi;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 Qs.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=_o(s=>H.concat(s.map(a=>H.wrap(a))).buffer);return Um(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(CS(e),`${$r(e)}${n.atomic.postfix}`),t,n):this.doWriteFile(e,t,n)}async canWriteFileAtomic(e){try{let t=this.toFilePath(e),{symbolicLink:n}=await Qt.stat(t);if(n)return!1}catch{}return!0}async doWriteFileAtomic(e,t,n,o){let s=new re;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 z.exists(a)){if(!n.overwrite)throw zr(h(2111,null),"EntryExists")}else if(!n.create)throw zr(h(2114,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;Ms(t)&&!n&&(s=await this.createResourceLock(e));let a;try{if(Ms(t)&&t.unlock)try{let{stat:l}=await Qt.stat(o);l.mode&128||await Qs.chmod(o,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(W&&Ms(t)&&!t.append)try{a=await z.open(o,"r+"),await z.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await z.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(a=await z.open(o,Ms(t)?t.append?"a":"w":"r"))}catch(l){throw s?.dispose(),Ms(t)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),Ms(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 z.fdatasync(e)}catch(n){i.configureFlushOnWrite(!1),this.logService.error(n)}return await z.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 z.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 FS(()=>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 z.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 Qs.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=V(Qe(n),`${Pe(n)}${t.atomic.postfix}`)),await z.rm(n,1,o)}else try{await Qs.unlink(n)}catch(o){if(o.code==="EPERM"||o.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await Qt.stat(n);s=a.isDirectory()&&!l}catch{}if(s)await Qs.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 z.rename(o,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2115,null,Pe(o),Pe(Qe(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 z.copy(o,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(h(2109,null,Pe(o),Pe(Qe(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=Po(s,a,!0)),l){if(n==="copy")throw zr(h(2110,null),"EntryExists");if(n==="move")return}let d=await this.statIgnoreError(e);if(!d)throw zr(h(2113,null),"EntryNotFound");let u=await this.statIgnoreError(t);if(u){if(!o)throw zr(h(2112,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(Po(o,s,!a))return;let l=new re;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(t)),n&&await Qs.mkdir(Qe(s),{recursive:!0}),await Qs.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 Vm(o=>e(o),o=>t(o),n)}createNonRecursiveWatcher(e,t,n){return new qm(o=>e(o),o=>t(o),n)}toFileSystemProviderError(e){if(e instanceof Ya)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 zr(t,n)}async toFileSystemProviderWriteError(e,t){let n=this.toFileSystemProviderError(t);if(e&&n.code==="NoPermissions")try{let{stat:o}=await Qt.stat(this.toFilePath(e));o.mode&128||(n=zr(t,"EntryWriteLocked"))}catch(o){this.logService.trace(o)}return n}}});var jm,Gm,VP=w(()=>{Q();zm();$();et();Ps();vt();jm=class extends k{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 qe,a=new S({onDidRemoveLastListener:()=>{s.cancel()}}),l=this.provider.readFileStream(o,n,s.token);return Fa(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:()=>{dt(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&&(dt(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()}},Gm=class extends k{constructor(e,t,n,o){super();this.uriTransformer=e;this.environmentService=o;this.watcherRequests=new Map;this.fileWatcher=this._register(new es(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(()=>{dt(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var HP,$P=w(()=>{et();Np();le();HP=new class{transformIncoming(i){return i}transformOutgoing(i){return i}transformOutgoingURI(i){return i}transformOutgoingScheme(i){return i}}});import{shell as AL}from"electron";var Jm,bw,KP=w(()=>{Ee();Z();le();$e();Te();VP();$P();Co();Jm=class extends jm{constructor(e,t,n){super(e,t);this.environmentService=n}getUriTransformer(e){return HP}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=Et(o.fsPath);try{await AL.trashItem(s)}catch(a){throw zr(W?h(2107,null,Pe(s),Pr(a)):h(2108,null,Pe(s),Pr(a)),"Unknown")}}createSessionFileWatcher(e,t){return new bw(e,t,this.logService,this.environmentService)}},bw=class extends Gm{watch(r,e,t){if(t.recursive)throw zr("Recursive file watching is not supported from main process for performance reasons.","Unavailable");return super.watch(r,e,t)}}});var ve,Ou=w(()=>{ve=class{constructor(r,e=[],t=!1){this.ctor=r,this.staticArguments=e,this.supportsDelayedInstantiation=t}}});var ts,Qm=w(()=>{ts=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 Xm}from"child_process";import{totalmem as ML}from"os";function Wu(i){return new Promise((r,e)=>{let t,n=new Map,o=ML();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=OL.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(rt.asFileUri("vs/base/node/cpuUsage.sh").fsPath);u+=" "+d.join(" "),Xm(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)}})};Xm("which ps",{},(c,d,u)=>{if(c||u)if(process.platform!=="linux")e(c||new Error(u.toString()));else{let f=JSON.stringify(rt.asFileUri("vs/base/node/ps.sh").fsPath);Xm(f,{},(m,y,v)=>{m||v?e(m||new Error(v.toString())):(qP(y,s),l())})}else{let f=d.toString().trim();Xm(`${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())):(qP(v,s),process.platform==="linux"?l():t?r(t):e(new Error(`Root process ${i} not found`)))})}})}})}function qP(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 OL,Sw=w(()=>{He();Z();OL=/[a-zA-Z-]+\.js\b/g});var Wl,zP=w(()=>{Sw();Ee();lm();Ey();oe();Vs();Wl=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 gr.getAll())e.push([n,o]);let t=[];try{t.push({name:h(2234,null),rootProcess:await Wu(process.pid)}),(await this.diagnosticsMainService.getRemoteDiagnostics({includeProcesses:!0})).forEach(o=>{du(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}}};Wl=T([g(0,N),g(1,cu),g(2,bl)],Wl)});function jP(i){let r=i.getKeyMap(),e=i.getCurrentKeyboardLayout();return{keyboardMapping:r,keyboardLayoutInfo:e}}var xw,Fl,GP=w(()=>{Z();Q();$();ne();_t();xw=O("keyboardLayoutMainService"),Fl=class extends k{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=jP(e),hb||e.onDidChangeKeyboardLayout(()=>{this._keyboardLayoutData=jP(e),this._onDidChangeKeyboardLayout.fire(this._keyboardLayoutData)})}async getKeyboardLayoutData(){return await this._initialize(),this._keyboardLayoutData}};Fl=T([g(0,ye)],Fl)});var Ul,Pw=w(()=>{ne();Ul=O("urlService")});import{app as WL}from"electron";var FL,Ew,Nl,JP=w(()=>{Ht();Z();le();Xt();nt();kl();ne();oe();Pw();Rt();Yt();FL="launchMainService",Ew=O(FL),Nl=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),B&&WL.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?it(r._urls.map(e=>{try{return{uri:E.parse(e),originalUrl:e}}catch{return null}})):[]}async startOpenWindow(r,e){let t=ei(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=!B}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,HS(o.fsPath)]).then(()=>{},()=>{})}async getMainProcessId(){return this.logService.trace("Received request for process ID from other instance."),process.pid}};Nl=T([g(0,N),g(1,Ne),g(2,Ul),g(3,he),g(4,Re)],Nl)});function Tw(i){return i.submenu!==void 0}function Cw(i){return i.id==="vscode.menubar.separator"}function _w(i){return i.uri!==void 0}function QP(i){return!Tw(i)&&!Cw(i)&&!_w(i)}var XP=w(()=>{});var ce,rs,so=w(()=>{De();ne();ce={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})},rs=O("updateService")});import{app as Xs}from"electron";var ns,vr,Fu=w(()=>{Ht();ge();Q();Gi();$();He();Z();yt();le();Xt();Ee();ne();_t();oe();Ws();ou();hm();Tr();qo();Lr();Bs();Ft();ns=O("workspacesHistoryMainService"),vr=class extends k{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 xr(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(mm(s))!this.workspacesManagementMainService.isUntitledWorkspace(s.workspace)&&!this.containsWorkspace(t,s.workspace)&&t.push(s);else if(fu(s))this.containsFolder(t,s.folderUri)||t.push(s);else{let a=this.containsFile(n,s.fileUri),l=s.fileUri.scheme===F.file&&vr.COMMON_FILES_FILTER.indexOf($r(s.fileUri))>=0;!a&&!l&&(n.push(s),W&&s.fileUri.scheme===F.file&&!this.environmentMainService.isPortable&&Xs.addRecentDocument(s.fileUri.fsPath))}let o=await this.mergeEntriesFromStorage({workspaces:t,files:n});t=o.workspaces,n=o.files,t.length>vr.MAX_TOTAL_RECENT_ENTRIES&&(t.length=vr.MAX_TOTAL_RECENT_ENTRIES),n.length>vr.MAX_TOTAL_RECENT_ENTRIES&&(n.length=vr.MAX_TOTAL_RECENT_ENTRIES),await this.saveRecentlyOpened({workspaces:t,files:n}),this._onDidChangeRecentlyOpened.fire(),B&&!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(ze.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(),B&&!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(2751,null),h(2750,null)],message:h(2753,null),detail:h(2752,null),cancelId:1});if(t!==0)return}await this.saveRecentlyOpened({workspaces:[],files:[]}),this.environmentMainService.isPortable||Xs.clearRecentDocuments(),this._onDidChangeRecentlyOpened.fire()}async getRecentlyOpened(){return this.mergeEntriesFromStorage()}async mergeEntriesFromStorage(e){let t=new ft(s=>ze.getComparisonKey(s));if(e?.workspaces)for(let s of e.workspaces)t.set(this.location(s),s);let n=new ft(s=>ze.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(vr.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 s0(e,this.logService)}async saveRecentlyOpened(e){await this.applicationStorageMainService.whenReady,this.applicationStorageMainService.store(vr.RECENTLY_OPENED_STORAGE_KEY,JSON.stringify(a0(e)),-1,1)}location(e){return fu(e)?e.folderUri:e0(e)?e.fileUri:e.workspace.configPath}containsWorkspace(e,t){return!!e.find(n=>mm(n)&&n.workspace.id===t.id)}containsFolder(e,t){return!!e.find(n=>fu(n)&&ze.isEqual(n.folderUri,t))}containsFile(e,t){return!!e.find(n=>ze.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(2754,null),description:h(2755,null),program:process.execPath,args:"-n",iconPath:process.execPath,iconIndex:0}]}),(await this.getRecentlyOpened()).workspaces.length>0){let t=[];for(let s of Xs.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=it((await this.getRecentlyOpened()).workspaces.slice(0,vr.MAX_WINDOWS_JUMP_LIST_ENTRIES).map(s=>{let a=mm(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(2757,null):h(2756,null),items:o})}e.push({type:"recent"});try{let t=Xs.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:h1(t).name,description:t};if(E.isUri(e))return{title:$r(e),description:this.renderJumpListPathDescription(e)};if(this.workspacesManagementMainService.isUntitledWorkspace(e))return{title:h(2758,null),description:""};let n=$r(e.configPath);return n.endsWith(Gd)&&(n=n.substr(0,n.length-Gd.length-1)),{title:h(2759,null,n),description:this.renderJumpListPathDescription(e.configPath)}}renderJumpListPathDescription(e){return e.scheme==="file"?md(e.fsPath):e.toString()}async updateMacOSRecentDocuments(){if(!B)return;Xs.clearRecentDocuments();let e=await this.getRecentlyOpened(),t=[],n=0;for(let s=0;s<e.workspaces.length&&n<vr.MAX_MACOS_DOCK_RECENT_WORKSPACES;s++){let a=this.location(e.workspaces[s]);if(a.scheme===F.file){let l=dr(a);await z.exists(l)&&(t.push(l),n++)}}let o=[];for(let s=0;s<e.files.length&&n<vr.MAX_MACOS_DOCK_RECENT_ENTRIES_TOTAL;s++){let a=this.location(e.files[s]);if(a.scheme===F.file){let l=dr(a);if(vr.COMMON_FILES_FILTER.includes($r(a))||t.includes(l))continue;await z.exists(l)&&(o.push(l),n++)}}o.reverse().forEach(s=>Xs.addRecentDocument(s)),t.reverse().forEach(s=>Xs.addRecentDocument(s))}};vr=T([g(0,N),g(1,pn),g(2,ye),g(3,$o),g(4,bn),g(5,_e)],vr)});import{app as UL,BrowserWindow as Ym,Menu as zt,MenuItem as je}from"electron";function ao(){return new je({type:"separator"})}var Zm,lo,YP=w(()=>{ge();vt();Gi();Z();le();Ee();Hs();nt();Ft();_t();oe();XP();El();Yt();wn();mr();so();Fo();Rt();Fu();$();Zm="menu",lo=class extends k{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 ur(()=>this.doUpdateMenu(),0)),this.menuGC=this._register(new ur(()=>{this.oldMenus=[]},1e4)),this.menubarMenus=Object.create(null),this.keybindings=Object.create(null),this.showNativeMenu=Gv(t),(B||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(lo.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:Zm}}),this.fallbackMenuHandlers["workbench.action.files.openFolder"]=(a,l,c)=>this.nativeHostMainService.pickFolderAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:Zm}}),this.fallbackMenuHandlers["workbench.action.openWorkspace"]=(a,l,c)=>this.nativeHostMainService.pickWorkspaceAndOpen(void 0,{forceNewWindow:this.isOptionClick(c),telemetryExtraData:{from:Zm}}),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(hn){let a=o.indexOf("?")>0?"&":"?";this.openUrl(`${o}${a}lang=${hn}`,"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(!B)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(lo.lastKnownMenubarStorageKey,e),this.scheduleUpdateMenu()}scheduleUpdateMenu(){this.menuUpdater.schedule()}doUpdateMenu(){this.willShutdown||setTimeout(()=>{this.willShutdown||this.install()},10)}onDidChangeWindowsCount(e){B&&(e.oldCount===0&&e.newCount>0||e.oldCount>0&&e.newCount===0)&&(this.closedLastWindow=e.newCount===0,this.scheduleUpdateMenu())}onDidChangeWindowFocus(){if(!B)return;let e=Ym.getFocusedWindow();this.noActiveMainWindow=!e||!!this.auxiliaryWindowsMainService.getWindowByWebContents(e.webContents),this.scheduleUpdateMenu()}install(){let e=zt.getApplicationMenu();if(e&&this.oldMenus.push(e),Object.keys(this.menubarMenus).length===0){this.doSetApplicationMenu(B?new zt:null);return}let t=new zt,n;if(B){let s=new zt;n=new je({label:this.productService.nameShort,submenu:s}),this.setMacApplicationMenu(s),t.append(n)}if(B&&!this.appMenuInstalled){this.appMenuInstalled=!0;let s=new zt;s.append(new je({label:this.mnemonicLabel(h(2191,null)),click:()=>this.windowsMainService.openEmptyWindow({context:1})})),UL.dock.setMenu(s)}if(this.shouldDrawMenu("File")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2180,null)),submenu:s});this.setMenuById(s,"File"),t.append(a)}if(this.shouldDrawMenu("Edit")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2179,null)),submenu:s});this.setMenuById(s,"Edit"),t.append(a)}if(this.shouldDrawMenu("Selection")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2201,null)),submenu:s});this.setMenuById(s,"Selection"),t.append(a)}if(this.shouldDrawMenu("View")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2207,null)),submenu:s});this.setMenuById(s,"View"),t.append(a)}if(this.shouldDrawMenu("Go")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2181,null)),submenu:s});this.setMenuById(s,"Go"),t.append(a)}if(this.shouldDrawMenu("Run")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2200,null)),submenu:s});this.setMenuById(s,"Run"),t.append(a)}if(this.shouldDrawMenu("Terminal")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2206,null)),submenu:s});this.setMenuById(s,"Terminal"),t.append(a)}let o;if(this.shouldDrawMenu("Window")){let s=new zt;o=new je({label:this.mnemonicLabel(h(2208,null)),submenu:s,role:"window"}),this.setMacWindowMenu(s)}if(o&&t.append(o),this.shouldDrawMenu("Help")){let s=new zt,a=new je({label:this.mnemonicLabel(h(2182,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(zt.setApplicationMenu(e),e)for(let t of this.auxiliaryWindowsMainService.getWindows())t.win?.setMenu(null)}setMacApplicationMenu(e){let t=this.createMenuItem(h(2177,null,this.productService.nameLong),"workbench.action.showAboutDialog"),n=this.getUpdateMenuItems(),o;if(this.shouldDrawMenu("Preferences")){let m=new zt;this.setMenuById(m,"Preferences"),o=new je({label:this.mnemonicLabel(h(2192,null)),submenu:m})}let s=new zt,a=new je({label:h(2202,null),role:"services",submenu:s}),l=new je({label:h(2183,null,this.productService.nameLong),role:"hide",accelerator:"Command+H"}),c=new je({label:h(2184,null),role:"hideOthers",accelerator:"Command+Alt+H"}),d=new je({label:h(2203,null),role:"unhide"}),u=new je(this.likeAction("workbench.action.quit",{label:h(2193,null,this.productService.nameLong),click:async(m,y,v)=>{let b=this.windowsMainService.getLastActiveWindow();(this.windowsMainService.getWindowCount()===0||Ym.getFocusedWindow()||b?.win?.isMinimized())&&await this.confirmBeforeQuit(v)&&this.nativeHostMainService.quit(void 0)}})),f=[t];f.push(...n),o&&f.push(ao(),o),f.push(ao(),a,ao(),l,c,d,ao(),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:[B?h(2210,null):h(2176,null),h(2175,null)],message:B?h(2212,null):h(2211,null)});return n===0}return!0}shouldDrawMenu(e){if(!B&&!this.showNativeMenu)return!1;switch(e){case"File":case"Help":if(B)return this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow||!!this.menubarMenus&&!!this.menubarMenus[e];case"Window":if(B)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(Cw(n))e.append(ao());else if(Tw(n)){let o=new zt,s=new je({label:this.mnemonicLabel(n.label),submenu:o});this.setMenu(o,n.submenu.items),e.append(s)}else _w(n)?e.append(this.createOpenRecentMenuItem(n)):QP(n)&&(n.id==="workbench.action.showAboutDialog"&&this.insertCheckForUpdatesItems(e),B?this.windowsMainService.getWindowCount()===0&&this.closedLastWindow||this.windowsMainService.getWindowCount()>0&&this.noActiveMainWindow?this.fallbackMenuHandlers[n.id]?e.append(new je(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(ao()))}createOpenRecentMenuItem(e){let t=E.revive(e.uri),n=e.id,o=n==="openRecentFile"?{fileUri:t}:n==="openRecentWorkspace"?{workspaceUri:t}:{folderUri:t};return new je(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&&(!B&&(e.ctrlKey||e.shiftKey)||B&&(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 je(this.withKeybinding(t,o))}setMacWindowMenu(e){let t=new je({label:h(2197,null),role:"minimize",accelerator:"Command+M",enabled:this.windowsMainService.getWindowCount()>0}),n=new je({label:h(2209,null),role:"zoom",enabled:this.windowsMainService.getWindowCount()>0}),o=new je({label:h(2178,null),role:"front",enabled:this.windowsMainService.getWindowCount()>0}),s=this.createMenuItem(h(2195,null),"workbench.action.switchWindow"),a=[];this.currentEnableNativeTabs&&(a.push(ao()),a.push(this.createMenuItem(h(2199,null),"workbench.action.newWindowTab")),a.push(this.createRoleMenuItem(h(2205,null),"workbench.action.showPreviousWindowTab","selectPreviousTab")),a.push(this.createRoleMenuItem(h(2204,null),"workbench.action.showNextWindowTab","selectNextTab")),a.push(this.createRoleMenuItem(h(2198,null),"workbench.action.moveWindowTabToNewWindow","moveTabToNewWindow")),a.push(this.createRoleMenuItem(h(2196,null),"workbench.action.mergeAllWindowTabs","mergeAllWindows"))),[t,n,ao(),s,...a,ao(),o].forEach(l=>e.append(l))}getUpdateMenuItems(){switch(this.updateService.state.type){case"idle":return[new je({label:this.mnemonicLabel(h(2185,null)),click:()=>setTimeout(()=>{this.reportMenuActionTelemetry("CheckForUpdate"),this.updateService.checkForUpdates(!0)},0)})];case"checking for updates":return[new je({label:h(2186,null),enabled:!1})];case"available for download":return[new je({label:this.mnemonicLabel(h(2188,null)),click:()=>{this.updateService.downloadUpdate(!0)}})];case"downloading":case"overwriting":return[new je({label:h(2187,null),enabled:!1})];case"downloaded":return B?[]:[new je({label:this.mnemonicLabel(h(2190,null)),click:()=>{this.reportMenuActionTelemetry("InstallUpdate"),this.updateService.applyUpdate()}})];case"updating":return[new je({label:h(2189,null),enabled:!1})];case"ready":return[new je({label:this.mnemonicLabel(h(2194,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),B&&(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:()=>zt.sendActionToFirstResponder("undo:")}):t==="redo"?d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.redo(),inNoWindow:()=>zt.sendActionToFirstResponder("redo:")}):t==="editor.action.selectAll"&&(d.click=this.makeContextAwareClickHandler(a,{inDevTools:u=>u.selectAll(),inNoWindow:()=>zt.sendActionToFirstResponder("selectAll:")}))),new je(this.withKeybinding(t,d))}makeContextAwareClickHandler(e,t){return(n,o,s)=>{let a=Ym.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=Ym.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),B&&!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:Zm})}mnemonicLabel(e){return m1(e,!this.currentEnableMenuBarMnemonics)}};lo=T([g(0,rs),g(1,he),g(2,Ne),g(3,_e),g(4,lt),g(5,ns),g(6,Ct),g(7,ye),g(8,N),g(9,On),g(10,Re),g(11,Sn)],lo)});var kw,Bl,ZP=w(()=>{ne();_t();oe();YP();$();kw=O("menubarMainService"),Bl=class extends k{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(lo))}async updateMenubar(e,t){this.logService.trace("menubarService#updateMenubar",e),(await this.menubar).updateMenu(t,e)}};Bl=T([g(0,Wt),g(1,ye),g(2,N)],Bl)});var Gr,Rw,th,is=w(()=>{Q();$();ne();Gr=O("meteredConnectionService"),Rw="network.meteredConnection",th=class extends k{constructor(e,t){super();this._onDidChangeIsConnectionMetered=this._register(new S);this.onDidChangeIsConnectionMetered=this._onDidChangeIsConnectionMetered.event;this._isBrowserConnectionMetered=t,this._meteredConnectionSetting=e.getValue(Rw),this._isConnectionMetered=this._meteredConnectionSetting==="on"||this._meteredConnectionSetting!=="off"&&this._isBrowserConnectionMetered,this._register(e.onDidChangeConfiguration(n=>{if(n.affectsConfiguration(Rw)){let o=e.getValue(Rw);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 Dw,Lw=w(()=>{Q();$();Dw="meteredConnection"});var rh,eE=w(()=>{Lw();rh=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 Vl,tE=w(()=>{nt();is();Vl=class extends th{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()}};Vl=T([g(0,he)],Vl)});var Wn,Ys,Hl,ri=w(()=>{Q();Gc();$();ne();Wn=O("policy"),Ys=class extends k{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),mi.reduce(this.policies.entries(),(n,[o,s])=>({...n,[o]:s}),{})}getPolicyValue(e){return this.policies.get(e)}serialize(){return mi.reduce(Object.entries(this.policyDefinitions),(e,[t,n])=>({...e,[t]:{definition:n,value:this.policies.get(t)}}),{})}},Hl=class{constructor(){this.onDidChange=P.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}serialize(){}}});async function NL(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 rE(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 nE(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 nh,iE=w(()=>{$e();oe();nh=class extends Ls{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&&nE(this._logger,a)}))}async _createSpdLogLogger(e,t,n,o){let s=n?6:1,a=30/s*Si.MB,l=await NL(e,t,a,s,o);if(l){this._logger=l,nE(this._logger,this.getLevel());for(let{level:c,message:d}of this.buffer)rE(this._logger,c,d);this.buffer=[]}}log(e,t){this._logger?rE(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 ih,oE=w(()=>{Kt();oe();iE();ih=class extends Hd{doCreateLogger(r,e,t){return new nh(Ce(),r.fsPath,!t?.donotRotate,!!t?.donotUseFormatters,e)}}});var ni,oh,$l=w(()=>{Lr();Q();ne();oe();oE();ni=_n,oh=class extends ih{constructor(){super(...arguments);this.loggerResourcesByWindow=new ft}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 P.filter(this.onDidChangeLogLevel,t=>$d(t)||this.isInterestedLoggerResource(t[0],e))}getOnDidChangeVisibilityEvent(e){return P.filter(this.onDidChangeVisibility,([t])=>this.isInterestedLoggerResource(t,e))}getOnDidChangeLoggersEvent(e){return P.filter(P.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 BL(i){if(Fi===2&&/^penguin(\.|$)/i.test(i))return"chromebook"}function sE(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=Ce()+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"]=hp(Fi),u["common.nodePlatform"]=yp,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}}),gp&&(u["common.snap"]="true");let y=BL(r);return y&&(u["common.platformDetail"]=y),u}function aE(i){let r=br.USERDNSDOMAIN;if(!r)return!1;let e=r.toLowerCase();return i.some(t=>e===t)}var Aw=w(()=>{Z();Bn();Kt()});function ah(i,r){return!r.isBuilt&&!r.disableTelemetry?!0:!(r.disableTelemetry||!i.enableTelemetry)}function Kl(i){let r=i.getValue(sl),e=i.getValue(Qf);if(i.getValue(Zd)===!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 lE(i,r){let e=i.msftInternalDomains||[],t=r.getValue("telemetry.internalTesting");return aE(e)||t}function cE(i){return[i.appRoot,i.extensionsPath,i.userHome.fsPath,i.tmpDir.fsPath,i.userDataPath]}function KL(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 qL(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 dE(i,r){return i?jx(i,e=>{if(e instanceof sh||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let t=e.replaceAll("%20"," ");t=KL(t,r);for(let n of r)t=t.replace(n,"");return t=qL(t),t}}):{}}var sh,Mw,os,$L,tre,ss=w(()=>{In();De();Ee();yl();Aw();mr();sh=class{constructor(r){this.value=r;this.isTrustedTelemetryValue=!0}},Mw=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(){}},os=new Mw,$L="telemetry",tre={id:$L,name:h(2320,null)}});var lh,Ww,Fw,uE=w(()=>{lh={exit:"vscode:electron-main->shared-process=exit",ipcReady:"vscode:shared-process->electron-main=ipc-ready",initDone:"vscode:shared-process->electron-main=init-done"},Ww={request:"vscode:createSharedProcessChannelConnection",response:"vscode:createSharedProcessChannelConnectionResult"},Fw={request:"vscode:createSharedProcessRawConnection",response:"vscode:createSharedProcessRawConnectionResult"}});var ql,pE=w(()=>{Qn();ge();$();Ft();_t();oe();Yn();ri();$l();Vs();ss();Sf();De();uE();Q();ql=class extends k{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 gi;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(){st.on(Ww.request,(e,t)=>this.onWindowConnection(e,t,Ww.response)),st.on(Fw.request,(e,t)=>this.onWindowConnection(e,t,Fw.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(lh.exit),this.utilityProcess=void 0}whenReady(){return this._whenReady||(this._whenReady=(async()=>{await this.whenIpcReady;let e=new $t;this.utilityProcess?.once(lh.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 $t;this.utilityProcess?.once(lh.ipcReady,()=>e.complete()),await e.p,this.logService.trace("[SharedProcess] IPC ready")})()),this._whenIpcReady}createUtilityProcess(){this.utilityProcess=this._register(new gr(this.logService,os,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=ix(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,fi(this.utilityProcess).connect(e)}};ql=T([g(3,_e),g(4,Cr),g(5,ye),g(6,N),g(7,ni),g(8,Wn)],ql)});var zL,as,ch=w(()=>{ne();zL="signService",as=O(zL)});var dh,fE=w(()=>{Q();$();yd();Tr();dh=class i extends k{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(P.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?Jn(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?Jn(n.profile):void 0,s=gx(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 uh,mE=w(()=>{uh=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 jL(){let i=h(2317,null,pr.nameLong),r=pr.privacyStatementUrl?h(2303,null,"https://aka.ms/vscode-telemetry",pr.privacyStatementUrl):h(2304,null,"https://aka.ms/vscode-telemetry"),e=Rr?"":h(2309,null),t=h(2302,null),n=h(2307,null),o=h(2318,null),s=h(2316,null),a=`
|       | ${t} | ${n} | ${o} |
|:------|:-------------:|:---------------:|:----------:|
| all   |       \u2713       |        \u2713        |     \u2713      |
| error |       \u2713       |        \u2713        |     -      |
| crash |       \u2713       |        -        |     -      |
| off   |       -       |        -        |     -      |
`,l=h(2312,null);return`
${i} ${r} ${e}

&nbsp;

${s}
${a}

&nbsp;

${l}
`}var co,GL,hE=w(()=>{$();In();Z();dd();er();Ee();nt();zi();Oa();Yt();Gn();mr();ss();co=class{constructor(r,e,t){this._configurationService=e;this._productService=t;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new re;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(bo(n),"gi")),n.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(bo(n.replace(/\\/g,"/")),"gi"));this._updateTelemetryLevel(),this._disposables.add(this._configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(sl)||n.affectsConfiguration(Zd)||n.affectsConfiguration(Qf))&&this._updateTelemetryLevel()})),r.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),co.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=Kl(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<co.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:r,eventLevel:e,data:t});return}this._doLog(r,e,t)}}_doLog(r,e,t){t=pm(t,this._experimentProperties),t=dE(t,this._cleanupPatterns),t=pm(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)}};co=T([g(1,he),g(2,Re)],co);GL=St.as(tr.Configuration);GL.registerConfiguration({id:kx,order:1,type:"object",title:h(2319,null),properties:{[sl]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[h(2311,null),h(2313,null),h(2310,null),h(2314,null)],markdownDescription:jL(),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(2315,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:h(2311,null)},{key:"telemetry.telemetryLevel.error",value:h(2313,null)},{key:"telemetry.telemetryLevel.crash",value:h(2310,null)},{key:"telemetry.telemetryLevel.off",value:h(2314,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:h(2308,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:h(2308,null)}}}},[Zd]:{type:"boolean",markdownDescription:pr.privacyStatementUrl?h(2306,null,pr.nameLong,pr.privacyStatementUrl):h(2305,null,pr.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:h(2301,null,`\`#${sl}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var ph,gE=w(()=>{Q();$();so();ph=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 vE from"os";function zl(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 jl(i){if(B){let r=vE.release();return{"User-Agent":`Code/${i} Darwin/${r}`}}if(W){let r=B1().match(/^(\d+\.\d+)/);if(r)return{"User-Agent":`Code/${i} Electron/${process.versions.electron} Windows NT ${r[1]}`}}}var Di,mh=w(()=>{ge();vt();Q();Z();za();is();nt();Ft();_t();oe();Yt();Qo();so();Di=class{constructor(r,e,t,n,o,s,a,l){this.lifecycleMainService=r;this.configurationService=e;this.environmentMainService=t;this.requestService=n;this.logService=o;this.productService=s;this.meteredConnectionService=a;this.supportsUpdateOverwrite=l;this._state=ce.Uninitialized;this._overwrite=!1;this._hasCheckedForOverwriteOnQuit=!1;this.overwriteUpdatesCheckInterval=new $p;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),this.supportsUpdateOverwrite&&(r.type==="ready"?this.overwriteUpdatesCheckInterval.cancelAndSet(()=>this.checkForOverwriteUpdates(),300*1e3):this.overwriteUpdatesCheckInterval.cancel())}async initialize(){if(!this.environmentMainService.isBuilt){this.setState(ce.Disabled(0));return}if(this.environmentMainService.disableUpdates){this.setState(ce.Disabled(1)),this.logService.info("update#ctor - updates are disabled by the environment");return}if(!this.productService.updateUrl||!this.productService.commit){this.setState(ce.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(ce.Disabled(3)),this.logService.info("update#ctor - updates are disabled by policy")):(this.setState(ce.Disabled(2)),this.logService.info("update#ctor - updates are disabled by user preference"));return}if(!this.buildUpdateFeedUrl(n,this.productService.commit)){this.setState(ce.Disabled(5)),this.logService.info("update#ctor - updates are disabled as the update URL is badly formed");return}if(this.quality=n,this.setState(ce.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))}getProductQuality(r){return r==="none"?void 0:this.productService.quality}scheduleCheckForUpdates(r=3600*1e3){return ot(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 qe,o=ot(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(ce.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=jl(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(){}};Di=T([g(0,ye),g(1,he),g(2,_e),g(3,Mn),g(4,N),g(5,Re),g(6,Gr)],Di)});import*as Li from"electron";var ii,yE=w(()=>{vt();ko();Q();Ii();$();nt();Ft();_t();oe();Yt();Qo();mr();so();is();mh();ii=class extends Di{constructor(e,t,n,o,s,a,l,c){super(e,t,o,s,a,l,c,!0);this.telemetryService=n;this.disposables=new re;e.setRelaunchHandler(this)}get onRawError(){return P.fromNodeEventEmitter(Li.autoUpdater,"error",(e,t)=>t)}get onRawCheckingForUpdate(){return P.fromNodeEventEmitter(Li.autoUpdater,"checking-for-update")}get onRawUpdateNotAvailable(){return P.fromNodeEventEmitter(Li.autoUpdater,"update-not-available")}get onRawUpdateAvailable(){return P.fromNodeEventEmitter(Li.autoUpdater,"update-available")}get onRawUpdateDownloaded(){return P.fromNodeEventEmitter(Li.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(rr(String(e)))}),this.logService.error("UpdateService error:",e);let t=this.state.type==="checking for updates"&&this.state.explicit?e:void 0;this.setState(ce.Idle(1,t))}buildUpdateFeedUrl(e,t,n){let o=this.productService.darwinUniversalAssetId??(process.arch==="x64"?"darwin":"darwin-arm64"),s=zl(this.productService.updateUrl,o,e,t,n),a=jl(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}),Li.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(ce.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}),Li.autoUpdater.checkForUpdates()}}async checkForUpdateNoDownload(e,t){let n=jl(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 Pl(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(ce.Idle(1,void 0,l||void 0))}else this.logService.trace("update#checkForUpdateNoDownload - update available",{version:a.version,productVersion:a.productVersion}),this.setState(ce.AvailableForDownload(a,t))}catch(o){this.logService.error("update#checkForUpdateNoDownload - failed to check for update",o),this.setState(ce.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(ce.Downloading(this.state.type==="overwriting"?this.state.update:void 0,this.state.explicit,this._overwrite))}onUpdateDownloaded(e){this.state.type==="downloading"&&(this.setState(ce.Downloaded(e,this.state.explicit,this._overwrite)),this.logService.info(`Update downloaded: ${JSON.stringify(e)}`),this.setState(ce.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(ce.Idle(1,void 0,e||void 0))}async doDownloadUpdate(e){this.buildUpdateFeedUrl(this.quality,e.update.version,{internalOrg:this.getInternalOrg()}),this.setState(ce.CheckingForUpdates(!0)),Li.autoUpdater.checkForUpdates()}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),Li.autoUpdater.quitAndInstall()}dispose(){this.disposables.dispose()}};T([ue],ii.prototype,"onRawError",1),T([ue],ii.prototype,"onRawCheckingForUpdate",1),T([ue],ii.prototype,"onRawUpdateNotAvailable",1),T([ue],ii.prototype,"onRawUpdateAvailable",1),T([ue],ii.prototype,"onRawUpdateDownloaded",1),ii=T([g(0,ye),g(1,he),g(2,lt),g(3,_e),g(4,Mn),g(5,N),g(6,Re),g(7,Gr)],ii)});var Gl,wE=w(()=>{vt();nt();Ft();_t();oe();is();El();Yt();Qo();so();mh();Gl=class extends Di{constructor(e,t,n,o,s,a,l,c){super(e,t,n,o,s,l,c,!1);this.nativeHostMainService=a}buildUpdateFeedUrl(e,t,n){return zl(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(ce.CheckingForUpdates(e)),this.requestService.request({url:s,callSite:"updateService.linux.checkForUpdates"},Se.None).then(Pl).then(a=>{!a||!a.url||!a.version||!a.productVersion?this.setState(ce.Idle(1,void 0,e||void 0)):this.setState(ce.AvailableForDownload(a))}).then(void 0,a=>{this.logService.error(a);let l=e?a.message||a:void 0;this.setState(ce.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(ce.Idle(1))}};Gl=T([g(0,ye),g(1,he),g(2,_e),g(3,Mn),g(4,N),g(5,On),g(6,Re),g(7,Gr)],Gl)});import{spawn as QL}from"child_process";import{realpath as XL,watch as YL}from"fs";var Uu,Jl,IE=w(()=>{ge();Q();Te();Ft();_t();oe();so();is();Uu=class{constructor(r,e,t,n){this.lifecycleMainService=r;this.logService=t;this.meteredConnectionService=n;this._state=ce.Uninitialized;this._onStateChange=new S;this.onStateChange=this._onStateChange.event;if(e.disableUpdates){this.logService.info("update#ctor - updates are disabled");return}this.setState(ce.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)}scheduleCheckForUpdates(r=3600*1e3){return ot(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){}};Uu=T([g(0,ye),g(1,_e),g(2,N),g(3,Gr)],Uu);Jl=class extends Uu{constructor(e,t,n,o,s,a){super(n,o,s,a);this.snap=e;this.snapRevision=t;let l=YL(Qe(this.snap)),c=P.fromNodeEventEmitter(l,"change",(m,y)=>y),d=P.filter(c,m=>m==="current"),f=P.debounce(d,(m,y)=>y,2e3)(()=>this.checkForUpdates(!1));P.once(n.onWillShutdown)(()=>{f.dispose(),l.close()})}doCheckForUpdates(){this.setState(ce.CheckingForUpdates(!1)),this.isUpdateAvailable().then(e=>{e?this.setState(ce.Ready({version:"something"},!1,!1)):this.setState(ce.Idle(2,void 0,void 0))},e=>{this.logService.error(e),this.setState(ce.Idle(2,e.message||e))})}doQuitAndInstall(){this.logService.trace("update#quitAndInstall(): running raw#quitAndInstall()"),QL("sleep 3 && "+Pe(process.argv[0]),{shell:!0,detached:!0,stdio:"ignore"})}async isUpdateAvailable(){let e=await new Promise((n,o)=>XL(`${Qe(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.")})}};Jl=T([g(2,ye),g(3,_e),g(4,N),g(5,Gr)],Jl)});import*as bE from"crypto";import*as SE from"fs";async function xE(i,r){if(await new Promise((n,o)=>{let s=SE.createReadStream(i),a=bE.createHash("sha256");s.pipe(a);let l=Bi((c,d)=>{s.removeAllListeners(),a.removeAllListeners(),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 PE=w(()=>{va()});import{spawn as Uw}from"child_process";import{app as EE}from"electron";import{existsSync as ZL,unlinkSync as eA}from"fs";import{mkdir as tA,readFile as Nw,unlink as rA}from"fs/promises";import{release as nA,tmpdir as iA}from"os";function Zs(){return typeof Bw>"u"&&(Bw=ZL(V(Qe(process.execPath),"unins000.exe"))?0:1),Bw}var Bw,ea,TE=w(()=>{ge();et();vt();ko();Ii();Te();Te();Ps();le();PE();Xt();Dl();za();nt();Ft();$e();_t();oe();is();El();Yt();Qo();mr();so();mh();ea=class extends Di{constructor(e,t,n,o,s,a,l,c,d,u){super(e,t,o,s,a,d,u,!0);this.telemetryService=n;this.fileService=l;this.nativeHostMainService=c;e.setRelaunchHandler(this)}get cachePath(){let e=V(iA(),`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;EE.setPath("appUpdate",n),await this.unlink(V(n,"session-ending.flag"))}let e=await N1(),t=nA();if(this.telemetryService.publicLog2("windowsUpdateInit",{osRelease:e,osNodeRelease:t}),this.productService.target==="user"&&await this.nativeHostMainService.isAdmin(void 0)){this.setState(ce.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=EE.getPath("exe"),t=Qe(e),n=V(t,"updating_version");if(await z.exists(n))try{let o=(await Nw(n,"utf8")).trim();this.logService.info(`update#doCheckForUpdates - application was updating to version ${o}`);let s=await this.getUpdatePackagePath(o);await z.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=V(t,s,"tools","inno_updater.exe");await new Promise(l=>{Uw(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 Zs()===1?o+="-archive":this.productService.target==="user"&&(o+="-user"),zl(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(ce.CheckingForUpdates(e));let a=jl(this.productService.version);this.requestService.request({url:s,headers:a,callSite:"updateService.win32.checkForUpdates"},Se.None).then(Pl).then(l=>{let c=Zs();if(!l||!l.url||!l.version||!l.productVersion)return this.state.type==="overwriting"?(this._overwrite=!1,this.setState(ce.Ready(this.state.update,this.state.explicit,!1))):this.setState(ce.Idle(c,void 0,e||void 0)),Promise.resolve(null);if(c===1)return this.setState(ce.AvailableForDownload(l)),Promise.resolve(null);if(process.isEmbeddedApp)return this.logService.info("update#doCheckForUpdates - embedded app: update available, skipping download"),this.setState(ce.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(ce.AvailableForDownload(l)),Promise.resolve(null);let d=Date.now();return this.setState(ce.Downloading(l,e,this._overwrite,0,void 0,d)),this.cleanup(l.version).then(()=>this.getUpdatePackagePath(l.version).then(u=>z.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,_=0,C=new $i(500),D=Ua(y.stream,{data:A=>(_+=A.byteLength,C.trigger(()=>{this.setState(ce.Downloading(l,e,this._overwrite,_,I,d))}),A)},A=>H.concat(A));return this.fileService.writeFile(E.file(m),D).finally(()=>C.dispose())}).then(l.sha256hash?()=>xE(m,l.sha256hash):()=>{}).then(()=>z.rename(m,u,!1)).then(()=>u)})).then(u=>{this.availableUpdate={packagePath:u},this.saveUpdateMetadata(l),this.setState(ce.Downloaded(l,e,this._overwrite)),this.configurationService.getValue("update.enableWindowsBackgroundUpdates")&&this.productService.target==="user"?this.doApplyUpdate():this.setState(ce.Ready(l,e,this._overwrite))}))}).then(void 0,l=>{this.telemetryService.publicLog2("update:error",{messageHash:String(rr(String(l)))}),this.logService.error(l);let c=e?l.message||l:void 0;this.state.type==="overwriting"?(this._overwrite=!1,this.setState(ce.Ready(this.state.update,this.state.explicit,!1))):this.setState(ce.Idle(Zs(),c))})}async doDownloadUpdate(e){e.update.url&&this.nativeHostMainService.openExternal(void 0,e.update.url),this.setState(ce.Idle(Zs()))}async getUpdatePackagePath(e){let t=await this.cachePath;return V(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 z.readdir(n)).filter(t).map(a=>this.unlink(V(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(ce.Updating(e));let n=await this.cachePath,o=V(n,"session-ending.flag"),s=V(n,"cancel.flag");await this.unlink(s);let a=V(n,"update-progress");await this.unlink(a),this.availableUpdate.updateFilePath=V(n,`CodeSetup-${this.productService.quality}-${e.version}.flag`),this.availableUpdate.cancelFilePath=s,await z.writeFile(this.availableUpdate.updateFilePath,"flag");let l=Uw(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(ce.Idle(Zs()))});let c=`${this.productService.win32MutexName}-ready`,d=await import("@vscode/windows-mutex");this.updateCancellationTokenSource?.dispose(!0);let u=this.updateCancellationTokenSource=new qe,f=u.token,m=async()=>{for(;this.state.type==="updating"&&!f.isCancellationRequested;){if(d.isActive(c)){this.setState(ce.Ready(e,t,this._overwrite));return}try{let v=await Nw(a,"utf8");if(!f.isCancellationRequested){let[b,I]=v.split(","),_=parseInt(b,10),C=parseInt(I,10);!isNaN(_)&&!isNaN(C)&&this.state.type==="updating"&&(this.state.currentProgress!==_||this.state.maxProgress!==C)&&this.setState(ce.Updating(e,_,C))}}catch{}await ot(500)}},y=new Kp(()=>{this.logService.warn("update#doApplyUpdate: polling timed out waiting for update to be ready"),this.setState(ce.Idle(Zs(),"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 z.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,ot(30*1e3).then(()=>!1)]);s&&!a&&(this.logService.trace("update#cancelPendingUpdate: process did not exit gracefully, killing process tree"),await rP(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 Uw(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=V(t,"update-metadata.json");await z.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=V(e,"update-metadata.json");if(await z.exists(t)){let n=await Nw(t,"utf8");return JSON.parse(n)}}catch(e){this.logService.error("update#loadUpdateMetadata: failed to load",e)}}getUpdateType(){return Zs()}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(ce.Downloading(n,!0,!1)),this.availableUpdate={packagePath:e},this.setState(ce.Downloaded(n,!0,!1)),t&&this.productService.target==="user"?this.doApplyUpdate():this.setState(ce.Ready(n,!0,!1))}async unlink(e){if(e)try{await rA(e)}catch(t){let n=t;if(n&&n.code==="ENOENT")return;this.logService.warn(`update#unlink: failed to unlink ${Pe(e)}`,t)}}};T([ue],ea.prototype,"cachePath",1),ea=T([g(0,ye),g(1,he),g(2,lt),g(3,_e),g(4,Mn),g(5,N),g(6,Le),g(7,On),g(8,Re),g(9,Gr)],ea)});var hh,gh,CE=w(()=>{le();hh=class{constructor(r){this.channel=r}handleURL(r,e){return this.channel.call("handleURL",[r.toJSON(),e])}},gh=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 Vw,Ql,_E=w(()=>{ge();$();le();Yt();Vw=class extends k{constructor(){super(...arguments);this.handlers=new Set}open(e,t){let n=[...this.handlers.values()];return WS(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))}},Ql=class extends Vw{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})}};Ql=T([g(0,Re)],Ql)});import{app as kE}from"electron";var vh,RE=w(()=>{ge();Q();$();Z();le();vh=class extends k{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){let d=o.isBuilt?[]:[`"${o.appRoot}"`];d.push("--open-url","--"),kE.setAsDefaultProtocolClient(s.urlProtocol,process.execPath,d)}let l=P.map(P.fromNodeEventEmitter(kE,"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(P.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,OS(()=>this.flush(),500,this._store))}}});var Hw,DE=w(()=>{ne();Hw=O("webviewManagerService")});import{protocol as LE}from"electron";var ls,AE=w(()=>{He();le();$e();ls=class{constructor(r){this._fileService=r;let e=this.handleWebviewRequest.bind(this);LE.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(){LE.unhandle(F.vscodeWebview)}async handleWebviewRequest(r){try{let e=E.parse(r.url),t=ls.validWebviewFilePaths.get(e.path);if(t){let n=`vs/workbench/contrib/webview/browser/pre${e.path}`,o=rt.asFileUri(n),s=await this._fileService.readFile(o);return new Response(s.value.buffer.buffer,{headers:{"Content-Type":t.mime,...ka.getHeadersFromQuery(r.url),"Cross-Origin-Resource-Policy":"cross-origin"}})}else return new Response(null,{status:403})}catch{}return new Response(null,{status:500})}};ls=T([g(0,Le)],ls)});import{webContents as oA}from"electron";var Xl,ME=w(()=>{Q();$();AE();Rt();$e();Xl=class extends k{constructor(e,t){super();this.windowsMainService=t;this._onFoundInFrame=this._register(new S);this.onFoundInFrame=this._onFoundInFrame.event;this._register(new ls(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=oA.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}};Xl=T([g(0,Le),g(1,Ne)],Xl)});var Yl,yh=w(()=>{ne();Yl=O("protocolMainService")});async function OE(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=D1(o)?o:null}catch{t=null}if(!t){t=Ce();try{await r.writeFile(i.serviceMachineIdResource,H.fromString(t))}catch{}}return e?.store("storage.serviceMachineId",t,-1,1),t}var WE=w(()=>{et();Kt();Ws()});async function FE(i,r,e,t,n,o,s){let a={"X-Market-Client-Id":`VSCode ${i}`,"User-Agent":`VSCode ${i} (${r.nameShort})`};if(ah(r,e)&&Kl(t)===3){let l=await OE(e,n,o);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var UE=w(()=>{WE();mr();ss()});function p(i,r){if(Ae(r)){let e=NE[r];if(e===void 0)throw new Error(`${i} references an unknown codicon: ${r}`);r=e}return NE[i]=r,{id:i}}var NE,$w=w(()=>{De();NE=Object.create(null)});var BE,VE=w(()=>{$w();BE={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)}});function Kw(){return Object.values(ut)}var sA,ut,Nu=w(()=>{$w();VE();sA={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)},ut={...BE,...sA}});var HE,Zl,qw=w(()=>{Nu();(r=>{function i(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}r.isThemeColor=i})(HE||={});(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(_){let C=n.exec(_.id);if(!C)return o(ut.error);let[,D,A]=C,ae=["codicon","codicon-"+D];return A&&ae.push("codicon-modifier-"+A.substring(1)),ae}I.asClassNameArray=o;function s(_){return o(_).join(" ")}I.asClassName=s;function a(_){return"."+o(_).join(".")}I.asCSSSelector=a;function l(_){return!!_&&typeof _=="object"&&typeof _.id=="string"&&(typeof _.color>"u"||HE.isThemeColor(_.color))}I.isThemeIcon=l;let c=new RegExp(`^\\$\\((${I.iconNameExpression}(?:${I.iconModifierExpression})?)\\)$`);function d(_){let C=c.exec(_);if(!C)return;let[,D]=C;return{id:D}}I.fromString=d;function u(_){return{id:_}}I.fromId=u;function f(_,C){let D=_.id,A=D.lastIndexOf("~");return A!==-1&&(D=D.substring(0,A)),C&&(D=`${D}~${C}`),{id:D}}I.modify=f;function m(_){let C=_.id.lastIndexOf("~");if(C!==-1)return _.id.substring(C+1)}I.getModifier=m;function y(_,C){return _.id===C.id&&_.color?.id===C.color?.id}I.isEqual=y;function v(_){return _?.id===ut.file.id}I.isFile=v;function b(_){return _?.id===ut.folder.id}I.isFolder=b})(Zl||={})});import fn,{screen as lA}from"electron";import{release as $E}from"os";var zw,Bu,ta,jw,Gw=w(()=>{ge();vt();Co();Q();$();He();li();Z();le();Ee();pl();nt();Bs();Ft();kl();$e();_t();oe();Yt();yh();UE();ou();mr();qw();nl();Fo();Rt();Tr();qo();Ei();ri();wn();Ho();$l();ne();et();Be();$y();Qv();zw=class i{constructor(){this.windows=new Set}static{this.INSTANCE=new i}acquireBadge(r){return this.windows.add(r.id),fn.app.setBadgeCount(ie?1:void 0),{dispose:()=>{this.windows.delete(r.id),this.windows.size===0&&fn.app.setBadgeCount(0)}}}},Bu=class i extends k{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 Zt);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(P.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(P.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(P.fromNodeEventEmitter(e,"closed")(()=>{this._onDidClose.fire(),this.dispose()})),this._register(P.fromNodeEventEmitter(e,"focus")(()=>{this.clearNotifyFocus(),this._lastFocusTime=Date.now()})),this._register(P.fromNodeEventEmitter(this._win,"enter-full-screen")(()=>this._onDidEnterFullScreen.fire())),this._register(P.fromNodeEventEmitter(this._win,"leave-full-screen")(()=>this._onDidLeaveFullScreen.fire())),this._register(P.fromNodeEventEmitter(this._win,"always-on-top-changed",(o,s)=>s)(o=>this._onDidChangeAlwaysOnTop.fire(o)));let n=!Wo(this.configurationService,t?.titleBarStyle==="hidden"?"custom":void 0);if(B&&n&&e.setSheetOffset(Ig($E())?32:28),n&&Xd(this.configurationService)){let o=this.stateService.getItem(i.windowControlHeightStateStorageKey);o?this.updateWindowControls({height:o}):this.updateWindowControls({height:bx})}(W||ie)&&n&&this._register(P.fromNodeEventEmitter(e,"system-context-menu",(o,s)=>({event:o,point:s}))(o=>{let[s,a]=e.getPosition(),l=fn.screen.screenToDipPoint(o.point),c=Math.floor(l.x)-s,d=Math.floor(l.y)-a;ie&&c>35&&(o.event.preventDefault(),this._onDidTriggerSystemContextMenu.fire({x:c,y:d}))})),this.environmentMainService.args["open-devtools"]===!0&&e.webContents.openDevTools(),B&&(this._register(this.onDidEnterFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)})),this._register(this.onDidLeaveFullScreen(()=>{this.joinNativeFullScreenTransition?.complete(!0)}))),W&&this.environmentMainService.enableRDPDisplayTracking&&this._register(P.fromNodeEventEmitter(lA,"display-added",(o,s)=>({event:o,display:s}))(o=>{this.onDisplayAdded(o.display)}))}onDisplayAdded(e){let t=this.maximizedWindowState;t&&this._win&&ol.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=fn.screen.getAllDisplays().length>0){let n=this.configurationService.getValue("window"),o=B&&n?.nativeTabs===!0;(B||W)&&t&&(!o||Ci().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){B?this.win?.setRepresentedFilename(e):this.representedFilename=e}getRepresentedFilename(){return B?this.win?.getRepresentedFilename():this.representedFilename}setDocumentEdited(e){B&&this.win?.setDocumentEdited(e),this.documentEdited=e}isDocumentEdited(){return B?!!this.win?.isDocumentEdited():!!this.documentEdited}focus(e){switch(e?.mode??0){case 0:this.doFocusWindow();break;case 1:this.showNotifyFocus();break;case 2:B&&fn.app.focus({steal:!0}),this.doFocusWindow();break}}showNotifyFocus(){let e=new re;this.notifyFocusDisposable.value=e,e.add(zw.INSTANCE.acquireBadge(this)),W||ie?(this.win?.flashFrame(!0),e.add(G(()=>this.win?.flashFrame(!1)))):B&&fn.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(ta.windowControlHeightStateStorageKey,e.height),!B&&Xd(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(B&&e.height!==void 0){let n=Ig($E())?14:16,o=Math.floor((e.height-n)/2);o?t.setWindowButtonPosition({x:o+1,y:o}):t.setWindowButtonPosition(null)}}}dimColor(e){let t=Bo.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){qf(this.configurationService)?this.setNativeFullScreen(e,t):this.setSimpleFullScreen(e)}get isFullScreen(){if(B&&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(B){this.transientIsNativeFullScreen=e;let o=this.joinNativeFullScreenTransition=new $t;(async()=>{let s=await Promise.race([o.p,ot(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}},ta=class extends Bu{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,b,I,_,C,D,A,ae){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=_;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 Zt);{this.configObjectUrl=this._register(C.createIPCObjectUrl());let[q,be]=this.restoreWindowState(e.state);this.windowState=q,this.logService.trace("window#ctor: using window state",q);let wt={preload:rt.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&&(wt.backgroundThrottling=!1);let It=ae.invokeFunction(il,this.windowState,void 0,wt);Ue("code/willCreateCodeBrowserWindow"),this._win=new fn.BrowserWindow(It),Ue("code/didCreateCodeBrowserWindow"),this._id=this._win.id,this.setWin(this._win,It),this.applyState(this.windowState,be),this._lastFocusTime=Date.now()}let U=parseInt(this.environmentMainService.args["unresponsive-sample-interval"]||"1000"),Y=parseInt(this.environmentMainService.args["unresponsive-sample-period"]||"15000");(U<=0||Y<=0||U>Y)&&(this.logService.warn(`Invalid unresponsive sample interval (${U}ms) or period (${Y}ms), using defaults.`),U=1e3,Y=15e3),this.jsCallStackMap=new Map,this.jsCallStackEffectiveSampleCount=Math.round(Y/U),this.jsCallStackCollector=this._register(new $i(U)),this.jsCallStackCollectorStopScheduler=this._register(new ur(()=>{this.stopCollectingJScallStacks()},Y)),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??Oo(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(P.fromNodeEventEmitter(this._win,"unresponsive")(()=>this.onWindowError(1))),this._register(P.fromNodeEventEmitter(this._win,"responsive")(()=>this.onWindowError(4))),this._register(P.fromNodeEventEmitter(this._win.webContents,"render-process-gone",(t,n)=>n)(t=>this.onWindowError(2,{...t}))),this._register(P.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(P.fromNodeEventEmitter(this._win.webContents,"will-prevent-unload")(t=>t.preventDefault())),this._register(P.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=FE(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(2736,null),h(2732,null),h(2737,null)],message:h(2730,null),detail:h(2731,null),checkboxLabel:this._config?.workspace?h(2733,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(2728,null,t.reason,t.exitCode??"<unknown>"):n=h(2726,null);let{response:o,checkboxChecked:s}=await this.dialogMainService.showMessageBox({type:"warning",buttons:[this._config?.workspace?h(2736,null):h(2735,null),h(2732,null)],message:n,detail:this._config?.workspace?h(2729,null):h(2727,null),checkboxLabel:this._config?.workspace?h(2733,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}:at(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(B&&(!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:""}),fn.app.setProxy({proxyRules:s,proxyBypassRules:a,pacScript:""})}}}registerSwipeListener(){this.swipeListenerDisposable.value=P.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){B&&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=rt.asBrowserUri(`vs/sessions/electron-browser/sessions${this.environmentMainService.isBuilt?"":"-dev"}.html`).toString(!0):n=rt.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 ur(()=>{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=ei(n)&&!ei(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),Ue("code/willOpenNewWindow"),e.perfMarks=ap(),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=fn.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(at(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 Pi();if(this.isFullScreen){let n;try{n=fn.screen.getDisplayMatching(this.getBounds())}catch{}let o=Pi();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(!B&&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){Ue("code/willRestoreCodeWindowState");let t=!1;if(e){this.customZoomLevel=e.zoomLevel;try{let n=fn.screen.getAllDisplays();t=n.length>1,e=ol.validateWindowState(this.logService,e,n)}catch(n){this.logService.warn(`Unexpected error validating window state: ${n}
${n.stack}`)}}return Ue("code/didRestoreCodeWindowState"),[e||Pi(),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=wx(this.configurationService);return["visible","toggle","hidden"].indexOf(e)<0&&(e="classic"),e}setMenuBarVisibility(e,t=!0){B||(e==="toggle"&&t&&this.send("vscode:showInfoMessage",h(2734,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}: ${Pr(n)}`)}}}updateTouchBar(e){B&&this.touchBarGroups.forEach((t,n)=>{let o=e[n];t.segments=this.createTouchBarGroupSegments(o)})}createTouchBar(){if(B){for(let e=0;e<10;e++){let t=this.createTouchBarGroup();this.touchBarGroups.push(t)}this._win.setTouchBar(new fn.TouchBar({items:this.touchBarGroups}))}}createTouchBarGroup(e=[]){let t=this.createTouchBarGroupSegments(e),n=new fn.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&&!Zl.isThemeIcon(n.icon)&&n.icon?.dark?.scheme===F.file&&(o=fn.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 jw(o,this.id,this._win?.webContents.getOSProcessId());ga.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)}};ta=T([g(1,N),g(2,ni),g(3,_e),g(4,Wn),g(5,Wr),g(6,Le),g(7,$o),g(8,Us),g(9,he),g(10,Ti),g(11,pn),g(12,ki),g(13,lt),g(14,bn),g(15,ye),g(16,Re),g(17,Yl),g(18,Ne),g(19,Ct),g(20,Wt)],ta);jw=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 ec from"electron";function cA(i){let r={openedWindows:[]},e=i||{openedWindows:[]};return e.lastActiveWindow&&(r.lastActiveWindow=Jw(e.lastActiveWindow)),e.lastPluginDevelopmentHostWindow&&(r.lastPluginDevelopmentHostWindow=Jw(e.lastPluginDevelopmentHostWindow)),Array.isArray(e.openedWindows)&&(r.openedWindows=e.openedWindows.map(t=>Jw(t))),r}function Jw(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 dA(i){return{lastActiveWindow:i.lastActiveWindow&&Qw(i.lastActiveWindow),lastPluginDevelopmentHostWindow:i.lastPluginDevelopmentHostWindow&&Qw(i.lastPluginDevelopmentHostWindow),openedWindows:i.openedWindows.map(r=>Qw(r))}}function Qw(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 uo,KE=w(()=>{$();Z();yt();le();nt();_t();oe();wn();Rt();Ei();Tr();uo=class extends k{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=cA(this.stateService.getItem(uo.windowsStateStorageKey)),this.registerListeners()}static{this.windowsStateStorageKey="windowsState"}get state(){return this._state}registerListeners(){ec.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)?B&&!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)?B&&a.windowId!==t.lastActiveWindow?.windowId&&!s.win?.isSimpleFullScreen()&&(a.uiState.mode=1):e.add(a.uiState.display)),a}));let o=dA(t);this.stateService.setItem(uo.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=at(e.openedWorkspace)&&n.workspace?.id===e.openedWorkspace.id,s=Ut(e.openedWorkspace)&&n.folderUri&&ze.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:at(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(at(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&&ze.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=ec.screen.getAllDisplays();if(o.length===1)n=o[0];else{if(B){let c=ec.screen.getCursorScreenPoint();n=ec.screen.getDisplayNearestPoint(c)}!n&&t&&(n=ec.screen.getDisplayMatching(t.getBounds())),n||(n=ec.screen.getPrimaryDisplay()||o[0])}let s=Pi(void 0,at(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}};uo=T([g(0,Ne),g(1,Ct),g(2,ye),g(3,N),g(4,he)],uo)});import{spawn as uA}from"child_process";var wh,tc,Xw=w(()=>{Te();He();ys();dn();ne();oe();wh=O("ICSSDevelopmentService"),tc=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=an.create(),n=[],o=rt.asFileUri("").fsPath,s=uA(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=>bp(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)`)})})}};tc=T([g(0,Kr),g(1,N)],tc)});import*as qE from"fs";import{app as pA,BrowserWindow as Ih,shell as fA}from"electron";import{hostname as mA,release as hA,arch as gA}from"os";function Vu(i){return at(i?.workspace)}function rc(i){return Ut(i?.workspace)}var Yw,nc,zE=w(()=>{Aa();Ht();vt();$n();Q();ln();Gi();$();He();Te();li();Z();Bn();yt();De();le();Ee();pl();nt();Bs();Ft();$e();ne();_t();oe();Oa();yh();yl();wn();Fo();Gw();Rt();gy();KE();Tr();im();Fu();qo();Ei();nl();ri();Ho();$l();Hs();Xw();Lr();et();Yw=Object.create(null);nc=class extends k{constructor(e,t,n,o,s,a,l,c,d,u,f,m,y,v,b,I,_,C,D,A,ae,U){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=_;this.fileService=C;this.protocolMainService=D;this.themeMainService=A;this.auxiliaryWindowsMainService=ae;this.cssDevelopmentService=U;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 uo(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 re;if(t.add(P.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)rc(b)?e.addMode?t.push(b):e.removeMode?n.push(b):o.push(b):Vu(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:it([...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,_=!0;if(b){let C=f.filter(D=>this.windowsStateHandler.state.lastActiveWindow&&D.backupPath===this.windowsStateHandler.state.lastActiveWindow.backupPath);C.length&&(C[0].focus(),I=!1,_=!1)}if(I)for(let C=f.length-1;C>=0;C--){let D=f[C];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(),_=!1;break}}_&&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)Vu(I)&&!I.transient?b.push({label:I.label,workspace:I.workspace,remoteAuthority:I.remoteAuthority}):rc(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=io(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(C,D){d.push(C),D&&(u=C,a=void 0)}let{openFolderInNewWindow:m,openFilesInNewWindow:y}=this.shouldOpenNewWindow(e);if(!e.initialStartup&&(l.length>0||c.length>0)){let C=l.at(0)?.remoteAuthority??c.at(0)?.remoteAuthority,D=this.getLastActiveWindowForAuthority(C);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 C=a.filesToOpenOrCreate[0]||a.filesToDiff[0]||a.filesToMerge[3],D=this.getWindows().filter(ae=>a&&Ar(ae.remoteAuthority,a.remoteAuthority)),A;C?.fileUri&&!y&&((e.context===4||e.context===0||e.context===1||e.context===6)&&(A=await Jx(D,C.fileUri,async ae=>ae.configPath.scheme===F.file?this.workspacesManagementMainService.resolveLocalWorkspace(ae.configPath):void 0)),A||(A=this.doGetLastActiveWindow(D))),A?at(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=Dr(t,C=>C.workspace.id);if(b.length>0){let C=it(b.map(D=>io(this.getWindows(),D.workspace.configPath)));if(C.length>0){let D=C[0],A=Ar(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,A),!!A),m=!0}for(let D of b){if(C.some(U=>U.openedWorkspace&&U.openedWorkspace.id===D.workspace.id))continue;let A=D.remoteAuthority,ae=Ar(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,ae),!!ae),m=!0}}let I=Dr(n,C=>ze.getComparisonKey(C.workspace.uri));if(I.length>0){let C=it(I.map(D=>io(this.getWindows(),D.workspace.uri)));if(C.length>0){let D=C[0],A=Ar(a?.remoteAuthority,D.remoteAuthority)?a:void 0;f(this.doOpenFilesInExistingWindow(e,D,A),!!A),m=!0}for(let D of I){if(C.some(U=>Ut(U.openedWorkspace)&&ze.isEqual(U.openedWorkspace.uri,D.workspace.uri)))continue;let A=D.remoteAuthority,ae=Ar(a?.remoteAuthority,A)?a:void 0;f(await this.doOpenFolderOrWorkspace(e,D,m,ae),!!ae),m=!0}}let _=Dr(o,C=>C.backupFolder);if(_.length>0)for(let C of _){let D=C.remoteAuthority,A=Ar(a?.remoteAuthority,D)?a:void 0;f(await this.doOpenEmpty(e,!0,D,A,C),!!A),m=!0}if(a||s&&(e.forceEmpty||d.length===0)){let C=a?a.remoteAuthority:e.remoteAuthority;f(await this.doOpenEmpty(e,m,C,a),!!a)}return{windows:Dr(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=Ih.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=[Yw]:e.cli._.length||e.cli["folder-uri"]||e.cli["file-uri"]?(t=await this.doExtractPathsFromCLI(e.cli),t.length===0&&t.push(Yw),n=!0):(t=await this.doGetPathsFromLastSession(),t.length===0&&t.push(Yw),o=!0),!e.addMode&&!e.removeMode&&n){let s=t.filter(a=>rc(a));if(s.length>1){let a=s[0].remoteAuthority;if(s.every(l=>Ar(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=>!rc(d))}}}if(e.initialStartup&&!o&&this.configurationService.getValue("window")?.restoreWindows==="preserve"){let s=await this.doGetPathsFromLastSession();t.unshift(...s.filter(a=>Vu(a)||rc(a)||a.backupPath))}return t}async doExtractPathsFromAPI(e){let t={gotoLineMode:e.gotoLineMode,remoteAuthority:e.remoteAuthority},n=await Promise.all(it(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(2744,null)],message:a.scheme===F.file?h(2746,null):h(2748,null),detail:a.scheme===F.file?h(2745,null,ji(a,{os:Jt,tildify:this.environmentMainService})):h(2747,null,a.toString(!0))},Ih.getFocusedWindow()??void 0)}));return it(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(...it(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(xi(c)?{workspaceUri:d}:{fileUri:d},n)}));t.push(...it(l))}let a=await Promise.all(e._.map(l=>n.remoteAuthority?this.doResolveRemotePath(l,n):this.doResolveFilePath(l,n)));return t.push(...it(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(Vu(s))return s}else if(o.folderUri){let s=await this.resolveOpenable({folderUri:o.folderUri},{remoteAuthority:o.remoteAuthority});if(rc(s))return s}else if(e!=="folders"&&o.backupPath)return{backupPath:o.backupPath,remoteAuthority:o.remoteAuthority}}));return it(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=>Vu(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 ya(o,c=>ze.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?(jv(e)&&(t={...t,forceOpenWorkspaceAsFile:!0}),this.doResolveFilePath(n.fsPath,t)):this.doResolveRemoteOpenable(e,t)}doResolveRemoteOpenable(e,t){let n=this.resourceFromOpenable(e),o=oo(n)||t.remoteAuthority;if(n=kS(Vp(n)),jv(e)){if(t.gotoLineMode){let{path:s,line:a,column:l}=Ca(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(Qd(e))return{workspace:ro(n),remoteAuthority:o};return{workspace:nm(n),remoteAuthority:o}}resourceFromOpenable(e){return Qd(e)?e.workspaceUri:Kf(e)?e.folderUri:e.fileUri}async doResolveFilePath(e,t,n){let o,s;t.gotoLineMode&&({path:e,line:o,column:s}=Ca(e)),e=Up(Et(e),en());try{let a=await qE.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:nm(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(2738,null),h(2739,null),h(2743,null)],message:h(2741,null,n.authority),detail:h(2740,null,ji(n,{os:Jt,tildify:this.environmentMainService})),checkboxLabel:h(2742,null,n.authority),cancelId:1});if(o===0){if(qi(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 fA.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}=Ca(e)),n!==47&&(Fp(n)&&e.charCodeAt(e.charCodeAt(1))===58&&(e=hi(e)),e=`/${e}`);let l=E.from({scheme:F.vscodeRemote,authority:o,path:e});if(e.charCodeAt(e.length-1)!==47){if(xi(e))return t.forceOpenWorkspaceAsFile?{fileUri:l,options:{selection:s?{startLineNumber:s,startColumn:a||1}:void 0},remoteAuthority:t.remoteAuthority}:{workspace:ro(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:nm(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:(B?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=Qx(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=[dr(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=oo(u);f&&(l?Ar(f,l)||this.logService.error("more than one extension development path authority"):l=f)}a=a.filter(d=>{let u=E.file(d);return io(this.getWindows(),u)?!1:Ar(oo(u),l)}),o=o.filter(d=>{let u=this.cliArgToUri(d);return u&&io(this.getWindows(),u)?!1:u?Ar(oo(u),l):!1}),s=s.filter(d=>{let u=this.cliArgToUri(d);return u&&io(this.getWindows(),u)?!1:u?Ar(oo(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?V(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:hg(),language:Hc()},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:pr,isInitialStartup:e.initialStartup,perfMarks:ap(),os:{release:hA(),hostname:mA(),arch:gA()},autoDetectHighContrast:t?.autoDetectHighContrast??!0,autoDetectColorScheme:t?.autoDetectColorScheme??!1,accessibilitySupport:pA.accessibilitySupportEnabled,colorScheme:this.themeMainService.getColorScheme(),policiesData:this.policyService.serialize(),continueOn:this.environmentMainService.continueOn,cssModules:this.cssDevelopmentService.isEnabled?await this.cssDevelopmentService.getCssModules():void 0,isSessionsWindow:at(e.workspace)&&td(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);Ue("code/willCreateCodeWindow");let d=a=this.instantiationService.createInstance(ta,{state:c,extensionDevelopmentPath:l.extensionDevelopmentPath,isExtensionTestHost:!!l.extensionTestsPath});Ue("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 re;u.add(d.onDidSignalReady(()=>this._onDidSignalReadyWindow.fire(d))),u.add(P.once(d.onDidClose)(()=>this.onWindowClosed(d,u))),u.add(P.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=fi(d.win?.webContents);f.removeAllListeners("devtools-reload-page"),u.add(P.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||(at(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??au().id,remoteAuthority:t.remoteAuthority}));let s=t.workspace??Oo(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=Ih.getFocusedWindow();if(e)return this.getWindowById(e.id)}getLastActiveWindow(){return this.doGetLastActiveWindow(this.getWindows())}getLastActiveWindowForAuthority(e){return this.doGetLastActiveWindow(this.getWindows().filter(t=>Ar(t.remoteAuthority,e)))}doGetLastActiveWindow(e){return jf(e)}sendToFocused(e,...t){(this.getFocusedWindow()||this.getLastActiveWindow())?.sendWhenReady(e,Se.None,...t)}sendToOpeningWindow(e,...t){this._register(P.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=Ih.fromWebContents(e);if(!t)return;let n=this.getWindowById(t.id);return n?.matches(e)?n:void 0}};nc=T([g(4,N),g(5,ni),g(6,Ct),g(7,Wn),g(8,_e),g(9,Wr),g(10,ye),g(11,ki),g(12,he),g(13,ns),g(14,pn),g(15,Wt),g(16,bn),g(17,Le),g(18,Yl),g(19,Ti),g(20,Sn),g(21,wh)],nc)});var bh,jE=w(()=>{ge();Q();$();bh=class extends k{constructor({onDidOpenMainWindow:e,onDidFocusMainWindow:t,getActiveWindowId:n}){super();this.disposables=this._register(new re);P.latch(P.any(e,t))(this.setActiveWindow,this,this.disposables),this.firstActiveWindowIdPromise=zn(()=>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 ic,GE=w(()=>{pl();Rt();Fu();qo();ic=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()}};ic=T([g(0,pn),g(1,Ne),g(2,ns),g(3,ki)],ic)});var Sh,JE=w(()=>{Q();$();ri();Sh=class{constructor(r){this.service=r;this.disposables=new re}listen(r,e){if(e==="onDidChange")return P.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 YE(i){return i.map(r=>{let[e,t]=r.split("@");return{proposalName:e,version:t?parseInt(t):void 0}})}function ZE(i){return i.map(r=>r.split("@")[0])}var QE,XE,Ph,po,xh,Tce,Hu=w(()=>{er();ne();yl();QE="extensions.user.cache",XE="extensions.builtin.cache",Ph="undefined_publisher",po=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 Hr(t,n)}return r._lower===e._lower}static toKey(r){return typeof r=="string"?r.toLowerCase():r._lower}},xh=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(r){this._map.delete(po.toKey(r))}get(r){return this._map.get(po.toKey(r))}has(r){return this._map.has(po.toKey(r))}set(r,e){this._map.set(po.toKey(r),e)}values(){return this._map.values()}forEach(r){this._map.forEach(r)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};Tce=O("IBuiltinExtensionsScannerService")});function tT(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 rT(i){let r=i;return!!r&&typeof r=="object"&&typeof r.id=="string"&&(!r.uuid||typeof r.uuid=="string")}var vA,$ce,Kce,qce,zce,jce,Gce,Jce,Qce,yA,Zw=w(()=>{Z();dd();Ee();zi();Hu();$e();ne();Gn();vA="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",$ce=new RegExp(vA);Kce=O("extensionGalleryService"),qce=O("extensionManagementService"),zce=O("IGlobalExtensionEnablementService"),jce=O("IExtensionTipsService"),Gce=O("IAllowedExtensionsService"),Jce=gg(1981,"Extensions"),Qce=gg(1998,"Preferences"),yA="extensions.allowed";St.as(tr.Configuration).registerConfiguration({id:"extensions",order:30,title:h(1997,null),type:"object",properties:{[yA]:{type:"object",markdownDescription:h(1987,null),default:"*",defaultSnippets:[{body:{},description:h(1992,null)},{body:{"*":!0},description:h(1988,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:h(1993,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(1985,null),enumDescriptions:[h(1991,null),h(1989,null),h(1990,null)]},{type:"array",items:{type:"string"},description:h(1986,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:h(1980,null),enumDescriptions:[h(1996,null),h(1994,null),h(1995,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:h(1982,null),enumDescriptions:[h(1984,null),h(1983,null)]}}}}})});function ra(i,r){return i.uuid&&r.uuid?i.uuid===r.uuid:i.id===r.id?!0:Zc(i.id,r.id)===0}function nT(i,r){return`${i}.${r}`}function wA(i){return i.toLowerCase()}function iT(i,r){return wA(nT(i??Ph,r))}async function IA(i,r){if(!ie)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.",lr(n))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function oT(i,r){let e=await IA(i,r),t=tT(e?"alpine":Fi,Ib);return r.debug("ComputeTargetPlatform:",t),t}var pde,eI=w(()=>{er();Zw();Hu();Z();le();Be();Bn();ss();De();pde=new po("pprice.better-merge")});function sT(i){let r=i;return Ke(r)&&rT(r.identifier)&&(bA(r.location)||Ae(r.location)&&!!r.location)&&(Tn(r.relativeLocation)||Ae(r.relativeLocation))&&!!r.version&&Ae(r.version)}function bA(i){if(!i)return!1;let r=i;return typeof r?.path=="string"&&typeof r?.scheme=="string"}var na,cs,oc,$u=w(()=>{ge();et();$();Q();Lr();le();Zw();eI();$e();ne();oe();Yn();Xn();De();Be();na=class extends Error{constructor(e,t){super(e);this.code=t}},cs=O("IExtensionsProfileScannerService"),oc=class extends k{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 ft}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])=>ra(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=>ra(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])=>ra({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=>ra(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 na(lr(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){sT(l)||this.throwInvalidConentError(e);let c;if(Ae(l.relativeLocation)&&l.relativeLocation)c=this.resolveExtensionLocation(l.relativeLocation);else if(Ae(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)}Tn(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 na(`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=>sT(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 Cn,this.resourcesAccessQueueMap.set(e,t)),t}};oc=T([g(1,Le),g(2,Cr),g(3,Tt),g(4,N)],oc)});function Eh(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 aT=w(()=>{Ee();Zn()});var Th,We,Nde,Bde,lT,Vde,Hde,$de,Kde,qde,zde,jde,cT,Gde,Jde,Qde,dT,Xde,Yde,Zde,eue,tue,rue,nue,iue,oue,sue,aue,lue,cue,due,uue,pue,fue,mue,hue,gue,vue,yue,tI=w(()=>{Th={},We={exports:Th};(function(i,r){if(typeof Th=="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 Th=="object"?Th: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=Ge,n=typeof t=="object"&&t.env&&t.env.NODE_DEBUG&&/\bsemver\b/i.test(t.env.NODE_DEBUG)?function(){var x=Array.prototype.slice.call(arguments,0);x.unshift("SEMVER"),console.log.apply(console,x)}: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++;l[_]="(?:-?("+l[b]+"(?:\\."+l[b]+")*))";var C=c++;l[C]="[0-9A-Za-z-]+";var D=c++;l[D]="(?:\\+("+l[C]+"(?:\\."+l[C]+")*))";var A=c++,ae="v?"+l[m]+l[I]+"?"+l[D]+"?";l[A]="^"+ae+"$";var U="[v=\\s]*"+l[y]+l[_]+"?"+l[D]+"?",Y=c++;l[Y]="^"+U+"$";var q=c++;l[q]="((?:<|>)?=?)";var be=c++;l[be]=l[u]+"|x|X|\\*";var wt=c++;l[wt]=l[d]+"|x|X|\\*";var It=c++;l[It]="[v=\\s]*("+l[wt]+")(?:\\.("+l[wt]+")(?:\\.("+l[wt]+")(?:"+l[I]+")?"+l[D]+"?)?)?";var Ur=c++;l[Ur]="[v=\\s]*("+l[be]+")(?:\\.("+l[be]+")(?:\\.("+l[be]+")(?:"+l[_]+")?"+l[D]+"?)?)?";var Nr=c++;l[Nr]="^"+l[q]+"\\s*"+l[It]+"$";var J=c++;l[J]="^"+l[q]+"\\s*"+l[Ur]+"$";var K=c++;l[K]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var j=c++;l[j]="(?:~>?)";var X=c++;l[X]="(\\s*)"+l[j]+"\\s+",a[X]=new RegExp(l[X],"g");var te=c++;l[te]="^"+l[j]+l[It]+"$";var pe=c++;l[pe]="^"+l[j]+l[Ur]+"$";var ee=c++;l[ee]="(?:\\^)";var kt=c++;l[kt]="(\\s*)"+l[ee]+"\\s+",a[kt]=new RegExp(l[kt],"g");var tt=c++;l[tt]="^"+l[ee]+l[It]+"$";var jt=c++;l[jt]="^"+l[ee]+l[Ur]+"$";var Dt=c++;l[Dt]="^"+l[q]+"\\s*("+U+")$|^$";var Gt=c++;l[Gt]="^"+l[q]+"\\s*("+ae+")$|^$";var Br=c++;l[Br]="(\\s*)"+l[q]+"\\s*("+U+"|"+l[It]+")",a[Br]=new RegExp(l[Br],"g");var si=c++;l[si]="^\\s*("+l[It]+")\\s+-\\s+("+l[It]+")\\s*$";var Oc=c++;l[Oc]="^\\s*("+l[Ur]+")\\s+-\\s+("+l[Ur]+")\\s*$";var Wc=c++;l[Wc]="(<|>)?=?\\s*\\*";for(var go=0;go<35;go++)n(go,l[go]),a[go]||(a[go]=new RegExp(l[go]));function fe(x,L){if(x instanceof Ge)return x;if(typeof x!="string"||x.length>o||!(L?a[Y]:a[A]).test(x))return null;try{return new Ge(x,L)}catch{return null}}function Ge(x,L){if(x instanceof Ge){if(x.loose===L)return x;x=x.version}else if(typeof x!="string")throw new TypeError("Invalid Version: "+x);if(x.length>o)throw new TypeError("version is longer than "+o+" characters");if(!(this instanceof Ge))return new Ge(x,L);n("SemVer",x,L),this.loose=L;var M=x.trim().match(L?a[Y]:a[A]);if(!M)throw new TypeError("Invalid Version: "+x);if(this.raw=x,this.major=+M[1],this.minor=+M[2],this.patch=+M[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");M[4]?this.prerelease=M[4].split(".").map((function(se){if(/^[0-9]+$/.test(se)){var Ie=+se;if(Ie>=0&&Ie<s)return Ie}return se})):this.prerelease=[],this.build=M[5]?M[5].split("."):[],this.format()}r.parse=fe,r.valid=function(x,L){var M=fe(x,L);return M?M.version:null},r.clean=function(x,L){var M=fe(x.trim().replace(/^[=v]+/,""),L);return M?M.version:null},r.SemVer=Ge,Ge.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},Ge.prototype.toString=function(){return this.version},Ge.prototype.compare=function(x){return n("SemVer.compare",this.version,this.loose,x),x instanceof Ge||(x=new Ge(x,this.loose)),this.compareMain(x)||this.comparePre(x)},Ge.prototype.compareMain=function(x){return x instanceof Ge||(x=new Ge(x,this.loose)),ua(this.major,x.major)||ua(this.minor,x.minor)||ua(this.patch,x.patch)},Ge.prototype.comparePre=function(x){if(x instanceof Ge||(x=new Ge(x,this.loose)),this.prerelease.length&&!x.prerelease.length)return-1;if(!this.prerelease.length&&x.prerelease.length)return 1;if(!this.prerelease.length&&!x.prerelease.length)return 0;var L=0;do{var M=this.prerelease[L],se=x.prerelease[L];if(n("prerelease compare",L,M,se),M===void 0&&se===void 0)return 0;if(se===void 0)return 1;if(M===void 0)return-1;if(M!==se)return ua(M,se)}while(++L)},Ge.prototype.inc=function(x,L){switch(x){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 M=this.prerelease.length;--M>=0;)typeof this.prerelease[M]=="number"&&(this.prerelease[M]++,M=-2);M===-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: "+x)}return this.format(),this.raw=this.version,this},r.inc=function(x,L,M,se){typeof M=="string"&&(se=M,M=void 0);try{return new Ge(x,M).inc(L,se).version}catch{return null}},r.diff=function(x,L){if(ng(x,L))return null;var M=fe(x),se=fe(L);if(M.prerelease.length||se.prerelease.length){for(var Ie in M)if((Ie==="major"||Ie==="minor"||Ie==="patch")&&M[Ie]!==se[Ie])return"pre"+Ie;return"prerelease"}for(var Ie in M)if((Ie==="major"||Ie==="minor"||Ie==="patch")&&M[Ie]!==se[Ie])return Ie},r.compareIdentifiers=ua;var zI=/^[0-9]+$/;function ua(x,L){var M=zI.test(x),se=zI.test(L);return M&&se&&(x=+x,L=+L),M&&!se?-1:se&&!M?1:x<L?-1:x>L?1:0}function Mi(x,L,M){return new Ge(x,M).compare(new Ge(L,M))}function np(x,L,M){return Mi(x,L,M)>0}function ip(x,L,M){return Mi(x,L,M)<0}function ng(x,L,M){return Mi(x,L,M)===0}function jI(x,L,M){return Mi(x,L,M)!==0}function ig(x,L,M){return Mi(x,L,M)>=0}function og(x,L,M){return Mi(x,L,M)<=0}function op(x,L,M,se){var Ie;switch(L){case"===":typeof x=="object"&&(x=x.version),typeof M=="object"&&(M=M.version),Ie=x===M;break;case"!==":typeof x=="object"&&(x=x.version),typeof M=="object"&&(M=M.version),Ie=x!==M;break;case"":case"=":case"==":Ie=ng(x,M,se);break;case"!=":Ie=jI(x,M,se);break;case">":Ie=np(x,M,se);break;case">=":Ie=ig(x,M,se);break;case"<":Ie=ip(x,M,se);break;case"<=":Ie=og(x,M,se);break;default:throw new TypeError("Invalid operator: "+L)}return Ie}function En(x,L){if(x instanceof En){if(x.loose===L)return x;x=x.value}if(!(this instanceof En))return new En(x,L);n("comparator",x,L),this.loose=L,this.parse(x),this.semver===Fc?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}r.rcompareIdentifiers=function(x,L){return ua(L,x)},r.major=function(x,L){return new Ge(x,L).major},r.minor=function(x,L){return new Ge(x,L).minor},r.patch=function(x,L){return new Ge(x,L).patch},r.compare=Mi,r.compareLoose=function(x,L){return Mi(x,L,!0)},r.rcompare=function(x,L,M){return Mi(L,x,M)},r.sort=function(x,L){return x.sort((function(M,se){return r.compare(M,se,L)}))},r.rsort=function(x,L){return x.sort((function(M,se){return r.rcompare(M,se,L)}))},r.gt=np,r.lt=ip,r.eq=ng,r.neq=jI,r.gte=ig,r.lte=og,r.cmp=op,r.Comparator=En;var Fc={};function Lt(x,L){if(x instanceof Lt)return x.loose===L?x:new Lt(x.raw,L);if(x instanceof En)return new Lt(x.value,L);if(!(this instanceof Lt))return new Lt(x,L);if(this.loose=L,this.raw=x,this.set=x.split(/\s*\|\|\s*/).map((function(M){return this.parseRange(M.trim())}),this).filter((function(M){return M.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+x);this.format()}function Vr(x){return!x||x.toLowerCase()==="x"||x==="*"}function W_(x,L,M,se,Ie,sr,Je,Xr,Bt,_r,ai,Vt,yr){return((L=Vr(M)?"":Vr(se)?">="+M+".0.0":Vr(Ie)?">="+M+"."+se+".0":">="+L)+" "+(Xr=Vr(Bt)?"":Vr(_r)?"<"+(+Bt+1)+".0.0":Vr(ai)?"<"+Bt+"."+(+_r+1)+".0":Vt?"<="+Bt+"."+_r+"."+ai+"-"+Vt:"<="+Xr)).trim()}function F_(x,L){for(var M=0;M<x.length;M++)if(!x[M].test(L))return!1;if(L.prerelease.length){for(M=0;M<x.length;M++)if(n(x[M].semver),x[M].semver!==Fc&&x[M].semver.prerelease.length>0){var se=x[M].semver;if(se.major===L.major&&se.minor===L.minor&&se.patch===L.patch)return!0}return!1}return!0}function sp(x,L,M){try{L=new Lt(L,M)}catch{return!1}return L.test(x)}function sg(x,L,M,se){var Ie,sr,Je,Xr,Bt;switch(x=new Ge(x,se),L=new Lt(L,se),M){case">":Ie=np,sr=og,Je=ip,Xr=">",Bt=">=";break;case"<":Ie=ip,sr=ig,Je=np,Xr="<",Bt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(sp(x,L,se))return!1;for(var _r=0;_r<L.set.length;++_r){var ai=L.set[_r],Vt=null,yr=null;if(ai.forEach((function(Yr){Yr.semver===Fc&&(Yr=new En(">=0.0.0")),Vt=Vt||Yr,yr=yr||Yr,Ie(Yr.semver,Vt.semver,se)?Vt=Yr:Je(Yr.semver,yr.semver,se)&&(yr=Yr)})),Vt.operator===Xr||Vt.operator===Bt||(!yr.operator||yr.operator===Xr)&&sr(x,yr.semver)||yr.operator===Bt&&Je(x,yr.semver))return!1}return!0}En.prototype.parse=function(x){var L=this.loose?a[Dt]:a[Gt],M=x.match(L);if(!M)throw new TypeError("Invalid comparator: "+x);this.operator=M[1],this.operator==="="&&(this.operator=""),M[2]?this.semver=new Ge(M[2],this.loose):this.semver=Fc},En.prototype.toString=function(){return this.value},En.prototype.test=function(x){return n("Comparator.test",x,this.loose),this.semver===Fc||(typeof x=="string"&&(x=new Ge(x,this.loose)),op(x,this.operator,this.semver,this.loose))},En.prototype.intersects=function(x,L){if(!(x instanceof En))throw new TypeError("a Comparator is required");var M;if(this.operator==="")return M=new Lt(x.value,L),sp(this.value,M,L);if(x.operator==="")return M=new Lt(this.value,L),sp(x.semver,M,L);var se=!(this.operator!==">="&&this.operator!==">"||x.operator!==">="&&x.operator!==">"),Ie=!(this.operator!=="<="&&this.operator!=="<"||x.operator!=="<="&&x.operator!=="<"),sr=this.semver.version===x.semver.version,Je=!(this.operator!==">="&&this.operator!=="<="||x.operator!==">="&&x.operator!=="<="),Xr=op(this.semver,"<",x.semver,L)&&(this.operator===">="||this.operator===">")&&(x.operator==="<="||x.operator==="<"),Bt=op(this.semver,">",x.semver,L)&&(this.operator==="<="||this.operator==="<")&&(x.operator===">="||x.operator===">");return se||Ie||sr&&Je||Xr||Bt},r.Range=Lt,Lt.prototype.format=function(){return this.range=this.set.map((function(x){return x.join(" ").trim()})).join("||").trim(),this.range},Lt.prototype.toString=function(){return this.range},Lt.prototype.parseRange=function(x){var L=this.loose;x=x.trim(),n("range",x,L);var M=L?a[Oc]:a[si];x=x.replace(M,W_),n("hyphen replace",x),x=x.replace(a[Br],"$1$2$3"),n("comparator trim",x,a[Br]),x=(x=(x=x.replace(a[X],"$1~")).replace(a[kt],"$1^")).split(/\s+/).join(" ");var se=L?a[Dt]:a[Gt],Ie=x.split(" ").map((function(sr){return(function(Je,Xr){return n("comp",Je),Je=(function(Bt,_r){return Bt.trim().split(/\s+/).map((function(ai){return(function(Vt,yr){n("caret",Vt,yr);var Yr=yr?a[jt]:a[tt];return Vt.replace(Yr,(function(Nn,xe,Fe,pt,Pt){var wr;return n("caret",Vt,Nn,xe,Fe,pt,Pt),Vr(xe)?wr="":Vr(Fe)?wr=">="+xe+".0.0 <"+(+xe+1)+".0.0":Vr(pt)?wr=xe==="0"?">="+xe+"."+Fe+".0 <"+xe+"."+(+Fe+1)+".0":">="+xe+"."+Fe+".0 <"+(+xe+1)+".0.0":Pt?(n("replaceCaret pr",Pt),Pt.charAt(0)!=="-"&&(Pt="-"+Pt),wr=xe==="0"?Fe==="0"?">="+xe+"."+Fe+"."+pt+Pt+" <"+xe+"."+Fe+"."+(+pt+1):">="+xe+"."+Fe+"."+pt+Pt+" <"+xe+"."+(+Fe+1)+".0":">="+xe+"."+Fe+"."+pt+Pt+" <"+(+xe+1)+".0.0"):(n("no pr"),wr=xe==="0"?Fe==="0"?">="+xe+"."+Fe+"."+pt+" <"+xe+"."+Fe+"."+(+pt+1):">="+xe+"."+Fe+"."+pt+" <"+xe+"."+(+Fe+1)+".0":">="+xe+"."+Fe+"."+pt+" <"+(+xe+1)+".0.0"),n("caret return",wr),wr}))})(ai,_r)})).join(" ")})(Je,Xr),n("caret",Je),Je=(function(Bt,_r){return Bt.trim().split(/\s+/).map((function(ai){return(function(Vt,yr){var Yr=yr?a[pe]:a[te];return Vt.replace(Yr,(function(Nn,xe,Fe,pt,Pt){var wr;return n("tilde",Vt,Nn,xe,Fe,pt,Pt),Vr(xe)?wr="":Vr(Fe)?wr=">="+xe+".0.0 <"+(+xe+1)+".0.0":Vr(pt)?wr=">="+xe+"."+Fe+".0 <"+xe+"."+(+Fe+1)+".0":Pt?(n("replaceTilde pr",Pt),Pt.charAt(0)!=="-"&&(Pt="-"+Pt),wr=">="+xe+"."+Fe+"."+pt+Pt+" <"+xe+"."+(+Fe+1)+".0"):wr=">="+xe+"."+Fe+"."+pt+" <"+xe+"."+(+Fe+1)+".0",n("tilde return",wr),wr}))})(ai,_r)})).join(" ")})(Je,Xr),n("tildes",Je),Je=(function(Bt,_r){return n("replaceXRanges",Bt,_r),Bt.split(/\s+/).map((function(ai){return(function(Vt,yr){Vt=Vt.trim();var Yr=yr?a[J]:a[Nr];return Vt.replace(Yr,(function(Nn,xe,Fe,pt,Pt,wr){n("xRange",Vt,Nn,xe,Fe,pt,Pt,wr);var GI=Vr(Fe),Uc=GI||Vr(pt),Nc=Uc||Vr(Pt);return xe==="="&&Nc&&(xe=""),GI?Nn=xe===">"||xe==="<"?"<0.0.0":"*":xe&&Nc?(Uc&&(pt=0),Nc&&(Pt=0),xe===">"?(xe=">=",Uc?(Fe=+Fe+1,pt=0,Pt=0):Nc&&(pt=+pt+1,Pt=0)):xe==="<="&&(xe="<",Uc?Fe=+Fe+1:pt=+pt+1),Nn=xe+Fe+"."+pt+"."+Pt):Uc?Nn=">="+Fe+".0.0 <"+(+Fe+1)+".0.0":Nc&&(Nn=">="+Fe+"."+pt+".0 <"+Fe+"."+(+pt+1)+".0"),n("xRange return",Nn),Nn}))})(ai,_r)})).join(" ")})(Je,Xr),n("xrange",Je),Je=(function(Bt,_r){return n("replaceStars",Bt,_r),Bt.trim().replace(a[Wc],"")})(Je,Xr),n("stars",Je),Je})(sr,L)})).join(" ").split(/\s+/);return this.loose&&(Ie=Ie.filter((function(sr){return!!sr.match(se)}))),Ie=Ie.map((function(sr){return new En(sr,L)}))},Lt.prototype.intersects=function(x,L){if(!(x instanceof Lt))throw new TypeError("a Range is required");return this.set.some((function(M){return M.every((function(se){return x.set.some((function(Ie){return Ie.every((function(sr){return se.intersects(sr,L)}))}))}))}))},r.toComparators=function(x,L){return new Lt(x,L).set.map((function(M){return M.map((function(se){return se.value})).join(" ").trim().split(" ")}))},Lt.prototype.test=function(x){if(!x)return!1;typeof x=="string"&&(x=new Ge(x,this.loose));for(var L=0;L<this.set.length;L++)if(F_(this.set[L],x))return!0;return!1},r.satisfies=sp,r.maxSatisfying=function(x,L,M){var se=null,Ie=null;try{var sr=new Lt(L,M)}catch{return null}return x.forEach((function(Je){sr.test(Je)&&(se&&Ie.compare(Je)!==-1||(Ie=new Ge(se=Je,M)))})),se},r.minSatisfying=function(x,L,M){var se=null,Ie=null;try{var sr=new Lt(L,M)}catch{return null}return x.forEach((function(Je){sr.test(Je)&&(se&&Ie.compare(Je)!==1||(Ie=new Ge(se=Je,M)))})),se},r.validRange=function(x,L){try{return new Lt(x,L).range||"*"}catch{return null}},r.ltr=function(x,L,M){return sg(x,L,"<",M)},r.gtr=function(x,L,M){return sg(x,L,">",M)},r.outside=sg,r.prerelease=function(x,L){var M=fe(x,L);return M&&M.prerelease.length?M.prerelease:null},r.intersects=function(x,L,M){return x=new Lt(x,M),L=new Lt(L,M),x.intersects(L)},r.coerce=function(x){if(x instanceof Ge)return x;if(typeof x!="string")return null;var L=x.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(_){if(t===clearTimeout)return clearTimeout(_);if((t===s||!t)&&clearTimeout)return t=clearTimeout,clearTimeout(_);try{t(_)}catch{try{return t.call(null,_)}catch{return t.call(this,_)}}})(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 _=1;_<arguments.length;_++)I[_-1]=arguments[_];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}}])}));Nde=We.exports.SEMVER_SPEC_VERSION,Bde=We.exports.parse,lT=We.exports.valid,Vde=We.exports.coerce,Hde=We.exports.clean,$de=We.exports.inc,Kde=We.exports.major,qde=We.exports.minor,zde=We.exports.patch,jde=We.exports.prerelease,cT=We.exports.gt,Gde=We.exports.gte,Jde=We.exports.lt,Qde=We.exports.lte,dT=We.exports.eq,Xde=We.exports.neq,Yde=We.exports.cmp,Zde=We.exports.compare,eue=We.exports.rcompare,tue=We.exports.compareIdentifiers,rue=We.exports.rcompareIdentifiers,nue=We.exports.compareBuild,iue=We.exports.sort,oue=We.exports.rsort,sue=We.exports.diff,aue=We.exports.validRange,lue=We.exports.satisfies,cue=We.exports.maxSatisfying,due=We.exports.minSatisfying,uue=We.exports.minVersion,pue=We.exports.gtr,fue=We.exports.ltr,mue=We.exports.outside,hue=We.exports.intersects,gue=We.exports.SemVer,vue=We.exports.Comparator,yue=We.exports.Range});var SA,pT,fT=w(()=>{SA={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:3},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"},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"},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"},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"}},pT=Object.freeze(SA)});function PA(i){return i=i.trim(),i==="*"||mT.test(i)}function nI(i){if(!PA(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 iI(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=xA.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 EA(i,r,e){let t;typeof i=="string"?t=iI(nI(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=iI(nI(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 hT(i,r,e,t,n,o){let s=[];if(typeof t.publisher<"u"&&typeof t.publisher!="string")return s.push([Oe.Error,h(2059,null)]),s;if(typeof t.name!="string")return s.push([Oe.Error,h(2058,null,"name")]),s;if(typeof t.version!="string")return s.push([Oe.Error,h(2060,null,"version")]),s;if(!t.engines)return s.push([Oe.Error,h(2051,null,"engines")]),s;if(typeof t.engines.vscode!="string")return s.push([Oe.Error,h(2052,null,"engines.vscode")]),s;if(typeof t.extensionDependencies<"u"&&!rI(t.extensionDependencies))return s.push([Oe.Error,h(2054,null,"extensionDependencies")]),s;if(typeof t.extensionAffinity<"u"&&!rI(t.extensionAffinity))return s.push([Oe.Error,h(2053,null,"extensionAffinity")]),s;if(typeof t.activationEvents<"u"){if(!rI(t.activationEvents))return s.push([Oe.Error,h(2047,null,"activationEvents")]),s;if(typeof t.main>"u"&&typeof t.browser>"u")return s.push([Oe.Error,h(2048,null,"activationEvents","main","browser")]),s}if(typeof t.extensionKind<"u"&&typeof t.main>"u"&&s.push([Oe.Warning,h(2055,null,"extensionKind")]),typeof t.main<"u"){if(typeof t.main!="string")return s.push([Oe.Error,h(2056,null,"main")]),s;{let c=me(e,t.main);Xg(c,e)||s.push([Oe.Warning,h(2057,null,c.path,e.path)])}}if(typeof t.browser<"u"){if(typeof t.browser!="string")return s.push([Oe.Error,h(2049,null,"browser")]),s;{let c=me(e,t.browser);Xg(c,e)||s.push([Oe.Warning,h(2050,null,c.path,e.path)])}}if(!lT(t.version))return s.push([Oe.Error,h(2061,null)]),s;let a=[];if(!TA(i,r,t,n,a))for(let c of a)s.push([Oe.Error,c]);if(o&&t.enabledApiProposals?.length){let c=[];if(!CA([...t.enabledApiProposals],c))for(let d of c)s.push([Oe.Error,d])}return s}function TA(i,r,e,t,n){return t||typeof e.main>"u"&&typeof e.browser>"u"?!0:_A(i,r,e.engines.vscode,n)}function CA(i,r){if(i.length===0)return!0;let e=Array.isArray(r)?r:void 0,t=(Array.isArray(r)?void 0:r)??pT,n=[],o=YE(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(2045,null,n[0])):e.push(h(2046,null,n.slice(0,n.length-1).map(s=>`'${s}'`).join(", "),n[n.length-1]))),!1):!0}function _A(i,r,e,t=[]){let n=iI(nI(e));if(!n)return t.push(h(2065,null,e)),!1;if(n.majorBase===0){if(!n.majorMustEqual||!n.minorMustEqual)return t.push(h(2063,null,e)),!1}else if(!n.majorMustEqual)return t.push(h(2064,null,e)),!1;return EA(i,r,n)?!0:(t.push(h(2062,null,i,e)),!1)}function rI(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,xA,gT=w(()=>{yt();uu();Ee();tI();Hu();fT();mT=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,xA=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});function vT(i,r,e,t){try{kA(i,r,e,t)}catch(n){i.error(n?.message??n)}return r}function kA(i,r,e,t){let n=(o,s,a)=>{let l=o[s];if(Ae(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(2030,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(Ke(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 yT=w(()=>{De();Ee()});var wT,IT,Ku,ia,sc,ac,Ch,oI=w(()=>{Ht();ge();In();et();Be();Zn();aT();$();He();Te();Z();yt();tI();uu();le();Ee();dn();eI();Hu();gT();$e();ne();oe();Yt();Q();yd();$u();Yn();Xn();yT();(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})(wT||={});IT=O("IExtensionsScannerService"),Ku=class extends k{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(ac,o)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(ac,o)),this.extensionsScanner=this._register(this.instantiationService.createInstance(sc)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=oT(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 na&&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=>ra(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 na&&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(),lr(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&&cT(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(dT(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 xh;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(Et(V(rt.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),it(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??hn),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 ia(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}}};Ku=T([g(4,Cr),g(5,cs),g(6,Le),g(7,N),g(8,Kr),g(9,Re),g(10,Tt),g(11,Wt)],Ku);ia=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 td(r.location,e.location)&&r.mtime===e.mtime&&td(r.applicationExtensionslocation,e.applicationExtensionslocation)&&r.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&r.profile===e.profile&&un(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&&wT.equals(r.translations,e.translations)}},sc=class extends k{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&&$r(o.resource).indexOf(".")===0)return null;let s=new ia(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 it(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 ia(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 it(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}:`,lr(t)),[]}}async scanExtension(e,t){let n=[],o=!0,s;try{s=await this.scanExtensionManifest(e.location)}catch(m){if(t){n.push([Oe.Error,lr(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=Ph);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=iT(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,ia.createNlsConfiguration(e))}catch(m){this.logService.warn("Failed to translate manifest",lr(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=ZE([...s.enabledApiProposals])),f}validate(e,t){let n=e.isValid,o=this.environmentService.isBuilt&&this.extensionsEnabledWithApiProposalVersion.includes(e.identifier.id.toLowerCase()),s=hT(t.productVersion,t.productDate,t.location,e.manifest,e.isBuiltin,o);for(let[a,l]of s)a===Oe.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(2031,null,t.path,s.message))),s}let o;try{o=JSON.parse(n)}catch(s){let a=[];Dn(n,a);for(let l of a)this.logService.error(this.formatMessage(e,h(2033,null,t.path,l.offset,l.length,Eh(l.error))));throw s}if(Ko(o)!=="object"){let s=this.formatMessage(e,h(2034,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(2035,null,o.default?.path,Eh(c.error))))}),t;if(Ko(o)!=="object")return this.logService.error(this.formatMessage(e,h(2032,null,o.default?.path))),t;let l=o.values||Object.create(null);return vT(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(2035,null,d?.path,Eh(f.error))))})},a=d=>{this.logService.error(this.formatMessage(e,h(2032,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=Dn(u,f);return f.length>0?(s(d,f),{values:void 0,default:o}):Ko(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=Dn(f,m);return m.length>0?(s(u.localized,m),{values:void 0,default:u.original}):Ko(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 Dn(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}`}};sc=T([g(0,cs),g(1,Tt),g(2,Le),g(3,Re),g(4,Kr),g(5,N)],sc);ac=class extends sc{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 xr(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&&ia.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:Jn(n.input)}}catch(t){jr(t)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,lr(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,lr(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(!un(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?XE:QE)}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}};ac=T([g(1,Cr),g(2,cs),g(3,Tt),g(4,Le),g(5,Re),g(6,Kr),g(7,N)],ac);Ch=class extends Ku{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(yg)try{let m=await this.fileService.readFile(E.file(yg));return JSON.parse(m.value.toString())}catch{}return Object.create(null)})()}getTranslations(r){return this.translationsPromise}}});var lc,bT=w(()=>{le();dn();$u();oI();$e();ne();oe();Yt();Xn();Yn();lc=class extends Ch{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)}};lc=T([g(0,Cr),g(1,cs),g(2,Le),g(3,N),g(4,Mr),g(5,Re),g(6,Tt),g(7,Wt)],lc)});var cc,ST=w(()=>{$();_t();Ei();Ho();Tr();ge();Rt();cc=class extends k{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 ur(()=>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??Oo(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)}};cc=T([g(0,ye),g(1,Wr),g(2,Ne)],cc)});var _h,xT=w(()=>{Q();$();Ws();_h=class extends k{constructor(e,t,n){super();this.storageMainService=e;this.userDataProfilesService=t;this.logService=n;let o=this._register(new Zt);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 re;return e.add(P.debounce(this.storageMainService.applicationStorage.onDidChangeStorage,(t,n)=>(t?t.push(n.key):t=[n.key],t),100)(t=>this.onDidChangeApplicationStorage(t))),e.add(P.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(to)?[this.userDataProfilesService.defaultProfile]:[],n=[];if(e=e.filter(o=>o!==to),e.length){let o=Hf(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(to)&&t.push(s.profile);let a=s.keys.filter(l=>l!==to);if(a.length){let l=Hf(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 PT(i,r){let e=i.getItem(Gf);return(typeof e!="string"||B&&e==="6c9d2bc8f91b89624add29c0abeae7fb42bf539fa1cdb2e3e57cd668fa9bcead")&&(e=await P0(r.error.bind(r))),e}async function ET(i,r){let e=i.getItem(Jf);return typeof e!="string"&&(e=await E0(r.error.bind(r))),e}async function sI(i,r){let e=i.getItem(Yd);return typeof e!="string"&&(e=await Im(r.error.bind(r))),e}var TT=w(()=>{Z();xu();mr()});async function CT(i,r){r.trace("Resolving machine identifier...");let e=await PT(i,r);return i.setItem(Gf,e),r.trace(`Resolved machine identifier: ${e}`),e}async function _T(i,r){r.trace("Resolving SQM identifier...");let e=await ET(i,r);return i.setItem(Jf,e),r.trace(`Resolved SQM identifier: ${e}`),e}async function kT(i,r){r.trace("Resolving devDevice identifier...");let e=await sI(i,r);return i.setItem(Yd,e),r.trace(`Resolved devDevice identifier: ${e}`),e}async function RT(i,r){let e=await Im(r.error.bind(r)),t=await sI(i,r);e!==t&&i.setItem(Yd,e)}var DT=w(()=>{xu();mr();TT()});var dc,LT=w(()=>{oe();Yn();Xn();$u();$e();dn();le();dc=class extends oc{constructor(r,e,t,n,o){super(E.file(r.extensionsPath),e,t,n,o)}};dc=T([g(0,Mr),g(1,Le),g(2,Cr),g(3,Tt),g(4,N)],dc)});var kh,AT=w(()=>{Lr();le();oe();kh=class{constructor(r){this.loggerService=r;this.loggers=new ft}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 $d(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)qd(t,n,o)}}});var aI,uc,qu,MT=w(()=>{$();ne();oe();Rt();Vs();mr();Ii();Q();ge();_t();aI=O("utilityProcessWorker"),uc=class extends k{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 $t;return P.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 rr({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))}};uc=T([g(0,N),g(1,Ne),g(2,lt),g(3,ye)],uc);qu=class extends k{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 zo(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,N),g(1,Ne),g(2,lt),g(3,ye)],qu)});var OT,WT=w(()=>{OT="utilityProcessWorker"});var Cfe,RA,lI,cI,_fe,pc=w(()=>{ne();Gn();Cfe=O("ptyService"),RA={Backend:"workbench.contributions.terminal.processBackend"},lI=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()??""}};St.add(RA.Backend,new lI);cI=O("localPtyService"),_fe=O("terminalLogService")});var fc,FT=w(()=>{Ft();Sf();_t();oe();ss();pc();Vs();kv();Qn();$();Q();In();De();nt();He();fc=class extends k{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())),st.on("vscode:createPtyHostMessageChannel",(a,l)=>this._onWindowConnection(a,l)),this._register(G(()=>{st.removeHandler("vscode:createPtyHostMessageChannel")}))}start(){this.utilityProcess=new gr(this._logService,os,this._lifecycleMainService);let e=nx(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 ja(n,"ptyHost"),s=new re;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={...hr(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&&Hn(t)&&(e.VSCODE_LATENCY=String(t));let n=this._configurationService.getValue("terminal.integrated.developer.ptyHost.startupDelay");return n&&Hn(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])}};fc=T([g(1,he),g(2,_e),g(3,ye),g(4,N)],fc)});var Dh,UT=w(()=>{le();Q();oe();$();Dh=class extends k{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 mc,NT=w(()=>{ge();vt();Q();$();oe();mc=class extends k{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())dt(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 qe;ot(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),dt(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),n(t)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};mc=T([g(1,N)],mc)});function BT(i,r){let e=[{name:null,description:h(2352,null)}];return e.push(...i.map(t=>({name:t.profileName,description:DA(t)}))),r&&e.push(...r.map(t=>({name:t.title,description:LA(t)}))),{values:e.map(t=>t.name),markdownDescriptions:e.map(t=>t.description)}}function DA(i){let r=`$(${Zl.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:ut.terminal.id}) ${i.profileName}
- path: ${i.path}`;return i.args&&(Ae(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 LA(i){return`$(${Zl.isThemeIcon(i.icon)?i.icon.id:i.icon?i.icon:ut.terminal.id}) ${i.title}
- extensionIdentifier: ${i.extensionIdentifier}`}var VT=w(()=>{Nu();le();Ee();qw();De()});function pI(i){let r=i===2?"linux":i===1?"osx":"windows";return h(2331,null,hp(i),'```json\n"terminal.integrated.profile.'+r+'": {\n  "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function HT(){St.as(tr.Configuration).registerConfiguration(OA),WA()}function WA(i,r){let e=St.as(tr.Configuration),t;i&&(t=BT(i?.profiles,r));let n=fI;fI={id:"terminal",order:100,title:h(2335,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:h(2326,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(2327,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(2328,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:[fI],remove:n?[n]:[]})}var AA,MA,hc,dI,uI,OA,fI,$T=w(()=>{Nu();Z();Ee();zi();Gn();pc();VT();AA={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},MA={type:"string",enum:Array.from(Kw(),i=>i.id),markdownEnumDescriptions:Array.from(Kw(),i=>`$(${i.id})`)},hc={args:{description:h(2336,null),type:"array",items:{type:"string"}},icon:{description:h(2339,null),...MA},color:{description:h(2337,null),...AA},env:{markdownDescription:h(2338,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},dI={type:"object",required:["path"],properties:{path:{description:h(2347,null),type:["string","array"],items:{type:"string"}},overrideName:{description:h(2346,null),type:"boolean"},...hc}},uI={type:"object",required:["path"],properties:{path:{description:h(2334,null),type:["string"],items:{type:"string"}},...hc}};OA={id:"terminal",order:100,title:h(2335,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:h(2322,null),type:["object","null"],default:null,anyOf:[{type:"null"},uI],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:h(2323,null),type:["object","null"],default:null,anyOf:[{type:"null"},uI],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:h(2324,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},uI],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:pI(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:ut.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:ut.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:ut.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:h(2351,null),enum:["PowerShell","Git Bash"]},...hc}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2349,null),type:"string"},id:{description:h(2348,null),type:"string"},title:{description:h(2350,null),type:"string"},...hc}},{type:"null"},dI]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:pI(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:ut.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:ut.terminalTmux.id},pwsh:{path:"pwsh",icon:ut.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2344,null),type:"string"},id:{description:h(2343,null),type:"string"},title:{description:h(2345,null),type:"string"},...hc}},{type:"null"},dI]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:pI(2),type:"object",default:{bash:{path:"bash",icon:ut.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:ut.terminalTmux.id},pwsh:{path:"pwsh",icon:ut.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:h(2341,null),type:"string"},id:{description:h(2340,null),type:"string"},title:{description:h(2342,null),type:"string"},...hc}},{type:"null"},dI]}},"terminal.integrated.useWslProfiles":{description:h(2333,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:h(2329,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:h(2330,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:h(2332,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:h(2325,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as zT from"fs";import*as jT from"child_process";function GT(i,r,e,t,n=process.env,o,s,a,l){return o=o||{existsFile:Qt.existsFile,readFile:zT.promises.readFile},W?FA(e,o,n,s,t.getValue("terminal.integrated.useWslProfiles")!==!1,i&&Ke(i)?{...i}:t.getValue("terminal.integrated.profiles.windows"),Ae(r)?r:t.getValue("terminal.integrated.defaultProfile.windows"),l,a):KA(o,s,e,i&&Ke(i)?{...i}:t.getValue(ie?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),Ae(r)?r:t.getValue(ie?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,n)}async function FA(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 hf()>=19041;await NA(a);let f=new Map;if(i){f.set("PowerShell",{source:"PowerShell",icon:ut.terminalPowershell,isAutoDetected:!0}),f.set("Windows PowerShell",{path:`${d}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:ut.terminalPowershell,isAutoDetected:!0}),f.set("Git Bash",{source:"Git Bash",icon:ut.terminalGitBash,isAutoDetected:!0}),f.set("Command Prompt",{path:`${d}\\cmd.exe`,icon:ut.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:ut.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})}QT(o,f);let m=await JT(f.entries(),s,r,e,t,l);if(i&&n&&u)try{let y=await HA(`${d}\\wsl.exe`,s);for(let v of y)(!o||!Object.prototype.hasOwnProperty.call(o,v.profileName))&&m.push(v)}catch{KT&&(t?.trace("WSL is not installed, so could not detect WSL profiles"),KT=!1)}return m}async function JT(i,r,e,t=process.env,n,o){let s=[];for(let[a,l]of i)s.push(UA(a,l,r,e,t,n,o));return(await Promise.all(s)).filter(a=>!!a)}async function UA(i,r,e,t,n=process.env,o,s){if(r===null)return;let a,l,c;if(sn(r,{source:!0})){let m=zu?.get(r.source);if(!m)return;a=m.paths,l=r.args||m.args,r.icon?c=qT(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=qT(r.icon);let d;if(s){let m=a.map(v=>Ae(v)?v:v.path),y=await s(m);d=new Array(a.length);for(let v=0;v<a.length;v++)Ae(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(Ae(r.requiresPath)?m=r.requiresPath:(m=r.requiresPath.path,r.requiresPath.isUnsafe&&(u=m)),!await t.existsFile(m))return}let f=await Lh(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 qT(i){return Ae(i)?{id:i}:i}async function NA(i){if(zu&&!i)return;let[r,e]=await Promise.all([BA(),i||VA()]);zu=new Map,zu.set("Git Bash",{profileName:"Git Bash",paths:r,args:["--login","-i"]}),zu.set("PowerShell",{profileName:"PowerShell",paths:e,icon:ut.terminalPowershell})}async function BA(){let i=new Set,r=await Ru("git.exe");if(r){let n=Qe(r);i.add(nn(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 VA(){let i=[];for await(let r of tw())i.push(r.exePath);return i}async function HA(i,r){let e=[],t=await new Promise((o,s)=>{jT.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:$A(o),isAutoDetected:!1};e.push(a)}return e}function $A(i){return i.includes("Ubuntu")?ut.terminalUbuntu:i.includes("Debian")?ut.terminalDebian:ut.terminalLinux}async function KA(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 QT(t,l),await JT(l.entries(),n,i,a,r,s)}function QT(i,r){if(i)for(let[e,t]of Object.entries(i))t===null||!Ke(t)||!sn(t,{path:!0})&&!sn(t,{source:!0})?r.delete(e):(t.icon=t.icon||r.get(e)?.icon,r.set(e,t))}async function Lh(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 Lh(i,r,e,t,n,o,s,a,l);let u=!Ae(d)&&d.isUnsafe,f=Ae(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(Sp):void 0,b=await Ru(f,void 0,v,void 0,t.existsFile);return b?(m.path=b,m.isFromPath=!0,m):Lh(i,r,e,t,n,o)}return await t.existsFile(Et(f))?m:Lh(i,r,e,t,n,o,s,a,l)}var zu,KT,XT=w(()=>{Nu();Te();Z();Dl();De();Xt();rw();pc();za();KT=!0});var gc,YT=w(()=>{Q();$();Z();wi();nt();oe();UT();_m();NT();pc();$T();XT();sw();ys();gc=class extends k{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;HT(),this._register(this._ptyHostStarter),this._register(G(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new mc(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(P.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 Ll(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/,"")),Xe.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=Xe.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 Dh(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 an,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)??Cm(e??Jt,process.env)}async getProfiles(e,t,n,o=!1){let s=await this._resolveShellEnv();return GT(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)}};gc=T([g(1,he),g(2,N),g(3,_n)],gc)});var mI,ZT,Ah,eC=w(()=>{mI="request",ZT="remoteResourceHandler",Ah=class{async routeCall(r,e,t){if(e!==mI)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 zA}from"electron";var vc,tC=w(()=>{Z();nt();Ft();_t();oe();wn();Fo();Ei();Gw();vc=class extends Bu{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=zA.fromWebContents(this.webContents);t&&(this.logService.trace("[aux window] Claimed browser window instance"),this.setWin(t,e),t.setMenu(null),(W||ie)&&Wo(this.configurationService,e?.titleBarStyle==="hidden"?"custom":void 0)&&t.setAutoHideMenuBar(!0),this.lifecycleMainService.registerAuxWindow(this))}matches(e){return this.webContents.id===e.id}};vc=T([g(1,_e),g(2,N),g(3,he),g(4,Ct),g(5,ye)],vc)});import{BrowserWindow as jA,app as GA}from"electron";var yc,rC=w(()=>{Q();$();He();Qn();tC();ne();oe();Ei();Rt();yc=class extends k{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(){GA.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 re;o.add(P.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(P.fromNodeEventEmitter(t,"closed")(()=>o.dispose()))}}),st.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(il,t,n,{preload:rt.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=ol.validateWindowState(this.logService,t)??Ex();return this.logService.trace("[aux window] using window state",s),{state:s,overrides:n}}registerWindow(e){let t=new re,n=this.instantiationService.createInstance(vc,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}))),P.once(n.onDidClose)(()=>t.dispose())}getWindowByWebContents(e){let t=this.windows.get(e.id);return t?.matches(e)?t:void 0}getFocusedWindow(){let e=jA.getFocusedWindow();if(e)return this.getWindowByWebContents(e.webContents)}getLastActiveWindow(){return jf(Array.from(this.windows.values()))}getWindows(){return Array.from(this.windows.values())}};yc=T([g(0,Wt),g(1,N)],yc)});var hI,nC,iC=w(()=>{ne();hI=O("INativeMcpDiscoveryHelperService"),nC="NativeMcpDiscoveryHelper"});import{homedir as JA}from"os";var Mh,oC=w(()=>{Z();le();Mh=class{constructor(){}load(){return Promise.resolve({platform:Fi,homedir:E.file(JA()),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")})}uriFromEnvVariable(r){let e=process.env[r];if(e)return E.file(e)}}});var ju,sC,aC,gI=w(()=>{ne();ju=O("IMcpGatewayService"),sC="mcpGateway",aC="mcpGatewayToolBroker"});function QA(i){return"method"in i&&"id"in i&&(typeof i.id=="string"||typeof i.id=="number")}function vI(i){return sn(i,{id:!0,result:!0})||sn(i,{id:!0,error:!0})}function yI(i){return sn(i,{method:!0})&&!sn(i,{id:!0})}function XA(i){return typeof i=="object"&&i!==null&&"then"in i&&typeof i.then=="function"}var mn,wc,wI=w(()=>{ge();vt();Be();$();De();mn=class extends Error{constructor(e,t,n){super(t);this.code=e;this.data=n}},wc=class i extends k{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 bt);let o=this._nextRequestId++,s=new $t,a=new qe;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(vI(e)){sn(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(QA(e))return this._handleRequest(e);yI(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 mn(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 qe;this._register(G(()=>t.dispose(!0)));try{let n=this._handlers.handleRequest(e,t.token),o=XA(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 mn?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 Gu(i,r){let e=i.match(lC);if(!e)return i;let[,t,n,o]=e;return`${t}${n}-${r}${o}`}function rM(i){let r=i.match(lC);if(!r)throw new mn(oa,`Invalid resource URI: ${i}`);let[,e,t,n]=r,o=t.match(/^(.*)-([0-9]+)$/);if(!o)throw new mn(oa,`Invalid gateway resource URI (no server index): ${i}`);let[,s,a]=o;return{serverIndex:parseInt(a,10),originalUri:`${e}${s}${n}`}}function nM(i,r){return i.map(e=>e.type==="resource_link"?{...e,uri:Gu(e.uri,r)}:e.type==="resource"?{...e,resource:{...e.resource,uri:Gu(e.resource.uri,r)}}:e)}function cC(i){let r=Array.isArray(i)?i[0]:i;return!r||!sn(r,{method:!0})?!1:r.method==="initialize"}var YA,ZA,eM,tM,oa,lC,Oh,dC=w(()=>{wI();$();De();YA="2025-11-25",ZA=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],eM=-32600,tM=-32601,oa=-32602,lC=/^([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)([^/?#]*)(.*)/;Oh=class extends k{constructor(e,t,n,o){super();this.id=e;this._logService=t;this._onDidDispose=n;this._toolInvoker=o;this._sseClients=new Set;this._lastEventId=0;this._isInitialized=!1;this._rpc=this._register(new wc(s=>this._handleOutgoingMessage(s),{handleRequest:s=>this._handleRequest(s),handleNotification:s=>this._handleNotification(s)})),this._register(this._toolInvoker.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._toolInvoker.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(vI(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(yI(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 mn(eM,"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 mn(tM,`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&&ZA.includes(n)?n:YA;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 mn(oa,"Missing tool call params");if(t.arguments&&typeof t.arguments!="object")throw new mn(oa,"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{result:o,serverIndex:s}=await this._toolInvoker.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,content:nM(o.content,s)}}catch(o){throw this._logService.error(`[McpGateway][session ${this.id}] Tool '${t.name}' invocation failed`,o),new mn(oa,String(o))}}_handleListTools(){return this._toolInvoker.listTools().then(e=>(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._toolInvoker.listResources(),t=[];for(let{serverIndex:n,resources:o}of e)for(let s of o)t.push({...s,uri:Gu(s.uri,n)});return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${t.length} resource(s) from ${e.length} server(s)`),{resources:t}}async _handleReadResource(e){let t=typeof e.params=="object"&&e.params?e.params:void 0;if(!t||typeof t.uri!="string")throw new mn(oa,"Missing resource URI");let{serverIndex:n,originalUri:o}=rM(t.uri);this._logService.debug(`[McpGateway][session ${this.id}] Reading resource '${o}' from server ${n}`);try{let s=await this._toolInvoker.readResource(n,o);return this._logService.debug(`[McpGateway][session ${this.id}] Resource read returned ${s.contents.length} content(s)`),{contents:s.contents.map(a=>({...a,uri:Gu(a.uri,n)}))}}catch(s){throw this._logService.error(`[McpGateway][session ${this.id}] Resource read failed for '${o}'`,s),new mn(oa,String(s))}}async _handleListResourceTemplates(){let e=await this._toolInvoker.listResourceTemplates(),t=[];for(let{serverIndex:n,resourceTemplates:o}of e)for(let s of o)t.push({...s,uriTemplate:Gu(s.uriTemplate,n)});return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${t.length} resource template(s) from ${e.length} server(s)`),{resourceTemplates:t}}}});var Ic,II,uC=w(()=>{ge();wI();$();le();Kt();oe();dC();Ic=class extends k{constructor(e){super();this._gateways=new Map;this._gatewayToClient=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");let n=Ce();if(!t)throw new Error("[McpGatewayService] Tool invoker is required to create gateway");let o=new II(n,this._logger,t);return this._gateways.set(n,o),this._logger.info(`[McpGatewayService] Active gateways: ${this._gateways.size}`),e?(this._gatewayToClient.set(n,e),this._logger.info(`[McpGatewayService] Created gateway at http://127.0.0.1:${this._port}/gateway/${n} for client ${e}`)):this._logger.warn(`[McpGatewayService] Created gateway without client tracking at http://127.0.0.1:${this._port}/gateway/${n}`),{address:E.parse(`http://127.0.0.1:${this._port}/gateway/${n}`),gatewayId:n}}async disposeGateway(e){let t=this._gateways.get(e);if(!t){this._logger.warn(`[McpGatewayService] Attempted to dispose unknown gateway: ${e}`);return}t.dispose(),this._gateways.delete(e),this._gatewayToClient.delete(e),this._logger.info(`[McpGatewayService] Disposed gateway: ${e} (remaining: ${this._gateways.size})`),this._gateways.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}: [${t.join(", ")}]`);for(let n of t)this._gateways.get(n)?.dispose(),this._gateways.delete(n),this._gatewayToClient.delete(n);this._gateways.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 $t;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 gateways)"),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 gateways: ${this._gateways.size})`),o.length>=2&&o[0]==="gateway"){let s=o[1],a=this._gateways.get(s);if(a){a.handleRequest(e,t);return}}this._logger.warn(`[McpGatewayService] ${e.method} ${n.pathname}: gateway not found`),t.writeHead(404,{"Content-Type":"application/json"}),t.end(JSON.stringify({error:"Gateway not found"}))}dispose(){this._logger.info(`[McpGatewayService] Disposing service (gateways: ${this._gateways.size})`),this._stopServer();for(let e of this._gateways.values())e.dispose();this._gateways.clear(),super.dispose()}};Ic=T([g(0,_n)],Ic);II=class i extends k{constructor(e,t,n){super();this.gatewayId=e;this._logger=t;this._toolInvoker=n;this._sessions=new Map}static{this.SessionHeaderName="mcp-session-id"}handleRequest(e,t){if(this._logger.debug(`[McpGateway][route ${this.gatewayId}] ${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.gatewayId}] 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.gatewayId}] 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.gatewayId}] 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.gatewayId}] Handling POST`);let o;try{o=JSON.parse(n)}catch(l){this._logger.warn(`[McpGateway][route ${this.gatewayId}] JSON parse error: ${l instanceof Error?l.message:String(l)}`),t.writeHead(400,{"Content-Type":"application/json"}),t.end(JSON.stringify(wc.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.gatewayId}] 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.gatewayId}] 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.gatewayId}] Session not found: ${e}`),this._respondHttpError(n,404,"Session not found");return}return a}if(!cC(t)){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let o=Ce();this._logger.info(`[McpGateway][route ${this.gatewayId}] Creating new session ${o}`);let s=new Oh(o,this._logger,()=>{this._sessions.delete(o)},this._toolInvoker);return this._sessions.set(o,s),s}_respondHttpError(e,t,n){this._logger.debug(`[McpGateway][route ${this.gatewayId}] 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 iM(i,r){return i.getChannel(aC,e=>e.ctx===r)}var bc,pC=w(()=>{$();oe();gI();bc=class extends k{constructor(e,t,n){super();this._ipcServer=e;this.mcpGatewayService=t;this._loggerService=n;this._register(e.onDidRemoveConnection(o=>{this._loggerService.getLogger("mcpGateway")?.info(`[McpGateway][Channel] Client disconnected: ${o.ctx}, cleaning up gateways`),t.disposeGatewaysForClient(o.ctx)}))}listen(e,t){throw new Error("Invalid listen")}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=iM(this._ipcServer,e),a=await this.mcpGatewayService.createGateway(e,{onDidChangeTools:s.listen("onDidChangeTools"),onDidChangeResources:s.listen("onDidChangeResources"),listTools:()=>s.call("listTools"),callTool:(l,c)=>s.call("callTool",{name:l,args:c}),listResources:()=>s.call("listResources"),readResource:(l,c)=>s.call("readResource",{serverIndex:l,uri:c}),listResourceTemplates:()=>s.call("listResourceTemplates")});return o?.info(`[McpGateway][Channel] Gateway created: ${a.gatewayId} for client ${e}`),a}case"disposeGateway":{o?.info(`[McpGateway][Channel] Disposing gateway: ${n} for client ${e}`),await this.mcpGatewayService.disposeGateway(n);return}}throw new Error(`Invalid call: ${t}`)}};bc=T([g(1,ju),g(2,_n)],bc)});var bI,tve,fC=w(()=>{ne();bI=O("IWebContentExtractorService"),tve=O("ISharedWebContentExtractorService")});function SI(i){let r=typeof i=="string"?E.parse(i):i;return r.with({path:r.path.replace(/\/+$/,""),query:null,fragment:null})}function mC(i,r){let e=SI(i),t;if(/^[^./:]*:\/\//.test(r))t=SI(r);else{if(e.scheme!=="http"&&e.scheme!=="https")return!1;t=SI(`${e.scheme}://${r}`)}return xI(e.scheme,t.scheme)&&xI(e.authority,t.authority,!0)&&(t.path==="/"||xI(e.path,t.path))}function xI(i,r,e=!1){let t=Array.from({length:i.length+1}).map(()=>Array.from({length:r.length+1}).map(()=>{}));return fo(t,e,i,r,0,0)}function fo(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(fo(i,r,e,t,n+1,o+1)),t[o]+t[o+1]==="*."&&(["/",":"].includes(e[n])||s.push(fo(i,r,e,t,n+1,o)),s.push(fo(i,r,e,t,n,o+2))),t[o]==="*"&&(n+1===e.length?s.push(fo(i,r,e,t,n+1,o+1)):s.push(fo(i,r,e,t,n+1,o)),s.push(fo(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(fo(i,r,e,t,a,o+2))}else s.push(fo(i,r,e,t,n,o+2));return i[n][o]=s.some(a=>a===!0)}var hC=w(()=>{le()});function vC(i,r){if(i=E.parse(gC(i)),r=r.map(gC),lM(i.authority))return!0;for(let e=0;e<r.length;e++)if(r[e]==="*"||mC(i,r[e]))return!0;return!1}function gC(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 oM.test(i)||sM.test(i)||aM.test(i)}var oM,sM,aM,yC=w(()=>{le();hC();oM=/^(.+\.)?localhost(:\d+)?$/i,sM=/^127.0.0.1(:\d+)?$/,aM=/^\[::1\](:\d+)?$/});var Wh,wC=w(()=>{Lr();yt();Wh=class i{constructor(){this._cache=new pi(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}${Ra.getComparisonKey(r)}`}}});function cM(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 bC(i,r){let e=cM(r);if(e.length===0)return"";let t=[],n=[];for(let s of e){let a=dM(i,s),l=yM(s);a.trim().length>0&&t.push(a),n.push(...l)}return t.join(`

`)+(n.length>0?`

## Additional Links
`+n.join(`
`):"")}function dM(i,r){let e=[];return mo(i,r,e,0,!0),e.join("")}function mo(i,r,e,t,n){switch(ho(r.node)){case"navigation":return;case"heading":mM(i,r,e,t);return;case"paragraph":fM(i,r,e,t,n);return;case"list":e.push(`
`);for(let s of r.children)mo(i,s,e,t+1,!0);e.push(`
`);return;case"ListMarker":e.push(Ai(r.node,n));return;case"listitem":{let s=[];for(let l of r.children)mo(i,l,s,t+1,!0);let a=EI(r.node)>1?" ".repeat(EI(r.node)):"";e.push(`${a}${s.join("").trim()}
`);return}case"link":if(!SC(r)){let s=Ai(r.node,n),a=TI(r.node);pM(i,r.node)?e.push(s):e.push(`[${s}](${a})`)}return;case"StaticText":{let s=Ai(r.node,n);s&&e.push(s);break}case"image":{let s=Ai(r.node,n)||"Image",a=uM(r.node);a?e.push(`![${s}](${a})

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

`);break}case"DescriptionList":hM(i,r,e,t);return;case"blockquote":e.push("> "+Ai(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"+Ai(r.node,!1)+"\n```\n\n");break;case"table":gM(r,e);return}for(let s of r.children)mo(i,s,e,t+1,n)}function ho(i){return i.role?.value||""}function Ai(i,r){let e=i.name?.value||i.value?.value||"";if(!r||e.length<=PI)return e;let t=e.split(""),n=-1;for(let o=1;o<t.length;o++)t[o]===" "&&(n=o),o%PI===0&&n!==-1&&(t[n]=`
`,n=o);return t.join("")}function EI(i){let r=i.properties?.find(e=>e.name==="level");return r?Math.min(Number(r.value.value)||1,6):1}function TI(i){return i.properties?.find(e=>e.name==="url")?.value.value||"#"}function uM(i){return i.properties?.find(e=>e.name==="url")?.value.value||null}function SC(i){let r=i;for(;r;){let e=ho(r.node);if(["navigation","menu","menubar"].includes(e))return!0;r=r.parent}return!1}function pM(i,r){let e=TI(r);try{let t=E.parse(e);return t.scheme===i.scheme&&t.authority===i.authority&&t.path===i.path}catch{return!1}}function fM(i,r,e,t,n){e.push(`
`);for(let o of r.children)mo(i,o,e,t+1,n);e.push(`

`)}function mM(i,r,e,t){e.push(`
`);let n=EI(r.node);e.push(`${"#".repeat(n)} `);for(let o of r.children)ho(o.node)==="StaticText"?e.push(Ai(o.node,!1)):mo(i,o,e,t+1,!1);e.push(`

`)}function hM(i,r,e,t){e.push(`
`);for(let n of r.children)if(ho(n.node)==="term"){e.push("- **");for(let o of n.children)mo(i,o,e,t+1,!0);e.push("** ")}else if(ho(n.node)==="definition"){for(let o of n.children)mo(i,o,e,t+1,!0);e.push(`
`)}e.push(`
`)}function IC(i){return i==="cell"||i==="gridcell"||i==="columnheader"||i==="rowheader"}function gM(i,r){r.push(`
`);let e=i.children.filter(t=>ho(t.node).includes("row"));if(e.length>0){let t=e[0].children.filter(o=>IC(ho(o.node))),n=t.map(o=>Ai(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=>IC(ho(l.node))).map(l=>Ai(l.node,!1)||" ");r.push("| "+a.join(" | ")+` |
`)}}r.push(`
`)}function vM(i,r,e,t){let n=[];for(let s of r.children)mo(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>PI&&(e.push(`
`),s=0),e.push(a),e.push("`")}}function yM(i){let r=[];return xC(i,r),r}function xC(i,r){if(ho(i.node)==="link"&&SC(i)){let t=Ai(i.node,!0),n=TI(i.node),o=i.node.description?.value||"";r.push(`- [${t}](${n})${o?" - "+o:""}`)}for(let t of i.children)xC(t,r)}var PI,PC=w(()=>{le();PI=80});var Fh,EC=w(()=>{ge();vt();va();$();le();Kt();PC();Fh=class i extends k{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 Cn);this._timeout=this._register(new id);this._idleDebounceTimer=this._register(new id);this._onResult=e=>{};this._didFinishLoad=!1;this._window=e({width:800,height:600,show:!1,webPreferences:{partition:Ce(),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=Bi(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 ev(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 qe;try{await ev((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 bC(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 wM}from"electron";var Sc,TC=w(()=>{ge();oe();yC();wC();EC();Sc=class{constructor(r){this._logger=r;this._limiter=new nd(3);this._webContentsCache=new Wh}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 Fh(o=>new wM(o),this._logger,r,e,o=>vC(o,e?.trustedDomains||[]));try{let o=await n.load();return this._webContentsCache.add(r,e,o),o}finally{n.dispose()}}};Sc=T([g(0,N)],Sc)});var CC,Ju,_C=w(()=>{Ht();Be();$();In();$e();(r=>{function i(e,t){return e.callstack<t.callstack?-1:e.callstack>t.callstack?1:0}r.compare=i})(CC||={});Ju=class i{constructor(r,e=i.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new re;this._telemetryService=r,this._flushDelay=e;let t=ga.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),on.isErrorNoTelemetry(r)||r instanceof qt||Pp.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:fy(r);e&&this._enqueue({msg:t,callstack:e})}_enqueue(r){let e=Ab(this._buffer,r,CC.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 sa,kC=w(()=>{Be();_C();mr();sa=class extends Ju{constructor(e,t){super(t);this.logService=e}installErrorListeners(){Ep(e=>this.onUnexpectedError(e)),process.on("uncaughtException",e=>{Cb(e)||Ze(e)}),process.on("unhandledRejection",e=>Ze(e))}onUnexpectedError(e){this.logService.error(`[uncaught exception in main]: ${e}`),e.stack&&this.logService.error(e.stack)}};sa=T([g(1,lt)],sa)});import{app as oi,powerMonitor as xc,protocol as RC,session as Pc,systemPreferences as DC}from"electron";import{hostname as IM,release as bM}from"os";var ds,LC=w(()=>{Aa();Qn();za();et();Co();Q();fg();Gi();$();He();Te();Z();De();le();Kt();z1();wi();J1();kv();iy();Ee();pl();Bx();nt();$x();lm();Ey();Bs();wf();u0();q0();vu();z0();Pm();G0();Ft();kl();_m();aP();lP();cP();fP();kP();$e();KP();zm();Ou();ne();Qm();zP();GP();JP();_t();oe();ZP();El();is();Lw();eE();tE();Yt();yl();pE();ch();wn();fE();ou();Aw();mr();mE();hE();ss();so();gE();yE();wE();IE();TE();Pw();CE();_E();RE();DE();ME();Fo();Rt();zE();jE();Tr();hm();Fu();GE();qo();ri();JE();Ho();$u();oI();bT();ST();xT();ge();vt();DT();LT();AT();$l();MT();WT();pc();FT();YT();eC();Io();Hs();rC();sd();Xw();iC();oC();gI();uC();pC();fC();TC();kC();ds=class extends k{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}://${_a}`),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"]);Pc.defaultSession.setPermissionRequestHandler((m,y,v,b)=>t(b.requestingUrl)?v(o.has(y)):e(b.requestingUrl)?v(s.has(y)):v(!1)),Pc.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=Ci();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};Pc.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})}),Pc.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(_=>_.toLowerCase().includes("image/svg")))return y({cancel:!c(m)})}return y({cancel:!1})}),Pc.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=Pc.defaultSession;typeof f.setCodeCachePath=="function"&&this.environmentMainService.codeCachePath&&f.setCodeCachePath(V(this.environmentMainService.codeCachePath,"chrome")),W&&(this.configurationService.getValue("security.restrictUNCAccess")===!1?JS():qi(this.configurationService.getValue("security.allowedUNCHosts")))}registerListeners(){P.once(this.lifecycleMainService.onWillShutdown)(()=>this.dispose()),K1(),oi.on("accessibility-support-changed",(n,o)=>{this.windowsMainService?.sendToAll("vscode:accessibilitySupportChanged",o)}),oi.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}))}),oi.on("web-contents-created",(n,o)=>{o?.opener?.url.startsWith(`${F.vscodeFileResource}://${_a}/`)&&(this.logService.trace('[aux window]  app.on("web-contents-created"): Registering auxiliary window'),this.auxiliaryWindowsMainService?.registerWindow(o)),o.on("will-navigate",s=>{qs.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;oi.on("open-file",(n,o)=>{o=vi(o),this.logService.trace("app#open-file: ",o),n.preventDefault(),e.push(xi(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)}),oi.on("new-window-for-tab",async()=>{await this.windowsMainService?.openEmptyWindow({context:4})}),st.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)}),st.on("vscode:toggleDevTools",n=>n.sender.toggleDevTools()),st.on("vscode:openDevTools",n=>n.sender.openDevTools()),st.on("vscode:reloadWindow",n=>n.sender.reload()),st.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&&oi.setAppUserModelId(e);try{B&&this.configurationService.getValue("window.nativeTabs")===!0&&!DC.getUserDefault("NSUseImprovedLayoutPass","boolean")&&DC.setUserDefault("NSUseImprovedLayoutPass","boolean",!0)}catch(f){this.logService.error(f)}let t=new vf;P.once(this.lifecycleMainService.onWillShutdown)(f=>{f.reason===2&&t.dispose()});let[n,o,s]=await Promise.all([CT(this.stateService,this.logService),_T(this.stateService,this.logService),kT(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 sa(f.get(N),f.get(lt)))),c.invokeFunction(f=>{f.get(Gr).setTelemetryService(f.get(lt))}),c.invokeFunction(f=>f.get(su)),this._register(c.createInstance(cc)),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 ur(()=>{this._register(od(()=>{this.lifecycleMainService.phase=4,this.eventuallyAfterWindowOpen()},2500))},2500)).schedule()}async setupProtocolUrlHandlers(e,t){let n=this.windowsMainService=e.get(Ne),o=e.get(Ul),s=this.nativeHostMainService=e.get(On),a=e.get(bn),l=this;o.registerHandler({async handleURL(y,v){return l.handleProtocolUrl(n,a,o,y,v)}});let c=this._register(new bh({onDidOpenMainWindow:s.onDidOpenMainWindow,onDidFocusMainWindow:s.onDidFocusMainWindow,getActiveWindowId:()=>s.getActiveWindowId(-1)})),d=new uf(y=>c.getActiveClientId().then(v=>y===v)),u=new gh(d,this.logService),f=t.getChannel("urlHandler",u);o.registerHandler(new hh(f));let m=await this.resolveInitialProtocolUrls(n,a);return this._register(new vh(m?.urls,o,n,this.environmentMainService,this.productService,this.logService)),m}setupManagedRemoteResourceUrlHandler(e){let t=()=>({statusCode:404,data:"Not found"}),n=new Sr(()=>e.getChannel(ZT,new Ah));RC.registerBufferProtocol(F.vscodeManagedRemoteResource,(o,s)=>{let a=E.parse(o.url);if(!a.authority.startsWith("window:"))return s(t());n.value.call(mI,[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(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(Qd(e)?(o=e.workspaceUri,s=h(159,null,o.scheme===F.file?ji(o,{os:Jt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):Kf(e)?(o=e.folderUri,s=h(158,null,o.scheme===F.file?ji(o,{os:Jt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)):(o=e.fileUri,s=h(157,null,o.scheme===F.file?ji(o,{os:Jt,tildify:this.environmentMainService}):o.toString(!0),this.productService.nameShort)),o.scheme!==F.file&&o.scheme!==F.vscodeRemote||this.configurationService.getValue(ds.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 xi(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 xi(o)?{workspaceUri:l}:/:[\d]+$/.test(o)?{fileUri:l}:{folderUri:l}}}}async handleProtocolUrl(e,t,n,o,s){this.logService.trace("app#handleProtocolUrl():",o.toString(!0),s),o.scheme===this.productService.urlProtocol&&o.path==="workspace"&&(o=o.with({authority:"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):B&&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:oo(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(ql,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 ja(l,"main")})();return{sharedProcessReady:(async()=>(await o.whenReady(),s))(),sharedProcessClient:s}}async initServices(e,t,n,o){let s=new ts;switch(process.platform){case"win32":s.set(rs,new ve(ea));break;case"linux":gp?s.set(rs,new ve(Jl,[process.env.SNAP,process.env.SNAP_REVISION])):s.set(rs,new ve(Gl));break;case"darwin":s.set(rs,new ve(ii));break}s.set(Ne,new ve(nc,[e,t,n,this.userEnv],!1)),s.set(Sn,new ve(yc,void 0,!1));let a=new gl(this.logService,this.productService);s.set(bn,a),s.set(Ew,new ve(Nl,void 0,!1)),s.set(bl,new ve(Il,void 0,!1)),s.set(cu,Xe.toService(Sd(o.then(m=>m.getChannel("diagnostics"))))),s.set(Ld,new ve(Sl)),s.set(Xy,new ve(Tl,void 0,!1)),s.set(zs,new ve(qs,void 0,!1)),s.set(Zy,new ve(_l,void 0,!1)),s.set(xw,new ve(Fl)),s.set(On,new ve(Ks,void 0,!1));let l=new Vl(this.configurationService);s.set(Gr,l),s.set(bI,new ve(Sc,void 0,!1)),s.set(Hw,new ve(Xl)),s.set(kw,new ve(Bl)),s.set(lw,new ve(Yo)),s.set(Us,new ve(cl)),s.set($o,new ve(dl));let c=new fc({graceTime:6e4,shortGraceTime:6e3,scrollback:this.configurationService.getValue("terminal.integrated.persistentSessionScrollback")??100},this.configurationService,this.environmentMainService,this.lifecycleMainService,this.logService),d=new gc(c,this.configurationService,this.logService,this.loggerService);s.set(cI,d),W?s.set(Du,new ve(Au)):B?s.set(Du,new ve(km)):ie&&s.set(Du,new ve(Mu));let u=new no(this.environmentMainService,this.configurationService,this.logService,this.stateService);s.set(ki,u);let f=new wl(this.environmentMainService,this.logService,this.userDataProfilesMainService,u,a);if(s.set(pn,f),s.set(Sy,new ve(ic,void 0,!1)),s.set(ns,new ve(vr,void 0,!1)),s.set(Ul,new ve(Ql,void 0,!1)),ah(this.productService,this.environmentMainService)){let m=lE(this.productService,this.configurationService),y=Sd(o.then(C=>C.getChannel("telemetryAppender"))),v=new uh(y),b=sE(bM(),IM(),process.arch,this.productService.commit,this.productService.version,e,t,n,m,this.productService.date),I=cE(this.environmentMainService),_={appenders:[v],commonProperties:b,piiPaths:I,sendErrorTelemetry:!0};s.set(lt,new ve(co,[_],!1))}else s.set(lt,os);return s.set(cs,new ve(dc,void 0,!0)),s.set(IT,new ve(lc,void 0,!0)),s.set(aI,new ve(uc,void 0,!0)),s.set(su,new ve(ul)),s.set(hI,new ve(Mh)),s.set(ju,new ve(Ic)),s.set(wh,new ve(tc,void 0,!0)),await ht.settled([u.initialize(),f.initialize()]),this.mainInstantiationService.createChild(s)}initChannels(e,t,n){let o=this._register(new re),s=Xe.fromService(e.get(Ew),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("launch",s);let a=Xe.fromService(e.get(bl),o,{disableMarshalling:!0});this.mainProcessNodeIpcServer.registerChannel("diagnostics",a);let l=o.add(new Sh(e.get(Wn)));t.registerChannel("policy",l),n.then(ee=>ee.registerChannel("policy",l));let c=this.fileService.getProvider(F.file);jb(c instanceof es);let d=o.add(new Jm(c,this.logService,this.environmentMainService));t.registerChannel(vw,d),n.then(ee=>ee.registerChannel(vw,d));let u=Xe.fromService(e.get(Wr),o);t.registerChannel("userDataProfiles",u),n.then(ee=>ee.registerChannel("userDataProfiles",u));let f=new ph(e.get(rs));t.registerChannel("update",f);let m=new rh(e.get(Gr));t.registerChannel(Dw,m),n.then(ee=>ee.registerChannel(Dw,m));let y=Xe.fromService(new Wl(this.logService,e.get(cu),e.get(bl)),o);t.registerChannel("process",y);let v=Xe.fromService(e.get(Ld),o);t.registerChannel("encryption",v);let b=Xe.fromService(e.get(Xy),o);t.registerChannel("browserElements",b),n.then(ee=>ee.registerChannel("browserElements",b));let I=Xe.fromService(e.get(zs),o);t.registerChannel(Ty,I),n.then(ee=>ee.registerChannel(Ty,I));let _=Xe.fromService(e.get(Zy),o);t.registerChannel(Yy,_),n.then(ee=>ee.registerChannel(Yy,_));let C=Xe.fromService(e.get(as),o);t.registerChannel("sign",C);let D=Xe.fromService(e.get(xw),o);t.registerChannel("keyboardLayout",D),this.nativeHostMainService=e.get(On);let A=Xe.fromService(this.nativeHostMainService,o);t.registerChannel("nativeHost",A),n.then(ee=>ee.registerChannel("nativeHost",A));let ae=Xe.fromService(e.get(bI),o);t.registerChannel("webContentExtractor",ae);let U=Xe.fromService(e.get(Sy),o);t.registerChannel("workspaces",U);let Y=Xe.fromService(e.get(kw),o);t.registerChannel("menubar",Y);let q=Xe.fromService(e.get(Ul),o);t.registerChannel("url",q);let be=Xe.fromService(e.get(Hw),o);t.registerChannel("webview",be);let wt=o.add(new dh(this.logService,e.get(Us)));t.registerChannel("storage",wt),n.then(ee=>ee.registerChannel("storage",wt));let It=o.add(new _h(e.get(Us),e.get(Wr),this.logService));n.then(ee=>ee.registerChannel("profileStorageListener",It));let Ur=Xe.fromService(e.get(cI),o);t.registerChannel("localPty",Ur);let Nr=Xe.fromService(e.get(Du),o);t.registerChannel("externalTerminal",Nr);let J=Xe.fromService(e.get(hI),o);t.registerChannel(nC,J);let K=this._register(new bc(t,e.get(ju),e.get(ni)));t.registerChannel(sC,K);let j=new kh(e.get(ni));t.registerChannel("logger",j),n.then(ee=>ee.registerChannel("logger",j));let X=new am(e.get(Ne));t.registerChannel("extensionhostdebugservice",X);let te=Xe.fromService(e.get(lw),o);t.registerChannel(sP,te);let pe=Xe.fromService(e.get(aI),o);t.registerChannel(OT,pe)}async openFirstWindow(e,t){let n=this.windowsMainService=e.get(Ne);this.auxiliaryWindowsMainService=e.get(Sn);let o=ei(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=vi(b),xi(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&&mf(),this.installMutex(),RC.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(),B&&oi.runningUnderARM64Translation&&this.windowsMainService?.sendToFocused("vscode:showTranslatedBuildWarning"),e.invokeFunction(t=>{let n=t.get(lt),o=()=>({idleState:xc.getSystemIdleState(60),idleTime:xc.getSystemIdleTime(),thermalState:xc.getCurrentThermalState(),onBattery:xc.isOnBatteryPower()});this._register(P.fromNodeEventEmitter(xc,"suspend")(()=>{n.publicLog2("power.suspend",o())})),this._register(P.fromNodeEventEmitter(xc,"resume")(()=>{n.publicLog2("power.resume",o())}))}),B&&e.invokeFunction(t=>{let n=t.get(lt);oi.getGPUFeatureStatus().skia_graphite==="enabled"&&this._register(P.fromNodeEventEmitter(oi,"child-process-gone",(a,l)=>({event:a,details:l}))(({details:a})=>{if(a.type==="GPU"&&a.reason==="crashed"){let l=oi.getGPUFeatureStatus();if(l.rasterization!=="enabled"){let d=[],u=oi;typeof u.getGPULogMessages=="function"&&(d=u.getGPULogMessages().slice(-10).map(f=>f.message)),n.publicLog2("gpu.crash.fallback",{gpuFeatureStatus:JSON.stringify(l),gpuLogMessages:JSON.stringify(d)})}}}))})}async installMutex(){let e=this.productService.win32MutexName;if(W&&e)try{let t=await import("@vscode/windows-mutex"),n=new t.Mutex(e);P.once(this.lifecycleMainService.onWillShutdown)(()=>n.release())}catch(t){this.logService.error(t)}}async resolveShellEnvironment(e,t,n){try{return await Ll(this.configurationService,this.logService,e,t)}catch(o){let s=Pr(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=cp(t),s=Kl(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": "${Ce()}"`,"}"],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(){RT(this.stateService,this.logService)}};ds=T([g(2,Wt),g(3,N),g(4,_n),g(5,_e),g(6,ye),g(7,he),g(8,Ct),g(9,Le),g(10,Re),g(11,Wr)],ds)});function Qu(i){return Object.isFrozen(i)?i:qx(i)}function us(i,r){let{added:e,removed:t,updated:n}=AC(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=AC({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 AC(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=ud(r.contents,o),a=ud(i.contents,o);un(s,a)||n.push(o)}}return{added:e,removed:t,updated:n}}var xt,Uh,Nh,CI,Ec,Bh,_I=w(()=>{Ht();Q();Zn();$();Lr();In();De();le();nt();zi();$e();Gn();xt=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 Uh("",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?ud(this.contents,r):this.contents}inspect(r,e){let t=this;return{get value(){return Qu(t.rawConfiguration.getValue(r))},get override(){return e?Qu(t.rawConfiguration.getOverrideValue(r,e)):void 0},get merged(){return Qu(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?Qu(n):void 0}}}getOverrideValue(r,e){let t=this.getContentsForOverrideIdentifer(e);return t?r?ud(t,r):t:void 0}getKeysForOverrideIdentifier(r){let e=[];for(let t of this.overrides)t.identifiers.includes(r)&&e.push(...t.keys);return Dr(e)}getAllOverrideIdentifiers(){let r=[];for(let e of this.overrides)r.push(...e.identifiers);return Dr(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=hr(this.contents),t=hr(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=>wo(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=Dr(l.keys)):t.push(hr(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 Dr([...Object.keys(this.contents),...Object.keys(e)])){let o=this.contents[n],s=e[n];s&&(typeof o=="object"&&typeof s=="object"?(o=hr(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&&Ke(r[t])&&Ke(e[t])){this.mergeContents(r[t],e[t]);continue}r[t]=hr(e[t])}}getContentsForOverrideIdentifer(r){let e=null,t=null,n=o=>{o&&(t?this.mergeContents(t,o):t=hr(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),ZS(this.contents,r),yi.test(r)&&this.overrides.splice(this.overrides.findIndex(t=>wo(t.identifiers,Wa(r))),1))}updateValue(r,e,t){if(nv(this.contents,r,e,n=>this.logService.error(n)),t=t||this.keys.indexOf(r)===-1,t&&this.keys.push(r),yi.test(r)){let n=this.contents[r],o=Wa(r),s={identifiers:o,keys:Object.keys(n),contents:Xp(n,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>wo(l.identifiers,o));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},Uh=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||xt.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(r,e){if(!Ot(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 xt(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{hl(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=St.as(tr.Configuration),n=t.getConfigurationProperties(),o=t.getExcludedConfigurationProperties(),s=this.filter(r,n,o,!0,e);r=s.raw;let a=Xp(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(yi.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(yi.test(n)){let o={},s=r[n];for(let a in s)o[a]=s[a];t.push({identifiers:Wa(n),keys:Object.keys(o),contents:Xp(o,e)})}return t}},Nh=class extends k{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 Uh(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(n.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(P.any(P.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),P.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 xt.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},CI=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 Qu(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)}},Ec=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 ft;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=xt.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 CI(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}=us(this._defaultConfiguration,r);e=[...n,...o,...s]}for(let n of e)for(let o of Wa(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=>!un(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}=us(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}=us(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}=us(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}=us(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}=us(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}=us(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}=us(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 xt(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 ft);return new i(t,n,o,s,a,l,c,xt.createEmptyModel(e),new ft,e)}static parseConfigurationModel(r,e){return new xt(r.contents,r.keys,r.overrides,r.raw,e)}},Bh=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=Ec.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!un(a,l)}return!0}}});var Vh,Hh,Tc,MC=w(()=>{Ht();Q();$();In();De();_I();zi();oe();ri();Gn();Be();Zn();Vh=class extends k{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new S);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=xt.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(St.as(tr.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,St.as(tr.Configuration).getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=xt.createEmptyModel(this.logService);let e=St.as(tr.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,hr(a.default)):this._configurationModel.removeValue(o)}}},Hh=class{constructor(){this.onDidChangeConfiguration=P.None;this.configurationModel=xt.createEmptyModel(new Rf)}async initialize(){return this.configurationModel}},Tc=class extends k{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=xt.createEmptyModel(this.logService),this.configurationRegistry=St.as(tr.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 Dp(t)||await this.policyService.updatePolicyDefinitions(t),n}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let t=this.configurationRegistry.getPolicyConfigurations(),n=it(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(Ae(u)&&c.type!=="string")try{u=this.parse(u)}catch(f){this.logService.error(`Error parsing policy value ${d}:`,lr(f));continue}(a?u!==void 0:!un(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=xt.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&&(hl(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=>lr(d.error)).join(`
`));return t}};Tc=T([g(1,Wn),g(2,N)],Tc)});var $h,kI,OC=w(()=>{Ht();ge();et();Q();Zn();by();$();Lr();In();Z();yt();nt();_I();zi();MC();$e();ri();$h=class extends k{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 Vh(o)),this.policyConfiguration=n instanceof Hl?new Hh:this._register(new Tc(this.defaultConfiguration,n,o)),this.userConfiguration=this._register(new Nh(this.settingsResource,{},ze,t,o)),this.configuration=new Ec(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,xt.createEmptyModel(o),xt.createEmptyModel(o),xt.createEmptyModel(o),xt.createEmptyModel(o),new ft,xt.createEmptyModel(o),new ft,o),this.configurationEditing=new kI(e,t,this),this.reloadConfigurationScheduler=this._register(new ur(()=>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 Ec(e,t,xt.createEmptyModel(this.logService),n,xt.createEmptyModel(this.logService),xt.createEmptyModel(this.logService),new ft,xt.createEmptyModel(this.logService),new ft,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,t){let n=typeof e=="string"?e:void 0,o=Qp(e)?e:Qp(t)?t:{};return this.configuration.getValue(n,o,void 0)}async updateValue(e,t,n,o,s){let a=YS(n)?n:Qp(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=Dr(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(un(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=>wo([...m.identifiers].sort(),u));f&&(a.overrideIdentifiers=f.identifiers)}let d=a?.overrideIdentifiers?.length?[l1(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 Bh(e,{data:t},this.configuration,void 0,this.logService);o.source=n,this._onDidChangeConfiguration.fire(o)}},kI=class{constructor(r,e,t){this.settingsResource=r;this.fileService=e;this.configurationService=t;this.queue=new Cn}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(Dn(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=Iy(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 wy(r,e,t,{tabSize:n,insertSpaces:o,eol:s})}get formattingOptions(){if(!this._formattingOptions){let r=Jt===3||Jt===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 FC from"fs";import*as Nt from"os";async function RI(i,r){let e=`${i}::${r.join(":")}`,t=WC.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 ht.withAsyncBody(async v=>{let b;m.readdirCount++;try{b=await z.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 _=b;m.count+b.length>a&&(m.maxReached=!0,I=a-m.count,_=b.slice(0,I)),m.count+=b.length;for(let C of _)if(C.isDirectory()){if(f.includes(C.name)||await l(d,V(u,C.name),f,m),--I===0){v();return}}else{let D=C.name.lastIndexOf(".");if(D>=0){let A=C.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(C.name)&&s.set(A.tag,(s.get(A.tag)??0)+1);if(--I===0){v();return}}})}let c=ht.withAsyncBody(async d=>{let u={count:0,maxReached:!1,readdirCount:0},f=new an(!0);await l(i,i,r,u);let m=await PM(i);d({configFiles:DI(s),fileTypes:DI(o),fileCount:u.count,maxFilesReached:u.maxReached,launchConfigFiles:m,totalScanTime:f.elapsed(),totalReaddirCount:u.readdirCount})});return WC.set(e,c),c}function DI(i){return Array.from(i.entries(),([r,e])=>({name:r,count:e})).sort((r,e)=>e.count-r.count)}function xM(){let i={os:`${Nt.type()} ${Nt.arch()} ${Nt.release()}`,memory:`${(Nt.totalmem()/Si.GB).toFixed(2)}GB (${(Nt.freemem()/Si.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(Su.value()*100)}%`},r=Nt.cpus();return r&&r.length>0&&(i.cpus=`${r[0].model} (${r.length} x ${r[0].speed})`),i}async function PM(i){try{let r=new Map,e=V(i,".vscode","launch.json"),t=await FC.promises.readFile(e),n=[],o=Dn(t.toString(),n);if(n.length)return console.log(`Unable to parse ${e}`),[];if(Ko(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 DI(r)}catch{return[]}}var WC,Cc,UC=w(()=>{ge();Zn();He();Te();Z();ys();le();xu();Xt();Sw();lm();$e();Yt();mr();WC=new Map;Cc=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:       ${Nt.type()} ${Nt.arch()} ${Nt.release()}`);let t=Nt.cpus();return t&&t.length>0&&e.push(`CPUs:             ${t[0].model} (${t.length} x ${t[0].speed})`),e.push(`Memory (System):  ${(Nt.totalmem()/Si.GB).toFixed(2)}GB (${(Nt.freemem()/Si.GB).toFixed(2)}GB free)`),W||e.push(`Load (avg):       ${Nt.loadavg().map(n=>Math.round(n)).join(", ")}`),e.push(`VM:               ${Math.round(Su.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([Wu(r.mainPID),this.formatWorkspaceMetadata(r)]).then(async t=>{let[n,o]=t,s=this.formatProcessList(r,n);return e.forEach(a=>{if(du(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}=xM(),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=`${Nt.loadavg().map(l=>Math.round(l)).join(", ")}`),ie&&(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 Wu(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(du(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(RI(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:Nt.totalmem()*(n.mem/100);t.push(`${n.load.toFixed(0).padStart(5," ")}	${(l/Si.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 RI(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 RI(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{}}}};Cc=T([g(0,lt),g(1,Re)],Cc)});import{writeFileSync as EM}from"fs";import{tmpdir as TM}from"os";function NC(i){let r=bs(TM());try{return EM(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 BC=w(()=>{ln()});var ps,VC=w(()=>{Ht();ge();et();vt();Q();Ii();Gc();$();As();He();li();yt();Ps();Ee();$e();ww();oe();Be();ps=class extends k{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 Da)}registerProvider(e,t){if(this.provider.has(e))throw new Error(`A filesystem provider for the scheme '${e}' is already registered.`);Ue(`code/registerFilesystem/${e}`);let n=new re;return this.provider.set(e,t),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:t}),n.add(t.onDidChangeFile(o=>{let s=new Lf(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),dt(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 ht.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 mi.map(this.provider,([e,t])=>({scheme:e,capabilities:t.capabilities}))}async withProvider(e){if(!_S(e))throw new qt(h(2095,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let t=this.provider.get(e.scheme);if(!t){let n=new on;throw n.message=h(2097,null,e.toString()),n}return t}async withReadProvider(e){let t=await this.withProvider(e);if(Zi(t)||yn(t)||Mf(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(Zi(t)||yn(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 jd(n)==="EntryNotFound"?new qt(h(2092,null,this.resourceForError(e)),1):eo(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=qr.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:$v({mtime:n.mtime,size:n.size}),children:void 0};if(c.isDirectory&&a(c,o)){try{let d=await e.readdir(t),u=await ht.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=it(u)}catch(d){this.logService.trace(d),c.children=[]}return c}return c}async resolveAll(e){return ht.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(fx(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 qt(h(2088,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 Yi(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(Hv(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)),!Zi(o)||yn(o)&&c instanceof H||yn(o)&&Hv(o)&&a?.atomic?await this.doWriteUnbuffered(o,e,a,c):await this.doWriteBuffered(o,e,a,c instanceof H?S1(c):c),this._onDidRunOperation.fire(new Yi(e,4))}catch(l){throw new qt(h(2087,null,this.resourceForError(e),eo(l).toString()),jr(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,t){let n;if(yn(e)&&!(t instanceof H))if(gd(t)){let o=await y1(t,3);o.ended?n=H.concat(o.buffer):n=o}else n=v1(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(2105,null,this.resourceForError(t)));if(o?.append&&!px(e))throw new qt(h(2084,null,this.resourceForError(t)),6);if(!!o?.atomic){if(!(e.capabilities&32768))throw new Error(h(2103,null,this.resourceForError(t)));if(!(e.capabilities&2))throw new Error(h(2104,null,this.resourceForError(t)));if(s)throw new Error(h(2102,null,this.resourceForError(t)))}let l;try{l=await e.stat(t)}catch{return Object.create(null)}if((l.type&2)!==0)throw new qt(h(2090,null,this.resourceForError(t)),0,o);this.throwIfFileIsReadonly(t,l);let c;if(typeof o?.mtime=="number"&&typeof o.etag=="string"&&o.etag!==Ff&&typeof l.mtime=="number"&&typeof l.size=="number"&&o.mtime<l.mtime&&o.etag!==$v({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 qt(h(2091,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 Es(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 qe(o),a=n;Of(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!==Ff&&await l,a?.atomic&&Of(e)||!(Zi(e)||Mf(e))||yn(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,t,a):Mf(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 cf(c),this.restoreReadError(d,t,a)}}restoreReadError(e,t,n){let o=h(2085,null,this.resourceForError(t),eo(e).toString());return e instanceof el?new el(o,e.stat,n):e instanceof Za?new Za(o,e.fileOperationResult,e.size,e.options):new qt(o,jr(e),n)}readFileStreamed(e,t,n,o=Object.create(null)){let s=e.readFileStream(t,o,n);return Ua(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=E1();return Um(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=_o(s=>H.concat(s));return(async()=>{try{let s;n?.atomic&&Of(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 qt(h(2089,null,this.resourceForError(e)),0,t);if(typeof t?.etag=="string"&&t.etag!==Ff&&t.etag===n.etag)throw new el(h(2093,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 Za(h(2094,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 Yi(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 Yi(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(Zi(e)&&Zi(n))return this.doPipeBuffered(e,t,n,o);if(Zi(e)&&yn(n))return this.doPipeBufferedToUnbuffered(e,t,n,o);if(yn(e)&&Zi(n))return this.doPipeUnbufferedToBuffered(e,t,n,o);if(yn(e)&&yn(n))return this.doPipeUnbuffered(e,t,n,o)}async doCopyFolder(e,t,n,o){await n.mkdir(o),Array.isArray(t.children)&&await ht.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(2098,null,this.resourceForError(t),this.resourceForError(o)));if(!l&&d.isEqualOrParent(o,t))throw new Error(h(2099,null,this.resourceForError(t),this.resourceForError(o)))}let c=await this.exists(o);if(c&&!l){if(!a)throw new qt(h(2100,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(2101,null,this.resourceForError(t),this.resourceForError(o)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let t=this.isPathCaseSensitive(e);return{providerExtUri:t?Me:Ra,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 Yi(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(2096,null,this.resourceForError(t)));break}catch(s){if(jd(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(jd(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(2083,null,this.resourceForError(e)));let s=t?.atomic;if(s&&!(n.capabilities&65536))throw new Error(h(2079,null,this.resourceForError(e)));if(o&&s)throw new Error(h(2082,null,this.resourceForError(e)));let a;try{a=await n.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new qt(h(2081,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(2080,null,this.resourceForError(e)))}return n}async del(e,t){let n=await this.doValidateDelete(e,t),o=t;if(mx(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 Yi(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&&Af(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:ps.WATCHER_CORRELATION_IDS++})}watch(e,t={recursive:!1,excludes:[]}){let n=new re,o=!1,s=()=>{o=!0};n.add(G(()=>s())),(async()=>{try{let l=await this.doWatch(e,t);o?dt(l):s=()=>dt(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=rr([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&&(dt(s.disposable),this.activeWatchers.delete(o)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)dt(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{gd(o)||lf(o)?await this.doWriteStreamBufferedQueued(e,s,o):await this.doWriteReadableBufferedQueued(e,s,o)}catch(a){throw eo(a)}finally{await e.close(s)}},this.getExtUri(e).providerExtUri)}async doWriteStreamBufferedQueued(e,t,n){let o=0,s;if(lf(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)=>{Fa(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:gd(o)?s=await Es(o):lf(o)?s=await x1(o):s=b1(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 eo(l)}finally{await ht.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 eo(a)}finally{await n.close(s)}}async doPipeBufferedToUnbuffered(e,t,n,o){let s=await Es(this.readFileBuffered(e,t,Se.None));await this.doWriteUnbuffered(n,o,void 0,s)}throwIfFileSystemIsReadonly(e,t){if(e.capabilities&2048)throw new qt(h(2086,null,this.resourceForError(t)),6);return e}throwIfFileIsReadonly(e,t){if((t.permissions??0)&1)throw new qt(h(2086,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===F.file?e.fsPath:e.toString(!0)}};ps=T([g(0,N)],ps)});var LI,Xu,HC=w(()=>{LI=class{constructor(r,e){this.key=r;this.data=e;this.incoming=new Map;this.outgoing=new Map}},Xu=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 LI(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 CM,Kh,qh,Yu,$C=w(()=>{ge();Be();$();Ou();HC();ne();Qm();Dg();CM=!1,Kh=class extends Error{constructor(r){super("cyclic dependency between services"),this.message=r.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${r.toString()}`}},qh=class i{constructor(r=new ts,e=!1,t,n=CM){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 Xu(o=>o):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,dt(this._children),this._children.clear();for(let r of this._servicesToMaybeDispose)Lp(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=Yu.traceInvocation(this._enableTracing,r),n=!1;try{return r({get:s=>{if(n)throw Tp("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 ve?(t=Yu.traceCreation(this._enableTracing,r.ctor),n=this._createInstance(r.ctor,r.staticArguments.concat(e),t)):(t=Yu.traceCreation(this._enableTracing,r),n=this._createInstance(r,e,t)),t.stop(),n}_createInstance(r,e=[],t){let n=jn.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 ve)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 ve?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 Xu(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 Kh(n);for(let c of jn.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 ve){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 Kh(n);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof ve){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 ve)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 zp(()=>{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 xa,l.set(u,y)),(b,I,_)=>{if(c.isInitialized)return c.value[u](b,I,_);{let C={listener:[b,I,_],disposable:void 0},D=y.push(C);return G(()=>{D(),C.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)}},Yu=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,KC=w(()=>{$();oe();zh=class extends Ls{constructor(e=Kd){super();this.buffer=[];this._logger=void 0;this._logLevelDisposable=this._register(new Zt);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)qd(e,t,n);this.buffer=[]}log(e,t){this._logger?qd(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 _M}from"electron";var _c,qC=w(()=>{$();He();Te();Z();As();le();Kt();Qn();dn();oe();Yn();_c=class extends k{constructor(e,t,n){super();this.environmentService=e;this.logService=n;this.validRoots=qr.forPaths(!ie);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}=_M;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=Et(e);return this.validRoots.get(t)?k.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=ka.CoopAndCoep:s=ka.getHeadersFromQuery(e.url)),this.environmentService.isBuilt||(s={...s,...xS}),(o==="workbench.html"||o==="workbench-dev.html")&&(s={...s,...PS}),this.validRoots.findSubstr(n)?t({path:n,headers:s}):this.validExtensions.has(ma(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=rt.uriToFileUri(t);return Et(n.fsPath)}createIPCObjectUrl(){let e,t=E.from({scheme:"vscode",path:Ce()}),n=t.toString(),o=async()=>e;return st.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}.`),st.removeHandler(n)}}}};_c=T([g(0,Mr),g(1,Cr),g(2,N)],_c)});function jC(i){return!!i.forwardPort}function kM(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 jh(i){return AI.indexOf(i)>=0}function Rc(i){return MI.indexOf(i)>=0}function GC(i,r,e,t){if(e===1)return!1;if(e===2&&Rc(r)){let n=/(\d+)\.(\d+)\.(\d+)/g.exec(t);if(n?.length===4&&parseInt(n[1])>=18)return!1}return i<1024}var zC,vxe,AI,MI,kc,OI=w(()=>{Q();$();Z();le();nt();ne();oe();zC=O("tunnelService"),vxe=O("sharedTunnelsService");AI=["localhost","127.0.0.1","0:0:0:0:0:0:0:1","::1"];MI=["0.0.0.0","0:0:0:0:0:0:0:0","::"];kc=class extends k{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){(Rc(e)||jh(e))&&(e=AI[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];jh(e)?(n.push(...AI),n.push(...MI)):Rc(e)&&n.push(...MI);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!!kM(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}};kc=T([g(0,N),g(1,he)],kc)});var Sxe,Dc,JC=w(()=>{Be();ne();Sxe=O("remoteAuthorityResolverService"),Dc=class i extends on{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 FI(i){switch(i){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function XC(i){let r=new qe;return setTimeout(()=>r.cancel(),i),r.token}function DM(i,r){if(i.isCancellationRequested||r.isCancellationRequested)return Se.Cancelled;let e=new qe;return i.onCancellationRequested(()=>e.cancel()),r.onCancellationRequested(()=>e.cancel()),e.token}function LM(i,r){let e=new ep(r);return e.registerDisposable(i.onControlMessage(t=>{let n=JSON.parse(t.toString()),o=FM(n);o?e.reject(o):e.resolve(n)})),e.promise}function AM(i,r,e,t,n,o,s,a){let l=new ep(a),c=an.create(!1);return i.info(`Creating a socket (${s})...`),Ue(`code/willCreateSocket/${o}`),r.connect(e,t,n,s).then(d=>{l.didTimeout?(Ue(`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()):(Ue(`code/didCreateSocketOK/${o}`),i.info(`Creating a socket (${s}) was successful after ${c.elapsed()} ms.`),l.resolve(d))},d=>{Ue(`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 WI(i,r){let e=new ep(r);return i.then(t=>{e.didTimeout||e.resolve(t)},t=>{e.didTimeout||e.reject(t)}),e.promise}async function MM(i,r,e,t){let n=t_(i,r);i.logService.trace(`${n} 1/6. invoking socketFactory.connect().`);let o;try{o=await AM(i.logService,i.remoteSocketFactoryService,i.connectTo,Qg.getServerRootPath(),`reconnectionToken=${i.reconnectionToken}&reconnection=${i.reconnectionProtocol?"true":"false"}`,FI(r),`renderer-${FI(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 pf({socket:o}),a=!0),i.logService.trace(`${n} 3/6. sending AuthRequest control message.`);let l=await WI(i.signService.createNewMessage(Ce()),t),c={type:"auth",auth:i.connectionToken||"00000000000000000000",data:l.data};s.sendControl(H.fromString(JSON.stringify(c)));try{let d=await LM(s,DM(t,XC(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 WI(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 WI(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&&e_(s),d}}async function OM(i,r,e){let t=Date.now(),n=t_(i,3),{protocol:o}=await MM(i,3,r,e);return i.logService.trace(`${n} 6/6. handshake finished, connection is up and running after ${VM(t)}!`),o}async function YC(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 ZC(i,r,e){let t=await YC(i,Ce(),null);return await OM(t,{host:r,port:e},Se.None)}function WM(i){return zn(r=>new Promise((e,t)=>{let n=setTimeout(e,i*1e3);r.onCancellationRequested(()=>{clearTimeout(n),e()})}))}function e_(i){try{i.acceptDisconnect();let r=i.getSocket();i.dispose(),r.dispose()}catch(r){Ze(r)}}function FM(i){if(i&&i.type==="error"){let r=new Error(`Connection error: ${i.reason}`);return r.code="VSCODE_CONNECTION_ERROR",r}return null}function UM(i,r){return typeof i!="number"||!isFinite(i)||i<0?r:i>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(i)}function NM(i,r){for(;i.length<r;)i+=" ";return i}function BM(i,r){return`[remote-connection][${NM(FI(i),13)}][${r.substr(0,5)}\u2026]`}function Zu(i,r,e){return`${BM(i,r)}[${e?"reconnect":"initial"}]`}function t_(i,r){return`${Zu(r,i.reconnectionToken,!!i.reconnectionProtocol)}[${i.connectTo}]`}function VM(i){return`${Date.now()-i} ms`}var RM,ep,UI,NI,BI,Gh,VI,QC,r_=w(()=>{ge();et();vt();Be();Q();$();He();li();ys();Kt();wv();JC();RM=30*1e3;ep=class{get didTimeout(){return this._state==="timedout"}constructor(r){this._state="pending",this._disposables=new re,{promise:this.promise,resolve:this._resolvePromise,reject:this._rejectPromise}=MS(),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))}};UI=class{constructor(r,e){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.type=0}},NI=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()}},BI=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=2}},Gh=class{constructor(r,e,t){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.type=4}},VI=class{constructor(r,e,t,n){this.reconnectionToken=r;this.millisSinceLastIncomingData=e;this.attempt=t;this.handled=n;this.type=3}},QC=class i extends k{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 Gh(this.reconnectionToken,0,0)),this._register(o.onSocketClose(a=>{let l=Zu(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=Zu(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=UM(e,108e5),n=Zu(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=Zu(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 UI(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=WM(a);this._onDidStateChange.fire(new NI(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 BI(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1)),this._options.logService.info(`${e} resolving connection...`);let l=await YC(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${l.connectTo}...`),await this._reconnect(l,XC(RM)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new Gh(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(Dc.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(zc(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 Dc){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,Dc.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 VI(this.reconnectionToken,e,t,n)),e_(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var Jh,n_=w(()=>{$();ne();Jh=O("remoteSocketFactoryService")});import*as i_ from"net";import*as o_ from"os";async function HM(i,r,e,t,n){let o;for(let s=3;s&&(o?.dispose(),o=await new HI(i,r,e,t,n).waitForReady(),!(n&&By[n]||!By[o.tunnelLocalPort]));s--);return o}var HI,tp,aa,Qh,s_=w(()=>{Hy();_d();ge();$();Z();nt();oe();Yt();r_();n_();ch();OI();et();HI=class extends k{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=i_.createServer(),this._barrier=new gi,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=Rc(this.defaultTunnelHost)?"0.0.0.0":"127.0.0.1",n=await Vy(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=jh(this.tunnelRemoteHost)||Rc(this.tunnelRemoteHost)?"localhost":this.tunnelRemoteHost,n=await ZC(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 Ji?o.socket.destroy():o.end()}),o instanceof Ji?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)}},tp=class extends kc{constructor(e,t,n,o,s){super(t,s);this.remoteSocketFactoryService=e;this.signService=n;this.productService=o}isPortPrivileged(e){return GC(e,this.defaultTunnelHost,Jt,o_.release())}retainOrCreateTunnel(e,t,n,o,s,a,l,c){let d=this.getTunnelFromMap(t,n);if(d)return++d.refcount,d.value;if(jC(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=HM(u,o,t,n,s);return this.logService.trace("ForwardedPorts: (TunnelService) Tunnel created without provider."),this.addTunnelToMap(t,n,f),f}}};tp=T([g(0,Jh),g(1,N),g(2,as),g(3,Re),g(4,he)],tp);aa=class extends tp{constructor(r,e,t,n,o){super(r,e,t,n,o)}};aa=T([g(0,Jh),g(1,N),g(2,as),g(3,Re),g(4,he)],aa);Qh=class extends k{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 aa(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)}};Qh=T([g(0,Jh),g(1,N),g(2,Re),g(3,as),g(4,he)],Qh)});import{parse as a_}from"url";function $M(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 l_(i,r,e={}){let t=a_(i),n=e.proxyUrl||$M(t,r);if(!n)return null;let o=a_(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:Rp(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 c_=w(()=>{De()});import{parse as d_}from"url";import{createGunzip as KM}from"zlib";function jM(i){if(i instanceof Error){let r=i.code;return!!r&&qM.has(r)}return!1}async function GM(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 JM(i){return(d_(i.url).protocol==="https:"?await import("https"):await import("http")).request}async function u_(i,r){let t,n=zM.test(i.type||"GET");for(let o=1;o<=3;o++)try{return await QM(i,r)}catch(s){if(t=s,s instanceof bt||!n||!jM(s)||o===3)throw s;await ot(100*o,r)}throw t}async function QM(i,r){return ht.withAsyncBody(async(e,t)=>{let n=d_(i.url),o=i.getRawRequest?i.getRawRequest(i):await JM(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:Rp(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=Hn(i.followRedirects)?i.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&d>0&&c.headers.location)u_({...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(KM())),e({res:c,stream:P1(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 bt)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var qM,zM,Lc,p_=w(()=>{ge();et();Be();De();nt();dn();_m();oe();Qo();c_();qM=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),zM=/^(GET|HEAD|OPTIONS)$/i;Lc=class extends Sm{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 Ll(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",lr(c)))}let a={...process.env,...s},l=e.agent?e.agent:await l_(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,()=>u_(e,t))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let t=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await GM(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",jy),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}};Lc=T([g(1,he),g(2,Mr),g(3,N)],Lc)});import{net as XM}from"electron";function YM(i){return XM.request}var Ac,f_=w(()=>{p_();nt();dn();oe();Ac=class extends Lc{constructor(r,e,t){super("local",r,e,t)}request(r,e){return super.request({...r||{},getRawRequest:YM,isChromiumNetwork:!0},e)}};Ac=T([g(0,he),g(1,Mr),g(2,N)],Ac)});var Xh,m_=w(()=>{Xh=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 Yh,h_=w(()=>{m_();Yh=class extends Xh{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 la,g_=w(()=>{ri();ge();$();oe();la=class extends Ys{constructor(e,t){super();this.logService=e;this.productName=t;this.throttler=this._register(new rd);this.watcher=this._register(new Zt)}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))}};la=T([g(0,N)],la)});function ZM(i,r){let e=[];for(let t of new Set(mi.concat(i.keys(),r.keys())))i.get(t)!==r.get(t)&&e.push(t);return e}var ca,v_=w(()=>{ge();Q();Gc();De();$e();oe();ri();ca=class extends Ys{constructor(e,t,n){super();this.file=e;this.fileService=t;this.logService=n;this.throttledDelayer=this._register(new xr(500));let o=P.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(!Ke(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=ZM(this.policies,e);this.policies=e,t.length>0&&this._onDidChange.fire(t)}};ca=T([g(1,Le),g(2,N)],ca)});function y_(i,r,e){r instanceof ve||(r=new ve(r,[],!!e)),eO.push([i,r])}var eO,w_=w(()=>{Ou();eO=[]});var Zh,da,I_=w(()=>{Xn();le();w_();$e();yt();Q();$();Ht();Zh=class i{constructor(r){this.uri=r;this.time=i._clock++}static{this._clock=0}touch(){return this.time=i._clock++,this}},da=class{constructor(r){this._fileService=r;this._dispooables=new re;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(P.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 Ss(t),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(r){this._fileService.hasProvider(r)&&(r=Vp(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 Zh(r)),this._checkTrim(),r)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;Zh._clock=1;let r=[...this._canonicalUris.values()].map(t=>t.time),e=Cp(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}};da=T([g(0,Le)],da);y_(Tt,da,1)});var eg,b_=w(()=>{$();oe();eg=class extends k{constructor(r,e=[]){super(),this.logger=new kf([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 tg,S_=w(()=>{Q();$();$e();As();Lr();tg=class extends k{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=qr.forUris(()=>!(this.capabilities&1024)),this.atomicReadWriteResources=new ya(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(Af(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 x_=w(()=>{});import Fr from"electron";var tO,rO,nO,iO,P_,E_,T_,C_,Jr,Qr,__=w(()=>{Q();$();Z();nt();wn();x_();Ht();Rt();oe();tO="#FFFFFF",rO="#1F1F1F",nO="#000000",iO="#FFFFFF",P_="theme",E_="themeBackground",T_="windowSplash",C_="windowSplashWorkspaceOverride",Jr=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")))(Jr||={});Qr=class extends k{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;ie||this._register(this.configurationService.onDidChangeConfiguration(o=>{(o.affectsConfiguration(Jr.SYSTEM_COLOR_THEME.key)||o.affectsConfiguration(Jr.DETECT_COLOR_SCHEME.key))&&(this.updateSystemColorTheme(),this.logThemeSettings())})),this.updateSystemColorTheme(),this.logThemeSettings(),this._register(P.fromNodeEventEmitter(Fr.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(Jr.DETECT_COLOR_SCHEME)}, ${e(Jr.DETECT_HC)}, ${e(Jr.SYSTEM_COLOR_THEME)}`);let t=n=>`${String(n)}=${Fr.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(ie||Jr.DETECT_COLOR_SCHEME.getValue(this.configurationService))Fr.nativeTheme.themeSource="system";else switch(Jr.SYSTEM_COLOR_THEME.getValue(this.configurationService)){case"dark":Fr.nativeTheme.themeSource="dark";break;case"light":Fr.nativeTheme.themeSource="light";break;case"auto":switch(this.getPreferredBaseTheme()??this.getStoredBaseTheme()){case"vs":Fr.nativeTheme.themeSource="light";break;case"vs-dark":Fr.nativeTheme.themeSource="dark";break;default:Fr.nativeTheme.themeSource="system"}break;default:Fr.nativeTheme.themeSource="system";break}}getColorScheme(){if(W){if(Fr.nativeTheme.shouldUseHighContrastColors)return{dark:Fr.nativeTheme.shouldUseInvertedColorScheme,highContrast:!0}}else if(B){if(Fr.nativeTheme.shouldUseInvertedColorScheme||Fr.nativeTheme.shouldUseHighContrastColors)return{dark:Fr.nativeTheme.shouldUseDarkColors,highContrast:!0}}else if(ie&&Fr.nativeTheme.shouldUseHighContrastColors)return{dark:!0,highContrast:!0};return{dark:Fr.nativeTheme.shouldUseDarkColors,highContrast:!1}}getPreferredBaseTheme(){let e=this.getColorScheme();if(Jr.DETECT_HC.getValue(this.configurationService)&&e.highContrast)return e.dark?"hc-black":"hc-light";if(Jr.DETECT_COLOR_SCHEME.getValue(this.configurationService))return e.dark?"vs-dark":"vs"}getBackgroundColor(){let e=this.getPreferredBaseTheme(),t=this.getStoredBaseTheme();if(e===void 0||e===t){let n=this.stateService.getItem(E_,null);if(n)return n}switch(e??t){case"vs":return tO;case"hc-black":return nO;case"hc-light":return iO;default:return rO}}getStoredBaseTheme(){switch(this.stateService.getItem(P_,"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(it([{key:P_,data:n.baseTheme},{key:E_,data:n.colorInfo.background},{key:T_,data:n},o?{key:C_,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>=Qr.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 Ci())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(T_);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||Qr.DEFAULT_BAR_WIDTH:o=0;let s=Jr.AUXILIARYBAR_DEFAULT_VISIBILITY.getValue(this.configurationService),a=Jr.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||Qr.DEFAULT_BAR_WIDTH:c===!1?l=0:a!=="agentSessionsWelcomePage"&&(s==="visible"||s==="visibleInWorkspace")?l=n.layoutInfo.auxiliaryBarWidth||t.layoutInfo.auxiliaryBarWidth||Qr.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(C_);return e?.layoutInfo||(e={layoutInfo:{sideBarWidth:Qr.DEFAULT_BAR_WIDTH,auxiliaryBarWidth:Qr.DEFAULT_BAR_WIDTH,workspaces:{}}}),e.layoutInfo.sideBarWidth||(e.layoutInfo.sideBarWidth=Qr.DEFAULT_BAR_WIDTH),e.layoutInfo.auxiliaryBarWidth||(e.layoutInfo.auxiliaryBarWidth=Qr.DEFAULT_BAR_WIDTH),e.layoutInfo.workspaces||(e.layoutInfo.workspaces={}),e}};Qr=T([g(0,Ct),g(1,he),g(2,N)],Qr)});var cO={};import{app as oO,dialog as sO}from"electron";import{unlinkSync as aO,promises as k_}from"fs";var $I,lO,R_=w(()=>{d1();le();Ht();ge();Co();Be();ln();Q();Gi();He();Te();li();Z();Bn();er();Xt();wi();_d();LC();Ee();nt();OC();UC();Ft();kl();BC();$e();VC();zm();Ou();$C();Qm();_t();KC();oe();Oa();Yt();yh();qC();OI();s_();Qo();f_();ch();h_();wn();ss();nl();Ho();ri();g_();v_();$();Xn();I_();$l();b_();hy();ny();S_();Aa();__();dd();$I=class{main(){try{this.startup()}catch(r){console.error(r.message),oO.exit(1)}}async startup(){Ep(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(N),u=c.get(ye),f=c.get(Le),m=c.get(_n),y=await this.claimInstance(d,t,u,r,a,!0);if(z.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)}),P.once(u.onWillShutdown)(b=>{f.dispose(),n.dispose(),b.join("instanceLockfile",k_.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(ds,y,e).startup()})}catch(c){r.invokeFunction(this.quit,c)}}createServices(){let r=new ts,e=new re;process.once("exit",()=>e.dispose());let t={_serviceBrand:void 0,...pr};r.set(Re,t);let n=new vn(this.resolveArgs(),t),o=this.patchEnvironment(n);r.set(_e,n);let s=new oh(ux(n),n.logsHome);r.set(ni,s);let a=new zh(s.getLogLevel()),l=e.add(new eg(a,[new _f(s.getLogLevel())]));r.set(N,l);let c=new ps(l);r.set(Le,c);let d=new es(l);c.registerProvider(F.file,d);let u=new da(c);r.set(Tt,u);let f=new al(1,n,l,c);r.set($f,f),r.set(Ct,f);let m=new ll(f,u,n,c,l);r.set(Wr,m),c.registerProvider(F.vscodeUserData,new tg(F.file,d,F.vscodeUserData,m,u,l));let y;W&&t.win32RegValueName?y=e.add(new la(l,t.win32RegValueName)):B&&t.darwinBundleIdentifier?y=e.add(new la(l,t.darwinBundleIdentifier)):ie?y=e.add(new ca(E.file(XS),c,l)):n.policyFile?y=e.add(new ca(n.policyFile,c,l)):y=new Hl,r.set(Wn,y);let v=new $h(m.defaultProfile.settingsResource,c,y,l);return r.set(he,v),r.set(ye,new ve(_i,void 0,!1)),r.set(Mn,new ve(Ac,void 0,!0)),r.set(Ti,new ve(Qr)),r.set(as,new ve(Yh,void 0,!1)),r.set(zC,new ve(aa)),r.set(Yl,new _c(n,m,l)),[new qh(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 ht.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?k_.mkdir(s,{recursive:!0}):void 0)),n.init(),t.initialize()]),e.init()}allowWindowsUNCPath(r){if(W){let e=Jp(r);e&&qi(e)}return r}async claimInstance(r,e,t,n,o,s){let a;try{Ue("code/willStartMainServer"),a=await F1(e.mainIPCHandle),Ue("code/didStartMainServer"),P.once(t.onWillShutdown)(()=>a.dispose())}catch(l){if(l.code!=="EADDRINUSE")throw this.handleStartupDataDirError(e,o,l),l;let c;try{c=await U1(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{aO(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=Xe.toService(c.getChannel("launch"),{disableMarshalling:!0}),f=Xe.toService(c.getChannel("diagnostics"),{disableMarshalling:!0});if(e.args.status)return n.invokeFunction(async()=>{let m=new Cc(os,o),y=await f.getMainDiagnostics(),v=await f.getRemoteDiagnostics({includeProcesses:!0,includeWorkspaceMetadata:!0}),b=await m.getDiagnostics(y,v);throw console.log(b),new ha});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 ha("Sent env to running instance. Terminating...")}if(e.args.status)throw console.log(h(171,null,o.nameShort)),new ha("Terminating...");return process.env.VSCODE_PID=String(process.pid),a}handleStartupDataDirError(r,e,t){if(t.code==="EACCES"||t.code==="EPERM"){let n=it([r.userDataPath,r.extensionsPath,ff]).map(o=>ji(E.file(o),{os:Jt,tildify:r}));this.showStartupWarningDialog(h(169,null),h(170,null,Pr(t),n.join(`
`)),e)}}showStartupWarningDialog(r,e,t){sO.showMessageBoxSync(fm({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(N),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(J0(process.argv));if(r.wait&&!r.waitMarkerFilePath){let e=NC(r.verbose);e&&(Q0(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._=[en()]),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=en(),n=r.map(a=>{let l=String(a),c;e&&(c=Ca(l),l=c.path),l&&(l=this.preparePath(t,l));let d=Up(l,t),u=Pe(d);return u&&!gS(u)?null:e&&c?(c.path=d,this.toPath(c)):d}),o=W||B,s=Dr(n,a=>a&&o?a.toLowerCase():a||"");return it(s)}preparePath(r,e){return W&&(e=Kn(e,'"')),e=Ug(Ug(e," "),"	"),W&&(e=nn(r,e),e=Kn(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 $I;lO.main()});import*as Fn from"node:path";import*as Un from"original-fs";import*as A_ from"node:os";import{performance as dO}from"node:perf_hooks";import*as Ir from"node:path";import*as lg from"node:fs";import{createRequire as K_}from"node:module";var DO=K_(import.meta.url),LO=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 q_(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir(Ir.dirname(process.execPath))}catch(i){console.error(i)}}q_();function XI(i){let r=Ir.dirname(import.meta.dirname);function e(){return process.env.VSCODE_DEV?r:process.platform==="darwin"?Ir.dirname(Ir.dirname(Ir.dirname(r))):process.platform==="win32"&&i.win32VersionedUpdate?Ir.dirname(Ir.dirname(Ir.dirname(r))):Ir.dirname(Ir.dirname(r))}function t(){if(process.env.VSCODE_PORTABLE)return process.env.VSCODE_PORTABLE;if(process.platform==="win32"||process.platform==="linux")return Ir.join(e(),"data");let l=i.portable||`${i.applicationName}-portable-data`;return Ir.join(Ir.dirname(e()),l)}let n=t(),o=!("target"in i)&&lg.existsSync(n),s=Ir.join(n,"tmp"),a=o&&lg.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 lp from"node:fs";import{register as J_}from"node:module";import{createRequire as z_}from"node:module";var Bc=z_(import.meta.url),fs={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};fs.BUILD_INSERT_PRODUCT_CONFIGURATION&&(fs=Bc("../product.json"));var Vc={"name":"Code","version":"1.112.0","distro":"d1869def0636b437410e88c1472b254ba0b53a9d","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.23","@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.45-14","@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.39.1","@vscode/ripgrep":"^1.17.1","@vscode/spdlog":"^0.15.7","@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.10","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","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/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.0","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"};Vc.BUILD_INSERT_PACKAGE_CONFIGURATION&&(Vc=Bc("../package.json"));if(process.isEmbeddedApp){try{let i=Bc("../product.sub.json");fs=Object.assign(fs,i)}catch{}try{let i=Bc("../package.sub.json");Vc=Object.assign(Vc,i)}catch{}}var YI={};if(process.env.VSCODE_DEV)try{YI=Bc("../product.overrides.json"),fs=Object.assign(fs,YI)}catch{}var kr=fs,ZI=Vc;li();(process.env.ELECTRON_RUN_AS_NODE||process.versions.electron)&&J_(`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={...kr};globalThis._VSCODE_PACKAGE_JSON={...ZI};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;var ug;function Q_(){return ug||(ug=X_()),ug}async function X_(){Ue("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 lp.promises.readFile(r)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${r}: ${e}`),i?.languagePack?.corruptMarkerFile)try{await lp.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 lp.promises.readFile(i.defaultMessagesFile)).toString())}catch(t){console.error(`Error reading default NLS messages file ${i.defaultMessagesFile}: ${t}`)}}return Ue("code/didLoadNls"),i}}async function tb(){await Q_()}var M_=QI(pg(),1);import{app as Ye,protocol as uO,crashReporter as pO,Menu as fO,contentTracing as mO}from"electron";fg();mg();li();Te();li();Xt();import{promises as Ki}from"fs";async function rv({userLocale:i,osLocale:r,userDataPath:e,commit:t,nlsMetadataPath:n}){if(Ue("code/willGenerateNls"),process.env.VSCODE_DEV||i==="pseudo"||i.startsWith("en")||!t||!e)return cd(i,r,n);try{let o=await _R(e);if(!o)return cd(i,r,n);let s=kR(o,i);if(!s)return cd(i,r,n);let a=o[s],l=a?.translations?.vscode;if(!a||typeof a.hash!="string"||!a.translations||typeof l!="string"||!await z.exists(l))return cd(i,r,n);let c=`${a.hash}.${s}`,d=V(e,"clp",c),u=V(d,t),f=V(u,"nls.messages.json"),m=V(d,"tcf.json"),y=V(d,"corrupted.info");await z.exists(y)&&await Ki.rm(d,{recursive:!0,force:!0,maxRetries:3});let v={userLocale:i,osLocale:r,resolvedLanguage:s,defaultMessagesFile:V(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 z.exists(f))return RR(u).catch(()=>{}),Ue("code/didGenerateNls"),v;let[b,I,_]=await Promise.all([Ki.readFile(V(n,"nls.keys.json"),"utf-8").then(A=>JSON.parse(A)),Ki.readFile(V(n,"nls.messages.json"),"utf-8").then(A=>JSON.parse(A)),Ki.readFile(l,"utf-8").then(A=>JSON.parse(A))]),C=[],D=0;for(let[A,ae]of b){let U=_.contents[A];for(let Y of ae)C.push(U?.[Y]||I[D]),D++}return await Ki.mkdir(u,{recursive:!0}),await Promise.all([Ki.writeFile(f,JSON.stringify(C),"utf-8"),Ki.writeFile(m,JSON.stringify(a.translations),"utf-8")]),Ue("code/didGenerateNls"),v}catch(o){console.error("Generating translation files failed.",o)}return cd(i,r,n)}async function _R(i){let r=V(i,"languagepacks.json");try{return JSON.parse(await Ki.readFile(r,"utf-8"))}catch{return}}function kR(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 cd(i,r,e){return Ue("code/didGenerateNls"),{userLocale:i,osLocale:r,resolvedLanguage:"en",defaultMessagesFile:V(e,"nls.messages.json"),locale:i,availableLanguages:{}}}function RR(i){let r=new Date;return Ki.utimes(i,r,r)}Aa();Ue("code/didStartMain");Ue("code/willLoadMainBundle",{startTime:Math.floor(dO.timeOrigin)});Ue("code/didLoadMainBundle");var hO=XI(kr),Pn=xO(),rg=vO(Pn);Pn.sandbox&&!Pn["disable-chromium-sandbox"]&&!rg["disable-chromium-sandbox"]?Ye.enableSandbox():Ye.commandLine.hasSwitch("no-sandbox")&&!Ye.commandLine.hasSwitch("disable-gpu-sandbox")?Ye.commandLine.appendSwitch("disable-gpu-sandbox"):(Ye.commandLine.appendSwitch("no-sandbox"),Ye.commandLine.appendSwitch("disable-gpu-sandbox"));var Mc=dp(Pn,kr.nameShort??"code-oss-dev");if(process.platform==="win32"){let i=Jp(Mc);i&&qi(i)}Ye.setPath("userData",Mc);var D_=EO();fO.setApplicationMenu(null);Ue("code/willStartCrashReporter");(Pn["crash-reporter-directory"]||rg["enable-crash-reporter"]&&!Pn["disable-crash-reporter"])&&bO();Ue("code/didStartCrashReporter");hO.isPortable&&Ye.setAppLogsPath(Fn.join(Mc,"logs"));uO.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}}]);PO();var KI,qI=O_((Ye.getPreferredSystemLanguages()?.[0]??"en").toLowerCase()),rp=_O(rg);rp&&(KI=rv({userLocale:rp,osLocale:qI,commit:kr.commit,userDataPath:Mc,nlsMetadataPath:import.meta.dirname}));if(process.platform==="win32"||process.platform==="linux"){let i=!rp||rp==="qps-ploc"?"en":rp;Ye.commandLine.appendSwitch("lang",i)}Ye.once("ready",function(){if(Pn.trace){let i;if(Pn["trace-memory-infra"]){let r=Pn["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:Pn["trace-category-filter"]||"*",traceOptions:Pn["trace-options"]||"record-until-full,enable-sampling"};mO.startRecording(i).finally(()=>L_())}else L_()});async function L_(){Ue("code/mainAppReady");try{let[,i]=await Promise.all([TO(D_),CO()]);await gO(D_,i)}catch(i){console.error(i)}}async function gO(i,r){process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_CODE_CACHE_PATH=i||"",await tb(),await Promise.resolve().then(()=>(R_(),cO)),Ue("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=yO();Object.keys(t).forEach(l=>{let c=t[l];if(r.indexOf(l)!==-1){if(c===!0||c==="true")l==="disable-hardware-acceleration"?Ye.disableHardwareAcceleration():Ye.commandLine.appendSwitch(l);else if(typeof c=="string"&&c)if(l==="password-store"){let d=c;(c==="gnome"||c==="gnome-keyring")&&(d="gnome-libsecret"),Ye.commandLine.appendSwitch(l,d)}else Ye.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,${Ye.commandLine.getSwitchValue("enable-features")}`;Ye.commandLine.appendSwitch("enable-features",n);let o=`CalculateNativeWinOcclusion,${Ye.commandLine.getSwitchValue("disable-features")}`;Ye.commandLine.appendSwitch("disable-features",o);let s=`FontMatchingCTMigration,StandardizedBrowserZoom,${Ye.commandLine.getSwitchValue("disable-blink-features")}`;Ye.commandLine.appendSwitch("disable-blink-features",s);let a=SO(i,t);return a&&Ye.commandLine.appendSwitch("js-flags",a),Ye.commandLine.appendSwitch("xdg-portal-required-version","4"),Ye.commandLine.appendSwitch("max-active-webgl-contexts","32"),t}function yO(){let i=IO(),r;try{r=cp(Un.readFileSync(i).toString())}catch(e){e&&e.code==="ENOENT"?wO(i):console.warn(`Unable to read argv.json configuration file in ${i}, falling back to defaults (${e})`)}return r||(r={}),r}function wO(i){try{let r=Fn.dirname(i);Un.existsSync(r)||Un.mkdirSync(r),Un.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 IO(){let i=process.env.VSCODE_PORTABLE;if(i)return Fn.join(i,"argv.json");let r=kr.dataFolderName;return process.env.VSCODE_DEV&&(r=`${r}-dev`),Fn.join(A_.homedir(),r,"argv.json")}function bO(){let i=Pn["crash-reporter-directory"],r="";if(i){if(i=Fn.normalize(i),Fn.isAbsolute(i)||(console.error(`The path '${i}' specified for --crash-reporter-directory must be absolute.`),Ye.exit(1)),!Un.existsSync(i))try{Un.mkdirSync(i,{recursive:!0})}catch{console.error(`The path '${i}' specified for --crash-reporter-directory does not seem to exist or cannot be created.`),Ye.exit(1)}console.log(`Found --crash-reporter-directory argument. Setting crashDumps directory to be '${i}'`),Ye.setPath("crashDumps",i)}else{let o=kr.appCenter;if(o){let s=process.platform==="win32",a=process.platform==="linux",l=process.platform==="darwin",c=rg["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(kr.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=(kr.crashReporter?kr.crashReporter.productName:void 0)||kr.nameShort,t=(kr.crashReporter?kr.crashReporter.companyName:void 0)||"Microsoft",n=!!(!process.env.VSCODE_DEV&&r&&!i);pO.start({companyName:t,productName:process.env.VSCODE_DEV?`${e} Dev`:e,submitURL:r,uploadToServer:n,compress:!0,ignoreSystemCrashHandler:!0})}function SO(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 xO(){return(0,M_.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 PO(){let i=[];globalThis.macOpenFiles=i,Ye.on("open-file",function(t,n){i.push(n)});let r=[],e=function(t,n){t.preventDefault(),r.push(n)};Ye.on("will-finish-launching",function(){Ye.on("open-url",e)}),globalThis.getOpenUrls=function(){return Ye.removeListener("open-url",e),r}}function EO(){if(process.argv.indexOf("--no-cached-data")>0||process.env.VSCODE_DEV)return;let i=kr.commit;if(i)return Fn.join(Mc,"CachedData",i)}async function TO(i){if(typeof i=="string")try{return await Un.promises.mkdir(i,{recursive:!0}),i}catch{}}function O_(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 CO(){let i=KI?await KI:void 0;if(i)return i;let r=Ye.getLocale();return r?(r=O_(r.toLowerCase()),rv({userLocale:r,osLocale:qI,commit:kr.commit,userDataPath:Mc,nlsMetadataPath:import.meta.dirname})):{userLocale:"en",osLocale:qI,resolvedLanguage:"en",defaultMessagesFile:Fn.join(import.meta.dirname,"nls.messages.json"),locale:"en",availableLanguages:{}}}function _O(i){let r=Pn.locale;return r?r.toLowerCase():typeof i?.locale=="string"?i.locale.toLowerCase():void 0}
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/07ff9d6178ede9a1bd12ad3399074d726ebe6e43/core/main.js.map
