"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __esm = (fn, res) => function __init() {
  return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// ../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js
var require_fast_safe_stringify = __commonJS({
  "../node_modules/.pnpm/fast-safe-stringify@2.1.1/node_modules/fast-safe-stringify/index.js"(exports2, module2) {
    module2.exports = stringify2;
    stringify2.default = stringify2;
    stringify2.stable = deterministicStringify;
    stringify2.stableStringify = deterministicStringify;
    var LIMIT_REPLACE_NODE = "[...]";
    var CIRCULAR_REPLACE_NODE = "[Circular]";
    var arr = [];
    var replacerStack = [];
    function defaultOptions() {
      return {
        depthLimit: Number.MAX_SAFE_INTEGER,
        edgesLimit: Number.MAX_SAFE_INTEGER
      };
    }
    function stringify2(obj, replacer, spacer, options) {
      if (typeof options === "undefined") {
        options = defaultOptions();
      }
      decirc(obj, "", 0, [], void 0, 0, options);
      var res;
      try {
        if (replacerStack.length === 0) {
          res = JSON.stringify(obj, replacer, spacer);
        } else {
          res = JSON.stringify(obj, replaceGetterValues(replacer), spacer);
        }
      } catch (_) {
        return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
      } finally {
        while (arr.length !== 0) {
          var part = arr.pop();
          if (part.length === 4) {
            Object.defineProperty(part[0], part[1], part[3]);
          } else {
            part[0][part[1]] = part[2];
          }
        }
      }
      return res;
    }
    function setReplace(replace, val, k, parent) {
      var propertyDescriptor = Object.getOwnPropertyDescriptor(parent, k);
      if (propertyDescriptor.get !== void 0) {
        if (propertyDescriptor.configurable) {
          Object.defineProperty(parent, k, { value: replace });
          arr.push([parent, k, val, propertyDescriptor]);
        } else {
          replacerStack.push([val, k, replace]);
        }
      } else {
        parent[k] = replace;
        arr.push([parent, k, val]);
      }
    }
    function decirc(val, k, edgeIndex, stack, parent, depth, options) {
      depth += 1;
      var i;
      if (typeof val === "object" && val !== null) {
        for (i = 0; i < stack.length; i++) {
          if (stack[i] === val) {
            setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
            return;
          }
        }
        if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
          setReplace(LIMIT_REPLACE_NODE, val, k, parent);
          return;
        }
        if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
          setReplace(LIMIT_REPLACE_NODE, val, k, parent);
          return;
        }
        stack.push(val);
        if (Array.isArray(val)) {
          for (i = 0; i < val.length; i++) {
            decirc(val[i], i, i, stack, val, depth, options);
          }
        } else {
          var keys = Object.keys(val);
          for (i = 0; i < keys.length; i++) {
            var key = keys[i];
            decirc(val[key], key, i, stack, val, depth, options);
          }
        }
        stack.pop();
      }
    }
    function compareFunction(a, b) {
      if (a < b) {
        return -1;
      }
      if (a > b) {
        return 1;
      }
      return 0;
    }
    function deterministicStringify(obj, replacer, spacer, options) {
      if (typeof options === "undefined") {
        options = defaultOptions();
      }
      var tmp = deterministicDecirc(obj, "", 0, [], void 0, 0, options) || obj;
      var res;
      try {
        if (replacerStack.length === 0) {
          res = JSON.stringify(tmp, replacer, spacer);
        } else {
          res = JSON.stringify(tmp, replaceGetterValues(replacer), spacer);
        }
      } catch (_) {
        return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]");
      } finally {
        while (arr.length !== 0) {
          var part = arr.pop();
          if (part.length === 4) {
            Object.defineProperty(part[0], part[1], part[3]);
          } else {
            part[0][part[1]] = part[2];
          }
        }
      }
      return res;
    }
    function deterministicDecirc(val, k, edgeIndex, stack, parent, depth, options) {
      depth += 1;
      var i;
      if (typeof val === "object" && val !== null) {
        for (i = 0; i < stack.length; i++) {
          if (stack[i] === val) {
            setReplace(CIRCULAR_REPLACE_NODE, val, k, parent);
            return;
          }
        }
        try {
          if (typeof val.toJSON === "function") {
            return;
          }
        } catch (_) {
          return;
        }
        if (typeof options.depthLimit !== "undefined" && depth > options.depthLimit) {
          setReplace(LIMIT_REPLACE_NODE, val, k, parent);
          return;
        }
        if (typeof options.edgesLimit !== "undefined" && edgeIndex + 1 > options.edgesLimit) {
          setReplace(LIMIT_REPLACE_NODE, val, k, parent);
          return;
        }
        stack.push(val);
        if (Array.isArray(val)) {
          for (i = 0; i < val.length; i++) {
            deterministicDecirc(val[i], i, i, stack, val, depth, options);
          }
        } else {
          var tmp = {};
          var keys = Object.keys(val).sort(compareFunction);
          for (i = 0; i < keys.length; i++) {
            var key = keys[i];
            deterministicDecirc(val[key], key, i, stack, val, depth, options);
            tmp[key] = val[key];
          }
          if (typeof parent !== "undefined") {
            arr.push([parent, k, val]);
            parent[k] = tmp;
          } else {
            return tmp;
          }
        }
        stack.pop();
      }
    }
    function replaceGetterValues(replacer) {
      replacer = typeof replacer !== "undefined" ? replacer : function(k, v) {
        return v;
      };
      return function(key, val) {
        if (replacerStack.length > 0) {
          for (var i = 0; i < replacerStack.length; i++) {
            var part = replacerStack[i];
            if (part[1] === key && part[0] === val) {
              val = part[2];
              replacerStack.splice(i, 1);
              break;
            }
          }
        }
        return replacer.call(this, key, val);
      };
    }
  }
});

// ../node_modules/.pnpm/individual@3.0.0/node_modules/individual/index.js
var require_individual = __commonJS({
  "../node_modules/.pnpm/individual@3.0.0/node_modules/individual/index.js"(exports2, module2) {
    "use strict";
    var root = typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
    module2.exports = Individual;
    function Individual(key, value) {
      if (key in root) {
        return root[key];
      }
      root[key] = value;
      return value;
    }
  }
});

// ../node_modules/.pnpm/bole@5.0.17/node_modules/bole/format.js
var require_format = __commonJS({
  "../node_modules/.pnpm/bole@5.0.17/node_modules/bole/format.js"(exports2, module2) {
    var utilformat = require("util").format;
    function format(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
      if (a16 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16);
      }
      if (a15 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15);
      }
      if (a14 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14);
      }
      if (a13 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13);
      }
      if (a12 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
      }
      if (a11 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
      }
      if (a10 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10);
      }
      if (a9 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8, a9);
      }
      if (a8 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7, a8);
      }
      if (a7 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6, a7);
      }
      if (a6 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5, a6);
      }
      if (a5 !== void 0) {
        return utilformat(a1, a2, a3, a4, a5);
      }
      if (a4 !== void 0) {
        return utilformat(a1, a2, a3, a4);
      }
      if (a3 !== void 0) {
        return utilformat(a1, a2, a3);
      }
      if (a2 !== void 0) {
        return utilformat(a1, a2);
      }
      return a1;
    }
    module2.exports = format;
  }
});

// ../node_modules/.pnpm/bole@5.0.17/node_modules/bole/bole.js
var require_bole = __commonJS({
  "../node_modules/.pnpm/bole@5.0.17/node_modules/bole/bole.js"(exports2, module2) {
    "use strict";
    var _stringify = require_fast_safe_stringify();
    var individual = require_individual()("$$bole", { fastTime: false });
    var format = require_format();
    var levels = "debug info warn error".split(" ");
    var os = require("os");
    var pid = process.pid;
    var hasObjMode = false;
    var scache = [];
    var hostname;
    try {
      hostname = os.hostname();
    } catch (e) {
      hostname = os.version().indexOf("Windows 7 ") === 0 ? "windows7" : "hostname-unknown";
    }
    var hostnameSt = _stringify(hostname);
    for (const level of levels) {
      scache[level] = ',"hostname":' + hostnameSt + ',"pid":' + pid + ',"level":"' + level;
      Number(scache[level]);
      if (!Array.isArray(individual[level])) {
        individual[level] = [];
      }
    }
    function stackToString(e) {
      let s = e.stack;
      let ce;
      if (typeof e.cause === "function" && (ce = e.cause())) {
        s += "\nCaused by: " + stackToString(ce);
      }
      return s;
    }
    function errorToOut(err, out) {
      out.err = {
        name: err.name,
        message: err.message,
        code: err.code,
        // perhaps
        stack: stackToString(err)
      };
    }
    function requestToOut(req, out) {
      out.req = {
        method: req.method,
        url: req.url,
        headers: req.headers,
        remoteAddress: req.connection.remoteAddress,
        remotePort: req.connection.remotePort
      };
    }
    function objectToOut(obj, out) {
      for (const k in obj) {
        if (Object.prototype.hasOwnProperty.call(obj, k) && obj[k] !== void 0) {
          out[k] = obj[k];
        }
      }
    }
    function objectMode(stream) {
      return stream._writableState && stream._writableState.objectMode === true;
    }
    function stringify2(level, name, message, obj) {
      let s = '{"time":' + (individual.fastTime ? Date.now() : '"' + (/* @__PURE__ */ new Date()).toISOString() + '"') + scache[level] + '","name":' + name + (message !== void 0 ? ',"message":' + _stringify(message) : "");
      for (const k in obj) {
        s += "," + _stringify(k) + ":" + _stringify(obj[k]);
      }
      s += "}";
      Number(s);
      return s;
    }
    function extend(level, name, message, obj) {
      const newObj = {
        time: individual.fastTime ? Date.now() : (/* @__PURE__ */ new Date()).toISOString(),
        hostname,
        pid,
        level,
        name
      };
      if (message !== void 0) {
        obj.message = message;
      }
      for (const k in obj) {
        newObj[k] = obj[k];
      }
      return newObj;
    }
    function levelLogger(level, name) {
      const outputs = individual[level];
      const nameSt = _stringify(name);
      return function namedLevelLogger(inp, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) {
        if (outputs.length === 0) {
          return;
        }
        const out = {};
        let objectOut;
        let i = 0;
        const l = outputs.length;
        let stringified;
        let message;
        if (typeof inp === "string" || inp == null) {
          if (!(message = format(inp, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
            message = void 0;
          }
        } else {
          if (inp instanceof Error) {
            if (typeof a2 === "object") {
              objectToOut(a2, out);
              errorToOut(inp, out);
              if (!(message = format(a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
                message = void 0;
              }
            } else {
              errorToOut(inp, out);
              if (!(message = format(a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
                message = void 0;
              }
            }
          } else {
            if (!(message = format(a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16))) {
              message = void 0;
            }
          }
          if (typeof inp === "boolean") {
            message = String(inp);
          } else if (typeof inp === "object" && !(inp instanceof Error)) {
            if (inp.method && inp.url && inp.headers && inp.socket) {
              requestToOut(inp, out);
            } else {
              objectToOut(inp, out);
            }
          }
        }
        if (l === 1 && !hasObjMode) {
          outputs[0].write(Buffer.from(stringify2(level, nameSt, message, out) + "\n"));
          return;
        }
        for (; i < l; i++) {
          if (objectMode(outputs[i])) {
            if (objectOut === void 0) {
              objectOut = extend(level, name, message, out);
            }
            outputs[i].write(objectOut);
          } else {
            if (stringified === void 0) {
              stringified = Buffer.from(stringify2(level, nameSt, message, out) + "\n");
            }
            outputs[i].write(stringified);
          }
        }
      };
    }
    function bole(name) {
      function boleLogger(subname) {
        return bole(name + ":" + subname);
      }
      function makeLogger(p, level) {
        p[level] = levelLogger(level, name);
        return p;
      }
      return levels.reduce(makeLogger, boleLogger);
    }
    bole.output = function output(opt) {
      let b = false;
      if (Array.isArray(opt)) {
        opt.forEach(bole.output);
        return bole;
      }
      if (typeof opt.level !== "string") {
        throw new TypeError('Must provide a "level" option');
      }
      for (const level of levels) {
        if (!b && level === opt.level) {
          b = true;
        }
        if (b) {
          if (opt.stream && objectMode(opt.stream)) {
            hasObjMode = true;
          }
          individual[level].push(opt.stream);
        }
      }
      return bole;
    };
    bole.reset = function reset() {
      for (const level of levels) {
        individual[level].splice(0, individual[level].length);
      }
      individual.fastTime = false;
      return bole;
    };
    bole.setFastTime = function setFastTime(b) {
      if (!arguments.length) {
        individual.fastTime = true;
      } else {
        individual.fastTime = b;
      }
      return bole;
    };
    module2.exports = bole;
  }
});

// ../packages/logger/lib/logger.js
var require_logger = __commonJS({
  "../packages/logger/lib/logger.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.logger = void 0;
    exports2.globalWarn = globalWarn;
    exports2.globalInfo = globalInfo;
    var bole_1 = __importDefault2(require_bole());
    bole_1.default.setFastTime();
    exports2.logger = (0, bole_1.default)("pnpm");
    var globalLogger = (0, bole_1.default)("pnpm:global");
    function globalWarn(message) {
      globalLogger.warn(message);
    }
    function globalInfo(message) {
      globalLogger.info(message);
    }
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream.js
var require_stream = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/stream.js"(exports2, module2) {
    module2.exports = require("stream");
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js
var require_buffer_list = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/buffer_list.js"(exports2, module2) {
    "use strict";
    function ownKeys2(object, enumerableOnly) {
      var keys = Object.keys(object);
      if (Object.getOwnPropertySymbols) {
        var symbols = Object.getOwnPropertySymbols(object);
        enumerableOnly && (symbols = symbols.filter(function(sym) {
          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
        })), keys.push.apply(keys, symbols);
      }
      return keys;
    }
    function _objectSpread(target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = null != arguments[i] ? arguments[i] : {};
        i % 2 ? ownKeys2(Object(source), true).forEach(function(key) {
          _defineProperty(target, key, source[key]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key) {
          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
        });
      }
      return target;
    }
    function _defineProperty(obj, key, value) {
      key = _toPropertyKey(key);
      if (key in obj) {
        Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }
      return obj;
    }
    function _classCallCheck(instance, Constructor) {
      if (!(instance instanceof Constructor)) {
        throw new TypeError("Cannot call a class as a function");
      }
    }
    function _defineProperties(target, props) {
      for (var i = 0; i < props.length; i++) {
        var descriptor = props[i];
        descriptor.enumerable = descriptor.enumerable || false;
        descriptor.configurable = true;
        if ("value" in descriptor) descriptor.writable = true;
        Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
      }
    }
    function _createClass(Constructor, protoProps, staticProps) {
      if (protoProps) _defineProperties(Constructor.prototype, protoProps);
      if (staticProps) _defineProperties(Constructor, staticProps);
      Object.defineProperty(Constructor, "prototype", { writable: false });
      return Constructor;
    }
    function _toPropertyKey(arg) {
      var key = _toPrimitive(arg, "string");
      return typeof key === "symbol" ? key : String(key);
    }
    function _toPrimitive(input, hint) {
      if (typeof input !== "object" || input === null) return input;
      var prim = input[Symbol.toPrimitive];
      if (prim !== void 0) {
        var res = prim.call(input, hint || "default");
        if (typeof res !== "object") return res;
        throw new TypeError("@@toPrimitive must return a primitive value.");
      }
      return (hint === "string" ? String : Number)(input);
    }
    var _require = require("buffer");
    var Buffer2 = _require.Buffer;
    var _require2 = require("util");
    var inspect = _require2.inspect;
    var custom = inspect && inspect.custom || "inspect";
    function copyBuffer(src, target, offset) {
      Buffer2.prototype.copy.call(src, target, offset);
    }
    module2.exports = /* @__PURE__ */ function() {
      function BufferList() {
        _classCallCheck(this, BufferList);
        this.head = null;
        this.tail = null;
        this.length = 0;
      }
      _createClass(BufferList, [{
        key: "push",
        value: function push(v) {
          var entry = {
            data: v,
            next: null
          };
          if (this.length > 0) this.tail.next = entry;
          else this.head = entry;
          this.tail = entry;
          ++this.length;
        }
      }, {
        key: "unshift",
        value: function unshift(v) {
          var entry = {
            data: v,
            next: this.head
          };
          if (this.length === 0) this.tail = entry;
          this.head = entry;
          ++this.length;
        }
      }, {
        key: "shift",
        value: function shift() {
          if (this.length === 0) return;
          var ret2 = this.head.data;
          if (this.length === 1) this.head = this.tail = null;
          else this.head = this.head.next;
          --this.length;
          return ret2;
        }
      }, {
        key: "clear",
        value: function clear() {
          this.head = this.tail = null;
          this.length = 0;
        }
      }, {
        key: "join",
        value: function join(s) {
          if (this.length === 0) return "";
          var p = this.head;
          var ret2 = "" + p.data;
          while (p = p.next) ret2 += s + p.data;
          return ret2;
        }
      }, {
        key: "concat",
        value: function concat(n) {
          if (this.length === 0) return Buffer2.alloc(0);
          var ret2 = Buffer2.allocUnsafe(n >>> 0);
          var p = this.head;
          var i = 0;
          while (p) {
            copyBuffer(p.data, ret2, i);
            i += p.data.length;
            p = p.next;
          }
          return ret2;
        }
        // Consumes a specified amount of bytes or characters from the buffered data.
      }, {
        key: "consume",
        value: function consume(n, hasStrings) {
          var ret2;
          if (n < this.head.data.length) {
            ret2 = this.head.data.slice(0, n);
            this.head.data = this.head.data.slice(n);
          } else if (n === this.head.data.length) {
            ret2 = this.shift();
          } else {
            ret2 = hasStrings ? this._getString(n) : this._getBuffer(n);
          }
          return ret2;
        }
      }, {
        key: "first",
        value: function first() {
          return this.head.data;
        }
        // Consumes a specified amount of characters from the buffered data.
      }, {
        key: "_getString",
        value: function _getString(n) {
          var p = this.head;
          var c = 1;
          var ret2 = p.data;
          n -= ret2.length;
          while (p = p.next) {
            var str = p.data;
            var nb = n > str.length ? str.length : n;
            if (nb === str.length) ret2 += str;
            else ret2 += str.slice(0, n);
            n -= nb;
            if (n === 0) {
              if (nb === str.length) {
                ++c;
                if (p.next) this.head = p.next;
                else this.head = this.tail = null;
              } else {
                this.head = p;
                p.data = str.slice(nb);
              }
              break;
            }
            ++c;
          }
          this.length -= c;
          return ret2;
        }
        // Consumes a specified amount of bytes from the buffered data.
      }, {
        key: "_getBuffer",
        value: function _getBuffer(n) {
          var ret2 = Buffer2.allocUnsafe(n);
          var p = this.head;
          var c = 1;
          p.data.copy(ret2);
          n -= p.data.length;
          while (p = p.next) {
            var buf = p.data;
            var nb = n > buf.length ? buf.length : n;
            buf.copy(ret2, ret2.length - n, 0, nb);
            n -= nb;
            if (n === 0) {
              if (nb === buf.length) {
                ++c;
                if (p.next) this.head = p.next;
                else this.head = this.tail = null;
              } else {
                this.head = p;
                p.data = buf.slice(nb);
              }
              break;
            }
            ++c;
          }
          this.length -= c;
          return ret2;
        }
        // Make sure the linked list only shows the minimal necessary information.
      }, {
        key: custom,
        value: function value(_, options) {
          return inspect(this, _objectSpread(_objectSpread({}, options), {}, {
            // Only inspect one level.
            depth: 0,
            // It should not recurse.
            customInspect: false
          }));
        }
      }]);
      return BufferList;
    }();
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js
var require_destroy = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/destroy.js"(exports2, module2) {
    "use strict";
    function destroy(err, cb) {
      var _this = this;
      var readableDestroyed = this._readableState && this._readableState.destroyed;
      var writableDestroyed = this._writableState && this._writableState.destroyed;
      if (readableDestroyed || writableDestroyed) {
        if (cb) {
          cb(err);
        } else if (err) {
          if (!this._writableState) {
            process.nextTick(emitErrorNT, this, err);
          } else if (!this._writableState.errorEmitted) {
            this._writableState.errorEmitted = true;
            process.nextTick(emitErrorNT, this, err);
          }
        }
        return this;
      }
      if (this._readableState) {
        this._readableState.destroyed = true;
      }
      if (this._writableState) {
        this._writableState.destroyed = true;
      }
      this._destroy(err || null, function(err2) {
        if (!cb && err2) {
          if (!_this._writableState) {
            process.nextTick(emitErrorAndCloseNT, _this, err2);
          } else if (!_this._writableState.errorEmitted) {
            _this._writableState.errorEmitted = true;
            process.nextTick(emitErrorAndCloseNT, _this, err2);
          } else {
            process.nextTick(emitCloseNT, _this);
          }
        } else if (cb) {
          process.nextTick(emitCloseNT, _this);
          cb(err2);
        } else {
          process.nextTick(emitCloseNT, _this);
        }
      });
      return this;
    }
    function emitErrorAndCloseNT(self2, err) {
      emitErrorNT(self2, err);
      emitCloseNT(self2);
    }
    function emitCloseNT(self2) {
      if (self2._writableState && !self2._writableState.emitClose) return;
      if (self2._readableState && !self2._readableState.emitClose) return;
      self2.emit("close");
    }
    function undestroy() {
      if (this._readableState) {
        this._readableState.destroyed = false;
        this._readableState.reading = false;
        this._readableState.ended = false;
        this._readableState.endEmitted = false;
      }
      if (this._writableState) {
        this._writableState.destroyed = false;
        this._writableState.ended = false;
        this._writableState.ending = false;
        this._writableState.finalCalled = false;
        this._writableState.prefinished = false;
        this._writableState.finished = false;
        this._writableState.errorEmitted = false;
      }
    }
    function emitErrorNT(self2, err) {
      self2.emit("error", err);
    }
    function errorOrDestroy(stream, err) {
      var rState = stream._readableState;
      var wState = stream._writableState;
      if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);
      else stream.emit("error", err);
    }
    module2.exports = {
      destroy,
      undestroy,
      errorOrDestroy
    };
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors.js
var require_errors = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/errors.js"(exports2, module2) {
    "use strict";
    var codes = {};
    function createErrorType(code, message, Base) {
      if (!Base) {
        Base = Error;
      }
      function getMessage(arg1, arg2, arg3) {
        if (typeof message === "string") {
          return message;
        } else {
          return message(arg1, arg2, arg3);
        }
      }
      class NodeError extends Base {
        constructor(arg1, arg2, arg3) {
          super(getMessage(arg1, arg2, arg3));
        }
      }
      NodeError.prototype.name = Base.name;
      NodeError.prototype.code = code;
      codes[code] = NodeError;
    }
    function oneOf(expected, thing) {
      if (Array.isArray(expected)) {
        const len = expected.length;
        expected = expected.map((i) => String(i));
        if (len > 2) {
          return `one of ${thing} ${expected.slice(0, len - 1).join(", ")}, or ` + expected[len - 1];
        } else if (len === 2) {
          return `one of ${thing} ${expected[0]} or ${expected[1]}`;
        } else {
          return `of ${thing} ${expected[0]}`;
        }
      } else {
        return `of ${thing} ${String(expected)}`;
      }
    }
    function startsWith(str, search, pos) {
      return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;
    }
    function endsWith(str, search, this_len) {
      if (this_len === void 0 || this_len > str.length) {
        this_len = str.length;
      }
      return str.substring(this_len - search.length, this_len) === search;
    }
    function includes(str, search, start) {
      if (typeof start !== "number") {
        start = 0;
      }
      if (start + search.length > str.length) {
        return false;
      } else {
        return str.indexOf(search, start) !== -1;
      }
    }
    createErrorType("ERR_INVALID_OPT_VALUE", function(name, value) {
      return 'The value "' + value + '" is invalid for option "' + name + '"';
    }, TypeError);
    createErrorType("ERR_INVALID_ARG_TYPE", function(name, expected, actual) {
      let determiner;
      if (typeof expected === "string" && startsWith(expected, "not ")) {
        determiner = "must not be";
        expected = expected.replace(/^not /, "");
      } else {
        determiner = "must be";
      }
      let msg;
      if (endsWith(name, " argument")) {
        msg = `The ${name} ${determiner} ${oneOf(expected, "type")}`;
      } else {
        const type = includes(name, ".") ? "property" : "argument";
        msg = `The "${name}" ${type} ${determiner} ${oneOf(expected, "type")}`;
      }
      msg += `. Received type ${typeof actual}`;
      return msg;
    }, TypeError);
    createErrorType("ERR_STREAM_PUSH_AFTER_EOF", "stream.push() after EOF");
    createErrorType("ERR_METHOD_NOT_IMPLEMENTED", function(name) {
      return "The " + name + " method is not implemented";
    });
    createErrorType("ERR_STREAM_PREMATURE_CLOSE", "Premature close");
    createErrorType("ERR_STREAM_DESTROYED", function(name) {
      return "Cannot call " + name + " after a stream was destroyed";
    });
    createErrorType("ERR_MULTIPLE_CALLBACK", "Callback called multiple times");
    createErrorType("ERR_STREAM_CANNOT_PIPE", "Cannot pipe, not readable");
    createErrorType("ERR_STREAM_WRITE_AFTER_END", "write after end");
    createErrorType("ERR_STREAM_NULL_VALUES", "May not write null values to stream", TypeError);
    createErrorType("ERR_UNKNOWN_ENCODING", function(arg) {
      return "Unknown encoding: " + arg;
    }, TypeError);
    createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT", "stream.unshift() after end event");
    module2.exports.codes = codes;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js
var require_state = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/state.js"(exports2, module2) {
    "use strict";
    var ERR_INVALID_OPT_VALUE = require_errors().codes.ERR_INVALID_OPT_VALUE;
    function highWaterMarkFrom(options, isDuplex, duplexKey) {
      return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;
    }
    function getHighWaterMark(state, options, duplexKey, isDuplex) {
      var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);
      if (hwm != null) {
        if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {
          var name = isDuplex ? duplexKey : "highWaterMark";
          throw new ERR_INVALID_OPT_VALUE(name, hwm);
        }
        return Math.floor(hwm);
      }
      return state.objectMode ? 16 : 16 * 1024;
    }
    module2.exports = {
      getHighWaterMark
    };
  }
});

// ../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js
var require_inherits_browser = __commonJS({
  "../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits_browser.js"(exports2, module2) {
    if (typeof Object.create === "function") {
      module2.exports = function inherits(ctor, superCtor) {
        if (superCtor) {
          ctor.super_ = superCtor;
          ctor.prototype = Object.create(superCtor.prototype, {
            constructor: {
              value: ctor,
              enumerable: false,
              writable: true,
              configurable: true
            }
          });
        }
      };
    } else {
      module2.exports = function inherits(ctor, superCtor) {
        if (superCtor) {
          ctor.super_ = superCtor;
          var TempCtor = function() {
          };
          TempCtor.prototype = superCtor.prototype;
          ctor.prototype = new TempCtor();
          ctor.prototype.constructor = ctor;
        }
      };
    }
  }
});

// ../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js
var require_inherits = __commonJS({
  "../node_modules/.pnpm/inherits@2.0.4/node_modules/inherits/inherits.js"(exports2, module2) {
    try {
      util = require("util");
      if (typeof util.inherits !== "function") throw "";
      module2.exports = util.inherits;
    } catch (e) {
      module2.exports = require_inherits_browser();
    }
    var util;
  }
});

// ../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/node.js
var require_node = __commonJS({
  "../node_modules/.pnpm/util-deprecate@1.0.2/node_modules/util-deprecate/node.js"(exports2, module2) {
    module2.exports = require("util").deprecate;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js
var require_stream_writable = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_writable.js"(exports2, module2) {
    "use strict";
    module2.exports = Writable;
    function CorkedRequest(state) {
      var _this = this;
      this.next = null;
      this.entry = null;
      this.finish = function() {
        onCorkedFinish(_this, state);
      };
    }
    var Duplex;
    Writable.WritableState = WritableState;
    var internalUtil = {
      deprecate: require_node()
    };
    var Stream = require_stream();
    var Buffer2 = require("buffer").Buffer;
    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
    };
    function _uint8ArrayToBuffer(chunk) {
      return Buffer2.from(chunk);
    }
    function _isUint8Array(obj) {
      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
    }
    var destroyImpl = require_destroy();
    var _require = require_state();
    var getHighWaterMark = _require.getHighWaterMark;
    var _require$codes = require_errors().codes;
    var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
    var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
    var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;
    var ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE;
    var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
    var ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES;
    var ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END;
    var ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;
    var errorOrDestroy = destroyImpl.errorOrDestroy;
    require_inherits()(Writable, Stream);
    function nop() {
    }
    function WritableState(options, stream, isDuplex) {
      Duplex = Duplex || require_stream_duplex();
      options = options || {};
      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof Duplex;
      this.objectMode = !!options.objectMode;
      if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
      this.highWaterMark = getHighWaterMark(this, options, "writableHighWaterMark", isDuplex);
      this.finalCalled = false;
      this.needDrain = false;
      this.ending = false;
      this.ended = false;
      this.finished = false;
      this.destroyed = false;
      var noDecode = options.decodeStrings === false;
      this.decodeStrings = !noDecode;
      this.defaultEncoding = options.defaultEncoding || "utf8";
      this.length = 0;
      this.writing = false;
      this.corked = 0;
      this.sync = true;
      this.bufferProcessing = false;
      this.onwrite = function(er) {
        onwrite(stream, er);
      };
      this.writecb = null;
      this.writelen = 0;
      this.bufferedRequest = null;
      this.lastBufferedRequest = null;
      this.pendingcb = 0;
      this.prefinished = false;
      this.errorEmitted = false;
      this.emitClose = options.emitClose !== false;
      this.autoDestroy = !!options.autoDestroy;
      this.bufferedRequestCount = 0;
      this.corkedRequestsFree = new CorkedRequest(this);
    }
    WritableState.prototype.getBuffer = function getBuffer() {
      var current = this.bufferedRequest;
      var out = [];
      while (current) {
        out.push(current);
        current = current.next;
      }
      return out;
    };
    (function() {
      try {
        Object.defineProperty(WritableState.prototype, "buffer", {
          get: internalUtil.deprecate(function writableStateBufferGetter() {
            return this.getBuffer();
          }, "_writableState.buffer is deprecated. Use _writableState.getBuffer instead.", "DEP0003")
        });
      } catch (_) {
      }
    })();
    var realHasInstance;
    if (typeof Symbol === "function" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === "function") {
      realHasInstance = Function.prototype[Symbol.hasInstance];
      Object.defineProperty(Writable, Symbol.hasInstance, {
        value: function value(object) {
          if (realHasInstance.call(this, object)) return true;
          if (this !== Writable) return false;
          return object && object._writableState instanceof WritableState;
        }
      });
    } else {
      realHasInstance = function realHasInstance2(object) {
        return object instanceof this;
      };
    }
    function Writable(options) {
      Duplex = Duplex || require_stream_duplex();
      var isDuplex = this instanceof Duplex;
      if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);
      this._writableState = new WritableState(options, this, isDuplex);
      this.writable = true;
      if (options) {
        if (typeof options.write === "function") this._write = options.write;
        if (typeof options.writev === "function") this._writev = options.writev;
        if (typeof options.destroy === "function") this._destroy = options.destroy;
        if (typeof options.final === "function") this._final = options.final;
      }
      Stream.call(this);
    }
    Writable.prototype.pipe = function() {
      errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());
    };
    function writeAfterEnd(stream, cb) {
      var er = new ERR_STREAM_WRITE_AFTER_END();
      errorOrDestroy(stream, er);
      process.nextTick(cb, er);
    }
    function validChunk(stream, state, chunk, cb) {
      var er;
      if (chunk === null) {
        er = new ERR_STREAM_NULL_VALUES();
      } else if (typeof chunk !== "string" && !state.objectMode) {
        er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer"], chunk);
      }
      if (er) {
        errorOrDestroy(stream, er);
        process.nextTick(cb, er);
        return false;
      }
      return true;
    }
    Writable.prototype.write = function(chunk, encoding, cb) {
      var state = this._writableState;
      var ret2 = false;
      var isBuf = !state.objectMode && _isUint8Array(chunk);
      if (isBuf && !Buffer2.isBuffer(chunk)) {
        chunk = _uint8ArrayToBuffer(chunk);
      }
      if (typeof encoding === "function") {
        cb = encoding;
        encoding = null;
      }
      if (isBuf) encoding = "buffer";
      else if (!encoding) encoding = state.defaultEncoding;
      if (typeof cb !== "function") cb = nop;
      if (state.ending) writeAfterEnd(this, cb);
      else if (isBuf || validChunk(this, state, chunk, cb)) {
        state.pendingcb++;
        ret2 = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
      }
      return ret2;
    };
    Writable.prototype.cork = function() {
      this._writableState.corked++;
    };
    Writable.prototype.uncork = function() {
      var state = this._writableState;
      if (state.corked) {
        state.corked--;
        if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
      }
    };
    Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
      if (typeof encoding === "string") encoding = encoding.toLowerCase();
      if (!(["hex", "utf8", "utf-8", "ascii", "binary", "base64", "ucs2", "ucs-2", "utf16le", "utf-16le", "raw"].indexOf((encoding + "").toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);
      this._writableState.defaultEncoding = encoding;
      return this;
    };
    Object.defineProperty(Writable.prototype, "writableBuffer", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState && this._writableState.getBuffer();
      }
    });
    function decodeChunk(state, chunk, encoding) {
      if (!state.objectMode && state.decodeStrings !== false && typeof chunk === "string") {
        chunk = Buffer2.from(chunk, encoding);
      }
      return chunk;
    }
    Object.defineProperty(Writable.prototype, "writableHighWaterMark", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState.highWaterMark;
      }
    });
    function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
      if (!isBuf) {
        var newChunk = decodeChunk(state, chunk, encoding);
        if (chunk !== newChunk) {
          isBuf = true;
          encoding = "buffer";
          chunk = newChunk;
        }
      }
      var len = state.objectMode ? 1 : chunk.length;
      state.length += len;
      var ret2 = state.length < state.highWaterMark;
      if (!ret2) state.needDrain = true;
      if (state.writing || state.corked) {
        var last = state.lastBufferedRequest;
        state.lastBufferedRequest = {
          chunk,
          encoding,
          isBuf,
          callback: cb,
          next: null
        };
        if (last) {
          last.next = state.lastBufferedRequest;
        } else {
          state.bufferedRequest = state.lastBufferedRequest;
        }
        state.bufferedRequestCount += 1;
      } else {
        doWrite(stream, state, false, len, chunk, encoding, cb);
      }
      return ret2;
    }
    function doWrite(stream, state, writev, len, chunk, encoding, cb) {
      state.writelen = len;
      state.writecb = cb;
      state.writing = true;
      state.sync = true;
      if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED("write"));
      else if (writev) stream._writev(chunk, state.onwrite);
      else stream._write(chunk, encoding, state.onwrite);
      state.sync = false;
    }
    function onwriteError(stream, state, sync, er, cb) {
      --state.pendingcb;
      if (sync) {
        process.nextTick(cb, er);
        process.nextTick(finishMaybe, stream, state);
        stream._writableState.errorEmitted = true;
        errorOrDestroy(stream, er);
      } else {
        cb(er);
        stream._writableState.errorEmitted = true;
        errorOrDestroy(stream, er);
        finishMaybe(stream, state);
      }
    }
    function onwriteStateUpdate(state) {
      state.writing = false;
      state.writecb = null;
      state.length -= state.writelen;
      state.writelen = 0;
    }
    function onwrite(stream, er) {
      var state = stream._writableState;
      var sync = state.sync;
      var cb = state.writecb;
      if (typeof cb !== "function") throw new ERR_MULTIPLE_CALLBACK();
      onwriteStateUpdate(state);
      if (er) onwriteError(stream, state, sync, er, cb);
      else {
        var finished = needFinish(state) || stream.destroyed;
        if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
          clearBuffer(stream, state);
        }
        if (sync) {
          process.nextTick(afterWrite, stream, state, finished, cb);
        } else {
          afterWrite(stream, state, finished, cb);
        }
      }
    }
    function afterWrite(stream, state, finished, cb) {
      if (!finished) onwriteDrain(stream, state);
      state.pendingcb--;
      cb();
      finishMaybe(stream, state);
    }
    function onwriteDrain(stream, state) {
      if (state.length === 0 && state.needDrain) {
        state.needDrain = false;
        stream.emit("drain");
      }
    }
    function clearBuffer(stream, state) {
      state.bufferProcessing = true;
      var entry = state.bufferedRequest;
      if (stream._writev && entry && entry.next) {
        var l = state.bufferedRequestCount;
        var buffer = new Array(l);
        var holder = state.corkedRequestsFree;
        holder.entry = entry;
        var count = 0;
        var allBuffers = true;
        while (entry) {
          buffer[count] = entry;
          if (!entry.isBuf) allBuffers = false;
          entry = entry.next;
          count += 1;
        }
        buffer.allBuffers = allBuffers;
        doWrite(stream, state, true, state.length, buffer, "", holder.finish);
        state.pendingcb++;
        state.lastBufferedRequest = null;
        if (holder.next) {
          state.corkedRequestsFree = holder.next;
          holder.next = null;
        } else {
          state.corkedRequestsFree = new CorkedRequest(state);
        }
        state.bufferedRequestCount = 0;
      } else {
        while (entry) {
          var chunk = entry.chunk;
          var encoding = entry.encoding;
          var cb = entry.callback;
          var len = state.objectMode ? 1 : chunk.length;
          doWrite(stream, state, false, len, chunk, encoding, cb);
          entry = entry.next;
          state.bufferedRequestCount--;
          if (state.writing) {
            break;
          }
        }
        if (entry === null) state.lastBufferedRequest = null;
      }
      state.bufferedRequest = entry;
      state.bufferProcessing = false;
    }
    Writable.prototype._write = function(chunk, encoding, cb) {
      cb(new ERR_METHOD_NOT_IMPLEMENTED("_write()"));
    };
    Writable.prototype._writev = null;
    Writable.prototype.end = function(chunk, encoding, cb) {
      var state = this._writableState;
      if (typeof chunk === "function") {
        cb = chunk;
        chunk = null;
        encoding = null;
      } else if (typeof encoding === "function") {
        cb = encoding;
        encoding = null;
      }
      if (chunk !== null && chunk !== void 0) this.write(chunk, encoding);
      if (state.corked) {
        state.corked = 1;
        this.uncork();
      }
      if (!state.ending) endWritable(this, state, cb);
      return this;
    };
    Object.defineProperty(Writable.prototype, "writableLength", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState.length;
      }
    });
    function needFinish(state) {
      return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
    }
    function callFinal(stream, state) {
      stream._final(function(err) {
        state.pendingcb--;
        if (err) {
          errorOrDestroy(stream, err);
        }
        state.prefinished = true;
        stream.emit("prefinish");
        finishMaybe(stream, state);
      });
    }
    function prefinish(stream, state) {
      if (!state.prefinished && !state.finalCalled) {
        if (typeof stream._final === "function" && !state.destroyed) {
          state.pendingcb++;
          state.finalCalled = true;
          process.nextTick(callFinal, stream, state);
        } else {
          state.prefinished = true;
          stream.emit("prefinish");
        }
      }
    }
    function finishMaybe(stream, state) {
      var need = needFinish(state);
      if (need) {
        prefinish(stream, state);
        if (state.pendingcb === 0) {
          state.finished = true;
          stream.emit("finish");
          if (state.autoDestroy) {
            var rState = stream._readableState;
            if (!rState || rState.autoDestroy && rState.endEmitted) {
              stream.destroy();
            }
          }
        }
      }
      return need;
    }
    function endWritable(stream, state, cb) {
      state.ending = true;
      finishMaybe(stream, state);
      if (cb) {
        if (state.finished) process.nextTick(cb);
        else stream.once("finish", cb);
      }
      state.ended = true;
      stream.writable = false;
    }
    function onCorkedFinish(corkReq, state, err) {
      var entry = corkReq.entry;
      corkReq.entry = null;
      while (entry) {
        var cb = entry.callback;
        state.pendingcb--;
        cb(err);
        entry = entry.next;
      }
      state.corkedRequestsFree.next = corkReq;
    }
    Object.defineProperty(Writable.prototype, "destroyed", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        if (this._writableState === void 0) {
          return false;
        }
        return this._writableState.destroyed;
      },
      set: function set(value) {
        if (!this._writableState) {
          return;
        }
        this._writableState.destroyed = value;
      }
    });
    Writable.prototype.destroy = destroyImpl.destroy;
    Writable.prototype._undestroy = destroyImpl.undestroy;
    Writable.prototype._destroy = function(err, cb) {
      cb(err);
    };
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js
var require_stream_duplex = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_duplex.js"(exports2, module2) {
    "use strict";
    var objectKeys = Object.keys || function(obj) {
      var keys2 = [];
      for (var key in obj) keys2.push(key);
      return keys2;
    };
    module2.exports = Duplex;
    var Readable = require_stream_readable();
    var Writable = require_stream_writable();
    require_inherits()(Duplex, Readable);
    {
      keys = objectKeys(Writable.prototype);
      for (v = 0; v < keys.length; v++) {
        method = keys[v];
        if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];
      }
    }
    var keys;
    var method;
    var v;
    function Duplex(options) {
      if (!(this instanceof Duplex)) return new Duplex(options);
      Readable.call(this, options);
      Writable.call(this, options);
      this.allowHalfOpen = true;
      if (options) {
        if (options.readable === false) this.readable = false;
        if (options.writable === false) this.writable = false;
        if (options.allowHalfOpen === false) {
          this.allowHalfOpen = false;
          this.once("end", onend);
        }
      }
    }
    Object.defineProperty(Duplex.prototype, "writableHighWaterMark", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState.highWaterMark;
      }
    });
    Object.defineProperty(Duplex.prototype, "writableBuffer", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState && this._writableState.getBuffer();
      }
    });
    Object.defineProperty(Duplex.prototype, "writableLength", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._writableState.length;
      }
    });
    function onend() {
      if (this._writableState.ended) return;
      process.nextTick(onEndNT, this);
    }
    function onEndNT(self2) {
      self2.end();
    }
    Object.defineProperty(Duplex.prototype, "destroyed", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        if (this._readableState === void 0 || this._writableState === void 0) {
          return false;
        }
        return this._readableState.destroyed && this._writableState.destroyed;
      },
      set: function set(value) {
        if (this._readableState === void 0 || this._writableState === void 0) {
          return;
        }
        this._readableState.destroyed = value;
        this._writableState.destroyed = value;
      }
    });
  }
});

// ../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js
var require_safe_buffer = __commonJS({
  "../node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js"(exports2, module2) {
    var buffer = require("buffer");
    var Buffer2 = buffer.Buffer;
    function copyProps(src, dst) {
      for (var key in src) {
        dst[key] = src[key];
      }
    }
    if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
      module2.exports = buffer;
    } else {
      copyProps(buffer, exports2);
      exports2.Buffer = SafeBuffer;
    }
    function SafeBuffer(arg, encodingOrOffset, length) {
      return Buffer2(arg, encodingOrOffset, length);
    }
    SafeBuffer.prototype = Object.create(Buffer2.prototype);
    copyProps(Buffer2, SafeBuffer);
    SafeBuffer.from = function(arg, encodingOrOffset, length) {
      if (typeof arg === "number") {
        throw new TypeError("Argument must not be a number");
      }
      return Buffer2(arg, encodingOrOffset, length);
    };
    SafeBuffer.alloc = function(size, fill, encoding) {
      if (typeof size !== "number") {
        throw new TypeError("Argument must be a number");
      }
      var buf = Buffer2(size);
      if (fill !== void 0) {
        if (typeof encoding === "string") {
          buf.fill(fill, encoding);
        } else {
          buf.fill(fill);
        }
      } else {
        buf.fill(0);
      }
      return buf;
    };
    SafeBuffer.allocUnsafe = function(size) {
      if (typeof size !== "number") {
        throw new TypeError("Argument must be a number");
      }
      return Buffer2(size);
    };
    SafeBuffer.allocUnsafeSlow = function(size) {
      if (typeof size !== "number") {
        throw new TypeError("Argument must be a number");
      }
      return buffer.SlowBuffer(size);
    };
  }
});

// ../node_modules/.pnpm/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.js
var require_string_decoder = __commonJS({
  "../node_modules/.pnpm/string_decoder@1.3.0/node_modules/string_decoder/lib/string_decoder.js"(exports2) {
    "use strict";
    var Buffer2 = require_safe_buffer().Buffer;
    var isEncoding = Buffer2.isEncoding || function(encoding) {
      encoding = "" + encoding;
      switch (encoding && encoding.toLowerCase()) {
        case "hex":
        case "utf8":
        case "utf-8":
        case "ascii":
        case "binary":
        case "base64":
        case "ucs2":
        case "ucs-2":
        case "utf16le":
        case "utf-16le":
        case "raw":
          return true;
        default:
          return false;
      }
    };
    function _normalizeEncoding(enc) {
      if (!enc) return "utf8";
      var retried;
      while (true) {
        switch (enc) {
          case "utf8":
          case "utf-8":
            return "utf8";
          case "ucs2":
          case "ucs-2":
          case "utf16le":
          case "utf-16le":
            return "utf16le";
          case "latin1":
          case "binary":
            return "latin1";
          case "base64":
          case "ascii":
          case "hex":
            return enc;
          default:
            if (retried) return;
            enc = ("" + enc).toLowerCase();
            retried = true;
        }
      }
    }
    function normalizeEncoding(enc) {
      var nenc = _normalizeEncoding(enc);
      if (typeof nenc !== "string" && (Buffer2.isEncoding === isEncoding || !isEncoding(enc))) throw new Error("Unknown encoding: " + enc);
      return nenc || enc;
    }
    exports2.StringDecoder = StringDecoder;
    function StringDecoder(encoding) {
      this.encoding = normalizeEncoding(encoding);
      var nb;
      switch (this.encoding) {
        case "utf16le":
          this.text = utf16Text;
          this.end = utf16End;
          nb = 4;
          break;
        case "utf8":
          this.fillLast = utf8FillLast;
          nb = 4;
          break;
        case "base64":
          this.text = base64Text;
          this.end = base64End;
          nb = 3;
          break;
        default:
          this.write = simpleWrite;
          this.end = simpleEnd;
          return;
      }
      this.lastNeed = 0;
      this.lastTotal = 0;
      this.lastChar = Buffer2.allocUnsafe(nb);
    }
    StringDecoder.prototype.write = function(buf) {
      if (buf.length === 0) return "";
      var r;
      var i;
      if (this.lastNeed) {
        r = this.fillLast(buf);
        if (r === void 0) return "";
        i = this.lastNeed;
        this.lastNeed = 0;
      } else {
        i = 0;
      }
      if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);
      return r || "";
    };
    StringDecoder.prototype.end = utf8End;
    StringDecoder.prototype.text = utf8Text;
    StringDecoder.prototype.fillLast = function(buf) {
      if (this.lastNeed <= buf.length) {
        buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);
        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
      }
      buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);
      this.lastNeed -= buf.length;
    };
    function utf8CheckByte(byte) {
      if (byte <= 127) return 0;
      else if (byte >> 5 === 6) return 2;
      else if (byte >> 4 === 14) return 3;
      else if (byte >> 3 === 30) return 4;
      return byte >> 6 === 2 ? -1 : -2;
    }
    function utf8CheckIncomplete(self2, buf, i) {
      var j = buf.length - 1;
      if (j < i) return 0;
      var nb = utf8CheckByte(buf[j]);
      if (nb >= 0) {
        if (nb > 0) self2.lastNeed = nb - 1;
        return nb;
      }
      if (--j < i || nb === -2) return 0;
      nb = utf8CheckByte(buf[j]);
      if (nb >= 0) {
        if (nb > 0) self2.lastNeed = nb - 2;
        return nb;
      }
      if (--j < i || nb === -2) return 0;
      nb = utf8CheckByte(buf[j]);
      if (nb >= 0) {
        if (nb > 0) {
          if (nb === 2) nb = 0;
          else self2.lastNeed = nb - 3;
        }
        return nb;
      }
      return 0;
    }
    function utf8CheckExtraBytes(self2, buf, p) {
      if ((buf[0] & 192) !== 128) {
        self2.lastNeed = 0;
        return "\uFFFD";
      }
      if (self2.lastNeed > 1 && buf.length > 1) {
        if ((buf[1] & 192) !== 128) {
          self2.lastNeed = 1;
          return "\uFFFD";
        }
        if (self2.lastNeed > 2 && buf.length > 2) {
          if ((buf[2] & 192) !== 128) {
            self2.lastNeed = 2;
            return "\uFFFD";
          }
        }
      }
    }
    function utf8FillLast(buf) {
      var p = this.lastTotal - this.lastNeed;
      var r = utf8CheckExtraBytes(this, buf, p);
      if (r !== void 0) return r;
      if (this.lastNeed <= buf.length) {
        buf.copy(this.lastChar, p, 0, this.lastNeed);
        return this.lastChar.toString(this.encoding, 0, this.lastTotal);
      }
      buf.copy(this.lastChar, p, 0, buf.length);
      this.lastNeed -= buf.length;
    }
    function utf8Text(buf, i) {
      var total = utf8CheckIncomplete(this, buf, i);
      if (!this.lastNeed) return buf.toString("utf8", i);
      this.lastTotal = total;
      var end = buf.length - (total - this.lastNeed);
      buf.copy(this.lastChar, 0, end);
      return buf.toString("utf8", i, end);
    }
    function utf8End(buf) {
      var r = buf && buf.length ? this.write(buf) : "";
      if (this.lastNeed) return r + "\uFFFD";
      return r;
    }
    function utf16Text(buf, i) {
      if ((buf.length - i) % 2 === 0) {
        var r = buf.toString("utf16le", i);
        if (r) {
          var c = r.charCodeAt(r.length - 1);
          if (c >= 55296 && c <= 56319) {
            this.lastNeed = 2;
            this.lastTotal = 4;
            this.lastChar[0] = buf[buf.length - 2];
            this.lastChar[1] = buf[buf.length - 1];
            return r.slice(0, -1);
          }
        }
        return r;
      }
      this.lastNeed = 1;
      this.lastTotal = 2;
      this.lastChar[0] = buf[buf.length - 1];
      return buf.toString("utf16le", i, buf.length - 1);
    }
    function utf16End(buf) {
      var r = buf && buf.length ? this.write(buf) : "";
      if (this.lastNeed) {
        var end = this.lastTotal - this.lastNeed;
        return r + this.lastChar.toString("utf16le", 0, end);
      }
      return r;
    }
    function base64Text(buf, i) {
      var n = (buf.length - i) % 3;
      if (n === 0) return buf.toString("base64", i);
      this.lastNeed = 3 - n;
      this.lastTotal = 3;
      if (n === 1) {
        this.lastChar[0] = buf[buf.length - 1];
      } else {
        this.lastChar[0] = buf[buf.length - 2];
        this.lastChar[1] = buf[buf.length - 1];
      }
      return buf.toString("base64", i, buf.length - n);
    }
    function base64End(buf) {
      var r = buf && buf.length ? this.write(buf) : "";
      if (this.lastNeed) return r + this.lastChar.toString("base64", 0, 3 - this.lastNeed);
      return r;
    }
    function simpleWrite(buf) {
      return buf.toString(this.encoding);
    }
    function simpleEnd(buf) {
      return buf && buf.length ? this.write(buf) : "";
    }
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js
var require_end_of_stream = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(exports2, module2) {
    "use strict";
    var ERR_STREAM_PREMATURE_CLOSE = require_errors().codes.ERR_STREAM_PREMATURE_CLOSE;
    function once(callback) {
      var called = false;
      return function() {
        if (called) return;
        called = true;
        for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
          args[_key] = arguments[_key];
        }
        callback.apply(this, args);
      };
    }
    function noop() {
    }
    function isRequest(stream) {
      return stream.setHeader && typeof stream.abort === "function";
    }
    function eos(stream, opts, callback) {
      if (typeof opts === "function") return eos(stream, null, opts);
      if (!opts) opts = {};
      callback = once(callback || noop);
      var readable = opts.readable || opts.readable !== false && stream.readable;
      var writable = opts.writable || opts.writable !== false && stream.writable;
      var onlegacyfinish = function onlegacyfinish2() {
        if (!stream.writable) onfinish();
      };
      var writableEnded = stream._writableState && stream._writableState.finished;
      var onfinish = function onfinish2() {
        writable = false;
        writableEnded = true;
        if (!readable) callback.call(stream);
      };
      var readableEnded = stream._readableState && stream._readableState.endEmitted;
      var onend = function onend2() {
        readable = false;
        readableEnded = true;
        if (!writable) callback.call(stream);
      };
      var onerror = function onerror2(err) {
        callback.call(stream, err);
      };
      var onclose = function onclose2() {
        var err;
        if (readable && !readableEnded) {
          if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
          return callback.call(stream, err);
        }
        if (writable && !writableEnded) {
          if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();
          return callback.call(stream, err);
        }
      };
      var onrequest = function onrequest2() {
        stream.req.on("finish", onfinish);
      };
      if (isRequest(stream)) {
        stream.on("complete", onfinish);
        stream.on("abort", onclose);
        if (stream.req) onrequest();
        else stream.on("request", onrequest);
      } else if (writable && !stream._writableState) {
        stream.on("end", onlegacyfinish);
        stream.on("close", onlegacyfinish);
      }
      stream.on("end", onend);
      stream.on("finish", onfinish);
      if (opts.error !== false) stream.on("error", onerror);
      stream.on("close", onclose);
      return function() {
        stream.removeListener("complete", onfinish);
        stream.removeListener("abort", onclose);
        stream.removeListener("request", onrequest);
        if (stream.req) stream.req.removeListener("finish", onfinish);
        stream.removeListener("end", onlegacyfinish);
        stream.removeListener("close", onlegacyfinish);
        stream.removeListener("finish", onfinish);
        stream.removeListener("end", onend);
        stream.removeListener("error", onerror);
        stream.removeListener("close", onclose);
      };
    }
    module2.exports = eos;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js
var require_async_iterator = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/async_iterator.js"(exports2, module2) {
    "use strict";
    var _Object$setPrototypeO;
    function _defineProperty(obj, key, value) {
      key = _toPropertyKey(key);
      if (key in obj) {
        Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }
      return obj;
    }
    function _toPropertyKey(arg) {
      var key = _toPrimitive(arg, "string");
      return typeof key === "symbol" ? key : String(key);
    }
    function _toPrimitive(input, hint) {
      if (typeof input !== "object" || input === null) return input;
      var prim = input[Symbol.toPrimitive];
      if (prim !== void 0) {
        var res = prim.call(input, hint || "default");
        if (typeof res !== "object") return res;
        throw new TypeError("@@toPrimitive must return a primitive value.");
      }
      return (hint === "string" ? String : Number)(input);
    }
    var finished = require_end_of_stream();
    var kLastResolve = Symbol("lastResolve");
    var kLastReject = Symbol("lastReject");
    var kError = Symbol("error");
    var kEnded = Symbol("ended");
    var kLastPromise = Symbol("lastPromise");
    var kHandlePromise = Symbol("handlePromise");
    var kStream = Symbol("stream");
    function createIterResult(value, done) {
      return {
        value,
        done
      };
    }
    function readAndResolve(iter) {
      var resolve = iter[kLastResolve];
      if (resolve !== null) {
        var data = iter[kStream].read();
        if (data !== null) {
          iter[kLastPromise] = null;
          iter[kLastResolve] = null;
          iter[kLastReject] = null;
          resolve(createIterResult(data, false));
        }
      }
    }
    function onReadable(iter) {
      process.nextTick(readAndResolve, iter);
    }
    function wrapForNext(lastPromise, iter) {
      return function(resolve, reject) {
        lastPromise.then(function() {
          if (iter[kEnded]) {
            resolve(createIterResult(void 0, true));
            return;
          }
          iter[kHandlePromise](resolve, reject);
        }, reject);
      };
    }
    var AsyncIteratorPrototype = Object.getPrototypeOf(function() {
    });
    var ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {
      get stream() {
        return this[kStream];
      },
      next: function next() {
        var _this = this;
        var error = this[kError];
        if (error !== null) {
          return Promise.reject(error);
        }
        if (this[kEnded]) {
          return Promise.resolve(createIterResult(void 0, true));
        }
        if (this[kStream].destroyed) {
          return new Promise(function(resolve, reject) {
            process.nextTick(function() {
              if (_this[kError]) {
                reject(_this[kError]);
              } else {
                resolve(createIterResult(void 0, true));
              }
            });
          });
        }
        var lastPromise = this[kLastPromise];
        var promise;
        if (lastPromise) {
          promise = new Promise(wrapForNext(lastPromise, this));
        } else {
          var data = this[kStream].read();
          if (data !== null) {
            return Promise.resolve(createIterResult(data, false));
          }
          promise = new Promise(this[kHandlePromise]);
        }
        this[kLastPromise] = promise;
        return promise;
      }
    }, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function() {
      return this;
    }), _defineProperty(_Object$setPrototypeO, "return", function _return() {
      var _this2 = this;
      return new Promise(function(resolve, reject) {
        _this2[kStream].destroy(null, function(err) {
          if (err) {
            reject(err);
            return;
          }
          resolve(createIterResult(void 0, true));
        });
      });
    }), _Object$setPrototypeO), AsyncIteratorPrototype);
    var createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator2(stream) {
      var _Object$create;
      var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {
        value: stream,
        writable: true
      }), _defineProperty(_Object$create, kLastResolve, {
        value: null,
        writable: true
      }), _defineProperty(_Object$create, kLastReject, {
        value: null,
        writable: true
      }), _defineProperty(_Object$create, kError, {
        value: null,
        writable: true
      }), _defineProperty(_Object$create, kEnded, {
        value: stream._readableState.endEmitted,
        writable: true
      }), _defineProperty(_Object$create, kHandlePromise, {
        value: function value(resolve, reject) {
          var data = iterator[kStream].read();
          if (data) {
            iterator[kLastPromise] = null;
            iterator[kLastResolve] = null;
            iterator[kLastReject] = null;
            resolve(createIterResult(data, false));
          } else {
            iterator[kLastResolve] = resolve;
            iterator[kLastReject] = reject;
          }
        },
        writable: true
      }), _Object$create));
      iterator[kLastPromise] = null;
      finished(stream, function(err) {
        if (err && err.code !== "ERR_STREAM_PREMATURE_CLOSE") {
          var reject = iterator[kLastReject];
          if (reject !== null) {
            iterator[kLastPromise] = null;
            iterator[kLastResolve] = null;
            iterator[kLastReject] = null;
            reject(err);
          }
          iterator[kError] = err;
          return;
        }
        var resolve = iterator[kLastResolve];
        if (resolve !== null) {
          iterator[kLastPromise] = null;
          iterator[kLastResolve] = null;
          iterator[kLastReject] = null;
          resolve(createIterResult(void 0, true));
        }
        iterator[kEnded] = true;
      });
      stream.on("readable", onReadable.bind(null, iterator));
      return iterator;
    };
    module2.exports = createReadableStreamAsyncIterator;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from.js
var require_from = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/from.js"(exports2, module2) {
    "use strict";
    function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
      try {
        var info = gen[key](arg);
        var value = info.value;
      } catch (error) {
        reject(error);
        return;
      }
      if (info.done) {
        resolve(value);
      } else {
        Promise.resolve(value).then(_next, _throw);
      }
    }
    function _asyncToGenerator(fn) {
      return function() {
        var self2 = this, args = arguments;
        return new Promise(function(resolve, reject) {
          var gen = fn.apply(self2, args);
          function _next(value) {
            asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
          }
          function _throw(err) {
            asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
          }
          _next(void 0);
        });
      };
    }
    function ownKeys2(object, enumerableOnly) {
      var keys = Object.keys(object);
      if (Object.getOwnPropertySymbols) {
        var symbols = Object.getOwnPropertySymbols(object);
        enumerableOnly && (symbols = symbols.filter(function(sym) {
          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
        })), keys.push.apply(keys, symbols);
      }
      return keys;
    }
    function _objectSpread(target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = null != arguments[i] ? arguments[i] : {};
        i % 2 ? ownKeys2(Object(source), true).forEach(function(key) {
          _defineProperty(target, key, source[key]);
        }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key) {
          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
        });
      }
      return target;
    }
    function _defineProperty(obj, key, value) {
      key = _toPropertyKey(key);
      if (key in obj) {
        Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }
      return obj;
    }
    function _toPropertyKey(arg) {
      var key = _toPrimitive(arg, "string");
      return typeof key === "symbol" ? key : String(key);
    }
    function _toPrimitive(input, hint) {
      if (typeof input !== "object" || input === null) return input;
      var prim = input[Symbol.toPrimitive];
      if (prim !== void 0) {
        var res = prim.call(input, hint || "default");
        if (typeof res !== "object") return res;
        throw new TypeError("@@toPrimitive must return a primitive value.");
      }
      return (hint === "string" ? String : Number)(input);
    }
    var ERR_INVALID_ARG_TYPE = require_errors().codes.ERR_INVALID_ARG_TYPE;
    function from(Readable, iterable, opts) {
      var iterator;
      if (iterable && typeof iterable.next === "function") {
        iterator = iterable;
      } else if (iterable && iterable[Symbol.asyncIterator]) iterator = iterable[Symbol.asyncIterator]();
      else if (iterable && iterable[Symbol.iterator]) iterator = iterable[Symbol.iterator]();
      else throw new ERR_INVALID_ARG_TYPE("iterable", ["Iterable"], iterable);
      var readable = new Readable(_objectSpread({
        objectMode: true
      }, opts));
      var reading = false;
      readable._read = function() {
        if (!reading) {
          reading = true;
          next();
        }
      };
      function next() {
        return _next2.apply(this, arguments);
      }
      function _next2() {
        _next2 = _asyncToGenerator(function* () {
          try {
            var _yield$iterator$next = yield iterator.next(), value = _yield$iterator$next.value, done = _yield$iterator$next.done;
            if (done) {
              readable.push(null);
            } else if (readable.push(yield value)) {
              next();
            } else {
              reading = false;
            }
          } catch (err) {
            readable.destroy(err);
          }
        });
        return _next2.apply(this, arguments);
      }
      return readable;
    }
    module2.exports = from;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js
var require_stream_readable = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_readable.js"(exports2, module2) {
    "use strict";
    module2.exports = Readable;
    var Duplex;
    Readable.ReadableState = ReadableState;
    var EE = require("events").EventEmitter;
    var EElistenerCount = function EElistenerCount2(emitter, type) {
      return emitter.listeners(type).length;
    };
    var Stream = require_stream();
    var Buffer2 = require("buffer").Buffer;
    var OurUint8Array = (typeof global !== "undefined" ? global : typeof window !== "undefined" ? window : typeof self !== "undefined" ? self : {}).Uint8Array || function() {
    };
    function _uint8ArrayToBuffer(chunk) {
      return Buffer2.from(chunk);
    }
    function _isUint8Array(obj) {
      return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
    }
    var debugUtil = require("util");
    var debug;
    if (debugUtil && debugUtil.debuglog) {
      debug = debugUtil.debuglog("stream");
    } else {
      debug = function debug2() {
      };
    }
    var BufferList = require_buffer_list();
    var destroyImpl = require_destroy();
    var _require = require_state();
    var getHighWaterMark = _require.getHighWaterMark;
    var _require$codes = require_errors().codes;
    var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
    var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;
    var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
    var ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;
    var StringDecoder;
    var createReadableStreamAsyncIterator;
    var from;
    require_inherits()(Readable, Stream);
    var errorOrDestroy = destroyImpl.errorOrDestroy;
    var kProxyEvents = ["error", "close", "destroy", "pause", "resume"];
    function prependListener(emitter, event, fn) {
      if (typeof emitter.prependListener === "function") return emitter.prependListener(event, fn);
      if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);
      else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);
      else emitter._events[event] = [fn, emitter._events[event]];
    }
    function ReadableState(options, stream, isDuplex) {
      Duplex = Duplex || require_stream_duplex();
      options = options || {};
      if (typeof isDuplex !== "boolean") isDuplex = stream instanceof Duplex;
      this.objectMode = !!options.objectMode;
      if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;
      this.highWaterMark = getHighWaterMark(this, options, "readableHighWaterMark", isDuplex);
      this.buffer = new BufferList();
      this.length = 0;
      this.pipes = null;
      this.pipesCount = 0;
      this.flowing = null;
      this.ended = false;
      this.endEmitted = false;
      this.reading = false;
      this.sync = true;
      this.needReadable = false;
      this.emittedReadable = false;
      this.readableListening = false;
      this.resumeScheduled = false;
      this.paused = true;
      this.emitClose = options.emitClose !== false;
      this.autoDestroy = !!options.autoDestroy;
      this.destroyed = false;
      this.defaultEncoding = options.defaultEncoding || "utf8";
      this.awaitDrain = 0;
      this.readingMore = false;
      this.decoder = null;
      this.encoding = null;
      if (options.encoding) {
        if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
        this.decoder = new StringDecoder(options.encoding);
        this.encoding = options.encoding;
      }
    }
    function Readable(options) {
      Duplex = Duplex || require_stream_duplex();
      if (!(this instanceof Readable)) return new Readable(options);
      var isDuplex = this instanceof Duplex;
      this._readableState = new ReadableState(options, this, isDuplex);
      this.readable = true;
      if (options) {
        if (typeof options.read === "function") this._read = options.read;
        if (typeof options.destroy === "function") this._destroy = options.destroy;
      }
      Stream.call(this);
    }
    Object.defineProperty(Readable.prototype, "destroyed", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        if (this._readableState === void 0) {
          return false;
        }
        return this._readableState.destroyed;
      },
      set: function set(value) {
        if (!this._readableState) {
          return;
        }
        this._readableState.destroyed = value;
      }
    });
    Readable.prototype.destroy = destroyImpl.destroy;
    Readable.prototype._undestroy = destroyImpl.undestroy;
    Readable.prototype._destroy = function(err, cb) {
      cb(err);
    };
    Readable.prototype.push = function(chunk, encoding) {
      var state = this._readableState;
      var skipChunkCheck;
      if (!state.objectMode) {
        if (typeof chunk === "string") {
          encoding = encoding || state.defaultEncoding;
          if (encoding !== state.encoding) {
            chunk = Buffer2.from(chunk, encoding);
            encoding = "";
          }
          skipChunkCheck = true;
        }
      } else {
        skipChunkCheck = true;
      }
      return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);
    };
    Readable.prototype.unshift = function(chunk) {
      return readableAddChunk(this, chunk, null, true, false);
    };
    function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {
      debug("readableAddChunk", chunk);
      var state = stream._readableState;
      if (chunk === null) {
        state.reading = false;
        onEofChunk(stream, state);
      } else {
        var er;
        if (!skipChunkCheck) er = chunkInvalid(state, chunk);
        if (er) {
          errorOrDestroy(stream, er);
        } else if (state.objectMode || chunk && chunk.length > 0) {
          if (typeof chunk !== "string" && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer2.prototype) {
            chunk = _uint8ArrayToBuffer(chunk);
          }
          if (addToFront) {
            if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());
            else addChunk(stream, state, chunk, true);
          } else if (state.ended) {
            errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());
          } else if (state.destroyed) {
            return false;
          } else {
            state.reading = false;
            if (state.decoder && !encoding) {
              chunk = state.decoder.write(chunk);
              if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);
              else maybeReadMore(stream, state);
            } else {
              addChunk(stream, state, chunk, false);
            }
          }
        } else if (!addToFront) {
          state.reading = false;
          maybeReadMore(stream, state);
        }
      }
      return !state.ended && (state.length < state.highWaterMark || state.length === 0);
    }
    function addChunk(stream, state, chunk, addToFront) {
      if (state.flowing && state.length === 0 && !state.sync) {
        state.awaitDrain = 0;
        stream.emit("data", chunk);
      } else {
        state.length += state.objectMode ? 1 : chunk.length;
        if (addToFront) state.buffer.unshift(chunk);
        else state.buffer.push(chunk);
        if (state.needReadable) emitReadable(stream);
      }
      maybeReadMore(stream, state);
    }
    function chunkInvalid(state, chunk) {
      var er;
      if (!_isUint8Array(chunk) && typeof chunk !== "string" && chunk !== void 0 && !state.objectMode) {
        er = new ERR_INVALID_ARG_TYPE("chunk", ["string", "Buffer", "Uint8Array"], chunk);
      }
      return er;
    }
    Readable.prototype.isPaused = function() {
      return this._readableState.flowing === false;
    };
    Readable.prototype.setEncoding = function(enc) {
      if (!StringDecoder) StringDecoder = require_string_decoder().StringDecoder;
      var decoder = new StringDecoder(enc);
      this._readableState.decoder = decoder;
      this._readableState.encoding = this._readableState.decoder.encoding;
      var p = this._readableState.buffer.head;
      var content = "";
      while (p !== null) {
        content += decoder.write(p.data);
        p = p.next;
      }
      this._readableState.buffer.clear();
      if (content !== "") this._readableState.buffer.push(content);
      this._readableState.length = content.length;
      return this;
    };
    var MAX_HWM = 1073741824;
    function computeNewHighWaterMark(n) {
      if (n >= MAX_HWM) {
        n = MAX_HWM;
      } else {
        n--;
        n |= n >>> 1;
        n |= n >>> 2;
        n |= n >>> 4;
        n |= n >>> 8;
        n |= n >>> 16;
        n++;
      }
      return n;
    }
    function howMuchToRead(n, state) {
      if (n <= 0 || state.length === 0 && state.ended) return 0;
      if (state.objectMode) return 1;
      if (n !== n) {
        if (state.flowing && state.length) return state.buffer.head.data.length;
        else return state.length;
      }
      if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);
      if (n <= state.length) return n;
      if (!state.ended) {
        state.needReadable = true;
        return 0;
      }
      return state.length;
    }
    Readable.prototype.read = function(n) {
      debug("read", n);
      n = parseInt(n, 10);
      var state = this._readableState;
      var nOrig = n;
      if (n !== 0) state.emittedReadable = false;
      if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {
        debug("read: emitReadable", state.length, state.ended);
        if (state.length === 0 && state.ended) endReadable(this);
        else emitReadable(this);
        return null;
      }
      n = howMuchToRead(n, state);
      if (n === 0 && state.ended) {
        if (state.length === 0) endReadable(this);
        return null;
      }
      var doRead = state.needReadable;
      debug("need readable", doRead);
      if (state.length === 0 || state.length - n < state.highWaterMark) {
        doRead = true;
        debug("length less than watermark", doRead);
      }
      if (state.ended || state.reading) {
        doRead = false;
        debug("reading or ended", doRead);
      } else if (doRead) {
        debug("do read");
        state.reading = true;
        state.sync = true;
        if (state.length === 0) state.needReadable = true;
        this._read(state.highWaterMark);
        state.sync = false;
        if (!state.reading) n = howMuchToRead(nOrig, state);
      }
      var ret2;
      if (n > 0) ret2 = fromList(n, state);
      else ret2 = null;
      if (ret2 === null) {
        state.needReadable = state.length <= state.highWaterMark;
        n = 0;
      } else {
        state.length -= n;
        state.awaitDrain = 0;
      }
      if (state.length === 0) {
        if (!state.ended) state.needReadable = true;
        if (nOrig !== n && state.ended) endReadable(this);
      }
      if (ret2 !== null) this.emit("data", ret2);
      return ret2;
    };
    function onEofChunk(stream, state) {
      debug("onEofChunk");
      if (state.ended) return;
      if (state.decoder) {
        var chunk = state.decoder.end();
        if (chunk && chunk.length) {
          state.buffer.push(chunk);
          state.length += state.objectMode ? 1 : chunk.length;
        }
      }
      state.ended = true;
      if (state.sync) {
        emitReadable(stream);
      } else {
        state.needReadable = false;
        if (!state.emittedReadable) {
          state.emittedReadable = true;
          emitReadable_(stream);
        }
      }
    }
    function emitReadable(stream) {
      var state = stream._readableState;
      debug("emitReadable", state.needReadable, state.emittedReadable);
      state.needReadable = false;
      if (!state.emittedReadable) {
        debug("emitReadable", state.flowing);
        state.emittedReadable = true;
        process.nextTick(emitReadable_, stream);
      }
    }
    function emitReadable_(stream) {
      var state = stream._readableState;
      debug("emitReadable_", state.destroyed, state.length, state.ended);
      if (!state.destroyed && (state.length || state.ended)) {
        stream.emit("readable");
        state.emittedReadable = false;
      }
      state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;
      flow(stream);
    }
    function maybeReadMore(stream, state) {
      if (!state.readingMore) {
        state.readingMore = true;
        process.nextTick(maybeReadMore_, stream, state);
      }
    }
    function maybeReadMore_(stream, state) {
      while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {
        var len = state.length;
        debug("maybeReadMore read 0");
        stream.read(0);
        if (len === state.length)
          break;
      }
      state.readingMore = false;
    }
    Readable.prototype._read = function(n) {
      errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED("_read()"));
    };
    Readable.prototype.pipe = function(dest, pipeOpts) {
      var src = this;
      var state = this._readableState;
      switch (state.pipesCount) {
        case 0:
          state.pipes = dest;
          break;
        case 1:
          state.pipes = [state.pipes, dest];
          break;
        default:
          state.pipes.push(dest);
          break;
      }
      state.pipesCount += 1;
      debug("pipe count=%d opts=%j", state.pipesCount, pipeOpts);
      var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;
      var endFn = doEnd ? onend : unpipe;
      if (state.endEmitted) process.nextTick(endFn);
      else src.once("end", endFn);
      dest.on("unpipe", onunpipe);
      function onunpipe(readable, unpipeInfo) {
        debug("onunpipe");
        if (readable === src) {
          if (unpipeInfo && unpipeInfo.hasUnpiped === false) {
            unpipeInfo.hasUnpiped = true;
            cleanup();
          }
        }
      }
      function onend() {
        debug("onend");
        dest.end();
      }
      var ondrain = pipeOnDrain(src);
      dest.on("drain", ondrain);
      var cleanedUp = false;
      function cleanup() {
        debug("cleanup");
        dest.removeListener("close", onclose);
        dest.removeListener("finish", onfinish);
        dest.removeListener("drain", ondrain);
        dest.removeListener("error", onerror);
        dest.removeListener("unpipe", onunpipe);
        src.removeListener("end", onend);
        src.removeListener("end", unpipe);
        src.removeListener("data", ondata);
        cleanedUp = true;
        if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();
      }
      src.on("data", ondata);
      function ondata(chunk) {
        debug("ondata");
        var ret2 = dest.write(chunk);
        debug("dest.write", ret2);
        if (ret2 === false) {
          if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {
            debug("false write response, pause", state.awaitDrain);
            state.awaitDrain++;
          }
          src.pause();
        }
      }
      function onerror(er) {
        debug("onerror", er);
        unpipe();
        dest.removeListener("error", onerror);
        if (EElistenerCount(dest, "error") === 0) errorOrDestroy(dest, er);
      }
      prependListener(dest, "error", onerror);
      function onclose() {
        dest.removeListener("finish", onfinish);
        unpipe();
      }
      dest.once("close", onclose);
      function onfinish() {
        debug("onfinish");
        dest.removeListener("close", onclose);
        unpipe();
      }
      dest.once("finish", onfinish);
      function unpipe() {
        debug("unpipe");
        src.unpipe(dest);
      }
      dest.emit("pipe", src);
      if (!state.flowing) {
        debug("pipe resume");
        src.resume();
      }
      return dest;
    };
    function pipeOnDrain(src) {
      return function pipeOnDrainFunctionResult() {
        var state = src._readableState;
        debug("pipeOnDrain", state.awaitDrain);
        if (state.awaitDrain) state.awaitDrain--;
        if (state.awaitDrain === 0 && EElistenerCount(src, "data")) {
          state.flowing = true;
          flow(src);
        }
      };
    }
    Readable.prototype.unpipe = function(dest) {
      var state = this._readableState;
      var unpipeInfo = {
        hasUnpiped: false
      };
      if (state.pipesCount === 0) return this;
      if (state.pipesCount === 1) {
        if (dest && dest !== state.pipes) return this;
        if (!dest) dest = state.pipes;
        state.pipes = null;
        state.pipesCount = 0;
        state.flowing = false;
        if (dest) dest.emit("unpipe", this, unpipeInfo);
        return this;
      }
      if (!dest) {
        var dests = state.pipes;
        var len = state.pipesCount;
        state.pipes = null;
        state.pipesCount = 0;
        state.flowing = false;
        for (var i = 0; i < len; i++) dests[i].emit("unpipe", this, {
          hasUnpiped: false
        });
        return this;
      }
      var index = indexOf(state.pipes, dest);
      if (index === -1) return this;
      state.pipes.splice(index, 1);
      state.pipesCount -= 1;
      if (state.pipesCount === 1) state.pipes = state.pipes[0];
      dest.emit("unpipe", this, unpipeInfo);
      return this;
    };
    Readable.prototype.on = function(ev, fn) {
      var res = Stream.prototype.on.call(this, ev, fn);
      var state = this._readableState;
      if (ev === "data") {
        state.readableListening = this.listenerCount("readable") > 0;
        if (state.flowing !== false) this.resume();
      } else if (ev === "readable") {
        if (!state.endEmitted && !state.readableListening) {
          state.readableListening = state.needReadable = true;
          state.flowing = false;
          state.emittedReadable = false;
          debug("on readable", state.length, state.reading);
          if (state.length) {
            emitReadable(this);
          } else if (!state.reading) {
            process.nextTick(nReadingNextTick, this);
          }
        }
      }
      return res;
    };
    Readable.prototype.addListener = Readable.prototype.on;
    Readable.prototype.removeListener = function(ev, fn) {
      var res = Stream.prototype.removeListener.call(this, ev, fn);
      if (ev === "readable") {
        process.nextTick(updateReadableListening, this);
      }
      return res;
    };
    Readable.prototype.removeAllListeners = function(ev) {
      var res = Stream.prototype.removeAllListeners.apply(this, arguments);
      if (ev === "readable" || ev === void 0) {
        process.nextTick(updateReadableListening, this);
      }
      return res;
    };
    function updateReadableListening(self2) {
      var state = self2._readableState;
      state.readableListening = self2.listenerCount("readable") > 0;
      if (state.resumeScheduled && !state.paused) {
        state.flowing = true;
      } else if (self2.listenerCount("data") > 0) {
        self2.resume();
      }
    }
    function nReadingNextTick(self2) {
      debug("readable nexttick read 0");
      self2.read(0);
    }
    Readable.prototype.resume = function() {
      var state = this._readableState;
      if (!state.flowing) {
        debug("resume");
        state.flowing = !state.readableListening;
        resume(this, state);
      }
      state.paused = false;
      return this;
    };
    function resume(stream, state) {
      if (!state.resumeScheduled) {
        state.resumeScheduled = true;
        process.nextTick(resume_, stream, state);
      }
    }
    function resume_(stream, state) {
      debug("resume", state.reading);
      if (!state.reading) {
        stream.read(0);
      }
      state.resumeScheduled = false;
      stream.emit("resume");
      flow(stream);
      if (state.flowing && !state.reading) stream.read(0);
    }
    Readable.prototype.pause = function() {
      debug("call pause flowing=%j", this._readableState.flowing);
      if (this._readableState.flowing !== false) {
        debug("pause");
        this._readableState.flowing = false;
        this.emit("pause");
      }
      this._readableState.paused = true;
      return this;
    };
    function flow(stream) {
      var state = stream._readableState;
      debug("flow", state.flowing);
      while (state.flowing && stream.read() !== null) ;
    }
    Readable.prototype.wrap = function(stream) {
      var _this = this;
      var state = this._readableState;
      var paused = false;
      stream.on("end", function() {
        debug("wrapped end");
        if (state.decoder && !state.ended) {
          var chunk = state.decoder.end();
          if (chunk && chunk.length) _this.push(chunk);
        }
        _this.push(null);
      });
      stream.on("data", function(chunk) {
        debug("wrapped data");
        if (state.decoder) chunk = state.decoder.write(chunk);
        if (state.objectMode && (chunk === null || chunk === void 0)) return;
        else if (!state.objectMode && (!chunk || !chunk.length)) return;
        var ret2 = _this.push(chunk);
        if (!ret2) {
          paused = true;
          stream.pause();
        }
      });
      for (var i in stream) {
        if (this[i] === void 0 && typeof stream[i] === "function") {
          this[i] = /* @__PURE__ */ function methodWrap(method) {
            return function methodWrapReturnFunction() {
              return stream[method].apply(stream, arguments);
            };
          }(i);
        }
      }
      for (var n = 0; n < kProxyEvents.length; n++) {
        stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));
      }
      this._read = function(n2) {
        debug("wrapped _read", n2);
        if (paused) {
          paused = false;
          stream.resume();
        }
      };
      return this;
    };
    if (typeof Symbol === "function") {
      Readable.prototype[Symbol.asyncIterator] = function() {
        if (createReadableStreamAsyncIterator === void 0) {
          createReadableStreamAsyncIterator = require_async_iterator();
        }
        return createReadableStreamAsyncIterator(this);
      };
    }
    Object.defineProperty(Readable.prototype, "readableHighWaterMark", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._readableState.highWaterMark;
      }
    });
    Object.defineProperty(Readable.prototype, "readableBuffer", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._readableState && this._readableState.buffer;
      }
    });
    Object.defineProperty(Readable.prototype, "readableFlowing", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._readableState.flowing;
      },
      set: function set(state) {
        if (this._readableState) {
          this._readableState.flowing = state;
        }
      }
    });
    Readable._fromList = fromList;
    Object.defineProperty(Readable.prototype, "readableLength", {
      // making it explicit this property is not enumerable
      // because otherwise some prototype manipulation in
      // userland will fail
      enumerable: false,
      get: function get() {
        return this._readableState.length;
      }
    });
    function fromList(n, state) {
      if (state.length === 0) return null;
      var ret2;
      if (state.objectMode) ret2 = state.buffer.shift();
      else if (!n || n >= state.length) {
        if (state.decoder) ret2 = state.buffer.join("");
        else if (state.buffer.length === 1) ret2 = state.buffer.first();
        else ret2 = state.buffer.concat(state.length);
        state.buffer.clear();
      } else {
        ret2 = state.buffer.consume(n, state.decoder);
      }
      return ret2;
    }
    function endReadable(stream) {
      var state = stream._readableState;
      debug("endReadable", state.endEmitted);
      if (!state.endEmitted) {
        state.ended = true;
        process.nextTick(endReadableNT, state, stream);
      }
    }
    function endReadableNT(state, stream) {
      debug("endReadableNT", state.endEmitted, state.length);
      if (!state.endEmitted && state.length === 0) {
        state.endEmitted = true;
        stream.readable = false;
        stream.emit("end");
        if (state.autoDestroy) {
          var wState = stream._writableState;
          if (!wState || wState.autoDestroy && wState.finished) {
            stream.destroy();
          }
        }
      }
    }
    if (typeof Symbol === "function") {
      Readable.from = function(iterable, opts) {
        if (from === void 0) {
          from = require_from();
        }
        return from(Readable, iterable, opts);
      };
    }
    function indexOf(xs, x) {
      for (var i = 0, l = xs.length; i < l; i++) {
        if (xs[i] === x) return i;
      }
      return -1;
    }
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js
var require_stream_transform = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_transform.js"(exports2, module2) {
    "use strict";
    module2.exports = Transform;
    var _require$codes = require_errors().codes;
    var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
    var ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK;
    var ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING;
    var ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;
    var Duplex = require_stream_duplex();
    require_inherits()(Transform, Duplex);
    function afterTransform(er, data) {
      var ts = this._transformState;
      ts.transforming = false;
      var cb = ts.writecb;
      if (cb === null) {
        return this.emit("error", new ERR_MULTIPLE_CALLBACK());
      }
      ts.writechunk = null;
      ts.writecb = null;
      if (data != null)
        this.push(data);
      cb(er);
      var rs = this._readableState;
      rs.reading = false;
      if (rs.needReadable || rs.length < rs.highWaterMark) {
        this._read(rs.highWaterMark);
      }
    }
    function Transform(options) {
      if (!(this instanceof Transform)) return new Transform(options);
      Duplex.call(this, options);
      this._transformState = {
        afterTransform: afterTransform.bind(this),
        needTransform: false,
        transforming: false,
        writecb: null,
        writechunk: null,
        writeencoding: null
      };
      this._readableState.needReadable = true;
      this._readableState.sync = false;
      if (options) {
        if (typeof options.transform === "function") this._transform = options.transform;
        if (typeof options.flush === "function") this._flush = options.flush;
      }
      this.on("prefinish", prefinish);
    }
    function prefinish() {
      var _this = this;
      if (typeof this._flush === "function" && !this._readableState.destroyed) {
        this._flush(function(er, data) {
          done(_this, er, data);
        });
      } else {
        done(this, null, null);
      }
    }
    Transform.prototype.push = function(chunk, encoding) {
      this._transformState.needTransform = false;
      return Duplex.prototype.push.call(this, chunk, encoding);
    };
    Transform.prototype._transform = function(chunk, encoding, cb) {
      cb(new ERR_METHOD_NOT_IMPLEMENTED("_transform()"));
    };
    Transform.prototype._write = function(chunk, encoding, cb) {
      var ts = this._transformState;
      ts.writecb = cb;
      ts.writechunk = chunk;
      ts.writeencoding = encoding;
      if (!ts.transforming) {
        var rs = this._readableState;
        if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);
      }
    };
    Transform.prototype._read = function(n) {
      var ts = this._transformState;
      if (ts.writechunk !== null && !ts.transforming) {
        ts.transforming = true;
        this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);
      } else {
        ts.needTransform = true;
      }
    };
    Transform.prototype._destroy = function(err, cb) {
      Duplex.prototype._destroy.call(this, err, function(err2) {
        cb(err2);
      });
    };
    function done(stream, er, data) {
      if (er) return stream.emit("error", er);
      if (data != null)
        stream.push(data);
      if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();
      if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();
      return stream.push(null);
    }
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js
var require_stream_passthrough = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/_stream_passthrough.js"(exports2, module2) {
    "use strict";
    module2.exports = PassThrough;
    var Transform = require_stream_transform();
    require_inherits()(PassThrough, Transform);
    function PassThrough(options) {
      if (!(this instanceof PassThrough)) return new PassThrough(options);
      Transform.call(this, options);
    }
    PassThrough.prototype._transform = function(chunk, encoding, cb) {
      cb(null, chunk);
    };
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js
var require_pipeline = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/lib/internal/streams/pipeline.js"(exports2, module2) {
    "use strict";
    var eos;
    function once(callback) {
      var called = false;
      return function() {
        if (called) return;
        called = true;
        callback.apply(void 0, arguments);
      };
    }
    var _require$codes = require_errors().codes;
    var ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;
    var ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;
    function noop(err) {
      if (err) throw err;
    }
    function isRequest(stream) {
      return stream.setHeader && typeof stream.abort === "function";
    }
    function destroyer(stream, reading, writing, callback) {
      callback = once(callback);
      var closed = false;
      stream.on("close", function() {
        closed = true;
      });
      if (eos === void 0) eos = require_end_of_stream();
      eos(stream, {
        readable: reading,
        writable: writing
      }, function(err) {
        if (err) return callback(err);
        closed = true;
        callback();
      });
      var destroyed = false;
      return function(err) {
        if (closed) return;
        if (destroyed) return;
        destroyed = true;
        if (isRequest(stream)) return stream.abort();
        if (typeof stream.destroy === "function") return stream.destroy();
        callback(err || new ERR_STREAM_DESTROYED("pipe"));
      };
    }
    function call(fn) {
      fn();
    }
    function pipe(from, to) {
      return from.pipe(to);
    }
    function popCallback(streams) {
      if (!streams.length) return noop;
      if (typeof streams[streams.length - 1] !== "function") return noop;
      return streams.pop();
    }
    function pipeline() {
      for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {
        streams[_key] = arguments[_key];
      }
      var callback = popCallback(streams);
      if (Array.isArray(streams[0])) streams = streams[0];
      if (streams.length < 2) {
        throw new ERR_MISSING_ARGS("streams");
      }
      var error;
      var destroys = streams.map(function(stream, i) {
        var reading = i < streams.length - 1;
        var writing = i > 0;
        return destroyer(stream, reading, writing, function(err) {
          if (!error) error = err;
          if (err) destroys.forEach(call);
          if (reading) return;
          destroys.forEach(call);
          callback(error);
        });
      });
      return streams.reduce(pipe);
    }
    module2.exports = pipeline;
  }
});

// ../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable.js
var require_readable = __commonJS({
  "../node_modules/.pnpm/readable-stream@3.6.2/node_modules/readable-stream/readable.js"(exports2, module2) {
    var Stream = require("stream");
    if (process.env.READABLE_STREAM === "disable" && Stream) {
      module2.exports = Stream.Readable;
      Object.assign(module2.exports, Stream);
      module2.exports.Stream = Stream;
    } else {
      exports2 = module2.exports = require_stream_readable();
      exports2.Stream = Stream || exports2;
      exports2.Readable = exports2;
      exports2.Writable = require_stream_writable();
      exports2.Duplex = require_stream_duplex();
      exports2.Transform = require_stream_transform();
      exports2.PassThrough = require_stream_passthrough();
      exports2.finished = require_end_of_stream();
      exports2.pipeline = require_pipeline();
    }
  }
});

// ../node_modules/.pnpm/through2@4.0.2/node_modules/through2/through2.js
var require_through2 = __commonJS({
  "../node_modules/.pnpm/through2@4.0.2/node_modules/through2/through2.js"(exports2, module2) {
    var { Transform } = require_readable();
    function inherits(fn, sup) {
      fn.super_ = sup;
      fn.prototype = Object.create(sup.prototype, {
        constructor: { value: fn, enumerable: false, writable: true, configurable: true }
      });
    }
    function through2(construct) {
      return (options, transform, flush) => {
        if (typeof options === "function") {
          flush = transform;
          transform = options;
          options = {};
        }
        if (typeof transform !== "function") {
          transform = (chunk, enc, cb) => cb(null, chunk);
        }
        if (typeof flush !== "function") {
          flush = null;
        }
        return construct(options, transform, flush);
      };
    }
    var make = through2((options, transform, flush) => {
      const t2 = new Transform(options);
      t2._transform = transform;
      if (flush) {
        t2._flush = flush;
      }
      return t2;
    });
    var ctor = through2((options, transform, flush) => {
      function Through2(override) {
        if (!(this instanceof Through2)) {
          return new Through2(override);
        }
        this.options = Object.assign({}, options, override);
        Transform.call(this, this.options);
        this._transform = transform;
        if (flush) {
          this._flush = flush;
        }
      }
      inherits(Through2, Transform);
      return Through2;
    });
    var obj = through2(function(options, transform, flush) {
      const t2 = new Transform(Object.assign({ objectMode: true, highWaterMark: 16 }, options));
      t2._transform = transform;
      if (flush) {
        t2._flush = flush;
      }
      return t2;
    });
    module2.exports = make;
    module2.exports.ctor = ctor;
    module2.exports.obj = obj;
  }
});

// ../node_modules/.pnpm/split2@3.2.2/node_modules/split2/index.js
var require_split2 = __commonJS({
  "../node_modules/.pnpm/split2@3.2.2/node_modules/split2/index.js"(exports2, module2) {
    "use strict";
    var { Transform } = require_readable();
    var { StringDecoder } = require("string_decoder");
    var kLast = Symbol("last");
    var kDecoder = Symbol("decoder");
    function transform(chunk, enc, cb) {
      var list;
      if (this.overflow) {
        var buf = this[kDecoder].write(chunk);
        list = buf.split(this.matcher);
        if (list.length === 1) return cb();
        list.shift();
        this.overflow = false;
      } else {
        this[kLast] += this[kDecoder].write(chunk);
        list = this[kLast].split(this.matcher);
      }
      this[kLast] = list.pop();
      for (var i = 0; i < list.length; i++) {
        try {
          push(this, this.mapper(list[i]));
        } catch (error) {
          return cb(error);
        }
      }
      this.overflow = this[kLast].length > this.maxLength;
      if (this.overflow && !this.skipOverflow) return cb(new Error("maximum buffer reached"));
      cb();
    }
    function flush(cb) {
      this[kLast] += this[kDecoder].end();
      if (this[kLast]) {
        try {
          push(this, this.mapper(this[kLast]));
        } catch (error) {
          return cb(error);
        }
      }
      cb();
    }
    function push(self2, val) {
      if (val !== void 0) {
        self2.push(val);
      }
    }
    function noop(incoming) {
      return incoming;
    }
    function split(matcher, mapper, options) {
      matcher = matcher || /\r?\n/;
      mapper = mapper || noop;
      options = options || {};
      switch (arguments.length) {
        case 1:
          if (typeof matcher === "function") {
            mapper = matcher;
            matcher = /\r?\n/;
          } else if (typeof matcher === "object" && !(matcher instanceof RegExp)) {
            options = matcher;
            matcher = /\r?\n/;
          }
          break;
        case 2:
          if (typeof matcher === "function") {
            options = mapper;
            mapper = matcher;
            matcher = /\r?\n/;
          } else if (typeof mapper === "object") {
            options = mapper;
            mapper = noop;
          }
      }
      options = Object.assign({}, options);
      options.transform = transform;
      options.flush = flush;
      options.readableObjectMode = true;
      const stream = new Transform(options);
      stream[kLast] = "";
      stream[kDecoder] = new StringDecoder("utf8");
      stream.matcher = matcher;
      stream.mapper = mapper;
      stream.maxLength = options.maxLength;
      stream.skipOverflow = options.skipOverflow;
      stream.overflow = false;
      return stream;
    }
    module2.exports = split;
  }
});

// ../node_modules/.pnpm/json-stringify-safe@5.0.1/node_modules/json-stringify-safe/stringify.js
var require_stringify = __commonJS({
  "../node_modules/.pnpm/json-stringify-safe@5.0.1/node_modules/json-stringify-safe/stringify.js"(exports2, module2) {
    exports2 = module2.exports = stringify2;
    exports2.getSerialize = serializer;
    function stringify2(obj, replacer, spaces, cycleReplacer) {
      return JSON.stringify(obj, serializer(replacer, cycleReplacer), spaces);
    }
    function serializer(replacer, cycleReplacer) {
      var stack = [], keys = [];
      if (cycleReplacer == null) cycleReplacer = function(key, value) {
        if (stack[0] === value) return "[Circular ~]";
        return "[Circular ~." + keys.slice(0, stack.indexOf(value)).join(".") + "]";
      };
      return function(key, value) {
        if (stack.length > 0) {
          var thisPos = stack.indexOf(this);
          ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);
          ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);
          if (~stack.indexOf(value)) value = cycleReplacer.call(this, key, value);
        } else stack.push(value);
        return replacer == null ? value : replacer.call(this, key, value);
      };
    }
  }
});

// ../node_modules/.pnpm/ndjson@2.0.0/node_modules/ndjson/index.js
var require_ndjson = __commonJS({
  "../node_modules/.pnpm/ndjson@2.0.0/node_modules/ndjson/index.js"(exports2, module2) {
    var through = require_through2();
    var split = require_split2();
    var { EOL } = require("os");
    var stringify2 = require_stringify();
    module2.exports.stringify = (opts) => through.obj(opts, (obj, _, cb) => {
      cb(null, stringify2(obj) + EOL);
    });
    module2.exports.parse = (opts) => {
      opts = opts || {};
      opts.strict = opts.strict !== false;
      function parseRow(row) {
        try {
          if (row) return JSON.parse(row);
        } catch (e) {
          if (opts.strict) {
            this.emit("error", new Error("Could not parse row " + row.slice(0, 50) + "..."));
          }
        }
      }
      return split(parseRow, opts);
    };
  }
});

// ../packages/logger/lib/streamParser.js
var require_streamParser = __commonJS({
  "../packages/logger/lib/streamParser.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.streamParser = void 0;
    exports2.createStreamParser = createStreamParser;
    var bole_1 = __importDefault2(require_bole());
    var ndjson_1 = __importDefault2(require_ndjson());
    exports2.streamParser = createStreamParser();
    function createStreamParser() {
      const sp = ndjson_1.default.parse();
      bole_1.default.output([
        {
          level: "debug",
          stream: sp
        }
      ]);
      return sp;
    }
  }
});

// ../packages/logger/lib/writeToConsole.js
var require_writeToConsole = __commonJS({
  "../packages/logger/lib/writeToConsole.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeToConsole = writeToConsole;
    var bole_1 = __importDefault2(require_bole());
    function writeToConsole() {
      bole_1.default.output([
        {
          level: "debug",
          stream: process.stdout
        }
      ]);
    }
  }
});

// ../packages/logger/lib/index.js
var require_lib = __commonJS({
  "../packages/logger/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeToConsole = exports2.streamParser = exports2.createStreamParser = exports2.globalWarn = exports2.globalInfo = exports2.logger = void 0;
    var logger_1 = require_logger();
    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
      return logger_1.logger;
    } });
    Object.defineProperty(exports2, "globalInfo", { enumerable: true, get: function() {
      return logger_1.globalInfo;
    } });
    Object.defineProperty(exports2, "globalWarn", { enumerable: true, get: function() {
      return logger_1.globalWarn;
    } });
    var streamParser_1 = require_streamParser();
    Object.defineProperty(exports2, "createStreamParser", { enumerable: true, get: function() {
      return streamParser_1.createStreamParser;
    } });
    Object.defineProperty(exports2, "streamParser", { enumerable: true, get: function() {
      return streamParser_1.streamParser;
    } });
    var writeToConsole_1 = require_writeToConsole();
    Object.defineProperty(exports2, "writeToConsole", { enumerable: true, get: function() {
      return writeToConsole_1.writeToConsole;
    } });
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/bin.js
var require_bin = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/bin.js"(exports2, module2) {
    "use strict";
    var spawn = require("child_process").spawn;
    function stripStderr(stderr) {
      if (!stderr) return;
      stderr = stderr.trim();
      var regex = /your \d+x\d+ screen size is bogus\. expect trouble/gi;
      stderr = stderr.replace(regex, "");
      return stderr.trim();
    }
    function run(cmd, args, options, done) {
      if (typeof options === "function") {
        done = options;
        options = void 0;
      }
      var executed = false;
      var ch = spawn(cmd, args, options);
      var stdout = "";
      var stderr = "";
      ch.stdout.on("data", function(d) {
        stdout += d.toString();
      });
      ch.stderr.on("data", function(d) {
        stderr += d.toString();
      });
      ch.on("error", function(err) {
        if (executed) return;
        executed = true;
        done(new Error(err));
      });
      ch.on("close", function(code) {
        if (executed) return;
        executed = true;
        stderr = stripStderr(stderr);
        if (stderr) {
          return done(new Error(stderr));
        }
        done(null, stdout, code);
      });
    }
    module2.exports = run;
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/ps.js
var require_ps = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/ps.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var bin = require_bin();
    function ps(callback) {
      var args = ["-A", "-o", "ppid,pid"];
      bin("ps", args, function(err, stdout, code) {
        if (err) return callback(err);
        if (code !== 0) {
          return callback(new Error("pidtree ps command exited with code " + code));
        }
        try {
          stdout = stdout.split(os.EOL);
          var list = [];
          for (var i = 1; i < stdout.length; i++) {
            stdout[i] = stdout[i].trim();
            if (!stdout[i]) continue;
            stdout[i] = stdout[i].split(/\s+/);
            stdout[i][0] = parseInt(stdout[i][0], 10);
            stdout[i][1] = parseInt(stdout[i][1], 10);
            list.push(stdout[i]);
          }
          callback(null, list);
        } catch (error) {
          callback(error);
        }
      });
    }
    module2.exports = ps;
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/wmic.js
var require_wmic = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/wmic.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var bin = require_bin();
    function wmic(callback) {
      var args = ["PROCESS", "get", "ParentProcessId,ProcessId"];
      var options = { windowsHide: true, windowsVerbatimArguments: true };
      bin("wmic", args, options, function(err, stdout, code) {
        if (err) {
          callback(err);
          return;
        }
        if (code !== 0) {
          callback(new Error("pidtree wmic command exited with code " + code));
          return;
        }
        try {
          stdout = stdout.split(os.EOL);
          var list = [];
          for (var i = 1; i < stdout.length; i++) {
            stdout[i] = stdout[i].trim();
            if (!stdout[i]) continue;
            stdout[i] = stdout[i].split(/\s+/);
            stdout[i][0] = parseInt(stdout[i][0], 10);
            stdout[i][1] = parseInt(stdout[i][1], 10);
            list.push(stdout[i]);
          }
          callback(null, list);
        } catch (error) {
          callback(error);
        }
      });
    }
    module2.exports = wmic;
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/get.js
var require_get = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/get.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var platformToMethod = {
      darwin: "ps",
      sunos: "ps",
      freebsd: "ps",
      netbsd: "ps",
      win: "wmic",
      linux: "ps",
      aix: "ps"
    };
    var methodToRequireFn = {
      ps: () => require_ps(),
      wmic: () => require_wmic()
    };
    var platform = os.platform();
    if (platform.startsWith("win")) {
      platform = "win";
    }
    var method = platformToMethod[platform];
    function get(callback) {
      if (method === void 0) {
        callback(
          new Error(
            os.platform() + " is not supported yet, please open an issue (https://github.com/simonepri/pidtree)"
          )
        );
      }
      var list = methodToRequireFn[method]();
      list(callback);
    }
    module2.exports = get;
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/pidtree.js
var require_pidtree = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/lib/pidtree.js"(exports2, module2) {
    "use strict";
    var getAll = require_get();
    function list(PID, options, callback) {
      if (typeof options === "function") {
        callback = options;
        options = {};
      }
      if (typeof options !== "object") {
        options = {};
      }
      PID = parseInt(PID, 10);
      if (isNaN(PID) || PID < -1) {
        callback(new TypeError("The pid provided is invalid"));
        return;
      }
      getAll(function(err, list2) {
        if (err) {
          callback(err);
          return;
        }
        if (PID === -1) {
          for (var i = 0; i < list2.length; i++) {
            list2[i] = options.advanced ? { ppid: list2[i][0], pid: list2[i][1] } : list2[i] = list2[i][1];
          }
          callback(null, list2);
          return;
        }
        var root;
        for (var l = 0; l < list2.length; l++) {
          if (list2[l][1] === PID) {
            root = options.advanced ? { ppid: list2[l][0], pid: PID } : PID;
            break;
          }
          if (list2[l][0] === PID) {
            root = options.advanced ? { pid: PID } : PID;
          }
        }
        if (!root) {
          callback(new Error("No matching pid found"));
          return;
        }
        var tree = {};
        while (list2.length > 0) {
          var element = list2.pop();
          if (tree[element[0]]) {
            tree[element[0]].push(element[1]);
          } else {
            tree[element[0]] = [element[1]];
          }
        }
        var idx = 0;
        var pids = [root];
        while (idx < pids.length) {
          var curpid = options.advanced ? pids[idx++].pid : pids[idx++];
          if (!tree[curpid]) continue;
          var length = tree[curpid].length;
          for (var j = 0; j < length; j++) {
            pids.push(
              options.advanced ? { ppid: curpid, pid: tree[curpid][j] } : tree[curpid][j]
            );
          }
          delete tree[curpid];
        }
        if (!options.root) {
          pids.shift();
        }
        callback(null, pids);
      });
    }
    module2.exports = list;
  }
});

// ../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/index.js
var require_pidtree2 = __commonJS({
  "../node_modules/.pnpm/pidtree@0.6.0/node_modules/pidtree/index.js"(exports2, module2) {
    "use strict";
    function pify(fn, arg1, arg2) {
      return new Promise(function(resolve, reject) {
        fn(arg1, arg2, function(err, data) {
          if (err) return reject(err);
          resolve(data);
        });
      });
    }
    if (!String.prototype.startsWith) {
      String.prototype.startsWith = function(suffix) {
        return this.substring(0, suffix.length) === suffix;
      };
    }
    var pidtree = require_pidtree();
    function list(pid, options, callback) {
      if (typeof options === "function") {
        callback = options;
        options = void 0;
      }
      if (typeof callback === "function") {
        pidtree(pid, options, callback);
        return;
      }
      return pify(pidtree, pid, options);
    }
    module2.exports = list;
  }
});

// ../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js
var require_signals = __commonJS({
  "../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js"(exports2, module2) {
    module2.exports = [
      "SIGABRT",
      "SIGALRM",
      "SIGHUP",
      "SIGINT",
      "SIGTERM"
    ];
    if (process.platform !== "win32") {
      module2.exports.push(
        "SIGVTALRM",
        "SIGXCPU",
        "SIGXFSZ",
        "SIGUSR2",
        "SIGTRAP",
        "SIGSYS",
        "SIGQUIT",
        "SIGIOT"
        // should detect profiler and enable/disable accordingly.
        // see #21
        // 'SIGPROF'
      );
    }
    if (process.platform === "linux") {
      module2.exports.push(
        "SIGIO",
        "SIGPOLL",
        "SIGPWR",
        "SIGSTKFLT",
        "SIGUNUSED"
      );
    }
  }
});

// ../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js
var require_signal_exit = __commonJS({
  "../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js"(exports2, module2) {
    var process2 = global.process;
    var processOk = function(process3) {
      return process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
    };
    if (!processOk(process2)) {
      module2.exports = function() {
        return function() {
        };
      };
    } else {
      assert = require("assert");
      signals = require_signals();
      isWin = /^win/i.test(process2.platform);
      EE = require("events");
      if (typeof EE !== "function") {
        EE = EE.EventEmitter;
      }
      if (process2.__signal_exit_emitter__) {
        emitter = process2.__signal_exit_emitter__;
      } else {
        emitter = process2.__signal_exit_emitter__ = new EE();
        emitter.count = 0;
        emitter.emitted = {};
      }
      if (!emitter.infinite) {
        emitter.setMaxListeners(Infinity);
        emitter.infinite = true;
      }
      module2.exports = function(cb, opts) {
        if (!processOk(global.process)) {
          return function() {
          };
        }
        assert.equal(typeof cb, "function", "a callback must be provided for exit handler");
        if (loaded === false) {
          load();
        }
        var ev = "exit";
        if (opts && opts.alwaysLast) {
          ev = "afterexit";
        }
        var remove = function() {
          emitter.removeListener(ev, cb);
          if (emitter.listeners("exit").length === 0 && emitter.listeners("afterexit").length === 0) {
            unload();
          }
        };
        emitter.on(ev, cb);
        return remove;
      };
      unload = function unload2() {
        if (!loaded || !processOk(global.process)) {
          return;
        }
        loaded = false;
        signals.forEach(function(sig) {
          try {
            process2.removeListener(sig, sigListeners[sig]);
          } catch (er) {
          }
        });
        process2.emit = originalProcessEmit;
        process2.reallyExit = originalProcessReallyExit;
        emitter.count -= 1;
      };
      module2.exports.unload = unload;
      emit = function emit2(event, code, signal) {
        if (emitter.emitted[event]) {
          return;
        }
        emitter.emitted[event] = true;
        emitter.emit(event, code, signal);
      };
      sigListeners = {};
      signals.forEach(function(sig) {
        sigListeners[sig] = function listener() {
          if (!processOk(global.process)) {
            return;
          }
          var listeners = process2.listeners(sig);
          if (listeners.length === emitter.count) {
            unload();
            emit("exit", null, sig);
            emit("afterexit", null, sig);
            if (isWin && sig === "SIGHUP") {
              sig = "SIGINT";
            }
            process2.kill(process2.pid, sig);
          }
        };
      });
      module2.exports.signals = function() {
        return signals;
      };
      loaded = false;
      load = function load2() {
        if (loaded || !processOk(global.process)) {
          return;
        }
        loaded = true;
        emitter.count += 1;
        signals = signals.filter(function(sig) {
          try {
            process2.on(sig, sigListeners[sig]);
            return true;
          } catch (er) {
            return false;
          }
        });
        process2.emit = processEmit;
        process2.reallyExit = processReallyExit;
      };
      module2.exports.load = load;
      originalProcessReallyExit = process2.reallyExit;
      processReallyExit = function processReallyExit2(code) {
        if (!processOk(global.process)) {
          return;
        }
        process2.exitCode = code || /* istanbul ignore next */
        0;
        emit("exit", process2.exitCode, null);
        emit("afterexit", process2.exitCode, null);
        originalProcessReallyExit.call(process2, process2.exitCode);
      };
      originalProcessEmit = process2.emit;
      processEmit = function processEmit2(ev, arg) {
        if (ev === "exit" && processOk(global.process)) {
          if (arg !== void 0) {
            process2.exitCode = arg;
          }
          var ret2 = originalProcessEmit.apply(this, arguments);
          emit("exit", process2.exitCode, null);
          emit("afterexit", process2.exitCode, null);
          return ret2;
        } else {
          return originalProcessEmit.apply(this, arguments);
        }
      };
    }
    var assert;
    var signals;
    var isWin;
    var EE;
    var emitter;
    var unload;
    var emit;
    var sigListeners;
    var loaded;
    var load;
    var originalProcessReallyExit;
    var processReallyExit;
    var originalProcessEmit;
    var processEmit;
  }
});

// ../node_modules/.pnpm/array-find-index@1.0.2/node_modules/array-find-index/index.js
var require_array_find_index = __commonJS({
  "../node_modules/.pnpm/array-find-index@1.0.2/node_modules/array-find-index/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function(arr, predicate, ctx) {
      if (typeof Array.prototype.findIndex === "function") {
        return arr.findIndex(predicate, ctx);
      }
      if (typeof predicate !== "function") {
        throw new TypeError("predicate must be a function");
      }
      var list = Object(arr);
      var len = list.length;
      if (len === 0) {
        return -1;
      }
      for (var i = 0; i < len; i++) {
        if (predicate.call(ctx, list[i], i, list)) {
          return i;
        }
      }
      return -1;
    };
  }
});

// ../node_modules/.pnpm/currently-unhandled@0.4.1/node_modules/currently-unhandled/core.js
var require_core = __commonJS({
  "../node_modules/.pnpm/currently-unhandled@0.4.1/node_modules/currently-unhandled/core.js"(exports2, module2) {
    "use strict";
    var arrayFindIndex = require_array_find_index();
    module2.exports = function() {
      var unhandledRejections = [];
      function onUnhandledRejection(reason, promise) {
        unhandledRejections.push({ reason, promise });
      }
      function onRejectionHandled(promise) {
        var index = arrayFindIndex(unhandledRejections, function(x) {
          return x.promise === promise;
        });
        unhandledRejections.splice(index, 1);
      }
      function currentlyUnhandled() {
        return unhandledRejections.map(function(entry) {
          return {
            reason: entry.reason,
            promise: entry.promise
          };
        });
      }
      return {
        onUnhandledRejection,
        onRejectionHandled,
        currentlyUnhandled
      };
    };
  }
});

// ../node_modules/.pnpm/currently-unhandled@0.4.1/node_modules/currently-unhandled/index.js
var require_currently_unhandled = __commonJS({
  "../node_modules/.pnpm/currently-unhandled@0.4.1/node_modules/currently-unhandled/index.js"(exports2, module2) {
    "use strict";
    var core = require_core();
    module2.exports = function(p) {
      p = p || process;
      var c = core();
      p.on("unhandledRejection", c.onUnhandledRejection);
      p.on("rejectionHandled", c.onRejectionHandled);
      return c.currentlyUnhandled;
    };
  }
});

// ../node_modules/.pnpm/loud-rejection@2.2.0/node_modules/loud-rejection/index.js
var require_loud_rejection = __commonJS({
  "../node_modules/.pnpm/loud-rejection@2.2.0/node_modules/loud-rejection/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var onExit = require_signal_exit();
    var currentlyUnhandled = require_currently_unhandled();
    var installed = false;
    var loudRejection = (log = console.error) => {
      if (installed) {
        return;
      }
      installed = true;
      const listUnhandled = currentlyUnhandled();
      onExit(() => {
        const unhandledRejections = listUnhandled();
        if (unhandledRejections.length > 0) {
          for (const unhandledRejection of unhandledRejections) {
            let error = unhandledRejection.reason;
            if (!(error instanceof Error)) {
              error = new Error(`Promise rejected with value: ${util.inspect(error)}`);
            }
            log(error.stack);
          }
          process.exitCode = 1;
        }
      });
    };
    module2.exports = loudRejection;
    module2.exports.default = loudRejection;
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/polyfills.js
var require_polyfills = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/polyfills.js"(exports2, module2) {
    var constants = require("constants");
    var origCwd = process.cwd;
    var cwd = null;
    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
    process.cwd = function() {
      if (!cwd)
        cwd = origCwd.call(process);
      return cwd;
    };
    try {
      process.cwd();
    } catch (er) {
    }
    if (typeof process.chdir === "function") {
      chdir = process.chdir;
      process.chdir = function(d) {
        cwd = null;
        chdir.call(process, d);
      };
      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
    }
    var chdir;
    module2.exports = patch;
    function patch(fs) {
      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
        patchLchmod(fs);
      }
      if (!fs.lutimes) {
        patchLutimes(fs);
      }
      fs.chown = chownFix(fs.chown);
      fs.fchown = chownFix(fs.fchown);
      fs.lchown = chownFix(fs.lchown);
      fs.chmod = chmodFix(fs.chmod);
      fs.fchmod = chmodFix(fs.fchmod);
      fs.lchmod = chmodFix(fs.lchmod);
      fs.chownSync = chownFixSync(fs.chownSync);
      fs.fchownSync = chownFixSync(fs.fchownSync);
      fs.lchownSync = chownFixSync(fs.lchownSync);
      fs.chmodSync = chmodFixSync(fs.chmodSync);
      fs.fchmodSync = chmodFixSync(fs.fchmodSync);
      fs.lchmodSync = chmodFixSync(fs.lchmodSync);
      fs.stat = statFix(fs.stat);
      fs.fstat = statFix(fs.fstat);
      fs.lstat = statFix(fs.lstat);
      fs.statSync = statFixSync(fs.statSync);
      fs.fstatSync = statFixSync(fs.fstatSync);
      fs.lstatSync = statFixSync(fs.lstatSync);
      if (fs.chmod && !fs.lchmod) {
        fs.lchmod = function(path2, mode, cb) {
          if (cb) process.nextTick(cb);
        };
        fs.lchmodSync = function() {
        };
      }
      if (fs.chown && !fs.lchown) {
        fs.lchown = function(path2, uid, gid, cb) {
          if (cb) process.nextTick(cb);
        };
        fs.lchownSync = function() {
        };
      }
      if (platform === "win32") {
        fs.rename = typeof fs.rename !== "function" ? fs.rename : function(fs$rename) {
          function rename(from, to, cb) {
            var start = Date.now();
            var backoff = 0;
            fs$rename(from, to, function CB(er) {
              if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
                setTimeout(function() {
                  fs.stat(to, function(stater, st) {
                    if (stater && stater.code === "ENOENT")
                      fs$rename(from, to, CB);
                    else
                      cb(er);
                  });
                }, backoff);
                if (backoff < 100)
                  backoff += 10;
                return;
              }
              if (cb) cb(er);
            });
          }
          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
          return rename;
        }(fs.rename);
      }
      fs.read = typeof fs.read !== "function" ? fs.read : function(fs$read) {
        function read(fd, buffer, offset, length, position, callback_) {
          var callback;
          if (callback_ && typeof callback_ === "function") {
            var eagCounter = 0;
            callback = function(er, _, __) {
              if (er && er.code === "EAGAIN" && eagCounter < 10) {
                eagCounter++;
                return fs$read.call(fs, fd, buffer, offset, length, position, callback);
              }
              callback_.apply(this, arguments);
            };
          }
          return fs$read.call(fs, fd, buffer, offset, length, position, callback);
        }
        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
        return read;
      }(fs.read);
      fs.readSync = typeof fs.readSync !== "function" ? fs.readSync : /* @__PURE__ */ function(fs$readSync) {
        return function(fd, buffer, offset, length, position) {
          var eagCounter = 0;
          while (true) {
            try {
              return fs$readSync.call(fs, fd, buffer, offset, length, position);
            } catch (er) {
              if (er.code === "EAGAIN" && eagCounter < 10) {
                eagCounter++;
                continue;
              }
              throw er;
            }
          }
        };
      }(fs.readSync);
      function patchLchmod(fs2) {
        fs2.lchmod = function(path2, mode, callback) {
          fs2.open(
            path2,
            constants.O_WRONLY | constants.O_SYMLINK,
            mode,
            function(err, fd) {
              if (err) {
                if (callback) callback(err);
                return;
              }
              fs2.fchmod(fd, mode, function(err2) {
                fs2.close(fd, function(err22) {
                  if (callback) callback(err2 || err22);
                });
              });
            }
          );
        };
        fs2.lchmodSync = function(path2, mode) {
          var fd = fs2.openSync(path2, constants.O_WRONLY | constants.O_SYMLINK, mode);
          var threw = true;
          var ret2;
          try {
            ret2 = fs2.fchmodSync(fd, mode);
            threw = false;
          } finally {
            if (threw) {
              try {
                fs2.closeSync(fd);
              } catch (er) {
              }
            } else {
              fs2.closeSync(fd);
            }
          }
          return ret2;
        };
      }
      function patchLutimes(fs2) {
        if (constants.hasOwnProperty("O_SYMLINK") && fs2.futimes) {
          fs2.lutimes = function(path2, at, mt, cb) {
            fs2.open(path2, constants.O_SYMLINK, function(er, fd) {
              if (er) {
                if (cb) cb(er);
                return;
              }
              fs2.futimes(fd, at, mt, function(er2) {
                fs2.close(fd, function(er22) {
                  if (cb) cb(er2 || er22);
                });
              });
            });
          };
          fs2.lutimesSync = function(path2, at, mt) {
            var fd = fs2.openSync(path2, constants.O_SYMLINK);
            var ret2;
            var threw = true;
            try {
              ret2 = fs2.futimesSync(fd, at, mt);
              threw = false;
            } finally {
              if (threw) {
                try {
                  fs2.closeSync(fd);
                } catch (er) {
                }
              } else {
                fs2.closeSync(fd);
              }
            }
            return ret2;
          };
        } else if (fs2.futimes) {
          fs2.lutimes = function(_a, _b, _c, cb) {
            if (cb) process.nextTick(cb);
          };
          fs2.lutimesSync = function() {
          };
        }
      }
      function chmodFix(orig) {
        if (!orig) return orig;
        return function(target, mode, cb) {
          return orig.call(fs, target, mode, function(er) {
            if (chownErOk(er)) er = null;
            if (cb) cb.apply(this, arguments);
          });
        };
      }
      function chmodFixSync(orig) {
        if (!orig) return orig;
        return function(target, mode) {
          try {
            return orig.call(fs, target, mode);
          } catch (er) {
            if (!chownErOk(er)) throw er;
          }
        };
      }
      function chownFix(orig) {
        if (!orig) return orig;
        return function(target, uid, gid, cb) {
          return orig.call(fs, target, uid, gid, function(er) {
            if (chownErOk(er)) er = null;
            if (cb) cb.apply(this, arguments);
          });
        };
      }
      function chownFixSync(orig) {
        if (!orig) return orig;
        return function(target, uid, gid) {
          try {
            return orig.call(fs, target, uid, gid);
          } catch (er) {
            if (!chownErOk(er)) throw er;
          }
        };
      }
      function statFix(orig) {
        if (!orig) return orig;
        return function(target, options, cb) {
          if (typeof options === "function") {
            cb = options;
            options = null;
          }
          function callback(er, stats) {
            if (stats) {
              if (stats.uid < 0) stats.uid += 4294967296;
              if (stats.gid < 0) stats.gid += 4294967296;
            }
            if (cb) cb.apply(this, arguments);
          }
          return options ? orig.call(fs, target, options, callback) : orig.call(fs, target, callback);
        };
      }
      function statFixSync(orig) {
        if (!orig) return orig;
        return function(target, options) {
          var stats = options ? orig.call(fs, target, options) : orig.call(fs, target);
          if (stats) {
            if (stats.uid < 0) stats.uid += 4294967296;
            if (stats.gid < 0) stats.gid += 4294967296;
          }
          return stats;
        };
      }
      function chownErOk(er) {
        if (!er)
          return true;
        if (er.code === "ENOSYS")
          return true;
        var nonroot = !process.getuid || process.getuid() !== 0;
        if (nonroot) {
          if (er.code === "EINVAL" || er.code === "EPERM")
            return true;
        }
        return false;
      }
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/legacy-streams.js
var require_legacy_streams = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
    var Stream = require("stream").Stream;
    module2.exports = legacy;
    function legacy(fs) {
      return {
        ReadStream,
        WriteStream
      };
      function ReadStream(path2, options) {
        if (!(this instanceof ReadStream)) return new ReadStream(path2, options);
        Stream.call(this);
        var self2 = this;
        this.path = path2;
        this.fd = null;
        this.readable = true;
        this.paused = false;
        this.flags = "r";
        this.mode = 438;
        this.bufferSize = 64 * 1024;
        options = options || {};
        var keys = Object.keys(options);
        for (var index = 0, length = keys.length; index < length; index++) {
          var key = keys[index];
          this[key] = options[key];
        }
        if (this.encoding) this.setEncoding(this.encoding);
        if (this.start !== void 0) {
          if ("number" !== typeof this.start) {
            throw TypeError("start must be a Number");
          }
          if (this.end === void 0) {
            this.end = Infinity;
          } else if ("number" !== typeof this.end) {
            throw TypeError("end must be a Number");
          }
          if (this.start > this.end) {
            throw new Error("start must be <= end");
          }
          this.pos = this.start;
        }
        if (this.fd !== null) {
          process.nextTick(function() {
            self2._read();
          });
          return;
        }
        fs.open(this.path, this.flags, this.mode, function(err, fd) {
          if (err) {
            self2.emit("error", err);
            self2.readable = false;
            return;
          }
          self2.fd = fd;
          self2.emit("open", fd);
          self2._read();
        });
      }
      function WriteStream(path2, options) {
        if (!(this instanceof WriteStream)) return new WriteStream(path2, options);
        Stream.call(this);
        this.path = path2;
        this.fd = null;
        this.writable = true;
        this.flags = "w";
        this.encoding = "binary";
        this.mode = 438;
        this.bytesWritten = 0;
        options = options || {};
        var keys = Object.keys(options);
        for (var index = 0, length = keys.length; index < length; index++) {
          var key = keys[index];
          this[key] = options[key];
        }
        if (this.start !== void 0) {
          if ("number" !== typeof this.start) {
            throw TypeError("start must be a Number");
          }
          if (this.start < 0) {
            throw new Error("start must be >= zero");
          }
          this.pos = this.start;
        }
        this.busy = false;
        this._queue = [];
        if (this.fd === null) {
          this._open = fs.open;
          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
          this.flush();
        }
      }
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/clone.js
var require_clone = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/clone.js"(exports2, module2) {
    "use strict";
    module2.exports = clone;
    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
      return obj.__proto__;
    };
    function clone(obj) {
      if (obj === null || typeof obj !== "object")
        return obj;
      if (obj instanceof Object)
        var copy = { __proto__: getPrototypeOf(obj) };
      else
        var copy = /* @__PURE__ */ Object.create(null);
      Object.getOwnPropertyNames(obj).forEach(function(key) {
        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
      });
      return copy;
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/graceful-fs.js
var require_graceful_fs = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.11_patch_hash=68ebc232025360cb3dcd3081f4067f4e9fc022ab6b6f71a3230e86c7a5b337d1/node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
    var fs = require("fs");
    var polyfills = require_polyfills();
    var legacy = require_legacy_streams();
    var clone = require_clone();
    var util = require("util");
    var gracefulQueue;
    var previousSymbol;
    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
      gracefulQueue = Symbol.for("graceful-fs.queue");
      previousSymbol = Symbol.for("graceful-fs.previous");
    } else {
      gracefulQueue = "___graceful-fs.queue";
      previousSymbol = "___graceful-fs.previous";
    }
    function noop() {
    }
    function publishQueue(context, queue2) {
      Object.defineProperty(context, gracefulQueue, {
        get: function() {
          return queue2;
        }
      });
    }
    var debug = noop;
    if (util.debuglog)
      debug = util.debuglog("gfs4");
    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
      debug = function() {
        var m = util.format.apply(util, arguments);
        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
        console.error(m);
      };
    if (!fs[gracefulQueue]) {
      queue = global[gracefulQueue] || [];
      publishQueue(fs, queue);
      fs.close = function(fs$close) {
        function close(fd, cb) {
          return fs$close.call(fs, fd, function(err) {
            if (!err) {
              resetQueue();
            }
            if (typeof cb === "function")
              cb.apply(this, arguments);
          });
        }
        Object.defineProperty(close, previousSymbol, {
          value: fs$close
        });
        return close;
      }(fs.close);
      fs.closeSync = function(fs$closeSync) {
        function closeSync(fd) {
          fs$closeSync.apply(fs, arguments);
          resetQueue();
        }
        Object.defineProperty(closeSync, previousSymbol, {
          value: fs$closeSync
        });
        return closeSync;
      }(fs.closeSync);
      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
        process.on("exit", function() {
          debug(fs[gracefulQueue]);
          require("assert").equal(fs[gracefulQueue].length, 0);
        });
      }
    }
    var queue;
    if (!global[gracefulQueue]) {
      publishQueue(global, fs[gracefulQueue]);
    }
    module2.exports = patch(clone(fs));
    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
      module2.exports = patch(fs);
      fs.__patched = true;
    }
    function patch(fs2) {
      polyfills(fs2);
      fs2.gracefulify = patch;
      fs2.createReadStream = createReadStream;
      fs2.createWriteStream = createWriteStream;
      var fs$readFile = fs2.readFile;
      fs2.readFile = readFile;
      function readFile(path2, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$readFile(path2, options, cb);
        function go$readFile(path3, options2, cb2, startTime) {
          return fs$readFile(path3, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$readFile, [path3, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$writeFile = fs2.writeFile;
      fs2.writeFile = writeFile;
      function writeFile(path2, data, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$writeFile(path2, data, options, cb);
        function go$writeFile(path3, data2, options2, cb2, startTime) {
          return fs$writeFile(path3, data2, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$writeFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$appendFile = fs2.appendFile;
      if (fs$appendFile)
        fs2.appendFile = appendFile;
      function appendFile(path2, data, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$appendFile(path2, data, options, cb);
        function go$appendFile(path3, data2, options2, cb2, startTime) {
          return fs$appendFile(path3, data2, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$appendFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$copyFile = fs2.copyFile;
      if (fs$copyFile)
        fs2.copyFile = copyFile;
      function copyFile(src, dest, flags, cb) {
        if (typeof flags === "function") {
          cb = flags;
          flags = 0;
        }
        return go$copyFile(src, dest, flags, cb);
        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
          return fs$copyFile(src2, dest2, flags2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE" || err.code === "EBUSY"))
              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$readdir = fs2.readdir;
      fs2.readdir = readdir;
      var noReaddirOptionVersions = /^v[0-5]\./;
      function readdir(path2, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path3, options2, cb2, startTime) {
          return fs$readdir(path3, fs$readdirCallback(
            path3,
            options2,
            cb2,
            startTime
          ));
        } : function go$readdir2(path3, options2, cb2, startTime) {
          return fs$readdir(path3, options2, fs$readdirCallback(
            path3,
            options2,
            cb2,
            startTime
          ));
        };
        return go$readdir(path2, options, cb);
        function fs$readdirCallback(path3, options2, cb2, startTime) {
          return function(err, files) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([
                go$readdir,
                [path3, options2, cb2],
                err,
                startTime || Date.now(),
                Date.now()
              ]);
            else {
              if (files && files.sort)
                files.sort();
              if (typeof cb2 === "function")
                cb2.call(this, err, files);
            }
          };
        }
      }
      if (process.version.substr(0, 4) === "v0.8") {
        var legStreams = legacy(fs2);
        ReadStream = legStreams.ReadStream;
        WriteStream = legStreams.WriteStream;
      }
      var fs$ReadStream = fs2.ReadStream;
      if (fs$ReadStream) {
        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
        ReadStream.prototype.open = ReadStream$open;
      }
      var fs$WriteStream = fs2.WriteStream;
      if (fs$WriteStream) {
        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
        WriteStream.prototype.open = WriteStream$open;
      }
      Object.defineProperty(fs2, "ReadStream", {
        get: function() {
          return ReadStream;
        },
        set: function(val) {
          ReadStream = val;
        },
        enumerable: true,
        configurable: true
      });
      Object.defineProperty(fs2, "WriteStream", {
        get: function() {
          return WriteStream;
        },
        set: function(val) {
          WriteStream = val;
        },
        enumerable: true,
        configurable: true
      });
      var FileReadStream = ReadStream;
      Object.defineProperty(fs2, "FileReadStream", {
        get: function() {
          return FileReadStream;
        },
        set: function(val) {
          FileReadStream = val;
        },
        enumerable: true,
        configurable: true
      });
      var FileWriteStream = WriteStream;
      Object.defineProperty(fs2, "FileWriteStream", {
        get: function() {
          return FileWriteStream;
        },
        set: function(val) {
          FileWriteStream = val;
        },
        enumerable: true,
        configurable: true
      });
      function ReadStream(path2, options) {
        if (this instanceof ReadStream)
          return fs$ReadStream.apply(this, arguments), this;
        else
          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
      }
      function ReadStream$open() {
        var that = this;
        open(that.path, that.flags, that.mode, function(err, fd) {
          if (err) {
            if (that.autoClose)
              that.destroy();
            that.emit("error", err);
          } else {
            that.fd = fd;
            that.emit("open", fd);
            that.read();
          }
        });
      }
      function WriteStream(path2, options) {
        if (this instanceof WriteStream)
          return fs$WriteStream.apply(this, arguments), this;
        else
          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
      }
      function WriteStream$open() {
        var that = this;
        open(that.path, that.flags, that.mode, function(err, fd) {
          if (err) {
            that.destroy();
            that.emit("error", err);
          } else {
            that.fd = fd;
            that.emit("open", fd);
          }
        });
      }
      function createReadStream(path2, options) {
        return new fs2.ReadStream(path2, options);
      }
      function createWriteStream(path2, options) {
        return new fs2.WriteStream(path2, options);
      }
      var fs$open = fs2.open;
      fs2.open = open;
      function open(path2, flags, mode, cb) {
        if (typeof mode === "function")
          cb = mode, mode = null;
        return go$open(path2, flags, mode, cb);
        function go$open(path3, flags2, mode2, cb2, startTime) {
          return fs$open(path3, flags2, mode2, function(err, fd) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$open, [path3, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      return fs2;
    }
    function enqueue(elem) {
      debug("ENQUEUE", elem[0].name, elem[1]);
      fs[gracefulQueue].push(elem);
      retry();
    }
    var retryTimer;
    function resetQueue() {
      var now = Date.now();
      for (var i = 0; i < fs[gracefulQueue].length; ++i) {
        if (fs[gracefulQueue][i].length > 2) {
          fs[gracefulQueue][i][3] = now;
          fs[gracefulQueue][i][4] = now;
        }
      }
      retry();
    }
    function retry() {
      clearTimeout(retryTimer);
      retryTimer = void 0;
      if (fs[gracefulQueue].length === 0)
        return;
      var elem = fs[gracefulQueue].shift();
      var fn = elem[0];
      var args = elem[1];
      var err = elem[2];
      var startTime = elem[3];
      var lastTime = elem[4];
      if (startTime === void 0) {
        debug("RETRY", fn.name, args);
        fn.apply(null, args);
      } else if (Date.now() - startTime >= 6e4) {
        debug("TIMEOUT", fn.name, args);
        var cb = args.pop();
        if (typeof cb === "function")
          cb.call(null, err);
      } else {
        var sinceAttempt = Date.now() - lastTime;
        var sinceStart = Math.max(lastTime - startTime, 1);
        var desiredDelay = Math.min(sinceStart * 1.2, 100);
        if (sinceAttempt >= desiredDelay) {
          debug("RETRY", fn.name, args);
          fn.apply(null, args.concat([startTime]));
        } else {
          fs[gracefulQueue].push(elem);
        }
      }
      if (retryTimer === void 0) {
        retryTimer = setTimeout(retry, 0);
      }
    }
  }
});

// ../node_modules/.pnpm/strip-bom@4.0.0/node_modules/strip-bom/index.js
var require_strip_bom = __commonJS({
  "../node_modules/.pnpm/strip-bom@4.0.0/node_modules/strip-bom/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (string) => {
      if (typeof string !== "string") {
        throw new TypeError(`Expected a string, got ${typeof string}`);
      }
      if (string.charCodeAt(0) === 65279) {
        return string.slice(1);
      }
      return string;
    };
  }
});

// ../node_modules/.pnpm/is-arrayish@0.2.1/node_modules/is-arrayish/index.js
var require_is_arrayish = __commonJS({
  "../node_modules/.pnpm/is-arrayish@0.2.1/node_modules/is-arrayish/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function isArrayish(obj) {
      if (!obj) {
        return false;
      }
      return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function;
    };
  }
});

// ../node_modules/.pnpm/error-ex@1.3.2/node_modules/error-ex/index.js
var require_error_ex = __commonJS({
  "../node_modules/.pnpm/error-ex@1.3.2/node_modules/error-ex/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var isArrayish = require_is_arrayish();
    var errorEx = function errorEx2(name, properties) {
      if (!name || name.constructor !== String) {
        properties = name || {};
        name = Error.name;
      }
      var errorExError = function ErrorEXError(message) {
        if (!this) {
          return new ErrorEXError(message);
        }
        message = message instanceof Error ? message.message : message || this.message;
        Error.call(this, message);
        Error.captureStackTrace(this, errorExError);
        this.name = name;
        Object.defineProperty(this, "message", {
          configurable: true,
          enumerable: false,
          get: function() {
            var newMessage = message.split(/\r?\n/g);
            for (var key in properties) {
              if (!properties.hasOwnProperty(key)) {
                continue;
              }
              var modifier = properties[key];
              if ("message" in modifier) {
                newMessage = modifier.message(this[key], newMessage) || newMessage;
                if (!isArrayish(newMessage)) {
                  newMessage = [newMessage];
                }
              }
            }
            return newMessage.join("\n");
          },
          set: function(v) {
            message = v;
          }
        });
        var overwrittenStack = null;
        var stackDescriptor = Object.getOwnPropertyDescriptor(this, "stack");
        var stackGetter = stackDescriptor.get;
        var stackValue = stackDescriptor.value;
        delete stackDescriptor.value;
        delete stackDescriptor.writable;
        stackDescriptor.set = function(newstack) {
          overwrittenStack = newstack;
        };
        stackDescriptor.get = function() {
          var stack = (overwrittenStack || (stackGetter ? stackGetter.call(this) : stackValue)).split(/\r?\n+/g);
          if (!overwrittenStack) {
            stack[0] = this.name + ": " + this.message;
          }
          var lineCount = 1;
          for (var key in properties) {
            if (!properties.hasOwnProperty(key)) {
              continue;
            }
            var modifier = properties[key];
            if ("line" in modifier) {
              var line = modifier.line(this[key]);
              if (line) {
                stack.splice(lineCount++, 0, "    " + line);
              }
            }
            if ("stack" in modifier) {
              modifier.stack(this[key], stack);
            }
          }
          return stack.join("\n");
        };
        Object.defineProperty(this, "stack", stackDescriptor);
      };
      if (Object.setPrototypeOf) {
        Object.setPrototypeOf(errorExError.prototype, Error.prototype);
        Object.setPrototypeOf(errorExError, Error);
      } else {
        util.inherits(errorExError, Error);
      }
      return errorExError;
    };
    errorEx.append = function(str, def) {
      return {
        message: function(v, message) {
          v = v || def;
          if (v) {
            message[0] += " " + str.replace("%s", v.toString());
          }
          return message;
        }
      };
    };
    errorEx.line = function(str, def) {
      return {
        line: function(v) {
          v = v || def;
          if (v) {
            return str.replace("%s", v.toString());
          }
          return null;
        }
      };
    };
    module2.exports = errorEx;
  }
});

// ../node_modules/.pnpm/json-parse-even-better-errors@2.3.1/node_modules/json-parse-even-better-errors/index.js
var require_json_parse_even_better_errors = __commonJS({
  "../node_modules/.pnpm/json-parse-even-better-errors@2.3.1/node_modules/json-parse-even-better-errors/index.js"(exports2, module2) {
    "use strict";
    var hexify = (char) => {
      const h = char.charCodeAt(0).toString(16).toUpperCase();
      return "0x" + (h.length % 2 ? "0" : "") + h;
    };
    var parseError = (e, txt, context) => {
      if (!txt) {
        return {
          message: e.message + " while parsing empty string",
          position: 0
        };
      }
      const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i);
      const errIdx = badToken ? +badToken[2] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null;
      const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${JSON.stringify(badToken[1])} (${hexify(badToken[1])})`) : e.message;
      if (errIdx !== null && errIdx !== void 0) {
        const start = errIdx <= context ? 0 : errIdx - context;
        const end = errIdx + context >= txt.length ? txt.length : errIdx + context;
        const slice = (start === 0 ? "" : "...") + txt.slice(start, end) + (end === txt.length ? "" : "...");
        const near = txt === slice ? "" : "near ";
        return {
          message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,
          position: errIdx
        };
      } else {
        return {
          message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,
          position: 0
        };
      }
    };
    var JSONParseError = class extends SyntaxError {
      constructor(er, txt, context, caller) {
        context = context || 20;
        const metadata = parseError(er, txt, context);
        super(metadata.message);
        Object.assign(this, metadata);
        this.code = "EJSONPARSE";
        this.systemError = er;
        Error.captureStackTrace(this, caller || this.constructor);
      }
      get name() {
        return this.constructor.name;
      }
      set name(n) {
      }
      get [Symbol.toStringTag]() {
        return this.constructor.name;
      }
    };
    var kIndent = Symbol.for("indent");
    var kNewline = Symbol.for("newline");
    var formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/;
    var emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/;
    var parseJson = (txt, reviver, context) => {
      const parseText = stripBOM(txt);
      context = context || 20;
      try {
        const [, newline = "\n", indent = "  "] = parseText.match(emptyRE) || parseText.match(formatRE) || [, "", ""];
        const result2 = JSON.parse(parseText, reviver);
        if (result2 && typeof result2 === "object") {
          result2[kNewline] = newline;
          result2[kIndent] = indent;
        }
        return result2;
      } catch (e) {
        if (typeof txt !== "string" && !Buffer.isBuffer(txt)) {
          const isEmptyArray = Array.isArray(txt) && txt.length === 0;
          throw Object.assign(new TypeError(
            `Cannot parse ${isEmptyArray ? "an empty array" : String(txt)}`
          ), {
            code: "EJSONPARSE",
            systemError: e
          });
        }
        throw new JSONParseError(e, parseText, context, parseJson);
      }
    };
    var stripBOM = (txt) => String(txt).replace(/^\uFEFF/, "");
    module2.exports = parseJson;
    parseJson.JSONParseError = JSONParseError;
    parseJson.noExceptions = (txt, reviver) => {
      try {
        return JSON.parse(stripBOM(txt), reviver);
      } catch (e) {
      }
    };
  }
});

// ../node_modules/.pnpm/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js
var require_build = __commonJS({
  "../node_modules/.pnpm/lines-and-columns@1.2.4/node_modules/lines-and-columns/build/index.js"(exports2) {
    "use strict";
    exports2.__esModule = true;
    exports2.LinesAndColumns = void 0;
    var LF = "\n";
    var CR = "\r";
    var LinesAndColumns = (
      /** @class */
      function() {
        function LinesAndColumns2(string) {
          this.string = string;
          var offsets = [0];
          for (var offset = 0; offset < string.length; ) {
            switch (string[offset]) {
              case LF:
                offset += LF.length;
                offsets.push(offset);
                break;
              case CR:
                offset += CR.length;
                if (string[offset] === LF) {
                  offset += LF.length;
                }
                offsets.push(offset);
                break;
              default:
                offset++;
                break;
            }
          }
          this.offsets = offsets;
        }
        LinesAndColumns2.prototype.locationForIndex = function(index) {
          if (index < 0 || index > this.string.length) {
            return null;
          }
          var line = 0;
          var offsets = this.offsets;
          while (offsets[line + 1] <= index) {
            line++;
          }
          var column = index - offsets[line];
          return { line, column };
        };
        LinesAndColumns2.prototype.indexForLocation = function(location) {
          var line = location.line, column = location.column;
          if (line < 0 || line >= this.offsets.length) {
            return null;
          }
          if (column < 0 || column > this.lengthOfLine(line)) {
            return null;
          }
          return this.offsets[line] + column;
        };
        LinesAndColumns2.prototype.lengthOfLine = function(line) {
          var offset = this.offsets[line];
          var nextOffset = line === this.offsets.length - 1 ? this.string.length : this.offsets[line + 1];
          return nextOffset - offset;
        };
        return LinesAndColumns2;
      }()
    );
    exports2.LinesAndColumns = LinesAndColumns;
    exports2["default"] = LinesAndColumns;
  }
});

// ../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js
var require_picocolors = __commonJS({
  "../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(exports2, module2) {
    var p = process || {};
    var argv2 = p.argv || [];
    var env = p.env || {};
    var isColorSupported = !(!!env.NO_COLOR || argv2.includes("--no-color")) && (!!env.FORCE_COLOR || argv2.includes("--color") || p.platform === "win32" || (p.stdout || {}).isTTY && env.TERM !== "dumb" || !!env.CI);
    var formatter = (open, close, replace = open) => (input) => {
      let string = "" + input, index = string.indexOf(close, open.length);
      return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;
    };
    var replaceClose = (string, close, replace, index) => {
      let result2 = "", cursor = 0;
      do {
        result2 += string.substring(cursor, index) + replace;
        cursor = index + close.length;
        index = string.indexOf(close, cursor);
      } while (~index);
      return result2 + string.substring(cursor);
    };
    var createColors = (enabled = isColorSupported) => {
      let f = enabled ? formatter : () => String;
      return {
        isColorSupported: enabled,
        reset: f("\x1B[0m", "\x1B[0m"),
        bold: f("\x1B[1m", "\x1B[22m", "\x1B[22m\x1B[1m"),
        dim: f("\x1B[2m", "\x1B[22m", "\x1B[22m\x1B[2m"),
        italic: f("\x1B[3m", "\x1B[23m"),
        underline: f("\x1B[4m", "\x1B[24m"),
        inverse: f("\x1B[7m", "\x1B[27m"),
        hidden: f("\x1B[8m", "\x1B[28m"),
        strikethrough: f("\x1B[9m", "\x1B[29m"),
        black: f("\x1B[30m", "\x1B[39m"),
        red: f("\x1B[31m", "\x1B[39m"),
        green: f("\x1B[32m", "\x1B[39m"),
        yellow: f("\x1B[33m", "\x1B[39m"),
        blue: f("\x1B[34m", "\x1B[39m"),
        magenta: f("\x1B[35m", "\x1B[39m"),
        cyan: f("\x1B[36m", "\x1B[39m"),
        white: f("\x1B[37m", "\x1B[39m"),
        gray: f("\x1B[90m", "\x1B[39m"),
        bgBlack: f("\x1B[40m", "\x1B[49m"),
        bgRed: f("\x1B[41m", "\x1B[49m"),
        bgGreen: f("\x1B[42m", "\x1B[49m"),
        bgYellow: f("\x1B[43m", "\x1B[49m"),
        bgBlue: f("\x1B[44m", "\x1B[49m"),
        bgMagenta: f("\x1B[45m", "\x1B[49m"),
        bgCyan: f("\x1B[46m", "\x1B[49m"),
        bgWhite: f("\x1B[47m", "\x1B[49m"),
        blackBright: f("\x1B[90m", "\x1B[39m"),
        redBright: f("\x1B[91m", "\x1B[39m"),
        greenBright: f("\x1B[92m", "\x1B[39m"),
        yellowBright: f("\x1B[93m", "\x1B[39m"),
        blueBright: f("\x1B[94m", "\x1B[39m"),
        magentaBright: f("\x1B[95m", "\x1B[39m"),
        cyanBright: f("\x1B[96m", "\x1B[39m"),
        whiteBright: f("\x1B[97m", "\x1B[39m"),
        bgBlackBright: f("\x1B[100m", "\x1B[49m"),
        bgRedBright: f("\x1B[101m", "\x1B[49m"),
        bgGreenBright: f("\x1B[102m", "\x1B[49m"),
        bgYellowBright: f("\x1B[103m", "\x1B[49m"),
        bgBlueBright: f("\x1B[104m", "\x1B[49m"),
        bgMagentaBright: f("\x1B[105m", "\x1B[49m"),
        bgCyanBright: f("\x1B[106m", "\x1B[49m"),
        bgWhiteBright: f("\x1B[107m", "\x1B[49m")
      };
    };
    module2.exports = createColors();
    module2.exports.createColors = createColors;
  }
});

// ../node_modules/.pnpm/js-tokens@4.0.0/node_modules/js-tokens/index.js
var require_js_tokens = __commonJS({
  "../node_modules/.pnpm/js-tokens@4.0.0/node_modules/js-tokens/index.js"(exports2) {
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
    exports2.matchToToken = function(match) {
      var token = { type: "invalid", value: match[0], closed: void 0 };
      if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);
      else if (match[5]) token.type = "comment";
      else if (match[6]) token.type = "comment", token.closed = !!match[7];
      else if (match[8]) token.type = "regex";
      else if (match[9]) token.type = "number";
      else if (match[10]) token.type = "name";
      else if (match[11]) token.type = "punctuator";
      else if (match[12]) token.type = "whitespace";
      return token;
    };
  }
});

// ../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/identifier.js
var require_identifier = __commonJS({
  "../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.isIdentifierChar = isIdentifierChar;
    exports2.isIdentifierName = isIdentifierName;
    exports2.isIdentifierStart = isIdentifierStart;
    var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
    var nonASCIIidentifierChars = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
    var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
    var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
    nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
    var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 2, 60, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 42, 9, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 496, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191];
    var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 80, 3, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 343, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 726, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
    function isInAstralSet(code, set) {
      let pos = 65536;
      for (let i = 0, length = set.length; i < length; i += 2) {
        pos += set[i];
        if (pos > code) return false;
        pos += set[i + 1];
        if (pos >= code) return true;
      }
      return false;
    }
    function isIdentifierStart(code) {
      if (code < 65) return code === 36;
      if (code <= 90) return true;
      if (code < 97) return code === 95;
      if (code <= 122) return true;
      if (code <= 65535) {
        return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code));
      }
      return isInAstralSet(code, astralIdentifierStartCodes);
    }
    function isIdentifierChar(code) {
      if (code < 48) return code === 36;
      if (code < 58) return true;
      if (code < 65) return false;
      if (code <= 90) return true;
      if (code < 97) return code === 95;
      if (code <= 122) return true;
      if (code <= 65535) {
        return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code));
      }
      return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
    }
    function isIdentifierName(name) {
      let isFirst = true;
      for (let i = 0; i < name.length; i++) {
        let cp = name.charCodeAt(i);
        if ((cp & 64512) === 55296 && i + 1 < name.length) {
          const trail = name.charCodeAt(++i);
          if ((trail & 64512) === 56320) {
            cp = 65536 + ((cp & 1023) << 10) + (trail & 1023);
          }
        }
        if (isFirst) {
          isFirst = false;
          if (!isIdentifierStart(cp)) {
            return false;
          }
        } else if (!isIdentifierChar(cp)) {
          return false;
        }
      }
      return !isFirst;
    }
  }
});

// ../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/keyword.js
var require_keyword = __commonJS({
  "../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.isKeyword = isKeyword;
    exports2.isReservedWord = isReservedWord;
    exports2.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
    exports2.isStrictBindReservedWord = isStrictBindReservedWord;
    exports2.isStrictReservedWord = isStrictReservedWord;
    var reservedWords = {
      keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
      strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
      strictBind: ["eval", "arguments"]
    };
    var keywords = new Set(reservedWords.keyword);
    var reservedWordsStrictSet = new Set(reservedWords.strict);
    var reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
    function isReservedWord(word, inModule) {
      return inModule && word === "await" || word === "enum";
    }
    function isStrictReservedWord(word, inModule) {
      return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
    }
    function isStrictBindOnlyReservedWord(word) {
      return reservedWordsStrictBindSet.has(word);
    }
    function isStrictBindReservedWord(word, inModule) {
      return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
    }
    function isKeyword(word) {
      return keywords.has(word);
    }
  }
});

// ../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/index.js
var require_lib2 = __commonJS({
  "../node_modules/.pnpm/@babel+helper-validator-identifier@7.25.9/node_modules/@babel/helper-validator-identifier/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    Object.defineProperty(exports2, "isIdentifierChar", {
      enumerable: true,
      get: function() {
        return _identifier.isIdentifierChar;
      }
    });
    Object.defineProperty(exports2, "isIdentifierName", {
      enumerable: true,
      get: function() {
        return _identifier.isIdentifierName;
      }
    });
    Object.defineProperty(exports2, "isIdentifierStart", {
      enumerable: true,
      get: function() {
        return _identifier.isIdentifierStart;
      }
    });
    Object.defineProperty(exports2, "isKeyword", {
      enumerable: true,
      get: function() {
        return _keyword.isKeyword;
      }
    });
    Object.defineProperty(exports2, "isReservedWord", {
      enumerable: true,
      get: function() {
        return _keyword.isReservedWord;
      }
    });
    Object.defineProperty(exports2, "isStrictBindOnlyReservedWord", {
      enumerable: true,
      get: function() {
        return _keyword.isStrictBindOnlyReservedWord;
      }
    });
    Object.defineProperty(exports2, "isStrictBindReservedWord", {
      enumerable: true,
      get: function() {
        return _keyword.isStrictBindReservedWord;
      }
    });
    Object.defineProperty(exports2, "isStrictReservedWord", {
      enumerable: true,
      get: function() {
        return _keyword.isStrictReservedWord;
      }
    });
    var _identifier = require_identifier();
    var _keyword = require_keyword();
  }
});

// ../node_modules/.pnpm/@babel+code-frame@7.26.2/node_modules/@babel/code-frame/lib/index.js
var require_lib3 = __commonJS({
  "../node_modules/.pnpm/@babel+code-frame@7.26.2/node_modules/@babel/code-frame/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var picocolors = require_picocolors();
    var jsTokens = require_js_tokens();
    var helperValidatorIdentifier = require_lib2();
    function isColorSupported() {
      return typeof process === "object" && (process.env.FORCE_COLOR === "0" || process.env.FORCE_COLOR === "false") ? false : picocolors.isColorSupported;
    }
    var compose = (f, g) => (v) => f(g(v));
    function buildDefs(colors) {
      return {
        keyword: colors.cyan,
        capitalized: colors.yellow,
        jsxIdentifier: colors.yellow,
        punctuator: colors.yellow,
        number: colors.magenta,
        string: colors.green,
        regex: colors.magenta,
        comment: colors.gray,
        invalid: compose(compose(colors.white, colors.bgRed), colors.bold),
        gutter: colors.gray,
        marker: compose(colors.red, colors.bold),
        message: compose(colors.red, colors.bold),
        reset: colors.reset
      };
    }
    var defsOn = buildDefs(picocolors.createColors(true));
    var defsOff = buildDefs(picocolors.createColors(false));
    function getDefs(enabled) {
      return enabled ? defsOn : defsOff;
    }
    var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]);
    var NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
    var BRACKET = /^[()[\]{}]$/;
    var tokenize;
    {
      const JSX_TAG = /^[a-z][\w-]*$/i;
      const getTokenType = function(token, offset, text) {
        if (token.type === "name") {
          if (helperValidatorIdentifier.isKeyword(token.value) || helperValidatorIdentifier.isStrictReservedWord(token.value, true) || sometimesKeywords.has(token.value)) {
            return "keyword";
          }
          if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) === "</")) {
            return "jsxIdentifier";
          }
          if (token.value[0] !== token.value[0].toLowerCase()) {
            return "capitalized";
          }
        }
        if (token.type === "punctuator" && BRACKET.test(token.value)) {
          return "bracket";
        }
        if (token.type === "invalid" && (token.value === "@" || token.value === "#")) {
          return "punctuator";
        }
        return token.type;
      };
      tokenize = function* (text) {
        let match;
        while (match = jsTokens.default.exec(text)) {
          const token = jsTokens.matchToToken(match);
          yield {
            type: getTokenType(token, match.index, text),
            value: token.value
          };
        }
      };
    }
    function highlight(text) {
      if (text === "") return "";
      const defs = getDefs(true);
      let highlighted = "";
      for (const {
        type,
        value
      } of tokenize(text)) {
        if (type in defs) {
          highlighted += value.split(NEWLINE$1).map((str) => defs[type](str)).join("\n");
        } else {
          highlighted += value;
        }
      }
      return highlighted;
    }
    var deprecationWarningShown = false;
    var NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
    function getMarkerLines(loc, source, opts) {
      const startLoc = Object.assign({
        column: 0,
        line: -1
      }, loc.start);
      const endLoc = Object.assign({}, startLoc, loc.end);
      const {
        linesAbove = 2,
        linesBelow = 3
      } = opts || {};
      const startLine = startLoc.line;
      const startColumn = startLoc.column;
      const endLine = endLoc.line;
      const endColumn = endLoc.column;
      let start = Math.max(startLine - (linesAbove + 1), 0);
      let end = Math.min(source.length, endLine + linesBelow);
      if (startLine === -1) {
        start = 0;
      }
      if (endLine === -1) {
        end = source.length;
      }
      const lineDiff = endLine - startLine;
      const markerLines = {};
      if (lineDiff) {
        for (let i = 0; i <= lineDiff; i++) {
          const lineNumber = i + startLine;
          if (!startColumn) {
            markerLines[lineNumber] = true;
          } else if (i === 0) {
            const sourceLength = source[lineNumber - 1].length;
            markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
          } else if (i === lineDiff) {
            markerLines[lineNumber] = [0, endColumn];
          } else {
            const sourceLength = source[lineNumber - i].length;
            markerLines[lineNumber] = [0, sourceLength];
          }
        }
      } else {
        if (startColumn === endColumn) {
          if (startColumn) {
            markerLines[startLine] = [startColumn, 0];
          } else {
            markerLines[startLine] = true;
          }
        } else {
          markerLines[startLine] = [startColumn, endColumn - startColumn];
        }
      }
      return {
        start,
        end,
        markerLines
      };
    }
    function codeFrameColumns(rawLines, loc, opts = {}) {
      const shouldHighlight = opts.forceColor || isColorSupported() && opts.highlightCode;
      const defs = getDefs(shouldHighlight);
      const lines = rawLines.split(NEWLINE);
      const {
        start,
        end,
        markerLines
      } = getMarkerLines(loc, lines, opts);
      const hasColumns = loc.start && typeof loc.start.column === "number";
      const numberMaxWidth = String(end).length;
      const highlightedLines = shouldHighlight ? highlight(rawLines) : rawLines;
      let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index2) => {
        const number = start + 1 + index2;
        const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
        const gutter = ` ${paddedNumber} |`;
        const hasMarker = markerLines[number];
        const lastMarkerLine = !markerLines[number + 1];
        if (hasMarker) {
          let markerLine = "";
          if (Array.isArray(hasMarker)) {
            const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
            const numberOfMarkers = hasMarker[1] || 1;
            markerLine = ["\n ", defs.gutter(gutter.replace(/\d/g, " ")), " ", markerSpacing, defs.marker("^").repeat(numberOfMarkers)].join("");
            if (lastMarkerLine && opts.message) {
              markerLine += " " + defs.message(opts.message);
            }
          }
          return [defs.marker(">"), defs.gutter(gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
        } else {
          return ` ${defs.gutter(gutter)}${line.length > 0 ? ` ${line}` : ""}`;
        }
      }).join("\n");
      if (opts.message && !hasColumns) {
        frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}
${frame}`;
      }
      if (shouldHighlight) {
        return defs.reset(frame);
      } else {
        return frame;
      }
    }
    function index(rawLines, lineNumber, colNumber, opts = {}) {
      if (!deprecationWarningShown) {
        deprecationWarningShown = true;
        const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
        if (process.emitWarning) {
          process.emitWarning(message, "DeprecationWarning");
        } else {
          const deprecationError = new Error(message);
          deprecationError.name = "DeprecationWarning";
          console.warn(new Error(message));
        }
      }
      colNumber = Math.max(colNumber, 0);
      const location = {
        start: {
          column: colNumber,
          line: lineNumber
        }
      };
      return codeFrameColumns(rawLines, location, opts);
    }
    exports2.codeFrameColumns = codeFrameColumns;
    exports2.default = index;
    exports2.highlight = highlight;
  }
});

// ../node_modules/.pnpm/parse-json@5.2.0/node_modules/parse-json/index.js
var require_parse_json = __commonJS({
  "../node_modules/.pnpm/parse-json@5.2.0/node_modules/parse-json/index.js"(exports2, module2) {
    "use strict";
    var errorEx = require_error_ex();
    var fallback = require_json_parse_even_better_errors();
    var { default: LinesAndColumns } = require_build();
    var { codeFrameColumns } = require_lib3();
    var JSONError = errorEx("JSONError", {
      fileName: errorEx.append("in %s"),
      codeFrame: errorEx.append("\n\n%s\n")
    });
    var parseJson = (string, reviver, filename) => {
      if (typeof reviver === "string") {
        filename = reviver;
        reviver = null;
      }
      try {
        try {
          return JSON.parse(string, reviver);
        } catch (error) {
          fallback(string, reviver);
          throw error;
        }
      } catch (error) {
        error.message = error.message.replace(/\n/g, "");
        const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/);
        const jsonError = new JSONError(error);
        if (filename) {
          jsonError.fileName = filename;
        }
        if (indexMatch && indexMatch.length > 0) {
          const lines = new LinesAndColumns(string);
          const index = Number(indexMatch[1]);
          const location = lines.locationForIndex(index);
          const codeFrame = codeFrameColumns(
            string,
            { start: { line: location.line + 1, column: location.column + 1 } },
            { highlightCode: true }
          );
          jsonError.codeFrame = codeFrame;
        }
        throw jsonError;
      }
    };
    parseJson.JSONError = JSONError;
    module2.exports = parseJson;
  }
});

// ../node_modules/.pnpm/load-json-file@6.2.0/node_modules/load-json-file/index.js
var require_load_json_file = __commonJS({
  "../node_modules/.pnpm/load-json-file@6.2.0/node_modules/load-json-file/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var { promisify } = require("util");
    var fs = require_graceful_fs();
    var stripBom = require_strip_bom();
    var parseJson = require_parse_json();
    var parse2 = (data, filePath, options = {}) => {
      data = stripBom(data);
      if (typeof options.beforeParse === "function") {
        data = options.beforeParse(data);
      }
      return parseJson(data, options.reviver, path2.relative(process.cwd(), filePath));
    };
    module2.exports = async (filePath, options) => parse2(await promisify(fs.readFile)(filePath, "utf8"), filePath, options);
    module2.exports.sync = (filePath, options) => parse2(fs.readFileSync(filePath, "utf8"), filePath, options);
  }
});

// ../cli/cli-meta/lib/index.js
var require_lib4 = __commonJS({
  "../cli/cli-meta/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageManager = void 0;
    exports2.detectIfCurrentPkgIsExecutable = detectIfCurrentPkgIsExecutable;
    exports2.isExecutedByCorepack = isExecutedByCorepack;
    exports2.getCurrentPackageName = getCurrentPackageName;
    var path_1 = __importDefault2(require("path"));
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var defaultManifest = {
      name: true ? "pnpm" : "pnpm",
      version: true ? "10.6.5" : "0.0.0"
    };
    var pkgJson;
    if (require.main == null) {
      pkgJson = defaultManifest;
    } else {
      try {
        pkgJson = {
          ...defaultManifest,
          ...load_json_file_1.default.sync(path_1.default.join(path_1.default.dirname(require.main.filename), "../package.json"))
        };
      } catch {
        pkgJson = defaultManifest;
      }
    }
    exports2.packageManager = {
      name: pkgJson.name,
      // Never a prerelease version
      stableVersion: pkgJson.version.includes("-") ? pkgJson.version.slice(0, pkgJson.version.indexOf("-")) : pkgJson.version,
      // This may be a 3.0.0-beta.2
      version: pkgJson.version
    };
    function detectIfCurrentPkgIsExecutable(proc = process) {
      return "pkg" in proc && proc.pkg != null;
    }
    function isExecutedByCorepack(env = process.env) {
      return env.COREPACK_ROOT != null;
    }
    function getCurrentPackageName(proc = process) {
      return detectIfCurrentPkgIsExecutable(proc) ? getExePackageName(proc) : "pnpm";
    }
    function getExePackageName(proc) {
      return `@pnpm/${normalizePlatformName(proc)}-${normalizeArchName(proc)}`;
    }
    function normalizePlatformName(proc) {
      switch (proc.platform) {
        case "win32":
          return "win";
        case "darwin":
          return "macos";
        default:
          return proc.platform;
      }
    }
    function normalizeArchName(proc) {
      if (proc.platform === "win32" && proc.arch === "ia32") {
        return "x86";
      }
      return proc.arch;
    }
  }
});

// ../packages/constants/lib/index.js
var require_lib5 = __commonJS({
  "../packages/constants/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.USEFUL_NON_ROOT_PNPM_FIELDS = exports2.FULL_FILTERED_META_DIR = exports2.FULL_META_DIR = exports2.ABBREVIATED_META_DIR = exports2.WORKSPACE_MANIFEST_FILENAME = exports2.STORE_VERSION = exports2.LAYOUT_VERSION = exports2.ENGINE_NAME = exports2.MANIFEST_BASE_NAMES = exports2.LOCKFILE_VERSION = exports2.LOCKFILE_MAJOR_VERSION = exports2.WANTED_LOCKFILE = void 0;
    exports2.WANTED_LOCKFILE = "pnpm-lock.yaml";
    exports2.LOCKFILE_MAJOR_VERSION = "9";
    exports2.LOCKFILE_VERSION = `${exports2.LOCKFILE_MAJOR_VERSION}.0`;
    exports2.MANIFEST_BASE_NAMES = ["package.json", "package.json5", "package.yaml"];
    exports2.ENGINE_NAME = `${process.platform};${process.arch};node${process.version.split(".")[0].substring(1)}`;
    exports2.LAYOUT_VERSION = 5;
    exports2.STORE_VERSION = "v10";
    exports2.WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml";
    exports2.ABBREVIATED_META_DIR = "metadata-v1.3";
    exports2.FULL_META_DIR = "metadata-full-v1.3";
    exports2.FULL_FILTERED_META_DIR = "metadata-v1.3";
    exports2.USEFUL_NON_ROOT_PNPM_FIELDS = ["executionEnv"];
  }
});

// ../packages/error/lib/index.js
var require_lib6 = __commonJS({
  "../packages/error/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LockfileMissingDependencyError = exports2.FetchError = exports2.PnpmError = void 0;
    var constants_1 = require_lib5();
    var PnpmError = class extends Error {
      constructor(code, message, opts) {
        super(message);
        this.code = code.startsWith("ERR_PNPM_") ? code : `ERR_PNPM_${code}`;
        this.hint = opts?.hint;
        this.attempts = opts?.attempts;
      }
    };
    exports2.PnpmError = PnpmError;
    var FetchError = class extends PnpmError {
      constructor(request, response, hint) {
        const _request = {
          url: request.url
        };
        if (request.authHeaderValue) {
          _request.authHeaderValue = hideAuthInformation(request.authHeaderValue);
        }
        const message = `GET ${request.url}: ${response.statusText} - ${response.status}`;
        if (response.status === 401 || response.status === 403 || response.status === 404) {
          hint = hint ? `${hint}

` : "";
          if (_request.authHeaderValue) {
            hint += `An authorization header was used: ${_request.authHeaderValue}`;
          } else {
            hint += "No authorization header was set for the request.";
          }
        }
        super(`FETCH_${response.status}`, message, { hint });
        this.request = _request;
        this.response = response;
      }
    };
    exports2.FetchError = FetchError;
    function hideAuthInformation(authHeaderValue) {
      const [authType, token] = authHeaderValue.split(" ");
      if (token == null)
        return "[hidden]";
      if (token.length < 20) {
        return `${authType} [hidden]`;
      }
      return `${authType} ${token.substring(0, 4)}[hidden]`;
    }
    var LockfileMissingDependencyError = class extends PnpmError {
      constructor(depPath) {
        const message = `Broken lockfile: no entry for '${depPath}' in ${constants_1.WANTED_LOCKFILE}`;
        super("LOCKFILE_MISSING_DEPENDENCY", message, {
          hint: "This issue is probably caused by a badly resolved merge conflict.\nTo fix the lockfile, run 'pnpm install --no-frozen-lockfile'."
        });
      }
    };
    exports2.LockfileMissingDependencyError = LockfileMissingDependencyError;
  }
});

// ../catalogs/config/lib/getCatalogsFromWorkspaceManifest.js
var require_getCatalogsFromWorkspaceManifest = __commonJS({
  "../catalogs/config/lib/getCatalogsFromWorkspaceManifest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getCatalogsFromWorkspaceManifest = getCatalogsFromWorkspaceManifest;
    exports2.checkDefaultCatalogIsDefinedOnce = checkDefaultCatalogIsDefinedOnce;
    var error_1 = require_lib6();
    function getCatalogsFromWorkspaceManifest(workspaceManifest) {
      if (workspaceManifest == null) {
        return {};
      }
      checkDefaultCatalogIsDefinedOnce(workspaceManifest);
      return {
        // If workspaceManifest.catalog is undefined, intentionally allow the spread
        // below to overwrite it. The check above ensures only one or the either is
        // defined.
        default: workspaceManifest.catalog,
        ...workspaceManifest.catalogs
      };
    }
    function checkDefaultCatalogIsDefinedOnce(manifest) {
      if (manifest.catalog != null && manifest.catalogs?.default != null) {
        throw new error_1.PnpmError("INVALID_CATALOGS_CONFIGURATION", "The 'default' catalog was defined multiple times. Use the 'catalog' field or 'catalogs.default', but not both.");
      }
    }
  }
});

// ../catalogs/config/lib/index.js
var require_lib7 = __commonJS({
  "../catalogs/config/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getCatalogsFromWorkspaceManifest = void 0;
    var getCatalogsFromWorkspaceManifest_1 = require_getCatalogsFromWorkspaceManifest();
    Object.defineProperty(exports2, "getCatalogsFromWorkspaceManifest", { enumerable: true, get: function() {
      return getCatalogsFromWorkspaceManifest_1.getCatalogsFromWorkspaceManifest;
    } });
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/polyfills.js
var require_polyfills2 = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/polyfills.js"(exports2, module2) {
    var constants = require("constants");
    var origCwd = process.cwd;
    var cwd = null;
    var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
    process.cwd = function() {
      if (!cwd)
        cwd = origCwd.call(process);
      return cwd;
    };
    try {
      process.cwd();
    } catch (er) {
    }
    if (typeof process.chdir === "function") {
      chdir = process.chdir;
      process.chdir = function(d) {
        cwd = null;
        chdir.call(process, d);
      };
      if (Object.setPrototypeOf) Object.setPrototypeOf(process.chdir, chdir);
    }
    var chdir;
    module2.exports = patch;
    function patch(fs) {
      if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
        patchLchmod(fs);
      }
      if (!fs.lutimes) {
        patchLutimes(fs);
      }
      fs.chown = chownFix(fs.chown);
      fs.fchown = chownFix(fs.fchown);
      fs.lchown = chownFix(fs.lchown);
      fs.chmod = chmodFix(fs.chmod);
      fs.fchmod = chmodFix(fs.fchmod);
      fs.lchmod = chmodFix(fs.lchmod);
      fs.chownSync = chownFixSync(fs.chownSync);
      fs.fchownSync = chownFixSync(fs.fchownSync);
      fs.lchownSync = chownFixSync(fs.lchownSync);
      fs.chmodSync = chmodFixSync(fs.chmodSync);
      fs.fchmodSync = chmodFixSync(fs.fchmodSync);
      fs.lchmodSync = chmodFixSync(fs.lchmodSync);
      fs.stat = statFix(fs.stat);
      fs.fstat = statFix(fs.fstat);
      fs.lstat = statFix(fs.lstat);
      fs.statSync = statFixSync(fs.statSync);
      fs.fstatSync = statFixSync(fs.fstatSync);
      fs.lstatSync = statFixSync(fs.lstatSync);
      if (fs.chmod && !fs.lchmod) {
        fs.lchmod = function(path2, mode, cb) {
          if (cb) process.nextTick(cb);
        };
        fs.lchmodSync = function() {
        };
      }
      if (fs.chown && !fs.lchown) {
        fs.lchown = function(path2, uid, gid, cb) {
          if (cb) process.nextTick(cb);
        };
        fs.lchownSync = function() {
        };
      }
      if (platform === "win32") {
        fs.rename = typeof fs.rename !== "function" ? fs.rename : function(fs$rename) {
          function rename(from, to, cb) {
            var start = Date.now();
            var backoff = 0;
            fs$rename(from, to, function CB(er) {
              if (er && (er.code === "EACCES" || er.code === "EPERM") && Date.now() - start < 6e4) {
                setTimeout(function() {
                  fs.stat(to, function(stater, st) {
                    if (stater && stater.code === "ENOENT")
                      fs$rename(from, to, CB);
                    else
                      cb(er);
                  });
                }, backoff);
                if (backoff < 100)
                  backoff += 10;
                return;
              }
              if (cb) cb(er);
            });
          }
          if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
          return rename;
        }(fs.rename);
      }
      fs.read = typeof fs.read !== "function" ? fs.read : function(fs$read) {
        function read(fd, buffer, offset, length, position, callback_) {
          var callback;
          if (callback_ && typeof callback_ === "function") {
            var eagCounter = 0;
            callback = function(er, _, __) {
              if (er && er.code === "EAGAIN" && eagCounter < 10) {
                eagCounter++;
                return fs$read.call(fs, fd, buffer, offset, length, position, callback);
              }
              callback_.apply(this, arguments);
            };
          }
          return fs$read.call(fs, fd, buffer, offset, length, position, callback);
        }
        if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
        return read;
      }(fs.read);
      fs.readSync = typeof fs.readSync !== "function" ? fs.readSync : /* @__PURE__ */ function(fs$readSync) {
        return function(fd, buffer, offset, length, position) {
          var eagCounter = 0;
          while (true) {
            try {
              return fs$readSync.call(fs, fd, buffer, offset, length, position);
            } catch (er) {
              if (er.code === "EAGAIN" && eagCounter < 10) {
                eagCounter++;
                continue;
              }
              throw er;
            }
          }
        };
      }(fs.readSync);
      function patchLchmod(fs2) {
        fs2.lchmod = function(path2, mode, callback) {
          fs2.open(
            path2,
            constants.O_WRONLY | constants.O_SYMLINK,
            mode,
            function(err, fd) {
              if (err) {
                if (callback) callback(err);
                return;
              }
              fs2.fchmod(fd, mode, function(err2) {
                fs2.close(fd, function(err22) {
                  if (callback) callback(err2 || err22);
                });
              });
            }
          );
        };
        fs2.lchmodSync = function(path2, mode) {
          var fd = fs2.openSync(path2, constants.O_WRONLY | constants.O_SYMLINK, mode);
          var threw = true;
          var ret2;
          try {
            ret2 = fs2.fchmodSync(fd, mode);
            threw = false;
          } finally {
            if (threw) {
              try {
                fs2.closeSync(fd);
              } catch (er) {
              }
            } else {
              fs2.closeSync(fd);
            }
          }
          return ret2;
        };
      }
      function patchLutimes(fs2) {
        if (constants.hasOwnProperty("O_SYMLINK") && fs2.futimes) {
          fs2.lutimes = function(path2, at, mt, cb) {
            fs2.open(path2, constants.O_SYMLINK, function(er, fd) {
              if (er) {
                if (cb) cb(er);
                return;
              }
              fs2.futimes(fd, at, mt, function(er2) {
                fs2.close(fd, function(er22) {
                  if (cb) cb(er2 || er22);
                });
              });
            });
          };
          fs2.lutimesSync = function(path2, at, mt) {
            var fd = fs2.openSync(path2, constants.O_SYMLINK);
            var ret2;
            var threw = true;
            try {
              ret2 = fs2.futimesSync(fd, at, mt);
              threw = false;
            } finally {
              if (threw) {
                try {
                  fs2.closeSync(fd);
                } catch (er) {
                }
              } else {
                fs2.closeSync(fd);
              }
            }
            return ret2;
          };
        } else if (fs2.futimes) {
          fs2.lutimes = function(_a, _b, _c, cb) {
            if (cb) process.nextTick(cb);
          };
          fs2.lutimesSync = function() {
          };
        }
      }
      function chmodFix(orig) {
        if (!orig) return orig;
        return function(target, mode, cb) {
          return orig.call(fs, target, mode, function(er) {
            if (chownErOk(er)) er = null;
            if (cb) cb.apply(this, arguments);
          });
        };
      }
      function chmodFixSync(orig) {
        if (!orig) return orig;
        return function(target, mode) {
          try {
            return orig.call(fs, target, mode);
          } catch (er) {
            if (!chownErOk(er)) throw er;
          }
        };
      }
      function chownFix(orig) {
        if (!orig) return orig;
        return function(target, uid, gid, cb) {
          return orig.call(fs, target, uid, gid, function(er) {
            if (chownErOk(er)) er = null;
            if (cb) cb.apply(this, arguments);
          });
        };
      }
      function chownFixSync(orig) {
        if (!orig) return orig;
        return function(target, uid, gid) {
          try {
            return orig.call(fs, target, uid, gid);
          } catch (er) {
            if (!chownErOk(er)) throw er;
          }
        };
      }
      function statFix(orig) {
        if (!orig) return orig;
        return function(target, options, cb) {
          if (typeof options === "function") {
            cb = options;
            options = null;
          }
          function callback(er, stats) {
            if (stats) {
              if (stats.uid < 0) stats.uid += 4294967296;
              if (stats.gid < 0) stats.gid += 4294967296;
            }
            if (cb) cb.apply(this, arguments);
          }
          return options ? orig.call(fs, target, options, callback) : orig.call(fs, target, callback);
        };
      }
      function statFixSync(orig) {
        if (!orig) return orig;
        return function(target, options) {
          var stats = options ? orig.call(fs, target, options) : orig.call(fs, target);
          if (stats) {
            if (stats.uid < 0) stats.uid += 4294967296;
            if (stats.gid < 0) stats.gid += 4294967296;
          }
          return stats;
        };
      }
      function chownErOk(er) {
        if (!er)
          return true;
        if (er.code === "ENOSYS")
          return true;
        var nonroot = !process.getuid || process.getuid() !== 0;
        if (nonroot) {
          if (er.code === "EINVAL" || er.code === "EPERM")
            return true;
        }
        return false;
      }
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/legacy-streams.js
var require_legacy_streams2 = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/legacy-streams.js"(exports2, module2) {
    var Stream = require("stream").Stream;
    module2.exports = legacy;
    function legacy(fs) {
      return {
        ReadStream,
        WriteStream
      };
      function ReadStream(path2, options) {
        if (!(this instanceof ReadStream)) return new ReadStream(path2, options);
        Stream.call(this);
        var self2 = this;
        this.path = path2;
        this.fd = null;
        this.readable = true;
        this.paused = false;
        this.flags = "r";
        this.mode = 438;
        this.bufferSize = 64 * 1024;
        options = options || {};
        var keys = Object.keys(options);
        for (var index = 0, length = keys.length; index < length; index++) {
          var key = keys[index];
          this[key] = options[key];
        }
        if (this.encoding) this.setEncoding(this.encoding);
        if (this.start !== void 0) {
          if ("number" !== typeof this.start) {
            throw TypeError("start must be a Number");
          }
          if (this.end === void 0) {
            this.end = Infinity;
          } else if ("number" !== typeof this.end) {
            throw TypeError("end must be a Number");
          }
          if (this.start > this.end) {
            throw new Error("start must be <= end");
          }
          this.pos = this.start;
        }
        if (this.fd !== null) {
          process.nextTick(function() {
            self2._read();
          });
          return;
        }
        fs.open(this.path, this.flags, this.mode, function(err, fd) {
          if (err) {
            self2.emit("error", err);
            self2.readable = false;
            return;
          }
          self2.fd = fd;
          self2.emit("open", fd);
          self2._read();
        });
      }
      function WriteStream(path2, options) {
        if (!(this instanceof WriteStream)) return new WriteStream(path2, options);
        Stream.call(this);
        this.path = path2;
        this.fd = null;
        this.writable = true;
        this.flags = "w";
        this.encoding = "binary";
        this.mode = 438;
        this.bytesWritten = 0;
        options = options || {};
        var keys = Object.keys(options);
        for (var index = 0, length = keys.length; index < length; index++) {
          var key = keys[index];
          this[key] = options[key];
        }
        if (this.start !== void 0) {
          if ("number" !== typeof this.start) {
            throw TypeError("start must be a Number");
          }
          if (this.start < 0) {
            throw new Error("start must be >= zero");
          }
          this.pos = this.start;
        }
        this.busy = false;
        this._queue = [];
        if (this.fd === null) {
          this._open = fs.open;
          this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
          this.flush();
        }
      }
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/clone.js
var require_clone2 = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/clone.js"(exports2, module2) {
    "use strict";
    module2.exports = clone;
    var getPrototypeOf = Object.getPrototypeOf || function(obj) {
      return obj.__proto__;
    };
    function clone(obj) {
      if (obj === null || typeof obj !== "object")
        return obj;
      if (obj instanceof Object)
        var copy = { __proto__: getPrototypeOf(obj) };
      else
        var copy = /* @__PURE__ */ Object.create(null);
      Object.getOwnPropertyNames(obj).forEach(function(key) {
        Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
      });
      return copy;
    }
  }
});

// ../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/graceful-fs.js
var require_graceful_fs2 = __commonJS({
  "../node_modules/.pnpm/graceful-fs@4.2.10/node_modules/graceful-fs/graceful-fs.js"(exports2, module2) {
    var fs = require("fs");
    var polyfills = require_polyfills2();
    var legacy = require_legacy_streams2();
    var clone = require_clone2();
    var util = require("util");
    var gracefulQueue;
    var previousSymbol;
    if (typeof Symbol === "function" && typeof Symbol.for === "function") {
      gracefulQueue = Symbol.for("graceful-fs.queue");
      previousSymbol = Symbol.for("graceful-fs.previous");
    } else {
      gracefulQueue = "___graceful-fs.queue";
      previousSymbol = "___graceful-fs.previous";
    }
    function noop() {
    }
    function publishQueue(context, queue2) {
      Object.defineProperty(context, gracefulQueue, {
        get: function() {
          return queue2;
        }
      });
    }
    var debug = noop;
    if (util.debuglog)
      debug = util.debuglog("gfs4");
    else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
      debug = function() {
        var m = util.format.apply(util, arguments);
        m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
        console.error(m);
      };
    if (!fs[gracefulQueue]) {
      queue = global[gracefulQueue] || [];
      publishQueue(fs, queue);
      fs.close = function(fs$close) {
        function close(fd, cb) {
          return fs$close.call(fs, fd, function(err) {
            if (!err) {
              resetQueue();
            }
            if (typeof cb === "function")
              cb.apply(this, arguments);
          });
        }
        Object.defineProperty(close, previousSymbol, {
          value: fs$close
        });
        return close;
      }(fs.close);
      fs.closeSync = function(fs$closeSync) {
        function closeSync(fd) {
          fs$closeSync.apply(fs, arguments);
          resetQueue();
        }
        Object.defineProperty(closeSync, previousSymbol, {
          value: fs$closeSync
        });
        return closeSync;
      }(fs.closeSync);
      if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
        process.on("exit", function() {
          debug(fs[gracefulQueue]);
          require("assert").equal(fs[gracefulQueue].length, 0);
        });
      }
    }
    var queue;
    if (!global[gracefulQueue]) {
      publishQueue(global, fs[gracefulQueue]);
    }
    module2.exports = patch(clone(fs));
    if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) {
      module2.exports = patch(fs);
      fs.__patched = true;
    }
    function patch(fs2) {
      polyfills(fs2);
      fs2.gracefulify = patch;
      fs2.createReadStream = createReadStream;
      fs2.createWriteStream = createWriteStream;
      var fs$readFile = fs2.readFile;
      fs2.readFile = readFile;
      function readFile(path2, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$readFile(path2, options, cb);
        function go$readFile(path3, options2, cb2, startTime) {
          return fs$readFile(path3, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$readFile, [path3, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$writeFile = fs2.writeFile;
      fs2.writeFile = writeFile;
      function writeFile(path2, data, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$writeFile(path2, data, options, cb);
        function go$writeFile(path3, data2, options2, cb2, startTime) {
          return fs$writeFile(path3, data2, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$writeFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$appendFile = fs2.appendFile;
      if (fs$appendFile)
        fs2.appendFile = appendFile;
      function appendFile(path2, data, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        return go$appendFile(path2, data, options, cb);
        function go$appendFile(path3, data2, options2, cb2, startTime) {
          return fs$appendFile(path3, data2, options2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$appendFile, [path3, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$copyFile = fs2.copyFile;
      if (fs$copyFile)
        fs2.copyFile = copyFile;
      function copyFile(src, dest, flags, cb) {
        if (typeof flags === "function") {
          cb = flags;
          flags = 0;
        }
        return go$copyFile(src, dest, flags, cb);
        function go$copyFile(src2, dest2, flags2, cb2, startTime) {
          return fs$copyFile(src2, dest2, flags2, function(err) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      var fs$readdir = fs2.readdir;
      fs2.readdir = readdir;
      var noReaddirOptionVersions = /^v[0-5]\./;
      function readdir(path2, options, cb) {
        if (typeof options === "function")
          cb = options, options = null;
        var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path3, options2, cb2, startTime) {
          return fs$readdir(path3, fs$readdirCallback(
            path3,
            options2,
            cb2,
            startTime
          ));
        } : function go$readdir2(path3, options2, cb2, startTime) {
          return fs$readdir(path3, options2, fs$readdirCallback(
            path3,
            options2,
            cb2,
            startTime
          ));
        };
        return go$readdir(path2, options, cb);
        function fs$readdirCallback(path3, options2, cb2, startTime) {
          return function(err, files) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([
                go$readdir,
                [path3, options2, cb2],
                err,
                startTime || Date.now(),
                Date.now()
              ]);
            else {
              if (files && files.sort)
                files.sort();
              if (typeof cb2 === "function")
                cb2.call(this, err, files);
            }
          };
        }
      }
      if (process.version.substr(0, 4) === "v0.8") {
        var legStreams = legacy(fs2);
        ReadStream = legStreams.ReadStream;
        WriteStream = legStreams.WriteStream;
      }
      var fs$ReadStream = fs2.ReadStream;
      if (fs$ReadStream) {
        ReadStream.prototype = Object.create(fs$ReadStream.prototype);
        ReadStream.prototype.open = ReadStream$open;
      }
      var fs$WriteStream = fs2.WriteStream;
      if (fs$WriteStream) {
        WriteStream.prototype = Object.create(fs$WriteStream.prototype);
        WriteStream.prototype.open = WriteStream$open;
      }
      Object.defineProperty(fs2, "ReadStream", {
        get: function() {
          return ReadStream;
        },
        set: function(val) {
          ReadStream = val;
        },
        enumerable: true,
        configurable: true
      });
      Object.defineProperty(fs2, "WriteStream", {
        get: function() {
          return WriteStream;
        },
        set: function(val) {
          WriteStream = val;
        },
        enumerable: true,
        configurable: true
      });
      var FileReadStream = ReadStream;
      Object.defineProperty(fs2, "FileReadStream", {
        get: function() {
          return FileReadStream;
        },
        set: function(val) {
          FileReadStream = val;
        },
        enumerable: true,
        configurable: true
      });
      var FileWriteStream = WriteStream;
      Object.defineProperty(fs2, "FileWriteStream", {
        get: function() {
          return FileWriteStream;
        },
        set: function(val) {
          FileWriteStream = val;
        },
        enumerable: true,
        configurable: true
      });
      function ReadStream(path2, options) {
        if (this instanceof ReadStream)
          return fs$ReadStream.apply(this, arguments), this;
        else
          return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
      }
      function ReadStream$open() {
        var that = this;
        open(that.path, that.flags, that.mode, function(err, fd) {
          if (err) {
            if (that.autoClose)
              that.destroy();
            that.emit("error", err);
          } else {
            that.fd = fd;
            that.emit("open", fd);
            that.read();
          }
        });
      }
      function WriteStream(path2, options) {
        if (this instanceof WriteStream)
          return fs$WriteStream.apply(this, arguments), this;
        else
          return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
      }
      function WriteStream$open() {
        var that = this;
        open(that.path, that.flags, that.mode, function(err, fd) {
          if (err) {
            that.destroy();
            that.emit("error", err);
          } else {
            that.fd = fd;
            that.emit("open", fd);
          }
        });
      }
      function createReadStream(path2, options) {
        return new fs2.ReadStream(path2, options);
      }
      function createWriteStream(path2, options) {
        return new fs2.WriteStream(path2, options);
      }
      var fs$open = fs2.open;
      fs2.open = open;
      function open(path2, flags, mode, cb) {
        if (typeof mode === "function")
          cb = mode, mode = null;
        return go$open(path2, flags, mode, cb);
        function go$open(path3, flags2, mode2, cb2, startTime) {
          return fs$open(path3, flags2, mode2, function(err, fd) {
            if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
              enqueue([go$open, [path3, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
            else {
              if (typeof cb2 === "function")
                cb2.apply(this, arguments);
            }
          });
        }
      }
      return fs2;
    }
    function enqueue(elem) {
      debug("ENQUEUE", elem[0].name, elem[1]);
      fs[gracefulQueue].push(elem);
      retry();
    }
    var retryTimer;
    function resetQueue() {
      var now = Date.now();
      for (var i = 0; i < fs[gracefulQueue].length; ++i) {
        if (fs[gracefulQueue][i].length > 2) {
          fs[gracefulQueue][i][3] = now;
          fs[gracefulQueue][i][4] = now;
        }
      }
      retry();
    }
    function retry() {
      clearTimeout(retryTimer);
      retryTimer = void 0;
      if (fs[gracefulQueue].length === 0)
        return;
      var elem = fs[gracefulQueue].shift();
      var fn = elem[0];
      var args = elem[1];
      var err = elem[2];
      var startTime = elem[3];
      var lastTime = elem[4];
      if (startTime === void 0) {
        debug("RETRY", fn.name, args);
        fn.apply(null, args);
      } else if (Date.now() - startTime >= 6e4) {
        debug("TIMEOUT", fn.name, args);
        var cb = args.pop();
        if (typeof cb === "function")
          cb.call(null, err);
      } else {
        var sinceAttempt = Date.now() - lastTime;
        var sinceStart = Math.max(lastTime - startTime, 1);
        var desiredDelay = Math.min(sinceStart * 1.2, 100);
        if (sinceAttempt >= desiredDelay) {
          debug("RETRY", fn.name, args);
          fn.apply(null, args.concat([startTime]));
        } else {
          fs[gracefulQueue].push(elem);
        }
      }
      if (retryTimer === void 0) {
        retryTimer = setTimeout(retry, 0);
      }
    }
  }
});

// ../node_modules/.pnpm/@pnpm+network.ca-file@1.0.2/node_modules/@pnpm/network.ca-file/dist/ca-file.js
var require_ca_file = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.ca-file@1.0.2/node_modules/@pnpm/network.ca-file/dist/ca-file.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readCAFileSync = void 0;
    var graceful_fs_1 = __importDefault2(require_graceful_fs2());
    function readCAFileSync(filePath) {
      try {
        const contents = graceful_fs_1.default.readFileSync(filePath, "utf8");
        const delim = "-----END CERTIFICATE-----";
        const output = contents.split(delim).filter((ca) => Boolean(ca.trim())).map((ca) => `${ca.trimLeft()}${delim}`);
        return output;
      } catch (err) {
        if (err.code === "ENOENT")
          return void 0;
        throw err;
      }
    }
    exports2.readCAFileSync = readCAFileSync;
  }
});

// ../node_modules/.pnpm/@pnpm+network.ca-file@1.0.2/node_modules/@pnpm/network.ca-file/dist/index.js
var require_dist = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.ca-file@1.0.2/node_modules/@pnpm/network.ca-file/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_ca_file(), exports2);
  }
});

// ../node_modules/.pnpm/proto-list@1.2.4/node_modules/proto-list/proto-list.js
var require_proto_list = __commonJS({
  "../node_modules/.pnpm/proto-list@1.2.4/node_modules/proto-list/proto-list.js"(exports2, module2) {
    module2.exports = ProtoList;
    function setProto(obj, proto) {
      if (typeof Object.setPrototypeOf === "function")
        return Object.setPrototypeOf(obj, proto);
      else
        obj.__proto__ = proto;
    }
    function ProtoList() {
      this.list = [];
      var root = null;
      Object.defineProperty(this, "root", {
        get: function() {
          return root;
        },
        set: function(r) {
          root = r;
          if (this.list.length) {
            setProto(this.list[this.list.length - 1], r);
          }
        },
        enumerable: true,
        configurable: true
      });
    }
    ProtoList.prototype = {
      get length() {
        return this.list.length;
      },
      get keys() {
        var k = [];
        for (var i in this.list[0]) k.push(i);
        return k;
      },
      get snapshot() {
        var o = {};
        this.keys.forEach(function(k) {
          o[k] = this.get(k);
        }, this);
        return o;
      },
      get store() {
        return this.list[0];
      },
      push: function(obj) {
        if (typeof obj !== "object") obj = { valueOf: obj };
        if (this.list.length >= 1) {
          setProto(this.list[this.list.length - 1], obj);
        }
        setProto(obj, this.root);
        return this.list.push(obj);
      },
      pop: function() {
        if (this.list.length >= 2) {
          setProto(this.list[this.list.length - 2], this.root);
        }
        return this.list.pop();
      },
      unshift: function(obj) {
        setProto(obj, this.list[0] || this.root);
        return this.list.unshift(obj);
      },
      shift: function() {
        if (this.list.length === 1) {
          setProto(this.list[0], this.root);
        }
        return this.list.shift();
      },
      get: function(key) {
        return this.list[0][key];
      },
      set: function(key, val, save) {
        if (!this.length) this.push({});
        if (save && this.list[0].hasOwnProperty(key)) this.push({});
        return this.list[0][key] = val;
      },
      forEach: function(fn, thisp) {
        for (var key in this.list[0]) fn.call(thisp, key, this.list[0][key]);
      },
      slice: function() {
        return this.list.slice.apply(this.list, arguments);
      },
      splice: function() {
        var ret2 = this.list.splice.apply(this.list, arguments);
        for (var i = 0, l = this.list.length; i < l; i++) {
          setProto(this.list[i], this.list[i + 1] || this.root);
        }
        return ret2;
      }
    };
  }
});

// ../node_modules/.pnpm/ini@1.3.8/node_modules/ini/ini.js
var require_ini = __commonJS({
  "../node_modules/.pnpm/ini@1.3.8/node_modules/ini/ini.js"(exports2) {
    exports2.parse = exports2.decode = decode;
    exports2.stringify = exports2.encode = encode;
    exports2.safe = safe;
    exports2.unsafe = unsafe;
    var eol = typeof process !== "undefined" && process.platform === "win32" ? "\r\n" : "\n";
    function encode(obj, opt) {
      var children = [];
      var out = "";
      if (typeof opt === "string") {
        opt = {
          section: opt,
          whitespace: false
        };
      } else {
        opt = opt || {};
        opt.whitespace = opt.whitespace === true;
      }
      var separator = opt.whitespace ? " = " : "=";
      Object.keys(obj).forEach(function(k, _, __) {
        var val = obj[k];
        if (val && Array.isArray(val)) {
          val.forEach(function(item) {
            out += safe(k + "[]") + separator + safe(item) + "\n";
          });
        } else if (val && typeof val === "object")
          children.push(k);
        else
          out += safe(k) + separator + safe(val) + eol;
      });
      if (opt.section && out.length)
        out = "[" + safe(opt.section) + "]" + eol + out;
      children.forEach(function(k, _, __) {
        var nk = dotSplit(k).join("\\.");
        var section = (opt.section ? opt.section + "." : "") + nk;
        var child = encode(obj[k], {
          section,
          whitespace: opt.whitespace
        });
        if (out.length && child.length)
          out += eol;
        out += child;
      });
      return out;
    }
    function dotSplit(str) {
      return str.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map(function(part) {
        return part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, "");
      });
    }
    function decode(str) {
      var out = {};
      var p = out;
      var section = null;
      var re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;
      var lines = str.split(/[\r\n]+/g);
      lines.forEach(function(line, _, __) {
        if (!line || line.match(/^\s*[;#]/))
          return;
        var match = line.match(re);
        if (!match)
          return;
        if (match[1] !== void 0) {
          section = unsafe(match[1]);
          if (section === "__proto__") {
            p = {};
            return;
          }
          p = out[section] = out[section] || {};
          return;
        }
        var key = unsafe(match[2]);
        if (key === "__proto__")
          return;
        var value = match[3] ? unsafe(match[4]) : true;
        switch (value) {
          case "true":
          case "false":
          case "null":
            value = JSON.parse(value);
        }
        if (key.length > 2 && key.slice(-2) === "[]") {
          key = key.substring(0, key.length - 2);
          if (key === "__proto__")
            return;
          if (!p[key])
            p[key] = [];
          else if (!Array.isArray(p[key]))
            p[key] = [p[key]];
        }
        if (Array.isArray(p[key]))
          p[key].push(value);
        else
          p[key] = value;
      });
      Object.keys(out).filter(function(k, _, __) {
        if (!out[k] || typeof out[k] !== "object" || Array.isArray(out[k]))
          return false;
        var parts = dotSplit(k);
        var p2 = out;
        var l = parts.pop();
        var nl = l.replace(/\\\./g, ".");
        parts.forEach(function(part, _2, __2) {
          if (part === "__proto__")
            return;
          if (!p2[part] || typeof p2[part] !== "object")
            p2[part] = {};
          p2 = p2[part];
        });
        if (p2 === out && nl === l)
          return false;
        p2[nl] = out[k];
        return true;
      }).forEach(function(del, _, __) {
        delete out[del];
      });
      return out;
    }
    function isQuoted(val) {
      return val.charAt(0) === '"' && val.slice(-1) === '"' || val.charAt(0) === "'" && val.slice(-1) === "'";
    }
    function safe(val) {
      return typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim() ? JSON.stringify(val) : val.replace(/;/g, "\\;").replace(/#/g, "\\#");
    }
    function unsafe(val, doUnesc) {
      val = (val || "").trim();
      if (isQuoted(val)) {
        if (val.charAt(0) === "'")
          val = val.substr(1, val.length - 2);
        try {
          val = JSON.parse(val);
        } catch (_) {
        }
      } else {
        var esc = false;
        var unesc = "";
        for (var i = 0, l = val.length; i < l; i++) {
          var c = val.charAt(i);
          if (esc) {
            if ("\\;#".indexOf(c) !== -1)
              unesc += c;
            else
              unesc += "\\" + c;
            esc = false;
          } else if (";#".indexOf(c) !== -1)
            break;
          else if (c === "\\")
            esc = true;
          else
            unesc += c;
        }
        if (esc)
          unesc += "\\";
        return unesc.trim();
      }
      return val;
    }
  }
});

// ../node_modules/.pnpm/config-chain@1.1.13/node_modules/config-chain/index.js
var require_config_chain = __commonJS({
  "../node_modules/.pnpm/config-chain@1.1.13/node_modules/config-chain/index.js"(exports2, module2) {
    var ProtoList = require_proto_list();
    var path2 = require("path");
    var fs = require("fs");
    var ini = require_ini();
    var EE = require("events").EventEmitter;
    var url = require("url");
    var http = require("http");
    var exports2 = module2.exports = function() {
      var args = [].slice.call(arguments), conf = new ConfigChain();
      while (args.length) {
        var a = args.shift();
        if (a) conf.push("string" === typeof a ? json(a) : a);
      }
      return conf;
    };
    var find = exports2.find = function() {
      var rel = path2.join.apply(null, [].slice.call(arguments));
      function find2(start, rel2) {
        var file = path2.join(start, rel2);
        try {
          fs.statSync(file);
          return file;
        } catch (err) {
          if (path2.dirname(start) !== start)
            return find2(path2.dirname(start), rel2);
        }
      }
      return find2(__dirname, rel);
    };
    var parse2 = exports2.parse = function(content, file, type) {
      content = "" + content;
      if (!type) {
        try {
          return JSON.parse(content);
        } catch (er) {
          return ini.parse(content);
        }
      } else if (type === "json") {
        if (this.emit) {
          try {
            return JSON.parse(content);
          } catch (er) {
            this.emit("error", er);
          }
        } else {
          return JSON.parse(content);
        }
      } else {
        return ini.parse(content);
      }
    };
    var json = exports2.json = function() {
      var args = [].slice.call(arguments).filter(function(arg) {
        return arg != null;
      });
      var file = path2.join.apply(null, args);
      var content;
      try {
        content = fs.readFileSync(file, "utf-8");
      } catch (err) {
        return;
      }
      return parse2(content, file, "json");
    };
    var env = exports2.env = function(prefix, env2) {
      env2 = env2 || process.env;
      var obj = {};
      var l = prefix.length;
      for (var k in env2) {
        if (k.indexOf(prefix) === 0)
          obj[k.substring(l)] = env2[k];
      }
      return obj;
    };
    exports2.ConfigChain = ConfigChain;
    function ConfigChain() {
      EE.apply(this);
      ProtoList.apply(this, arguments);
      this._awaiting = 0;
      this._saving = 0;
      this.sources = {};
    }
    var extras = {
      constructor: { value: ConfigChain }
    };
    Object.keys(EE.prototype).forEach(function(k) {
      extras[k] = Object.getOwnPropertyDescriptor(EE.prototype, k);
    });
    ConfigChain.prototype = Object.create(ProtoList.prototype, extras);
    ConfigChain.prototype.del = function(key, where) {
      if (where) {
        var target = this.sources[where];
        target = target && target.data;
        if (!target) {
          return this.emit("error", new Error("not found " + where));
        }
        delete target[key];
      } else {
        for (var i = 0, l = this.list.length; i < l; i++) {
          delete this.list[i][key];
        }
      }
      return this;
    };
    ConfigChain.prototype.set = function(key, value, where) {
      var target;
      if (where) {
        target = this.sources[where];
        target = target && target.data;
        if (!target) {
          return this.emit("error", new Error("not found " + where));
        }
      } else {
        target = this.list[0];
        if (!target) {
          return this.emit("error", new Error("cannot set, no confs!"));
        }
      }
      target[key] = value;
      return this;
    };
    ConfigChain.prototype.get = function(key, where) {
      if (where) {
        where = this.sources[where];
        if (where) where = where.data;
        if (where && Object.hasOwnProperty.call(where, key)) return where[key];
        return void 0;
      }
      return this.list[0][key];
    };
    ConfigChain.prototype.save = function(where, type, cb) {
      if (typeof type === "function") cb = type, type = null;
      var target = this.sources[where];
      if (!target || !(target.path || target.source) || !target.data) {
        return this.emit("error", new Error("bad save target: " + where));
      }
      if (target.source) {
        var pref = target.prefix || "";
        Object.keys(target.data).forEach(function(k) {
          target.source[pref + k] = target.data[k];
        });
        return this;
      }
      var type = type || target.type;
      var data = target.data;
      if (target.type === "json") {
        data = JSON.stringify(data);
      } else {
        data = ini.stringify(data);
      }
      this._saving++;
      fs.writeFile(target.path, data, "utf8", function(er) {
        this._saving--;
        if (er) {
          if (cb) return cb(er);
          else return this.emit("error", er);
        }
        if (this._saving === 0) {
          if (cb) cb();
          this.emit("save");
        }
      }.bind(this));
      return this;
    };
    ConfigChain.prototype.addFile = function(file, type, name) {
      name = name || file;
      var marker = { __source__: name };
      this.sources[name] = { path: file, type };
      this.push(marker);
      this._await();
      fs.readFile(file, "utf8", function(er, data) {
        if (er) this.emit("error", er);
        this.addString(data, file, type, marker);
      }.bind(this));
      return this;
    };
    ConfigChain.prototype.addEnv = function(prefix, env2, name) {
      name = name || "env";
      var data = exports2.env(prefix, env2);
      this.sources[name] = { data, source: env2, prefix };
      return this.add(data, name);
    };
    ConfigChain.prototype.addUrl = function(req, type, name) {
      this._await();
      var href = url.format(req);
      name = name || href;
      var marker = { __source__: name };
      this.sources[name] = { href, type };
      this.push(marker);
      http.request(req, function(res) {
        var c = [];
        var ct = res.headers["content-type"];
        if (!type) {
          type = ct.indexOf("json") !== -1 ? "json" : ct.indexOf("ini") !== -1 ? "ini" : href.match(/\.json$/) ? "json" : href.match(/\.ini$/) ? "ini" : null;
          marker.type = type;
        }
        res.on("data", c.push.bind(c)).on("end", function() {
          this.addString(Buffer.concat(c), href, type, marker);
        }.bind(this)).on("error", this.emit.bind(this, "error"));
      }.bind(this)).on("error", this.emit.bind(this, "error")).end();
      return this;
    };
    ConfigChain.prototype.addString = function(data, file, type, marker) {
      data = this.parse(data, file, type);
      this.add(data, marker);
      return this;
    };
    ConfigChain.prototype.add = function(data, marker) {
      if (marker && typeof marker === "object") {
        var i = this.list.indexOf(marker);
        if (i === -1) {
          return this.emit("error", new Error("bad marker"));
        }
        this.splice(i, 1, data);
        marker = marker.__source__;
        this.sources[marker] = this.sources[marker] || {};
        this.sources[marker].data = data;
        this._resolve();
      } else {
        if (typeof marker === "string") {
          this.sources[marker] = this.sources[marker] || {};
          this.sources[marker].data = data;
        }
        this._await();
        this.push(data);
        process.nextTick(this._resolve.bind(this));
      }
      return this;
    };
    ConfigChain.prototype.parse = exports2.parse;
    ConfigChain.prototype._await = function() {
      this._awaiting++;
    };
    ConfigChain.prototype._resolve = function() {
      this._awaiting--;
      if (this._awaiting === 0) this.emit("load", this);
    };
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/envKeyToSetting.js
var require_envKeyToSetting = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/envKeyToSetting.js"(exports2, module2) {
    module2.exports = function(x) {
      const colonIndex = x.indexOf(":");
      if (colonIndex === -1) {
        return normalize(x);
      }
      const firstPart = x.substr(0, colonIndex);
      const secondPart = x.substr(colonIndex + 1);
      return `${normalize(firstPart)}:${normalize(secondPart)}`;
    };
    function normalize(s) {
      s = s.toLowerCase();
      if (s === "_authtoken") return "_authToken";
      let r = s[0];
      for (let i = 1; i < s.length; i++) {
        r += s[i] === "_" ? "-" : s[i];
      }
      return r;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+config.env-replace@1.1.0/node_modules/@pnpm/config.env-replace/dist/env-replace.js
var require_env_replace = __commonJS({
  "../node_modules/.pnpm/@pnpm+config.env-replace@1.1.0/node_modules/@pnpm/config.env-replace/dist/env-replace.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envReplace = void 0;
    var ENV_EXPR = /(?<!\\)(\\*)\$\{([^${}]+)\}/g;
    function envReplace(settingValue, env) {
      return settingValue.replace(ENV_EXPR, replaceEnvMatch.bind(null, env));
    }
    exports2.envReplace = envReplace;
    function replaceEnvMatch(env, orig, escape, name) {
      if (escape.length % 2) {
        return orig.slice((escape.length + 1) / 2);
      }
      const envValue = getEnvValue(env, name);
      if (envValue === void 0) {
        throw new Error(`Failed to replace env in config: ${orig}`);
      }
      return `${escape.slice(escape.length / 2)}${envValue}`;
    }
    var ENV_VALUE = /([^:-]+)(:?)-(.+)/;
    function getEnvValue(env, name) {
      const matched = name.match(ENV_VALUE);
      if (!matched)
        return env[name];
      const [, variableName, colon, fallback] = matched;
      if (Object.prototype.hasOwnProperty.call(env, variableName)) {
        return !env[variableName] && colon ? fallback : env[variableName];
      }
      return fallback;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+config.env-replace@1.1.0/node_modules/@pnpm/config.env-replace/dist/index.js
var require_dist2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+config.env-replace@1.1.0/node_modules/@pnpm/config.env-replace/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envReplace = void 0;
    var env_replace_1 = require_env_replace();
    Object.defineProperty(exports2, "envReplace", { enumerable: true, get: function() {
      return env_replace_1.envReplace;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/util.js
var require_util = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/util.js"(exports2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var { envReplace } = require_dist2();
    var parseKey = (key) => {
      if (typeof key !== "string") {
        return key;
      }
      return envReplace(key, process.env);
    };
    var parseField = (types, field, key) => {
      if (typeof field !== "string") {
        return field;
      }
      const typeList = [].concat(types[key]);
      const isPath = typeList.indexOf(path2) !== -1;
      const isBool = typeList.indexOf(Boolean) !== -1;
      const isString = typeList.indexOf(String) !== -1;
      const isNumber = typeList.indexOf(Number) !== -1;
      field = `${field}`.trim();
      if (/^".*"$/.test(field)) {
        try {
          field = JSON.parse(field);
        } catch (error) {
          throw new Error(`Failed parsing JSON config key ${key}: ${field}`);
        }
      }
      if (isBool && !isString && field === "") {
        return true;
      }
      switch (field) {
        // eslint-disable-line default-case
        case "true": {
          return true;
        }
        case "false": {
          return false;
        }
        case "null": {
          return null;
        }
        case "undefined": {
          return void 0;
        }
      }
      field = envReplace(field, process.env);
      if (isPath) {
        const regex = process.platform === "win32" ? /^~(\/|\\)/ : /^~\//;
        if (regex.test(field) && process.env.HOME) {
          field = path2.resolve(process.env.HOME, field.substr(2));
        }
        field = path2.resolve(field);
      }
      if (isNumber && !isNaN(field)) {
        field = Number(field);
      }
      return field;
    };
    var findPrefix = (name) => {
      name = path2.resolve(name);
      let walkedUp = false;
      while (path2.basename(name) === "node_modules") {
        name = path2.dirname(name);
        walkedUp = true;
      }
      if (walkedUp) {
        return name;
      }
      const find = (name2, original) => {
        const regex = /^[a-zA-Z]:(\\|\/)?$/;
        if (name2 === "/" || process.platform === "win32" && regex.test(name2)) {
          return original;
        }
        try {
          const files = fs.readdirSync(name2);
          if (files.includes("node_modules") || files.includes("package.json") || files.includes("package.json5") || files.includes("package.yaml") || files.includes("pnpm-workspace.yaml")) {
            return name2;
          }
          const dirname = path2.dirname(name2);
          if (dirname === name2) {
            return original;
          }
          return find(dirname, original);
        } catch (error) {
          if (name2 === original) {
            if (error.code === "ENOENT") {
              return original;
            }
            throw error;
          }
          return original;
        }
      };
      return find(name, name);
    };
    exports2.envReplace = envReplace;
    exports2.findPrefix = findPrefix;
    exports2.parseField = parseField;
    exports2.parseKey = parseKey;
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/types.js
var require_types = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/types.js"(exports2) {
    "use strict";
    var path2 = require("path");
    var Stream = require("stream").Stream;
    var url = require("url");
    var Umask = () => {
    };
    var getLocalAddresses = () => [];
    var semver = () => {
    };
    exports2.types = {
      access: [null, "restricted", "public"],
      "allow-same-version": Boolean,
      "always-auth": Boolean,
      also: [null, "dev", "development"],
      audit: Boolean,
      "auth-type": ["legacy", "sso", "saml", "oauth"],
      "bin-links": Boolean,
      browser: [null, String],
      ca: [null, String, Array],
      cafile: path2,
      cache: path2,
      "cache-lock-stale": Number,
      "cache-lock-retries": Number,
      "cache-lock-wait": Number,
      "cache-max": Number,
      "cache-min": Number,
      cert: [null, String],
      cidr: [null, String, Array],
      color: ["always", Boolean],
      depth: Number,
      description: Boolean,
      dev: Boolean,
      "dry-run": Boolean,
      editor: String,
      "engine-strict": Boolean,
      force: Boolean,
      "fetch-retries": Number,
      "fetch-retry-factor": Number,
      "fetch-retry-mintimeout": Number,
      "fetch-retry-maxtimeout": Number,
      git: String,
      "git-tag-version": Boolean,
      "commit-hooks": Boolean,
      global: Boolean,
      globalconfig: path2,
      "global-style": Boolean,
      group: [Number, String],
      "https-proxy": [null, url],
      "user-agent": String,
      "ham-it-up": Boolean,
      "heading": String,
      "if-present": Boolean,
      "ignore-prepublish": Boolean,
      "ignore-scripts": Boolean,
      "init-module": path2,
      "init-author-name": String,
      "init-author-email": String,
      "init-author-url": ["", url],
      "init-license": String,
      "init-version": semver,
      json: Boolean,
      key: [null, String],
      "legacy-bundling": Boolean,
      link: Boolean,
      // local-address must be listed as an IP for a local network interface
      // must be IPv4 due to node bug
      "local-address": getLocalAddresses(),
      loglevel: ["silent", "error", "warn", "notice", "http", "timing", "info", "verbose", "silly"],
      logstream: Stream,
      "logs-max": Number,
      long: Boolean,
      maxsockets: Number,
      message: String,
      "metrics-registry": [null, String],
      "node-options": [null, String],
      "node-version": [null, semver],
      "no-proxy": [null, String, Array],
      offline: Boolean,
      "onload-script": [null, String],
      only: [null, "dev", "development", "prod", "production"],
      optional: Boolean,
      "package-lock": Boolean,
      otp: [null, String],
      "package-lock-only": Boolean,
      parseable: Boolean,
      "prefer-offline": Boolean,
      "prefer-online": Boolean,
      prefix: path2,
      production: Boolean,
      progress: Boolean,
      proxy: [null, false, url],
      provenance: Boolean,
      // allow proxy to be disabled explicitly
      "read-only": Boolean,
      "rebuild-bundle": Boolean,
      registry: [null, url],
      rollback: Boolean,
      save: Boolean,
      "save-bundle": Boolean,
      "save-dev": Boolean,
      "save-exact": Boolean,
      "save-optional": Boolean,
      "save-prefix": String,
      "save-prod": Boolean,
      scope: String,
      "script-shell": [null, String],
      "scripts-prepend-node-path": [false, true, "auto", "warn-only"],
      searchopts: String,
      searchexclude: [null, String],
      searchlimit: Number,
      searchstaleness: Number,
      "send-metrics": Boolean,
      shell: String,
      shrinkwrap: Boolean,
      "sign-git-tag": Boolean,
      "sso-poll-frequency": Number,
      "sso-type": [null, "oauth", "saml"],
      "strict-ssl": Boolean,
      tag: String,
      timing: Boolean,
      tmp: path2,
      unicode: Boolean,
      "unsafe-perm": Boolean,
      usage: Boolean,
      user: [Number, String],
      userconfig: path2,
      umask: Umask,
      version: Boolean,
      "tag-version-prefix": String,
      versions: Boolean,
      viewer: String,
      _exit: Boolean
    };
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/conf.js
var require_conf = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/conf.js"(exports2, module2) {
    "use strict";
    var { readCAFileSync } = require_dist();
    var fs = require("fs");
    var path2 = require("path");
    var { ConfigChain } = require_config_chain();
    var envKeyToSetting = require_envKeyToSetting();
    var util = require_util();
    var Conf = class extends ConfigChain {
      // https://github.com/npm/cli/blob/latest/lib/config/core.js#L203-L217
      constructor(base, types) {
        super(base);
        this.root = base;
        this._parseField = util.parseField.bind(null, types || require_types());
      }
      // https://github.com/npm/cli/blob/latest/lib/config/core.js#L326-L338
      add(data, marker) {
        try {
          for (const [key, value] of Object.entries(data)) {
            const substKey = util.parseKey(key);
            if (substKey !== key) {
              delete data[key];
            }
            data[substKey] = this._parseField(value, substKey);
          }
        } catch (error) {
          throw error;
        }
        return super.add(data, marker);
      }
      // https://github.com/npm/cli/blob/latest/lib/config/core.js#L306-L319
      addFile(file, name) {
        name = name || file;
        const marker = { __source__: name };
        this.sources[name] = { path: file, type: "ini" };
        this.push(marker);
        this._await();
        try {
          const contents = fs.readFileSync(file, "utf8");
          this.addString(contents, file, "ini", marker);
        } catch (error) {
          if (error.code === "ENOENT") {
            this.add({}, marker);
          } else if (error.code !== "EISDIR") {
            return `Issue while reading "${file}". ${error.message}`;
          }
        }
      }
      // https://github.com/npm/cli/blob/latest/lib/config/core.js#L341-L357
      addEnv(env) {
        env = env || process.env;
        const conf = {};
        Object.keys(env).filter((x) => /^npm_config_/i.test(x)).forEach((x) => {
          if (!env[x]) {
            return;
          }
          const key = envKeyToSetting(x.substr(11));
          const rawVal = env[x];
          conf[key] = deserializeEnvVal(key, rawVal);
        });
        return super.addEnv("", conf, "env");
      }
      // https://github.com/npm/cli/blob/latest/lib/config/load-prefix.js
      loadPrefix() {
        const cli = this.list[0];
        Object.defineProperty(this, "prefix", {
          enumerable: true,
          set: (prefix) => {
            const g = this.get("global");
            this[g ? "globalPrefix" : "localPrefix"] = prefix;
          },
          get: () => {
            const g = this.get("global");
            return g ? this.globalPrefix : this.localPrefix;
          }
        });
        Object.defineProperty(this, "globalPrefix", {
          enumerable: true,
          set: (prefix) => {
            this.set("prefix", prefix);
          },
          get: () => {
            return path2.resolve(this.get("prefix"));
          }
        });
        let p;
        Object.defineProperty(this, "localPrefix", {
          enumerable: true,
          set: (prefix) => {
            p = prefix;
          },
          get: () => {
            return p;
          }
        });
        if (Object.prototype.hasOwnProperty.call(cli, "prefix")) {
          p = path2.resolve(cli.prefix);
        } else {
          try {
            const prefix = util.findPrefix(process.cwd());
            p = prefix;
          } catch (error) {
            throw error;
          }
        }
        return p;
      }
      // https://github.com/npm/cli/blob/latest/lib/config/load-cafile.js
      loadCAFile(file) {
        if (!file) {
          return;
        }
        const ca = readCAFileSync(file);
        if (ca) {
          this.set("ca", ca);
        }
      }
      // https://github.com/npm/cli/blob/latest/lib/config/set-user.js
      loadUser() {
        const defConf = this.root;
        if (this.get("global")) {
          return;
        }
        if (process.env.SUDO_UID) {
          defConf.user = Number(process.env.SUDO_UID);
          return;
        }
        const prefix = path2.resolve(this.get("prefix"));
        try {
          const stats = fs.statSync(prefix);
          defConf.user = stats.uid;
        } catch (error) {
          if (error.code === "ENOENT") {
            return;
          }
          throw error;
        }
      }
    };
    function deserializeEnvVal(envKey, envValue) {
      function deserializeList(envValue2) {
        const npmConfigSep = "\n\n";
        if (envValue2.indexOf(npmConfigSep)) {
          return envValue2.split(npmConfigSep);
        }
        return envValue2.split(",");
      }
      switch (envKey) {
        case "hoist-pattern":
        case "public-hoist-pattern":
          return deserializeList(envValue);
      }
      return envValue;
    }
    module2.exports = Conf;
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/defaults.js
var require_defaults = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/lib/defaults.js"(exports2) {
    "use strict";
    var os = require("os");
    var path2 = require("path");
    var temp = os.tmpdir();
    var uidOrPid = process.getuid ? process.getuid() : process.pid;
    var hasUnicode = () => true;
    var isWindows = process.platform === "win32";
    var osenv = {
      editor: () => process.env.EDITOR || process.env.VISUAL || (isWindows ? "notepad.exe" : "vi"),
      shell: () => isWindows ? process.env.COMSPEC || "cmd.exe" : process.env.SHELL || "/bin/bash"
    };
    var umask = {
      fromString: () => process.umask()
    };
    var home = os.homedir();
    if (home) {
      process.env.HOME = home;
    } else {
      home = path2.resolve(temp, "npm-" + uidOrPid);
    }
    var cacheExtra = process.platform === "win32" ? "npm-cache" : ".npm";
    var cacheRoot = process.platform === "win32" && process.env.APPDATA || home;
    var cache = path2.resolve(cacheRoot, cacheExtra);
    var defaults;
    var globalPrefix;
    Object.defineProperty(exports2, "defaults", {
      get: function() {
        if (defaults) return defaults;
        if (process.env.PREFIX) {
          globalPrefix = process.env.PREFIX;
        } else if (process.platform === "win32") {
          globalPrefix = path2.dirname(process.execPath);
        } else {
          globalPrefix = path2.dirname(path2.dirname(process.execPath));
          if (process.env.DESTDIR) {
            globalPrefix = path2.join(process.env.DESTDIR, globalPrefix);
          }
        }
        defaults = {
          access: null,
          "allow-same-version": false,
          "always-auth": false,
          also: null,
          audit: true,
          "auth-type": "legacy",
          "bin-links": true,
          browser: null,
          ca: null,
          cafile: null,
          cache,
          "cache-lock-stale": 6e4,
          "cache-lock-retries": 10,
          "cache-lock-wait": 1e4,
          "cache-max": Infinity,
          "cache-min": 10,
          cert: null,
          cidr: null,
          color: process.env.NO_COLOR == null,
          depth: Infinity,
          description: true,
          dev: false,
          "dry-run": false,
          editor: osenv.editor(),
          "engine-strict": false,
          force: false,
          "fetch-retries": 2,
          "fetch-retry-factor": 10,
          "fetch-retry-mintimeout": 1e4,
          "fetch-retry-maxtimeout": 6e4,
          git: "git",
          "git-tag-version": true,
          "commit-hooks": true,
          global: false,
          globalconfig: path2.resolve(globalPrefix, "etc", "npmrc"),
          "global-style": false,
          group: process.platform === "win32" ? 0 : process.env.SUDO_GID || process.getgid && process.getgid(),
          "ham-it-up": false,
          heading: "npm",
          "if-present": false,
          "ignore-prepublish": false,
          "ignore-scripts": false,
          "init-module": path2.resolve(home, ".npm-init.js"),
          "init-author-name": "",
          "init-author-email": "",
          "init-author-url": "",
          "init-version": "1.0.0",
          "init-license": "ISC",
          json: false,
          key: null,
          "legacy-bundling": false,
          link: false,
          "local-address": void 0,
          loglevel: "notice",
          logstream: process.stderr,
          "logs-max": 10,
          long: false,
          maxsockets: 50,
          message: "%s",
          "metrics-registry": null,
          "node-options": null,
          // We remove node-version to fix the issue described here: https://github.com/pnpm/pnpm/issues/4203#issuecomment-1133872769
          "offline": false,
          "onload-script": false,
          only: null,
          optional: true,
          otp: null,
          "package-lock": true,
          "package-lock-only": false,
          parseable: false,
          "prefer-offline": false,
          "prefer-online": false,
          prefix: globalPrefix,
          production: false,
          "progress": !process.env.TRAVIS && !process.env.CI,
          provenance: false,
          proxy: null,
          "https-proxy": null,
          "no-proxy": null,
          "user-agent": "npm/{npm-version} node/{node-version} {platform} {arch}",
          "read-only": false,
          "rebuild-bundle": true,
          registry: "https://registry.npmjs.org/",
          rollback: true,
          save: true,
          "save-bundle": false,
          "save-dev": false,
          "save-exact": false,
          "save-optional": false,
          "save-prefix": "^",
          "save-prod": false,
          scope: "",
          "script-shell": null,
          "scripts-prepend-node-path": "warn-only",
          searchopts: "",
          searchexclude: null,
          searchlimit: 20,
          searchstaleness: 15 * 60,
          "send-metrics": false,
          shell: osenv.shell(),
          shrinkwrap: true,
          "sign-git-tag": false,
          "sso-poll-frequency": 500,
          "sso-type": "oauth",
          "strict-ssl": true,
          tag: "latest",
          "tag-version-prefix": "v",
          timing: false,
          tmp: temp,
          unicode: hasUnicode(),
          "unsafe-perm": process.platform === "win32" || process.platform === "cygwin" || !(process.getuid && process.setuid && process.getgid && process.setgid) || process.getuid() !== 0,
          usage: false,
          user: process.platform === "win32" ? 0 : "nobody",
          userconfig: path2.resolve(home, ".npmrc"),
          umask: process.umask ? process.umask() : umask.fromString("022"),
          version: false,
          versions: false,
          viewer: process.platform === "win32" ? "browser" : "man",
          _exit: true
        };
        return defaults;
      }
    });
  }
});

// ../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/index.js
var require_npm_conf = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-conf@3.0.0/node_modules/@pnpm/npm-conf/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var Conf = require_conf();
    var _defaults = require_defaults();
    module2.exports = (opts, types, defaults) => {
      const conf = new Conf(Object.assign({}, _defaults.defaults, defaults), types);
      conf.add(Object.assign({}, opts), "cli");
      const warnings = [];
      let failedToLoadBuiltInConfig = false;
      if (require.resolve.paths) {
        const paths = require.resolve.paths("npm");
        let npmPath;
        try {
          npmPath = require.resolve("npm", { paths: paths.slice(-1) });
        } catch (error) {
          failedToLoadBuiltInConfig = true;
        }
        if (npmPath) {
          warnings.push(conf.addFile(path2.resolve(path2.dirname(npmPath), "..", "npmrc"), "builtin"));
        }
      }
      conf.addEnv();
      conf.loadPrefix();
      const projectConf = path2.resolve(conf.localPrefix, ".npmrc");
      const userConf = conf.get("userconfig");
      if (!conf.get("global") && projectConf !== userConf) {
        warnings.push(conf.addFile(projectConf, "project"));
      } else {
        conf.add({}, "project");
      }
      if (conf.get("workspace-prefix") && conf.get("workspace-prefix") !== projectConf) {
        const workspaceConf = path2.resolve(conf.get("workspace-prefix"), ".npmrc");
        warnings.push(conf.addFile(workspaceConf, "workspace"));
      }
      warnings.push(conf.addFile(conf.get("userconfig"), "user"));
      if (conf.get("prefix")) {
        const etc = path2.resolve(conf.get("prefix"), "etc");
        conf.root.globalconfig = path2.resolve(etc, "npmrc");
        conf.root.globalignorefile = path2.resolve(etc, "npmignore");
      }
      warnings.push(conf.addFile(conf.get("globalconfig"), "global"));
      conf.loadUser();
      const caFile = conf.get("cafile");
      if (caFile) {
        conf.loadCAFile(caFile);
      }
      return {
        config: conf,
        warnings: warnings.filter(Boolean),
        failedToLoadBuiltInConfig
      };
    };
    Object.defineProperty(module2.exports, "defaults", {
      get() {
        return _defaults.defaults;
      },
      enumerable: true
    });
  }
});

// ../node_modules/.pnpm/strip-comments-strings@1.2.0/node_modules/strip-comments-strings/index.cjs
var require_strip_comments_strings = __commonJS({
  "../node_modules/.pnpm/strip-comments-strings@1.2.0/node_modules/strip-comments-strings/index.cjs"(exports2, module2) {
    var COMMENT_TYPE = {
      COMMENT_BLOCK: "commentBlock",
      COMMENT_LINE: "commentLine"
    };
    var REGEX_TYPE = "regex";
    var firstFound = (str, stringStarters = null) => {
      stringStarters = stringStarters || [
        { name: "quote", char: "'" },
        { name: "literal", char: "`" },
        { name: "doubleQuote", char: '"' },
        { name: COMMENT_TYPE.COMMENT_BLOCK, char: "/*" },
        { name: COMMENT_TYPE.COMMENT_LINE, char: "//" },
        { name: REGEX_TYPE, char: "/" }
      ];
      let lastIndex = -1;
      let winner = -1;
      let item = {};
      for (let i = 0; i < stringStarters.length; ++i) {
        item = stringStarters[i];
        const index = str.indexOf(item.char);
        if (index > -1 && lastIndex < 0) {
          lastIndex = index;
          winner = i;
        }
        if (index > -1 && index < lastIndex) {
          lastIndex = index;
          winner = i;
        }
        item.index = index;
      }
      if (winner === -1) {
        return {
          index: -1
        };
      }
      return {
        char: stringStarters[winner].char,
        name: stringStarters[winner].name,
        index: lastIndex
      };
    };
    var getNextClosingElement = (str, chars, { specialCharStart = null, specialCharEnd = null } = {}) => {
      if (!Array.isArray(chars)) {
        chars = [chars];
      }
      const n = str.length;
      for (let i = 0; i < n; ++i) {
        const currentChar = str[i];
        if (currentChar === "\\") {
          ++i;
          continue;
        }
        if (specialCharStart && currentChar === specialCharStart) {
          const newStr = str.substring(i);
          const stp = getNextClosingElement(newStr, specialCharEnd);
          i += stp.index;
        }
        if (chars.includes(currentChar)) {
          return {
            index: i
          };
        }
      }
      return {
        index: -1
      };
    };
    var movePointerIndex = (str, index) => {
      str = str.substring(index);
      return str;
    };
    var parseString = (str) => {
      const originalString = str;
      const originalStringLength = originalString.length;
      const detectedString = [];
      const detectedComments = [];
      const detectedRegex = [];
      do {
        let item = firstFound(str);
        if (item.index === -1) {
          break;
        }
        const enter = {
          item
        };
        if (item.name === COMMENT_TYPE.COMMENT_BLOCK) {
          enter.type = item.name;
          str = movePointerIndex(str, item.index);
          enter.index = originalStringLength - str.length;
          const nextIndex = str.indexOf("*/");
          if (nextIndex === -1) {
            throw new Error("Comment Block opened at position ... not enclosed");
          }
          str = movePointerIndex(str, nextIndex + 2);
          enter.indexEnd = originalStringLength - str.length;
          enter.content = originalString.substring(enter.index, enter.indexEnd);
          detectedComments.push(enter);
          continue;
        } else if (item.name === COMMENT_TYPE.COMMENT_LINE) {
          enter.type = item.name;
          str = movePointerIndex(str, item.index);
          enter.index = originalStringLength - str.length;
          let newLinePos = str.indexOf("\n");
          if (newLinePos === -1) {
            enter.indexEnd = originalStringLength;
            enter.content = originalString.substring(enter.index, enter.indexEnd - 1);
            detectedComments.push(enter);
            break;
          }
          str = movePointerIndex(str, newLinePos + 1);
          enter.indexEnd = originalStringLength - str.length - 1;
          enter.content = originalString.substring(enter.index, enter.indexEnd);
          detectedComments.push(enter);
          continue;
        } else if (item.name === REGEX_TYPE) {
          enter.type = item.name;
          str = movePointerIndex(str, item.index + 1);
          enter.index = originalStringLength - str.length - 1;
          const nextItem2 = getNextClosingElement(str, ["/", "\n"], { specialCharStart: "[", specialCharEnd: "]" });
          if (nextItem2.index === -1) {
            throw new Error(`SCT: (1005) Regex opened at position ${enter.index} not enclosed`);
          }
          str = movePointerIndex(str, nextItem2.index + 1);
          enter.indexEnd = originalStringLength - str.length;
          enter.content = originalString.substring(enter.index, enter.indexEnd);
          detectedRegex.push(enter);
          continue;
        }
        str = str.substring(item.index + 1);
        enter.index = originalStringLength - str.length;
        const nextItem = getNextClosingElement(str, item.char);
        if (nextItem.index === -1) {
          throw new Error(`SCT: (1001) String opened at position ${enter.index} with a ${item.name} not enclosed`);
        }
        str = movePointerIndex(str, nextItem.index + 1);
        enter.indexEnd = originalStringLength - str.length - 1;
        enter.content = originalString.substring(enter.index, enter.indexEnd);
        detectedString.push(enter);
      } while (true);
      return {
        text: str,
        strings: detectedString,
        comments: detectedComments,
        regexes: detectedRegex
      };
    };
    function replaceOccurences(strings, str, replacer, { includeDelimiter = true }) {
      const isCallable = typeof replacer === "function";
      const n = strings.length;
      for (let i = n - 1; i >= 0; --i) {
        const info = strings[i];
        const replacement = isCallable ? replacer(info, str) : replacer;
        if (includeDelimiter) {
          str = str.substring(0, info.index - 1) + replacement + str.substring(info.indexEnd + 1);
        } else {
          str = str.substring(0, info.index) + replacement + str.substring(info.indexEnd);
        }
      }
      return str;
    }
    var stripComments = (str, replacer = "") => {
      const comments = parseString(str).comments;
      str = replaceOccurences(comments, str, replacer, { includeDelimiter: false });
      return str;
    };
    var stripStrings = (str, replacer = "", { includeDelimiter = true } = {}) => {
      const strings = parseString(str).strings;
      str = replaceOccurences(strings, str, replacer, { includeDelimiter });
      return str;
    };
    var clearStrings = (str, replacer = "", { includeDelimiter = false } = {}) => {
      const strings = parseString(str).strings;
      str = replaceOccurences(strings, str, replacer, { includeDelimiter });
      return str;
    };
    var stripRegexes = (str, replacer = "", { includeDelimiter = true } = {}) => {
      const strings = parseString(str).regexes;
      str = replaceOccurences(strings, str, replacer, { includeDelimiter });
      return str;
    };
    var clearRegexes = (str, replacer = "//", { includeDelimiter = false } = {}) => {
      const strings = parseString(str).regexes;
      str = replaceOccurences(strings, str, replacer, { includeDelimiter });
      return str;
    };
    module2.exports = {
      parseString,
      stripComments,
      stripStrings,
      clearStrings,
      clearRegexes
    };
    module2.exports.parseString = parseString;
    module2.exports.stripComments = stripComments;
    module2.exports.stripStrings = stripStrings;
    module2.exports.stripRegexes = stripRegexes;
    module2.exports.clearStrings = clearStrings;
    module2.exports.clearRegexes = clearRegexes;
  }
});

// ../text/comments-parser/lib/extractComments.js
var require_extractComments = __commonJS({
  "../text/comments-parser/lib/extractComments.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.extractComments = extractComments;
    var strip_comments_strings_1 = require_strip_comments_strings();
    function extractComments(text) {
      const hasFinalNewline = text.endsWith("\n");
      if (!hasFinalNewline) {
        text += "\n";
      }
      const { comments: rawComments } = (0, strip_comments_strings_1.parseString)(text);
      const comments = [];
      let stripped = (0, strip_comments_strings_1.stripComments)(text);
      if (!hasFinalNewline) {
        stripped = stripped.slice(0, -1);
      }
      let offset = 0;
      for (const comment of rawComments) {
        const preamble = stripped.slice(0, comment.index - offset);
        const lineStart = Math.max(preamble.lastIndexOf("\n"), 0);
        const priorLines = preamble.split("\n");
        let lineNumber = priorLines.length;
        let after = "";
        let hasAfter = false;
        if (lineNumber === 1) {
          if (preamble.trim().length === 0) {
            lineNumber = 0;
          }
        } else {
          after = priorLines[lineNumber - 2];
          hasAfter = true;
          if (priorLines[0].trim().length === 0) {
            lineNumber -= 1;
          }
        }
        let lineEnd = stripped.indexOf("\n", lineStart === 0 ? 0 : lineStart + 1);
        if (lineEnd < 0) {
          lineEnd = stripped.length;
        }
        const whitespaceMatch = stripped.slice(lineStart, comment.index - offset).match(/^\s*/);
        const newComment = {
          type: comment.type,
          content: comment.content,
          lineNumber,
          on: stripped.slice(lineStart, lineEnd),
          whitespace: whitespaceMatch ? whitespaceMatch[0] : ""
        };
        if (hasAfter) {
          newComment.after = after;
        }
        const nextLineEnd = stripped.indexOf("\n", lineEnd + 1);
        if (nextLineEnd >= 0) {
          newComment.before = stripped.slice(lineEnd, nextLineEnd);
        }
        comments.push(newComment);
        offset += comment.indexEnd - comment.index;
      }
      return {
        text: stripped,
        comments: comments.length ? comments : void 0,
        hasFinalNewline
      };
    }
  }
});

// ../text/comments-parser/lib/insertComments.js
var require_insertComments = __commonJS({
  "../text/comments-parser/lib/insertComments.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.insertComments = insertComments;
    function insertComments(json, comments) {
      const jsonLines = json.split("\n");
      const index = {};
      const canonicalizer = /[\s'"]/g;
      for (let i = 0; i < jsonLines.length; ++i) {
        const key = jsonLines[i].replace(canonicalizer, "");
        if (key in index) {
          index[key] = -1;
        } else {
          index[key] = i;
        }
      }
      const jsonPrefix = {};
      for (const comment of comments) {
        let key = comment.on.replace(canonicalizer, "");
        if (key && index[key] !== void 0 && index[key] >= 0) {
          jsonLines[index[key]] += " " + comment.content;
          continue;
        }
        if (comment.before === void 0) {
          jsonLines[jsonLines.length - 1] += comment.whitespace + comment.content;
          continue;
        }
        let location = comment.lineNumber === 0 ? 0 : -1;
        if (location < 0) {
          key = comment.before.replace(canonicalizer, "");
          if (key && index[key] !== void 0) {
            location = index[key];
          }
        }
        if (location >= 0) {
          if (jsonPrefix[location]) {
            jsonPrefix[location] += " " + comment.content;
          } else {
            const inlineWhitespace = comment.whitespace.startsWith("\n") ? comment.whitespace.slice(1) : comment.whitespace;
            jsonPrefix[location] = inlineWhitespace + comment.content;
          }
          continue;
        }
        if (comment.after) {
          key = comment.after.replace(canonicalizer, "");
          if (key && index[key] !== void 0 && index[key] >= 0) {
            jsonLines[index[key]] += comment.whitespace + comment.content;
            continue;
          }
        }
        location = comment.lineNumber - 1;
        let separator = " ";
        if (location >= jsonLines.length) {
          location = jsonLines.length - 1;
          separator = "\n";
        }
        jsonLines[location] += separator + comment.content + " /* [comment possibly relocated by pnpm] */";
      }
      for (let i = 0; i < jsonLines.length; ++i) {
        if (jsonPrefix[i]) {
          jsonLines[i] = jsonPrefix[i] + "\n" + jsonLines[i];
        }
      }
      return jsonLines.join("\n");
    }
  }
});

// ../text/comments-parser/lib/CommentSpecifier.js
var require_CommentSpecifier = __commonJS({
  "../text/comments-parser/lib/CommentSpecifier.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../text/comments-parser/lib/index.js
var require_lib8 = __commonJS({
  "../text/comments-parser/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_extractComments(), exports2);
    __exportStar2(require_insertComments(), exports2);
    __exportStar2(require_CommentSpecifier(), exports2);
  }
});

// ../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/unicode.js
var require_unicode = __commonJS({
  "../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/unicode.js"(exports2, module2) {
    module2.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/;
    module2.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/;
    module2.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/;
  }
});

// ../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/util.js
var require_util2 = __commonJS({
  "../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/util.js"(exports2, module2) {
    var unicode = require_unicode();
    module2.exports = {
      isSpaceSeparator(c) {
        return typeof c === "string" && unicode.Space_Separator.test(c);
      },
      isIdStartChar(c) {
        return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c));
      },
      isIdContinueChar(c) {
        return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c));
      },
      isDigit(c) {
        return typeof c === "string" && /[0-9]/.test(c);
      },
      isHexDigit(c) {
        return typeof c === "string" && /[0-9A-Fa-f]/.test(c);
      }
    };
  }
});

// ../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js
var require_parse = __commonJS({
  "../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/parse.js"(exports2, module2) {
    var util = require_util2();
    var source;
    var parseState;
    var stack;
    var pos;
    var line;
    var column;
    var token;
    var key;
    var root;
    module2.exports = function parse2(text, reviver) {
      source = String(text);
      parseState = "start";
      stack = [];
      pos = 0;
      line = 1;
      column = 0;
      token = void 0;
      key = void 0;
      root = void 0;
      do {
        token = lex();
        parseStates[parseState]();
      } while (token.type !== "eof");
      if (typeof reviver === "function") {
        return internalize({ "": root }, "", reviver);
      }
      return root;
    };
    function internalize(holder, name, reviver) {
      const value = holder[name];
      if (value != null && typeof value === "object") {
        if (Array.isArray(value)) {
          for (let i = 0; i < value.length; i++) {
            const key2 = String(i);
            const replacement = internalize(value, key2, reviver);
            if (replacement === void 0) {
              delete value[key2];
            } else {
              Object.defineProperty(value, key2, {
                value: replacement,
                writable: true,
                enumerable: true,
                configurable: true
              });
            }
          }
        } else {
          for (const key2 in value) {
            const replacement = internalize(value, key2, reviver);
            if (replacement === void 0) {
              delete value[key2];
            } else {
              Object.defineProperty(value, key2, {
                value: replacement,
                writable: true,
                enumerable: true,
                configurable: true
              });
            }
          }
        }
      }
      return reviver.call(holder, name, value);
    }
    var lexState;
    var buffer;
    var doubleQuote;
    var sign;
    var c;
    function lex() {
      lexState = "default";
      buffer = "";
      doubleQuote = false;
      sign = 1;
      for (; ; ) {
        c = peek();
        const token2 = lexStates[lexState]();
        if (token2) {
          return token2;
        }
      }
    }
    function peek() {
      if (source[pos]) {
        return String.fromCodePoint(source.codePointAt(pos));
      }
    }
    function read() {
      const c2 = peek();
      if (c2 === "\n") {
        line++;
        column = 0;
      } else if (c2) {
        column += c2.length;
      } else {
        column++;
      }
      if (c2) {
        pos += c2.length;
      }
      return c2;
    }
    var lexStates = {
      default() {
        switch (c) {
          case "	":
          case "\v":
          case "\f":
          case " ":
          case "\xA0":
          case "\uFEFF":
          case "\n":
          case "\r":
          case "\u2028":
          case "\u2029":
            read();
            return;
          case "/":
            read();
            lexState = "comment";
            return;
          case void 0:
            read();
            return newToken("eof");
        }
        if (util.isSpaceSeparator(c)) {
          read();
          return;
        }
        return lexStates[parseState]();
      },
      comment() {
        switch (c) {
          case "*":
            read();
            lexState = "multiLineComment";
            return;
          case "/":
            read();
            lexState = "singleLineComment";
            return;
        }
        throw invalidChar(read());
      },
      multiLineComment() {
        switch (c) {
          case "*":
            read();
            lexState = "multiLineCommentAsterisk";
            return;
          case void 0:
            throw invalidChar(read());
        }
        read();
      },
      multiLineCommentAsterisk() {
        switch (c) {
          case "*":
            read();
            return;
          case "/":
            read();
            lexState = "default";
            return;
          case void 0:
            throw invalidChar(read());
        }
        read();
        lexState = "multiLineComment";
      },
      singleLineComment() {
        switch (c) {
          case "\n":
          case "\r":
          case "\u2028":
          case "\u2029":
            read();
            lexState = "default";
            return;
          case void 0:
            read();
            return newToken("eof");
        }
        read();
      },
      value() {
        switch (c) {
          case "{":
          case "[":
            return newToken("punctuator", read());
          case "n":
            read();
            literal("ull");
            return newToken("null", null);
          case "t":
            read();
            literal("rue");
            return newToken("boolean", true);
          case "f":
            read();
            literal("alse");
            return newToken("boolean", false);
          case "-":
          case "+":
            if (read() === "-") {
              sign = -1;
            }
            lexState = "sign";
            return;
          case ".":
            buffer = read();
            lexState = "decimalPointLeading";
            return;
          case "0":
            buffer = read();
            lexState = "zero";
            return;
          case "1":
          case "2":
          case "3":
          case "4":
          case "5":
          case "6":
          case "7":
          case "8":
          case "9":
            buffer = read();
            lexState = "decimalInteger";
            return;
          case "I":
            read();
            literal("nfinity");
            return newToken("numeric", Infinity);
          case "N":
            read();
            literal("aN");
            return newToken("numeric", NaN);
          case '"':
          case "'":
            doubleQuote = read() === '"';
            buffer = "";
            lexState = "string";
            return;
        }
        throw invalidChar(read());
      },
      identifierNameStartEscape() {
        if (c !== "u") {
          throw invalidChar(read());
        }
        read();
        const u = unicodeEscape();
        switch (u) {
          case "$":
          case "_":
            break;
          default:
            if (!util.isIdStartChar(u)) {
              throw invalidIdentifier();
            }
            break;
        }
        buffer += u;
        lexState = "identifierName";
      },
      identifierName() {
        switch (c) {
          case "$":
          case "_":
          case "\u200C":
          case "\u200D":
            buffer += read();
            return;
          case "\\":
            read();
            lexState = "identifierNameEscape";
            return;
        }
        if (util.isIdContinueChar(c)) {
          buffer += read();
          return;
        }
        return newToken("identifier", buffer);
      },
      identifierNameEscape() {
        if (c !== "u") {
          throw invalidChar(read());
        }
        read();
        const u = unicodeEscape();
        switch (u) {
          case "$":
          case "_":
          case "\u200C":
          case "\u200D":
            break;
          default:
            if (!util.isIdContinueChar(u)) {
              throw invalidIdentifier();
            }
            break;
        }
        buffer += u;
        lexState = "identifierName";
      },
      sign() {
        switch (c) {
          case ".":
            buffer = read();
            lexState = "decimalPointLeading";
            return;
          case "0":
            buffer = read();
            lexState = "zero";
            return;
          case "1":
          case "2":
          case "3":
          case "4":
          case "5":
          case "6":
          case "7":
          case "8":
          case "9":
            buffer = read();
            lexState = "decimalInteger";
            return;
          case "I":
            read();
            literal("nfinity");
            return newToken("numeric", sign * Infinity);
          case "N":
            read();
            literal("aN");
            return newToken("numeric", NaN);
        }
        throw invalidChar(read());
      },
      zero() {
        switch (c) {
          case ".":
            buffer += read();
            lexState = "decimalPoint";
            return;
          case "e":
          case "E":
            buffer += read();
            lexState = "decimalExponent";
            return;
          case "x":
          case "X":
            buffer += read();
            lexState = "hexadecimal";
            return;
        }
        return newToken("numeric", sign * 0);
      },
      decimalInteger() {
        switch (c) {
          case ".":
            buffer += read();
            lexState = "decimalPoint";
            return;
          case "e":
          case "E":
            buffer += read();
            lexState = "decimalExponent";
            return;
        }
        if (util.isDigit(c)) {
          buffer += read();
          return;
        }
        return newToken("numeric", sign * Number(buffer));
      },
      decimalPointLeading() {
        if (util.isDigit(c)) {
          buffer += read();
          lexState = "decimalFraction";
          return;
        }
        throw invalidChar(read());
      },
      decimalPoint() {
        switch (c) {
          case "e":
          case "E":
            buffer += read();
            lexState = "decimalExponent";
            return;
        }
        if (util.isDigit(c)) {
          buffer += read();
          lexState = "decimalFraction";
          return;
        }
        return newToken("numeric", sign * Number(buffer));
      },
      decimalFraction() {
        switch (c) {
          case "e":
          case "E":
            buffer += read();
            lexState = "decimalExponent";
            return;
        }
        if (util.isDigit(c)) {
          buffer += read();
          return;
        }
        return newToken("numeric", sign * Number(buffer));
      },
      decimalExponent() {
        switch (c) {
          case "+":
          case "-":
            buffer += read();
            lexState = "decimalExponentSign";
            return;
        }
        if (util.isDigit(c)) {
          buffer += read();
          lexState = "decimalExponentInteger";
          return;
        }
        throw invalidChar(read());
      },
      decimalExponentSign() {
        if (util.isDigit(c)) {
          buffer += read();
          lexState = "decimalExponentInteger";
          return;
        }
        throw invalidChar(read());
      },
      decimalExponentInteger() {
        if (util.isDigit(c)) {
          buffer += read();
          return;
        }
        return newToken("numeric", sign * Number(buffer));
      },
      hexadecimal() {
        if (util.isHexDigit(c)) {
          buffer += read();
          lexState = "hexadecimalInteger";
          return;
        }
        throw invalidChar(read());
      },
      hexadecimalInteger() {
        if (util.isHexDigit(c)) {
          buffer += read();
          return;
        }
        return newToken("numeric", sign * Number(buffer));
      },
      string() {
        switch (c) {
          case "\\":
            read();
            buffer += escape();
            return;
          case '"':
            if (doubleQuote) {
              read();
              return newToken("string", buffer);
            }
            buffer += read();
            return;
          case "'":
            if (!doubleQuote) {
              read();
              return newToken("string", buffer);
            }
            buffer += read();
            return;
          case "\n":
          case "\r":
            throw invalidChar(read());
          case "\u2028":
          case "\u2029":
            separatorChar(c);
            break;
          case void 0:
            throw invalidChar(read());
        }
        buffer += read();
      },
      start() {
        switch (c) {
          case "{":
          case "[":
            return newToken("punctuator", read());
        }
        lexState = "value";
      },
      beforePropertyName() {
        switch (c) {
          case "$":
          case "_":
            buffer = read();
            lexState = "identifierName";
            return;
          case "\\":
            read();
            lexState = "identifierNameStartEscape";
            return;
          case "}":
            return newToken("punctuator", read());
          case '"':
          case "'":
            doubleQuote = read() === '"';
            lexState = "string";
            return;
        }
        if (util.isIdStartChar(c)) {
          buffer += read();
          lexState = "identifierName";
          return;
        }
        throw invalidChar(read());
      },
      afterPropertyName() {
        if (c === ":") {
          return newToken("punctuator", read());
        }
        throw invalidChar(read());
      },
      beforePropertyValue() {
        lexState = "value";
      },
      afterPropertyValue() {
        switch (c) {
          case ",":
          case "}":
            return newToken("punctuator", read());
        }
        throw invalidChar(read());
      },
      beforeArrayValue() {
        if (c === "]") {
          return newToken("punctuator", read());
        }
        lexState = "value";
      },
      afterArrayValue() {
        switch (c) {
          case ",":
          case "]":
            return newToken("punctuator", read());
        }
        throw invalidChar(read());
      },
      end() {
        throw invalidChar(read());
      }
    };
    function newToken(type, value) {
      return {
        type,
        value,
        line,
        column
      };
    }
    function literal(s) {
      for (const c2 of s) {
        const p = peek();
        if (p !== c2) {
          throw invalidChar(read());
        }
        read();
      }
    }
    function escape() {
      const c2 = peek();
      switch (c2) {
        case "b":
          read();
          return "\b";
        case "f":
          read();
          return "\f";
        case "n":
          read();
          return "\n";
        case "r":
          read();
          return "\r";
        case "t":
          read();
          return "	";
        case "v":
          read();
          return "\v";
        case "0":
          read();
          if (util.isDigit(peek())) {
            throw invalidChar(read());
          }
          return "\0";
        case "x":
          read();
          return hexEscape();
        case "u":
          read();
          return unicodeEscape();
        case "\n":
        case "\u2028":
        case "\u2029":
          read();
          return "";
        case "\r":
          read();
          if (peek() === "\n") {
            read();
          }
          return "";
        case "1":
        case "2":
        case "3":
        case "4":
        case "5":
        case "6":
        case "7":
        case "8":
        case "9":
          throw invalidChar(read());
        case void 0:
          throw invalidChar(read());
      }
      return read();
    }
    function hexEscape() {
      let buffer2 = "";
      let c2 = peek();
      if (!util.isHexDigit(c2)) {
        throw invalidChar(read());
      }
      buffer2 += read();
      c2 = peek();
      if (!util.isHexDigit(c2)) {
        throw invalidChar(read());
      }
      buffer2 += read();
      return String.fromCodePoint(parseInt(buffer2, 16));
    }
    function unicodeEscape() {
      let buffer2 = "";
      let count = 4;
      while (count-- > 0) {
        const c2 = peek();
        if (!util.isHexDigit(c2)) {
          throw invalidChar(read());
        }
        buffer2 += read();
      }
      return String.fromCodePoint(parseInt(buffer2, 16));
    }
    var parseStates = {
      start() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        push();
      },
      beforePropertyName() {
        switch (token.type) {
          case "identifier":
          case "string":
            key = token.value;
            parseState = "afterPropertyName";
            return;
          case "punctuator":
            pop();
            return;
          case "eof":
            throw invalidEOF();
        }
      },
      afterPropertyName() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        parseState = "beforePropertyValue";
      },
      beforePropertyValue() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        push();
      },
      beforeArrayValue() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        if (token.type === "punctuator" && token.value === "]") {
          pop();
          return;
        }
        push();
      },
      afterPropertyValue() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        switch (token.value) {
          case ",":
            parseState = "beforePropertyName";
            return;
          case "}":
            pop();
        }
      },
      afterArrayValue() {
        if (token.type === "eof") {
          throw invalidEOF();
        }
        switch (token.value) {
          case ",":
            parseState = "beforeArrayValue";
            return;
          case "]":
            pop();
        }
      },
      end() {
      }
    };
    function push() {
      let value;
      switch (token.type) {
        case "punctuator":
          switch (token.value) {
            case "{":
              value = {};
              break;
            case "[":
              value = [];
              break;
          }
          break;
        case "null":
        case "boolean":
        case "numeric":
        case "string":
          value = token.value;
          break;
      }
      if (root === void 0) {
        root = value;
      } else {
        const parent = stack[stack.length - 1];
        if (Array.isArray(parent)) {
          parent.push(value);
        } else {
          Object.defineProperty(parent, key, {
            value,
            writable: true,
            enumerable: true,
            configurable: true
          });
        }
      }
      if (value !== null && typeof value === "object") {
        stack.push(value);
        if (Array.isArray(value)) {
          parseState = "beforeArrayValue";
        } else {
          parseState = "beforePropertyName";
        }
      } else {
        const current = stack[stack.length - 1];
        if (current == null) {
          parseState = "end";
        } else if (Array.isArray(current)) {
          parseState = "afterArrayValue";
        } else {
          parseState = "afterPropertyValue";
        }
      }
    }
    function pop() {
      stack.pop();
      const current = stack[stack.length - 1];
      if (current == null) {
        parseState = "end";
      } else if (Array.isArray(current)) {
        parseState = "afterArrayValue";
      } else {
        parseState = "afterPropertyValue";
      }
    }
    function invalidChar(c2) {
      if (c2 === void 0) {
        return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
      }
      return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`);
    }
    function invalidEOF() {
      return syntaxError(`JSON5: invalid end of input at ${line}:${column}`);
    }
    function invalidIdentifier() {
      column -= 5;
      return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`);
    }
    function separatorChar(c2) {
      console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`);
    }
    function formatChar(c2) {
      const replacements = {
        "'": "\\'",
        '"': '\\"',
        "\\": "\\\\",
        "\b": "\\b",
        "\f": "\\f",
        "\n": "\\n",
        "\r": "\\r",
        "	": "\\t",
        "\v": "\\v",
        "\0": "\\0",
        "\u2028": "\\u2028",
        "\u2029": "\\u2029"
      };
      if (replacements[c2]) {
        return replacements[c2];
      }
      if (c2 < " ") {
        const hexString = c2.charCodeAt(0).toString(16);
        return "\\x" + ("00" + hexString).substring(hexString.length);
      }
      return c2;
    }
    function syntaxError(message) {
      const err = new SyntaxError(message);
      err.lineNumber = line;
      err.columnNumber = column;
      return err;
    }
  }
});

// ../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/stringify.js
var require_stringify2 = __commonJS({
  "../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/stringify.js"(exports2, module2) {
    var util = require_util2();
    module2.exports = function stringify2(value, replacer, space) {
      const stack = [];
      let indent = "";
      let propertyList;
      let replacerFunc;
      let gap = "";
      let quote;
      if (replacer != null && typeof replacer === "object" && !Array.isArray(replacer)) {
        space = replacer.space;
        quote = replacer.quote;
        replacer = replacer.replacer;
      }
      if (typeof replacer === "function") {
        replacerFunc = replacer;
      } else if (Array.isArray(replacer)) {
        propertyList = [];
        for (const v of replacer) {
          let item;
          if (typeof v === "string") {
            item = v;
          } else if (typeof v === "number" || v instanceof String || v instanceof Number) {
            item = String(v);
          }
          if (item !== void 0 && propertyList.indexOf(item) < 0) {
            propertyList.push(item);
          }
        }
      }
      if (space instanceof Number) {
        space = Number(space);
      } else if (space instanceof String) {
        space = String(space);
      }
      if (typeof space === "number") {
        if (space > 0) {
          space = Math.min(10, Math.floor(space));
          gap = "          ".substr(0, space);
        }
      } else if (typeof space === "string") {
        gap = space.substr(0, 10);
      }
      return serializeProperty("", { "": value });
      function serializeProperty(key, holder) {
        let value2 = holder[key];
        if (value2 != null) {
          if (typeof value2.toJSON5 === "function") {
            value2 = value2.toJSON5(key);
          } else if (typeof value2.toJSON === "function") {
            value2 = value2.toJSON(key);
          }
        }
        if (replacerFunc) {
          value2 = replacerFunc.call(holder, key, value2);
        }
        if (value2 instanceof Number) {
          value2 = Number(value2);
        } else if (value2 instanceof String) {
          value2 = String(value2);
        } else if (value2 instanceof Boolean) {
          value2 = value2.valueOf();
        }
        switch (value2) {
          case null:
            return "null";
          case true:
            return "true";
          case false:
            return "false";
        }
        if (typeof value2 === "string") {
          return quoteString(value2, false);
        }
        if (typeof value2 === "number") {
          return String(value2);
        }
        if (typeof value2 === "object") {
          return Array.isArray(value2) ? serializeArray(value2) : serializeObject(value2);
        }
        return void 0;
      }
      function quoteString(value2) {
        const quotes = {
          "'": 0.1,
          '"': 0.2
        };
        const replacements = {
          "'": "\\'",
          '"': '\\"',
          "\\": "\\\\",
          "\b": "\\b",
          "\f": "\\f",
          "\n": "\\n",
          "\r": "\\r",
          "	": "\\t",
          "\v": "\\v",
          "\0": "\\0",
          "\u2028": "\\u2028",
          "\u2029": "\\u2029"
        };
        let product = "";
        for (let i = 0; i < value2.length; i++) {
          const c = value2[i];
          switch (c) {
            case "'":
            case '"':
              quotes[c]++;
              product += c;
              continue;
            case "\0":
              if (util.isDigit(value2[i + 1])) {
                product += "\\x00";
                continue;
              }
          }
          if (replacements[c]) {
            product += replacements[c];
            continue;
          }
          if (c < " ") {
            let hexString = c.charCodeAt(0).toString(16);
            product += "\\x" + ("00" + hexString).substring(hexString.length);
            continue;
          }
          product += c;
        }
        const quoteChar = quote || Object.keys(quotes).reduce((a, b) => quotes[a] < quotes[b] ? a : b);
        product = product.replace(new RegExp(quoteChar, "g"), replacements[quoteChar]);
        return quoteChar + product + quoteChar;
      }
      function serializeObject(value2) {
        if (stack.indexOf(value2) >= 0) {
          throw TypeError("Converting circular structure to JSON5");
        }
        stack.push(value2);
        let stepback = indent;
        indent = indent + gap;
        let keys = propertyList || Object.keys(value2);
        let partial = [];
        for (const key of keys) {
          const propertyString = serializeProperty(key, value2);
          if (propertyString !== void 0) {
            let member = serializeKey(key) + ":";
            if (gap !== "") {
              member += " ";
            }
            member += propertyString;
            partial.push(member);
          }
        }
        let final;
        if (partial.length === 0) {
          final = "{}";
        } else {
          let properties;
          if (gap === "") {
            properties = partial.join(",");
            final = "{" + properties + "}";
          } else {
            let separator = ",\n" + indent;
            properties = partial.join(separator);
            final = "{\n" + indent + properties + ",\n" + stepback + "}";
          }
        }
        stack.pop();
        indent = stepback;
        return final;
      }
      function serializeKey(key) {
        if (key.length === 0) {
          return quoteString(key, true);
        }
        const firstChar = String.fromCodePoint(key.codePointAt(0));
        if (!util.isIdStartChar(firstChar)) {
          return quoteString(key, true);
        }
        for (let i = firstChar.length; i < key.length; i++) {
          if (!util.isIdContinueChar(String.fromCodePoint(key.codePointAt(i)))) {
            return quoteString(key, true);
          }
        }
        return key;
      }
      function serializeArray(value2) {
        if (stack.indexOf(value2) >= 0) {
          throw TypeError("Converting circular structure to JSON5");
        }
        stack.push(value2);
        let stepback = indent;
        indent = indent + gap;
        let partial = [];
        for (let i = 0; i < value2.length; i++) {
          const propertyString = serializeProperty(String(i), value2);
          partial.push(propertyString !== void 0 ? propertyString : "null");
        }
        let final;
        if (partial.length === 0) {
          final = "[]";
        } else {
          if (gap === "") {
            let properties = partial.join(",");
            final = "[" + properties + "]";
          } else {
            let separator = ",\n" + indent;
            let properties = partial.join(separator);
            final = "[\n" + indent + properties + ",\n" + stepback + "]";
          }
        }
        stack.pop();
        indent = stepback;
        return final;
      }
    };
  }
});

// ../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js
var require_lib9 = __commonJS({
  "../node_modules/.pnpm/json5@2.2.3/node_modules/json5/lib/index.js"(exports2, module2) {
    var parse2 = require_parse();
    var stringify2 = require_stringify2();
    var JSON5 = {
      parse: parse2,
      stringify: stringify2
    };
    module2.exports = JSON5;
  }
});

// ../node_modules/.pnpm/imurmurhash@0.1.4/node_modules/imurmurhash/imurmurhash.js
var require_imurmurhash = __commonJS({
  "../node_modules/.pnpm/imurmurhash@0.1.4/node_modules/imurmurhash/imurmurhash.js"(exports2, module2) {
    (function() {
      var cache;
      function MurmurHash3(key, seed) {
        var m = this instanceof MurmurHash3 ? this : cache;
        m.reset(seed);
        if (typeof key === "string" && key.length > 0) {
          m.hash(key);
        }
        if (m !== this) {
          return m;
        }
      }
      ;
      MurmurHash3.prototype.hash = function(key) {
        var h1, k1, i, top, len;
        len = key.length;
        this.len += len;
        k1 = this.k1;
        i = 0;
        switch (this.rem) {
          case 0:
            k1 ^= len > i ? key.charCodeAt(i++) & 65535 : 0;
          case 1:
            k1 ^= len > i ? (key.charCodeAt(i++) & 65535) << 8 : 0;
          case 2:
            k1 ^= len > i ? (key.charCodeAt(i++) & 65535) << 16 : 0;
          case 3:
            k1 ^= len > i ? (key.charCodeAt(i) & 255) << 24 : 0;
            k1 ^= len > i ? (key.charCodeAt(i++) & 65280) >> 8 : 0;
        }
        this.rem = len + this.rem & 3;
        len -= this.rem;
        if (len > 0) {
          h1 = this.h1;
          while (1) {
            k1 = k1 * 11601 + (k1 & 65535) * 3432906752 & 4294967295;
            k1 = k1 << 15 | k1 >>> 17;
            k1 = k1 * 13715 + (k1 & 65535) * 461832192 & 4294967295;
            h1 ^= k1;
            h1 = h1 << 13 | h1 >>> 19;
            h1 = h1 * 5 + 3864292196 & 4294967295;
            if (i >= len) {
              break;
            }
            k1 = key.charCodeAt(i++) & 65535 ^ (key.charCodeAt(i++) & 65535) << 8 ^ (key.charCodeAt(i++) & 65535) << 16;
            top = key.charCodeAt(i++);
            k1 ^= (top & 255) << 24 ^ (top & 65280) >> 8;
          }
          k1 = 0;
          switch (this.rem) {
            case 3:
              k1 ^= (key.charCodeAt(i + 2) & 65535) << 16;
            case 2:
              k1 ^= (key.charCodeAt(i + 1) & 65535) << 8;
            case 1:
              k1 ^= key.charCodeAt(i) & 65535;
          }
          this.h1 = h1;
        }
        this.k1 = k1;
        return this;
      };
      MurmurHash3.prototype.result = function() {
        var k1, h1;
        k1 = this.k1;
        h1 = this.h1;
        if (k1 > 0) {
          k1 = k1 * 11601 + (k1 & 65535) * 3432906752 & 4294967295;
          k1 = k1 << 15 | k1 >>> 17;
          k1 = k1 * 13715 + (k1 & 65535) * 461832192 & 4294967295;
          h1 ^= k1;
        }
        h1 ^= this.len;
        h1 ^= h1 >>> 16;
        h1 = h1 * 51819 + (h1 & 65535) * 2246770688 & 4294967295;
        h1 ^= h1 >>> 13;
        h1 = h1 * 44597 + (h1 & 65535) * 3266445312 & 4294967295;
        h1 ^= h1 >>> 16;
        return h1 >>> 0;
      };
      MurmurHash3.prototype.reset = function(seed) {
        this.h1 = typeof seed === "number" ? seed : 0;
        this.rem = this.k1 = this.len = 0;
        return this;
      };
      cache = new MurmurHash3();
      if (typeof module2 != "undefined") {
        module2.exports = MurmurHash3;
      } else {
        this.MurmurHash3 = MurmurHash3;
      }
    })();
  }
});

// ../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/signals.js
var require_signals2 = __commonJS({
  "../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/signals.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.signals = void 0;
    exports2.signals = [];
    exports2.signals.push("SIGHUP", "SIGINT", "SIGTERM");
    if (process.platform !== "win32") {
      exports2.signals.push(
        "SIGALRM",
        "SIGABRT",
        "SIGVTALRM",
        "SIGXCPU",
        "SIGXFSZ",
        "SIGUSR2",
        "SIGTRAP",
        "SIGSYS",
        "SIGQUIT",
        "SIGIOT"
        // should detect profiler and enable/disable accordingly.
        // see #21
        // 'SIGPROF'
      );
    }
    if (process.platform === "linux") {
      exports2.signals.push("SIGIO", "SIGPOLL", "SIGPWR", "SIGSTKFLT");
    }
  }
});

// ../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/index.js
var require_cjs = __commonJS({
  "../node_modules/.pnpm/signal-exit@4.1.0/node_modules/signal-exit/dist/cjs/index.js"(exports2) {
    "use strict";
    var _a;
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.unload = exports2.load = exports2.onExit = exports2.signals = void 0;
    var signals_js_1 = require_signals2();
    Object.defineProperty(exports2, "signals", { enumerable: true, get: function() {
      return signals_js_1.signals;
    } });
    var processOk = (process3) => !!process3 && typeof process3 === "object" && typeof process3.removeListener === "function" && typeof process3.emit === "function" && typeof process3.reallyExit === "function" && typeof process3.listeners === "function" && typeof process3.kill === "function" && typeof process3.pid === "number" && typeof process3.on === "function";
    var kExitEmitter = Symbol.for("signal-exit emitter");
    var global2 = globalThis;
    var ObjectDefineProperty = Object.defineProperty.bind(Object);
    var Emitter = class {
      emitted = {
        afterExit: false,
        exit: false
      };
      listeners = {
        afterExit: [],
        exit: []
      };
      count = 0;
      id = Math.random();
      constructor() {
        if (global2[kExitEmitter]) {
          return global2[kExitEmitter];
        }
        ObjectDefineProperty(global2, kExitEmitter, {
          value: this,
          writable: false,
          enumerable: false,
          configurable: false
        });
      }
      on(ev, fn) {
        this.listeners[ev].push(fn);
      }
      removeListener(ev, fn) {
        const list = this.listeners[ev];
        const i = list.indexOf(fn);
        if (i === -1) {
          return;
        }
        if (i === 0 && list.length === 1) {
          list.length = 0;
        } else {
          list.splice(i, 1);
        }
      }
      emit(ev, code, signal) {
        if (this.emitted[ev]) {
          return false;
        }
        this.emitted[ev] = true;
        let ret2 = false;
        for (const fn of this.listeners[ev]) {
          ret2 = fn(code, signal) === true || ret2;
        }
        if (ev === "exit") {
          ret2 = this.emit("afterExit", code, signal) || ret2;
        }
        return ret2;
      }
    };
    var SignalExitBase = class {
    };
    var signalExitWrap = (handler) => {
      return {
        onExit(cb, opts) {
          return handler.onExit(cb, opts);
        },
        load() {
          return handler.load();
        },
        unload() {
          return handler.unload();
        }
      };
    };
    var SignalExitFallback = class extends SignalExitBase {
      onExit() {
        return () => {
        };
      }
      load() {
      }
      unload() {
      }
    };
    var SignalExit = class extends SignalExitBase {
      // "SIGHUP" throws an `ENOSYS` error on Windows,
      // so use a supported signal instead
      /* c8 ignore start */
      #hupSig = process2.platform === "win32" ? "SIGINT" : "SIGHUP";
      /* c8 ignore stop */
      #emitter = new Emitter();
      #process;
      #originalProcessEmit;
      #originalProcessReallyExit;
      #sigListeners = {};
      #loaded = false;
      constructor(process3) {
        super();
        this.#process = process3;
        this.#sigListeners = {};
        for (const sig of signals_js_1.signals) {
          this.#sigListeners[sig] = () => {
            const listeners = this.#process.listeners(sig);
            let { count } = this.#emitter;
            const p = process3;
            if (typeof p.__signal_exit_emitter__ === "object" && typeof p.__signal_exit_emitter__.count === "number") {
              count += p.__signal_exit_emitter__.count;
            }
            if (listeners.length === count) {
              this.unload();
              const ret2 = this.#emitter.emit("exit", null, sig);
              const s = sig === "SIGHUP" ? this.#hupSig : sig;
              if (!ret2)
                process3.kill(process3.pid, s);
            }
          };
        }
        this.#originalProcessReallyExit = process3.reallyExit;
        this.#originalProcessEmit = process3.emit;
      }
      onExit(cb, opts) {
        if (!processOk(this.#process)) {
          return () => {
          };
        }
        if (this.#loaded === false) {
          this.load();
        }
        const ev = opts?.alwaysLast ? "afterExit" : "exit";
        this.#emitter.on(ev, cb);
        return () => {
          this.#emitter.removeListener(ev, cb);
          if (this.#emitter.listeners["exit"].length === 0 && this.#emitter.listeners["afterExit"].length === 0) {
            this.unload();
          }
        };
      }
      load() {
        if (this.#loaded) {
          return;
        }
        this.#loaded = true;
        this.#emitter.count += 1;
        for (const sig of signals_js_1.signals) {
          try {
            const fn = this.#sigListeners[sig];
            if (fn)
              this.#process.on(sig, fn);
          } catch (_) {
          }
        }
        this.#process.emit = (ev, ...a) => {
          return this.#processEmit(ev, ...a);
        };
        this.#process.reallyExit = (code) => {
          return this.#processReallyExit(code);
        };
      }
      unload() {
        if (!this.#loaded) {
          return;
        }
        this.#loaded = false;
        signals_js_1.signals.forEach((sig) => {
          const listener = this.#sigListeners[sig];
          if (!listener) {
            throw new Error("Listener not defined for signal: " + sig);
          }
          try {
            this.#process.removeListener(sig, listener);
          } catch (_) {
          }
        });
        this.#process.emit = this.#originalProcessEmit;
        this.#process.reallyExit = this.#originalProcessReallyExit;
        this.#emitter.count -= 1;
      }
      #processReallyExit(code) {
        if (!processOk(this.#process)) {
          return 0;
        }
        this.#process.exitCode = code || 0;
        this.#emitter.emit("exit", this.#process.exitCode, null);
        return this.#originalProcessReallyExit.call(this.#process, this.#process.exitCode);
      }
      #processEmit(ev, ...args) {
        const og = this.#originalProcessEmit;
        if (ev === "exit" && processOk(this.#process)) {
          if (typeof args[0] === "number") {
            this.#process.exitCode = args[0];
          }
          const ret2 = og.call(this.#process, ev, ...args);
          this.#emitter.emit("exit", this.#process.exitCode, null);
          return ret2;
        } else {
          return og.call(this.#process, ev, ...args);
        }
      }
    };
    var process2 = globalThis.process;
    _a = signalExitWrap(processOk(process2) ? new SignalExit(process2) : new SignalExitFallback()), /**
     * Called when the process is exiting, whether via signal, explicit
     * exit, or running out of stuff to do.
     *
     * If the global process object is not suitable for instrumentation,
     * then this will be a no-op.
     *
     * Returns a function that may be used to unload signal-exit.
     */
    exports2.onExit = _a.onExit, /**
     * Load the listeners.  Likely you never need to call this, unless
     * doing a rather deep integration with signal-exit functionality.
     * Mostly exposed for the benefit of testing.
     *
     * @internal
     */
    exports2.load = _a.load, /**
     * Unload the listeners.  Likely you never need to call this, unless
     * doing a rather deep integration with signal-exit functionality.
     * Mostly exposed for the benefit of testing.
     *
     * @internal
     */
    exports2.unload = _a.unload;
  }
});

// ../node_modules/.pnpm/write-file-atomic@5.0.1/node_modules/write-file-atomic/lib/index.js
var require_lib10 = __commonJS({
  "../node_modules/.pnpm/write-file-atomic@5.0.1/node_modules/write-file-atomic/lib/index.js"(exports2, module2) {
    "use strict";
    module2.exports = writeFile;
    module2.exports.sync = writeFileSync;
    module2.exports._getTmpname = getTmpname;
    module2.exports._cleanupOnExit = cleanupOnExit;
    var fs = require("fs");
    var MurmurHash3 = require_imurmurhash();
    var { onExit } = require_cjs();
    var path2 = require("path");
    var { promisify } = require("util");
    var activeFiles = {};
    var threadId = function getId() {
      try {
        const workerThreads = require("worker_threads");
        return workerThreads.threadId;
      } catch (e) {
        return 0;
      }
    }();
    var invocations = 0;
    function getTmpname(filename) {
      return filename + "." + MurmurHash3(__filename).hash(String(process.pid)).hash(String(threadId)).hash(String(++invocations)).result();
    }
    function cleanupOnExit(tmpfile) {
      return () => {
        try {
          fs.unlinkSync(typeof tmpfile === "function" ? tmpfile() : tmpfile);
        } catch {
        }
      };
    }
    function serializeActiveFile(absoluteName) {
      return new Promise((resolve) => {
        if (!activeFiles[absoluteName]) {
          activeFiles[absoluteName] = [];
        }
        activeFiles[absoluteName].push(resolve);
        if (activeFiles[absoluteName].length === 1) {
          resolve();
        }
      });
    }
    function isChownErrOk(err) {
      if (err.code === "ENOSYS") {
        return true;
      }
      const nonroot = !process.getuid || process.getuid() !== 0;
      if (nonroot) {
        if (err.code === "EINVAL" || err.code === "EPERM") {
          return true;
        }
      }
      return false;
    }
    async function writeFileAsync(filename, data, options = {}) {
      if (typeof options === "string") {
        options = { encoding: options };
      }
      let fd;
      let tmpfile;
      const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile));
      const absoluteName = path2.resolve(filename);
      try {
        await serializeActiveFile(absoluteName);
        const truename = await promisify(fs.realpath)(filename).catch(() => filename);
        tmpfile = getTmpname(truename);
        if (!options.mode || !options.chown) {
          const stats = await promisify(fs.stat)(truename).catch(() => {
          });
          if (stats) {
            if (options.mode == null) {
              options.mode = stats.mode;
            }
            if (options.chown == null && process.getuid) {
              options.chown = { uid: stats.uid, gid: stats.gid };
            }
          }
        }
        fd = await promisify(fs.open)(tmpfile, "w", options.mode);
        if (options.tmpfileCreated) {
          await options.tmpfileCreated(tmpfile);
        }
        if (ArrayBuffer.isView(data)) {
          await promisify(fs.write)(fd, data, 0, data.length, 0);
        } else if (data != null) {
          await promisify(fs.write)(fd, String(data), 0, String(options.encoding || "utf8"));
        }
        if (options.fsync !== false) {
          await promisify(fs.fsync)(fd);
        }
        await promisify(fs.close)(fd);
        fd = null;
        if (options.chown) {
          await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch((err) => {
            if (!isChownErrOk(err)) {
              throw err;
            }
          });
        }
        if (options.mode) {
          await promisify(fs.chmod)(tmpfile, options.mode).catch((err) => {
            if (!isChownErrOk(err)) {
              throw err;
            }
          });
        }
        await promisify(fs.rename)(tmpfile, truename);
      } finally {
        if (fd) {
          await promisify(fs.close)(fd).catch(
            /* istanbul ignore next */
            () => {
            }
          );
        }
        removeOnExitHandler();
        await promisify(fs.unlink)(tmpfile).catch(() => {
        });
        activeFiles[absoluteName].shift();
        if (activeFiles[absoluteName].length > 0) {
          activeFiles[absoluteName][0]();
        } else {
          delete activeFiles[absoluteName];
        }
      }
    }
    async function writeFile(filename, data, options, callback) {
      if (options instanceof Function) {
        callback = options;
        options = {};
      }
      const promise = writeFileAsync(filename, data, options);
      if (callback) {
        try {
          const result2 = await promise;
          return callback(result2);
        } catch (err) {
          return callback(err);
        }
      }
      return promise;
    }
    function writeFileSync(filename, data, options) {
      if (typeof options === "string") {
        options = { encoding: options };
      } else if (!options) {
        options = {};
      }
      try {
        filename = fs.realpathSync(filename);
      } catch (ex) {
      }
      const tmpfile = getTmpname(filename);
      if (!options.mode || !options.chown) {
        try {
          const stats = fs.statSync(filename);
          options = Object.assign({}, options);
          if (!options.mode) {
            options.mode = stats.mode;
          }
          if (!options.chown && process.getuid) {
            options.chown = { uid: stats.uid, gid: stats.gid };
          }
        } catch (ex) {
        }
      }
      let fd;
      const cleanup = cleanupOnExit(tmpfile);
      const removeOnExitHandler = onExit(cleanup);
      let threw = true;
      try {
        fd = fs.openSync(tmpfile, "w", options.mode || 438);
        if (options.tmpfileCreated) {
          options.tmpfileCreated(tmpfile);
        }
        if (ArrayBuffer.isView(data)) {
          fs.writeSync(fd, data, 0, data.length, 0);
        } else if (data != null) {
          fs.writeSync(fd, String(data), 0, String(options.encoding || "utf8"));
        }
        if (options.fsync !== false) {
          fs.fsyncSync(fd);
        }
        fs.closeSync(fd);
        fd = null;
        if (options.chown) {
          try {
            fs.chownSync(tmpfile, options.chown.uid, options.chown.gid);
          } catch (err) {
            if (!isChownErrOk(err)) {
              throw err;
            }
          }
        }
        if (options.mode) {
          try {
            fs.chmodSync(tmpfile, options.mode);
          } catch (err) {
            if (!isChownErrOk(err)) {
              throw err;
            }
          }
        }
        fs.renameSync(tmpfile, filename);
        threw = false;
      } finally {
        if (fd) {
          try {
            fs.closeSync(fd);
          } catch (ex) {
          }
        }
        removeOnExitHandler();
        if (threw) {
          cleanup();
        }
      }
    }
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/common.js
var require_common = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/common.js"(exports2, module2) {
    "use strict";
    function isNothing(subject) {
      return typeof subject === "undefined" || subject === null;
    }
    function isObject(subject) {
      return typeof subject === "object" && subject !== null;
    }
    function toArray(sequence) {
      if (Array.isArray(sequence)) return sequence;
      else if (isNothing(sequence)) return [];
      return [sequence];
    }
    function extend(target, source) {
      var index, length, key, sourceKeys;
      if (source) {
        sourceKeys = Object.keys(source);
        for (index = 0, length = sourceKeys.length; index < length; index += 1) {
          key = sourceKeys[index];
          target[key] = source[key];
        }
      }
      return target;
    }
    function repeat(string, count) {
      var result2 = "", cycle;
      for (cycle = 0; cycle < count; cycle += 1) {
        result2 += string;
      }
      return result2;
    }
    function isNegativeZero(number) {
      return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
    }
    module2.exports.isNothing = isNothing;
    module2.exports.isObject = isObject;
    module2.exports.toArray = toArray;
    module2.exports.repeat = repeat;
    module2.exports.isNegativeZero = isNegativeZero;
    module2.exports.extend = extend;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/exception.js
var require_exception = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/exception.js"(exports2, module2) {
    "use strict";
    function formatError(exception, compact) {
      var where = "", message = exception.reason || "(unknown reason)";
      if (!exception.mark) return message;
      if (exception.mark.name) {
        where += 'in "' + exception.mark.name + '" ';
      }
      where += "(" + (exception.mark.line + 1) + ":" + (exception.mark.column + 1) + ")";
      if (!compact && exception.mark.snippet) {
        where += "\n\n" + exception.mark.snippet;
      }
      return message + " " + where;
    }
    function YAMLException(reason, mark) {
      Error.call(this);
      this.name = "YAMLException";
      this.reason = reason;
      this.mark = mark;
      this.message = formatError(this, false);
      if (Error.captureStackTrace) {
        Error.captureStackTrace(this, this.constructor);
      } else {
        this.stack = new Error().stack || "";
      }
    }
    YAMLException.prototype = Object.create(Error.prototype);
    YAMLException.prototype.constructor = YAMLException;
    YAMLException.prototype.toString = function toString(compact) {
      return this.name + ": " + formatError(this, compact);
    };
    module2.exports = YAMLException;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/snippet.js
var require_snippet = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/snippet.js"(exports2, module2) {
    "use strict";
    var common = require_common();
    function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
      var head = "";
      var tail = "";
      var maxHalfLength = Math.floor(maxLineLength / 2) - 1;
      if (position - lineStart > maxHalfLength) {
        head = " ... ";
        lineStart = position - maxHalfLength + head.length;
      }
      if (lineEnd - position > maxHalfLength) {
        tail = " ...";
        lineEnd = position + maxHalfLength - tail.length;
      }
      return {
        str: head + buffer.slice(lineStart, lineEnd).replace(/\t/g, "\u2192") + tail,
        pos: position - lineStart + head.length
        // relative position
      };
    }
    function padStart(string, max) {
      return common.repeat(" ", max - string.length) + string;
    }
    function makeSnippet(mark, options) {
      options = Object.create(options || null);
      if (!mark.buffer) return null;
      if (!options.maxLength) options.maxLength = 79;
      if (typeof options.indent !== "number") options.indent = 1;
      if (typeof options.linesBefore !== "number") options.linesBefore = 3;
      if (typeof options.linesAfter !== "number") options.linesAfter = 2;
      var re = /\r?\n|\r|\0/g;
      var lineStarts = [0];
      var lineEnds = [];
      var match;
      var foundLineNo = -1;
      while (match = re.exec(mark.buffer)) {
        lineEnds.push(match.index);
        lineStarts.push(match.index + match[0].length);
        if (mark.position <= match.index && foundLineNo < 0) {
          foundLineNo = lineStarts.length - 2;
        }
      }
      if (foundLineNo < 0) foundLineNo = lineStarts.length - 1;
      var result2 = "", i, line;
      var lineNoLength = Math.min(mark.line + options.linesAfter, lineEnds.length).toString().length;
      var maxLineLength = options.maxLength - (options.indent + lineNoLength + 3);
      for (i = 1; i <= options.linesBefore; i++) {
        if (foundLineNo - i < 0) break;
        line = getLine(
          mark.buffer,
          lineStarts[foundLineNo - i],
          lineEnds[foundLineNo - i],
          mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]),
          maxLineLength
        );
        result2 = common.repeat(" ", options.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + " | " + line.str + "\n" + result2;
      }
      line = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength);
      result2 += common.repeat(" ", options.indent) + padStart((mark.line + 1).toString(), lineNoLength) + " | " + line.str + "\n";
      result2 += common.repeat("-", options.indent + lineNoLength + 3 + line.pos) + "^\n";
      for (i = 1; i <= options.linesAfter; i++) {
        if (foundLineNo + i >= lineEnds.length) break;
        line = getLine(
          mark.buffer,
          lineStarts[foundLineNo + i],
          lineEnds[foundLineNo + i],
          mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]),
          maxLineLength
        );
        result2 += common.repeat(" ", options.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + " | " + line.str + "\n";
      }
      return result2.replace(/\n$/, "");
    }
    module2.exports = makeSnippet;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type.js
var require_type = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type.js"(exports2, module2) {
    "use strict";
    var YAMLException = require_exception();
    var TYPE_CONSTRUCTOR_OPTIONS = [
      "kind",
      "multi",
      "resolve",
      "construct",
      "instanceOf",
      "predicate",
      "represent",
      "representName",
      "defaultStyle",
      "styleAliases"
    ];
    var YAML_NODE_KINDS = [
      "scalar",
      "sequence",
      "mapping"
    ];
    function compileStyleAliases(map) {
      var result2 = {};
      if (map !== null) {
        Object.keys(map).forEach(function(style) {
          map[style].forEach(function(alias) {
            result2[String(alias)] = style;
          });
        });
      }
      return result2;
    }
    function Type(tag, options) {
      options = options || {};
      Object.keys(options).forEach(function(name) {
        if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
          throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
        }
      });
      this.tag = tag;
      this.kind = options["kind"] || null;
      this.resolve = options["resolve"] || function() {
        return true;
      };
      this.construct = options["construct"] || function(data) {
        return data;
      };
      this.instanceOf = options["instanceOf"] || null;
      this.predicate = options["predicate"] || null;
      this.represent = options["represent"] || null;
      this.representName = options["representName"] || null;
      this.defaultStyle = options["defaultStyle"] || null;
      this.multi = options["multi"] || false;
      this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
      if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
        throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
      }
    }
    module2.exports = Type;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema.js
var require_schema = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema.js"(exports2, module2) {
    "use strict";
    var YAMLException = require_exception();
    var Type = require_type();
    function compileList(schema, name, result2) {
      var exclude = [];
      schema[name].forEach(function(currentType) {
        result2.forEach(function(previousType, previousIndex) {
          if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) {
            exclude.push(previousIndex);
          }
        });
        result2.push(currentType);
      });
      return result2.filter(function(type, index) {
        return exclude.indexOf(index) === -1;
      });
    }
    function compileMap() {
      var result2 = {
        scalar: {},
        sequence: {},
        mapping: {},
        fallback: {},
        multi: {
          scalar: [],
          sequence: [],
          mapping: [],
          fallback: []
        }
      }, index, length;
      function collectType(type) {
        if (type.multi) {
          result2.multi[type.kind].push(type);
          result2.multi["fallback"].push(type);
        } else {
          result2[type.kind][type.tag] = result2["fallback"][type.tag] = type;
        }
      }
      for (index = 0, length = arguments.length; index < length; index += 1) {
        arguments[index].forEach(collectType);
      }
      return result2;
    }
    function Schema(definition) {
      return this.extend(definition);
    }
    Schema.prototype.extend = function extend(definition) {
      var implicit = [];
      var explicit = [];
      if (definition instanceof Type) {
        explicit.push(definition);
      } else if (Array.isArray(definition)) {
        explicit = explicit.concat(definition);
      } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) {
        if (definition.implicit) implicit = implicit.concat(definition.implicit);
        if (definition.explicit) explicit = explicit.concat(definition.explicit);
      } else {
        throw new YAMLException("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");
      }
      implicit.forEach(function(type) {
        if (!(type instanceof Type)) {
          throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");
        }
        if (type.loadKind && type.loadKind !== "scalar") {
          throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
        }
        if (type.multi) {
          throw new YAMLException("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.");
        }
      });
      explicit.forEach(function(type) {
        if (!(type instanceof Type)) {
          throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");
        }
      });
      var result2 = Object.create(Schema.prototype);
      result2.implicit = (this.implicit || []).concat(implicit);
      result2.explicit = (this.explicit || []).concat(explicit);
      result2.compiledImplicit = compileList(result2, "implicit", []);
      result2.compiledExplicit = compileList(result2, "explicit", []);
      result2.compiledTypeMap = compileMap(result2.compiledImplicit, result2.compiledExplicit);
      return result2;
    };
    module2.exports = Schema;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/str.js
var require_str = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/str.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    module2.exports = new Type("tag:yaml.org,2002:str", {
      kind: "scalar",
      construct: function(data) {
        return data !== null ? data : "";
      }
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/seq.js
var require_seq = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/seq.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    module2.exports = new Type("tag:yaml.org,2002:seq", {
      kind: "sequence",
      construct: function(data) {
        return data !== null ? data : [];
      }
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/map.js
var require_map = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/map.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    module2.exports = new Type("tag:yaml.org,2002:map", {
      kind: "mapping",
      construct: function(data) {
        return data !== null ? data : {};
      }
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/failsafe.js
var require_failsafe = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/failsafe.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema();
    module2.exports = new Schema({
      explicit: [
        require_str(),
        require_seq(),
        require_map()
      ]
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/null.js
var require_null = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/null.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    function resolveYamlNull(data) {
      if (data === null) return true;
      var max = data.length;
      return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL");
    }
    function constructYamlNull() {
      return null;
    }
    function isNull(object) {
      return object === null;
    }
    module2.exports = new Type("tag:yaml.org,2002:null", {
      kind: "scalar",
      resolve: resolveYamlNull,
      construct: constructYamlNull,
      predicate: isNull,
      represent: {
        canonical: function() {
          return "~";
        },
        lowercase: function() {
          return "null";
        },
        uppercase: function() {
          return "NULL";
        },
        camelcase: function() {
          return "Null";
        },
        empty: function() {
          return "";
        }
      },
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/bool.js
var require_bool = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/bool.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    function resolveYamlBoolean(data) {
      if (data === null) return false;
      var max = data.length;
      return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE");
    }
    function constructYamlBoolean(data) {
      return data === "true" || data === "True" || data === "TRUE";
    }
    function isBoolean(object) {
      return Object.prototype.toString.call(object) === "[object Boolean]";
    }
    module2.exports = new Type("tag:yaml.org,2002:bool", {
      kind: "scalar",
      resolve: resolveYamlBoolean,
      construct: constructYamlBoolean,
      predicate: isBoolean,
      represent: {
        lowercase: function(object) {
          return object ? "true" : "false";
        },
        uppercase: function(object) {
          return object ? "TRUE" : "FALSE";
        },
        camelcase: function(object) {
          return object ? "True" : "False";
        }
      },
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/int.js
var require_int = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/int.js"(exports2, module2) {
    "use strict";
    var common = require_common();
    var Type = require_type();
    function isHexCode(c) {
      return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102;
    }
    function isOctCode(c) {
      return 48 <= c && c <= 55;
    }
    function isDecCode(c) {
      return 48 <= c && c <= 57;
    }
    function resolveYamlInteger(data) {
      if (data === null) return false;
      var max = data.length, index = 0, hasDigits = false, ch;
      if (!max) return false;
      ch = data[index];
      if (ch === "-" || ch === "+") {
        ch = data[++index];
      }
      if (ch === "0") {
        if (index + 1 === max) return true;
        ch = data[++index];
        if (ch === "b") {
          index++;
          for (; index < max; index++) {
            ch = data[index];
            if (ch === "_") continue;
            if (ch !== "0" && ch !== "1") return false;
            hasDigits = true;
          }
          return hasDigits && ch !== "_";
        }
        if (ch === "x") {
          index++;
          for (; index < max; index++) {
            ch = data[index];
            if (ch === "_") continue;
            if (!isHexCode(data.charCodeAt(index))) return false;
            hasDigits = true;
          }
          return hasDigits && ch !== "_";
        }
        if (ch === "o") {
          index++;
          for (; index < max; index++) {
            ch = data[index];
            if (ch === "_") continue;
            if (!isOctCode(data.charCodeAt(index))) return false;
            hasDigits = true;
          }
          return hasDigits && ch !== "_";
        }
      }
      if (ch === "_") return false;
      for (; index < max; index++) {
        ch = data[index];
        if (ch === "_") continue;
        if (!isDecCode(data.charCodeAt(index))) {
          return false;
        }
        hasDigits = true;
      }
      if (!hasDigits || ch === "_") return false;
      return true;
    }
    function constructYamlInteger(data) {
      var value = data, sign = 1, ch;
      if (value.indexOf("_") !== -1) {
        value = value.replace(/_/g, "");
      }
      ch = value[0];
      if (ch === "-" || ch === "+") {
        if (ch === "-") sign = -1;
        value = value.slice(1);
        ch = value[0];
      }
      if (value === "0") return 0;
      if (ch === "0") {
        if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
        if (value[1] === "x") return sign * parseInt(value.slice(2), 16);
        if (value[1] === "o") return sign * parseInt(value.slice(2), 8);
      }
      return sign * parseInt(value, 10);
    }
    function isInteger(object) {
      return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object));
    }
    module2.exports = new Type("tag:yaml.org,2002:int", {
      kind: "scalar",
      resolve: resolveYamlInteger,
      construct: constructYamlInteger,
      predicate: isInteger,
      represent: {
        binary: function(obj) {
          return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
        },
        octal: function(obj) {
          return obj >= 0 ? "0o" + obj.toString(8) : "-0o" + obj.toString(8).slice(1);
        },
        decimal: function(obj) {
          return obj.toString(10);
        },
        /* eslint-disable max-len */
        hexadecimal: function(obj) {
          return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
        }
      },
      defaultStyle: "decimal",
      styleAliases: {
        binary: [2, "bin"],
        octal: [8, "oct"],
        decimal: [10, "dec"],
        hexadecimal: [16, "hex"]
      }
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/float.js
var require_float = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/float.js"(exports2, module2) {
    "use strict";
    var common = require_common();
    var Type = require_type();
    var YAML_FLOAT_PATTERN = new RegExp(
      // 2.5e4, 2.5 and integers
      "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
    );
    function resolveYamlFloat(data) {
      if (data === null) return false;
      if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`
      // Probably should update regexp & check speed
      data[data.length - 1] === "_") {
        return false;
      }
      return true;
    }
    function constructYamlFloat(data) {
      var value, sign;
      value = data.replace(/_/g, "").toLowerCase();
      sign = value[0] === "-" ? -1 : 1;
      if ("+-".indexOf(value[0]) >= 0) {
        value = value.slice(1);
      }
      if (value === ".inf") {
        return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
      } else if (value === ".nan") {
        return NaN;
      }
      return sign * parseFloat(value, 10);
    }
    var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
    function representYamlFloat(object, style) {
      var res;
      if (isNaN(object)) {
        switch (style) {
          case "lowercase":
            return ".nan";
          case "uppercase":
            return ".NAN";
          case "camelcase":
            return ".NaN";
        }
      } else if (Number.POSITIVE_INFINITY === object) {
        switch (style) {
          case "lowercase":
            return ".inf";
          case "uppercase":
            return ".INF";
          case "camelcase":
            return ".Inf";
        }
      } else if (Number.NEGATIVE_INFINITY === object) {
        switch (style) {
          case "lowercase":
            return "-.inf";
          case "uppercase":
            return "-.INF";
          case "camelcase":
            return "-.Inf";
        }
      } else if (common.isNegativeZero(object)) {
        return "-0.0";
      }
      res = object.toString(10);
      return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res;
    }
    function isFloat(object) {
      return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object));
    }
    module2.exports = new Type("tag:yaml.org,2002:float", {
      kind: "scalar",
      resolve: resolveYamlFloat,
      construct: constructYamlFloat,
      predicate: isFloat,
      represent: representYamlFloat,
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/json.js
var require_json = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/json.js"(exports2, module2) {
    "use strict";
    module2.exports = require_failsafe().extend({
      implicit: [
        require_null(),
        require_bool(),
        require_int(),
        require_float()
      ]
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/core.js
var require_core2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/core.js"(exports2, module2) {
    "use strict";
    module2.exports = require_json();
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/timestamp.js
var require_timestamp = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/timestamp.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    var YAML_DATE_REGEXP = new RegExp(
      "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
    );
    var YAML_TIMESTAMP_REGEXP = new RegExp(
      "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
    );
    function resolveYamlTimestamp(data) {
      if (data === null) return false;
      if (YAML_DATE_REGEXP.exec(data) !== null) return true;
      if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
      return false;
    }
    function constructYamlTimestamp(data) {
      var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
      match = YAML_DATE_REGEXP.exec(data);
      if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
      if (match === null) throw new Error("Date resolve error");
      year = +match[1];
      month = +match[2] - 1;
      day = +match[3];
      if (!match[4]) {
        return new Date(Date.UTC(year, month, day));
      }
      hour = +match[4];
      minute = +match[5];
      second = +match[6];
      if (match[7]) {
        fraction = match[7].slice(0, 3);
        while (fraction.length < 3) {
          fraction += "0";
        }
        fraction = +fraction;
      }
      if (match[9]) {
        tz_hour = +match[10];
        tz_minute = +(match[11] || 0);
        delta = (tz_hour * 60 + tz_minute) * 6e4;
        if (match[9] === "-") delta = -delta;
      }
      date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
      if (delta) date.setTime(date.getTime() - delta);
      return date;
    }
    function representYamlTimestamp(object) {
      return object.toISOString();
    }
    module2.exports = new Type("tag:yaml.org,2002:timestamp", {
      kind: "scalar",
      resolve: resolveYamlTimestamp,
      construct: constructYamlTimestamp,
      instanceOf: Date,
      represent: representYamlTimestamp
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/merge.js
var require_merge = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/merge.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    function resolveYamlMerge(data) {
      return data === "<<" || data === null;
    }
    module2.exports = new Type("tag:yaml.org,2002:merge", {
      kind: "scalar",
      resolve: resolveYamlMerge
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/binary.js
var require_binary = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/binary.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
    function resolveYamlBinary(data) {
      if (data === null) return false;
      var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
      for (idx = 0; idx < max; idx++) {
        code = map.indexOf(data.charAt(idx));
        if (code > 64) continue;
        if (code < 0) return false;
        bitlen += 6;
      }
      return bitlen % 8 === 0;
    }
    function constructYamlBinary(data) {
      var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map = BASE64_MAP, bits = 0, result2 = [];
      for (idx = 0; idx < max; idx++) {
        if (idx % 4 === 0 && idx) {
          result2.push(bits >> 16 & 255);
          result2.push(bits >> 8 & 255);
          result2.push(bits & 255);
        }
        bits = bits << 6 | map.indexOf(input.charAt(idx));
      }
      tailbits = max % 4 * 6;
      if (tailbits === 0) {
        result2.push(bits >> 16 & 255);
        result2.push(bits >> 8 & 255);
        result2.push(bits & 255);
      } else if (tailbits === 18) {
        result2.push(bits >> 10 & 255);
        result2.push(bits >> 2 & 255);
      } else if (tailbits === 12) {
        result2.push(bits >> 4 & 255);
      }
      return new Uint8Array(result2);
    }
    function representYamlBinary(object) {
      var result2 = "", bits = 0, idx, tail, max = object.length, map = BASE64_MAP;
      for (idx = 0; idx < max; idx++) {
        if (idx % 3 === 0 && idx) {
          result2 += map[bits >> 18 & 63];
          result2 += map[bits >> 12 & 63];
          result2 += map[bits >> 6 & 63];
          result2 += map[bits & 63];
        }
        bits = (bits << 8) + object[idx];
      }
      tail = max % 3;
      if (tail === 0) {
        result2 += map[bits >> 18 & 63];
        result2 += map[bits >> 12 & 63];
        result2 += map[bits >> 6 & 63];
        result2 += map[bits & 63];
      } else if (tail === 2) {
        result2 += map[bits >> 10 & 63];
        result2 += map[bits >> 4 & 63];
        result2 += map[bits << 2 & 63];
        result2 += map[64];
      } else if (tail === 1) {
        result2 += map[bits >> 2 & 63];
        result2 += map[bits << 4 & 63];
        result2 += map[64];
        result2 += map[64];
      }
      return result2;
    }
    function isBinary(obj) {
      return Object.prototype.toString.call(obj) === "[object Uint8Array]";
    }
    module2.exports = new Type("tag:yaml.org,2002:binary", {
      kind: "scalar",
      resolve: resolveYamlBinary,
      construct: constructYamlBinary,
      predicate: isBinary,
      represent: representYamlBinary
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/omap.js
var require_omap = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/omap.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var _toString = Object.prototype.toString;
    function resolveYamlOmap(data) {
      if (data === null) return true;
      var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data;
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        pairHasKey = false;
        if (_toString.call(pair) !== "[object Object]") return false;
        for (pairKey in pair) {
          if (_hasOwnProperty.call(pair, pairKey)) {
            if (!pairHasKey) pairHasKey = true;
            else return false;
          }
        }
        if (!pairHasKey) return false;
        if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
        else return false;
      }
      return true;
    }
    function constructYamlOmap(data) {
      return data !== null ? data : [];
    }
    module2.exports = new Type("tag:yaml.org,2002:omap", {
      kind: "sequence",
      resolve: resolveYamlOmap,
      construct: constructYamlOmap
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/pairs.js
var require_pairs = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/pairs.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    var _toString = Object.prototype.toString;
    function resolveYamlPairs(data) {
      if (data === null) return true;
      var index, length, pair, keys, result2, object = data;
      result2 = new Array(object.length);
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        if (_toString.call(pair) !== "[object Object]") return false;
        keys = Object.keys(pair);
        if (keys.length !== 1) return false;
        result2[index] = [keys[0], pair[keys[0]]];
      }
      return true;
    }
    function constructYamlPairs(data) {
      if (data === null) return [];
      var index, length, pair, keys, result2, object = data;
      result2 = new Array(object.length);
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        keys = Object.keys(pair);
        result2[index] = [keys[0], pair[keys[0]]];
      }
      return result2;
    }
    module2.exports = new Type("tag:yaml.org,2002:pairs", {
      kind: "sequence",
      resolve: resolveYamlPairs,
      construct: constructYamlPairs
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/set.js
var require_set = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/type/set.js"(exports2, module2) {
    "use strict";
    var Type = require_type();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    function resolveYamlSet(data) {
      if (data === null) return true;
      var key, object = data;
      for (key in object) {
        if (_hasOwnProperty.call(object, key)) {
          if (object[key] !== null) return false;
        }
      }
      return true;
    }
    function constructYamlSet(data) {
      return data !== null ? data : {};
    }
    module2.exports = new Type("tag:yaml.org,2002:set", {
      kind: "mapping",
      resolve: resolveYamlSet,
      construct: constructYamlSet
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/default.js
var require_default = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/schema/default.js"(exports2, module2) {
    "use strict";
    module2.exports = require_core2().extend({
      implicit: [
        require_timestamp(),
        require_merge()
      ],
      explicit: [
        require_binary(),
        require_omap(),
        require_pairs(),
        require_set()
      ]
    });
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/loader.js
var require_loader = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/loader.js"(exports2, module2) {
    "use strict";
    var common = require_common();
    var YAMLException = require_exception();
    var makeSnippet = require_snippet();
    var DEFAULT_SCHEMA = require_default();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var CONTEXT_FLOW_IN = 1;
    var CONTEXT_FLOW_OUT = 2;
    var CONTEXT_BLOCK_IN = 3;
    var CONTEXT_BLOCK_OUT = 4;
    var CHOMPING_CLIP = 1;
    var CHOMPING_STRIP = 2;
    var CHOMPING_KEEP = 3;
    var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
    var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
    var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
    var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
    var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
    function _class(obj) {
      return Object.prototype.toString.call(obj);
    }
    function is_EOL(c) {
      return c === 10 || c === 13;
    }
    function is_WHITE_SPACE(c) {
      return c === 9 || c === 32;
    }
    function is_WS_OR_EOL(c) {
      return c === 9 || c === 32 || c === 10 || c === 13;
    }
    function is_FLOW_INDICATOR(c) {
      return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;
    }
    function fromHexCode(c) {
      var lc;
      if (48 <= c && c <= 57) {
        return c - 48;
      }
      lc = c | 32;
      if (97 <= lc && lc <= 102) {
        return lc - 97 + 10;
      }
      return -1;
    }
    function escapedHexLen(c) {
      if (c === 120) {
        return 2;
      }
      if (c === 117) {
        return 4;
      }
      if (c === 85) {
        return 8;
      }
      return 0;
    }
    function fromDecimalCode(c) {
      if (48 <= c && c <= 57) {
        return c - 48;
      }
      return -1;
    }
    function simpleEscapeSequence(c) {
      return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? "	" : c === 9 ? "	" : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "\x85" : c === 95 ? "\xA0" : c === 76 ? "\u2028" : c === 80 ? "\u2029" : "";
    }
    function charFromCodepoint(c) {
      if (c <= 65535) {
        return String.fromCharCode(c);
      }
      return String.fromCharCode(
        (c - 65536 >> 10) + 55296,
        (c - 65536 & 1023) + 56320
      );
    }
    var simpleEscapeCheck = new Array(256);
    var simpleEscapeMap = new Array(256);
    for (i = 0; i < 256; i++) {
      simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
      simpleEscapeMap[i] = simpleEscapeSequence(i);
    }
    var i;
    function State(input, options) {
      this.input = input;
      this.filename = options["filename"] || null;
      this.schema = options["schema"] || DEFAULT_SCHEMA;
      this.onWarning = options["onWarning"] || null;
      this.legacy = options["legacy"] || false;
      this.json = options["json"] || false;
      this.listener = options["listener"] || null;
      this.implicitTypes = this.schema.compiledImplicit;
      this.typeMap = this.schema.compiledTypeMap;
      this.length = input.length;
      this.position = 0;
      this.line = 0;
      this.lineStart = 0;
      this.lineIndent = 0;
      this.firstTabInLine = -1;
      this.documents = [];
    }
    function generateError(state, message) {
      var mark = {
        name: state.filename,
        buffer: state.input.slice(0, -1),
        // omit trailing \0
        position: state.position,
        line: state.line,
        column: state.position - state.lineStart
      };
      mark.snippet = makeSnippet(mark);
      return new YAMLException(message, mark);
    }
    function throwError(state, message) {
      throw generateError(state, message);
    }
    function throwWarning(state, message) {
      if (state.onWarning) {
        state.onWarning.call(null, generateError(state, message));
      }
    }
    var directiveHandlers = {
      YAML: function handleYamlDirective(state, name, args) {
        var match, major, minor;
        if (state.version !== null) {
          throwError(state, "duplication of %YAML directive");
        }
        if (args.length !== 1) {
          throwError(state, "YAML directive accepts exactly one argument");
        }
        match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
        if (match === null) {
          throwError(state, "ill-formed argument of the YAML directive");
        }
        major = parseInt(match[1], 10);
        minor = parseInt(match[2], 10);
        if (major !== 1) {
          throwError(state, "unacceptable YAML version of the document");
        }
        state.version = args[0];
        state.checkLineBreaks = minor < 2;
        if (minor !== 1 && minor !== 2) {
          throwWarning(state, "unsupported YAML version of the document");
        }
      },
      TAG: function handleTagDirective(state, name, args) {
        var handle, prefix;
        if (args.length !== 2) {
          throwError(state, "TAG directive accepts exactly two arguments");
        }
        handle = args[0];
        prefix = args[1];
        if (!PATTERN_TAG_HANDLE.test(handle)) {
          throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
        }
        if (_hasOwnProperty.call(state.tagMap, handle)) {
          throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
        }
        if (!PATTERN_TAG_URI.test(prefix)) {
          throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
        }
        try {
          prefix = decodeURIComponent(prefix);
        } catch (err) {
          throwError(state, "tag prefix is malformed: " + prefix);
        }
        state.tagMap[handle] = prefix;
      }
    };
    function captureSegment(state, start, end, checkJson) {
      var _position, _length, _character, _result;
      if (start < end) {
        _result = state.input.slice(start, end);
        if (checkJson) {
          for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
            _character = _result.charCodeAt(_position);
            if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
              throwError(state, "expected valid JSON character");
            }
          }
        } else if (PATTERN_NON_PRINTABLE.test(_result)) {
          throwError(state, "the stream contains non-printable characters");
        }
        state.result += _result;
      }
    }
    function mergeMappings(state, destination, source, overridableKeys) {
      var sourceKeys, key, index, quantity;
      if (!common.isObject(source)) {
        throwError(state, "cannot merge mappings; the provided source object is unacceptable");
      }
      sourceKeys = Object.keys(source);
      for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
        key = sourceKeys[index];
        if (!_hasOwnProperty.call(destination, key)) {
          destination[key] = source[key];
          overridableKeys[key] = true;
        }
      }
    }
    function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) {
      var index, quantity;
      if (Array.isArray(keyNode)) {
        keyNode = Array.prototype.slice.call(keyNode);
        for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {
          if (Array.isArray(keyNode[index])) {
            throwError(state, "nested arrays are not supported inside keys");
          }
          if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") {
            keyNode[index] = "[object Object]";
          }
        }
      }
      if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") {
        keyNode = "[object Object]";
      }
      keyNode = String(keyNode);
      if (_result === null) {
        _result = {};
      }
      if (keyTag === "tag:yaml.org,2002:merge") {
        if (Array.isArray(valueNode)) {
          for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
            mergeMappings(state, _result, valueNode[index], overridableKeys);
          }
        } else {
          mergeMappings(state, _result, valueNode, overridableKeys);
        }
      } else {
        if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) {
          state.line = startLine || state.line;
          state.lineStart = startLineStart || state.lineStart;
          state.position = startPos || state.position;
          throwError(state, "duplicated mapping key");
        }
        if (keyNode === "__proto__") {
          Object.defineProperty(_result, keyNode, {
            configurable: true,
            enumerable: true,
            writable: true,
            value: valueNode
          });
        } else {
          _result[keyNode] = valueNode;
        }
        delete overridableKeys[keyNode];
      }
      return _result;
    }
    function readLineBreak(state) {
      var ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 10) {
        state.position++;
      } else if (ch === 13) {
        state.position++;
        if (state.input.charCodeAt(state.position) === 10) {
          state.position++;
        }
      } else {
        throwError(state, "a line break is expected");
      }
      state.line += 1;
      state.lineStart = state.position;
      state.firstTabInLine = -1;
    }
    function skipSeparationSpace(state, allowComments, checkIndent) {
      var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        while (is_WHITE_SPACE(ch)) {
          if (ch === 9 && state.firstTabInLine === -1) {
            state.firstTabInLine = state.position;
          }
          ch = state.input.charCodeAt(++state.position);
        }
        if (allowComments && ch === 35) {
          do {
            ch = state.input.charCodeAt(++state.position);
          } while (ch !== 10 && ch !== 13 && ch !== 0);
        }
        if (is_EOL(ch)) {
          readLineBreak(state);
          ch = state.input.charCodeAt(state.position);
          lineBreaks++;
          state.lineIndent = 0;
          while (ch === 32) {
            state.lineIndent++;
            ch = state.input.charCodeAt(++state.position);
          }
        } else {
          break;
        }
      }
      if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
        throwWarning(state, "deficient indentation");
      }
      return lineBreaks;
    }
    function testDocumentSeparator(state) {
      var _position = state.position, ch;
      ch = state.input.charCodeAt(_position);
      if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
        _position += 3;
        ch = state.input.charCodeAt(_position);
        if (ch === 0 || is_WS_OR_EOL(ch)) {
          return true;
        }
      }
      return false;
    }
    function writeFoldedLines(state, count) {
      if (count === 1) {
        state.result += " ";
      } else if (count > 1) {
        state.result += common.repeat("\n", count - 1);
      }
    }
    function readPlainScalar(state, nodeIndent, withinFlowCollection) {
      var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
      ch = state.input.charCodeAt(state.position);
      if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
        return false;
      }
      if (ch === 63 || ch === 45) {
        following = state.input.charCodeAt(state.position + 1);
        if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
          return false;
        }
      }
      state.kind = "scalar";
      state.result = "";
      captureStart = captureEnd = state.position;
      hasPendingContent = false;
      while (ch !== 0) {
        if (ch === 58) {
          following = state.input.charCodeAt(state.position + 1);
          if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
            break;
          }
        } else if (ch === 35) {
          preceding = state.input.charCodeAt(state.position - 1);
          if (is_WS_OR_EOL(preceding)) {
            break;
          }
        } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
          break;
        } else if (is_EOL(ch)) {
          _line = state.line;
          _lineStart = state.lineStart;
          _lineIndent = state.lineIndent;
          skipSeparationSpace(state, false, -1);
          if (state.lineIndent >= nodeIndent) {
            hasPendingContent = true;
            ch = state.input.charCodeAt(state.position);
            continue;
          } else {
            state.position = captureEnd;
            state.line = _line;
            state.lineStart = _lineStart;
            state.lineIndent = _lineIndent;
            break;
          }
        }
        if (hasPendingContent) {
          captureSegment(state, captureStart, captureEnd, false);
          writeFoldedLines(state, state.line - _line);
          captureStart = captureEnd = state.position;
          hasPendingContent = false;
        }
        if (!is_WHITE_SPACE(ch)) {
          captureEnd = state.position + 1;
        }
        ch = state.input.charCodeAt(++state.position);
      }
      captureSegment(state, captureStart, captureEnd, false);
      if (state.result) {
        return true;
      }
      state.kind = _kind;
      state.result = _result;
      return false;
    }
    function readSingleQuotedScalar(state, nodeIndent) {
      var ch, captureStart, captureEnd;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 39) {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      state.position++;
      captureStart = captureEnd = state.position;
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        if (ch === 39) {
          captureSegment(state, captureStart, state.position, true);
          ch = state.input.charCodeAt(++state.position);
          if (ch === 39) {
            captureStart = state.position;
            state.position++;
            captureEnd = state.position;
          } else {
            return true;
          }
        } else if (is_EOL(ch)) {
          captureSegment(state, captureStart, captureEnd, true);
          writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
          captureStart = captureEnd = state.position;
        } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
          throwError(state, "unexpected end of the document within a single quoted scalar");
        } else {
          state.position++;
          captureEnd = state.position;
        }
      }
      throwError(state, "unexpected end of the stream within a single quoted scalar");
    }
    function readDoubleQuotedScalar(state, nodeIndent) {
      var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 34) {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      state.position++;
      captureStart = captureEnd = state.position;
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        if (ch === 34) {
          captureSegment(state, captureStart, state.position, true);
          state.position++;
          return true;
        } else if (ch === 92) {
          captureSegment(state, captureStart, state.position, true);
          ch = state.input.charCodeAt(++state.position);
          if (is_EOL(ch)) {
            skipSeparationSpace(state, false, nodeIndent);
          } else if (ch < 256 && simpleEscapeCheck[ch]) {
            state.result += simpleEscapeMap[ch];
            state.position++;
          } else if ((tmp = escapedHexLen(ch)) > 0) {
            hexLength = tmp;
            hexResult = 0;
            for (; hexLength > 0; hexLength--) {
              ch = state.input.charCodeAt(++state.position);
              if ((tmp = fromHexCode(ch)) >= 0) {
                hexResult = (hexResult << 4) + tmp;
              } else {
                throwError(state, "expected hexadecimal character");
              }
            }
            state.result += charFromCodepoint(hexResult);
            state.position++;
          } else {
            throwError(state, "unknown escape sequence");
          }
          captureStart = captureEnd = state.position;
        } else if (is_EOL(ch)) {
          captureSegment(state, captureStart, captureEnd, true);
          writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
          captureStart = captureEnd = state.position;
        } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
          throwError(state, "unexpected end of the document within a double quoted scalar");
        } else {
          state.position++;
          captureEnd = state.position;
        }
      }
      throwError(state, "unexpected end of the stream within a double quoted scalar");
    }
    function readFlowCollection(state, nodeIndent) {
      var readNext = true, _line, _lineStart, _pos, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = /* @__PURE__ */ Object.create(null), keyNode, keyTag, valueNode, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 91) {
        terminator = 93;
        isMapping = false;
        _result = [];
      } else if (ch === 123) {
        terminator = 125;
        isMapping = true;
        _result = {};
      } else {
        return false;
      }
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(++state.position);
      while (ch !== 0) {
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if (ch === terminator) {
          state.position++;
          state.tag = _tag;
          state.anchor = _anchor;
          state.kind = isMapping ? "mapping" : "sequence";
          state.result = _result;
          return true;
        } else if (!readNext) {
          throwError(state, "missed comma between flow collection entries");
        } else if (ch === 44) {
          throwError(state, "expected the node content, but found ','");
        }
        keyTag = keyNode = valueNode = null;
        isPair = isExplicitPair = false;
        if (ch === 63) {
          following = state.input.charCodeAt(state.position + 1);
          if (is_WS_OR_EOL(following)) {
            isPair = isExplicitPair = true;
            state.position++;
            skipSeparationSpace(state, true, nodeIndent);
          }
        }
        _line = state.line;
        _lineStart = state.lineStart;
        _pos = state.position;
        composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
        keyTag = state.tag;
        keyNode = state.result;
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if ((isExplicitPair || state.line === _line) && ch === 58) {
          isPair = true;
          ch = state.input.charCodeAt(++state.position);
          skipSeparationSpace(state, true, nodeIndent);
          composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
          valueNode = state.result;
        }
        if (isMapping) {
          storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos);
        } else if (isPair) {
          _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos));
        } else {
          _result.push(keyNode);
        }
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if (ch === 44) {
          readNext = true;
          ch = state.input.charCodeAt(++state.position);
        } else {
          readNext = false;
        }
      }
      throwError(state, "unexpected end of the stream within a flow collection");
    }
    function readBlockScalar(state, nodeIndent) {
      var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 124) {
        folding = false;
      } else if (ch === 62) {
        folding = true;
      } else {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      while (ch !== 0) {
        ch = state.input.charCodeAt(++state.position);
        if (ch === 43 || ch === 45) {
          if (CHOMPING_CLIP === chomping) {
            chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
          } else {
            throwError(state, "repeat of a chomping mode identifier");
          }
        } else if ((tmp = fromDecimalCode(ch)) >= 0) {
          if (tmp === 0) {
            throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
          } else if (!detectedIndent) {
            textIndent = nodeIndent + tmp - 1;
            detectedIndent = true;
          } else {
            throwError(state, "repeat of an indentation width identifier");
          }
        } else {
          break;
        }
      }
      if (is_WHITE_SPACE(ch)) {
        do {
          ch = state.input.charCodeAt(++state.position);
        } while (is_WHITE_SPACE(ch));
        if (ch === 35) {
          do {
            ch = state.input.charCodeAt(++state.position);
          } while (!is_EOL(ch) && ch !== 0);
        }
      }
      while (ch !== 0) {
        readLineBreak(state);
        state.lineIndent = 0;
        ch = state.input.charCodeAt(state.position);
        while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
          state.lineIndent++;
          ch = state.input.charCodeAt(++state.position);
        }
        if (!detectedIndent && state.lineIndent > textIndent) {
          textIndent = state.lineIndent;
        }
        if (is_EOL(ch)) {
          emptyLines++;
          continue;
        }
        if (state.lineIndent < textIndent) {
          if (chomping === CHOMPING_KEEP) {
            state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
          } else if (chomping === CHOMPING_CLIP) {
            if (didReadContent) {
              state.result += "\n";
            }
          }
          break;
        }
        if (folding) {
          if (is_WHITE_SPACE(ch)) {
            atMoreIndented = true;
            state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
          } else if (atMoreIndented) {
            atMoreIndented = false;
            state.result += common.repeat("\n", emptyLines + 1);
          } else if (emptyLines === 0) {
            if (didReadContent) {
              state.result += " ";
            }
          } else {
            state.result += common.repeat("\n", emptyLines);
          }
        } else {
          state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
        }
        didReadContent = true;
        detectedIndent = true;
        emptyLines = 0;
        captureStart = state.position;
        while (!is_EOL(ch) && ch !== 0) {
          ch = state.input.charCodeAt(++state.position);
        }
        captureSegment(state, captureStart, state.position, false);
      }
      return true;
    }
    function readBlockSequence(state, nodeIndent) {
      var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
      if (state.firstTabInLine !== -1) return false;
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        if (state.firstTabInLine !== -1) {
          state.position = state.firstTabInLine;
          throwError(state, "tab characters must not be used in indentation");
        }
        if (ch !== 45) {
          break;
        }
        following = state.input.charCodeAt(state.position + 1);
        if (!is_WS_OR_EOL(following)) {
          break;
        }
        detected = true;
        state.position++;
        if (skipSeparationSpace(state, true, -1)) {
          if (state.lineIndent <= nodeIndent) {
            _result.push(null);
            ch = state.input.charCodeAt(state.position);
            continue;
          }
        }
        _line = state.line;
        composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
        _result.push(state.result);
        skipSeparationSpace(state, true, -1);
        ch = state.input.charCodeAt(state.position);
        if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
          throwError(state, "bad indentation of a sequence entry");
        } else if (state.lineIndent < nodeIndent) {
          break;
        }
      }
      if (detected) {
        state.tag = _tag;
        state.anchor = _anchor;
        state.kind = "sequence";
        state.result = _result;
        return true;
      }
      return false;
    }
    function readBlockMapping(state, nodeIndent, flowIndent) {
      var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = /* @__PURE__ */ Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
      if (state.firstTabInLine !== -1) return false;
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        if (!atExplicitKey && state.firstTabInLine !== -1) {
          state.position = state.firstTabInLine;
          throwError(state, "tab characters must not be used in indentation");
        }
        following = state.input.charCodeAt(state.position + 1);
        _line = state.line;
        if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {
          if (ch === 63) {
            if (atExplicitKey) {
              storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
              keyTag = keyNode = valueNode = null;
            }
            detected = true;
            atExplicitKey = true;
            allowCompact = true;
          } else if (atExplicitKey) {
            atExplicitKey = false;
            allowCompact = true;
          } else {
            throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
          }
          state.position += 1;
          ch = following;
        } else {
          _keyLine = state.line;
          _keyLineStart = state.lineStart;
          _keyPos = state.position;
          if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
            break;
          }
          if (state.line === _line) {
            ch = state.input.charCodeAt(state.position);
            while (is_WHITE_SPACE(ch)) {
              ch = state.input.charCodeAt(++state.position);
            }
            if (ch === 58) {
              ch = state.input.charCodeAt(++state.position);
              if (!is_WS_OR_EOL(ch)) {
                throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
              }
              if (atExplicitKey) {
                storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
                keyTag = keyNode = valueNode = null;
              }
              detected = true;
              atExplicitKey = false;
              allowCompact = false;
              keyTag = state.tag;
              keyNode = state.result;
            } else if (detected) {
              throwError(state, "can not read an implicit mapping pair; a colon is missed");
            } else {
              state.tag = _tag;
              state.anchor = _anchor;
              return true;
            }
          } else if (detected) {
            throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
          } else {
            state.tag = _tag;
            state.anchor = _anchor;
            return true;
          }
        }
        if (state.line === _line || state.lineIndent > nodeIndent) {
          if (atExplicitKey) {
            _keyLine = state.line;
            _keyLineStart = state.lineStart;
            _keyPos = state.position;
          }
          if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
            if (atExplicitKey) {
              keyNode = state.result;
            } else {
              valueNode = state.result;
            }
          }
          if (!atExplicitKey) {
            storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos);
            keyTag = keyNode = valueNode = null;
          }
          skipSeparationSpace(state, true, -1);
          ch = state.input.charCodeAt(state.position);
        }
        if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
          throwError(state, "bad indentation of a mapping entry");
        } else if (state.lineIndent < nodeIndent) {
          break;
        }
      }
      if (atExplicitKey) {
        storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos);
      }
      if (detected) {
        state.tag = _tag;
        state.anchor = _anchor;
        state.kind = "mapping";
        state.result = _result;
      }
      return detected;
    }
    function readTagProperty(state) {
      var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 33) return false;
      if (state.tag !== null) {
        throwError(state, "duplication of a tag property");
      }
      ch = state.input.charCodeAt(++state.position);
      if (ch === 60) {
        isVerbatim = true;
        ch = state.input.charCodeAt(++state.position);
      } else if (ch === 33) {
        isNamed = true;
        tagHandle = "!!";
        ch = state.input.charCodeAt(++state.position);
      } else {
        tagHandle = "!";
      }
      _position = state.position;
      if (isVerbatim) {
        do {
          ch = state.input.charCodeAt(++state.position);
        } while (ch !== 0 && ch !== 62);
        if (state.position < state.length) {
          tagName = state.input.slice(_position, state.position);
          ch = state.input.charCodeAt(++state.position);
        } else {
          throwError(state, "unexpected end of the stream within a verbatim tag");
        }
      } else {
        while (ch !== 0 && !is_WS_OR_EOL(ch)) {
          if (ch === 33) {
            if (!isNamed) {
              tagHandle = state.input.slice(_position - 1, state.position + 1);
              if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
                throwError(state, "named tag handle cannot contain such characters");
              }
              isNamed = true;
              _position = state.position + 1;
            } else {
              throwError(state, "tag suffix cannot contain exclamation marks");
            }
          }
          ch = state.input.charCodeAt(++state.position);
        }
        tagName = state.input.slice(_position, state.position);
        if (PATTERN_FLOW_INDICATORS.test(tagName)) {
          throwError(state, "tag suffix cannot contain flow indicator characters");
        }
      }
      if (tagName && !PATTERN_TAG_URI.test(tagName)) {
        throwError(state, "tag name cannot contain such characters: " + tagName);
      }
      try {
        tagName = decodeURIComponent(tagName);
      } catch (err) {
        throwError(state, "tag name is malformed: " + tagName);
      }
      if (isVerbatim) {
        state.tag = tagName;
      } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {
        state.tag = state.tagMap[tagHandle] + tagName;
      } else if (tagHandle === "!") {
        state.tag = "!" + tagName;
      } else if (tagHandle === "!!") {
        state.tag = "tag:yaml.org,2002:" + tagName;
      } else {
        throwError(state, 'undeclared tag handle "' + tagHandle + '"');
      }
      return true;
    }
    function readAnchorProperty(state) {
      var _position, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 38) return false;
      if (state.anchor !== null) {
        throwError(state, "duplication of an anchor property");
      }
      ch = state.input.charCodeAt(++state.position);
      _position = state.position;
      while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
        ch = state.input.charCodeAt(++state.position);
      }
      if (state.position === _position) {
        throwError(state, "name of an anchor node must contain at least one character");
      }
      state.anchor = state.input.slice(_position, state.position);
      return true;
    }
    function readAlias(state) {
      var _position, alias, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 42) return false;
      ch = state.input.charCodeAt(++state.position);
      _position = state.position;
      while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
        ch = state.input.charCodeAt(++state.position);
      }
      if (state.position === _position) {
        throwError(state, "name of an alias node must contain at least one character");
      }
      alias = state.input.slice(_position, state.position);
      if (!_hasOwnProperty.call(state.anchorMap, alias)) {
        throwError(state, 'unidentified alias "' + alias + '"');
      }
      state.result = state.anchorMap[alias];
      skipSeparationSpace(state, true, -1);
      return true;
    }
    function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
      var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type, flowIndent, blockIndent;
      if (state.listener !== null) {
        state.listener("open", state);
      }
      state.tag = null;
      state.anchor = null;
      state.kind = null;
      state.result = null;
      allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
      if (allowToSeek) {
        if (skipSeparationSpace(state, true, -1)) {
          atNewLine = true;
          if (state.lineIndent > parentIndent) {
            indentStatus = 1;
          } else if (state.lineIndent === parentIndent) {
            indentStatus = 0;
          } else if (state.lineIndent < parentIndent) {
            indentStatus = -1;
          }
        }
      }
      if (indentStatus === 1) {
        while (readTagProperty(state) || readAnchorProperty(state)) {
          if (skipSeparationSpace(state, true, -1)) {
            atNewLine = true;
            allowBlockCollections = allowBlockStyles;
            if (state.lineIndent > parentIndent) {
              indentStatus = 1;
            } else if (state.lineIndent === parentIndent) {
              indentStatus = 0;
            } else if (state.lineIndent < parentIndent) {
              indentStatus = -1;
            }
          } else {
            allowBlockCollections = false;
          }
        }
      }
      if (allowBlockCollections) {
        allowBlockCollections = atNewLine || allowCompact;
      }
      if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
        if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
          flowIndent = parentIndent;
        } else {
          flowIndent = parentIndent + 1;
        }
        blockIndent = state.position - state.lineStart;
        if (indentStatus === 1) {
          if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
            hasContent = true;
          } else {
            if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
              hasContent = true;
            } else if (readAlias(state)) {
              hasContent = true;
              if (state.tag !== null || state.anchor !== null) {
                throwError(state, "alias node should not have any properties");
              }
            } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
              hasContent = true;
              if (state.tag === null) {
                state.tag = "?";
              }
            }
            if (state.anchor !== null) {
              state.anchorMap[state.anchor] = state.result;
            }
          }
        } else if (indentStatus === 0) {
          hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
        }
      }
      if (state.tag === null) {
        if (state.anchor !== null) {
          state.anchorMap[state.anchor] = state.result;
        }
      } else if (state.tag === "?") {
        if (state.result !== null && state.kind !== "scalar") {
          throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
        }
        for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
          type = state.implicitTypes[typeIndex];
          if (type.resolve(state.result)) {
            state.result = type.construct(state.result);
            state.tag = type.tag;
            if (state.anchor !== null) {
              state.anchorMap[state.anchor] = state.result;
            }
            break;
          }
        }
      } else if (state.tag !== "!") {
        if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) {
          type = state.typeMap[state.kind || "fallback"][state.tag];
        } else {
          type = null;
          typeList = state.typeMap.multi[state.kind || "fallback"];
          for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) {
            if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) {
              type = typeList[typeIndex];
              break;
            }
          }
        }
        if (!type) {
          throwError(state, "unknown tag !<" + state.tag + ">");
        }
        if (state.result !== null && type.kind !== state.kind) {
          throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
        }
        if (!type.resolve(state.result, state.tag)) {
          throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
        } else {
          state.result = type.construct(state.result, state.tag);
          if (state.anchor !== null) {
            state.anchorMap[state.anchor] = state.result;
          }
        }
      }
      if (state.listener !== null) {
        state.listener("close", state);
      }
      return state.tag !== null || state.anchor !== null || hasContent;
    }
    function readDocument(state) {
      var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
      state.version = null;
      state.checkLineBreaks = state.legacy;
      state.tagMap = /* @__PURE__ */ Object.create(null);
      state.anchorMap = /* @__PURE__ */ Object.create(null);
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        skipSeparationSpace(state, true, -1);
        ch = state.input.charCodeAt(state.position);
        if (state.lineIndent > 0 || ch !== 37) {
          break;
        }
        hasDirectives = true;
        ch = state.input.charCodeAt(++state.position);
        _position = state.position;
        while (ch !== 0 && !is_WS_OR_EOL(ch)) {
          ch = state.input.charCodeAt(++state.position);
        }
        directiveName = state.input.slice(_position, state.position);
        directiveArgs = [];
        if (directiveName.length < 1) {
          throwError(state, "directive name must not be less than one character in length");
        }
        while (ch !== 0) {
          while (is_WHITE_SPACE(ch)) {
            ch = state.input.charCodeAt(++state.position);
          }
          if (ch === 35) {
            do {
              ch = state.input.charCodeAt(++state.position);
            } while (ch !== 0 && !is_EOL(ch));
            break;
          }
          if (is_EOL(ch)) break;
          _position = state.position;
          while (ch !== 0 && !is_WS_OR_EOL(ch)) {
            ch = state.input.charCodeAt(++state.position);
          }
          directiveArgs.push(state.input.slice(_position, state.position));
        }
        if (ch !== 0) readLineBreak(state);
        if (_hasOwnProperty.call(directiveHandlers, directiveName)) {
          directiveHandlers[directiveName](state, directiveName, directiveArgs);
        } else {
          throwWarning(state, 'unknown document directive "' + directiveName + '"');
        }
      }
      skipSeparationSpace(state, true, -1);
      if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
        state.position += 3;
        skipSeparationSpace(state, true, -1);
      } else if (hasDirectives) {
        throwError(state, "directives end mark is expected");
      }
      composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
      skipSeparationSpace(state, true, -1);
      if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
        throwWarning(state, "non-ASCII line breaks are interpreted as content");
      }
      state.documents.push(state.result);
      if (state.position === state.lineStart && testDocumentSeparator(state)) {
        if (state.input.charCodeAt(state.position) === 46) {
          state.position += 3;
          skipSeparationSpace(state, true, -1);
        }
        return;
      }
      if (state.position < state.length - 1) {
        throwError(state, "end of the stream or a document separator is expected");
      } else {
        return;
      }
    }
    function loadDocuments(input, options) {
      input = String(input);
      options = options || {};
      if (input.length !== 0) {
        if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
          input += "\n";
        }
        if (input.charCodeAt(0) === 65279) {
          input = input.slice(1);
        }
      }
      var state = new State(input, options);
      var nullpos = input.indexOf("\0");
      if (nullpos !== -1) {
        state.position = nullpos;
        throwError(state, "null byte is not allowed in input");
      }
      state.input += "\0";
      while (state.input.charCodeAt(state.position) === 32) {
        state.lineIndent += 1;
        state.position += 1;
      }
      while (state.position < state.length - 1) {
        readDocument(state);
      }
      return state.documents;
    }
    function loadAll(input, iterator, options) {
      if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") {
        options = iterator;
        iterator = null;
      }
      var documents = loadDocuments(input, options);
      if (typeof iterator !== "function") {
        return documents;
      }
      for (var index = 0, length = documents.length; index < length; index += 1) {
        iterator(documents[index]);
      }
    }
    function load(input, options) {
      var documents = loadDocuments(input, options);
      if (documents.length === 0) {
        return void 0;
      } else if (documents.length === 1) {
        return documents[0];
      }
      throw new YAMLException("expected a single document in the stream, but found more");
    }
    module2.exports.loadAll = loadAll;
    module2.exports.load = load;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/dumper.js
var require_dumper = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/lib/dumper.js"(exports2, module2) {
    "use strict";
    var common = require_common();
    var YAMLException = require_exception();
    var DEFAULT_SCHEMA = require_default();
    var _toString = Object.prototype.toString;
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var CHAR_BOM = 65279;
    var CHAR_TAB = 9;
    var CHAR_LINE_FEED = 10;
    var CHAR_CARRIAGE_RETURN = 13;
    var CHAR_SPACE = 32;
    var CHAR_EXCLAMATION = 33;
    var CHAR_DOUBLE_QUOTE = 34;
    var CHAR_SHARP = 35;
    var CHAR_PERCENT = 37;
    var CHAR_AMPERSAND = 38;
    var CHAR_SINGLE_QUOTE = 39;
    var CHAR_ASTERISK = 42;
    var CHAR_COMMA = 44;
    var CHAR_MINUS = 45;
    var CHAR_COLON = 58;
    var CHAR_EQUALS = 61;
    var CHAR_GREATER_THAN = 62;
    var CHAR_QUESTION = 63;
    var CHAR_COMMERCIAL_AT = 64;
    var CHAR_LEFT_SQUARE_BRACKET = 91;
    var CHAR_RIGHT_SQUARE_BRACKET = 93;
    var CHAR_GRAVE_ACCENT = 96;
    var CHAR_LEFT_CURLY_BRACKET = 123;
    var CHAR_VERTICAL_LINE = 124;
    var CHAR_RIGHT_CURLY_BRACKET = 125;
    var ESCAPE_SEQUENCES = {};
    ESCAPE_SEQUENCES[0] = "\\0";
    ESCAPE_SEQUENCES[7] = "\\a";
    ESCAPE_SEQUENCES[8] = "\\b";
    ESCAPE_SEQUENCES[9] = "\\t";
    ESCAPE_SEQUENCES[10] = "\\n";
    ESCAPE_SEQUENCES[11] = "\\v";
    ESCAPE_SEQUENCES[12] = "\\f";
    ESCAPE_SEQUENCES[13] = "\\r";
    ESCAPE_SEQUENCES[27] = "\\e";
    ESCAPE_SEQUENCES[34] = '\\"';
    ESCAPE_SEQUENCES[92] = "\\\\";
    ESCAPE_SEQUENCES[133] = "\\N";
    ESCAPE_SEQUENCES[160] = "\\_";
    ESCAPE_SEQUENCES[8232] = "\\L";
    ESCAPE_SEQUENCES[8233] = "\\P";
    var DEPRECATED_BOOLEANS_SYNTAX = [
      "y",
      "Y",
      "yes",
      "Yes",
      "YES",
      "on",
      "On",
      "ON",
      "n",
      "N",
      "no",
      "No",
      "NO",
      "off",
      "Off",
      "OFF"
    ];
    var DEPRECATED_BASE60_SYNTAX = /^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;
    var SINGLE_LINE_KEYS = {
      cpu: true,
      engines: true,
      os: true,
      resolution: true,
      libc: true
    };
    function compileStyleMap(schema, map) {
      var result2, keys, index, length, tag, style, type;
      if (map === null) return {};
      result2 = {};
      keys = Object.keys(map);
      for (index = 0, length = keys.length; index < length; index += 1) {
        tag = keys[index];
        style = String(map[tag]);
        if (tag.slice(0, 2) === "!!") {
          tag = "tag:yaml.org,2002:" + tag.slice(2);
        }
        type = schema.compiledTypeMap["fallback"][tag];
        if (type && _hasOwnProperty.call(type.styleAliases, style)) {
          style = type.styleAliases[style];
        }
        result2[tag] = style;
      }
      return result2;
    }
    function encodeHex(character) {
      var string, handle, length;
      string = character.toString(16).toUpperCase();
      if (character <= 255) {
        handle = "x";
        length = 2;
      } else if (character <= 65535) {
        handle = "u";
        length = 4;
      } else if (character <= 4294967295) {
        handle = "U";
        length = 8;
      } else {
        throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF");
      }
      return "\\" + handle + common.repeat("0", length - string.length) + string;
    }
    var QUOTING_TYPE_SINGLE = 1;
    var QUOTING_TYPE_DOUBLE = 2;
    function State(options) {
      this.blankLines = options["blankLines"] || false;
      this.schema = options["schema"] || DEFAULT_SCHEMA;
      this.indent = Math.max(1, options["indent"] || 2);
      this.noArrayIndent = options["noArrayIndent"] || false;
      this.skipInvalid = options["skipInvalid"] || false;
      this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
      this.styleMap = compileStyleMap(this.schema, options["styles"] || null);
      this.sortKeys = options["sortKeys"] || false;
      this.lineWidth = options["lineWidth"] || 80;
      this.noRefs = options["noRefs"] || false;
      this.noCompatMode = options["noCompatMode"] || false;
      this.condenseFlow = options["condenseFlow"] || false;
      this.quotingType = options["quotingType"] === '"' ? QUOTING_TYPE_DOUBLE : QUOTING_TYPE_SINGLE;
      this.forceQuotes = options["forceQuotes"] || false;
      this.replacer = typeof options["replacer"] === "function" ? options["replacer"] : null;
      this.implicitTypes = this.schema.compiledImplicit;
      this.explicitTypes = this.schema.compiledExplicit;
      this.tag = null;
      this.result = "";
      this.duplicates = [];
      this.usedDuplicates = null;
    }
    function indentString(string, spaces) {
      var ind = common.repeat(" ", spaces), position = 0, next = -1, result2 = "", line, length = string.length;
      while (position < length) {
        next = string.indexOf("\n", position);
        if (next === -1) {
          line = string.slice(position);
          position = length;
        } else {
          line = string.slice(position, next + 1);
          position = next + 1;
        }
        if (line.length && line !== "\n") result2 += ind;
        result2 += line;
      }
      return result2;
    }
    function generateNextLine(state, level, doubleLine) {
      return "\n" + (doubleLine ? "\n" : "") + common.repeat(" ", state.indent * level);
    }
    function testImplicitResolving(state, str) {
      var index, length, type;
      for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {
        type = state.implicitTypes[index];
        if (type.resolve(str)) {
          return true;
        }
      }
      return false;
    }
    function isWhitespace(c) {
      return c === CHAR_SPACE || c === CHAR_TAB;
    }
    function isPrintable(c) {
      return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== CHAR_BOM || 65536 <= c && c <= 1114111;
    }
    function isNsCharOrWhitespace(c) {
      return isPrintable(c) && c !== CHAR_BOM && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
    }
    function isPlainSafe(c, prev, inblock) {
      var cIsNsCharOrWhitespace = isNsCharOrWhitespace(c);
      var cIsNsChar = cIsNsCharOrWhitespace && !isWhitespace(c);
      return (
        // ns-plain-safe
        (inblock ? (
          // c = flow-in
          cIsNsCharOrWhitespace
        ) : cIsNsCharOrWhitespace && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET) && c !== CHAR_SHARP && !(prev === CHAR_COLON && !cIsNsChar) || isNsCharOrWhitespace(prev) && !isWhitespace(prev) && c === CHAR_SHARP || prev === CHAR_COLON && cIsNsChar
      );
    }
    function isPlainSafeFirst(c) {
      return isPrintable(c) && c !== CHAR_BOM && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
    }
    function isPlainSafeLast(c) {
      return !isWhitespace(c) && c !== CHAR_COLON;
    }
    function codePointAt(string, pos) {
      var first = string.charCodeAt(pos), second;
      if (first >= 55296 && first <= 56319 && pos + 1 < string.length) {
        second = string.charCodeAt(pos + 1);
        if (second >= 56320 && second <= 57343) {
          return (first - 55296) * 1024 + second - 56320 + 65536;
        }
      }
      return first;
    }
    function needIndentIndicator(string) {
      var leadingSpaceRe = /^\n* /;
      return leadingSpaceRe.test(string);
    }
    var STYLE_PLAIN = 1;
    var STYLE_SINGLE = 2;
    var STYLE_LITERAL = 3;
    var STYLE_FOLDED = 4;
    var STYLE_DOUBLE = 5;
    function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType, quotingType, forceQuotes, inblock) {
      var i;
      var char = 0;
      var prevChar = null;
      var hasLineBreak = false;
      var hasFoldableLine = false;
      var shouldTrackWidth = lineWidth !== -1;
      var previousLineBreak = -1;
      var plain = isPlainSafeFirst(codePointAt(string, 0)) && isPlainSafeLast(codePointAt(string, string.length - 1));
      if (singleLineOnly || forceQuotes) {
        for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
          char = codePointAt(string, i);
          if (!isPrintable(char)) {
            return STYLE_DOUBLE;
          }
          plain = plain && isPlainSafe(char, prevChar, inblock);
          prevChar = char;
        }
      } else {
        for (i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
          char = codePointAt(string, i);
          if (char === CHAR_LINE_FEED) {
            hasLineBreak = true;
            if (shouldTrackWidth) {
              hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
              i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
              previousLineBreak = i;
            }
          } else if (!isPrintable(char)) {
            return STYLE_DOUBLE;
          }
          plain = plain && isPlainSafe(char, prevChar, inblock);
          prevChar = char;
        }
        hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ");
      }
      if (!hasLineBreak && !hasFoldableLine) {
        if (plain && !forceQuotes && !testAmbiguousType(string)) {
          return STYLE_PLAIN;
        }
        return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
      }
      if (indentPerLevel > 9 && needIndentIndicator(string)) {
        return STYLE_DOUBLE;
      }
      if (!forceQuotes) {
        return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
      }
      return quotingType === QUOTING_TYPE_DOUBLE ? STYLE_DOUBLE : STYLE_SINGLE;
    }
    function writeScalar(state, string, level, iskey, inblock, singleLO) {
      state.dump = function() {
        if (string.length === 0) {
          return state.quotingType === QUOTING_TYPE_DOUBLE ? '""' : "''";
        }
        if (!state.noCompatMode) {
          if (DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1 || DEPRECATED_BASE60_SYNTAX.test(string)) {
            return state.quotingType === QUOTING_TYPE_DOUBLE ? '"' + string + '"' : "'" + string + "'";
          }
        }
        var indent = state.indent * Math.max(1, level);
        var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
        var singleLineOnly = iskey || singleLO || state.flowLevel > -1 && level >= state.flowLevel;
        function testAmbiguity(string2) {
          return testImplicitResolving(state, string2);
        }
        switch (chooseScalarStyle(
          string,
          singleLineOnly,
          state.indent,
          lineWidth,
          testAmbiguity,
          state.quotingType,
          state.forceQuotes && !iskey,
          inblock
        )) {
          case STYLE_PLAIN:
            return string;
          case STYLE_SINGLE:
            return "'" + string.replace(/'/g, "''") + "'";
          case STYLE_LITERAL:
            return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
          case STYLE_FOLDED:
            return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
          case STYLE_DOUBLE:
            return '"' + escapeString(string, lineWidth) + '"';
          default:
            throw new YAMLException("impossible error: invalid scalar style");
        }
      }();
    }
    function blockHeader(string, indentPerLevel) {
      var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : "";
      var clip = string[string.length - 1] === "\n";
      var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
      var chomp = keep ? "+" : clip ? "" : "-";
      return indentIndicator + chomp + "\n";
    }
    function dropEndingNewline(string) {
      return string[string.length - 1] === "\n" ? string.slice(0, -1) : string;
    }
    function foldString(string, width) {
      var lineRe = /(\n+)([^\n]*)/g;
      var result2 = function() {
        var nextLF = string.indexOf("\n");
        nextLF = nextLF !== -1 ? nextLF : string.length;
        lineRe.lastIndex = nextLF;
        return foldLine(string.slice(0, nextLF), width);
      }();
      var prevMoreIndented = string[0] === "\n" || string[0] === " ";
      var moreIndented;
      var match;
      while (match = lineRe.exec(string)) {
        var prefix = match[1], line = match[2];
        moreIndented = line[0] === " ";
        result2 += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
        prevMoreIndented = moreIndented;
      }
      return result2;
    }
    function foldLine(line, width) {
      if (line === "" || line[0] === " ") return line;
      var breakRe = / [^ ]/g;
      var match;
      var start = 0, end, curr = 0, next = 0;
      var result2 = "";
      while (match = breakRe.exec(line)) {
        next = match.index;
        if (next - start > width) {
          end = curr > start ? curr : next;
          result2 += "\n" + line.slice(start, end);
          start = end + 1;
        }
        curr = next;
      }
      result2 += "\n";
      if (line.length - start > width && curr > start) {
        result2 += line.slice(start, curr) + "\n" + line.slice(curr + 1);
      } else {
        result2 += line.slice(start);
      }
      return result2.slice(1);
    }
    function escapeString(string) {
      var result2 = "";
      var char = 0;
      var escapeSeq;
      for (var i = 0; i < string.length; char >= 65536 ? i += 2 : i++) {
        char = codePointAt(string, i);
        escapeSeq = ESCAPE_SEQUENCES[char];
        if (!escapeSeq && isPrintable(char)) {
          result2 += string[i];
          if (char >= 65536) result2 += string[i + 1];
        } else {
          result2 += escapeSeq || encodeHex(char);
        }
      }
      return result2;
    }
    function writeFlowSequence(state, level, object) {
      var _result = "", _tag = state.tag, index, length, value;
      for (index = 0, length = object.length; index < length; index += 1) {
        value = object[index];
        if (state.replacer) {
          value = state.replacer.call(object, String(index), value);
        }
        if (writeNode(state, level, value, false, false) || typeof value === "undefined" && writeNode(state, level, null, false, false)) {
          if (_result !== "") _result += "," + (!state.condenseFlow ? " " : "");
          _result += state.dump;
        }
      }
      state.tag = _tag;
      state.dump = "[" + _result + "]";
    }
    function writeBlockSequence(state, level, object, compact) {
      var _result = "", _tag = state.tag, index, length, value;
      for (index = 0, length = object.length; index < length; index += 1) {
        value = object[index];
        if (state.replacer) {
          value = state.replacer.call(object, String(index), value);
        }
        if (writeNode(state, level + 1, value, true, true, false, true) || typeof value === "undefined" && writeNode(state, level + 1, null, true, true, false, true)) {
          if (!compact || _result !== "") {
            _result += generateNextLine(state, level);
          }
          if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
            _result += "-";
          } else {
            _result += "- ";
          }
          _result += state.dump;
        }
      }
      state.tag = _tag;
      state.dump = _result || "[]";
    }
    function writeFlowMapping(state, level, object, singleLineOnly) {
      var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer;
      for (index = 0, length = objectKeyList.length; index < length; index += 1) {
        pairBuffer = "";
        if (_result !== "") pairBuffer += ", ";
        if (state.condenseFlow) pairBuffer += '"';
        objectKey = objectKeyList[index];
        objectValue = object[objectKey];
        if (state.replacer) {
          objectValue = state.replacer.call(object, objectKey, objectValue);
        }
        if (!writeNode(state, level, objectKey, false, false, singleLineOnly)) {
          continue;
        }
        if (state.dump.length > 1024) pairBuffer += "? ";
        pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
        if (!writeNode(state, level, objectValue, false, false, singleLineOnly)) {
          continue;
        }
        pairBuffer += state.dump;
        _result += pairBuffer;
      }
      state.tag = _tag;
      state.dump = "{" + _result + "}";
    }
    function writeBlockMapping(state, level, object, compact, doubleLine) {
      var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer;
      if (state.sortKeys === true) {
        objectKeyList.sort();
      } else if (typeof state.sortKeys === "function") {
        objectKeyList.sort(state.sortKeys);
      } else if (state.sortKeys) {
        throw new YAMLException("sortKeys must be a boolean or a function");
      }
      for (index = 0, length = objectKeyList.length; index < length; index += 1) {
        pairBuffer = "";
        if (!compact || _result !== "") {
          pairBuffer += generateNextLine(state, level, doubleLine);
        }
        objectKey = objectKeyList[index];
        objectValue = object[objectKey];
        if (state.replacer) {
          objectValue = state.replacer.call(object, objectKey, objectValue);
        }
        if (!writeNode(state, level + 1, objectKey, true, true, true)) {
          continue;
        }
        explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
        if (explicitPair) {
          if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
            pairBuffer += "?";
          } else {
            pairBuffer += "? ";
          }
        }
        pairBuffer += state.dump;
        if (explicitPair) {
          pairBuffer += generateNextLine(state, level);
        }
        if (!writeNode(state, level + 1, objectValue, true, explicitPair, null, null, objectKey)) {
          continue;
        }
        if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
          pairBuffer += ":";
        } else {
          pairBuffer += ": ";
        }
        pairBuffer += state.dump;
        _result += pairBuffer;
      }
      state.tag = _tag;
      state.dump = _result || "{}";
    }
    function detectType(state, object, explicit) {
      var _result, typeList, index, length, type, style;
      typeList = explicit ? state.explicitTypes : state.implicitTypes;
      for (index = 0, length = typeList.length; index < length; index += 1) {
        type = typeList[index];
        if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
          if (explicit) {
            if (type.multi && type.representName) {
              state.tag = type.representName(object);
            } else {
              state.tag = type.tag;
            }
          } else {
            state.tag = "?";
          }
          if (type.represent) {
            style = state.styleMap[type.tag] || type.defaultStyle;
            if (_toString.call(type.represent) === "[object Function]") {
              _result = type.represent(object, style);
            } else if (_hasOwnProperty.call(type.represent, style)) {
              _result = type.represent[style](object, style);
            } else {
              throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style');
            }
            state.dump = _result;
          }
          return true;
        }
      }
      return false;
    }
    function writeNode(state, level, object, block, compact, iskey, isblockseq, objectKey, singleLineOnly) {
      state.tag = null;
      state.dump = object;
      if (!detectType(state, object, false)) {
        detectType(state, object, true);
      }
      var type = _toString.call(state.dump);
      var inblock = block;
      var tagStr;
      if (block) {
        block = state.flowLevel < 0 || state.flowLevel > level;
      }
      var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate;
      if (objectOrArray) {
        duplicateIndex = state.duplicates.indexOf(object);
        duplicate = duplicateIndex !== -1;
      }
      if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
        compact = false;
      }
      if (duplicate && state.usedDuplicates[duplicateIndex]) {
        state.dump = "*ref_" + duplicateIndex;
      } else {
        if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
          state.usedDuplicates[duplicateIndex] = true;
        }
        if (type === "[object Object]") {
          singleLineOnly = SINGLE_LINE_KEYS[objectKey];
          if (block && Object.keys(state.dump).length !== 0 && !singleLineOnly) {
            var doubleLine = state.blankLines ? objectKey === "packages" || objectKey === "importers" || objectKey === "snapshots" || level === 0 : false;
            writeBlockMapping(state, level, state.dump, compact, doubleLine);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + state.dump;
            }
          } else {
            writeFlowMapping(state, level, state.dump, singleLineOnly);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + " " + state.dump;
            }
          }
        } else if (type === "[object Array]") {
          singleLineOnly = SINGLE_LINE_KEYS[objectKey];
          if (block && state.dump.length !== 0 && !singleLineOnly) {
            if (state.noArrayIndent && !isblockseq && level > 0) {
              writeBlockSequence(state, level - 1, state.dump, compact);
            } else {
              writeBlockSequence(state, level, state.dump, compact);
            }
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + state.dump;
            }
          } else {
            writeFlowSequence(state, level, state.dump, singleLineOnly);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + " " + state.dump;
            }
          }
        } else if (type === "[object String]") {
          if (state.tag !== "?") {
            writeScalar(state, state.dump, level, iskey, inblock, singleLineOnly);
          }
        } else if (type === "[object Undefined]") {
          return false;
        } else {
          if (state.skipInvalid) return false;
          throw new YAMLException("unacceptable kind of an object to dump " + type);
        }
        if (state.tag !== null && state.tag !== "?") {
          tagStr = encodeURI(
            state.tag[0] === "!" ? state.tag.slice(1) : state.tag
          ).replace(/!/g, "%21");
          if (state.tag[0] === "!") {
            tagStr = "!" + tagStr;
          } else if (tagStr.slice(0, 18) === "tag:yaml.org,2002:") {
            tagStr = "!!" + tagStr.slice(18);
          } else {
            tagStr = "!<" + tagStr + ">";
          }
          state.dump = tagStr + " " + state.dump;
        }
      }
      return true;
    }
    function getDuplicateReferences(object, state) {
      var objects = [], duplicatesIndexes = [], index, length;
      inspectNode(object, objects, duplicatesIndexes);
      for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {
        state.duplicates.push(objects[duplicatesIndexes[index]]);
      }
      state.usedDuplicates = new Array(length);
    }
    function inspectNode(object, objects, duplicatesIndexes) {
      var objectKeyList, index, length;
      if (object !== null && typeof object === "object") {
        index = objects.indexOf(object);
        if (index !== -1) {
          if (duplicatesIndexes.indexOf(index) === -1) {
            duplicatesIndexes.push(index);
          }
        } else {
          objects.push(object);
          if (Array.isArray(object)) {
            for (index = 0, length = object.length; index < length; index += 1) {
              inspectNode(object[index], objects, duplicatesIndexes);
            }
          } else {
            objectKeyList = Object.keys(object);
            for (index = 0, length = objectKeyList.length; index < length; index += 1) {
              inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);
            }
          }
        }
      }
    }
    function dump(input, options) {
      options = options || {};
      var state = new State(options);
      if (!state.noRefs) getDuplicateReferences(input, state);
      var value = input;
      if (state.replacer) {
        value = state.replacer.call({ "": value }, "", value);
      }
      if (writeNode(state, 0, value, true, true)) return state.dump + "\n";
      return "";
    }
    module2.exports.dump = dump;
  }
});

// ../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/index.js
var require_js_yaml = __commonJS({
  "../node_modules/.pnpm/@zkochan+js-yaml@0.0.7/node_modules/@zkochan/js-yaml/index.js"(exports2, module2) {
    "use strict";
    var loader = require_loader();
    var dumper = require_dumper();
    function renamed(from, to) {
      return function() {
        throw new Error("Function yaml." + from + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default.");
      };
    }
    module2.exports.Type = require_type();
    module2.exports.Schema = require_schema();
    module2.exports.FAILSAFE_SCHEMA = require_failsafe();
    module2.exports.JSON_SCHEMA = require_json();
    module2.exports.CORE_SCHEMA = require_core2();
    module2.exports.DEFAULT_SCHEMA = require_default();
    module2.exports.load = loader.load;
    module2.exports.loadAll = loader.loadAll;
    module2.exports.dump = dumper.dump;
    module2.exports.YAMLException = require_exception();
    module2.exports.safeLoad = renamed("safeLoad", "load");
    module2.exports.safeLoadAll = renamed("safeLoadAll", "loadAll");
    module2.exports.safeDump = renamed("safeDump", "dump");
  }
});

// ../node_modules/.pnpm/write-yaml-file@5.0.0/node_modules/write-yaml-file/index.js
var require_write_yaml_file = __commonJS({
  "../node_modules/.pnpm/write-yaml-file@5.0.0/node_modules/write-yaml-file/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var fs = require("fs");
    var writeFileAtomic = require_lib10();
    var YAML = require_js_yaml();
    var main = (fn, fp, data, opts) => {
      if (!fp) {
        throw new TypeError("Expected a filepath");
      }
      if (data === void 0) {
        throw new TypeError("Expected data to stringify");
      }
      opts = opts || {};
      const yaml = YAML.dump(data, opts);
      return fn(fp, yaml, { mode: opts.mode });
    };
    module2.exports = async (fp, data, opts) => {
      if (opts?.makeDir ?? true) {
        await fs.promises.mkdir(path2.dirname(fp), { recursive: true });
      }
      return main(writeFileAtomic, fp, data, opts);
    };
    module2.exports.sync = (fp, data, opts) => {
      if (opts?.makeDir ?? true) {
        fs.mkdirSync(path2.dirname(fp), { recursive: true });
      }
      main(writeFileAtomic.sync, fp, data, opts);
    };
  }
});

// ../pkg-manifest/write-project-manifest/lib/index.js
var require_lib11 = __commonJS({
  "../pkg-manifest/write-project-manifest/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeProjectManifest = writeProjectManifest;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var text_comments_parser_1 = require_lib8();
    var json5_1 = __importDefault2(require_lib9());
    var write_file_atomic_1 = __importDefault2(require_lib10());
    var write_yaml_file_1 = __importDefault2(require_write_yaml_file());
    var YAML_FORMAT = {
      noCompatMode: true,
      noRefs: true
    };
    async function writeProjectManifest(filePath, manifest, opts) {
      const fileType = filePath.slice(filePath.lastIndexOf(".") + 1).toLowerCase();
      if (fileType === "yaml") {
        return (0, write_yaml_file_1.default)(filePath, manifest, YAML_FORMAT);
      }
      await fs_1.promises.mkdir(path_1.default.dirname(filePath), { recursive: true });
      const trailingNewline = opts?.insertFinalNewline === false ? "" : "\n";
      const indent = opts?.indent ?? "	";
      const json = fileType === "json5" ? stringifyJson5(manifest, indent, opts?.comments) : JSON.stringify(manifest, void 0, indent);
      return (0, write_file_atomic_1.default)(filePath, `${json}${trailingNewline}`);
    }
    function stringifyJson5(obj, indent, comments) {
      const json5 = json5_1.default.stringify(obj, void 0, indent);
      if (comments) {
        return (0, text_comments_parser_1.insertComments)(json5, comments);
      }
      return json5;
    }
  }
});

// ../node_modules/.pnpm/read-yaml-file@2.1.0/node_modules/read-yaml-file/index.js
var require_read_yaml_file = __commonJS({
  "../node_modules/.pnpm/read-yaml-file@2.1.0/node_modules/read-yaml-file/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var stripBom = require_strip_bom();
    var yaml = require_js_yaml();
    var parse2 = (data) => yaml.load(stripBom(data));
    var readYamlFile = (fp) => fs.promises.readFile(fp, "utf8").then((data) => parse2(data));
    module2.exports = readYamlFile;
    module2.exports.default = readYamlFile;
    module2.exports.sync = (fp) => parse2(fs.readFileSync(fp, "utf8"));
  }
});

// ../node_modules/.pnpm/@gwhitney+detect-indent@7.0.1/node_modules/@gwhitney/detect-indent/index.js
var require_detect_indent = __commonJS({
  "../node_modules/.pnpm/@gwhitney+detect-indent@7.0.1/node_modules/@gwhitney/detect-indent/index.js"(exports2, module2) {
    "use strict";
    var INDENT_REGEX = /^(?:( )+|\t+)/;
    var INDENT_TYPE_SPACE = "space";
    var INDENT_TYPE_TAB = "tab";
    function makeIndentsMap(string, ignoreSingleSpaces) {
      const indents = /* @__PURE__ */ new Map();
      let previousSize = 0;
      let previousIndentType;
      let key;
      for (const line of string.split(/\n/g)) {
        if (!line) {
          continue;
        }
        let indent;
        let indentType;
        let use;
        let weight;
        let entry;
        const matches = line.match(INDENT_REGEX);
        if (matches === null) {
          previousSize = 0;
          previousIndentType = "";
        } else {
          indent = matches[0].length;
          indentType = matches[1] ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
          if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
            continue;
          }
          if (indentType !== previousIndentType) {
            previousSize = 0;
          }
          previousIndentType = indentType;
          use = 1;
          weight = 0;
          const indentDifference = indent - previousSize;
          previousSize = indent;
          if (indentDifference === 0) {
            use = 0;
            weight = 1;
          } else {
            const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
            key = encodeIndentsKey(indentType, absoluteIndentDifference);
          }
          entry = indents.get(key);
          entry = entry === void 0 ? [1, 0] : [entry[0] + use, entry[1] + weight];
          indents.set(key, entry);
        }
      }
      return indents;
    }
    function encodeIndentsKey(indentType, indentAmount) {
      const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
      return typeCharacter + String(indentAmount);
    }
    function decodeIndentsKey(indentsKey) {
      const keyHasTypeSpace = indentsKey[0] === "s";
      const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
      const amount = Number(indentsKey.slice(1));
      return { type, amount };
    }
    function getMostUsedKey(indents) {
      let result2;
      let maxUsed = 0;
      let maxWeight = 0;
      for (const [key, [usedCount, weight]] of indents) {
        if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
          maxUsed = usedCount;
          maxWeight = weight;
          result2 = key;
        }
      }
      return result2;
    }
    function makeIndentString(type, amount) {
      const indentCharacter = type === INDENT_TYPE_SPACE ? " " : "	";
      return indentCharacter.repeat(amount);
    }
    function detectIndent(string) {
      if (typeof string !== "string") {
        throw new TypeError("Expected a string");
      }
      let indents = makeIndentsMap(string, true);
      if (indents.size === 0) {
        indents = makeIndentsMap(string, false);
      }
      const keyOfMostUsedIndent = getMostUsedKey(indents);
      let type;
      let amount = 0;
      let indent = "";
      if (keyOfMostUsedIndent !== void 0) {
        ({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
        indent = makeIndentString(type, amount);
      }
      return {
        amount,
        type,
        indent
      };
    }
    module2.exports = detectIndent;
  }
});

// ../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js
var require_fast_deep_equal = __commonJS({
  "../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function equal(a, b) {
      if (a === b) return true;
      if (a && b && typeof a == "object" && typeof b == "object") {
        if (a.constructor !== b.constructor) return false;
        var length, i, keys;
        if (Array.isArray(a)) {
          length = a.length;
          if (length != b.length) return false;
          for (i = length; i-- !== 0; )
            if (!equal(a[i], b[i])) return false;
          return true;
        }
        if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
        if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
        if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
        keys = Object.keys(a);
        length = keys.length;
        if (length !== Object.keys(b).length) return false;
        for (i = length; i-- !== 0; )
          if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
        for (i = length; i-- !== 0; ) {
          var key = keys[i];
          if (!equal(a[key], b[key])) return false;
        }
        return true;
      }
      return a !== a && b !== b;
    };
  }
});

// ../node_modules/.pnpm/is-windows@1.0.2/node_modules/is-windows/index.js
var require_is_windows = __commonJS({
  "../node_modules/.pnpm/is-windows@1.0.2/node_modules/is-windows/index.js"(exports2, module2) {
    (function(factory) {
      if (exports2 && typeof exports2 === "object" && typeof module2 !== "undefined") {
        module2.exports = factory();
      } else if (typeof define === "function" && define.amd) {
        define([], factory);
      } else if (typeof window !== "undefined") {
        window.isWindows = factory();
      } else if (typeof global !== "undefined") {
        global.isWindows = factory();
      } else if (typeof self !== "undefined") {
        self.isWindows = factory();
      } else {
        this.isWindows = factory();
      }
    })(function() {
      "use strict";
      return function isWindows() {
        return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE));
      };
    });
  }
});

// ../fs/graceful-fs/lib/index.js
var require_lib12 = __commonJS({
  "../fs/graceful-fs/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var util_1 = require("util");
    var graceful_fs_1 = __importDefault2(require_graceful_fs());
    exports2.default = {
      copyFile: (0, util_1.promisify)(graceful_fs_1.default.copyFile),
      copyFileSync: graceful_fs_1.default.copyFileSync,
      createReadStream: graceful_fs_1.default.createReadStream,
      link: (0, util_1.promisify)(graceful_fs_1.default.link),
      linkSync: graceful_fs_1.default.linkSync,
      readFile: (0, util_1.promisify)(graceful_fs_1.default.readFile),
      readFileSync: graceful_fs_1.default.readFileSync,
      readdirSync: graceful_fs_1.default.readdirSync,
      stat: (0, util_1.promisify)(graceful_fs_1.default.stat),
      statSync: graceful_fs_1.default.statSync,
      unlinkSync: graceful_fs_1.default.unlinkSync,
      writeFile: (0, util_1.promisify)(graceful_fs_1.default.writeFile),
      writeFileSync: graceful_fs_1.default.writeFileSync
    };
  }
});

// ../pkg-manifest/read-project-manifest/lib/readFile.js
var require_readFile = __commonJS({
  "../pkg-manifest/read-project-manifest/lib/readFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readJson5File = readJson5File;
    exports2.readJsonFile = readJsonFile;
    var graceful_fs_1 = __importDefault2(require_lib12());
    var json5_1 = __importDefault2(require_lib9());
    var parse_json_1 = __importDefault2(require_parse_json());
    var strip_bom_1 = __importDefault2(require_strip_bom());
    async function readJson5File(filePath) {
      const text = await readFileWithoutBom(filePath);
      try {
        return {
          data: json5_1.default.parse(text),
          text
        };
      } catch (err) {
        err.message = `${err.message} in ${filePath}`;
        err["code"] = "ERR_PNPM_JSON5_PARSE";
        throw err;
      }
    }
    async function readJsonFile(filePath) {
      const text = await readFileWithoutBom(filePath);
      try {
        return {
          data: (0, parse_json_1.default)(text, filePath),
          text
        };
      } catch (err) {
        err["code"] = "ERR_PNPM_JSON_PARSE";
        throw err;
      }
    }
    async function readFileWithoutBom(path2) {
      return (0, strip_bom_1.default)(await graceful_fs_1.default.readFile(path2, "utf8"));
    }
  }
});

// ../pkg-manifest/read-project-manifest/lib/index.js
var require_lib13 = __commonJS({
  "../pkg-manifest/read-project-manifest/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.safeReadProjectManifestOnly = safeReadProjectManifestOnly;
    exports2.readProjectManifest = readProjectManifest;
    exports2.readProjectManifestOnly = readProjectManifestOnly;
    exports2.tryReadProjectManifest = tryReadProjectManifest;
    exports2.readExactProjectManifest = readExactProjectManifest;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var text_comments_parser_1 = require_lib8();
    var write_project_manifest_1 = require_lib11();
    var read_yaml_file_1 = __importDefault2(require_read_yaml_file());
    var detect_indent_1 = __importDefault2(require_detect_indent());
    var fast_deep_equal_1 = __importDefault2(require_fast_deep_equal());
    var is_windows_1 = __importDefault2(require_is_windows());
    var readFile_1 = require_readFile();
    async function safeReadProjectManifestOnly(projectDir) {
      try {
        return await readProjectManifestOnly(projectDir);
      } catch (err) {
        if (err.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") {
          return null;
        }
        throw err;
      }
    }
    async function readProjectManifest(projectDir) {
      const result2 = await tryReadProjectManifest(projectDir);
      if (result2.manifest !== null) {
        return result2;
      }
      throw new error_1.PnpmError("NO_IMPORTER_MANIFEST_FOUND", `No package.json (or package.yaml, or package.json5) was found in "${projectDir}".`);
    }
    async function readProjectManifestOnly(projectDir) {
      const { manifest } = await readProjectManifest(projectDir);
      return manifest;
    }
    async function tryReadProjectManifest(projectDir) {
      try {
        const manifestPath = path_1.default.join(projectDir, "package.json");
        const { data, text } = await (0, readFile_1.readJsonFile)(manifestPath);
        return {
          fileName: "package.json",
          manifest: data,
          writeProjectManifest: createManifestWriter({
            ...detectFileFormatting(text),
            initialManifest: data,
            manifestPath
          })
        };
      } catch (err) {
        if (err.code !== "ENOENT")
          throw err;
      }
      try {
        const manifestPath = path_1.default.join(projectDir, "package.json5");
        const { data, text } = await (0, readFile_1.readJson5File)(manifestPath);
        return {
          fileName: "package.json5",
          manifest: data,
          writeProjectManifest: createManifestWriter({
            ...detectFileFormattingAndComments(text),
            initialManifest: data,
            manifestPath
          })
        };
      } catch (err) {
        if (err.code !== "ENOENT")
          throw err;
      }
      try {
        const manifestPath = path_1.default.join(projectDir, "package.yaml");
        const manifest = await readPackageYaml(manifestPath);
        return {
          fileName: "package.yaml",
          manifest,
          writeProjectManifest: createManifestWriter({ initialManifest: manifest, manifestPath })
        };
      } catch (err) {
        if (err.code !== "ENOENT")
          throw err;
      }
      if ((0, is_windows_1.default)()) {
        let s;
        try {
          s = await fs_1.promises.stat(projectDir);
        } catch (err) {
        }
        if (s != null && !s.isDirectory()) {
          const err = new Error(`"${projectDir}" is not a directory`);
          err["code"] = "ENOTDIR";
          throw err;
        }
      }
      const filePath = path_1.default.join(projectDir, "package.json");
      return {
        fileName: "package.json",
        manifest: null,
        writeProjectManifest: async (manifest) => (0, write_project_manifest_1.writeProjectManifest)(filePath, manifest)
      };
    }
    function detectFileFormattingAndComments(text) {
      const { comments, text: newText, hasFinalNewline } = (0, text_comments_parser_1.extractComments)(text);
      return {
        comments,
        indent: (0, detect_indent_1.default)(newText).indent,
        insertFinalNewline: hasFinalNewline
      };
    }
    function detectFileFormatting(text) {
      return {
        indent: (0, detect_indent_1.default)(text).indent,
        insertFinalNewline: text.endsWith("\n")
      };
    }
    async function readExactProjectManifest(manifestPath) {
      const base = path_1.default.basename(manifestPath).toLowerCase();
      switch (base) {
        case "package.json": {
          const { data, text } = await (0, readFile_1.readJsonFile)(manifestPath);
          return {
            manifest: data,
            writeProjectManifest: createManifestWriter({
              ...detectFileFormatting(text),
              initialManifest: data,
              manifestPath
            })
          };
        }
        case "package.json5": {
          const { data, text } = await (0, readFile_1.readJson5File)(manifestPath);
          return {
            manifest: data,
            writeProjectManifest: createManifestWriter({
              ...detectFileFormattingAndComments(text),
              initialManifest: data,
              manifestPath
            })
          };
        }
        case "package.yaml": {
          const manifest = await readPackageYaml(manifestPath);
          return {
            manifest,
            writeProjectManifest: createManifestWriter({ initialManifest: manifest, manifestPath })
          };
        }
      }
      throw new Error(`Not supported manifest name "${base}"`);
    }
    async function readPackageYaml(filePath) {
      try {
        return await (0, read_yaml_file_1.default)(filePath);
      } catch (err) {
        if (err.name !== "YAMLException")
          throw err;
        err.message = `${err.message}
in ${filePath}`;
        err.code = "ERR_PNPM_YAML_PARSE";
        throw err;
      }
    }
    function createManifestWriter(opts) {
      let initialManifest = normalize(opts.initialManifest);
      return async (updatedManifest, force) => {
        updatedManifest = normalize(updatedManifest);
        if (force === true || !(0, fast_deep_equal_1.default)(initialManifest, updatedManifest)) {
          await (0, write_project_manifest_1.writeProjectManifest)(opts.manifestPath, updatedManifest, {
            comments: opts.comments,
            indent: opts.indent,
            insertFinalNewline: opts.insertFinalNewline
          });
          initialManifest = normalize(updatedManifest);
          return Promise.resolve(void 0);
        }
        return Promise.resolve(void 0);
      };
    }
    var dependencyKeys = /* @__PURE__ */ new Set([
      "dependencies",
      "devDependencies",
      "optionalDependencies",
      "peerDependencies"
    ]);
    function normalize(manifest) {
      const result2 = {};
      for (const key in manifest) {
        if (Object.prototype.hasOwnProperty.call(manifest, key)) {
          const value = manifest[key];
          if (typeof value !== "object" || !dependencyKeys.has(key)) {
            result2[key] = structuredClone(value);
          } else {
            const keys = Object.keys(value);
            if (keys.length !== 0) {
              keys.sort();
              const sortedValue = {};
              for (const k of keys) {
                sortedValue[k] = value[k];
              }
              result2[key] = sortedValue;
            }
          }
        }
      }
      return result2;
    }
  }
});

// ../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js
var require_windows = __commonJS({
  "../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js"(exports2, module2) {
    module2.exports = isexe;
    isexe.sync = sync;
    var fs = require("fs");
    function checkPathExt(path2, options) {
      var pathext = options.pathExt !== void 0 ? options.pathExt : process.env.PATHEXT;
      if (!pathext) {
        return true;
      }
      pathext = pathext.split(";");
      if (pathext.indexOf("") !== -1) {
        return true;
      }
      for (var i = 0; i < pathext.length; i++) {
        var p = pathext[i].toLowerCase();
        if (p && path2.substr(-p.length).toLowerCase() === p) {
          return true;
        }
      }
      return false;
    }
    function checkStat(stat, path2, options) {
      if (!stat.isSymbolicLink() && !stat.isFile()) {
        return false;
      }
      return checkPathExt(path2, options);
    }
    function isexe(path2, options, cb) {
      fs.stat(path2, function(er, stat) {
        cb(er, er ? false : checkStat(stat, path2, options));
      });
    }
    function sync(path2, options) {
      return checkStat(fs.statSync(path2), path2, options);
    }
  }
});

// ../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js
var require_mode = __commonJS({
  "../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js"(exports2, module2) {
    module2.exports = isexe;
    isexe.sync = sync;
    var fs = require("fs");
    function isexe(path2, options, cb) {
      fs.stat(path2, function(er, stat) {
        cb(er, er ? false : checkStat(stat, options));
      });
    }
    function sync(path2, options) {
      return checkStat(fs.statSync(path2), options);
    }
    function checkStat(stat, options) {
      return stat.isFile() && checkMode(stat, options);
    }
    function checkMode(stat, options) {
      var mod = stat.mode;
      var uid = stat.uid;
      var gid = stat.gid;
      var myUid = options.uid !== void 0 ? options.uid : process.getuid && process.getuid();
      var myGid = options.gid !== void 0 ? options.gid : process.getgid && process.getgid();
      var u = parseInt("100", 8);
      var g = parseInt("010", 8);
      var o = parseInt("001", 8);
      var ug = u | g;
      var ret2 = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0;
      return ret2;
    }
  }
});

// ../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js
var require_isexe = __commonJS({
  "../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js"(exports2, module2) {
    var fs = require("fs");
    var core;
    if (process.platform === "win32" || global.TESTING_WINDOWS) {
      core = require_windows();
    } else {
      core = require_mode();
    }
    module2.exports = isexe;
    isexe.sync = sync;
    function isexe(path2, options, cb) {
      if (typeof options === "function") {
        cb = options;
        options = {};
      }
      if (!cb) {
        if (typeof Promise !== "function") {
          throw new TypeError("callback not provided");
        }
        return new Promise(function(resolve, reject) {
          isexe(path2, options || {}, function(er, is) {
            if (er) {
              reject(er);
            } else {
              resolve(is);
            }
          });
        });
      }
      core(path2, options || {}, function(er, is) {
        if (er) {
          if (er.code === "EACCES" || options && options.ignoreErrors) {
            er = null;
            is = false;
          }
        }
        cb(er, is);
      });
    }
    function sync(path2, options) {
      try {
        return core.sync(path2, options || {});
      } catch (er) {
        if (options && options.ignoreErrors || er.code === "EACCES") {
          return false;
        } else {
          throw er;
        }
      }
    }
  }
});

// ../node_modules/.pnpm/@zkochan+which@2.0.3/node_modules/@zkochan/which/which.js
var require_which = __commonJS({
  "../node_modules/.pnpm/@zkochan+which@2.0.3/node_modules/@zkochan/which/which.js"(exports2, module2) {
    var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
    var path2 = require("path");
    var COLON = isWindows ? ";" : ":";
    var isexe = require_isexe();
    var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
    var getPathInfo = (cmd, opt) => {
      const colon = opt.colon || COLON;
      const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : (opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
      "").split(colon);
      const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
      const pathExt = isWindows ? pathExtExe.split(colon) : [""];
      if (isWindows) {
        if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
          pathExt.unshift("");
      }
      return {
        pathEnv,
        pathExt,
        pathExtExe
      };
    };
    var which = (cmd, opt, cb) => {
      if (typeof opt === "function") {
        cb = opt;
        opt = {};
      }
      if (!opt)
        opt = {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      const step = (i) => new Promise((resolve, reject) => {
        if (i === pathEnv.length)
          return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd));
        const ppRaw = pathEnv[i];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path2.join(pathPart, cmd);
        const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        resolve(subStep(p, i, 0));
      });
      const subStep = (p, i, ii) => new Promise((resolve, reject) => {
        if (ii === pathExt.length)
          return resolve(step(i + 1));
        const ext = pathExt[ii];
        isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
          if (!er && is) {
            if (opt.all)
              found.push(p + ext);
            else
              return resolve(p + ext);
          }
          return resolve(subStep(p, i, ii + 1));
        });
      });
      return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
    };
    var whichSync = (cmd, opt) => {
      opt = opt || {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (let i = 0; i < pathEnv.length; i++) {
        const ppRaw = pathEnv[i];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path2.join(pathPart, cmd);
        const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        for (let j = 0; j < pathExt.length; j++) {
          const cur = p + pathExt[j];
          try {
            const is = isexe.sync(cur, { pathExt: pathExtExe });
            if (is) {
              if (opt.all)
                found.push(cur);
              else
                return cur;
            }
          } catch (ex) {
          }
        }
      }
      if (opt.all && found.length)
        return found;
      if (opt.nothrow)
        return null;
      throw getNotFoundError(cmd);
    };
    module2.exports = which;
    which.sync = whichSync;
  }
});

// ../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js
var require_which2 = __commonJS({
  "../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js"(exports2, module2) {
    var isWindows = process.platform === "win32" || process.env.OSTYPE === "cygwin" || process.env.OSTYPE === "msys";
    var path2 = require("path");
    var COLON = isWindows ? ";" : ":";
    var isexe = require_isexe();
    var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
    var getPathInfo = (cmd, opt) => {
      const colon = opt.colon || COLON;
      const pathEnv = cmd.match(/\//) || isWindows && cmd.match(/\\/) ? [""] : [
        // windows always checks the cwd first
        ...isWindows ? [process.cwd()] : [],
        ...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */
        "").split(colon)
      ];
      const pathExtExe = isWindows ? opt.pathExt || process.env.PATHEXT || ".EXE;.CMD;.BAT;.COM" : "";
      const pathExt = isWindows ? pathExtExe.split(colon) : [""];
      if (isWindows) {
        if (cmd.indexOf(".") !== -1 && pathExt[0] !== "")
          pathExt.unshift("");
      }
      return {
        pathEnv,
        pathExt,
        pathExtExe
      };
    };
    var which = (cmd, opt, cb) => {
      if (typeof opt === "function") {
        cb = opt;
        opt = {};
      }
      if (!opt)
        opt = {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      const step = (i) => new Promise((resolve, reject) => {
        if (i === pathEnv.length)
          return opt.all && found.length ? resolve(found) : reject(getNotFoundError(cmd));
        const ppRaw = pathEnv[i];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path2.join(pathPart, cmd);
        const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        resolve(subStep(p, i, 0));
      });
      const subStep = (p, i, ii) => new Promise((resolve, reject) => {
        if (ii === pathExt.length)
          return resolve(step(i + 1));
        const ext = pathExt[ii];
        isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {
          if (!er && is) {
            if (opt.all)
              found.push(p + ext);
            else
              return resolve(p + ext);
          }
          return resolve(subStep(p, i, ii + 1));
        });
      });
      return cb ? step(0).then((res) => cb(null, res), cb) : step(0);
    };
    var whichSync = (cmd, opt) => {
      opt = opt || {};
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (let i = 0; i < pathEnv.length; i++) {
        const ppRaw = pathEnv[i];
        const pathPart = /^".*"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;
        const pCmd = path2.join(pathPart, cmd);
        const p = !pathPart && /^\.[\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;
        for (let j = 0; j < pathExt.length; j++) {
          const cur = p + pathExt[j];
          try {
            const is = isexe.sync(cur, { pathExt: pathExtExe });
            if (is) {
              if (opt.all)
                found.push(cur);
              else
                return cur;
            }
          } catch (ex) {
          }
        }
      }
      if (opt.all && found.length)
        return found;
      if (opt.nothrow)
        return null;
      throw getNotFoundError(cmd);
    };
    module2.exports = which;
    which.sync = whichSync;
  }
});

// ../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js
var require_path_key = __commonJS({
  "../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js"(exports2, module2) {
    "use strict";
    var pathKey = (options = {}) => {
      const environment = options.env || process.env;
      const platform = options.platform || process.platform;
      if (platform !== "win32") {
        return "PATH";
      }
      return Object.keys(environment).reverse().find((key) => key.toUpperCase() === "PATH") || "Path";
    };
    module2.exports = pathKey;
    module2.exports.default = pathKey;
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js
var require_resolveCommand = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var which = require_which2();
    var getPathKey = require_path_key();
    function resolveCommandAttempt(parsed, withoutPathExt) {
      const env = parsed.options.env || process.env;
      const cwd = process.cwd();
      const hasCustomCwd = parsed.options.cwd != null;
      const shouldSwitchCwd = hasCustomCwd && process.chdir !== void 0 && !process.chdir.disabled;
      if (shouldSwitchCwd) {
        try {
          process.chdir(parsed.options.cwd);
        } catch (err) {
        }
      }
      let resolved;
      try {
        resolved = which.sync(parsed.command, {
          path: env[getPathKey({ env })],
          pathExt: withoutPathExt ? path2.delimiter : void 0
        });
      } catch (e) {
      } finally {
        if (shouldSwitchCwd) {
          process.chdir(cwd);
        }
      }
      if (resolved) {
        resolved = path2.resolve(hasCustomCwd ? parsed.options.cwd : "", resolved);
      }
      return resolved;
    }
    function resolveCommand(parsed) {
      return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);
    }
    module2.exports = resolveCommand;
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js
var require_escape = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js"(exports2, module2) {
    "use strict";
    var metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g;
    function escapeCommand(arg) {
      arg = arg.replace(metaCharsRegExp, "^$1");
      return arg;
    }
    function escapeArgument(arg, doubleEscapeMetaChars) {
      arg = `${arg}`;
      arg = arg.replace(/(?=(\\+?)?)\1"/g, '$1$1\\"');
      arg = arg.replace(/(?=(\\+?)?)\1$/, "$1$1");
      arg = `"${arg}"`;
      arg = arg.replace(metaCharsRegExp, "^$1");
      if (doubleEscapeMetaChars) {
        arg = arg.replace(metaCharsRegExp, "^$1");
      }
      return arg;
    }
    module2.exports.command = escapeCommand;
    module2.exports.argument = escapeArgument;
  }
});

// ../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js
var require_shebang_regex = __commonJS({
  "../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = /^#!(.*)/;
  }
});

// ../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js
var require_shebang_command = __commonJS({
  "../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js"(exports2, module2) {
    "use strict";
    var shebangRegex = require_shebang_regex();
    module2.exports = (string = "") => {
      const match = string.match(shebangRegex);
      if (!match) {
        return null;
      }
      const [path2, argument] = match[0].replace(/#! ?/, "").split(" ");
      const binary = path2.split("/").pop();
      if (binary === "env") {
        return argument;
      }
      return argument ? `${binary} ${argument}` : binary;
    };
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js
var require_readShebang = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var shebangCommand = require_shebang_command();
    function readShebang(command) {
      const size = 150;
      const buffer = Buffer.alloc(size);
      let fd;
      try {
        fd = fs.openSync(command, "r");
        fs.readSync(fd, buffer, 0, size, 0);
        fs.closeSync(fd);
      } catch (e) {
      }
      return shebangCommand(buffer.toString());
    }
    module2.exports = readShebang;
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js
var require_parse2 = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var resolveCommand = require_resolveCommand();
    var escape = require_escape();
    var readShebang = require_readShebang();
    var isWin = process.platform === "win32";
    var isExecutableRegExp = /\.(?:com|exe)$/i;
    var isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;
    function detectShebang(parsed) {
      parsed.file = resolveCommand(parsed);
      const shebang = parsed.file && readShebang(parsed.file);
      if (shebang) {
        parsed.args.unshift(parsed.file);
        parsed.command = shebang;
        return resolveCommand(parsed);
      }
      return parsed.file;
    }
    function parseNonShell(parsed) {
      if (!isWin) {
        return parsed;
      }
      const commandFile = detectShebang(parsed);
      const needsShell = !isExecutableRegExp.test(commandFile);
      if (parsed.options.forceShell || needsShell) {
        const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);
        parsed.command = path2.normalize(parsed.command);
        parsed.command = escape.command(parsed.command);
        parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));
        const shellCommand = [parsed.command].concat(parsed.args).join(" ");
        parsed.args = ["/d", "/s", "/c", `"${shellCommand}"`];
        parsed.command = process.env.comspec || "cmd.exe";
        parsed.options.windowsVerbatimArguments = true;
      }
      return parsed;
    }
    function parse2(command, args, options) {
      if (args && !Array.isArray(args)) {
        options = args;
        args = null;
      }
      args = args ? args.slice(0) : [];
      options = Object.assign({}, options);
      const parsed = {
        command,
        args,
        options,
        file: void 0,
        original: {
          command,
          args
        }
      };
      return options.shell ? parsed : parseNonShell(parsed);
    }
    module2.exports = parse2;
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js
var require_enoent = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js"(exports2, module2) {
    "use strict";
    var isWin = process.platform === "win32";
    function notFoundError(original, syscall) {
      return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {
        code: "ENOENT",
        errno: "ENOENT",
        syscall: `${syscall} ${original.command}`,
        path: original.command,
        spawnargs: original.args
      });
    }
    function hookChildProcess(cp, parsed) {
      if (!isWin) {
        return;
      }
      const originalEmit = cp.emit;
      cp.emit = function(name, arg1) {
        if (name === "exit") {
          const err = verifyENOENT(arg1, parsed);
          if (err) {
            return originalEmit.call(cp, "error", err);
          }
        }
        return originalEmit.apply(cp, arguments);
      };
    }
    function verifyENOENT(status, parsed) {
      if (isWin && status === 1 && !parsed.file) {
        return notFoundError(parsed.original, "spawn");
      }
      return null;
    }
    function verifyENOENTSync(status, parsed) {
      if (isWin && status === 1 && !parsed.file) {
        return notFoundError(parsed.original, "spawnSync");
      }
      return null;
    }
    module2.exports = {
      hookChildProcess,
      verifyENOENT,
      verifyENOENTSync,
      notFoundError
    };
  }
});

// ../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js
var require_cross_spawn = __commonJS({
  "../node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js"(exports2, module2) {
    "use strict";
    var cp = require("child_process");
    var parse2 = require_parse2();
    var enoent = require_enoent();
    function spawn(command, args, options) {
      const parsed = parse2(command, args, options);
      const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);
      enoent.hookChildProcess(spawned, parsed);
      return spawned;
    }
    function spawnSync(command, args, options) {
      const parsed = parse2(command, args, options);
      const result2 = cp.spawnSync(parsed.command, parsed.args, parsed.options);
      result2.error = result2.error || enoent.verifyENOENTSync(result2.status, parsed);
      return result2;
    }
    module2.exports = spawn;
    module2.exports.spawn = spawn;
    module2.exports.sync = spawnSync;
    module2.exports._parse = parse2;
    module2.exports._enoent = enoent;
  }
});

// ../node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js
var require_strip_final_newline = __commonJS({
  "../node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (input) => {
      const LF = typeof input === "string" ? "\n" : "\n".charCodeAt();
      const CR = typeof input === "string" ? "\r" : "\r".charCodeAt();
      if (input[input.length - 1] === LF) {
        input = input.slice(0, input.length - 1);
      }
      if (input[input.length - 1] === CR) {
        input = input.slice(0, input.length - 1);
      }
      return input;
    };
  }
});

// ../node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js
var require_npm_run_path = __commonJS({
  "../node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var pathKey = require_path_key();
    var npmRunPath = (options) => {
      options = {
        cwd: process.cwd(),
        path: process.env[pathKey()],
        execPath: process.execPath,
        ...options
      };
      let previous;
      let cwdPath = path2.resolve(options.cwd);
      const result2 = [];
      while (previous !== cwdPath) {
        result2.push(path2.join(cwdPath, "node_modules/.bin"));
        previous = cwdPath;
        cwdPath = path2.resolve(cwdPath, "..");
      }
      const execPathDir = path2.resolve(options.cwd, options.execPath, "..");
      result2.push(execPathDir);
      return result2.concat(options.path).join(path2.delimiter);
    };
    module2.exports = npmRunPath;
    module2.exports.default = npmRunPath;
    module2.exports.env = (options) => {
      options = {
        env: process.env,
        ...options
      };
      const env = { ...options.env };
      const path3 = pathKey({ env });
      options.path = env[path3];
      env[path3] = module2.exports(options);
      return env;
    };
  }
});

// ../node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js
var require_mimic_fn = __commonJS({
  "../node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js"(exports2, module2) {
    "use strict";
    var mimicFn = (to, from) => {
      for (const prop of Reflect.ownKeys(from)) {
        Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop));
      }
      return to;
    };
    module2.exports = mimicFn;
    module2.exports.default = mimicFn;
  }
});

// ../node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js
var require_onetime = __commonJS({
  "../node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js"(exports2, module2) {
    "use strict";
    var mimicFn = require_mimic_fn();
    var calledFunctions = /* @__PURE__ */ new WeakMap();
    var onetime = (function_, options = {}) => {
      if (typeof function_ !== "function") {
        throw new TypeError("Expected a function");
      }
      let returnValue;
      let callCount = 0;
      const functionName = function_.displayName || function_.name || "<anonymous>";
      const onetime2 = function(...arguments_) {
        calledFunctions.set(onetime2, ++callCount);
        if (callCount === 1) {
          returnValue = function_.apply(this, arguments_);
          function_ = null;
        } else if (options.throw === true) {
          throw new Error(`Function \`${functionName}\` can only be called once`);
        }
        return returnValue;
      };
      mimicFn(onetime2, function_);
      calledFunctions.set(onetime2, callCount);
      return onetime2;
    };
    module2.exports = onetime;
    module2.exports.default = onetime;
    module2.exports.callCount = (function_) => {
      if (!calledFunctions.has(function_)) {
        throw new Error(`The given function \`${function_.name}\` is not wrapped by the \`onetime\` package`);
      }
      return calledFunctions.get(function_);
    };
  }
});

// ../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js
var require_core3 = __commonJS({
  "../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SIGNALS = void 0;
    var SIGNALS = [
      {
        name: "SIGHUP",
        number: 1,
        action: "terminate",
        description: "Terminal closed",
        standard: "posix"
      },
      {
        name: "SIGINT",
        number: 2,
        action: "terminate",
        description: "User interruption with CTRL-C",
        standard: "ansi"
      },
      {
        name: "SIGQUIT",
        number: 3,
        action: "core",
        description: "User interruption with CTRL-\\",
        standard: "posix"
      },
      {
        name: "SIGILL",
        number: 4,
        action: "core",
        description: "Invalid machine instruction",
        standard: "ansi"
      },
      {
        name: "SIGTRAP",
        number: 5,
        action: "core",
        description: "Debugger breakpoint",
        standard: "posix"
      },
      {
        name: "SIGABRT",
        number: 6,
        action: "core",
        description: "Aborted",
        standard: "ansi"
      },
      {
        name: "SIGIOT",
        number: 6,
        action: "core",
        description: "Aborted",
        standard: "bsd"
      },
      {
        name: "SIGBUS",
        number: 7,
        action: "core",
        description: "Bus error due to misaligned, non-existing address or paging error",
        standard: "bsd"
      },
      {
        name: "SIGEMT",
        number: 7,
        action: "terminate",
        description: "Command should be emulated but is not implemented",
        standard: "other"
      },
      {
        name: "SIGFPE",
        number: 8,
        action: "core",
        description: "Floating point arithmetic error",
        standard: "ansi"
      },
      {
        name: "SIGKILL",
        number: 9,
        action: "terminate",
        description: "Forced termination",
        standard: "posix",
        forced: true
      },
      {
        name: "SIGUSR1",
        number: 10,
        action: "terminate",
        description: "Application-specific signal",
        standard: "posix"
      },
      {
        name: "SIGSEGV",
        number: 11,
        action: "core",
        description: "Segmentation fault",
        standard: "ansi"
      },
      {
        name: "SIGUSR2",
        number: 12,
        action: "terminate",
        description: "Application-specific signal",
        standard: "posix"
      },
      {
        name: "SIGPIPE",
        number: 13,
        action: "terminate",
        description: "Broken pipe or socket",
        standard: "posix"
      },
      {
        name: "SIGALRM",
        number: 14,
        action: "terminate",
        description: "Timeout or timer",
        standard: "posix"
      },
      {
        name: "SIGTERM",
        number: 15,
        action: "terminate",
        description: "Termination",
        standard: "ansi"
      },
      {
        name: "SIGSTKFLT",
        number: 16,
        action: "terminate",
        description: "Stack is empty or overflowed",
        standard: "other"
      },
      {
        name: "SIGCHLD",
        number: 17,
        action: "ignore",
        description: "Child process terminated, paused or unpaused",
        standard: "posix"
      },
      {
        name: "SIGCLD",
        number: 17,
        action: "ignore",
        description: "Child process terminated, paused or unpaused",
        standard: "other"
      },
      {
        name: "SIGCONT",
        number: 18,
        action: "unpause",
        description: "Unpaused",
        standard: "posix",
        forced: true
      },
      {
        name: "SIGSTOP",
        number: 19,
        action: "pause",
        description: "Paused",
        standard: "posix",
        forced: true
      },
      {
        name: "SIGTSTP",
        number: 20,
        action: "pause",
        description: 'Paused using CTRL-Z or "suspend"',
        standard: "posix"
      },
      {
        name: "SIGTTIN",
        number: 21,
        action: "pause",
        description: "Background process cannot read terminal input",
        standard: "posix"
      },
      {
        name: "SIGBREAK",
        number: 21,
        action: "terminate",
        description: "User interruption with CTRL-BREAK",
        standard: "other"
      },
      {
        name: "SIGTTOU",
        number: 22,
        action: "pause",
        description: "Background process cannot write to terminal output",
        standard: "posix"
      },
      {
        name: "SIGURG",
        number: 23,
        action: "ignore",
        description: "Socket received out-of-band data",
        standard: "bsd"
      },
      {
        name: "SIGXCPU",
        number: 24,
        action: "core",
        description: "Process timed out",
        standard: "bsd"
      },
      {
        name: "SIGXFSZ",
        number: 25,
        action: "core",
        description: "File too big",
        standard: "bsd"
      },
      {
        name: "SIGVTALRM",
        number: 26,
        action: "terminate",
        description: "Timeout or timer",
        standard: "bsd"
      },
      {
        name: "SIGPROF",
        number: 27,
        action: "terminate",
        description: "Timeout or timer",
        standard: "bsd"
      },
      {
        name: "SIGWINCH",
        number: 28,
        action: "ignore",
        description: "Terminal window size changed",
        standard: "bsd"
      },
      {
        name: "SIGIO",
        number: 29,
        action: "terminate",
        description: "I/O is available",
        standard: "other"
      },
      {
        name: "SIGPOLL",
        number: 29,
        action: "terminate",
        description: "Watched event",
        standard: "other"
      },
      {
        name: "SIGINFO",
        number: 29,
        action: "ignore",
        description: "Request for process information",
        standard: "other"
      },
      {
        name: "SIGPWR",
        number: 30,
        action: "terminate",
        description: "Device running out of power",
        standard: "systemv"
      },
      {
        name: "SIGSYS",
        number: 31,
        action: "core",
        description: "Invalid system call",
        standard: "other"
      },
      {
        name: "SIGUNUSED",
        number: 31,
        action: "terminate",
        description: "Invalid system call",
        standard: "other"
      }
    ];
    exports2.SIGNALS = SIGNALS;
  }
});

// ../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js
var require_realtime = __commonJS({
  "../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SIGRTMAX = exports2.getRealtimeSignals = void 0;
    var getRealtimeSignals = function() {
      const length = SIGRTMAX - SIGRTMIN + 1;
      return Array.from({ length }, getRealtimeSignal);
    };
    exports2.getRealtimeSignals = getRealtimeSignals;
    var getRealtimeSignal = function(value, index) {
      return {
        name: `SIGRT${index + 1}`,
        number: SIGRTMIN + index,
        action: "terminate",
        description: "Application-specific signal (realtime)",
        standard: "posix"
      };
    };
    var SIGRTMIN = 34;
    var SIGRTMAX = 64;
    exports2.SIGRTMAX = SIGRTMAX;
  }
});

// ../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js
var require_signals3 = __commonJS({
  "../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getSignals = void 0;
    var _os = require("os");
    var _core = require_core3();
    var _realtime = require_realtime();
    var getSignals = function() {
      const realtimeSignals = (0, _realtime.getRealtimeSignals)();
      const signals = [..._core.SIGNALS, ...realtimeSignals].map(normalizeSignal);
      return signals;
    };
    exports2.getSignals = getSignals;
    var normalizeSignal = function({
      name,
      number: defaultNumber,
      description,
      action,
      forced = false,
      standard
    }) {
      const {
        signals: { [name]: constantSignal }
      } = _os.constants;
      const supported = constantSignal !== void 0;
      const number = supported ? constantSignal : defaultNumber;
      return { name, number, description, supported, action, forced, standard };
    };
  }
});

// ../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js
var require_main = __commonJS({
  "../node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.signalsByNumber = exports2.signalsByName = void 0;
    var _os = require("os");
    var _signals = require_signals3();
    var _realtime = require_realtime();
    var getSignalsByName = function() {
      const signals = (0, _signals.getSignals)();
      return signals.reduce(getSignalByName, {});
    };
    var getSignalByName = function(signalByNameMemo, { name, number, description, supported, action, forced, standard }) {
      return {
        ...signalByNameMemo,
        [name]: { name, number, description, supported, action, forced, standard }
      };
    };
    var signalsByName = getSignalsByName();
    exports2.signalsByName = signalsByName;
    var getSignalsByNumber = function() {
      const signals = (0, _signals.getSignals)();
      const length = _realtime.SIGRTMAX + 1;
      const signalsA = Array.from({ length }, (value, number) => getSignalByNumber(number, signals));
      return Object.assign({}, ...signalsA);
    };
    var getSignalByNumber = function(number, signals) {
      const signal = findSignalByNumber(number, signals);
      if (signal === void 0) {
        return {};
      }
      const { name, description, supported, action, forced, standard } = signal;
      return {
        [number]: {
          name,
          number,
          description,
          supported,
          action,
          forced,
          standard
        }
      };
    };
    var findSignalByNumber = function(number, signals) {
      const signal = signals.find(({ name }) => _os.constants.signals[name] === number);
      if (signal !== void 0) {
        return signal;
      }
      return signals.find((signalA) => signalA.number === number);
    };
    var signalsByNumber = getSignalsByNumber();
    exports2.signalsByNumber = signalsByNumber;
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js
var require_error = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js"(exports2, module2) {
    "use strict";
    var { signalsByName } = require_main();
    var getErrorPrefix = ({ timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled }) => {
      if (timedOut) {
        return `timed out after ${timeout} milliseconds`;
      }
      if (isCanceled) {
        return "was canceled";
      }
      if (errorCode !== void 0) {
        return `failed with ${errorCode}`;
      }
      if (signal !== void 0) {
        return `was killed with ${signal} (${signalDescription})`;
      }
      if (exitCode !== void 0) {
        return `failed with exit code ${exitCode}`;
      }
      return "failed";
    };
    var makeError = ({
      stdout,
      stderr,
      all,
      error,
      signal,
      exitCode,
      command,
      escapedCommand,
      timedOut,
      isCanceled,
      killed,
      parsed: { options: { timeout } }
    }) => {
      exitCode = exitCode === null ? void 0 : exitCode;
      signal = signal === null ? void 0 : signal;
      const signalDescription = signal === void 0 ? void 0 : signalsByName[signal].description;
      const errorCode = error && error.code;
      const prefix = getErrorPrefix({ timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled });
      const execaMessage = `Command ${prefix}: ${command}`;
      const isError = Object.prototype.toString.call(error) === "[object Error]";
      const shortMessage = isError ? `${execaMessage}
${error.message}` : execaMessage;
      const message = [shortMessage, stderr, stdout].filter(Boolean).join("\n");
      if (isError) {
        error.originalMessage = error.message;
        error.message = message;
      } else {
        error = new Error(message);
      }
      error.shortMessage = shortMessage;
      error.command = command;
      error.escapedCommand = escapedCommand;
      error.exitCode = exitCode;
      error.signal = signal;
      error.signalDescription = signalDescription;
      error.stdout = stdout;
      error.stderr = stderr;
      if (all !== void 0) {
        error.all = all;
      }
      if ("bufferedData" in error) {
        delete error.bufferedData;
      }
      error.failed = true;
      error.timedOut = Boolean(timedOut);
      error.isCanceled = isCanceled;
      error.killed = killed && !timedOut;
      return error;
    };
    module2.exports = makeError;
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js
var require_stdio = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js"(exports2, module2) {
    "use strict";
    var aliases = ["stdin", "stdout", "stderr"];
    var hasAlias = (options) => aliases.some((alias) => options[alias] !== void 0);
    var normalizeStdio = (options) => {
      if (!options) {
        return;
      }
      const { stdio } = options;
      if (stdio === void 0) {
        return aliases.map((alias) => options[alias]);
      }
      if (hasAlias(options)) {
        throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${aliases.map((alias) => `\`${alias}\``).join(", ")}`);
      }
      if (typeof stdio === "string") {
        return stdio;
      }
      if (!Array.isArray(stdio)) {
        throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof stdio}\``);
      }
      const length = Math.max(stdio.length, aliases.length);
      return Array.from({ length }, (value, index) => stdio[index]);
    };
    module2.exports = normalizeStdio;
    module2.exports.node = (options) => {
      const stdio = normalizeStdio(options);
      if (stdio === "ipc") {
        return "ipc";
      }
      if (stdio === void 0 || typeof stdio === "string") {
        return [stdio, stdio, stdio, "ipc"];
      }
      if (stdio.includes("ipc")) {
        return stdio;
      }
      return [...stdio, "ipc"];
    };
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js
var require_kill = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var onExit = require_signal_exit();
    var DEFAULT_FORCE_KILL_TIMEOUT = 1e3 * 5;
    var spawnedKill = (kill, signal = "SIGTERM", options = {}) => {
      const killResult = kill(signal);
      setKillTimeout(kill, signal, options, killResult);
      return killResult;
    };
    var setKillTimeout = (kill, signal, options, killResult) => {
      if (!shouldForceKill(signal, options, killResult)) {
        return;
      }
      const timeout = getForceKillAfterTimeout(options);
      const t = setTimeout(() => {
        kill("SIGKILL");
      }, timeout);
      if (t.unref) {
        t.unref();
      }
    };
    var shouldForceKill = (signal, { forceKillAfterTimeout }, killResult) => {
      return isSigterm(signal) && forceKillAfterTimeout !== false && killResult;
    };
    var isSigterm = (signal) => {
      return signal === os.constants.signals.SIGTERM || typeof signal === "string" && signal.toUpperCase() === "SIGTERM";
    };
    var getForceKillAfterTimeout = ({ forceKillAfterTimeout = true }) => {
      if (forceKillAfterTimeout === true) {
        return DEFAULT_FORCE_KILL_TIMEOUT;
      }
      if (!Number.isFinite(forceKillAfterTimeout) || forceKillAfterTimeout < 0) {
        throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${forceKillAfterTimeout}\` (${typeof forceKillAfterTimeout})`);
      }
      return forceKillAfterTimeout;
    };
    var spawnedCancel = (spawned, context) => {
      const killResult = spawned.kill();
      if (killResult) {
        context.isCanceled = true;
      }
    };
    var timeoutKill = (spawned, signal, reject) => {
      spawned.kill(signal);
      reject(Object.assign(new Error("Timed out"), { timedOut: true, signal }));
    };
    var setupTimeout = (spawned, { timeout, killSignal = "SIGTERM" }, spawnedPromise) => {
      if (timeout === 0 || timeout === void 0) {
        return spawnedPromise;
      }
      let timeoutId;
      const timeoutPromise = new Promise((resolve, reject) => {
        timeoutId = setTimeout(() => {
          timeoutKill(spawned, killSignal, reject);
        }, timeout);
      });
      const safeSpawnedPromise = spawnedPromise.finally(() => {
        clearTimeout(timeoutId);
      });
      return Promise.race([timeoutPromise, safeSpawnedPromise]);
    };
    var validateTimeout = ({ timeout }) => {
      if (timeout !== void 0 && (!Number.isFinite(timeout) || timeout < 0)) {
        throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${timeout}\` (${typeof timeout})`);
      }
    };
    var setExitHandler = async (spawned, { cleanup, detached }, timedPromise) => {
      if (!cleanup || detached) {
        return timedPromise;
      }
      const removeExitHandler = onExit(() => {
        spawned.kill();
      });
      return timedPromise.finally(() => {
        removeExitHandler();
      });
    };
    module2.exports = {
      spawnedKill,
      spawnedCancel,
      setupTimeout,
      validateTimeout,
      setExitHandler
    };
  }
});

// ../node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js
var require_is_stream = __commonJS({
  "../node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js"(exports2, module2) {
    "use strict";
    var isStream = (stream) => stream !== null && typeof stream === "object" && typeof stream.pipe === "function";
    isStream.writable = (stream) => isStream(stream) && stream.writable !== false && typeof stream._write === "function" && typeof stream._writableState === "object";
    isStream.readable = (stream) => isStream(stream) && stream.readable !== false && typeof stream._read === "function" && typeof stream._readableState === "object";
    isStream.duplex = (stream) => isStream.writable(stream) && isStream.readable(stream);
    isStream.transform = (stream) => isStream.duplex(stream) && typeof stream._transform === "function";
    module2.exports = isStream;
  }
});

// ../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js
var require_buffer_stream = __commonJS({
  "../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js"(exports2, module2) {
    "use strict";
    var { PassThrough: PassThroughStream } = require("stream");
    module2.exports = (options) => {
      options = { ...options };
      const { array } = options;
      let { encoding } = options;
      const isBuffer = encoding === "buffer";
      let objectMode = false;
      if (array) {
        objectMode = !(encoding || isBuffer);
      } else {
        encoding = encoding || "utf8";
      }
      if (isBuffer) {
        encoding = null;
      }
      const stream = new PassThroughStream({ objectMode });
      if (encoding) {
        stream.setEncoding(encoding);
      }
      let length = 0;
      const chunks = [];
      stream.on("data", (chunk) => {
        chunks.push(chunk);
        if (objectMode) {
          length = chunks.length;
        } else {
          length += chunk.length;
        }
      });
      stream.getBufferedValue = () => {
        if (array) {
          return chunks;
        }
        return isBuffer ? Buffer.concat(chunks, length) : chunks.join("");
      };
      stream.getBufferedLength = () => length;
      return stream;
    };
  }
});

// ../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js
var require_get_stream = __commonJS({
  "../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js"(exports2, module2) {
    "use strict";
    var { constants: BufferConstants } = require("buffer");
    var stream = require("stream");
    var { promisify } = require("util");
    var bufferStream2 = require_buffer_stream();
    var streamPipelinePromisified = promisify(stream.pipeline);
    var MaxBufferError = class extends Error {
      constructor() {
        super("maxBuffer exceeded");
        this.name = "MaxBufferError";
      }
    };
    async function getStream(inputStream, options) {
      if (!inputStream) {
        throw new Error("Expected a stream");
      }
      options = {
        maxBuffer: Infinity,
        ...options
      };
      const { maxBuffer } = options;
      const stream2 = bufferStream2(options);
      await new Promise((resolve, reject) => {
        const rejectPromise = (error) => {
          if (error && stream2.getBufferedLength() <= BufferConstants.MAX_LENGTH) {
            error.bufferedData = stream2.getBufferedValue();
          }
          reject(error);
        };
        (async () => {
          try {
            await streamPipelinePromisified(inputStream, stream2);
            resolve();
          } catch (error) {
            rejectPromise(error);
          }
        })();
        stream2.on("data", () => {
          if (stream2.getBufferedLength() > maxBuffer) {
            rejectPromise(new MaxBufferError());
          }
        });
      });
      return stream2.getBufferedValue();
    }
    module2.exports = getStream;
    module2.exports.buffer = (stream2, options) => getStream(stream2, { ...options, encoding: "buffer" });
    module2.exports.array = (stream2, options) => getStream(stream2, { ...options, array: true });
    module2.exports.MaxBufferError = MaxBufferError;
  }
});

// ../node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js
var require_merge_stream = __commonJS({
  "../node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js"(exports2, module2) {
    "use strict";
    var { PassThrough } = require("stream");
    module2.exports = function() {
      var sources = [];
      var output = new PassThrough({ objectMode: true });
      output.setMaxListeners(0);
      output.add = add;
      output.isEmpty = isEmpty;
      output.on("unpipe", remove);
      Array.prototype.slice.call(arguments).forEach(add);
      return output;
      function add(source) {
        if (Array.isArray(source)) {
          source.forEach(add);
          return this;
        }
        sources.push(source);
        source.once("end", remove.bind(null, source));
        source.once("error", output.emit.bind(output, "error"));
        source.pipe(output, { end: false });
        return this;
      }
      function isEmpty() {
        return sources.length == 0;
      }
      function remove(source) {
        sources = sources.filter(function(it) {
          return it !== source;
        });
        if (!sources.length && output.readable) {
          output.end();
        }
      }
    };
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js
var require_stream2 = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js"(exports2, module2) {
    "use strict";
    var isStream = require_is_stream();
    var getStream = require_get_stream();
    var mergeStream = require_merge_stream();
    var handleInput = (spawned, input) => {
      if (input === void 0 || spawned.stdin === void 0) {
        return;
      }
      if (isStream(input)) {
        input.pipe(spawned.stdin);
      } else {
        spawned.stdin.end(input);
      }
    };
    var makeAllStream = (spawned, { all }) => {
      if (!all || !spawned.stdout && !spawned.stderr) {
        return;
      }
      const mixed = mergeStream();
      if (spawned.stdout) {
        mixed.add(spawned.stdout);
      }
      if (spawned.stderr) {
        mixed.add(spawned.stderr);
      }
      return mixed;
    };
    var getBufferedData = async (stream, streamPromise) => {
      if (!stream) {
        return;
      }
      stream.destroy();
      try {
        return await streamPromise;
      } catch (error) {
        return error.bufferedData;
      }
    };
    var getStreamPromise = (stream, { encoding, buffer, maxBuffer }) => {
      if (!stream || !buffer) {
        return;
      }
      if (encoding) {
        return getStream(stream, { encoding, maxBuffer });
      }
      return getStream.buffer(stream, { maxBuffer });
    };
    var getSpawnedResult = async ({ stdout, stderr, all }, { encoding, buffer, maxBuffer }, processDone) => {
      const stdoutPromise = getStreamPromise(stdout, { encoding, buffer, maxBuffer });
      const stderrPromise = getStreamPromise(stderr, { encoding, buffer, maxBuffer });
      const allPromise = getStreamPromise(all, { encoding, buffer, maxBuffer: maxBuffer * 2 });
      try {
        return await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]);
      } catch (error) {
        return Promise.all([
          { error, signal: error.signal, timedOut: error.timedOut },
          getBufferedData(stdout, stdoutPromise),
          getBufferedData(stderr, stderrPromise),
          getBufferedData(all, allPromise)
        ]);
      }
    };
    var validateInputSync = ({ input }) => {
      if (isStream(input)) {
        throw new TypeError("The `input` option cannot be a stream in sync mode");
      }
    };
    module2.exports = {
      handleInput,
      makeAllStream,
      getSpawnedResult,
      validateInputSync
    };
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js
var require_promise = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js"(exports2, module2) {
    "use strict";
    var nativePromisePrototype = (async () => {
    })().constructor.prototype;
    var descriptors = ["then", "catch", "finally"].map((property) => [
      property,
      Reflect.getOwnPropertyDescriptor(nativePromisePrototype, property)
    ]);
    var mergePromise = (spawned, promise) => {
      for (const [property, descriptor] of descriptors) {
        const value = typeof promise === "function" ? (...args) => Reflect.apply(descriptor.value, promise(), args) : descriptor.value.bind(promise);
        Reflect.defineProperty(spawned, property, { ...descriptor, value });
      }
      return spawned;
    };
    var getSpawnedPromise = (spawned) => {
      return new Promise((resolve, reject) => {
        spawned.on("exit", (exitCode, signal) => {
          resolve({ exitCode, signal });
        });
        spawned.on("error", (error) => {
          reject(error);
        });
        if (spawned.stdin) {
          spawned.stdin.on("error", (error) => {
            reject(error);
          });
        }
      });
    };
    module2.exports = {
      mergePromise,
      getSpawnedPromise
    };
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js
var require_command = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js"(exports2, module2) {
    "use strict";
    var normalizeArgs = (file, args = []) => {
      if (!Array.isArray(args)) {
        return [file];
      }
      return [file, ...args];
    };
    var NO_ESCAPE_REGEXP = /^[\w.-]+$/;
    var DOUBLE_QUOTES_REGEXP = /"/g;
    var escapeArg = (arg) => {
      if (typeof arg !== "string" || NO_ESCAPE_REGEXP.test(arg)) {
        return arg;
      }
      return `"${arg.replace(DOUBLE_QUOTES_REGEXP, '\\"')}"`;
    };
    var joinCommand = (file, args) => {
      return normalizeArgs(file, args).join(" ");
    };
    var getEscapedCommand = (file, args) => {
      return normalizeArgs(file, args).map((arg) => escapeArg(arg)).join(" ");
    };
    var SPACES_REGEXP = / +/g;
    var parseCommand = (command) => {
      const tokens = [];
      for (const token of command.trim().split(SPACES_REGEXP)) {
        const previousToken = tokens[tokens.length - 1];
        if (previousToken && previousToken.endsWith("\\")) {
          tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;
        } else {
          tokens.push(token);
        }
      }
      return tokens;
    };
    module2.exports = {
      joinCommand,
      getEscapedCommand,
      parseCommand
    };
  }
});

// ../node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js
var require_execa = __commonJS({
  "../node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var childProcess = require("child_process");
    var crossSpawn = require_cross_spawn();
    var stripFinalNewline = require_strip_final_newline();
    var npmRunPath = require_npm_run_path();
    var onetime = require_onetime();
    var makeError = require_error();
    var normalizeStdio = require_stdio();
    var { spawnedKill, spawnedCancel, setupTimeout, validateTimeout, setExitHandler } = require_kill();
    var { handleInput, getSpawnedResult, makeAllStream, validateInputSync } = require_stream2();
    var { mergePromise, getSpawnedPromise } = require_promise();
    var { joinCommand, parseCommand, getEscapedCommand } = require_command();
    var DEFAULT_MAX_BUFFER = 1e3 * 1e3 * 100;
    var getEnv = ({ env: envOption, extendEnv, preferLocal, localDir, execPath }) => {
      const env = extendEnv ? { ...process.env, ...envOption } : envOption;
      if (preferLocal) {
        return npmRunPath.env({ env, cwd: localDir, execPath });
      }
      return env;
    };
    var handleArguments = (file, args, options = {}) => {
      const parsed = crossSpawn._parse(file, args, options);
      file = parsed.command;
      args = parsed.args;
      options = parsed.options;
      options = {
        maxBuffer: DEFAULT_MAX_BUFFER,
        buffer: true,
        stripFinalNewline: true,
        extendEnv: true,
        preferLocal: false,
        localDir: options.cwd || process.cwd(),
        execPath: process.execPath,
        encoding: "utf8",
        reject: true,
        cleanup: true,
        all: false,
        windowsHide: true,
        ...options
      };
      options.env = getEnv(options);
      options.stdio = normalizeStdio(options);
      if (process.platform === "win32" && path2.basename(file, ".exe") === "cmd") {
        args.unshift("/q");
      }
      return { file, args, options, parsed };
    };
    var handleOutput = (options, value, error) => {
      if (typeof value !== "string" && !Buffer.isBuffer(value)) {
        return error === void 0 ? void 0 : "";
      }
      if (options.stripFinalNewline) {
        return stripFinalNewline(value);
      }
      return value;
    };
    var execa = (file, args, options) => {
      const parsed = handleArguments(file, args, options);
      const command = joinCommand(file, args);
      const escapedCommand = getEscapedCommand(file, args);
      validateTimeout(parsed.options);
      let spawned;
      try {
        spawned = childProcess.spawn(parsed.file, parsed.args, parsed.options);
      } catch (error) {
        const dummySpawned = new childProcess.ChildProcess();
        const errorPromise = Promise.reject(makeError({
          error,
          stdout: "",
          stderr: "",
          all: "",
          command,
          escapedCommand,
          parsed,
          timedOut: false,
          isCanceled: false,
          killed: false
        }));
        return mergePromise(dummySpawned, errorPromise);
      }
      const spawnedPromise = getSpawnedPromise(spawned);
      const timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise);
      const processDone = setExitHandler(spawned, parsed.options, timedPromise);
      const context = { isCanceled: false };
      spawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned));
      spawned.cancel = spawnedCancel.bind(null, spawned, context);
      const handlePromise = async () => {
        const [{ error, exitCode, signal, timedOut }, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone);
        const stdout = handleOutput(parsed.options, stdoutResult);
        const stderr = handleOutput(parsed.options, stderrResult);
        const all = handleOutput(parsed.options, allResult);
        if (error || exitCode !== 0 || signal !== null) {
          const returnedError = makeError({
            error,
            exitCode,
            signal,
            stdout,
            stderr,
            all,
            command,
            escapedCommand,
            parsed,
            timedOut,
            isCanceled: context.isCanceled,
            killed: spawned.killed
          });
          if (!parsed.options.reject) {
            return returnedError;
          }
          throw returnedError;
        }
        return {
          command,
          escapedCommand,
          exitCode: 0,
          stdout,
          stderr,
          all,
          failed: false,
          timedOut: false,
          isCanceled: false,
          killed: false
        };
      };
      const handlePromiseOnce = onetime(handlePromise);
      handleInput(spawned, parsed.options.input);
      spawned.all = makeAllStream(spawned, parsed.options);
      return mergePromise(spawned, handlePromiseOnce);
    };
    module2.exports = execa;
    module2.exports.sync = (file, args, options) => {
      const parsed = handleArguments(file, args, options);
      const command = joinCommand(file, args);
      const escapedCommand = getEscapedCommand(file, args);
      validateInputSync(parsed.options);
      let result2;
      try {
        result2 = childProcess.spawnSync(parsed.file, parsed.args, parsed.options);
      } catch (error) {
        throw makeError({
          error,
          stdout: "",
          stderr: "",
          all: "",
          command,
          escapedCommand,
          parsed,
          timedOut: false,
          isCanceled: false,
          killed: false
        });
      }
      const stdout = handleOutput(parsed.options, result2.stdout, result2.error);
      const stderr = handleOutput(parsed.options, result2.stderr, result2.error);
      if (result2.error || result2.status !== 0 || result2.signal !== null) {
        const error = makeError({
          stdout,
          stderr,
          error: result2.error,
          signal: result2.signal,
          exitCode: result2.status,
          command,
          escapedCommand,
          parsed,
          timedOut: result2.error && result2.error.code === "ETIMEDOUT",
          isCanceled: false,
          killed: result2.signal !== null
        });
        if (!parsed.options.reject) {
          return error;
        }
        throw error;
      }
      return {
        command,
        escapedCommand,
        exitCode: 0,
        stdout,
        stderr,
        failed: false,
        timedOut: false,
        isCanceled: false,
        killed: false
      };
    };
    module2.exports.command = (command, options) => {
      const [file, ...args] = parseCommand(command);
      return execa(file, args, options);
    };
    module2.exports.commandSync = (command, options) => {
      const [file, ...args] = parseCommand(command);
      return execa.sync(file, args, options);
    };
    module2.exports.node = (scriptPath, args, options = {}) => {
      if (args && !Array.isArray(args) && typeof args === "object") {
        options = args;
        args = [];
      }
      const stdio = normalizeStdio.node(options);
      const defaultExecArgv = process.execArgv.filter((arg) => !arg.startsWith("--inspect"));
      const {
        nodePath = process.execPath,
        nodeOptions = defaultExecArgv
      } = options;
      return execa(
        nodePath,
        [
          ...nodeOptions,
          scriptPath,
          ...Array.isArray(args) ? args : []
        ],
        {
          ...options,
          stdin: void 0,
          stdout: void 0,
          stderr: void 0,
          stdio,
          shell: false
        }
      );
    };
  }
});

// ../node_modules/.pnpm/path-name@1.0.0/node_modules/path-name/index.js
var require_path_name = __commonJS({
  "../node_modules/.pnpm/path-name@1.0.0/node_modules/path-name/index.js"(exports2, module2) {
    "use strict";
    var PATH;
    if (process.platform === "win32") {
      PATH = "Path";
      Object.keys(process.env).forEach((e) => {
        if (e.match(/^PATH$/i)) {
          PATH = e;
        }
      });
    } else {
      PATH = "PATH";
    }
    module2.exports = PATH;
  }
});

// ../node_modules/.pnpm/safe-execa@0.1.2/node_modules/safe-execa/lib/index.js
var require_lib14 = __commonJS({
  "../node_modules/.pnpm/safe-execa@0.1.2/node_modules/safe-execa/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = void 0;
    var which_1 = __importDefault2(require_which());
    var execa_1 = __importDefault2(require_execa());
    var path_name_1 = __importDefault2(require_path_name());
    var pathCache = /* @__PURE__ */ new Map();
    function sync(file, args, options) {
      var _a;
      try {
        which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd });
      } catch (err) {
        if (err.code === "ENOENT") {
          return execa_1.default.sync(file, args, options);
        }
      }
      const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
      return execa_1.default.sync(fileAbsolutePath, args, options);
    }
    exports2.sync = sync;
    function getCommandAbsolutePathSync(file, options) {
      var _a, _b;
      if (file.includes("\\") || file.includes("/"))
        return file;
      const path2 = (_b = (_a = options === null || options === void 0 ? void 0 : options.env) === null || _a === void 0 ? void 0 : _a[path_name_1.default]) !== null && _b !== void 0 ? _b : process.env[path_name_1.default];
      const key = JSON.stringify([path2, file]);
      let fileAbsolutePath = pathCache.get(key);
      if (fileAbsolutePath == null) {
        fileAbsolutePath = which_1.default.sync(file, { path: path2 });
        pathCache.set(key, fileAbsolutePath);
      }
      if (fileAbsolutePath == null) {
        throw new Error(`Couldn't find ${file}`);
      }
      return fileAbsolutePath;
    }
    function default_1(file, args, options) {
      var _a;
      try {
        which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd });
      } catch (err) {
        if (err.code === "ENOENT") {
          return (0, execa_1.default)(file, args, options);
        }
      }
      const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
      return (0, execa_1.default)(fileAbsolutePath, args, options);
    }
    exports2.default = default_1;
  }
});

// ../packages/git-utils/lib/index.js
var require_lib15 = __commonJS({
  "../packages/git-utils/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isGitRepo = isGitRepo;
    exports2.getCurrentBranch = getCurrentBranch;
    exports2.isWorkingTreeClean = isWorkingTreeClean;
    exports2.isRemoteHistoryClean = isRemoteHistoryClean;
    var execa_1 = __importDefault2(require_lib14());
    async function isGitRepo() {
      try {
        await (0, execa_1.default)("git", ["rev-parse", "--git-dir"]);
      } catch {
        return false;
      }
      return true;
    }
    async function getCurrentBranch() {
      try {
        const { stdout } = await (0, execa_1.default)("git", ["symbolic-ref", "--short", "HEAD"]);
        return stdout;
      } catch {
        return null;
      }
    }
    async function isWorkingTreeClean() {
      try {
        const { stdout: status } = await (0, execa_1.default)("git", ["status", "--porcelain"]);
        if (status !== "") {
          return false;
        }
        return true;
      } catch {
        return false;
      }
    }
    async function isRemoteHistoryClean() {
      let history;
      try {
        const { stdout } = await (0, execa_1.default)("git", ["rev-list", "--count", "--left-only", "@{u}...HEAD"]);
        history = stdout;
      } catch {
        history = null;
      }
      if (history && history !== "0") {
        return false;
      }
      return true;
    }
  }
});

// ../node_modules/.pnpm/escape-string-regexp@4.0.0/node_modules/escape-string-regexp/index.js
var require_escape_string_regexp = __commonJS({
  "../node_modules/.pnpm/escape-string-regexp@4.0.0/node_modules/escape-string-regexp/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (string) => {
      if (typeof string !== "string") {
        throw new TypeError("Expected a string");
      }
      return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
    };
  }
});

// ../config/matcher/lib/index.js
var require_lib16 = __commonJS({
  "../config/matcher/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createMatcher = createMatcher;
    exports2.createMatcherWithIndex = createMatcherWithIndex;
    var escape_string_regexp_1 = __importDefault2(require_escape_string_regexp());
    function createMatcher(patterns) {
      const m = createMatcherWithIndex(Array.isArray(patterns) ? patterns : [patterns]);
      return (input) => m(input) !== -1;
    }
    function createMatcherWithIndex(patterns) {
      switch (patterns.length) {
        case 0:
          return () => -1;
        case 1:
          return matcherWhenOnlyOnePatternWithIndex(patterns[0]);
      }
      const matchArr = [];
      let hasIgnore = false;
      let hasInclude = false;
      for (const pattern of patterns) {
        if (isIgnorePattern(pattern)) {
          hasIgnore = true;
          matchArr.push({ ignore: true, match: matcherFromPattern(pattern.substring(1)) });
        } else {
          hasInclude = true;
          matchArr.push({ ignore: false, match: matcherFromPattern(pattern) });
        }
      }
      if (!hasIgnore) {
        return matchInputWithNonIgnoreMatchers.bind(null, matchArr);
      }
      if (!hasInclude) {
        return matchInputWithoutIgnoreMatchers.bind(null, matchArr);
      }
      return matchInputWithMatchersArray.bind(null, matchArr);
    }
    function matchInputWithNonIgnoreMatchers(matchArr, input) {
      for (let i = 0; i < matchArr.length; i++) {
        if (matchArr[i].match(input))
          return i;
      }
      return -1;
    }
    function matchInputWithoutIgnoreMatchers(matchArr, input) {
      return matchArr.some(({ match }) => match(input)) ? -1 : 0;
    }
    function matchInputWithMatchersArray(matchArr, input) {
      let matchedPatternIndex = -1;
      for (let i = 0; i < matchArr.length; i++) {
        const { ignore, match } = matchArr[i];
        if (ignore) {
          if (match(input)) {
            matchedPatternIndex = -1;
          }
        } else if (matchedPatternIndex === -1 && match(input)) {
          matchedPatternIndex = i;
        }
      }
      return matchedPatternIndex;
    }
    function matcherFromPattern(pattern) {
      if (pattern === "*") {
        return () => true;
      }
      const escapedPattern = (0, escape_string_regexp_1.default)(pattern).replace(/\\\*/g, ".*");
      if (escapedPattern === pattern) {
        return (input) => input === pattern;
      }
      const regexp = new RegExp(`^${escapedPattern}$`);
      return (input) => regexp.test(input);
    }
    function isIgnorePattern(pattern) {
      return pattern.startsWith("!");
    }
    function matcherWhenOnlyOnePatternWithIndex(pattern) {
      const m = matcherWhenOnlyOnePattern(pattern);
      return (input) => m(input) ? 0 : -1;
    }
    function matcherWhenOnlyOnePattern(pattern) {
      if (!isIgnorePattern(pattern)) {
        return matcherFromPattern(pattern);
      }
      const ignorePattern = pattern.substring(1);
      const m = matcherFromPattern(ignorePattern);
      return (input) => !m(input);
    }
  }
});

// ../node_modules/.pnpm/better-path-resolve@1.0.0/node_modules/better-path-resolve/index.js
var require_better_path_resolve = __commonJS({
  "../node_modules/.pnpm/better-path-resolve@1.0.0/node_modules/better-path-resolve/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var isWindows = require_is_windows();
    module2.exports = isWindows() ? winResolve : path2.resolve;
    function winResolve(p) {
      if (arguments.length === 0) return path2.resolve();
      if (typeof p !== "string") {
        return path2.resolve(p);
      }
      if (p[1] === ":") {
        const cc = p[0].charCodeAt();
        if (cc < 65 || cc > 90) {
          p = `${p[0].toUpperCase()}${p.substr(1)}`;
        }
      }
      if (p.endsWith(":")) {
        return p;
      }
      return path2.resolve(p);
    }
  }
});

// ../node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.js
var require_camelcase = __commonJS({
  "../node_modules/.pnpm/camelcase@6.3.0/node_modules/camelcase/index.js"(exports2, module2) {
    "use strict";
    var UPPERCASE = /[\p{Lu}]/u;
    var LOWERCASE = /[\p{Ll}]/u;
    var LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
    var IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
    var SEPARATORS = /[_.\- ]+/;
    var LEADING_SEPARATORS = new RegExp("^" + SEPARATORS.source);
    var SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, "gu");
    var NUMBERS_AND_IDENTIFIER = new RegExp("\\d+" + IDENTIFIER.source, "gu");
    var preserveCamelCase = (string, toLowerCase, toUpperCase) => {
      let isLastCharLower = false;
      let isLastCharUpper = false;
      let isLastLastCharUpper = false;
      for (let i = 0; i < string.length; i++) {
        const character = string[i];
        if (isLastCharLower && UPPERCASE.test(character)) {
          string = string.slice(0, i) + "-" + string.slice(i);
          isLastCharLower = false;
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = true;
          i++;
        } else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
          string = string.slice(0, i - 1) + "-" + string.slice(i - 1);
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = false;
          isLastCharLower = true;
        } else {
          isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
        }
      }
      return string;
    };
    var preserveConsecutiveUppercase = (input, toLowerCase) => {
      LEADING_CAPITAL.lastIndex = 0;
      return input.replace(LEADING_CAPITAL, (m1) => toLowerCase(m1));
    };
    var postProcess = (input, toUpperCase) => {
      SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
      NUMBERS_AND_IDENTIFIER.lastIndex = 0;
      return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier)).replace(NUMBERS_AND_IDENTIFIER, (m) => toUpperCase(m));
    };
    var camelCase = (input, options) => {
      if (!(typeof input === "string" || Array.isArray(input))) {
        throw new TypeError("Expected the input to be `string | string[]`");
      }
      options = {
        pascalCase: false,
        preserveConsecutiveUppercase: false,
        ...options
      };
      if (Array.isArray(input)) {
        input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
      } else {
        input = input.trim();
      }
      if (input.length === 0) {
        return "";
      }
      const toLowerCase = options.locale === false ? (string) => string.toLowerCase() : (string) => string.toLocaleLowerCase(options.locale);
      const toUpperCase = options.locale === false ? (string) => string.toUpperCase() : (string) => string.toLocaleUpperCase(options.locale);
      if (input.length === 1) {
        return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
      }
      const hasUpperCase = input !== toLowerCase(input);
      if (hasUpperCase) {
        input = preserveCamelCase(input, toLowerCase, toUpperCase);
      }
      input = input.replace(LEADING_SEPARATORS, "");
      if (options.preserveConsecutiveUppercase) {
        input = preserveConsecutiveUppercase(input, toLowerCase);
      } else {
        input = toLowerCase(input);
      }
      if (options.pascalCase) {
        input = toUpperCase(input.charAt(0)) + input.slice(1);
      }
      return postProcess(input, toUpperCase);
    };
    module2.exports = camelCase;
    module2.exports.default = camelCase;
  }
});

// ../node_modules/.pnpm/normalize-registry-url@2.0.0/node_modules/normalize-registry-url/index.js
var require_normalize_registry_url = __commonJS({
  "../node_modules/.pnpm/normalize-registry-url@2.0.0/node_modules/normalize-registry-url/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function(registry) {
      if (typeof registry !== "string") {
        throw new TypeError("`registry` should be a string");
      }
      if (registry.endsWith("/") || registry.indexOf("/", registry.indexOf("//") + 2) != -1) return registry;
      return `${registry}/`;
    };
  }
});

// ../node_modules/.pnpm/realpath-missing@1.1.0/node_modules/realpath-missing/index.js
var require_realpath_missing = __commonJS({
  "../node_modules/.pnpm/realpath-missing@1.1.0/node_modules/realpath-missing/index.js"(exports2, module2) {
    var fs = require("fs");
    module2.exports = async function realpathMissing(path2) {
      try {
        return await fs.promises.realpath(path2);
      } catch (err) {
        if (err.code === "ENOENT") {
          return path2;
        }
        throw err;
      }
    };
  }
});

// ../node_modules/.pnpm/path-absolute@1.0.1/node_modules/path-absolute/index.js
var require_path_absolute = __commonJS({
  "../node_modules/.pnpm/path-absolute@1.0.1/node_modules/path-absolute/index.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var path2 = require("path");
    module2.exports = function(filepath, cwd) {
      const home = getHomedir();
      if (isHomepath(filepath)) {
        return path2.join(home, filepath.substr(2));
      }
      if (path2.isAbsolute(filepath)) {
        return filepath;
      }
      if (cwd) {
        return path2.join(cwd, filepath);
      }
      return path2.resolve(filepath);
    };
    function getHomedir() {
      const home = os.homedir();
      if (!home) throw new Error("Could not find the homedir");
      return home;
    }
    function isHomepath(filepath) {
      return filepath.indexOf("~/") === 0 || filepath.indexOf("~\\") === 0;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+which@3.0.1/node_modules/@pnpm/which/lib/index.js
var require_lib17 = __commonJS({
  "../node_modules/.pnpm/@pnpm+which@3.0.1/node_modules/@pnpm/which/lib/index.js"(exports2, module2) {
    var isexe = require_isexe();
    var { join, delimiter, sep, posix } = require("path");
    var isWindows = process.platform === "win32";
    var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1"));
    var rRel = new RegExp(`^\\.${rSlash.source}`);
    var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
    var getPathInfo = (cmd, {
      path: optPath = process.env.PATH,
      pathExt: optPathExt = process.env.PATHEXT,
      delimiter: optDelimiter = delimiter
    }) => {
      const pathEnv = cmd.match(rSlash) ? [""] : (optPath || /* istanbul ignore next: very unusual */
      "").split(optDelimiter);
      if (isWindows) {
        const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter);
        const pathExt = pathExtExe.split(optDelimiter).reduce((acc, item) => {
          acc.push(item);
          acc.push(item.toLowerCase());
          return acc;
        }, []);
        if (cmd.includes(".") && pathExt[0] !== "") {
          pathExt.unshift("");
        }
        return { pathEnv, pathExt, pathExtExe };
      }
      return { pathEnv, pathExt: [""] };
    };
    var getPathPart = (raw, cmd) => {
      const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw;
      const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
      return prefix + join(pathPart, cmd);
    };
    var which = async (cmd, opt = {}) => {
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (const envPart of pathEnv) {
        const p = getPathPart(envPart, cmd);
        for (const ext of pathExt) {
          const withExt = p + ext;
          const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true });
          if (is) {
            if (!opt.all) {
              return withExt;
            }
            found.push(withExt);
          }
        }
      }
      if (opt.all && found.length) {
        return found;
      }
      if (opt.nothrow) {
        return null;
      }
      throw getNotFoundError(cmd);
    };
    var whichSync = (cmd, opt = {}) => {
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (const pathEnvPart of pathEnv) {
        const p = getPathPart(pathEnvPart, cmd);
        for (const ext of pathExt) {
          const withExt = p + ext;
          const is = isexe.sync(withExt, { pathExt: pathExtExe, ignoreErrors: true });
          if (is) {
            if (!opt.all) {
              return withExt;
            }
            found.push(withExt);
          }
        }
      }
      if (opt.all && found.length) {
        return found;
      }
      if (opt.nothrow) {
        return null;
      }
      throw getNotFoundError(cmd);
    };
    module2.exports = which;
    which.sync = whichSync;
  }
});

// ../config/config/lib/inheritPickedConfig.js
var require_inheritPickedConfig = __commonJS({
  "../config/config/lib/inheritPickedConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.inheritPickedConfig = inheritPickedConfig;
    function inheritPickedConfig(targetCfg, srcCfg, pickConfig, pickRawConfig, pickRawLocalConfig = pickRawConfig) {
      Object.assign(targetCfg, pickConfig(srcCfg));
      Object.assign(targetCfg.rawConfig, pickRawConfig(srcCfg.rawConfig));
      Object.assign(targetCfg.rawLocalConfig, pickRawLocalConfig(srcCfg.rawLocalConfig));
    }
  }
});

// ../config/config/lib/auth.js
var require_auth = __commonJS({
  "../config/config/lib/auth.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.inheritAuthConfig = inheritAuthConfig;
    var inheritPickedConfig_1 = require_inheritPickedConfig();
    var RAW_AUTH_CFG_KEYS = [
      "ca",
      "cafile",
      "cert",
      "key",
      "local-address",
      "git-shallow-hosts",
      "https-proxy",
      "proxy",
      "no-proxy",
      "registry",
      "strict-ssl"
    ];
    var RAW_AUTH_CFG_KEY_SUFFIXES = [
      ":cafile",
      ":certfile",
      ":keyfile",
      ":registry",
      ":tokenHelper",
      ":_auth",
      ":_authToken"
    ];
    var AUTH_CFG_KEYS = [
      "ca",
      "cert",
      "key",
      "localAddress",
      "gitShallowHosts",
      "httpsProxy",
      "httpProxy",
      "noProxy",
      "registry",
      "registries",
      "strictSsl"
    ];
    function isRawAuthCfgKey(rawCfgKey) {
      if (RAW_AUTH_CFG_KEYS.includes(rawCfgKey))
        return true;
      if (RAW_AUTH_CFG_KEY_SUFFIXES.some((suffix) => rawCfgKey.endsWith(suffix)))
        return true;
      return false;
    }
    function isAuthCfgKey(cfgKey) {
      return AUTH_CFG_KEYS.includes(cfgKey);
    }
    function pickRawAuthConfig(rawLocalCfg) {
      const result2 = {};
      for (const key in rawLocalCfg) {
        if (isRawAuthCfgKey(key)) {
          result2[key] = rawLocalCfg[key];
        }
      }
      return result2;
    }
    function pickAuthConfig(localCfg) {
      const result2 = {};
      for (const key in localCfg) {
        if (isAuthCfgKey(key)) {
          result2[key] = localCfg[key];
        }
      }
      return result2;
    }
    function inheritAuthConfig(targetCfg, authSrcCfg) {
      (0, inheritPickedConfig_1.inheritPickedConfig)(targetCfg, authSrcCfg, pickAuthConfig, pickRawAuthConfig);
    }
  }
});

// ../node_modules/.pnpm/crypto-random-string@2.0.0/node_modules/crypto-random-string/index.js
var require_crypto_random_string = __commonJS({
  "../node_modules/.pnpm/crypto-random-string@2.0.0/node_modules/crypto-random-string/index.js"(exports2, module2) {
    "use strict";
    var crypto5 = require("crypto");
    module2.exports = (length) => {
      if (!Number.isFinite(length)) {
        throw new TypeError("Expected a finite number");
      }
      return crypto5.randomBytes(Math.ceil(length / 2)).toString("hex").slice(0, length);
    };
  }
});

// ../node_modules/.pnpm/unique-string@2.0.0/node_modules/unique-string/index.js
var require_unique_string = __commonJS({
  "../node_modules/.pnpm/unique-string@2.0.0/node_modules/unique-string/index.js"(exports2, module2) {
    "use strict";
    var cryptoRandomString = require_crypto_random_string();
    module2.exports = () => cryptoRandomString(32);
  }
});

// ../node_modules/.pnpm/path-temp@2.1.0/node_modules/path-temp/index.js
var require_path_temp = __commonJS({
  "../node_modules/.pnpm/path-temp@2.1.0/node_modules/path-temp/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var uniqueString = require_unique_string();
    module2.exports = function pathTemp(folder) {
      return path2.join(folder, `_tmp_${process.pid}_${uniqueString()}`);
    };
    module2.exports.fastPathTemp = function pathTempFast(file) {
      return path2.join(path2.dirname(file), `${path2.basename(file)}_tmp_${process.pid}`);
    };
  }
});

// ../node_modules/.pnpm/can-write-to-dir@1.1.1/node_modules/can-write-to-dir/index.js
var require_can_write_to_dir = __commonJS({
  "../node_modules/.pnpm/can-write-to-dir@1.1.1/node_modules/can-write-to-dir/index.js"(exports2, module2) {
    "use strict";
    var defaultFS = require("fs");
    var pathTemp = require_path_temp();
    module2.exports = async (dir, customFS) => {
      const fs = customFS || defaultFS;
      const tempFile = pathTemp(dir);
      try {
        await fs.promises.writeFile(tempFile, "", "utf8");
        fs.promises.unlink(tempFile).catch(() => {
        });
        return true;
      } catch (err) {
        if (err.code === "EACCES" || err.code === "EPERM" || err.code === "EROFS") {
          return false;
        }
        throw err;
      }
    };
    module2.exports.sync = (dir, customFS) => {
      const fs = customFS || defaultFS;
      const tempFile = pathTemp(dir);
      try {
        fs.writeFileSync(tempFile, "", "utf8");
        fs.unlinkSync(tempFile);
        return true;
      } catch (err) {
        if (err.code === "EACCES" || err.code === "EPERM" || err.code === "EROFS") {
          return false;
        }
        throw err;
      }
    };
  }
});

// ../config/config/lib/checkGlobalBinDir.js
var require_checkGlobalBinDir = __commonJS({
  "../config/config/lib/checkGlobalBinDir.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkGlobalBinDir = checkGlobalBinDir;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var can_write_to_dir_1 = require_can_write_to_dir();
    var path_name_1 = __importDefault2(require_path_name());
    async function checkGlobalBinDir(globalBinDir, { env, shouldAllowWrite }) {
      if (!env[path_name_1.default]) {
        throw new error_1.PnpmError("NO_PATH_ENV", `Couldn't find a global directory for executables because the "${path_name_1.default}" environment variable is not set.`);
      }
      if (!await globalBinDirIsInPath(globalBinDir, env)) {
        throw new error_1.PnpmError("GLOBAL_BIN_DIR_NOT_IN_PATH", `The configured global bin directory "${globalBinDir}" is not in PATH`);
      }
      if (shouldAllowWrite && !canWriteToDirAndExists(globalBinDir)) {
        throw new error_1.PnpmError("PNPM_DIR_NOT_WRITABLE", `The CLI has no write access to the pnpm home directory at ${globalBinDir}`);
      }
    }
    async function globalBinDirIsInPath(globalBinDir, env) {
      const dirs = env[path_name_1.default]?.split(path_1.default.delimiter) ?? [];
      if (dirs.some((dir) => areDirsEqual(globalBinDir, dir)))
        return true;
      const realGlobalBinDir = await fs_1.promises.realpath(globalBinDir);
      return dirs.some((dir) => areDirsEqual(realGlobalBinDir, dir));
    }
    var areDirsEqual = (dir1, dir2) => path_1.default.relative(dir1, dir2) === "";
    function canWriteToDirAndExists(dir) {
      try {
        return (0, can_write_to_dir_1.sync)(dir);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return false;
        throw err;
      }
    }
  }
});

// ../config/config/lib/getNetworkConfigs.js
var require_getNetworkConfigs = __commonJS({
  "../config/config/lib/getNetworkConfigs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNetworkConfigs = getNetworkConfigs;
    var normalize_registry_url_1 = __importDefault2(require_normalize_registry_url());
    var fs_1 = __importDefault2(require("fs"));
    function getNetworkConfigs(rawConfig) {
      const sslConfigs = {};
      const registries = {};
      for (const [configKey, value] of Object.entries(rawConfig)) {
        if (configKey[0] === "@" && configKey.endsWith(":registry")) {
          registries[configKey.slice(0, configKey.indexOf(":"))] = (0, normalize_registry_url_1.default)(value);
        } else if (configKey.includes(":certfile") || configKey.includes(":keyfile") || configKey.includes(":cafile")) {
          const registry = configKey.split("/:")[0] + "/";
          if (!sslConfigs[registry]) {
            sslConfigs[registry] = { cert: "", key: "" };
          }
          if (configKey.includes(":certfile")) {
            sslConfigs[registry].cert = fs_1.default.readFileSync(value, "utf8");
          } else if (configKey.includes(":keyfile")) {
            sslConfigs[registry].key = fs_1.default.readFileSync(value, "utf8");
          } else if (configKey.includes(":cafile")) {
            sslConfigs[registry].ca = fs_1.default.readFileSync(value, "utf8");
          }
        }
      }
      return {
        registries,
        sslConfigs
      };
    }
  }
});

// ../config/config/lib/dirs.js
var require_dirs = __commonJS({
  "../config/config/lib/dirs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getCacheDir = getCacheDir;
    exports2.getStateDir = getStateDir;
    exports2.getDataDir = getDataDir;
    exports2.getConfigDir = getConfigDir;
    var os_1 = __importDefault2(require("os"));
    var path_1 = __importDefault2(require("path"));
    function getCacheDir(opts) {
      if (opts.env.XDG_CACHE_HOME) {
        return path_1.default.join(opts.env.XDG_CACHE_HOME, "pnpm");
      }
      if (opts.platform === "darwin") {
        return path_1.default.join(os_1.default.homedir(), "Library/Caches/pnpm");
      }
      if (opts.platform !== "win32") {
        return path_1.default.join(os_1.default.homedir(), ".cache/pnpm");
      }
      if (opts.env.LOCALAPPDATA) {
        return path_1.default.join(opts.env.LOCALAPPDATA, "pnpm-cache");
      }
      return path_1.default.join(os_1.default.homedir(), ".pnpm-cache");
    }
    function getStateDir(opts) {
      if (opts.env.XDG_STATE_HOME) {
        return path_1.default.join(opts.env.XDG_STATE_HOME, "pnpm");
      }
      if (opts.platform !== "win32") {
        return path_1.default.join(os_1.default.homedir(), ".local/state/pnpm");
      }
      if (opts.env.LOCALAPPDATA) {
        return path_1.default.join(opts.env.LOCALAPPDATA, "pnpm-state");
      }
      return path_1.default.join(os_1.default.homedir(), ".pnpm-state");
    }
    function getDataDir(opts) {
      if (opts.env.PNPM_HOME) {
        return opts.env.PNPM_HOME;
      }
      if (opts.env.XDG_DATA_HOME) {
        return path_1.default.join(opts.env.XDG_DATA_HOME, "pnpm");
      }
      if (opts.platform === "darwin") {
        return path_1.default.join(os_1.default.homedir(), "Library/pnpm");
      }
      if (opts.platform !== "win32") {
        return path_1.default.join(os_1.default.homedir(), ".local/share/pnpm");
      }
      if (opts.env.LOCALAPPDATA) {
        return path_1.default.join(opts.env.LOCALAPPDATA, "pnpm");
      }
      return path_1.default.join(os_1.default.homedir(), ".pnpm");
    }
    function getConfigDir(opts) {
      if (opts.env.XDG_CONFIG_HOME) {
        return path_1.default.join(opts.env.XDG_CONFIG_HOME, "pnpm");
      }
      if (opts.platform === "darwin") {
        return path_1.default.join(os_1.default.homedir(), "Library/Preferences/pnpm");
      }
      if (opts.platform !== "win32") {
        return path_1.default.join(os_1.default.homedir(), ".config/pnpm");
      }
      if (opts.env.LOCALAPPDATA) {
        return path_1.default.join(opts.env.LOCALAPPDATA, "pnpm/config");
      }
      return path_1.default.join(os_1.default.homedir(), ".config/pnpm");
    }
  }
});

// ../config/config/lib/concurrency.js
var require_concurrency = __commonJS({
  "../config/config/lib/concurrency.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getWorkspaceConcurrency = getWorkspaceConcurrency;
    var os_1 = __importDefault2(require("os"));
    function getWorkspaceConcurrency(option) {
      if (typeof option !== "number")
        return 4;
      if (option <= 0) {
        return Math.max(1, (os_1.default.availableParallelism?.() ?? os_1.default.cpus().length) - Math.abs(option));
      }
      return option;
    }
  }
});

// ../workspace/read-manifest/lib/errors/InvalidWorkspaceManifestError.js
var require_InvalidWorkspaceManifestError = __commonJS({
  "../workspace/read-manifest/lib/errors/InvalidWorkspaceManifestError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.InvalidWorkspaceManifestError = void 0;
    var error_1 = require_lib6();
    var InvalidWorkspaceManifestError = class extends error_1.PnpmError {
      constructor(message) {
        super("INVALID_WORKSPACE_CONFIGURATION", message);
      }
    };
    exports2.InvalidWorkspaceManifestError = InvalidWorkspaceManifestError;
  }
});

// ../workspace/read-manifest/lib/catalogs.js
var require_catalogs = __commonJS({
  "../workspace/read-manifest/lib/catalogs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.assertValidWorkspaceManifestCatalog = assertValidWorkspaceManifestCatalog;
    exports2.assertValidWorkspaceManifestCatalogs = assertValidWorkspaceManifestCatalogs;
    var InvalidWorkspaceManifestError_1 = require_InvalidWorkspaceManifestError();
    function assertValidWorkspaceManifestCatalog(manifest) {
      if (manifest.catalog == null) {
        return;
      }
      if (Array.isArray(manifest.catalog)) {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError("Expected catalog field to be an object, but found - array");
      }
      if (typeof manifest.catalog !== "object") {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Expected catalog field to be an object, but found - ${typeof manifest.catalog}`);
      }
      for (const [alias, specifier] of Object.entries(manifest.catalog)) {
        if (typeof specifier !== "string") {
          throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Invalid catalog entry for ${alias}. Expected string, but found: ${typeof specifier}`);
        }
      }
    }
    function assertValidWorkspaceManifestCatalogs(manifest) {
      if (manifest.catalogs == null) {
        return;
      }
      if (Array.isArray(manifest.catalogs)) {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError("Expected catalogs field to be an object, but found - array");
      }
      if (typeof manifest.catalogs !== "object") {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Expected catalogs field to be an object, but found - ${typeof manifest.catalogs}`);
      }
      for (const [catalogName, catalog] of Object.entries(manifest.catalogs)) {
        if (Array.isArray(catalog)) {
          throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Expected named catalog ${catalogName} to be an object, but found - array`);
        }
        if (typeof catalog !== "object") {
          throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Expected named catalog ${catalogName} to be an object, but found - ${typeof catalog}`);
        }
        for (const [alias, specifier] of Object.entries(catalog)) {
          if (typeof specifier !== "string") {
            throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Catalog '${catalogName}' has invalid entry '${alias}'. Expected string specifier, but found: ${typeof specifier}`);
          }
        }
      }
    }
  }
});

// ../workspace/read-manifest/lib/index.js
var require_lib18 = __commonJS({
  "../workspace/read-manifest/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readWorkspaceManifest = readWorkspaceManifest;
    var util_1 = __importDefault2(require("util"));
    var constants_1 = require_lib5();
    var node_path_1 = __importDefault2(require("node:path"));
    var read_yaml_file_1 = __importDefault2(require_read_yaml_file());
    var catalogs_1 = require_catalogs();
    var InvalidWorkspaceManifestError_1 = require_InvalidWorkspaceManifestError();
    async function readWorkspaceManifest(dir) {
      const manifest = await readManifestRaw(dir);
      validateWorkspaceManifest(manifest);
      return manifest;
    }
    async function readManifestRaw(dir) {
      try {
        return await (0, read_yaml_file_1.default)(node_path_1.default.join(dir, constants_1.WORKSPACE_MANIFEST_FILENAME));
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return void 0;
        }
        throw err;
      }
    }
    function validateWorkspaceManifest(manifest) {
      if (manifest === void 0 || manifest === null) {
        return;
      }
      if (typeof manifest !== "object") {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Expected object but found - ${typeof manifest}`);
      }
      if (Array.isArray(manifest)) {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError("Expected object but found - array");
      }
      if (Object.keys(manifest).length === 0) {
        return;
      }
      assertValidWorkspaceManifestPackages(manifest);
      (0, catalogs_1.assertValidWorkspaceManifestCatalog)(manifest);
      (0, catalogs_1.assertValidWorkspaceManifestCatalogs)(manifest);
      checkWorkspaceManifestAssignability(manifest);
    }
    function assertValidWorkspaceManifestPackages(manifest) {
      if (!manifest.packages) {
        return;
      }
      if (!Array.isArray(manifest.packages)) {
        throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError("packages field is not an array");
      }
      for (const pkg of manifest.packages) {
        if (!pkg) {
          throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError("Missing or empty package");
        }
        const type = typeof pkg;
        if (type !== "string") {
          throw new InvalidWorkspaceManifestError_1.InvalidWorkspaceManifestError(`Invalid package type - ${type}`);
        }
      }
    }
    function checkWorkspaceManifestAssignability(_manifest) {
    }
  }
});

// ../config/config/lib/types.js
var require_types2 = __commonJS({
  "../config/config/lib/types.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.types = void 0;
    var types_1 = __importDefault2(require_types());
    exports2.types = Object.assign({
      "auto-install-peers": Boolean,
      bail: Boolean,
      "cache-dir": String,
      "child-concurrency": Number,
      "merge-git-branch-lockfiles": Boolean,
      "merge-git-branch-lockfiles-branch-pattern": Array,
      color: ["always", "auto", "never"],
      "config-dir": String,
      "deploy-all-files": Boolean,
      "dedupe-peer-dependents": Boolean,
      "dedupe-direct-deps": Boolean,
      "dedupe-injected-deps": Boolean,
      dev: [null, true],
      dir: String,
      "disallow-workspace-cycles": Boolean,
      "enable-modules-dir": Boolean,
      "enable-pre-post-scripts": Boolean,
      "exclude-links-from-lockfile": Boolean,
      "extend-node-path": Boolean,
      "fetch-timeout": Number,
      "fetching-concurrency": Number,
      filter: [String, Array],
      "filter-prod": [String, Array],
      "force-legacy-deploy": Boolean,
      "frozen-lockfile": Boolean,
      "git-checks": Boolean,
      "git-shallow-hosts": Array,
      "global-bin-dir": String,
      "global-dir": String,
      "global-path": String,
      "global-pnpmfile": String,
      "git-branch-lockfile": Boolean,
      hoist: Boolean,
      "hoist-pattern": Array,
      "hoist-workspace-packages": Boolean,
      "ignore-compatibility-db": Boolean,
      "ignore-dep-scripts": Boolean,
      "ignore-pnpmfile": Boolean,
      "ignore-workspace": Boolean,
      "ignore-workspace-cycles": Boolean,
      "ignore-workspace-root-check": Boolean,
      "optimistic-repeat-install": Boolean,
      "include-workspace-root": Boolean,
      "init-package-manager": Boolean,
      "inject-workspace-packages": Boolean,
      "legacy-dir-filtering": Boolean,
      "link-workspace-packages": [Boolean, "deep"],
      lockfile: Boolean,
      "lockfile-dir": String,
      "lockfile-directory": String,
      // TODO: deprecate
      "lockfile-include-tarball-url": Boolean,
      "lockfile-only": Boolean,
      loglevel: ["silent", "error", "warn", "info", "debug"],
      "manage-package-manager-versions": Boolean,
      maxsockets: Number,
      "modules-cache-max-age": Number,
      "dlx-cache-max-age": Number,
      "modules-dir": String,
      "network-concurrency": Number,
      "node-linker": ["pnp", "isolated", "hoisted"],
      noproxy: String,
      "npm-path": String,
      offline: Boolean,
      "only-built-dependencies": [String],
      "pack-gzip-level": Number,
      "package-import-method": ["auto", "hardlink", "clone", "copy"],
      "patches-dir": String,
      pnpmfile: String,
      "package-manager-strict": Boolean,
      "package-manager-strict-version": Boolean,
      "prefer-frozen-lockfile": Boolean,
      "prefer-offline": Boolean,
      "prefer-symlinked-executables": Boolean,
      "prefer-workspace-packages": Boolean,
      production: [null, true],
      "public-hoist-pattern": Array,
      "publish-branch": String,
      "recursive-install": Boolean,
      reporter: String,
      "resolution-mode": ["highest", "time-based", "lowest-direct"],
      "resolve-peers-from-workspace-root": Boolean,
      "aggregate-output": Boolean,
      "reporter-hide-prefix": Boolean,
      "save-peer": Boolean,
      "save-workspace-protocol": Boolean,
      "script-shell": String,
      "shamefully-flatten": Boolean,
      "shamefully-hoist": Boolean,
      "shared-workspace-lockfile": Boolean,
      "shell-emulator": Boolean,
      "side-effects-cache": Boolean,
      "side-effects-cache-readonly": Boolean,
      symlink: Boolean,
      sort: Boolean,
      "state-dir": String,
      "store-dir": String,
      stream: Boolean,
      "strict-dep-builds": Boolean,
      "strict-store-pkg-content-check": Boolean,
      "strict-peer-dependencies": Boolean,
      "use-beta-cli": Boolean,
      "use-node-version": String,
      "use-running-store-server": Boolean,
      "use-store-server": Boolean,
      "use-stderr": Boolean,
      "verify-deps-before-run": Boolean,
      "verify-store-integrity": Boolean,
      "virtual-store-dir": String,
      "virtual-store-dir-max-length": Number,
      "peers-suffix-max-length": Number,
      "workspace-concurrency": Number,
      "workspace-packages": [String, Array],
      "workspace-root": Boolean,
      "test-pattern": [String, Array],
      "changed-files-ignore-pattern": [String, Array],
      "embed-readme": Boolean,
      "update-notifier": Boolean,
      "registry-supports-time-field": Boolean,
      "fail-if-no-match": Boolean,
      "sync-injected-deps-after-scripts": Array
    }, types_1.default.types);
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isPlaceholder.js
var require_isPlaceholder = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isPlaceholder.js"(exports2, module2) {
    function _isPlaceholder(a) {
      return a != null && typeof a === "object" && a["@@functional/placeholder"] === true;
    }
    module2.exports = _isPlaceholder;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry1.js
var require_curry1 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry1.js"(exports2, module2) {
    var _isPlaceholder = require_isPlaceholder();
    function _curry1(fn) {
      return function f1(a) {
        if (arguments.length === 0 || _isPlaceholder(a)) {
          return f1;
        } else {
          return fn.apply(this, arguments);
        }
      };
    }
    module2.exports = _curry1;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry2.js
var require_curry2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry2.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isPlaceholder = require_isPlaceholder();
    function _curry2(fn) {
      return function f2(a, b) {
        switch (arguments.length) {
          case 0:
            return f2;
          case 1:
            return _isPlaceholder(a) ? f2 : _curry1(function(_b) {
              return fn(a, _b);
            });
          default:
            return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function(_a) {
              return fn(_a, b);
            }) : _isPlaceholder(b) ? _curry1(function(_b) {
              return fn(a, _b);
            }) : fn(a, b);
        }
      };
    }
    module2.exports = _curry2;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArray.js
var require_isArray = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArray.js"(exports2, module2) {
    module2.exports = Array.isArray || function _isArray(val) {
      return val != null && val.length >= 0 && Object.prototype.toString.call(val) === "[object Array]";
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTransformer.js
var require_isTransformer = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTransformer.js"(exports2, module2) {
    function _isTransformer(obj) {
      return obj != null && typeof obj["@@transducer/step"] === "function";
    }
    module2.exports = _isTransformer;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dispatchable.js
var require_dispatchable = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dispatchable.js"(exports2, module2) {
    var _isArray = require_isArray();
    var _isTransformer = require_isTransformer();
    function _dispatchable(methodNames, transducerCreator, fn) {
      return function() {
        if (arguments.length === 0) {
          return fn();
        }
        var obj = arguments[arguments.length - 1];
        if (!_isArray(obj)) {
          var idx = 0;
          while (idx < methodNames.length) {
            if (typeof obj[methodNames[idx]] === "function") {
              return obj[methodNames[idx]].apply(obj, Array.prototype.slice.call(arguments, 0, -1));
            }
            idx += 1;
          }
          if (_isTransformer(obj)) {
            var transducer = transducerCreator.apply(null, Array.prototype.slice.call(arguments, 0, -1));
            return transducer(obj);
          }
        }
        return fn.apply(this, arguments);
      };
    }
    module2.exports = _dispatchable;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_map.js
var require_map2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_map.js"(exports2, module2) {
    function _map(fn, functor) {
      var idx = 0;
      var len = functor.length;
      var result2 = Array(len);
      while (idx < len) {
        result2[idx] = fn(functor[idx]);
        idx += 1;
      }
      return result2;
    }
    module2.exports = _map;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isString.js
var require_isString = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isString.js"(exports2, module2) {
    function _isString(x) {
      return Object.prototype.toString.call(x) === "[object String]";
    }
    module2.exports = _isString;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArrayLike.js
var require_isArrayLike = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArrayLike.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isArray = require_isArray();
    var _isString = require_isString();
    var _isArrayLike = /* @__PURE__ */ _curry1(function isArrayLike(x) {
      if (_isArray(x)) {
        return true;
      }
      if (!x) {
        return false;
      }
      if (typeof x !== "object") {
        return false;
      }
      if (_isString(x)) {
        return false;
      }
      if (x.length === 0) {
        return true;
      }
      if (x.length > 0) {
        return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);
      }
      return false;
    });
    module2.exports = _isArrayLike;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xwrap.js
var require_xwrap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xwrap.js"(exports2, module2) {
    var XWrap = /* @__PURE__ */ function() {
      function XWrap2(fn) {
        this.f = fn;
      }
      XWrap2.prototype["@@transducer/init"] = function() {
        throw new Error("init not implemented on XWrap");
      };
      XWrap2.prototype["@@transducer/result"] = function(acc) {
        return acc;
      };
      XWrap2.prototype["@@transducer/step"] = function(acc, x) {
        return this.f(acc, x);
      };
      return XWrap2;
    }();
    function _xwrap(fn) {
      return new XWrap(fn);
    }
    module2.exports = _xwrap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arity.js
var require_arity = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arity.js"(exports2, module2) {
    function _arity(n, fn) {
      switch (n) {
        case 0:
          return function() {
            return fn.apply(this, arguments);
          };
        case 1:
          return function(a0) {
            return fn.apply(this, arguments);
          };
        case 2:
          return function(a0, a1) {
            return fn.apply(this, arguments);
          };
        case 3:
          return function(a0, a1, a2) {
            return fn.apply(this, arguments);
          };
        case 4:
          return function(a0, a1, a2, a3) {
            return fn.apply(this, arguments);
          };
        case 5:
          return function(a0, a1, a2, a3, a4) {
            return fn.apply(this, arguments);
          };
        case 6:
          return function(a0, a1, a2, a3, a4, a5) {
            return fn.apply(this, arguments);
          };
        case 7:
          return function(a0, a1, a2, a3, a4, a5, a6) {
            return fn.apply(this, arguments);
          };
        case 8:
          return function(a0, a1, a2, a3, a4, a5, a6, a7) {
            return fn.apply(this, arguments);
          };
        case 9:
          return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
            return fn.apply(this, arguments);
          };
        case 10:
          return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
            return fn.apply(this, arguments);
          };
        default:
          throw new Error("First argument to _arity must be a non-negative integer no greater than ten");
      }
    }
    module2.exports = _arity;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/bind.js
var require_bind = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/bind.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry2 = require_curry2();
    var bind = /* @__PURE__ */ _curry2(function bind2(fn, thisObj) {
      return _arity(fn.length, function() {
        return fn.apply(thisObj, arguments);
      });
    });
    module2.exports = bind;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduce.js
var require_reduce = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduce.js"(exports2, module2) {
    var _isArrayLike = require_isArrayLike();
    var _xwrap = require_xwrap();
    var bind = require_bind();
    function _arrayReduce(xf, acc, list) {
      var idx = 0;
      var len = list.length;
      while (idx < len) {
        acc = xf["@@transducer/step"](acc, list[idx]);
        if (acc && acc["@@transducer/reduced"]) {
          acc = acc["@@transducer/value"];
          break;
        }
        idx += 1;
      }
      return xf["@@transducer/result"](acc);
    }
    function _iterableReduce(xf, acc, iter) {
      var step = iter.next();
      while (!step.done) {
        acc = xf["@@transducer/step"](acc, step.value);
        if (acc && acc["@@transducer/reduced"]) {
          acc = acc["@@transducer/value"];
          break;
        }
        step = iter.next();
      }
      return xf["@@transducer/result"](acc);
    }
    function _methodReduce(xf, acc, obj, methodName) {
      return xf["@@transducer/result"](obj[methodName](bind(xf["@@transducer/step"], xf), acc));
    }
    var symIterator = typeof Symbol !== "undefined" ? Symbol.iterator : "@@iterator";
    function _reduce(fn, acc, list) {
      if (typeof fn === "function") {
        fn = _xwrap(fn);
      }
      if (_isArrayLike(list)) {
        return _arrayReduce(fn, acc, list);
      }
      if (typeof list["fantasy-land/reduce"] === "function") {
        return _methodReduce(fn, acc, list, "fantasy-land/reduce");
      }
      if (list[symIterator] != null) {
        return _iterableReduce(fn, acc, list[symIterator]());
      }
      if (typeof list.next === "function") {
        return _iterableReduce(fn, acc, list);
      }
      if (typeof list.reduce === "function") {
        return _methodReduce(fn, acc, list, "reduce");
      }
      throw new TypeError("reduce: list must be array or iterable");
    }
    module2.exports = _reduce;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfBase.js
var require_xfBase = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfBase.js"(exports2, module2) {
    module2.exports = {
      init: function() {
        return this.xf["@@transducer/init"]();
      },
      result: function(result2) {
        return this.xf["@@transducer/result"](result2);
      }
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xmap.js
var require_xmap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xmap.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XMap = /* @__PURE__ */ function() {
      function XMap2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XMap2.prototype["@@transducer/init"] = _xfBase.init;
      XMap2.prototype["@@transducer/result"] = _xfBase.result;
      XMap2.prototype["@@transducer/step"] = function(result2, input) {
        return this.xf["@@transducer/step"](result2, this.f(input));
      };
      return XMap2;
    }();
    var _xmap = /* @__PURE__ */ _curry2(function _xmap2(f, xf) {
      return new XMap(f, xf);
    });
    module2.exports = _xmap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curryN.js
var require_curryN = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curryN.js"(exports2, module2) {
    var _arity = require_arity();
    var _isPlaceholder = require_isPlaceholder();
    function _curryN(length, received, fn) {
      return function() {
        var combined = [];
        var argsIdx = 0;
        var left = length;
        var combinedIdx = 0;
        while (combinedIdx < received.length || argsIdx < arguments.length) {
          var result2;
          if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {
            result2 = received[combinedIdx];
          } else {
            result2 = arguments[argsIdx];
            argsIdx += 1;
          }
          combined[combinedIdx] = result2;
          if (!_isPlaceholder(result2)) {
            left -= 1;
          }
          combinedIdx += 1;
        }
        return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));
      };
    }
    module2.exports = _curryN;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curryN.js
var require_curryN2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curryN.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry1 = require_curry1();
    var _curry2 = require_curry2();
    var _curryN = require_curryN();
    var curryN = /* @__PURE__ */ _curry2(function curryN2(length, fn) {
      if (length === 1) {
        return _curry1(fn);
      }
      return _arity(length, _curryN(length, [], fn));
    });
    module2.exports = curryN;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_has.js
var require_has = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_has.js"(exports2, module2) {
    function _has(prop, obj) {
      return Object.prototype.hasOwnProperty.call(obj, prop);
    }
    module2.exports = _has;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArguments.js
var require_isArguments = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isArguments.js"(exports2, module2) {
    var _has = require_has();
    var toString = Object.prototype.toString;
    var _isArguments = /* @__PURE__ */ function() {
      return toString.call(arguments) === "[object Arguments]" ? function _isArguments2(x) {
        return toString.call(x) === "[object Arguments]";
      } : function _isArguments2(x) {
        return _has("callee", x);
      };
    }();
    module2.exports = _isArguments;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keys.js
var require_keys = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keys.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _has = require_has();
    var _isArguments = require_isArguments();
    var hasEnumBug = !/* @__PURE__ */ {
      toString: null
    }.propertyIsEnumerable("toString");
    var nonEnumerableProps = ["constructor", "valueOf", "isPrototypeOf", "toString", "propertyIsEnumerable", "hasOwnProperty", "toLocaleString"];
    var hasArgsEnumBug = /* @__PURE__ */ function() {
      "use strict";
      return arguments.propertyIsEnumerable("length");
    }();
    var contains = function contains2(list, item) {
      var idx = 0;
      while (idx < list.length) {
        if (list[idx] === item) {
          return true;
        }
        idx += 1;
      }
      return false;
    };
    var keys = typeof Object.keys === "function" && !hasArgsEnumBug ? /* @__PURE__ */ _curry1(function keys2(obj) {
      return Object(obj) !== obj ? [] : Object.keys(obj);
    }) : /* @__PURE__ */ _curry1(function keys2(obj) {
      if (Object(obj) !== obj) {
        return [];
      }
      var prop, nIdx;
      var ks = [];
      var checkArgsLength = hasArgsEnumBug && _isArguments(obj);
      for (prop in obj) {
        if (_has(prop, obj) && (!checkArgsLength || prop !== "length")) {
          ks[ks.length] = prop;
        }
      }
      if (hasEnumBug) {
        nIdx = nonEnumerableProps.length - 1;
        while (nIdx >= 0) {
          prop = nonEnumerableProps[nIdx];
          if (_has(prop, obj) && !contains(ks, prop)) {
            ks[ks.length] = prop;
          }
          nIdx -= 1;
        }
      }
      return ks;
    });
    module2.exports = keys;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/map.js
var require_map3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/map.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _map = require_map2();
    var _reduce = require_reduce();
    var _xmap = require_xmap();
    var curryN = require_curryN2();
    var keys = require_keys();
    var map = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["fantasy-land/map", "map"], _xmap, function map2(fn, functor) {
        switch (Object.prototype.toString.call(functor)) {
          case "[object Function]":
            return curryN(functor.length, function() {
              return fn.call(this, functor.apply(this, arguments));
            });
          case "[object Object]":
            return _reduce(function(acc, key) {
              acc[key] = fn(functor[key]);
              return acc;
            }, {}, keys(functor));
          default:
            return _map(fn, functor);
        }
      })
    );
    module2.exports = map;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pick.js
var require_pick = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pick.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var pick = /* @__PURE__ */ _curry2(function pick2(names, obj) {
      var result2 = {};
      var idx = 0;
      while (idx < names.length) {
        if (names[idx] in obj) {
          result2[names[idx]] = obj[names[idx]];
        }
        idx += 1;
      }
      return result2;
    });
    module2.exports = pick;
  }
});

// ../config/config/lib/getOptionsFromRootManifest.js
var require_getOptionsFromRootManifest = __commonJS({
  "../config/config/lib/getOptionsFromRootManifest.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getOptionsFromRootManifest = getOptionsFromRootManifest;
    exports2.getOptionsFromPnpmSettings = getOptionsFromPnpmSettings;
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var map_1 = __importDefault2(require_map3());
    var pick_1 = __importDefault2(require_pick());
    function getOptionsFromRootManifest(manifestDir, manifest) {
      const settings = getOptionsFromPnpmSettings(manifestDir, {
        ...(0, pick_1.default)([
          "allowNonAppliedPatches",
          "allowedDeprecatedVersions",
          "configDependencies",
          "ignoredBuiltDependencies",
          "ignoredOptionalDependencies",
          "neverBuiltDependencies",
          "onlyBuiltDependencies",
          "onlyBuiltDependenciesFile",
          "overrides",
          "packageExtensions",
          "patchedDependencies",
          "peerDependencyRules",
          "supportedArchitectures"
        ], manifest.pnpm ?? {}),
        // We read Yarn's resolutions field for compatibility
        // but we really replace the version specs to any other version spec, not only to exact versions,
        // so we cannot call it resolutions
        overrides: {
          ...manifest.resolutions,
          ...manifest.pnpm?.overrides
        }
      }, manifest);
      return settings;
    }
    function getOptionsFromPnpmSettings(manifestDir, pnpmSettings, manifest) {
      const settings = { ...pnpmSettings };
      if (settings.overrides) {
        if (Object.keys(settings.overrides).length === 0) {
          delete settings.overrides;
        } else if (manifest) {
          settings.overrides = (0, map_1.default)(createVersionReferencesReplacer(manifest), settings.overrides);
        }
      }
      if (pnpmSettings.onlyBuiltDependenciesFile) {
        settings.onlyBuiltDependenciesFile = path_1.default.join(manifestDir, pnpmSettings.onlyBuiltDependenciesFile);
      }
      if (pnpmSettings.patchedDependencies) {
        settings.patchedDependencies = { ...pnpmSettings.patchedDependencies };
        for (const [dep, patchFile] of Object.entries(pnpmSettings.patchedDependencies)) {
          if (path_1.default.isAbsolute(patchFile))
            continue;
          settings.patchedDependencies[dep] = path_1.default.join(manifestDir, patchFile);
        }
      }
      return settings;
    }
    function createVersionReferencesReplacer(manifest) {
      const allDeps = {
        ...manifest.devDependencies,
        ...manifest.dependencies,
        ...manifest.optionalDependencies
      };
      return replaceVersionReferences.bind(null, allDeps);
    }
    function replaceVersionReferences(dep, spec) {
      if (!(spec[0] === "$"))
        return spec;
      const dependencyName = spec.slice(1);
      const newSpec = dep[dependencyName];
      if (newSpec)
        return newSpec;
      throw new error_1.PnpmError("CANNOT_RESOLVE_OVERRIDE_VERSION", `Cannot resolve version ${spec} in overrides. The direct dependencies don't have dependency "${dependencyName}".`);
    }
  }
});

// ../node_modules/.pnpm/map-obj@4.3.0/node_modules/map-obj/index.js
var require_map_obj = __commonJS({
  "../node_modules/.pnpm/map-obj@4.3.0/node_modules/map-obj/index.js"(exports2, module2) {
    "use strict";
    var isObject = (value) => typeof value === "object" && value !== null;
    var mapObjectSkip = Symbol("skip");
    var isObjectCustom = (value) => isObject(value) && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);
    var mapObject = (object, mapper, options, isSeen = /* @__PURE__ */ new WeakMap()) => {
      options = {
        deep: false,
        target: {},
        ...options
      };
      if (isSeen.has(object)) {
        return isSeen.get(object);
      }
      isSeen.set(object, options.target);
      const { target } = options;
      delete options.target;
      const mapArray = (array) => array.map((element) => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);
      if (Array.isArray(object)) {
        return mapArray(object);
      }
      for (const [key, value] of Object.entries(object)) {
        const mapResult = mapper(key, value, object);
        if (mapResult === mapObjectSkip) {
          continue;
        }
        let [newKey, newValue, { shouldRecurse = true } = {}] = mapResult;
        if (newKey === "__proto__") {
          continue;
        }
        if (options.deep && shouldRecurse && isObjectCustom(newValue)) {
          newValue = Array.isArray(newValue) ? mapArray(newValue) : mapObject(newValue, mapper, options, isSeen);
        }
        target[newKey] = newValue;
      }
      return target;
    };
    module2.exports = (object, mapper, options) => {
      if (!isObject(object)) {
        throw new TypeError(`Expected an object, got \`${object}\` (${typeof object})`);
      }
      return mapObject(object, mapper, options);
    };
    module2.exports.mapObjectSkip = mapObjectSkip;
  }
});

// ../node_modules/.pnpm/camelcase@5.3.1/node_modules/camelcase/index.js
var require_camelcase2 = __commonJS({
  "../node_modules/.pnpm/camelcase@5.3.1/node_modules/camelcase/index.js"(exports2, module2) {
    "use strict";
    var preserveCamelCase = (string) => {
      let isLastCharLower = false;
      let isLastCharUpper = false;
      let isLastLastCharUpper = false;
      for (let i = 0; i < string.length; i++) {
        const character = string[i];
        if (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {
          string = string.slice(0, i) + "-" + string.slice(i);
          isLastCharLower = false;
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = true;
          i++;
        } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {
          string = string.slice(0, i - 1) + "-" + string.slice(i - 1);
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = false;
          isLastCharLower = true;
        } else {
          isLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;
          isLastLastCharUpper = isLastCharUpper;
          isLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;
        }
      }
      return string;
    };
    var camelCase = (input, options) => {
      if (!(typeof input === "string" || Array.isArray(input))) {
        throw new TypeError("Expected the input to be `string | string[]`");
      }
      options = Object.assign({
        pascalCase: false
      }, options);
      const postProcess = (x) => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;
      if (Array.isArray(input)) {
        input = input.map((x) => x.trim()).filter((x) => x.length).join("-");
      } else {
        input = input.trim();
      }
      if (input.length === 0) {
        return "";
      }
      if (input.length === 1) {
        return options.pascalCase ? input.toUpperCase() : input.toLowerCase();
      }
      const hasUpperCase = input !== input.toLowerCase();
      if (hasUpperCase) {
        input = preserveCamelCase(input);
      }
      input = input.replace(/^[_.\- ]+/, "").toLowerCase().replace(/[_.\- ]+(\w|$)/g, (_, p1) => p1.toUpperCase()).replace(/\d+(\w|$)/g, (m) => m.toUpperCase());
      return postProcess(input);
    };
    module2.exports = camelCase;
    module2.exports.default = camelCase;
  }
});

// ../node_modules/.pnpm/quick-lru@4.0.1/node_modules/quick-lru/index.js
var require_quick_lru = __commonJS({
  "../node_modules/.pnpm/quick-lru@4.0.1/node_modules/quick-lru/index.js"(exports2, module2) {
    "use strict";
    var QuickLRU = class {
      constructor(options = {}) {
        if (!(options.maxSize && options.maxSize > 0)) {
          throw new TypeError("`maxSize` must be a number greater than 0");
        }
        this.maxSize = options.maxSize;
        this.cache = /* @__PURE__ */ new Map();
        this.oldCache = /* @__PURE__ */ new Map();
        this._size = 0;
      }
      _set(key, value) {
        this.cache.set(key, value);
        this._size++;
        if (this._size >= this.maxSize) {
          this._size = 0;
          this.oldCache = this.cache;
          this.cache = /* @__PURE__ */ new Map();
        }
      }
      get(key) {
        if (this.cache.has(key)) {
          return this.cache.get(key);
        }
        if (this.oldCache.has(key)) {
          const value = this.oldCache.get(key);
          this.oldCache.delete(key);
          this._set(key, value);
          return value;
        }
      }
      set(key, value) {
        if (this.cache.has(key)) {
          this.cache.set(key, value);
        } else {
          this._set(key, value);
        }
        return this;
      }
      has(key) {
        return this.cache.has(key) || this.oldCache.has(key);
      }
      peek(key) {
        if (this.cache.has(key)) {
          return this.cache.get(key);
        }
        if (this.oldCache.has(key)) {
          return this.oldCache.get(key);
        }
      }
      delete(key) {
        const deleted = this.cache.delete(key);
        if (deleted) {
          this._size--;
        }
        return this.oldCache.delete(key) || deleted;
      }
      clear() {
        this.cache.clear();
        this.oldCache.clear();
        this._size = 0;
      }
      *keys() {
        for (const [key] of this) {
          yield key;
        }
      }
      *values() {
        for (const [, value] of this) {
          yield value;
        }
      }
      *[Symbol.iterator]() {
        for (const item of this.cache) {
          yield item;
        }
        for (const item of this.oldCache) {
          const [key] = item;
          if (!this.cache.has(key)) {
            yield item;
          }
        }
      }
      get size() {
        let oldCacheSize = 0;
        for (const key of this.oldCache.keys()) {
          if (!this.cache.has(key)) {
            oldCacheSize++;
          }
        }
        return this._size + oldCacheSize;
      }
    };
    module2.exports = QuickLRU;
  }
});

// ../node_modules/.pnpm/camelcase-keys@6.2.2/node_modules/camelcase-keys/index.js
var require_camelcase_keys = __commonJS({
  "../node_modules/.pnpm/camelcase-keys@6.2.2/node_modules/camelcase-keys/index.js"(exports2, module2) {
    "use strict";
    var mapObj = require_map_obj();
    var camelCase = require_camelcase2();
    var QuickLru = require_quick_lru();
    var has = (array, key) => array.some((x) => {
      if (typeof x === "string") {
        return x === key;
      }
      x.lastIndex = 0;
      return x.test(key);
    });
    var cache = new QuickLru({ maxSize: 1e5 });
    var isObject = (value) => typeof value === "object" && value !== null && !(value instanceof RegExp) && !(value instanceof Error) && !(value instanceof Date);
    var camelCaseConvert = (input, options) => {
      if (!isObject(input)) {
        return input;
      }
      options = {
        deep: false,
        pascalCase: false,
        ...options
      };
      const { exclude, pascalCase, stopPaths, deep } = options;
      const stopPathsSet = new Set(stopPaths);
      const makeMapper = (parentPath) => (key, value) => {
        if (deep && isObject(value)) {
          const path2 = parentPath === void 0 ? key : `${parentPath}.${key}`;
          if (!stopPathsSet.has(path2)) {
            value = mapObj(value, makeMapper(path2));
          }
        }
        if (!(exclude && has(exclude, key))) {
          const cacheKey = pascalCase ? `${key}_` : key;
          if (cache.has(cacheKey)) {
            key = cache.get(cacheKey);
          } else {
            const ret2 = camelCase(key, { pascalCase });
            if (key.length < 100) {
              cache.set(cacheKey, ret2);
            }
            key = ret2;
          }
        }
        return [key, value];
      };
      return mapObj(input, makeMapper(void 0));
    };
    module2.exports = (input, options) => {
      if (Array.isArray(input)) {
        return Object.keys(input).map((key) => camelCaseConvert(input[key], options));
      }
      return camelCaseConvert(input, options);
    };
  }
});

// ../node_modules/.pnpm/@pnpm+config.env-replace@3.0.1/node_modules/@pnpm/config.env-replace/dist/env-replace.js
var require_env_replace2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+config.env-replace@3.0.1/node_modules/@pnpm/config.env-replace/dist/env-replace.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envReplace = void 0;
    var ENV_EXPR = /(?<!\\)(\\*)\$\{([^${}]+)\}/g;
    function envReplace(settingValue, env) {
      return settingValue.replace(ENV_EXPR, replaceEnvMatch.bind(null, env));
    }
    exports2.envReplace = envReplace;
    function replaceEnvMatch(env, orig, escape, name) {
      if (escape.length % 2) {
        return orig.slice((escape.length + 1) / 2);
      }
      const envValue = getEnvValue(env, name);
      if (envValue === void 0) {
        throw new Error(`Failed to replace env in config: ${orig}`);
      }
      return `${escape.slice(escape.length / 2)}${envValue}`;
    }
    var ENV_VALUE = /([^:-]+)(:?)-(.+)/;
    function getEnvValue(env, name) {
      const matched = name.match(ENV_VALUE);
      if (!matched)
        return env[name];
      const [, variableName, colon, fallback] = matched;
      if (Object.prototype.hasOwnProperty.call(env, variableName)) {
        return !env[variableName] && colon ? fallback : env[variableName];
      }
      return fallback;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+config.env-replace@3.0.1/node_modules/@pnpm/config.env-replace/dist/index.js
var require_dist3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+config.env-replace@3.0.1/node_modules/@pnpm/config.env-replace/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envReplace = void 0;
    var env_replace_1 = require_env_replace2();
    Object.defineProperty(exports2, "envReplace", { enumerable: true, get: function() {
      return env_replace_1.envReplace;
    } });
  }
});

// ../node_modules/.pnpm/ini@3.0.1/node_modules/ini/lib/ini.js
var require_ini2 = __commonJS({
  "../node_modules/.pnpm/ini@3.0.1/node_modules/ini/lib/ini.js"(exports2, module2) {
    var { hasOwnProperty: hasOwnProperty2 } = Object.prototype;
    var eol = typeof process !== "undefined" && process.platform === "win32" ? "\r\n" : "\n";
    var encode = (obj, opt) => {
      const children = [];
      let out = "";
      if (typeof opt === "string") {
        opt = {
          section: opt,
          whitespace: false
        };
      } else {
        opt = opt || /* @__PURE__ */ Object.create(null);
        opt.whitespace = opt.whitespace === true;
      }
      const separator = opt.whitespace ? " = " : "=";
      for (const k of Object.keys(obj)) {
        const val = obj[k];
        if (val && Array.isArray(val)) {
          for (const item of val) {
            out += safe(k + "[]") + separator + safe(item) + eol;
          }
        } else if (val && typeof val === "object") {
          children.push(k);
        } else {
          out += safe(k) + separator + safe(val) + eol;
        }
      }
      if (opt.section && out.length) {
        out = "[" + safe(opt.section) + "]" + eol + out;
      }
      for (const k of children) {
        const nk = dotSplit(k).join("\\.");
        const section = (opt.section ? opt.section + "." : "") + nk;
        const { whitespace } = opt;
        const child = encode(obj[k], {
          section,
          whitespace
        });
        if (out.length && child.length) {
          out += eol;
        }
        out += child;
      }
      return out;
    };
    var dotSplit = (str) => str.replace(/\1/g, "LITERAL\\1LITERAL").replace(/\\\./g, "").split(/\./).map((part) => part.replace(/\1/g, "\\.").replace(/\2LITERAL\\1LITERAL\2/g, ""));
    var decode = (str) => {
      const out = /* @__PURE__ */ Object.create(null);
      let p = out;
      let section = null;
      const re = /^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;
      const lines = str.split(/[\r\n]+/g);
      for (const line of lines) {
        if (!line || line.match(/^\s*[;#]/)) {
          continue;
        }
        const match = line.match(re);
        if (!match) {
          continue;
        }
        if (match[1] !== void 0) {
          section = unsafe(match[1]);
          if (section === "__proto__") {
            p = /* @__PURE__ */ Object.create(null);
            continue;
          }
          p = out[section] = out[section] || /* @__PURE__ */ Object.create(null);
          continue;
        }
        const keyRaw = unsafe(match[2]);
        const isArray = keyRaw.length > 2 && keyRaw.slice(-2) === "[]";
        const key = isArray ? keyRaw.slice(0, -2) : keyRaw;
        if (key === "__proto__") {
          continue;
        }
        const valueRaw = match[3] ? unsafe(match[4]) : true;
        const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw;
        if (isArray) {
          if (!hasOwnProperty2.call(p, key)) {
            p[key] = [];
          } else if (!Array.isArray(p[key])) {
            p[key] = [p[key]];
          }
        }
        if (Array.isArray(p[key])) {
          p[key].push(value);
        } else {
          p[key] = value;
        }
      }
      const remove = [];
      for (const k of Object.keys(out)) {
        if (!hasOwnProperty2.call(out, k) || typeof out[k] !== "object" || Array.isArray(out[k])) {
          continue;
        }
        const parts = dotSplit(k);
        p = out;
        const l = parts.pop();
        const nl = l.replace(/\\\./g, ".");
        for (const part of parts) {
          if (part === "__proto__") {
            continue;
          }
          if (!hasOwnProperty2.call(p, part) || typeof p[part] !== "object") {
            p[part] = /* @__PURE__ */ Object.create(null);
          }
          p = p[part];
        }
        if (p === out && nl === l) {
          continue;
        }
        p[nl] = out[k];
        remove.push(k);
      }
      for (const del of remove) {
        delete out[del];
      }
      return out;
    };
    var isQuoted = (val) => {
      return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'");
    };
    var safe = (val) => {
      if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) {
        return JSON.stringify(val);
      }
      return val.split(";").join("\\;").split("#").join("\\#");
    };
    var unsafe = (val, doUnesc) => {
      val = (val || "").trim();
      if (isQuoted(val)) {
        if (val.charAt(0) === "'") {
          val = val.slice(1, -1);
        }
        try {
          val = JSON.parse(val);
        } catch {
        }
      } else {
        let esc = false;
        let unesc = "";
        for (let i = 0, l = val.length; i < l; i++) {
          const c = val.charAt(i);
          if (esc) {
            if ("\\;#".indexOf(c) !== -1) {
              unesc += c;
            } else {
              unesc += "\\" + c;
            }
            esc = false;
          } else if (";#".indexOf(c) !== -1) {
            break;
          } else if (c === "\\") {
            esc = true;
          } else {
            unesc += c;
          }
        }
        if (esc) {
          unesc += "\\";
        }
        return unesc.trim();
      }
      return val;
    };
    module2.exports = {
      parse: decode,
      decode,
      stringify: encode,
      encode,
      safe,
      unsafe
    };
  }
});

// ../node_modules/.pnpm/read-ini-file@4.0.0/node_modules/read-ini-file/index.js
var require_read_ini_file = __commonJS({
  "../node_modules/.pnpm/read-ini-file@4.0.0/node_modules/read-ini-file/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var stripBom = require_strip_bom();
    var ini = require_ini2();
    var parse2 = (data) => ini.parse(stripBom(data));
    module2.exports.readIniFile = async function(fp) {
      const data = await fs.promises.readFile(fp, "utf8");
      return parse2(data);
    };
    module2.exports.readIniFileSync = (fp) => parse2(fs.readFileSync(fp, "utf8"));
  }
});

// ../config/config/lib/readLocalConfig.js
var require_readLocalConfig = __commonJS({
  "../config/config/lib/readLocalConfig.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readLocalConfig = readLocalConfig;
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var camelcase_keys_1 = __importDefault2(require_camelcase_keys());
    var config_env_replace_1 = require_dist3();
    var read_ini_file_1 = require_read_ini_file();
    var util_2 = require_util();
    var types_1 = require_types2();
    async function readLocalConfig(prefix) {
      try {
        const ini = await (0, read_ini_file_1.readIniFile)(path_1.default.join(prefix, ".npmrc"));
        for (let [key, val] of Object.entries(ini)) {
          if (typeof val === "string") {
            try {
              key = (0, config_env_replace_1.envReplace)(key, process.env);
              ini[key] = (0, util_2.parseField)(types_1.types, (0, config_env_replace_1.envReplace)(val, process.env), key);
            } catch {
            }
          }
        }
        const config = (0, camelcase_keys_1.default)(ini);
        if (config.shamefullyFlatten) {
          config.hoistPattern = "*";
        }
        if (config.hoist === false) {
          config.hoistPattern = "";
        }
        return config;
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return {};
        throw err;
      }
    }
  }
});

// ../config/config/lib/index.js
var require_lib19 = __commonJS({
  "../config/config/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getOptionsFromPnpmSettings = exports2.getOptionsFromRootManifest = exports2.types = void 0;
    exports2.getConfig = getConfig;
    var path_1 = __importDefault2(require("path"));
    var fs_1 = __importDefault2(require("fs"));
    var os_1 = __importDefault2(require("os"));
    var catalogs_config_1 = require_lib7();
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var npm_conf_1 = __importDefault2(require_npm_conf());
    var read_project_manifest_1 = require_lib13();
    var git_utils_1 = require_lib15();
    var matcher_1 = require_lib16();
    var better_path_resolve_1 = __importDefault2(require_better_path_resolve());
    var camelcase_1 = __importDefault2(require_camelcase());
    var is_windows_1 = __importDefault2(require_is_windows());
    var normalize_registry_url_1 = __importDefault2(require_normalize_registry_url());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var which_1 = __importDefault2(require_lib17());
    var auth_1 = require_auth();
    var checkGlobalBinDir_1 = require_checkGlobalBinDir();
    var getNetworkConfigs_1 = require_getNetworkConfigs();
    var dirs_1 = require_dirs();
    var concurrency_1 = require_concurrency();
    var workspace_read_manifest_1 = require_lib18();
    var types_1 = require_types2();
    Object.defineProperty(exports2, "types", { enumerable: true, get: function() {
      return types_1.types;
    } });
    var getOptionsFromRootManifest_1 = require_getOptionsFromRootManifest();
    var getOptionsFromRootManifest_2 = require_getOptionsFromRootManifest();
    Object.defineProperty(exports2, "getOptionsFromRootManifest", { enumerable: true, get: function() {
      return getOptionsFromRootManifest_2.getOptionsFromRootManifest;
    } });
    Object.defineProperty(exports2, "getOptionsFromPnpmSettings", { enumerable: true, get: function() {
      return getOptionsFromRootManifest_2.getOptionsFromPnpmSettings;
    } });
    __exportStar2(require_readLocalConfig(), exports2);
    var npmDefaults = npm_conf_1.default.defaults;
    async function getConfig(opts) {
      if (opts.ignoreNonAuthSettingsFromLocal) {
        const { ignoreNonAuthSettingsFromLocal: _, ...authOpts } = opts;
        const globalCfgOpts = {
          ...authOpts,
          ignoreLocalSettings: true,
          cliOptions: {
            ...authOpts.cliOptions,
            dir: os_1.default.homedir()
          }
        };
        const [final, authSrc] = await Promise.all([getConfig(globalCfgOpts), getConfig(authOpts)]);
        (0, auth_1.inheritAuthConfig)(final.config, authSrc.config);
        final.warnings.push(...authSrc.warnings);
        return final;
      }
      const env = opts.env ?? process.env;
      const packageManager = opts.packageManager ?? { name: "pnpm", version: "undefined" };
      const cliOptions = opts.cliOptions ?? {};
      if (cliOptions["hoist"] === false) {
        if (cliOptions["shamefully-hoist"] === true) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_HOIST", "--shamefully-hoist cannot be used with --no-hoist");
        }
        if (cliOptions["shamefully-flatten"] === true) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_HOIST", "--shamefully-flatten cannot be used with --no-hoist");
        }
        if (cliOptions["hoist-pattern"]) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_HOIST", "--hoist-pattern cannot be used with --no-hoist");
        }
      }
      const originalExecPath = process.execPath;
      try {
        const node = await (0, which_1.default)(process.argv[0]);
        if (node.toUpperCase() !== process.execPath.toUpperCase()) {
          process.execPath = node;
        }
      } catch {
      }
      if (cliOptions.dir) {
        cliOptions.dir = await (0, realpath_missing_1.default)(cliOptions.dir);
        cliOptions["prefix"] = cliOptions.dir;
      }
      const rcOptionsTypes = { ...types_1.types, ...opts.rcOptionsTypes };
      const defaultOptions = {
        "auto-install-peers": true,
        bail: true,
        color: "auto",
        "deploy-all-files": false,
        "dedupe-peer-dependents": true,
        "dedupe-direct-deps": false,
        "dedupe-injected-deps": true,
        "disallow-workspace-cycles": false,
        "enable-modules-dir": true,
        "enable-pre-post-scripts": true,
        "exclude-links-from-lockfile": false,
        "extend-node-path": true,
        "fail-if-no-match": false,
        "fetch-retries": 2,
        "fetch-retry-factor": 10,
        "fetch-retry-maxtimeout": 6e4,
        "fetch-retry-mintimeout": 1e4,
        "fetch-timeout": 6e4,
        "force-legacy-deploy": false,
        "git-shallow-hosts": [
          // Follow https://github.com/npm/git/blob/1e1dbd26bd5b87ca055defecc3679777cb480e2a/lib/clone.js#L13-L19
          "github.com",
          "gist.github.com",
          "gitlab.com",
          "bitbucket.com",
          "bitbucket.org"
        ],
        globalconfig: npmDefaults.globalconfig,
        "git-branch-lockfile": false,
        hoist: true,
        "hoist-pattern": ["*"],
        "hoist-workspace-packages": true,
        "ignore-workspace-cycles": false,
        "ignore-workspace-root-check": false,
        "optimistic-repeat-install": false,
        "init-package-manager": true,
        "inject-workspace-packages": false,
        "link-workspace-packages": false,
        "lockfile-include-tarball-url": false,
        "manage-package-manager-versions": true,
        "modules-cache-max-age": 7 * 24 * 60,
        // 7 days
        "dlx-cache-max-age": 24 * 60,
        // 1 day
        "node-linker": "isolated",
        "package-lock": npmDefaults["package-lock"],
        pending: false,
        "package-manager-strict": process.env.COREPACK_ENABLE_STRICT !== "0",
        "package-manager-strict-version": false,
        "prefer-workspace-packages": false,
        "public-hoist-pattern": [],
        "recursive-install": true,
        registry: npmDefaults.registry,
        "resolution-mode": "highest",
        "resolve-peers-from-workspace-root": true,
        "save-peer": false,
        "save-workspace-protocol": "rolling",
        "scripts-prepend-node-path": false,
        "strict-dep-builds": false,
        "side-effects-cache": true,
        symlink: true,
        "shared-workspace-lockfile": true,
        "shell-emulator": false,
        "strict-store-pkg-content-check": true,
        reverse: false,
        sort: true,
        "strict-peer-dependencies": false,
        "unsafe-perm": npmDefaults["unsafe-perm"],
        "use-beta-cli": false,
        userconfig: npmDefaults.userconfig,
        "verify-deps-before-run": false,
        "verify-store-integrity": true,
        "virtual-store-dir": "node_modules/.pnpm",
        "workspace-concurrency": 4,
        "workspace-prefix": opts.workspaceDir,
        "embed-readme": false,
        "registry-supports-time-field": false,
        "virtual-store-dir-max-length": (0, is_windows_1.default)() ? 60 : 120,
        "peers-suffix-max-length": 1e3
      };
      const { config: npmConfig, warnings, failedToLoadBuiltInConfig } = (0, npm_conf_1.default)(cliOptions, rcOptionsTypes, defaultOptions);
      const configDir = (0, dirs_1.getConfigDir)(process);
      {
        const warn = npmConfig.addFile(path_1.default.join(configDir, "rc"), "pnpm-global");
        if (warn)
          warnings.push(warn);
      }
      {
        const warn = npmConfig.addFile(path_1.default.resolve(path_1.default.join(__dirname, "pnpmrc")), "pnpm-builtin");
        if (warn)
          warnings.push(warn);
      }
      delete cliOptions.prefix;
      process.execPath = originalExecPath;
      const rcOptions = Object.keys(rcOptionsTypes);
      const configFromCliOpts = Object.fromEntries(Object.entries(cliOptions).filter(([_, value]) => typeof value !== "undefined").map(([name, value]) => [(0, camelcase_1.default)(name, { locale: "en-US" }), value]));
      const pnpmConfig = Object.assign(Object.fromEntries(rcOptions.map((configKey) => [(0, camelcase_1.default)(configKey, { locale: "en-US" }), npmConfig.get(configKey)])), configFromCliOpts);
      const cwd = fs_1.default.realpathSync((0, better_path_resolve_1.default)(cliOptions.dir ?? npmConfig.localPrefix));
      pnpmConfig.maxSockets = npmConfig.maxsockets;
      delete pnpmConfig["maxsockets"];
      pnpmConfig.configDir = configDir;
      pnpmConfig.workspaceDir = opts.workspaceDir;
      pnpmConfig.workspaceRoot = cliOptions["workspace-root"];
      pnpmConfig.rawLocalConfig = Object.assign.apply(Object, [
        {},
        ...npmConfig.list.slice(3, pnpmConfig.workspaceDir && pnpmConfig.workspaceDir !== cwd ? 5 : 4).reverse(),
        cliOptions
      ]);
      pnpmConfig.userAgent = pnpmConfig.rawLocalConfig["user-agent"] ? pnpmConfig.rawLocalConfig["user-agent"] : `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}`;
      pnpmConfig.rawConfig = Object.assign.apply(Object, [
        { registry: "https://registry.npmjs.org/" },
        ...[...npmConfig.list].reverse(),
        cliOptions,
        { "user-agent": pnpmConfig.userAgent }
      ]);
      const networkConfigs = (0, getNetworkConfigs_1.getNetworkConfigs)(pnpmConfig.rawConfig);
      pnpmConfig.registries = {
        default: (0, normalize_registry_url_1.default)(pnpmConfig.rawConfig.registry),
        ...networkConfigs.registries
      };
      pnpmConfig.sslConfigs = networkConfigs.sslConfigs;
      pnpmConfig.useLockfile = (() => {
        if (typeof pnpmConfig.lockfile === "boolean")
          return pnpmConfig.lockfile;
        if (typeof pnpmConfig.packageLock === "boolean")
          return pnpmConfig.packageLock;
        return false;
      })();
      pnpmConfig.useGitBranchLockfile = (() => {
        if (typeof pnpmConfig.gitBranchLockfile === "boolean")
          return pnpmConfig.gitBranchLockfile;
        return false;
      })();
      pnpmConfig.mergeGitBranchLockfiles = await (async () => {
        if (typeof pnpmConfig.mergeGitBranchLockfiles === "boolean")
          return pnpmConfig.mergeGitBranchLockfiles;
        if (pnpmConfig.mergeGitBranchLockfilesBranchPattern != null && pnpmConfig.mergeGitBranchLockfilesBranchPattern.length > 0) {
          const branch = await (0, git_utils_1.getCurrentBranch)();
          if (branch) {
            const branchMatcher = (0, matcher_1.createMatcher)(pnpmConfig.mergeGitBranchLockfilesBranchPattern);
            return branchMatcher(branch);
          }
        }
        return void 0;
      })();
      pnpmConfig.pnpmHomeDir = (0, dirs_1.getDataDir)(process);
      let globalDirRoot;
      if (pnpmConfig.globalDir) {
        globalDirRoot = pnpmConfig.globalDir;
      } else {
        globalDirRoot = path_1.default.join(pnpmConfig.pnpmHomeDir, "global");
      }
      pnpmConfig.globalPkgDir = path_1.default.join(globalDirRoot, constants_1.LAYOUT_VERSION.toString());
      if (cliOptions["global"]) {
        pnpmConfig.dir = pnpmConfig.globalPkgDir;
        pnpmConfig.bin = npmConfig.get("global-bin-dir") ?? env.PNPM_HOME;
        if (pnpmConfig.bin) {
          fs_1.default.mkdirSync(pnpmConfig.bin, { recursive: true });
          await (0, checkGlobalBinDir_1.checkGlobalBinDir)(pnpmConfig.bin, { env, shouldAllowWrite: opts.globalDirShouldAllowWrite });
        }
        pnpmConfig.save = true;
        pnpmConfig.allowNew = true;
        pnpmConfig.ignoreCurrentPrefs = true;
        pnpmConfig.saveProd = true;
        pnpmConfig.saveDev = false;
        pnpmConfig.saveOptional = false;
        if (pnpmConfig.hoistPattern != null && (pnpmConfig.hoistPattern.length > 1 || pnpmConfig.hoistPattern[0] !== "*")) {
          if (opts.cliOptions["hoist-pattern"]) {
            throw new error_1.PnpmError("CONFIG_CONFLICT_HOIST_PATTERN_WITH_GLOBAL", 'Configuration conflict. "hoist-pattern" may not be used with "global"');
          }
        }
        if (pnpmConfig.linkWorkspacePackages) {
          if (opts.cliOptions["link-workspace-packages"]) {
            throw new error_1.PnpmError("CONFIG_CONFLICT_LINK_WORKSPACE_PACKAGES_WITH_GLOBAL", 'Configuration conflict. "link-workspace-packages" may not be used with "global"');
          }
          pnpmConfig.linkWorkspacePackages = false;
        }
        if (pnpmConfig.sharedWorkspaceLockfile) {
          if (opts.cliOptions["shared-workspace-lockfile"]) {
            throw new error_1.PnpmError("CONFIG_CONFLICT_SHARED_WORKSPACE_LOCKFILE_WITH_GLOBAL", 'Configuration conflict. "shared-workspace-lockfile" may not be used with "global"');
          }
          pnpmConfig.sharedWorkspaceLockfile = false;
        }
        if (pnpmConfig.lockfileDir) {
          if (opts.cliOptions["lockfile-dir"]) {
            throw new error_1.PnpmError("CONFIG_CONFLICT_LOCKFILE_DIR_WITH_GLOBAL", 'Configuration conflict. "lockfile-dir" may not be used with "global"');
          }
          delete pnpmConfig.lockfileDir;
        }
        if (opts.cliOptions["virtual-store-dir"]) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_VIRTUAL_STORE_DIR_WITH_GLOBAL", 'Configuration conflict. "virtual-store-dir" may not be used with "global"');
        }
        pnpmConfig.virtualStoreDir = ".pnpm";
      } else {
        pnpmConfig.dir = cwd;
        if (!pnpmConfig.bin) {
          pnpmConfig.bin = path_1.default.join(pnpmConfig.dir, "node_modules", ".bin");
        }
      }
      if (opts.cliOptions["save-peer"]) {
        if (opts.cliOptions["save-prod"]) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_PEER_CANNOT_BE_PROD_DEP", "A package cannot be a peer dependency and a prod dependency at the same time");
        }
        if (opts.cliOptions["save-optional"]) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_PEER_CANNOT_BE_OPTIONAL_DEP", "A package cannot be a peer dependency and an optional dependency at the same time");
        }
      }
      if (pnpmConfig.sharedWorkspaceLockfile && !pnpmConfig.lockfileDir && pnpmConfig.workspaceDir) {
        pnpmConfig.lockfileDir = pnpmConfig.workspaceDir;
      }
      pnpmConfig.packageManager = packageManager;
      if (typeof pnpmConfig.filter === "string") {
        pnpmConfig.filter = pnpmConfig.filter.split(" ");
      }
      if (typeof pnpmConfig.filterProd === "string") {
        pnpmConfig.filterProd = pnpmConfig.filterProd.split(" ");
      }
      if (!pnpmConfig.ignoreScripts && pnpmConfig.workspaceDir) {
        pnpmConfig.extraBinPaths = [path_1.default.join(pnpmConfig.workspaceDir, "node_modules", ".bin")];
      } else {
        pnpmConfig.extraBinPaths = [];
      }
      pnpmConfig.extraEnv = {
        npm_config_verify_deps_before_run: "false"
      };
      if (pnpmConfig.preferSymlinkedExecutables && !(0, is_windows_1.default)()) {
        const cwd2 = pnpmConfig.lockfileDir ?? pnpmConfig.dir;
        const virtualStoreDir = pnpmConfig.virtualStoreDir ? pnpmConfig.virtualStoreDir : pnpmConfig.modulesDir ? path_1.default.join(pnpmConfig.modulesDir, ".pnpm") : "node_modules/.pnpm";
        pnpmConfig.extraEnv["NODE_PATH"] = (0, path_absolute_1.default)(path_1.default.join(virtualStoreDir, "node_modules"), cwd2);
      }
      if (pnpmConfig.shamefullyFlatten) {
        warnings.push(`The "shamefully-flatten" setting has been renamed to "shamefully-hoist". Also, in most cases you won't need "shamefully-hoist". Since v4, a semistrict node_modules structure is on by default (via hoist-pattern=[*]).`);
        pnpmConfig.shamefullyHoist = true;
      }
      if (!pnpmConfig.cacheDir) {
        pnpmConfig.cacheDir = (0, dirs_1.getCacheDir)(process);
      }
      if (!pnpmConfig.stateDir) {
        pnpmConfig.stateDir = (0, dirs_1.getStateDir)(process);
      }
      if (pnpmConfig.hoist === false) {
        delete pnpmConfig.hoistPattern;
      }
      switch (pnpmConfig.shamefullyHoist) {
        case false:
          delete pnpmConfig.publicHoistPattern;
          break;
        case true:
          pnpmConfig.publicHoistPattern = ["*"];
          break;
        default:
          if (pnpmConfig.publicHoistPattern == null || pnpmConfig.publicHoistPattern === "" || Array.isArray(pnpmConfig.publicHoistPattern) && pnpmConfig.publicHoistPattern.length === 1 && pnpmConfig.publicHoistPattern[0] === "") {
            delete pnpmConfig.publicHoistPattern;
          }
          break;
      }
      if (!pnpmConfig.symlink) {
        delete pnpmConfig.hoistPattern;
        delete pnpmConfig.publicHoistPattern;
      }
      if (typeof pnpmConfig["color"] === "boolean") {
        switch (pnpmConfig["color"]) {
          case true:
            pnpmConfig.color = "always";
            break;
          case false:
            pnpmConfig.color = "never";
            break;
          default:
            pnpmConfig.color = "auto";
            break;
        }
      }
      if (!pnpmConfig.httpsProxy) {
        pnpmConfig.httpsProxy = pnpmConfig.proxy ?? getProcessEnv("https_proxy");
      }
      if (!pnpmConfig.httpProxy) {
        pnpmConfig.httpProxy = pnpmConfig.httpsProxy ?? getProcessEnv("http_proxy") ?? getProcessEnv("proxy");
      }
      if (!pnpmConfig.noProxy) {
        pnpmConfig.noProxy = pnpmConfig["noproxy"] ?? getProcessEnv("no_proxy");
      }
      switch (pnpmConfig.nodeLinker) {
        case "pnp":
          pnpmConfig.enablePnp = pnpmConfig.nodeLinker === "pnp";
          break;
        case "hoisted":
          if (pnpmConfig.preferSymlinkedExecutables == null) {
            pnpmConfig.preferSymlinkedExecutables = true;
          }
          break;
      }
      if (!pnpmConfig.userConfig) {
        pnpmConfig.userConfig = npmConfig.sources.user?.data;
      }
      pnpmConfig.sideEffectsCacheRead = pnpmConfig.sideEffectsCache ?? pnpmConfig.sideEffectsCacheReadonly;
      pnpmConfig.sideEffectsCacheWrite = pnpmConfig.sideEffectsCache;
      if (opts.checkUnknownSetting) {
        const settingKeys = Object.keys({
          ...npmConfig?.sources?.workspace?.data,
          ...npmConfig?.sources?.project?.data
        }).filter((key) => key.trim() !== "");
        const unknownKeys = [];
        for (const key of settingKeys) {
          if (!rcOptions.includes(key) && !key.startsWith("//") && !(key[0] === "@" && key.endsWith(":registry"))) {
            unknownKeys.push(key);
          }
        }
        if (unknownKeys.length > 0) {
          warnings.push(`Your .npmrc file contains unknown setting: ${unknownKeys.join(", ")}`);
        }
      }
      if (!opts.ignoreLocalSettings) {
        pnpmConfig.rootProjectManifestDir = pnpmConfig.lockfileDir ?? pnpmConfig.workspaceDir ?? pnpmConfig.dir;
        pnpmConfig.rootProjectManifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(pnpmConfig.rootProjectManifestDir) ?? void 0;
        if (pnpmConfig.rootProjectManifest != null) {
          if (pnpmConfig.rootProjectManifest.workspaces?.length && !pnpmConfig.workspaceDir) {
            warnings.push('The "workspaces" field in package.json is not supported by pnpm. Create a "pnpm-workspace.yaml" file instead.');
          }
          if (pnpmConfig.rootProjectManifest.packageManager) {
            pnpmConfig.wantedPackageManager = parsePackageManager(pnpmConfig.rootProjectManifest.packageManager);
          }
          if (pnpmConfig.rootProjectManifest) {
            Object.assign(pnpmConfig, (0, getOptionsFromRootManifest_1.getOptionsFromRootManifest)(pnpmConfig.rootProjectManifestDir, pnpmConfig.rootProjectManifest));
          }
        }
        if (pnpmConfig.workspaceDir != null) {
          const workspaceManifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(pnpmConfig.workspaceDir);
          pnpmConfig.workspacePackagePatterns = cliOptions["workspace-packages"] ?? workspaceManifest?.packages ?? ["."];
          if (workspaceManifest) {
            Object.assign(pnpmConfig, (0, getOptionsFromRootManifest_1.getOptionsFromPnpmSettings)(pnpmConfig.workspaceDir, workspaceManifest, pnpmConfig.rootProjectManifest), configFromCliOpts);
            pnpmConfig.catalogs = (0, catalogs_config_1.getCatalogsFromWorkspaceManifest)(workspaceManifest);
          }
        }
      }
      pnpmConfig.workspaceConcurrency = (0, concurrency_1.getWorkspaceConcurrency)(pnpmConfig.workspaceConcurrency);
      pnpmConfig.failedToLoadBuiltInConfig = failedToLoadBuiltInConfig;
      if (pnpmConfig.only === "prod" || pnpmConfig.only === "production" || !pnpmConfig.only && pnpmConfig.production) {
        pnpmConfig.production = true;
        pnpmConfig.dev = false;
      } else if (pnpmConfig.only === "dev" || pnpmConfig.only === "development" || pnpmConfig.dev) {
        pnpmConfig.production = false;
        pnpmConfig.dev = true;
        pnpmConfig.optional = false;
      } else {
        pnpmConfig.production = true;
        pnpmConfig.dev = true;
      }
      return { config: pnpmConfig, warnings };
    }
    function getProcessEnv(env) {
      return process.env[env] ?? process.env[env.toUpperCase()] ?? process.env[env.toLowerCase()];
    }
    function parsePackageManager(packageManager) {
      if (!packageManager.includes("@"))
        return { name: packageManager, version: void 0 };
      const [name, pmReference] = packageManager.split("@");
      if (pmReference.includes(":"))
        return { name, version: void 0 };
      const [version2] = pmReference.split("+");
      return {
        name,
        version: version2
      };
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isFunction.js
var require_isFunction = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isFunction.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isFunction = void 0;
    function isFunction(value) {
      return typeof value === "function";
    }
    exports2.isFunction = isFunction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js
var require_createErrorClass = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/createErrorClass.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createErrorClass = void 0;
    function createErrorClass(createImpl) {
      var _super = function(instance) {
        Error.call(instance);
        instance.stack = new Error().stack;
      };
      var ctorFunc = createImpl(_super);
      ctorFunc.prototype = Object.create(Error.prototype);
      ctorFunc.prototype.constructor = ctorFunc;
      return ctorFunc;
    }
    exports2.createErrorClass = createErrorClass;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js
var require_UnsubscriptionError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/UnsubscriptionError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnsubscriptionError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.UnsubscriptionError = createErrorClass_1.createErrorClass(function(_super) {
      return function UnsubscriptionErrorImpl(errors) {
        _super(this);
        this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) {
          return i + 1 + ") " + err.toString();
        }).join("\n  ") : "";
        this.name = "UnsubscriptionError";
        this.errors = errors;
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js
var require_arrRemove = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/arrRemove.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.arrRemove = void 0;
    function arrRemove(arr, item) {
      if (arr) {
        var index = arr.indexOf(item);
        0 <= index && arr.splice(index, 1);
      }
    }
    exports2.arrRemove = arrRemove;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subscription.js
var require_Subscription = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subscription.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isSubscription = exports2.EMPTY_SUBSCRIPTION = exports2.Subscription = void 0;
    var isFunction_1 = require_isFunction();
    var UnsubscriptionError_1 = require_UnsubscriptionError();
    var arrRemove_1 = require_arrRemove();
    var Subscription = function() {
      function Subscription2(initialTeardown) {
        this.initialTeardown = initialTeardown;
        this.closed = false;
        this._parentage = null;
        this._finalizers = null;
      }
      Subscription2.prototype.unsubscribe = function() {
        var e_1, _a, e_2, _b;
        var errors;
        if (!this.closed) {
          this.closed = true;
          var _parentage = this._parentage;
          if (_parentage) {
            this._parentage = null;
            if (Array.isArray(_parentage)) {
              try {
                for (var _parentage_1 = __values2(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {
                  var parent_1 = _parentage_1_1.value;
                  parent_1.remove(this);
                }
              } catch (e_1_1) {
                e_1 = { error: e_1_1 };
              } finally {
                try {
                  if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);
                } finally {
                  if (e_1) throw e_1.error;
                }
              }
            } else {
              _parentage.remove(this);
            }
          }
          var initialFinalizer = this.initialTeardown;
          if (isFunction_1.isFunction(initialFinalizer)) {
            try {
              initialFinalizer();
            } catch (e) {
              errors = e instanceof UnsubscriptionError_1.UnsubscriptionError ? e.errors : [e];
            }
          }
          var _finalizers = this._finalizers;
          if (_finalizers) {
            this._finalizers = null;
            try {
              for (var _finalizers_1 = __values2(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
                var finalizer = _finalizers_1_1.value;
                try {
                  execFinalizer(finalizer);
                } catch (err) {
                  errors = errors !== null && errors !== void 0 ? errors : [];
                  if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {
                    errors = __spreadArray2(__spreadArray2([], __read2(errors)), __read2(err.errors));
                  } else {
                    errors.push(err);
                  }
                }
              }
            } catch (e_2_1) {
              e_2 = { error: e_2_1 };
            } finally {
              try {
                if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);
              } finally {
                if (e_2) throw e_2.error;
              }
            }
          }
          if (errors) {
            throw new UnsubscriptionError_1.UnsubscriptionError(errors);
          }
        }
      };
      Subscription2.prototype.add = function(teardown) {
        var _a;
        if (teardown && teardown !== this) {
          if (this.closed) {
            execFinalizer(teardown);
          } else {
            if (teardown instanceof Subscription2) {
              if (teardown.closed || teardown._hasParent(this)) {
                return;
              }
              teardown._addParent(this);
            }
            (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);
          }
        }
      };
      Subscription2.prototype._hasParent = function(parent) {
        var _parentage = this._parentage;
        return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);
      };
      Subscription2.prototype._addParent = function(parent) {
        var _parentage = this._parentage;
        this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
      };
      Subscription2.prototype._removeParent = function(parent) {
        var _parentage = this._parentage;
        if (_parentage === parent) {
          this._parentage = null;
        } else if (Array.isArray(_parentage)) {
          arrRemove_1.arrRemove(_parentage, parent);
        }
      };
      Subscription2.prototype.remove = function(teardown) {
        var _finalizers = this._finalizers;
        _finalizers && arrRemove_1.arrRemove(_finalizers, teardown);
        if (teardown instanceof Subscription2) {
          teardown._removeParent(this);
        }
      };
      Subscription2.EMPTY = function() {
        var empty = new Subscription2();
        empty.closed = true;
        return empty;
      }();
      return Subscription2;
    }();
    exports2.Subscription = Subscription;
    exports2.EMPTY_SUBSCRIPTION = Subscription.EMPTY;
    function isSubscription(value) {
      return value instanceof Subscription || value && "closed" in value && isFunction_1.isFunction(value.remove) && isFunction_1.isFunction(value.add) && isFunction_1.isFunction(value.unsubscribe);
    }
    exports2.isSubscription = isSubscription;
    function execFinalizer(finalizer) {
      if (isFunction_1.isFunction(finalizer)) {
        finalizer();
      } else {
        finalizer.unsubscribe();
      }
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/config.js
var require_config = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/config.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.config = void 0;
    exports2.config = {
      onUnhandledError: null,
      onStoppedNotification: null,
      Promise: void 0,
      useDeprecatedSynchronousErrorHandling: false,
      useDeprecatedNextContext: false
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js
var require_timeoutProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/timeoutProvider.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.timeoutProvider = void 0;
    exports2.timeoutProvider = {
      setTimeout: function(handler, timeout) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) {
          args[_i - 2] = arguments[_i];
        }
        var delegate = exports2.timeoutProvider.delegate;
        if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
          return delegate.setTimeout.apply(delegate, __spreadArray2([handler, timeout], __read2(args)));
        }
        return setTimeout.apply(void 0, __spreadArray2([handler, timeout], __read2(args)));
      },
      clearTimeout: function(handle) {
        var delegate = exports2.timeoutProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js
var require_reportUnhandledError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportUnhandledError = void 0;
    var config_1 = require_config();
    var timeoutProvider_1 = require_timeoutProvider();
    function reportUnhandledError(err) {
      timeoutProvider_1.timeoutProvider.setTimeout(function() {
        var onUnhandledError = config_1.config.onUnhandledError;
        if (onUnhandledError) {
          onUnhandledError(err);
        } else {
          throw err;
        }
      });
    }
    exports2.reportUnhandledError = reportUnhandledError;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/noop.js
var require_noop = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/noop.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.noop = void 0;
    function noop() {
    }
    exports2.noop = noop;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js
var require_NotificationFactories = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/NotificationFactories.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createNotification = exports2.nextNotification = exports2.errorNotification = exports2.COMPLETE_NOTIFICATION = void 0;
    exports2.COMPLETE_NOTIFICATION = function() {
      return createNotification("C", void 0, void 0);
    }();
    function errorNotification(error) {
      return createNotification("E", void 0, error);
    }
    exports2.errorNotification = errorNotification;
    function nextNotification(value) {
      return createNotification("N", value, void 0);
    }
    exports2.nextNotification = nextNotification;
    function createNotification(kind, value, error) {
      return {
        kind,
        value,
        error
      };
    }
    exports2.createNotification = createNotification;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/errorContext.js
var require_errorContext = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/errorContext.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.captureError = exports2.errorContext = void 0;
    var config_1 = require_config();
    var context = null;
    function errorContext(cb) {
      if (config_1.config.useDeprecatedSynchronousErrorHandling) {
        var isRoot = !context;
        if (isRoot) {
          context = { errorThrown: false, error: null };
        }
        cb();
        if (isRoot) {
          var _a = context, errorThrown = _a.errorThrown, error = _a.error;
          context = null;
          if (errorThrown) {
            throw error;
          }
        }
      } else {
        cb();
      }
    }
    exports2.errorContext = errorContext;
    function captureError(err) {
      if (config_1.config.useDeprecatedSynchronousErrorHandling && context) {
        context.errorThrown = true;
        context.error = err;
      }
    }
    exports2.captureError = captureError;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subscriber.js
var require_Subscriber = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subscriber.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.EMPTY_OBSERVER = exports2.SafeSubscriber = exports2.Subscriber = void 0;
    var isFunction_1 = require_isFunction();
    var Subscription_1 = require_Subscription();
    var config_1 = require_config();
    var reportUnhandledError_1 = require_reportUnhandledError();
    var noop_1 = require_noop();
    var NotificationFactories_1 = require_NotificationFactories();
    var timeoutProvider_1 = require_timeoutProvider();
    var errorContext_1 = require_errorContext();
    var Subscriber = function(_super) {
      __extends2(Subscriber2, _super);
      function Subscriber2(destination) {
        var _this = _super.call(this) || this;
        _this.isStopped = false;
        if (destination) {
          _this.destination = destination;
          if (Subscription_1.isSubscription(destination)) {
            destination.add(_this);
          }
        } else {
          _this.destination = exports2.EMPTY_OBSERVER;
        }
        return _this;
      }
      Subscriber2.create = function(next, error, complete) {
        return new SafeSubscriber(next, error, complete);
      };
      Subscriber2.prototype.next = function(value) {
        if (this.isStopped) {
          handleStoppedNotification(NotificationFactories_1.nextNotification(value), this);
        } else {
          this._next(value);
        }
      };
      Subscriber2.prototype.error = function(err) {
        if (this.isStopped) {
          handleStoppedNotification(NotificationFactories_1.errorNotification(err), this);
        } else {
          this.isStopped = true;
          this._error(err);
        }
      };
      Subscriber2.prototype.complete = function() {
        if (this.isStopped) {
          handleStoppedNotification(NotificationFactories_1.COMPLETE_NOTIFICATION, this);
        } else {
          this.isStopped = true;
          this._complete();
        }
      };
      Subscriber2.prototype.unsubscribe = function() {
        if (!this.closed) {
          this.isStopped = true;
          _super.prototype.unsubscribe.call(this);
          this.destination = null;
        }
      };
      Subscriber2.prototype._next = function(value) {
        this.destination.next(value);
      };
      Subscriber2.prototype._error = function(err) {
        try {
          this.destination.error(err);
        } finally {
          this.unsubscribe();
        }
      };
      Subscriber2.prototype._complete = function() {
        try {
          this.destination.complete();
        } finally {
          this.unsubscribe();
        }
      };
      return Subscriber2;
    }(Subscription_1.Subscription);
    exports2.Subscriber = Subscriber;
    var _bind = Function.prototype.bind;
    function bind(fn, thisArg) {
      return _bind.call(fn, thisArg);
    }
    var ConsumerObserver = function() {
      function ConsumerObserver2(partialObserver) {
        this.partialObserver = partialObserver;
      }
      ConsumerObserver2.prototype.next = function(value) {
        var partialObserver = this.partialObserver;
        if (partialObserver.next) {
          try {
            partialObserver.next(value);
          } catch (error) {
            handleUnhandledError(error);
          }
        }
      };
      ConsumerObserver2.prototype.error = function(err) {
        var partialObserver = this.partialObserver;
        if (partialObserver.error) {
          try {
            partialObserver.error(err);
          } catch (error) {
            handleUnhandledError(error);
          }
        } else {
          handleUnhandledError(err);
        }
      };
      ConsumerObserver2.prototype.complete = function() {
        var partialObserver = this.partialObserver;
        if (partialObserver.complete) {
          try {
            partialObserver.complete();
          } catch (error) {
            handleUnhandledError(error);
          }
        }
      };
      return ConsumerObserver2;
    }();
    var SafeSubscriber = function(_super) {
      __extends2(SafeSubscriber2, _super);
      function SafeSubscriber2(observerOrNext, error, complete) {
        var _this = _super.call(this) || this;
        var partialObserver;
        if (isFunction_1.isFunction(observerOrNext) || !observerOrNext) {
          partialObserver = {
            next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : void 0,
            error: error !== null && error !== void 0 ? error : void 0,
            complete: complete !== null && complete !== void 0 ? complete : void 0
          };
        } else {
          var context_1;
          if (_this && config_1.config.useDeprecatedNextContext) {
            context_1 = Object.create(observerOrNext);
            context_1.unsubscribe = function() {
              return _this.unsubscribe();
            };
            partialObserver = {
              next: observerOrNext.next && bind(observerOrNext.next, context_1),
              error: observerOrNext.error && bind(observerOrNext.error, context_1),
              complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
            };
          } else {
            partialObserver = observerOrNext;
          }
        }
        _this.destination = new ConsumerObserver(partialObserver);
        return _this;
      }
      return SafeSubscriber2;
    }(Subscriber);
    exports2.SafeSubscriber = SafeSubscriber;
    function handleUnhandledError(error) {
      if (config_1.config.useDeprecatedSynchronousErrorHandling) {
        errorContext_1.captureError(error);
      } else {
        reportUnhandledError_1.reportUnhandledError(error);
      }
    }
    function defaultErrorHandler(err) {
      throw err;
    }
    function handleStoppedNotification(notification, subscriber) {
      var onStoppedNotification = config_1.config.onStoppedNotification;
      onStoppedNotification && timeoutProvider_1.timeoutProvider.setTimeout(function() {
        return onStoppedNotification(notification, subscriber);
      });
    }
    exports2.EMPTY_OBSERVER = {
      closed: true,
      next: noop_1.noop,
      error: defaultErrorHandler,
      complete: noop_1.noop
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/symbol/observable.js
var require_observable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/symbol/observable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.observable = void 0;
    exports2.observable = function() {
      return typeof Symbol === "function" && Symbol.observable || "@@observable";
    }();
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/identity.js
var require_identity = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/identity.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.identity = void 0;
    function identity(x) {
      return x;
    }
    exports2.identity = identity;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/pipe.js
var require_pipe = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/pipe.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pipeFromArray = exports2.pipe = void 0;
    var identity_1 = require_identity();
    function pipe() {
      var fns = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        fns[_i] = arguments[_i];
      }
      return pipeFromArray(fns);
    }
    exports2.pipe = pipe;
    function pipeFromArray(fns) {
      if (fns.length === 0) {
        return identity_1.identity;
      }
      if (fns.length === 1) {
        return fns[0];
      }
      return function piped(input) {
        return fns.reduce(function(prev, fn) {
          return fn(prev);
        }, input);
      };
    }
    exports2.pipeFromArray = pipeFromArray;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Observable.js
var require_Observable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Observable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Observable = void 0;
    var Subscriber_1 = require_Subscriber();
    var Subscription_1 = require_Subscription();
    var observable_1 = require_observable();
    var pipe_1 = require_pipe();
    var config_1 = require_config();
    var isFunction_1 = require_isFunction();
    var errorContext_1 = require_errorContext();
    var Observable = function() {
      function Observable2(subscribe) {
        if (subscribe) {
          this._subscribe = subscribe;
        }
      }
      Observable2.prototype.lift = function(operator) {
        var observable = new Observable2();
        observable.source = this;
        observable.operator = operator;
        return observable;
      };
      Observable2.prototype.subscribe = function(observerOrNext, error, complete) {
        var _this = this;
        var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new Subscriber_1.SafeSubscriber(observerOrNext, error, complete);
        errorContext_1.errorContext(function() {
          var _a = _this, operator = _a.operator, source = _a.source;
          subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
        });
        return subscriber;
      };
      Observable2.prototype._trySubscribe = function(sink) {
        try {
          return this._subscribe(sink);
        } catch (err) {
          sink.error(err);
        }
      };
      Observable2.prototype.forEach = function(next, promiseCtor) {
        var _this = this;
        promiseCtor = getPromiseCtor(promiseCtor);
        return new promiseCtor(function(resolve, reject) {
          var subscriber = new Subscriber_1.SafeSubscriber({
            next: function(value) {
              try {
                next(value);
              } catch (err) {
                reject(err);
                subscriber.unsubscribe();
              }
            },
            error: reject,
            complete: resolve
          });
          _this.subscribe(subscriber);
        });
      };
      Observable2.prototype._subscribe = function(subscriber) {
        var _a;
        return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);
      };
      Observable2.prototype[observable_1.observable] = function() {
        return this;
      };
      Observable2.prototype.pipe = function() {
        var operations = [];
        for (var _i = 0; _i < arguments.length; _i++) {
          operations[_i] = arguments[_i];
        }
        return pipe_1.pipeFromArray(operations)(this);
      };
      Observable2.prototype.toPromise = function(promiseCtor) {
        var _this = this;
        promiseCtor = getPromiseCtor(promiseCtor);
        return new promiseCtor(function(resolve, reject) {
          var value;
          _this.subscribe(function(x) {
            return value = x;
          }, function(err) {
            return reject(err);
          }, function() {
            return resolve(value);
          });
        });
      };
      Observable2.create = function(subscribe) {
        return new Observable2(subscribe);
      };
      return Observable2;
    }();
    exports2.Observable = Observable;
    function getPromiseCtor(promiseCtor) {
      var _a;
      return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config_1.config.Promise) !== null && _a !== void 0 ? _a : Promise;
    }
    function isObserver(value) {
      return value && isFunction_1.isFunction(value.next) && isFunction_1.isFunction(value.error) && isFunction_1.isFunction(value.complete);
    }
    function isSubscriber(value) {
      return value && value instanceof Subscriber_1.Subscriber || isObserver(value) && Subscription_1.isSubscription(value);
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/lift.js
var require_lift = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/lift.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.operate = exports2.hasLift = void 0;
    var isFunction_1 = require_isFunction();
    function hasLift(source) {
      return isFunction_1.isFunction(source === null || source === void 0 ? void 0 : source.lift);
    }
    exports2.hasLift = hasLift;
    function operate(init) {
      return function(source) {
        if (hasLift(source)) {
          return source.lift(function(liftedSource) {
            try {
              return init(liftedSource, this);
            } catch (err) {
              this.error(err);
            }
          });
        }
        throw new TypeError("Unable to lift unknown Observable type");
      };
    }
    exports2.operate = operate;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js
var require_OperatorSubscriber = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.OperatorSubscriber = exports2.createOperatorSubscriber = void 0;
    var Subscriber_1 = require_Subscriber();
    function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {
      return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);
    }
    exports2.createOperatorSubscriber = createOperatorSubscriber;
    var OperatorSubscriber = function(_super) {
      __extends2(OperatorSubscriber2, _super);
      function OperatorSubscriber2(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {
        var _this = _super.call(this, destination) || this;
        _this.onFinalize = onFinalize;
        _this.shouldUnsubscribe = shouldUnsubscribe;
        _this._next = onNext ? function(value) {
          try {
            onNext(value);
          } catch (err) {
            destination.error(err);
          }
        } : _super.prototype._next;
        _this._error = onError ? function(err) {
          try {
            onError(err);
          } catch (err2) {
            destination.error(err2);
          } finally {
            this.unsubscribe();
          }
        } : _super.prototype._error;
        _this._complete = onComplete ? function() {
          try {
            onComplete();
          } catch (err) {
            destination.error(err);
          } finally {
            this.unsubscribe();
          }
        } : _super.prototype._complete;
        return _this;
      }
      OperatorSubscriber2.prototype.unsubscribe = function() {
        var _a;
        if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {
          var closed_1 = this.closed;
          _super.prototype.unsubscribe.call(this);
          !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));
        }
      };
      return OperatorSubscriber2;
    }(Subscriber_1.Subscriber);
    exports2.OperatorSubscriber = OperatorSubscriber;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/refCount.js
var require_refCount = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/refCount.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.refCount = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function refCount() {
      return lift_1.operate(function(source, subscriber) {
        var connection = null;
        source._refCount++;
        var refCounter = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, void 0, function() {
          if (!source || source._refCount <= 0 || 0 < --source._refCount) {
            connection = null;
            return;
          }
          var sharedConnection = source._connection;
          var conn = connection;
          connection = null;
          if (sharedConnection && (!conn || sharedConnection === conn)) {
            sharedConnection.unsubscribe();
          }
          subscriber.unsubscribe();
        });
        source.subscribe(refCounter);
        if (!refCounter.closed) {
          connection = source.connect();
        }
      });
    }
    exports2.refCount = refCount;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js
var require_ConnectableObservable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/ConnectableObservable.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ConnectableObservable = void 0;
    var Observable_1 = require_Observable();
    var Subscription_1 = require_Subscription();
    var refCount_1 = require_refCount();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var lift_1 = require_lift();
    var ConnectableObservable = function(_super) {
      __extends2(ConnectableObservable2, _super);
      function ConnectableObservable2(source, subjectFactory) {
        var _this = _super.call(this) || this;
        _this.source = source;
        _this.subjectFactory = subjectFactory;
        _this._subject = null;
        _this._refCount = 0;
        _this._connection = null;
        if (lift_1.hasLift(source)) {
          _this.lift = source.lift;
        }
        return _this;
      }
      ConnectableObservable2.prototype._subscribe = function(subscriber) {
        return this.getSubject().subscribe(subscriber);
      };
      ConnectableObservable2.prototype.getSubject = function() {
        var subject = this._subject;
        if (!subject || subject.isStopped) {
          this._subject = this.subjectFactory();
        }
        return this._subject;
      };
      ConnectableObservable2.prototype._teardown = function() {
        this._refCount = 0;
        var _connection = this._connection;
        this._subject = this._connection = null;
        _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();
      };
      ConnectableObservable2.prototype.connect = function() {
        var _this = this;
        var connection = this._connection;
        if (!connection) {
          connection = this._connection = new Subscription_1.Subscription();
          var subject_1 = this.getSubject();
          connection.add(this.source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subject_1, void 0, function() {
            _this._teardown();
            subject_1.complete();
          }, function(err) {
            _this._teardown();
            subject_1.error(err);
          }, function() {
            return _this._teardown();
          })));
          if (connection.closed) {
            this._connection = null;
            connection = Subscription_1.Subscription.EMPTY;
          }
        }
        return connection;
      };
      ConnectableObservable2.prototype.refCount = function() {
        return refCount_1.refCount()(this);
      };
      return ConnectableObservable2;
    }(Observable_1.Observable);
    exports2.ConnectableObservable = ConnectableObservable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js
var require_performanceTimestampProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/performanceTimestampProvider.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.performanceTimestampProvider = void 0;
    exports2.performanceTimestampProvider = {
      now: function() {
        return (exports2.performanceTimestampProvider.delegate || performance).now();
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js
var require_animationFrameProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrameProvider.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.animationFrameProvider = void 0;
    var Subscription_1 = require_Subscription();
    exports2.animationFrameProvider = {
      schedule: function(callback) {
        var request = requestAnimationFrame;
        var cancel = cancelAnimationFrame;
        var delegate = exports2.animationFrameProvider.delegate;
        if (delegate) {
          request = delegate.requestAnimationFrame;
          cancel = delegate.cancelAnimationFrame;
        }
        var handle = request(function(timestamp) {
          cancel = void 0;
          callback(timestamp);
        });
        return new Subscription_1.Subscription(function() {
          return cancel === null || cancel === void 0 ? void 0 : cancel(handle);
        });
      },
      requestAnimationFrame: function() {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
          args[_i] = arguments[_i];
        }
        var delegate = exports2.animationFrameProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray2([], __read2(args)));
      },
      cancelAnimationFrame: function() {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
          args[_i] = arguments[_i];
        }
        var delegate = exports2.animationFrameProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray2([], __read2(args)));
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js
var require_animationFrames = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/dom/animationFrames.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.animationFrames = void 0;
    var Observable_1 = require_Observable();
    var performanceTimestampProvider_1 = require_performanceTimestampProvider();
    var animationFrameProvider_1 = require_animationFrameProvider();
    function animationFrames(timestampProvider) {
      return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;
    }
    exports2.animationFrames = animationFrames;
    function animationFramesFactory(timestampProvider) {
      return new Observable_1.Observable(function(subscriber) {
        var provider = timestampProvider || performanceTimestampProvider_1.performanceTimestampProvider;
        var start = provider.now();
        var id = 0;
        var run = function() {
          if (!subscriber.closed) {
            id = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function(timestamp) {
              id = 0;
              var now = provider.now();
              subscriber.next({
                timestamp: timestampProvider ? now : timestamp,
                elapsed: now - start
              });
              run();
            });
          }
        };
        run();
        return function() {
          if (id) {
            animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);
          }
        };
      });
    }
    var DEFAULT_ANIMATION_FRAMES = animationFramesFactory();
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js
var require_ObjectUnsubscribedError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/ObjectUnsubscribedError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ObjectUnsubscribedError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.ObjectUnsubscribedError = createErrorClass_1.createErrorClass(function(_super) {
      return function ObjectUnsubscribedErrorImpl() {
        _super(this);
        this.name = "ObjectUnsubscribedError";
        this.message = "object unsubscribed";
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subject.js
var require_Subject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Subject.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AnonymousSubject = exports2.Subject = void 0;
    var Observable_1 = require_Observable();
    var Subscription_1 = require_Subscription();
    var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError();
    var arrRemove_1 = require_arrRemove();
    var errorContext_1 = require_errorContext();
    var Subject = function(_super) {
      __extends2(Subject2, _super);
      function Subject2() {
        var _this = _super.call(this) || this;
        _this.closed = false;
        _this.currentObservers = null;
        _this.observers = [];
        _this.isStopped = false;
        _this.hasError = false;
        _this.thrownError = null;
        return _this;
      }
      Subject2.prototype.lift = function(operator) {
        var subject = new AnonymousSubject(this, this);
        subject.operator = operator;
        return subject;
      };
      Subject2.prototype._throwIfClosed = function() {
        if (this.closed) {
          throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();
        }
      };
      Subject2.prototype.next = function(value) {
        var _this = this;
        errorContext_1.errorContext(function() {
          var e_1, _a;
          _this._throwIfClosed();
          if (!_this.isStopped) {
            if (!_this.currentObservers) {
              _this.currentObservers = Array.from(_this.observers);
            }
            try {
              for (var _b = __values2(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {
                var observer = _c.value;
                observer.next(value);
              }
            } catch (e_1_1) {
              e_1 = { error: e_1_1 };
            } finally {
              try {
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
              } finally {
                if (e_1) throw e_1.error;
              }
            }
          }
        });
      };
      Subject2.prototype.error = function(err) {
        var _this = this;
        errorContext_1.errorContext(function() {
          _this._throwIfClosed();
          if (!_this.isStopped) {
            _this.hasError = _this.isStopped = true;
            _this.thrownError = err;
            var observers = _this.observers;
            while (observers.length) {
              observers.shift().error(err);
            }
          }
        });
      };
      Subject2.prototype.complete = function() {
        var _this = this;
        errorContext_1.errorContext(function() {
          _this._throwIfClosed();
          if (!_this.isStopped) {
            _this.isStopped = true;
            var observers = _this.observers;
            while (observers.length) {
              observers.shift().complete();
            }
          }
        });
      };
      Subject2.prototype.unsubscribe = function() {
        this.isStopped = this.closed = true;
        this.observers = this.currentObservers = null;
      };
      Object.defineProperty(Subject2.prototype, "observed", {
        get: function() {
          var _a;
          return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;
        },
        enumerable: false,
        configurable: true
      });
      Subject2.prototype._trySubscribe = function(subscriber) {
        this._throwIfClosed();
        return _super.prototype._trySubscribe.call(this, subscriber);
      };
      Subject2.prototype._subscribe = function(subscriber) {
        this._throwIfClosed();
        this._checkFinalizedStatuses(subscriber);
        return this._innerSubscribe(subscriber);
      };
      Subject2.prototype._innerSubscribe = function(subscriber) {
        var _this = this;
        var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;
        if (hasError || isStopped) {
          return Subscription_1.EMPTY_SUBSCRIPTION;
        }
        this.currentObservers = null;
        observers.push(subscriber);
        return new Subscription_1.Subscription(function() {
          _this.currentObservers = null;
          arrRemove_1.arrRemove(observers, subscriber);
        });
      };
      Subject2.prototype._checkFinalizedStatuses = function(subscriber) {
        var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;
        if (hasError) {
          subscriber.error(thrownError);
        } else if (isStopped) {
          subscriber.complete();
        }
      };
      Subject2.prototype.asObservable = function() {
        var observable = new Observable_1.Observable();
        observable.source = this;
        return observable;
      };
      Subject2.create = function(destination, source) {
        return new AnonymousSubject(destination, source);
      };
      return Subject2;
    }(Observable_1.Observable);
    exports2.Subject = Subject;
    var AnonymousSubject = function(_super) {
      __extends2(AnonymousSubject2, _super);
      function AnonymousSubject2(destination, source) {
        var _this = _super.call(this) || this;
        _this.destination = destination;
        _this.source = source;
        return _this;
      }
      AnonymousSubject2.prototype.next = function(value) {
        var _a, _b;
        (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);
      };
      AnonymousSubject2.prototype.error = function(err) {
        var _a, _b;
        (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);
      };
      AnonymousSubject2.prototype.complete = function() {
        var _a, _b;
        (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);
      };
      AnonymousSubject2.prototype._subscribe = function(subscriber) {
        var _a, _b;
        return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : Subscription_1.EMPTY_SUBSCRIPTION;
      };
      return AnonymousSubject2;
    }(Subject);
    exports2.AnonymousSubject = AnonymousSubject;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js
var require_BehaviorSubject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/BehaviorSubject.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BehaviorSubject = void 0;
    var Subject_1 = require_Subject();
    var BehaviorSubject = function(_super) {
      __extends2(BehaviorSubject2, _super);
      function BehaviorSubject2(_value) {
        var _this = _super.call(this) || this;
        _this._value = _value;
        return _this;
      }
      Object.defineProperty(BehaviorSubject2.prototype, "value", {
        get: function() {
          return this.getValue();
        },
        enumerable: false,
        configurable: true
      });
      BehaviorSubject2.prototype._subscribe = function(subscriber) {
        var subscription = _super.prototype._subscribe.call(this, subscriber);
        !subscription.closed && subscriber.next(this._value);
        return subscription;
      };
      BehaviorSubject2.prototype.getValue = function() {
        var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;
        if (hasError) {
          throw thrownError;
        }
        this._throwIfClosed();
        return _value;
      };
      BehaviorSubject2.prototype.next = function(value) {
        _super.prototype.next.call(this, this._value = value);
      };
      return BehaviorSubject2;
    }(Subject_1.Subject);
    exports2.BehaviorSubject = BehaviorSubject;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js
var require_dateTimestampProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/dateTimestampProvider.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.dateTimestampProvider = void 0;
    exports2.dateTimestampProvider = {
      now: function() {
        return (exports2.dateTimestampProvider.delegate || Date).now();
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js
var require_ReplaySubject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/ReplaySubject.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ReplaySubject = void 0;
    var Subject_1 = require_Subject();
    var dateTimestampProvider_1 = require_dateTimestampProvider();
    var ReplaySubject = function(_super) {
      __extends2(ReplaySubject2, _super);
      function ReplaySubject2(_bufferSize, _windowTime, _timestampProvider) {
        if (_bufferSize === void 0) {
          _bufferSize = Infinity;
        }
        if (_windowTime === void 0) {
          _windowTime = Infinity;
        }
        if (_timestampProvider === void 0) {
          _timestampProvider = dateTimestampProvider_1.dateTimestampProvider;
        }
        var _this = _super.call(this) || this;
        _this._bufferSize = _bufferSize;
        _this._windowTime = _windowTime;
        _this._timestampProvider = _timestampProvider;
        _this._buffer = [];
        _this._infiniteTimeWindow = true;
        _this._infiniteTimeWindow = _windowTime === Infinity;
        _this._bufferSize = Math.max(1, _bufferSize);
        _this._windowTime = Math.max(1, _windowTime);
        return _this;
      }
      ReplaySubject2.prototype.next = function(value) {
        var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;
        if (!isStopped) {
          _buffer.push(value);
          !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);
        }
        this._trimBuffer();
        _super.prototype.next.call(this, value);
      };
      ReplaySubject2.prototype._subscribe = function(subscriber) {
        this._throwIfClosed();
        this._trimBuffer();
        var subscription = this._innerSubscribe(subscriber);
        var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;
        var copy = _buffer.slice();
        for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {
          subscriber.next(copy[i]);
        }
        this._checkFinalizedStatuses(subscriber);
        return subscription;
      };
      ReplaySubject2.prototype._trimBuffer = function() {
        var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;
        var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;
        _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);
        if (!_infiniteTimeWindow) {
          var now = _timestampProvider.now();
          var last = 0;
          for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {
            last = i;
          }
          last && _buffer.splice(0, last + 1);
        }
      };
      return ReplaySubject2;
    }(Subject_1.Subject);
    exports2.ReplaySubject = ReplaySubject;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js
var require_AsyncSubject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/AsyncSubject.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AsyncSubject = void 0;
    var Subject_1 = require_Subject();
    var AsyncSubject = function(_super) {
      __extends2(AsyncSubject2, _super);
      function AsyncSubject2() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this._value = null;
        _this._hasValue = false;
        _this._isComplete = false;
        return _this;
      }
      AsyncSubject2.prototype._checkFinalizedStatuses = function(subscriber) {
        var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete;
        if (hasError) {
          subscriber.error(thrownError);
        } else if (isStopped || _isComplete) {
          _hasValue && subscriber.next(_value);
          subscriber.complete();
        }
      };
      AsyncSubject2.prototype.next = function(value) {
        if (!this.isStopped) {
          this._value = value;
          this._hasValue = true;
        }
      };
      AsyncSubject2.prototype.complete = function() {
        var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;
        if (!_isComplete) {
          this._isComplete = true;
          _hasValue && _super.prototype.next.call(this, _value);
          _super.prototype.complete.call(this);
        }
      };
      return AsyncSubject2;
    }(Subject_1.Subject);
    exports2.AsyncSubject = AsyncSubject;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js
var require_Action = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/Action.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Action = void 0;
    var Subscription_1 = require_Subscription();
    var Action = function(_super) {
      __extends2(Action2, _super);
      function Action2(scheduler, work) {
        return _super.call(this) || this;
      }
      Action2.prototype.schedule = function(state, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        return this;
      };
      return Action2;
    }(Subscription_1.Subscription);
    exports2.Action = Action;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js
var require_intervalProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/intervalProvider.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.intervalProvider = void 0;
    exports2.intervalProvider = {
      setInterval: function(handler, timeout) {
        var args = [];
        for (var _i = 2; _i < arguments.length; _i++) {
          args[_i - 2] = arguments[_i];
        }
        var delegate = exports2.intervalProvider.delegate;
        if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {
          return delegate.setInterval.apply(delegate, __spreadArray2([handler, timeout], __read2(args)));
        }
        return setInterval.apply(void 0, __spreadArray2([handler, timeout], __read2(args)));
      },
      clearInterval: function(handle) {
        var delegate = exports2.intervalProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js
var require_AsyncAction = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncAction.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AsyncAction = void 0;
    var Action_1 = require_Action();
    var intervalProvider_1 = require_intervalProvider();
    var arrRemove_1 = require_arrRemove();
    var AsyncAction = function(_super) {
      __extends2(AsyncAction2, _super);
      function AsyncAction2(scheduler, work) {
        var _this = _super.call(this, scheduler, work) || this;
        _this.scheduler = scheduler;
        _this.work = work;
        _this.pending = false;
        return _this;
      }
      AsyncAction2.prototype.schedule = function(state, delay) {
        var _a;
        if (delay === void 0) {
          delay = 0;
        }
        if (this.closed) {
          return this;
        }
        this.state = state;
        var id = this.id;
        var scheduler = this.scheduler;
        if (id != null) {
          this.id = this.recycleAsyncId(scheduler, id, delay);
        }
        this.pending = true;
        this.delay = delay;
        this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);
        return this;
      };
      AsyncAction2.prototype.requestAsyncId = function(scheduler, _id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        return intervalProvider_1.intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);
      };
      AsyncAction2.prototype.recycleAsyncId = function(_scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (delay != null && this.delay === delay && this.pending === false) {
          return id;
        }
        if (id != null) {
          intervalProvider_1.intervalProvider.clearInterval(id);
        }
        return void 0;
      };
      AsyncAction2.prototype.execute = function(state, delay) {
        if (this.closed) {
          return new Error("executing a cancelled action");
        }
        this.pending = false;
        var error = this._execute(state, delay);
        if (error) {
          return error;
        } else if (this.pending === false && this.id != null) {
          this.id = this.recycleAsyncId(this.scheduler, this.id, null);
        }
      };
      AsyncAction2.prototype._execute = function(state, _delay) {
        var errored = false;
        var errorValue;
        try {
          this.work(state);
        } catch (e) {
          errored = true;
          errorValue = e ? e : new Error("Scheduled action threw falsy error");
        }
        if (errored) {
          this.unsubscribe();
          return errorValue;
        }
      };
      AsyncAction2.prototype.unsubscribe = function() {
        if (!this.closed) {
          var _a = this, id = _a.id, scheduler = _a.scheduler;
          var actions = scheduler.actions;
          this.work = this.state = this.scheduler = null;
          this.pending = false;
          arrRemove_1.arrRemove(actions, this);
          if (id != null) {
            this.id = this.recycleAsyncId(scheduler, id, null);
          }
          this.delay = null;
          _super.prototype.unsubscribe.call(this);
        }
      };
      return AsyncAction2;
    }(Action_1.Action);
    exports2.AsyncAction = AsyncAction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/Immediate.js
var require_Immediate = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/Immediate.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TestTools = exports2.Immediate = void 0;
    var nextHandle = 1;
    var resolved;
    var activeHandles = {};
    function findAndClearHandle(handle) {
      if (handle in activeHandles) {
        delete activeHandles[handle];
        return true;
      }
      return false;
    }
    exports2.Immediate = {
      setImmediate: function(cb) {
        var handle = nextHandle++;
        activeHandles[handle] = true;
        if (!resolved) {
          resolved = Promise.resolve();
        }
        resolved.then(function() {
          return findAndClearHandle(handle) && cb();
        });
        return handle;
      },
      clearImmediate: function(handle) {
        findAndClearHandle(handle);
      }
    };
    exports2.TestTools = {
      pending: function() {
        return Object.keys(activeHandles).length;
      }
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js
var require_immediateProvider = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/immediateProvider.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.immediateProvider = void 0;
    var Immediate_1 = require_Immediate();
    var setImmediate2 = Immediate_1.Immediate.setImmediate;
    var clearImmediate2 = Immediate_1.Immediate.clearImmediate;
    exports2.immediateProvider = {
      setImmediate: function() {
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
          args[_i] = arguments[_i];
        }
        var delegate = exports2.immediateProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate2).apply(void 0, __spreadArray2([], __read2(args)));
      },
      clearImmediate: function(handle) {
        var delegate = exports2.immediateProvider.delegate;
        return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate2)(handle);
      },
      delegate: void 0
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js
var require_AsapAction = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsapAction.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AsapAction = void 0;
    var AsyncAction_1 = require_AsyncAction();
    var immediateProvider_1 = require_immediateProvider();
    var AsapAction = function(_super) {
      __extends2(AsapAction2, _super);
      function AsapAction2(scheduler, work) {
        var _this = _super.call(this, scheduler, work) || this;
        _this.scheduler = scheduler;
        _this.work = work;
        return _this;
      }
      AsapAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (delay !== null && delay > 0) {
          return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
        }
        scheduler.actions.push(this);
        return scheduler._scheduled || (scheduler._scheduled = immediateProvider_1.immediateProvider.setImmediate(scheduler.flush.bind(scheduler, void 0)));
      };
      AsapAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
        var _a;
        if (delay === void 0) {
          delay = 0;
        }
        if (delay != null ? delay > 0 : this.delay > 0) {
          return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
        }
        var actions = scheduler.actions;
        if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
          immediateProvider_1.immediateProvider.clearImmediate(id);
          if (scheduler._scheduled === id) {
            scheduler._scheduled = void 0;
          }
        }
        return void 0;
      };
      return AsapAction2;
    }(AsyncAction_1.AsyncAction);
    exports2.AsapAction = AsapAction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Scheduler.js
var require_Scheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Scheduler.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Scheduler = void 0;
    var dateTimestampProvider_1 = require_dateTimestampProvider();
    var Scheduler = function() {
      function Scheduler2(schedulerActionCtor, now) {
        if (now === void 0) {
          now = Scheduler2.now;
        }
        this.schedulerActionCtor = schedulerActionCtor;
        this.now = now;
      }
      Scheduler2.prototype.schedule = function(work, delay, state) {
        if (delay === void 0) {
          delay = 0;
        }
        return new this.schedulerActionCtor(this, work).schedule(state, delay);
      };
      Scheduler2.now = dateTimestampProvider_1.dateTimestampProvider.now;
      return Scheduler2;
    }();
    exports2.Scheduler = Scheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js
var require_AsyncScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsyncScheduler.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AsyncScheduler = void 0;
    var Scheduler_1 = require_Scheduler();
    var AsyncScheduler = function(_super) {
      __extends2(AsyncScheduler2, _super);
      function AsyncScheduler2(SchedulerAction, now) {
        if (now === void 0) {
          now = Scheduler_1.Scheduler.now;
        }
        var _this = _super.call(this, SchedulerAction, now) || this;
        _this.actions = [];
        _this._active = false;
        return _this;
      }
      AsyncScheduler2.prototype.flush = function(action) {
        var actions = this.actions;
        if (this._active) {
          actions.push(action);
          return;
        }
        var error;
        this._active = true;
        do {
          if (error = action.execute(action.state, action.delay)) {
            break;
          }
        } while (action = actions.shift());
        this._active = false;
        if (error) {
          while (action = actions.shift()) {
            action.unsubscribe();
          }
          throw error;
        }
      };
      return AsyncScheduler2;
    }(Scheduler_1.Scheduler);
    exports2.AsyncScheduler = AsyncScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js
var require_AsapScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AsapScheduler.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AsapScheduler = void 0;
    var AsyncScheduler_1 = require_AsyncScheduler();
    var AsapScheduler = function(_super) {
      __extends2(AsapScheduler2, _super);
      function AsapScheduler2() {
        return _super !== null && _super.apply(this, arguments) || this;
      }
      AsapScheduler2.prototype.flush = function(action) {
        this._active = true;
        var flushId = this._scheduled;
        this._scheduled = void 0;
        var actions = this.actions;
        var error;
        action = action || actions.shift();
        do {
          if (error = action.execute(action.state, action.delay)) {
            break;
          }
        } while ((action = actions[0]) && action.id === flushId && actions.shift());
        this._active = false;
        if (error) {
          while ((action = actions[0]) && action.id === flushId && actions.shift()) {
            action.unsubscribe();
          }
          throw error;
        }
      };
      return AsapScheduler2;
    }(AsyncScheduler_1.AsyncScheduler);
    exports2.AsapScheduler = AsapScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js
var require_asap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/asap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.asap = exports2.asapScheduler = void 0;
    var AsapAction_1 = require_AsapAction();
    var AsapScheduler_1 = require_AsapScheduler();
    exports2.asapScheduler = new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction);
    exports2.asap = exports2.asapScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/async.js
var require_async = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.async = exports2.asyncScheduler = void 0;
    var AsyncAction_1 = require_AsyncAction();
    var AsyncScheduler_1 = require_AsyncScheduler();
    exports2.asyncScheduler = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);
    exports2.async = exports2.asyncScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js
var require_QueueAction = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/QueueAction.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.QueueAction = void 0;
    var AsyncAction_1 = require_AsyncAction();
    var QueueAction = function(_super) {
      __extends2(QueueAction2, _super);
      function QueueAction2(scheduler, work) {
        var _this = _super.call(this, scheduler, work) || this;
        _this.scheduler = scheduler;
        _this.work = work;
        return _this;
      }
      QueueAction2.prototype.schedule = function(state, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (delay > 0) {
          return _super.prototype.schedule.call(this, state, delay);
        }
        this.delay = delay;
        this.state = state;
        this.scheduler.flush(this);
        return this;
      };
      QueueAction2.prototype.execute = function(state, delay) {
        return delay > 0 || this.closed ? _super.prototype.execute.call(this, state, delay) : this._execute(state, delay);
      };
      QueueAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (delay != null && delay > 0 || delay == null && this.delay > 0) {
          return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
        }
        scheduler.flush(this);
        return 0;
      };
      return QueueAction2;
    }(AsyncAction_1.AsyncAction);
    exports2.QueueAction = QueueAction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js
var require_QueueScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/QueueScheduler.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.QueueScheduler = void 0;
    var AsyncScheduler_1 = require_AsyncScheduler();
    var QueueScheduler = function(_super) {
      __extends2(QueueScheduler2, _super);
      function QueueScheduler2() {
        return _super !== null && _super.apply(this, arguments) || this;
      }
      return QueueScheduler2;
    }(AsyncScheduler_1.AsyncScheduler);
    exports2.QueueScheduler = QueueScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js
var require_queue = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/queue.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.queue = exports2.queueScheduler = void 0;
    var QueueAction_1 = require_QueueAction();
    var QueueScheduler_1 = require_QueueScheduler();
    exports2.queueScheduler = new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction);
    exports2.queue = exports2.queueScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js
var require_AnimationFrameAction = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameAction.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AnimationFrameAction = void 0;
    var AsyncAction_1 = require_AsyncAction();
    var animationFrameProvider_1 = require_animationFrameProvider();
    var AnimationFrameAction = function(_super) {
      __extends2(AnimationFrameAction2, _super);
      function AnimationFrameAction2(scheduler, work) {
        var _this = _super.call(this, scheduler, work) || this;
        _this.scheduler = scheduler;
        _this.work = work;
        return _this;
      }
      AnimationFrameAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (delay !== null && delay > 0) {
          return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);
        }
        scheduler.actions.push(this);
        return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider_1.animationFrameProvider.requestAnimationFrame(function() {
          return scheduler.flush(void 0);
        }));
      };
      AnimationFrameAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
        var _a;
        if (delay === void 0) {
          delay = 0;
        }
        if (delay != null ? delay > 0 : this.delay > 0) {
          return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);
        }
        var actions = scheduler.actions;
        if (id != null && ((_a = actions[actions.length - 1]) === null || _a === void 0 ? void 0 : _a.id) !== id) {
          animationFrameProvider_1.animationFrameProvider.cancelAnimationFrame(id);
          scheduler._scheduled = void 0;
        }
        return void 0;
      };
      return AnimationFrameAction2;
    }(AsyncAction_1.AsyncAction);
    exports2.AnimationFrameAction = AnimationFrameAction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js
var require_AnimationFrameScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/AnimationFrameScheduler.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AnimationFrameScheduler = void 0;
    var AsyncScheduler_1 = require_AsyncScheduler();
    var AnimationFrameScheduler = function(_super) {
      __extends2(AnimationFrameScheduler2, _super);
      function AnimationFrameScheduler2() {
        return _super !== null && _super.apply(this, arguments) || this;
      }
      AnimationFrameScheduler2.prototype.flush = function(action) {
        this._active = true;
        var flushId = this._scheduled;
        this._scheduled = void 0;
        var actions = this.actions;
        var error;
        action = action || actions.shift();
        do {
          if (error = action.execute(action.state, action.delay)) {
            break;
          }
        } while ((action = actions[0]) && action.id === flushId && actions.shift());
        this._active = false;
        if (error) {
          while ((action = actions[0]) && action.id === flushId && actions.shift()) {
            action.unsubscribe();
          }
          throw error;
        }
      };
      return AnimationFrameScheduler2;
    }(AsyncScheduler_1.AsyncScheduler);
    exports2.AnimationFrameScheduler = AnimationFrameScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js
var require_animationFrame = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/animationFrame.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.animationFrame = exports2.animationFrameScheduler = void 0;
    var AnimationFrameAction_1 = require_AnimationFrameAction();
    var AnimationFrameScheduler_1 = require_AnimationFrameScheduler();
    exports2.animationFrameScheduler = new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction);
    exports2.animationFrame = exports2.animationFrameScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js
var require_VirtualTimeScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduler/VirtualTimeScheduler.js"(exports2) {
    "use strict";
    var __extends2 = exports2 && exports2.__extends || /* @__PURE__ */ function() {
      var extendStatics2 = function(d, b) {
        extendStatics2 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
          d2.__proto__ = b2;
        } || function(d2, b2) {
          for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
        };
        return extendStatics2(d, b);
      };
      return function(d, b) {
        if (typeof b !== "function" && b !== null)
          throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics2(d, b);
        function __() {
          this.constructor = d;
        }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
      };
    }();
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.VirtualAction = exports2.VirtualTimeScheduler = void 0;
    var AsyncAction_1 = require_AsyncAction();
    var Subscription_1 = require_Subscription();
    var AsyncScheduler_1 = require_AsyncScheduler();
    var VirtualTimeScheduler = function(_super) {
      __extends2(VirtualTimeScheduler2, _super);
      function VirtualTimeScheduler2(schedulerActionCtor, maxFrames) {
        if (schedulerActionCtor === void 0) {
          schedulerActionCtor = VirtualAction;
        }
        if (maxFrames === void 0) {
          maxFrames = Infinity;
        }
        var _this = _super.call(this, schedulerActionCtor, function() {
          return _this.frame;
        }) || this;
        _this.maxFrames = maxFrames;
        _this.frame = 0;
        _this.index = -1;
        return _this;
      }
      VirtualTimeScheduler2.prototype.flush = function() {
        var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;
        var error;
        var action;
        while ((action = actions[0]) && action.delay <= maxFrames) {
          actions.shift();
          this.frame = action.delay;
          if (error = action.execute(action.state, action.delay)) {
            break;
          }
        }
        if (error) {
          while (action = actions.shift()) {
            action.unsubscribe();
          }
          throw error;
        }
      };
      VirtualTimeScheduler2.frameTimeFactor = 10;
      return VirtualTimeScheduler2;
    }(AsyncScheduler_1.AsyncScheduler);
    exports2.VirtualTimeScheduler = VirtualTimeScheduler;
    var VirtualAction = function(_super) {
      __extends2(VirtualAction2, _super);
      function VirtualAction2(scheduler, work, index) {
        if (index === void 0) {
          index = scheduler.index += 1;
        }
        var _this = _super.call(this, scheduler, work) || this;
        _this.scheduler = scheduler;
        _this.work = work;
        _this.index = index;
        _this.active = true;
        _this.index = scheduler.index = index;
        return _this;
      }
      VirtualAction2.prototype.schedule = function(state, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        if (Number.isFinite(delay)) {
          if (!this.id) {
            return _super.prototype.schedule.call(this, state, delay);
          }
          this.active = false;
          var action = new VirtualAction2(this.scheduler, this.work);
          this.add(action);
          return action.schedule(state, delay);
        } else {
          return Subscription_1.Subscription.EMPTY;
        }
      };
      VirtualAction2.prototype.requestAsyncId = function(scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        this.delay = scheduler.frame + delay;
        var actions = scheduler.actions;
        actions.push(this);
        actions.sort(VirtualAction2.sortActions);
        return 1;
      };
      VirtualAction2.prototype.recycleAsyncId = function(scheduler, id, delay) {
        if (delay === void 0) {
          delay = 0;
        }
        return void 0;
      };
      VirtualAction2.prototype._execute = function(state, delay) {
        if (this.active === true) {
          return _super.prototype._execute.call(this, state, delay);
        }
      };
      VirtualAction2.sortActions = function(a, b) {
        if (a.delay === b.delay) {
          if (a.index === b.index) {
            return 0;
          } else if (a.index > b.index) {
            return 1;
          } else {
            return -1;
          }
        } else if (a.delay > b.delay) {
          return 1;
        } else {
          return -1;
        }
      };
      return VirtualAction2;
    }(AsyncAction_1.AsyncAction);
    exports2.VirtualAction = VirtualAction;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/empty.js
var require_empty = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/empty.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.empty = exports2.EMPTY = void 0;
    var Observable_1 = require_Observable();
    exports2.EMPTY = new Observable_1.Observable(function(subscriber) {
      return subscriber.complete();
    });
    function empty(scheduler) {
      return scheduler ? emptyScheduled(scheduler) : exports2.EMPTY;
    }
    exports2.empty = empty;
    function emptyScheduled(scheduler) {
      return new Observable_1.Observable(function(subscriber) {
        return scheduler.schedule(function() {
          return subscriber.complete();
        });
      });
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js
var require_isScheduler = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isScheduler.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isScheduler = void 0;
    var isFunction_1 = require_isFunction();
    function isScheduler(value) {
      return value && isFunction_1.isFunction(value.schedule);
    }
    exports2.isScheduler = isScheduler;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/args.js
var require_args = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/args.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.popNumber = exports2.popScheduler = exports2.popResultSelector = void 0;
    var isFunction_1 = require_isFunction();
    var isScheduler_1 = require_isScheduler();
    function last(arr) {
      return arr[arr.length - 1];
    }
    function popResultSelector(args) {
      return isFunction_1.isFunction(last(args)) ? args.pop() : void 0;
    }
    exports2.popResultSelector = popResultSelector;
    function popScheduler(args) {
      return isScheduler_1.isScheduler(last(args)) ? args.pop() : void 0;
    }
    exports2.popScheduler = popScheduler;
    function popNumber(args, defaultValue) {
      return typeof last(args) === "number" ? args.pop() : defaultValue;
    }
    exports2.popNumber = popNumber;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js
var require_isArrayLike2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isArrayLike.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isArrayLike = void 0;
    exports2.isArrayLike = function(x) {
      return x && typeof x.length === "number" && typeof x !== "function";
    };
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isPromise.js
var require_isPromise = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isPromise.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isPromise = void 0;
    var isFunction_1 = require_isFunction();
    function isPromise(value) {
      return isFunction_1.isFunction(value === null || value === void 0 ? void 0 : value.then);
    }
    exports2.isPromise = isPromise;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js
var require_isInteropObservable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isInteropObservable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isInteropObservable = void 0;
    var observable_1 = require_observable();
    var isFunction_1 = require_isFunction();
    function isInteropObservable(input) {
      return isFunction_1.isFunction(input[observable_1.observable]);
    }
    exports2.isInteropObservable = isInteropObservable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js
var require_isAsyncIterable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isAsyncIterable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isAsyncIterable = void 0;
    var isFunction_1 = require_isFunction();
    function isAsyncIterable(obj) {
      return Symbol.asyncIterator && isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);
    }
    exports2.isAsyncIterable = isAsyncIterable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js
var require_throwUnobservableError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/throwUnobservableError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createInvalidObservableTypeError = void 0;
    function createInvalidObservableTypeError(input) {
      return new TypeError("You provided " + (input !== null && typeof input === "object" ? "an invalid object" : "'" + input + "'") + " where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.");
    }
    exports2.createInvalidObservableTypeError = createInvalidObservableTypeError;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js
var require_iterator = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/symbol/iterator.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.iterator = exports2.getSymbolIterator = void 0;
    function getSymbolIterator() {
      if (typeof Symbol !== "function" || !Symbol.iterator) {
        return "@@iterator";
      }
      return Symbol.iterator;
    }
    exports2.getSymbolIterator = getSymbolIterator;
    exports2.iterator = getSymbolIterator();
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isIterable.js
var require_isIterable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isIterable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isIterable = void 0;
    var iterator_1 = require_iterator();
    var isFunction_1 = require_isFunction();
    function isIterable(input) {
      return isFunction_1.isFunction(input === null || input === void 0 ? void 0 : input[iterator_1.iterator]);
    }
    exports2.isIterable = isIterable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js
var require_isReadableStreamLike = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isReadableStreamLike.js"(exports2) {
    "use strict";
    var __generator2 = exports2 && exports2.__generator || function(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 (_) 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 };
      }
    };
    var __await2 = exports2 && exports2.__await || function(v) {
      return this instanceof __await2 ? (this.v = v, this) : new __await2(v);
    };
    var __asyncGenerator2 = exports2 && exports2.__asyncGenerator || function(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"), i[Symbol.asyncIterator] = function() {
        return this;
      }, i;
      function verb(n) {
        if (g[n]) i[n] = function(v) {
          return new Promise(function(a, b) {
            q.push([n, v, a, b]) > 1 || resume(n, v);
          });
        };
      }
      function resume(n, v) {
        try {
          step(g[n](v));
        } catch (e) {
          settle(q[0][3], e);
        }
      }
      function step(r) {
        r.value instanceof __await2 ? 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]);
      }
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isReadableStreamLike = exports2.readableStreamLikeToAsyncGenerator = void 0;
    var isFunction_1 = require_isFunction();
    function readableStreamLikeToAsyncGenerator(readableStream) {
      return __asyncGenerator2(this, arguments, function readableStreamLikeToAsyncGenerator_1() {
        var reader, _a, value, done;
        return __generator2(this, function(_b) {
          switch (_b.label) {
            case 0:
              reader = readableStream.getReader();
              _b.label = 1;
            case 1:
              _b.trys.push([1, , 9, 10]);
              _b.label = 2;
            case 2:
              if (false) return [3, 8];
              return [4, __await2(reader.read())];
            case 3:
              _a = _b.sent(), value = _a.value, done = _a.done;
              if (!done) return [3, 5];
              return [4, __await2(void 0)];
            case 4:
              return [2, _b.sent()];
            case 5:
              return [4, __await2(value)];
            case 6:
              return [4, _b.sent()];
            case 7:
              _b.sent();
              return [3, 2];
            case 8:
              return [3, 10];
            case 9:
              reader.releaseLock();
              return [7];
            case 10:
              return [2];
          }
        });
      });
    }
    exports2.readableStreamLikeToAsyncGenerator = readableStreamLikeToAsyncGenerator;
    function isReadableStreamLike(obj) {
      return isFunction_1.isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);
    }
    exports2.isReadableStreamLike = isReadableStreamLike;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js
var require_innerFrom = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js"(exports2) {
    "use strict";
    var __awaiter2 = exports2 && exports2.__awaiter || function(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(result2) {
          result2.done ? resolve(result2.value) : adopt(result2.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __generator2 = exports2 && exports2.__generator || function(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 (_) 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 };
      }
    };
    var __asyncValues2 = exports2 && exports2.__asyncValues || function(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 __values2 === "function" ? __values2(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(v2) {
          resolve({ value: v2, done: d });
        }, reject);
      }
    };
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fromReadableStreamLike = exports2.fromAsyncIterable = exports2.fromIterable = exports2.fromPromise = exports2.fromArrayLike = exports2.fromInteropObservable = exports2.innerFrom = void 0;
    var isArrayLike_1 = require_isArrayLike2();
    var isPromise_1 = require_isPromise();
    var Observable_1 = require_Observable();
    var isInteropObservable_1 = require_isInteropObservable();
    var isAsyncIterable_1 = require_isAsyncIterable();
    var throwUnobservableError_1 = require_throwUnobservableError();
    var isIterable_1 = require_isIterable();
    var isReadableStreamLike_1 = require_isReadableStreamLike();
    var isFunction_1 = require_isFunction();
    var reportUnhandledError_1 = require_reportUnhandledError();
    var observable_1 = require_observable();
    function innerFrom(input) {
      if (input instanceof Observable_1.Observable) {
        return input;
      }
      if (input != null) {
        if (isInteropObservable_1.isInteropObservable(input)) {
          return fromInteropObservable(input);
        }
        if (isArrayLike_1.isArrayLike(input)) {
          return fromArrayLike(input);
        }
        if (isPromise_1.isPromise(input)) {
          return fromPromise(input);
        }
        if (isAsyncIterable_1.isAsyncIterable(input)) {
          return fromAsyncIterable(input);
        }
        if (isIterable_1.isIterable(input)) {
          return fromIterable(input);
        }
        if (isReadableStreamLike_1.isReadableStreamLike(input)) {
          return fromReadableStreamLike(input);
        }
      }
      throw throwUnobservableError_1.createInvalidObservableTypeError(input);
    }
    exports2.innerFrom = innerFrom;
    function fromInteropObservable(obj) {
      return new Observable_1.Observable(function(subscriber) {
        var obs = obj[observable_1.observable]();
        if (isFunction_1.isFunction(obs.subscribe)) {
          return obs.subscribe(subscriber);
        }
        throw new TypeError("Provided object does not correctly implement Symbol.observable");
      });
    }
    exports2.fromInteropObservable = fromInteropObservable;
    function fromArrayLike(array) {
      return new Observable_1.Observable(function(subscriber) {
        for (var i = 0; i < array.length && !subscriber.closed; i++) {
          subscriber.next(array[i]);
        }
        subscriber.complete();
      });
    }
    exports2.fromArrayLike = fromArrayLike;
    function fromPromise(promise) {
      return new Observable_1.Observable(function(subscriber) {
        promise.then(function(value) {
          if (!subscriber.closed) {
            subscriber.next(value);
            subscriber.complete();
          }
        }, function(err) {
          return subscriber.error(err);
        }).then(null, reportUnhandledError_1.reportUnhandledError);
      });
    }
    exports2.fromPromise = fromPromise;
    function fromIterable(iterable) {
      return new Observable_1.Observable(function(subscriber) {
        var e_1, _a;
        try {
          for (var iterable_1 = __values2(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {
            var value = iterable_1_1.value;
            subscriber.next(value);
            if (subscriber.closed) {
              return;
            }
          }
        } catch (e_1_1) {
          e_1 = { error: e_1_1 };
        } finally {
          try {
            if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);
          } finally {
            if (e_1) throw e_1.error;
          }
        }
        subscriber.complete();
      });
    }
    exports2.fromIterable = fromIterable;
    function fromAsyncIterable(asyncIterable) {
      return new Observable_1.Observable(function(subscriber) {
        process2(asyncIterable, subscriber).catch(function(err) {
          return subscriber.error(err);
        });
      });
    }
    exports2.fromAsyncIterable = fromAsyncIterable;
    function fromReadableStreamLike(readableStream) {
      return fromAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(readableStream));
    }
    exports2.fromReadableStreamLike = fromReadableStreamLike;
    function process2(asyncIterable, subscriber) {
      var asyncIterable_1, asyncIterable_1_1;
      var e_2, _a;
      return __awaiter2(this, void 0, void 0, function() {
        var value, e_2_1;
        return __generator2(this, function(_b) {
          switch (_b.label) {
            case 0:
              _b.trys.push([0, 5, 6, 11]);
              asyncIterable_1 = __asyncValues2(asyncIterable);
              _b.label = 1;
            case 1:
              return [4, asyncIterable_1.next()];
            case 2:
              if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];
              value = asyncIterable_1_1.value;
              subscriber.next(value);
              if (subscriber.closed) {
                return [2];
              }
              _b.label = 3;
            case 3:
              return [3, 1];
            case 4:
              return [3, 11];
            case 5:
              e_2_1 = _b.sent();
              e_2 = { error: e_2_1 };
              return [3, 11];
            case 6:
              _b.trys.push([6, , 9, 10]);
              if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];
              return [4, _a.call(asyncIterable_1)];
            case 7:
              _b.sent();
              _b.label = 8;
            case 8:
              return [3, 10];
            case 9:
              if (e_2) throw e_2.error;
              return [7];
            case 10:
              return [7];
            case 11:
              subscriber.complete();
              return [2];
          }
        });
      });
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js
var require_executeSchedule = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/executeSchedule.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.executeSchedule = void 0;
    function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {
      if (delay === void 0) {
        delay = 0;
      }
      if (repeat === void 0) {
        repeat = false;
      }
      var scheduleSubscription = scheduler.schedule(function() {
        work();
        if (repeat) {
          parentSubscription.add(this.schedule(null, delay));
        } else {
          this.unsubscribe();
        }
      }, delay);
      parentSubscription.add(scheduleSubscription);
      if (!repeat) {
        return scheduleSubscription;
      }
    }
    exports2.executeSchedule = executeSchedule;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js
var require_observeOn = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/observeOn.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.observeOn = void 0;
    var executeSchedule_1 = require_executeSchedule();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function observeOn(scheduler, delay) {
      if (delay === void 0) {
        delay = 0;
      }
      return lift_1.operate(function(source, subscriber) {
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            return subscriber.next(value);
          }, delay);
        }, function() {
          return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            return subscriber.complete();
          }, delay);
        }, function(err) {
          return executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            return subscriber.error(err);
          }, delay);
        }));
      });
    }
    exports2.observeOn = observeOn;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js
var require_subscribeOn = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/subscribeOn.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.subscribeOn = void 0;
    var lift_1 = require_lift();
    function subscribeOn(scheduler, delay) {
      if (delay === void 0) {
        delay = 0;
      }
      return lift_1.operate(function(source, subscriber) {
        subscriber.add(scheduler.schedule(function() {
          return source.subscribe(subscriber);
        }, delay));
      });
    }
    exports2.subscribeOn = subscribeOn;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js
var require_scheduleObservable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleObservable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduleObservable = void 0;
    var innerFrom_1 = require_innerFrom();
    var observeOn_1 = require_observeOn();
    var subscribeOn_1 = require_subscribeOn();
    function scheduleObservable(input, scheduler) {
      return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
    }
    exports2.scheduleObservable = scheduleObservable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js
var require_schedulePromise = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/schedulePromise.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.schedulePromise = void 0;
    var innerFrom_1 = require_innerFrom();
    var observeOn_1 = require_observeOn();
    var subscribeOn_1 = require_subscribeOn();
    function schedulePromise(input, scheduler) {
      return innerFrom_1.innerFrom(input).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
    }
    exports2.schedulePromise = schedulePromise;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js
var require_scheduleArray = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleArray.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduleArray = void 0;
    var Observable_1 = require_Observable();
    function scheduleArray(input, scheduler) {
      return new Observable_1.Observable(function(subscriber) {
        var i = 0;
        return scheduler.schedule(function() {
          if (i === input.length) {
            subscriber.complete();
          } else {
            subscriber.next(input[i++]);
            if (!subscriber.closed) {
              this.schedule();
            }
          }
        });
      });
    }
    exports2.scheduleArray = scheduleArray;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js
var require_scheduleIterable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleIterable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduleIterable = void 0;
    var Observable_1 = require_Observable();
    var iterator_1 = require_iterator();
    var isFunction_1 = require_isFunction();
    var executeSchedule_1 = require_executeSchedule();
    function scheduleIterable(input, scheduler) {
      return new Observable_1.Observable(function(subscriber) {
        var iterator;
        executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
          iterator = input[iterator_1.iterator]();
          executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            var _a;
            var value;
            var done;
            try {
              _a = iterator.next(), value = _a.value, done = _a.done;
            } catch (err) {
              subscriber.error(err);
              return;
            }
            if (done) {
              subscriber.complete();
            } else {
              subscriber.next(value);
            }
          }, 0, true);
        });
        return function() {
          return isFunction_1.isFunction(iterator === null || iterator === void 0 ? void 0 : iterator.return) && iterator.return();
        };
      });
    }
    exports2.scheduleIterable = scheduleIterable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js
var require_scheduleAsyncIterable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleAsyncIterable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduleAsyncIterable = void 0;
    var Observable_1 = require_Observable();
    var executeSchedule_1 = require_executeSchedule();
    function scheduleAsyncIterable(input, scheduler) {
      if (!input) {
        throw new Error("Iterable cannot be null");
      }
      return new Observable_1.Observable(function(subscriber) {
        executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
          var iterator = input[Symbol.asyncIterator]();
          executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            iterator.next().then(function(result2) {
              if (result2.done) {
                subscriber.complete();
              } else {
                subscriber.next(result2.value);
              }
            });
          }, 0, true);
        });
      });
    }
    exports2.scheduleAsyncIterable = scheduleAsyncIterable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js
var require_scheduleReadableStreamLike = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduleReadableStreamLike.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduleReadableStreamLike = void 0;
    var scheduleAsyncIterable_1 = require_scheduleAsyncIterable();
    var isReadableStreamLike_1 = require_isReadableStreamLike();
    function scheduleReadableStreamLike(input, scheduler) {
      return scheduleAsyncIterable_1.scheduleAsyncIterable(isReadableStreamLike_1.readableStreamLikeToAsyncGenerator(input), scheduler);
    }
    exports2.scheduleReadableStreamLike = scheduleReadableStreamLike;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js
var require_scheduled = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/scheduled/scheduled.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scheduled = void 0;
    var scheduleObservable_1 = require_scheduleObservable();
    var schedulePromise_1 = require_schedulePromise();
    var scheduleArray_1 = require_scheduleArray();
    var scheduleIterable_1 = require_scheduleIterable();
    var scheduleAsyncIterable_1 = require_scheduleAsyncIterable();
    var isInteropObservable_1 = require_isInteropObservable();
    var isPromise_1 = require_isPromise();
    var isArrayLike_1 = require_isArrayLike2();
    var isIterable_1 = require_isIterable();
    var isAsyncIterable_1 = require_isAsyncIterable();
    var throwUnobservableError_1 = require_throwUnobservableError();
    var isReadableStreamLike_1 = require_isReadableStreamLike();
    var scheduleReadableStreamLike_1 = require_scheduleReadableStreamLike();
    function scheduled(input, scheduler) {
      if (input != null) {
        if (isInteropObservable_1.isInteropObservable(input)) {
          return scheduleObservable_1.scheduleObservable(input, scheduler);
        }
        if (isArrayLike_1.isArrayLike(input)) {
          return scheduleArray_1.scheduleArray(input, scheduler);
        }
        if (isPromise_1.isPromise(input)) {
          return schedulePromise_1.schedulePromise(input, scheduler);
        }
        if (isAsyncIterable_1.isAsyncIterable(input)) {
          return scheduleAsyncIterable_1.scheduleAsyncIterable(input, scheduler);
        }
        if (isIterable_1.isIterable(input)) {
          return scheduleIterable_1.scheduleIterable(input, scheduler);
        }
        if (isReadableStreamLike_1.isReadableStreamLike(input)) {
          return scheduleReadableStreamLike_1.scheduleReadableStreamLike(input, scheduler);
        }
      }
      throw throwUnobservableError_1.createInvalidObservableTypeError(input);
    }
    exports2.scheduled = scheduled;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/from.js
var require_from2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/from.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.from = void 0;
    var scheduled_1 = require_scheduled();
    var innerFrom_1 = require_innerFrom();
    function from(input, scheduler) {
      return scheduler ? scheduled_1.scheduled(input, scheduler) : innerFrom_1.innerFrom(input);
    }
    exports2.from = from;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/of.js
var require_of = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/of.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.of = void 0;
    var args_1 = require_args();
    var from_1 = require_from2();
    function of() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(args);
      return from_1.from(args, scheduler);
    }
    exports2.of = of;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/throwError.js
var require_throwError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/throwError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.throwError = void 0;
    var Observable_1 = require_Observable();
    var isFunction_1 = require_isFunction();
    function throwError(errorOrErrorFactory, scheduler) {
      var errorFactory = isFunction_1.isFunction(errorOrErrorFactory) ? errorOrErrorFactory : function() {
        return errorOrErrorFactory;
      };
      var init = function(subscriber) {
        return subscriber.error(errorFactory());
      };
      return new Observable_1.Observable(scheduler ? function(subscriber) {
        return scheduler.schedule(init, 0, subscriber);
      } : init);
    }
    exports2.throwError = throwError;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Notification.js
var require_Notification = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/Notification.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.observeNotification = exports2.Notification = exports2.NotificationKind = void 0;
    var empty_1 = require_empty();
    var of_1 = require_of();
    var throwError_1 = require_throwError();
    var isFunction_1 = require_isFunction();
    var NotificationKind;
    (function(NotificationKind2) {
      NotificationKind2["NEXT"] = "N";
      NotificationKind2["ERROR"] = "E";
      NotificationKind2["COMPLETE"] = "C";
    })(NotificationKind = exports2.NotificationKind || (exports2.NotificationKind = {}));
    var Notification = function() {
      function Notification2(kind, value, error) {
        this.kind = kind;
        this.value = value;
        this.error = error;
        this.hasValue = kind === "N";
      }
      Notification2.prototype.observe = function(observer) {
        return observeNotification(this, observer);
      };
      Notification2.prototype.do = function(nextHandler, errorHandler, completeHandler) {
        var _a = this, kind = _a.kind, value = _a.value, error = _a.error;
        return kind === "N" ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === "E" ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();
      };
      Notification2.prototype.accept = function(nextOrObserver, error, complete) {
        var _a;
        return isFunction_1.isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next) ? this.observe(nextOrObserver) : this.do(nextOrObserver, error, complete);
      };
      Notification2.prototype.toObservable = function() {
        var _a = this, kind = _a.kind, value = _a.value, error = _a.error;
        var result2 = kind === "N" ? of_1.of(value) : kind === "E" ? throwError_1.throwError(function() {
          return error;
        }) : kind === "C" ? empty_1.EMPTY : 0;
        if (!result2) {
          throw new TypeError("Unexpected notification kind " + kind);
        }
        return result2;
      };
      Notification2.createNext = function(value) {
        return new Notification2("N", value);
      };
      Notification2.createError = function(err) {
        return new Notification2("E", void 0, err);
      };
      Notification2.createComplete = function() {
        return Notification2.completeNotification;
      };
      Notification2.completeNotification = new Notification2("C");
      return Notification2;
    }();
    exports2.Notification = Notification;
    function observeNotification(notification, observer) {
      var _a, _b, _c;
      var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;
      if (typeof kind !== "string") {
        throw new TypeError('Invalid notification, missing "kind"');
      }
      kind === "N" ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === "E" ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);
    }
    exports2.observeNotification = observeNotification;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isObservable.js
var require_isObservable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isObservable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isObservable = void 0;
    var Observable_1 = require_Observable();
    var isFunction_1 = require_isFunction();
    function isObservable(obj) {
      return !!obj && (obj instanceof Observable_1.Observable || isFunction_1.isFunction(obj.lift) && isFunction_1.isFunction(obj.subscribe));
    }
    exports2.isObservable = isObservable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js
var require_EmptyError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/EmptyError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.EmptyError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.EmptyError = createErrorClass_1.createErrorClass(function(_super) {
      return function EmptyErrorImpl() {
        _super(this);
        this.name = "EmptyError";
        this.message = "no elements in sequence";
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js
var require_lastValueFrom = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/lastValueFrom.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lastValueFrom = void 0;
    var EmptyError_1 = require_EmptyError();
    function lastValueFrom(source, config) {
      var hasConfig = typeof config === "object";
      return new Promise(function(resolve, reject) {
        var _hasValue = false;
        var _value;
        source.subscribe({
          next: function(value) {
            _value = value;
            _hasValue = true;
          },
          error: reject,
          complete: function() {
            if (_hasValue) {
              resolve(_value);
            } else if (hasConfig) {
              resolve(config.defaultValue);
            } else {
              reject(new EmptyError_1.EmptyError());
            }
          }
        });
      });
    }
    exports2.lastValueFrom = lastValueFrom;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js
var require_firstValueFrom = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/firstValueFrom.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.firstValueFrom = void 0;
    var EmptyError_1 = require_EmptyError();
    var Subscriber_1 = require_Subscriber();
    function firstValueFrom(source, config) {
      var hasConfig = typeof config === "object";
      return new Promise(function(resolve, reject) {
        var subscriber = new Subscriber_1.SafeSubscriber({
          next: function(value) {
            resolve(value);
            subscriber.unsubscribe();
          },
          error: reject,
          complete: function() {
            if (hasConfig) {
              resolve(config.defaultValue);
            } else {
              reject(new EmptyError_1.EmptyError());
            }
          }
        });
        source.subscribe(subscriber);
      });
    }
    exports2.firstValueFrom = firstValueFrom;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js
var require_ArgumentOutOfRangeError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/ArgumentOutOfRangeError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ArgumentOutOfRangeError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.ArgumentOutOfRangeError = createErrorClass_1.createErrorClass(function(_super) {
      return function ArgumentOutOfRangeErrorImpl() {
        _super(this);
        this.name = "ArgumentOutOfRangeError";
        this.message = "argument out of range";
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js
var require_NotFoundError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/NotFoundError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.NotFoundError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.NotFoundError = createErrorClass_1.createErrorClass(function(_super) {
      return function NotFoundErrorImpl(message) {
        _super(this);
        this.name = "NotFoundError";
        this.message = message;
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js
var require_SequenceError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/SequenceError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SequenceError = void 0;
    var createErrorClass_1 = require_createErrorClass();
    exports2.SequenceError = createErrorClass_1.createErrorClass(function(_super) {
      return function SequenceErrorImpl(message) {
        _super(this);
        this.name = "SequenceError";
        this.message = message;
      };
    });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isDate.js
var require_isDate = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/isDate.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isValidDate = void 0;
    function isValidDate(value) {
      return value instanceof Date && !isNaN(value);
    }
    exports2.isValidDate = isValidDate;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeout.js
var require_timeout = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeout.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.timeout = exports2.TimeoutError = void 0;
    var async_1 = require_async();
    var isDate_1 = require_isDate();
    var lift_1 = require_lift();
    var innerFrom_1 = require_innerFrom();
    var createErrorClass_1 = require_createErrorClass();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var executeSchedule_1 = require_executeSchedule();
    exports2.TimeoutError = createErrorClass_1.createErrorClass(function(_super) {
      return function TimeoutErrorImpl(info) {
        if (info === void 0) {
          info = null;
        }
        _super(this);
        this.message = "Timeout has occurred";
        this.name = "TimeoutError";
        this.info = info;
      };
    });
    function timeout(config, schedulerArg) {
      var _a = isDate_1.isValidDate(config) ? { first: config } : typeof config === "number" ? { each: config } : config, first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : async_1.asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;
      if (first == null && each == null) {
        throw new TypeError("No timeout provided.");
      }
      return lift_1.operate(function(source, subscriber) {
        var originalSourceSubscription;
        var timerSubscription;
        var lastValue = null;
        var seen = 0;
        var startTimer = function(delay) {
          timerSubscription = executeSchedule_1.executeSchedule(subscriber, scheduler, function() {
            try {
              originalSourceSubscription.unsubscribe();
              innerFrom_1.innerFrom(_with({
                meta,
                lastValue,
                seen
              })).subscribe(subscriber);
            } catch (err) {
              subscriber.error(err);
            }
          }, delay);
        };
        originalSourceSubscription = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
          seen++;
          subscriber.next(lastValue = value);
          each > 0 && startTimer(each);
        }, void 0, void 0, function() {
          if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {
            timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();
          }
          lastValue = null;
        }));
        !seen && startTimer(first != null ? typeof first === "number" ? first : +first - scheduler.now() : each);
      });
    }
    exports2.timeout = timeout;
    function timeoutErrorFactory(info) {
      throw new exports2.TimeoutError(info);
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/map.js
var require_map4 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/map.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.map = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function map(project, thisArg) {
      return lift_1.operate(function(source, subscriber) {
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          subscriber.next(project.call(thisArg, value, index++));
        }));
      });
    }
    exports2.map = map;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js
var require_mapOneOrManyArgs = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/mapOneOrManyArgs.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mapOneOrManyArgs = void 0;
    var map_1 = require_map4();
    var isArray = Array.isArray;
    function callOrApply(fn, args) {
      return isArray(args) ? fn.apply(void 0, __spreadArray2([], __read2(args))) : fn(args);
    }
    function mapOneOrManyArgs(fn) {
      return map_1.map(function(args) {
        return callOrApply(fn, args);
      });
    }
    exports2.mapOneOrManyArgs = mapOneOrManyArgs;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js
var require_bindCallbackInternals = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindCallbackInternals.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bindCallbackInternals = void 0;
    var isScheduler_1 = require_isScheduler();
    var Observable_1 = require_Observable();
    var subscribeOn_1 = require_subscribeOn();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var observeOn_1 = require_observeOn();
    var AsyncSubject_1 = require_AsyncSubject();
    function bindCallbackInternals(isNodeStyle, callbackFunc, resultSelector, scheduler) {
      if (resultSelector) {
        if (isScheduler_1.isScheduler(resultSelector)) {
          scheduler = resultSelector;
        } else {
          return function() {
            var args = [];
            for (var _i = 0; _i < arguments.length; _i++) {
              args[_i] = arguments[_i];
            }
            return bindCallbackInternals(isNodeStyle, callbackFunc, scheduler).apply(this, args).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
          };
        }
      }
      if (scheduler) {
        return function() {
          var args = [];
          for (var _i = 0; _i < arguments.length; _i++) {
            args[_i] = arguments[_i];
          }
          return bindCallbackInternals(isNodeStyle, callbackFunc).apply(this, args).pipe(subscribeOn_1.subscribeOn(scheduler), observeOn_1.observeOn(scheduler));
        };
      }
      return function() {
        var _this = this;
        var args = [];
        for (var _i = 0; _i < arguments.length; _i++) {
          args[_i] = arguments[_i];
        }
        var subject = new AsyncSubject_1.AsyncSubject();
        var uninitialized = true;
        return new Observable_1.Observable(function(subscriber) {
          var subs = subject.subscribe(subscriber);
          if (uninitialized) {
            uninitialized = false;
            var isAsync_1 = false;
            var isComplete_1 = false;
            callbackFunc.apply(_this, __spreadArray2(__spreadArray2([], __read2(args)), [
              function() {
                var results = [];
                for (var _i2 = 0; _i2 < arguments.length; _i2++) {
                  results[_i2] = arguments[_i2];
                }
                if (isNodeStyle) {
                  var err = results.shift();
                  if (err != null) {
                    subject.error(err);
                    return;
                  }
                }
                subject.next(1 < results.length ? results : results[0]);
                isComplete_1 = true;
                if (isAsync_1) {
                  subject.complete();
                }
              }
            ]));
            if (isComplete_1) {
              subject.complete();
            }
            isAsync_1 = true;
          }
          return subs;
        });
      };
    }
    exports2.bindCallbackInternals = bindCallbackInternals;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js
var require_bindCallback = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindCallback.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bindCallback = void 0;
    var bindCallbackInternals_1 = require_bindCallbackInternals();
    function bindCallback(callbackFunc, resultSelector, scheduler) {
      return bindCallbackInternals_1.bindCallbackInternals(false, callbackFunc, resultSelector, scheduler);
    }
    exports2.bindCallback = bindCallback;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js
var require_bindNodeCallback = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/bindNodeCallback.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bindNodeCallback = void 0;
    var bindCallbackInternals_1 = require_bindCallbackInternals();
    function bindNodeCallback(callbackFunc, resultSelector, scheduler) {
      return bindCallbackInternals_1.bindCallbackInternals(true, callbackFunc, resultSelector, scheduler);
    }
    exports2.bindNodeCallback = bindNodeCallback;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js
var require_argsArgArrayOrObject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/argsArgArrayOrObject.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.argsArgArrayOrObject = void 0;
    var isArray = Array.isArray;
    var getPrototypeOf = Object.getPrototypeOf;
    var objectProto = Object.prototype;
    var getKeys = Object.keys;
    function argsArgArrayOrObject(args) {
      if (args.length === 1) {
        var first_1 = args[0];
        if (isArray(first_1)) {
          return { args: first_1, keys: null };
        }
        if (isPOJO(first_1)) {
          var keys = getKeys(first_1);
          return {
            args: keys.map(function(key) {
              return first_1[key];
            }),
            keys
          };
        }
      }
      return { args, keys: null };
    }
    exports2.argsArgArrayOrObject = argsArgArrayOrObject;
    function isPOJO(obj) {
      return obj && typeof obj === "object" && getPrototypeOf(obj) === objectProto;
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/createObject.js
var require_createObject = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/createObject.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createObject = void 0;
    function createObject(keys, values) {
      return keys.reduce(function(result2, key, i) {
        return result2[key] = values[i], result2;
      }, {});
    }
    exports2.createObject = createObject;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js
var require_combineLatest = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/combineLatest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.combineLatestInit = exports2.combineLatest = void 0;
    var Observable_1 = require_Observable();
    var argsArgArrayOrObject_1 = require_argsArgArrayOrObject();
    var from_1 = require_from2();
    var identity_1 = require_identity();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var args_1 = require_args();
    var createObject_1 = require_createObject();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var executeSchedule_1 = require_executeSchedule();
    function combineLatest() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(args);
      var resultSelector = args_1.popResultSelector(args);
      var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), observables = _a.args, keys = _a.keys;
      if (observables.length === 0) {
        return from_1.from([], scheduler);
      }
      var result2 = new Observable_1.Observable(combineLatestInit(observables, scheduler, keys ? function(values) {
        return createObject_1.createObject(keys, values);
      } : identity_1.identity));
      return resultSelector ? result2.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result2;
    }
    exports2.combineLatest = combineLatest;
    function combineLatestInit(observables, scheduler, valueTransform) {
      if (valueTransform === void 0) {
        valueTransform = identity_1.identity;
      }
      return function(subscriber) {
        maybeSchedule(scheduler, function() {
          var length = observables.length;
          var values = new Array(length);
          var active = length;
          var remainingFirstValues = length;
          var _loop_1 = function(i2) {
            maybeSchedule(scheduler, function() {
              var source = from_1.from(observables[i2], scheduler);
              var hasFirstValue = false;
              source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
                values[i2] = value;
                if (!hasFirstValue) {
                  hasFirstValue = true;
                  remainingFirstValues--;
                }
                if (!remainingFirstValues) {
                  subscriber.next(valueTransform(values.slice()));
                }
              }, function() {
                if (!--active) {
                  subscriber.complete();
                }
              }));
            }, subscriber);
          };
          for (var i = 0; i < length; i++) {
            _loop_1(i);
          }
        }, subscriber);
      };
    }
    exports2.combineLatestInit = combineLatestInit;
    function maybeSchedule(scheduler, execute, subscription) {
      if (scheduler) {
        executeSchedule_1.executeSchedule(subscription, scheduler, execute);
      } else {
        execute();
      }
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js
var require_mergeInternals = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeInternals = void 0;
    var innerFrom_1 = require_innerFrom();
    var executeSchedule_1 = require_executeSchedule();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {
      var buffer = [];
      var active = 0;
      var index = 0;
      var isComplete = false;
      var checkComplete = function() {
        if (isComplete && !buffer.length && !active) {
          subscriber.complete();
        }
      };
      var outerNext = function(value) {
        return active < concurrent ? doInnerSub(value) : buffer.push(value);
      };
      var doInnerSub = function(value) {
        expand && subscriber.next(value);
        active++;
        var innerComplete = false;
        innerFrom_1.innerFrom(project(value, index++)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) {
          onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);
          if (expand) {
            outerNext(innerValue);
          } else {
            subscriber.next(innerValue);
          }
        }, function() {
          innerComplete = true;
        }, void 0, function() {
          if (innerComplete) {
            try {
              active--;
              var _loop_1 = function() {
                var bufferedValue = buffer.shift();
                if (innerSubScheduler) {
                  executeSchedule_1.executeSchedule(subscriber, innerSubScheduler, function() {
                    return doInnerSub(bufferedValue);
                  });
                } else {
                  doInnerSub(bufferedValue);
                }
              };
              while (buffer.length && active < concurrent) {
                _loop_1();
              }
              checkComplete();
            } catch (err) {
              subscriber.error(err);
            }
          }
        }));
      };
      source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, outerNext, function() {
        isComplete = true;
        checkComplete();
      }));
      return function() {
        additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();
      };
    }
    exports2.mergeInternals = mergeInternals;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js
var require_mergeMap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeMap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeMap = void 0;
    var map_1 = require_map4();
    var innerFrom_1 = require_innerFrom();
    var lift_1 = require_lift();
    var mergeInternals_1 = require_mergeInternals();
    var isFunction_1 = require_isFunction();
    function mergeMap(project, resultSelector, concurrent) {
      if (concurrent === void 0) {
        concurrent = Infinity;
      }
      if (isFunction_1.isFunction(resultSelector)) {
        return mergeMap(function(a, i) {
          return map_1.map(function(b, ii) {
            return resultSelector(a, b, i, ii);
          })(innerFrom_1.innerFrom(project(a, i)));
        }, concurrent);
      } else if (typeof resultSelector === "number") {
        concurrent = resultSelector;
      }
      return lift_1.operate(function(source, subscriber) {
        return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent);
      });
    }
    exports2.mergeMap = mergeMap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js
var require_mergeAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeAll = void 0;
    var mergeMap_1 = require_mergeMap();
    var identity_1 = require_identity();
    function mergeAll(concurrent) {
      if (concurrent === void 0) {
        concurrent = Infinity;
      }
      return mergeMap_1.mergeMap(identity_1.identity, concurrent);
    }
    exports2.mergeAll = mergeAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js
var require_concatAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concatAll = void 0;
    var mergeAll_1 = require_mergeAll();
    function concatAll() {
      return mergeAll_1.mergeAll(1);
    }
    exports2.concatAll = concatAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/concat.js
var require_concat = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/concat.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concat = void 0;
    var concatAll_1 = require_concatAll();
    var args_1 = require_args();
    var from_1 = require_from2();
    function concat() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      return concatAll_1.concatAll()(from_1.from(args, args_1.popScheduler(args)));
    }
    exports2.concat = concat;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/defer.js
var require_defer = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/defer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.defer = void 0;
    var Observable_1 = require_Observable();
    var innerFrom_1 = require_innerFrom();
    function defer(observableFactory) {
      return new Observable_1.Observable(function(subscriber) {
        innerFrom_1.innerFrom(observableFactory()).subscribe(subscriber);
      });
    }
    exports2.defer = defer;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/connectable.js
var require_connectable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/connectable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.connectable = void 0;
    var Subject_1 = require_Subject();
    var Observable_1 = require_Observable();
    var defer_1 = require_defer();
    var DEFAULT_CONFIG = {
      connector: function() {
        return new Subject_1.Subject();
      },
      resetOnDisconnect: true
    };
    function connectable(source, config) {
      if (config === void 0) {
        config = DEFAULT_CONFIG;
      }
      var connection = null;
      var connector = config.connector, _a = config.resetOnDisconnect, resetOnDisconnect = _a === void 0 ? true : _a;
      var subject = connector();
      var result2 = new Observable_1.Observable(function(subscriber) {
        return subject.subscribe(subscriber);
      });
      result2.connect = function() {
        if (!connection || connection.closed) {
          connection = defer_1.defer(function() {
            return source;
          }).subscribe(subject);
          if (resetOnDisconnect) {
            connection.add(function() {
              return subject = connector();
            });
          }
        }
        return connection;
      };
      return result2;
    }
    exports2.connectable = connectable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js
var require_forkJoin = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/forkJoin.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.forkJoin = void 0;
    var Observable_1 = require_Observable();
    var argsArgArrayOrObject_1 = require_argsArgArrayOrObject();
    var innerFrom_1 = require_innerFrom();
    var args_1 = require_args();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var createObject_1 = require_createObject();
    function forkJoin() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var resultSelector = args_1.popResultSelector(args);
      var _a = argsArgArrayOrObject_1.argsArgArrayOrObject(args), sources = _a.args, keys = _a.keys;
      var result2 = new Observable_1.Observable(function(subscriber) {
        var length = sources.length;
        if (!length) {
          subscriber.complete();
          return;
        }
        var values = new Array(length);
        var remainingCompletions = length;
        var remainingEmissions = length;
        var _loop_1 = function(sourceIndex2) {
          var hasValue = false;
          innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
            if (!hasValue) {
              hasValue = true;
              remainingEmissions--;
            }
            values[sourceIndex2] = value;
          }, function() {
            return remainingCompletions--;
          }, void 0, function() {
            if (!remainingCompletions || !hasValue) {
              if (!remainingEmissions) {
                subscriber.next(keys ? createObject_1.createObject(keys, values) : values);
              }
              subscriber.complete();
            }
          }));
        };
        for (var sourceIndex = 0; sourceIndex < length; sourceIndex++) {
          _loop_1(sourceIndex);
        }
      });
      return resultSelector ? result2.pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : result2;
    }
    exports2.forkJoin = forkJoin;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js
var require_fromEvent = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromEvent.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fromEvent = void 0;
    var innerFrom_1 = require_innerFrom();
    var Observable_1 = require_Observable();
    var mergeMap_1 = require_mergeMap();
    var isArrayLike_1 = require_isArrayLike2();
    var isFunction_1 = require_isFunction();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var nodeEventEmitterMethods = ["addListener", "removeListener"];
    var eventTargetMethods = ["addEventListener", "removeEventListener"];
    var jqueryMethods = ["on", "off"];
    function fromEvent(target, eventName, options, resultSelector) {
      if (isFunction_1.isFunction(options)) {
        resultSelector = options;
        options = void 0;
      }
      if (resultSelector) {
        return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
      }
      var _a = __read2(isEventTarget(target) ? eventTargetMethods.map(function(methodName) {
        return function(handler) {
          return target[methodName](eventName, handler, options);
        };
      }) : isNodeStyleEventEmitter(target) ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName)) : isJQueryStyleEventEmitter(target) ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName)) : [], 2), add = _a[0], remove = _a[1];
      if (!add) {
        if (isArrayLike_1.isArrayLike(target)) {
          return mergeMap_1.mergeMap(function(subTarget) {
            return fromEvent(subTarget, eventName, options);
          })(innerFrom_1.innerFrom(target));
        }
      }
      if (!add) {
        throw new TypeError("Invalid event target");
      }
      return new Observable_1.Observable(function(subscriber) {
        var handler = function() {
          var args = [];
          for (var _i = 0; _i < arguments.length; _i++) {
            args[_i] = arguments[_i];
          }
          return subscriber.next(1 < args.length ? args : args[0]);
        };
        add(handler);
        return function() {
          return remove(handler);
        };
      });
    }
    exports2.fromEvent = fromEvent;
    function toCommonHandlerRegistry(target, eventName) {
      return function(methodName) {
        return function(handler) {
          return target[methodName](eventName, handler);
        };
      };
    }
    function isNodeStyleEventEmitter(target) {
      return isFunction_1.isFunction(target.addListener) && isFunction_1.isFunction(target.removeListener);
    }
    function isJQueryStyleEventEmitter(target) {
      return isFunction_1.isFunction(target.on) && isFunction_1.isFunction(target.off);
    }
    function isEventTarget(target) {
      return isFunction_1.isFunction(target.addEventListener) && isFunction_1.isFunction(target.removeEventListener);
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js
var require_fromEventPattern = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromEventPattern.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fromEventPattern = void 0;
    var Observable_1 = require_Observable();
    var isFunction_1 = require_isFunction();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    function fromEventPattern(addHandler, removeHandler, resultSelector) {
      if (resultSelector) {
        return fromEventPattern(addHandler, removeHandler).pipe(mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector));
      }
      return new Observable_1.Observable(function(subscriber) {
        var handler = function() {
          var e = [];
          for (var _i = 0; _i < arguments.length; _i++) {
            e[_i] = arguments[_i];
          }
          return subscriber.next(e.length === 1 ? e[0] : e);
        };
        var retValue = addHandler(handler);
        return isFunction_1.isFunction(removeHandler) ? function() {
          return removeHandler(handler, retValue);
        } : void 0;
      });
    }
    exports2.fromEventPattern = fromEventPattern;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/generate.js
var require_generate = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/generate.js"(exports2) {
    "use strict";
    var __generator2 = exports2 && exports2.__generator || function(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 (_) 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 };
      }
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.generate = void 0;
    var identity_1 = require_identity();
    var isScheduler_1 = require_isScheduler();
    var defer_1 = require_defer();
    var scheduleIterable_1 = require_scheduleIterable();
    function generate(initialStateOrOptions, condition, iterate, resultSelectorOrScheduler, scheduler) {
      var _a, _b;
      var resultSelector;
      var initialState;
      if (arguments.length === 1) {
        _a = initialStateOrOptions, initialState = _a.initialState, condition = _a.condition, iterate = _a.iterate, _b = _a.resultSelector, resultSelector = _b === void 0 ? identity_1.identity : _b, scheduler = _a.scheduler;
      } else {
        initialState = initialStateOrOptions;
        if (!resultSelectorOrScheduler || isScheduler_1.isScheduler(resultSelectorOrScheduler)) {
          resultSelector = identity_1.identity;
          scheduler = resultSelectorOrScheduler;
        } else {
          resultSelector = resultSelectorOrScheduler;
        }
      }
      function gen() {
        var state;
        return __generator2(this, function(_a2) {
          switch (_a2.label) {
            case 0:
              state = initialState;
              _a2.label = 1;
            case 1:
              if (!(!condition || condition(state))) return [3, 4];
              return [4, resultSelector(state)];
            case 2:
              _a2.sent();
              _a2.label = 3;
            case 3:
              state = iterate(state);
              return [3, 1];
            case 4:
              return [2];
          }
        });
      }
      return defer_1.defer(scheduler ? function() {
        return scheduleIterable_1.scheduleIterable(gen(), scheduler);
      } : gen);
    }
    exports2.generate = generate;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/iif.js
var require_iif = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/iif.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.iif = void 0;
    var defer_1 = require_defer();
    function iif(condition, trueResult, falseResult) {
      return defer_1.defer(function() {
        return condition() ? trueResult : falseResult;
      });
    }
    exports2.iif = iif;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/timer.js
var require_timer = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/timer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.timer = void 0;
    var Observable_1 = require_Observable();
    var async_1 = require_async();
    var isScheduler_1 = require_isScheduler();
    var isDate_1 = require_isDate();
    function timer(dueTime, intervalOrScheduler, scheduler) {
      if (dueTime === void 0) {
        dueTime = 0;
      }
      if (scheduler === void 0) {
        scheduler = async_1.async;
      }
      var intervalDuration = -1;
      if (intervalOrScheduler != null) {
        if (isScheduler_1.isScheduler(intervalOrScheduler)) {
          scheduler = intervalOrScheduler;
        } else {
          intervalDuration = intervalOrScheduler;
        }
      }
      return new Observable_1.Observable(function(subscriber) {
        var due = isDate_1.isValidDate(dueTime) ? +dueTime - scheduler.now() : dueTime;
        if (due < 0) {
          due = 0;
        }
        var n = 0;
        return scheduler.schedule(function() {
          if (!subscriber.closed) {
            subscriber.next(n++);
            if (0 <= intervalDuration) {
              this.schedule(void 0, intervalDuration);
            } else {
              subscriber.complete();
            }
          }
        }, due);
      });
    }
    exports2.timer = timer;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/interval.js
var require_interval = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/interval.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.interval = void 0;
    var async_1 = require_async();
    var timer_1 = require_timer();
    function interval(period, scheduler) {
      if (period === void 0) {
        period = 0;
      }
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      if (period < 0) {
        period = 0;
      }
      return timer_1.timer(period, period, scheduler);
    }
    exports2.interval = interval;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/merge.js
var require_merge2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/merge.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.merge = void 0;
    var mergeAll_1 = require_mergeAll();
    var innerFrom_1 = require_innerFrom();
    var empty_1 = require_empty();
    var args_1 = require_args();
    var from_1 = require_from2();
    function merge() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(args);
      var concurrent = args_1.popNumber(args, Infinity);
      var sources = args;
      return !sources.length ? empty_1.EMPTY : sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : mergeAll_1.mergeAll(concurrent)(from_1.from(sources, scheduler));
    }
    exports2.merge = merge;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/never.js
var require_never = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/never.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.never = exports2.NEVER = void 0;
    var Observable_1 = require_Observable();
    var noop_1 = require_noop();
    exports2.NEVER = new Observable_1.Observable(noop_1.noop);
    function never() {
      return exports2.NEVER;
    }
    exports2.never = never;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js
var require_argsOrArgArray = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/argsOrArgArray.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.argsOrArgArray = void 0;
    var isArray = Array.isArray;
    function argsOrArgArray(args) {
      return args.length === 1 && isArray(args[0]) ? args[0] : args;
    }
    exports2.argsOrArgArray = argsOrArgArray;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js
var require_onErrorResumeNext = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/onErrorResumeNext.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.onErrorResumeNext = void 0;
    var Observable_1 = require_Observable();
    var argsOrArgArray_1 = require_argsOrArgArray();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    var innerFrom_1 = require_innerFrom();
    function onErrorResumeNext() {
      var sources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        sources[_i] = arguments[_i];
      }
      var nextSources = argsOrArgArray_1.argsOrArgArray(sources);
      return new Observable_1.Observable(function(subscriber) {
        var sourceIndex = 0;
        var subscribeNext = function() {
          if (sourceIndex < nextSources.length) {
            var nextSource = void 0;
            try {
              nextSource = innerFrom_1.innerFrom(nextSources[sourceIndex++]);
            } catch (err) {
              subscribeNext();
              return;
            }
            var innerSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, void 0, noop_1.noop, noop_1.noop);
            nextSource.subscribe(innerSubscriber);
            innerSubscriber.add(subscribeNext);
          } else {
            subscriber.complete();
          }
        };
        subscribeNext();
      });
    }
    exports2.onErrorResumeNext = onErrorResumeNext;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/pairs.js
var require_pairs2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/pairs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pairs = void 0;
    var from_1 = require_from2();
    function pairs(obj, scheduler) {
      return from_1.from(Object.entries(obj), scheduler);
    }
    exports2.pairs = pairs;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/not.js
var require_not = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/util/not.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.not = void 0;
    function not(pred, thisArg) {
      return function(value, index) {
        return !pred.call(thisArg, value, index);
      };
    }
    exports2.not = not;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/filter.js
var require_filter = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/filter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filter = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function filter(predicate, thisArg) {
      return lift_1.operate(function(source, subscriber) {
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return predicate.call(thisArg, value, index++) && subscriber.next(value);
        }));
      });
    }
    exports2.filter = filter;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/partition.js
var require_partition = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/partition.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.partition = void 0;
    var not_1 = require_not();
    var filter_1 = require_filter();
    var innerFrom_1 = require_innerFrom();
    function partition(source, predicate, thisArg) {
      return [filter_1.filter(predicate, thisArg)(innerFrom_1.innerFrom(source)), filter_1.filter(not_1.not(predicate, thisArg))(innerFrom_1.innerFrom(source))];
    }
    exports2.partition = partition;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/race.js
var require_race = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/race.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.raceInit = exports2.race = void 0;
    var Observable_1 = require_Observable();
    var innerFrom_1 = require_innerFrom();
    var argsOrArgArray_1 = require_argsOrArgArray();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function race() {
      var sources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        sources[_i] = arguments[_i];
      }
      sources = argsOrArgArray_1.argsOrArgArray(sources);
      return sources.length === 1 ? innerFrom_1.innerFrom(sources[0]) : new Observable_1.Observable(raceInit(sources));
    }
    exports2.race = race;
    function raceInit(sources) {
      return function(subscriber) {
        var subscriptions = [];
        var _loop_1 = function(i2) {
          subscriptions.push(innerFrom_1.innerFrom(sources[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
            if (subscriptions) {
              for (var s = 0; s < subscriptions.length; s++) {
                s !== i2 && subscriptions[s].unsubscribe();
              }
              subscriptions = null;
            }
            subscriber.next(value);
          })));
        };
        for (var i = 0; subscriptions && !subscriber.closed && i < sources.length; i++) {
          _loop_1(i);
        }
      };
    }
    exports2.raceInit = raceInit;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/range.js
var require_range = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/range.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.range = void 0;
    var Observable_1 = require_Observable();
    var empty_1 = require_empty();
    function range(start, count, scheduler) {
      if (count == null) {
        count = start;
        start = 0;
      }
      if (count <= 0) {
        return empty_1.EMPTY;
      }
      var end = count + start;
      return new Observable_1.Observable(scheduler ? function(subscriber) {
        var n = start;
        return scheduler.schedule(function() {
          if (n < end) {
            subscriber.next(n++);
            this.schedule();
          } else {
            subscriber.complete();
          }
        });
      } : function(subscriber) {
        var n = start;
        while (n < end && !subscriber.closed) {
          subscriber.next(n++);
        }
        subscriber.complete();
      });
    }
    exports2.range = range;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/using.js
var require_using = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/using.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.using = void 0;
    var Observable_1 = require_Observable();
    var innerFrom_1 = require_innerFrom();
    var empty_1 = require_empty();
    function using(resourceFactory, observableFactory) {
      return new Observable_1.Observable(function(subscriber) {
        var resource = resourceFactory();
        var result2 = observableFactory(resource);
        var source = result2 ? innerFrom_1.innerFrom(result2) : empty_1.EMPTY;
        source.subscribe(subscriber);
        return function() {
          if (resource) {
            resource.unsubscribe();
          }
        };
      });
    }
    exports2.using = using;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/zip.js
var require_zip = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/zip.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.zip = void 0;
    var Observable_1 = require_Observable();
    var innerFrom_1 = require_innerFrom();
    var argsOrArgArray_1 = require_argsOrArgArray();
    var empty_1 = require_empty();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var args_1 = require_args();
    function zip() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var resultSelector = args_1.popResultSelector(args);
      var sources = argsOrArgArray_1.argsOrArgArray(args);
      return sources.length ? new Observable_1.Observable(function(subscriber) {
        var buffers = sources.map(function() {
          return [];
        });
        var completed = sources.map(function() {
          return false;
        });
        subscriber.add(function() {
          buffers = completed = null;
        });
        var _loop_1 = function(sourceIndex2) {
          innerFrom_1.innerFrom(sources[sourceIndex2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
            buffers[sourceIndex2].push(value);
            if (buffers.every(function(buffer) {
              return buffer.length;
            })) {
              var result2 = buffers.map(function(buffer) {
                return buffer.shift();
              });
              subscriber.next(resultSelector ? resultSelector.apply(void 0, __spreadArray2([], __read2(result2))) : result2);
              if (buffers.some(function(buffer, i) {
                return !buffer.length && completed[i];
              })) {
                subscriber.complete();
              }
            }
          }, function() {
            completed[sourceIndex2] = true;
            !buffers[sourceIndex2].length && subscriber.complete();
          }));
        };
        for (var sourceIndex = 0; !subscriber.closed && sourceIndex < sources.length; sourceIndex++) {
          _loop_1(sourceIndex);
        }
        return function() {
          buffers = completed = null;
        };
      }) : empty_1.EMPTY;
    }
    exports2.zip = zip;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/types.js
var require_types3 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/audit.js
var require_audit = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/audit.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.audit = void 0;
    var lift_1 = require_lift();
    var innerFrom_1 = require_innerFrom();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function audit(durationSelector) {
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        var lastValue = null;
        var durationSubscriber = null;
        var isComplete = false;
        var endDuration = function() {
          durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
          durationSubscriber = null;
          if (hasValue) {
            hasValue = false;
            var value = lastValue;
            lastValue = null;
            subscriber.next(value);
          }
          isComplete && subscriber.complete();
        };
        var cleanupDuration = function() {
          durationSubscriber = null;
          isComplete && subscriber.complete();
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          hasValue = true;
          lastValue = value;
          if (!durationSubscriber) {
            innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, endDuration, cleanupDuration));
          }
        }, function() {
          isComplete = true;
          (!hasValue || !durationSubscriber || durationSubscriber.closed) && subscriber.complete();
        }));
      });
    }
    exports2.audit = audit;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js
var require_auditTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/auditTime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.auditTime = void 0;
    var async_1 = require_async();
    var audit_1 = require_audit();
    var timer_1 = require_timer();
    function auditTime(duration, scheduler) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      return audit_1.audit(function() {
        return timer_1.timer(duration, scheduler);
      });
    }
    exports2.auditTime = auditTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/buffer.js
var require_buffer = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/buffer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.buffer = void 0;
    var lift_1 = require_lift();
    var noop_1 = require_noop();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function buffer(closingNotifier) {
      return lift_1.operate(function(source, subscriber) {
        var currentBuffer = [];
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return currentBuffer.push(value);
        }, function() {
          subscriber.next(currentBuffer);
          subscriber.complete();
        }));
        innerFrom_1.innerFrom(closingNotifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          var b = currentBuffer;
          currentBuffer = [];
          subscriber.next(b);
        }, noop_1.noop));
        return function() {
          currentBuffer = null;
        };
      });
    }
    exports2.buffer = buffer;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js
var require_bufferCount = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferCount.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bufferCount = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var arrRemove_1 = require_arrRemove();
    function bufferCount(bufferSize, startBufferEvery) {
      if (startBufferEvery === void 0) {
        startBufferEvery = null;
      }
      startBufferEvery = startBufferEvery !== null && startBufferEvery !== void 0 ? startBufferEvery : bufferSize;
      return lift_1.operate(function(source, subscriber) {
        var buffers = [];
        var count = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var e_1, _a, e_2, _b;
          var toEmit = null;
          if (count++ % startBufferEvery === 0) {
            buffers.push([]);
          }
          try {
            for (var buffers_1 = __values2(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
              var buffer = buffers_1_1.value;
              buffer.push(value);
              if (bufferSize <= buffer.length) {
                toEmit = toEmit !== null && toEmit !== void 0 ? toEmit : [];
                toEmit.push(buffer);
              }
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
          if (toEmit) {
            try {
              for (var toEmit_1 = __values2(toEmit), toEmit_1_1 = toEmit_1.next(); !toEmit_1_1.done; toEmit_1_1 = toEmit_1.next()) {
                var buffer = toEmit_1_1.value;
                arrRemove_1.arrRemove(buffers, buffer);
                subscriber.next(buffer);
              }
            } catch (e_2_1) {
              e_2 = { error: e_2_1 };
            } finally {
              try {
                if (toEmit_1_1 && !toEmit_1_1.done && (_b = toEmit_1.return)) _b.call(toEmit_1);
              } finally {
                if (e_2) throw e_2.error;
              }
            }
          }
        }, function() {
          var e_3, _a;
          try {
            for (var buffers_2 = __values2(buffers), buffers_2_1 = buffers_2.next(); !buffers_2_1.done; buffers_2_1 = buffers_2.next()) {
              var buffer = buffers_2_1.value;
              subscriber.next(buffer);
            }
          } catch (e_3_1) {
            e_3 = { error: e_3_1 };
          } finally {
            try {
              if (buffers_2_1 && !buffers_2_1.done && (_a = buffers_2.return)) _a.call(buffers_2);
            } finally {
              if (e_3) throw e_3.error;
            }
          }
          subscriber.complete();
        }, void 0, function() {
          buffers = null;
        }));
      });
    }
    exports2.bufferCount = bufferCount;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js
var require_bufferTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferTime.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bufferTime = void 0;
    var Subscription_1 = require_Subscription();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var arrRemove_1 = require_arrRemove();
    var async_1 = require_async();
    var args_1 = require_args();
    var executeSchedule_1 = require_executeSchedule();
    function bufferTime(bufferTimeSpan) {
      var _a, _b;
      var otherArgs = [];
      for (var _i = 1; _i < arguments.length; _i++) {
        otherArgs[_i - 1] = arguments[_i];
      }
      var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
      var bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
      var maxBufferSize = otherArgs[1] || Infinity;
      return lift_1.operate(function(source, subscriber) {
        var bufferRecords = [];
        var restartOnEmit = false;
        var emit = function(record) {
          var buffer = record.buffer, subs = record.subs;
          subs.unsubscribe();
          arrRemove_1.arrRemove(bufferRecords, record);
          subscriber.next(buffer);
          restartOnEmit && startBuffer();
        };
        var startBuffer = function() {
          if (bufferRecords) {
            var subs = new Subscription_1.Subscription();
            subscriber.add(subs);
            var buffer = [];
            var record_1 = {
              buffer,
              subs
            };
            bufferRecords.push(record_1);
            executeSchedule_1.executeSchedule(subs, scheduler, function() {
              return emit(record_1);
            }, bufferTimeSpan);
          }
        };
        if (bufferCreationInterval !== null && bufferCreationInterval >= 0) {
          executeSchedule_1.executeSchedule(subscriber, scheduler, startBuffer, bufferCreationInterval, true);
        } else {
          restartOnEmit = true;
        }
        startBuffer();
        var bufferTimeSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var e_1, _a2;
          var recordsCopy = bufferRecords.slice();
          try {
            for (var recordsCopy_1 = __values2(recordsCopy), recordsCopy_1_1 = recordsCopy_1.next(); !recordsCopy_1_1.done; recordsCopy_1_1 = recordsCopy_1.next()) {
              var record = recordsCopy_1_1.value;
              var buffer = record.buffer;
              buffer.push(value);
              maxBufferSize <= buffer.length && emit(record);
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (recordsCopy_1_1 && !recordsCopy_1_1.done && (_a2 = recordsCopy_1.return)) _a2.call(recordsCopy_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
        }, function() {
          while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {
            subscriber.next(bufferRecords.shift().buffer);
          }
          bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();
          subscriber.complete();
          subscriber.unsubscribe();
        }, void 0, function() {
          return bufferRecords = null;
        });
        source.subscribe(bufferTimeSubscriber);
      });
    }
    exports2.bufferTime = bufferTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js
var require_bufferToggle = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferToggle.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bufferToggle = void 0;
    var Subscription_1 = require_Subscription();
    var lift_1 = require_lift();
    var innerFrom_1 = require_innerFrom();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    var arrRemove_1 = require_arrRemove();
    function bufferToggle(openings, closingSelector) {
      return lift_1.operate(function(source, subscriber) {
        var buffers = [];
        innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) {
          var buffer = [];
          buffers.push(buffer);
          var closingSubscription = new Subscription_1.Subscription();
          var emitBuffer = function() {
            arrRemove_1.arrRemove(buffers, buffer);
            subscriber.next(buffer);
            closingSubscription.unsubscribe();
          };
          closingSubscription.add(innerFrom_1.innerFrom(closingSelector(openValue)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, emitBuffer, noop_1.noop)));
        }, noop_1.noop));
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var e_1, _a;
          try {
            for (var buffers_1 = __values2(buffers), buffers_1_1 = buffers_1.next(); !buffers_1_1.done; buffers_1_1 = buffers_1.next()) {
              var buffer = buffers_1_1.value;
              buffer.push(value);
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (buffers_1_1 && !buffers_1_1.done && (_a = buffers_1.return)) _a.call(buffers_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
        }, function() {
          while (buffers.length > 0) {
            subscriber.next(buffers.shift());
          }
          subscriber.complete();
        }));
      });
    }
    exports2.bufferToggle = bufferToggle;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js
var require_bufferWhen = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/bufferWhen.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.bufferWhen = void 0;
    var lift_1 = require_lift();
    var noop_1 = require_noop();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function bufferWhen(closingSelector) {
      return lift_1.operate(function(source, subscriber) {
        var buffer = null;
        var closingSubscriber = null;
        var openBuffer = function() {
          closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
          var b = buffer;
          buffer = [];
          b && subscriber.next(b);
          innerFrom_1.innerFrom(closingSelector()).subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openBuffer, noop_1.noop));
        };
        openBuffer();
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return buffer === null || buffer === void 0 ? void 0 : buffer.push(value);
        }, function() {
          buffer && subscriber.next(buffer);
          subscriber.complete();
        }, void 0, function() {
          return buffer = closingSubscriber = null;
        }));
      });
    }
    exports2.bufferWhen = bufferWhen;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/catchError.js
var require_catchError = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/catchError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.catchError = void 0;
    var innerFrom_1 = require_innerFrom();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var lift_1 = require_lift();
    function catchError(selector) {
      return lift_1.operate(function(source, subscriber) {
        var innerSub = null;
        var syncUnsub = false;
        var handledResult;
        innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) {
          handledResult = innerFrom_1.innerFrom(selector(err, catchError(selector)(source)));
          if (innerSub) {
            innerSub.unsubscribe();
            innerSub = null;
            handledResult.subscribe(subscriber);
          } else {
            syncUnsub = true;
          }
        }));
        if (syncUnsub) {
          innerSub.unsubscribe();
          innerSub = null;
          handledResult.subscribe(subscriber);
        }
      });
    }
    exports2.catchError = catchError;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js
var require_scanInternals = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/scanInternals.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scanInternals = void 0;
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function scanInternals(accumulator, seed, hasSeed, emitOnNext, emitBeforeComplete) {
      return function(source, subscriber) {
        var hasState = hasSeed;
        var state = seed;
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var i = index++;
          state = hasState ? accumulator(state, value, i) : (hasState = true, value);
          emitOnNext && subscriber.next(state);
        }, emitBeforeComplete && function() {
          hasState && subscriber.next(state);
          subscriber.complete();
        }));
      };
    }
    exports2.scanInternals = scanInternals;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/reduce.js
var require_reduce2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/reduce.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reduce = void 0;
    var scanInternals_1 = require_scanInternals();
    var lift_1 = require_lift();
    function reduce(accumulator, seed) {
      return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, false, true));
    }
    exports2.reduce = reduce;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/toArray.js
var require_toArray = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/toArray.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.toArray = void 0;
    var reduce_1 = require_reduce2();
    var lift_1 = require_lift();
    var arrReducer = function(arr, value) {
      return arr.push(value), arr;
    };
    function toArray() {
      return lift_1.operate(function(source, subscriber) {
        reduce_1.reduce(arrReducer, [])(source).subscribe(subscriber);
      });
    }
    exports2.toArray = toArray;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js
var require_joinAllInternals = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/joinAllInternals.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.joinAllInternals = void 0;
    var identity_1 = require_identity();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var pipe_1 = require_pipe();
    var mergeMap_1 = require_mergeMap();
    var toArray_1 = require_toArray();
    function joinAllInternals(joinFn, project) {
      return pipe_1.pipe(toArray_1.toArray(), mergeMap_1.mergeMap(function(sources) {
        return joinFn(sources);
      }), project ? mapOneOrManyArgs_1.mapOneOrManyArgs(project) : identity_1.identity);
    }
    exports2.joinAllInternals = joinAllInternals;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js
var require_combineLatestAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatestAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.combineLatestAll = void 0;
    var combineLatest_1 = require_combineLatest();
    var joinAllInternals_1 = require_joinAllInternals();
    function combineLatestAll(project) {
      return joinAllInternals_1.joinAllInternals(combineLatest_1.combineLatest, project);
    }
    exports2.combineLatestAll = combineLatestAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js
var require_combineAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.combineAll = void 0;
    var combineLatestAll_1 = require_combineLatestAll();
    exports2.combineAll = combineLatestAll_1.combineLatestAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js
var require_combineLatest2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatest.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.combineLatest = void 0;
    var combineLatest_1 = require_combineLatest();
    var lift_1 = require_lift();
    var argsOrArgArray_1 = require_argsOrArgArray();
    var mapOneOrManyArgs_1 = require_mapOneOrManyArgs();
    var pipe_1 = require_pipe();
    var args_1 = require_args();
    function combineLatest() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var resultSelector = args_1.popResultSelector(args);
      return resultSelector ? pipe_1.pipe(combineLatest.apply(void 0, __spreadArray2([], __read2(args))), mapOneOrManyArgs_1.mapOneOrManyArgs(resultSelector)) : lift_1.operate(function(source, subscriber) {
        combineLatest_1.combineLatestInit(__spreadArray2([source], __read2(argsOrArgArray_1.argsOrArgArray(args))))(subscriber);
      });
    }
    exports2.combineLatest = combineLatest;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js
var require_combineLatestWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/combineLatestWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.combineLatestWith = void 0;
    var combineLatest_1 = require_combineLatest2();
    function combineLatestWith() {
      var otherSources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        otherSources[_i] = arguments[_i];
      }
      return combineLatest_1.combineLatest.apply(void 0, __spreadArray2([], __read2(otherSources)));
    }
    exports2.combineLatestWith = combineLatestWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js
var require_concatMap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatMap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concatMap = void 0;
    var mergeMap_1 = require_mergeMap();
    var isFunction_1 = require_isFunction();
    function concatMap(project, resultSelector) {
      return isFunction_1.isFunction(resultSelector) ? mergeMap_1.mergeMap(project, resultSelector, 1) : mergeMap_1.mergeMap(project, 1);
    }
    exports2.concatMap = concatMap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js
var require_concatMapTo = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatMapTo.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concatMapTo = void 0;
    var concatMap_1 = require_concatMap();
    var isFunction_1 = require_isFunction();
    function concatMapTo(innerObservable, resultSelector) {
      return isFunction_1.isFunction(resultSelector) ? concatMap_1.concatMap(function() {
        return innerObservable;
      }, resultSelector) : concatMap_1.concatMap(function() {
        return innerObservable;
      });
    }
    exports2.concatMapTo = concatMapTo;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concat.js
var require_concat2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concat.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concat = void 0;
    var lift_1 = require_lift();
    var concatAll_1 = require_concatAll();
    var args_1 = require_args();
    var from_1 = require_from2();
    function concat() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(args);
      return lift_1.operate(function(source, subscriber) {
        concatAll_1.concatAll()(from_1.from(__spreadArray2([source], __read2(args)), scheduler)).subscribe(subscriber);
      });
    }
    exports2.concat = concat;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js
var require_concatWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/concatWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.concatWith = void 0;
    var concat_1 = require_concat2();
    function concatWith() {
      var otherSources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        otherSources[_i] = arguments[_i];
      }
      return concat_1.concat.apply(void 0, __spreadArray2([], __read2(otherSources)));
    }
    exports2.concatWith = concatWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js
var require_fromSubscribable = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/observable/fromSubscribable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fromSubscribable = void 0;
    var Observable_1 = require_Observable();
    function fromSubscribable(subscribable) {
      return new Observable_1.Observable(function(subscriber) {
        return subscribable.subscribe(subscriber);
      });
    }
    exports2.fromSubscribable = fromSubscribable;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/connect.js
var require_connect = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/connect.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.connect = void 0;
    var Subject_1 = require_Subject();
    var innerFrom_1 = require_innerFrom();
    var lift_1 = require_lift();
    var fromSubscribable_1 = require_fromSubscribable();
    var DEFAULT_CONFIG = {
      connector: function() {
        return new Subject_1.Subject();
      }
    };
    function connect(selector, config) {
      if (config === void 0) {
        config = DEFAULT_CONFIG;
      }
      var connector = config.connector;
      return lift_1.operate(function(source, subscriber) {
        var subject = connector();
        innerFrom_1.innerFrom(selector(fromSubscribable_1.fromSubscribable(subject))).subscribe(subscriber);
        subscriber.add(source.subscribe(subject));
      });
    }
    exports2.connect = connect;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/count.js
var require_count = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/count.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.count = void 0;
    var reduce_1 = require_reduce2();
    function count(predicate) {
      return reduce_1.reduce(function(total, value, i) {
        return !predicate || predicate(value, i) ? total + 1 : total;
      }, 0);
    }
    exports2.count = count;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/debounce.js
var require_debounce = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/debounce.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.debounce = void 0;
    var lift_1 = require_lift();
    var noop_1 = require_noop();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function debounce(durationSelector) {
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        var lastValue = null;
        var durationSubscriber = null;
        var emit = function() {
          durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
          durationSubscriber = null;
          if (hasValue) {
            hasValue = false;
            var value = lastValue;
            lastValue = null;
            subscriber.next(value);
          }
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          durationSubscriber === null || durationSubscriber === void 0 ? void 0 : durationSubscriber.unsubscribe();
          hasValue = true;
          lastValue = value;
          durationSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, emit, noop_1.noop);
          innerFrom_1.innerFrom(durationSelector(value)).subscribe(durationSubscriber);
        }, function() {
          emit();
          subscriber.complete();
        }, void 0, function() {
          lastValue = durationSubscriber = null;
        }));
      });
    }
    exports2.debounce = debounce;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js
var require_debounceTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.debounceTime = void 0;
    var async_1 = require_async();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function debounceTime(dueTime, scheduler) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      return lift_1.operate(function(source, subscriber) {
        var activeTask = null;
        var lastValue = null;
        var lastTime = null;
        var emit = function() {
          if (activeTask) {
            activeTask.unsubscribe();
            activeTask = null;
            var value = lastValue;
            lastValue = null;
            subscriber.next(value);
          }
        };
        function emitWhenIdle() {
          var targetTime = lastTime + dueTime;
          var now = scheduler.now();
          if (now < targetTime) {
            activeTask = this.schedule(void 0, targetTime - now);
            subscriber.add(activeTask);
            return;
          }
          emit();
        }
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          lastValue = value;
          lastTime = scheduler.now();
          if (!activeTask) {
            activeTask = scheduler.schedule(emitWhenIdle, dueTime);
            subscriber.add(activeTask);
          }
        }, function() {
          emit();
          subscriber.complete();
        }, void 0, function() {
          lastValue = activeTask = null;
        }));
      });
    }
    exports2.debounceTime = debounceTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js
var require_defaultIfEmpty = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/defaultIfEmpty.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.defaultIfEmpty = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function defaultIfEmpty(defaultValue) {
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          hasValue = true;
          subscriber.next(value);
        }, function() {
          if (!hasValue) {
            subscriber.next(defaultValue);
          }
          subscriber.complete();
        }));
      });
    }
    exports2.defaultIfEmpty = defaultIfEmpty;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/take.js
var require_take = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/take.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.take = void 0;
    var empty_1 = require_empty();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function take(count) {
      return count <= 0 ? function() {
        return empty_1.EMPTY;
      } : lift_1.operate(function(source, subscriber) {
        var seen = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          if (++seen <= count) {
            subscriber.next(value);
            if (count <= seen) {
              subscriber.complete();
            }
          }
        }));
      });
    }
    exports2.take = take;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js
var require_ignoreElements = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/ignoreElements.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ignoreElements = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    function ignoreElements() {
      return lift_1.operate(function(source, subscriber) {
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, noop_1.noop));
      });
    }
    exports2.ignoreElements = ignoreElements;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js
var require_mapTo = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mapTo.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mapTo = void 0;
    var map_1 = require_map4();
    function mapTo(value) {
      return map_1.map(function() {
        return value;
      });
    }
    exports2.mapTo = mapTo;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js
var require_delayWhen = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/delayWhen.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.delayWhen = void 0;
    var concat_1 = require_concat();
    var take_1 = require_take();
    var ignoreElements_1 = require_ignoreElements();
    var mapTo_1 = require_mapTo();
    var mergeMap_1 = require_mergeMap();
    var innerFrom_1 = require_innerFrom();
    function delayWhen(delayDurationSelector, subscriptionDelay) {
      if (subscriptionDelay) {
        return function(source) {
          return concat_1.concat(subscriptionDelay.pipe(take_1.take(1), ignoreElements_1.ignoreElements()), source.pipe(delayWhen(delayDurationSelector)));
        };
      }
      return mergeMap_1.mergeMap(function(value, index) {
        return innerFrom_1.innerFrom(delayDurationSelector(value, index)).pipe(take_1.take(1), mapTo_1.mapTo(value));
      });
    }
    exports2.delayWhen = delayWhen;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/delay.js
var require_delay = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/delay.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.delay = void 0;
    var async_1 = require_async();
    var delayWhen_1 = require_delayWhen();
    var timer_1 = require_timer();
    function delay(due, scheduler) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      var duration = timer_1.timer(due, scheduler);
      return delayWhen_1.delayWhen(function() {
        return duration;
      });
    }
    exports2.delay = delay;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js
var require_dematerialize = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/dematerialize.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.dematerialize = void 0;
    var Notification_1 = require_Notification();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function dematerialize() {
      return lift_1.operate(function(source, subscriber) {
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(notification) {
          return Notification_1.observeNotification(notification, subscriber);
        }));
      });
    }
    exports2.dematerialize = dematerialize;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinct.js
var require_distinct = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinct.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.distinct = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    var innerFrom_1 = require_innerFrom();
    function distinct(keySelector, flushes) {
      return lift_1.operate(function(source, subscriber) {
        var distinctKeys = /* @__PURE__ */ new Set();
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var key = keySelector ? keySelector(value) : value;
          if (!distinctKeys.has(key)) {
            distinctKeys.add(key);
            subscriber.next(value);
          }
        }));
        flushes && innerFrom_1.innerFrom(flushes).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          return distinctKeys.clear();
        }, noop_1.noop));
      });
    }
    exports2.distinct = distinct;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js
var require_distinctUntilChanged = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilChanged.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.distinctUntilChanged = void 0;
    var identity_1 = require_identity();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function distinctUntilChanged(comparator, keySelector) {
      if (keySelector === void 0) {
        keySelector = identity_1.identity;
      }
      comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;
      return lift_1.operate(function(source, subscriber) {
        var previousKey;
        var first = true;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var currentKey = keySelector(value);
          if (first || !comparator(previousKey, currentKey)) {
            first = false;
            previousKey = currentKey;
            subscriber.next(value);
          }
        }));
      });
    }
    exports2.distinctUntilChanged = distinctUntilChanged;
    function defaultCompare(a, b) {
      return a === b;
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js
var require_distinctUntilKeyChanged = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/distinctUntilKeyChanged.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.distinctUntilKeyChanged = void 0;
    var distinctUntilChanged_1 = require_distinctUntilChanged();
    function distinctUntilKeyChanged(key, compare) {
      return distinctUntilChanged_1.distinctUntilChanged(function(x, y) {
        return compare ? compare(x[key], y[key]) : x[key] === y[key];
      });
    }
    exports2.distinctUntilKeyChanged = distinctUntilKeyChanged;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js
var require_throwIfEmpty = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throwIfEmpty.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.throwIfEmpty = void 0;
    var EmptyError_1 = require_EmptyError();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function throwIfEmpty(errorFactory) {
      if (errorFactory === void 0) {
        errorFactory = defaultErrorFactory;
      }
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          hasValue = true;
          subscriber.next(value);
        }, function() {
          return hasValue ? subscriber.complete() : subscriber.error(errorFactory());
        }));
      });
    }
    exports2.throwIfEmpty = throwIfEmpty;
    function defaultErrorFactory() {
      return new EmptyError_1.EmptyError();
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js
var require_elementAt = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/elementAt.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.elementAt = void 0;
    var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError();
    var filter_1 = require_filter();
    var throwIfEmpty_1 = require_throwIfEmpty();
    var defaultIfEmpty_1 = require_defaultIfEmpty();
    var take_1 = require_take();
    function elementAt(index, defaultValue) {
      if (index < 0) {
        throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();
      }
      var hasDefaultValue = arguments.length >= 2;
      return function(source) {
        return source.pipe(filter_1.filter(function(v, i) {
          return i === index;
        }), take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
          return new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError();
        }));
      };
    }
    exports2.elementAt = elementAt;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/endWith.js
var require_endWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/endWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.endWith = void 0;
    var concat_1 = require_concat();
    var of_1 = require_of();
    function endWith() {
      var values = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        values[_i] = arguments[_i];
      }
      return function(source) {
        return concat_1.concat(source, of_1.of.apply(void 0, __spreadArray2([], __read2(values))));
      };
    }
    exports2.endWith = endWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/every.js
var require_every = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/every.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.every = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function every(predicate, thisArg) {
      return lift_1.operate(function(source, subscriber) {
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          if (!predicate.call(thisArg, value, index++, source)) {
            subscriber.next(false);
            subscriber.complete();
          }
        }, function() {
          subscriber.next(true);
          subscriber.complete();
        }));
      });
    }
    exports2.every = every;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js
var require_exhaustMap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaustMap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.exhaustMap = void 0;
    var map_1 = require_map4();
    var innerFrom_1 = require_innerFrom();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function exhaustMap(project, resultSelector) {
      if (resultSelector) {
        return function(source) {
          return source.pipe(exhaustMap(function(a, i) {
            return innerFrom_1.innerFrom(project(a, i)).pipe(map_1.map(function(b, ii) {
              return resultSelector(a, b, i, ii);
            }));
          }));
        };
      }
      return lift_1.operate(function(source, subscriber) {
        var index = 0;
        var innerSub = null;
        var isComplete = false;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(outerValue) {
          if (!innerSub) {
            innerSub = OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
              innerSub = null;
              isComplete && subscriber.complete();
            });
            innerFrom_1.innerFrom(project(outerValue, index++)).subscribe(innerSub);
          }
        }, function() {
          isComplete = true;
          !innerSub && subscriber.complete();
        }));
      });
    }
    exports2.exhaustMap = exhaustMap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js
var require_exhaustAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaustAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.exhaustAll = void 0;
    var exhaustMap_1 = require_exhaustMap();
    var identity_1 = require_identity();
    function exhaustAll() {
      return exhaustMap_1.exhaustMap(identity_1.identity);
    }
    exports2.exhaustAll = exhaustAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js
var require_exhaust = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/exhaust.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.exhaust = void 0;
    var exhaustAll_1 = require_exhaustAll();
    exports2.exhaust = exhaustAll_1.exhaustAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/expand.js
var require_expand = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/expand.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.expand = void 0;
    var lift_1 = require_lift();
    var mergeInternals_1 = require_mergeInternals();
    function expand(project, concurrent, scheduler) {
      if (concurrent === void 0) {
        concurrent = Infinity;
      }
      concurrent = (concurrent || 0) < 1 ? Infinity : concurrent;
      return lift_1.operate(function(source, subscriber) {
        return mergeInternals_1.mergeInternals(source, subscriber, project, concurrent, void 0, true, scheduler);
      });
    }
    exports2.expand = expand;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/finalize.js
var require_finalize = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/finalize.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.finalize = void 0;
    var lift_1 = require_lift();
    function finalize(callback) {
      return lift_1.operate(function(source, subscriber) {
        try {
          source.subscribe(subscriber);
        } finally {
          subscriber.add(callback);
        }
      });
    }
    exports2.finalize = finalize;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/find.js
var require_find = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/find.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createFind = exports2.find = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function find(predicate, thisArg) {
      return lift_1.operate(createFind(predicate, thisArg, "value"));
    }
    exports2.find = find;
    function createFind(predicate, thisArg, emit) {
      var findIndex = emit === "index";
      return function(source, subscriber) {
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var i = index++;
          if (predicate.call(thisArg, value, i, source)) {
            subscriber.next(findIndex ? i : value);
            subscriber.complete();
          }
        }, function() {
          subscriber.next(findIndex ? -1 : void 0);
          subscriber.complete();
        }));
      };
    }
    exports2.createFind = createFind;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js
var require_findIndex = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/findIndex.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findIndex = void 0;
    var lift_1 = require_lift();
    var find_1 = require_find();
    function findIndex(predicate, thisArg) {
      return lift_1.operate(find_1.createFind(predicate, thisArg, "index"));
    }
    exports2.findIndex = findIndex;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/first.js
var require_first = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/first.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.first = void 0;
    var EmptyError_1 = require_EmptyError();
    var filter_1 = require_filter();
    var take_1 = require_take();
    var defaultIfEmpty_1 = require_defaultIfEmpty();
    var throwIfEmpty_1 = require_throwIfEmpty();
    var identity_1 = require_identity();
    function first(predicate, defaultValue) {
      var hasDefaultValue = arguments.length >= 2;
      return function(source) {
        return source.pipe(predicate ? filter_1.filter(function(v, i) {
          return predicate(v, i, source);
        }) : identity_1.identity, take_1.take(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
          return new EmptyError_1.EmptyError();
        }));
      };
    }
    exports2.first = first;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js
var require_groupBy = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/groupBy.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.groupBy = void 0;
    var Observable_1 = require_Observable();
    var innerFrom_1 = require_innerFrom();
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function groupBy2(keySelector, elementOrOptions, duration, connector) {
      return lift_1.operate(function(source, subscriber) {
        var element;
        if (!elementOrOptions || typeof elementOrOptions === "function") {
          element = elementOrOptions;
        } else {
          duration = elementOrOptions.duration, element = elementOrOptions.element, connector = elementOrOptions.connector;
        }
        var groups = /* @__PURE__ */ new Map();
        var notify = function(cb) {
          groups.forEach(cb);
          cb(subscriber);
        };
        var handleError = function(err) {
          return notify(function(consumer) {
            return consumer.error(err);
          });
        };
        var activeGroups = 0;
        var teardownAttempted = false;
        var groupBySourceSubscriber = new OperatorSubscriber_1.OperatorSubscriber(subscriber, function(value) {
          try {
            var key_1 = keySelector(value);
            var group_1 = groups.get(key_1);
            if (!group_1) {
              groups.set(key_1, group_1 = connector ? connector() : new Subject_1.Subject());
              var grouped = createGroupedObservable(key_1, group_1);
              subscriber.next(grouped);
              if (duration) {
                var durationSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(group_1, function() {
                  group_1.complete();
                  durationSubscriber_1 === null || durationSubscriber_1 === void 0 ? void 0 : durationSubscriber_1.unsubscribe();
                }, void 0, void 0, function() {
                  return groups.delete(key_1);
                });
                groupBySourceSubscriber.add(innerFrom_1.innerFrom(duration(grouped)).subscribe(durationSubscriber_1));
              }
            }
            group_1.next(element ? element(value) : value);
          } catch (err) {
            handleError(err);
          }
        }, function() {
          return notify(function(consumer) {
            return consumer.complete();
          });
        }, handleError, function() {
          return groups.clear();
        }, function() {
          teardownAttempted = true;
          return activeGroups === 0;
        });
        source.subscribe(groupBySourceSubscriber);
        function createGroupedObservable(key, groupSubject) {
          var result2 = new Observable_1.Observable(function(groupSubscriber) {
            activeGroups++;
            var innerSub = groupSubject.subscribe(groupSubscriber);
            return function() {
              innerSub.unsubscribe();
              --activeGroups === 0 && teardownAttempted && groupBySourceSubscriber.unsubscribe();
            };
          });
          result2.key = key;
          return result2;
        }
      });
    }
    exports2.groupBy = groupBy2;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js
var require_isEmpty = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/isEmpty.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isEmpty = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function isEmpty() {
      return lift_1.operate(function(source, subscriber) {
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          subscriber.next(false);
          subscriber.complete();
        }, function() {
          subscriber.next(true);
          subscriber.complete();
        }));
      });
    }
    exports2.isEmpty = isEmpty;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js
var require_takeLast = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeLast.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.takeLast = void 0;
    var empty_1 = require_empty();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function takeLast(count) {
      return count <= 0 ? function() {
        return empty_1.EMPTY;
      } : lift_1.operate(function(source, subscriber) {
        var buffer = [];
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          buffer.push(value);
          count < buffer.length && buffer.shift();
        }, function() {
          var e_1, _a;
          try {
            for (var buffer_1 = __values2(buffer), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) {
              var value = buffer_1_1.value;
              subscriber.next(value);
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
          subscriber.complete();
        }, void 0, function() {
          buffer = null;
        }));
      });
    }
    exports2.takeLast = takeLast;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/last.js
var require_last = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/last.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.last = void 0;
    var EmptyError_1 = require_EmptyError();
    var filter_1 = require_filter();
    var takeLast_1 = require_takeLast();
    var throwIfEmpty_1 = require_throwIfEmpty();
    var defaultIfEmpty_1 = require_defaultIfEmpty();
    var identity_1 = require_identity();
    function last(predicate, defaultValue) {
      var hasDefaultValue = arguments.length >= 2;
      return function(source) {
        return source.pipe(predicate ? filter_1.filter(function(v, i) {
          return predicate(v, i, source);
        }) : identity_1.identity, takeLast_1.takeLast(1), hasDefaultValue ? defaultIfEmpty_1.defaultIfEmpty(defaultValue) : throwIfEmpty_1.throwIfEmpty(function() {
          return new EmptyError_1.EmptyError();
        }));
      };
    }
    exports2.last = last;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/materialize.js
var require_materialize = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/materialize.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.materialize = void 0;
    var Notification_1 = require_Notification();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function materialize() {
      return lift_1.operate(function(source, subscriber) {
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          subscriber.next(Notification_1.Notification.createNext(value));
        }, function() {
          subscriber.next(Notification_1.Notification.createComplete());
          subscriber.complete();
        }, function(err) {
          subscriber.next(Notification_1.Notification.createError(err));
          subscriber.complete();
        }));
      });
    }
    exports2.materialize = materialize;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/max.js
var require_max = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/max.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.max = void 0;
    var reduce_1 = require_reduce2();
    var isFunction_1 = require_isFunction();
    function max(comparer) {
      return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) {
        return comparer(x, y) > 0 ? x : y;
      } : function(x, y) {
        return x > y ? x : y;
      });
    }
    exports2.max = max;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js
var require_flatMap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/flatMap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.flatMap = void 0;
    var mergeMap_1 = require_mergeMap();
    exports2.flatMap = mergeMap_1.mergeMap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js
var require_mergeMapTo = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeMapTo.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeMapTo = void 0;
    var mergeMap_1 = require_mergeMap();
    var isFunction_1 = require_isFunction();
    function mergeMapTo(innerObservable, resultSelector, concurrent) {
      if (concurrent === void 0) {
        concurrent = Infinity;
      }
      if (isFunction_1.isFunction(resultSelector)) {
        return mergeMap_1.mergeMap(function() {
          return innerObservable;
        }, resultSelector, concurrent);
      }
      if (typeof resultSelector === "number") {
        concurrent = resultSelector;
      }
      return mergeMap_1.mergeMap(function() {
        return innerObservable;
      }, concurrent);
    }
    exports2.mergeMapTo = mergeMapTo;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js
var require_mergeScan = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeScan.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeScan = void 0;
    var lift_1 = require_lift();
    var mergeInternals_1 = require_mergeInternals();
    function mergeScan(accumulator, seed, concurrent) {
      if (concurrent === void 0) {
        concurrent = Infinity;
      }
      return lift_1.operate(function(source, subscriber) {
        var state = seed;
        return mergeInternals_1.mergeInternals(source, subscriber, function(value, index) {
          return accumulator(state, value, index);
        }, concurrent, function(value) {
          state = value;
        }, false, void 0, function() {
          return state = null;
        });
      });
    }
    exports2.mergeScan = mergeScan;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/merge.js
var require_merge3 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/merge.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.merge = void 0;
    var lift_1 = require_lift();
    var argsOrArgArray_1 = require_argsOrArgArray();
    var mergeAll_1 = require_mergeAll();
    var args_1 = require_args();
    var from_1 = require_from2();
    function merge() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(args);
      var concurrent = args_1.popNumber(args, Infinity);
      args = argsOrArgArray_1.argsOrArgArray(args);
      return lift_1.operate(function(source, subscriber) {
        mergeAll_1.mergeAll(concurrent)(from_1.from(__spreadArray2([source], __read2(args)), scheduler)).subscribe(subscriber);
      });
    }
    exports2.merge = merge;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js
var require_mergeWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/mergeWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeWith = void 0;
    var merge_1 = require_merge3();
    function mergeWith() {
      var otherSources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        otherSources[_i] = arguments[_i];
      }
      return merge_1.merge.apply(void 0, __spreadArray2([], __read2(otherSources)));
    }
    exports2.mergeWith = mergeWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/min.js
var require_min = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/min.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.min = void 0;
    var reduce_1 = require_reduce2();
    var isFunction_1 = require_isFunction();
    function min(comparer) {
      return reduce_1.reduce(isFunction_1.isFunction(comparer) ? function(x, y) {
        return comparer(x, y) < 0 ? x : y;
      } : function(x, y) {
        return x < y ? x : y;
      });
    }
    exports2.min = min;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/multicast.js
var require_multicast = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/multicast.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.multicast = void 0;
    var ConnectableObservable_1 = require_ConnectableObservable();
    var isFunction_1 = require_isFunction();
    var connect_1 = require_connect();
    function multicast(subjectOrSubjectFactory, selector) {
      var subjectFactory = isFunction_1.isFunction(subjectOrSubjectFactory) ? subjectOrSubjectFactory : function() {
        return subjectOrSubjectFactory;
      };
      if (isFunction_1.isFunction(selector)) {
        return connect_1.connect(selector, {
          connector: subjectFactory
        });
      }
      return function(source) {
        return new ConnectableObservable_1.ConnectableObservable(source, subjectFactory);
      };
    }
    exports2.multicast = multicast;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js
var require_onErrorResumeNextWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/onErrorResumeNextWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.onErrorResumeNext = exports2.onErrorResumeNextWith = void 0;
    var argsOrArgArray_1 = require_argsOrArgArray();
    var onErrorResumeNext_1 = require_onErrorResumeNext();
    function onErrorResumeNextWith() {
      var sources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        sources[_i] = arguments[_i];
      }
      var nextSources = argsOrArgArray_1.argsOrArgArray(sources);
      return function(source) {
        return onErrorResumeNext_1.onErrorResumeNext.apply(void 0, __spreadArray2([source], __read2(nextSources)));
      };
    }
    exports2.onErrorResumeNextWith = onErrorResumeNextWith;
    exports2.onErrorResumeNext = onErrorResumeNextWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js
var require_pairwise = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/pairwise.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pairwise = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function pairwise() {
      return lift_1.operate(function(source, subscriber) {
        var prev;
        var hasPrev = false;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var p = prev;
          prev = value;
          hasPrev && subscriber.next([p, value]);
          hasPrev = true;
        }));
      });
    }
    exports2.pairwise = pairwise;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/pluck.js
var require_pluck = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/pluck.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pluck = void 0;
    var map_1 = require_map4();
    function pluck() {
      var properties = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        properties[_i] = arguments[_i];
      }
      var length = properties.length;
      if (length === 0) {
        throw new Error("list of properties cannot be empty.");
      }
      return map_1.map(function(x) {
        var currentProp = x;
        for (var i = 0; i < length; i++) {
          var p = currentProp === null || currentProp === void 0 ? void 0 : currentProp[properties[i]];
          if (typeof p !== "undefined") {
            currentProp = p;
          } else {
            return void 0;
          }
        }
        return currentProp;
      });
    }
    exports2.pluck = pluck;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publish.js
var require_publish = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publish.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.publish = void 0;
    var Subject_1 = require_Subject();
    var multicast_1 = require_multicast();
    var connect_1 = require_connect();
    function publish(selector) {
      return selector ? function(source) {
        return connect_1.connect(selector)(source);
      } : function(source) {
        return multicast_1.multicast(new Subject_1.Subject())(source);
      };
    }
    exports2.publish = publish;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js
var require_publishBehavior = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishBehavior.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.publishBehavior = void 0;
    var BehaviorSubject_1 = require_BehaviorSubject();
    var ConnectableObservable_1 = require_ConnectableObservable();
    function publishBehavior(initialValue) {
      return function(source) {
        var subject = new BehaviorSubject_1.BehaviorSubject(initialValue);
        return new ConnectableObservable_1.ConnectableObservable(source, function() {
          return subject;
        });
      };
    }
    exports2.publishBehavior = publishBehavior;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js
var require_publishLast = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishLast.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.publishLast = void 0;
    var AsyncSubject_1 = require_AsyncSubject();
    var ConnectableObservable_1 = require_ConnectableObservable();
    function publishLast() {
      return function(source) {
        var subject = new AsyncSubject_1.AsyncSubject();
        return new ConnectableObservable_1.ConnectableObservable(source, function() {
          return subject;
        });
      };
    }
    exports2.publishLast = publishLast;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js
var require_publishReplay = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/publishReplay.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.publishReplay = void 0;
    var ReplaySubject_1 = require_ReplaySubject();
    var multicast_1 = require_multicast();
    var isFunction_1 = require_isFunction();
    function publishReplay(bufferSize, windowTime, selectorOrScheduler, timestampProvider) {
      if (selectorOrScheduler && !isFunction_1.isFunction(selectorOrScheduler)) {
        timestampProvider = selectorOrScheduler;
      }
      var selector = isFunction_1.isFunction(selectorOrScheduler) ? selectorOrScheduler : void 0;
      return function(source) {
        return multicast_1.multicast(new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, timestampProvider), selector)(source);
      };
    }
    exports2.publishReplay = publishReplay;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js
var require_raceWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/raceWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.raceWith = void 0;
    var race_1 = require_race();
    var lift_1 = require_lift();
    var identity_1 = require_identity();
    function raceWith() {
      var otherSources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        otherSources[_i] = arguments[_i];
      }
      return !otherSources.length ? identity_1.identity : lift_1.operate(function(source, subscriber) {
        race_1.raceInit(__spreadArray2([source], __read2(otherSources)))(subscriber);
      });
    }
    exports2.raceWith = raceWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/repeat.js
var require_repeat = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/repeat.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.repeat = void 0;
    var empty_1 = require_empty();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    var timer_1 = require_timer();
    function repeat(countOrConfig) {
      var _a;
      var count = Infinity;
      var delay;
      if (countOrConfig != null) {
        if (typeof countOrConfig === "object") {
          _a = countOrConfig.count, count = _a === void 0 ? Infinity : _a, delay = countOrConfig.delay;
        } else {
          count = countOrConfig;
        }
      }
      return count <= 0 ? function() {
        return empty_1.EMPTY;
      } : lift_1.operate(function(source, subscriber) {
        var soFar = 0;
        var sourceSub;
        var resubscribe = function() {
          sourceSub === null || sourceSub === void 0 ? void 0 : sourceSub.unsubscribe();
          sourceSub = null;
          if (delay != null) {
            var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(soFar));
            var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
              notifierSubscriber_1.unsubscribe();
              subscribeToSource();
            });
            notifier.subscribe(notifierSubscriber_1);
          } else {
            subscribeToSource();
          }
        };
        var subscribeToSource = function() {
          var syncUnsub = false;
          sourceSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
            if (++soFar < count) {
              if (sourceSub) {
                resubscribe();
              } else {
                syncUnsub = true;
              }
            } else {
              subscriber.complete();
            }
          }));
          if (syncUnsub) {
            resubscribe();
          }
        };
        subscribeToSource();
      });
    }
    exports2.repeat = repeat;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js
var require_repeatWhen = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/repeatWhen.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.repeatWhen = void 0;
    var innerFrom_1 = require_innerFrom();
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function repeatWhen(notifier) {
      return lift_1.operate(function(source, subscriber) {
        var innerSub;
        var syncResub = false;
        var completions$;
        var isNotifierComplete = false;
        var isMainComplete = false;
        var checkComplete = function() {
          return isMainComplete && isNotifierComplete && (subscriber.complete(), true);
        };
        var getCompletionSubject = function() {
          if (!completions$) {
            completions$ = new Subject_1.Subject();
            innerFrom_1.innerFrom(notifier(completions$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
              if (innerSub) {
                subscribeForRepeatWhen();
              } else {
                syncResub = true;
              }
            }, function() {
              isNotifierComplete = true;
              checkComplete();
            }));
          }
          return completions$;
        };
        var subscribeForRepeatWhen = function() {
          isMainComplete = false;
          innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, function() {
            isMainComplete = true;
            !checkComplete() && getCompletionSubject().next();
          }));
          if (syncResub) {
            innerSub.unsubscribe();
            innerSub = null;
            syncResub = false;
            subscribeForRepeatWhen();
          }
        };
        subscribeForRepeatWhen();
      });
    }
    exports2.repeatWhen = repeatWhen;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/retry.js
var require_retry = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/retry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.retry = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var identity_1 = require_identity();
    var timer_1 = require_timer();
    var innerFrom_1 = require_innerFrom();
    function retry(configOrCount) {
      if (configOrCount === void 0) {
        configOrCount = Infinity;
      }
      var config;
      if (configOrCount && typeof configOrCount === "object") {
        config = configOrCount;
      } else {
        config = {
          count: configOrCount
        };
      }
      var _a = config.count, count = _a === void 0 ? Infinity : _a, delay = config.delay, _b = config.resetOnSuccess, resetOnSuccess = _b === void 0 ? false : _b;
      return count <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) {
        var soFar = 0;
        var innerSub;
        var subscribeForRetry = function() {
          var syncUnsub = false;
          innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
            if (resetOnSuccess) {
              soFar = 0;
            }
            subscriber.next(value);
          }, void 0, function(err) {
            if (soFar++ < count) {
              var resub_1 = function() {
                if (innerSub) {
                  innerSub.unsubscribe();
                  innerSub = null;
                  subscribeForRetry();
                } else {
                  syncUnsub = true;
                }
              };
              if (delay != null) {
                var notifier = typeof delay === "number" ? timer_1.timer(delay) : innerFrom_1.innerFrom(delay(err, soFar));
                var notifierSubscriber_1 = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
                  notifierSubscriber_1.unsubscribe();
                  resub_1();
                }, function() {
                  subscriber.complete();
                });
                notifier.subscribe(notifierSubscriber_1);
              } else {
                resub_1();
              }
            } else {
              subscriber.error(err);
            }
          }));
          if (syncUnsub) {
            innerSub.unsubscribe();
            innerSub = null;
            subscribeForRetry();
          }
        };
        subscribeForRetry();
      });
    }
    exports2.retry = retry;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js
var require_retryWhen = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/retryWhen.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.retryWhen = void 0;
    var innerFrom_1 = require_innerFrom();
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function retryWhen(notifier) {
      return lift_1.operate(function(source, subscriber) {
        var innerSub;
        var syncResub = false;
        var errors$;
        var subscribeForRetryWhen = function() {
          innerSub = source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, void 0, void 0, function(err) {
            if (!errors$) {
              errors$ = new Subject_1.Subject();
              innerFrom_1.innerFrom(notifier(errors$)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
                return innerSub ? subscribeForRetryWhen() : syncResub = true;
              }));
            }
            if (errors$) {
              errors$.next(err);
            }
          }));
          if (syncResub) {
            innerSub.unsubscribe();
            innerSub = null;
            syncResub = false;
            subscribeForRetryWhen();
          }
        };
        subscribeForRetryWhen();
      });
    }
    exports2.retryWhen = retryWhen;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sample.js
var require_sample = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sample.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sample = void 0;
    var innerFrom_1 = require_innerFrom();
    var lift_1 = require_lift();
    var noop_1 = require_noop();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function sample(notifier) {
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        var lastValue = null;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          hasValue = true;
          lastValue = value;
        }));
        innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          if (hasValue) {
            hasValue = false;
            var value = lastValue;
            lastValue = null;
            subscriber.next(value);
          }
        }, noop_1.noop));
      });
    }
    exports2.sample = sample;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js
var require_sampleTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sampleTime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sampleTime = void 0;
    var async_1 = require_async();
    var sample_1 = require_sample();
    var interval_1 = require_interval();
    function sampleTime(period, scheduler) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      return sample_1.sample(interval_1.interval(period, scheduler));
    }
    exports2.sampleTime = sampleTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/scan.js
var require_scan = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/scan.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scan = void 0;
    var lift_1 = require_lift();
    var scanInternals_1 = require_scanInternals();
    function scan(accumulator, seed) {
      return lift_1.operate(scanInternals_1.scanInternals(accumulator, seed, arguments.length >= 2, true));
    }
    exports2.scan = scan;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js
var require_sequenceEqual = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/sequenceEqual.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sequenceEqual = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function sequenceEqual(compareTo, comparator) {
      if (comparator === void 0) {
        comparator = function(a, b) {
          return a === b;
        };
      }
      return lift_1.operate(function(source, subscriber) {
        var aState = createState();
        var bState = createState();
        var emit = function(isEqual) {
          subscriber.next(isEqual);
          subscriber.complete();
        };
        var createSubscriber = function(selfState, otherState) {
          var sequenceEqualSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(a) {
            var buffer = otherState.buffer, complete = otherState.complete;
            if (buffer.length === 0) {
              complete ? emit(false) : selfState.buffer.push(a);
            } else {
              !comparator(a, buffer.shift()) && emit(false);
            }
          }, function() {
            selfState.complete = true;
            var complete = otherState.complete, buffer = otherState.buffer;
            complete && emit(buffer.length === 0);
            sequenceEqualSubscriber === null || sequenceEqualSubscriber === void 0 ? void 0 : sequenceEqualSubscriber.unsubscribe();
          });
          return sequenceEqualSubscriber;
        };
        source.subscribe(createSubscriber(aState, bState));
        innerFrom_1.innerFrom(compareTo).subscribe(createSubscriber(bState, aState));
      });
    }
    exports2.sequenceEqual = sequenceEqual;
    function createState() {
      return {
        buffer: [],
        complete: false
      };
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/share.js
var require_share = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/share.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.share = void 0;
    var innerFrom_1 = require_innerFrom();
    var Subject_1 = require_Subject();
    var Subscriber_1 = require_Subscriber();
    var lift_1 = require_lift();
    function share(options) {
      if (options === void 0) {
        options = {};
      }
      var _a = options.connector, connector = _a === void 0 ? function() {
        return new Subject_1.Subject();
      } : _a, _b = options.resetOnError, resetOnError = _b === void 0 ? true : _b, _c = options.resetOnComplete, resetOnComplete = _c === void 0 ? true : _c, _d = options.resetOnRefCountZero, resetOnRefCountZero = _d === void 0 ? true : _d;
      return function(wrapperSource) {
        var connection;
        var resetConnection;
        var subject;
        var refCount = 0;
        var hasCompleted = false;
        var hasErrored = false;
        var cancelReset = function() {
          resetConnection === null || resetConnection === void 0 ? void 0 : resetConnection.unsubscribe();
          resetConnection = void 0;
        };
        var reset = function() {
          cancelReset();
          connection = subject = void 0;
          hasCompleted = hasErrored = false;
        };
        var resetAndUnsubscribe = function() {
          var conn = connection;
          reset();
          conn === null || conn === void 0 ? void 0 : conn.unsubscribe();
        };
        return lift_1.operate(function(source, subscriber) {
          refCount++;
          if (!hasErrored && !hasCompleted) {
            cancelReset();
          }
          var dest = subject = subject !== null && subject !== void 0 ? subject : connector();
          subscriber.add(function() {
            refCount--;
            if (refCount === 0 && !hasErrored && !hasCompleted) {
              resetConnection = handleReset(resetAndUnsubscribe, resetOnRefCountZero);
            }
          });
          dest.subscribe(subscriber);
          if (!connection && refCount > 0) {
            connection = new Subscriber_1.SafeSubscriber({
              next: function(value) {
                return dest.next(value);
              },
              error: function(err) {
                hasErrored = true;
                cancelReset();
                resetConnection = handleReset(reset, resetOnError, err);
                dest.error(err);
              },
              complete: function() {
                hasCompleted = true;
                cancelReset();
                resetConnection = handleReset(reset, resetOnComplete);
                dest.complete();
              }
            });
            innerFrom_1.innerFrom(source).subscribe(connection);
          }
        })(wrapperSource);
      };
    }
    exports2.share = share;
    function handleReset(reset, on) {
      var args = [];
      for (var _i = 2; _i < arguments.length; _i++) {
        args[_i - 2] = arguments[_i];
      }
      if (on === true) {
        reset();
        return;
      }
      if (on === false) {
        return;
      }
      var onSubscriber = new Subscriber_1.SafeSubscriber({
        next: function() {
          onSubscriber.unsubscribe();
          reset();
        }
      });
      return innerFrom_1.innerFrom(on.apply(void 0, __spreadArray2([], __read2(args)))).subscribe(onSubscriber);
    }
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js
var require_shareReplay = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/shareReplay.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.shareReplay = void 0;
    var ReplaySubject_1 = require_ReplaySubject();
    var share_1 = require_share();
    function shareReplay(configOrBufferSize, windowTime, scheduler) {
      var _a, _b, _c;
      var bufferSize;
      var refCount = false;
      if (configOrBufferSize && typeof configOrBufferSize === "object") {
        _a = configOrBufferSize.bufferSize, bufferSize = _a === void 0 ? Infinity : _a, _b = configOrBufferSize.windowTime, windowTime = _b === void 0 ? Infinity : _b, _c = configOrBufferSize.refCount, refCount = _c === void 0 ? false : _c, scheduler = configOrBufferSize.scheduler;
      } else {
        bufferSize = configOrBufferSize !== null && configOrBufferSize !== void 0 ? configOrBufferSize : Infinity;
      }
      return share_1.share({
        connector: function() {
          return new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler);
        },
        resetOnError: true,
        resetOnComplete: false,
        resetOnRefCountZero: refCount
      });
    }
    exports2.shareReplay = shareReplay;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/single.js
var require_single = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/single.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.single = void 0;
    var EmptyError_1 = require_EmptyError();
    var SequenceError_1 = require_SequenceError();
    var NotFoundError_1 = require_NotFoundError();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function single(predicate) {
      return lift_1.operate(function(source, subscriber) {
        var hasValue = false;
        var singleValue;
        var seenValue = false;
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          seenValue = true;
          if (!predicate || predicate(value, index++, source)) {
            hasValue && subscriber.error(new SequenceError_1.SequenceError("Too many matching values"));
            hasValue = true;
            singleValue = value;
          }
        }, function() {
          if (hasValue) {
            subscriber.next(singleValue);
            subscriber.complete();
          } else {
            subscriber.error(seenValue ? new NotFoundError_1.NotFoundError("No matching values") : new EmptyError_1.EmptyError());
          }
        }));
      });
    }
    exports2.single = single;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skip.js
var require_skip = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skip.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.skip = void 0;
    var filter_1 = require_filter();
    function skip(count) {
      return filter_1.filter(function(_, index) {
        return count <= index;
      });
    }
    exports2.skip = skip;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js
var require_skipLast = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipLast.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.skipLast = void 0;
    var identity_1 = require_identity();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function skipLast(skipCount) {
      return skipCount <= 0 ? identity_1.identity : lift_1.operate(function(source, subscriber) {
        var ring = new Array(skipCount);
        var seen = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var valueIndex = seen++;
          if (valueIndex < skipCount) {
            ring[valueIndex] = value;
          } else {
            var index = valueIndex % skipCount;
            var oldValue = ring[index];
            ring[index] = value;
            subscriber.next(oldValue);
          }
        }));
        return function() {
          ring = null;
        };
      });
    }
    exports2.skipLast = skipLast;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js
var require_skipUntil = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipUntil.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.skipUntil = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    var noop_1 = require_noop();
    function skipUntil(notifier) {
      return lift_1.operate(function(source, subscriber) {
        var taking = false;
        var skipSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          skipSubscriber === null || skipSubscriber === void 0 ? void 0 : skipSubscriber.unsubscribe();
          taking = true;
        }, noop_1.noop);
        innerFrom_1.innerFrom(notifier).subscribe(skipSubscriber);
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return taking && subscriber.next(value);
        }));
      });
    }
    exports2.skipUntil = skipUntil;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js
var require_skipWhile = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/skipWhile.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.skipWhile = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function skipWhile(predicate) {
      return lift_1.operate(function(source, subscriber) {
        var taking = false;
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return (taking || (taking = !predicate(value, index++))) && subscriber.next(value);
        }));
      });
    }
    exports2.skipWhile = skipWhile;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/startWith.js
var require_startWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/startWith.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.startWith = void 0;
    var concat_1 = require_concat();
    var args_1 = require_args();
    var lift_1 = require_lift();
    function startWith() {
      var values = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        values[_i] = arguments[_i];
      }
      var scheduler = args_1.popScheduler(values);
      return lift_1.operate(function(source, subscriber) {
        (scheduler ? concat_1.concat(values, source, scheduler) : concat_1.concat(values, source)).subscribe(subscriber);
      });
    }
    exports2.startWith = startWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js
var require_switchMap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchMap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.switchMap = void 0;
    var innerFrom_1 = require_innerFrom();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function switchMap(project, resultSelector) {
      return lift_1.operate(function(source, subscriber) {
        var innerSubscriber = null;
        var index = 0;
        var isComplete = false;
        var checkComplete = function() {
          return isComplete && !innerSubscriber && subscriber.complete();
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          innerSubscriber === null || innerSubscriber === void 0 ? void 0 : innerSubscriber.unsubscribe();
          var innerIndex = 0;
          var outerIndex = index++;
          innerFrom_1.innerFrom(project(value, outerIndex)).subscribe(innerSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(innerValue) {
            return subscriber.next(resultSelector ? resultSelector(value, innerValue, outerIndex, innerIndex++) : innerValue);
          }, function() {
            innerSubscriber = null;
            checkComplete();
          }));
        }, function() {
          isComplete = true;
          checkComplete();
        }));
      });
    }
    exports2.switchMap = switchMap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js
var require_switchAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.switchAll = void 0;
    var switchMap_1 = require_switchMap();
    var identity_1 = require_identity();
    function switchAll() {
      return switchMap_1.switchMap(identity_1.identity);
    }
    exports2.switchAll = switchAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js
var require_switchMapTo = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchMapTo.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.switchMapTo = void 0;
    var switchMap_1 = require_switchMap();
    var isFunction_1 = require_isFunction();
    function switchMapTo(innerObservable, resultSelector) {
      return isFunction_1.isFunction(resultSelector) ? switchMap_1.switchMap(function() {
        return innerObservable;
      }, resultSelector) : switchMap_1.switchMap(function() {
        return innerObservable;
      });
    }
    exports2.switchMapTo = switchMapTo;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js
var require_switchScan = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/switchScan.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.switchScan = void 0;
    var switchMap_1 = require_switchMap();
    var lift_1 = require_lift();
    function switchScan(accumulator, seed) {
      return lift_1.operate(function(source, subscriber) {
        var state = seed;
        switchMap_1.switchMap(function(value, index) {
          return accumulator(state, value, index);
        }, function(_, innerValue) {
          return state = innerValue, innerValue;
        })(source).subscribe(subscriber);
        return function() {
          state = null;
        };
      });
    }
    exports2.switchScan = switchScan;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js
var require_takeUntil = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeUntil.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.takeUntil = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    var noop_1 = require_noop();
    function takeUntil(notifier) {
      return lift_1.operate(function(source, subscriber) {
        innerFrom_1.innerFrom(notifier).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          return subscriber.complete();
        }, noop_1.noop));
        !subscriber.closed && source.subscribe(subscriber);
      });
    }
    exports2.takeUntil = takeUntil;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js
var require_takeWhile = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/takeWhile.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.takeWhile = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function takeWhile(predicate, inclusive) {
      if (inclusive === void 0) {
        inclusive = false;
      }
      return lift_1.operate(function(source, subscriber) {
        var index = 0;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var result2 = predicate(value, index++);
          (result2 || inclusive) && subscriber.next(value);
          !result2 && subscriber.complete();
        }));
      });
    }
    exports2.takeWhile = takeWhile;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/tap.js
var require_tap = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/tap.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.tap = void 0;
    var isFunction_1 = require_isFunction();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var identity_1 = require_identity();
    function tap(observerOrNext, error, complete) {
      var tapObserver = isFunction_1.isFunction(observerOrNext) || error || complete ? { next: observerOrNext, error, complete } : observerOrNext;
      return tapObserver ? lift_1.operate(function(source, subscriber) {
        var _a;
        (_a = tapObserver.subscribe) === null || _a === void 0 ? void 0 : _a.call(tapObserver);
        var isUnsub = true;
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var _a2;
          (_a2 = tapObserver.next) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, value);
          subscriber.next(value);
        }, function() {
          var _a2;
          isUnsub = false;
          (_a2 = tapObserver.complete) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver);
          subscriber.complete();
        }, function(err) {
          var _a2;
          isUnsub = false;
          (_a2 = tapObserver.error) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver, err);
          subscriber.error(err);
        }, function() {
          var _a2, _b;
          if (isUnsub) {
            (_a2 = tapObserver.unsubscribe) === null || _a2 === void 0 ? void 0 : _a2.call(tapObserver);
          }
          (_b = tapObserver.finalize) === null || _b === void 0 ? void 0 : _b.call(tapObserver);
        }));
      }) : identity_1.identity;
    }
    exports2.tap = tap;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throttle.js
var require_throttle = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throttle.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.throttle = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function throttle(durationSelector, config) {
      return lift_1.operate(function(source, subscriber) {
        var _a = config !== null && config !== void 0 ? config : {}, _b = _a.leading, leading = _b === void 0 ? true : _b, _c = _a.trailing, trailing = _c === void 0 ? false : _c;
        var hasValue = false;
        var sendValue = null;
        var throttled = null;
        var isComplete = false;
        var endThrottling = function() {
          throttled === null || throttled === void 0 ? void 0 : throttled.unsubscribe();
          throttled = null;
          if (trailing) {
            send();
            isComplete && subscriber.complete();
          }
        };
        var cleanupThrottling = function() {
          throttled = null;
          isComplete && subscriber.complete();
        };
        var startThrottle = function(value) {
          return throttled = innerFrom_1.innerFrom(durationSelector(value)).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, endThrottling, cleanupThrottling));
        };
        var send = function() {
          if (hasValue) {
            hasValue = false;
            var value = sendValue;
            sendValue = null;
            subscriber.next(value);
            !isComplete && startThrottle(value);
          }
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          hasValue = true;
          sendValue = value;
          !(throttled && !throttled.closed) && (leading ? send() : startThrottle(value));
        }, function() {
          isComplete = true;
          !(trailing && hasValue && throttled && !throttled.closed) && subscriber.complete();
        }));
      });
    }
    exports2.throttle = throttle;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js
var require_throttleTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/throttleTime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.throttleTime = void 0;
    var async_1 = require_async();
    var throttle_1 = require_throttle();
    var timer_1 = require_timer();
    function throttleTime(duration, scheduler, config) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      var duration$ = timer_1.timer(duration, scheduler);
      return throttle_1.throttle(function() {
        return duration$;
      }, config);
    }
    exports2.throttleTime = throttleTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js
var require_timeInterval = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeInterval.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TimeInterval = exports2.timeInterval = void 0;
    var async_1 = require_async();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function timeInterval(scheduler) {
      if (scheduler === void 0) {
        scheduler = async_1.asyncScheduler;
      }
      return lift_1.operate(function(source, subscriber) {
        var last = scheduler.now();
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var now = scheduler.now();
          var interval = now - last;
          last = now;
          subscriber.next(new TimeInterval(value, interval));
        }));
      });
    }
    exports2.timeInterval = timeInterval;
    var TimeInterval = /* @__PURE__ */ function() {
      function TimeInterval2(value, interval) {
        this.value = value;
        this.interval = interval;
      }
      return TimeInterval2;
    }();
    exports2.TimeInterval = TimeInterval;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js
var require_timeoutWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timeoutWith.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.timeoutWith = void 0;
    var async_1 = require_async();
    var isDate_1 = require_isDate();
    var timeout_1 = require_timeout();
    function timeoutWith(due, withObservable, scheduler) {
      var first;
      var each;
      var _with;
      scheduler = scheduler !== null && scheduler !== void 0 ? scheduler : async_1.async;
      if (isDate_1.isValidDate(due)) {
        first = due;
      } else if (typeof due === "number") {
        each = due;
      }
      if (withObservable) {
        _with = function() {
          return withObservable;
        };
      } else {
        throw new TypeError("No observable provided to switch to");
      }
      if (first == null && each == null) {
        throw new TypeError("No timeout provided.");
      }
      return timeout_1.timeout({
        first,
        each,
        scheduler,
        with: _with
      });
    }
    exports2.timeoutWith = timeoutWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js
var require_timestamp2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/timestamp.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.timestamp = void 0;
    var dateTimestampProvider_1 = require_dateTimestampProvider();
    var map_1 = require_map4();
    function timestamp(timestampProvider) {
      if (timestampProvider === void 0) {
        timestampProvider = dateTimestampProvider_1.dateTimestampProvider;
      }
      return map_1.map(function(value) {
        return { value, timestamp: timestampProvider.now() };
      });
    }
    exports2.timestamp = timestamp;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/window.js
var require_window = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/window.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.window = void 0;
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    var innerFrom_1 = require_innerFrom();
    function window2(windowBoundaries) {
      return lift_1.operate(function(source, subscriber) {
        var windowSubject = new Subject_1.Subject();
        subscriber.next(windowSubject.asObservable());
        var errorHandler = function(err) {
          windowSubject.error(err);
          subscriber.error(err);
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.next(value);
        }, function() {
          windowSubject.complete();
          subscriber.complete();
        }, errorHandler));
        innerFrom_1.innerFrom(windowBoundaries).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function() {
          windowSubject.complete();
          subscriber.next(windowSubject = new Subject_1.Subject());
        }, noop_1.noop, errorHandler));
        return function() {
          windowSubject === null || windowSubject === void 0 ? void 0 : windowSubject.unsubscribe();
          windowSubject = null;
        };
      });
    }
    exports2.window = window2;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js
var require_windowCount = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowCount.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.windowCount = void 0;
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    function windowCount(windowSize, startWindowEvery) {
      if (startWindowEvery === void 0) {
        startWindowEvery = 0;
      }
      var startEvery = startWindowEvery > 0 ? startWindowEvery : windowSize;
      return lift_1.operate(function(source, subscriber) {
        var windows = [new Subject_1.Subject()];
        var starts = [];
        var count = 0;
        subscriber.next(windows[0].asObservable());
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var e_1, _a;
          try {
            for (var windows_1 = __values2(windows), windows_1_1 = windows_1.next(); !windows_1_1.done; windows_1_1 = windows_1.next()) {
              var window_1 = windows_1_1.value;
              window_1.next(value);
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (windows_1_1 && !windows_1_1.done && (_a = windows_1.return)) _a.call(windows_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
          var c = count - windowSize + 1;
          if (c >= 0 && c % startEvery === 0) {
            windows.shift().complete();
          }
          if (++count % startEvery === 0) {
            var window_2 = new Subject_1.Subject();
            windows.push(window_2);
            subscriber.next(window_2.asObservable());
          }
        }, function() {
          while (windows.length > 0) {
            windows.shift().complete();
          }
          subscriber.complete();
        }, function(err) {
          while (windows.length > 0) {
            windows.shift().error(err);
          }
          subscriber.error(err);
        }, function() {
          starts = null;
          windows = null;
        }));
      });
    }
    exports2.windowCount = windowCount;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js
var require_windowTime = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowTime.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.windowTime = void 0;
    var Subject_1 = require_Subject();
    var async_1 = require_async();
    var Subscription_1 = require_Subscription();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var arrRemove_1 = require_arrRemove();
    var args_1 = require_args();
    var executeSchedule_1 = require_executeSchedule();
    function windowTime(windowTimeSpan) {
      var _a, _b;
      var otherArgs = [];
      for (var _i = 1; _i < arguments.length; _i++) {
        otherArgs[_i - 1] = arguments[_i];
      }
      var scheduler = (_a = args_1.popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : async_1.asyncScheduler;
      var windowCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
      var maxWindowSize = otherArgs[1] || Infinity;
      return lift_1.operate(function(source, subscriber) {
        var windowRecords = [];
        var restartOnClose = false;
        var closeWindow = function(record) {
          var window2 = record.window, subs = record.subs;
          window2.complete();
          subs.unsubscribe();
          arrRemove_1.arrRemove(windowRecords, record);
          restartOnClose && startWindow();
        };
        var startWindow = function() {
          if (windowRecords) {
            var subs = new Subscription_1.Subscription();
            subscriber.add(subs);
            var window_1 = new Subject_1.Subject();
            var record_1 = {
              window: window_1,
              subs,
              seen: 0
            };
            windowRecords.push(record_1);
            subscriber.next(window_1.asObservable());
            executeSchedule_1.executeSchedule(subs, scheduler, function() {
              return closeWindow(record_1);
            }, windowTimeSpan);
          }
        };
        if (windowCreationInterval !== null && windowCreationInterval >= 0) {
          executeSchedule_1.executeSchedule(subscriber, scheduler, startWindow, windowCreationInterval, true);
        } else {
          restartOnClose = true;
        }
        startWindow();
        var loop = function(cb) {
          return windowRecords.slice().forEach(cb);
        };
        var terminate = function(cb) {
          loop(function(_a2) {
            var window2 = _a2.window;
            return cb(window2);
          });
          cb(subscriber);
          subscriber.unsubscribe();
        };
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          loop(function(record) {
            record.window.next(value);
            maxWindowSize <= ++record.seen && closeWindow(record);
          });
        }, function() {
          return terminate(function(consumer) {
            return consumer.complete();
          });
        }, function(err) {
          return terminate(function(consumer) {
            return consumer.error(err);
          });
        }));
        return function() {
          windowRecords = null;
        };
      });
    }
    exports2.windowTime = windowTime;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js
var require_windowToggle = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowToggle.js"(exports2) {
    "use strict";
    var __values2 = exports2 && exports2.__values || function(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.");
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.windowToggle = void 0;
    var Subject_1 = require_Subject();
    var Subscription_1 = require_Subscription();
    var lift_1 = require_lift();
    var innerFrom_1 = require_innerFrom();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var noop_1 = require_noop();
    var arrRemove_1 = require_arrRemove();
    function windowToggle(openings, closingSelector) {
      return lift_1.operate(function(source, subscriber) {
        var windows = [];
        var handleError = function(err) {
          while (0 < windows.length) {
            windows.shift().error(err);
          }
          subscriber.error(err);
        };
        innerFrom_1.innerFrom(openings).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(openValue) {
          var window2 = new Subject_1.Subject();
          windows.push(window2);
          var closingSubscription = new Subscription_1.Subscription();
          var closeWindow = function() {
            arrRemove_1.arrRemove(windows, window2);
            window2.complete();
            closingSubscription.unsubscribe();
          };
          var closingNotifier;
          try {
            closingNotifier = innerFrom_1.innerFrom(closingSelector(openValue));
          } catch (err) {
            handleError(err);
            return;
          }
          subscriber.next(window2.asObservable());
          closingSubscription.add(closingNotifier.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, closeWindow, noop_1.noop, handleError)));
        }, noop_1.noop));
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          var e_1, _a;
          var windowsCopy = windows.slice();
          try {
            for (var windowsCopy_1 = __values2(windowsCopy), windowsCopy_1_1 = windowsCopy_1.next(); !windowsCopy_1_1.done; windowsCopy_1_1 = windowsCopy_1.next()) {
              var window_1 = windowsCopy_1_1.value;
              window_1.next(value);
            }
          } catch (e_1_1) {
            e_1 = { error: e_1_1 };
          } finally {
            try {
              if (windowsCopy_1_1 && !windowsCopy_1_1.done && (_a = windowsCopy_1.return)) _a.call(windowsCopy_1);
            } finally {
              if (e_1) throw e_1.error;
            }
          }
        }, function() {
          while (0 < windows.length) {
            windows.shift().complete();
          }
          subscriber.complete();
        }, handleError, function() {
          while (0 < windows.length) {
            windows.shift().unsubscribe();
          }
        }));
      });
    }
    exports2.windowToggle = windowToggle;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js
var require_windowWhen = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/windowWhen.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.windowWhen = void 0;
    var Subject_1 = require_Subject();
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    function windowWhen(closingSelector) {
      return lift_1.operate(function(source, subscriber) {
        var window2;
        var closingSubscriber;
        var handleError = function(err) {
          window2.error(err);
          subscriber.error(err);
        };
        var openWindow = function() {
          closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
          window2 === null || window2 === void 0 ? void 0 : window2.complete();
          window2 = new Subject_1.Subject();
          subscriber.next(window2.asObservable());
          var closingNotifier;
          try {
            closingNotifier = innerFrom_1.innerFrom(closingSelector());
          } catch (err) {
            handleError(err);
            return;
          }
          closingNotifier.subscribe(closingSubscriber = OperatorSubscriber_1.createOperatorSubscriber(subscriber, openWindow, openWindow, handleError));
        };
        openWindow();
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          return window2.next(value);
        }, function() {
          window2.complete();
          subscriber.complete();
        }, handleError, function() {
          closingSubscriber === null || closingSubscriber === void 0 ? void 0 : closingSubscriber.unsubscribe();
          window2 = null;
        }));
      });
    }
    exports2.windowWhen = windowWhen;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js
var require_withLatestFrom = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/withLatestFrom.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.withLatestFrom = void 0;
    var lift_1 = require_lift();
    var OperatorSubscriber_1 = require_OperatorSubscriber();
    var innerFrom_1 = require_innerFrom();
    var identity_1 = require_identity();
    var noop_1 = require_noop();
    var args_1 = require_args();
    function withLatestFrom() {
      var inputs = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        inputs[_i] = arguments[_i];
      }
      var project = args_1.popResultSelector(inputs);
      return lift_1.operate(function(source, subscriber) {
        var len = inputs.length;
        var otherValues = new Array(len);
        var hasValue = inputs.map(function() {
          return false;
        });
        var ready = false;
        var _loop_1 = function(i2) {
          innerFrom_1.innerFrom(inputs[i2]).subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
            otherValues[i2] = value;
            if (!ready && !hasValue[i2]) {
              hasValue[i2] = true;
              (ready = hasValue.every(identity_1.identity)) && (hasValue = null);
            }
          }, noop_1.noop));
        };
        for (var i = 0; i < len; i++) {
          _loop_1(i);
        }
        source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function(value) {
          if (ready) {
            var values = __spreadArray2([value], __read2(otherValues));
            subscriber.next(project ? project.apply(void 0, __spreadArray2([], __read2(values))) : values);
          }
        }));
      });
    }
    exports2.withLatestFrom = withLatestFrom;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js
var require_zipAll = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zipAll.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.zipAll = void 0;
    var zip_1 = require_zip();
    var joinAllInternals_1 = require_joinAllInternals();
    function zipAll(project) {
      return joinAllInternals_1.joinAllInternals(zip_1.zip, project);
    }
    exports2.zipAll = zipAll;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zip.js
var require_zip2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zip.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.zip = void 0;
    var zip_1 = require_zip();
    var lift_1 = require_lift();
    function zip() {
      var sources = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        sources[_i] = arguments[_i];
      }
      return lift_1.operate(function(source, subscriber) {
        zip_1.zip.apply(void 0, __spreadArray2([source], __read2(sources))).subscribe(subscriber);
      });
    }
    exports2.zip = zip;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js
var require_zipWith = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/zipWith.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.zipWith = void 0;
    var zip_1 = require_zip2();
    function zipWith() {
      var otherInputs = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        otherInputs[_i] = arguments[_i];
      }
      return zip_1.zip.apply(void 0, __spreadArray2([], __read2(otherInputs)));
    }
    exports2.zipWith = zipWith;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/index.js
var require_cjs2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.interval = exports2.iif = exports2.generate = exports2.fromEventPattern = exports2.fromEvent = exports2.from = exports2.forkJoin = exports2.empty = exports2.defer = exports2.connectable = exports2.concat = exports2.combineLatest = exports2.bindNodeCallback = exports2.bindCallback = exports2.UnsubscriptionError = exports2.TimeoutError = exports2.SequenceError = exports2.ObjectUnsubscribedError = exports2.NotFoundError = exports2.EmptyError = exports2.ArgumentOutOfRangeError = exports2.firstValueFrom = exports2.lastValueFrom = exports2.isObservable = exports2.identity = exports2.noop = exports2.pipe = exports2.NotificationKind = exports2.Notification = exports2.Subscriber = exports2.Subscription = exports2.Scheduler = exports2.VirtualAction = exports2.VirtualTimeScheduler = exports2.animationFrameScheduler = exports2.animationFrame = exports2.queueScheduler = exports2.queue = exports2.asyncScheduler = exports2.async = exports2.asapScheduler = exports2.asap = exports2.AsyncSubject = exports2.ReplaySubject = exports2.BehaviorSubject = exports2.Subject = exports2.animationFrames = exports2.observable = exports2.ConnectableObservable = exports2.Observable = void 0;
    exports2.filter = exports2.expand = exports2.exhaustMap = exports2.exhaustAll = exports2.exhaust = exports2.every = exports2.endWith = exports2.elementAt = exports2.distinctUntilKeyChanged = exports2.distinctUntilChanged = exports2.distinct = exports2.dematerialize = exports2.delayWhen = exports2.delay = exports2.defaultIfEmpty = exports2.debounceTime = exports2.debounce = exports2.count = exports2.connect = exports2.concatWith = exports2.concatMapTo = exports2.concatMap = exports2.concatAll = exports2.combineLatestWith = exports2.combineLatestAll = exports2.combineAll = exports2.catchError = exports2.bufferWhen = exports2.bufferToggle = exports2.bufferTime = exports2.bufferCount = exports2.buffer = exports2.auditTime = exports2.audit = exports2.config = exports2.NEVER = exports2.EMPTY = exports2.scheduled = exports2.zip = exports2.using = exports2.timer = exports2.throwError = exports2.range = exports2.race = exports2.partition = exports2.pairs = exports2.onErrorResumeNext = exports2.of = exports2.never = exports2.merge = void 0;
    exports2.switchMap = exports2.switchAll = exports2.subscribeOn = exports2.startWith = exports2.skipWhile = exports2.skipUntil = exports2.skipLast = exports2.skip = exports2.single = exports2.shareReplay = exports2.share = exports2.sequenceEqual = exports2.scan = exports2.sampleTime = exports2.sample = exports2.refCount = exports2.retryWhen = exports2.retry = exports2.repeatWhen = exports2.repeat = exports2.reduce = exports2.raceWith = exports2.publishReplay = exports2.publishLast = exports2.publishBehavior = exports2.publish = exports2.pluck = exports2.pairwise = exports2.onErrorResumeNextWith = exports2.observeOn = exports2.multicast = exports2.min = exports2.mergeWith = exports2.mergeScan = exports2.mergeMapTo = exports2.mergeMap = exports2.flatMap = exports2.mergeAll = exports2.max = exports2.materialize = exports2.mapTo = exports2.map = exports2.last = exports2.isEmpty = exports2.ignoreElements = exports2.groupBy = exports2.first = exports2.findIndex = exports2.find = exports2.finalize = void 0;
    exports2.zipWith = exports2.zipAll = exports2.withLatestFrom = exports2.windowWhen = exports2.windowToggle = exports2.windowTime = exports2.windowCount = exports2.window = exports2.toArray = exports2.timestamp = exports2.timeoutWith = exports2.timeout = exports2.timeInterval = exports2.throwIfEmpty = exports2.throttleTime = exports2.throttle = exports2.tap = exports2.takeWhile = exports2.takeUntil = exports2.takeLast = exports2.take = exports2.switchScan = exports2.switchMapTo = void 0;
    var Observable_1 = require_Observable();
    Object.defineProperty(exports2, "Observable", { enumerable: true, get: function() {
      return Observable_1.Observable;
    } });
    var ConnectableObservable_1 = require_ConnectableObservable();
    Object.defineProperty(exports2, "ConnectableObservable", { enumerable: true, get: function() {
      return ConnectableObservable_1.ConnectableObservable;
    } });
    var observable_1 = require_observable();
    Object.defineProperty(exports2, "observable", { enumerable: true, get: function() {
      return observable_1.observable;
    } });
    var animationFrames_1 = require_animationFrames();
    Object.defineProperty(exports2, "animationFrames", { enumerable: true, get: function() {
      return animationFrames_1.animationFrames;
    } });
    var Subject_1 = require_Subject();
    Object.defineProperty(exports2, "Subject", { enumerable: true, get: function() {
      return Subject_1.Subject;
    } });
    var BehaviorSubject_1 = require_BehaviorSubject();
    Object.defineProperty(exports2, "BehaviorSubject", { enumerable: true, get: function() {
      return BehaviorSubject_1.BehaviorSubject;
    } });
    var ReplaySubject_1 = require_ReplaySubject();
    Object.defineProperty(exports2, "ReplaySubject", { enumerable: true, get: function() {
      return ReplaySubject_1.ReplaySubject;
    } });
    var AsyncSubject_1 = require_AsyncSubject();
    Object.defineProperty(exports2, "AsyncSubject", { enumerable: true, get: function() {
      return AsyncSubject_1.AsyncSubject;
    } });
    var asap_1 = require_asap();
    Object.defineProperty(exports2, "asap", { enumerable: true, get: function() {
      return asap_1.asap;
    } });
    Object.defineProperty(exports2, "asapScheduler", { enumerable: true, get: function() {
      return asap_1.asapScheduler;
    } });
    var async_1 = require_async();
    Object.defineProperty(exports2, "async", { enumerable: true, get: function() {
      return async_1.async;
    } });
    Object.defineProperty(exports2, "asyncScheduler", { enumerable: true, get: function() {
      return async_1.asyncScheduler;
    } });
    var queue_1 = require_queue();
    Object.defineProperty(exports2, "queue", { enumerable: true, get: function() {
      return queue_1.queue;
    } });
    Object.defineProperty(exports2, "queueScheduler", { enumerable: true, get: function() {
      return queue_1.queueScheduler;
    } });
    var animationFrame_1 = require_animationFrame();
    Object.defineProperty(exports2, "animationFrame", { enumerable: true, get: function() {
      return animationFrame_1.animationFrame;
    } });
    Object.defineProperty(exports2, "animationFrameScheduler", { enumerable: true, get: function() {
      return animationFrame_1.animationFrameScheduler;
    } });
    var VirtualTimeScheduler_1 = require_VirtualTimeScheduler();
    Object.defineProperty(exports2, "VirtualTimeScheduler", { enumerable: true, get: function() {
      return VirtualTimeScheduler_1.VirtualTimeScheduler;
    } });
    Object.defineProperty(exports2, "VirtualAction", { enumerable: true, get: function() {
      return VirtualTimeScheduler_1.VirtualAction;
    } });
    var Scheduler_1 = require_Scheduler();
    Object.defineProperty(exports2, "Scheduler", { enumerable: true, get: function() {
      return Scheduler_1.Scheduler;
    } });
    var Subscription_1 = require_Subscription();
    Object.defineProperty(exports2, "Subscription", { enumerable: true, get: function() {
      return Subscription_1.Subscription;
    } });
    var Subscriber_1 = require_Subscriber();
    Object.defineProperty(exports2, "Subscriber", { enumerable: true, get: function() {
      return Subscriber_1.Subscriber;
    } });
    var Notification_1 = require_Notification();
    Object.defineProperty(exports2, "Notification", { enumerable: true, get: function() {
      return Notification_1.Notification;
    } });
    Object.defineProperty(exports2, "NotificationKind", { enumerable: true, get: function() {
      return Notification_1.NotificationKind;
    } });
    var pipe_1 = require_pipe();
    Object.defineProperty(exports2, "pipe", { enumerable: true, get: function() {
      return pipe_1.pipe;
    } });
    var noop_1 = require_noop();
    Object.defineProperty(exports2, "noop", { enumerable: true, get: function() {
      return noop_1.noop;
    } });
    var identity_1 = require_identity();
    Object.defineProperty(exports2, "identity", { enumerable: true, get: function() {
      return identity_1.identity;
    } });
    var isObservable_1 = require_isObservable();
    Object.defineProperty(exports2, "isObservable", { enumerable: true, get: function() {
      return isObservable_1.isObservable;
    } });
    var lastValueFrom_1 = require_lastValueFrom();
    Object.defineProperty(exports2, "lastValueFrom", { enumerable: true, get: function() {
      return lastValueFrom_1.lastValueFrom;
    } });
    var firstValueFrom_1 = require_firstValueFrom();
    Object.defineProperty(exports2, "firstValueFrom", { enumerable: true, get: function() {
      return firstValueFrom_1.firstValueFrom;
    } });
    var ArgumentOutOfRangeError_1 = require_ArgumentOutOfRangeError();
    Object.defineProperty(exports2, "ArgumentOutOfRangeError", { enumerable: true, get: function() {
      return ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;
    } });
    var EmptyError_1 = require_EmptyError();
    Object.defineProperty(exports2, "EmptyError", { enumerable: true, get: function() {
      return EmptyError_1.EmptyError;
    } });
    var NotFoundError_1 = require_NotFoundError();
    Object.defineProperty(exports2, "NotFoundError", { enumerable: true, get: function() {
      return NotFoundError_1.NotFoundError;
    } });
    var ObjectUnsubscribedError_1 = require_ObjectUnsubscribedError();
    Object.defineProperty(exports2, "ObjectUnsubscribedError", { enumerable: true, get: function() {
      return ObjectUnsubscribedError_1.ObjectUnsubscribedError;
    } });
    var SequenceError_1 = require_SequenceError();
    Object.defineProperty(exports2, "SequenceError", { enumerable: true, get: function() {
      return SequenceError_1.SequenceError;
    } });
    var timeout_1 = require_timeout();
    Object.defineProperty(exports2, "TimeoutError", { enumerable: true, get: function() {
      return timeout_1.TimeoutError;
    } });
    var UnsubscriptionError_1 = require_UnsubscriptionError();
    Object.defineProperty(exports2, "UnsubscriptionError", { enumerable: true, get: function() {
      return UnsubscriptionError_1.UnsubscriptionError;
    } });
    var bindCallback_1 = require_bindCallback();
    Object.defineProperty(exports2, "bindCallback", { enumerable: true, get: function() {
      return bindCallback_1.bindCallback;
    } });
    var bindNodeCallback_1 = require_bindNodeCallback();
    Object.defineProperty(exports2, "bindNodeCallback", { enumerable: true, get: function() {
      return bindNodeCallback_1.bindNodeCallback;
    } });
    var combineLatest_1 = require_combineLatest();
    Object.defineProperty(exports2, "combineLatest", { enumerable: true, get: function() {
      return combineLatest_1.combineLatest;
    } });
    var concat_1 = require_concat();
    Object.defineProperty(exports2, "concat", { enumerable: true, get: function() {
      return concat_1.concat;
    } });
    var connectable_1 = require_connectable();
    Object.defineProperty(exports2, "connectable", { enumerable: true, get: function() {
      return connectable_1.connectable;
    } });
    var defer_1 = require_defer();
    Object.defineProperty(exports2, "defer", { enumerable: true, get: function() {
      return defer_1.defer;
    } });
    var empty_1 = require_empty();
    Object.defineProperty(exports2, "empty", { enumerable: true, get: function() {
      return empty_1.empty;
    } });
    var forkJoin_1 = require_forkJoin();
    Object.defineProperty(exports2, "forkJoin", { enumerable: true, get: function() {
      return forkJoin_1.forkJoin;
    } });
    var from_1 = require_from2();
    Object.defineProperty(exports2, "from", { enumerable: true, get: function() {
      return from_1.from;
    } });
    var fromEvent_1 = require_fromEvent();
    Object.defineProperty(exports2, "fromEvent", { enumerable: true, get: function() {
      return fromEvent_1.fromEvent;
    } });
    var fromEventPattern_1 = require_fromEventPattern();
    Object.defineProperty(exports2, "fromEventPattern", { enumerable: true, get: function() {
      return fromEventPattern_1.fromEventPattern;
    } });
    var generate_1 = require_generate();
    Object.defineProperty(exports2, "generate", { enumerable: true, get: function() {
      return generate_1.generate;
    } });
    var iif_1 = require_iif();
    Object.defineProperty(exports2, "iif", { enumerable: true, get: function() {
      return iif_1.iif;
    } });
    var interval_1 = require_interval();
    Object.defineProperty(exports2, "interval", { enumerable: true, get: function() {
      return interval_1.interval;
    } });
    var merge_1 = require_merge2();
    Object.defineProperty(exports2, "merge", { enumerable: true, get: function() {
      return merge_1.merge;
    } });
    var never_1 = require_never();
    Object.defineProperty(exports2, "never", { enumerable: true, get: function() {
      return never_1.never;
    } });
    var of_1 = require_of();
    Object.defineProperty(exports2, "of", { enumerable: true, get: function() {
      return of_1.of;
    } });
    var onErrorResumeNext_1 = require_onErrorResumeNext();
    Object.defineProperty(exports2, "onErrorResumeNext", { enumerable: true, get: function() {
      return onErrorResumeNext_1.onErrorResumeNext;
    } });
    var pairs_1 = require_pairs2();
    Object.defineProperty(exports2, "pairs", { enumerable: true, get: function() {
      return pairs_1.pairs;
    } });
    var partition_1 = require_partition();
    Object.defineProperty(exports2, "partition", { enumerable: true, get: function() {
      return partition_1.partition;
    } });
    var race_1 = require_race();
    Object.defineProperty(exports2, "race", { enumerable: true, get: function() {
      return race_1.race;
    } });
    var range_1 = require_range();
    Object.defineProperty(exports2, "range", { enumerable: true, get: function() {
      return range_1.range;
    } });
    var throwError_1 = require_throwError();
    Object.defineProperty(exports2, "throwError", { enumerable: true, get: function() {
      return throwError_1.throwError;
    } });
    var timer_1 = require_timer();
    Object.defineProperty(exports2, "timer", { enumerable: true, get: function() {
      return timer_1.timer;
    } });
    var using_1 = require_using();
    Object.defineProperty(exports2, "using", { enumerable: true, get: function() {
      return using_1.using;
    } });
    var zip_1 = require_zip();
    Object.defineProperty(exports2, "zip", { enumerable: true, get: function() {
      return zip_1.zip;
    } });
    var scheduled_1 = require_scheduled();
    Object.defineProperty(exports2, "scheduled", { enumerable: true, get: function() {
      return scheduled_1.scheduled;
    } });
    var empty_2 = require_empty();
    Object.defineProperty(exports2, "EMPTY", { enumerable: true, get: function() {
      return empty_2.EMPTY;
    } });
    var never_2 = require_never();
    Object.defineProperty(exports2, "NEVER", { enumerable: true, get: function() {
      return never_2.NEVER;
    } });
    __exportStar2(require_types3(), exports2);
    var config_1 = require_config();
    Object.defineProperty(exports2, "config", { enumerable: true, get: function() {
      return config_1.config;
    } });
    var audit_1 = require_audit();
    Object.defineProperty(exports2, "audit", { enumerable: true, get: function() {
      return audit_1.audit;
    } });
    var auditTime_1 = require_auditTime();
    Object.defineProperty(exports2, "auditTime", { enumerable: true, get: function() {
      return auditTime_1.auditTime;
    } });
    var buffer_1 = require_buffer();
    Object.defineProperty(exports2, "buffer", { enumerable: true, get: function() {
      return buffer_1.buffer;
    } });
    var bufferCount_1 = require_bufferCount();
    Object.defineProperty(exports2, "bufferCount", { enumerable: true, get: function() {
      return bufferCount_1.bufferCount;
    } });
    var bufferTime_1 = require_bufferTime();
    Object.defineProperty(exports2, "bufferTime", { enumerable: true, get: function() {
      return bufferTime_1.bufferTime;
    } });
    var bufferToggle_1 = require_bufferToggle();
    Object.defineProperty(exports2, "bufferToggle", { enumerable: true, get: function() {
      return bufferToggle_1.bufferToggle;
    } });
    var bufferWhen_1 = require_bufferWhen();
    Object.defineProperty(exports2, "bufferWhen", { enumerable: true, get: function() {
      return bufferWhen_1.bufferWhen;
    } });
    var catchError_1 = require_catchError();
    Object.defineProperty(exports2, "catchError", { enumerable: true, get: function() {
      return catchError_1.catchError;
    } });
    var combineAll_1 = require_combineAll();
    Object.defineProperty(exports2, "combineAll", { enumerable: true, get: function() {
      return combineAll_1.combineAll;
    } });
    var combineLatestAll_1 = require_combineLatestAll();
    Object.defineProperty(exports2, "combineLatestAll", { enumerable: true, get: function() {
      return combineLatestAll_1.combineLatestAll;
    } });
    var combineLatestWith_1 = require_combineLatestWith();
    Object.defineProperty(exports2, "combineLatestWith", { enumerable: true, get: function() {
      return combineLatestWith_1.combineLatestWith;
    } });
    var concatAll_1 = require_concatAll();
    Object.defineProperty(exports2, "concatAll", { enumerable: true, get: function() {
      return concatAll_1.concatAll;
    } });
    var concatMap_1 = require_concatMap();
    Object.defineProperty(exports2, "concatMap", { enumerable: true, get: function() {
      return concatMap_1.concatMap;
    } });
    var concatMapTo_1 = require_concatMapTo();
    Object.defineProperty(exports2, "concatMapTo", { enumerable: true, get: function() {
      return concatMapTo_1.concatMapTo;
    } });
    var concatWith_1 = require_concatWith();
    Object.defineProperty(exports2, "concatWith", { enumerable: true, get: function() {
      return concatWith_1.concatWith;
    } });
    var connect_1 = require_connect();
    Object.defineProperty(exports2, "connect", { enumerable: true, get: function() {
      return connect_1.connect;
    } });
    var count_1 = require_count();
    Object.defineProperty(exports2, "count", { enumerable: true, get: function() {
      return count_1.count;
    } });
    var debounce_1 = require_debounce();
    Object.defineProperty(exports2, "debounce", { enumerable: true, get: function() {
      return debounce_1.debounce;
    } });
    var debounceTime_1 = require_debounceTime();
    Object.defineProperty(exports2, "debounceTime", { enumerable: true, get: function() {
      return debounceTime_1.debounceTime;
    } });
    var defaultIfEmpty_1 = require_defaultIfEmpty();
    Object.defineProperty(exports2, "defaultIfEmpty", { enumerable: true, get: function() {
      return defaultIfEmpty_1.defaultIfEmpty;
    } });
    var delay_1 = require_delay();
    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
      return delay_1.delay;
    } });
    var delayWhen_1 = require_delayWhen();
    Object.defineProperty(exports2, "delayWhen", { enumerable: true, get: function() {
      return delayWhen_1.delayWhen;
    } });
    var dematerialize_1 = require_dematerialize();
    Object.defineProperty(exports2, "dematerialize", { enumerable: true, get: function() {
      return dematerialize_1.dematerialize;
    } });
    var distinct_1 = require_distinct();
    Object.defineProperty(exports2, "distinct", { enumerable: true, get: function() {
      return distinct_1.distinct;
    } });
    var distinctUntilChanged_1 = require_distinctUntilChanged();
    Object.defineProperty(exports2, "distinctUntilChanged", { enumerable: true, get: function() {
      return distinctUntilChanged_1.distinctUntilChanged;
    } });
    var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged();
    Object.defineProperty(exports2, "distinctUntilKeyChanged", { enumerable: true, get: function() {
      return distinctUntilKeyChanged_1.distinctUntilKeyChanged;
    } });
    var elementAt_1 = require_elementAt();
    Object.defineProperty(exports2, "elementAt", { enumerable: true, get: function() {
      return elementAt_1.elementAt;
    } });
    var endWith_1 = require_endWith();
    Object.defineProperty(exports2, "endWith", { enumerable: true, get: function() {
      return endWith_1.endWith;
    } });
    var every_1 = require_every();
    Object.defineProperty(exports2, "every", { enumerable: true, get: function() {
      return every_1.every;
    } });
    var exhaust_1 = require_exhaust();
    Object.defineProperty(exports2, "exhaust", { enumerable: true, get: function() {
      return exhaust_1.exhaust;
    } });
    var exhaustAll_1 = require_exhaustAll();
    Object.defineProperty(exports2, "exhaustAll", { enumerable: true, get: function() {
      return exhaustAll_1.exhaustAll;
    } });
    var exhaustMap_1 = require_exhaustMap();
    Object.defineProperty(exports2, "exhaustMap", { enumerable: true, get: function() {
      return exhaustMap_1.exhaustMap;
    } });
    var expand_1 = require_expand();
    Object.defineProperty(exports2, "expand", { enumerable: true, get: function() {
      return expand_1.expand;
    } });
    var filter_1 = require_filter();
    Object.defineProperty(exports2, "filter", { enumerable: true, get: function() {
      return filter_1.filter;
    } });
    var finalize_1 = require_finalize();
    Object.defineProperty(exports2, "finalize", { enumerable: true, get: function() {
      return finalize_1.finalize;
    } });
    var find_1 = require_find();
    Object.defineProperty(exports2, "find", { enumerable: true, get: function() {
      return find_1.find;
    } });
    var findIndex_1 = require_findIndex();
    Object.defineProperty(exports2, "findIndex", { enumerable: true, get: function() {
      return findIndex_1.findIndex;
    } });
    var first_1 = require_first();
    Object.defineProperty(exports2, "first", { enumerable: true, get: function() {
      return first_1.first;
    } });
    var groupBy_1 = require_groupBy();
    Object.defineProperty(exports2, "groupBy", { enumerable: true, get: function() {
      return groupBy_1.groupBy;
    } });
    var ignoreElements_1 = require_ignoreElements();
    Object.defineProperty(exports2, "ignoreElements", { enumerable: true, get: function() {
      return ignoreElements_1.ignoreElements;
    } });
    var isEmpty_1 = require_isEmpty();
    Object.defineProperty(exports2, "isEmpty", { enumerable: true, get: function() {
      return isEmpty_1.isEmpty;
    } });
    var last_1 = require_last();
    Object.defineProperty(exports2, "last", { enumerable: true, get: function() {
      return last_1.last;
    } });
    var map_1 = require_map4();
    Object.defineProperty(exports2, "map", { enumerable: true, get: function() {
      return map_1.map;
    } });
    var mapTo_1 = require_mapTo();
    Object.defineProperty(exports2, "mapTo", { enumerable: true, get: function() {
      return mapTo_1.mapTo;
    } });
    var materialize_1 = require_materialize();
    Object.defineProperty(exports2, "materialize", { enumerable: true, get: function() {
      return materialize_1.materialize;
    } });
    var max_1 = require_max();
    Object.defineProperty(exports2, "max", { enumerable: true, get: function() {
      return max_1.max;
    } });
    var mergeAll_1 = require_mergeAll();
    Object.defineProperty(exports2, "mergeAll", { enumerable: true, get: function() {
      return mergeAll_1.mergeAll;
    } });
    var flatMap_1 = require_flatMap();
    Object.defineProperty(exports2, "flatMap", { enumerable: true, get: function() {
      return flatMap_1.flatMap;
    } });
    var mergeMap_1 = require_mergeMap();
    Object.defineProperty(exports2, "mergeMap", { enumerable: true, get: function() {
      return mergeMap_1.mergeMap;
    } });
    var mergeMapTo_1 = require_mergeMapTo();
    Object.defineProperty(exports2, "mergeMapTo", { enumerable: true, get: function() {
      return mergeMapTo_1.mergeMapTo;
    } });
    var mergeScan_1 = require_mergeScan();
    Object.defineProperty(exports2, "mergeScan", { enumerable: true, get: function() {
      return mergeScan_1.mergeScan;
    } });
    var mergeWith_12 = require_mergeWith();
    Object.defineProperty(exports2, "mergeWith", { enumerable: true, get: function() {
      return mergeWith_12.mergeWith;
    } });
    var min_1 = require_min();
    Object.defineProperty(exports2, "min", { enumerable: true, get: function() {
      return min_1.min;
    } });
    var multicast_1 = require_multicast();
    Object.defineProperty(exports2, "multicast", { enumerable: true, get: function() {
      return multicast_1.multicast;
    } });
    var observeOn_1 = require_observeOn();
    Object.defineProperty(exports2, "observeOn", { enumerable: true, get: function() {
      return observeOn_1.observeOn;
    } });
    var onErrorResumeNextWith_1 = require_onErrorResumeNextWith();
    Object.defineProperty(exports2, "onErrorResumeNextWith", { enumerable: true, get: function() {
      return onErrorResumeNextWith_1.onErrorResumeNextWith;
    } });
    var pairwise_1 = require_pairwise();
    Object.defineProperty(exports2, "pairwise", { enumerable: true, get: function() {
      return pairwise_1.pairwise;
    } });
    var pluck_1 = require_pluck();
    Object.defineProperty(exports2, "pluck", { enumerable: true, get: function() {
      return pluck_1.pluck;
    } });
    var publish_1 = require_publish();
    Object.defineProperty(exports2, "publish", { enumerable: true, get: function() {
      return publish_1.publish;
    } });
    var publishBehavior_1 = require_publishBehavior();
    Object.defineProperty(exports2, "publishBehavior", { enumerable: true, get: function() {
      return publishBehavior_1.publishBehavior;
    } });
    var publishLast_1 = require_publishLast();
    Object.defineProperty(exports2, "publishLast", { enumerable: true, get: function() {
      return publishLast_1.publishLast;
    } });
    var publishReplay_1 = require_publishReplay();
    Object.defineProperty(exports2, "publishReplay", { enumerable: true, get: function() {
      return publishReplay_1.publishReplay;
    } });
    var raceWith_1 = require_raceWith();
    Object.defineProperty(exports2, "raceWith", { enumerable: true, get: function() {
      return raceWith_1.raceWith;
    } });
    var reduce_1 = require_reduce2();
    Object.defineProperty(exports2, "reduce", { enumerable: true, get: function() {
      return reduce_1.reduce;
    } });
    var repeat_1 = require_repeat();
    Object.defineProperty(exports2, "repeat", { enumerable: true, get: function() {
      return repeat_1.repeat;
    } });
    var repeatWhen_1 = require_repeatWhen();
    Object.defineProperty(exports2, "repeatWhen", { enumerable: true, get: function() {
      return repeatWhen_1.repeatWhen;
    } });
    var retry_1 = require_retry();
    Object.defineProperty(exports2, "retry", { enumerable: true, get: function() {
      return retry_1.retry;
    } });
    var retryWhen_1 = require_retryWhen();
    Object.defineProperty(exports2, "retryWhen", { enumerable: true, get: function() {
      return retryWhen_1.retryWhen;
    } });
    var refCount_1 = require_refCount();
    Object.defineProperty(exports2, "refCount", { enumerable: true, get: function() {
      return refCount_1.refCount;
    } });
    var sample_1 = require_sample();
    Object.defineProperty(exports2, "sample", { enumerable: true, get: function() {
      return sample_1.sample;
    } });
    var sampleTime_1 = require_sampleTime();
    Object.defineProperty(exports2, "sampleTime", { enumerable: true, get: function() {
      return sampleTime_1.sampleTime;
    } });
    var scan_1 = require_scan();
    Object.defineProperty(exports2, "scan", { enumerable: true, get: function() {
      return scan_1.scan;
    } });
    var sequenceEqual_1 = require_sequenceEqual();
    Object.defineProperty(exports2, "sequenceEqual", { enumerable: true, get: function() {
      return sequenceEqual_1.sequenceEqual;
    } });
    var share_1 = require_share();
    Object.defineProperty(exports2, "share", { enumerable: true, get: function() {
      return share_1.share;
    } });
    var shareReplay_1 = require_shareReplay();
    Object.defineProperty(exports2, "shareReplay", { enumerable: true, get: function() {
      return shareReplay_1.shareReplay;
    } });
    var single_1 = require_single();
    Object.defineProperty(exports2, "single", { enumerable: true, get: function() {
      return single_1.single;
    } });
    var skip_1 = require_skip();
    Object.defineProperty(exports2, "skip", { enumerable: true, get: function() {
      return skip_1.skip;
    } });
    var skipLast_1 = require_skipLast();
    Object.defineProperty(exports2, "skipLast", { enumerable: true, get: function() {
      return skipLast_1.skipLast;
    } });
    var skipUntil_1 = require_skipUntil();
    Object.defineProperty(exports2, "skipUntil", { enumerable: true, get: function() {
      return skipUntil_1.skipUntil;
    } });
    var skipWhile_1 = require_skipWhile();
    Object.defineProperty(exports2, "skipWhile", { enumerable: true, get: function() {
      return skipWhile_1.skipWhile;
    } });
    var startWith_1 = require_startWith();
    Object.defineProperty(exports2, "startWith", { enumerable: true, get: function() {
      return startWith_1.startWith;
    } });
    var subscribeOn_1 = require_subscribeOn();
    Object.defineProperty(exports2, "subscribeOn", { enumerable: true, get: function() {
      return subscribeOn_1.subscribeOn;
    } });
    var switchAll_1 = require_switchAll();
    Object.defineProperty(exports2, "switchAll", { enumerable: true, get: function() {
      return switchAll_1.switchAll;
    } });
    var switchMap_1 = require_switchMap();
    Object.defineProperty(exports2, "switchMap", { enumerable: true, get: function() {
      return switchMap_1.switchMap;
    } });
    var switchMapTo_1 = require_switchMapTo();
    Object.defineProperty(exports2, "switchMapTo", { enumerable: true, get: function() {
      return switchMapTo_1.switchMapTo;
    } });
    var switchScan_1 = require_switchScan();
    Object.defineProperty(exports2, "switchScan", { enumerable: true, get: function() {
      return switchScan_1.switchScan;
    } });
    var take_1 = require_take();
    Object.defineProperty(exports2, "take", { enumerable: true, get: function() {
      return take_1.take;
    } });
    var takeLast_1 = require_takeLast();
    Object.defineProperty(exports2, "takeLast", { enumerable: true, get: function() {
      return takeLast_1.takeLast;
    } });
    var takeUntil_1 = require_takeUntil();
    Object.defineProperty(exports2, "takeUntil", { enumerable: true, get: function() {
      return takeUntil_1.takeUntil;
    } });
    var takeWhile_1 = require_takeWhile();
    Object.defineProperty(exports2, "takeWhile", { enumerable: true, get: function() {
      return takeWhile_1.takeWhile;
    } });
    var tap_1 = require_tap();
    Object.defineProperty(exports2, "tap", { enumerable: true, get: function() {
      return tap_1.tap;
    } });
    var throttle_1 = require_throttle();
    Object.defineProperty(exports2, "throttle", { enumerable: true, get: function() {
      return throttle_1.throttle;
    } });
    var throttleTime_1 = require_throttleTime();
    Object.defineProperty(exports2, "throttleTime", { enumerable: true, get: function() {
      return throttleTime_1.throttleTime;
    } });
    var throwIfEmpty_1 = require_throwIfEmpty();
    Object.defineProperty(exports2, "throwIfEmpty", { enumerable: true, get: function() {
      return throwIfEmpty_1.throwIfEmpty;
    } });
    var timeInterval_1 = require_timeInterval();
    Object.defineProperty(exports2, "timeInterval", { enumerable: true, get: function() {
      return timeInterval_1.timeInterval;
    } });
    var timeout_2 = require_timeout();
    Object.defineProperty(exports2, "timeout", { enumerable: true, get: function() {
      return timeout_2.timeout;
    } });
    var timeoutWith_1 = require_timeoutWith();
    Object.defineProperty(exports2, "timeoutWith", { enumerable: true, get: function() {
      return timeoutWith_1.timeoutWith;
    } });
    var timestamp_1 = require_timestamp2();
    Object.defineProperty(exports2, "timestamp", { enumerable: true, get: function() {
      return timestamp_1.timestamp;
    } });
    var toArray_1 = require_toArray();
    Object.defineProperty(exports2, "toArray", { enumerable: true, get: function() {
      return toArray_1.toArray;
    } });
    var window_1 = require_window();
    Object.defineProperty(exports2, "window", { enumerable: true, get: function() {
      return window_1.window;
    } });
    var windowCount_1 = require_windowCount();
    Object.defineProperty(exports2, "windowCount", { enumerable: true, get: function() {
      return windowCount_1.windowCount;
    } });
    var windowTime_1 = require_windowTime();
    Object.defineProperty(exports2, "windowTime", { enumerable: true, get: function() {
      return windowTime_1.windowTime;
    } });
    var windowToggle_1 = require_windowToggle();
    Object.defineProperty(exports2, "windowToggle", { enumerable: true, get: function() {
      return windowToggle_1.windowToggle;
    } });
    var windowWhen_1 = require_windowWhen();
    Object.defineProperty(exports2, "windowWhen", { enumerable: true, get: function() {
      return windowWhen_1.windowWhen;
    } });
    var withLatestFrom_1 = require_withLatestFrom();
    Object.defineProperty(exports2, "withLatestFrom", { enumerable: true, get: function() {
      return withLatestFrom_1.withLatestFrom;
    } });
    var zipAll_1 = require_zipAll();
    Object.defineProperty(exports2, "zipAll", { enumerable: true, get: function() {
      return zipAll_1.zipAll;
    } });
    var zipWith_1 = require_zipWith();
    Object.defineProperty(exports2, "zipWith", { enumerable: true, get: function() {
      return zipWith_1.zipWith;
    } });
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/partition.js
var require_partition2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/partition.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.partition = void 0;
    var not_1 = require_not();
    var filter_1 = require_filter();
    function partition(predicate, thisArg) {
      return function(source) {
        return [filter_1.filter(predicate, thisArg)(source), filter_1.filter(not_1.not(predicate, thisArg))(source)];
      };
    }
    exports2.partition = partition;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/race.js
var require_race2 = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/internal/operators/race.js"(exports2) {
    "use strict";
    var __read2 = exports2 && exports2.__read || function(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 };
      } finally {
        try {
          if (r && !r.done && (m = i["return"])) m.call(i);
        } finally {
          if (e) throw e.error;
        }
      }
      return ar;
    };
    var __spreadArray2 = exports2 && exports2.__spreadArray || function(to, from) {
      for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
        to[j] = from[i];
      return to;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.race = void 0;
    var argsOrArgArray_1 = require_argsOrArgArray();
    var raceWith_1 = require_raceWith();
    function race() {
      var args = [];
      for (var _i = 0; _i < arguments.length; _i++) {
        args[_i] = arguments[_i];
      }
      return raceWith_1.raceWith.apply(void 0, __spreadArray2([], __read2(argsOrArgArray_1.argsOrArgArray(args))));
    }
    exports2.race = race;
  }
});

// ../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/operators/index.js
var require_operators = __commonJS({
  "../node_modules/.pnpm/rxjs@7.8.1/node_modules/rxjs/dist/cjs/operators/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeAll = exports2.merge = exports2.max = exports2.materialize = exports2.mapTo = exports2.map = exports2.last = exports2.isEmpty = exports2.ignoreElements = exports2.groupBy = exports2.first = exports2.findIndex = exports2.find = exports2.finalize = exports2.filter = exports2.expand = exports2.exhaustMap = exports2.exhaustAll = exports2.exhaust = exports2.every = exports2.endWith = exports2.elementAt = exports2.distinctUntilKeyChanged = exports2.distinctUntilChanged = exports2.distinct = exports2.dematerialize = exports2.delayWhen = exports2.delay = exports2.defaultIfEmpty = exports2.debounceTime = exports2.debounce = exports2.count = exports2.connect = exports2.concatWith = exports2.concatMapTo = exports2.concatMap = exports2.concatAll = exports2.concat = exports2.combineLatestWith = exports2.combineLatest = exports2.combineLatestAll = exports2.combineAll = exports2.catchError = exports2.bufferWhen = exports2.bufferToggle = exports2.bufferTime = exports2.bufferCount = exports2.buffer = exports2.auditTime = exports2.audit = void 0;
    exports2.timeInterval = exports2.throwIfEmpty = exports2.throttleTime = exports2.throttle = exports2.tap = exports2.takeWhile = exports2.takeUntil = exports2.takeLast = exports2.take = exports2.switchScan = exports2.switchMapTo = exports2.switchMap = exports2.switchAll = exports2.subscribeOn = exports2.startWith = exports2.skipWhile = exports2.skipUntil = exports2.skipLast = exports2.skip = exports2.single = exports2.shareReplay = exports2.share = exports2.sequenceEqual = exports2.scan = exports2.sampleTime = exports2.sample = exports2.refCount = exports2.retryWhen = exports2.retry = exports2.repeatWhen = exports2.repeat = exports2.reduce = exports2.raceWith = exports2.race = exports2.publishReplay = exports2.publishLast = exports2.publishBehavior = exports2.publish = exports2.pluck = exports2.partition = exports2.pairwise = exports2.onErrorResumeNext = exports2.observeOn = exports2.multicast = exports2.min = exports2.mergeWith = exports2.mergeScan = exports2.mergeMapTo = exports2.mergeMap = exports2.flatMap = void 0;
    exports2.zipWith = exports2.zipAll = exports2.zip = exports2.withLatestFrom = exports2.windowWhen = exports2.windowToggle = exports2.windowTime = exports2.windowCount = exports2.window = exports2.toArray = exports2.timestamp = exports2.timeoutWith = exports2.timeout = void 0;
    var audit_1 = require_audit();
    Object.defineProperty(exports2, "audit", { enumerable: true, get: function() {
      return audit_1.audit;
    } });
    var auditTime_1 = require_auditTime();
    Object.defineProperty(exports2, "auditTime", { enumerable: true, get: function() {
      return auditTime_1.auditTime;
    } });
    var buffer_1 = require_buffer();
    Object.defineProperty(exports2, "buffer", { enumerable: true, get: function() {
      return buffer_1.buffer;
    } });
    var bufferCount_1 = require_bufferCount();
    Object.defineProperty(exports2, "bufferCount", { enumerable: true, get: function() {
      return bufferCount_1.bufferCount;
    } });
    var bufferTime_1 = require_bufferTime();
    Object.defineProperty(exports2, "bufferTime", { enumerable: true, get: function() {
      return bufferTime_1.bufferTime;
    } });
    var bufferToggle_1 = require_bufferToggle();
    Object.defineProperty(exports2, "bufferToggle", { enumerable: true, get: function() {
      return bufferToggle_1.bufferToggle;
    } });
    var bufferWhen_1 = require_bufferWhen();
    Object.defineProperty(exports2, "bufferWhen", { enumerable: true, get: function() {
      return bufferWhen_1.bufferWhen;
    } });
    var catchError_1 = require_catchError();
    Object.defineProperty(exports2, "catchError", { enumerable: true, get: function() {
      return catchError_1.catchError;
    } });
    var combineAll_1 = require_combineAll();
    Object.defineProperty(exports2, "combineAll", { enumerable: true, get: function() {
      return combineAll_1.combineAll;
    } });
    var combineLatestAll_1 = require_combineLatestAll();
    Object.defineProperty(exports2, "combineLatestAll", { enumerable: true, get: function() {
      return combineLatestAll_1.combineLatestAll;
    } });
    var combineLatest_1 = require_combineLatest2();
    Object.defineProperty(exports2, "combineLatest", { enumerable: true, get: function() {
      return combineLatest_1.combineLatest;
    } });
    var combineLatestWith_1 = require_combineLatestWith();
    Object.defineProperty(exports2, "combineLatestWith", { enumerable: true, get: function() {
      return combineLatestWith_1.combineLatestWith;
    } });
    var concat_1 = require_concat2();
    Object.defineProperty(exports2, "concat", { enumerable: true, get: function() {
      return concat_1.concat;
    } });
    var concatAll_1 = require_concatAll();
    Object.defineProperty(exports2, "concatAll", { enumerable: true, get: function() {
      return concatAll_1.concatAll;
    } });
    var concatMap_1 = require_concatMap();
    Object.defineProperty(exports2, "concatMap", { enumerable: true, get: function() {
      return concatMap_1.concatMap;
    } });
    var concatMapTo_1 = require_concatMapTo();
    Object.defineProperty(exports2, "concatMapTo", { enumerable: true, get: function() {
      return concatMapTo_1.concatMapTo;
    } });
    var concatWith_1 = require_concatWith();
    Object.defineProperty(exports2, "concatWith", { enumerable: true, get: function() {
      return concatWith_1.concatWith;
    } });
    var connect_1 = require_connect();
    Object.defineProperty(exports2, "connect", { enumerable: true, get: function() {
      return connect_1.connect;
    } });
    var count_1 = require_count();
    Object.defineProperty(exports2, "count", { enumerable: true, get: function() {
      return count_1.count;
    } });
    var debounce_1 = require_debounce();
    Object.defineProperty(exports2, "debounce", { enumerable: true, get: function() {
      return debounce_1.debounce;
    } });
    var debounceTime_1 = require_debounceTime();
    Object.defineProperty(exports2, "debounceTime", { enumerable: true, get: function() {
      return debounceTime_1.debounceTime;
    } });
    var defaultIfEmpty_1 = require_defaultIfEmpty();
    Object.defineProperty(exports2, "defaultIfEmpty", { enumerable: true, get: function() {
      return defaultIfEmpty_1.defaultIfEmpty;
    } });
    var delay_1 = require_delay();
    Object.defineProperty(exports2, "delay", { enumerable: true, get: function() {
      return delay_1.delay;
    } });
    var delayWhen_1 = require_delayWhen();
    Object.defineProperty(exports2, "delayWhen", { enumerable: true, get: function() {
      return delayWhen_1.delayWhen;
    } });
    var dematerialize_1 = require_dematerialize();
    Object.defineProperty(exports2, "dematerialize", { enumerable: true, get: function() {
      return dematerialize_1.dematerialize;
    } });
    var distinct_1 = require_distinct();
    Object.defineProperty(exports2, "distinct", { enumerable: true, get: function() {
      return distinct_1.distinct;
    } });
    var distinctUntilChanged_1 = require_distinctUntilChanged();
    Object.defineProperty(exports2, "distinctUntilChanged", { enumerable: true, get: function() {
      return distinctUntilChanged_1.distinctUntilChanged;
    } });
    var distinctUntilKeyChanged_1 = require_distinctUntilKeyChanged();
    Object.defineProperty(exports2, "distinctUntilKeyChanged", { enumerable: true, get: function() {
      return distinctUntilKeyChanged_1.distinctUntilKeyChanged;
    } });
    var elementAt_1 = require_elementAt();
    Object.defineProperty(exports2, "elementAt", { enumerable: true, get: function() {
      return elementAt_1.elementAt;
    } });
    var endWith_1 = require_endWith();
    Object.defineProperty(exports2, "endWith", { enumerable: true, get: function() {
      return endWith_1.endWith;
    } });
    var every_1 = require_every();
    Object.defineProperty(exports2, "every", { enumerable: true, get: function() {
      return every_1.every;
    } });
    var exhaust_1 = require_exhaust();
    Object.defineProperty(exports2, "exhaust", { enumerable: true, get: function() {
      return exhaust_1.exhaust;
    } });
    var exhaustAll_1 = require_exhaustAll();
    Object.defineProperty(exports2, "exhaustAll", { enumerable: true, get: function() {
      return exhaustAll_1.exhaustAll;
    } });
    var exhaustMap_1 = require_exhaustMap();
    Object.defineProperty(exports2, "exhaustMap", { enumerable: true, get: function() {
      return exhaustMap_1.exhaustMap;
    } });
    var expand_1 = require_expand();
    Object.defineProperty(exports2, "expand", { enumerable: true, get: function() {
      return expand_1.expand;
    } });
    var filter_1 = require_filter();
    Object.defineProperty(exports2, "filter", { enumerable: true, get: function() {
      return filter_1.filter;
    } });
    var finalize_1 = require_finalize();
    Object.defineProperty(exports2, "finalize", { enumerable: true, get: function() {
      return finalize_1.finalize;
    } });
    var find_1 = require_find();
    Object.defineProperty(exports2, "find", { enumerable: true, get: function() {
      return find_1.find;
    } });
    var findIndex_1 = require_findIndex();
    Object.defineProperty(exports2, "findIndex", { enumerable: true, get: function() {
      return findIndex_1.findIndex;
    } });
    var first_1 = require_first();
    Object.defineProperty(exports2, "first", { enumerable: true, get: function() {
      return first_1.first;
    } });
    var groupBy_1 = require_groupBy();
    Object.defineProperty(exports2, "groupBy", { enumerable: true, get: function() {
      return groupBy_1.groupBy;
    } });
    var ignoreElements_1 = require_ignoreElements();
    Object.defineProperty(exports2, "ignoreElements", { enumerable: true, get: function() {
      return ignoreElements_1.ignoreElements;
    } });
    var isEmpty_1 = require_isEmpty();
    Object.defineProperty(exports2, "isEmpty", { enumerable: true, get: function() {
      return isEmpty_1.isEmpty;
    } });
    var last_1 = require_last();
    Object.defineProperty(exports2, "last", { enumerable: true, get: function() {
      return last_1.last;
    } });
    var map_1 = require_map4();
    Object.defineProperty(exports2, "map", { enumerable: true, get: function() {
      return map_1.map;
    } });
    var mapTo_1 = require_mapTo();
    Object.defineProperty(exports2, "mapTo", { enumerable: true, get: function() {
      return mapTo_1.mapTo;
    } });
    var materialize_1 = require_materialize();
    Object.defineProperty(exports2, "materialize", { enumerable: true, get: function() {
      return materialize_1.materialize;
    } });
    var max_1 = require_max();
    Object.defineProperty(exports2, "max", { enumerable: true, get: function() {
      return max_1.max;
    } });
    var merge_1 = require_merge3();
    Object.defineProperty(exports2, "merge", { enumerable: true, get: function() {
      return merge_1.merge;
    } });
    var mergeAll_1 = require_mergeAll();
    Object.defineProperty(exports2, "mergeAll", { enumerable: true, get: function() {
      return mergeAll_1.mergeAll;
    } });
    var flatMap_1 = require_flatMap();
    Object.defineProperty(exports2, "flatMap", { enumerable: true, get: function() {
      return flatMap_1.flatMap;
    } });
    var mergeMap_1 = require_mergeMap();
    Object.defineProperty(exports2, "mergeMap", { enumerable: true, get: function() {
      return mergeMap_1.mergeMap;
    } });
    var mergeMapTo_1 = require_mergeMapTo();
    Object.defineProperty(exports2, "mergeMapTo", { enumerable: true, get: function() {
      return mergeMapTo_1.mergeMapTo;
    } });
    var mergeScan_1 = require_mergeScan();
    Object.defineProperty(exports2, "mergeScan", { enumerable: true, get: function() {
      return mergeScan_1.mergeScan;
    } });
    var mergeWith_12 = require_mergeWith();
    Object.defineProperty(exports2, "mergeWith", { enumerable: true, get: function() {
      return mergeWith_12.mergeWith;
    } });
    var min_1 = require_min();
    Object.defineProperty(exports2, "min", { enumerable: true, get: function() {
      return min_1.min;
    } });
    var multicast_1 = require_multicast();
    Object.defineProperty(exports2, "multicast", { enumerable: true, get: function() {
      return multicast_1.multicast;
    } });
    var observeOn_1 = require_observeOn();
    Object.defineProperty(exports2, "observeOn", { enumerable: true, get: function() {
      return observeOn_1.observeOn;
    } });
    var onErrorResumeNextWith_1 = require_onErrorResumeNextWith();
    Object.defineProperty(exports2, "onErrorResumeNext", { enumerable: true, get: function() {
      return onErrorResumeNextWith_1.onErrorResumeNext;
    } });
    var pairwise_1 = require_pairwise();
    Object.defineProperty(exports2, "pairwise", { enumerable: true, get: function() {
      return pairwise_1.pairwise;
    } });
    var partition_1 = require_partition2();
    Object.defineProperty(exports2, "partition", { enumerable: true, get: function() {
      return partition_1.partition;
    } });
    var pluck_1 = require_pluck();
    Object.defineProperty(exports2, "pluck", { enumerable: true, get: function() {
      return pluck_1.pluck;
    } });
    var publish_1 = require_publish();
    Object.defineProperty(exports2, "publish", { enumerable: true, get: function() {
      return publish_1.publish;
    } });
    var publishBehavior_1 = require_publishBehavior();
    Object.defineProperty(exports2, "publishBehavior", { enumerable: true, get: function() {
      return publishBehavior_1.publishBehavior;
    } });
    var publishLast_1 = require_publishLast();
    Object.defineProperty(exports2, "publishLast", { enumerable: true, get: function() {
      return publishLast_1.publishLast;
    } });
    var publishReplay_1 = require_publishReplay();
    Object.defineProperty(exports2, "publishReplay", { enumerable: true, get: function() {
      return publishReplay_1.publishReplay;
    } });
    var race_1 = require_race2();
    Object.defineProperty(exports2, "race", { enumerable: true, get: function() {
      return race_1.race;
    } });
    var raceWith_1 = require_raceWith();
    Object.defineProperty(exports2, "raceWith", { enumerable: true, get: function() {
      return raceWith_1.raceWith;
    } });
    var reduce_1 = require_reduce2();
    Object.defineProperty(exports2, "reduce", { enumerable: true, get: function() {
      return reduce_1.reduce;
    } });
    var repeat_1 = require_repeat();
    Object.defineProperty(exports2, "repeat", { enumerable: true, get: function() {
      return repeat_1.repeat;
    } });
    var repeatWhen_1 = require_repeatWhen();
    Object.defineProperty(exports2, "repeatWhen", { enumerable: true, get: function() {
      return repeatWhen_1.repeatWhen;
    } });
    var retry_1 = require_retry();
    Object.defineProperty(exports2, "retry", { enumerable: true, get: function() {
      return retry_1.retry;
    } });
    var retryWhen_1 = require_retryWhen();
    Object.defineProperty(exports2, "retryWhen", { enumerable: true, get: function() {
      return retryWhen_1.retryWhen;
    } });
    var refCount_1 = require_refCount();
    Object.defineProperty(exports2, "refCount", { enumerable: true, get: function() {
      return refCount_1.refCount;
    } });
    var sample_1 = require_sample();
    Object.defineProperty(exports2, "sample", { enumerable: true, get: function() {
      return sample_1.sample;
    } });
    var sampleTime_1 = require_sampleTime();
    Object.defineProperty(exports2, "sampleTime", { enumerable: true, get: function() {
      return sampleTime_1.sampleTime;
    } });
    var scan_1 = require_scan();
    Object.defineProperty(exports2, "scan", { enumerable: true, get: function() {
      return scan_1.scan;
    } });
    var sequenceEqual_1 = require_sequenceEqual();
    Object.defineProperty(exports2, "sequenceEqual", { enumerable: true, get: function() {
      return sequenceEqual_1.sequenceEqual;
    } });
    var share_1 = require_share();
    Object.defineProperty(exports2, "share", { enumerable: true, get: function() {
      return share_1.share;
    } });
    var shareReplay_1 = require_shareReplay();
    Object.defineProperty(exports2, "shareReplay", { enumerable: true, get: function() {
      return shareReplay_1.shareReplay;
    } });
    var single_1 = require_single();
    Object.defineProperty(exports2, "single", { enumerable: true, get: function() {
      return single_1.single;
    } });
    var skip_1 = require_skip();
    Object.defineProperty(exports2, "skip", { enumerable: true, get: function() {
      return skip_1.skip;
    } });
    var skipLast_1 = require_skipLast();
    Object.defineProperty(exports2, "skipLast", { enumerable: true, get: function() {
      return skipLast_1.skipLast;
    } });
    var skipUntil_1 = require_skipUntil();
    Object.defineProperty(exports2, "skipUntil", { enumerable: true, get: function() {
      return skipUntil_1.skipUntil;
    } });
    var skipWhile_1 = require_skipWhile();
    Object.defineProperty(exports2, "skipWhile", { enumerable: true, get: function() {
      return skipWhile_1.skipWhile;
    } });
    var startWith_1 = require_startWith();
    Object.defineProperty(exports2, "startWith", { enumerable: true, get: function() {
      return startWith_1.startWith;
    } });
    var subscribeOn_1 = require_subscribeOn();
    Object.defineProperty(exports2, "subscribeOn", { enumerable: true, get: function() {
      return subscribeOn_1.subscribeOn;
    } });
    var switchAll_1 = require_switchAll();
    Object.defineProperty(exports2, "switchAll", { enumerable: true, get: function() {
      return switchAll_1.switchAll;
    } });
    var switchMap_1 = require_switchMap();
    Object.defineProperty(exports2, "switchMap", { enumerable: true, get: function() {
      return switchMap_1.switchMap;
    } });
    var switchMapTo_1 = require_switchMapTo();
    Object.defineProperty(exports2, "switchMapTo", { enumerable: true, get: function() {
      return switchMapTo_1.switchMapTo;
    } });
    var switchScan_1 = require_switchScan();
    Object.defineProperty(exports2, "switchScan", { enumerable: true, get: function() {
      return switchScan_1.switchScan;
    } });
    var take_1 = require_take();
    Object.defineProperty(exports2, "take", { enumerable: true, get: function() {
      return take_1.take;
    } });
    var takeLast_1 = require_takeLast();
    Object.defineProperty(exports2, "takeLast", { enumerable: true, get: function() {
      return takeLast_1.takeLast;
    } });
    var takeUntil_1 = require_takeUntil();
    Object.defineProperty(exports2, "takeUntil", { enumerable: true, get: function() {
      return takeUntil_1.takeUntil;
    } });
    var takeWhile_1 = require_takeWhile();
    Object.defineProperty(exports2, "takeWhile", { enumerable: true, get: function() {
      return takeWhile_1.takeWhile;
    } });
    var tap_1 = require_tap();
    Object.defineProperty(exports2, "tap", { enumerable: true, get: function() {
      return tap_1.tap;
    } });
    var throttle_1 = require_throttle();
    Object.defineProperty(exports2, "throttle", { enumerable: true, get: function() {
      return throttle_1.throttle;
    } });
    var throttleTime_1 = require_throttleTime();
    Object.defineProperty(exports2, "throttleTime", { enumerable: true, get: function() {
      return throttleTime_1.throttleTime;
    } });
    var throwIfEmpty_1 = require_throwIfEmpty();
    Object.defineProperty(exports2, "throwIfEmpty", { enumerable: true, get: function() {
      return throwIfEmpty_1.throwIfEmpty;
    } });
    var timeInterval_1 = require_timeInterval();
    Object.defineProperty(exports2, "timeInterval", { enumerable: true, get: function() {
      return timeInterval_1.timeInterval;
    } });
    var timeout_1 = require_timeout();
    Object.defineProperty(exports2, "timeout", { enumerable: true, get: function() {
      return timeout_1.timeout;
    } });
    var timeoutWith_1 = require_timeoutWith();
    Object.defineProperty(exports2, "timeoutWith", { enumerable: true, get: function() {
      return timeoutWith_1.timeoutWith;
    } });
    var timestamp_1 = require_timestamp2();
    Object.defineProperty(exports2, "timestamp", { enumerable: true, get: function() {
      return timestamp_1.timestamp;
    } });
    var toArray_1 = require_toArray();
    Object.defineProperty(exports2, "toArray", { enumerable: true, get: function() {
      return toArray_1.toArray;
    } });
    var window_1 = require_window();
    Object.defineProperty(exports2, "window", { enumerable: true, get: function() {
      return window_1.window;
    } });
    var windowCount_1 = require_windowCount();
    Object.defineProperty(exports2, "windowCount", { enumerable: true, get: function() {
      return windowCount_1.windowCount;
    } });
    var windowTime_1 = require_windowTime();
    Object.defineProperty(exports2, "windowTime", { enumerable: true, get: function() {
      return windowTime_1.windowTime;
    } });
    var windowToggle_1 = require_windowToggle();
    Object.defineProperty(exports2, "windowToggle", { enumerable: true, get: function() {
      return windowToggle_1.windowToggle;
    } });
    var windowWhen_1 = require_windowWhen();
    Object.defineProperty(exports2, "windowWhen", { enumerable: true, get: function() {
      return windowWhen_1.windowWhen;
    } });
    var withLatestFrom_1 = require_withLatestFrom();
    Object.defineProperty(exports2, "withLatestFrom", { enumerable: true, get: function() {
      return withLatestFrom_1.withLatestFrom;
    } });
    var zip_1 = require_zip2();
    Object.defineProperty(exports2, "zip", { enumerable: true, get: function() {
      return zip_1.zip;
    } });
    var zipAll_1 = require_zipAll();
    Object.defineProperty(exports2, "zipAll", { enumerable: true, get: function() {
      return zipAll_1.zipAll;
    } });
    var zipWith_1 = require_zipWith();
    Object.defineProperty(exports2, "zipWith", { enumerable: true, get: function() {
      return zipWith_1.zipWith;
    } });
  }
});

// ../node_modules/.pnpm/ansi-regex@3.0.1/node_modules/ansi-regex/index.js
var require_ansi_regex = __commonJS({
  "../node_modules/.pnpm/ansi-regex@3.0.1/node_modules/ansi-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = () => {
      const pattern = [
        "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[a-zA-Z\\d]*)*)?\\u0007)",
        "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"
      ].join("|");
      return new RegExp(pattern, "g");
    };
  }
});

// ../node_modules/.pnpm/ansi-split@1.0.1/node_modules/ansi-split/index.js
var require_ansi_split = __commonJS({
  "../node_modules/.pnpm/ansi-split@1.0.1/node_modules/ansi-split/index.js"(exports2, module2) {
    var isAnsi = require_ansi_regex()();
    module2.exports = splitAnsi;
    function splitAnsi(str) {
      var parts = str.match(isAnsi);
      if (!parts) return [str];
      var result2 = [];
      var offset = 0;
      var ptr = 0;
      for (var i = 0; i < parts.length; i++) {
        offset = str.indexOf(parts[i], offset);
        if (offset === -1) throw new Error("Could not split string");
        if (ptr !== offset) result2.push(str.slice(ptr, offset));
        if (ptr === offset && result2.length) {
          result2[result2.length - 1] += parts[i];
        } else {
          if (offset === 0) result2.push("");
          result2.push(parts[i]);
        }
        ptr = offset + parts[i].length;
      }
      result2.push(str.slice(ptr));
      return result2;
    }
  }
});

// ../node_modules/.pnpm/clone@1.0.4/node_modules/clone/clone.js
var require_clone3 = __commonJS({
  "../node_modules/.pnpm/clone@1.0.4/node_modules/clone/clone.js"(exports2, module2) {
    var clone = function() {
      "use strict";
      function clone2(parent, circular, depth, prototype) {
        var filter;
        if (typeof circular === "object") {
          depth = circular.depth;
          prototype = circular.prototype;
          filter = circular.filter;
          circular = circular.circular;
        }
        var allParents = [];
        var allChildren = [];
        var useBuffer = typeof Buffer != "undefined";
        if (typeof circular == "undefined")
          circular = true;
        if (typeof depth == "undefined")
          depth = Infinity;
        function _clone(parent2, depth2) {
          if (parent2 === null)
            return null;
          if (depth2 == 0)
            return parent2;
          var child;
          var proto;
          if (typeof parent2 != "object") {
            return parent2;
          }
          if (clone2.__isArray(parent2)) {
            child = [];
          } else if (clone2.__isRegExp(parent2)) {
            child = new RegExp(parent2.source, __getRegExpFlags(parent2));
            if (parent2.lastIndex) child.lastIndex = parent2.lastIndex;
          } else if (clone2.__isDate(parent2)) {
            child = new Date(parent2.getTime());
          } else if (useBuffer && Buffer.isBuffer(parent2)) {
            if (Buffer.allocUnsafe) {
              child = Buffer.allocUnsafe(parent2.length);
            } else {
              child = new Buffer(parent2.length);
            }
            parent2.copy(child);
            return child;
          } else {
            if (typeof prototype == "undefined") {
              proto = Object.getPrototypeOf(parent2);
              child = Object.create(proto);
            } else {
              child = Object.create(prototype);
              proto = prototype;
            }
          }
          if (circular) {
            var index = allParents.indexOf(parent2);
            if (index != -1) {
              return allChildren[index];
            }
            allParents.push(parent2);
            allChildren.push(child);
          }
          for (var i in parent2) {
            var attrs;
            if (proto) {
              attrs = Object.getOwnPropertyDescriptor(proto, i);
            }
            if (attrs && attrs.set == null) {
              continue;
            }
            child[i] = _clone(parent2[i], depth2 - 1);
          }
          return child;
        }
        return _clone(parent, depth);
      }
      clone2.clonePrototype = function clonePrototype(parent) {
        if (parent === null)
          return null;
        var c = function() {
        };
        c.prototype = parent;
        return new c();
      };
      function __objToStr(o) {
        return Object.prototype.toString.call(o);
      }
      ;
      clone2.__objToStr = __objToStr;
      function __isDate(o) {
        return typeof o === "object" && __objToStr(o) === "[object Date]";
      }
      ;
      clone2.__isDate = __isDate;
      function __isArray(o) {
        return typeof o === "object" && __objToStr(o) === "[object Array]";
      }
      ;
      clone2.__isArray = __isArray;
      function __isRegExp(o) {
        return typeof o === "object" && __objToStr(o) === "[object RegExp]";
      }
      ;
      clone2.__isRegExp = __isRegExp;
      function __getRegExpFlags(re) {
        var flags = "";
        if (re.global) flags += "g";
        if (re.ignoreCase) flags += "i";
        if (re.multiline) flags += "m";
        return flags;
      }
      ;
      clone2.__getRegExpFlags = __getRegExpFlags;
      return clone2;
    }();
    if (typeof module2 === "object" && module2.exports) {
      module2.exports = clone;
    }
  }
});

// ../node_modules/.pnpm/defaults@1.0.4/node_modules/defaults/index.js
var require_defaults2 = __commonJS({
  "../node_modules/.pnpm/defaults@1.0.4/node_modules/defaults/index.js"(exports2, module2) {
    var clone = require_clone3();
    module2.exports = function(options, defaults) {
      options = options || {};
      Object.keys(defaults).forEach(function(key) {
        if (typeof options[key] === "undefined") {
          options[key] = clone(defaults[key]);
        }
      });
      return options;
    };
  }
});

// ../node_modules/.pnpm/wcwidth@1.0.1/node_modules/wcwidth/combining.js
var require_combining = __commonJS({
  "../node_modules/.pnpm/wcwidth@1.0.1/node_modules/wcwidth/combining.js"(exports2, module2) {
    module2.exports = [
      [768, 879],
      [1155, 1158],
      [1160, 1161],
      [1425, 1469],
      [1471, 1471],
      [1473, 1474],
      [1476, 1477],
      [1479, 1479],
      [1536, 1539],
      [1552, 1557],
      [1611, 1630],
      [1648, 1648],
      [1750, 1764],
      [1767, 1768],
      [1770, 1773],
      [1807, 1807],
      [1809, 1809],
      [1840, 1866],
      [1958, 1968],
      [2027, 2035],
      [2305, 2306],
      [2364, 2364],
      [2369, 2376],
      [2381, 2381],
      [2385, 2388],
      [2402, 2403],
      [2433, 2433],
      [2492, 2492],
      [2497, 2500],
      [2509, 2509],
      [2530, 2531],
      [2561, 2562],
      [2620, 2620],
      [2625, 2626],
      [2631, 2632],
      [2635, 2637],
      [2672, 2673],
      [2689, 2690],
      [2748, 2748],
      [2753, 2757],
      [2759, 2760],
      [2765, 2765],
      [2786, 2787],
      [2817, 2817],
      [2876, 2876],
      [2879, 2879],
      [2881, 2883],
      [2893, 2893],
      [2902, 2902],
      [2946, 2946],
      [3008, 3008],
      [3021, 3021],
      [3134, 3136],
      [3142, 3144],
      [3146, 3149],
      [3157, 3158],
      [3260, 3260],
      [3263, 3263],
      [3270, 3270],
      [3276, 3277],
      [3298, 3299],
      [3393, 3395],
      [3405, 3405],
      [3530, 3530],
      [3538, 3540],
      [3542, 3542],
      [3633, 3633],
      [3636, 3642],
      [3655, 3662],
      [3761, 3761],
      [3764, 3769],
      [3771, 3772],
      [3784, 3789],
      [3864, 3865],
      [3893, 3893],
      [3895, 3895],
      [3897, 3897],
      [3953, 3966],
      [3968, 3972],
      [3974, 3975],
      [3984, 3991],
      [3993, 4028],
      [4038, 4038],
      [4141, 4144],
      [4146, 4146],
      [4150, 4151],
      [4153, 4153],
      [4184, 4185],
      [4448, 4607],
      [4959, 4959],
      [5906, 5908],
      [5938, 5940],
      [5970, 5971],
      [6002, 6003],
      [6068, 6069],
      [6071, 6077],
      [6086, 6086],
      [6089, 6099],
      [6109, 6109],
      [6155, 6157],
      [6313, 6313],
      [6432, 6434],
      [6439, 6440],
      [6450, 6450],
      [6457, 6459],
      [6679, 6680],
      [6912, 6915],
      [6964, 6964],
      [6966, 6970],
      [6972, 6972],
      [6978, 6978],
      [7019, 7027],
      [7616, 7626],
      [7678, 7679],
      [8203, 8207],
      [8234, 8238],
      [8288, 8291],
      [8298, 8303],
      [8400, 8431],
      [12330, 12335],
      [12441, 12442],
      [43014, 43014],
      [43019, 43019],
      [43045, 43046],
      [64286, 64286],
      [65024, 65039],
      [65056, 65059],
      [65279, 65279],
      [65529, 65531],
      [68097, 68099],
      [68101, 68102],
      [68108, 68111],
      [68152, 68154],
      [68159, 68159],
      [119143, 119145],
      [119155, 119170],
      [119173, 119179],
      [119210, 119213],
      [119362, 119364],
      [917505, 917505],
      [917536, 917631],
      [917760, 917999]
    ];
  }
});

// ../node_modules/.pnpm/wcwidth@1.0.1/node_modules/wcwidth/index.js
var require_wcwidth = __commonJS({
  "../node_modules/.pnpm/wcwidth@1.0.1/node_modules/wcwidth/index.js"(exports2, module2) {
    "use strict";
    var defaults = require_defaults2();
    var combining = require_combining();
    var DEFAULTS = {
      nul: 0,
      control: 0
    };
    module2.exports = function wcwidth2(str) {
      return wcswidth(str, DEFAULTS);
    };
    module2.exports.config = function(opts) {
      opts = defaults(opts || {}, DEFAULTS);
      return function wcwidth2(str) {
        return wcswidth(str, opts);
      };
    };
    function wcswidth(str, opts) {
      if (typeof str !== "string") return wcwidth(str, opts);
      var s = 0;
      for (var i = 0; i < str.length; i++) {
        var n = wcwidth(str.charCodeAt(i), opts);
        if (n < 0) return -1;
        s += n;
      }
      return s;
    }
    function wcwidth(ucs, opts) {
      if (ucs === 0) return opts.nul;
      if (ucs < 32 || ucs >= 127 && ucs < 160) return opts.control;
      if (bisearch(ucs)) return 0;
      return 1 + (ucs >= 4352 && (ucs <= 4447 || // Hangul Jamo init. consonants
      ucs == 9001 || ucs == 9002 || ucs >= 11904 && ucs <= 42191 && ucs != 12351 || // CJK ... Yi
      ucs >= 44032 && ucs <= 55203 || // Hangul Syllables
      ucs >= 63744 && ucs <= 64255 || // CJK Compatibility Ideographs
      ucs >= 65040 && ucs <= 65049 || // Vertical forms
      ucs >= 65072 && ucs <= 65135 || // CJK Compatibility Forms
      ucs >= 65280 && ucs <= 65376 || // Fullwidth Forms
      ucs >= 65504 && ucs <= 65510 || ucs >= 131072 && ucs <= 196605 || ucs >= 196608 && ucs <= 262141));
    }
    function bisearch(ucs) {
      var min = 0;
      var max = combining.length - 1;
      var mid;
      if (ucs < combining[0][0] || ucs > combining[max][1]) return false;
      while (max >= min) {
        mid = Math.floor((min + max) / 2);
        if (ucs > combining[mid][1]) min = mid + 1;
        else if (ucs < combining[mid][0]) max = mid - 1;
        else return true;
      }
      return false;
    }
  }
});

// ../node_modules/.pnpm/ansi-diff@1.2.0/node_modules/ansi-diff/index.js
var require_ansi_diff = __commonJS({
  "../node_modules/.pnpm/ansi-diff@1.2.0/node_modules/ansi-diff/index.js"(exports2, module2) {
    var ansi = require_ansi_split();
    var wcwidth = require_wcwidth();
    var CLEAR_LINE = Buffer.from([27, 91, 48, 75]);
    var NEWLINE = Buffer.from("\n");
    module2.exports = Diff;
    function Diff(opts) {
      if (!(this instanceof Diff)) return new Diff(opts);
      if (!opts) opts = {};
      this.x = 0;
      this.y = 0;
      this.width = opts.width || Infinity;
      this.height = opts.height || Infinity;
      this._buffer = null;
      this._out = [];
      this._lines = [];
    }
    Diff.prototype.resize = function(opts) {
      if (!opts) opts = {};
      if (opts.width) this.width = opts.width;
      if (opts.height) this.height = opts.height;
      if (this._buffer) this.update(this._buffer);
      var last = top(this._lines);
      if (!last) {
        this.x = 0;
        this.y = 0;
      } else {
        this.x = last.remainder;
        this.y = last.y + last.height;
      }
    };
    Diff.prototype.toString = function() {
      return this._buffer;
    };
    Diff.prototype.update = function(buffer, opts) {
      this._buffer = Buffer.isBuffer(buffer) ? buffer.toString() : buffer;
      var other = this._buffer;
      var oldLines = this._lines;
      var lines = split(other, this);
      this._lines = lines;
      this._out = [];
      var min = Math.min(lines.length, oldLines.length);
      var i = 0;
      var a;
      var b;
      var scrub = false;
      for (; i < min; i++) {
        a = lines[i];
        b = oldLines[i];
        if (same(a, b)) continue;
        if (!scrub && this.x !== this.width && inlineDiff(a, b)) {
          var left = a.diffLeft(b);
          var right = a.diffRight(b);
          var slice = a.raw.slice(left, right ? -right : a.length);
          if (left + right > 4 && left + slice.length < this.width - 1) {
            this._moveTo(left, a.y);
            this._push(Buffer.from(slice));
            this.x += slice.length;
            continue;
          }
        }
        this._moveTo(0, a.y);
        this._write(a);
        if (a.y !== b.y || a.height !== b.height) scrub = true;
        if (b.length > a.length || scrub) this._push(CLEAR_LINE);
        if (a.newline) this._newline();
      }
      for (; i < lines.length; i++) {
        a = lines[i];
        this._moveTo(0, a.y);
        this._write(a);
        if (scrub) this._push(CLEAR_LINE);
        if (a.newline) this._newline();
      }
      var oldLast = top(oldLines);
      var last = top(lines);
      if (oldLast && (!last || last.y + last.height < oldLast.y + oldLast.height)) {
        this._clearDown(oldLast.y + oldLast.height);
      }
      if (opts && opts.moveTo) {
        this._moveTo(opts.moveTo[0], opts.moveTo[1]);
      } else if (last) {
        this._moveTo(last.remainder, last.y + last.height);
      }
      return Buffer.concat(this._out);
    };
    Diff.prototype._clearDown = function(y) {
      var x = this.x;
      for (var i = this.y; i <= y; i++) {
        this._moveTo(x, i);
        this._push(CLEAR_LINE);
        x = 0;
      }
    };
    Diff.prototype._newline = function() {
      this._push(NEWLINE);
      this.x = 0;
      this.y++;
    };
    Diff.prototype._write = function(line) {
      this._out.push(line.toBuffer());
      this.x = line.remainder;
      this.y += line.height;
    };
    Diff.prototype._moveTo = function(x, y) {
      var dx = x - this.x;
      var dy = y - this.y;
      if (dx > 0) this._push(moveRight(dx));
      else if (dx < 0) this._push(moveLeft(-dx));
      if (dy > 0) this._push(moveDown(dy));
      else if (dy < 0) this._push(moveUp(-dy));
      this.x = x;
      this.y = y;
    };
    Diff.prototype._push = function(buf) {
      this._out.push(buf);
    };
    function same(a, b) {
      return a.y === b.y && a.width === b.width && a.raw === b.raw && a.newline === b.newline;
    }
    function top(list) {
      return list.length ? list[list.length - 1] : null;
    }
    function Line(str, y, nl, term) {
      this.y = y;
      this.width = term.width;
      this.parts = ansi(str);
      this.length = length(this.parts);
      this.raw = str;
      this.newline = nl;
      this.height = Math.floor(this.length / term.width);
      this.remainder = this.length - (this.height && this.height * term.width);
      if (this.height && !this.remainder) {
        this.height--;
        this.remainder = this.width;
      }
    }
    Line.prototype.diffLeft = function(other) {
      var left = 0;
      for (; left < this.length; left++) {
        if (this.raw[left] !== other.raw[left]) return left;
      }
      return left;
    };
    Line.prototype.diffRight = function(other) {
      var right = 0;
      for (; right < this.length; right++) {
        var r = this.length - right - 1;
        if (this.raw[r] !== other.raw[r]) return right;
      }
      return right;
    };
    Line.prototype.toBuffer = function() {
      return Buffer.from(this.raw);
    };
    function inlineDiff(a, b) {
      return a.length === b.length && a.parts.length === 1 && b.parts.length === 1 && a.y === b.y && a.newline && b.newline && a.width === b.width;
    }
    function split(str, term) {
      var y = 0;
      var lines = str.split("\n");
      var wrapped = [];
      var line;
      for (var i = 0; i < lines.length; i++) {
        line = new Line(lines[i], y, i < lines.length - 1, term);
        y += line.height + (line.newline ? 1 : 0);
        wrapped.push(line);
      }
      return wrapped;
    }
    function moveUp(n) {
      return Buffer.from("1b5b" + toHex(n) + "41", "hex");
    }
    function moveDown(n) {
      return Buffer.from("1b5b" + toHex(n) + "42", "hex");
    }
    function moveRight(n) {
      return Buffer.from("1b5b" + toHex(n) + "43", "hex");
    }
    function moveLeft(n) {
      return Buffer.from("1b5b" + toHex(n) + "44", "hex");
    }
    function length(parts) {
      var len = 0;
      for (var i = 0; i < parts.length; i += 2) {
        len += wcwidth(parts[i]);
      }
      return len;
    }
    function toHex(n) {
      return Buffer.from("" + n).toString("hex");
    }
  }
});

// ../cli/default-reporter/lib/constants.js
var require_constants = __commonJS({
  "../cli/default-reporter/lib/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.EOL = void 0;
    exports2.EOL = "\n";
  }
});

// ../cli/default-reporter/lib/mergeOutputs.js
var require_mergeOutputs = __commonJS({
  "../cli/default-reporter/lib/mergeOutputs.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeOutputs = mergeOutputs;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var constants_1 = require_constants();
    function mergeOutputs(outputs) {
      let blockNo = 0;
      let fixedBlockNo = 0;
      let started = false;
      let previousOutput = null;
      return Rx.merge(...outputs).pipe((0, operators_1.map)((log) => {
        let currentBlockNo = -1;
        let currentFixedBlockNo = -1;
        return log.pipe((0, operators_1.map)((msg) => {
          if (msg.fixed) {
            if (currentFixedBlockNo === -1) {
              currentFixedBlockNo = fixedBlockNo++;
            }
            return {
              blockNo: currentFixedBlockNo,
              fixed: true,
              msg: msg.msg
            };
          }
          if (currentBlockNo === -1) {
            currentBlockNo = blockNo++;
          }
          return {
            blockNo: currentBlockNo,
            fixed: false,
            msg: typeof msg === "string" ? msg : msg.msg,
            // eslint-disable-line
            prevFixedBlockNo: currentFixedBlockNo
          };
        }));
      }), (0, operators_1.mergeAll)(), (0, operators_1.scan)((acc, log) => {
        if (log.fixed) {
          acc.fixedBlocks[log.blockNo] = log.msg;
        } else {
          delete acc.fixedBlocks[log.prevFixedBlockNo];
          acc.blocks[log.blockNo] = log.msg;
        }
        return acc;
      }, { fixedBlocks: [], blocks: [] }), (0, operators_1.map)((sections) => {
        const fixedBlocks = sections.fixedBlocks.filter(Boolean);
        const nonFixedPart = sections.blocks.filter(Boolean).join(constants_1.EOL);
        if (fixedBlocks.length === 0) {
          return nonFixedPart;
        }
        const fixedPart = fixedBlocks.join(constants_1.EOL);
        if (!nonFixedPart) {
          return fixedPart;
        }
        return `${nonFixedPart}${constants_1.EOL}${fixedPart}`;
      }), (0, operators_1.filter)((msg) => {
        if (started) {
          return true;
        }
        if (msg === "")
          return false;
        started = true;
        return true;
      }), (0, operators_1.filter)((msg) => {
        if (msg !== previousOutput) {
          previousOutput = msg;
          return true;
        }
        return false;
      }));
    }
  }
});

// ../node_modules/.pnpm/pretty-bytes@5.6.0/node_modules/pretty-bytes/index.js
var require_pretty_bytes = __commonJS({
  "../node_modules/.pnpm/pretty-bytes@5.6.0/node_modules/pretty-bytes/index.js"(exports2, module2) {
    "use strict";
    var BYTE_UNITS = [
      "B",
      "kB",
      "MB",
      "GB",
      "TB",
      "PB",
      "EB",
      "ZB",
      "YB"
    ];
    var BIBYTE_UNITS = [
      "B",
      "kiB",
      "MiB",
      "GiB",
      "TiB",
      "PiB",
      "EiB",
      "ZiB",
      "YiB"
    ];
    var BIT_UNITS = [
      "b",
      "kbit",
      "Mbit",
      "Gbit",
      "Tbit",
      "Pbit",
      "Ebit",
      "Zbit",
      "Ybit"
    ];
    var BIBIT_UNITS = [
      "b",
      "kibit",
      "Mibit",
      "Gibit",
      "Tibit",
      "Pibit",
      "Eibit",
      "Zibit",
      "Yibit"
    ];
    var toLocaleString = (number, locale, options) => {
      let result2 = number;
      if (typeof locale === "string" || Array.isArray(locale)) {
        result2 = number.toLocaleString(locale, options);
      } else if (locale === true || options !== void 0) {
        result2 = number.toLocaleString(void 0, options);
      }
      return result2;
    };
    module2.exports = (number, options) => {
      if (!Number.isFinite(number)) {
        throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);
      }
      options = Object.assign({ bits: false, binary: false }, options);
      const UNITS = options.bits ? options.binary ? BIBIT_UNITS : BIT_UNITS : options.binary ? BIBYTE_UNITS : BYTE_UNITS;
      if (options.signed && number === 0) {
        return ` 0 ${UNITS[0]}`;
      }
      const isNegative = number < 0;
      const prefix = isNegative ? "-" : options.signed ? "+" : "";
      if (isNegative) {
        number = -number;
      }
      let localeOptions;
      if (options.minimumFractionDigits !== void 0) {
        localeOptions = { minimumFractionDigits: options.minimumFractionDigits };
      }
      if (options.maximumFractionDigits !== void 0) {
        localeOptions = Object.assign({ maximumFractionDigits: options.maximumFractionDigits }, localeOptions);
      }
      if (number < 1) {
        const numberString2 = toLocaleString(number, options.locale, localeOptions);
        return prefix + numberString2 + " " + UNITS[0];
      }
      const exponent = Math.min(Math.floor(options.binary ? Math.log(number) / Math.log(1024) : Math.log10(number) / 3), UNITS.length - 1);
      number /= Math.pow(options.binary ? 1024 : 1e3, exponent);
      if (!localeOptions) {
        number = number.toPrecision(3);
      }
      const numberString = toLocaleString(Number(number), options.locale, localeOptions);
      const unit = UNITS[exponent];
      return prefix + numberString + " " + unit;
    };
  }
});

// ../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js
var require_color_name = __commonJS({
  "../node_modules/.pnpm/color-name@1.1.4/node_modules/color-name/index.js"(exports2, module2) {
    "use strict";
    module2.exports = {
      "aliceblue": [240, 248, 255],
      "antiquewhite": [250, 235, 215],
      "aqua": [0, 255, 255],
      "aquamarine": [127, 255, 212],
      "azure": [240, 255, 255],
      "beige": [245, 245, 220],
      "bisque": [255, 228, 196],
      "black": [0, 0, 0],
      "blanchedalmond": [255, 235, 205],
      "blue": [0, 0, 255],
      "blueviolet": [138, 43, 226],
      "brown": [165, 42, 42],
      "burlywood": [222, 184, 135],
      "cadetblue": [95, 158, 160],
      "chartreuse": [127, 255, 0],
      "chocolate": [210, 105, 30],
      "coral": [255, 127, 80],
      "cornflowerblue": [100, 149, 237],
      "cornsilk": [255, 248, 220],
      "crimson": [220, 20, 60],
      "cyan": [0, 255, 255],
      "darkblue": [0, 0, 139],
      "darkcyan": [0, 139, 139],
      "darkgoldenrod": [184, 134, 11],
      "darkgray": [169, 169, 169],
      "darkgreen": [0, 100, 0],
      "darkgrey": [169, 169, 169],
      "darkkhaki": [189, 183, 107],
      "darkmagenta": [139, 0, 139],
      "darkolivegreen": [85, 107, 47],
      "darkorange": [255, 140, 0],
      "darkorchid": [153, 50, 204],
      "darkred": [139, 0, 0],
      "darksalmon": [233, 150, 122],
      "darkseagreen": [143, 188, 143],
      "darkslateblue": [72, 61, 139],
      "darkslategray": [47, 79, 79],
      "darkslategrey": [47, 79, 79],
      "darkturquoise": [0, 206, 209],
      "darkviolet": [148, 0, 211],
      "deeppink": [255, 20, 147],
      "deepskyblue": [0, 191, 255],
      "dimgray": [105, 105, 105],
      "dimgrey": [105, 105, 105],
      "dodgerblue": [30, 144, 255],
      "firebrick": [178, 34, 34],
      "floralwhite": [255, 250, 240],
      "forestgreen": [34, 139, 34],
      "fuchsia": [255, 0, 255],
      "gainsboro": [220, 220, 220],
      "ghostwhite": [248, 248, 255],
      "gold": [255, 215, 0],
      "goldenrod": [218, 165, 32],
      "gray": [128, 128, 128],
      "green": [0, 128, 0],
      "greenyellow": [173, 255, 47],
      "grey": [128, 128, 128],
      "honeydew": [240, 255, 240],
      "hotpink": [255, 105, 180],
      "indianred": [205, 92, 92],
      "indigo": [75, 0, 130],
      "ivory": [255, 255, 240],
      "khaki": [240, 230, 140],
      "lavender": [230, 230, 250],
      "lavenderblush": [255, 240, 245],
      "lawngreen": [124, 252, 0],
      "lemonchiffon": [255, 250, 205],
      "lightblue": [173, 216, 230],
      "lightcoral": [240, 128, 128],
      "lightcyan": [224, 255, 255],
      "lightgoldenrodyellow": [250, 250, 210],
      "lightgray": [211, 211, 211],
      "lightgreen": [144, 238, 144],
      "lightgrey": [211, 211, 211],
      "lightpink": [255, 182, 193],
      "lightsalmon": [255, 160, 122],
      "lightseagreen": [32, 178, 170],
      "lightskyblue": [135, 206, 250],
      "lightslategray": [119, 136, 153],
      "lightslategrey": [119, 136, 153],
      "lightsteelblue": [176, 196, 222],
      "lightyellow": [255, 255, 224],
      "lime": [0, 255, 0],
      "limegreen": [50, 205, 50],
      "linen": [250, 240, 230],
      "magenta": [255, 0, 255],
      "maroon": [128, 0, 0],
      "mediumaquamarine": [102, 205, 170],
      "mediumblue": [0, 0, 205],
      "mediumorchid": [186, 85, 211],
      "mediumpurple": [147, 112, 219],
      "mediumseagreen": [60, 179, 113],
      "mediumslateblue": [123, 104, 238],
      "mediumspringgreen": [0, 250, 154],
      "mediumturquoise": [72, 209, 204],
      "mediumvioletred": [199, 21, 133],
      "midnightblue": [25, 25, 112],
      "mintcream": [245, 255, 250],
      "mistyrose": [255, 228, 225],
      "moccasin": [255, 228, 181],
      "navajowhite": [255, 222, 173],
      "navy": [0, 0, 128],
      "oldlace": [253, 245, 230],
      "olive": [128, 128, 0],
      "olivedrab": [107, 142, 35],
      "orange": [255, 165, 0],
      "orangered": [255, 69, 0],
      "orchid": [218, 112, 214],
      "palegoldenrod": [238, 232, 170],
      "palegreen": [152, 251, 152],
      "paleturquoise": [175, 238, 238],
      "palevioletred": [219, 112, 147],
      "papayawhip": [255, 239, 213],
      "peachpuff": [255, 218, 185],
      "peru": [205, 133, 63],
      "pink": [255, 192, 203],
      "plum": [221, 160, 221],
      "powderblue": [176, 224, 230],
      "purple": [128, 0, 128],
      "rebeccapurple": [102, 51, 153],
      "red": [255, 0, 0],
      "rosybrown": [188, 143, 143],
      "royalblue": [65, 105, 225],
      "saddlebrown": [139, 69, 19],
      "salmon": [250, 128, 114],
      "sandybrown": [244, 164, 96],
      "seagreen": [46, 139, 87],
      "seashell": [255, 245, 238],
      "sienna": [160, 82, 45],
      "silver": [192, 192, 192],
      "skyblue": [135, 206, 235],
      "slateblue": [106, 90, 205],
      "slategray": [112, 128, 144],
      "slategrey": [112, 128, 144],
      "snow": [255, 250, 250],
      "springgreen": [0, 255, 127],
      "steelblue": [70, 130, 180],
      "tan": [210, 180, 140],
      "teal": [0, 128, 128],
      "thistle": [216, 191, 216],
      "tomato": [255, 99, 71],
      "turquoise": [64, 224, 208],
      "violet": [238, 130, 238],
      "wheat": [245, 222, 179],
      "white": [255, 255, 255],
      "whitesmoke": [245, 245, 245],
      "yellow": [255, 255, 0],
      "yellowgreen": [154, 205, 50]
    };
  }
});

// ../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js
var require_conversions = __commonJS({
  "../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js"(exports2, module2) {
    var cssKeywords = require_color_name();
    var reverseKeywords = {};
    for (const key of Object.keys(cssKeywords)) {
      reverseKeywords[cssKeywords[key]] = key;
    }
    var convert = {
      rgb: { channels: 3, labels: "rgb" },
      hsl: { channels: 3, labels: "hsl" },
      hsv: { channels: 3, labels: "hsv" },
      hwb: { channels: 3, labels: "hwb" },
      cmyk: { channels: 4, labels: "cmyk" },
      xyz: { channels: 3, labels: "xyz" },
      lab: { channels: 3, labels: "lab" },
      lch: { channels: 3, labels: "lch" },
      hex: { channels: 1, labels: ["hex"] },
      keyword: { channels: 1, labels: ["keyword"] },
      ansi16: { channels: 1, labels: ["ansi16"] },
      ansi256: { channels: 1, labels: ["ansi256"] },
      hcg: { channels: 3, labels: ["h", "c", "g"] },
      apple: { channels: 3, labels: ["r16", "g16", "b16"] },
      gray: { channels: 1, labels: ["gray"] }
    };
    module2.exports = convert;
    for (const model of Object.keys(convert)) {
      if (!("channels" in convert[model])) {
        throw new Error("missing channels property: " + model);
      }
      if (!("labels" in convert[model])) {
        throw new Error("missing channel labels property: " + model);
      }
      if (convert[model].labels.length !== convert[model].channels) {
        throw new Error("channel and label counts mismatch: " + model);
      }
      const { channels, labels } = convert[model];
      delete convert[model].channels;
      delete convert[model].labels;
      Object.defineProperty(convert[model], "channels", { value: channels });
      Object.defineProperty(convert[model], "labels", { value: labels });
    }
    convert.rgb.hsl = function(rgb) {
      const r = rgb[0] / 255;
      const g = rgb[1] / 255;
      const b = rgb[2] / 255;
      const min = Math.min(r, g, b);
      const max = Math.max(r, g, b);
      const delta = max - min;
      let h;
      let s;
      if (max === min) {
        h = 0;
      } else if (r === max) {
        h = (g - b) / delta;
      } else if (g === max) {
        h = 2 + (b - r) / delta;
      } else if (b === max) {
        h = 4 + (r - g) / delta;
      }
      h = Math.min(h * 60, 360);
      if (h < 0) {
        h += 360;
      }
      const l = (min + max) / 2;
      if (max === min) {
        s = 0;
      } else if (l <= 0.5) {
        s = delta / (max + min);
      } else {
        s = delta / (2 - max - min);
      }
      return [h, s * 100, l * 100];
    };
    convert.rgb.hsv = function(rgb) {
      let rdif;
      let gdif;
      let bdif;
      let h;
      let s;
      const r = rgb[0] / 255;
      const g = rgb[1] / 255;
      const b = rgb[2] / 255;
      const v = Math.max(r, g, b);
      const diff = v - Math.min(r, g, b);
      const diffc = function(c) {
        return (v - c) / 6 / diff + 1 / 2;
      };
      if (diff === 0) {
        h = 0;
        s = 0;
      } else {
        s = diff / v;
        rdif = diffc(r);
        gdif = diffc(g);
        bdif = diffc(b);
        if (r === v) {
          h = bdif - gdif;
        } else if (g === v) {
          h = 1 / 3 + rdif - bdif;
        } else if (b === v) {
          h = 2 / 3 + gdif - rdif;
        }
        if (h < 0) {
          h += 1;
        } else if (h > 1) {
          h -= 1;
        }
      }
      return [
        h * 360,
        s * 100,
        v * 100
      ];
    };
    convert.rgb.hwb = function(rgb) {
      const r = rgb[0];
      const g = rgb[1];
      let b = rgb[2];
      const h = convert.rgb.hsl(rgb)[0];
      const w = 1 / 255 * Math.min(r, Math.min(g, b));
      b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
      return [h, w * 100, b * 100];
    };
    convert.rgb.cmyk = function(rgb) {
      const r = rgb[0] / 255;
      const g = rgb[1] / 255;
      const b = rgb[2] / 255;
      const k = Math.min(1 - r, 1 - g, 1 - b);
      const c = (1 - r - k) / (1 - k) || 0;
      const m = (1 - g - k) / (1 - k) || 0;
      const y = (1 - b - k) / (1 - k) || 0;
      return [c * 100, m * 100, y * 100, k * 100];
    };
    function comparativeDistance(x, y) {
      return (x[0] - y[0]) ** 2 + (x[1] - y[1]) ** 2 + (x[2] - y[2]) ** 2;
    }
    convert.rgb.keyword = function(rgb) {
      const reversed = reverseKeywords[rgb];
      if (reversed) {
        return reversed;
      }
      let currentClosestDistance = Infinity;
      let currentClosestKeyword;
      for (const keyword of Object.keys(cssKeywords)) {
        const value = cssKeywords[keyword];
        const distance = comparativeDistance(rgb, value);
        if (distance < currentClosestDistance) {
          currentClosestDistance = distance;
          currentClosestKeyword = keyword;
        }
      }
      return currentClosestKeyword;
    };
    convert.keyword.rgb = function(keyword) {
      return cssKeywords[keyword];
    };
    convert.rgb.xyz = function(rgb) {
      let r = rgb[0] / 255;
      let g = rgb[1] / 255;
      let b = rgb[2] / 255;
      r = r > 0.04045 ? ((r + 0.055) / 1.055) ** 2.4 : r / 12.92;
      g = g > 0.04045 ? ((g + 0.055) / 1.055) ** 2.4 : g / 12.92;
      b = b > 0.04045 ? ((b + 0.055) / 1.055) ** 2.4 : b / 12.92;
      const x = r * 0.4124 + g * 0.3576 + b * 0.1805;
      const y = r * 0.2126 + g * 0.7152 + b * 0.0722;
      const z = r * 0.0193 + g * 0.1192 + b * 0.9505;
      return [x * 100, y * 100, z * 100];
    };
    convert.rgb.lab = function(rgb) {
      const xyz = convert.rgb.xyz(rgb);
      let x = xyz[0];
      let y = xyz[1];
      let z = xyz[2];
      x /= 95.047;
      y /= 100;
      z /= 108.883;
      x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
      y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
      z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
      const l = 116 * y - 16;
      const a = 500 * (x - y);
      const b = 200 * (y - z);
      return [l, a, b];
    };
    convert.hsl.rgb = function(hsl) {
      const h = hsl[0] / 360;
      const s = hsl[1] / 100;
      const l = hsl[2] / 100;
      let t2;
      let t3;
      let val;
      if (s === 0) {
        val = l * 255;
        return [val, val, val];
      }
      if (l < 0.5) {
        t2 = l * (1 + s);
      } else {
        t2 = l + s - l * s;
      }
      const t1 = 2 * l - t2;
      const rgb = [0, 0, 0];
      for (let i = 0; i < 3; i++) {
        t3 = h + 1 / 3 * -(i - 1);
        if (t3 < 0) {
          t3++;
        }
        if (t3 > 1) {
          t3--;
        }
        if (6 * t3 < 1) {
          val = t1 + (t2 - t1) * 6 * t3;
        } else if (2 * t3 < 1) {
          val = t2;
        } else if (3 * t3 < 2) {
          val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
        } else {
          val = t1;
        }
        rgb[i] = val * 255;
      }
      return rgb;
    };
    convert.hsl.hsv = function(hsl) {
      const h = hsl[0];
      let s = hsl[1] / 100;
      let l = hsl[2] / 100;
      let smin = s;
      const lmin = Math.max(l, 0.01);
      l *= 2;
      s *= l <= 1 ? l : 2 - l;
      smin *= lmin <= 1 ? lmin : 2 - lmin;
      const v = (l + s) / 2;
      const sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
      return [h, sv * 100, v * 100];
    };
    convert.hsv.rgb = function(hsv) {
      const h = hsv[0] / 60;
      const s = hsv[1] / 100;
      let v = hsv[2] / 100;
      const hi = Math.floor(h) % 6;
      const f = h - Math.floor(h);
      const p = 255 * v * (1 - s);
      const q = 255 * v * (1 - s * f);
      const t = 255 * v * (1 - s * (1 - f));
      v *= 255;
      switch (hi) {
        case 0:
          return [v, t, p];
        case 1:
          return [q, v, p];
        case 2:
          return [p, v, t];
        case 3:
          return [p, q, v];
        case 4:
          return [t, p, v];
        case 5:
          return [v, p, q];
      }
    };
    convert.hsv.hsl = function(hsv) {
      const h = hsv[0];
      const s = hsv[1] / 100;
      const v = hsv[2] / 100;
      const vmin = Math.max(v, 0.01);
      let sl;
      let l;
      l = (2 - s) * v;
      const lmin = (2 - s) * vmin;
      sl = s * vmin;
      sl /= lmin <= 1 ? lmin : 2 - lmin;
      sl = sl || 0;
      l /= 2;
      return [h, sl * 100, l * 100];
    };
    convert.hwb.rgb = function(hwb) {
      const h = hwb[0] / 360;
      let wh = hwb[1] / 100;
      let bl = hwb[2] / 100;
      const ratio = wh + bl;
      let f;
      if (ratio > 1) {
        wh /= ratio;
        bl /= ratio;
      }
      const i = Math.floor(6 * h);
      const v = 1 - bl;
      f = 6 * h - i;
      if ((i & 1) !== 0) {
        f = 1 - f;
      }
      const n = wh + f * (v - wh);
      let r;
      let g;
      let b;
      switch (i) {
        default:
        case 6:
        case 0:
          r = v;
          g = n;
          b = wh;
          break;
        case 1:
          r = n;
          g = v;
          b = wh;
          break;
        case 2:
          r = wh;
          g = v;
          b = n;
          break;
        case 3:
          r = wh;
          g = n;
          b = v;
          break;
        case 4:
          r = n;
          g = wh;
          b = v;
          break;
        case 5:
          r = v;
          g = wh;
          b = n;
          break;
      }
      return [r * 255, g * 255, b * 255];
    };
    convert.cmyk.rgb = function(cmyk) {
      const c = cmyk[0] / 100;
      const m = cmyk[1] / 100;
      const y = cmyk[2] / 100;
      const k = cmyk[3] / 100;
      const r = 1 - Math.min(1, c * (1 - k) + k);
      const g = 1 - Math.min(1, m * (1 - k) + k);
      const b = 1 - Math.min(1, y * (1 - k) + k);
      return [r * 255, g * 255, b * 255];
    };
    convert.xyz.rgb = function(xyz) {
      const x = xyz[0] / 100;
      const y = xyz[1] / 100;
      const z = xyz[2] / 100;
      let r;
      let g;
      let b;
      r = x * 3.2406 + y * -1.5372 + z * -0.4986;
      g = x * -0.9689 + y * 1.8758 + z * 0.0415;
      b = x * 0.0557 + y * -0.204 + z * 1.057;
      r = r > 31308e-7 ? 1.055 * r ** (1 / 2.4) - 0.055 : r * 12.92;
      g = g > 31308e-7 ? 1.055 * g ** (1 / 2.4) - 0.055 : g * 12.92;
      b = b > 31308e-7 ? 1.055 * b ** (1 / 2.4) - 0.055 : b * 12.92;
      r = Math.min(Math.max(0, r), 1);
      g = Math.min(Math.max(0, g), 1);
      b = Math.min(Math.max(0, b), 1);
      return [r * 255, g * 255, b * 255];
    };
    convert.xyz.lab = function(xyz) {
      let x = xyz[0];
      let y = xyz[1];
      let z = xyz[2];
      x /= 95.047;
      y /= 100;
      z /= 108.883;
      x = x > 8856e-6 ? x ** (1 / 3) : 7.787 * x + 16 / 116;
      y = y > 8856e-6 ? y ** (1 / 3) : 7.787 * y + 16 / 116;
      z = z > 8856e-6 ? z ** (1 / 3) : 7.787 * z + 16 / 116;
      const l = 116 * y - 16;
      const a = 500 * (x - y);
      const b = 200 * (y - z);
      return [l, a, b];
    };
    convert.lab.xyz = function(lab) {
      const l = lab[0];
      const a = lab[1];
      const b = lab[2];
      let x;
      let y;
      let z;
      y = (l + 16) / 116;
      x = a / 500 + y;
      z = y - b / 200;
      const y2 = y ** 3;
      const x2 = x ** 3;
      const z2 = z ** 3;
      y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787;
      x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787;
      z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787;
      x *= 95.047;
      y *= 100;
      z *= 108.883;
      return [x, y, z];
    };
    convert.lab.lch = function(lab) {
      const l = lab[0];
      const a = lab[1];
      const b = lab[2];
      let h;
      const hr = Math.atan2(b, a);
      h = hr * 360 / 2 / Math.PI;
      if (h < 0) {
        h += 360;
      }
      const c = Math.sqrt(a * a + b * b);
      return [l, c, h];
    };
    convert.lch.lab = function(lch) {
      const l = lch[0];
      const c = lch[1];
      const h = lch[2];
      const hr = h / 360 * 2 * Math.PI;
      const a = c * Math.cos(hr);
      const b = c * Math.sin(hr);
      return [l, a, b];
    };
    convert.rgb.ansi16 = function(args, saturation = null) {
      const [r, g, b] = args;
      let value = saturation === null ? convert.rgb.hsv(args)[2] : saturation;
      value = Math.round(value / 50);
      if (value === 0) {
        return 30;
      }
      let ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
      if (value === 2) {
        ansi += 60;
      }
      return ansi;
    };
    convert.hsv.ansi16 = function(args) {
      return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
    };
    convert.rgb.ansi256 = function(args) {
      const r = args[0];
      const g = args[1];
      const b = args[2];
      if (r === g && g === b) {
        if (r < 8) {
          return 16;
        }
        if (r > 248) {
          return 231;
        }
        return Math.round((r - 8) / 247 * 24) + 232;
      }
      const ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
      return ansi;
    };
    convert.ansi16.rgb = function(args) {
      let color = args % 10;
      if (color === 0 || color === 7) {
        if (args > 50) {
          color += 3.5;
        }
        color = color / 10.5 * 255;
        return [color, color, color];
      }
      const mult = (~~(args > 50) + 1) * 0.5;
      const r = (color & 1) * mult * 255;
      const g = (color >> 1 & 1) * mult * 255;
      const b = (color >> 2 & 1) * mult * 255;
      return [r, g, b];
    };
    convert.ansi256.rgb = function(args) {
      if (args >= 232) {
        const c = (args - 232) * 10 + 8;
        return [c, c, c];
      }
      args -= 16;
      let rem;
      const r = Math.floor(args / 36) / 5 * 255;
      const g = Math.floor((rem = args % 36) / 6) / 5 * 255;
      const b = rem % 6 / 5 * 255;
      return [r, g, b];
    };
    convert.rgb.hex = function(args) {
      const integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255);
      const string = integer.toString(16).toUpperCase();
      return "000000".substring(string.length) + string;
    };
    convert.hex.rgb = function(args) {
      const match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
      if (!match) {
        return [0, 0, 0];
      }
      let colorString = match[0];
      if (match[0].length === 3) {
        colorString = colorString.split("").map((char) => {
          return char + char;
        }).join("");
      }
      const integer = parseInt(colorString, 16);
      const r = integer >> 16 & 255;
      const g = integer >> 8 & 255;
      const b = integer & 255;
      return [r, g, b];
    };
    convert.rgb.hcg = function(rgb) {
      const r = rgb[0] / 255;
      const g = rgb[1] / 255;
      const b = rgb[2] / 255;
      const max = Math.max(Math.max(r, g), b);
      const min = Math.min(Math.min(r, g), b);
      const chroma = max - min;
      let grayscale;
      let hue;
      if (chroma < 1) {
        grayscale = min / (1 - chroma);
      } else {
        grayscale = 0;
      }
      if (chroma <= 0) {
        hue = 0;
      } else if (max === r) {
        hue = (g - b) / chroma % 6;
      } else if (max === g) {
        hue = 2 + (b - r) / chroma;
      } else {
        hue = 4 + (r - g) / chroma;
      }
      hue /= 6;
      hue %= 1;
      return [hue * 360, chroma * 100, grayscale * 100];
    };
    convert.hsl.hcg = function(hsl) {
      const s = hsl[1] / 100;
      const l = hsl[2] / 100;
      const c = l < 0.5 ? 2 * s * l : 2 * s * (1 - l);
      let f = 0;
      if (c < 1) {
        f = (l - 0.5 * c) / (1 - c);
      }
      return [hsl[0], c * 100, f * 100];
    };
    convert.hsv.hcg = function(hsv) {
      const s = hsv[1] / 100;
      const v = hsv[2] / 100;
      const c = s * v;
      let f = 0;
      if (c < 1) {
        f = (v - c) / (1 - c);
      }
      return [hsv[0], c * 100, f * 100];
    };
    convert.hcg.rgb = function(hcg) {
      const h = hcg[0] / 360;
      const c = hcg[1] / 100;
      const g = hcg[2] / 100;
      if (c === 0) {
        return [g * 255, g * 255, g * 255];
      }
      const pure = [0, 0, 0];
      const hi = h % 1 * 6;
      const v = hi % 1;
      const w = 1 - v;
      let mg = 0;
      switch (Math.floor(hi)) {
        case 0:
          pure[0] = 1;
          pure[1] = v;
          pure[2] = 0;
          break;
        case 1:
          pure[0] = w;
          pure[1] = 1;
          pure[2] = 0;
          break;
        case 2:
          pure[0] = 0;
          pure[1] = 1;
          pure[2] = v;
          break;
        case 3:
          pure[0] = 0;
          pure[1] = w;
          pure[2] = 1;
          break;
        case 4:
          pure[0] = v;
          pure[1] = 0;
          pure[2] = 1;
          break;
        default:
          pure[0] = 1;
          pure[1] = 0;
          pure[2] = w;
      }
      mg = (1 - c) * g;
      return [
        (c * pure[0] + mg) * 255,
        (c * pure[1] + mg) * 255,
        (c * pure[2] + mg) * 255
      ];
    };
    convert.hcg.hsv = function(hcg) {
      const c = hcg[1] / 100;
      const g = hcg[2] / 100;
      const v = c + g * (1 - c);
      let f = 0;
      if (v > 0) {
        f = c / v;
      }
      return [hcg[0], f * 100, v * 100];
    };
    convert.hcg.hsl = function(hcg) {
      const c = hcg[1] / 100;
      const g = hcg[2] / 100;
      const l = g * (1 - c) + 0.5 * c;
      let s = 0;
      if (l > 0 && l < 0.5) {
        s = c / (2 * l);
      } else if (l >= 0.5 && l < 1) {
        s = c / (2 * (1 - l));
      }
      return [hcg[0], s * 100, l * 100];
    };
    convert.hcg.hwb = function(hcg) {
      const c = hcg[1] / 100;
      const g = hcg[2] / 100;
      const v = c + g * (1 - c);
      return [hcg[0], (v - c) * 100, (1 - v) * 100];
    };
    convert.hwb.hcg = function(hwb) {
      const w = hwb[1] / 100;
      const b = hwb[2] / 100;
      const v = 1 - b;
      const c = v - w;
      let g = 0;
      if (c < 1) {
        g = (v - c) / (1 - c);
      }
      return [hwb[0], c * 100, g * 100];
    };
    convert.apple.rgb = function(apple) {
      return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
    };
    convert.rgb.apple = function(rgb) {
      return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
    };
    convert.gray.rgb = function(args) {
      return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
    };
    convert.gray.hsl = function(args) {
      return [0, 0, args[0]];
    };
    convert.gray.hsv = convert.gray.hsl;
    convert.gray.hwb = function(gray) {
      return [0, 100, gray[0]];
    };
    convert.gray.cmyk = function(gray) {
      return [0, 0, 0, gray[0]];
    };
    convert.gray.lab = function(gray) {
      return [gray[0], 0, 0];
    };
    convert.gray.hex = function(gray) {
      const val = Math.round(gray[0] / 100 * 255) & 255;
      const integer = (val << 16) + (val << 8) + val;
      const string = integer.toString(16).toUpperCase();
      return "000000".substring(string.length) + string;
    };
    convert.rgb.gray = function(rgb) {
      const val = (rgb[0] + rgb[1] + rgb[2]) / 3;
      return [val / 255 * 100];
    };
  }
});

// ../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js
var require_route = __commonJS({
  "../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js"(exports2, module2) {
    var conversions = require_conversions();
    function buildGraph() {
      const graph = {};
      const models = Object.keys(conversions);
      for (let len = models.length, i = 0; i < len; i++) {
        graph[models[i]] = {
          // http://jsperf.com/1-vs-infinity
          // micro-opt, but this is simple.
          distance: -1,
          parent: null
        };
      }
      return graph;
    }
    function deriveBFS(fromModel) {
      const graph = buildGraph();
      const queue = [fromModel];
      graph[fromModel].distance = 0;
      while (queue.length) {
        const current = queue.pop();
        const adjacents = Object.keys(conversions[current]);
        for (let len = adjacents.length, i = 0; i < len; i++) {
          const adjacent = adjacents[i];
          const node = graph[adjacent];
          if (node.distance === -1) {
            node.distance = graph[current].distance + 1;
            node.parent = current;
            queue.unshift(adjacent);
          }
        }
      }
      return graph;
    }
    function link(from, to) {
      return function(args) {
        return to(from(args));
      };
    }
    function wrapConversion(toModel, graph) {
      const path2 = [graph[toModel].parent, toModel];
      let fn = conversions[graph[toModel].parent][toModel];
      let cur = graph[toModel].parent;
      while (graph[cur].parent) {
        path2.unshift(graph[cur].parent);
        fn = link(conversions[graph[cur].parent][cur], fn);
        cur = graph[cur].parent;
      }
      fn.conversion = path2;
      return fn;
    }
    module2.exports = function(fromModel) {
      const graph = deriveBFS(fromModel);
      const conversion = {};
      const models = Object.keys(graph);
      for (let len = models.length, i = 0; i < len; i++) {
        const toModel = models[i];
        const node = graph[toModel];
        if (node.parent === null) {
          continue;
        }
        conversion[toModel] = wrapConversion(toModel, graph);
      }
      return conversion;
    };
  }
});

// ../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js
var require_color_convert = __commonJS({
  "../node_modules/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js"(exports2, module2) {
    var conversions = require_conversions();
    var route = require_route();
    var convert = {};
    var models = Object.keys(conversions);
    function wrapRaw(fn) {
      const wrappedFn = function(...args) {
        const arg0 = args[0];
        if (arg0 === void 0 || arg0 === null) {
          return arg0;
        }
        if (arg0.length > 1) {
          args = arg0;
        }
        return fn(args);
      };
      if ("conversion" in fn) {
        wrappedFn.conversion = fn.conversion;
      }
      return wrappedFn;
    }
    function wrapRounded(fn) {
      const wrappedFn = function(...args) {
        const arg0 = args[0];
        if (arg0 === void 0 || arg0 === null) {
          return arg0;
        }
        if (arg0.length > 1) {
          args = arg0;
        }
        const result2 = fn(args);
        if (typeof result2 === "object") {
          for (let len = result2.length, i = 0; i < len; i++) {
            result2[i] = Math.round(result2[i]);
          }
        }
        return result2;
      };
      if ("conversion" in fn) {
        wrappedFn.conversion = fn.conversion;
      }
      return wrappedFn;
    }
    models.forEach((fromModel) => {
      convert[fromModel] = {};
      Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels });
      Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels });
      const routes = route(fromModel);
      const routeModels = Object.keys(routes);
      routeModels.forEach((toModel) => {
        const fn = routes[toModel];
        convert[fromModel][toModel] = wrapRounded(fn);
        convert[fromModel][toModel].raw = wrapRaw(fn);
      });
    });
    module2.exports = convert;
  }
});

// ../node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js
var require_ansi_styles = __commonJS({
  "../node_modules/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js"(exports2, module2) {
    "use strict";
    var wrapAnsi16 = (fn, offset) => (...args) => {
      const code = fn(...args);
      return `\x1B[${code + offset}m`;
    };
    var wrapAnsi256 = (fn, offset) => (...args) => {
      const code = fn(...args);
      return `\x1B[${38 + offset};5;${code}m`;
    };
    var wrapAnsi16m = (fn, offset) => (...args) => {
      const rgb = fn(...args);
      return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
    };
    var ansi2ansi = (n) => n;
    var rgb2rgb = (r, g, b) => [r, g, b];
    var setLazyProperty = (object, property, get) => {
      Object.defineProperty(object, property, {
        get: () => {
          const value = get();
          Object.defineProperty(object, property, {
            value,
            enumerable: true,
            configurable: true
          });
          return value;
        },
        enumerable: true,
        configurable: true
      });
    };
    var colorConvert;
    var makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => {
      if (colorConvert === void 0) {
        colorConvert = require_color_convert();
      }
      const offset = isBackground ? 10 : 0;
      const styles = {};
      for (const [sourceSpace, suite] of Object.entries(colorConvert)) {
        const name = sourceSpace === "ansi16" ? "ansi" : sourceSpace;
        if (sourceSpace === targetSpace) {
          styles[name] = wrap(identity, offset);
        } else if (typeof suite === "object") {
          styles[name] = wrap(suite[targetSpace], offset);
        }
      }
      return styles;
    };
    function assembleStyles() {
      const codes = /* @__PURE__ */ new Map();
      const styles = {
        modifier: {
          reset: [0, 0],
          // 21 isn't widely supported and 22 does the same thing
          bold: [1, 22],
          dim: [2, 22],
          italic: [3, 23],
          underline: [4, 24],
          inverse: [7, 27],
          hidden: [8, 28],
          strikethrough: [9, 29]
        },
        color: {
          black: [30, 39],
          red: [31, 39],
          green: [32, 39],
          yellow: [33, 39],
          blue: [34, 39],
          magenta: [35, 39],
          cyan: [36, 39],
          white: [37, 39],
          // Bright color
          blackBright: [90, 39],
          redBright: [91, 39],
          greenBright: [92, 39],
          yellowBright: [93, 39],
          blueBright: [94, 39],
          magentaBright: [95, 39],
          cyanBright: [96, 39],
          whiteBright: [97, 39]
        },
        bgColor: {
          bgBlack: [40, 49],
          bgRed: [41, 49],
          bgGreen: [42, 49],
          bgYellow: [43, 49],
          bgBlue: [44, 49],
          bgMagenta: [45, 49],
          bgCyan: [46, 49],
          bgWhite: [47, 49],
          // Bright color
          bgBlackBright: [100, 49],
          bgRedBright: [101, 49],
          bgGreenBright: [102, 49],
          bgYellowBright: [103, 49],
          bgBlueBright: [104, 49],
          bgMagentaBright: [105, 49],
          bgCyanBright: [106, 49],
          bgWhiteBright: [107, 49]
        }
      };
      styles.color.gray = styles.color.blackBright;
      styles.bgColor.bgGray = styles.bgColor.bgBlackBright;
      styles.color.grey = styles.color.blackBright;
      styles.bgColor.bgGrey = styles.bgColor.bgBlackBright;
      for (const [groupName, group] of Object.entries(styles)) {
        for (const [styleName, style] of Object.entries(group)) {
          styles[styleName] = {
            open: `\x1B[${style[0]}m`,
            close: `\x1B[${style[1]}m`
          };
          group[styleName] = styles[styleName];
          codes.set(style[0], style[1]);
        }
        Object.defineProperty(styles, groupName, {
          value: group,
          enumerable: false
        });
      }
      Object.defineProperty(styles, "codes", {
        value: codes,
        enumerable: false
      });
      styles.color.close = "\x1B[39m";
      styles.bgColor.close = "\x1B[49m";
      setLazyProperty(styles.color, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, false));
      setLazyProperty(styles.color, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, false));
      setLazyProperty(styles.color, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, false));
      setLazyProperty(styles.bgColor, "ansi", () => makeDynamicStyles(wrapAnsi16, "ansi16", ansi2ansi, true));
      setLazyProperty(styles.bgColor, "ansi256", () => makeDynamicStyles(wrapAnsi256, "ansi256", ansi2ansi, true));
      setLazyProperty(styles.bgColor, "ansi16m", () => makeDynamicStyles(wrapAnsi16m, "rgb", rgb2rgb, true));
      return styles;
    }
    Object.defineProperty(module2, "exports", {
      enumerable: true,
      get: assembleStyles
    });
  }
});

// ../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js
var require_has_flag = __commonJS({
  "../node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (flag, argv2 = process.argv) => {
      const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
      const position = argv2.indexOf(prefix + flag);
      const terminatorPosition = argv2.indexOf("--");
      return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
    };
  }
});

// ../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js
var require_supports_color = __commonJS({
  "../node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var tty = require("tty");
    var hasFlag = require_has_flag();
    var { env } = process;
    var forceColor;
    if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
      forceColor = 0;
    } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
      forceColor = 1;
    }
    if ("FORCE_COLOR" in env) {
      if (env.FORCE_COLOR === "true") {
        forceColor = 1;
      } else if (env.FORCE_COLOR === "false") {
        forceColor = 0;
      } else {
        forceColor = env.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(env.FORCE_COLOR, 10), 3);
      }
    }
    function translateLevel(level) {
      if (level === 0) {
        return false;
      }
      return {
        level,
        hasBasic: true,
        has256: level >= 2,
        has16m: level >= 3
      };
    }
    function supportsColor(haveStream, streamIsTTY) {
      if (forceColor === 0) {
        return 0;
      }
      if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
        return 3;
      }
      if (hasFlag("color=256")) {
        return 2;
      }
      if (haveStream && !streamIsTTY && forceColor === void 0) {
        return 0;
      }
      const min = forceColor || 0;
      if (env.TERM === "dumb") {
        return min;
      }
      if (process.platform === "win32") {
        const osRelease = os.release().split(".");
        if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
          return Number(osRelease[2]) >= 14931 ? 3 : 2;
        }
        return 1;
      }
      if ("CI" in env) {
        if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
          return 1;
        }
        return min;
      }
      if ("TEAMCITY_VERSION" in env) {
        return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
      }
      if (env.COLORTERM === "truecolor") {
        return 3;
      }
      if ("TERM_PROGRAM" in env) {
        const version2 = parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
        switch (env.TERM_PROGRAM) {
          case "iTerm.app":
            return version2 >= 3 ? 3 : 2;
          case "Apple_Terminal":
            return 2;
        }
      }
      if (/-256(color)?$/i.test(env.TERM)) {
        return 2;
      }
      if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
        return 1;
      }
      if ("COLORTERM" in env) {
        return 1;
      }
      return min;
    }
    function getSupportLevel(stream) {
      const level = supportsColor(stream, stream && stream.isTTY);
      return translateLevel(level);
    }
    module2.exports = {
      supportsColor: getSupportLevel,
      stdout: translateLevel(supportsColor(true, tty.isatty(1))),
      stderr: translateLevel(supportsColor(true, tty.isatty(2)))
    };
  }
});

// ../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js
var require_util3 = __commonJS({
  "../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js"(exports2, module2) {
    "use strict";
    var stringReplaceAll = (string, substring, replacer) => {
      let index = string.indexOf(substring);
      if (index === -1) {
        return string;
      }
      const substringLength = substring.length;
      let endIndex = 0;
      let returnValue = "";
      do {
        returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
        endIndex = index + substringLength;
        index = string.indexOf(substring, endIndex);
      } while (index !== -1);
      returnValue += string.substr(endIndex);
      return returnValue;
    };
    var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
      let endIndex = 0;
      let returnValue = "";
      do {
        const gotCR = string[index - 1] === "\r";
        returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
        endIndex = index + 1;
        index = string.indexOf("\n", endIndex);
      } while (index !== -1);
      returnValue += string.substr(endIndex);
      return returnValue;
    };
    module2.exports = {
      stringReplaceAll,
      stringEncaseCRLFWithFirstIndex
    };
  }
});

// ../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js
var require_templates = __commonJS({
  "../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js"(exports2, module2) {
    "use strict";
    var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
    var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
    var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
    var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi;
    var ESCAPES = /* @__PURE__ */ new Map([
      ["n", "\n"],
      ["r", "\r"],
      ["t", "	"],
      ["b", "\b"],
      ["f", "\f"],
      ["v", "\v"],
      ["0", "\0"],
      ["\\", "\\"],
      ["e", "\x1B"],
      ["a", "\x07"]
    ]);
    function unescape2(c) {
      const u = c[0] === "u";
      const bracket = c[1] === "{";
      if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
        return String.fromCharCode(parseInt(c.slice(1), 16));
      }
      if (u && bracket) {
        return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
      }
      return ESCAPES.get(c) || c;
    }
    function parseArguments(name, arguments_) {
      const results = [];
      const chunks = arguments_.trim().split(/\s*,\s*/g);
      let matches;
      for (const chunk of chunks) {
        const number = Number(chunk);
        if (!Number.isNaN(number)) {
          results.push(number);
        } else if (matches = chunk.match(STRING_REGEX)) {
          results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape2(escape) : character));
        } else {
          throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
        }
      }
      return results;
    }
    function parseStyle(style) {
      STYLE_REGEX.lastIndex = 0;
      const results = [];
      let matches;
      while ((matches = STYLE_REGEX.exec(style)) !== null) {
        const name = matches[1];
        if (matches[2]) {
          const args = parseArguments(name, matches[2]);
          results.push([name].concat(args));
        } else {
          results.push([name]);
        }
      }
      return results;
    }
    function buildStyle(chalk, styles) {
      const enabled = {};
      for (const layer of styles) {
        for (const style of layer.styles) {
          enabled[style[0]] = layer.inverse ? null : style.slice(1);
        }
      }
      let current = chalk;
      for (const [styleName, styles2] of Object.entries(enabled)) {
        if (!Array.isArray(styles2)) {
          continue;
        }
        if (!(styleName in current)) {
          throw new Error(`Unknown Chalk style: ${styleName}`);
        }
        current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
      }
      return current;
    }
    module2.exports = (chalk, temporary) => {
      const styles = [];
      const chunks = [];
      let chunk = [];
      temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
        if (escapeCharacter) {
          chunk.push(unescape2(escapeCharacter));
        } else if (style) {
          const string = chunk.join("");
          chunk = [];
          chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));
          styles.push({ inverse, styles: parseStyle(style) });
        } else if (close) {
          if (styles.length === 0) {
            throw new Error("Found extraneous } in Chalk template literal");
          }
          chunks.push(buildStyle(chalk, styles)(chunk.join("")));
          chunk = [];
          styles.pop();
        } else {
          chunk.push(character);
        }
      });
      chunks.push(chunk.join(""));
      if (styles.length > 0) {
        const errMessage = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
        throw new Error(errMessage);
      }
      return chunks.join("");
    };
  }
});

// ../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js
var require_source = __commonJS({
  "../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js"(exports2, module2) {
    "use strict";
    var ansiStyles = require_ansi_styles();
    var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color();
    var {
      stringReplaceAll,
      stringEncaseCRLFWithFirstIndex
    } = require_util3();
    var { isArray } = Array;
    var levelMapping = [
      "ansi",
      "ansi",
      "ansi256",
      "ansi16m"
    ];
    var styles = /* @__PURE__ */ Object.create(null);
    var applyOptions = (object, options = {}) => {
      if (options.level && !(Number.isInteger(options.level) && options.level >= 0 && options.level <= 3)) {
        throw new Error("The `level` option should be an integer from 0 to 3");
      }
      const colorLevel = stdoutColor ? stdoutColor.level : 0;
      object.level = options.level === void 0 ? colorLevel : options.level;
    };
    var ChalkClass = class {
      constructor(options) {
        return chalkFactory(options);
      }
    };
    var chalkFactory = (options) => {
      const chalk2 = {};
      applyOptions(chalk2, options);
      chalk2.template = (...arguments_) => chalkTag(chalk2.template, ...arguments_);
      Object.setPrototypeOf(chalk2, Chalk.prototype);
      Object.setPrototypeOf(chalk2.template, chalk2);
      chalk2.template.constructor = () => {
        throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
      };
      chalk2.template.Instance = ChalkClass;
      return chalk2.template;
    };
    function Chalk(options) {
      return chalkFactory(options);
    }
    for (const [styleName, style] of Object.entries(ansiStyles)) {
      styles[styleName] = {
        get() {
          const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
          Object.defineProperty(this, styleName, { value: builder });
          return builder;
        }
      };
    }
    styles.visible = {
      get() {
        const builder = createBuilder(this, this._styler, true);
        Object.defineProperty(this, "visible", { value: builder });
        return builder;
      }
    };
    var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
    for (const model of usedModels) {
      styles[model] = {
        get() {
          const { level } = this;
          return function(...arguments_) {
            const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
            return createBuilder(this, styler, this._isEmpty);
          };
        }
      };
    }
    for (const model of usedModels) {
      const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
      styles[bgModel] = {
        get() {
          const { level } = this;
          return function(...arguments_) {
            const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
            return createBuilder(this, styler, this._isEmpty);
          };
        }
      };
    }
    var proto = Object.defineProperties(() => {
    }, {
      ...styles,
      level: {
        enumerable: true,
        get() {
          return this._generator.level;
        },
        set(level) {
          this._generator.level = level;
        }
      }
    });
    var createStyler = (open, close, parent) => {
      let openAll;
      let closeAll;
      if (parent === void 0) {
        openAll = open;
        closeAll = close;
      } else {
        openAll = parent.openAll + open;
        closeAll = close + parent.closeAll;
      }
      return {
        open,
        close,
        openAll,
        closeAll,
        parent
      };
    };
    var createBuilder = (self2, _styler, _isEmpty) => {
      const builder = (...arguments_) => {
        if (isArray(arguments_[0]) && isArray(arguments_[0].raw)) {
          return applyStyle(builder, chalkTag(builder, ...arguments_));
        }
        return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
      };
      Object.setPrototypeOf(builder, proto);
      builder._generator = self2;
      builder._styler = _styler;
      builder._isEmpty = _isEmpty;
      return builder;
    };
    var applyStyle = (self2, string) => {
      if (self2.level <= 0 || !string) {
        return self2._isEmpty ? "" : string;
      }
      let styler = self2._styler;
      if (styler === void 0) {
        return string;
      }
      const { openAll, closeAll } = styler;
      if (string.indexOf("\x1B") !== -1) {
        while (styler !== void 0) {
          string = stringReplaceAll(string, styler.close, styler.open);
          styler = styler.parent;
        }
      }
      const lfIndex = string.indexOf("\n");
      if (lfIndex !== -1) {
        string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
      }
      return openAll + string + closeAll;
    };
    var template;
    var chalkTag = (chalk2, ...strings) => {
      const [firstString] = strings;
      if (!isArray(firstString) || !isArray(firstString.raw)) {
        return strings.join(" ");
      }
      const arguments_ = strings.slice(1);
      const parts = [firstString.raw[0]];
      for (let i = 1; i < firstString.length; i++) {
        parts.push(
          String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"),
          String(firstString.raw[i])
        );
      }
      if (template === void 0) {
        template = require_templates();
      }
      return template(chalk2, parts.join(""));
    };
    Object.defineProperties(Chalk.prototype, styles);
    var chalk = Chalk();
    chalk.supportsColor = stdoutColor;
    chalk.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 });
    chalk.stderr.supportsColor = stderrColor;
    module2.exports = chalk;
  }
});

// ../cli/default-reporter/lib/reporterForClient/outputConstants.js
var require_outputConstants = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/outputConstants.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.REMOVED_CHAR = exports2.ADDED_CHAR = exports2.hlPkgId = exports2.hlValue = exports2.PREFIX_MAX_LENGTH = void 0;
    var chalk_1 = __importDefault2(require_source());
    exports2.PREFIX_MAX_LENGTH = 40;
    exports2.hlValue = chalk_1.default.cyanBright;
    exports2.hlPkgId = chalk_1.default["whiteBright"];
    exports2.ADDED_CHAR = chalk_1.default.green("+");
    exports2.REMOVED_CHAR = chalk_1.default.red("-");
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportBigTarballsProgress.js
var require_reportBigTarballsProgress = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportBigTarballsProgress.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportBigTarballProgress = reportBigTarballProgress;
    var operators_1 = require_operators();
    var pretty_bytes_1 = __importDefault2(require_pretty_bytes());
    var outputConstants_1 = require_outputConstants();
    var BIG_TARBALL_SIZE = 1024 * 1024 * 5;
    var PRETTY_OPTS = {
      minimumFractionDigits: 2,
      maximumFractionDigits: 2
    };
    function reportBigTarballProgress(log$) {
      return log$.fetchingProgress.pipe((0, operators_1.filter)((log) => log.status === "started" && typeof log.size === "number" && log.size >= BIG_TARBALL_SIZE && // When retrying the download, keep the existing progress line.
      // Fixing issue: https://github.com/pnpm/pnpm/issues/1013
      log.attempt === 1), (0, operators_1.map)((startedLog) => {
        const size = (0, pretty_bytes_1.default)(startedLog.size ?? 0, PRETTY_OPTS);
        return log$.fetchingProgress.pipe((0, operators_1.filter)((log) => log.status === "in_progress" && log.packageId === startedLog["packageId"]), (0, operators_1.map)((log) => log.downloaded ?? 0), (0, operators_1.startWith)(0), (0, operators_1.map)((downloadedRaw) => {
          const done = startedLog.size === downloadedRaw;
          const downloaded = (0, pretty_bytes_1.default)(downloadedRaw, PRETTY_OPTS);
          return {
            fixed: !done,
            msg: `Downloading ${(0, outputConstants_1.hlPkgId)(startedLog["packageId"])}: ${(0, outputConstants_1.hlValue)(downloaded)}/${(0, outputConstants_1.hlValue)(size)}${done ? ", done" : ""}`
          };
        }));
      }));
    }
  }
});

// ../node_modules/.pnpm/normalize-path@3.0.0/node_modules/normalize-path/index.js
var require_normalize_path = __commonJS({
  "../node_modules/.pnpm/normalize-path@3.0.0/node_modules/normalize-path/index.js"(exports2, module2) {
    module2.exports = function(path2, stripTrailing) {
      if (typeof path2 !== "string") {
        throw new TypeError("expected path to be a string");
      }
      if (path2 === "\\" || path2 === "/") return "/";
      var len = path2.length;
      if (len <= 1) return path2;
      var prefix = "";
      if (len > 4 && path2[3] === "\\") {
        var ch = path2[2];
        if ((ch === "?" || ch === ".") && path2.slice(0, 2) === "\\\\") {
          path2 = path2.slice(2);
          prefix = "//";
        }
      }
      var segs = path2.split(/[/\\]+/);
      if (stripTrailing !== false && segs[segs.length - 1] === "") {
        segs.pop();
      }
      return prefix + segs.join("/");
    };
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportContext.js
var require_reportContext = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportContext.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportContext = reportContext;
    var path_1 = __importDefault2(require("path"));
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    function reportContext(log$, opts) {
      return Rx.combineLatest(log$.context.pipe((0, operators_1.take)(1)), log$.packageImportMethod.pipe((0, operators_1.take)(1))).pipe((0, operators_1.map)(([context, packageImportMethod]) => {
        if (context.currentLockfileExists) {
          return Rx.NEVER;
        }
        let method;
        switch (packageImportMethod.method) {
          case "copy":
            method = "copied";
            break;
          case "clone":
            method = "cloned";
            break;
          case "hardlink":
            method = "hard linked";
            break;
          default:
            method = packageImportMethod.method;
            break;
        }
        return Rx.of({
          msg: `Packages are ${method} from the content-addressable store to the virtual store.
  Content-addressable store is at: ${context.storeDir}
  Virtual store is at:             ${(0, normalize_path_1.default)(path_1.default.relative(opts.cwd, context.virtualStoreDir))}`
        });
      }));
    }
  }
});

// ../node_modules/.pnpm/parse-ms@2.1.0/node_modules/parse-ms/index.js
var require_parse_ms = __commonJS({
  "../node_modules/.pnpm/parse-ms@2.1.0/node_modules/parse-ms/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (milliseconds) => {
      if (typeof milliseconds !== "number") {
        throw new TypeError("Expected a number");
      }
      const roundTowardsZero = milliseconds > 0 ? Math.floor : Math.ceil;
      return {
        days: roundTowardsZero(milliseconds / 864e5),
        hours: roundTowardsZero(milliseconds / 36e5) % 24,
        minutes: roundTowardsZero(milliseconds / 6e4) % 60,
        seconds: roundTowardsZero(milliseconds / 1e3) % 60,
        milliseconds: roundTowardsZero(milliseconds) % 1e3,
        microseconds: roundTowardsZero(milliseconds * 1e3) % 1e3,
        nanoseconds: roundTowardsZero(milliseconds * 1e6) % 1e3
      };
    };
  }
});

// ../node_modules/.pnpm/pretty-ms@7.0.1/node_modules/pretty-ms/index.js
var require_pretty_ms = __commonJS({
  "../node_modules/.pnpm/pretty-ms@7.0.1/node_modules/pretty-ms/index.js"(exports2, module2) {
    "use strict";
    var parseMilliseconds = require_parse_ms();
    var pluralize = (word, count) => count === 1 ? word : `${word}s`;
    var SECOND_ROUNDING_EPSILON = 1e-7;
    module2.exports = (milliseconds, options = {}) => {
      if (!Number.isFinite(milliseconds)) {
        throw new TypeError("Expected a finite number");
      }
      if (options.colonNotation) {
        options.compact = false;
        options.formatSubMilliseconds = false;
        options.separateMilliseconds = false;
        options.verbose = false;
      }
      if (options.compact) {
        options.secondsDecimalDigits = 0;
        options.millisecondsDecimalDigits = 0;
      }
      const result2 = [];
      const floorDecimals = (value, decimalDigits) => {
        const flooredInterimValue = Math.floor(value * 10 ** decimalDigits + SECOND_ROUNDING_EPSILON);
        const flooredValue = Math.round(flooredInterimValue) / 10 ** decimalDigits;
        return flooredValue.toFixed(decimalDigits);
      };
      const add = (value, long, short, valueString) => {
        if ((result2.length === 0 || !options.colonNotation) && value === 0 && !(options.colonNotation && short === "m")) {
          return;
        }
        valueString = (valueString || value || "0").toString();
        let prefix;
        let suffix;
        if (options.colonNotation) {
          prefix = result2.length > 0 ? ":" : "";
          suffix = "";
          const wholeDigits = valueString.includes(".") ? valueString.split(".")[0].length : valueString.length;
          const minLength = result2.length > 0 ? 2 : 1;
          valueString = "0".repeat(Math.max(0, minLength - wholeDigits)) + valueString;
        } else {
          prefix = "";
          suffix = options.verbose ? " " + pluralize(long, value) : short;
        }
        result2.push(prefix + valueString + suffix);
      };
      const parsed = parseMilliseconds(milliseconds);
      add(Math.trunc(parsed.days / 365), "year", "y");
      add(parsed.days % 365, "day", "d");
      add(parsed.hours, "hour", "h");
      add(parsed.minutes, "minute", "m");
      if (options.separateMilliseconds || options.formatSubMilliseconds || !options.colonNotation && milliseconds < 1e3) {
        add(parsed.seconds, "second", "s");
        if (options.formatSubMilliseconds) {
          add(parsed.milliseconds, "millisecond", "ms");
          add(parsed.microseconds, "microsecond", "\xB5s");
          add(parsed.nanoseconds, "nanosecond", "ns");
        } else {
          const millisecondsAndBelow = parsed.milliseconds + parsed.microseconds / 1e3 + parsed.nanoseconds / 1e6;
          const millisecondsDecimalDigits = typeof options.millisecondsDecimalDigits === "number" ? options.millisecondsDecimalDigits : 0;
          const roundedMiliseconds = millisecondsAndBelow >= 1 ? Math.round(millisecondsAndBelow) : Math.ceil(millisecondsAndBelow);
          const millisecondsString = millisecondsDecimalDigits ? millisecondsAndBelow.toFixed(millisecondsDecimalDigits) : roundedMiliseconds;
          add(
            Number.parseFloat(millisecondsString, 10),
            "millisecond",
            "ms",
            millisecondsString
          );
        }
      } else {
        const seconds = milliseconds / 1e3 % 60;
        const secondsDecimalDigits = typeof options.secondsDecimalDigits === "number" ? options.secondsDecimalDigits : 1;
        const secondsFixed = floorDecimals(seconds, secondsDecimalDigits);
        const secondsString = options.keepDecimalsOnWholeSeconds ? secondsFixed : secondsFixed.replace(/\.0+$/, "");
        add(Number.parseFloat(secondsString, 10), "second", "s", secondsString);
      }
      if (result2.length === 0) {
        return "0" + (options.verbose ? " milliseconds" : "ms");
      }
      if (options.compact) {
        return result2[0];
      }
      if (typeof options.unitCount === "number") {
        const separator = options.colonNotation ? "" : " ";
        return result2.slice(0, Math.max(options.unitCount, 1)).join(separator);
      }
      return options.colonNotation ? result2.join("") : result2.join(" ");
    };
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportExecutionTime.js
var require_reportExecutionTime = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportExecutionTime.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportExecutionTime = reportExecutionTime;
    var pretty_ms_1 = __importDefault2(require_pretty_ms());
    var cli_meta_1 = require_lib4();
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    function reportExecutionTime(executionTime$) {
      return executionTime$.pipe((0, operators_1.take)(1), (0, operators_1.map)((log) => {
        return Rx.of({
          fixed: true,
          // Without this, for some reason sometimes the progress bar is printed after the execution time
          msg: `Done in ${(0, pretty_ms_1.default)(log.endedAt - log.startedAt)} using ${cli_meta_1.packageManager.name} v${cli_meta_1.packageManager.version}`
        });
      }));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/utils/formatWarn.js
var require_formatWarn = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/utils/formatWarn.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.formatWarn = formatWarn;
    var chalk_1 = __importDefault2(require_source());
    function formatWarn(message) {
      return `${chalk_1.default.bgYellow.black("\u2009WARN\u2009")} ${message}`;
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/utils/formatPrefix.js
var require_formatPrefix = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/utils/formatPrefix.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.formatPrefix = formatPrefix;
    exports2.formatPrefixNoTrim = formatPrefixNoTrim;
    var path_1 = __importDefault2(require("path"));
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var outputConstants_1 = require_outputConstants();
    function formatPrefix(cwd, prefix) {
      prefix = formatPrefixNoTrim(cwd, prefix);
      if (prefix.length <= outputConstants_1.PREFIX_MAX_LENGTH) {
        return prefix;
      }
      const shortPrefix = prefix.slice(-outputConstants_1.PREFIX_MAX_LENGTH + 3);
      const separatorLocation = shortPrefix.indexOf("/");
      if (separatorLocation <= 0) {
        return `...${shortPrefix}`;
      }
      return `...${shortPrefix.slice(separatorLocation)}`;
    }
    function formatPrefixNoTrim(cwd, prefix) {
      return (0, normalize_path_1.default)(path_1.default.relative(cwd, prefix) || ".");
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/utils/zooming.js
var require_zooming = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/utils/zooming.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.autozoom = autozoom;
    exports2.zoomOut = zoomOut;
    var outputConstants_1 = require_outputConstants();
    var formatPrefix_1 = require_formatPrefix();
    function autozoom(currentPrefix, logPrefix, line, opts) {
      if (!logPrefix || !opts.zoomOutCurrent && currentPrefix === logPrefix) {
        return line;
      }
      return zoomOut(currentPrefix, logPrefix, line);
    }
    function zoomOut(currentPrefix, logPrefix, line) {
      const prefix = (0, formatPrefix_1.formatPrefix)(currentPrefix, logPrefix);
      return `${prefix.padEnd(outputConstants_1.PREFIX_MAX_LENGTH)} | ${line}`;
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportDeprecations.js
var require_reportDeprecations = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportDeprecations.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportDeprecations = reportDeprecations;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var chalk_1 = __importDefault2(require_source());
    var formatWarn_1 = require_formatWarn();
    var zooming_1 = require_zooming();
    function reportDeprecations(log$, opts) {
      const [deprecatedDirectDeps$, deprecatedSubdeps$] = Rx.partition(log$.deprecation, (log) => log.depth === 0);
      const resolutionDone$ = log$.stage.pipe((0, operators_1.filter)((log) => log.stage === "resolution_done"));
      return Rx.merge(deprecatedDirectDeps$.pipe((0, operators_1.map)((log) => {
        if (!opts.isRecursive && log.prefix === opts.cwd) {
          return Rx.of({
            msg: (0, formatWarn_1.formatWarn)(`${chalk_1.default.red("deprecated")} ${log.pkgName}@${log.pkgVersion}: ${log.deprecated}`)
          });
        }
        return Rx.of({
          msg: (0, zooming_1.zoomOut)(opts.cwd, log.prefix, (0, formatWarn_1.formatWarn)(`${chalk_1.default.red("deprecated")} ${log.pkgName}@${log.pkgVersion}`))
        });
      })), deprecatedSubdeps$.pipe((0, operators_1.buffer)(resolutionDone$), (0, operators_1.switchMap)((deprecatedSubdeps) => {
        if (deprecatedSubdeps.length > 0) {
          return Rx.of(Rx.of({
            msg: (0, formatWarn_1.formatWarn)(`${chalk_1.default.red(`${deprecatedSubdeps.length} deprecated subdependencies found:`)} ${deprecatedSubdeps.map((log) => `${log.pkgName}@${log.pkgVersion}`).sort().join(", ")}`)
          }));
        }
        return Rx.EMPTY;
      })));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportHooks.js
var require_reportHooks = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportHooks.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportHooks = reportHooks;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var chalk_1 = __importDefault2(require_source());
    var zooming_1 = require_zooming();
    function reportHooks(hook$, opts) {
      return hook$.pipe((0, operators_1.map)((log) => Rx.of({
        msg: (0, zooming_1.autozoom)(opts.cwd, log.prefix, `${chalk_1.default.magentaBright(log.hook)}: ${log.message}`, {
          zoomOutCurrent: opts.isRecursive
        })
      })));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportInstallChecks.js
var require_reportInstallChecks = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportInstallChecks.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportInstallChecks = reportInstallChecks;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var formatWarn_1 = require_formatWarn();
    var zooming_1 = require_zooming();
    function reportInstallChecks(installCheck$, opts) {
      return installCheck$.pipe((0, operators_1.map)((log) => formatInstallCheck(opts.cwd, log)), (0, operators_1.filter)(Boolean), (0, operators_1.map)((msg) => Rx.of({ msg })));
    }
    function formatInstallCheck(currentPrefix, logObj, opts) {
      const zoomOutCurrent = opts?.zoomOutCurrent ?? false;
      switch (logObj.code) {
        case "EBADPLATFORM":
          return (0, zooming_1.autozoom)(currentPrefix, logObj.prefix, (0, formatWarn_1.formatWarn)(`Unsupported system. Skipping dependency ${logObj.pkgId}`), { zoomOutCurrent });
        case "ENOTSUP":
          return (0, zooming_1.autozoom)(currentPrefix, logObj.prefix, logObj.toString(), { zoomOutCurrent });
        default:
          return void 0;
      }
    }
  }
});

// ../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js
var require_is_fullwidth_code_point = __commonJS({
  "../node_modules/.pnpm/is-fullwidth-code-point@3.0.0/node_modules/is-fullwidth-code-point/index.js"(exports2, module2) {
    "use strict";
    var isFullwidthCodePoint = (codePoint) => {
      if (Number.isNaN(codePoint)) {
        return false;
      }
      if (codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
      codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
      codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
      // CJK Radicals Supplement .. Enclosed CJK Letters and Months
      11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
      12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
      19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
      43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
      44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
      63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
      65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
      65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
      65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
      110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
      127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
      131072 <= codePoint && codePoint <= 262141)) {
        return true;
      }
      return false;
    };
    module2.exports = isFullwidthCodePoint;
    module2.exports.default = isFullwidthCodePoint;
  }
});

// ../node_modules/.pnpm/astral-regex@2.0.0/node_modules/astral-regex/index.js
var require_astral_regex = __commonJS({
  "../node_modules/.pnpm/astral-regex@2.0.0/node_modules/astral-regex/index.js"(exports2, module2) {
    "use strict";
    var regex = "[\uD800-\uDBFF][\uDC00-\uDFFF]";
    var astralRegex = (options) => options && options.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, "g");
    module2.exports = astralRegex;
  }
});

// ../node_modules/.pnpm/slice-ansi@3.0.0/node_modules/slice-ansi/index.js
var require_slice_ansi = __commonJS({
  "../node_modules/.pnpm/slice-ansi@3.0.0/node_modules/slice-ansi/index.js"(exports2, module2) {
    "use strict";
    var isFullwidthCodePoint = require_is_fullwidth_code_point();
    var astralRegex = require_astral_regex();
    var ansiStyles = require_ansi_styles();
    var ESCAPES = [
      "\x1B",
      "\x9B"
    ];
    var wrapAnsi = (code) => `${ESCAPES[0]}[${code}m`;
    var checkAnsi = (ansiCodes, isEscapes, endAnsiCode) => {
      let output = [];
      ansiCodes = [...ansiCodes];
      for (let ansiCode of ansiCodes) {
        const ansiCodeOrigin = ansiCode;
        if (ansiCode.match(";")) {
          ansiCode = ansiCode.split(";")[0][0] + "0";
        }
        const item = ansiStyles.codes.get(parseInt(ansiCode, 10));
        if (item) {
          const indexEscape = ansiCodes.indexOf(item.toString());
          if (indexEscape >= 0) {
            ansiCodes.splice(indexEscape, 1);
          } else {
            output.push(wrapAnsi(isEscapes ? item : ansiCodeOrigin));
          }
        } else if (isEscapes) {
          output.push(wrapAnsi(0));
          break;
        } else {
          output.push(wrapAnsi(ansiCodeOrigin));
        }
      }
      if (isEscapes) {
        output = output.filter((element, index) => output.indexOf(element) === index);
        if (endAnsiCode !== void 0) {
          const fistEscapeCode = wrapAnsi(ansiStyles.codes.get(parseInt(endAnsiCode, 10)));
          output = output.reduce((current, next) => next === fistEscapeCode ? [next, ...current] : [...current, next], []);
        }
      }
      return output.join("");
    };
    module2.exports = (string, begin, end) => {
      const characters = [...string.normalize()];
      const ansiCodes = [];
      end = typeof end === "number" ? end : characters.length;
      let isInsideEscape = false;
      let ansiCode;
      let visible = 0;
      let output = "";
      for (const [index, character] of characters.entries()) {
        let leftEscape = false;
        if (ESCAPES.includes(character)) {
          const code = /\d[^m]*/.exec(string.slice(index, index + 18));
          ansiCode = code && code.length > 0 ? code[0] : void 0;
          if (visible < end) {
            isInsideEscape = true;
            if (ansiCode !== void 0) {
              ansiCodes.push(ansiCode);
            }
          }
        } else if (isInsideEscape && character === "m") {
          isInsideEscape = false;
          leftEscape = true;
        }
        if (!isInsideEscape && !leftEscape) {
          ++visible;
        }
        if (!astralRegex({ exact: true }).test(character) && isFullwidthCodePoint(character.codePointAt())) {
          ++visible;
        }
        if (visible > begin && visible <= end) {
          output += character;
        } else if (visible === begin && !isInsideEscape && ansiCode !== void 0) {
          output = checkAnsi(ansiCodes);
        } else if (visible >= end) {
          output += checkAnsi(ansiCodes, true, ansiCode);
          break;
        }
      }
      return output;
    };
  }
});

// ../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js
var require_ansi_regex2 = __commonJS({
  "../node_modules/.pnpm/ansi-regex@5.0.1/node_modules/ansi-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = ({ onlyFirst = false } = {}) => {
      const pattern = [
        "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
        "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
      ].join("|");
      return new RegExp(pattern, onlyFirst ? void 0 : "g");
    };
  }
});

// ../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js
var require_strip_ansi = __commonJS({
  "../node_modules/.pnpm/strip-ansi@6.0.1/node_modules/strip-ansi/index.js"(exports2, module2) {
    "use strict";
    var ansiRegex = require_ansi_regex2();
    module2.exports = (string) => typeof string === "string" ? string.replace(ansiRegex(), "") : string;
  }
});

// ../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js
var require_emoji_regex = __commonJS({
  "../node_modules/.pnpm/emoji-regex@8.0.0/node_modules/emoji-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function() {
      return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
    };
  }
});

// ../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js
var require_string_width = __commonJS({
  "../node_modules/.pnpm/string-width@4.2.3/node_modules/string-width/index.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var isFullwidthCodePoint = require_is_fullwidth_code_point();
    var emojiRegex = require_emoji_regex();
    var stringWidth = (string) => {
      if (typeof string !== "string" || string.length === 0) {
        return 0;
      }
      string = stripAnsi(string);
      if (string.length === 0) {
        return 0;
      }
      string = string.replace(emojiRegex(), "  ");
      let width = 0;
      for (let i = 0; i < string.length; i++) {
        const code = string.codePointAt(i);
        if (code <= 31 || code >= 127 && code <= 159) {
          continue;
        }
        if (code >= 768 && code <= 879) {
          continue;
        }
        if (code > 65535) {
          i++;
        }
        width += isFullwidthCodePoint(code) ? 2 : 1;
      }
      return width;
    };
    module2.exports = stringWidth;
    module2.exports.default = stringWidth;
  }
});

// ../node_modules/.pnpm/cli-truncate@2.1.0/node_modules/cli-truncate/index.js
var require_cli_truncate = __commonJS({
  "../node_modules/.pnpm/cli-truncate@2.1.0/node_modules/cli-truncate/index.js"(exports2, module2) {
    "use strict";
    var sliceAnsi = require_slice_ansi();
    var stringWidth = require_string_width();
    function getIndexOfNearestSpace(string, index, shouldSearchRight) {
      if (string.charAt(index) === " ") {
        return index;
      }
      for (let i = 1; i <= 3; i++) {
        if (shouldSearchRight) {
          if (string.charAt(index + i) === " ") {
            return index + i;
          }
        } else if (string.charAt(index - i) === " ") {
          return index - i;
        }
      }
      return index;
    }
    module2.exports = (text, columns, options) => {
      options = {
        position: "end",
        preferTruncationOnSpace: false,
        ...options
      };
      const { position, space, preferTruncationOnSpace } = options;
      let ellipsis = "\u2026";
      let ellipsisWidth = 1;
      if (typeof text !== "string") {
        throw new TypeError(`Expected \`input\` to be a string, got ${typeof text}`);
      }
      if (typeof columns !== "number") {
        throw new TypeError(`Expected \`columns\` to be a number, got ${typeof columns}`);
      }
      if (columns < 1) {
        return "";
      }
      if (columns === 1) {
        return ellipsis;
      }
      const length = stringWidth(text);
      if (length <= columns) {
        return text;
      }
      if (position === "start") {
        if (preferTruncationOnSpace) {
          const nearestSpace = getIndexOfNearestSpace(text, length - columns + 1, true);
          return ellipsis + sliceAnsi(text, nearestSpace, length).trim();
        }
        if (space === true) {
          ellipsis += " ";
          ellipsisWidth = 2;
        }
        return ellipsis + sliceAnsi(text, length - columns + ellipsisWidth, length);
      }
      if (position === "middle") {
        if (space === true) {
          ellipsis = " " + ellipsis + " ";
          ellipsisWidth = 3;
        }
        const half = Math.floor(columns / 2);
        if (preferTruncationOnSpace) {
          const spaceNearFirstBreakPoint = getIndexOfNearestSpace(text, half);
          const spaceNearSecondBreakPoint = getIndexOfNearestSpace(text, length - (columns - half) + 1, true);
          return sliceAnsi(text, 0, spaceNearFirstBreakPoint) + ellipsis + sliceAnsi(text, spaceNearSecondBreakPoint, length).trim();
        }
        return sliceAnsi(text, 0, half) + ellipsis + sliceAnsi(text, length - (columns - half) + ellipsisWidth, length);
      }
      if (position === "end") {
        if (preferTruncationOnSpace) {
          const nearestSpace = getIndexOfNearestSpace(text, columns - 1);
          return sliceAnsi(text, 0, nearestSpace) + ellipsis;
        }
        if (space === true) {
          ellipsis = " " + ellipsis;
          ellipsisWidth = 2;
        }
        return sliceAnsi(text, 0, columns - ellipsisWidth) + ellipsis;
      }
      throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${position}`);
    };
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportLifecycleScripts.js
var require_reportLifecycleScripts = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportLifecycleScripts.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportLifecycleScripts = reportLifecycleScripts;
    var cli_truncate_1 = __importDefault2(require_cli_truncate());
    var path_1 = __importDefault2(require("path"));
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var chalk_1 = __importDefault2(require_source());
    var pretty_ms_1 = __importDefault2(require_pretty_ms());
    var constants_1 = require_constants();
    var formatPrefix_1 = require_formatPrefix();
    var outputConstants_1 = require_outputConstants();
    var NODE_MODULES = `${path_1.default.sep}node_modules${path_1.default.sep}`;
    var TMP_DIR_IN_STORE = `tmp${path_1.default.sep}_tmp_`;
    var colorWheel = ["cyan", "magenta", "blue", "yellow", "green", "red"];
    var NUM_COLORS = colorWheel.length;
    var currentColor = 0;
    function reportLifecycleScripts(log$, opts) {
      if (opts.appendOnly) {
        let lifecycle$ = log$.lifecycle;
        if (opts.aggregateOutput) {
          lifecycle$ = lifecycle$.pipe(aggregateOutput);
        }
        const streamLifecycleOutput2 = createStreamLifecycleOutput(opts.cwd, !!opts.hideLifecyclePrefix);
        return lifecycle$.pipe((0, operators_1.map)((log) => Rx.of({
          msg: streamLifecycleOutput2(log)
        })));
      }
      const lifecycleMessages = {};
      const lifecycleStreamByDepPath = {};
      const lifecyclePushStream = new Rx.Subject();
      log$.lifecycle.forEach((log) => {
        const key = `${log.stage}:${log.depPath}`;
        lifecycleMessages[key] = lifecycleMessages[key] || {
          collapsed: log.wd.includes(NODE_MODULES) || log.wd.includes(TMP_DIR_IN_STORE),
          output: [],
          startTime: process.hrtime(),
          status: formatIndentedStatus(chalk_1.default.magentaBright("Running..."))
        };
        const exit = typeof log["exitCode"] === "number";
        let msg;
        if (lifecycleMessages[key].collapsed) {
          msg = renderCollapsedScriptOutput(log, lifecycleMessages[key], { cwd: opts.cwd, exit, maxWidth: opts.width });
        } else {
          msg = renderScriptOutput(log, lifecycleMessages[key], { cwd: opts.cwd, exit, maxWidth: opts.width });
        }
        if (exit) {
          delete lifecycleMessages[key];
        }
        if (!lifecycleStreamByDepPath[key]) {
          lifecycleStreamByDepPath[key] = new Rx.Subject();
          lifecyclePushStream.next(Rx.from(lifecycleStreamByDepPath[key]));
        }
        lifecycleStreamByDepPath[key].next({ msg });
        if (exit) {
          lifecycleStreamByDepPath[key].complete();
        }
      });
      return Rx.from(lifecyclePushStream);
    }
    function toNano(time) {
      return (time[0] + time[1] / 1e9) * 1e3;
    }
    function renderCollapsedScriptOutput(log, messageCache, opts) {
      if (!messageCache.label) {
        messageCache.label = highlightLastFolder((0, formatPrefix_1.formatPrefixNoTrim)(opts.cwd, log.wd));
        if (log.wd.includes(TMP_DIR_IN_STORE)) {
          messageCache.label += ` [${log.depPath}]`;
        }
        messageCache.label += `: Running ${log.stage} script`;
      }
      if (!opts.exit) {
        updateMessageCache(log, messageCache, opts);
        return `${messageCache.label}...`;
      }
      const time = (0, pretty_ms_1.default)(toNano(process.hrtime(messageCache.startTime)));
      if (log.exitCode === 0) {
        return `${messageCache.label}, done in ${time}`;
      }
      if (log.optional === true) {
        return `${messageCache.label}, failed in ${time} (skipped as optional)`;
      }
      return `${messageCache.label}, failed in ${time}${constants_1.EOL}${renderScriptOutput(log, messageCache, opts)}`;
    }
    function renderScriptOutput(log, messageCache, opts) {
      updateMessageCache(log, messageCache, opts);
      if (opts.exit && log["exitCode"] !== 0) {
        return [
          messageCache.script,
          ...messageCache.output,
          messageCache.status
        ].join(constants_1.EOL);
      }
      if (messageCache.output.length > 10) {
        return [
          messageCache.script,
          `[${messageCache.output.length - 10} lines collapsed]`,
          ...messageCache.output.slice(messageCache.output.length - 10),
          messageCache.status
        ].join(constants_1.EOL);
      }
      return [
        messageCache.script,
        ...messageCache.output,
        messageCache.status
      ].join(constants_1.EOL);
    }
    function updateMessageCache(log, messageCache, opts) {
      if (log.script) {
        const prefix = `${(0, formatPrefix_1.formatPrefix)(opts.cwd, log.wd)} ${(0, outputConstants_1.hlValue)(log.stage)}`;
        const maxLineWidth = opts.maxWidth - prefix.length - 2 + ANSI_ESCAPES_LENGTH_OF_PREFIX;
        messageCache.script = `${prefix}$ ${cutLine(log.script, maxLineWidth)}`;
      } else if (opts.exit) {
        const time = (0, pretty_ms_1.default)(toNano(process.hrtime(messageCache.startTime)));
        if (log.exitCode === 0) {
          messageCache.status = formatIndentedStatus(chalk_1.default.magentaBright(`Done in ${time}`));
        } else {
          messageCache.status = formatIndentedStatus(chalk_1.default.red(`Failed in ${time} at ${log.wd}`));
        }
      } else {
        messageCache.output.push(formatIndentedOutput(opts.maxWidth, log));
      }
    }
    function formatIndentedStatus(status) {
      return `${chalk_1.default.magentaBright("\u2514\u2500")} ${status}`;
    }
    function highlightLastFolder(p) {
      const lastSlash = p.lastIndexOf("/") + 1;
      return `${chalk_1.default.gray(p.slice(0, lastSlash))}${p.slice(lastSlash)}`;
    }
    var ANSI_ESCAPES_LENGTH_OF_PREFIX = (0, outputConstants_1.hlValue)(" ").length - 1;
    function createStreamLifecycleOutput(cwd, hideLifecyclePrefix) {
      currentColor = 0;
      const colorByPrefix = /* @__PURE__ */ new Map();
      return streamLifecycleOutput.bind(null, colorByPrefix, cwd, hideLifecyclePrefix);
    }
    function streamLifecycleOutput(colorByPkg, cwd, hideLifecyclePrefix, logObj) {
      const prefix = formatLifecycleScriptPrefix(colorByPkg, cwd, logObj.wd, logObj.stage);
      if (typeof logObj.exitCode === "number") {
        if (logObj.exitCode === 0) {
          return `${prefix}: Done`;
        } else {
          return `${prefix}: Failed`;
        }
      }
      if (logObj["script"]) {
        return `${prefix}$ ${logObj["script"]}`;
      }
      const line = formatLine(Infinity, logObj);
      return hideLifecyclePrefix ? line : `${prefix}: ${line}`;
    }
    function formatIndentedOutput(maxWidth, logObj) {
      return `${chalk_1.default.magentaBright("\u2502")} ${formatLine(maxWidth - 2, logObj)}`;
    }
    function formatLifecycleScriptPrefix(colorByPkg, cwd, wd, stage) {
      if (!colorByPkg.has(wd)) {
        const colorName = colorWheel[currentColor % NUM_COLORS];
        colorByPkg.set(wd, chalk_1.default[colorName]);
        currentColor += 1;
      }
      const color = colorByPkg.get(wd);
      return `${color((0, formatPrefix_1.formatPrefix)(cwd, wd))} ${(0, outputConstants_1.hlValue)(stage)}`;
    }
    function formatLine(maxWidth, logObj) {
      const line = cutLine(logObj.line, maxWidth);
      if (logObj.stdio === "stderr") {
        return chalk_1.default.gray(line);
      }
      return line;
    }
    function cutLine(line, maxLength) {
      if (!line)
        return "";
      return (0, cli_truncate_1.default)(line, maxLength);
    }
    function aggregateOutput(source) {
      return source.pipe(
        // The '\0' is a null character which delimits these strings. This works since JS doesn't use
        // null-terminated strings.
        (0, operators_1.groupBy)((data) => `${data.depPath}\0${data.stage}`),
        (0, operators_1.mergeMap)((group) => {
          return group.pipe((0, operators_1.buffer)(group.pipe((0, operators_1.filter)((msg) => "exitCode" in msg))));
        }),
        (0, operators_1.map)((ar) => Rx.from(ar)),
        (0, operators_1.mergeAll)()
      );
    }
  }
});

// ../node_modules/.pnpm/archy@1.0.0/node_modules/archy/index.js
var require_archy = __commonJS({
  "../node_modules/.pnpm/archy@1.0.0/node_modules/archy/index.js"(exports2, module2) {
    module2.exports = function archy(obj, prefix, opts) {
      if (prefix === void 0) prefix = "";
      if (!opts) opts = {};
      var chr = function(s) {
        var chars = {
          "\u2502": "|",
          "\u2514": "`",
          "\u251C": "+",
          "\u2500": "-",
          "\u252C": "-"
        };
        return opts.unicode === false ? chars[s] : s;
      };
      if (typeof obj === "string") obj = { label: obj };
      var nodes = obj.nodes || [];
      var lines = (obj.label || "").split("\n");
      var splitter = "\n" + prefix + (nodes.length ? chr("\u2502") : " ") + " ";
      return prefix + lines.join(splitter) + "\n" + nodes.map(function(node, ix) {
        var last = ix === nodes.length - 1;
        var more = node.nodes && node.nodes.length;
        var prefix_ = prefix + (last ? " " : chr("\u2502")) + " ";
        return prefix + (last ? chr("\u2514") : chr("\u251C")) + chr("\u2500") + (more ? chr("\u252C") : chr("\u2500")) + " " + archy(node, prefix_, opts).slice(prefix.length + 2);
      }).join("");
    };
  }
});

// ../dedupe/issues-renderer/lib/index.js
var require_lib20 = __commonJS({
  "../dedupe/issues-renderer/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderDedupeCheckIssues = renderDedupeCheckIssues;
    var archy_1 = __importDefault2(require_archy());
    var chalk_1 = __importDefault2(require_source());
    function renderDedupeCheckIssues(dedupeCheckIssues) {
      const importersReport = report(dedupeCheckIssues.importerIssuesByImporterId);
      const packagesReport = report(dedupeCheckIssues.packageIssuesByDepPath);
      const lines = [];
      if (importersReport !== "") {
        lines.push(chalk_1.default.blueBright.underline("Importers"));
        lines.push(importersReport);
        lines.push("");
      }
      if (packagesReport !== "") {
        lines.push(chalk_1.default.blueBright.underline("Packages"));
        lines.push(packagesReport);
        lines.push("");
      }
      return lines.join("\n");
    }
    function report(snapshotChanges) {
      return [
        ...Object.entries(snapshotChanges.updated).map(([alias, updates]) => (0, archy_1.default)(toArchy(alias, updates))),
        ...snapshotChanges.added.map((id) => `${chalk_1.default.green("+")} ${id}`),
        ...snapshotChanges.removed.map((id) => `${chalk_1.default.red("-")} ${id}`)
      ].join("\n");
    }
    function toArchy(name, issue) {
      return {
        label: name,
        nodes: Object.entries(issue).map(([alias, change]) => toArchyResolution(alias, change))
      };
    }
    function toArchyResolution(alias, change) {
      switch (change.type) {
        case "added":
          return { label: `${chalk_1.default.green("+")} ${alias} ${chalk_1.default.gray(change.next)}` };
        case "removed":
          return { label: `${chalk_1.default.red("-")} ${alias} ${chalk_1.default.gray(change.prev)}` };
        case "updated":
          return { label: `${alias} ${chalk_1.default.red(change.prev)} ${chalk_1.default.gray("\u2192")} ${chalk_1.default.green(change.next)}` };
      }
    }
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/lrucache.js
var require_lrucache = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/lrucache.js"(exports2, module2) {
    var LRUCache = class {
      constructor() {
        this.max = 1e3;
        this.map = /* @__PURE__ */ new Map();
      }
      get(key) {
        const value = this.map.get(key);
        if (value === void 0) {
          return void 0;
        } else {
          this.map.delete(key);
          this.map.set(key, value);
          return value;
        }
      }
      delete(key) {
        return this.map.delete(key);
      }
      set(key, value) {
        const deleted = this.delete(key);
        if (!deleted && value !== void 0) {
          if (this.map.size >= this.max) {
            const firstKey = this.map.keys().next().value;
            this.delete(firstKey);
          }
          this.map.set(key, value);
        }
        return this;
      }
    };
    module2.exports = LRUCache;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/parse-options.js"(exports2, module2) {
    var looseOption = Object.freeze({ loose: true });
    var emptyOpts = Object.freeze({});
    var parseOptions = (options) => {
      if (!options) {
        return emptyOpts;
      }
      if (typeof options !== "object") {
        return looseOption;
      }
      return options;
    };
    module2.exports = parseOptions;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/constants.js
var require_constants2 = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/constants.js"(exports2, module2) {
    var SEMVER_SPEC_VERSION = "2.0.0";
    var MAX_LENGTH = 256;
    var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
    9007199254740991;
    var MAX_SAFE_COMPONENT_LENGTH = 16;
    var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
    var RELEASE_TYPES = [
      "major",
      "premajor",
      "minor",
      "preminor",
      "patch",
      "prepatch",
      "prerelease"
    ];
    module2.exports = {
      MAX_LENGTH,
      MAX_SAFE_COMPONENT_LENGTH,
      MAX_SAFE_BUILD_LENGTH,
      MAX_SAFE_INTEGER,
      RELEASE_TYPES,
      SEMVER_SPEC_VERSION,
      FLAG_INCLUDE_PRERELEASE: 1,
      FLAG_LOOSE: 2
    };
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/debug.js
var require_debug = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/debug.js"(exports2, module2) {
    var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
    };
    module2.exports = debug;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/re.js
var require_re = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/re.js"(exports2, module2) {
    var {
      MAX_SAFE_COMPONENT_LENGTH,
      MAX_SAFE_BUILD_LENGTH,
      MAX_LENGTH
    } = require_constants2();
    var debug = require_debug();
    exports2 = module2.exports = {};
    var re = exports2.re = [];
    var safeRe = exports2.safeRe = [];
    var src = exports2.src = [];
    var safeSrc = exports2.safeSrc = [];
    var t = exports2.t = {};
    var R = 0;
    var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
    var safeRegexReplacements = [
      ["\\s", 1],
      ["\\d", MAX_LENGTH],
      [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
    ];
    var makeSafeRegex = (value) => {
      for (const [token, max] of safeRegexReplacements) {
        value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
      }
      return value;
    };
    var createToken = (name, value, isGlobal) => {
      const safe = makeSafeRegex(value);
      const index = R++;
      debug(name, index, value);
      t[name] = index;
      src[index] = value;
      safeSrc[index] = safe;
      re[index] = new RegExp(value, isGlobal ? "g" : void 0);
      safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
    };
    createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
    createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
    createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
    createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
    createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
    createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
    createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
    createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
    createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
    createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
    createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
    createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
    createToken("FULL", `^${src[t.FULLPLAIN]}$`);
    createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
    createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
    createToken("GTLT", "((?:<|>)?=?)");
    createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
    createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
    createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
    createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
    createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
    createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
    createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
    createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
    createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
    createToken("COERCERTL", src[t.COERCE], true);
    createToken("COERCERTLFULL", src[t.COERCEFULL], true);
    createToken("LONETILDE", "(?:~>?)");
    createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
    exports2.tildeTrimReplace = "$1~";
    createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
    createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
    createToken("LONECARET", "(?:\\^)");
    createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
    exports2.caretTrimReplace = "$1^";
    createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
    createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
    createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
    createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
    createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
    exports2.comparatorTrimReplace = "$1$2$3";
    createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
    createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
    createToken("STAR", "(<|>)?=?\\s*\\*");
    createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
    createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/internal/identifiers.js"(exports2, module2) {
    var numeric = /^[0-9]+$/;
    var compareIdentifiers = (a, b) => {
      const anum = numeric.test(a);
      const bnum = numeric.test(b);
      if (anum && bnum) {
        a = +a;
        b = +b;
      }
      return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
    };
    var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
    module2.exports = {
      compareIdentifiers,
      rcompareIdentifiers
    };
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/semver.js
var require_semver = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/semver.js"(exports2, module2) {
    var debug = require_debug();
    var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants2();
    var { safeRe: re, safeSrc: src, t } = require_re();
    var parseOptions = require_parse_options();
    var { compareIdentifiers } = require_identifiers();
    var SemVer = class _SemVer {
      constructor(version2, options) {
        options = parseOptions(options);
        if (version2 instanceof _SemVer) {
          if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
            return version2;
          } else {
            version2 = version2.version;
          }
        } else if (typeof version2 !== "string") {
          throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
        }
        if (version2.length > MAX_LENGTH) {
          throw new TypeError(
            `version is longer than ${MAX_LENGTH} characters`
          );
        }
        debug("SemVer", version2, options);
        this.options = options;
        this.loose = !!options.loose;
        this.includePrerelease = !!options.includePrerelease;
        const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
        if (!m) {
          throw new TypeError(`Invalid Version: ${version2}`);
        }
        this.raw = version2;
        this.major = +m[1];
        this.minor = +m[2];
        this.patch = +m[3];
        if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
          throw new TypeError("Invalid major version");
        }
        if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
          throw new TypeError("Invalid minor version");
        }
        if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
          throw new TypeError("Invalid patch version");
        }
        if (!m[4]) {
          this.prerelease = [];
        } else {
          this.prerelease = m[4].split(".").map((id) => {
            if (/^[0-9]+$/.test(id)) {
              const num = +id;
              if (num >= 0 && num < MAX_SAFE_INTEGER) {
                return num;
              }
            }
            return id;
          });
        }
        this.build = m[5] ? m[5].split(".") : [];
        this.format();
      }
      format() {
        this.version = `${this.major}.${this.minor}.${this.patch}`;
        if (this.prerelease.length) {
          this.version += `-${this.prerelease.join(".")}`;
        }
        return this.version;
      }
      toString() {
        return this.version;
      }
      compare(other) {
        debug("SemVer.compare", this.version, this.options, other);
        if (!(other instanceof _SemVer)) {
          if (typeof other === "string" && other === this.version) {
            return 0;
          }
          other = new _SemVer(other, this.options);
        }
        if (other.version === this.version) {
          return 0;
        }
        return this.compareMain(other) || this.comparePre(other);
      }
      compareMain(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
      }
      comparePre(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        if (this.prerelease.length && !other.prerelease.length) {
          return -1;
        } else if (!this.prerelease.length && other.prerelease.length) {
          return 1;
        } else if (!this.prerelease.length && !other.prerelease.length) {
          return 0;
        }
        let i = 0;
        do {
          const a = this.prerelease[i];
          const b = other.prerelease[i];
          debug("prerelease compare", i, a, b);
          if (a === void 0 && b === void 0) {
            return 0;
          } else if (b === void 0) {
            return 1;
          } else if (a === void 0) {
            return -1;
          } else if (a === b) {
            continue;
          } else {
            return compareIdentifiers(a, b);
          }
        } while (++i);
      }
      compareBuild(other) {
        if (!(other instanceof _SemVer)) {
          other = new _SemVer(other, this.options);
        }
        let i = 0;
        do {
          const a = this.build[i];
          const b = other.build[i];
          debug("build compare", i, a, b);
          if (a === void 0 && b === void 0) {
            return 0;
          } else if (b === void 0) {
            return 1;
          } else if (a === void 0) {
            return -1;
          } else if (a === b) {
            continue;
          } else {
            return compareIdentifiers(a, b);
          }
        } while (++i);
      }
      // preminor will bump the version up to the next minor release, and immediately
      // down to pre-release. premajor and prepatch work the same way.
      inc(release, identifier, identifierBase) {
        if (release.startsWith("pre")) {
          if (!identifier && identifierBase === false) {
            throw new Error("invalid increment argument: identifier is empty");
          }
          if (identifier) {
            const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
            const match = `-${identifier}`.match(r);
            if (!match || match[1] !== identifier) {
              throw new Error(`invalid identifier: ${identifier}`);
            }
          }
        }
        switch (release) {
          case "premajor":
            this.prerelease.length = 0;
            this.patch = 0;
            this.minor = 0;
            this.major++;
            this.inc("pre", identifier, identifierBase);
            break;
          case "preminor":
            this.prerelease.length = 0;
            this.patch = 0;
            this.minor++;
            this.inc("pre", identifier, identifierBase);
            break;
          case "prepatch":
            this.prerelease.length = 0;
            this.inc("patch", identifier, identifierBase);
            this.inc("pre", identifier, identifierBase);
            break;
          // If the input is a non-prerelease version, this acts the same as
          // prepatch.
          case "prerelease":
            if (this.prerelease.length === 0) {
              this.inc("patch", identifier, identifierBase);
            }
            this.inc("pre", identifier, identifierBase);
            break;
          case "release":
            if (this.prerelease.length === 0) {
              throw new Error(`version ${this.raw} is not a prerelease`);
            }
            this.prerelease.length = 0;
            break;
          case "major":
            if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
              this.major++;
            }
            this.minor = 0;
            this.patch = 0;
            this.prerelease = [];
            break;
          case "minor":
            if (this.patch !== 0 || this.prerelease.length === 0) {
              this.minor++;
            }
            this.patch = 0;
            this.prerelease = [];
            break;
          case "patch":
            if (this.prerelease.length === 0) {
              this.patch++;
            }
            this.prerelease = [];
            break;
          // This probably shouldn't be used publicly.
          // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.
          case "pre": {
            const base = Number(identifierBase) ? 1 : 0;
            if (this.prerelease.length === 0) {
              this.prerelease = [base];
            } else {
              let i = this.prerelease.length;
              while (--i >= 0) {
                if (typeof this.prerelease[i] === "number") {
                  this.prerelease[i]++;
                  i = -2;
                }
              }
              if (i === -1) {
                if (identifier === this.prerelease.join(".") && identifierBase === false) {
                  throw new Error("invalid increment argument: identifier already exists");
                }
                this.prerelease.push(base);
              }
            }
            if (identifier) {
              let prerelease = [identifier, base];
              if (identifierBase === false) {
                prerelease = [identifier];
              }
              if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
                if (isNaN(this.prerelease[1])) {
                  this.prerelease = prerelease;
                }
              } else {
                this.prerelease = prerelease;
              }
            }
            break;
          }
          default:
            throw new Error(`invalid increment argument: ${release}`);
        }
        this.raw = this.format();
        if (this.build.length) {
          this.raw += `+${this.build.join(".")}`;
        }
        return this;
      }
    };
    module2.exports = SemVer;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare.js
var require_compare = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare.js"(exports2, module2) {
    var SemVer = require_semver();
    var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
    module2.exports = compare;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/eq.js
var require_eq = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/eq.js"(exports2, module2) {
    var compare = require_compare();
    var eq = (a, b, loose) => compare(a, b, loose) === 0;
    module2.exports = eq;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/neq.js
var require_neq = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/neq.js"(exports2, module2) {
    var compare = require_compare();
    var neq = (a, b, loose) => compare(a, b, loose) !== 0;
    module2.exports = neq;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/gt.js
var require_gt = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/gt.js"(exports2, module2) {
    var compare = require_compare();
    var gt = (a, b, loose) => compare(a, b, loose) > 0;
    module2.exports = gt;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/gte.js
var require_gte = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/gte.js"(exports2, module2) {
    var compare = require_compare();
    var gte = (a, b, loose) => compare(a, b, loose) >= 0;
    module2.exports = gte;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/lt.js
var require_lt = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/lt.js"(exports2, module2) {
    var compare = require_compare();
    var lt = (a, b, loose) => compare(a, b, loose) < 0;
    module2.exports = lt;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/lte.js
var require_lte = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/lte.js"(exports2, module2) {
    var compare = require_compare();
    var lte = (a, b, loose) => compare(a, b, loose) <= 0;
    module2.exports = lte;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/cmp.js
var require_cmp = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/cmp.js"(exports2, module2) {
    var eq = require_eq();
    var neq = require_neq();
    var gt = require_gt();
    var gte = require_gte();
    var lt = require_lt();
    var lte = require_lte();
    var cmp = (a, op, b, loose) => {
      switch (op) {
        case "===":
          if (typeof a === "object") {
            a = a.version;
          }
          if (typeof b === "object") {
            b = b.version;
          }
          return a === b;
        case "!==":
          if (typeof a === "object") {
            a = a.version;
          }
          if (typeof b === "object") {
            b = b.version;
          }
          return a !== b;
        case "":
        case "=":
        case "==":
          return eq(a, b, loose);
        case "!=":
          return neq(a, b, loose);
        case ">":
          return gt(a, b, loose);
        case ">=":
          return gte(a, b, loose);
        case "<":
          return lt(a, b, loose);
        case "<=":
          return lte(a, b, loose);
        default:
          throw new TypeError(`Invalid operator: ${op}`);
      }
    };
    module2.exports = cmp;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/comparator.js
var require_comparator = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/comparator.js"(exports2, module2) {
    var ANY = Symbol("SemVer ANY");
    var Comparator = class _Comparator {
      static get ANY() {
        return ANY;
      }
      constructor(comp, options) {
        options = parseOptions(options);
        if (comp instanceof _Comparator) {
          if (comp.loose === !!options.loose) {
            return comp;
          } else {
            comp = comp.value;
          }
        }
        comp = comp.trim().split(/\s+/).join(" ");
        debug("comparator", comp, options);
        this.options = options;
        this.loose = !!options.loose;
        this.parse(comp);
        if (this.semver === ANY) {
          this.value = "";
        } else {
          this.value = this.operator + this.semver.version;
        }
        debug("comp", this);
      }
      parse(comp) {
        const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
        const m = comp.match(r);
        if (!m) {
          throw new TypeError(`Invalid comparator: ${comp}`);
        }
        this.operator = m[1] !== void 0 ? m[1] : "";
        if (this.operator === "=") {
          this.operator = "";
        }
        if (!m[2]) {
          this.semver = ANY;
        } else {
          this.semver = new SemVer(m[2], this.options.loose);
        }
      }
      toString() {
        return this.value;
      }
      test(version2) {
        debug("Comparator.test", version2, this.options.loose);
        if (this.semver === ANY || version2 === ANY) {
          return true;
        }
        if (typeof version2 === "string") {
          try {
            version2 = new SemVer(version2, this.options);
          } catch (er) {
            return false;
          }
        }
        return cmp(version2, this.operator, this.semver, this.options);
      }
      intersects(comp, options) {
        if (!(comp instanceof _Comparator)) {
          throw new TypeError("a Comparator is required");
        }
        if (this.operator === "") {
          if (this.value === "") {
            return true;
          }
          return new Range(comp.value, options).test(this.value);
        } else if (comp.operator === "") {
          if (comp.value === "") {
            return true;
          }
          return new Range(this.value, options).test(comp.semver);
        }
        options = parseOptions(options);
        if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
          return false;
        }
        if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
          return false;
        }
        if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
          return true;
        }
        if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
          return true;
        }
        if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
          return true;
        }
        if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
          return true;
        }
        if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
          return true;
        }
        return false;
      }
    };
    module2.exports = Comparator;
    var parseOptions = require_parse_options();
    var { safeRe: re, t } = require_re();
    var cmp = require_cmp();
    var debug = require_debug();
    var SemVer = require_semver();
    var Range = require_range2();
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/range.js
var require_range2 = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/classes/range.js"(exports2, module2) {
    var SPACE_CHARACTERS = /\s+/g;
    var Range = class _Range {
      constructor(range, options) {
        options = parseOptions(options);
        if (range instanceof _Range) {
          if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
            return range;
          } else {
            return new _Range(range.raw, options);
          }
        }
        if (range instanceof Comparator) {
          this.raw = range.value;
          this.set = [[range]];
          this.formatted = void 0;
          return this;
        }
        this.options = options;
        this.loose = !!options.loose;
        this.includePrerelease = !!options.includePrerelease;
        this.raw = range.trim().replace(SPACE_CHARACTERS, " ");
        this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
        if (!this.set.length) {
          throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
        }
        if (this.set.length > 1) {
          const first = this.set[0];
          this.set = this.set.filter((c) => !isNullSet(c[0]));
          if (this.set.length === 0) {
            this.set = [first];
          } else if (this.set.length > 1) {
            for (const c of this.set) {
              if (c.length === 1 && isAny(c[0])) {
                this.set = [c];
                break;
              }
            }
          }
        }
        this.formatted = void 0;
      }
      get range() {
        if (this.formatted === void 0) {
          this.formatted = "";
          for (let i = 0; i < this.set.length; i++) {
            if (i > 0) {
              this.formatted += "||";
            }
            const comps = this.set[i];
            for (let k = 0; k < comps.length; k++) {
              if (k > 0) {
                this.formatted += " ";
              }
              this.formatted += comps[k].toString().trim();
            }
          }
        }
        return this.formatted;
      }
      format() {
        return this.range;
      }
      toString() {
        return this.range;
      }
      parseRange(range) {
        const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
        const memoKey = memoOpts + ":" + range;
        const cached = cache.get(memoKey);
        if (cached) {
          return cached;
        }
        const loose = this.options.loose;
        const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
        range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
        debug("hyphen replace", range);
        range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
        debug("comparator trim", range);
        range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
        debug("tilde trim", range);
        range = range.replace(re[t.CARETTRIM], caretTrimReplace);
        debug("caret trim", range);
        let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
        if (loose) {
          rangeList = rangeList.filter((comp) => {
            debug("loose invalid filter", comp, this.options);
            return !!comp.match(re[t.COMPARATORLOOSE]);
          });
        }
        debug("range list", rangeList);
        const rangeMap = /* @__PURE__ */ new Map();
        const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
        for (const comp of comparators) {
          if (isNullSet(comp)) {
            return [comp];
          }
          rangeMap.set(comp.value, comp);
        }
        if (rangeMap.size > 1 && rangeMap.has("")) {
          rangeMap.delete("");
        }
        const result2 = [...rangeMap.values()];
        cache.set(memoKey, result2);
        return result2;
      }
      intersects(range, options) {
        if (!(range instanceof _Range)) {
          throw new TypeError("a Range is required");
        }
        return this.set.some((thisComparators) => {
          return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
            return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
              return rangeComparators.every((rangeComparator) => {
                return thisComparator.intersects(rangeComparator, options);
              });
            });
          });
        });
      }
      // if ANY of the sets match ALL of its comparators, then pass
      test(version2) {
        if (!version2) {
          return false;
        }
        if (typeof version2 === "string") {
          try {
            version2 = new SemVer(version2, this.options);
          } catch (er) {
            return false;
          }
        }
        for (let i = 0; i < this.set.length; i++) {
          if (testSet(this.set[i], version2, this.options)) {
            return true;
          }
        }
        return false;
      }
    };
    module2.exports = Range;
    var LRU = require_lrucache();
    var cache = new LRU();
    var parseOptions = require_parse_options();
    var Comparator = require_comparator();
    var debug = require_debug();
    var SemVer = require_semver();
    var {
      safeRe: re,
      t,
      comparatorTrimReplace,
      tildeTrimReplace,
      caretTrimReplace
    } = require_re();
    var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants2();
    var isNullSet = (c) => c.value === "<0.0.0-0";
    var isAny = (c) => c.value === "";
    var isSatisfiable = (comparators, options) => {
      let result2 = true;
      const remainingComparators = comparators.slice();
      let testComparator = remainingComparators.pop();
      while (result2 && remainingComparators.length) {
        result2 = remainingComparators.every((otherComparator) => {
          return testComparator.intersects(otherComparator, options);
        });
        testComparator = remainingComparators.pop();
      }
      return result2;
    };
    var parseComparator = (comp, options) => {
      debug("comp", comp, options);
      comp = replaceCarets(comp, options);
      debug("caret", comp);
      comp = replaceTildes(comp, options);
      debug("tildes", comp);
      comp = replaceXRanges(comp, options);
      debug("xrange", comp);
      comp = replaceStars(comp, options);
      debug("stars", comp);
      return comp;
    };
    var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
    var replaceTildes = (comp, options) => {
      return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
    };
    var replaceTilde = (comp, options) => {
      const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
      return comp.replace(r, (_, M, m, p, pr) => {
        debug("tilde", comp, _, M, m, p, pr);
        let ret2;
        if (isX(M)) {
          ret2 = "";
        } else if (isX(m)) {
          ret2 = `>=${M}.0.0 <${+M + 1}.0.0-0`;
        } else if (isX(p)) {
          ret2 = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
        } else if (pr) {
          debug("replaceTilde pr", pr);
          ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
        } else {
          ret2 = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
        }
        debug("tilde return", ret2);
        return ret2;
      });
    };
    var replaceCarets = (comp, options) => {
      return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
    };
    var replaceCaret = (comp, options) => {
      debug("caret", comp, options);
      const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
      const z = options.includePrerelease ? "-0" : "";
      return comp.replace(r, (_, M, m, p, pr) => {
        debug("caret", comp, _, M, m, p, pr);
        let ret2;
        if (isX(M)) {
          ret2 = "";
        } else if (isX(m)) {
          ret2 = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
        } else if (isX(p)) {
          if (M === "0") {
            ret2 = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
          } else {
            ret2 = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
          }
        } else if (pr) {
          debug("replaceCaret pr", pr);
          if (M === "0") {
            if (m === "0") {
              ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
            } else {
              ret2 = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
            }
          } else {
            ret2 = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
          }
        } else {
          debug("no pr");
          if (M === "0") {
            if (m === "0") {
              ret2 = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
            } else {
              ret2 = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
            }
          } else {
            ret2 = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
          }
        }
        debug("caret return", ret2);
        return ret2;
      });
    };
    var replaceXRanges = (comp, options) => {
      debug("replaceXRanges", comp, options);
      return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
    };
    var replaceXRange = (comp, options) => {
      comp = comp.trim();
      const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
      return comp.replace(r, (ret2, gtlt, M, m, p, pr) => {
        debug("xRange", comp, ret2, gtlt, M, m, p, pr);
        const xM = isX(M);
        const xm = xM || isX(m);
        const xp = xm || isX(p);
        const anyX = xp;
        if (gtlt === "=" && anyX) {
          gtlt = "";
        }
        pr = options.includePrerelease ? "-0" : "";
        if (xM) {
          if (gtlt === ">" || gtlt === "<") {
            ret2 = "<0.0.0-0";
          } else {
            ret2 = "*";
          }
        } else if (gtlt && anyX) {
          if (xm) {
            m = 0;
          }
          p = 0;
          if (gtlt === ">") {
            gtlt = ">=";
            if (xm) {
              M = +M + 1;
              m = 0;
              p = 0;
            } else {
              m = +m + 1;
              p = 0;
            }
          } else if (gtlt === "<=") {
            gtlt = "<";
            if (xm) {
              M = +M + 1;
            } else {
              m = +m + 1;
            }
          }
          if (gtlt === "<") {
            pr = "-0";
          }
          ret2 = `${gtlt + M}.${m}.${p}${pr}`;
        } else if (xm) {
          ret2 = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
        } else if (xp) {
          ret2 = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
        }
        debug("xRange return", ret2);
        return ret2;
      });
    };
    var replaceStars = (comp, options) => {
      debug("replaceStars", comp, options);
      return comp.trim().replace(re[t.STAR], "");
    };
    var replaceGTE0 = (comp, options) => {
      debug("replaceGTE0", comp, options);
      return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
    };
    var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr) => {
      if (isX(fM)) {
        from = "";
      } else if (isX(fm)) {
        from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
      } else if (isX(fp)) {
        from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
      } else if (fpr) {
        from = `>=${from}`;
      } else {
        from = `>=${from}${incPr ? "-0" : ""}`;
      }
      if (isX(tM)) {
        to = "";
      } else if (isX(tm)) {
        to = `<${+tM + 1}.0.0-0`;
      } else if (isX(tp)) {
        to = `<${tM}.${+tm + 1}.0-0`;
      } else if (tpr) {
        to = `<=${tM}.${tm}.${tp}-${tpr}`;
      } else if (incPr) {
        to = `<${tM}.${tm}.${+tp + 1}-0`;
      } else {
        to = `<=${to}`;
      }
      return `${from} ${to}`.trim();
    };
    var testSet = (set, version2, options) => {
      for (let i = 0; i < set.length; i++) {
        if (!set[i].test(version2)) {
          return false;
        }
      }
      if (version2.prerelease.length && !options.includePrerelease) {
        for (let i = 0; i < set.length; i++) {
          debug(set[i].semver);
          if (set[i].semver === Comparator.ANY) {
            continue;
          }
          if (set[i].semver.prerelease.length > 0) {
            const allowed = set[i].semver;
            if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
              return true;
            }
          }
        }
        return false;
      }
      return true;
    };
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/satisfies.js
var require_satisfies = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/satisfies.js"(exports2, module2) {
    var Range = require_range2();
    var satisfies = (version2, range, options) => {
      try {
        range = new Range(range, options);
      } catch (er) {
        return false;
      }
      return range.test(version2);
    };
    module2.exports = satisfies;
  }
});

// ../node_modules/.pnpm/builtins@5.1.0/node_modules/builtins/index.js
var require_builtins = __commonJS({
  "../node_modules/.pnpm/builtins@5.1.0/node_modules/builtins/index.js"(exports2, module2) {
    "use strict";
    var satisfies = require_satisfies();
    var permanentModules = [
      "assert",
      "buffer",
      "child_process",
      "cluster",
      "console",
      "constants",
      "crypto",
      "dgram",
      "dns",
      "domain",
      "events",
      "fs",
      "http",
      "https",
      "module",
      "net",
      "os",
      "path",
      "punycode",
      "querystring",
      "readline",
      "repl",
      "stream",
      "string_decoder",
      "sys",
      "timers",
      "tls",
      "tty",
      "url",
      "util",
      "vm",
      "zlib"
    ];
    var versionLockedModules = {
      freelist: "<6.0.0",
      v8: ">=1.0.0",
      process: ">=1.1.0",
      inspector: ">=8.0.0",
      async_hooks: ">=8.1.0",
      http2: ">=8.4.0",
      perf_hooks: ">=8.5.0",
      trace_events: ">=10.0.0",
      worker_threads: ">=12.0.0",
      "node:test": ">=18.0.0"
    };
    var experimentalModules = {
      worker_threads: ">=10.5.0",
      wasi: ">=12.16.0",
      diagnostics_channel: "^14.17.0 || >=15.1.0"
    };
    module2.exports = ({ version: version2 = process.version, experimental = false } = {}) => {
      const builtins = [...permanentModules];
      for (const [name, semverRange] of Object.entries(versionLockedModules)) {
        if (version2 === "*" || satisfies(version2, semverRange)) {
          builtins.push(name);
        }
      }
      if (experimental) {
        for (const [name, semverRange] of Object.entries(experimentalModules)) {
          if (!builtins.includes(name) && (version2 === "*" || satisfies(version2, semverRange))) {
            builtins.push(name);
          }
        }
      }
      return builtins;
    };
  }
});

// ../node_modules/.pnpm/validate-npm-package-name@5.0.0/node_modules/validate-npm-package-name/lib/index.js
var require_lib21 = __commonJS({
  "../node_modules/.pnpm/validate-npm-package-name@5.0.0/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) {
    "use strict";
    var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");
    var builtins = require_builtins();
    var blacklist = [
      "node_modules",
      "favicon.ico"
    ];
    function validate2(name) {
      var warnings = [];
      var errors = [];
      if (name === null) {
        errors.push("name cannot be null");
        return done(warnings, errors);
      }
      if (name === void 0) {
        errors.push("name cannot be undefined");
        return done(warnings, errors);
      }
      if (typeof name !== "string") {
        errors.push("name must be a string");
        return done(warnings, errors);
      }
      if (!name.length) {
        errors.push("name length must be greater than zero");
      }
      if (name.match(/^\./)) {
        errors.push("name cannot start with a period");
      }
      if (name.match(/^_/)) {
        errors.push("name cannot start with an underscore");
      }
      if (name.trim() !== name) {
        errors.push("name cannot contain leading or trailing spaces");
      }
      blacklist.forEach(function(blacklistedName) {
        if (name.toLowerCase() === blacklistedName) {
          errors.push(blacklistedName + " is a blacklisted name");
        }
      });
      builtins({ version: "*" }).forEach(function(builtin) {
        if (name.toLowerCase() === builtin) {
          warnings.push(builtin + " is a core module name");
        }
      });
      if (name.length > 214) {
        warnings.push("name can no longer contain more than 214 characters");
      }
      if (name.toLowerCase() !== name) {
        warnings.push("name can no longer contain capital letters");
      }
      if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) {
        warnings.push(`name can no longer contain special characters ("~'!()*")`);
      }
      if (encodeURIComponent(name) !== name) {
        var nameMatch = name.match(scopedPackagePattern);
        if (nameMatch) {
          var user = nameMatch[1];
          var pkg = nameMatch[2];
          if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) {
            return done(warnings, errors);
          }
        }
        errors.push("name can only contain URL-friendly characters");
      }
      return done(warnings, errors);
    }
    var done = function(warnings, errors) {
      var result2 = {
        validForNewPackages: errors.length === 0 && warnings.length === 0,
        validForOldPackages: errors.length === 0,
        warnings,
        errors
      };
      if (!result2.warnings.length) {
        delete result2.warnings;
      }
      if (!result2.errors.length) {
        delete result2.errors;
      }
      return result2;
    };
    module2.exports = validate2;
  }
});

// ../packages/parse-wanted-dependency/lib/index.js
var require_lib22 = __commonJS({
  "../packages/parse-wanted-dependency/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseWantedDependency = parseWantedDependency;
    var validate_npm_package_name_1 = __importDefault2(require_lib21());
    function parseWantedDependency(rawWantedDependency) {
      const versionDelimiter = rawWantedDependency.indexOf("@", 1);
      if (versionDelimiter !== -1) {
        const alias = rawWantedDependency.slice(0, versionDelimiter);
        if ((0, validate_npm_package_name_1.default)(alias).validForOldPackages) {
          return {
            alias,
            pref: rawWantedDependency.slice(versionDelimiter + 1)
          };
        }
        return {
          pref: rawWantedDependency
        };
      }
      if ((0, validate_npm_package_name_1.default)(rawWantedDependency).validForOldPackages) {
        return {
          alias: rawWantedDependency
        };
      }
      return {
        pref: rawWantedDependency
      };
    }
  }
});

// ../catalogs/protocol-parser/lib/parseCatalogProtocol.js
var require_parseCatalogProtocol = __commonJS({
  "../catalogs/protocol-parser/lib/parseCatalogProtocol.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseCatalogProtocol = parseCatalogProtocol;
    var CATALOG_PROTOCOL = "catalog:";
    function parseCatalogProtocol(pref) {
      if (!pref.startsWith(CATALOG_PROTOCOL)) {
        return null;
      }
      const catalogNameRaw = pref.slice(CATALOG_PROTOCOL.length).trim();
      const catalogNameNormalized = catalogNameRaw === "" ? "default" : catalogNameRaw;
      return catalogNameNormalized;
    }
  }
});

// ../catalogs/protocol-parser/lib/index.js
var require_lib23 = __commonJS({
  "../catalogs/protocol-parser/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseCatalogProtocol = void 0;
    var parseCatalogProtocol_1 = require_parseCatalogProtocol();
    Object.defineProperty(exports2, "parseCatalogProtocol", { enumerable: true, get: function() {
      return parseCatalogProtocol_1.parseCatalogProtocol;
    } });
  }
});

// ../catalogs/resolver/lib/resolveFromCatalog.js
var require_resolveFromCatalog = __commonJS({
  "../catalogs/resolver/lib/resolveFromCatalog.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveFromCatalog = resolveFromCatalog;
    var error_1 = require_lib6();
    var catalogs_protocol_parser_1 = require_lib23();
    function resolveFromCatalog(catalogs, wantedDependency) {
      const catalogName = (0, catalogs_protocol_parser_1.parseCatalogProtocol)(wantedDependency.pref);
      if (catalogName == null) {
        return { type: "unused" };
      }
      const catalogLookup = catalogs[catalogName]?.[wantedDependency.alias];
      if (catalogLookup == null) {
        return {
          type: "misconfiguration",
          catalogName,
          error: new error_1.PnpmError("CATALOG_ENTRY_NOT_FOUND_FOR_SPEC", `No catalog entry '${wantedDependency.alias}' was found for catalog '${catalogName}'.`)
        };
      }
      if ((0, catalogs_protocol_parser_1.parseCatalogProtocol)(catalogLookup) != null) {
        return {
          type: "misconfiguration",
          catalogName,
          error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_RECURSIVE_DEFINITION", `Found invalid catalog entry using the catalog protocol recursively. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`)
        };
      }
      const protocolOfLookup = catalogLookup.split(":")[0];
      if (protocolOfLookup === "workspace") {
        return {
          type: "misconfiguration",
          catalogName,
          error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_WORKSPACE_SPEC", `The workspace protocol cannot be used as a catalog value. The entry for '${wantedDependency.alias}' in catalog '${catalogName}' is invalid.`)
        };
      }
      if (["link", "file"].includes(protocolOfLookup)) {
        return {
          type: "misconfiguration",
          catalogName,
          error: new error_1.PnpmError("CATALOG_ENTRY_INVALID_SPEC", `The entry for '${wantedDependency.alias}' in catalog '${catalogName}' declares a dependency using the '${protocolOfLookup}' protocol. This is not yet supported, but may be in a future version of pnpm.`)
        };
      }
      return {
        type: "found",
        resolution: {
          catalogName,
          specifier: catalogLookup
        }
      };
    }
  }
});

// ../catalogs/resolver/lib/matchCatalogResolveResult.js
var require_matchCatalogResolveResult = __commonJS({
  "../catalogs/resolver/lib/matchCatalogResolveResult.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.matchCatalogResolveResult = matchCatalogResolveResult;
    function matchCatalogResolveResult(result2, matcher) {
      switch (result2.type) {
        case "found":
          return matcher.found(result2);
        case "misconfiguration":
          return matcher.misconfiguration(result2);
        case "unused":
          return matcher.unused(result2);
      }
    }
  }
});

// ../catalogs/resolver/lib/index.js
var require_lib24 = __commonJS({
  "../catalogs/resolver/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.matchCatalogResolveResult = exports2.resolveFromCatalog = void 0;
    var resolveFromCatalog_1 = require_resolveFromCatalog();
    Object.defineProperty(exports2, "resolveFromCatalog", { enumerable: true, get: function() {
      return resolveFromCatalog_1.resolveFromCatalog;
    } });
    var matchCatalogResolveResult_1 = require_matchCatalogResolveResult();
    Object.defineProperty(exports2, "matchCatalogResolveResult", { enumerable: true, get: function() {
      return matchCatalogResolveResult_1.matchCatalogResolveResult;
    } });
  }
});

// ../config/parse-overrides/lib/index.js
var require_lib25 = __commonJS({
  "../config/parse-overrides/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseOverrides = parseOverrides;
    exports2.parsePkgAndParentSelector = parsePkgAndParentSelector;
    var error_1 = require_lib6();
    var parse_wanted_dependency_1 = require_lib22();
    var catalogs_resolver_1 = require_lib24();
    var DELIMITER_REGEX = /[^ |@]>/;
    function parseOverrides(overrides, catalogs) {
      const _resolveFromCatalog = catalogs_resolver_1.resolveFromCatalog.bind(null, catalogs ?? {});
      return Object.entries(overrides).map(([selector, newPref]) => {
        const result2 = parsePkgAndParentSelector(selector);
        const resolvedCatalog = (0, catalogs_resolver_1.matchCatalogResolveResult)(_resolveFromCatalog({
          pref: newPref,
          alias: result2.targetPkg.name
        }), {
          found: ({ resolution }) => resolution.specifier,
          unused: () => void 0,
          misconfiguration: ({ error }) => {
            throw new error_1.PnpmError("CATALOG_IN_OVERRIDES", `Could not resolve a catalog in the overrides: ${error.message}`);
          }
        });
        return {
          selector,
          newPref: resolvedCatalog ?? newPref,
          ...result2
        };
      });
    }
    function parsePkgAndParentSelector(selector) {
      let delimiterIndex = selector.search(DELIMITER_REGEX);
      if (delimiterIndex !== -1) {
        delimiterIndex++;
        const parentSelector = selector.substring(0, delimiterIndex);
        const childSelector = selector.substring(delimiterIndex + 1);
        return {
          parentPkg: parsePkgSelector(parentSelector),
          targetPkg: parsePkgSelector(childSelector)
        };
      }
      return {
        targetPkg: parsePkgSelector(selector)
      };
    }
    function parsePkgSelector(selector) {
      const wantedDep = (0, parse_wanted_dependency_1.parseWantedDependency)(selector);
      if (!wantedDep.alias) {
        throw new error_1.PnpmError("INVALID_SELECTOR", `Cannot parse the "${selector}" selector`);
      }
      return {
        name: wantedDep.alias,
        pref: wantedDep.pref
      };
    }
  }
});

// ../node_modules/.pnpm/cli-columns@4.0.0/node_modules/cli-columns/index.js
var require_cli_columns = __commonJS({
  "../node_modules/.pnpm/cli-columns@4.0.0/node_modules/cli-columns/index.js"(exports2, module2) {
    "use strict";
    var stringWidth = require_string_width();
    var stripAnsi = require_strip_ansi();
    var concat = Array.prototype.concat;
    var defaults = {
      character: " ",
      newline: "\n",
      padding: 2,
      sort: true,
      width: 0
    };
    function byPlainText(a, b) {
      const plainA = stripAnsi(a);
      const plainB = stripAnsi(b);
      if (plainA === plainB) {
        return 0;
      }
      if (plainA > plainB) {
        return 1;
      }
      return -1;
    }
    function makeArray() {
      return [];
    }
    function makeList(count) {
      return Array.apply(null, Array(count));
    }
    function padCell(fullWidth, character, value) {
      const valueWidth = stringWidth(value);
      const filler = makeList(fullWidth - valueWidth + 1);
      return value + filler.join(character);
    }
    function toRows(rows, cell, i) {
      rows[i % rows.length].push(cell);
      return rows;
    }
    function toString(arr) {
      return arr.join("");
    }
    function columns(values, options) {
      values = concat.apply([], values);
      options = Object.assign({}, defaults, options);
      let cells = values.filter(Boolean).map(String);
      if (options.sort !== false) {
        cells = cells.sort(byPlainText);
      }
      const termWidth = options.width || process.stdout.columns;
      const cellWidth = Math.max.apply(null, cells.map(stringWidth)) + options.padding;
      const columnCount = Math.floor(termWidth / cellWidth) || 1;
      const rowCount = Math.ceil(cells.length / columnCount) || 1;
      if (columnCount === 1) {
        return cells.join(options.newline);
      }
      return cells.map(padCell.bind(null, cellWidth, options.character)).reduce(toRows, makeList(rowCount).map(makeArray)).map(toString).join(options.newline);
    }
    module2.exports = columns;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/parse.js
var require_parse3 = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/parse.js"(exports2, module2) {
    var SemVer = require_semver();
    var parse2 = (version2, options, throwErrors = false) => {
      if (version2 instanceof SemVer) {
        return version2;
      }
      try {
        return new SemVer(version2, options);
      } catch (er) {
        if (!throwErrors) {
          return null;
        }
        throw er;
      }
    };
    module2.exports = parse2;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/valid.js
var require_valid = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/valid.js"(exports2, module2) {
    var parse2 = require_parse3();
    var valid = (version2, options) => {
      const v = parse2(version2, options);
      return v ? v.version : null;
    };
    module2.exports = valid;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/clean.js
var require_clean = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/clean.js"(exports2, module2) {
    var parse2 = require_parse3();
    var clean = (version2, options) => {
      const s = parse2(version2.trim().replace(/^[=v]+/, ""), options);
      return s ? s.version : null;
    };
    module2.exports = clean;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/inc.js
var require_inc = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/inc.js"(exports2, module2) {
    var SemVer = require_semver();
    var inc = (version2, release, options, identifier, identifierBase) => {
      if (typeof options === "string") {
        identifierBase = identifier;
        identifier = options;
        options = void 0;
      }
      try {
        return new SemVer(
          version2 instanceof SemVer ? version2.version : version2,
          options
        ).inc(release, identifier, identifierBase).version;
      } catch (er) {
        return null;
      }
    };
    module2.exports = inc;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/diff.js
var require_diff = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/diff.js"(exports2, module2) {
    var parse2 = require_parse3();
    var diff = (version1, version2) => {
      const v12 = parse2(version1, null, true);
      const v2 = parse2(version2, null, true);
      const comparison = v12.compare(v2);
      if (comparison === 0) {
        return null;
      }
      const v1Higher = comparison > 0;
      const highVersion = v1Higher ? v12 : v2;
      const lowVersion = v1Higher ? v2 : v12;
      const highHasPre = !!highVersion.prerelease.length;
      const lowHasPre = !!lowVersion.prerelease.length;
      if (lowHasPre && !highHasPre) {
        if (!lowVersion.patch && !lowVersion.minor) {
          return "major";
        }
        if (lowVersion.compareMain(highVersion) === 0) {
          if (lowVersion.minor && !lowVersion.patch) {
            return "minor";
          }
          return "patch";
        }
      }
      const prefix = highHasPre ? "pre" : "";
      if (v12.major !== v2.major) {
        return prefix + "major";
      }
      if (v12.minor !== v2.minor) {
        return prefix + "minor";
      }
      if (v12.patch !== v2.patch) {
        return prefix + "patch";
      }
      return "prerelease";
    };
    module2.exports = diff;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/major.js
var require_major = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/major.js"(exports2, module2) {
    var SemVer = require_semver();
    var major = (a, loose) => new SemVer(a, loose).major;
    module2.exports = major;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/minor.js
var require_minor = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/minor.js"(exports2, module2) {
    var SemVer = require_semver();
    var minor = (a, loose) => new SemVer(a, loose).minor;
    module2.exports = minor;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/patch.js
var require_patch = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/patch.js"(exports2, module2) {
    var SemVer = require_semver();
    var patch = (a, loose) => new SemVer(a, loose).patch;
    module2.exports = patch;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/prerelease.js
var require_prerelease = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/prerelease.js"(exports2, module2) {
    var parse2 = require_parse3();
    var prerelease = (version2, options) => {
      const parsed = parse2(version2, options);
      return parsed && parsed.prerelease.length ? parsed.prerelease : null;
    };
    module2.exports = prerelease;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/rcompare.js
var require_rcompare = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/rcompare.js"(exports2, module2) {
    var compare = require_compare();
    var rcompare = (a, b, loose) => compare(b, a, loose);
    module2.exports = rcompare;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare-loose.js
var require_compare_loose = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare-loose.js"(exports2, module2) {
    var compare = require_compare();
    var compareLoose = (a, b) => compare(a, b, true);
    module2.exports = compareLoose;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare-build.js
var require_compare_build = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/compare-build.js"(exports2, module2) {
    var SemVer = require_semver();
    var compareBuild = (a, b, loose) => {
      const versionA = new SemVer(a, loose);
      const versionB = new SemVer(b, loose);
      return versionA.compare(versionB) || versionA.compareBuild(versionB);
    };
    module2.exports = compareBuild;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/sort.js
var require_sort = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/sort.js"(exports2, module2) {
    var compareBuild = require_compare_build();
    var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
    module2.exports = sort;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/rsort.js
var require_rsort = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/rsort.js"(exports2, module2) {
    var compareBuild = require_compare_build();
    var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
    module2.exports = rsort;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/coerce.js
var require_coerce = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/functions/coerce.js"(exports2, module2) {
    var SemVer = require_semver();
    var parse2 = require_parse3();
    var { safeRe: re, t } = require_re();
    var coerce = (version2, options) => {
      if (version2 instanceof SemVer) {
        return version2;
      }
      if (typeof version2 === "number") {
        version2 = String(version2);
      }
      if (typeof version2 !== "string") {
        return null;
      }
      options = options || {};
      let match = null;
      if (!options.rtl) {
        match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
      } else {
        const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
        let next;
        while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
          if (!match || next.index + next[0].length !== match.index + match[0].length) {
            match = next;
          }
          coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
        }
        coerceRtlRegex.lastIndex = -1;
      }
      if (match === null) {
        return null;
      }
      const major = match[2];
      const minor = match[3] || "0";
      const patch = match[4] || "0";
      const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
      const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
      return parse2(`${major}.${minor}.${patch}${prerelease}${build}`, options);
    };
    module2.exports = coerce;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/to-comparators.js
var require_to_comparators = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/to-comparators.js"(exports2, module2) {
    var Range = require_range2();
    var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
    module2.exports = toComparators;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/max-satisfying.js
var require_max_satisfying = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/max-satisfying.js"(exports2, module2) {
    var SemVer = require_semver();
    var Range = require_range2();
    var maxSatisfying = (versions, range, options) => {
      let max = null;
      let maxSV = null;
      let rangeObj = null;
      try {
        rangeObj = new Range(range, options);
      } catch (er) {
        return null;
      }
      versions.forEach((v) => {
        if (rangeObj.test(v)) {
          if (!max || maxSV.compare(v) === -1) {
            max = v;
            maxSV = new SemVer(max, options);
          }
        }
      });
      return max;
    };
    module2.exports = maxSatisfying;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/min-satisfying.js
var require_min_satisfying = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/min-satisfying.js"(exports2, module2) {
    var SemVer = require_semver();
    var Range = require_range2();
    var minSatisfying = (versions, range, options) => {
      let min = null;
      let minSV = null;
      let rangeObj = null;
      try {
        rangeObj = new Range(range, options);
      } catch (er) {
        return null;
      }
      versions.forEach((v) => {
        if (rangeObj.test(v)) {
          if (!min || minSV.compare(v) === 1) {
            min = v;
            minSV = new SemVer(min, options);
          }
        }
      });
      return min;
    };
    module2.exports = minSatisfying;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/min-version.js
var require_min_version = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/min-version.js"(exports2, module2) {
    var SemVer = require_semver();
    var Range = require_range2();
    var gt = require_gt();
    var minVersion = (range, loose) => {
      range = new Range(range, loose);
      let minver = new SemVer("0.0.0");
      if (range.test(minver)) {
        return minver;
      }
      minver = new SemVer("0.0.0-0");
      if (range.test(minver)) {
        return minver;
      }
      minver = null;
      for (let i = 0; i < range.set.length; ++i) {
        const comparators = range.set[i];
        let setMin = null;
        comparators.forEach((comparator) => {
          const compver = new SemVer(comparator.semver.version);
          switch (comparator.operator) {
            case ">":
              if (compver.prerelease.length === 0) {
                compver.patch++;
              } else {
                compver.prerelease.push(0);
              }
              compver.raw = compver.format();
            /* fallthrough */
            case "":
            case ">=":
              if (!setMin || gt(compver, setMin)) {
                setMin = compver;
              }
              break;
            case "<":
            case "<=":
              break;
            /* istanbul ignore next */
            default:
              throw new Error(`Unexpected operation: ${comparator.operator}`);
          }
        });
        if (setMin && (!minver || gt(minver, setMin))) {
          minver = setMin;
        }
      }
      if (minver && range.test(minver)) {
        return minver;
      }
      return null;
    };
    module2.exports = minVersion;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/valid.js
var require_valid2 = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/valid.js"(exports2, module2) {
    var Range = require_range2();
    var validRange = (range, options) => {
      try {
        return new Range(range, options).range || "*";
      } catch (er) {
        return null;
      }
    };
    module2.exports = validRange;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/outside.js
var require_outside = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/outside.js"(exports2, module2) {
    var SemVer = require_semver();
    var Comparator = require_comparator();
    var { ANY } = Comparator;
    var Range = require_range2();
    var satisfies = require_satisfies();
    var gt = require_gt();
    var lt = require_lt();
    var lte = require_lte();
    var gte = require_gte();
    var outside = (version2, range, hilo, options) => {
      version2 = new SemVer(version2, options);
      range = new Range(range, options);
      let gtfn, ltefn, ltfn, comp, ecomp;
      switch (hilo) {
        case ">":
          gtfn = gt;
          ltefn = lte;
          ltfn = lt;
          comp = ">";
          ecomp = ">=";
          break;
        case "<":
          gtfn = lt;
          ltefn = gte;
          ltfn = gt;
          comp = "<";
          ecomp = "<=";
          break;
        default:
          throw new TypeError('Must provide a hilo val of "<" or ">"');
      }
      if (satisfies(version2, range, options)) {
        return false;
      }
      for (let i = 0; i < range.set.length; ++i) {
        const comparators = range.set[i];
        let high = null;
        let low = null;
        comparators.forEach((comparator) => {
          if (comparator.semver === ANY) {
            comparator = new Comparator(">=0.0.0");
          }
          high = high || comparator;
          low = low || comparator;
          if (gtfn(comparator.semver, high.semver, options)) {
            high = comparator;
          } else if (ltfn(comparator.semver, low.semver, options)) {
            low = comparator;
          }
        });
        if (high.operator === comp || high.operator === ecomp) {
          return false;
        }
        if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
          return false;
        } else if (low.operator === ecomp && ltfn(version2, low.semver)) {
          return false;
        }
      }
      return true;
    };
    module2.exports = outside;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/gtr.js
var require_gtr = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/gtr.js"(exports2, module2) {
    var outside = require_outside();
    var gtr = (version2, range, options) => outside(version2, range, ">", options);
    module2.exports = gtr;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/ltr.js
var require_ltr = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/ltr.js"(exports2, module2) {
    var outside = require_outside();
    var ltr = (version2, range, options) => outside(version2, range, "<", options);
    module2.exports = ltr;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/intersects.js
var require_intersects = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/intersects.js"(exports2, module2) {
    var Range = require_range2();
    var intersects = (r1, r2, options) => {
      r1 = new Range(r1, options);
      r2 = new Range(r2, options);
      return r1.intersects(r2, options);
    };
    module2.exports = intersects;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/simplify.js
var require_simplify = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/simplify.js"(exports2, module2) {
    var satisfies = require_satisfies();
    var compare = require_compare();
    module2.exports = (versions, range, options) => {
      const set = [];
      let first = null;
      let prev = null;
      const v = versions.sort((a, b) => compare(a, b, options));
      for (const version2 of v) {
        const included = satisfies(version2, range, options);
        if (included) {
          prev = version2;
          if (!first) {
            first = version2;
          }
        } else {
          if (prev) {
            set.push([first, prev]);
          }
          prev = null;
          first = null;
        }
      }
      if (first) {
        set.push([first, null]);
      }
      const ranges = [];
      for (const [min, max] of set) {
        if (min === max) {
          ranges.push(min);
        } else if (!max && min === v[0]) {
          ranges.push("*");
        } else if (!max) {
          ranges.push(`>=${min}`);
        } else if (min === v[0]) {
          ranges.push(`<=${max}`);
        } else {
          ranges.push(`${min} - ${max}`);
        }
      }
      const simplified = ranges.join(" || ");
      const original = typeof range.raw === "string" ? range.raw : String(range);
      return simplified.length < original.length ? simplified : range;
    };
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/subset.js
var require_subset = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/ranges/subset.js"(exports2, module2) {
    var Range = require_range2();
    var Comparator = require_comparator();
    var { ANY } = Comparator;
    var satisfies = require_satisfies();
    var compare = require_compare();
    var subset = (sub, dom, options = {}) => {
      if (sub === dom) {
        return true;
      }
      sub = new Range(sub, options);
      dom = new Range(dom, options);
      let sawNonNull = false;
      OUTER: for (const simpleSub of sub.set) {
        for (const simpleDom of dom.set) {
          const isSub = simpleSubset(simpleSub, simpleDom, options);
          sawNonNull = sawNonNull || isSub !== null;
          if (isSub) {
            continue OUTER;
          }
        }
        if (sawNonNull) {
          return false;
        }
      }
      return true;
    };
    var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
    var minimumVersion = [new Comparator(">=0.0.0")];
    var simpleSubset = (sub, dom, options) => {
      if (sub === dom) {
        return true;
      }
      if (sub.length === 1 && sub[0].semver === ANY) {
        if (dom.length === 1 && dom[0].semver === ANY) {
          return true;
        } else if (options.includePrerelease) {
          sub = minimumVersionWithPreRelease;
        } else {
          sub = minimumVersion;
        }
      }
      if (dom.length === 1 && dom[0].semver === ANY) {
        if (options.includePrerelease) {
          return true;
        } else {
          dom = minimumVersion;
        }
      }
      const eqSet = /* @__PURE__ */ new Set();
      let gt, lt;
      for (const c of sub) {
        if (c.operator === ">" || c.operator === ">=") {
          gt = higherGT(gt, c, options);
        } else if (c.operator === "<" || c.operator === "<=") {
          lt = lowerLT(lt, c, options);
        } else {
          eqSet.add(c.semver);
        }
      }
      if (eqSet.size > 1) {
        return null;
      }
      let gtltComp;
      if (gt && lt) {
        gtltComp = compare(gt.semver, lt.semver, options);
        if (gtltComp > 0) {
          return null;
        } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
          return null;
        }
      }
      for (const eq of eqSet) {
        if (gt && !satisfies(eq, String(gt), options)) {
          return null;
        }
        if (lt && !satisfies(eq, String(lt), options)) {
          return null;
        }
        for (const c of dom) {
          if (!satisfies(eq, String(c), options)) {
            return false;
          }
        }
        return true;
      }
      let higher, lower;
      let hasDomLT, hasDomGT;
      let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
      let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
      if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
        needDomLTPre = false;
      }
      for (const c of dom) {
        hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
        hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
        if (gt) {
          if (needDomGTPre) {
            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
              needDomGTPre = false;
            }
          }
          if (c.operator === ">" || c.operator === ">=") {
            higher = higherGT(gt, c, options);
            if (higher === c && higher !== gt) {
              return false;
            }
          } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
            return false;
          }
        }
        if (lt) {
          if (needDomLTPre) {
            if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
              needDomLTPre = false;
            }
          }
          if (c.operator === "<" || c.operator === "<=") {
            lower = lowerLT(lt, c, options);
            if (lower === c && lower !== lt) {
              return false;
            }
          } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
            return false;
          }
        }
        if (!c.operator && (lt || gt) && gtltComp !== 0) {
          return false;
        }
      }
      if (gt && hasDomLT && !lt && gtltComp !== 0) {
        return false;
      }
      if (lt && hasDomGT && !gt && gtltComp !== 0) {
        return false;
      }
      if (needDomGTPre || needDomLTPre) {
        return false;
      }
      return true;
    };
    var higherGT = (a, b, options) => {
      if (!a) {
        return b;
      }
      const comp = compare(a.semver, b.semver, options);
      return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
    };
    var lowerLT = (a, b, options) => {
      if (!a) {
        return b;
      }
      const comp = compare(a.semver, b.semver, options);
      return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
    };
    module2.exports = subset;
  }
});

// ../node_modules/.pnpm/semver@7.7.1/node_modules/semver/index.js
var require_semver2 = __commonJS({
  "../node_modules/.pnpm/semver@7.7.1/node_modules/semver/index.js"(exports2, module2) {
    var internalRe = require_re();
    var constants = require_constants2();
    var SemVer = require_semver();
    var identifiers = require_identifiers();
    var parse2 = require_parse3();
    var valid = require_valid();
    var clean = require_clean();
    var inc = require_inc();
    var diff = require_diff();
    var major = require_major();
    var minor = require_minor();
    var patch = require_patch();
    var prerelease = require_prerelease();
    var compare = require_compare();
    var rcompare = require_rcompare();
    var compareLoose = require_compare_loose();
    var compareBuild = require_compare_build();
    var sort = require_sort();
    var rsort = require_rsort();
    var gt = require_gt();
    var lt = require_lt();
    var eq = require_eq();
    var neq = require_neq();
    var gte = require_gte();
    var lte = require_lte();
    var cmp = require_cmp();
    var coerce = require_coerce();
    var Comparator = require_comparator();
    var Range = require_range2();
    var satisfies = require_satisfies();
    var toComparators = require_to_comparators();
    var maxSatisfying = require_max_satisfying();
    var minSatisfying = require_min_satisfying();
    var minVersion = require_min_version();
    var validRange = require_valid2();
    var outside = require_outside();
    var gtr = require_gtr();
    var ltr = require_ltr();
    var intersects = require_intersects();
    var simplifyRange = require_simplify();
    var subset = require_subset();
    module2.exports = {
      parse: parse2,
      valid,
      clean,
      inc,
      diff,
      major,
      minor,
      patch,
      prerelease,
      compare,
      rcompare,
      compareLoose,
      compareBuild,
      sort,
      rsort,
      gt,
      lt,
      eq,
      neq,
      gte,
      lte,
      cmp,
      coerce,
      Comparator,
      Range,
      satisfies,
      toComparators,
      maxSatisfying,
      minSatisfying,
      minVersion,
      validRange,
      outside,
      gtr,
      ltr,
      intersects,
      simplifyRange,
      subset,
      SemVer,
      re: internalRe.re,
      src: internalRe.src,
      tokens: internalRe.t,
      SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
      RELEASE_TYPES: constants.RELEASE_TYPES,
      compareIdentifiers: identifiers.compareIdentifiers,
      rcompareIdentifiers: identifiers.rcompareIdentifiers
    };
  }
});

// ../packages/render-peer-issues/lib/index.js
var require_lib26 = __commonJS({
  "../packages/render-peer-issues/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderPeerIssues = renderPeerIssues;
    var error_1 = require_lib6();
    var matcher_1 = require_lib16();
    var parse_overrides_1 = require_lib25();
    var archy_1 = __importDefault2(require_archy());
    var chalk_1 = __importDefault2(require_source());
    var cli_columns_1 = __importDefault2(require_cli_columns());
    var semver_12 = __importDefault2(require_semver2());
    function renderPeerIssues(peerDependencyIssuesByProjects, opts) {
      const ignoreMissingPatterns = [...new Set(opts?.rules?.ignoreMissing ?? [])];
      const ignoreMissingMatcher = (0, matcher_1.createMatcher)(ignoreMissingPatterns);
      const allowAnyPatterns = [...new Set(opts?.rules?.allowAny ?? [])];
      const allowAnyMatcher = (0, matcher_1.createMatcher)(allowAnyPatterns);
      const { allowedVersionsMatchAll, allowedVersionsByParentPkgName } = parseAllowedVersions(opts?.rules?.allowedVersions ?? {});
      const projects = {};
      for (const [projectId, { bad, missing, conflicts, intersections }] of Object.entries(peerDependencyIssuesByProjects)) {
        projects[projectId] = { dependencies: {}, peerIssues: [] };
        for (const [peerName, issues] of Object.entries(missing)) {
          if (!conflicts.includes(peerName) && intersections[peerName] == null || ignoreMissingMatcher(peerName)) {
            continue;
          }
          for (const issue of issues) {
            createTree(projects[projectId], issue.parents, `${chalk_1.default.red("\u2715 missing peer")} ${formatNameAndRange(peerName, issue.wantedRange)}`);
          }
        }
        for (const [peerName, issues] of Object.entries(bad)) {
          if (allowAnyMatcher(peerName))
            continue;
          for (const issue of issues) {
            if (allowedVersionsMatchAll[peerName]?.some((range) => semver_12.default.satisfies(issue.foundVersion, range)))
              continue;
            const currentParentPkg = issue.parents.at(-1);
            if (currentParentPkg && allowedVersionsByParentPkgName[peerName]?.[currentParentPkg.name]) {
              const allowedVersionsByParent = {};
              for (const { targetPkg, parentPkg, ranges } of allowedVersionsByParentPkgName[peerName][currentParentPkg.name]) {
                if (!parentPkg.pref || currentParentPkg.version && (isSubRange(parentPkg.pref, currentParentPkg.version) || semver_12.default.satisfies(currentParentPkg.version, parentPkg.pref))) {
                  allowedVersionsByParent[targetPkg.name] = ranges;
                }
              }
              if (allowedVersionsByParent[peerName]?.some((range) => semver_12.default.satisfies(issue.foundVersion, range)))
                continue;
            }
            createTree(projects[projectId], issue.parents, formatUnmetPeerMessage({
              peerName,
              ...issue
            }));
          }
        }
      }
      const cliColumnsOptions = {
        newline: "\n  ",
        width: (opts?.width ?? process.stdout.columns) - 2
      };
      return Object.entries(projects).filter(([, project]) => Object.keys(project.dependencies).length > 0).sort(([projectKey1], [projectKey2]) => projectKey1.localeCompare(projectKey2)).map(([projectKey, project]) => {
        const summaries = [];
        const { conflicts, intersections } = peerDependencyIssuesByProjects[projectKey];
        if (conflicts.length) {
          summaries.push(chalk_1.default.red(`\u2715 Conflicting peer dependencies:
  ${(0, cli_columns_1.default)(conflicts, cliColumnsOptions).trimEnd()}`));
        }
        if (Object.keys(intersections).length) {
          summaries.push(`Peer dependencies that should be installed:
  ${(0, cli_columns_1.default)(Object.entries(intersections).map(([name, version2]) => formatNameAndRange(name, version2)), cliColumnsOptions)}`);
        }
        const title = chalk_1.default.reset(projectKey);
        const summariesConcatenated = summaries.join("\n");
        return `${(0, archy_1.default)(toArchyData(title, project))}${summariesConcatenated}`.trimEnd();
      }).join("\n\n");
    }
    function formatUnmetPeerMessage({ foundVersion, peerName, wantedRange, resolvedFrom }) {
      const nameAndRange = formatNameAndRange(peerName, wantedRange);
      if (resolvedFrom && resolvedFrom.length > 0) {
        return `\u2715 unmet peer ${nameAndRange}: found ${foundVersion} in ${resolvedFrom[resolvedFrom.length - 1].name}`;
      }
      return `${chalk_1.default.yellowBright("\u2715 unmet peer")} ${nameAndRange}: found ${foundVersion}`;
    }
    function formatNameAndRange(name, range) {
      if (range.includes(" ") || range === "*") {
        return `${name}@"${range}"`;
      }
      return `${name}@${range}`;
    }
    function createTree(pkgNode, pkgs, issueText) {
      if (pkgs.length === 0) {
        pkgs = [{ name: "<unknown>", version: "<unknown>" }];
      }
      const [pkg, ...rest] = pkgs;
      const label = `${pkg.name} ${chalk_1.default.grey(pkg.version)}`;
      if (!pkgNode.dependencies[label]) {
        pkgNode.dependencies[label] = { dependencies: {}, peerIssues: [] };
      }
      if (rest.length === 0) {
        pkgNode.dependencies[label].peerIssues.push(issueText);
        return;
      }
      createTree(pkgNode.dependencies[label], rest, issueText);
    }
    function toArchyData(depName, pkgNode) {
      const result2 = {
        label: depName,
        nodes: []
      };
      for (const wantedPeer of pkgNode.peerIssues) {
        result2.nodes.push(wantedPeer);
      }
      for (const [depName2, node] of Object.entries(pkgNode.dependencies)) {
        result2.nodes.push(toArchyData(depName2, node));
      }
      return result2;
    }
    function parseAllowedVersions(allowedVersions) {
      const overrides = tryParseAllowedVersions(allowedVersions);
      const allowedVersionsMatchAll = {};
      const allowedVersionsByParentPkgName = {};
      for (const { parentPkg, targetPkg, newPref } of overrides) {
        const ranges = parseVersions(newPref);
        if (!parentPkg) {
          allowedVersionsMatchAll[targetPkg.name] = ranges;
          continue;
        }
        if (!allowedVersionsByParentPkgName[targetPkg.name]) {
          allowedVersionsByParentPkgName[targetPkg.name] = {};
        }
        if (!allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name]) {
          allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name] = [];
        }
        allowedVersionsByParentPkgName[targetPkg.name][parentPkg.name].push({
          parentPkg,
          targetPkg,
          ranges
        });
      }
      return {
        allowedVersionsMatchAll,
        allowedVersionsByParentPkgName
      };
    }
    function tryParseAllowedVersions(allowedVersions) {
      try {
        return (0, parse_overrides_1.parseOverrides)(allowedVersions ?? {});
      } catch (err) {
        throw new error_1.PnpmError("INVALID_ALLOWED_VERSION_SELECTOR", `${err.message} in pnpm.peerDependencyRules.allowedVersions`);
      }
    }
    function parseVersions(versions) {
      return versions.split("||").map((v) => v.trim());
    }
    function isSubRange(superRange, subRange) {
      return !superRange || subRange === superRange || semver_12.default.validRange(subRange) != null && semver_12.default.validRange(superRange) != null && semver_12.default.subset(subRange, superRange);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arrayFromIterator.js
var require_arrayFromIterator = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_arrayFromIterator.js"(exports2, module2) {
    function _arrayFromIterator(iter) {
      var list = [];
      var next;
      while (!(next = iter.next()).done) {
        list.push(next.value);
      }
      return list;
    }
    module2.exports = _arrayFromIterator;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includesWith.js
var require_includesWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includesWith.js"(exports2, module2) {
    function _includesWith(pred, x, list) {
      var idx = 0;
      var len = list.length;
      while (idx < len) {
        if (pred(x, list[idx])) {
          return true;
        }
        idx += 1;
      }
      return false;
    }
    module2.exports = _includesWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_functionName.js
var require_functionName = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_functionName.js"(exports2, module2) {
    function _functionName(f) {
      var match = String(f).match(/^function (\w*)/);
      return match == null ? "" : match[1];
    }
    module2.exports = _functionName;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectIs.js
var require_objectIs = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectIs.js"(exports2, module2) {
    function _objectIs(a, b) {
      if (a === b) {
        return a !== 0 || 1 / a === 1 / b;
      } else {
        return a !== a && b !== b;
      }
    }
    module2.exports = typeof Object.is === "function" ? Object.is : _objectIs;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/type.js
var require_type2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/type.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var type = /* @__PURE__ */ _curry1(function type2(val) {
      return val === null ? "Null" : val === void 0 ? "Undefined" : Object.prototype.toString.call(val).slice(8, -1);
    });
    module2.exports = type;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_equals.js
var require_equals = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_equals.js"(exports2, module2) {
    var _arrayFromIterator = require_arrayFromIterator();
    var _includesWith = require_includesWith();
    var _functionName = require_functionName();
    var _has = require_has();
    var _objectIs = require_objectIs();
    var keys = require_keys();
    var type = require_type2();
    function _uniqContentEquals(aIterator, bIterator, stackA, stackB) {
      var a = _arrayFromIterator(aIterator);
      var b = _arrayFromIterator(bIterator);
      function eq(_a, _b) {
        return _equals(_a, _b, stackA.slice(), stackB.slice());
      }
      return !_includesWith(function(b2, aItem) {
        return !_includesWith(eq, aItem, b2);
      }, b, a);
    }
    function _equals(a, b, stackA, stackB) {
      if (_objectIs(a, b)) {
        return true;
      }
      var typeA = type(a);
      if (typeA !== type(b)) {
        return false;
      }
      if (typeof a["fantasy-land/equals"] === "function" || typeof b["fantasy-land/equals"] === "function") {
        return typeof a["fantasy-land/equals"] === "function" && a["fantasy-land/equals"](b) && typeof b["fantasy-land/equals"] === "function" && b["fantasy-land/equals"](a);
      }
      if (typeof a.equals === "function" || typeof b.equals === "function") {
        return typeof a.equals === "function" && a.equals(b) && typeof b.equals === "function" && b.equals(a);
      }
      switch (typeA) {
        case "Arguments":
        case "Array":
        case "Object":
          if (typeof a.constructor === "function" && _functionName(a.constructor) === "Promise") {
            return a === b;
          }
          break;
        case "Boolean":
        case "Number":
        case "String":
          if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {
            return false;
          }
          break;
        case "Date":
          if (!_objectIs(a.valueOf(), b.valueOf())) {
            return false;
          }
          break;
        case "Error":
          return a.name === b.name && a.message === b.message;
        case "RegExp":
          if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {
            return false;
          }
          break;
      }
      var idx = stackA.length - 1;
      while (idx >= 0) {
        if (stackA[idx] === a) {
          return stackB[idx] === b;
        }
        idx -= 1;
      }
      switch (typeA) {
        case "Map":
          if (a.size !== b.size) {
            return false;
          }
          return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));
        case "Set":
          if (a.size !== b.size) {
            return false;
          }
          return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));
        case "Arguments":
        case "Array":
        case "Object":
        case "Boolean":
        case "Number":
        case "String":
        case "Date":
        case "Error":
        case "RegExp":
        case "Int8Array":
        case "Uint8Array":
        case "Uint8ClampedArray":
        case "Int16Array":
        case "Uint16Array":
        case "Int32Array":
        case "Uint32Array":
        case "Float32Array":
        case "Float64Array":
        case "ArrayBuffer":
          break;
        default:
          return false;
      }
      var keysA = keys(a);
      if (keysA.length !== keys(b).length) {
        return false;
      }
      var extendedStackA = stackA.concat([a]);
      var extendedStackB = stackB.concat([b]);
      idx = keysA.length - 1;
      while (idx >= 0) {
        var key = keysA[idx];
        if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {
          return false;
        }
        idx -= 1;
      }
      return true;
    }
    module2.exports = _equals;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/equals.js
var require_equals2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/equals.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _equals = require_equals();
    var equals = /* @__PURE__ */ _curry2(function equals2(a, b) {
      return _equals(a, b, [], []);
    });
    module2.exports = equals;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js
var require_base64 = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64.js"(exports2) {
    var intToCharMap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");
    exports2.encode = function(number) {
      if (0 <= number && number < intToCharMap.length) {
        return intToCharMap[number];
      }
      throw new TypeError("Must be between 0 and 63: " + number);
    };
    exports2.decode = function(charCode) {
      var bigA = 65;
      var bigZ = 90;
      var littleA = 97;
      var littleZ = 122;
      var zero = 48;
      var nine = 57;
      var plus = 43;
      var slash = 47;
      var littleOffset = 26;
      var numberOffset = 52;
      if (bigA <= charCode && charCode <= bigZ) {
        return charCode - bigA;
      }
      if (littleA <= charCode && charCode <= littleZ) {
        return charCode - littleA + littleOffset;
      }
      if (zero <= charCode && charCode <= nine) {
        return charCode - zero + numberOffset;
      }
      if (charCode == plus) {
        return 62;
      }
      if (charCode == slash) {
        return 63;
      }
      return -1;
    };
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js
var require_base64_vlq = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/base64-vlq.js"(exports2) {
    var base64 = require_base64();
    var VLQ_BASE_SHIFT = 5;
    var VLQ_BASE = 1 << VLQ_BASE_SHIFT;
    var VLQ_BASE_MASK = VLQ_BASE - 1;
    var VLQ_CONTINUATION_BIT = VLQ_BASE;
    function toVLQSigned(aValue) {
      return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0;
    }
    function fromVLQSigned(aValue) {
      var isNegative = (aValue & 1) === 1;
      var shifted = aValue >> 1;
      return isNegative ? -shifted : shifted;
    }
    exports2.encode = function base64VLQ_encode(aValue) {
      var encoded = "";
      var digit;
      var vlq = toVLQSigned(aValue);
      do {
        digit = vlq & VLQ_BASE_MASK;
        vlq >>>= VLQ_BASE_SHIFT;
        if (vlq > 0) {
          digit |= VLQ_CONTINUATION_BIT;
        }
        encoded += base64.encode(digit);
      } while (vlq > 0);
      return encoded;
    };
    exports2.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {
      var strLen = aStr.length;
      var result2 = 0;
      var shift = 0;
      var continuation, digit;
      do {
        if (aIndex >= strLen) {
          throw new Error("Expected more digits in base 64 VLQ value.");
        }
        digit = base64.decode(aStr.charCodeAt(aIndex++));
        if (digit === -1) {
          throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1));
        }
        continuation = !!(digit & VLQ_CONTINUATION_BIT);
        digit &= VLQ_BASE_MASK;
        result2 = result2 + (digit << shift);
        shift += VLQ_BASE_SHIFT;
      } while (continuation);
      aOutParam.value = fromVLQSigned(result2);
      aOutParam.rest = aIndex;
    };
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js
var require_util4 = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/util.js"(exports2) {
    function getArg(aArgs, aName, aDefaultValue) {
      if (aName in aArgs) {
        return aArgs[aName];
      } else if (arguments.length === 3) {
        return aDefaultValue;
      } else {
        throw new Error('"' + aName + '" is a required argument.');
      }
    }
    exports2.getArg = getArg;
    var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/;
    var dataUrlRegexp = /^data:.+\,.+$/;
    function urlParse(aUrl) {
      var match = aUrl.match(urlRegexp);
      if (!match) {
        return null;
      }
      return {
        scheme: match[1],
        auth: match[2],
        host: match[3],
        port: match[4],
        path: match[5]
      };
    }
    exports2.urlParse = urlParse;
    function urlGenerate(aParsedUrl) {
      var url = "";
      if (aParsedUrl.scheme) {
        url += aParsedUrl.scheme + ":";
      }
      url += "//";
      if (aParsedUrl.auth) {
        url += aParsedUrl.auth + "@";
      }
      if (aParsedUrl.host) {
        url += aParsedUrl.host;
      }
      if (aParsedUrl.port) {
        url += ":" + aParsedUrl.port;
      }
      if (aParsedUrl.path) {
        url += aParsedUrl.path;
      }
      return url;
    }
    exports2.urlGenerate = urlGenerate;
    function normalize(aPath) {
      var path2 = aPath;
      var url = urlParse(aPath);
      if (url) {
        if (!url.path) {
          return aPath;
        }
        path2 = url.path;
      }
      var isAbsolute = exports2.isAbsolute(path2);
      var parts = path2.split(/\/+/);
      for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
        part = parts[i];
        if (part === ".") {
          parts.splice(i, 1);
        } else if (part === "..") {
          up++;
        } else if (up > 0) {
          if (part === "") {
            parts.splice(i + 1, up);
            up = 0;
          } else {
            parts.splice(i, 2);
            up--;
          }
        }
      }
      path2 = parts.join("/");
      if (path2 === "") {
        path2 = isAbsolute ? "/" : ".";
      }
      if (url) {
        url.path = path2;
        return urlGenerate(url);
      }
      return path2;
    }
    exports2.normalize = normalize;
    function join(aRoot, aPath) {
      if (aRoot === "") {
        aRoot = ".";
      }
      if (aPath === "") {
        aPath = ".";
      }
      var aPathUrl = urlParse(aPath);
      var aRootUrl = urlParse(aRoot);
      if (aRootUrl) {
        aRoot = aRootUrl.path || "/";
      }
      if (aPathUrl && !aPathUrl.scheme) {
        if (aRootUrl) {
          aPathUrl.scheme = aRootUrl.scheme;
        }
        return urlGenerate(aPathUrl);
      }
      if (aPathUrl || aPath.match(dataUrlRegexp)) {
        return aPath;
      }
      if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
        aRootUrl.host = aPath;
        return urlGenerate(aRootUrl);
      }
      var joined = aPath.charAt(0) === "/" ? aPath : normalize(aRoot.replace(/\/+$/, "") + "/" + aPath);
      if (aRootUrl) {
        aRootUrl.path = joined;
        return urlGenerate(aRootUrl);
      }
      return joined;
    }
    exports2.join = join;
    exports2.isAbsolute = function(aPath) {
      return aPath.charAt(0) === "/" || urlRegexp.test(aPath);
    };
    function relative(aRoot, aPath) {
      if (aRoot === "") {
        aRoot = ".";
      }
      aRoot = aRoot.replace(/\/$/, "");
      var level = 0;
      while (aPath.indexOf(aRoot + "/") !== 0) {
        var index = aRoot.lastIndexOf("/");
        if (index < 0) {
          return aPath;
        }
        aRoot = aRoot.slice(0, index);
        if (aRoot.match(/^([^\/]+:\/)?\/*$/)) {
          return aPath;
        }
        ++level;
      }
      return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1);
    }
    exports2.relative = relative;
    var supportsNullProto = function() {
      var obj = /* @__PURE__ */ Object.create(null);
      return !("__proto__" in obj);
    }();
    function identity(s) {
      return s;
    }
    function toSetString(aStr) {
      if (isProtoString(aStr)) {
        return "$" + aStr;
      }
      return aStr;
    }
    exports2.toSetString = supportsNullProto ? identity : toSetString;
    function fromSetString(aStr) {
      if (isProtoString(aStr)) {
        return aStr.slice(1);
      }
      return aStr;
    }
    exports2.fromSetString = supportsNullProto ? identity : fromSetString;
    function isProtoString(s) {
      if (!s) {
        return false;
      }
      var length = s.length;
      if (length < 9) {
        return false;
      }
      if (s.charCodeAt(length - 1) !== 95 || s.charCodeAt(length - 2) !== 95 || s.charCodeAt(length - 3) !== 111 || s.charCodeAt(length - 4) !== 116 || s.charCodeAt(length - 5) !== 111 || s.charCodeAt(length - 6) !== 114 || s.charCodeAt(length - 7) !== 112 || s.charCodeAt(length - 8) !== 95 || s.charCodeAt(length - 9) !== 95) {
        return false;
      }
      for (var i = length - 10; i >= 0; i--) {
        if (s.charCodeAt(i) !== 36) {
          return false;
        }
      }
      return true;
    }
    function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {
      var cmp = strcmp(mappingA.source, mappingB.source);
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalLine - mappingB.originalLine;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalColumn - mappingB.originalColumn;
      if (cmp !== 0 || onlyCompareOriginal) {
        return cmp;
      }
      cmp = mappingA.generatedColumn - mappingB.generatedColumn;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.generatedLine - mappingB.generatedLine;
      if (cmp !== 0) {
        return cmp;
      }
      return strcmp(mappingA.name, mappingB.name);
    }
    exports2.compareByOriginalPositions = compareByOriginalPositions;
    function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {
      var cmp = mappingA.generatedLine - mappingB.generatedLine;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.generatedColumn - mappingB.generatedColumn;
      if (cmp !== 0 || onlyCompareGenerated) {
        return cmp;
      }
      cmp = strcmp(mappingA.source, mappingB.source);
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalLine - mappingB.originalLine;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalColumn - mappingB.originalColumn;
      if (cmp !== 0) {
        return cmp;
      }
      return strcmp(mappingA.name, mappingB.name);
    }
    exports2.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;
    function strcmp(aStr1, aStr2) {
      if (aStr1 === aStr2) {
        return 0;
      }
      if (aStr1 === null) {
        return 1;
      }
      if (aStr2 === null) {
        return -1;
      }
      if (aStr1 > aStr2) {
        return 1;
      }
      return -1;
    }
    function compareByGeneratedPositionsInflated(mappingA, mappingB) {
      var cmp = mappingA.generatedLine - mappingB.generatedLine;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.generatedColumn - mappingB.generatedColumn;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = strcmp(mappingA.source, mappingB.source);
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalLine - mappingB.originalLine;
      if (cmp !== 0) {
        return cmp;
      }
      cmp = mappingA.originalColumn - mappingB.originalColumn;
      if (cmp !== 0) {
        return cmp;
      }
      return strcmp(mappingA.name, mappingB.name);
    }
    exports2.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;
    function parseSourceMapInput(str) {
      return JSON.parse(str.replace(/^\)]}'[^\n]*\n/, ""));
    }
    exports2.parseSourceMapInput = parseSourceMapInput;
    function computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {
      sourceURL = sourceURL || "";
      if (sourceRoot) {
        if (sourceRoot[sourceRoot.length - 1] !== "/" && sourceURL[0] !== "/") {
          sourceRoot += "/";
        }
        sourceURL = sourceRoot + sourceURL;
      }
      if (sourceMapURL) {
        var parsed = urlParse(sourceMapURL);
        if (!parsed) {
          throw new Error("sourceMapURL could not be parsed");
        }
        if (parsed.path) {
          var index = parsed.path.lastIndexOf("/");
          if (index >= 0) {
            parsed.path = parsed.path.substring(0, index + 1);
          }
        }
        sourceURL = join(urlGenerate(parsed), sourceURL);
      }
      return normalize(sourceURL);
    }
    exports2.computeSourceURL = computeSourceURL;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js
var require_array_set = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/array-set.js"(exports2) {
    var util = require_util4();
    var has = Object.prototype.hasOwnProperty;
    var hasNativeMap = typeof Map !== "undefined";
    function ArraySet() {
      this._array = [];
      this._set = hasNativeMap ? /* @__PURE__ */ new Map() : /* @__PURE__ */ Object.create(null);
    }
    ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {
      var set = new ArraySet();
      for (var i = 0, len = aArray.length; i < len; i++) {
        set.add(aArray[i], aAllowDuplicates);
      }
      return set;
    };
    ArraySet.prototype.size = function ArraySet_size() {
      return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;
    };
    ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {
      var sStr = hasNativeMap ? aStr : util.toSetString(aStr);
      var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);
      var idx = this._array.length;
      if (!isDuplicate || aAllowDuplicates) {
        this._array.push(aStr);
      }
      if (!isDuplicate) {
        if (hasNativeMap) {
          this._set.set(aStr, idx);
        } else {
          this._set[sStr] = idx;
        }
      }
    };
    ArraySet.prototype.has = function ArraySet_has(aStr) {
      if (hasNativeMap) {
        return this._set.has(aStr);
      } else {
        var sStr = util.toSetString(aStr);
        return has.call(this._set, sStr);
      }
    };
    ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {
      if (hasNativeMap) {
        var idx = this._set.get(aStr);
        if (idx >= 0) {
          return idx;
        }
      } else {
        var sStr = util.toSetString(aStr);
        if (has.call(this._set, sStr)) {
          return this._set[sStr];
        }
      }
      throw new Error('"' + aStr + '" is not in the set.');
    };
    ArraySet.prototype.at = function ArraySet_at(aIdx) {
      if (aIdx >= 0 && aIdx < this._array.length) {
        return this._array[aIdx];
      }
      throw new Error("No element indexed by " + aIdx);
    };
    ArraySet.prototype.toArray = function ArraySet_toArray() {
      return this._array.slice();
    };
    exports2.ArraySet = ArraySet;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js
var require_mapping_list = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/mapping-list.js"(exports2) {
    var util = require_util4();
    function generatedPositionAfter(mappingA, mappingB) {
      var lineA = mappingA.generatedLine;
      var lineB = mappingB.generatedLine;
      var columnA = mappingA.generatedColumn;
      var columnB = mappingB.generatedColumn;
      return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;
    }
    function MappingList() {
      this._array = [];
      this._sorted = true;
      this._last = { generatedLine: -1, generatedColumn: 0 };
    }
    MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) {
      this._array.forEach(aCallback, aThisArg);
    };
    MappingList.prototype.add = function MappingList_add(aMapping) {
      if (generatedPositionAfter(this._last, aMapping)) {
        this._last = aMapping;
        this._array.push(aMapping);
      } else {
        this._sorted = false;
        this._array.push(aMapping);
      }
    };
    MappingList.prototype.toArray = function MappingList_toArray() {
      if (!this._sorted) {
        this._array.sort(util.compareByGeneratedPositionsInflated);
        this._sorted = true;
      }
      return this._array;
    };
    exports2.MappingList = MappingList;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js
var require_source_map_generator = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-generator.js"(exports2) {
    var base64VLQ = require_base64_vlq();
    var util = require_util4();
    var ArraySet = require_array_set().ArraySet;
    var MappingList = require_mapping_list().MappingList;
    function SourceMapGenerator(aArgs) {
      if (!aArgs) {
        aArgs = {};
      }
      this._file = util.getArg(aArgs, "file", null);
      this._sourceRoot = util.getArg(aArgs, "sourceRoot", null);
      this._skipValidation = util.getArg(aArgs, "skipValidation", false);
      this._sources = new ArraySet();
      this._names = new ArraySet();
      this._mappings = new MappingList();
      this._sourcesContents = null;
    }
    SourceMapGenerator.prototype._version = 3;
    SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {
      var sourceRoot = aSourceMapConsumer.sourceRoot;
      var generator = new SourceMapGenerator({
        file: aSourceMapConsumer.file,
        sourceRoot
      });
      aSourceMapConsumer.eachMapping(function(mapping) {
        var newMapping = {
          generated: {
            line: mapping.generatedLine,
            column: mapping.generatedColumn
          }
        };
        if (mapping.source != null) {
          newMapping.source = mapping.source;
          if (sourceRoot != null) {
            newMapping.source = util.relative(sourceRoot, newMapping.source);
          }
          newMapping.original = {
            line: mapping.originalLine,
            column: mapping.originalColumn
          };
          if (mapping.name != null) {
            newMapping.name = mapping.name;
          }
        }
        generator.addMapping(newMapping);
      });
      aSourceMapConsumer.sources.forEach(function(sourceFile) {
        var sourceRelative = sourceFile;
        if (sourceRoot !== null) {
          sourceRelative = util.relative(sourceRoot, sourceFile);
        }
        if (!generator._sources.has(sourceRelative)) {
          generator._sources.add(sourceRelative);
        }
        var content = aSourceMapConsumer.sourceContentFor(sourceFile);
        if (content != null) {
          generator.setSourceContent(sourceFile, content);
        }
      });
      return generator;
    };
    SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) {
      var generated = util.getArg(aArgs, "generated");
      var original = util.getArg(aArgs, "original", null);
      var source = util.getArg(aArgs, "source", null);
      var name = util.getArg(aArgs, "name", null);
      if (!this._skipValidation) {
        this._validateMapping(generated, original, source, name);
      }
      if (source != null) {
        source = String(source);
        if (!this._sources.has(source)) {
          this._sources.add(source);
        }
      }
      if (name != null) {
        name = String(name);
        if (!this._names.has(name)) {
          this._names.add(name);
        }
      }
      this._mappings.add({
        generatedLine: generated.line,
        generatedColumn: generated.column,
        originalLine: original != null && original.line,
        originalColumn: original != null && original.column,
        source,
        name
      });
    };
    SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {
      var source = aSourceFile;
      if (this._sourceRoot != null) {
        source = util.relative(this._sourceRoot, source);
      }
      if (aSourceContent != null) {
        if (!this._sourcesContents) {
          this._sourcesContents = /* @__PURE__ */ Object.create(null);
        }
        this._sourcesContents[util.toSetString(source)] = aSourceContent;
      } else if (this._sourcesContents) {
        delete this._sourcesContents[util.toSetString(source)];
        if (Object.keys(this._sourcesContents).length === 0) {
          this._sourcesContents = null;
        }
      }
    };
    SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
      var sourceFile = aSourceFile;
      if (aSourceFile == null) {
        if (aSourceMapConsumer.file == null) {
          throw new Error(
            `SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`
          );
        }
        sourceFile = aSourceMapConsumer.file;
      }
      var sourceRoot = this._sourceRoot;
      if (sourceRoot != null) {
        sourceFile = util.relative(sourceRoot, sourceFile);
      }
      var newSources = new ArraySet();
      var newNames = new ArraySet();
      this._mappings.unsortedForEach(function(mapping) {
        if (mapping.source === sourceFile && mapping.originalLine != null) {
          var original = aSourceMapConsumer.originalPositionFor({
            line: mapping.originalLine,
            column: mapping.originalColumn
          });
          if (original.source != null) {
            mapping.source = original.source;
            if (aSourceMapPath != null) {
              mapping.source = util.join(aSourceMapPath, mapping.source);
            }
            if (sourceRoot != null) {
              mapping.source = util.relative(sourceRoot, mapping.source);
            }
            mapping.originalLine = original.line;
            mapping.originalColumn = original.column;
            if (original.name != null) {
              mapping.name = original.name;
            }
          }
        }
        var source = mapping.source;
        if (source != null && !newSources.has(source)) {
          newSources.add(source);
        }
        var name = mapping.name;
        if (name != null && !newNames.has(name)) {
          newNames.add(name);
        }
      }, this);
      this._sources = newSources;
      this._names = newNames;
      aSourceMapConsumer.sources.forEach(function(sourceFile2) {
        var content = aSourceMapConsumer.sourceContentFor(sourceFile2);
        if (content != null) {
          if (aSourceMapPath != null) {
            sourceFile2 = util.join(aSourceMapPath, sourceFile2);
          }
          if (sourceRoot != null) {
            sourceFile2 = util.relative(sourceRoot, sourceFile2);
          }
          this.setSourceContent(sourceFile2, content);
        }
      }, this);
    };
    SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) {
      if (aOriginal && typeof aOriginal.line !== "number" && typeof aOriginal.column !== "number") {
        throw new Error(
          "original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values."
        );
      }
      if (aGenerated && "line" in aGenerated && "column" in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) {
        return;
      } else if (aGenerated && "line" in aGenerated && "column" in aGenerated && aOriginal && "line" in aOriginal && "column" in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) {
        return;
      } else {
        throw new Error("Invalid mapping: " + JSON.stringify({
          generated: aGenerated,
          source: aSource,
          original: aOriginal,
          name: aName
        }));
      }
    };
    SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() {
      var previousGeneratedColumn = 0;
      var previousGeneratedLine = 1;
      var previousOriginalColumn = 0;
      var previousOriginalLine = 0;
      var previousName = 0;
      var previousSource = 0;
      var result2 = "";
      var next;
      var mapping;
      var nameIdx;
      var sourceIdx;
      var mappings = this._mappings.toArray();
      for (var i = 0, len = mappings.length; i < len; i++) {
        mapping = mappings[i];
        next = "";
        if (mapping.generatedLine !== previousGeneratedLine) {
          previousGeneratedColumn = 0;
          while (mapping.generatedLine !== previousGeneratedLine) {
            next += ";";
            previousGeneratedLine++;
          }
        } else {
          if (i > 0) {
            if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {
              continue;
            }
            next += ",";
          }
        }
        next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn);
        previousGeneratedColumn = mapping.generatedColumn;
        if (mapping.source != null) {
          sourceIdx = this._sources.indexOf(mapping.source);
          next += base64VLQ.encode(sourceIdx - previousSource);
          previousSource = sourceIdx;
          next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine);
          previousOriginalLine = mapping.originalLine - 1;
          next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn);
          previousOriginalColumn = mapping.originalColumn;
          if (mapping.name != null) {
            nameIdx = this._names.indexOf(mapping.name);
            next += base64VLQ.encode(nameIdx - previousName);
            previousName = nameIdx;
          }
        }
        result2 += next;
      }
      return result2;
    };
    SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {
      return aSources.map(function(source) {
        if (!this._sourcesContents) {
          return null;
        }
        if (aSourceRoot != null) {
          source = util.relative(aSourceRoot, source);
        }
        var key = util.toSetString(source);
        return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null;
      }, this);
    };
    SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() {
      var map = {
        version: this._version,
        sources: this._sources.toArray(),
        names: this._names.toArray(),
        mappings: this._serializeMappings()
      };
      if (this._file != null) {
        map.file = this._file;
      }
      if (this._sourceRoot != null) {
        map.sourceRoot = this._sourceRoot;
      }
      if (this._sourcesContents) {
        map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);
      }
      return map;
    };
    SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() {
      return JSON.stringify(this.toJSON());
    };
    exports2.SourceMapGenerator = SourceMapGenerator;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js
var require_binary_search = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/binary-search.js"(exports2) {
    exports2.GREATEST_LOWER_BOUND = 1;
    exports2.LEAST_UPPER_BOUND = 2;
    function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {
      var mid = Math.floor((aHigh - aLow) / 2) + aLow;
      var cmp = aCompare(aNeedle, aHaystack[mid], true);
      if (cmp === 0) {
        return mid;
      } else if (cmp > 0) {
        if (aHigh - mid > 1) {
          return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);
        }
        if (aBias == exports2.LEAST_UPPER_BOUND) {
          return aHigh < aHaystack.length ? aHigh : -1;
        } else {
          return mid;
        }
      } else {
        if (mid - aLow > 1) {
          return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);
        }
        if (aBias == exports2.LEAST_UPPER_BOUND) {
          return mid;
        } else {
          return aLow < 0 ? -1 : aLow;
        }
      }
    }
    exports2.search = function search(aNeedle, aHaystack, aCompare, aBias) {
      if (aHaystack.length === 0) {
        return -1;
      }
      var index = recursiveSearch(
        -1,
        aHaystack.length,
        aNeedle,
        aHaystack,
        aCompare,
        aBias || exports2.GREATEST_LOWER_BOUND
      );
      if (index < 0) {
        return -1;
      }
      while (index - 1 >= 0) {
        if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {
          break;
        }
        --index;
      }
      return index;
    };
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js
var require_quick_sort = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/quick-sort.js"(exports2) {
    function swap(ary, x, y) {
      var temp = ary[x];
      ary[x] = ary[y];
      ary[y] = temp;
    }
    function randomIntInRange(low, high) {
      return Math.round(low + Math.random() * (high - low));
    }
    function doQuickSort(ary, comparator, p, r) {
      if (p < r) {
        var pivotIndex = randomIntInRange(p, r);
        var i = p - 1;
        swap(ary, pivotIndex, r);
        var pivot = ary[r];
        for (var j = p; j < r; j++) {
          if (comparator(ary[j], pivot) <= 0) {
            i += 1;
            swap(ary, i, j);
          }
        }
        swap(ary, i + 1, j);
        var q = i + 1;
        doQuickSort(ary, comparator, p, q - 1);
        doQuickSort(ary, comparator, q + 1, r);
      }
    }
    exports2.quickSort = function(ary, comparator) {
      doQuickSort(ary, comparator, 0, ary.length - 1);
    };
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js
var require_source_map_consumer = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-map-consumer.js"(exports2) {
    var util = require_util4();
    var binarySearch = require_binary_search();
    var ArraySet = require_array_set().ArraySet;
    var base64VLQ = require_base64_vlq();
    var quickSort = require_quick_sort().quickSort;
    function SourceMapConsumer(aSourceMap, aSourceMapURL) {
      var sourceMap = aSourceMap;
      if (typeof aSourceMap === "string") {
        sourceMap = util.parseSourceMapInput(aSourceMap);
      }
      return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL) : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);
    }
    SourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {
      return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);
    };
    SourceMapConsumer.prototype._version = 3;
    SourceMapConsumer.prototype.__generatedMappings = null;
    Object.defineProperty(SourceMapConsumer.prototype, "_generatedMappings", {
      configurable: true,
      enumerable: true,
      get: function() {
        if (!this.__generatedMappings) {
          this._parseMappings(this._mappings, this.sourceRoot);
        }
        return this.__generatedMappings;
      }
    });
    SourceMapConsumer.prototype.__originalMappings = null;
    Object.defineProperty(SourceMapConsumer.prototype, "_originalMappings", {
      configurable: true,
      enumerable: true,
      get: function() {
        if (!this.__originalMappings) {
          this._parseMappings(this._mappings, this.sourceRoot);
        }
        return this.__originalMappings;
      }
    });
    SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) {
      var c = aStr.charAt(index);
      return c === ";" || c === ",";
    };
    SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
      throw new Error("Subclasses must implement _parseMappings");
    };
    SourceMapConsumer.GENERATED_ORDER = 1;
    SourceMapConsumer.ORIGINAL_ORDER = 2;
    SourceMapConsumer.GREATEST_LOWER_BOUND = 1;
    SourceMapConsumer.LEAST_UPPER_BOUND = 2;
    SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {
      var context = aContext || null;
      var order = aOrder || SourceMapConsumer.GENERATED_ORDER;
      var mappings;
      switch (order) {
        case SourceMapConsumer.GENERATED_ORDER:
          mappings = this._generatedMappings;
          break;
        case SourceMapConsumer.ORIGINAL_ORDER:
          mappings = this._originalMappings;
          break;
        default:
          throw new Error("Unknown order of iteration.");
      }
      var sourceRoot = this.sourceRoot;
      mappings.map(function(mapping) {
        var source = mapping.source === null ? null : this._sources.at(mapping.source);
        source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);
        return {
          source,
          generatedLine: mapping.generatedLine,
          generatedColumn: mapping.generatedColumn,
          originalLine: mapping.originalLine,
          originalColumn: mapping.originalColumn,
          name: mapping.name === null ? null : this._names.at(mapping.name)
        };
      }, this).forEach(aCallback, context);
    };
    SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {
      var line = util.getArg(aArgs, "line");
      var needle = {
        source: util.getArg(aArgs, "source"),
        originalLine: line,
        originalColumn: util.getArg(aArgs, "column", 0)
      };
      needle.source = this._findSourceIndex(needle.source);
      if (needle.source < 0) {
        return [];
      }
      var mappings = [];
      var index = this._findMapping(
        needle,
        this._originalMappings,
        "originalLine",
        "originalColumn",
        util.compareByOriginalPositions,
        binarySearch.LEAST_UPPER_BOUND
      );
      if (index >= 0) {
        var mapping = this._originalMappings[index];
        if (aArgs.column === void 0) {
          var originalLine = mapping.originalLine;
          while (mapping && mapping.originalLine === originalLine) {
            mappings.push({
              line: util.getArg(mapping, "generatedLine", null),
              column: util.getArg(mapping, "generatedColumn", null),
              lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
            });
            mapping = this._originalMappings[++index];
          }
        } else {
          var originalColumn = mapping.originalColumn;
          while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) {
            mappings.push({
              line: util.getArg(mapping, "generatedLine", null),
              column: util.getArg(mapping, "generatedColumn", null),
              lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
            });
            mapping = this._originalMappings[++index];
          }
        }
      }
      return mappings;
    };
    exports2.SourceMapConsumer = SourceMapConsumer;
    function BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {
      var sourceMap = aSourceMap;
      if (typeof aSourceMap === "string") {
        sourceMap = util.parseSourceMapInput(aSourceMap);
      }
      var version2 = util.getArg(sourceMap, "version");
      var sources = util.getArg(sourceMap, "sources");
      var names = util.getArg(sourceMap, "names", []);
      var sourceRoot = util.getArg(sourceMap, "sourceRoot", null);
      var sourcesContent = util.getArg(sourceMap, "sourcesContent", null);
      var mappings = util.getArg(sourceMap, "mappings");
      var file = util.getArg(sourceMap, "file", null);
      if (version2 != this._version) {
        throw new Error("Unsupported version: " + version2);
      }
      if (sourceRoot) {
        sourceRoot = util.normalize(sourceRoot);
      }
      sources = sources.map(String).map(util.normalize).map(function(source) {
        return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source;
      });
      this._names = ArraySet.fromArray(names.map(String), true);
      this._sources = ArraySet.fromArray(sources, true);
      this._absoluteSources = this._sources.toArray().map(function(s) {
        return util.computeSourceURL(sourceRoot, s, aSourceMapURL);
      });
      this.sourceRoot = sourceRoot;
      this.sourcesContent = sourcesContent;
      this._mappings = mappings;
      this._sourceMapURL = aSourceMapURL;
      this.file = file;
    }
    BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
    BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;
    BasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {
      var relativeSource = aSource;
      if (this.sourceRoot != null) {
        relativeSource = util.relative(this.sourceRoot, relativeSource);
      }
      if (this._sources.has(relativeSource)) {
        return this._sources.indexOf(relativeSource);
      }
      var i;
      for (i = 0; i < this._absoluteSources.length; ++i) {
        if (this._absoluteSources[i] == aSource) {
          return i;
        }
      }
      return -1;
    };
    BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {
      var smc = Object.create(BasicSourceMapConsumer.prototype);
      var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);
      var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);
      smc.sourceRoot = aSourceMap._sourceRoot;
      smc.sourcesContent = aSourceMap._generateSourcesContent(
        smc._sources.toArray(),
        smc.sourceRoot
      );
      smc.file = aSourceMap._file;
      smc._sourceMapURL = aSourceMapURL;
      smc._absoluteSources = smc._sources.toArray().map(function(s) {
        return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);
      });
      var generatedMappings = aSourceMap._mappings.toArray().slice();
      var destGeneratedMappings = smc.__generatedMappings = [];
      var destOriginalMappings = smc.__originalMappings = [];
      for (var i = 0, length = generatedMappings.length; i < length; i++) {
        var srcMapping = generatedMappings[i];
        var destMapping = new Mapping();
        destMapping.generatedLine = srcMapping.generatedLine;
        destMapping.generatedColumn = srcMapping.generatedColumn;
        if (srcMapping.source) {
          destMapping.source = sources.indexOf(srcMapping.source);
          destMapping.originalLine = srcMapping.originalLine;
          destMapping.originalColumn = srcMapping.originalColumn;
          if (srcMapping.name) {
            destMapping.name = names.indexOf(srcMapping.name);
          }
          destOriginalMappings.push(destMapping);
        }
        destGeneratedMappings.push(destMapping);
      }
      quickSort(smc.__originalMappings, util.compareByOriginalPositions);
      return smc;
    };
    BasicSourceMapConsumer.prototype._version = 3;
    Object.defineProperty(BasicSourceMapConsumer.prototype, "sources", {
      get: function() {
        return this._absoluteSources.slice();
      }
    });
    function Mapping() {
      this.generatedLine = 0;
      this.generatedColumn = 0;
      this.source = null;
      this.originalLine = null;
      this.originalColumn = null;
      this.name = null;
    }
    BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {
      var generatedLine = 1;
      var previousGeneratedColumn = 0;
      var previousOriginalLine = 0;
      var previousOriginalColumn = 0;
      var previousSource = 0;
      var previousName = 0;
      var length = aStr.length;
      var index = 0;
      var cachedSegments = {};
      var temp = {};
      var originalMappings = [];
      var generatedMappings = [];
      var mapping, str, segment, end, value;
      while (index < length) {
        if (aStr.charAt(index) === ";") {
          generatedLine++;
          index++;
          previousGeneratedColumn = 0;
        } else if (aStr.charAt(index) === ",") {
          index++;
        } else {
          mapping = new Mapping();
          mapping.generatedLine = generatedLine;
          for (end = index; end < length; end++) {
            if (this._charIsMappingSeparator(aStr, end)) {
              break;
            }
          }
          str = aStr.slice(index, end);
          segment = cachedSegments[str];
          if (segment) {
            index += str.length;
          } else {
            segment = [];
            while (index < end) {
              base64VLQ.decode(aStr, index, temp);
              value = temp.value;
              index = temp.rest;
              segment.push(value);
            }
            if (segment.length === 2) {
              throw new Error("Found a source, but no line and column");
            }
            if (segment.length === 3) {
              throw new Error("Found a source and line, but no column");
            }
            cachedSegments[str] = segment;
          }
          mapping.generatedColumn = previousGeneratedColumn + segment[0];
          previousGeneratedColumn = mapping.generatedColumn;
          if (segment.length > 1) {
            mapping.source = previousSource + segment[1];
            previousSource += segment[1];
            mapping.originalLine = previousOriginalLine + segment[2];
            previousOriginalLine = mapping.originalLine;
            mapping.originalLine += 1;
            mapping.originalColumn = previousOriginalColumn + segment[3];
            previousOriginalColumn = mapping.originalColumn;
            if (segment.length > 4) {
              mapping.name = previousName + segment[4];
              previousName += segment[4];
            }
          }
          generatedMappings.push(mapping);
          if (typeof mapping.originalLine === "number") {
            originalMappings.push(mapping);
          }
        }
      }
      quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);
      this.__generatedMappings = generatedMappings;
      quickSort(originalMappings, util.compareByOriginalPositions);
      this.__originalMappings = originalMappings;
    };
    BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) {
      if (aNeedle[aLineName] <= 0) {
        throw new TypeError("Line must be greater than or equal to 1, got " + aNeedle[aLineName]);
      }
      if (aNeedle[aColumnName] < 0) {
        throw new TypeError("Column must be greater than or equal to 0, got " + aNeedle[aColumnName]);
      }
      return binarySearch.search(aNeedle, aMappings, aComparator, aBias);
    };
    BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() {
      for (var index = 0; index < this._generatedMappings.length; ++index) {
        var mapping = this._generatedMappings[index];
        if (index + 1 < this._generatedMappings.length) {
          var nextMapping = this._generatedMappings[index + 1];
          if (mapping.generatedLine === nextMapping.generatedLine) {
            mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;
            continue;
          }
        }
        mapping.lastGeneratedColumn = Infinity;
      }
    };
    BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) {
      var needle = {
        generatedLine: util.getArg(aArgs, "line"),
        generatedColumn: util.getArg(aArgs, "column")
      };
      var index = this._findMapping(
        needle,
        this._generatedMappings,
        "generatedLine",
        "generatedColumn",
        util.compareByGeneratedPositionsDeflated,
        util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
      );
      if (index >= 0) {
        var mapping = this._generatedMappings[index];
        if (mapping.generatedLine === needle.generatedLine) {
          var source = util.getArg(mapping, "source", null);
          if (source !== null) {
            source = this._sources.at(source);
            source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);
          }
          var name = util.getArg(mapping, "name", null);
          if (name !== null) {
            name = this._names.at(name);
          }
          return {
            source,
            line: util.getArg(mapping, "originalLine", null),
            column: util.getArg(mapping, "originalColumn", null),
            name
          };
        }
      }
      return {
        source: null,
        line: null,
        column: null,
        name: null
      };
    };
    BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() {
      if (!this.sourcesContent) {
        return false;
      }
      return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function(sc) {
        return sc == null;
      });
    };
    BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
      if (!this.sourcesContent) {
        return null;
      }
      var index = this._findSourceIndex(aSource);
      if (index >= 0) {
        return this.sourcesContent[index];
      }
      var relativeSource = aSource;
      if (this.sourceRoot != null) {
        relativeSource = util.relative(this.sourceRoot, relativeSource);
      }
      var url;
      if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) {
        var fileUriAbsPath = relativeSource.replace(/^file:\/\//, "");
        if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) {
          return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)];
        }
        if ((!url.path || url.path == "/") && this._sources.has("/" + relativeSource)) {
          return this.sourcesContent[this._sources.indexOf("/" + relativeSource)];
        }
      }
      if (nullOnMissing) {
        return null;
      } else {
        throw new Error('"' + relativeSource + '" is not in the SourceMap.');
      }
    };
    BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) {
      var source = util.getArg(aArgs, "source");
      source = this._findSourceIndex(source);
      if (source < 0) {
        return {
          line: null,
          column: null,
          lastColumn: null
        };
      }
      var needle = {
        source,
        originalLine: util.getArg(aArgs, "line"),
        originalColumn: util.getArg(aArgs, "column")
      };
      var index = this._findMapping(
        needle,
        this._originalMappings,
        "originalLine",
        "originalColumn",
        util.compareByOriginalPositions,
        util.getArg(aArgs, "bias", SourceMapConsumer.GREATEST_LOWER_BOUND)
      );
      if (index >= 0) {
        var mapping = this._originalMappings[index];
        if (mapping.source === needle.source) {
          return {
            line: util.getArg(mapping, "generatedLine", null),
            column: util.getArg(mapping, "generatedColumn", null),
            lastColumn: util.getArg(mapping, "lastGeneratedColumn", null)
          };
        }
      }
      return {
        line: null,
        column: null,
        lastColumn: null
      };
    };
    exports2.BasicSourceMapConsumer = BasicSourceMapConsumer;
    function IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {
      var sourceMap = aSourceMap;
      if (typeof aSourceMap === "string") {
        sourceMap = util.parseSourceMapInput(aSourceMap);
      }
      var version2 = util.getArg(sourceMap, "version");
      var sections = util.getArg(sourceMap, "sections");
      if (version2 != this._version) {
        throw new Error("Unsupported version: " + version2);
      }
      this._sources = new ArraySet();
      this._names = new ArraySet();
      var lastOffset = {
        line: -1,
        column: 0
      };
      this._sections = sections.map(function(s) {
        if (s.url) {
          throw new Error("Support for url field in sections not implemented.");
        }
        var offset = util.getArg(s, "offset");
        var offsetLine = util.getArg(offset, "line");
        var offsetColumn = util.getArg(offset, "column");
        if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) {
          throw new Error("Section offsets must be ordered and non-overlapping.");
        }
        lastOffset = offset;
        return {
          generatedOffset: {
            // The offset fields are 0-based, but we use 1-based indices when
            // encoding/decoding from VLQ.
            generatedLine: offsetLine + 1,
            generatedColumn: offsetColumn + 1
          },
          consumer: new SourceMapConsumer(util.getArg(s, "map"), aSourceMapURL)
        };
      });
    }
    IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);
    IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;
    IndexedSourceMapConsumer.prototype._version = 3;
    Object.defineProperty(IndexedSourceMapConsumer.prototype, "sources", {
      get: function() {
        var sources = [];
        for (var i = 0; i < this._sections.length; i++) {
          for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {
            sources.push(this._sections[i].consumer.sources[j]);
          }
        }
        return sources;
      }
    });
    IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) {
      var needle = {
        generatedLine: util.getArg(aArgs, "line"),
        generatedColumn: util.getArg(aArgs, "column")
      };
      var sectionIndex = binarySearch.search(
        needle,
        this._sections,
        function(needle2, section2) {
          var cmp = needle2.generatedLine - section2.generatedOffset.generatedLine;
          if (cmp) {
            return cmp;
          }
          return needle2.generatedColumn - section2.generatedOffset.generatedColumn;
        }
      );
      var section = this._sections[sectionIndex];
      if (!section) {
        return {
          source: null,
          line: null,
          column: null,
          name: null
        };
      }
      return section.consumer.originalPositionFor({
        line: needle.generatedLine - (section.generatedOffset.generatedLine - 1),
        column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
        bias: aArgs.bias
      });
    };
    IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() {
      return this._sections.every(function(s) {
        return s.consumer.hasContentsOfAllSources();
      });
    };
    IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {
      for (var i = 0; i < this._sections.length; i++) {
        var section = this._sections[i];
        var content = section.consumer.sourceContentFor(aSource, true);
        if (content) {
          return content;
        }
      }
      if (nullOnMissing) {
        return null;
      } else {
        throw new Error('"' + aSource + '" is not in the SourceMap.');
      }
    };
    IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {
      for (var i = 0; i < this._sections.length; i++) {
        var section = this._sections[i];
        if (section.consumer._findSourceIndex(util.getArg(aArgs, "source")) === -1) {
          continue;
        }
        var generatedPosition = section.consumer.generatedPositionFor(aArgs);
        if (generatedPosition) {
          var ret2 = {
            line: generatedPosition.line + (section.generatedOffset.generatedLine - 1),
            column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0)
          };
          return ret2;
        }
      }
      return {
        line: null,
        column: null
      };
    };
    IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {
      this.__generatedMappings = [];
      this.__originalMappings = [];
      for (var i = 0; i < this._sections.length; i++) {
        var section = this._sections[i];
        var sectionMappings = section.consumer._generatedMappings;
        for (var j = 0; j < sectionMappings.length; j++) {
          var mapping = sectionMappings[j];
          var source = section.consumer._sources.at(mapping.source);
          source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);
          this._sources.add(source);
          source = this._sources.indexOf(source);
          var name = null;
          if (mapping.name) {
            name = section.consumer._names.at(mapping.name);
            this._names.add(name);
            name = this._names.indexOf(name);
          }
          var adjustedMapping = {
            source,
            generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1),
            generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0),
            originalLine: mapping.originalLine,
            originalColumn: mapping.originalColumn,
            name
          };
          this.__generatedMappings.push(adjustedMapping);
          if (typeof adjustedMapping.originalLine === "number") {
            this.__originalMappings.push(adjustedMapping);
          }
        }
      }
      quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);
      quickSort(this.__originalMappings, util.compareByOriginalPositions);
    };
    exports2.IndexedSourceMapConsumer = IndexedSourceMapConsumer;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js
var require_source_node = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/lib/source-node.js"(exports2) {
    var SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
    var util = require_util4();
    var REGEX_NEWLINE = /(\r?\n)/;
    var NEWLINE_CODE = 10;
    var isSourceNode = "$$$isSourceNode$$$";
    function SourceNode(aLine, aColumn, aSource, aChunks, aName) {
      this.children = [];
      this.sourceContents = {};
      this.line = aLine == null ? null : aLine;
      this.column = aColumn == null ? null : aColumn;
      this.source = aSource == null ? null : aSource;
      this.name = aName == null ? null : aName;
      this[isSourceNode] = true;
      if (aChunks != null) this.add(aChunks);
    }
    SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {
      var node = new SourceNode();
      var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);
      var remainingLinesIndex = 0;
      var shiftNextLine = function() {
        var lineContents = getNextLine();
        var newLine = getNextLine() || "";
        return lineContents + newLine;
        function getNextLine() {
          return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : void 0;
        }
      };
      var lastGeneratedLine = 1, lastGeneratedColumn = 0;
      var lastMapping = null;
      aSourceMapConsumer.eachMapping(function(mapping) {
        if (lastMapping !== null) {
          if (lastGeneratedLine < mapping.generatedLine) {
            addMappingWithCode(lastMapping, shiftNextLine());
            lastGeneratedLine++;
            lastGeneratedColumn = 0;
          } else {
            var nextLine = remainingLines[remainingLinesIndex] || "";
            var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn);
            remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn);
            lastGeneratedColumn = mapping.generatedColumn;
            addMappingWithCode(lastMapping, code);
            lastMapping = mapping;
            return;
          }
        }
        while (lastGeneratedLine < mapping.generatedLine) {
          node.add(shiftNextLine());
          lastGeneratedLine++;
        }
        if (lastGeneratedColumn < mapping.generatedColumn) {
          var nextLine = remainingLines[remainingLinesIndex] || "";
          node.add(nextLine.substr(0, mapping.generatedColumn));
          remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);
          lastGeneratedColumn = mapping.generatedColumn;
        }
        lastMapping = mapping;
      }, this);
      if (remainingLinesIndex < remainingLines.length) {
        if (lastMapping) {
          addMappingWithCode(lastMapping, shiftNextLine());
        }
        node.add(remainingLines.splice(remainingLinesIndex).join(""));
      }
      aSourceMapConsumer.sources.forEach(function(sourceFile) {
        var content = aSourceMapConsumer.sourceContentFor(sourceFile);
        if (content != null) {
          if (aRelativePath != null) {
            sourceFile = util.join(aRelativePath, sourceFile);
          }
          node.setSourceContent(sourceFile, content);
        }
      });
      return node;
      function addMappingWithCode(mapping, code) {
        if (mapping === null || mapping.source === void 0) {
          node.add(code);
        } else {
          var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source;
          node.add(new SourceNode(
            mapping.originalLine,
            mapping.originalColumn,
            source,
            code,
            mapping.name
          ));
        }
      }
    };
    SourceNode.prototype.add = function SourceNode_add(aChunk) {
      if (Array.isArray(aChunk)) {
        aChunk.forEach(function(chunk) {
          this.add(chunk);
        }, this);
      } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
        if (aChunk) {
          this.children.push(aChunk);
        }
      } else {
        throw new TypeError(
          "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
        );
      }
      return this;
    };
    SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {
      if (Array.isArray(aChunk)) {
        for (var i = aChunk.length - 1; i >= 0; i--) {
          this.prepend(aChunk[i]);
        }
      } else if (aChunk[isSourceNode] || typeof aChunk === "string") {
        this.children.unshift(aChunk);
      } else {
        throw new TypeError(
          "Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk
        );
      }
      return this;
    };
    SourceNode.prototype.walk = function SourceNode_walk(aFn) {
      var chunk;
      for (var i = 0, len = this.children.length; i < len; i++) {
        chunk = this.children[i];
        if (chunk[isSourceNode]) {
          chunk.walk(aFn);
        } else {
          if (chunk !== "") {
            aFn(chunk, {
              source: this.source,
              line: this.line,
              column: this.column,
              name: this.name
            });
          }
        }
      }
    };
    SourceNode.prototype.join = function SourceNode_join(aSep) {
      var newChildren;
      var i;
      var len = this.children.length;
      if (len > 0) {
        newChildren = [];
        for (i = 0; i < len - 1; i++) {
          newChildren.push(this.children[i]);
          newChildren.push(aSep);
        }
        newChildren.push(this.children[i]);
        this.children = newChildren;
      }
      return this;
    };
    SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {
      var lastChild = this.children[this.children.length - 1];
      if (lastChild[isSourceNode]) {
        lastChild.replaceRight(aPattern, aReplacement);
      } else if (typeof lastChild === "string") {
        this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);
      } else {
        this.children.push("".replace(aPattern, aReplacement));
      }
      return this;
    };
    SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) {
      this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;
    };
    SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) {
      for (var i = 0, len = this.children.length; i < len; i++) {
        if (this.children[i][isSourceNode]) {
          this.children[i].walkSourceContents(aFn);
        }
      }
      var sources = Object.keys(this.sourceContents);
      for (var i = 0, len = sources.length; i < len; i++) {
        aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);
      }
    };
    SourceNode.prototype.toString = function SourceNode_toString() {
      var str = "";
      this.walk(function(chunk) {
        str += chunk;
      });
      return str;
    };
    SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {
      var generated = {
        code: "",
        line: 1,
        column: 0
      };
      var map = new SourceMapGenerator(aArgs);
      var sourceMappingActive = false;
      var lastOriginalSource = null;
      var lastOriginalLine = null;
      var lastOriginalColumn = null;
      var lastOriginalName = null;
      this.walk(function(chunk, original) {
        generated.code += chunk;
        if (original.source !== null && original.line !== null && original.column !== null) {
          if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) {
            map.addMapping({
              source: original.source,
              original: {
                line: original.line,
                column: original.column
              },
              generated: {
                line: generated.line,
                column: generated.column
              },
              name: original.name
            });
          }
          lastOriginalSource = original.source;
          lastOriginalLine = original.line;
          lastOriginalColumn = original.column;
          lastOriginalName = original.name;
          sourceMappingActive = true;
        } else if (sourceMappingActive) {
          map.addMapping({
            generated: {
              line: generated.line,
              column: generated.column
            }
          });
          lastOriginalSource = null;
          sourceMappingActive = false;
        }
        for (var idx = 0, length = chunk.length; idx < length; idx++) {
          if (chunk.charCodeAt(idx) === NEWLINE_CODE) {
            generated.line++;
            generated.column = 0;
            if (idx + 1 === length) {
              lastOriginalSource = null;
              sourceMappingActive = false;
            } else if (sourceMappingActive) {
              map.addMapping({
                source: original.source,
                original: {
                  line: original.line,
                  column: original.column
                },
                generated: {
                  line: generated.line,
                  column: generated.column
                },
                name: original.name
              });
            }
          } else {
            generated.column++;
          }
        }
      });
      this.walkSourceContents(function(sourceFile, sourceContent) {
        map.setSourceContent(sourceFile, sourceContent);
      });
      return { code: generated.code, map };
    };
    exports2.SourceNode = SourceNode;
  }
});

// ../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js
var require_source_map = __commonJS({
  "../node_modules/.pnpm/source-map@0.6.1/node_modules/source-map/source-map.js"(exports2) {
    exports2.SourceMapGenerator = require_source_map_generator().SourceMapGenerator;
    exports2.SourceMapConsumer = require_source_map_consumer().SourceMapConsumer;
    exports2.SourceNode = require_source_node().SourceNode;
  }
});

// ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/SyncPromise.js
var require_SyncPromise = __commonJS({
  "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/SyncPromise.js"(exports2, module2) {
    "use strict";
    module2.exports = class SyncPromise {
      constructor(fn) {
        try {
          fn(
            (x) => {
              this.setValue(x, false);
            },
            // resolve
            (x) => {
              this.setValue(x, true);
            }
            // reject
          );
        } catch (e) {
          this.setValue(e, true);
        }
      }
      setValue(x, rejected) {
        this.val = x instanceof SyncPromise ? x.val : x;
        this.rejected = rejected || (x instanceof SyncPromise ? x.rejected : false);
      }
      static valueFrom(x) {
        if (x instanceof SyncPromise) {
          if (x.rejected) throw x.val;
          else return x.val;
        } else {
          return x;
        }
      }
      then(fn) {
        try {
          if (!this.rejected) return SyncPromise.resolve(fn(this.val));
        } catch (e) {
          return SyncPromise.reject(e);
        }
        return this;
      }
      catch(fn) {
        try {
          if (this.rejected) return SyncPromise.resolve(fn(this.val));
        } catch (e) {
          return SyncPromise.reject(e);
        }
        return this;
      }
      static resolve(x) {
        return new SyncPromise((resolve) => {
          resolve(x);
        });
      }
      static reject(x) {
        return new SyncPromise((_, reject) => {
          reject(x);
        });
      }
    };
  }
});

// ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/path.js
var require_path = __commonJS({
  "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/impl/path.js"(exports2, module2) {
    "use strict";
    var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator;
    var cwd = isBrowser ? window.location.href : process.cwd();
    var urlRegexp = new RegExp("^((https|http)://)?[a-z0-9A-Z]{3}.[a-z0-9A-Z][a-z0-9A-Z]{0,61}?[a-z0-9A-Z].com|net|cn|cc (:s[0-9]{1-4})?/$");
    var path2 = module2.exports = {
      concat(a, b) {
        const a_endsWithSlash = a[a.length - 1] === "/", b_startsWithSlash = b[0] === "/";
        return a + (a_endsWithSlash || b_startsWithSlash ? "" : "/") + (a_endsWithSlash && b_startsWithSlash ? b.substring(1) : b);
      },
      resolve(x) {
        if (path2.isAbsolute(x)) {
          return path2.normalize(x);
        }
        return path2.normalize(path2.concat(cwd, x));
      },
      normalize(x) {
        let output = [], skip = 0;
        x.split("/").reverse().filter((x2) => x2 !== ".").forEach((x2) => {
          if (x2 === "..") {
            skip++;
          } else if (skip === 0) {
            output.push(x2);
          } else {
            skip--;
          }
        });
        const result2 = output.reverse().join("/");
        return (isBrowser && result2[0] === "/" ? result2[1] === "/" ? window.location.protocol : window.location.origin : "") + result2;
      },
      isData: (x) => x.indexOf("data:") === 0,
      isURL: (x) => urlRegexp.test(x),
      isAbsolute: (x) => x[0] === "/" || /^[^\/]*:/.test(x),
      relativeToFile(a, b) {
        return path2.isData(a) || path2.isAbsolute(b) ? path2.normalize(b) : path2.normalize(path2.concat(a.split("/").slice(0, -1).join("/"), b));
      }
    };
  }
});

// ../node_modules/.pnpm/data-uri-to-buffer@2.0.2/node_modules/data-uri-to-buffer/index.js
var require_data_uri_to_buffer = __commonJS({
  "../node_modules/.pnpm/data-uri-to-buffer@2.0.2/node_modules/data-uri-to-buffer/index.js"(exports2, module2) {
    "use strict";
    module2.exports = dataUriToBuffer;
    function dataUriToBuffer(uri) {
      if (!/^data\:/i.test(uri)) {
        throw new TypeError(
          '`uri` does not appear to be a Data URI (must begin with "data:")'
        );
      }
      uri = uri.replace(/\r?\n/g, "");
      var firstComma = uri.indexOf(",");
      if (-1 === firstComma || firstComma <= 4) {
        throw new TypeError("malformed data: URI");
      }
      var meta = uri.substring(5, firstComma).split(";");
      var type = meta[0] || "text/plain";
      var typeFull = type;
      var base64 = false;
      var charset = "";
      for (var i = 1; i < meta.length; i++) {
        if ("base64" == meta[i]) {
          base64 = true;
        } else {
          typeFull += ";" + meta[i];
          if (0 == meta[i].indexOf("charset=")) {
            charset = meta[i].substring(8);
          }
        }
      }
      if (!meta[0] && !charset.length) {
        typeFull += ";charset=US-ASCII";
        charset = "US-ASCII";
      }
      var data = unescape(uri.substring(firstComma + 1));
      var encoding = base64 ? "base64" : "ascii";
      var buffer = Buffer.from ? Buffer.from(data, encoding) : new Buffer(data, encoding);
      buffer.type = type;
      buffer.typeFull = typeFull;
      buffer.charset = charset;
      return buffer;
    }
  }
});

// ../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/get-source.js
var require_get_source = __commonJS({
  "../node_modules/.pnpm/get-source@2.0.12/node_modules/get-source/get-source.js"(exports2, module2) {
    "use strict";
    var { assign } = Object;
    var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator;
    var SourceMapConsumer = require_source_map().SourceMapConsumer;
    var SyncPromise = require_SyncPromise();
    var path2 = require_path();
    var dataURIToBuffer = require_data_uri_to_buffer();
    var nodeRequire = isBrowser ? null : module2.require;
    var memoize = (f) => {
      const m = (x) => x in m.cache ? m.cache[x] : m.cache[x] = f(x);
      m.forgetEverything = () => {
        m.cache = /* @__PURE__ */ Object.create(null);
      };
      m.cache = /* @__PURE__ */ Object.create(null);
      return m;
    };
    function impl(fetchFile, sync) {
      const PromiseImpl = sync ? SyncPromise : Promise;
      const SourceFileMemoized = memoize((path3) => SourceFile(path3, fetchFile(path3)));
      function SourceFile(srcPath, text) {
        if (text === void 0) return SourceFileMemoized(path2.resolve(srcPath));
        return PromiseImpl.resolve(text).then((text2) => {
          let file;
          let lines;
          let resolver;
          let _resolve = (loc) => (resolver = resolver || SourceMapResolverFromFetchedFile(file))(loc);
          return file = {
            path: srcPath,
            text: text2,
            get lines() {
              return lines = lines || text2.split("\n");
            },
            resolve(loc) {
              const result2 = _resolve(loc);
              if (sync) {
                try {
                  return SyncPromise.valueFrom(result2);
                } catch (e) {
                  return assign({}, loc, { error: e });
                }
              } else {
                return Promise.resolve(result2);
              }
            },
            _resolve
          };
        });
      }
      function SourceMapResolverFromFetchedFile(file) {
        const re = /\u0023 sourceMappingURL=(.+)\n?/g;
        let lastMatch = void 0;
        while (true) {
          const match = re.exec(file.text);
          if (match) lastMatch = match;
          else break;
        }
        const url = lastMatch && lastMatch[1];
        const defaultResolver = (loc) => assign({}, loc, {
          sourceFile: file,
          sourceLine: file.lines[loc.line - 1] || ""
        });
        return url ? SourceMapResolver(file.path, url, defaultResolver) : defaultResolver;
      }
      function SourceMapResolver(originalFilePath, sourceMapPath, fallbackResolve) {
        const srcFile = sourceMapPath.startsWith("data:") ? SourceFile(originalFilePath, dataURIToBuffer(sourceMapPath).toString()) : SourceFile(path2.relativeToFile(originalFilePath, sourceMapPath));
        const parsedMap = srcFile.then((f) => SourceMapConsumer(JSON.parse(f.text)));
        const sourceFor = memoize(function sourceFor2(filePath) {
          return srcFile.then((f) => {
            const fullPath = path2.relativeToFile(f.path, filePath);
            return parsedMap.then((x) => SourceFile(
              fullPath,
              x.sourceContentFor(
                filePath,
                true
                /* return null on missing */
              ) || void 0
            ));
          });
        });
        return (loc) => parsedMap.then((x) => {
          const originalLoc = x.originalPositionFor(loc);
          return originalLoc.source ? sourceFor(originalLoc.source).then(
            (x2) => x2._resolve(assign({}, loc, {
              line: originalLoc.line,
              column: originalLoc.column + 1,
              name: originalLoc.name
            }))
          ) : fallbackResolve(loc);
        }).catch((e) => assign(fallbackResolve(loc), { sourceMapError: e }));
      }
      return assign(function getSource(path3) {
        const file = SourceFile(path3);
        if (sync) {
          try {
            return SyncPromise.valueFrom(file);
          } catch (e) {
            const noFile = {
              path: path3,
              text: "",
              lines: [],
              error: e,
              resolve(loc) {
                return assign({}, loc, { error: e, sourceLine: "", sourceFile: noFile });
              }
            };
            return noFile;
          }
        }
        return file;
      }, {
        resetCache: () => SourceFileMemoized.forgetEverything(),
        getCache: () => SourceFileMemoized.cache
      });
    }
    module2.exports = impl(function fetchFileSync(path3) {
      return new SyncPromise((resolve) => {
        if (isBrowser) {
          let xhr = new XMLHttpRequest();
          xhr.open(
            "GET",
            path3,
            false
            /* SYNCHRONOUS XHR FTW :) */
          );
          xhr.send(null);
          resolve(xhr.responseText);
        } else {
          resolve(nodeRequire("fs").readFileSync(path3, { encoding: "utf8" }));
        }
      });
    }, true);
    module2.exports.async = impl(function fetchFileAsync(path3) {
      return new Promise((resolve, reject) => {
        if (isBrowser) {
          let xhr = new XMLHttpRequest();
          xhr.open("GET", path3);
          xhr.onreadystatechange = (event) => {
            if (xhr.readyState === 4) {
              if (xhr.status === 200) {
                resolve(xhr.responseText);
              } else {
                reject(new Error(xhr.statusText));
              }
            }
          };
          xhr.send(null);
        } else {
          nodeRequire("fs").readFile(path3, { encoding: "utf8" }, (e, x) => {
            e ? reject(e) : resolve(x);
          });
        }
      });
    });
  }
});

// ../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/impl/partition.js
var require_partition3 = __commonJS({
  "../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/impl/partition.js"(exports2, module2) {
    "use strict";
    module2.exports = (arr_, pred) => {
      const arr = arr_ || [], spans = [];
      let span = {
        label: void 0,
        items: [arr.first]
      };
      arr.forEach((x) => {
        const label = pred(x);
        if (span.label !== label && span.items.length) {
          spans.push(span = { label, items: [x] });
        } else {
          span.items.push(x);
        }
      });
      return spans;
    };
  }
});

// ../node_modules/.pnpm/printable-characters@1.0.42/node_modules/printable-characters/build/printable-characters.js
var require_printable_characters = __commonJS({
  "../node_modules/.pnpm/printable-characters@1.0.42/node_modules/printable-characters/build/printable-characters.js"(exports2, module2) {
    "use strict";
    var _slicedToArray = /* @__PURE__ */ function() {
      function sliceIterator(arr, i) {
        var _arr = [];
        var _n = true;
        var _d = false;
        var _e = void 0;
        try {
          for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
            _arr.push(_s.value);
            if (i && _arr.length === i) break;
          }
        } catch (err) {
          _d = true;
          _e = err;
        } finally {
          try {
            if (!_n && _i["return"]) _i["return"]();
          } finally {
            if (_d) throw _e;
          }
        }
        return _arr;
      }
      return function(arr, i) {
        if (Array.isArray(arr)) {
          return arr;
        } else if (Symbol.iterator in Object(arr)) {
          return sliceIterator(arr, i);
        } else {
          throw new TypeError("Invalid attempt to destructure non-iterable instance");
        }
      };
    }();
    var ansiEscapeCode = "[\x1B\x9B][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]";
    var zeroWidthCharacterExceptNewline = "\0-\b\v-\x1B\x9B\xAD\u200B\u2028\u2029\uFEFF\uFE00-\uFE0F";
    var zeroWidthCharacter = "\n" + zeroWidthCharacterExceptNewline;
    var zeroWidthCharactersExceptNewline = new RegExp("(?:" + ansiEscapeCode + ")|[" + zeroWidthCharacterExceptNewline + "]", "g");
    var zeroWidthCharacters = new RegExp("(?:" + ansiEscapeCode + ")|[" + zeroWidthCharacter + "]", "g");
    var partition = new RegExp("((?:" + ansiEscapeCode + ")|[	" + zeroWidthCharacter + "])?([^	" + zeroWidthCharacter + "]*)", "g");
    module2.exports = {
      zeroWidthCharacters,
      ansiEscapeCodes: new RegExp(ansiEscapeCode, "g"),
      strlen: (s) => Array.from(s.replace(zeroWidthCharacters, "")).length,
      // Array.from solves the emoji problem as described here: http://blog.jonnew.com/posts/poo-dot-length-equals-two
      isBlank: (s) => s.replace(zeroWidthCharacters, "").replace(/\s/g, "").length === 0,
      blank: (s) => Array.from(s.replace(zeroWidthCharactersExceptNewline, "")).map((x) => x === "	" || x === "\n" ? x : " ").join(""),
      partition(s) {
        for (var m, spans = []; partition.lastIndex !== s.length && (m = partition.exec(s)); ) {
          spans.push([m[1] || "", m[2]]);
        }
        partition.lastIndex = 0;
        return spans;
      },
      first(s, n) {
        let result2 = "", length = 0;
        for (const _ref of module2.exports.partition(s)) {
          var _ref2 = _slicedToArray(_ref, 2);
          const nonPrintable = _ref2[0];
          const printable = _ref2[1];
          const text = Array.from(printable).slice(0, n - length);
          result2 += nonPrintable + text.join("");
          length += text.length;
        }
        return result2;
      }
    };
  }
});

// ../node_modules/.pnpm/as-table@1.0.55/node_modules/as-table/build/as-table.js
var require_as_table = __commonJS({
  "../node_modules/.pnpm/as-table@1.0.55/node_modules/as-table/build/as-table.js"(exports2, module2) {
    "use strict";
    function _toConsumableArray(arr) {
      if (Array.isArray(arr)) {
        for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];
        return arr2;
      } else {
        return Array.from(arr);
      }
    }
    var O = Object;
    var _require = require_printable_characters();
    var first = _require.first;
    var strlen = _require.strlen;
    var limit = (s, n) => first(s, n - 1) + "\u2026";
    var asColumns = (rows, cfg_) => {
      const zip = (arrs, f) => arrs.reduce((a, b) => b.map((b2, i) => [].concat(_toConsumableArray(a[i] || []), [b2])), []).map((args) => f.apply(void 0, _toConsumableArray(args))), cells = rows.map((r) => r.map((c) => c.replace(/\n/g, "\\n"))), cellWidths = cells.map((r) => r.map(strlen)), maxWidths = zip(cellWidths, Math.max), cfg = O.assign({
        delimiter: "  ",
        minColumnWidths: maxWidths.map((x) => 0),
        maxTotalWidth: 0
      }, cfg_), delimiterLength = strlen(cfg.delimiter), totalWidth = maxWidths.reduce((a, b) => a + b, 0), relativeWidths = maxWidths.map((w) => w / totalWidth), maxTotalWidth = cfg.maxTotalWidth - delimiterLength * (maxWidths.length - 1), excessWidth = Math.max(0, totalWidth - maxTotalWidth), computedWidths = zip([cfg.minColumnWidths, maxWidths, relativeWidths], (min, max, relative) => Math.max(min, Math.floor(max - excessWidth * relative))), restCellWidths = cellWidths.map((widths) => zip([computedWidths, widths], (a, b) => a - b));
      return zip([cells, restCellWidths], (a, b) => zip([a, b], (str, w) => w >= 0 ? cfg.right ? " ".repeat(w) + str : str + " ".repeat(w) : limit(str, strlen(str) + w)).join(cfg.delimiter));
    };
    var asTable = (cfg) => O.assign((arr) => {
      var _ref;
      if (arr[0] && Array.isArray(arr[0])) {
        return asColumns(arr.map((r) => r.map((c, i) => c === void 0 ? "" : cfg.print(c, i))), cfg).join("\n");
      }
      const colNames = [].concat(_toConsumableArray(new Set((_ref = []).concat.apply(_ref, _toConsumableArray(arr.map(O.keys)))))), columns = [colNames.map(cfg.title)].concat(_toConsumableArray(arr.map((o) => colNames.map((key) => o[key] === void 0 ? "" : cfg.print(o[key], key))))), lines = asColumns(columns, cfg);
      return (cfg.dash ? [lines[0], cfg.dash.repeat(strlen(lines[0]))].concat(_toConsumableArray(lines.slice(1))) : lines).join("\n");
    }, cfg, {
      configure: (newConfig) => asTable(O.assign({}, cfg, newConfig))
    });
    module2.exports = asTable({
      maxTotalWidth: Number.MAX_SAFE_INTEGER,
      print: String,
      title: String,
      dash: "-",
      right: false
    });
  }
});

// ../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/stacktracey.js
var require_stacktracey = __commonJS({
  "../node_modules/.pnpm/stacktracey@2.1.8/node_modules/stacktracey/stacktracey.js"(exports2, module2) {
    "use strict";
    var O = Object;
    var isBrowser = typeof window !== "undefined" && window.window === window && window.navigator;
    var nodeRequire = isBrowser ? null : module2.require;
    var lastOf = (x) => x[x.length - 1];
    var getSource = require_get_source();
    var partition = require_partition3();
    var asTable = require_as_table();
    var nixSlashes = (x) => x.replace(/\\/g, "/");
    var pathRoot = isBrowser ? window.location.href : nixSlashes(process.cwd()) + "/";
    var StackTracey = class _StackTracey {
      constructor(input, offset) {
        const originalInput = input, isParseableSyntaxError = input && (input instanceof SyntaxError && !isBrowser);
        if (!input) {
          input = new Error();
          offset = offset === void 0 ? 1 : offset;
        }
        if (input instanceof Error) {
          input = input.stack || "";
        }
        if (typeof input === "string") {
          input = this.rawParse(input).slice(offset).map((x) => this.extractEntryMetadata(x));
        }
        if (Array.isArray(input)) {
          if (isParseableSyntaxError) {
            const rawLines = nodeRequire("util").inspect(originalInput).split("\n"), fileLine = rawLines[0].split(":"), line = fileLine.pop(), file = fileLine.join(":");
            if (file) {
              input.unshift({
                file: nixSlashes(file),
                line,
                column: (rawLines[2] || "").indexOf("^") + 1,
                sourceLine: rawLines[1],
                callee: "(syntax error)",
                syntaxError: true
              });
            }
          }
          this.items = input;
        } else {
          this.items = [];
        }
      }
      extractEntryMetadata(e) {
        const decomposedPath = this.decomposePath(e.file || "");
        const fileRelative = decomposedPath[0];
        const externalDomain = decomposedPath[1];
        return O.assign(e, {
          calleeShort: e.calleeShort || lastOf((e.callee || "").split(".")),
          fileRelative,
          fileShort: this.shortenPath(fileRelative),
          fileName: lastOf((e.file || "").split("/")),
          thirdParty: this.isThirdParty(fileRelative, externalDomain) && !e.index,
          externalDomain
        });
      }
      shortenPath(relativePath) {
        return relativePath.replace(/^node_modules\//, "").replace(/^webpack\/bootstrap\//, "").replace(/^__parcel_source_root\//, "");
      }
      decomposePath(fullPath) {
        let result2 = fullPath;
        if (isBrowser) result2 = result2.replace(pathRoot, "");
        const externalDomainMatch = result2.match(/^(http|https)\:\/\/?([^\/]+)\/(.*)/);
        const externalDomain = externalDomainMatch ? externalDomainMatch[2] : void 0;
        result2 = externalDomainMatch ? externalDomainMatch[3] : result2;
        if (!isBrowser) result2 = nodeRequire("path").relative(pathRoot, result2);
        return [
          nixSlashes(result2).replace(/^.*\:\/\/?\/?/, ""),
          // cut webpack:/// and webpack:/ things
          externalDomain
        ];
      }
      isThirdParty(relativePath, externalDomain) {
        return externalDomain || relativePath[0] === "~" || // webpack-specific heuristic
        relativePath[0] === "/" || // external source
        relativePath.indexOf("node_modules") === 0 || relativePath.indexOf("webpack/bootstrap") === 0;
      }
      rawParse(str) {
        const lines = (str || "").split("\n");
        const entries = lines.map((line) => {
          line = line.trim();
          let callee, fileLineColumn = [], native, planA, planB;
          if ((planA = line.match(/at (.+) \(eval at .+ \((.+)\), .+\)/)) || // eval calls
          (planA = line.match(/at (.+) \((.+)\)/)) || line.slice(0, 3) !== "at " && (planA = line.match(/(.*)@(.*)/))) {
            callee = planA[1];
            native = planA[2] === "native";
            fileLineColumn = (planA[2].match(/(.*):(\d+):(\d+)/) || planA[2].match(/(.*):(\d+)/) || []).slice(1);
          } else if (planB = line.match(/^(at\s+)*(.+):(\d+):(\d+)/)) {
            fileLineColumn = planB.slice(2);
          } else {
            return void 0;
          }
          if (callee && !fileLineColumn[0]) {
            const type = callee.split(".")[0];
            if (type === "Array") {
              native = true;
            }
          }
          return {
            beforeParse: line,
            callee: callee || "",
            index: isBrowser && fileLineColumn[0] === window.location.href,
            native: native || false,
            file: nixSlashes(fileLineColumn[0] || ""),
            line: parseInt(fileLineColumn[1] || "", 10) || void 0,
            column: parseInt(fileLineColumn[2] || "", 10) || void 0
          };
        });
        return entries.filter((x) => x !== void 0);
      }
      withSourceAt(i) {
        return this.items[i] && this.withSource(this.items[i]);
      }
      withSourceAsyncAt(i) {
        return this.items[i] && this.withSourceAsync(this.items[i]);
      }
      withSource(loc) {
        if (this.shouldSkipResolving(loc)) {
          return loc;
        } else {
          let resolved = getSource(loc.file || "").resolve(loc);
          if (!resolved.sourceFile) {
            return loc;
          }
          return this.withSourceResolved(loc, resolved);
        }
      }
      withSourceAsync(loc) {
        if (this.shouldSkipResolving(loc)) {
          return Promise.resolve(loc);
        } else {
          return getSource.async(loc.file || "").then((x) => x.resolve(loc)).then((resolved) => this.withSourceResolved(loc, resolved)).catch((e) => this.withSourceResolved(loc, { error: e, sourceLine: "" }));
        }
      }
      shouldSkipResolving(loc) {
        return loc.sourceFile || loc.error || loc.file && loc.file.indexOf("<") >= 0;
      }
      withSourceResolved(loc, resolved) {
        if (resolved.sourceFile && !resolved.sourceFile.error) {
          resolved.file = nixSlashes(resolved.sourceFile.path);
          resolved = this.extractEntryMetadata(resolved);
        }
        if (resolved.sourceLine.includes("// @hide")) {
          resolved.sourceLine = resolved.sourceLine.replace("// @hide", "");
          resolved.hide = true;
        }
        if (resolved.sourceLine.includes("__webpack_require__") || // webpack-specific heuristics
        resolved.sourceLine.includes("/******/ ({")) {
          resolved.thirdParty = true;
        }
        return O.assign({ sourceLine: "" }, loc, resolved);
      }
      withSources() {
        return this.map((x) => this.withSource(x));
      }
      withSourcesAsync() {
        return Promise.all(this.items.map((x) => this.withSourceAsync(x))).then((items) => new _StackTracey(items));
      }
      mergeRepeatedLines() {
        return new _StackTracey(
          partition(this.items, (e) => e.file + e.line).map(
            (group) => {
              return group.items.slice(1).reduce((memo, entry) => {
                memo.callee = (memo.callee || "<anonymous>") + " \u2192 " + (entry.callee || "<anonymous>");
                memo.calleeShort = (memo.calleeShort || "<anonymous>") + " \u2192 " + (entry.calleeShort || "<anonymous>");
                return memo;
              }, O.assign({}, group.items[0]));
            }
          )
        );
      }
      clean() {
        const s = this.withSources().mergeRepeatedLines();
        return s.filter(s.isClean.bind(s));
      }
      cleanAsync() {
        return this.withSourcesAsync().then((s) => {
          s = s.mergeRepeatedLines();
          return s.filter(s.isClean.bind(s));
        });
      }
      isClean(entry, index) {
        return index === 0 || !(entry.thirdParty || entry.hide || entry.native);
      }
      at(i) {
        return O.assign({
          beforeParse: "",
          callee: "<???>",
          index: false,
          native: false,
          file: "<???>",
          line: 0,
          column: 0
        }, this.items[i]);
      }
      asTable(opts) {
        const maxColumnWidths = opts && opts.maxColumnWidths || this.maxColumnWidths();
        const trimEnd = (s, n) => s && (s.length > n ? s.slice(0, n - 1) + "\u2026" : s);
        const trimStart = (s, n) => s && (s.length > n ? "\u2026" + s.slice(-(n - 1)) : s);
        const trimmed = this.map(
          (e) => [
            "at " + trimEnd(e.calleeShort, maxColumnWidths.callee),
            trimStart(e.fileShort && e.fileShort + ":" + e.line || "", maxColumnWidths.file),
            trimEnd((e.sourceLine || "").trim() || "", maxColumnWidths.sourceLine)
          ]
        );
        return asTable(trimmed.items);
      }
      maxColumnWidths() {
        return {
          callee: 30,
          file: 60,
          sourceLine: 80
        };
      }
      static resetCache() {
        getSource.resetCache();
        getSource.async.resetCache();
      }
      static locationsEqual(a, b) {
        return a.file === b.file && a.line === b.line && a.column === b.column;
      }
    };
    ["map", "filter", "slice", "concat"].forEach((method) => {
      StackTracey.prototype[method] = function() {
        return new StackTracey(this.items[method].apply(this.items, arguments));
      };
    });
    module2.exports = StackTracey;
  }
});

// ../cli/default-reporter/lib/reportError.js
var require_reportError = __commonJS({
  "../cli/default-reporter/lib/reportError.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportError = reportError;
    var dedupe_issues_renderer_1 = require_lib20();
    var render_peer_issues_1 = require_lib26();
    var chalk_1 = __importDefault2(require_source());
    var equals_1 = __importDefault2(require_equals2());
    var stacktracey_1 = __importDefault2(require_stacktracey());
    var constants_1 = require_constants();
    stacktracey_1.default.maxColumnWidths = {
      callee: 25,
      file: 350,
      sourceLine: 25
    };
    var highlight = chalk_1.default.yellow;
    var colorPath = chalk_1.default.gray;
    function reportError(logObj, config, peerDependencyRules) {
      const errorInfo = getErrorInfo(logObj, config, peerDependencyRules);
      if (!errorInfo)
        return null;
      let output = formatErrorSummary(errorInfo.title, logObj.err?.code);
      if (logObj.pkgsStack != null) {
        if (logObj.pkgsStack.length > 0) {
          output += `

${formatPkgsStack(logObj.pkgsStack)}`;
        } else if ("prefix" in logObj && logObj.prefix) {
          output += `

This error happened while installing a direct dependency of ${logObj.prefix}`;
        }
      }
      if (errorInfo.body) {
        output += `

${errorInfo.body}`;
      }
      return output;
    }
    function getErrorInfo(logObj, config, peerDependencyRules) {
      if ("err" in logObj && logObj.err) {
        const err = logObj.err;
        switch (err.code) {
          case "ERR_PNPM_UNEXPECTED_STORE":
            return reportUnexpectedStore(err, logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_UNEXPECTED_VIRTUAL_STORE":
            return reportUnexpectedVirtualStoreDir(err, logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_STORE_BREAKING_CHANGE":
            return reportStoreBreakingChange(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_MODULES_BREAKING_CHANGE":
            return reportModulesBreakingChange(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_MODIFIED_DEPENDENCY":
            return reportModifiedDependency(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_LOCKFILE_BREAKING_CHANGE":
            return reportLockfileBreakingChange(err, logObj);
          case "ERR_PNPM_RECURSIVE_RUN_NO_SCRIPT":
            return { title: err.message };
          case "ERR_PNPM_MISSING_TIME":
            return { title: err.message, body: 'If you cannot fix this registry issue, then set "resolution-mode" to "highest".' };
          case "ERR_PNPM_NO_MATCHING_VERSION":
            return formatNoMatchingVersion(err, logObj);
          case "ERR_PNPM_RECURSIVE_FAIL":
            return formatRecursiveCommandSummary(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_BAD_TARBALL_SIZE":
            return reportBadTarballSize(err, logObj);
          case "ELIFECYCLE":
            return reportLifecycleError(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_UNSUPPORTED_ENGINE":
            return reportEngineError(logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_PEER_DEP_ISSUES":
            return reportPeerDependencyIssuesError(err, logObj, peerDependencyRules);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_DEDUPE_CHECK_ISSUES":
            return reportDedupeCheckIssuesError(err, logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER":
            return reportSpecNotSupportedByAnyResolverError(err, logObj);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          case "ERR_PNPM_FETCH_401":
          case "ERR_PNPM_FETCH_403":
            return reportAuthError(err, logObj, config);
          // eslint-disable-line @typescript-eslint/no-explicit-any
          default: {
            if (!err.code?.startsWith?.("ERR_PNPM_")) {
              return formatGenericError(err.message ?? logObj.message, err.stack);
            }
            return {
              title: err.message ?? "",
              body: logObj.hint
            };
          }
        }
      }
      return { title: logObj.message };
    }
    function formatPkgNameVer({ name, version: version2 }) {
      return version2 == null ? name : `${name}@${version2}`;
    }
    function formatPkgsStack(pkgsStack) {
      return `This error happened while installing the dependencies of ${formatPkgNameVer(pkgsStack[0])}${pkgsStack.slice(1).map((pkgInfo) => `${constants_1.EOL} at ${formatPkgNameVer(pkgInfo)}`).join("")}`;
    }
    function formatNoMatchingVersion(err, msg) {
      const meta = msg.packageMeta;
      let output = `The latest release of ${meta.name} is "${meta["dist-tags"].latest}".${constants_1.EOL}`;
      if (!(0, equals_1.default)(Object.keys(meta["dist-tags"]), ["latest"])) {
        output += constants_1.EOL + "Other releases are:" + constants_1.EOL;
        for (const tag in meta["dist-tags"]) {
          if (tag !== "latest") {
            output += `  * ${tag}: ${meta["dist-tags"][tag]}${constants_1.EOL}`;
          }
        }
      }
      output += `${constants_1.EOL}If you need the full list of all ${Object.keys(meta.versions).length} published versions run "$ pnpm view ${meta.name} versions".`;
      return {
        title: err.message,
        body: output
      };
    }
    function reportUnexpectedStore(err, msg) {
      return {
        title: err.message,
        body: `The dependencies at "${msg.modulesDir}" are currently linked from the store at "${msg.expectedStorePath}".

pnpm now wants to use the store at "${msg.actualStorePath}" to link dependencies.

If you want to use the new store location, reinstall your dependencies with "pnpm install".

You may change the global store location by running "pnpm config set store-dir <dir> --global".
(This error may happen if the node_modules was installed with a different major version of pnpm)`
      };
    }
    function reportUnexpectedVirtualStoreDir(err, msg) {
      return {
        title: err.message,
        body: `The dependencies at "${msg.modulesDir}" are currently symlinked from the virtual store directory at "${msg.expected}".

pnpm now wants to use the virtual store at "${msg.actual}" to link dependencies from the store.

If you want to use the new virtual store location, reinstall your dependencies with "pnpm install".

You may change the virtual store location by changing the value of the virtual-store-dir config.`
      };
    }
    function reportStoreBreakingChange(msg) {
      let output = `Store path: ${colorPath(msg.storePath)}

Run "pnpm install" to recreate node_modules.`;
      if (msg.additionalInformation) {
        output = `${output}${constants_1.EOL}${constants_1.EOL}${msg.additionalInformation}`;
      }
      output += formatRelatedSources(msg);
      return {
        title: "The store used for the current node_modules is incompatible with the current version of pnpm",
        body: output
      };
    }
    function reportModulesBreakingChange(msg) {
      let output = `node_modules path: ${colorPath(msg.modulesPath)}

Run ${highlight("pnpm install")} to recreate node_modules.`;
      if (msg.additionalInformation) {
        output = `${output}${constants_1.EOL}${constants_1.EOL}${msg.additionalInformation}`;
      }
      output += formatRelatedSources(msg);
      return {
        title: "The current version of pnpm is not compatible with the available node_modules structure",
        body: output
      };
    }
    function formatRelatedSources(msg) {
      let output = "";
      if (!msg.relatedIssue && !msg.relatedPR)
        return output;
      output += constants_1.EOL;
      if (msg.relatedIssue) {
        output += constants_1.EOL + `Related issue: ${colorPath(`https://github.com/pnpm/pnpm/issues/${msg.relatedIssue}`)}`;
      }
      if (msg.relatedPR) {
        output += constants_1.EOL + `Related PR: ${colorPath(`https://github.com/pnpm/pnpm/pull/${msg.relatedPR}`)}`;
      }
      return output;
    }
    function formatGenericError(errorMessage, stack) {
      if (stack) {
        let prettyStack;
        try {
          prettyStack = new stacktracey_1.default(stack).asTable();
        } catch {
          prettyStack = stack.toString();
        }
        if (prettyStack) {
          return {
            title: errorMessage,
            body: prettyStack
          };
        }
      }
      return { title: errorMessage };
    }
    function formatErrorSummary(message, code) {
      return `${chalk_1.default.bgRed.black(`\u2009${code ?? "ERROR"}\u2009`)} ${chalk_1.default.red(message)}`;
    }
    function reportModifiedDependency(msg) {
      return {
        title: "Packages in the store have been mutated",
        body: `These packages are modified:
${msg.modified.map((pkgPath) => colorPath(pkgPath)).join(constants_1.EOL)}

You can run ${highlight("pnpm install --force")} to refetch the modified packages`
      };
    }
    function reportLockfileBreakingChange(err, msg) {
      return {
        title: err.message,
        body: `Run with the ${highlight("--force")} parameter to recreate the lockfile.`
      };
    }
    function formatRecursiveCommandSummary(msg) {
      const output = constants_1.EOL + `Summary: ${chalk_1.default.red(`${msg.failures.length} fails`)}, ${msg.passes} passes` + constants_1.EOL + constants_1.EOL + msg.failures.map(({ message, prefix }) => {
        return prefix + ":" + constants_1.EOL + formatErrorSummary(message);
      }).join(constants_1.EOL + constants_1.EOL);
      return {
        title: "",
        body: output
      };
    }
    function reportBadTarballSize(err, msg) {
      return {
        title: err.message,
        body: `Seems like you have internet connection issues.
Try running the same command again.
If that doesn't help, try one of the following:

- Set a bigger value for the \`fetch-retries\` config.
    To check the current value of \`fetch-retries\`, run \`pnpm get fetch-retries\`.
    To set a new value, run \`pnpm set fetch-retries <number>\`.

- Set \`network-concurrency\` to 1.
    This change will slow down installation times, so it is recommended to
    delete the config once the internet connection is good again: \`pnpm config delete network-concurrency\`

NOTE: You may also override configs via flags.
For instance, \`pnpm install --fetch-retries 5 --network-concurrency 1\``
      };
    }
    function reportLifecycleError(msg) {
      if (msg.stage === "test") {
        return { title: "Test failed. See above for more details." };
      }
      if (typeof msg.errno === "number") {
        return { title: `Command failed with exit code ${msg.errno}.` };
      }
      return { title: "Command failed." };
    }
    function reportEngineError(msg) {
      let output = "";
      if (msg.wanted.pnpm) {
        output += `Your pnpm version is incompatible with "${msg.packageId}".

Expected version: ${msg.wanted.pnpm}
Got: ${msg.current.pnpm}

This is happening because the package's manifest has an engines.pnpm field specified.
To fix this issue, install the required pnpm version globally.

To install the latest version of pnpm, run "pnpm i -g pnpm".
To check your pnpm version, run "pnpm -v".`;
      }
      if (msg.wanted.node) {
        if (output)
          output += constants_1.EOL + constants_1.EOL;
        output += `Your Node version is incompatible with "${msg.packageId}".

Expected version: ${msg.wanted.node}
Got: ${msg.current.node}

This is happening because the package's manifest has an engines.node field specified.
To fix this issue, install the required Node version.`;
      }
      return {
        title: "Unsupported environment (bad pnpm and/or Node.js version)",
        body: output
      };
    }
    function reportAuthError(err, msg, config) {
      const foundSettings = [];
      for (const [key, value] of Object.entries(config?.rawConfig ?? {})) {
        if (key[0] === "@") {
          foundSettings.push(`${key}=${String(value)}`);
          continue;
        }
        if (key.endsWith("_auth") || key.endsWith("_authToken") || key.endsWith("username") || key.endsWith("_password")) {
          foundSettings.push(`${key}=${hideSecureInfo(key, value)}`);
        }
      }
      let output = msg.hint ? `${msg.hint}${constants_1.EOL}${constants_1.EOL}` : "";
      if (foundSettings.length === 0) {
        output += `No authorization settings were found in the configs.
Try to log in to the registry by running "pnpm login"
or add the auth tokens manually to the ~/.npmrc file.`;
      } else {
        output += `These authorization settings were found:
${foundSettings.join("\n")}`;
      }
      return {
        title: err.message,
        body: output
      };
    }
    function hideSecureInfo(key, value) {
      if (key.endsWith("_password"))
        return "[hidden]";
      if (key.endsWith("_auth") || key.endsWith("_authToken"))
        return `${value.substring(0, 4)}[hidden]`;
      return value;
    }
    function reportPeerDependencyIssuesError(err, msg, peerDependencyRules) {
      const hasMissingPeers = getHasMissingPeers(msg.issuesByProjects);
      const hints = [];
      if (hasMissingPeers) {
        hints.push('If you want peer dependencies to be automatically installed, add "auto-install-peers=true" to an .npmrc file at the root of your project.');
      }
      hints.push(`If you don't want pnpm to fail on peer dependency issues, add "strict-peer-dependencies=false" to an .npmrc file at the root of your project.`);
      const rendered = (0, render_peer_issues_1.renderPeerIssues)(msg.issuesByProjects, { rules: peerDependencyRules });
      if (!rendered)
        return null;
      return {
        title: err.message,
        body: `${rendered}
${hints.map((hint) => `hint: ${hint}`).join("\n")}
`
      };
    }
    function getHasMissingPeers(issuesByProjects) {
      return Object.values(issuesByProjects).some((issues) => Object.values(issues.missing).flat().some(({ optional }) => !optional));
    }
    function reportDedupeCheckIssuesError(err, msg) {
      return {
        title: err.message,
        body: `${(0, dedupe_issues_renderer_1.renderDedupeCheckIssues)(msg.dedupeCheckIssues)}
Run ${chalk_1.default.yellow("pnpm dedupe")} to apply the changes above.
`
      };
    }
    function reportSpecNotSupportedByAnyResolverError(err, logObj) {
      if (logObj.package?.pref?.startsWith("catalog:")) {
        return reportExternalCatalogProtocolError(err, logObj);
      }
      return {
        title: err.message ?? "",
        body: logObj.hint
      };
    }
    function reportExternalCatalogProtocolError(err, logObj) {
      const { pkgsStack } = logObj;
      const problemDep = pkgsStack?.[0];
      let body = `An external package outside of the pnpm workspace declared a dependency using
the catalog protocol. This is likely a bug in that external package. Only
packages within the pnpm workspace may use catalogs. Usages of the catalog
protocol are replaced with real specifiers on 'pnpm publish'.
`;
      if (problemDep != null) {
        body += `
This is likely a bug in the publishing automation of this package. Consider filing
a bug with the authors of:

  ${highlight(formatPkgNameVer(problemDep))}
`;
      }
      return {
        title: err.message,
        body
      };
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportMisc.js
var require_reportMisc = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportMisc.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LOG_LEVEL_NUMBER = void 0;
    exports2.reportMisc = reportMisc;
    var os_1 = __importDefault2(require("os"));
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var reportError_1 = require_reportError();
    var formatWarn_1 = require_formatWarn();
    var zooming_1 = require_zooming();
    exports2.LOG_LEVEL_NUMBER = {
      error: 0,
      warn: 1,
      info: 2,
      debug: 3
    };
    var MAX_SHOWN_WARNINGS = 5;
    function reportMisc(log$, opts) {
      const maxLogLevel = exports2.LOG_LEVEL_NUMBER[opts.logLevel ?? "info"] ?? exports2.LOG_LEVEL_NUMBER["info"];
      const reportWarning = makeWarningReporter(opts);
      return Rx.merge(log$.registry, log$.other).pipe((0, operators_1.filter)((obj) => exports2.LOG_LEVEL_NUMBER[obj.level] <= maxLogLevel && (obj.level !== "info" || !obj["prefix"] || obj["prefix"] === opts.cwd)), (0, operators_1.map)((obj) => {
        switch (obj.level) {
          case "warn": {
            return reportWarning(obj);
          }
          case "error": {
            const errorOutput = (0, reportError_1.reportError)(obj, opts.config, opts.peerDependencyRules);
            if (!errorOutput)
              return Rx.NEVER;
            if (obj["prefix"] && obj["prefix"] !== opts.cwd) {
              return Rx.of({
                msg: `${obj["prefix"]}:` + os_1.default.EOL + errorOutput
              });
            }
            return Rx.of({ msg: errorOutput });
          }
          default:
            return Rx.of({ msg: obj.message });
        }
      }));
    }
    function makeWarningReporter(opts) {
      let warningsCounter = 0;
      let collapsedWarnings;
      return (obj) => {
        warningsCounter++;
        if (opts.appendOnly || warningsCounter <= MAX_SHOWN_WARNINGS) {
          return Rx.of({ msg: (0, zooming_1.autozoom)(opts.cwd, obj.prefix, (0, formatWarn_1.formatWarn)(obj.message), opts) });
        }
        const warningMsg = (0, formatWarn_1.formatWarn)(`${warningsCounter - MAX_SHOWN_WARNINGS} other warnings`);
        if (!collapsedWarnings) {
          collapsedWarnings = new Rx.Subject();
          setTimeout(() => {
            collapsedWarnings.next({ msg: warningMsg });
          }, 0);
          return Rx.from(collapsedWarnings);
        }
        setTimeout(() => {
          collapsedWarnings.next({ msg: warningMsg });
        }, 0);
        return Rx.NEVER;
      };
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportPeerDependencyIssues.js
var require_reportPeerDependencyIssues = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportPeerDependencyIssues.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportPeerDependencyIssues = reportPeerDependencyIssues;
    var render_peer_issues_1 = require_lib26();
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var formatWarn_1 = require_formatWarn();
    function reportPeerDependencyIssues(log$, peerDependencyRules) {
      return log$.peerDependencyIssues.pipe((0, operators_1.take)(1), (0, operators_1.map)((log) => {
        const renderedPeerIssues = (0, render_peer_issues_1.renderPeerIssues)(log.issuesByProjects, {
          rules: peerDependencyRules
        });
        if (!renderedPeerIssues) {
          return Rx.NEVER;
        }
        return Rx.of({
          msg: `${(0, formatWarn_1.formatWarn)("Issues with peer dependencies found")}
${renderedPeerIssues}`
        });
      }));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportProgress.js
var require_reportProgress = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportProgress.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportProgress = reportProgress;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var outputConstants_1 = require_outputConstants();
    var zooming_1 = require_zooming();
    function reportProgress(log$, opts) {
      const progressOutput = throttledProgressOutput.bind(null, opts);
      return getModulesInstallProgress$(log$.stage, log$.progress).pipe((0, operators_1.map)(opts.hideProgressPrefix ? ({ importingDone$, progress$ }) => progressOutput(importingDone$, progress$) : ({ importingDone$, progress$, requirer }) => {
        const output$ = progressOutput(importingDone$, progress$);
        if (requirer === opts.cwd) {
          return output$;
        }
        return output$.pipe((0, operators_1.map)((msg) => {
          msg["msg"] = (0, zooming_1.zoomOut)(opts.cwd, requirer, msg["msg"]);
          return msg;
        }));
      }));
    }
    function throttledProgressOutput(opts, importingDone$, progress$) {
      if (opts.throttle != null) {
        progress$ = progress$.pipe(opts.throttle);
      }
      const combinedProgress = Rx.combineLatest(progress$, importingDone$).pipe((0, operators_1.takeWhile)(([, importingDone]) => !importingDone, true));
      return combinedProgress.pipe((0, operators_1.map)(opts.hideAddedPkgsProgress ? createStatusMessageWithoutAdded : createStatusMessage));
    }
    function getModulesInstallProgress$(stage$, progress$) {
      const modulesInstallProgressPushStream = new Rx.Subject();
      const progressStatsPushStreamByRequirer = getProgressStatsPushStreamByRequirer(progress$);
      const stagePushStreamByRequirer = {};
      stage$.forEach((log) => {
        if (!stagePushStreamByRequirer[log.prefix]) {
          stagePushStreamByRequirer[log.prefix] = new Rx.Subject();
          if (!progressStatsPushStreamByRequirer[log.prefix]) {
            progressStatsPushStreamByRequirer[log.prefix] = new Rx.Subject();
          }
          modulesInstallProgressPushStream.next({
            importingDone$: stage$ToImportingDone$(Rx.from(stagePushStreamByRequirer[log.prefix])),
            progress$: Rx.from(progressStatsPushStreamByRequirer[log.prefix]),
            requirer: log.prefix
          });
        }
        stagePushStreamByRequirer[log.prefix].next(log);
        if (log.stage === "importing_done") {
          progressStatsPushStreamByRequirer[log.prefix].complete();
          stagePushStreamByRequirer[log.prefix].complete();
        }
      }).catch(() => {
      });
      return Rx.from(modulesInstallProgressPushStream);
    }
    function stage$ToImportingDone$(stage$) {
      return stage$.pipe((0, operators_1.filter)((log) => log.stage === "importing_done"), (0, operators_1.mapTo)(true), (0, operators_1.take)(1), (0, operators_1.startWith)(false));
    }
    function getProgressStatsPushStreamByRequirer(progress$) {
      const progressStatsPushStreamByRequirer = {};
      const previousProgressStatsByRequirer = {};
      progress$.forEach((log) => {
        if (!previousProgressStatsByRequirer[log.requester]) {
          previousProgressStatsByRequirer[log.requester] = {
            fetched: 0,
            imported: 0,
            resolved: 0,
            reused: 0
          };
        }
        switch (log.status) {
          case "resolved":
            previousProgressStatsByRequirer[log.requester].resolved++;
            break;
          case "fetched":
            previousProgressStatsByRequirer[log.requester].fetched++;
            break;
          case "found_in_store":
            previousProgressStatsByRequirer[log.requester].reused++;
            break;
          case "imported":
            previousProgressStatsByRequirer[log.requester].imported++;
            break;
        }
        if (!progressStatsPushStreamByRequirer[log.requester]) {
          progressStatsPushStreamByRequirer[log.requester] = new Rx.Subject();
        }
        progressStatsPushStreamByRequirer[log.requester].next(previousProgressStatsByRequirer[log.requester]);
      }).catch(() => {
      });
      return progressStatsPushStreamByRequirer;
    }
    function createStatusMessage([progress, importingDone]) {
      const msg = `Progress: resolved ${(0, outputConstants_1.hlValue)(progress.resolved.toString())}, reused ${(0, outputConstants_1.hlValue)(progress.reused.toString())}, downloaded ${(0, outputConstants_1.hlValue)(progress.fetched.toString())}, added ${(0, outputConstants_1.hlValue)(progress.imported.toString())}`;
      if (importingDone) {
        return {
          done: true,
          fixed: false,
          msg: `${msg}, done`
        };
      }
      return {
        fixed: true,
        msg
      };
    }
    function createStatusMessageWithoutAdded([progress, importingDone]) {
      const msg = `Progress: resolved ${(0, outputConstants_1.hlValue)(progress.resolved.toString())}, reused ${(0, outputConstants_1.hlValue)(progress.reused.toString())}, downloaded ${(0, outputConstants_1.hlValue)(progress.fetched.toString())}`;
      if (importingDone) {
        return {
          done: true,
          fixed: false,
          msg: `${msg}, done`
        };
      }
      return {
        fixed: true,
        msg
      };
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportRequestRetry.js
var require_reportRequestRetry = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportRequestRetry.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportRequestRetry = reportRequestRetry;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var pretty_ms_1 = __importDefault2(require_pretty_ms());
    var formatWarn_1 = require_formatWarn();
    function reportRequestRetry(requestRetry$) {
      return requestRetry$.pipe((0, operators_1.map)((log) => {
        const retriesLeft = log.maxRetries - log.attempt + 1;
        const errorCode = log.error.httpStatusCode ?? log.error.status ?? log.error.errno ?? log.error.code;
        const msg = `${log.method} ${log.url} error (${errorCode}). Will retry in ${(0, pretty_ms_1.default)(log.timeout, { verbose: true })}. ${retriesLeft} retries left.`;
        return Rx.of({ msg: (0, formatWarn_1.formatWarn)(msg) });
      }));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportScope.js
var require_reportScope = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportScope.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportScope = reportScope;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var COMMANDS_THAT_REPORT_SCOPE = /* @__PURE__ */ new Set([
      "install",
      "link",
      "prune",
      "rebuild",
      "remove",
      "unlink",
      "update",
      "run",
      "test"
    ]);
    function reportScope(scope$, opts) {
      if (!COMMANDS_THAT_REPORT_SCOPE.has(opts.cmd)) {
        return Rx.NEVER;
      }
      return scope$.pipe((0, operators_1.take)(1), (0, operators_1.map)((log) => {
        if (log.selected === 1) {
          return Rx.NEVER;
        }
        let msg = "Scope: ";
        if (log.selected === log.total) {
          msg += `all ${log.total}`;
        } else {
          msg += `${log.selected}`;
          if (log.total) {
            msg += ` of ${log.total}`;
          }
        }
        if (log.workspacePrefix) {
          msg += " workspace projects";
        } else {
          msg += " projects";
        }
        return Rx.of({ msg });
      }));
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportSkippedOptionalDependencies.js
var require_reportSkippedOptionalDependencies = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportSkippedOptionalDependencies.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportSkippedOptionalDependencies = reportSkippedOptionalDependencies;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    function reportSkippedOptionalDependencies(skippedOptionalDependency$, opts) {
      return skippedOptionalDependency$.pipe((0, operators_1.filter)((log) => Boolean(log["prefix"] === opts.cwd && log.parents && log.parents.length === 0)), (0, operators_1.map)((log) => Rx.of({
        msg: `info: ${// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
        log.package.id || log.package.name && `${log.package.name}@${log.package.version}` || log.package.pref} is an optional dependency and failed compatibility check. Excluding it from installation.`
      })));
    }
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/always.js
var require_always = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/always.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var always = /* @__PURE__ */ _curry1(function always2(val) {
      return function() {
        return val;
      };
    });
    module2.exports = always;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/times.js
var require_times = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/times.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var times = /* @__PURE__ */ _curry2(function times2(fn, n) {
      var len = Number(n);
      var idx = 0;
      var list;
      if (len < 0 || isNaN(len)) {
        throw new RangeError("n must be a non-negative number");
      }
      list = new Array(len);
      while (idx < len) {
        list[idx] = fn(idx);
        idx += 1;
      }
      return list;
    });
    module2.exports = times;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/repeat.js
var require_repeat2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/repeat.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var always = require_always();
    var times = require_times();
    var repeat = /* @__PURE__ */ _curry2(function repeat2(value, n) {
      return times(always(value), n);
    });
    module2.exports = repeat;
  }
});

// ../node_modules/.pnpm/char-regex@1.0.2/node_modules/char-regex/index.js
var require_char_regex = __commonJS({
  "../node_modules/.pnpm/char-regex@1.0.2/node_modules/char-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = () => {
      const astralRange = "\\ud800-\\udfff";
      const comboMarksRange = "\\u0300-\\u036f";
      const comboHalfMarksRange = "\\ufe20-\\ufe2f";
      const comboSymbolsRange = "\\u20d0-\\u20ff";
      const comboMarksExtendedRange = "\\u1ab0-\\u1aff";
      const comboMarksSupplementRange = "\\u1dc0-\\u1dff";
      const comboRange = comboMarksRange + comboHalfMarksRange + comboSymbolsRange + comboMarksExtendedRange + comboMarksSupplementRange;
      const varRange = "\\ufe0e\\ufe0f";
      const familyRange = "\\uD83D\\uDC69\\uD83C\\uDFFB\\u200D\\uD83C\\uDF93";
      const astral = `[${astralRange}]`;
      const combo = `[${comboRange}]`;
      const fitz = "\\ud83c[\\udffb-\\udfff]";
      const modifier = `(?:${combo}|${fitz})`;
      const nonAstral = `[^${astralRange}]`;
      const regional = "(?:\\uD83C[\\uDDE6-\\uDDFF]){2}";
      const surrogatePair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
      const zwj = "\\u200d";
      const blackFlag = "(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40(?:\\udc65|\\udc73|\\udc77)\\udb40(?:\\udc6e|\\udc63|\\udc6c)\\udb40(?:\\udc67|\\udc74|\\udc73)\\udb40\\udc7f)";
      const family = `[${familyRange}]`;
      const optModifier = `${modifier}?`;
      const optVar = `[${varRange}]?`;
      const optJoin = `(?:${zwj}(?:${[nonAstral, regional, surrogatePair].join("|")})${optVar + optModifier})*`;
      const seq = optVar + optModifier + optJoin;
      const nonAstralCombo = `${nonAstral}${combo}?`;
      const symbol = `(?:${[nonAstralCombo, combo, regional, surrogatePair, astral, family].join("|")})`;
      return new RegExp(`${blackFlag}|${fitz}(?=${fitz})|${symbol + seq}`, "g");
    };
  }
});

// ../node_modules/.pnpm/string-length@4.0.2/node_modules/string-length/index.js
var require_string_length = __commonJS({
  "../node_modules/.pnpm/string-length@4.0.2/node_modules/string-length/index.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var charRegex = require_char_regex();
    var stringLength = (string) => {
      if (string === "") {
        return 0;
      }
      const strippedString = stripAnsi(string);
      if (strippedString === "") {
        return 0;
      }
      return strippedString.match(charRegex()).length;
    };
    module2.exports = stringLength;
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportStats.js
var require_reportStats = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportStats.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportStats = reportStats;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var chalk_1 = __importDefault2(require_source());
    var repeat_1 = __importDefault2(require_repeat2());
    var string_length_1 = __importDefault2(require_string_length());
    var constants_1 = require_constants();
    var outputConstants_1 = require_outputConstants();
    var zooming_1 = require_zooming();
    function reportStats(log$, opts) {
      if (opts.hideProgressPrefix) {
        return [statsForCurrentPackage(log$.stats, {
          cmd: opts.cmd,
          width: opts.width
        })];
      }
      const stats$ = opts.isRecursive ? log$.stats : log$.stats.pipe((0, operators_1.filter)((log) => log.prefix !== opts.cwd));
      const outputs = [
        statsForNotCurrentPackage(stats$, {
          cmd: opts.cmd,
          currentPrefix: opts.cwd,
          width: opts.width
        })
      ];
      if (!opts.isRecursive) {
        outputs.push(statsForCurrentPackage(log$.stats.pipe((0, operators_1.filter)((log) => log.prefix === opts.cwd)), {
          cmd: opts.cmd,
          width: opts.width
        }));
      }
      return outputs;
    }
    function statsForCurrentPackage(stats$, opts) {
      return stats$.pipe((0, operators_1.take)(opts.cmd === "install" || opts.cmd === "install-test" || opts.cmd === "add" || opts.cmd === "update" || opts.cmd === "dlx" ? 2 : 1), (0, operators_1.reduce)((acc, log) => {
        if (typeof log["added"] === "number") {
          acc["added"] = log["added"];
        } else if (typeof log["removed"] === "number") {
          acc["removed"] = log["removed"];
        }
        return acc;
      }, {}), (0, operators_1.map)((stats) => {
        if (!stats["removed"] && !stats["added"]) {
          if (opts.cmd === "link") {
            return Rx.NEVER;
          }
          return Rx.of({ msg: "Already up to date" });
        }
        let msg = "Packages:";
        if (stats["added"]) {
          msg += " " + chalk_1.default.green(`+${stats["added"].toString()}`);
        }
        if (stats["removed"]) {
          msg += " " + chalk_1.default.red(`-${stats["removed"].toString()}`);
        }
        msg += constants_1.EOL + printPlusesAndMinuses(opts.width, stats["added"] ?? 0, stats["removed"] ?? 0);
        return Rx.of({ msg });
      }));
    }
    function statsForNotCurrentPackage(stats$, opts) {
      const stats = {};
      const cookedStats$ = opts.cmd !== "remove" ? stats$.pipe((0, operators_1.map)((log) => {
        const { prefix } = log;
        if (!stats[prefix]) {
          stats[prefix] = log;
          return { seed: stats, value: null };
        } else if (typeof stats[prefix].added === "number" && typeof log["added"] === "number") {
          stats[prefix].added += log["added"];
          return { seed: stats, value: null };
        } else if (typeof stats[prefix].removed === "number" && typeof log["removed"] === "number") {
          stats[prefix].removed += log["removed"];
          return { seed: stats, value: null };
        } else {
          const value = { ...stats[prefix], ...log };
          delete stats[prefix];
          return value;
        }
      }, {})) : stats$;
      return cookedStats$.pipe(
        (0, operators_1.filter)((stats2) => stats2 !== null && Boolean(stats2["removed"] || stats2["added"])),
        // eslint-disable-line @typescript-eslint/prefer-nullish-coalescing
        (0, operators_1.map)((stats2) => {
          const parts = [];
          if (stats2["added"]) {
            parts.push(padStep(chalk_1.default.green(`+${stats2["added"].toString()}`), 4));
          }
          if (stats2["removed"]) {
            parts.push(padStep(chalk_1.default.red(`-${stats2["removed"].toString()}`), 4));
          }
          let msg = (0, zooming_1.zoomOut)(opts.currentPrefix, stats2.prefix, parts.join(" "));
          const rest = Math.max(0, opts.width - 1 - (0, string_length_1.default)(msg));
          msg += " " + printPlusesAndMinuses(rest, roundStats(stats2["added"] || 0), roundStats(stats2["removed"] || 0));
          return Rx.of({ msg });
        })
      );
    }
    function padStep(s, step) {
      const sLength = (0, string_length_1.default)(s);
      const placeholderLength = Math.ceil(sLength / step) * step;
      if (sLength < placeholderLength) {
        return (0, repeat_1.default)(" ", placeholderLength - sLength).join("") + s;
      }
      return s;
    }
    function roundStats(stat) {
      if (stat === 0)
        return 0;
      return Math.max(1, Math.round(stat / 10));
    }
    function printPlusesAndMinuses(maxWidth, added, removed) {
      if (maxWidth === 0)
        return "";
      const changes = added + removed;
      let addedChars;
      let removedChars;
      if (changes > maxWidth) {
        if (!added) {
          addedChars = 0;
          removedChars = maxWidth;
        } else if (!removed) {
          addedChars = maxWidth;
          removedChars = 0;
        } else {
          const p = maxWidth / changes;
          addedChars = Math.min(Math.max(Math.floor(added * p), 1), maxWidth - 1);
          removedChars = maxWidth - addedChars;
        }
      } else {
        addedChars = added;
        removedChars = removed;
      }
      return `${(0, repeat_1.default)(outputConstants_1.ADDED_CHAR, addedChars).join("")}${(0, repeat_1.default)(outputConstants_1.REMOVED_CHAR, removedChars).join("")}`;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+util.lex-comparator@3.0.1/node_modules/@pnpm/util.lex-comparator/dist/lex-comparator.js
var require_lex_comparator = __commonJS({
  "../node_modules/.pnpm/@pnpm+util.lex-comparator@3.0.1/node_modules/@pnpm/util.lex-comparator/dist/lex-comparator.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lexCompare = void 0;
    function lexCompare(a, b) {
      return a > b ? 1 : a < b ? -1 : 0;
    }
    exports2.lexCompare = lexCompare;
  }
});

// ../node_modules/.pnpm/@pnpm+util.lex-comparator@3.0.1/node_modules/@pnpm/util.lex-comparator/dist/index.js
var require_dist4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+util.lex-comparator@3.0.1/node_modules/@pnpm/util.lex-comparator/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lexCompare = void 0;
    var lex_comparator_1 = require_lex_comparator();
    Object.defineProperty(exports2, "lexCompare", { enumerable: true, get: function() {
      return lex_comparator_1.lexCompare;
    } });
  }
});

// ../node_modules/.pnpm/widest-line@3.1.0/node_modules/widest-line/index.js
var require_widest_line = __commonJS({
  "../node_modules/.pnpm/widest-line@3.1.0/node_modules/widest-line/index.js"(exports2, module2) {
    "use strict";
    var stringWidth = require_string_width();
    var widestLine = (input) => {
      let max = 0;
      for (const line of input.split("\n")) {
        max = Math.max(max, stringWidth(line));
      }
      return max;
    };
    module2.exports = widestLine;
    module2.exports.default = widestLine;
  }
});

// ../node_modules/.pnpm/cli-boxes@2.2.1/node_modules/cli-boxes/boxes.json
var require_boxes = __commonJS({
  "../node_modules/.pnpm/cli-boxes@2.2.1/node_modules/cli-boxes/boxes.json"(exports2, module2) {
    module2.exports = {
      single: {
        topLeft: "\u250C",
        topRight: "\u2510",
        bottomRight: "\u2518",
        bottomLeft: "\u2514",
        vertical: "\u2502",
        horizontal: "\u2500"
      },
      double: {
        topLeft: "\u2554",
        topRight: "\u2557",
        bottomRight: "\u255D",
        bottomLeft: "\u255A",
        vertical: "\u2551",
        horizontal: "\u2550"
      },
      round: {
        topLeft: "\u256D",
        topRight: "\u256E",
        bottomRight: "\u256F",
        bottomLeft: "\u2570",
        vertical: "\u2502",
        horizontal: "\u2500"
      },
      bold: {
        topLeft: "\u250F",
        topRight: "\u2513",
        bottomRight: "\u251B",
        bottomLeft: "\u2517",
        vertical: "\u2503",
        horizontal: "\u2501"
      },
      singleDouble: {
        topLeft: "\u2553",
        topRight: "\u2556",
        bottomRight: "\u255C",
        bottomLeft: "\u2559",
        vertical: "\u2551",
        horizontal: "\u2500"
      },
      doubleSingle: {
        topLeft: "\u2552",
        topRight: "\u2555",
        bottomRight: "\u255B",
        bottomLeft: "\u2558",
        vertical: "\u2502",
        horizontal: "\u2550"
      },
      classic: {
        topLeft: "+",
        topRight: "+",
        bottomRight: "+",
        bottomLeft: "+",
        vertical: "|",
        horizontal: "-"
      }
    };
  }
});

// ../node_modules/.pnpm/cli-boxes@2.2.1/node_modules/cli-boxes/index.js
var require_cli_boxes = __commonJS({
  "../node_modules/.pnpm/cli-boxes@2.2.1/node_modules/cli-boxes/index.js"(exports2, module2) {
    "use strict";
    var cliBoxes = require_boxes();
    module2.exports = cliBoxes;
    module2.exports.default = cliBoxes;
  }
});

// ../node_modules/.pnpm/ansi-align@3.0.1/node_modules/ansi-align/index.js
var require_ansi_align = __commonJS({
  "../node_modules/.pnpm/ansi-align@3.0.1/node_modules/ansi-align/index.js"(exports2, module2) {
    "use strict";
    var stringWidth = require_string_width();
    function ansiAlign(text, opts) {
      if (!text) return text;
      opts = opts || {};
      const align = opts.align || "center";
      if (align === "left") return text;
      const split = opts.split || "\n";
      const pad = opts.pad || " ";
      const widthDiffFn = align !== "right" ? halfDiff : fullDiff;
      let returnString = false;
      if (!Array.isArray(text)) {
        returnString = true;
        text = String(text).split(split);
      }
      let width;
      let maxWidth = 0;
      text = text.map(function(str) {
        str = String(str);
        width = stringWidth(str);
        maxWidth = Math.max(width, maxWidth);
        return {
          str,
          width
        };
      }).map(function(obj) {
        return new Array(widthDiffFn(maxWidth, obj.width) + 1).join(pad) + obj.str;
      });
      return returnString ? text.join(split) : text;
    }
    ansiAlign.left = function left(text) {
      return ansiAlign(text, { align: "left" });
    };
    ansiAlign.center = function center(text) {
      return ansiAlign(text, { align: "center" });
    };
    ansiAlign.right = function right(text) {
      return ansiAlign(text, { align: "right" });
    };
    module2.exports = ansiAlign;
    function halfDiff(maxWidth, curWidth) {
      return Math.floor((maxWidth - curWidth) / 2);
    }
    function fullDiff(maxWidth, curWidth) {
      return maxWidth - curWidth;
    }
  }
});

// ../node_modules/.pnpm/wrap-ansi@7.0.0/node_modules/wrap-ansi/index.js
var require_wrap_ansi = __commonJS({
  "../node_modules/.pnpm/wrap-ansi@7.0.0/node_modules/wrap-ansi/index.js"(exports2, module2) {
    "use strict";
    var stringWidth = require_string_width();
    var stripAnsi = require_strip_ansi();
    var ansiStyles = require_ansi_styles();
    var ESCAPES = /* @__PURE__ */ new Set([
      "\x1B",
      "\x9B"
    ]);
    var END_CODE = 39;
    var ANSI_ESCAPE_BELL = "\x07";
    var ANSI_CSI = "[";
    var ANSI_OSC = "]";
    var ANSI_SGR_TERMINATOR = "m";
    var ANSI_ESCAPE_LINK = `${ANSI_OSC}8;;`;
    var wrapAnsi = (code) => `${ESCAPES.values().next().value}${ANSI_CSI}${code}${ANSI_SGR_TERMINATOR}`;
    var wrapAnsiHyperlink = (uri) => `${ESCAPES.values().next().value}${ANSI_ESCAPE_LINK}${uri}${ANSI_ESCAPE_BELL}`;
    var wordLengths = (string) => string.split(" ").map((character) => stringWidth(character));
    var wrapWord = (rows, word, columns) => {
      const characters = [...word];
      let isInsideEscape = false;
      let isInsideLinkEscape = false;
      let visible = stringWidth(stripAnsi(rows[rows.length - 1]));
      for (const [index, character] of characters.entries()) {
        const characterLength = stringWidth(character);
        if (visible + characterLength <= columns) {
          rows[rows.length - 1] += character;
        } else {
          rows.push(character);
          visible = 0;
        }
        if (ESCAPES.has(character)) {
          isInsideEscape = true;
          isInsideLinkEscape = characters.slice(index + 1).join("").startsWith(ANSI_ESCAPE_LINK);
        }
        if (isInsideEscape) {
          if (isInsideLinkEscape) {
            if (character === ANSI_ESCAPE_BELL) {
              isInsideEscape = false;
              isInsideLinkEscape = false;
            }
          } else if (character === ANSI_SGR_TERMINATOR) {
            isInsideEscape = false;
          }
          continue;
        }
        visible += characterLength;
        if (visible === columns && index < characters.length - 1) {
          rows.push("");
          visible = 0;
        }
      }
      if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) {
        rows[rows.length - 2] += rows.pop();
      }
    };
    var stringVisibleTrimSpacesRight = (string) => {
      const words = string.split(" ");
      let last = words.length;
      while (last > 0) {
        if (stringWidth(words[last - 1]) > 0) {
          break;
        }
        last--;
      }
      if (last === words.length) {
        return string;
      }
      return words.slice(0, last).join(" ") + words.slice(last).join("");
    };
    var exec = (string, columns, options = {}) => {
      if (options.trim !== false && string.trim() === "") {
        return "";
      }
      let returnValue = "";
      let escapeCode;
      let escapeUrl;
      const lengths = wordLengths(string);
      let rows = [""];
      for (const [index, word] of string.split(" ").entries()) {
        if (options.trim !== false) {
          rows[rows.length - 1] = rows[rows.length - 1].trimStart();
        }
        let rowLength = stringWidth(rows[rows.length - 1]);
        if (index !== 0) {
          if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) {
            rows.push("");
            rowLength = 0;
          }
          if (rowLength > 0 || options.trim === false) {
            rows[rows.length - 1] += " ";
            rowLength++;
          }
        }
        if (options.hard && lengths[index] > columns) {
          const remainingColumns = columns - rowLength;
          const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns);
          const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns);
          if (breaksStartingNextLine < breaksStartingThisLine) {
            rows.push("");
          }
          wrapWord(rows, word, columns);
          continue;
        }
        if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) {
          if (options.wordWrap === false && rowLength < columns) {
            wrapWord(rows, word, columns);
            continue;
          }
          rows.push("");
        }
        if (rowLength + lengths[index] > columns && options.wordWrap === false) {
          wrapWord(rows, word, columns);
          continue;
        }
        rows[rows.length - 1] += word;
      }
      if (options.trim !== false) {
        rows = rows.map(stringVisibleTrimSpacesRight);
      }
      const pre = [...rows.join("\n")];
      for (const [index, character] of pre.entries()) {
        returnValue += character;
        if (ESCAPES.has(character)) {
          const { groups } = new RegExp(`(?:\\${ANSI_CSI}(?<code>\\d+)m|\\${ANSI_ESCAPE_LINK}(?<uri>.*)${ANSI_ESCAPE_BELL})`).exec(pre.slice(index).join("")) || { groups: {} };
          if (groups.code !== void 0) {
            const code2 = Number.parseFloat(groups.code);
            escapeCode = code2 === END_CODE ? void 0 : code2;
          } else if (groups.uri !== void 0) {
            escapeUrl = groups.uri.length === 0 ? void 0 : groups.uri;
          }
        }
        const code = ansiStyles.codes.get(Number(escapeCode));
        if (pre[index + 1] === "\n") {
          if (escapeUrl) {
            returnValue += wrapAnsiHyperlink("");
          }
          if (escapeCode && code) {
            returnValue += wrapAnsi(code);
          }
        } else if (character === "\n") {
          if (escapeCode && code) {
            returnValue += wrapAnsi(escapeCode);
          }
          if (escapeUrl) {
            returnValue += wrapAnsiHyperlink(escapeUrl);
          }
        }
      }
      return returnValue;
    };
    module2.exports = (string, columns, options) => {
      return String(string).normalize().replace(/\r\n/g, "\n").split("\n").map((line) => exec(line, columns, options)).join("\n");
    };
  }
});

// ../node_modules/.pnpm/boxen@5.1.2/node_modules/boxen/index.js
var require_boxen = __commonJS({
  "../node_modules/.pnpm/boxen@5.1.2/node_modules/boxen/index.js"(exports2, module2) {
    "use strict";
    var stringWidth = require_string_width();
    var chalk = require_source();
    var widestLine = require_widest_line();
    var cliBoxes = require_cli_boxes();
    var camelCase = require_camelcase();
    var ansiAlign = require_ansi_align();
    var wrapAnsi = require_wrap_ansi();
    var NL = "\n";
    var PAD = " ";
    var terminalColumns = () => {
      const { env, stdout, stderr } = process;
      if (stdout && stdout.columns) {
        return stdout.columns;
      }
      if (stderr && stderr.columns) {
        return stderr.columns;
      }
      if (env.COLUMNS) {
        return Number.parseInt(env.COLUMNS, 10);
      }
      return 80;
    };
    var getObject = (detail) => {
      return typeof detail === "number" ? {
        top: detail,
        right: detail * 3,
        bottom: detail,
        left: detail * 3
      } : {
        top: 0,
        right: 0,
        bottom: 0,
        left: 0,
        ...detail
      };
    };
    var getBorderChars = (borderStyle) => {
      const sides = [
        "topLeft",
        "topRight",
        "bottomRight",
        "bottomLeft",
        "vertical",
        "horizontal"
      ];
      let chararacters;
      if (typeof borderStyle === "string") {
        chararacters = cliBoxes[borderStyle];
        if (!chararacters) {
          throw new TypeError(`Invalid border style: ${borderStyle}`);
        }
      } else {
        for (const side of sides) {
          if (!borderStyle[side] || typeof borderStyle[side] !== "string") {
            throw new TypeError(`Invalid border style: ${side}`);
          }
        }
        chararacters = borderStyle;
      }
      return chararacters;
    };
    var makeTitle = (text, horizontal, alignement) => {
      let title = "";
      const textWidth = stringWidth(text);
      switch (alignement) {
        case "left":
          title = text + horizontal.slice(textWidth);
          break;
        case "right":
          title = horizontal.slice(textWidth) + text;
          break;
        default:
          horizontal = horizontal.slice(textWidth);
          if (horizontal.length % 2 === 1) {
            horizontal = horizontal.slice(Math.floor(horizontal.length / 2));
            title = horizontal.slice(1) + text + horizontal;
          } else {
            horizontal = horizontal.slice(horizontal.length / 2);
            title = horizontal + text + horizontal;
          }
          break;
      }
      return title;
    };
    var makeContentText = (text, padding, columns, align) => {
      text = ansiAlign(text, { align });
      let lines = text.split(NL);
      const textWidth = widestLine(text);
      const max = columns - padding.left - padding.right;
      if (textWidth > max) {
        const newLines = [];
        for (const line of lines) {
          const createdLines = wrapAnsi(line, max, { hard: true });
          const alignedLines = ansiAlign(createdLines, { align });
          const alignedLinesArray = alignedLines.split("\n");
          const longestLength = Math.max(...alignedLinesArray.map((s) => stringWidth(s)));
          for (const alignedLine of alignedLinesArray) {
            let paddedLine;
            switch (align) {
              case "center":
                paddedLine = PAD.repeat((max - longestLength) / 2) + alignedLine;
                break;
              case "right":
                paddedLine = PAD.repeat(max - longestLength) + alignedLine;
                break;
              default:
                paddedLine = alignedLine;
                break;
            }
            newLines.push(paddedLine);
          }
        }
        lines = newLines;
      }
      if (align === "center" && textWidth < max) {
        lines = lines.map((line) => PAD.repeat((max - textWidth) / 2) + line);
      } else if (align === "right" && textWidth < max) {
        lines = lines.map((line) => PAD.repeat(max - textWidth) + line);
      }
      const paddingLeft = PAD.repeat(padding.left);
      const paddingRight = PAD.repeat(padding.right);
      lines = lines.map((line) => paddingLeft + line + paddingRight);
      lines = lines.map((line) => {
        if (columns - stringWidth(line) > 0) {
          switch (align) {
            case "center":
              return line + PAD.repeat(columns - stringWidth(line));
            case "right":
              return line + PAD.repeat(columns - stringWidth(line));
            default:
              return line + PAD.repeat(columns - stringWidth(line));
          }
        }
        return line;
      });
      if (padding.top > 0) {
        lines = new Array(padding.top).fill(PAD.repeat(columns)).concat(lines);
      }
      if (padding.bottom > 0) {
        lines = lines.concat(new Array(padding.bottom).fill(PAD.repeat(columns)));
      }
      return lines.join(NL);
    };
    var isHex = (color) => color.match(/^#(?:[0-f]{3}){1,2}$/i);
    var isColorValid = (color) => typeof color === "string" && (chalk[color] || isHex(color));
    var getColorFn = (color) => isHex(color) ? chalk.hex(color) : chalk[color];
    var getBGColorFn = (color) => isHex(color) ? chalk.bgHex(color) : chalk[camelCase(["bg", color])];
    module2.exports = (text, options) => {
      options = {
        padding: 0,
        borderStyle: "single",
        dimBorder: false,
        textAlignment: "left",
        float: "left",
        titleAlignment: "left",
        ...options
      };
      if (options.align) {
        options.textAlignment = options.align;
      }
      const BORDERS_WIDTH = 2;
      if (options.borderColor && !isColorValid(options.borderColor)) {
        throw new Error(`${options.borderColor} is not a valid borderColor`);
      }
      if (options.backgroundColor && !isColorValid(options.backgroundColor)) {
        throw new Error(`${options.backgroundColor} is not a valid backgroundColor`);
      }
      const chars = getBorderChars(options.borderStyle);
      const padding = getObject(options.padding);
      const margin = getObject(options.margin);
      const colorizeBorder = (border) => {
        const newBorder = options.borderColor ? getColorFn(options.borderColor)(border) : border;
        return options.dimBorder ? chalk.dim(newBorder) : newBorder;
      };
      const colorizeContent = (content) => options.backgroundColor ? getBGColorFn(options.backgroundColor)(content) : content;
      const columns = terminalColumns();
      let contentWidth = widestLine(wrapAnsi(text, columns - BORDERS_WIDTH, { hard: true, trim: false })) + padding.left + padding.right;
      let title = options.title && options.title.slice(0, columns - 4 - margin.left - margin.right);
      if (title) {
        title = ` ${title} `;
        if (stringWidth(title) > contentWidth) {
          contentWidth = stringWidth(title);
        }
      }
      if (margin.left && margin.right && contentWidth + BORDERS_WIDTH + margin.left + margin.right > columns) {
        const spaceForMargins = columns - contentWidth - BORDERS_WIDTH;
        const multiplier = spaceForMargins / (margin.left + margin.right);
        margin.left = Math.max(0, Math.floor(margin.left * multiplier));
        margin.right = Math.max(0, Math.floor(margin.right * multiplier));
      }
      contentWidth = Math.min(contentWidth, columns - BORDERS_WIDTH - margin.left - margin.right);
      text = makeContentText(text, padding, contentWidth, options.textAlignment);
      let marginLeft = PAD.repeat(margin.left);
      if (options.float === "center") {
        const marginWidth = Math.max((columns - contentWidth - BORDERS_WIDTH) / 2, 0);
        marginLeft = PAD.repeat(marginWidth);
      } else if (options.float === "right") {
        const marginWidth = Math.max(columns - contentWidth - margin.right - BORDERS_WIDTH, 0);
        marginLeft = PAD.repeat(marginWidth);
      }
      const horizontal = chars.horizontal.repeat(contentWidth);
      const top = colorizeBorder(NL.repeat(margin.top) + marginLeft + chars.topLeft + (title ? makeTitle(title, horizontal, options.titleAlignment) : horizontal) + chars.topRight);
      const bottom = colorizeBorder(marginLeft + chars.bottomLeft + horizontal + chars.bottomRight + NL.repeat(margin.bottom));
      const side = colorizeBorder(chars.vertical);
      const LINE_SEPARATOR = contentWidth + BORDERS_WIDTH + margin.left >= columns ? "" : NL;
      const lines = text.split(NL);
      const middle = lines.map((line) => {
        return marginLeft + side + colorizeContent(line) + side;
      }).join(LINE_SEPARATOR);
      return top + LINE_SEPARATOR + middle + LINE_SEPARATOR + bottom;
    };
    module2.exports._borderStyles = cliBoxes;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectAssign.js
var require_objectAssign = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_objectAssign.js"(exports2, module2) {
    var _has = require_has();
    function _objectAssign(target) {
      if (target == null) {
        throw new TypeError("Cannot convert undefined or null to object");
      }
      var output = Object(target);
      var idx = 1;
      var length = arguments.length;
      while (idx < length) {
        var source = arguments[idx];
        if (source != null) {
          for (var nextKey in source) {
            if (_has(nextKey, source)) {
              output[nextKey] = source[nextKey];
            }
          }
        }
        idx += 1;
      }
      return output;
    }
    module2.exports = typeof Object.assign === "function" ? Object.assign : _objectAssign;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeRight.js
var require_mergeRight = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeRight.js"(exports2, module2) {
    var _objectAssign = require_objectAssign();
    var _curry2 = require_curry2();
    var mergeRight = /* @__PURE__ */ _curry2(function mergeRight2(l, r) {
      return _objectAssign({}, l, r);
    });
    module2.exports = mergeRight;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_indexOf.js
var require_indexOf = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_indexOf.js"(exports2, module2) {
    var equals = require_equals2();
    function _indexOf(list, a, idx) {
      var inf, item;
      if (typeof list.indexOf === "function") {
        switch (typeof a) {
          case "number":
            if (a === 0) {
              inf = 1 / a;
              while (idx < list.length) {
                item = list[idx];
                if (item === 0 && 1 / item === inf) {
                  return idx;
                }
                idx += 1;
              }
              return -1;
            } else if (a !== a) {
              while (idx < list.length) {
                item = list[idx];
                if (typeof item === "number" && item !== item) {
                  return idx;
                }
                idx += 1;
              }
              return -1;
            }
            return list.indexOf(a, idx);
          // all these types can utilise Set
          case "string":
          case "boolean":
          case "function":
          case "undefined":
            return list.indexOf(a, idx);
          case "object":
            if (a === null) {
              return list.indexOf(a, idx);
            }
        }
      }
      while (idx < list.length) {
        if (equals(list[idx], a)) {
          return idx;
        }
        idx += 1;
      }
      return -1;
    }
    module2.exports = _indexOf;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includes.js
var require_includes = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_includes.js"(exports2, module2) {
    var _indexOf = require_indexOf();
    function _includes(a, list) {
      return _indexOf(list, a, 0) >= 0;
    }
    module2.exports = _includes;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_Set.js
var require_Set = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_Set.js"(exports2, module2) {
    var _includes = require_includes();
    var _Set = /* @__PURE__ */ function() {
      function _Set2() {
        this._nativeSet = typeof Set === "function" ? /* @__PURE__ */ new Set() : null;
        this._items = {};
      }
      _Set2.prototype.add = function(item) {
        return !hasOrAdd(item, true, this);
      };
      _Set2.prototype.has = function(item) {
        return hasOrAdd(item, false, this);
      };
      return _Set2;
    }();
    function hasOrAdd(item, shouldAdd, set) {
      var type = typeof item;
      var prevSize, newSize;
      switch (type) {
        case "string":
        case "number":
          if (item === 0 && 1 / item === -Infinity) {
            if (set._items["-0"]) {
              return true;
            } else {
              if (shouldAdd) {
                set._items["-0"] = true;
              }
              return false;
            }
          }
          if (set._nativeSet !== null) {
            if (shouldAdd) {
              prevSize = set._nativeSet.size;
              set._nativeSet.add(item);
              newSize = set._nativeSet.size;
              return newSize === prevSize;
            } else {
              return set._nativeSet.has(item);
            }
          } else {
            if (!(type in set._items)) {
              if (shouldAdd) {
                set._items[type] = {};
                set._items[type][item] = true;
              }
              return false;
            } else if (item in set._items[type]) {
              return true;
            } else {
              if (shouldAdd) {
                set._items[type][item] = true;
              }
              return false;
            }
          }
        case "boolean":
          if (type in set._items) {
            var bIdx = item ? 1 : 0;
            if (set._items[type][bIdx]) {
              return true;
            } else {
              if (shouldAdd) {
                set._items[type][bIdx] = true;
              }
              return false;
            }
          } else {
            if (shouldAdd) {
              set._items[type] = item ? [false, true] : [true, false];
            }
            return false;
          }
        case "function":
          if (set._nativeSet !== null) {
            if (shouldAdd) {
              prevSize = set._nativeSet.size;
              set._nativeSet.add(item);
              newSize = set._nativeSet.size;
              return newSize === prevSize;
            } else {
              return set._nativeSet.has(item);
            }
          } else {
            if (!(type in set._items)) {
              if (shouldAdd) {
                set._items[type] = [item];
              }
              return false;
            }
            if (!_includes(item, set._items[type])) {
              if (shouldAdd) {
                set._items[type].push(item);
              }
              return false;
            }
            return true;
          }
        case "undefined":
          if (set._items[type]) {
            return true;
          } else {
            if (shouldAdd) {
              set._items[type] = true;
            }
            return false;
          }
        case "object":
          if (item === null) {
            if (!set._items["null"]) {
              if (shouldAdd) {
                set._items["null"] = true;
              }
              return false;
            }
            return true;
          }
        /* falls through */
        default:
          type = Object.prototype.toString.call(item);
          if (!(type in set._items)) {
            if (shouldAdd) {
              set._items[type] = [item];
            }
            return false;
          }
          if (!_includes(item, set._items[type])) {
            if (shouldAdd) {
              set._items[type].push(item);
            }
            return false;
          }
          return true;
      }
    }
    module2.exports = _Set;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/difference.js
var require_difference = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/difference.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _Set = require_Set();
    var difference = /* @__PURE__ */ _curry2(function difference2(first, second) {
      var out = [];
      var idx = 0;
      var firstLen = first.length;
      var secondLen = second.length;
      var toFilterOut = new _Set();
      for (var i = 0; i < secondLen; i += 1) {
        toFilterOut.add(second[i]);
      }
      while (idx < firstLen) {
        if (toFilterOut.add(first[idx])) {
          out[out.length] = first[idx];
        }
        idx += 1;
      }
      return out;
    });
    module2.exports = difference;
  }
});

// ../cli/default-reporter/lib/reporterForClient/pkgsDiff.js
var require_pkgsDiff = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/pkgsDiff.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.propertyByDependencyType = void 0;
    exports2.getPkgsDiff = getPkgsDiff;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var mergeRight_1 = __importDefault2(require_mergeRight());
    var difference_1 = __importDefault2(require_difference());
    exports2.propertyByDependencyType = {
      dev: "devDependencies",
      nodeModulesOnly: "node_modules",
      optional: "optionalDependencies",
      peer: "peerDependencies",
      prod: "dependencies"
    };
    function getPkgsDiff(log$, opts) {
      const deprecationSet$ = log$.deprecation.pipe((0, operators_1.filter)((log) => log.prefix === opts.prefix), (0, operators_1.scan)((acc, log) => {
        acc.add(log.pkgId);
        return acc;
      }, /* @__PURE__ */ new Set()), (0, operators_1.startWith)(/* @__PURE__ */ new Set()));
      const filterPrefix = (0, operators_1.filter)((log) => log.prefix === opts.prefix);
      const pkgsDiff$ = Rx.combineLatest(log$.root.pipe(filterPrefix), deprecationSet$).pipe((0, operators_1.scan)((pkgsDiff, args) => {
        const rootLog = args[0];
        const deprecationSet = args[1];
        let action;
        let log;
        if ("added" in rootLog) {
          action = "+";
          log = rootLog["added"];
        } else if ("removed" in rootLog) {
          action = "-";
          log = rootLog["removed"];
        } else {
          return pkgsDiff;
        }
        const depType = log.dependencyType || "nodeModulesOnly";
        const oppositeKey = `${action === "-" ? "+" : "-"}${log.name}`;
        const previous = pkgsDiff[depType][oppositeKey];
        if (previous && previous.version === log.version) {
          delete pkgsDiff[depType][oppositeKey];
          return pkgsDiff;
        }
        pkgsDiff[depType][`${action}${log.name}`] = {
          added: action === "+",
          deprecated: deprecationSet.has(log.id),
          from: log.linkedFrom,
          latest: log.latest,
          name: log.name,
          realName: log.realName,
          version: log.version
        };
        return pkgsDiff;
      }, {
        dev: {},
        nodeModulesOnly: {},
        optional: {},
        peer: {},
        prod: {}
      }), (0, operators_1.startWith)({
        dev: {},
        nodeModulesOnly: {},
        optional: {},
        peer: {},
        prod: {}
      }));
      const packageManifest$ = Rx.merge(log$.packageManifest.pipe(filterPrefix), log$.summary.pipe(filterPrefix, (0, operators_1.mapTo)({}))).pipe(
        (0, operators_1.take)(2),
        (0, operators_1.reduce)(mergeRight_1.default, {})
        // eslint-disable-line @typescript-eslint/no-explicit-any
      );
      return Rx.combineLatest(pkgsDiff$, packageManifest$).pipe((0, operators_1.map)(([pkgsDiff, packageManifests]) => {
        if (packageManifests["initial"] == null || packageManifests["updated"] == null)
          return pkgsDiff;
        const initialPackageManifest = removeOptionalFromProdDeps(packageManifests["initial"]);
        const updatedPackageManifest = removeOptionalFromProdDeps(packageManifests["updated"]);
        for (const depType of ["peer", "prod", "optional", "dev"]) {
          const prop = exports2.propertyByDependencyType[depType];
          const initialDeps = Object.keys(initialPackageManifest[prop] ?? {});
          const updatedDeps = Object.keys(updatedPackageManifest[prop] ?? {});
          const removedDeps = (0, difference_1.default)(initialDeps, updatedDeps);
          for (const removedDep of removedDeps) {
            if (!pkgsDiff[depType][`-${removedDep}`]) {
              pkgsDiff[depType][`-${removedDep}`] = {
                added: false,
                name: removedDep,
                version: initialPackageManifest[prop]?.[removedDep]
              };
            }
          }
          const addedDeps = (0, difference_1.default)(updatedDeps, initialDeps);
          for (const addedDep of addedDeps) {
            if (!pkgsDiff[depType][`+${addedDep}`]) {
              pkgsDiff[depType][`+${addedDep}`] = {
                added: true,
                name: addedDep,
                version: updatedPackageManifest[prop]?.[addedDep]
              };
            }
          }
        }
        return pkgsDiff;
      }));
    }
    function removeOptionalFromProdDeps(pkg) {
      if (pkg.dependencies == null || pkg.optionalDependencies == null)
        return pkg;
      for (const depName of Object.keys(pkg.dependencies)) {
        if (pkg.optionalDependencies[depName]) {
          delete pkg.dependencies[depName];
        }
      }
      return pkg;
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportSummary.js
var require_reportSummary = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportSummary.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportSummary = reportSummary;
    var path_1 = __importDefault2(require("path"));
    var util_lex_comparator_1 = require_dist4();
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var boxen_1 = __importDefault2(require_boxen());
    var chalk_1 = __importDefault2(require_source());
    var semver_12 = __importDefault2(require_semver2());
    var constants_1 = require_constants();
    var pkgsDiff_1 = require_pkgsDiff();
    var outputConstants_1 = require_outputConstants();
    var CONFIG_BY_DEP_TYPE = {
      prod: "production",
      dev: "dev",
      optional: "optional"
    };
    function reportSummary(log$, opts) {
      const pkgsDiff$ = (0, pkgsDiff_1.getPkgsDiff)(log$, { prefix: opts.cwd });
      const summaryLog$ = log$.summary.pipe((0, operators_1.take)(1));
      const _printDiffs = printDiffs.bind(null, { cmd: opts.cmd, prefix: opts.cwd, pnpmConfig: opts.pnpmConfig });
      return Rx.combineLatest(pkgsDiff$, log$.ignoredScripts.pipe(Rx.startWith({ packageNames: void 0 })), summaryLog$).pipe((0, operators_1.take)(1), (0, operators_1.map)(([pkgsDiff, ignoredScripts]) => {
        let msg = "";
        for (const depType of ["prod", "optional", "peer", "dev", "nodeModulesOnly"]) {
          let diffs = Object.values(pkgsDiff[depType]);
          if (opts.filterPkgsDiff) {
            diffs = diffs.filter((pkgDiff) => opts.filterPkgsDiff(pkgDiff));
          }
          if (diffs.length > 0) {
            msg += constants_1.EOL;
            if (opts.pnpmConfig?.global) {
              msg += chalk_1.default.cyanBright(`${opts.cwd}:`);
            } else {
              msg += chalk_1.default.cyanBright(`${pkgsDiff_1.propertyByDependencyType[depType]}:`);
            }
            msg += constants_1.EOL;
            msg += _printDiffs(diffs, depType);
            msg += constants_1.EOL;
          } else if (CONFIG_BY_DEP_TYPE[depType] && opts.pnpmConfig?.[CONFIG_BY_DEP_TYPE[depType]] === false) {
            msg += constants_1.EOL;
            msg += `${chalk_1.default.cyanBright(`${pkgsDiff_1.propertyByDependencyType[depType]}:`)} skipped`;
            msg += constants_1.EOL;
          }
        }
        if (ignoredScripts.packageNames && ignoredScripts.packageNames.length > 0 && !opts.pnpmConfig?.strictDepBuilds) {
          msg += constants_1.EOL;
          msg += (0, boxen_1.default)(`Ignored build scripts: ${Array.from(ignoredScripts.packageNames).sort(util_lex_comparator_1.lexCompare).join(", ")}.
Run "pnpm approve-builds${opts.pnpmConfig?.cliOptions?.global ? " -g" : ""}" to pick which dependencies should be allowed to run scripts.`, {
            title: "Warning",
            padding: 1,
            margin: 0,
            borderStyle: "round",
            borderColor: "yellow"
          });
          msg += constants_1.EOL;
        }
        return Rx.of({ msg });
      }));
    }
    function printDiffs(opts, pkgsDiff, depType) {
      pkgsDiff.sort((a, b) => a.name.localeCompare(b.name) * 10 + (Number(!b.added) - Number(!a.added)));
      const msg = pkgsDiff.map((pkg) => {
        let result2 = pkg.added ? outputConstants_1.ADDED_CHAR : outputConstants_1.REMOVED_CHAR;
        if (!pkg.realName || pkg.name === pkg.realName) {
          result2 += ` ${pkg.name}`;
        } else {
          result2 += ` ${pkg.name} <- ${pkg.realName}`;
        }
        if (pkg.version) {
          result2 += ` ${chalk_1.default.grey(pkg.version)}`;
          if (pkg.latest && semver_12.default.lt(pkg.version, pkg.latest)) {
            result2 += ` ${chalk_1.default.grey(`(${pkg.latest} is available)`)}`;
          }
        }
        if (pkg.deprecated) {
          result2 += ` ${chalk_1.default.red("deprecated")}`;
        }
        if (pkg.from) {
          result2 += ` ${chalk_1.default.grey(`<- ${pkg.from && path_1.default.relative(opts.prefix, pkg.from) || "???"}`)}`;
        }
        if (pkg.added && depType === "dev" && opts.pnpmConfig?.saveDev === false && opts.cmd === "add") {
          result2 += `${chalk_1.default.yellow(" already in devDependencies, was not moved to dependencies.")}`;
        }
        return result2;
      }).join(constants_1.EOL);
      return msg;
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js
var require_reportUpdateCheck = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/reportUpdateCheck.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reportUpdateCheck = reportUpdateCheck;
    var cli_meta_1 = require_lib4();
    var boxen_1 = __importDefault2(require_boxen());
    var chalk_1 = __importDefault2(require_source());
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var semver_12 = __importDefault2(require_semver2());
    function reportUpdateCheck(log$, opts) {
      return log$.pipe((0, operators_1.take)(1), (0, operators_1.filter)((log) => semver_12.default.gt(log.latestVersion, log.currentVersion)), (0, operators_1.map)((log) => {
        const updateMessage = renderUpdateMessage({
          currentPkgIsExecutable: (0, cli_meta_1.detectIfCurrentPkgIsExecutable)(opts.process),
          latestVersion: log.latestVersion,
          env: opts.env
        });
        return Rx.of({
          msg: (0, boxen_1.default)(`Update available! ${chalk_1.default.red(log.currentVersion)} \u2192 ${chalk_1.default.green(log.latestVersion)}.
${chalk_1.default.magenta("Changelog:")} https://pnpm.io/v/${log.latestVersion}
${updateMessage}`, {
            padding: 1,
            margin: 1,
            align: "center",
            borderColor: "yellow",
            borderStyle: "round"
          })
        });
      }));
    }
    function renderUpdateMessage(opts) {
      const updateCommand = renderUpdateCommand(opts);
      return `To update, run: ${chalk_1.default.magenta(updateCommand)}`;
    }
    function renderUpdateCommand(opts) {
      if ((0, cli_meta_1.isExecutedByCorepack)(opts.env)) {
        return `corepack use pnpm@${opts.latestVersion}`;
      }
      if (opts.env.PNPM_HOME) {
        return "pnpm self-update";
      }
      const pkgName = opts.currentPkgIsExecutable ? "@pnpm/exe" : "pnpm";
      return `pnpm add -g ${pkgName}`;
    }
  }
});

// ../cli/default-reporter/lib/reporterForClient/index.js
var require_reporterForClient = __commonJS({
  "../cli/default-reporter/lib/reporterForClient/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reporterForClient = reporterForClient;
    var operators_1 = require_operators();
    var reportBigTarballsProgress_1 = require_reportBigTarballsProgress();
    var reportContext_1 = require_reportContext();
    var reportExecutionTime_1 = require_reportExecutionTime();
    var reportDeprecations_1 = require_reportDeprecations();
    var reportHooks_1 = require_reportHooks();
    var reportInstallChecks_1 = require_reportInstallChecks();
    var reportLifecycleScripts_1 = require_reportLifecycleScripts();
    var reportMisc_1 = require_reportMisc();
    var reportPeerDependencyIssues_1 = require_reportPeerDependencyIssues();
    var reportProgress_1 = require_reportProgress();
    var reportRequestRetry_1 = require_reportRequestRetry();
    var reportScope_1 = require_reportScope();
    var reportSkippedOptionalDependencies_1 = require_reportSkippedOptionalDependencies();
    var reportStats_1 = require_reportStats();
    var reportSummary_1 = require_reportSummary();
    var reportUpdateCheck_1 = require_reportUpdateCheck();
    var PRINT_EXECUTION_TIME_IN_COMMANDS = {
      install: true,
      update: true,
      add: true,
      remove: true
    };
    function reporterForClient(log$, opts) {
      const width = opts.width ?? process.stdout.columns ?? 80;
      const cwd = opts.pnpmConfig?.dir ?? process.cwd();
      const throttle = typeof opts.throttleProgress === "number" && opts.throttleProgress > 0 ? (0, operators_1.throttleTime)(opts.throttleProgress, void 0, { leading: true, trailing: true }) : void 0;
      const outputs = [
        (0, reportMisc_1.reportMisc)(log$, {
          appendOnly: opts.appendOnly === true,
          config: opts.config,
          cwd,
          logLevel: opts.logLevel,
          zoomOutCurrent: opts.isRecursive,
          peerDependencyRules: opts.peerDependencyRules
        })
      ];
      const logLevelNumber = reportMisc_1.LOG_LEVEL_NUMBER[opts.logLevel ?? "info"] ?? reportMisc_1.LOG_LEVEL_NUMBER["info"];
      const showInfo = logLevelNumber >= reportMisc_1.LOG_LEVEL_NUMBER.info;
      if (logLevelNumber >= reportMisc_1.LOG_LEVEL_NUMBER.warn) {
        outputs.push((0, reportPeerDependencyIssues_1.reportPeerDependencyIssues)(log$, opts.peerDependencyRules), (0, reportDeprecations_1.reportDeprecations)({
          deprecation: log$.deprecation,
          stage: log$.stage
        }, { cwd, isRecursive: opts.isRecursive }), (0, reportRequestRetry_1.reportRequestRetry)(log$.requestRetry));
      }
      if (showInfo) {
        if (opts.cmd in PRINT_EXECUTION_TIME_IN_COMMANDS) {
          outputs.push((0, reportExecutionTime_1.reportExecutionTime)(log$.executionTime));
        }
        if (opts.cmd !== "dlx") {
          outputs.push((0, reportContext_1.reportContext)(log$, { cwd }));
        }
        outputs.push((0, reportLifecycleScripts_1.reportLifecycleScripts)(log$, {
          appendOnly: (opts.appendOnly === true || opts.streamLifecycleOutput) && !opts.hideLifecycleOutput,
          aggregateOutput: opts.aggregateOutput,
          hideLifecyclePrefix: opts.hideLifecyclePrefix,
          cwd,
          width
        }), (0, reportInstallChecks_1.reportInstallChecks)(log$.installCheck, { cwd }), (0, reportScope_1.reportScope)(log$.scope, { isRecursive: opts.isRecursive, cmd: opts.cmd }), (0, reportSkippedOptionalDependencies_1.reportSkippedOptionalDependencies)(log$.skippedOptionalDependency, { cwd }), (0, reportHooks_1.reportHooks)(log$.hook, { cwd, isRecursive: opts.isRecursive }), (0, reportUpdateCheck_1.reportUpdateCheck)(log$.updateCheck, opts), (0, reportProgress_1.reportProgress)(log$, {
          cwd,
          throttle,
          hideAddedPkgsProgress: opts.hideAddedPkgsProgress,
          hideProgressPrefix: opts.hideProgressPrefix
        }), ...(0, reportStats_1.reportStats)(log$, {
          cmd: opts.cmd,
          cwd,
          isRecursive: opts.isRecursive,
          width,
          hideProgressPrefix: opts.hideProgressPrefix
        }));
        if (!opts.appendOnly) {
          outputs.push((0, reportBigTarballsProgress_1.reportBigTarballProgress)(log$));
        }
        if (!opts.isRecursive) {
          outputs.push((0, reportSummary_1.reportSummary)(log$, {
            cmd: opts.cmd,
            cwd,
            env: opts.env,
            filterPkgsDiff: opts.filterPkgsDiff,
            pnpmConfig: opts.pnpmConfig
          }));
        }
      }
      return outputs;
    }
  }
});

// ../cli/default-reporter/lib/reporterForServer.js
var require_reporterForServer = __commonJS({
  "../cli/default-reporter/lib/reporterForServer.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reporterForServer = reporterForServer;
    var chalk_1 = __importDefault2(require_source());
    var reportError_1 = require_reportError();
    function reporterForServer(log$, config) {
      return log$.subscribe({
        complete: () => void 0,
        error: () => void 0,
        next(log) {
          if (log.name === "pnpm:fetching-progress") {
            console.log(`${chalk_1.default.cyan(`fetching_${log.status}`)} ${log.packageId}`);
            return;
          }
          switch (log.level) {
            case "warn":
              console.log(formatWarn(log["message"]));
              return;
            case "error":
              console.log((0, reportError_1.reportError)(log, config));
              return;
            case "debug":
              return;
            default:
              console.log(log["message"]);
          }
        }
      });
    }
    function formatWarn(message) {
      return `${chalk_1.default.bgYellow.black("\u2009WARN\u2009")} ${message}`;
    }
  }
});

// ../cli/default-reporter/lib/index.js
var require_lib27 = __commonJS({
  "../cli/default-reporter/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.formatWarn = void 0;
    exports2.initDefaultReporter = initDefaultReporter;
    exports2.toOutput$ = toOutput$;
    var Rx = __importStar3(require_cjs2());
    var operators_1 = require_operators();
    var ansi_diff_1 = __importDefault2(require_ansi_diff());
    var constants_1 = require_constants();
    var mergeOutputs_1 = require_mergeOutputs();
    var reporterForClient_1 = require_reporterForClient();
    var formatWarn_1 = require_formatWarn();
    Object.defineProperty(exports2, "formatWarn", { enumerable: true, get: function() {
      return formatWarn_1.formatWarn;
    } });
    var reporterForServer_1 = require_reporterForServer();
    function initDefaultReporter(opts) {
      if (opts.context.argv[0] === "server") {
        const log$ = Rx.fromEvent(opts.streamParser, "data");
        const subscription2 = (0, reporterForServer_1.reporterForServer)(log$, opts.context.config);
        return () => {
          subscription2.unsubscribe();
        };
      }
      const proc = opts.context.process ?? process;
      const outputMaxWidth = opts.reportingOptions?.outputMaxWidth ?? (proc.stdout.columns && proc.stdout.columns - 2) ?? 80;
      const output$ = toOutput$({
        ...opts,
        reportingOptions: {
          ...opts.reportingOptions,
          outputMaxWidth
        }
      });
      if (opts.reportingOptions?.appendOnly) {
        const writeNext = opts.useStderr ? console.error.bind(console) : console.log.bind(console);
        const subscription2 = output$.subscribe({
          complete() {
          },
          // eslint-disable-line:no-empty
          error: (err) => {
            console.error(err.message);
          },
          next: writeNext
        });
        return () => {
          subscription2.unsubscribe();
        };
      }
      const diff = (0, ansi_diff_1.default)({
        height: proc.stdout.rows,
        outputMaxWidth
      });
      const subscription = output$.subscribe({
        complete() {
        },
        // eslint-disable-line:no-empty
        error: (err) => {
          logUpdate(err.message);
        },
        next: logUpdate
      });
      const write = opts.useStderr ? proc.stderr.write.bind(proc.stderr) : proc.stdout.write.bind(proc.stdout);
      function logUpdate(view) {
        if (!view.endsWith(constants_1.EOL))
          view += constants_1.EOL;
        write(diff.update(view));
      }
      return () => {
        subscription.unsubscribe();
      };
    }
    function toOutput$(opts) {
      opts = opts || {};
      const contextPushStream = new Rx.Subject();
      const fetchingProgressPushStream = new Rx.Subject();
      const executionTimePushStream = new Rx.Subject();
      const progressPushStream = new Rx.Subject();
      const stagePushStream = new Rx.Subject();
      const deprecationPushStream = new Rx.Subject();
      const summaryPushStream = new Rx.Subject();
      const lifecyclePushStream = new Rx.Subject();
      const statsPushStream = new Rx.Subject();
      const packageImportMethodPushStream = new Rx.Subject();
      const installCheckPushStream = new Rx.Subject();
      const ignoredScriptsPushStream = new Rx.Subject();
      const registryPushStream = new Rx.Subject();
      const rootPushStream = new Rx.Subject();
      const packageManifestPushStream = new Rx.Subject();
      const peerDependencyIssuesPushStream = new Rx.Subject();
      const linkPushStream = new Rx.Subject();
      const otherPushStream = new Rx.Subject();
      const hookPushStream = new Rx.Subject();
      const skippedOptionalDependencyPushStream = new Rx.Subject();
      const scopePushStream = new Rx.Subject();
      const requestRetryPushStream = new Rx.Subject();
      const updateCheckPushStream = new Rx.Subject();
      setTimeout(() => {
        opts.streamParser.on("data", (log) => {
          switch (log.name) {
            case "pnpm:context":
              contextPushStream.next(log);
              break;
            case "pnpm:execution-time":
              executionTimePushStream.next(log);
              break;
            case "pnpm:fetching-progress":
              fetchingProgressPushStream.next(log);
              break;
            case "pnpm:progress":
              progressPushStream.next(log);
              break;
            case "pnpm:stage":
              stagePushStream.next(log);
              break;
            case "pnpm:deprecation":
              deprecationPushStream.next(log);
              break;
            case "pnpm:summary":
              summaryPushStream.next(log);
              break;
            case "pnpm:lifecycle":
              lifecyclePushStream.next(log);
              break;
            case "pnpm:stats":
              statsPushStream.next(log);
              break;
            case "pnpm:package-import-method":
              packageImportMethodPushStream.next(log);
              break;
            case "pnpm:peer-dependency-issues":
              peerDependencyIssuesPushStream.next(log);
              break;
            case "pnpm:install-check":
              installCheckPushStream.next(log);
              break;
            case "pnpm:ignored-scripts":
              ignoredScriptsPushStream.next(log);
              break;
            case "pnpm:registry":
              registryPushStream.next(log);
              break;
            case "pnpm:root":
              rootPushStream.next(log);
              break;
            case "pnpm:package-manifest":
              packageManifestPushStream.next(log);
              break;
            case "pnpm:link":
              linkPushStream.next(log);
              break;
            case "pnpm:hook":
              hookPushStream.next(log);
              break;
            case "pnpm:skipped-optional-dependency":
              skippedOptionalDependencyPushStream.next(log);
              break;
            case "pnpm:scope":
              scopePushStream.next(log);
              break;
            case "pnpm:request-retry":
              requestRetryPushStream.next(log);
              break;
            case "pnpm:update-check":
              updateCheckPushStream.next(log);
              break;
            case "pnpm":
            // eslint-disable-line
            case "pnpm:global":
            // eslint-disable-line
            case "pnpm:store":
            // eslint-disable-line
            case "pnpm:lockfile":
              otherPushStream.next(log);
              break;
          }
        });
      }, 0);
      let other = Rx.from(otherPushStream);
      if (opts.context.config?.hooks?.filterLog != null) {
        const filterLogs = opts.context.config.hooks.filterLog;
        const filterFn = filterLogs.length === 1 ? filterLogs[0] : (log) => filterLogs.every((filterLog) => filterLog(log));
        other = other.pipe((0, operators_1.filter)(filterFn));
      }
      const log$ = {
        context: Rx.from(contextPushStream),
        deprecation: Rx.from(deprecationPushStream),
        fetchingProgress: Rx.from(fetchingProgressPushStream),
        executionTime: Rx.from(executionTimePushStream),
        hook: Rx.from(hookPushStream),
        installCheck: Rx.from(installCheckPushStream),
        ignoredScripts: Rx.from(ignoredScriptsPushStream),
        lifecycle: Rx.from(lifecyclePushStream),
        link: Rx.from(linkPushStream),
        other,
        packageImportMethod: Rx.from(packageImportMethodPushStream),
        packageManifest: Rx.from(packageManifestPushStream),
        peerDependencyIssues: Rx.from(peerDependencyIssuesPushStream),
        progress: Rx.from(progressPushStream),
        registry: Rx.from(registryPushStream),
        requestRetry: Rx.from(requestRetryPushStream),
        root: Rx.from(rootPushStream),
        scope: Rx.from(scopePushStream),
        skippedOptionalDependency: Rx.from(skippedOptionalDependencyPushStream),
        stage: Rx.from(stagePushStream),
        stats: Rx.from(statsPushStream),
        summary: Rx.from(summaryPushStream),
        updateCheck: Rx.from(updateCheckPushStream)
      };
      const cmd = opts.context.argv[0];
      const outputs = (0, reporterForClient_1.reporterForClient)(log$, {
        appendOnly: opts.reportingOptions?.appendOnly,
        cmd,
        config: opts.context.config,
        env: opts.context.env ?? process.env,
        filterPkgsDiff: opts.filterPkgsDiff,
        peerDependencyRules: opts.reportingOptions?.peerDependencyRules,
        process: opts.context.process ?? process,
        isRecursive: opts.context.config?.["recursive"] === true,
        logLevel: opts.reportingOptions?.logLevel,
        pnpmConfig: opts.context.config,
        streamLifecycleOutput: opts.reportingOptions?.streamLifecycleOutput,
        aggregateOutput: opts.reportingOptions?.aggregateOutput,
        throttleProgress: opts.reportingOptions?.throttleProgress,
        width: opts.reportingOptions?.outputMaxWidth,
        hideAddedPkgsProgress: opts.reportingOptions?.hideAddedPkgsProgress,
        hideProgressPrefix: opts.reportingOptions?.hideProgressPrefix ?? cmd === "dlx",
        hideLifecycleOutput: opts.reportingOptions?.hideLifecycleOutput,
        hideLifecyclePrefix: opts.reportingOptions?.hideLifecyclePrefix
      });
      if (opts.reportingOptions?.appendOnly) {
        return Rx.merge(...outputs).pipe((0, operators_1.map)((log) => log.pipe((0, operators_1.map)((msg) => msg.msg))), (0, operators_1.mergeAll)());
      }
      return (0, mergeOutputs_1.mergeOutputs)(outputs);
    }
  }
});

// ../cli/cli-utils/lib/getConfig.js
var require_getConfig = __commonJS({
  "../cli/cli-utils/lib/getConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getConfig = getConfig;
    var cli_meta_1 = require_lib4();
    var config_1 = require_lib19();
    var default_reporter_1 = require_lib27();
    async function getConfig(cliOptions, opts) {
      const { config, warnings } = await (0, config_1.getConfig)({
        cliOptions,
        globalDirShouldAllowWrite: opts.globalDirShouldAllowWrite,
        packageManager: cli_meta_1.packageManager,
        rcOptionsTypes: opts.rcOptionsTypes,
        workspaceDir: opts.workspaceDir,
        checkUnknownSetting: opts.checkUnknownSetting,
        ignoreNonAuthSettingsFromLocal: opts.ignoreNonAuthSettingsFromLocal
      });
      config.cliOptions = cliOptions;
      if (opts.excludeReporter) {
        delete config.reporter;
      }
      if (warnings.length > 0) {
        console.warn(warnings.map((warning) => (0, default_reporter_1.formatWarn)(warning)).join("\n"));
      }
      return config;
    }
  }
});

// ../packages/core-loggers/lib/contextLogger.js
var require_contextLogger = __commonJS({
  "../packages/core-loggers/lib/contextLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.contextLogger = void 0;
    var logger_1 = require_lib();
    exports2.contextLogger = (0, logger_1.logger)("context");
  }
});

// ../packages/core-loggers/lib/deprecationLogger.js
var require_deprecationLogger = __commonJS({
  "../packages/core-loggers/lib/deprecationLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.deprecationLogger = void 0;
    var logger_1 = require_lib();
    exports2.deprecationLogger = (0, logger_1.logger)("deprecation");
  }
});

// ../packages/core-loggers/lib/fetchingProgressLogger.js
var require_fetchingProgressLogger = __commonJS({
  "../packages/core-loggers/lib/fetchingProgressLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fetchingProgressLogger = void 0;
    var logger_1 = require_lib();
    exports2.fetchingProgressLogger = (0, logger_1.logger)("fetching-progress");
  }
});

// ../packages/core-loggers/lib/hookLogger.js
var require_hookLogger = __commonJS({
  "../packages/core-loggers/lib/hookLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hookLogger = void 0;
    var logger_1 = require_lib();
    exports2.hookLogger = (0, logger_1.logger)("hook");
  }
});

// ../packages/core-loggers/lib/installCheckLogger.js
var require_installCheckLogger = __commonJS({
  "../packages/core-loggers/lib/installCheckLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.installCheckLogger = void 0;
    var logger_1 = require_lib();
    exports2.installCheckLogger = (0, logger_1.logger)("install-check");
  }
});

// ../packages/core-loggers/lib/ignoredScriptsLogger.js
var require_ignoredScriptsLogger = __commonJS({
  "../packages/core-loggers/lib/ignoredScriptsLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ignoredScriptsLogger = void 0;
    var logger_1 = require_lib();
    exports2.ignoredScriptsLogger = (0, logger_1.logger)("ignored-scripts");
  }
});

// ../packages/core-loggers/lib/lifecycleLogger.js
var require_lifecycleLogger = __commonJS({
  "../packages/core-loggers/lib/lifecycleLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lifecycleLogger = void 0;
    var logger_1 = require_lib();
    exports2.lifecycleLogger = (0, logger_1.logger)("lifecycle");
  }
});

// ../packages/core-loggers/lib/linkLogger.js
var require_linkLogger = __commonJS({
  "../packages/core-loggers/lib/linkLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkLogger = void 0;
    var logger_1 = require_lib();
    exports2.linkLogger = (0, logger_1.logger)("link");
  }
});

// ../packages/core-loggers/lib/packageImportMethodLogger.js
var require_packageImportMethodLogger = __commonJS({
  "../packages/core-loggers/lib/packageImportMethodLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageImportMethodLogger = void 0;
    var logger_1 = require_lib();
    exports2.packageImportMethodLogger = (0, logger_1.logger)("package-import-method");
  }
});

// ../packages/core-loggers/lib/packageManifestLogger.js
var require_packageManifestLogger = __commonJS({
  "../packages/core-loggers/lib/packageManifestLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageManifestLogger = void 0;
    var logger_1 = require_lib();
    exports2.packageManifestLogger = (0, logger_1.logger)("package-manifest");
  }
});

// ../packages/core-loggers/lib/peerDependencyIssues.js
var require_peerDependencyIssues = __commonJS({
  "../packages/core-loggers/lib/peerDependencyIssues.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.peerDependencyIssuesLogger = void 0;
    var logger_1 = require_lib();
    exports2.peerDependencyIssuesLogger = (0, logger_1.logger)("peer-dependency-issues");
  }
});

// ../packages/core-loggers/lib/progressLogger.js
var require_progressLogger = __commonJS({
  "../packages/core-loggers/lib/progressLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.progressLogger = void 0;
    var logger_1 = require_lib();
    exports2.progressLogger = (0, logger_1.logger)("progress");
  }
});

// ../packages/core-loggers/lib/registryLogger.js
var require_registryLogger = __commonJS({
  "../packages/core-loggers/lib/registryLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/core-loggers/lib/removalLogger.js
var require_removalLogger = __commonJS({
  "../packages/core-loggers/lib/removalLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removalLogger = void 0;
    var logger_1 = require_lib();
    exports2.removalLogger = (0, logger_1.logger)("removal");
  }
});

// ../packages/core-loggers/lib/requestRetryLogger.js
var require_requestRetryLogger = __commonJS({
  "../packages/core-loggers/lib/requestRetryLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.requestRetryLogger = void 0;
    var logger_1 = require_lib();
    exports2.requestRetryLogger = (0, logger_1.logger)("request-retry");
  }
});

// ../packages/core-loggers/lib/rootLogger.js
var require_rootLogger = __commonJS({
  "../packages/core-loggers/lib/rootLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rootLogger = void 0;
    var logger_1 = require_lib();
    exports2.rootLogger = (0, logger_1.logger)("root");
  }
});

// ../packages/core-loggers/lib/scopeLogger.js
var require_scopeLogger = __commonJS({
  "../packages/core-loggers/lib/scopeLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.scopeLogger = void 0;
    var logger_1 = require_lib();
    exports2.scopeLogger = (0, logger_1.logger)("scope");
  }
});

// ../packages/core-loggers/lib/skippedOptionalDependencyLogger.js
var require_skippedOptionalDependencyLogger = __commonJS({
  "../packages/core-loggers/lib/skippedOptionalDependencyLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.skippedOptionalDependencyLogger = void 0;
    var logger_1 = require_lib();
    exports2.skippedOptionalDependencyLogger = (0, logger_1.logger)("skipped-optional-dependency");
  }
});

// ../packages/core-loggers/lib/stageLogger.js
var require_stageLogger = __commonJS({
  "../packages/core-loggers/lib/stageLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stageLogger = void 0;
    var logger_1 = require_lib();
    exports2.stageLogger = (0, logger_1.logger)("stage");
  }
});

// ../packages/core-loggers/lib/statsLogger.js
var require_statsLogger = __commonJS({
  "../packages/core-loggers/lib/statsLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.statsLogger = void 0;
    var logger_1 = require_lib();
    exports2.statsLogger = (0, logger_1.logger)("stats");
  }
});

// ../packages/core-loggers/lib/summaryLogger.js
var require_summaryLogger = __commonJS({
  "../packages/core-loggers/lib/summaryLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.summaryLogger = void 0;
    var logger_1 = require_lib();
    exports2.summaryLogger = (0, logger_1.logger)("summary");
  }
});

// ../packages/core-loggers/lib/updateCheckLogger.js
var require_updateCheckLogger = __commonJS({
  "../packages/core-loggers/lib/updateCheckLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateCheckLogger = void 0;
    var logger_1 = require_lib();
    exports2.updateCheckLogger = (0, logger_1.logger)("update-check");
  }
});

// ../packages/core-loggers/lib/executionTimeLogger.js
var require_executionTimeLogger = __commonJS({
  "../packages/core-loggers/lib/executionTimeLogger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.executionTimeLogger = void 0;
    var logger_1 = require_lib();
    exports2.executionTimeLogger = (0, logger_1.logger)("execution-time");
  }
});

// ../packages/core-loggers/lib/all.js
var require_all = __commonJS({
  "../packages/core-loggers/lib/all.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_contextLogger(), exports2);
    __exportStar2(require_deprecationLogger(), exports2);
    __exportStar2(require_fetchingProgressLogger(), exports2);
    __exportStar2(require_hookLogger(), exports2);
    __exportStar2(require_installCheckLogger(), exports2);
    __exportStar2(require_ignoredScriptsLogger(), exports2);
    __exportStar2(require_lifecycleLogger(), exports2);
    __exportStar2(require_linkLogger(), exports2);
    __exportStar2(require_packageImportMethodLogger(), exports2);
    __exportStar2(require_packageManifestLogger(), exports2);
    __exportStar2(require_peerDependencyIssues(), exports2);
    __exportStar2(require_progressLogger(), exports2);
    __exportStar2(require_registryLogger(), exports2);
    __exportStar2(require_removalLogger(), exports2);
    __exportStar2(require_requestRetryLogger(), exports2);
    __exportStar2(require_rootLogger(), exports2);
    __exportStar2(require_scopeLogger(), exports2);
    __exportStar2(require_skippedOptionalDependencyLogger(), exports2);
    __exportStar2(require_stageLogger(), exports2);
    __exportStar2(require_statsLogger(), exports2);
    __exportStar2(require_summaryLogger(), exports2);
    __exportStar2(require_updateCheckLogger(), exports2);
    __exportStar2(require_executionTimeLogger(), exports2);
  }
});

// ../packages/core-loggers/lib/index.js
var require_lib28 = __commonJS({
  "../packages/core-loggers/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_all(), exports2);
  }
});

// ../node_modules/.pnpm/mimic-fn@3.1.0/node_modules/mimic-fn/index.js
var require_mimic_fn2 = __commonJS({
  "../node_modules/.pnpm/mimic-fn@3.1.0/node_modules/mimic-fn/index.js"(exports2, module2) {
    "use strict";
    var copyProperty = (to, from, property, ignoreNonConfigurable) => {
      if (property === "length" || property === "prototype") {
        return;
      }
      if (property === "arguments" || property === "caller") {
        return;
      }
      const toDescriptor = Object.getOwnPropertyDescriptor(to, property);
      const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);
      if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {
        return;
      }
      Object.defineProperty(to, property, fromDescriptor);
    };
    var canCopyProperty = function(toDescriptor, fromDescriptor) {
      return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);
    };
    var changePrototype = (to, from) => {
      const fromPrototype = Object.getPrototypeOf(from);
      if (fromPrototype === Object.getPrototypeOf(to)) {
        return;
      }
      Object.setPrototypeOf(to, fromPrototype);
    };
    var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/
${fromBody}`;
    var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString");
    var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name");
    var changeToString = (to, from, name) => {
      const withName = name === "" ? "" : `with ${name.trim()}() `;
      const newToString = wrappedToString.bind(null, withName, from.toString());
      Object.defineProperty(newToString, "name", toStringName);
      Object.defineProperty(to, "toString", { ...toStringDescriptor, value: newToString });
    };
    var mimicFn = (to, from, { ignoreNonConfigurable = false } = {}) => {
      const { name } = to;
      for (const property of Reflect.ownKeys(from)) {
        copyProperty(to, from, property, ignoreNonConfigurable);
      }
      changePrototype(to, from);
      changeToString(to, from, name);
      return to;
    };
    module2.exports = mimicFn;
  }
});

// ../node_modules/.pnpm/p-defer@1.0.0/node_modules/p-defer/index.js
var require_p_defer = __commonJS({
  "../node_modules/.pnpm/p-defer@1.0.0/node_modules/p-defer/index.js"(exports2, module2) {
    "use strict";
    module2.exports = () => {
      const ret2 = {};
      ret2.promise = new Promise((resolve, reject) => {
        ret2.resolve = resolve;
        ret2.reject = reject;
      });
      return ret2;
    };
  }
});

// ../node_modules/.pnpm/map-age-cleaner@0.1.3/node_modules/map-age-cleaner/dist/index.js
var require_dist5 = __commonJS({
  "../node_modules/.pnpm/map-age-cleaner@0.1.3/node_modules/map-age-cleaner/dist/index.js"(exports2, module2) {
    "use strict";
    var __awaiter2 = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
      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(result2) {
          result2.done ? resolve(result2.value) : new P(function(resolve2) {
            resolve2(result2.value);
          }).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var p_defer_1 = __importDefault2(require_p_defer());
    function mapAgeCleaner(map, property = "maxAge") {
      let processingKey;
      let processingTimer;
      let processingDeferred;
      const cleanup = () => __awaiter2(this, void 0, void 0, function* () {
        if (processingKey !== void 0) {
          return;
        }
        const setupTimer = (item) => __awaiter2(this, void 0, void 0, function* () {
          processingDeferred = p_defer_1.default();
          const delay = item[1][property] - Date.now();
          if (delay <= 0) {
            map.delete(item[0]);
            processingDeferred.resolve();
            return;
          }
          processingKey = item[0];
          processingTimer = setTimeout(() => {
            map.delete(item[0]);
            if (processingDeferred) {
              processingDeferred.resolve();
            }
          }, delay);
          if (typeof processingTimer.unref === "function") {
            processingTimer.unref();
          }
          return processingDeferred.promise;
        });
        try {
          for (const entry of map) {
            yield setupTimer(entry);
          }
        } catch (_a) {
        }
        processingKey = void 0;
      });
      const reset = () => {
        processingKey = void 0;
        if (processingTimer !== void 0) {
          clearTimeout(processingTimer);
          processingTimer = void 0;
        }
        if (processingDeferred !== void 0) {
          processingDeferred.reject(void 0);
          processingDeferred = void 0;
        }
      };
      const originalSet = map.set.bind(map);
      map.set = (key, value) => {
        if (map.has(key)) {
          map.delete(key);
        }
        const result2 = originalSet(key, value);
        if (processingKey && processingKey === key) {
          reset();
        }
        cleanup();
        return result2;
      };
      cleanup();
      return map;
    }
    exports2.default = mapAgeCleaner;
    module2.exports = mapAgeCleaner;
    module2.exports.default = mapAgeCleaner;
  }
});

// ../node_modules/.pnpm/mem@8.1.1/node_modules/mem/dist/index.js
var require_dist6 = __commonJS({
  "../node_modules/.pnpm/mem@8.1.1/node_modules/mem/dist/index.js"(exports2, module2) {
    "use strict";
    var mimicFn = require_mimic_fn2();
    var mapAgeCleaner = require_dist5();
    var decoratorInstanceMap = /* @__PURE__ */ new WeakMap();
    var cacheStore = /* @__PURE__ */ new WeakMap();
    var mem = (fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) => {
      if (typeof maxAge === "number") {
        mapAgeCleaner(cache);
      }
      const memoized = function(...arguments_) {
        const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
        const cacheItem = cache.get(key);
        if (cacheItem) {
          return cacheItem.data;
        }
        const result2 = fn.apply(this, arguments_);
        cache.set(key, {
          data: result2,
          maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY
        });
        return result2;
      };
      mimicFn(memoized, fn, {
        ignoreNonConfigurable: true
      });
      cacheStore.set(memoized, cache);
      return memoized;
    };
    mem.decorator = (options = {}) => (target, propertyKey, descriptor) => {
      const input = target[propertyKey];
      if (typeof input !== "function") {
        throw new TypeError("The decorated value must be a function");
      }
      delete descriptor.value;
      delete descriptor.writable;
      descriptor.get = function() {
        if (!decoratorInstanceMap.has(this)) {
          const value = mem(input, options);
          decoratorInstanceMap.set(this, value);
          return value;
        }
        return decoratorInstanceMap.get(this);
      };
    };
    mem.clear = (fn) => {
      const cache = cacheStore.get(fn);
      if (!cache) {
        throw new TypeError("Can't clear a function that was not memoized!");
      }
      if (typeof cache.clear !== "function") {
        throw new TypeError("The cache Map can't be cleared!");
      }
      cache.clear();
    };
    module2.exports = mem;
  }
});

// ../env/system-node-version/lib/index.js
var require_lib29 = __commonJS({
  "../env/system-node-version/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getSystemNodeVersion = void 0;
    exports2.getSystemNodeVersionNonCached = getSystemNodeVersionNonCached;
    var cli_meta_1 = require_lib4();
    var mem_1 = __importDefault2(require_dist6());
    var execa = __importStar3(require_lib14());
    function getSystemNodeVersionNonCached() {
      if ((0, cli_meta_1.detectIfCurrentPkgIsExecutable)()) {
        try {
          return execa.sync("node", ["--version"]).stdout.toString();
        } catch {
          return void 0;
        }
      }
      return process.version;
    }
    exports2.getSystemNodeVersion = (0, mem_1.default)(getSystemNodeVersionNonCached);
  }
});

// ../config/package-is-installable/lib/checkEngine.js
var require_checkEngine = __commonJS({
  "../config/package-is-installable/lib/checkEngine.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnsupportedEngineError = void 0;
    exports2.checkEngine = checkEngine;
    var error_1 = require_lib6();
    var semver_12 = __importDefault2(require_semver2());
    var UnsupportedEngineError = class extends error_1.PnpmError {
      constructor(packageId, wanted, current) {
        super("UNSUPPORTED_ENGINE", `Unsupported engine for ${packageId}: wanted: ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
        this.packageId = packageId;
        this.wanted = wanted;
        this.current = current;
      }
    };
    exports2.UnsupportedEngineError = UnsupportedEngineError;
    function checkEngine(packageId, wantedEngine, currentEngine) {
      if (!wantedEngine)
        return null;
      const unsatisfiedWanted = {};
      if (wantedEngine.node && !semver_12.default.satisfies(currentEngine.node, wantedEngine.node, { includePrerelease: true })) {
        unsatisfiedWanted.node = wantedEngine.node;
      }
      if (currentEngine.pnpm && wantedEngine.pnpm && !semver_12.default.satisfies(currentEngine.pnpm, wantedEngine.pnpm, { includePrerelease: true })) {
        unsatisfiedWanted.pnpm = wantedEngine.pnpm;
      }
      if (Object.keys(unsatisfiedWanted).length > 0) {
        return new UnsupportedEngineError(packageId, unsatisfiedWanted, currentEngine);
      }
      return null;
    }
  }
});

// ../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/process.js
var require_process = __commonJS({
  "../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/process.js"(exports2, module2) {
    "use strict";
    var isLinux = () => process.platform === "linux";
    var report = null;
    var getReport = () => {
      if (!report) {
        if (isLinux() && process.report) {
          const orig = process.report.excludeNetwork;
          process.report.excludeNetwork = true;
          report = process.report.getReport();
          process.report.excludeNetwork = orig;
        } else {
          report = {};
        }
      }
      return report;
    };
    module2.exports = { isLinux, getReport };
  }
});

// ../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/filesystem.js
var require_filesystem = __commonJS({
  "../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/filesystem.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var LDD_PATH = "/usr/bin/ldd";
    var readFileSync = (path2) => fs.readFileSync(path2, "utf-8");
    var readFile = (path2) => new Promise((resolve, reject) => {
      fs.readFile(path2, "utf-8", (err, data) => {
        if (err) {
          reject(err);
        } else {
          resolve(data);
        }
      });
    });
    module2.exports = {
      LDD_PATH,
      readFileSync,
      readFile
    };
  }
});

// ../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/detect-libc.js
var require_detect_libc = __commonJS({
  "../node_modules/.pnpm/detect-libc@2.0.3/node_modules/detect-libc/lib/detect-libc.js"(exports2, module2) {
    "use strict";
    var childProcess = require("child_process");
    var { isLinux, getReport } = require_process();
    var { LDD_PATH, readFile, readFileSync } = require_filesystem();
    var cachedFamilyFilesystem;
    var cachedVersionFilesystem;
    var command = "getconf GNU_LIBC_VERSION 2>&1 || true; ldd --version 2>&1 || true";
    var commandOut = "";
    var safeCommand = () => {
      if (!commandOut) {
        return new Promise((resolve) => {
          childProcess.exec(command, (err, out) => {
            commandOut = err ? " " : out;
            resolve(commandOut);
          });
        });
      }
      return commandOut;
    };
    var safeCommandSync = () => {
      if (!commandOut) {
        try {
          commandOut = childProcess.execSync(command, { encoding: "utf8" });
        } catch (_err) {
          commandOut = " ";
        }
      }
      return commandOut;
    };
    var GLIBC = "glibc";
    var RE_GLIBC_VERSION = /LIBC[a-z0-9 \-).]*?(\d+\.\d+)/i;
    var MUSL = "musl";
    var isFileMusl = (f) => f.includes("libc.musl-") || f.includes("ld-musl-");
    var familyFromReport = () => {
      const report = getReport();
      if (report.header && report.header.glibcVersionRuntime) {
        return GLIBC;
      }
      if (Array.isArray(report.sharedObjects)) {
        if (report.sharedObjects.some(isFileMusl)) {
          return MUSL;
        }
      }
      return null;
    };
    var familyFromCommand = (out) => {
      const [getconf, ldd1] = out.split(/[\r\n]+/);
      if (getconf && getconf.includes(GLIBC)) {
        return GLIBC;
      }
      if (ldd1 && ldd1.includes(MUSL)) {
        return MUSL;
      }
      return null;
    };
    var getFamilyFromLddContent = (content) => {
      if (content.includes("musl")) {
        return MUSL;
      }
      if (content.includes("GNU C Library")) {
        return GLIBC;
      }
      return null;
    };
    var familyFromFilesystem = async () => {
      if (cachedFamilyFilesystem !== void 0) {
        return cachedFamilyFilesystem;
      }
      cachedFamilyFilesystem = null;
      try {
        const lddContent = await readFile(LDD_PATH);
        cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
      } catch (e) {
      }
      return cachedFamilyFilesystem;
    };
    var familyFromFilesystemSync = () => {
      if (cachedFamilyFilesystem !== void 0) {
        return cachedFamilyFilesystem;
      }
      cachedFamilyFilesystem = null;
      try {
        const lddContent = readFileSync(LDD_PATH);
        cachedFamilyFilesystem = getFamilyFromLddContent(lddContent);
      } catch (e) {
      }
      return cachedFamilyFilesystem;
    };
    var family = async () => {
      let family2 = null;
      if (isLinux()) {
        family2 = await familyFromFilesystem();
        if (!family2) {
          family2 = familyFromReport();
        }
        if (!family2) {
          const out = await safeCommand();
          family2 = familyFromCommand(out);
        }
      }
      return family2;
    };
    var familySync = () => {
      let family2 = null;
      if (isLinux()) {
        family2 = familyFromFilesystemSync();
        if (!family2) {
          family2 = familyFromReport();
        }
        if (!family2) {
          const out = safeCommandSync();
          family2 = familyFromCommand(out);
        }
      }
      return family2;
    };
    var isNonGlibcLinux = async () => isLinux() && await family() !== GLIBC;
    var isNonGlibcLinuxSync = () => isLinux() && familySync() !== GLIBC;
    var versionFromFilesystem = async () => {
      if (cachedVersionFilesystem !== void 0) {
        return cachedVersionFilesystem;
      }
      cachedVersionFilesystem = null;
      try {
        const lddContent = await readFile(LDD_PATH);
        const versionMatch = lddContent.match(RE_GLIBC_VERSION);
        if (versionMatch) {
          cachedVersionFilesystem = versionMatch[1];
        }
      } catch (e) {
      }
      return cachedVersionFilesystem;
    };
    var versionFromFilesystemSync = () => {
      if (cachedVersionFilesystem !== void 0) {
        return cachedVersionFilesystem;
      }
      cachedVersionFilesystem = null;
      try {
        const lddContent = readFileSync(LDD_PATH);
        const versionMatch = lddContent.match(RE_GLIBC_VERSION);
        if (versionMatch) {
          cachedVersionFilesystem = versionMatch[1];
        }
      } catch (e) {
      }
      return cachedVersionFilesystem;
    };
    var versionFromReport = () => {
      const report = getReport();
      if (report.header && report.header.glibcVersionRuntime) {
        return report.header.glibcVersionRuntime;
      }
      return null;
    };
    var versionSuffix = (s) => s.trim().split(/\s+/)[1];
    var versionFromCommand = (out) => {
      const [getconf, ldd1, ldd2] = out.split(/[\r\n]+/);
      if (getconf && getconf.includes(GLIBC)) {
        return versionSuffix(getconf);
      }
      if (ldd1 && ldd2 && ldd1.includes(MUSL)) {
        return versionSuffix(ldd2);
      }
      return null;
    };
    var version2 = async () => {
      let version3 = null;
      if (isLinux()) {
        version3 = await versionFromFilesystem();
        if (!version3) {
          version3 = versionFromReport();
        }
        if (!version3) {
          const out = await safeCommand();
          version3 = versionFromCommand(out);
        }
      }
      return version3;
    };
    var versionSync = () => {
      let version3 = null;
      if (isLinux()) {
        version3 = versionFromFilesystemSync();
        if (!version3) {
          version3 = versionFromReport();
        }
        if (!version3) {
          const out = safeCommandSync();
          version3 = versionFromCommand(out);
        }
      }
      return version3;
    };
    module2.exports = {
      GLIBC,
      MUSL,
      family,
      familySync,
      isNonGlibcLinux,
      isNonGlibcLinuxSync,
      version: version2,
      versionSync
    };
  }
});

// ../config/package-is-installable/lib/checkPlatform.js
var require_checkPlatform = __commonJS({
  "../config/package-is-installable/lib/checkPlatform.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnsupportedPlatformError = void 0;
    exports2.checkPlatform = checkPlatform;
    var error_1 = require_lib6();
    var detect_libc_1 = require_detect_libc();
    var currentLibc = (0, detect_libc_1.familySync)() ?? "unknown";
    var UnsupportedPlatformError = class extends error_1.PnpmError {
      constructor(packageId, wanted, current) {
        super("UNSUPPORTED_PLATFORM", `Unsupported platform for ${packageId}: wanted ${JSON.stringify(wanted)} (current: ${JSON.stringify(current)})`);
        this.wanted = wanted;
        this.current = current;
      }
    };
    exports2.UnsupportedPlatformError = UnsupportedPlatformError;
    function checkPlatform(packageId, wantedPlatform, supportedArchitectures) {
      const current = {
        os: dedupeCurrent(process.platform, supportedArchitectures?.os ?? ["current"]),
        cpu: dedupeCurrent(process.arch, supportedArchitectures?.cpu ?? ["current"]),
        libc: dedupeCurrent(currentLibc, supportedArchitectures?.libc ?? ["current"])
      };
      const { platform, arch } = process;
      let osOk = true;
      let cpuOk = true;
      let libcOk = true;
      if (wantedPlatform.os) {
        osOk = checkList(current.os, wantedPlatform.os);
      }
      if (wantedPlatform.cpu) {
        cpuOk = checkList(current.cpu, wantedPlatform.cpu);
      }
      if (wantedPlatform.libc && currentLibc !== "unknown") {
        libcOk = checkList(current.libc, wantedPlatform.libc);
      }
      if (!osOk || !cpuOk || !libcOk) {
        return new UnsupportedPlatformError(packageId, wantedPlatform, { os: platform, cpu: arch, libc: currentLibc });
      }
      return null;
    }
    function checkList(value, list) {
      let tmp;
      let match = false;
      let blc = 0;
      if (typeof list === "string") {
        list = [list];
      }
      list = list.filter((value2) => typeof value2 === "string");
      if (list.length === 1 && list[0] === "any") {
        return true;
      }
      const values = Array.isArray(value) ? value : [value];
      for (const value2 of values) {
        for (let i = 0; i < list.length; ++i) {
          tmp = list[i];
          if (tmp[0] === "!") {
            tmp = tmp.slice(1);
            if (tmp === value2) {
              return false;
            }
            ++blc;
          } else {
            match = match || tmp === value2;
          }
        }
      }
      return match || blc === list.length;
    }
    function dedupeCurrent(current, supported) {
      return supported.map((supported2) => supported2 === "current" ? current : supported2);
    }
  }
});

// ../config/package-is-installable/lib/index.js
var require_lib30 = __commonJS({
  "../config/package-is-installable/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnsupportedPlatformError = exports2.UnsupportedEngineError = void 0;
    exports2.packageIsInstallable = packageIsInstallable;
    exports2.checkPackage = checkPackage;
    var core_loggers_1 = require_lib28();
    var env_system_node_version_1 = require_lib29();
    var checkEngine_1 = require_checkEngine();
    Object.defineProperty(exports2, "UnsupportedEngineError", { enumerable: true, get: function() {
      return checkEngine_1.UnsupportedEngineError;
    } });
    var checkPlatform_1 = require_checkPlatform();
    Object.defineProperty(exports2, "UnsupportedPlatformError", { enumerable: true, get: function() {
      return checkPlatform_1.UnsupportedPlatformError;
    } });
    function packageIsInstallable(pkgId, pkg, options) {
      const warn = checkPackage(pkgId, pkg, options);
      if (warn == null)
        return true;
      core_loggers_1.installCheckLogger.warn({
        message: warn.message,
        prefix: options.lockfileDir
      });
      if (options.optional) {
        core_loggers_1.skippedOptionalDependencyLogger.debug({
          details: warn.toString(),
          package: {
            id: pkgId,
            name: pkg.name,
            version: pkg.version
          },
          prefix: options.lockfileDir,
          reason: warn.code === "ERR_PNPM_UNSUPPORTED_ENGINE" ? "unsupported_engine" : "unsupported_platform"
        });
        return false;
      }
      if (options.engineStrict)
        throw warn;
      return null;
    }
    function checkPackage(pkgId, manifest, options) {
      return (0, checkPlatform_1.checkPlatform)(pkgId, {
        cpu: manifest.cpu ?? ["any"],
        os: manifest.os ?? ["any"],
        libc: manifest.libc ?? ["any"]
      }, options.supportedArchitectures) ?? (manifest.engines == null ? null : (0, checkEngine_1.checkEngine)(pkgId, manifest.engines, {
        node: options.nodeVersion ?? (0, env_system_node_version_1.getSystemNodeVersion)() ?? process.version,
        pnpm: options.pnpmVersion
      }));
    }
  }
});

// ../cli/cli-utils/lib/packageIsInstallable.js
var require_packageIsInstallable = __commonJS({
  "../cli/cli-utils/lib/packageIsInstallable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageIsInstallable = packageIsInstallable;
    var cli_meta_1 = require_lib4();
    var logger_1 = require_lib();
    var package_is_installable_1 = require_lib30();
    function packageIsInstallable(pkgPath, pkg, opts) {
      const currentPnpmVersion = cli_meta_1.packageManager.name === "pnpm" ? cli_meta_1.packageManager.version : void 0;
      const err = (0, package_is_installable_1.checkPackage)(pkgPath, pkg, {
        nodeVersion: opts.nodeVersion,
        pnpmVersion: currentPnpmVersion,
        supportedArchitectures: opts.supportedArchitectures ?? {
          os: ["current"],
          cpu: ["current"],
          libc: ["current"]
        }
      });
      if (err === null)
        return;
      if ((err instanceof package_is_installable_1.UnsupportedEngineError && err.wanted.pnpm) ?? opts.engineStrict)
        throw err;
      logger_1.logger.warn({
        message: `Unsupported ${err instanceof package_is_installable_1.UnsupportedEngineError ? "engine" : "platform"}: wanted: ${JSON.stringify(err.wanted)} (current: ${JSON.stringify(err.current)})`,
        prefix: pkgPath
      });
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/getAllDependenciesFromManifest.js
var require_getAllDependenciesFromManifest = __commonJS({
  "../pkg-manifest/manifest-utils/lib/getAllDependenciesFromManifest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAllDependenciesFromManifest = getAllDependenciesFromManifest;
    function getAllDependenciesFromManifest(pkg) {
      return {
        ...pkg.devDependencies,
        ...pkg.dependencies,
        ...pkg.optionalDependencies
      };
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/getAllUniqueSpecs.js
var require_getAllUniqueSpecs = __commonJS({
  "../pkg-manifest/manifest-utils/lib/getAllUniqueSpecs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAllUniqueSpecs = getAllUniqueSpecs;
    var getAllDependenciesFromManifest_1 = require_getAllDependenciesFromManifest();
    function getAllUniqueSpecs(manifests) {
      const allSpecs = {};
      const ignored = /* @__PURE__ */ new Set();
      for (const manifest of manifests) {
        const specs = (0, getAllDependenciesFromManifest_1.getAllDependenciesFromManifest)(manifest);
        for (const [name, spec] of Object.entries(specs)) {
          if (ignored.has(name))
            continue;
          if (allSpecs[name] != null && allSpecs[name] !== spec || spec.includes(":")) {
            ignored.add(name);
            delete allSpecs[name];
            continue;
          }
          allSpecs[name] = spec;
        }
      }
      return allSpecs;
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/getSpecFromPackageManifest.js
var require_getSpecFromPackageManifest = __commonJS({
  "../pkg-manifest/manifest-utils/lib/getSpecFromPackageManifest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getSpecFromPackageManifest = getSpecFromPackageManifest;
    function getSpecFromPackageManifest(manifest, depName) {
      return manifest.optionalDependencies?.[depName] ?? manifest.dependencies?.[depName] ?? manifest.devDependencies?.[depName] ?? manifest.peerDependencies?.[depName] ?? "";
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/getPref.js
var require_getPref = __commonJS({
  "../pkg-manifest/manifest-utils/lib/getPref.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPrefix = void 0;
    exports2.getPref = getPref;
    exports2.createVersionSpec = createVersionSpec;
    var error_1 = require_lib6();
    var getPrefix = (alias, name) => alias !== name ? `npm:${name}@` : "";
    exports2.getPrefix = getPrefix;
    function getPref(alias, name, version2, opts) {
      const prefix = (0, exports2.getPrefix)(alias, name);
      return `${prefix}${createVersionSpec(version2, { pinnedVersion: opts.pinnedVersion })}`;
    }
    function createVersionSpec(version2, opts) {
      switch (opts.pinnedVersion ?? "major") {
        case "none":
        case "major":
          if (opts.rolling)
            return "^";
          return !version2 ? "*" : `^${version2}`;
        case "minor":
          if (opts.rolling)
            return "~";
          return !version2 ? "*" : `~${version2}`;
        case "patch":
          if (opts.rolling)
            return "*";
          return !version2 ? "*" : `${version2}`;
        default:
          throw new error_1.PnpmError("BAD_PINNED_VERSION", `Cannot pin '${opts.pinnedVersion ?? "undefined"}'`);
      }
    }
  }
});

// ../packages/types/lib/env.js
var require_env = __commonJS({
  "../packages/types/lib/env.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/types/lib/misc.js
var require_misc = __commonJS({
  "../packages/types/lib/misc.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DEPENDENCIES_OR_PEER_FIELDS = exports2.DEPENDENCIES_FIELDS = void 0;
    exports2.DEPENDENCIES_FIELDS = [
      "optionalDependencies",
      "dependencies",
      "devDependencies"
    ];
    exports2.DEPENDENCIES_OR_PEER_FIELDS = [
      ...exports2.DEPENDENCIES_FIELDS,
      "peerDependencies"
    ];
  }
});

// ../packages/types/lib/options.js
var require_options = __commonJS({
  "../packages/types/lib/options.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/types/lib/package.js
var require_package = __commonJS({
  "../packages/types/lib/package.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/types/lib/peerDependencyIssues.js
var require_peerDependencyIssues2 = __commonJS({
  "../packages/types/lib/peerDependencyIssues.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/types/lib/project.js
var require_project = __commonJS({
  "../packages/types/lib/project.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../packages/types/lib/index.js
var require_lib31 = __commonJS({
  "../packages/types/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_env(), exports2);
    __exportStar2(require_misc(), exports2);
    __exportStar2(require_options(), exports2);
    __exportStar2(require_package(), exports2);
    __exportStar2(require_peerDependencyIssues2(), exports2);
    __exportStar2(require_project(), exports2);
  }
});

// ../pkg-manifest/manifest-utils/lib/updateProjectManifestObject.js
var require_updateProjectManifestObject = __commonJS({
  "../pkg-manifest/manifest-utils/lib/updateProjectManifestObject.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateProjectManifestObject = updateProjectManifestObject;
    exports2.guessDependencyType = guessDependencyType;
    var core_loggers_1 = require_lib28();
    var types_1 = require_lib31();
    async function updateProjectManifestObject(prefix, packageManifest, packageSpecs) {
      for (const packageSpec of packageSpecs) {
        if (packageSpec.saveType) {
          const spec = packageSpec.pref ?? findSpec(packageSpec.alias, packageManifest);
          if (spec) {
            packageManifest[packageSpec.saveType] = packageManifest[packageSpec.saveType] ?? {};
            packageManifest[packageSpec.saveType][packageSpec.alias] = spec;
            for (const deptype of types_1.DEPENDENCIES_FIELDS) {
              if (deptype !== packageSpec.saveType) {
                delete packageManifest[deptype]?.[packageSpec.alias];
              }
            }
            if (packageSpec.peer === true) {
              packageManifest.peerDependencies = packageManifest.peerDependencies ?? {};
              packageManifest.peerDependencies[packageSpec.alias] = spec;
            }
          }
        } else if (packageSpec.pref) {
          const usedDepType = guessDependencyType(packageSpec.alias, packageManifest) ?? "dependencies";
          if (usedDepType !== "peerDependencies") {
            packageManifest[usedDepType] = packageManifest[usedDepType] ?? {};
            packageManifest[usedDepType][packageSpec.alias] = packageSpec.pref;
          }
        }
        if (packageSpec.nodeExecPath) {
          if (packageManifest.dependenciesMeta == null) {
            packageManifest.dependenciesMeta = {};
          }
          packageManifest.dependenciesMeta[packageSpec.alias] = { node: packageSpec.nodeExecPath };
        }
      }
      core_loggers_1.packageManifestLogger.debug({
        prefix,
        updated: packageManifest
      });
      return packageManifest;
    }
    function findSpec(alias, manifest) {
      const foundDepType = guessDependencyType(alias, manifest);
      return foundDepType && manifest[foundDepType][alias];
    }
    function guessDependencyType(alias, manifest) {
      return types_1.DEPENDENCIES_OR_PEER_FIELDS.find((depField) => manifest[depField]?.[alias] === "" || Boolean(manifest[depField]?.[alias]));
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/getDependencyTypeFromManifest.js
var require_getDependencyTypeFromManifest = __commonJS({
  "../pkg-manifest/manifest-utils/lib/getDependencyTypeFromManifest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getDependencyTypeFromManifest = getDependencyTypeFromManifest;
    function getDependencyTypeFromManifest(manifest, depName) {
      if (manifest.optionalDependencies?.[depName])
        return "optionalDependencies";
      if (manifest.dependencies?.[depName])
        return "dependencies";
      if (manifest.devDependencies?.[depName])
        return "devDependencies";
      if (manifest.peerDependencies?.[depName])
        return "peerDependencies";
      return null;
    }
  }
});

// ../pkg-manifest/manifest-utils/lib/index.js
var require_lib32 = __commonJS({
  "../pkg-manifest/manifest-utils/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAllUniqueSpecs = exports2.getSpecFromPackageManifest = void 0;
    exports2.filterDependenciesByType = filterDependenciesByType;
    exports2.getAllDependenciesFromManifest = getAllDependenciesFromManifest;
    var getAllUniqueSpecs_1 = require_getAllUniqueSpecs();
    Object.defineProperty(exports2, "getAllUniqueSpecs", { enumerable: true, get: function() {
      return getAllUniqueSpecs_1.getAllUniqueSpecs;
    } });
    var getSpecFromPackageManifest_1 = require_getSpecFromPackageManifest();
    Object.defineProperty(exports2, "getSpecFromPackageManifest", { enumerable: true, get: function() {
      return getSpecFromPackageManifest_1.getSpecFromPackageManifest;
    } });
    __exportStar2(require_getPref(), exports2);
    __exportStar2(require_updateProjectManifestObject(), exports2);
    __exportStar2(require_getDependencyTypeFromManifest(), exports2);
    function filterDependenciesByType(manifest, include) {
      return {
        ...include.devDependencies ? manifest.devDependencies : {},
        ...include.dependencies ? manifest.dependencies : {},
        ...include.optionalDependencies ? manifest.optionalDependencies : {}
      };
    }
    function getAllDependenciesFromManifest(manifest) {
      return {
        ...manifest.devDependencies,
        ...manifest.dependencies,
        ...manifest.optionalDependencies
      };
    }
  }
});

// ../cli/cli-utils/lib/readDepNameCompletions.js
var require_readDepNameCompletions = __commonJS({
  "../cli/cli-utils/lib/readDepNameCompletions.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readDepNameCompletions = readDepNameCompletions;
    var manifest_utils_1 = require_lib32();
    var read_project_manifest_1 = require_lib13();
    async function readDepNameCompletions(dir) {
      const { manifest } = await (0, read_project_manifest_1.readProjectManifest)(dir ?? process.cwd());
      return Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(manifest)).map((name) => ({ name }));
    }
  }
});

// ../cli/cli-utils/lib/readProjectManifest.js
var require_readProjectManifest = __commonJS({
  "../cli/cli-utils/lib/readProjectManifest.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readProjectManifest = readProjectManifest;
    exports2.readProjectManifestOnly = readProjectManifestOnly;
    exports2.tryReadProjectManifest = tryReadProjectManifest;
    var utils = __importStar3(require_lib13());
    var packageIsInstallable_1 = require_packageIsInstallable();
    async function readProjectManifest(projectDir, opts = {}) {
      const { fileName, manifest, writeProjectManifest } = await utils.readProjectManifest(projectDir);
      (0, packageIsInstallable_1.packageIsInstallable)(projectDir, manifest, opts);
      return { fileName, manifest, writeProjectManifest };
    }
    async function readProjectManifestOnly(projectDir, opts = {}) {
      const manifest = await utils.readProjectManifestOnly(projectDir);
      (0, packageIsInstallable_1.packageIsInstallable)(projectDir, manifest, opts);
      return manifest;
    }
    async function tryReadProjectManifest(projectDir, opts) {
      const { fileName, manifest, writeProjectManifest } = await utils.tryReadProjectManifest(projectDir);
      if (manifest == null)
        return { fileName, manifest, writeProjectManifest };
      (0, packageIsInstallable_1.packageIsInstallable)(projectDir, manifest, opts);
      return { fileName, manifest, writeProjectManifest };
    }
  }
});

// ../cli/cli-utils/lib/recursiveSummary.js
var require_recursiveSummary = __commonJS({
  "../cli/cli-utils/lib/recursiveSummary.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.throwOnCommandFail = throwOnCommandFail;
    var error_1 = require_lib6();
    var RecursiveFailError = class extends error_1.PnpmError {
      constructor(command, recursiveSummary, failures) {
        super("RECURSIVE_FAIL", `"${command}" failed in ${failures.length} packages`);
        this.failures = failures;
        this.passes = Object.values(recursiveSummary).filter(({ status }) => status === "passed").length;
      }
    };
    function throwOnCommandFail(command, recursiveSummary) {
      const failures = Object.values(recursiveSummary).filter(({ status }) => status === "failure");
      if (failures.length > 0) {
        throw new RecursiveFailError(command, recursiveSummary, failures);
      }
    }
  }
});

// ../cli/cli-utils/lib/style.js
var require_style = __commonJS({
  "../cli/cli-utils/lib/style.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TABLE_OPTIONS = void 0;
    var chalk_1 = __importDefault2(require_source());
    exports2.TABLE_OPTIONS = {
      border: {
        topBody: "\u2500",
        topJoin: "\u252C",
        topLeft: "\u250C",
        topRight: "\u2510",
        bottomBody: "\u2500",
        bottomJoin: "\u2534",
        bottomLeft: "\u2514",
        bottomRight: "\u2518",
        bodyJoin: "\u2502",
        bodyLeft: "\u2502",
        bodyRight: "\u2502",
        joinBody: "\u2500",
        joinJoin: "\u253C",
        joinLeft: "\u251C",
        joinRight: "\u2524"
      },
      columns: {}
    };
    for (const [key, value] of Object.entries(exports2.TABLE_OPTIONS.border)) {
      exports2.TABLE_OPTIONS.border[key] = chalk_1.default.grey(value);
    }
  }
});

// ../cli/cli-utils/lib/index.js
var require_lib33 = __commonJS({
  "../cli/cli-utils/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getConfig = void 0;
    exports2.docsUrl = docsUrl;
    var cli_meta_1 = require_lib4();
    var getConfig_1 = require_getConfig();
    Object.defineProperty(exports2, "getConfig", { enumerable: true, get: function() {
      return getConfig_1.getConfig;
    } });
    __exportStar2(require_packageIsInstallable(), exports2);
    __exportStar2(require_readDepNameCompletions(), exports2);
    __exportStar2(require_readProjectManifest(), exports2);
    __exportStar2(require_recursiveSummary(), exports2);
    __exportStar2(require_style(), exports2);
    function docsUrl(cmd) {
      const [pnpmMajorVersion] = cli_meta_1.packageManager.version.split(".");
      return `https://pnpm.io/${pnpmMajorVersion}.x/cli/${cmd}`;
    }
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/utils.js
var require_utils = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/utils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.normalizePath = exports2.convertSlashes = exports2.cleanPath = void 0;
    var path_1 = require("path");
    function cleanPath(path2) {
      let normalized = (0, path_1.normalize)(path2);
      if (normalized.length > 1 && normalized[normalized.length - 1] === path_1.sep)
        normalized = normalized.substring(0, normalized.length - 1);
      return normalized;
    }
    exports2.cleanPath = cleanPath;
    var SLASHES_REGEX = /[\\/]/g;
    function convertSlashes(path2, separator) {
      return path2.replace(SLASHES_REGEX, separator);
    }
    exports2.convertSlashes = convertSlashes;
    function normalizePath(path2, options) {
      const { resolvePaths, normalizePath: normalizePath2, pathSeparator } = options;
      const pathNeedsCleaning = process.platform === "win32" && path2.includes("/") || path2.startsWith(".");
      if (resolvePaths)
        path2 = (0, path_1.resolve)(path2);
      if (normalizePath2 || pathNeedsCleaning)
        path2 = cleanPath(path2);
      if (path2 === ".")
        return "";
      const needsSeperator = path2[path2.length - 1] !== pathSeparator;
      return convertSlashes(needsSeperator ? path2 + pathSeparator : path2, pathSeparator);
    }
    exports2.normalizePath = normalizePath;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/join-path.js
var require_join_path = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/join-path.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = exports2.joinDirectoryPath = exports2.joinPathWithBasePath = void 0;
    var path_1 = require("path");
    var utils_1 = require_utils();
    function joinPathWithBasePath(filename, directoryPath) {
      return directoryPath + filename;
    }
    exports2.joinPathWithBasePath = joinPathWithBasePath;
    function joinPathWithRelativePath(root, options) {
      return function(filename, directoryPath) {
        const sameRoot = directoryPath.startsWith(root);
        if (sameRoot)
          return directoryPath.replace(root, "") + filename;
        else
          return (0, utils_1.convertSlashes)((0, path_1.relative)(root, directoryPath), options.pathSeparator) + options.pathSeparator + filename;
      };
    }
    function joinPath(filename) {
      return filename;
    }
    function joinDirectoryPath(filename, directoryPath, separator) {
      return directoryPath + filename + separator;
    }
    exports2.joinDirectoryPath = joinDirectoryPath;
    function build(root, options) {
      const { relativePaths, includeBasePath } = options;
      return relativePaths && root ? joinPathWithRelativePath(root, options) : includeBasePath ? joinPathWithBasePath : joinPath;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/push-directory.js
var require_push_directory = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/push-directory.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    function pushDirectoryWithRelativePath(root) {
      return function(directoryPath, paths) {
        paths.push(directoryPath.substring(root.length) || ".");
      };
    }
    function pushDirectoryFilterWithRelativePath(root) {
      return function(directoryPath, paths, filters) {
        const relativePath = directoryPath.substring(root.length) || ".";
        if (filters.every((filter) => filter(relativePath, true))) {
          paths.push(relativePath);
        }
      };
    }
    var pushDirectory = (directoryPath, paths) => {
      paths.push(directoryPath || ".");
    };
    var pushDirectoryFilter = (directoryPath, paths, filters) => {
      const path2 = directoryPath || ".";
      if (filters.every((filter) => filter(path2, true))) {
        paths.push(path2);
      }
    };
    var empty = () => {
    };
    function build(root, options) {
      const { includeDirs, filters, relativePaths } = options;
      if (!includeDirs)
        return empty;
      if (relativePaths)
        return filters && filters.length ? pushDirectoryFilterWithRelativePath(root) : pushDirectoryWithRelativePath(root);
      return filters && filters.length ? pushDirectoryFilter : pushDirectory;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/push-file.js
var require_push_file = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/push-file.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var pushFileFilterAndCount = (filename, _paths, counts, filters) => {
      if (filters.every((filter) => filter(filename, false)))
        counts.files++;
    };
    var pushFileFilter = (filename, paths, _counts, filters) => {
      if (filters.every((filter) => filter(filename, false)))
        paths.push(filename);
    };
    var pushFileCount = (_filename, _paths, counts, _filters) => {
      counts.files++;
    };
    var pushFile = (filename, paths) => {
      paths.push(filename);
    };
    var empty = () => {
    };
    function build(options) {
      const { excludeFiles, filters, onlyCounts } = options;
      if (excludeFiles)
        return empty;
      if (filters && filters.length) {
        return onlyCounts ? pushFileFilterAndCount : pushFileFilter;
      } else if (onlyCounts) {
        return pushFileCount;
      } else {
        return pushFile;
      }
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/get-array.js
var require_get_array = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/get-array.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var getArray = (paths) => {
      return paths;
    };
    var getArrayGroup = () => {
      return [""].slice(0, 0);
    };
    function build(options) {
      return options.group ? getArrayGroup : getArray;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/group-files.js
var require_group_files = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/group-files.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var groupFiles = (groups, directory, files) => {
      groups.push({ directory, files, dir: directory });
    };
    var empty = () => {
    };
    function build(options) {
      return options.group ? groupFiles : empty;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/resolve-symlink.js
var require_resolve_symlink = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/resolve-symlink.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = require("path");
    var resolveSymlinksAsync = function(path2, state, callback) {
      const { queue, options: { suppressErrors } } = state;
      queue.enqueue();
      fs_1.default.realpath(path2, (error, resolvedPath) => {
        if (error)
          return queue.dequeue(suppressErrors ? null : error, state);
        fs_1.default.stat(resolvedPath, (error2, stat) => {
          if (error2)
            return queue.dequeue(suppressErrors ? null : error2, state);
          if (stat.isDirectory() && isRecursive(path2, resolvedPath, state))
            return queue.dequeue(null, state);
          callback(stat, resolvedPath);
          queue.dequeue(null, state);
        });
      });
    };
    var resolveSymlinks = function(path2, state, callback) {
      const { queue, options: { suppressErrors } } = state;
      queue.enqueue();
      try {
        const resolvedPath = fs_1.default.realpathSync(path2);
        const stat = fs_1.default.statSync(resolvedPath);
        if (stat.isDirectory() && isRecursive(path2, resolvedPath, state))
          return;
        callback(stat, resolvedPath);
      } catch (e) {
        if (!suppressErrors)
          throw e;
      }
    };
    function build(options, isSynchronous) {
      if (!options.resolveSymlinks || options.excludeSymlinks)
        return null;
      return isSynchronous ? resolveSymlinks : resolveSymlinksAsync;
    }
    exports2.build = build;
    function isRecursive(path2, resolved, state) {
      if (state.options.useRealPaths)
        return isRecursiveUsingRealPaths(resolved, state);
      let parent = (0, path_1.dirname)(path2);
      let depth = 1;
      while (parent !== state.root && depth < 2) {
        const resolvedPath = state.symlinks.get(parent);
        const isSameRoot = !!resolvedPath && (resolvedPath === resolved || resolvedPath.startsWith(resolved) || resolved.startsWith(resolvedPath));
        if (isSameRoot)
          depth++;
        else
          parent = (0, path_1.dirname)(parent);
      }
      state.symlinks.set(path2, resolved);
      return depth > 1;
    }
    function isRecursiveUsingRealPaths(resolved, state) {
      return state.visited.includes(resolved + state.options.pathSeparator);
    }
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/invoke-callback.js
var require_invoke_callback = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/invoke-callback.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var onlyCountsSync = (state) => {
      return state.counts;
    };
    var groupsSync = (state) => {
      return state.groups;
    };
    var defaultSync = (state) => {
      return state.paths;
    };
    var limitFilesSync = (state) => {
      return state.paths.slice(0, state.options.maxFiles);
    };
    var onlyCountsAsync = (state, error, callback) => {
      report(error, callback, state.counts, state.options.suppressErrors);
      return null;
    };
    var defaultAsync = (state, error, callback) => {
      report(error, callback, state.paths, state.options.suppressErrors);
      return null;
    };
    var limitFilesAsync = (state, error, callback) => {
      report(error, callback, state.paths.slice(0, state.options.maxFiles), state.options.suppressErrors);
      return null;
    };
    var groupsAsync = (state, error, callback) => {
      report(error, callback, state.groups, state.options.suppressErrors);
      return null;
    };
    function report(error, callback, output, suppressErrors) {
      if (error && !suppressErrors)
        callback(error, output);
      else
        callback(null, output);
    }
    function build(options, isSynchronous) {
      const { onlyCounts, group, maxFiles } = options;
      if (onlyCounts)
        return isSynchronous ? onlyCountsSync : onlyCountsAsync;
      else if (group)
        return isSynchronous ? groupsSync : groupsAsync;
      else if (maxFiles)
        return isSynchronous ? limitFilesSync : limitFilesAsync;
      else
        return isSynchronous ? defaultSync : defaultAsync;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/walk-directory.js
var require_walk_directory = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/functions/walk-directory.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.build = void 0;
    var fs_1 = __importDefault2(require("fs"));
    var readdirOpts = { withFileTypes: true };
    var walkAsync = (state, crawlPath, directoryPath, currentDepth, callback) => {
      if (currentDepth < 0)
        return state.queue.dequeue(null, state);
      state.visited.push(crawlPath);
      state.counts.directories++;
      state.queue.enqueue();
      fs_1.default.readdir(crawlPath || ".", readdirOpts, (error, entries = []) => {
        callback(entries, directoryPath, currentDepth);
        state.queue.dequeue(state.options.suppressErrors ? null : error, state);
      });
    };
    var walkSync = (state, crawlPath, directoryPath, currentDepth, callback) => {
      if (currentDepth < 0)
        return;
      state.visited.push(crawlPath);
      state.counts.directories++;
      let entries = [];
      try {
        entries = fs_1.default.readdirSync(crawlPath || ".", readdirOpts);
      } catch (e) {
        if (!state.options.suppressErrors)
          throw e;
      }
      callback(entries, directoryPath, currentDepth);
    };
    function build(isSynchronous) {
      return isSynchronous ? walkSync : walkAsync;
    }
    exports2.build = build;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/queue.js
var require_queue2 = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/queue.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Queue = void 0;
    var Queue = class {
      onQueueEmpty;
      count = 0;
      constructor(onQueueEmpty) {
        this.onQueueEmpty = onQueueEmpty;
      }
      enqueue() {
        this.count++;
      }
      dequeue(error, output) {
        if (--this.count <= 0 || error)
          this.onQueueEmpty(error, output);
      }
    };
    exports2.Queue = Queue;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/counter.js
var require_counter = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/counter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Counter = void 0;
    var Counter = class {
      _files = 0;
      _directories = 0;
      set files(num) {
        this._files = num;
      }
      get files() {
        return this._files;
      }
      set directories(num) {
        this._directories = num;
      }
      get directories() {
        return this._directories;
      }
      /**
       * @deprecated use `directories` instead
       */
      /* c8 ignore next 3 */
      get dirs() {
        return this._directories;
      }
    };
    exports2.Counter = Counter;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/walker.js
var require_walker = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/walker.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Walker = void 0;
    var path_1 = require("path");
    var utils_1 = require_utils();
    var joinPath = __importStar3(require_join_path());
    var pushDirectory = __importStar3(require_push_directory());
    var pushFile = __importStar3(require_push_file());
    var getArray = __importStar3(require_get_array());
    var groupFiles = __importStar3(require_group_files());
    var resolveSymlink = __importStar3(require_resolve_symlink());
    var invokeCallback = __importStar3(require_invoke_callback());
    var walkDirectory = __importStar3(require_walk_directory());
    var queue_1 = require_queue2();
    var counter_1 = require_counter();
    var Walker = class {
      root;
      isSynchronous;
      state;
      joinPath;
      pushDirectory;
      pushFile;
      getArray;
      groupFiles;
      resolveSymlink;
      walkDirectory;
      callbackInvoker;
      constructor(root, options, callback) {
        this.isSynchronous = !callback;
        this.callbackInvoker = invokeCallback.build(options, this.isSynchronous);
        this.root = (0, utils_1.normalizePath)(root, options);
        this.state = {
          root: this.root.slice(0, -1),
          // Perf: we explicitly tell the compiler to optimize for String arrays
          paths: [""].slice(0, 0),
          groups: [],
          counts: new counter_1.Counter(),
          options,
          queue: new queue_1.Queue((error, state) => this.callbackInvoker(state, error, callback)),
          symlinks: /* @__PURE__ */ new Map(),
          visited: [""].slice(0, 0)
        };
        this.joinPath = joinPath.build(this.root, options);
        this.pushDirectory = pushDirectory.build(this.root, options);
        this.pushFile = pushFile.build(options);
        this.getArray = getArray.build(options);
        this.groupFiles = groupFiles.build(options);
        this.resolveSymlink = resolveSymlink.build(options, this.isSynchronous);
        this.walkDirectory = walkDirectory.build(this.isSynchronous);
      }
      start() {
        this.walkDirectory(this.state, this.root, this.root, this.state.options.maxDepth, this.walk);
        return this.isSynchronous ? this.callbackInvoker(this.state, null) : null;
      }
      walk = (entries, directoryPath, depth) => {
        const { paths, options: { filters, resolveSymlinks, excludeSymlinks, exclude, maxFiles, signal, useRealPaths, pathSeparator } } = this.state;
        if (signal && signal.aborted || maxFiles && paths.length > maxFiles)
          return;
        this.pushDirectory(directoryPath, paths, filters);
        const files = this.getArray(this.state.paths);
        for (let i = 0; i < entries.length; ++i) {
          const entry = entries[i];
          if (entry.isFile() || entry.isSymbolicLink() && !resolveSymlinks && !excludeSymlinks) {
            const filename = this.joinPath(entry.name, directoryPath);
            this.pushFile(filename, files, this.state.counts, filters);
          } else if (entry.isDirectory()) {
            let path2 = joinPath.joinDirectoryPath(entry.name, directoryPath, this.state.options.pathSeparator);
            if (exclude && exclude(entry.name, path2))
              continue;
            this.walkDirectory(this.state, path2, path2, depth - 1, this.walk);
          } else if (entry.isSymbolicLink() && this.resolveSymlink) {
            let path2 = joinPath.joinPathWithBasePath(entry.name, directoryPath);
            this.resolveSymlink(path2, this.state, (stat, resolvedPath) => {
              if (stat.isDirectory()) {
                resolvedPath = (0, utils_1.normalizePath)(resolvedPath, this.state.options);
                if (exclude && exclude(entry.name, useRealPaths ? resolvedPath : path2 + pathSeparator))
                  return;
                this.walkDirectory(this.state, resolvedPath, useRealPaths ? resolvedPath : path2 + pathSeparator, depth - 1, this.walk);
              } else {
                resolvedPath = useRealPaths ? resolvedPath : path2;
                const filename = (0, path_1.basename)(resolvedPath);
                const directoryPath2 = (0, utils_1.normalizePath)((0, path_1.dirname)(resolvedPath), this.state.options);
                resolvedPath = this.joinPath(filename, directoryPath2);
                this.pushFile(resolvedPath, files, this.state.counts, filters);
              }
            });
          }
        }
        this.groupFiles(this.state.groups, directoryPath, files);
      };
    };
    exports2.Walker = Walker;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/async.js
var require_async2 = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.callback = exports2.promise = void 0;
    var walker_1 = require_walker();
    function promise(root, options) {
      return new Promise((resolve, reject) => {
        callback(root, options, (err, output) => {
          if (err)
            return reject(err);
          resolve(output);
        });
      });
    }
    exports2.promise = promise;
    function callback(root, options, callback2) {
      let walker = new walker_1.Walker(root, options, callback2);
      walker.start();
    }
    exports2.callback = callback;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/sync.js
var require_sync = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/api/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = void 0;
    var walker_1 = require_walker();
    function sync(root, options) {
      const walker = new walker_1.Walker(root, options);
      return walker.start();
    }
    exports2.sync = sync;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/builder/api-builder.js
var require_api_builder = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/builder/api-builder.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.APIBuilder = void 0;
    var async_1 = require_async2();
    var sync_1 = require_sync();
    var APIBuilder = class {
      root;
      options;
      constructor(root, options) {
        this.root = root;
        this.options = options;
      }
      withPromise() {
        return (0, async_1.promise)(this.root, this.options);
      }
      withCallback(cb) {
        (0, async_1.callback)(this.root, this.options, cb);
      }
      sync() {
        return (0, sync_1.sync)(this.root, this.options);
      }
    };
    exports2.APIBuilder = APIBuilder;
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/constants.js
var require_constants3 = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/constants.js"(exports2, module2) {
    "use strict";
    var WIN_SLASH = "\\\\/";
    var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
    var DOT_LITERAL = "\\.";
    var PLUS_LITERAL = "\\+";
    var QMARK_LITERAL = "\\?";
    var SLASH_LITERAL = "\\/";
    var ONE_CHAR = "(?=.)";
    var QMARK = "[^/]";
    var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
    var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
    var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
    var NO_DOT = `(?!${DOT_LITERAL})`;
    var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
    var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
    var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
    var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
    var STAR = `${QMARK}*?`;
    var SEP = "/";
    var POSIX_CHARS = {
      DOT_LITERAL,
      PLUS_LITERAL,
      QMARK_LITERAL,
      SLASH_LITERAL,
      ONE_CHAR,
      QMARK,
      END_ANCHOR,
      DOTS_SLASH,
      NO_DOT,
      NO_DOTS,
      NO_DOT_SLASH,
      NO_DOTS_SLASH,
      QMARK_NO_DOT,
      STAR,
      START_ANCHOR,
      SEP
    };
    var WINDOWS_CHARS = {
      ...POSIX_CHARS,
      SLASH_LITERAL: `[${WIN_SLASH}]`,
      QMARK: WIN_NO_SLASH,
      STAR: `${WIN_NO_SLASH}*?`,
      DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
      NO_DOT: `(?!${DOT_LITERAL})`,
      NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
      NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
      NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
      QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
      START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
      END_ANCHOR: `(?:[${WIN_SLASH}]|$)`,
      SEP: "\\"
    };
    var POSIX_REGEX_SOURCE = {
      alnum: "a-zA-Z0-9",
      alpha: "a-zA-Z",
      ascii: "\\x00-\\x7F",
      blank: " \\t",
      cntrl: "\\x00-\\x1F\\x7F",
      digit: "0-9",
      graph: "\\x21-\\x7E",
      lower: "a-z",
      print: "\\x20-\\x7E ",
      punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
      space: " \\t\\r\\n\\v\\f",
      upper: "A-Z",
      word: "A-Za-z0-9_",
      xdigit: "A-Fa-f0-9"
    };
    module2.exports = {
      MAX_LENGTH: 1024 * 64,
      POSIX_REGEX_SOURCE,
      // regular expressions
      REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
      REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
      REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
      REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
      REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
      REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
      // Replace globs with equivalent patterns to reduce parsing time.
      REPLACEMENTS: {
        "***": "*",
        "**/**": "**",
        "**/**/**": "**"
      },
      // Digits
      CHAR_0: 48,
      /* 0 */
      CHAR_9: 57,
      /* 9 */
      // Alphabet chars.
      CHAR_UPPERCASE_A: 65,
      /* A */
      CHAR_LOWERCASE_A: 97,
      /* a */
      CHAR_UPPERCASE_Z: 90,
      /* Z */
      CHAR_LOWERCASE_Z: 122,
      /* z */
      CHAR_LEFT_PARENTHESES: 40,
      /* ( */
      CHAR_RIGHT_PARENTHESES: 41,
      /* ) */
      CHAR_ASTERISK: 42,
      /* * */
      // Non-alphabetic chars.
      CHAR_AMPERSAND: 38,
      /* & */
      CHAR_AT: 64,
      /* @ */
      CHAR_BACKWARD_SLASH: 92,
      /* \ */
      CHAR_CARRIAGE_RETURN: 13,
      /* \r */
      CHAR_CIRCUMFLEX_ACCENT: 94,
      /* ^ */
      CHAR_COLON: 58,
      /* : */
      CHAR_COMMA: 44,
      /* , */
      CHAR_DOT: 46,
      /* . */
      CHAR_DOUBLE_QUOTE: 34,
      /* " */
      CHAR_EQUAL: 61,
      /* = */
      CHAR_EXCLAMATION_MARK: 33,
      /* ! */
      CHAR_FORM_FEED: 12,
      /* \f */
      CHAR_FORWARD_SLASH: 47,
      /* / */
      CHAR_GRAVE_ACCENT: 96,
      /* ` */
      CHAR_HASH: 35,
      /* # */
      CHAR_HYPHEN_MINUS: 45,
      /* - */
      CHAR_LEFT_ANGLE_BRACKET: 60,
      /* < */
      CHAR_LEFT_CURLY_BRACE: 123,
      /* { */
      CHAR_LEFT_SQUARE_BRACKET: 91,
      /* [ */
      CHAR_LINE_FEED: 10,
      /* \n */
      CHAR_NO_BREAK_SPACE: 160,
      /* \u00A0 */
      CHAR_PERCENT: 37,
      /* % */
      CHAR_PLUS: 43,
      /* + */
      CHAR_QUESTION_MARK: 63,
      /* ? */
      CHAR_RIGHT_ANGLE_BRACKET: 62,
      /* > */
      CHAR_RIGHT_CURLY_BRACE: 125,
      /* } */
      CHAR_RIGHT_SQUARE_BRACKET: 93,
      /* ] */
      CHAR_SEMICOLON: 59,
      /* ; */
      CHAR_SINGLE_QUOTE: 39,
      /* ' */
      CHAR_SPACE: 32,
      /*   */
      CHAR_TAB: 9,
      /* \t */
      CHAR_UNDERSCORE: 95,
      /* _ */
      CHAR_VERTICAL_LINE: 124,
      /* | */
      CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
      /* \uFEFF */
      /**
       * Create EXTGLOB_CHARS
       */
      extglobChars(chars) {
        return {
          "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
          "?": { type: "qmark", open: "(?:", close: ")?" },
          "+": { type: "plus", open: "(?:", close: ")+" },
          "*": { type: "star", open: "(?:", close: ")*" },
          "@": { type: "at", open: "(?:", close: ")" }
        };
      },
      /**
       * Create GLOB_CHARS
       */
      globChars(win32) {
        return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
      }
    };
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/utils.js
var require_utils2 = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/utils.js"(exports2) {
    "use strict";
    var {
      REGEX_BACKSLASH,
      REGEX_REMOVE_BACKSLASH,
      REGEX_SPECIAL_CHARS,
      REGEX_SPECIAL_CHARS_GLOBAL
    } = require_constants3();
    exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
    exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
    exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str);
    exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
    exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
    exports2.isWindows = () => {
      if (typeof navigator !== "undefined" && navigator.platform) {
        const platform = navigator.platform.toLowerCase();
        return platform === "win32" || platform === "windows";
      }
      if (typeof process !== "undefined" && process.platform) {
        return process.platform === "win32";
      }
      return false;
    };
    exports2.removeBackslashes = (str) => {
      return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
        return match === "\\" ? "" : match;
      });
    };
    exports2.escapeLast = (input, char, lastIdx) => {
      const idx = input.lastIndexOf(char, lastIdx);
      if (idx === -1) return input;
      if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
      return `${input.slice(0, idx)}\\${input.slice(idx)}`;
    };
    exports2.removePrefix = (input, state = {}) => {
      let output = input;
      if (output.startsWith("./")) {
        output = output.slice(2);
        state.prefix = "./";
      }
      return output;
    };
    exports2.wrapOutput = (input, state = {}, options = {}) => {
      const prepend = options.contains ? "" : "^";
      const append = options.contains ? "" : "$";
      let output = `${prepend}(?:${input})${append}`;
      if (state.negated === true) {
        output = `(?:^(?!${output}).*$)`;
      }
      return output;
    };
    exports2.basename = (path2, { windows } = {}) => {
      const segs = path2.split(windows ? /[\\/]/ : "/");
      const last = segs[segs.length - 1];
      if (last === "") {
        return segs[segs.length - 2];
      }
      return last;
    };
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/scan.js
var require_scan2 = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/scan.js"(exports2, module2) {
    "use strict";
    var utils = require_utils2();
    var {
      CHAR_ASTERISK,
      /* * */
      CHAR_AT,
      /* @ */
      CHAR_BACKWARD_SLASH,
      /* \ */
      CHAR_COMMA,
      /* , */
      CHAR_DOT,
      /* . */
      CHAR_EXCLAMATION_MARK,
      /* ! */
      CHAR_FORWARD_SLASH,
      /* / */
      CHAR_LEFT_CURLY_BRACE,
      /* { */
      CHAR_LEFT_PARENTHESES,
      /* ( */
      CHAR_LEFT_SQUARE_BRACKET,
      /* [ */
      CHAR_PLUS,
      /* + */
      CHAR_QUESTION_MARK,
      /* ? */
      CHAR_RIGHT_CURLY_BRACE,
      /* } */
      CHAR_RIGHT_PARENTHESES,
      /* ) */
      CHAR_RIGHT_SQUARE_BRACKET
      /* ] */
    } = require_constants3();
    var isPathSeparator = (code) => {
      return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
    };
    var depth = (token) => {
      if (token.isPrefix !== true) {
        token.depth = token.isGlobstar ? Infinity : 1;
      }
    };
    var scan = (input, options) => {
      const opts = options || {};
      const length = input.length - 1;
      const scanToEnd = opts.parts === true || opts.scanToEnd === true;
      const slashes = [];
      const tokens = [];
      const parts = [];
      let str = input;
      let index = -1;
      let start = 0;
      let lastIndex = 0;
      let isBrace = false;
      let isBracket = false;
      let isGlob = false;
      let isExtglob = false;
      let isGlobstar = false;
      let braceEscaped = false;
      let backslashes = false;
      let negated = false;
      let negatedExtglob = false;
      let finished = false;
      let braces = 0;
      let prev;
      let code;
      let token = { value: "", depth: 0, isGlob: false };
      const eos = () => index >= length;
      const peek = () => str.charCodeAt(index + 1);
      const advance = () => {
        prev = code;
        return str.charCodeAt(++index);
      };
      while (index < length) {
        code = advance();
        let next;
        if (code === CHAR_BACKWARD_SLASH) {
          backslashes = token.backslashes = true;
          code = advance();
          if (code === CHAR_LEFT_CURLY_BRACE) {
            braceEscaped = true;
          }
          continue;
        }
        if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
          braces++;
          while (eos() !== true && (code = advance())) {
            if (code === CHAR_BACKWARD_SLASH) {
              backslashes = token.backslashes = true;
              advance();
              continue;
            }
            if (code === CHAR_LEFT_CURLY_BRACE) {
              braces++;
              continue;
            }
            if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
              isBrace = token.isBrace = true;
              isGlob = token.isGlob = true;
              finished = true;
              if (scanToEnd === true) {
                continue;
              }
              break;
            }
            if (braceEscaped !== true && code === CHAR_COMMA) {
              isBrace = token.isBrace = true;
              isGlob = token.isGlob = true;
              finished = true;
              if (scanToEnd === true) {
                continue;
              }
              break;
            }
            if (code === CHAR_RIGHT_CURLY_BRACE) {
              braces--;
              if (braces === 0) {
                braceEscaped = false;
                isBrace = token.isBrace = true;
                finished = true;
                break;
              }
            }
          }
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_FORWARD_SLASH) {
          slashes.push(index);
          tokens.push(token);
          token = { value: "", depth: 0, isGlob: false };
          if (finished === true) continue;
          if (prev === CHAR_DOT && index === start + 1) {
            start += 2;
            continue;
          }
          lastIndex = index + 1;
          continue;
        }
        if (opts.noext !== true) {
          const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
          if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
            isGlob = token.isGlob = true;
            isExtglob = token.isExtglob = true;
            finished = true;
            if (code === CHAR_EXCLAMATION_MARK && index === start) {
              negatedExtglob = true;
            }
            if (scanToEnd === true) {
              while (eos() !== true && (code = advance())) {
                if (code === CHAR_BACKWARD_SLASH) {
                  backslashes = token.backslashes = true;
                  code = advance();
                  continue;
                }
                if (code === CHAR_RIGHT_PARENTHESES) {
                  isGlob = token.isGlob = true;
                  finished = true;
                  break;
                }
              }
              continue;
            }
            break;
          }
        }
        if (code === CHAR_ASTERISK) {
          if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
          isGlob = token.isGlob = true;
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_QUESTION_MARK) {
          isGlob = token.isGlob = true;
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_LEFT_SQUARE_BRACKET) {
          while (eos() !== true && (next = advance())) {
            if (next === CHAR_BACKWARD_SLASH) {
              backslashes = token.backslashes = true;
              advance();
              continue;
            }
            if (next === CHAR_RIGHT_SQUARE_BRACKET) {
              isBracket = token.isBracket = true;
              isGlob = token.isGlob = true;
              finished = true;
              break;
            }
          }
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
          negated = token.negated = true;
          start++;
          continue;
        }
        if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
          isGlob = token.isGlob = true;
          if (scanToEnd === true) {
            while (eos() !== true && (code = advance())) {
              if (code === CHAR_LEFT_PARENTHESES) {
                backslashes = token.backslashes = true;
                code = advance();
                continue;
              }
              if (code === CHAR_RIGHT_PARENTHESES) {
                finished = true;
                break;
              }
            }
            continue;
          }
          break;
        }
        if (isGlob === true) {
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
      }
      if (opts.noext === true) {
        isExtglob = false;
        isGlob = false;
      }
      let base = str;
      let prefix = "";
      let glob = "";
      if (start > 0) {
        prefix = str.slice(0, start);
        str = str.slice(start);
        lastIndex -= start;
      }
      if (base && isGlob === true && lastIndex > 0) {
        base = str.slice(0, lastIndex);
        glob = str.slice(lastIndex);
      } else if (isGlob === true) {
        base = "";
        glob = str;
      } else {
        base = str;
      }
      if (base && base !== "" && base !== "/" && base !== str) {
        if (isPathSeparator(base.charCodeAt(base.length - 1))) {
          base = base.slice(0, -1);
        }
      }
      if (opts.unescape === true) {
        if (glob) glob = utils.removeBackslashes(glob);
        if (base && backslashes === true) {
          base = utils.removeBackslashes(base);
        }
      }
      const state = {
        prefix,
        input,
        start,
        base,
        glob,
        isBrace,
        isBracket,
        isGlob,
        isExtglob,
        isGlobstar,
        negated,
        negatedExtglob
      };
      if (opts.tokens === true) {
        state.maxDepth = 0;
        if (!isPathSeparator(code)) {
          tokens.push(token);
        }
        state.tokens = tokens;
      }
      if (opts.parts === true || opts.tokens === true) {
        let prevIndex;
        for (let idx = 0; idx < slashes.length; idx++) {
          const n = prevIndex ? prevIndex + 1 : start;
          const i = slashes[idx];
          const value = input.slice(n, i);
          if (opts.tokens) {
            if (idx === 0 && start !== 0) {
              tokens[idx].isPrefix = true;
              tokens[idx].value = prefix;
            } else {
              tokens[idx].value = value;
            }
            depth(tokens[idx]);
            state.maxDepth += tokens[idx].depth;
          }
          if (idx !== 0 || value !== "") {
            parts.push(value);
          }
          prevIndex = i;
        }
        if (prevIndex && prevIndex + 1 < input.length) {
          const value = input.slice(prevIndex + 1);
          parts.push(value);
          if (opts.tokens) {
            tokens[tokens.length - 1].value = value;
            depth(tokens[tokens.length - 1]);
            state.maxDepth += tokens[tokens.length - 1].depth;
          }
        }
        state.slashes = slashes;
        state.parts = parts;
      }
      return state;
    };
    module2.exports = scan;
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/parse.js
var require_parse4 = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/parse.js"(exports2, module2) {
    "use strict";
    var constants = require_constants3();
    var utils = require_utils2();
    var {
      MAX_LENGTH,
      POSIX_REGEX_SOURCE,
      REGEX_NON_SPECIAL_CHARS,
      REGEX_SPECIAL_CHARS_BACKREF,
      REPLACEMENTS
    } = constants;
    var expandRange = (args, options) => {
      if (typeof options.expandRange === "function") {
        return options.expandRange(...args, options);
      }
      args.sort();
      const value = `[${args.join("-")}]`;
      try {
        new RegExp(value);
      } catch (ex) {
        return args.map((v) => utils.escapeRegex(v)).join("..");
      }
      return value;
    };
    var syntaxError = (type, char) => {
      return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
    };
    var parse2 = (input, options) => {
      if (typeof input !== "string") {
        throw new TypeError("Expected a string");
      }
      input = REPLACEMENTS[input] || input;
      const opts = { ...options };
      const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
      let len = input.length;
      if (len > max) {
        throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
      }
      const bos = { type: "bos", value: "", output: opts.prepend || "" };
      const tokens = [bos];
      const capture = opts.capture ? "" : "?:";
      const PLATFORM_CHARS = constants.globChars(opts.windows);
      const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
      const {
        DOT_LITERAL,
        PLUS_LITERAL,
        SLASH_LITERAL,
        ONE_CHAR,
        DOTS_SLASH,
        NO_DOT,
        NO_DOT_SLASH,
        NO_DOTS_SLASH,
        QMARK,
        QMARK_NO_DOT,
        STAR,
        START_ANCHOR
      } = PLATFORM_CHARS;
      const globstar = (opts2) => {
        return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
      };
      const nodot = opts.dot ? "" : NO_DOT;
      const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
      let star = opts.bash === true ? globstar(opts) : STAR;
      if (opts.capture) {
        star = `(${star})`;
      }
      if (typeof opts.noext === "boolean") {
        opts.noextglob = opts.noext;
      }
      const state = {
        input,
        index: -1,
        start: 0,
        dot: opts.dot === true,
        consumed: "",
        output: "",
        prefix: "",
        backtrack: false,
        negated: false,
        brackets: 0,
        braces: 0,
        parens: 0,
        quotes: 0,
        globstar: false,
        tokens
      };
      input = utils.removePrefix(input, state);
      len = input.length;
      const extglobs = [];
      const braces = [];
      const stack = [];
      let prev = bos;
      let value;
      const eos = () => state.index === len - 1;
      const peek = state.peek = (n = 1) => input[state.index + n];
      const advance = state.advance = () => input[++state.index] || "";
      const remaining = () => input.slice(state.index + 1);
      const consume = (value2 = "", num = 0) => {
        state.consumed += value2;
        state.index += num;
      };
      const append = (token) => {
        state.output += token.output != null ? token.output : token.value;
        consume(token.value);
      };
      const negate = () => {
        let count = 1;
        while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
          advance();
          state.start++;
          count++;
        }
        if (count % 2 === 0) {
          return false;
        }
        state.negated = true;
        state.start++;
        return true;
      };
      const increment = (type) => {
        state[type]++;
        stack.push(type);
      };
      const decrement = (type) => {
        state[type]--;
        stack.pop();
      };
      const push = (tok) => {
        if (prev.type === "globstar") {
          const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
          const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
          if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
            state.output = state.output.slice(0, -prev.output.length);
            prev.type = "star";
            prev.value = "*";
            prev.output = star;
            state.output += prev.output;
          }
        }
        if (extglobs.length && tok.type !== "paren") {
          extglobs[extglobs.length - 1].inner += tok.value;
        }
        if (tok.value || tok.output) append(tok);
        if (prev && prev.type === "text" && tok.type === "text") {
          prev.output = (prev.output || prev.value) + tok.value;
          prev.value += tok.value;
          return;
        }
        tok.prev = prev;
        tokens.push(tok);
        prev = tok;
      };
      const extglobOpen = (type, value2) => {
        const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
        token.prev = prev;
        token.parens = state.parens;
        token.output = state.output;
        const output = (opts.capture ? "(" : "") + token.open;
        increment("parens");
        push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
        push({ type: "paren", extglob: true, value: advance(), output });
        extglobs.push(token);
      };
      const extglobClose = (token) => {
        let output = token.close + (opts.capture ? ")" : "");
        let rest;
        if (token.type === "negate") {
          let extglobStar = star;
          if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
            extglobStar = globstar(opts);
          }
          if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
            output = token.close = `)$))${extglobStar}`;
          }
          if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
            const expression = parse2(rest, { ...options, fastpaths: false }).output;
            output = token.close = `)${expression})${extglobStar})`;
          }
          if (token.prev.type === "bos") {
            state.negatedExtglob = true;
          }
        }
        push({ type: "paren", extglob: true, value, output });
        decrement("parens");
      };
      if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
        let backslashes = false;
        let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
          if (first === "\\") {
            backslashes = true;
            return m;
          }
          if (first === "?") {
            if (esc) {
              return esc + first + (rest ? QMARK.repeat(rest.length) : "");
            }
            if (index === 0) {
              return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
            }
            return QMARK.repeat(chars.length);
          }
          if (first === ".") {
            return DOT_LITERAL.repeat(chars.length);
          }
          if (first === "*") {
            if (esc) {
              return esc + first + (rest ? star : "");
            }
            return star;
          }
          return esc ? m : `\\${m}`;
        });
        if (backslashes === true) {
          if (opts.unescape === true) {
            output = output.replace(/\\/g, "");
          } else {
            output = output.replace(/\\+/g, (m) => {
              return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
            });
          }
        }
        if (output === input && opts.contains === true) {
          state.output = input;
          return state;
        }
        state.output = utils.wrapOutput(output, state, options);
        return state;
      }
      while (!eos()) {
        value = advance();
        if (value === "\0") {
          continue;
        }
        if (value === "\\") {
          const next = peek();
          if (next === "/" && opts.bash !== true) {
            continue;
          }
          if (next === "." || next === ";") {
            continue;
          }
          if (!next) {
            value += "\\";
            push({ type: "text", value });
            continue;
          }
          const match = /^\\+/.exec(remaining());
          let slashes = 0;
          if (match && match[0].length > 2) {
            slashes = match[0].length;
            state.index += slashes;
            if (slashes % 2 !== 0) {
              value += "\\";
            }
          }
          if (opts.unescape === true) {
            value = advance();
          } else {
            value += advance();
          }
          if (state.brackets === 0) {
            push({ type: "text", value });
            continue;
          }
        }
        if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
          if (opts.posix !== false && value === ":") {
            const inner = prev.value.slice(1);
            if (inner.includes("[")) {
              prev.posix = true;
              if (inner.includes(":")) {
                const idx = prev.value.lastIndexOf("[");
                const pre = prev.value.slice(0, idx);
                const rest2 = prev.value.slice(idx + 2);
                const posix = POSIX_REGEX_SOURCE[rest2];
                if (posix) {
                  prev.value = pre + posix;
                  state.backtrack = true;
                  advance();
                  if (!bos.output && tokens.indexOf(prev) === 1) {
                    bos.output = ONE_CHAR;
                  }
                  continue;
                }
              }
            }
          }
          if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
            value = `\\${value}`;
          }
          if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
            value = `\\${value}`;
          }
          if (opts.posix === true && value === "!" && prev.value === "[") {
            value = "^";
          }
          prev.value += value;
          append({ value });
          continue;
        }
        if (state.quotes === 1 && value !== '"') {
          value = utils.escapeRegex(value);
          prev.value += value;
          append({ value });
          continue;
        }
        if (value === '"') {
          state.quotes = state.quotes === 1 ? 0 : 1;
          if (opts.keepQuotes === true) {
            push({ type: "text", value });
          }
          continue;
        }
        if (value === "(") {
          increment("parens");
          push({ type: "paren", value });
          continue;
        }
        if (value === ")") {
          if (state.parens === 0 && opts.strictBrackets === true) {
            throw new SyntaxError(syntaxError("opening", "("));
          }
          const extglob = extglobs[extglobs.length - 1];
          if (extglob && state.parens === extglob.parens + 1) {
            extglobClose(extglobs.pop());
            continue;
          }
          push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
          decrement("parens");
          continue;
        }
        if (value === "[") {
          if (opts.nobracket === true || !remaining().includes("]")) {
            if (opts.nobracket !== true && opts.strictBrackets === true) {
              throw new SyntaxError(syntaxError("closing", "]"));
            }
            value = `\\${value}`;
          } else {
            increment("brackets");
          }
          push({ type: "bracket", value });
          continue;
        }
        if (value === "]") {
          if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
            push({ type: "text", value, output: `\\${value}` });
            continue;
          }
          if (state.brackets === 0) {
            if (opts.strictBrackets === true) {
              throw new SyntaxError(syntaxError("opening", "["));
            }
            push({ type: "text", value, output: `\\${value}` });
            continue;
          }
          decrement("brackets");
          const prevValue = prev.value.slice(1);
          if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
            value = `/${value}`;
          }
          prev.value += value;
          append({ value });
          if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
            continue;
          }
          const escaped = utils.escapeRegex(prev.value);
          state.output = state.output.slice(0, -prev.value.length);
          if (opts.literalBrackets === true) {
            state.output += escaped;
            prev.value = escaped;
            continue;
          }
          prev.value = `(${capture}${escaped}|${prev.value})`;
          state.output += prev.value;
          continue;
        }
        if (value === "{" && opts.nobrace !== true) {
          increment("braces");
          const open = {
            type: "brace",
            value,
            output: "(",
            outputIndex: state.output.length,
            tokensIndex: state.tokens.length
          };
          braces.push(open);
          push(open);
          continue;
        }
        if (value === "}") {
          const brace = braces[braces.length - 1];
          if (opts.nobrace === true || !brace) {
            push({ type: "text", value, output: value });
            continue;
          }
          let output = ")";
          if (brace.dots === true) {
            const arr = tokens.slice();
            const range = [];
            for (let i = arr.length - 1; i >= 0; i--) {
              tokens.pop();
              if (arr[i].type === "brace") {
                break;
              }
              if (arr[i].type !== "dots") {
                range.unshift(arr[i].value);
              }
            }
            output = expandRange(range, opts);
            state.backtrack = true;
          }
          if (brace.comma !== true && brace.dots !== true) {
            const out = state.output.slice(0, brace.outputIndex);
            const toks = state.tokens.slice(brace.tokensIndex);
            brace.value = brace.output = "\\{";
            value = output = "\\}";
            state.output = out;
            for (const t of toks) {
              state.output += t.output || t.value;
            }
          }
          push({ type: "brace", value, output });
          decrement("braces");
          braces.pop();
          continue;
        }
        if (value === "|") {
          if (extglobs.length > 0) {
            extglobs[extglobs.length - 1].conditions++;
          }
          push({ type: "text", value });
          continue;
        }
        if (value === ",") {
          let output = value;
          const brace = braces[braces.length - 1];
          if (brace && stack[stack.length - 1] === "braces") {
            brace.comma = true;
            output = "|";
          }
          push({ type: "comma", value, output });
          continue;
        }
        if (value === "/") {
          if (prev.type === "dot" && state.index === state.start + 1) {
            state.start = state.index + 1;
            state.consumed = "";
            state.output = "";
            tokens.pop();
            prev = bos;
            continue;
          }
          push({ type: "slash", value, output: SLASH_LITERAL });
          continue;
        }
        if (value === ".") {
          if (state.braces > 0 && prev.type === "dot") {
            if (prev.value === ".") prev.output = DOT_LITERAL;
            const brace = braces[braces.length - 1];
            prev.type = "dots";
            prev.output += value;
            prev.value += value;
            brace.dots = true;
            continue;
          }
          if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
            push({ type: "text", value, output: DOT_LITERAL });
            continue;
          }
          push({ type: "dot", value, output: DOT_LITERAL });
          continue;
        }
        if (value === "?") {
          const isGroup = prev && prev.value === "(";
          if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            extglobOpen("qmark", value);
            continue;
          }
          if (prev && prev.type === "paren") {
            const next = peek();
            let output = value;
            if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
              output = `\\${value}`;
            }
            push({ type: "text", value, output });
            continue;
          }
          if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
            push({ type: "qmark", value, output: QMARK_NO_DOT });
            continue;
          }
          push({ type: "qmark", value, output: QMARK });
          continue;
        }
        if (value === "!") {
          if (opts.noextglob !== true && peek() === "(") {
            if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
              extglobOpen("negate", value);
              continue;
            }
          }
          if (opts.nonegate !== true && state.index === 0) {
            negate();
            continue;
          }
        }
        if (value === "+") {
          if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            extglobOpen("plus", value);
            continue;
          }
          if (prev && prev.value === "(" || opts.regex === false) {
            push({ type: "plus", value, output: PLUS_LITERAL });
            continue;
          }
          if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
            push({ type: "plus", value });
            continue;
          }
          push({ type: "plus", value: PLUS_LITERAL });
          continue;
        }
        if (value === "@") {
          if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            push({ type: "at", extglob: true, value, output: "" });
            continue;
          }
          push({ type: "text", value });
          continue;
        }
        if (value !== "*") {
          if (value === "$" || value === "^") {
            value = `\\${value}`;
          }
          const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
          if (match) {
            value += match[0];
            state.index += match[0].length;
          }
          push({ type: "text", value });
          continue;
        }
        if (prev && (prev.type === "globstar" || prev.star === true)) {
          prev.type = "star";
          prev.star = true;
          prev.value += value;
          prev.output = star;
          state.backtrack = true;
          state.globstar = true;
          consume(value);
          continue;
        }
        let rest = remaining();
        if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
          extglobOpen("star", value);
          continue;
        }
        if (prev.type === "star") {
          if (opts.noglobstar === true) {
            consume(value);
            continue;
          }
          const prior = prev.prev;
          const before = prior.prev;
          const isStart = prior.type === "slash" || prior.type === "bos";
          const afterStar = before && (before.type === "star" || before.type === "globstar");
          if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
            push({ type: "star", value, output: "" });
            continue;
          }
          const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
          const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
          if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
            push({ type: "star", value, output: "" });
            continue;
          }
          while (rest.slice(0, 3) === "/**") {
            const after = input[state.index + 4];
            if (after && after !== "/") {
              break;
            }
            rest = rest.slice(3);
            consume("/**", 3);
          }
          if (prior.type === "bos" && eos()) {
            prev.type = "globstar";
            prev.value += value;
            prev.output = globstar(opts);
            state.output = prev.output;
            state.globstar = true;
            consume(value);
            continue;
          }
          if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
            state.output = state.output.slice(0, -(prior.output + prev.output).length);
            prior.output = `(?:${prior.output}`;
            prev.type = "globstar";
            prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
            prev.value += value;
            state.globstar = true;
            state.output += prior.output + prev.output;
            consume(value);
            continue;
          }
          if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
            const end = rest[1] !== void 0 ? "|$" : "";
            state.output = state.output.slice(0, -(prior.output + prev.output).length);
            prior.output = `(?:${prior.output}`;
            prev.type = "globstar";
            prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
            prev.value += value;
            state.output += prior.output + prev.output;
            state.globstar = true;
            consume(value + advance());
            push({ type: "slash", value: "/", output: "" });
            continue;
          }
          if (prior.type === "bos" && rest[0] === "/") {
            prev.type = "globstar";
            prev.value += value;
            prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
            state.output = prev.output;
            state.globstar = true;
            consume(value + advance());
            push({ type: "slash", value: "/", output: "" });
            continue;
          }
          state.output = state.output.slice(0, -prev.output.length);
          prev.type = "globstar";
          prev.output = globstar(opts);
          prev.value += value;
          state.output += prev.output;
          state.globstar = true;
          consume(value);
          continue;
        }
        const token = { type: "star", value, output: star };
        if (opts.bash === true) {
          token.output = ".*?";
          if (prev.type === "bos" || prev.type === "slash") {
            token.output = nodot + token.output;
          }
          push(token);
          continue;
        }
        if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
          token.output = value;
          push(token);
          continue;
        }
        if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
          if (prev.type === "dot") {
            state.output += NO_DOT_SLASH;
            prev.output += NO_DOT_SLASH;
          } else if (opts.dot === true) {
            state.output += NO_DOTS_SLASH;
            prev.output += NO_DOTS_SLASH;
          } else {
            state.output += nodot;
            prev.output += nodot;
          }
          if (peek() !== "*") {
            state.output += ONE_CHAR;
            prev.output += ONE_CHAR;
          }
        }
        push(token);
      }
      while (state.brackets > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
        state.output = utils.escapeLast(state.output, "[");
        decrement("brackets");
      }
      while (state.parens > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
        state.output = utils.escapeLast(state.output, "(");
        decrement("parens");
      }
      while (state.braces > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
        state.output = utils.escapeLast(state.output, "{");
        decrement("braces");
      }
      if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
        push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
      }
      if (state.backtrack === true) {
        state.output = "";
        for (const token of state.tokens) {
          state.output += token.output != null ? token.output : token.value;
          if (token.suffix) {
            state.output += token.suffix;
          }
        }
      }
      return state;
    };
    parse2.fastpaths = (input, options) => {
      const opts = { ...options };
      const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
      const len = input.length;
      if (len > max) {
        throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
      }
      input = REPLACEMENTS[input] || input;
      const {
        DOT_LITERAL,
        SLASH_LITERAL,
        ONE_CHAR,
        DOTS_SLASH,
        NO_DOT,
        NO_DOTS,
        NO_DOTS_SLASH,
        STAR,
        START_ANCHOR
      } = constants.globChars(opts.windows);
      const nodot = opts.dot ? NO_DOTS : NO_DOT;
      const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
      const capture = opts.capture ? "" : "?:";
      const state = { negated: false, prefix: "" };
      let star = opts.bash === true ? ".*?" : STAR;
      if (opts.capture) {
        star = `(${star})`;
      }
      const globstar = (opts2) => {
        if (opts2.noglobstar === true) return star;
        return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
      };
      const create = (str) => {
        switch (str) {
          case "*":
            return `${nodot}${ONE_CHAR}${star}`;
          case ".*":
            return `${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "*.*":
            return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "*/*":
            return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
          case "**":
            return nodot + globstar(opts);
          case "**/*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
          case "**/*.*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "**/.*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
          default: {
            const match = /^(.*?)\.(\w+)$/.exec(str);
            if (!match) return;
            const source2 = create(match[1]);
            if (!source2) return;
            return source2 + DOT_LITERAL + match[2];
          }
        }
      };
      const output = utils.removePrefix(input, state);
      let source = create(output);
      if (source && opts.strictSlashes !== true) {
        source += `${SLASH_LITERAL}?`;
      }
      return source;
    };
    module2.exports = parse2;
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/picomatch.js
var require_picomatch = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
    "use strict";
    var scan = require_scan2();
    var parse2 = require_parse4();
    var utils = require_utils2();
    var constants = require_constants3();
    var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
    var picomatch = (glob, options, returnState = false) => {
      if (Array.isArray(glob)) {
        const fns = glob.map((input) => picomatch(input, options, returnState));
        const arrayMatcher = (str) => {
          for (const isMatch of fns) {
            const state2 = isMatch(str);
            if (state2) return state2;
          }
          return false;
        };
        return arrayMatcher;
      }
      const isState = isObject(glob) && glob.tokens && glob.input;
      if (glob === "" || typeof glob !== "string" && !isState) {
        throw new TypeError("Expected pattern to be a non-empty string");
      }
      const opts = options || {};
      const posix = opts.windows;
      const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
      const state = regex.state;
      delete regex.state;
      let isIgnored = () => false;
      if (opts.ignore) {
        const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
        isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
      }
      const matcher = (input, returnObject = false) => {
        const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
        const result2 = { glob, state, regex, posix, input, output, match, isMatch };
        if (typeof opts.onResult === "function") {
          opts.onResult(result2);
        }
        if (isMatch === false) {
          result2.isMatch = false;
          return returnObject ? result2 : false;
        }
        if (isIgnored(input)) {
          if (typeof opts.onIgnore === "function") {
            opts.onIgnore(result2);
          }
          result2.isMatch = false;
          return returnObject ? result2 : false;
        }
        if (typeof opts.onMatch === "function") {
          opts.onMatch(result2);
        }
        return returnObject ? result2 : true;
      };
      if (returnState) {
        matcher.state = state;
      }
      return matcher;
    };
    picomatch.test = (input, regex, options, { glob, posix } = {}) => {
      if (typeof input !== "string") {
        throw new TypeError("Expected input to be a string");
      }
      if (input === "") {
        return { isMatch: false, output: "" };
      }
      const opts = options || {};
      const format = opts.format || (posix ? utils.toPosixSlashes : null);
      let match = input === glob;
      let output = match && format ? format(input) : input;
      if (match === false) {
        output = format ? format(input) : input;
        match = output === glob;
      }
      if (match === false || opts.capture === true) {
        if (opts.matchBase === true || opts.basename === true) {
          match = picomatch.matchBase(input, regex, options, posix);
        } else {
          match = regex.exec(output);
        }
      }
      return { isMatch: Boolean(match), match, output };
    };
    picomatch.matchBase = (input, glob, options) => {
      const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
      return regex.test(utils.basename(input));
    };
    picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
    picomatch.parse = (pattern, options) => {
      if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options));
      return parse2(pattern, { ...options, fastpaths: false });
    };
    picomatch.scan = (input, options) => scan(input, options);
    picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
      if (returnOutput === true) {
        return state.output;
      }
      const opts = options || {};
      const prepend = opts.contains ? "" : "^";
      const append = opts.contains ? "" : "$";
      let source = `${prepend}(?:${state.output})${append}`;
      if (state && state.negated === true) {
        source = `^(?!${source}).*$`;
      }
      const regex = picomatch.toRegex(source, options);
      if (returnState === true) {
        regex.state = state;
      }
      return regex;
    };
    picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
      if (!input || typeof input !== "string") {
        throw new TypeError("Expected a non-empty string");
      }
      let parsed = { negated: false, fastpaths: true };
      if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
        parsed.output = parse2.fastpaths(input, options);
      }
      if (!parsed.output) {
        parsed = parse2(input, options);
      }
      return picomatch.compileRe(parsed, options, returnOutput, returnState);
    };
    picomatch.toRegex = (source, options) => {
      try {
        const opts = options || {};
        return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
      } catch (err) {
        if (options && options.debug === true) throw err;
        return /$^/;
      }
    };
    picomatch.constants = constants;
    module2.exports = picomatch;
  }
});

// ../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/index.js
var require_picomatch2 = __commonJS({
  "../node_modules/.pnpm/picomatch@4.0.2/node_modules/picomatch/index.js"(exports2, module2) {
    "use strict";
    var pico = require_picomatch();
    var utils = require_utils2();
    function picomatch(glob, options, returnState = false) {
      if (options && (options.windows === null || options.windows === void 0)) {
        options = { ...options, windows: utils.isWindows() };
      }
      return pico(glob, options, returnState);
    }
    Object.assign(picomatch, pico);
    module2.exports = picomatch;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/builder/index.js
var require_builder = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/builder/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Builder = void 0;
    var path_1 = require("path");
    var api_builder_1 = require_api_builder();
    var pm = null;
    try {
      require.resolve("picomatch");
      pm = require_picomatch2();
    } catch (_e) {
    }
    var Builder = class {
      globCache = {};
      options = {
        maxDepth: Infinity,
        suppressErrors: true,
        pathSeparator: path_1.sep,
        filters: []
      };
      globFunction;
      constructor(options) {
        this.options = { ...this.options, ...options };
        this.globFunction = this.options.globFunction;
      }
      group() {
        this.options.group = true;
        return this;
      }
      withPathSeparator(separator) {
        this.options.pathSeparator = separator;
        return this;
      }
      withBasePath() {
        this.options.includeBasePath = true;
        return this;
      }
      withRelativePaths() {
        this.options.relativePaths = true;
        return this;
      }
      withDirs() {
        this.options.includeDirs = true;
        return this;
      }
      withMaxDepth(depth) {
        this.options.maxDepth = depth;
        return this;
      }
      withMaxFiles(limit) {
        this.options.maxFiles = limit;
        return this;
      }
      withFullPaths() {
        this.options.resolvePaths = true;
        this.options.includeBasePath = true;
        return this;
      }
      withErrors() {
        this.options.suppressErrors = false;
        return this;
      }
      withSymlinks({ resolvePaths = true } = {}) {
        this.options.resolveSymlinks = true;
        this.options.useRealPaths = resolvePaths;
        return this.withFullPaths();
      }
      withAbortSignal(signal) {
        this.options.signal = signal;
        return this;
      }
      normalize() {
        this.options.normalizePath = true;
        return this;
      }
      filter(predicate) {
        this.options.filters.push(predicate);
        return this;
      }
      onlyDirs() {
        this.options.excludeFiles = true;
        this.options.includeDirs = true;
        return this;
      }
      exclude(predicate) {
        this.options.exclude = predicate;
        return this;
      }
      onlyCounts() {
        this.options.onlyCounts = true;
        return this;
      }
      crawl(root) {
        return new api_builder_1.APIBuilder(root || ".", this.options);
      }
      withGlobFunction(fn) {
        this.globFunction = fn;
        return this;
      }
      /**
       * @deprecated Pass options using the constructor instead:
       * ```ts
       * new fdir(options).crawl("/path/to/root");
       * ```
       * This method will be removed in v7.0
       */
      /* c8 ignore next 4 */
      crawlWithOptions(root, options) {
        this.options = { ...this.options, ...options };
        return new api_builder_1.APIBuilder(root || ".", this.options);
      }
      glob(...patterns) {
        if (this.globFunction) {
          return this.globWithOptions(patterns);
        }
        return this.globWithOptions(patterns, ...[{ dot: true }]);
      }
      globWithOptions(patterns, ...options) {
        const globFn = this.globFunction || pm;
        if (!globFn) {
          throw new Error("Please specify a glob function to use glob matching.");
        }
        var isMatch = this.globCache[patterns.join("\0")];
        if (!isMatch) {
          isMatch = globFn(patterns, ...options);
          this.globCache[patterns.join("\0")] = isMatch;
        }
        this.options.filters.push((path2) => isMatch(path2));
        return this;
      }
    };
    exports2.Builder = Builder;
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/types.js
var require_types4 = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/index.js
var require_dist7 = __commonJS({
  "../node_modules/.pnpm/fdir@6.4.3_picomatch@4.0.2/node_modules/fdir/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fdir = void 0;
    var builder_1 = require_builder();
    Object.defineProperty(exports2, "fdir", { enumerable: true, get: function() {
      return builder_1.Builder;
    } });
    __exportStar2(require_types4(), exports2);
  }
});

// ../node_modules/.pnpm/tinyglobby@0.2.12/node_modules/tinyglobby/dist/index.js
var require_dist8 = __commonJS({
  "../node_modules/.pnpm/tinyglobby@0.2.12/node_modules/tinyglobby/dist/index.js"(exports2, module2) {
    "use strict";
    var __create2 = Object.create;
    var __defProp2 = Object.defineProperty;
    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
    var __getOwnPropNames2 = Object.getOwnPropertyNames;
    var __getProtoOf2 = Object.getPrototypeOf;
    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
    var __export2 = (target, all) => {
      for (var name in all)
        __defProp2(target, name, { get: all[name], enumerable: true });
    };
    var __copyProps2 = (to, from, except, desc) => {
      if (from && typeof from === "object" || typeof from === "function") {
        for (let key of __getOwnPropNames2(from))
          if (!__hasOwnProp2.call(to, key) && key !== except)
            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
      }
      return to;
    };
    var __toESM2 = (mod, isNodeMode, target) => (target = mod != null ? __create2(__getProtoOf2(mod)) : {}, __copyProps2(
      // If the importer is in node compatibility mode or this is not an ESM
      // file that has been converted to a CommonJS file using a Babel-
      // compatible transform (i.e. "__esModule" has not been set), then set
      // "default" to the CommonJS "module.exports" for node compatibility.
      isNodeMode || !mod || !mod.__esModule ? __defProp2(target, "default", { value: mod, enumerable: true }) : target,
      mod
    ));
    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
    var index_exports = {};
    __export2(index_exports, {
      convertPathToPattern: () => convertPathToPattern,
      escapePath: () => escapePath,
      glob: () => glob,
      globSync: () => globSync,
      isDynamicPattern: () => isDynamicPattern
    });
    module2.exports = __toCommonJS2(index_exports);
    var import_node_path = __toESM2(require("path"));
    var import_fdir = require_dist7();
    var import_picomatch2 = __toESM2(require_picomatch2());
    var import_picomatch = __toESM2(require_picomatch2());
    var ONLY_PARENT_DIRECTORIES = /^(\/?\.\.)+$/;
    function getPartialMatcher(patterns, options) {
      const patternsCount = patterns.length;
      const patternsParts = Array(patternsCount);
      const regexes = Array(patternsCount);
      for (let i = 0; i < patternsCount; i++) {
        const parts = splitPattern(patterns[i]);
        patternsParts[i] = parts;
        const partsCount = parts.length;
        const partRegexes = Array(partsCount);
        for (let j = 0; j < partsCount; j++) {
          partRegexes[j] = import_picomatch.default.makeRe(parts[j], options);
        }
        regexes[i] = partRegexes;
      }
      return (input) => {
        const inputParts = input.split("/");
        if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) {
          return true;
        }
        for (let i = 0; i < patterns.length; i++) {
          const patternParts = patternsParts[i];
          const regex = regexes[i];
          const inputPatternCount = inputParts.length;
          const minParts = Math.min(inputPatternCount, patternParts.length);
          let j = 0;
          while (j < minParts) {
            const part = patternParts[j];
            if (part.includes("/")) {
              return true;
            }
            const match = regex[j].test(inputParts[j]);
            if (!match) {
              break;
            }
            if (part === "**") {
              return true;
            }
            j++;
          }
          if (j === inputPatternCount) {
            return true;
          }
        }
        return false;
      };
    }
    var splitPatternOptions = { parts: true };
    function splitPattern(path2) {
      var _a;
      const result2 = import_picomatch.default.scan(path2, splitPatternOptions);
      return ((_a = result2.parts) == null ? void 0 : _a.length) ? result2.parts : [path2];
    }
    var isWin = process.platform === "win32";
    var ESCAPED_WIN32_BACKSLASHES = /\\(?![()[\]{}!+@])/g;
    function convertPosixPathToPattern(path2) {
      return escapePosixPath(path2);
    }
    function convertWin32PathToPattern(path2) {
      return escapeWin32Path(path2).replace(ESCAPED_WIN32_BACKSLASHES, "/");
    }
    var convertPathToPattern = isWin ? convertWin32PathToPattern : convertPosixPathToPattern;
    var POSIX_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g;
    var WIN32_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g;
    var escapePosixPath = (path2) => path2.replace(POSIX_UNESCAPED_GLOB_SYMBOLS, "\\$&");
    var escapeWin32Path = (path2) => path2.replace(WIN32_UNESCAPED_GLOB_SYMBOLS, "\\$&");
    var escapePath = isWin ? escapeWin32Path : escapePosixPath;
    function isDynamicPattern(pattern, options) {
      if ((options == null ? void 0 : options.caseSensitiveMatch) === false) {
        return true;
      }
      const scan = import_picomatch.default.scan(pattern);
      return scan.isGlob || scan.negated;
    }
    function log(...tasks) {
      console.log(`[tinyglobby ${(/* @__PURE__ */ new Date()).toLocaleTimeString("es")}]`, ...tasks);
    }
    var PARENT_DIRECTORY = /^(\/?\.\.)+/;
    var ESCAPING_BACKSLASHES = /\\(?=[()[\]{}!*+?@|])/g;
    var BACKSLASHES = /\\/g;
    function normalizePattern(pattern, expandDirectories, cwd, props, isIgnore) {
      var _a;
      let result2 = pattern;
      if (pattern.endsWith("/")) {
        result2 = pattern.slice(0, -1);
      }
      if (!result2.endsWith("*") && expandDirectories) {
        result2 += "/**";
      }
      if (import_node_path.default.isAbsolute(result2.replace(ESCAPING_BACKSLASHES, ""))) {
        result2 = import_node_path.posix.relative(escapePath(cwd), result2);
      } else {
        result2 = import_node_path.posix.normalize(result2);
      }
      const parentDirectoryMatch = PARENT_DIRECTORY.exec(result2);
      if (parentDirectoryMatch == null ? void 0 : parentDirectoryMatch[0]) {
        const potentialRoot = import_node_path.posix.join(cwd, parentDirectoryMatch[0]);
        if (props.root.length > potentialRoot.length) {
          props.root = potentialRoot;
          props.depthOffset = -(parentDirectoryMatch[0].length + 1) / 3;
        }
      } else if (!isIgnore && props.depthOffset >= 0) {
        const parts = splitPattern(result2);
        (_a = props.commonPath) != null ? _a : props.commonPath = parts;
        const newCommonPath = [];
        const length = Math.min(props.commonPath.length, parts.length);
        for (let i = 0; i < length; i++) {
          const part = parts[i];
          if (part === "**" && !parts[i + 1]) {
            newCommonPath.pop();
            break;
          }
          if (part !== props.commonPath[i] || isDynamicPattern(part) || i === parts.length - 1) {
            break;
          }
          newCommonPath.push(part);
        }
        props.depthOffset = newCommonPath.length;
        props.commonPath = newCommonPath;
        props.root = newCommonPath.length > 0 ? `${cwd}/${newCommonPath.join("/")}` : cwd;
      }
      return result2;
    }
    function processPatterns({ patterns, ignore = [], expandDirectories = true }, cwd, props) {
      if (typeof patterns === "string") {
        patterns = [patterns];
      } else if (!patterns) {
        patterns = ["**/*"];
      }
      if (typeof ignore === "string") {
        ignore = [ignore];
      }
      const matchPatterns = [];
      const ignorePatterns = [];
      for (const pattern of ignore) {
        if (!pattern) {
          continue;
        }
        if (pattern[0] !== "!" || pattern[1] === "(") {
          ignorePatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, true));
        }
      }
      for (const pattern of patterns) {
        if (!pattern) {
          continue;
        }
        if (pattern[0] !== "!" || pattern[1] === "(") {
          matchPatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, false));
        } else if (pattern[1] !== "!" || pattern[2] === "(") {
          ignorePatterns.push(normalizePattern(pattern.slice(1), expandDirectories, cwd, props, true));
        }
      }
      return { match: matchPatterns, ignore: ignorePatterns };
    }
    function getRelativePath(path2, cwd, root) {
      return import_node_path.posix.relative(cwd, `${root}/${path2}`) || ".";
    }
    function processPath(path2, cwd, root, isDirectory, absolute) {
      const relativePath = absolute ? path2.slice(root.length + 1) || "." : path2;
      if (root === cwd) {
        return isDirectory && relativePath !== "." ? relativePath.slice(0, -1) : relativePath;
      }
      return getRelativePath(relativePath, cwd, root);
    }
    function formatPaths(paths, cwd, root) {
      for (let i = paths.length - 1; i >= 0; i--) {
        const path2 = paths[i];
        paths[i] = getRelativePath(path2, cwd, root) + (!path2 || path2.endsWith("/") ? "/" : "");
      }
      return paths;
    }
    function crawl(options, cwd, sync) {
      if (process.env.TINYGLOBBY_DEBUG) {
        options.debug = true;
      }
      if (options.debug) {
        log("globbing with options:", options, "cwd:", cwd);
      }
      if (Array.isArray(options.patterns) && options.patterns.length === 0) {
        return sync ? [] : Promise.resolve([]);
      }
      const props = {
        root: cwd,
        commonPath: null,
        depthOffset: 0
      };
      const processed = processPatterns(options, cwd, props);
      const nocase = options.caseSensitiveMatch === false;
      if (options.debug) {
        log("internal processing patterns:", processed);
      }
      const matcher = (0, import_picomatch2.default)(processed.match, {
        dot: options.dot,
        nocase,
        ignore: processed.ignore
      });
      const ignore = (0, import_picomatch2.default)(processed.ignore, {
        dot: options.dot,
        nocase
      });
      const partialMatcher = getPartialMatcher(processed.match, {
        dot: options.dot,
        nocase
      });
      const fdirOptions = {
        // use relative paths in the matcher
        filters: [
          options.debug ? (p, isDirectory) => {
            const path2 = processPath(p, cwd, props.root, isDirectory, options.absolute);
            const matches = matcher(path2);
            if (matches) {
              log(`matched ${path2}`);
            }
            return matches;
          } : (p, isDirectory) => matcher(processPath(p, cwd, props.root, isDirectory, options.absolute))
        ],
        exclude: options.debug ? (_, p) => {
          const relativePath = processPath(p, cwd, props.root, true, true);
          const skipped = relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath);
          if (skipped) {
            log(`skipped ${p}`);
          } else {
            log(`crawling ${p}`);
          }
          return skipped;
        } : (_, p) => {
          const relativePath = processPath(p, cwd, props.root, true, true);
          return relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath);
        },
        pathSeparator: "/",
        relativePaths: true,
        resolveSymlinks: true
      };
      if (options.deep) {
        fdirOptions.maxDepth = Math.round(options.deep - props.depthOffset);
      }
      if (options.absolute) {
        fdirOptions.relativePaths = false;
        fdirOptions.resolvePaths = true;
        fdirOptions.includeBasePath = true;
      }
      if (options.followSymbolicLinks === false) {
        fdirOptions.resolveSymlinks = false;
        fdirOptions.excludeSymlinks = true;
      }
      if (options.onlyDirectories) {
        fdirOptions.excludeFiles = true;
        fdirOptions.includeDirs = true;
      } else if (options.onlyFiles === false) {
        fdirOptions.includeDirs = true;
      }
      props.root = props.root.replace(BACKSLASHES, "");
      const root = props.root;
      if (options.debug) {
        log("internal properties:", props);
      }
      const api = new import_fdir.fdir(fdirOptions).crawl(root);
      if (cwd === root || options.absolute) {
        return sync ? api.sync() : api.withPromise();
      }
      return sync ? formatPaths(api.sync(), cwd, root) : api.withPromise().then((paths) => formatPaths(paths, cwd, root));
    }
    async function glob(patternsOrOptions, options) {
      if (patternsOrOptions && (options == null ? void 0 : options.patterns)) {
        throw new Error("Cannot pass patterns as both an argument and an option");
      }
      const opts = Array.isArray(patternsOrOptions) || typeof patternsOrOptions === "string" ? { ...options, patterns: patternsOrOptions } : patternsOrOptions;
      const cwd = opts.cwd ? import_node_path.default.resolve(opts.cwd).replace(BACKSLASHES, "/") : process.cwd().replace(BACKSLASHES, "/");
      return crawl(opts, cwd, false);
    }
    function globSync(patternsOrOptions, options) {
      if (patternsOrOptions && (options == null ? void 0 : options.patterns)) {
        throw new Error("Cannot pass patterns as both an argument and an option");
      }
      const opts = Array.isArray(patternsOrOptions) || typeof patternsOrOptions === "string" ? { ...options, patterns: patternsOrOptions } : patternsOrOptions;
      const cwd = opts.cwd ? import_node_path.default.resolve(opts.cwd).replace(BACKSLASHES, "/") : process.cwd().replace(BACKSLASHES, "/");
      return crawl(opts, cwd, true);
    }
  }
});

// ../node_modules/.pnpm/p-map@2.1.0/node_modules/p-map/index.js
var require_p_map = __commonJS({
  "../node_modules/.pnpm/p-map@2.1.0/node_modules/p-map/index.js"(exports2, module2) {
    "use strict";
    var pMap = (iterable, mapper, options) => new Promise((resolve, reject) => {
      options = Object.assign({
        concurrency: Infinity
      }, options);
      if (typeof mapper !== "function") {
        throw new TypeError("Mapper function is required");
      }
      const { concurrency } = options;
      if (!(typeof concurrency === "number" && concurrency >= 1)) {
        throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${concurrency}\` (${typeof concurrency})`);
      }
      const ret2 = [];
      const iterator = iterable[Symbol.iterator]();
      let isRejected = false;
      let isIterableDone = false;
      let resolvingCount = 0;
      let currentIndex = 0;
      const next = () => {
        if (isRejected) {
          return;
        }
        const nextItem = iterator.next();
        const i = currentIndex;
        currentIndex++;
        if (nextItem.done) {
          isIterableDone = true;
          if (resolvingCount === 0) {
            resolve(ret2);
          }
          return;
        }
        resolvingCount++;
        Promise.resolve(nextItem.value).then((element) => mapper(element, i)).then(
          (value) => {
            ret2[i] = value;
            resolvingCount--;
            next();
          },
          (error) => {
            isRejected = true;
            reject(error);
          }
        );
      };
      for (let i = 0; i < concurrency; i++) {
        next();
        if (isIterableDone) {
          break;
        }
      }
    });
    module2.exports = pMap;
    module2.exports.default = pMap;
  }
});

// ../node_modules/.pnpm/p-filter@2.1.0/node_modules/p-filter/index.js
var require_p_filter = __commonJS({
  "../node_modules/.pnpm/p-filter@2.1.0/node_modules/p-filter/index.js"(exports2, module2) {
    "use strict";
    var pMap = require_p_map();
    var pFilter = async (iterable, filterer, options) => {
      const values = await pMap(
        iterable,
        (element, index) => Promise.all([filterer(element, index), element]),
        options
      );
      return values.filter((value) => Boolean(value[0])).map((value) => value[1]);
    };
    module2.exports = pFilter;
    module2.exports.default = pFilter;
  }
});

// ../fs/find-packages/lib/index.js
var require_lib34 = __commonJS({
  "../fs/find-packages/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findPackages = findPackages;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var read_project_manifest_1 = require_lib13();
    var util_lex_comparator_1 = require_dist4();
    var tinyglobby_1 = require_dist8();
    var p_filter_1 = __importDefault2(require_p_filter());
    var DEFAULT_IGNORE = [
      "**/node_modules/**",
      "**/bower_components/**",
      "**/test/**",
      "**/tests/**"
    ];
    async function findPackages(root, opts) {
      opts = opts ?? {};
      const globOpts = { ...opts, cwd: root, expandDirectories: false };
      globOpts.ignore = opts.ignore ?? DEFAULT_IGNORE;
      const patterns = normalizePatterns(opts.patterns ?? [".", "**"]);
      delete globOpts.patterns;
      const paths = await (0, tinyglobby_1.glob)(patterns, globOpts);
      if (opts.includeRoot) {
        Array.prototype.push.apply(paths, await (0, tinyglobby_1.glob)(normalizePatterns(["."]), globOpts));
      }
      return (0, p_filter_1.default)(
        // `Array.from()` doesn't create an intermediate instance,
        // unlike `array.map()`
        Array.from(
          // Remove duplicate paths using `Set`
          new Set(paths.map((manifestPath) => path_1.default.join(root, manifestPath)).sort((path1, path2) => (0, util_lex_comparator_1.lexCompare)(path_1.default.dirname(path1), path_1.default.dirname(path2)))),
          async (manifestPath) => {
            try {
              const rootDir = path_1.default.dirname(manifestPath);
              return {
                rootDir,
                rootDirRealPath: await fs_1.promises.realpath(rootDir),
                ...await (0, read_project_manifest_1.readExactProjectManifest)(manifestPath)
              };
            } catch (err) {
              if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
                return null;
              }
              throw err;
            }
          }
        ),
        Boolean
      );
    }
    function normalizePatterns(patterns) {
      const normalizedPatterns = [];
      for (const pattern of patterns) {
        normalizedPatterns.push(pattern.replace(/\/?$/, "/package.json"));
        normalizedPatterns.push(pattern.replace(/\/?$/, "/package.json5"));
        normalizedPatterns.push(pattern.replace(/\/?$/, "/package.yaml"));
      }
      return normalizedPatterns;
    }
  }
});

// ../workspace/find-packages/lib/index.js
var require_lib35 = __commonJS({
  "../workspace/find-packages/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findWorkspacePackages = findWorkspacePackages;
    exports2.findWorkspacePackagesNoCheck = findWorkspacePackagesNoCheck;
    var cli_utils_1 = require_lib33();
    var constants_1 = require_lib5();
    var util_lex_comparator_1 = require_dist4();
    var fs_find_packages_1 = require_lib34();
    var logger_1 = require_lib();
    async function findWorkspacePackages(workspaceRoot, opts) {
      const pkgs = await findWorkspacePackagesNoCheck(workspaceRoot, opts);
      for (const pkg of pkgs) {
        (0, cli_utils_1.packageIsInstallable)(pkg.rootDir, pkg.manifest, {
          ...opts,
          supportedArchitectures: opts?.supportedArchitectures ?? {
            os: ["current"],
            cpu: ["current"],
            libc: ["current"]
          }
        });
        if (opts?.sharedWorkspaceLockfile && pkg.rootDir !== workspaceRoot) {
          checkNonRootProjectManifest(pkg);
        }
      }
      return pkgs;
    }
    async function findWorkspacePackagesNoCheck(workspaceRoot, opts) {
      const pkgs = await (0, fs_find_packages_1.findPackages)(workspaceRoot, {
        ignore: [
          "**/node_modules/**",
          "**/bower_components/**"
        ],
        includeRoot: true,
        patterns: opts?.patterns
      });
      pkgs.sort((pkg1, pkg2) => (0, util_lex_comparator_1.lexCompare)(pkg1.rootDir, pkg2.rootDir));
      return pkgs;
    }
    var uselessNonRootManifestFields = ["resolutions"];
    var usefulNonRootPnpmFields = constants_1.USEFUL_NON_ROOT_PNPM_FIELDS;
    function checkNonRootProjectManifest({ manifest, rootDir }) {
      const warn = printNonRootFieldWarning.bind(null, rootDir);
      for (const field of uselessNonRootManifestFields) {
        if (field in manifest) {
          warn(field);
        }
      }
      for (const field in manifest.pnpm) {
        if (!usefulNonRootPnpmFields.includes(field)) {
          warn(`pnpm.${field}`);
        }
      }
    }
    function printNonRootFieldWarning(prefix, propertyPath) {
      logger_1.logger.warn({
        message: `The field "${propertyPath}" was found in ${prefix}/package.json. This will not take effect. You should configure "${propertyPath}" at the root of the workspace instead.`,
        prefix
      });
    }
  }
});

// ../node_modules/.pnpm/validate-npm-package-name@4.0.0/node_modules/validate-npm-package-name/lib/index.js
var require_lib36 = __commonJS({
  "../node_modules/.pnpm/validate-npm-package-name@4.0.0/node_modules/validate-npm-package-name/lib/index.js"(exports2, module2) {
    "use strict";
    var scopedPackagePattern = new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");
    var builtins = require_builtins();
    var blacklist = [
      "node_modules",
      "favicon.ico"
    ];
    function validate2(name) {
      var warnings = [];
      var errors = [];
      if (name === null) {
        errors.push("name cannot be null");
        return done(warnings, errors);
      }
      if (name === void 0) {
        errors.push("name cannot be undefined");
        return done(warnings, errors);
      }
      if (typeof name !== "string") {
        errors.push("name must be a string");
        return done(warnings, errors);
      }
      if (!name.length) {
        errors.push("name length must be greater than zero");
      }
      if (name.match(/^\./)) {
        errors.push("name cannot start with a period");
      }
      if (name.match(/^_/)) {
        errors.push("name cannot start with an underscore");
      }
      if (name.trim() !== name) {
        errors.push("name cannot contain leading or trailing spaces");
      }
      blacklist.forEach(function(blacklistedName) {
        if (name.toLowerCase() === blacklistedName) {
          errors.push(blacklistedName + " is a blacklisted name");
        }
      });
      builtins({ version: "*" }).forEach(function(builtin) {
        if (name.toLowerCase() === builtin) {
          warnings.push(builtin + " is a core module name");
        }
      });
      if (name.length > 214) {
        warnings.push("name can no longer contain more than 214 characters");
      }
      if (name.toLowerCase() !== name) {
        warnings.push("name can no longer contain capital letters");
      }
      if (/[~'!()*]/.test(name.split("/").slice(-1)[0])) {
        warnings.push(`name can no longer contain special characters ("~'!()*")`);
      }
      if (encodeURIComponent(name) !== name) {
        var nameMatch = name.match(scopedPackagePattern);
        if (nameMatch) {
          var user = nameMatch[1];
          var pkg = nameMatch[2];
          if (encodeURIComponent(user) === user && encodeURIComponent(pkg) === pkg) {
            return done(warnings, errors);
          }
        }
        errors.push("name can only contain URL-friendly characters");
      }
      return done(warnings, errors);
    }
    var done = function(warnings, errors) {
      var result2 = {
        validForNewPackages: errors.length === 0 && warnings.length === 0,
        validForOldPackages: errors.length === 0,
        warnings,
        errors
      };
      if (!result2.warnings.length) {
        delete result2.warnings;
      }
      if (!result2.errors.length) {
        delete result2.errors;
      }
      return result2;
    };
    module2.exports = validate2;
  }
});

// ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host-info.js
var require_git_host_info = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host-info.js"(exports2, module2) {
    "use strict";
    var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
    var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
    var defaults = {
      sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
      browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`,
      docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path2}`,
      shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
      hashformat: formatHashFragment
    };
    var gitHosts = {};
    gitHosts.github = Object.assign({}, defaults, {
      // First two are insecure and generally shouldn't be used any more, but
      // they are still supported.
      protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "github.com",
      treepath: "tree",
      filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path2}`,
      gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        let [, user, project, type, committish] = url.pathname.split("/", 5);
        if (type && type !== "tree") {
          return;
        }
        if (!type) {
          committish = url.hash.slice(1);
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish };
      }
    });
    gitHosts.bitbucket = Object.assign({}, defaults, {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "bitbucket.org",
      treepath: "src",
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (["get"].includes(aux)) {
          return;
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    });
    gitHosts.gitlab = Object.assign({}, defaults, {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gitlab.com",
      treepath: "tree",
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        const path2 = url.pathname.slice(1);
        if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) {
          return;
        }
        const segments = path2.split("/");
        let project = segments.pop();
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        const user = segments.join("/");
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    });
    gitHosts.gist = Object.assign({}, defaults, {
      protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gist.github.com",
      sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
      browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      browsefiletemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`,
      docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`,
      shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
      gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (aux === "raw") {
          return;
        }
        if (!project) {
          if (!user) {
            return;
          }
          project = user;
          user = null;
        }
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        return { user, project, committish: url.hash.slice(1) };
      },
      hashformat: function(fragment) {
        return fragment && "file-" + formatHashFragment(fragment);
      }
    });
    gitHosts.sourcehut = Object.assign({}, defaults, {
      protocols: ["git+ssh:", "https:"],
      domain: "git.sr.ht",
      treepath: "tree",
      browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "main")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`,
      filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "main"}/${path2}`,
      httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "main"}.tar.gz`,
      bugstemplate: ({ domain, user, project }) => `https://todo.sr.ht/${user}/${project}`,
      docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (["archive"].includes(aux)) {
          return;
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    });
    var names = Object.keys(gitHosts);
    gitHosts.byShortcut = {};
    gitHosts.byDomain = {};
    for (const name of names) {
      gitHosts.byShortcut[`${name}:`] = name;
      gitHosts.byDomain[gitHosts[name].domain] = name;
    }
    function formatHashFragment(fragment) {
      return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-");
    }
    module2.exports = gitHosts;
  }
});

// ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host.js
var require_git_host = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/git-host.js"(exports2, module2) {
    "use strict";
    var gitHosts = require_git_host_info();
    var GitHost = class {
      constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) {
        Object.assign(this, gitHosts[type]);
        this.type = type;
        this.user = user;
        this.auth = auth;
        this.project = project;
        this.committish = committish;
        this.default = defaultRepresentation;
        this.opts = opts;
      }
      hash() {
        return this.committish ? `#${this.committish}` : "";
      }
      ssh(opts) {
        return this._fill(this.sshtemplate, opts);
      }
      _fill(template, opts) {
        if (typeof template === "function") {
          const options = { ...this, ...this.opts, ...opts };
          if (!options.path) {
            options.path = "";
          }
          if (options.path.startsWith("/")) {
            options.path = options.path.slice(1);
          }
          if (options.noCommittish) {
            options.committish = null;
          }
          const result2 = template(options);
          return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
        }
        return null;
      }
      sshurl(opts) {
        return this._fill(this.sshurltemplate, opts);
      }
      browse(path2, fragment, opts) {
        if (typeof path2 !== "string") {
          return this._fill(this.browsetemplate, path2);
        }
        if (typeof fragment !== "string") {
          opts = fragment;
          fragment = null;
        }
        return this._fill(this.browsefiletemplate, { ...opts, fragment, path: path2 });
      }
      docs(opts) {
        return this._fill(this.docstemplate, opts);
      }
      bugs(opts) {
        return this._fill(this.bugstemplate, opts);
      }
      https(opts) {
        return this._fill(this.httpstemplate, opts);
      }
      git(opts) {
        return this._fill(this.gittemplate, opts);
      }
      shortcut(opts) {
        return this._fill(this.shortcuttemplate, opts);
      }
      path(opts) {
        return this._fill(this.pathtemplate, opts);
      }
      tarball(opts) {
        return this._fill(this.tarballtemplate, { ...opts, noCommittish: false });
      }
      file(path2, opts) {
        return this._fill(this.filetemplate, { ...opts, path: path2 });
      }
      getDefaultRepresentation() {
        return this.default;
      }
      toString(opts) {
        if (this.default && typeof this[this.default] === "function") {
          return this[this.default](opts);
        }
        return this.sshurl(opts);
      }
    };
    module2.exports = GitHost;
  }
});

// ../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js
var require_iterator2 = __commonJS({
  "../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/iterator.js"(exports2, module2) {
    "use strict";
    module2.exports = function(Yallist) {
      Yallist.prototype[Symbol.iterator] = function* () {
        for (let walker = this.head; walker; walker = walker.next) {
          yield walker.value;
        }
      };
    };
  }
});

// ../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js
var require_yallist = __commonJS({
  "../node_modules/.pnpm/yallist@4.0.0/node_modules/yallist/yallist.js"(exports2, module2) {
    "use strict";
    module2.exports = Yallist;
    Yallist.Node = Node;
    Yallist.create = Yallist;
    function Yallist(list) {
      var self2 = this;
      if (!(self2 instanceof Yallist)) {
        self2 = new Yallist();
      }
      self2.tail = null;
      self2.head = null;
      self2.length = 0;
      if (list && typeof list.forEach === "function") {
        list.forEach(function(item) {
          self2.push(item);
        });
      } else if (arguments.length > 0) {
        for (var i = 0, l = arguments.length; i < l; i++) {
          self2.push(arguments[i]);
        }
      }
      return self2;
    }
    Yallist.prototype.removeNode = function(node) {
      if (node.list !== this) {
        throw new Error("removing node which does not belong to this list");
      }
      var next = node.next;
      var prev = node.prev;
      if (next) {
        next.prev = prev;
      }
      if (prev) {
        prev.next = next;
      }
      if (node === this.head) {
        this.head = next;
      }
      if (node === this.tail) {
        this.tail = prev;
      }
      node.list.length--;
      node.next = null;
      node.prev = null;
      node.list = null;
      return next;
    };
    Yallist.prototype.unshiftNode = function(node) {
      if (node === this.head) {
        return;
      }
      if (node.list) {
        node.list.removeNode(node);
      }
      var head = this.head;
      node.list = this;
      node.next = head;
      if (head) {
        head.prev = node;
      }
      this.head = node;
      if (!this.tail) {
        this.tail = node;
      }
      this.length++;
    };
    Yallist.prototype.pushNode = function(node) {
      if (node === this.tail) {
        return;
      }
      if (node.list) {
        node.list.removeNode(node);
      }
      var tail = this.tail;
      node.list = this;
      node.prev = tail;
      if (tail) {
        tail.next = node;
      }
      this.tail = node;
      if (!this.head) {
        this.head = node;
      }
      this.length++;
    };
    Yallist.prototype.push = function() {
      for (var i = 0, l = arguments.length; i < l; i++) {
        push(this, arguments[i]);
      }
      return this.length;
    };
    Yallist.prototype.unshift = function() {
      for (var i = 0, l = arguments.length; i < l; i++) {
        unshift(this, arguments[i]);
      }
      return this.length;
    };
    Yallist.prototype.pop = function() {
      if (!this.tail) {
        return void 0;
      }
      var res = this.tail.value;
      this.tail = this.tail.prev;
      if (this.tail) {
        this.tail.next = null;
      } else {
        this.head = null;
      }
      this.length--;
      return res;
    };
    Yallist.prototype.shift = function() {
      if (!this.head) {
        return void 0;
      }
      var res = this.head.value;
      this.head = this.head.next;
      if (this.head) {
        this.head.prev = null;
      } else {
        this.tail = null;
      }
      this.length--;
      return res;
    };
    Yallist.prototype.forEach = function(fn, thisp) {
      thisp = thisp || this;
      for (var walker = this.head, i = 0; walker !== null; i++) {
        fn.call(thisp, walker.value, i, this);
        walker = walker.next;
      }
    };
    Yallist.prototype.forEachReverse = function(fn, thisp) {
      thisp = thisp || this;
      for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
        fn.call(thisp, walker.value, i, this);
        walker = walker.prev;
      }
    };
    Yallist.prototype.get = function(n) {
      for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
        walker = walker.next;
      }
      if (i === n && walker !== null) {
        return walker.value;
      }
    };
    Yallist.prototype.getReverse = function(n) {
      for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
        walker = walker.prev;
      }
      if (i === n && walker !== null) {
        return walker.value;
      }
    };
    Yallist.prototype.map = function(fn, thisp) {
      thisp = thisp || this;
      var res = new Yallist();
      for (var walker = this.head; walker !== null; ) {
        res.push(fn.call(thisp, walker.value, this));
        walker = walker.next;
      }
      return res;
    };
    Yallist.prototype.mapReverse = function(fn, thisp) {
      thisp = thisp || this;
      var res = new Yallist();
      for (var walker = this.tail; walker !== null; ) {
        res.push(fn.call(thisp, walker.value, this));
        walker = walker.prev;
      }
      return res;
    };
    Yallist.prototype.reduce = function(fn, initial) {
      var acc;
      var walker = this.head;
      if (arguments.length > 1) {
        acc = initial;
      } else if (this.head) {
        walker = this.head.next;
        acc = this.head.value;
      } else {
        throw new TypeError("Reduce of empty list with no initial value");
      }
      for (var i = 0; walker !== null; i++) {
        acc = fn(acc, walker.value, i);
        walker = walker.next;
      }
      return acc;
    };
    Yallist.prototype.reduceReverse = function(fn, initial) {
      var acc;
      var walker = this.tail;
      if (arguments.length > 1) {
        acc = initial;
      } else if (this.tail) {
        walker = this.tail.prev;
        acc = this.tail.value;
      } else {
        throw new TypeError("Reduce of empty list with no initial value");
      }
      for (var i = this.length - 1; walker !== null; i--) {
        acc = fn(acc, walker.value, i);
        walker = walker.prev;
      }
      return acc;
    };
    Yallist.prototype.toArray = function() {
      var arr = new Array(this.length);
      for (var i = 0, walker = this.head; walker !== null; i++) {
        arr[i] = walker.value;
        walker = walker.next;
      }
      return arr;
    };
    Yallist.prototype.toArrayReverse = function() {
      var arr = new Array(this.length);
      for (var i = 0, walker = this.tail; walker !== null; i++) {
        arr[i] = walker.value;
        walker = walker.prev;
      }
      return arr;
    };
    Yallist.prototype.slice = function(from, to) {
      to = to || this.length;
      if (to < 0) {
        to += this.length;
      }
      from = from || 0;
      if (from < 0) {
        from += this.length;
      }
      var ret2 = new Yallist();
      if (to < from || to < 0) {
        return ret2;
      }
      if (from < 0) {
        from = 0;
      }
      if (to > this.length) {
        to = this.length;
      }
      for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
        walker = walker.next;
      }
      for (; walker !== null && i < to; i++, walker = walker.next) {
        ret2.push(walker.value);
      }
      return ret2;
    };
    Yallist.prototype.sliceReverse = function(from, to) {
      to = to || this.length;
      if (to < 0) {
        to += this.length;
      }
      from = from || 0;
      if (from < 0) {
        from += this.length;
      }
      var ret2 = new Yallist();
      if (to < from || to < 0) {
        return ret2;
      }
      if (from < 0) {
        from = 0;
      }
      if (to > this.length) {
        to = this.length;
      }
      for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
        walker = walker.prev;
      }
      for (; walker !== null && i > from; i--, walker = walker.prev) {
        ret2.push(walker.value);
      }
      return ret2;
    };
    Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
      if (start > this.length) {
        start = this.length - 1;
      }
      if (start < 0) {
        start = this.length + start;
      }
      for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
        walker = walker.next;
      }
      var ret2 = [];
      for (var i = 0; walker && i < deleteCount; i++) {
        ret2.push(walker.value);
        walker = this.removeNode(walker);
      }
      if (walker === null) {
        walker = this.tail;
      }
      if (walker !== this.head && walker !== this.tail) {
        walker = walker.prev;
      }
      for (var i = 0; i < nodes.length; i++) {
        walker = insert(this, walker, nodes[i]);
      }
      return ret2;
    };
    Yallist.prototype.reverse = function() {
      var head = this.head;
      var tail = this.tail;
      for (var walker = head; walker !== null; walker = walker.prev) {
        var p = walker.prev;
        walker.prev = walker.next;
        walker.next = p;
      }
      this.head = tail;
      this.tail = head;
      return this;
    };
    function insert(self2, node, value) {
      var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2);
      if (inserted.next === null) {
        self2.tail = inserted;
      }
      if (inserted.prev === null) {
        self2.head = inserted;
      }
      self2.length++;
      return inserted;
    }
    function push(self2, item) {
      self2.tail = new Node(item, self2.tail, null, self2);
      if (!self2.head) {
        self2.head = self2.tail;
      }
      self2.length++;
    }
    function unshift(self2, item) {
      self2.head = new Node(item, null, self2.head, self2);
      if (!self2.tail) {
        self2.tail = self2.head;
      }
      self2.length++;
    }
    function Node(value, prev, next, list) {
      if (!(this instanceof Node)) {
        return new Node(value, prev, next, list);
      }
      this.list = list;
      this.value = value;
      if (prev) {
        prev.next = this;
        this.prev = prev;
      } else {
        this.prev = null;
      }
      if (next) {
        next.prev = this;
        this.next = next;
      } else {
        this.next = null;
      }
    }
    try {
      require_iterator2()(Yallist);
    } catch (er) {
    }
  }
});

// ../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js
var require_lru_cache = __commonJS({
  "../node_modules/.pnpm/lru-cache@6.0.0/node_modules/lru-cache/index.js"(exports2, module2) {
    "use strict";
    var Yallist = require_yallist();
    var MAX = Symbol("max");
    var LENGTH = Symbol("length");
    var LENGTH_CALCULATOR = Symbol("lengthCalculator");
    var ALLOW_STALE = Symbol("allowStale");
    var MAX_AGE = Symbol("maxAge");
    var DISPOSE = Symbol("dispose");
    var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet");
    var LRU_LIST = Symbol("lruList");
    var CACHE = Symbol("cache");
    var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
    var naiveLength = () => 1;
    var LRUCache = class {
      constructor(options) {
        if (typeof options === "number")
          options = { max: options };
        if (!options)
          options = {};
        if (options.max && (typeof options.max !== "number" || options.max < 0))
          throw new TypeError("max must be a non-negative number");
        const max = this[MAX] = options.max || Infinity;
        const lc = options.length || naiveLength;
        this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc;
        this[ALLOW_STALE] = options.stale || false;
        if (options.maxAge && typeof options.maxAge !== "number")
          throw new TypeError("maxAge must be a number");
        this[MAX_AGE] = options.maxAge || 0;
        this[DISPOSE] = options.dispose;
        this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
        this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
        this.reset();
      }
      // resize the cache when the max changes.
      set max(mL) {
        if (typeof mL !== "number" || mL < 0)
          throw new TypeError("max must be a non-negative number");
        this[MAX] = mL || Infinity;
        trim(this);
      }
      get max() {
        return this[MAX];
      }
      set allowStale(allowStale) {
        this[ALLOW_STALE] = !!allowStale;
      }
      get allowStale() {
        return this[ALLOW_STALE];
      }
      set maxAge(mA) {
        if (typeof mA !== "number")
          throw new TypeError("maxAge must be a non-negative number");
        this[MAX_AGE] = mA;
        trim(this);
      }
      get maxAge() {
        return this[MAX_AGE];
      }
      // resize the cache when the lengthCalculator changes.
      set lengthCalculator(lC) {
        if (typeof lC !== "function")
          lC = naiveLength;
        if (lC !== this[LENGTH_CALCULATOR]) {
          this[LENGTH_CALCULATOR] = lC;
          this[LENGTH] = 0;
          this[LRU_LIST].forEach((hit) => {
            hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
            this[LENGTH] += hit.length;
          });
        }
        trim(this);
      }
      get lengthCalculator() {
        return this[LENGTH_CALCULATOR];
      }
      get length() {
        return this[LENGTH];
      }
      get itemCount() {
        return this[LRU_LIST].length;
      }
      rforEach(fn, thisp) {
        thisp = thisp || this;
        for (let walker = this[LRU_LIST].tail; walker !== null; ) {
          const prev = walker.prev;
          forEachStep(this, fn, walker, thisp);
          walker = prev;
        }
      }
      forEach(fn, thisp) {
        thisp = thisp || this;
        for (let walker = this[LRU_LIST].head; walker !== null; ) {
          const next = walker.next;
          forEachStep(this, fn, walker, thisp);
          walker = next;
        }
      }
      keys() {
        return this[LRU_LIST].toArray().map((k) => k.key);
      }
      values() {
        return this[LRU_LIST].toArray().map((k) => k.value);
      }
      reset() {
        if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
          this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
        }
        this[CACHE] = /* @__PURE__ */ new Map();
        this[LRU_LIST] = new Yallist();
        this[LENGTH] = 0;
      }
      dump() {
        return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
          k: hit.key,
          v: hit.value,
          e: hit.now + (hit.maxAge || 0)
        }).toArray().filter((h) => h);
      }
      dumpLru() {
        return this[LRU_LIST];
      }
      set(key, value, maxAge) {
        maxAge = maxAge || this[MAX_AGE];
        if (maxAge && typeof maxAge !== "number")
          throw new TypeError("maxAge must be a number");
        const now = maxAge ? Date.now() : 0;
        const len = this[LENGTH_CALCULATOR](value, key);
        if (this[CACHE].has(key)) {
          if (len > this[MAX]) {
            del(this, this[CACHE].get(key));
            return false;
          }
          const node = this[CACHE].get(key);
          const item = node.value;
          if (this[DISPOSE]) {
            if (!this[NO_DISPOSE_ON_SET])
              this[DISPOSE](key, item.value);
          }
          item.now = now;
          item.maxAge = maxAge;
          item.value = value;
          this[LENGTH] += len - item.length;
          item.length = len;
          this.get(key);
          trim(this);
          return true;
        }
        const hit = new Entry(key, value, len, now, maxAge);
        if (hit.length > this[MAX]) {
          if (this[DISPOSE])
            this[DISPOSE](key, value);
          return false;
        }
        this[LENGTH] += hit.length;
        this[LRU_LIST].unshift(hit);
        this[CACHE].set(key, this[LRU_LIST].head);
        trim(this);
        return true;
      }
      has(key) {
        if (!this[CACHE].has(key)) return false;
        const hit = this[CACHE].get(key).value;
        return !isStale(this, hit);
      }
      get(key) {
        return get(this, key, true);
      }
      peek(key) {
        return get(this, key, false);
      }
      pop() {
        const node = this[LRU_LIST].tail;
        if (!node)
          return null;
        del(this, node);
        return node.value;
      }
      del(key) {
        del(this, this[CACHE].get(key));
      }
      load(arr) {
        this.reset();
        const now = Date.now();
        for (let l = arr.length - 1; l >= 0; l--) {
          const hit = arr[l];
          const expiresAt = hit.e || 0;
          if (expiresAt === 0)
            this.set(hit.k, hit.v);
          else {
            const maxAge = expiresAt - now;
            if (maxAge > 0) {
              this.set(hit.k, hit.v, maxAge);
            }
          }
        }
      }
      prune() {
        this[CACHE].forEach((value, key) => get(this, key, false));
      }
    };
    var get = (self2, key, doUse) => {
      const node = self2[CACHE].get(key);
      if (node) {
        const hit = node.value;
        if (isStale(self2, hit)) {
          del(self2, node);
          if (!self2[ALLOW_STALE])
            return void 0;
        } else {
          if (doUse) {
            if (self2[UPDATE_AGE_ON_GET])
              node.value.now = Date.now();
            self2[LRU_LIST].unshiftNode(node);
          }
        }
        return hit.value;
      }
    };
    var isStale = (self2, hit) => {
      if (!hit || !hit.maxAge && !self2[MAX_AGE])
        return false;
      const diff = Date.now() - hit.now;
      return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE];
    };
    var trim = (self2) => {
      if (self2[LENGTH] > self2[MAX]) {
        for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) {
          const prev = walker.prev;
          del(self2, walker);
          walker = prev;
        }
      }
    };
    var del = (self2, node) => {
      if (node) {
        const hit = node.value;
        if (self2[DISPOSE])
          self2[DISPOSE](hit.key, hit.value);
        self2[LENGTH] -= hit.length;
        self2[CACHE].delete(hit.key);
        self2[LRU_LIST].removeNode(node);
      }
    };
    var Entry = class {
      constructor(key, value, length, now, maxAge) {
        this.key = key;
        this.value = value;
        this.length = length;
        this.now = now;
        this.maxAge = maxAge || 0;
      }
    };
    var forEachStep = (self2, fn, node, thisp) => {
      let hit = node.value;
      if (isStale(self2, hit)) {
        del(self2, node);
        if (!self2[ALLOW_STALE])
          hit = void 0;
      }
      if (hit)
        fn.call(thisp, hit.value, hit.key, self2);
    };
    module2.exports = LRUCache;
  }
});

// ../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/index.js
var require_hosted_git_info = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@4.1.0/node_modules/hosted-git-info/index.js"(exports2, module2) {
    "use strict";
    var url = require("url");
    var gitHosts = require_git_host_info();
    var GitHost = module2.exports = require_git_host();
    var LRU = require_lru_cache();
    var cache = new LRU({ max: 1e3 });
    var protocolToRepresentationMap = {
      "git+ssh:": "sshurl",
      "git+https:": "https",
      "ssh:": "sshurl",
      "git:": "git"
    };
    function protocolToRepresentation(protocol) {
      return protocolToRepresentationMap[protocol] || protocol.slice(0, -1);
    }
    var authProtocols = {
      "git:": true,
      "https:": true,
      "git+https:": true,
      "http:": true,
      "git+http:": true
    };
    var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]);
    module2.exports.fromUrl = function(giturl, opts) {
      if (typeof giturl !== "string") {
        return;
      }
      const key = giturl + JSON.stringify(opts || {});
      if (!cache.has(key)) {
        cache.set(key, fromUrl(giturl, opts));
      }
      return cache.get(key);
    };
    function fromUrl(giturl, opts) {
      if (!giturl) {
        return;
      }
      const url2 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl);
      const parsed = parseGitUrl(url2);
      if (!parsed) {
        return parsed;
      }
      const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
      const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
      const gitHostName = gitHostShortcut || gitHostDomain;
      if (!gitHostName) {
        return;
      }
      const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
      let auth = null;
      if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) {
        auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
      }
      let committish = null;
      let user = null;
      let project = null;
      let defaultRepresentation = null;
      try {
        if (gitHostShortcut) {
          let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
          const firstAt = pathname.indexOf("@");
          if (firstAt > -1) {
            pathname = pathname.slice(firstAt + 1);
          }
          const lastSlash = pathname.lastIndexOf("/");
          if (lastSlash > -1) {
            user = decodeURIComponent(pathname.slice(0, lastSlash));
            if (!user) {
              user = null;
            }
            project = decodeURIComponent(pathname.slice(lastSlash + 1));
          } else {
            project = decodeURIComponent(pathname);
          }
          if (project.endsWith(".git")) {
            project = project.slice(0, -4);
          }
          if (parsed.hash) {
            committish = decodeURIComponent(parsed.hash.slice(1));
          }
          defaultRepresentation = "shortcut";
        } else {
          if (!gitHostInfo.protocols.includes(parsed.protocol)) {
            return;
          }
          const segments = gitHostInfo.extract(parsed);
          if (!segments) {
            return;
          }
          user = segments.user && decodeURIComponent(segments.user);
          project = decodeURIComponent(segments.project);
          committish = decodeURIComponent(segments.committish);
          defaultRepresentation = protocolToRepresentation(parsed.protocol);
        }
      } catch (err) {
        if (err instanceof URIError) {
          return;
        } else {
          throw err;
        }
      }
      return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts);
    }
    var correctProtocol = (arg) => {
      const firstColon = arg.indexOf(":");
      const proto = arg.slice(0, firstColon + 1);
      if (knownProtocols.includes(proto)) {
        return arg;
      }
      const firstAt = arg.indexOf("@");
      if (firstAt > -1) {
        if (firstAt > firstColon) {
          return `git+ssh://${arg}`;
        } else {
          return arg;
        }
      }
      const doubleSlash = arg.indexOf("//");
      if (doubleSlash === firstColon + 1) {
        return arg;
      }
      return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1);
    };
    var isGitHubShorthand = (arg) => {
      const firstHash = arg.indexOf("#");
      const firstSlash = arg.indexOf("/");
      const secondSlash = arg.indexOf("/", firstSlash + 1);
      const firstColon = arg.indexOf(":");
      const firstSpace = /\s/.exec(arg);
      const firstAt = arg.indexOf("@");
      const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
      const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
      const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
      const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
      const hasSlash = firstSlash > 0;
      const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
      const doesNotStartWithDot = !arg.startsWith(".");
      return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
    };
    var correctUrl = (giturl) => {
      const firstAt = giturl.indexOf("@");
      const lastHash = giturl.lastIndexOf("#");
      let firstColon = giturl.indexOf(":");
      let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity);
      let corrected;
      if (lastColon > firstAt) {
        corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1);
        firstColon = corrected.indexOf(":");
        lastColon = corrected.lastIndexOf(":");
      }
      if (firstColon === -1 && giturl.indexOf("//") === -1) {
        corrected = `git+ssh://${corrected}`;
      }
      return corrected;
    };
    var parseGitUrl = (giturl) => {
      let result2;
      try {
        result2 = new url.URL(giturl);
      } catch (err) {
      }
      if (result2) {
        return result2;
      }
      const correctedUrl = correctUrl(giturl);
      try {
        result2 = new url.URL(correctedUrl);
      } catch (err) {
      }
      return result2;
    };
  }
});

// ../node_modules/.pnpm/@pnpm+npm-package-arg@1.0.0/node_modules/@pnpm/npm-package-arg/npa.js
var require_npa = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-package-arg@1.0.0/node_modules/@pnpm/npm-package-arg/npa.js"(exports2, module2) {
    "use strict";
    module2.exports = npa;
    module2.exports.resolve = resolve;
    module2.exports.Result = Result;
    var url;
    var HostedGit;
    var semver;
    var path2;
    var validatePackageName;
    var os;
    var isWindows = process.platform === "win32" || global.FAKE_WINDOWS;
    var hasSlashes = isWindows ? /\\|[/]/ : /[/]/;
    var isURL = /^(?:git[+])?[a-z]+:/i;
    var isFilename = /[.](?:tgz|tar.gz|tar)$/i;
    function npa(arg, where) {
      let name;
      let spec;
      if (typeof arg === "object") {
        if (arg instanceof Result && (!where || where === arg.where)) {
          return arg;
        } else if (arg.name && arg.rawSpec) {
          return npa.resolve(arg.name, arg.rawSpec, where || arg.where);
        } else {
          return npa(arg.raw, where || arg.where);
        }
      }
      const nameEndsAt = arg[0] === "@" ? arg.slice(1).indexOf("@") + 1 : arg.indexOf("@");
      const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg;
      if (isURL.test(arg)) {
        spec = arg;
      } else if (namePart[0] !== "@" && (hasSlashes.test(namePart) || isFilename.test(namePart))) {
        spec = arg;
      } else if (nameEndsAt > 0) {
        name = namePart;
        spec = arg.slice(nameEndsAt + 1);
      } else {
        if (!validatePackageName) validatePackageName = require_lib36();
        const valid = validatePackageName(arg);
        if (valid.validForOldPackages) {
          name = arg;
        } else {
          spec = arg;
        }
      }
      return resolve(name, spec, where, arg);
    }
    var isFilespec = isWindows ? /^(?:[.]|~[/]|[/\\]|[a-zA-Z]:)/ : /^(?:[.]|~[/]|[/]|[a-zA-Z]:)/;
    function resolve(name, spec, where, arg) {
      const res = new Result({
        raw: arg,
        name,
        rawSpec: spec,
        fromArgument: arg != null
      });
      if (name) res.setName(name);
      if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) {
        return fromFile(res, where);
      }
      if (spec && spec.startsWith("npm:")) {
        return Object.assign(npa(spec.substr(4), where), {
          alias: name,
          raw: res.raw,
          rawSpec: res.rawSpec
        });
      }
      if (!HostedGit) HostedGit = require_hosted_git_info();
      const hosted = HostedGit.fromUrl(spec, { noGitPlus: true, noCommittish: true });
      if (hosted) {
        return fromHostedGit(res, hosted);
      } else if (spec && isURL.test(spec)) {
        return fromURL(res);
      } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) {
        return fromFile(res, where);
      } else {
        return fromRegistry(res);
      }
    }
    function invalidPackageName(name, valid) {
      const err = new Error(`Invalid package name "${name}": ${valid.errors.join("; ")}`);
      err.code = "EINVALIDPACKAGENAME";
      return err;
    }
    function invalidTagName(name) {
      const err = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`);
      err.code = "EINVALIDTAGNAME";
      return err;
    }
    function Result(opts) {
      this.type = opts.type;
      this.registry = opts.registry;
      this.where = opts.where;
      if (opts.raw == null) {
        this.raw = opts.name ? opts.name + "@" + opts.rawSpec : opts.rawSpec;
      } else {
        this.raw = opts.raw;
      }
      this.name = void 0;
      this.escapedName = void 0;
      this.scope = void 0;
      this.rawSpec = opts.rawSpec == null ? "" : opts.rawSpec;
      this.saveSpec = opts.saveSpec;
      this.fetchSpec = opts.fetchSpec;
      if (opts.name) this.setName(opts.name);
      this.gitRange = opts.gitRange;
      this.gitCommittish = opts.gitCommittish;
      this.hosted = opts.hosted;
    }
    Result.prototype = {};
    Result.prototype.setName = function(name) {
      if (!validatePackageName) validatePackageName = require_lib36();
      const valid = validatePackageName(name);
      if (!valid.validForOldPackages) {
        throw invalidPackageName(name, valid);
      }
      this.name = name;
      this.scope = name[0] === "@" ? name.slice(0, name.indexOf("/")) : void 0;
      this.escapedName = name.replace("/", "%2f");
      return this;
    };
    Result.prototype.toString = function() {
      const full = [];
      if (this.name != null && this.name !== "") full.push(this.name);
      const spec = this.saveSpec || this.fetchSpec || this.rawSpec;
      if (spec != null && spec !== "") full.push(spec);
      return full.length ? full.join("@") : this.raw;
    };
    Result.prototype.toJSON = function() {
      const result2 = Object.assign({}, this);
      delete result2.hosted;
      return result2;
    };
    function setGitCommittish(res, committish) {
      if (committish != null && committish.length >= 7 && committish.slice(0, 7) === "semver:") {
        res.gitRange = decodeURIComponent(committish.slice(7));
        res.gitCommittish = null;
      } else {
        res.gitCommittish = committish === "" ? null : committish;
      }
      return res;
    }
    var isAbsolutePath = /^[/]|^[A-Za-z]:/;
    function resolvePath(where, spec) {
      if (isAbsolutePath.test(spec)) return spec;
      if (!path2) path2 = require("path");
      return path2.resolve(where, spec);
    }
    function isAbsolute(dir) {
      if (dir[0] === "/") return true;
      if (/^[A-Za-z]:/.test(dir)) return true;
      return false;
    }
    function fromFile(res, where) {
      if (!where) where = process.cwd();
      res.type = isFilename.test(res.rawSpec) ? "file" : "directory";
      res.where = where;
      const spec = res.rawSpec.replace(/\\/g, "/").replace(/^file:[/]*([A-Za-z]:)/, "$1").replace(/^file:(?:[/]*([~./]))?/, "$1");
      if (/^~[/]/.test(spec)) {
        if (!os) os = require("os");
        res.fetchSpec = resolvePath(os.homedir(), spec.slice(2));
        res.saveSpec = "file:" + spec;
      } else {
        res.fetchSpec = resolvePath(where, spec);
        if (isAbsolute(spec)) {
          res.saveSpec = "file:" + spec;
        } else {
          if (!path2) path2 = require("path");
          res.saveSpec = "file:" + path2.relative(where, res.fetchSpec);
        }
      }
      return res;
    }
    function fromHostedGit(res, hosted) {
      res.type = "git";
      res.hosted = hosted;
      res.saveSpec = hosted.toString({ noGitPlus: false, noCommittish: false });
      res.fetchSpec = hosted.getDefaultRepresentation() === "shortcut" ? null : hosted.toString();
      return setGitCommittish(res, hosted.committish);
    }
    function unsupportedURLType(protocol, spec) {
      const err = new Error(`Unsupported URL Type "${protocol}": ${spec}`);
      err.code = "EUNSUPPORTEDPROTOCOL";
      return err;
    }
    function matchGitScp(spec) {
      const matched = spec.match(/^git\+ssh:\/\/([^:#]+:[^#]+(?:\.git)?)(?:#(.*))?$/i);
      return matched && !matched[1].match(/:[0-9]+\/?.*$/i) && {
        fetchSpec: matched[1],
        gitCommittish: matched[2] == null ? null : matched[2]
      };
    }
    function fromURL(res) {
      if (!url) url = require("url");
      const urlparse = url.parse(res.rawSpec);
      res.saveSpec = res.rawSpec;
      switch (urlparse.protocol) {
        case "git:":
        case "git+http:":
        case "git+https:":
        case "git+rsync:":
        case "git+ftp:":
        case "git+file:":
        case "git+ssh:": {
          res.type = "git";
          const match = urlparse.protocol === "git+ssh:" && matchGitScp(res.rawSpec);
          if (match) {
            res.fetchSpec = match.fetchSpec;
            res.gitCommittish = match.gitCommittish;
          } else {
            setGitCommittish(res, urlparse.hash != null ? urlparse.hash.slice(1) : "");
            urlparse.protocol = urlparse.protocol.replace(/^git[+]/, "");
            delete urlparse.hash;
            res.fetchSpec = url.format(urlparse);
          }
          break;
        }
        case "http:":
        case "https:":
          res.type = "remote";
          res.fetchSpec = res.saveSpec;
          break;
        default:
          throw unsupportedURLType(urlparse.protocol, res.rawSpec);
      }
      return res;
    }
    function fromRegistry(res) {
      res.registry = true;
      const spec = res.rawSpec === "" ? "latest" : res.rawSpec;
      res.saveSpec = null;
      res.fetchSpec = spec;
      if (!semver) semver = require_semver2();
      const version2 = semver.valid(spec, true);
      const range = semver.validRange(spec, true);
      if (version2) {
        res.type = "version";
      } else if (range) {
        res.type = "range";
      } else {
        if (encodeURIComponent(spec) !== spec) {
          throw invalidTagName(spec);
        }
        res.type = "tag";
      }
      return res;
    }
  }
});

// ../workspace/resolve-workspace-range/lib/index.js
var require_lib37 = __commonJS({
  "../workspace/resolve-workspace-range/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveWorkspaceRange = resolveWorkspaceRange;
    var semver_12 = __importDefault2(require_semver2());
    function resolveWorkspaceRange(range, versions) {
      if (range === "*" || range === "^" || range === "~") {
        return semver_12.default.maxSatisfying(versions, "*", {
          includePrerelease: true
        });
      }
      return semver_12.default.maxSatisfying(versions, range, {
        loose: true
      });
    }
  }
});

// ../node_modules/.pnpm/lru-cache@10.4.3/node_modules/lru-cache/dist/commonjs/index.js
var require_commonjs = __commonJS({
  "../node_modules/.pnpm/lru-cache@10.4.3/node_modules/lru-cache/dist/commonjs/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LRUCache = void 0;
    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
    var warned = /* @__PURE__ */ new Set();
    var PROCESS = typeof process === "object" && !!process ? process : {};
    var emitWarning = (msg, type, code, fn) => {
      typeof PROCESS.emitWarning === "function" ? PROCESS.emitWarning(msg, type, code, fn) : console.error(`[${code}] ${type}: ${msg}`);
    };
    var AC = globalThis.AbortController;
    var AS = globalThis.AbortSignal;
    if (typeof AC === "undefined") {
      AS = class AbortSignal {
        onabort;
        _onabort = [];
        reason;
        aborted = false;
        addEventListener(_, fn) {
          this._onabort.push(fn);
        }
      };
      AC = class AbortController {
        constructor() {
          warnACPolyfill();
        }
        signal = new AS();
        abort(reason) {
          if (this.signal.aborted)
            return;
          this.signal.reason = reason;
          this.signal.aborted = true;
          for (const fn of this.signal._onabort) {
            fn(reason);
          }
          this.signal.onabort?.(reason);
        }
      };
      let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
      const warnACPolyfill = () => {
        if (!printACPolyfillWarning)
          return;
        printACPolyfillWarning = false;
        emitWarning("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.", "NO_ABORT_CONTROLLER", "ENOTSUP", warnACPolyfill);
      };
    }
    var shouldWarn = (code) => !warned.has(code);
    var TYPE = Symbol("type");
    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
    var ZeroArray = class extends Array {
      constructor(size) {
        super(size);
        this.fill(0);
      }
    };
    var Stack = class _Stack {
      heap;
      length;
      // private constructor
      static #constructing = false;
      static create(max) {
        const HeapCls = getUintArray(max);
        if (!HeapCls)
          return [];
        _Stack.#constructing = true;
        const s = new _Stack(max, HeapCls);
        _Stack.#constructing = false;
        return s;
      }
      constructor(max, HeapCls) {
        if (!_Stack.#constructing) {
          throw new TypeError("instantiate Stack using Stack.create(n)");
        }
        this.heap = new HeapCls(max);
        this.length = 0;
      }
      push(n) {
        this.heap[this.length++] = n;
      }
      pop() {
        return this.heap[--this.length];
      }
    };
    var LRUCache = class _LRUCache {
      // options that cannot be changed without disaster
      #max;
      #maxSize;
      #dispose;
      #disposeAfter;
      #fetchMethod;
      #memoMethod;
      /**
       * {@link LRUCache.OptionsBase.ttl}
       */
      ttl;
      /**
       * {@link LRUCache.OptionsBase.ttlResolution}
       */
      ttlResolution;
      /**
       * {@link LRUCache.OptionsBase.ttlAutopurge}
       */
      ttlAutopurge;
      /**
       * {@link LRUCache.OptionsBase.updateAgeOnGet}
       */
      updateAgeOnGet;
      /**
       * {@link LRUCache.OptionsBase.updateAgeOnHas}
       */
      updateAgeOnHas;
      /**
       * {@link LRUCache.OptionsBase.allowStale}
       */
      allowStale;
      /**
       * {@link LRUCache.OptionsBase.noDisposeOnSet}
       */
      noDisposeOnSet;
      /**
       * {@link LRUCache.OptionsBase.noUpdateTTL}
       */
      noUpdateTTL;
      /**
       * {@link LRUCache.OptionsBase.maxEntrySize}
       */
      maxEntrySize;
      /**
       * {@link LRUCache.OptionsBase.sizeCalculation}
       */
      sizeCalculation;
      /**
       * {@link LRUCache.OptionsBase.noDeleteOnFetchRejection}
       */
      noDeleteOnFetchRejection;
      /**
       * {@link LRUCache.OptionsBase.noDeleteOnStaleGet}
       */
      noDeleteOnStaleGet;
      /**
       * {@link LRUCache.OptionsBase.allowStaleOnFetchAbort}
       */
      allowStaleOnFetchAbort;
      /**
       * {@link LRUCache.OptionsBase.allowStaleOnFetchRejection}
       */
      allowStaleOnFetchRejection;
      /**
       * {@link LRUCache.OptionsBase.ignoreFetchAbort}
       */
      ignoreFetchAbort;
      // computed properties
      #size;
      #calculatedSize;
      #keyMap;
      #keyList;
      #valList;
      #next;
      #prev;
      #head;
      #tail;
      #free;
      #disposed;
      #sizes;
      #starts;
      #ttls;
      #hasDispose;
      #hasFetchMethod;
      #hasDisposeAfter;
      /**
       * Do not call this method unless you need to inspect the
       * inner workings of the cache.  If anything returned by this
       * object is modified in any way, strange breakage may occur.
       *
       * These fields are private for a reason!
       *
       * @internal
       */
      static unsafeExposeInternals(c) {
        return {
          // properties
          starts: c.#starts,
          ttls: c.#ttls,
          sizes: c.#sizes,
          keyMap: c.#keyMap,
          keyList: c.#keyList,
          valList: c.#valList,
          next: c.#next,
          prev: c.#prev,
          get head() {
            return c.#head;
          },
          get tail() {
            return c.#tail;
          },
          free: c.#free,
          // methods
          isBackgroundFetch: (p) => c.#isBackgroundFetch(p),
          backgroundFetch: (k, index, options, context) => c.#backgroundFetch(k, index, options, context),
          moveToTail: (index) => c.#moveToTail(index),
          indexes: (options) => c.#indexes(options),
          rindexes: (options) => c.#rindexes(options),
          isStale: (index) => c.#isStale(index)
        };
      }
      // Protected read-only members
      /**
       * {@link LRUCache.OptionsBase.max} (read-only)
       */
      get max() {
        return this.#max;
      }
      /**
       * {@link LRUCache.OptionsBase.maxSize} (read-only)
       */
      get maxSize() {
        return this.#maxSize;
      }
      /**
       * The total computed size of items in the cache (read-only)
       */
      get calculatedSize() {
        return this.#calculatedSize;
      }
      /**
       * The number of items stored in the cache (read-only)
       */
      get size() {
        return this.#size;
      }
      /**
       * {@link LRUCache.OptionsBase.fetchMethod} (read-only)
       */
      get fetchMethod() {
        return this.#fetchMethod;
      }
      get memoMethod() {
        return this.#memoMethod;
      }
      /**
       * {@link LRUCache.OptionsBase.dispose} (read-only)
       */
      get dispose() {
        return this.#dispose;
      }
      /**
       * {@link LRUCache.OptionsBase.disposeAfter} (read-only)
       */
      get disposeAfter() {
        return this.#disposeAfter;
      }
      constructor(options) {
        const { max = 0, ttl, ttlResolution = 1, ttlAutopurge, updateAgeOnGet, updateAgeOnHas, allowStale, dispose, disposeAfter, noDisposeOnSet, noUpdateTTL, maxSize = 0, maxEntrySize = 0, sizeCalculation, fetchMethod, memoMethod, noDeleteOnFetchRejection, noDeleteOnStaleGet, allowStaleOnFetchRejection, allowStaleOnFetchAbort, ignoreFetchAbort } = options;
        if (max !== 0 && !isPosInt(max)) {
          throw new TypeError("max option must be a nonnegative integer");
        }
        const UintArray = max ? getUintArray(max) : Array;
        if (!UintArray) {
          throw new Error("invalid max value: " + max);
        }
        this.#max = max;
        this.#maxSize = maxSize;
        this.maxEntrySize = maxEntrySize || this.#maxSize;
        this.sizeCalculation = sizeCalculation;
        if (this.sizeCalculation) {
          if (!this.#maxSize && !this.maxEntrySize) {
            throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");
          }
          if (typeof this.sizeCalculation !== "function") {
            throw new TypeError("sizeCalculation set to non-function");
          }
        }
        if (memoMethod !== void 0 && typeof memoMethod !== "function") {
          throw new TypeError("memoMethod must be a function if defined");
        }
        this.#memoMethod = memoMethod;
        if (fetchMethod !== void 0 && typeof fetchMethod !== "function") {
          throw new TypeError("fetchMethod must be a function if specified");
        }
        this.#fetchMethod = fetchMethod;
        this.#hasFetchMethod = !!fetchMethod;
        this.#keyMap = /* @__PURE__ */ new Map();
        this.#keyList = new Array(max).fill(void 0);
        this.#valList = new Array(max).fill(void 0);
        this.#next = new UintArray(max);
        this.#prev = new UintArray(max);
        this.#head = 0;
        this.#tail = 0;
        this.#free = Stack.create(max);
        this.#size = 0;
        this.#calculatedSize = 0;
        if (typeof dispose === "function") {
          this.#dispose = dispose;
        }
        if (typeof disposeAfter === "function") {
          this.#disposeAfter = disposeAfter;
          this.#disposed = [];
        } else {
          this.#disposeAfter = void 0;
          this.#disposed = void 0;
        }
        this.#hasDispose = !!this.#dispose;
        this.#hasDisposeAfter = !!this.#disposeAfter;
        this.noDisposeOnSet = !!noDisposeOnSet;
        this.noUpdateTTL = !!noUpdateTTL;
        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
        this.ignoreFetchAbort = !!ignoreFetchAbort;
        if (this.maxEntrySize !== 0) {
          if (this.#maxSize !== 0) {
            if (!isPosInt(this.#maxSize)) {
              throw new TypeError("maxSize must be a positive integer if specified");
            }
          }
          if (!isPosInt(this.maxEntrySize)) {
            throw new TypeError("maxEntrySize must be a positive integer if specified");
          }
          this.#initializeSizeTracking();
        }
        this.allowStale = !!allowStale;
        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
        this.updateAgeOnGet = !!updateAgeOnGet;
        this.updateAgeOnHas = !!updateAgeOnHas;
        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
        this.ttlAutopurge = !!ttlAutopurge;
        this.ttl = ttl || 0;
        if (this.ttl) {
          if (!isPosInt(this.ttl)) {
            throw new TypeError("ttl must be a positive integer if specified");
          }
          this.#initializeTTLTracking();
        }
        if (this.#max === 0 && this.ttl === 0 && this.#maxSize === 0) {
          throw new TypeError("At least one of max, maxSize, or ttl is required");
        }
        if (!this.ttlAutopurge && !this.#max && !this.#maxSize) {
          const code = "LRU_CACHE_UNBOUNDED";
          if (shouldWarn(code)) {
            warned.add(code);
            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
          }
        }
      }
      /**
       * Return the number of ms left in the item's TTL. If item is not in cache,
       * returns `0`. Returns `Infinity` if item is in cache without a defined TTL.
       */
      getRemainingTTL(key) {
        return this.#keyMap.has(key) ? Infinity : 0;
      }
      #initializeTTLTracking() {
        const ttls = new ZeroArray(this.#max);
        const starts = new ZeroArray(this.#max);
        this.#ttls = ttls;
        this.#starts = starts;
        this.#setItemTTL = (index, ttl, start = perf.now()) => {
          starts[index] = ttl !== 0 ? start : 0;
          ttls[index] = ttl;
          if (ttl !== 0 && this.ttlAutopurge) {
            const t = setTimeout(() => {
              if (this.#isStale(index)) {
                this.#delete(this.#keyList[index], "expire");
              }
            }, ttl + 1);
            if (t.unref) {
              t.unref();
            }
          }
        };
        this.#updateItemAge = (index) => {
          starts[index] = ttls[index] !== 0 ? perf.now() : 0;
        };
        this.#statusTTL = (status, index) => {
          if (ttls[index]) {
            const ttl = ttls[index];
            const start = starts[index];
            if (!ttl || !start)
              return;
            status.ttl = ttl;
            status.start = start;
            status.now = cachedNow || getNow();
            const age = status.now - start;
            status.remainingTTL = ttl - age;
          }
        };
        let cachedNow = 0;
        const getNow = () => {
          const n = perf.now();
          if (this.ttlResolution > 0) {
            cachedNow = n;
            const t = setTimeout(() => cachedNow = 0, this.ttlResolution);
            if (t.unref) {
              t.unref();
            }
          }
          return n;
        };
        this.getRemainingTTL = (key) => {
          const index = this.#keyMap.get(key);
          if (index === void 0) {
            return 0;
          }
          const ttl = ttls[index];
          const start = starts[index];
          if (!ttl || !start) {
            return Infinity;
          }
          const age = (cachedNow || getNow()) - start;
          return ttl - age;
        };
        this.#isStale = (index) => {
          const s = starts[index];
          const t = ttls[index];
          return !!t && !!s && (cachedNow || getNow()) - s > t;
        };
      }
      // conditionally set private methods related to TTL
      #updateItemAge = () => {
      };
      #statusTTL = () => {
      };
      #setItemTTL = () => {
      };
      /* c8 ignore stop */
      #isStale = () => false;
      #initializeSizeTracking() {
        const sizes = new ZeroArray(this.#max);
        this.#calculatedSize = 0;
        this.#sizes = sizes;
        this.#removeItemSize = (index) => {
          this.#calculatedSize -= sizes[index];
          sizes[index] = 0;
        };
        this.#requireSize = (k, v, size, sizeCalculation) => {
          if (this.#isBackgroundFetch(v)) {
            return 0;
          }
          if (!isPosInt(size)) {
            if (sizeCalculation) {
              if (typeof sizeCalculation !== "function") {
                throw new TypeError("sizeCalculation must be a function");
              }
              size = sizeCalculation(v, k);
              if (!isPosInt(size)) {
                throw new TypeError("sizeCalculation return invalid (expect positive integer)");
              }
            } else {
              throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");
            }
          }
          return size;
        };
        this.#addItemSize = (index, size, status) => {
          sizes[index] = size;
          if (this.#maxSize) {
            const maxSize = this.#maxSize - sizes[index];
            while (this.#calculatedSize > maxSize) {
              this.#evict(true);
            }
          }
          this.#calculatedSize += sizes[index];
          if (status) {
            status.entrySize = size;
            status.totalCalculatedSize = this.#calculatedSize;
          }
        };
      }
      #removeItemSize = (_i) => {
      };
      #addItemSize = (_i, _s, _st) => {
      };
      #requireSize = (_k, _v, size, sizeCalculation) => {
        if (size || sizeCalculation) {
          throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");
        }
        return 0;
      };
      *#indexes({ allowStale = this.allowStale } = {}) {
        if (this.#size) {
          for (let i = this.#tail; true; ) {
            if (!this.#isValidIndex(i)) {
              break;
            }
            if (allowStale || !this.#isStale(i)) {
              yield i;
            }
            if (i === this.#head) {
              break;
            } else {
              i = this.#prev[i];
            }
          }
        }
      }
      *#rindexes({ allowStale = this.allowStale } = {}) {
        if (this.#size) {
          for (let i = this.#head; true; ) {
            if (!this.#isValidIndex(i)) {
              break;
            }
            if (allowStale || !this.#isStale(i)) {
              yield i;
            }
            if (i === this.#tail) {
              break;
            } else {
              i = this.#next[i];
            }
          }
        }
      }
      #isValidIndex(index) {
        return index !== void 0 && this.#keyMap.get(this.#keyList[index]) === index;
      }
      /**
       * Return a generator yielding `[key, value]` pairs,
       * in order from most recently used to least recently used.
       */
      *entries() {
        for (const i of this.#indexes()) {
          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield [this.#keyList[i], this.#valList[i]];
          }
        }
      }
      /**
       * Inverse order version of {@link LRUCache.entries}
       *
       * Return a generator yielding `[key, value]` pairs,
       * in order from least recently used to most recently used.
       */
      *rentries() {
        for (const i of this.#rindexes()) {
          if (this.#valList[i] !== void 0 && this.#keyList[i] !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield [this.#keyList[i], this.#valList[i]];
          }
        }
      }
      /**
       * Return a generator yielding the keys in the cache,
       * in order from most recently used to least recently used.
       */
      *keys() {
        for (const i of this.#indexes()) {
          const k = this.#keyList[i];
          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield k;
          }
        }
      }
      /**
       * Inverse order version of {@link LRUCache.keys}
       *
       * Return a generator yielding the keys in the cache,
       * in order from least recently used to most recently used.
       */
      *rkeys() {
        for (const i of this.#rindexes()) {
          const k = this.#keyList[i];
          if (k !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield k;
          }
        }
      }
      /**
       * Return a generator yielding the values in the cache,
       * in order from most recently used to least recently used.
       */
      *values() {
        for (const i of this.#indexes()) {
          const v = this.#valList[i];
          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield this.#valList[i];
          }
        }
      }
      /**
       * Inverse order version of {@link LRUCache.values}
       *
       * Return a generator yielding the values in the cache,
       * in order from least recently used to most recently used.
       */
      *rvalues() {
        for (const i of this.#rindexes()) {
          const v = this.#valList[i];
          if (v !== void 0 && !this.#isBackgroundFetch(this.#valList[i])) {
            yield this.#valList[i];
          }
        }
      }
      /**
       * Iterating over the cache itself yields the same results as
       * {@link LRUCache.entries}
       */
      [Symbol.iterator]() {
        return this.entries();
      }
      /**
       * A String value that is used in the creation of the default string
       * description of an object. Called by the built-in method
       * `Object.prototype.toString`.
       */
      [Symbol.toStringTag] = "LRUCache";
      /**
       * Find a value for which the supplied fn method returns a truthy value,
       * similar to `Array.find()`. fn is called as `fn(value, key, cache)`.
       */
      find(fn, getOptions = {}) {
        for (const i of this.#indexes()) {
          const v = this.#valList[i];
          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0)
            continue;
          if (fn(value, this.#keyList[i], this)) {
            return this.get(this.#keyList[i], getOptions);
          }
        }
      }
      /**
       * Call the supplied function on each item in the cache, in order from most
       * recently used to least recently used.
       *
       * `fn` is called as `fn(value, key, cache)`.
       *
       * If `thisp` is provided, function will be called in the `this`-context of
       * the provided object, or the cache if no `thisp` object is provided.
       *
       * Does not update age or recenty of use, or iterate over stale values.
       */
      forEach(fn, thisp = this) {
        for (const i of this.#indexes()) {
          const v = this.#valList[i];
          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0)
            continue;
          fn.call(thisp, value, this.#keyList[i], this);
        }
      }
      /**
       * The same as {@link LRUCache.forEach} but items are iterated over in
       * reverse order.  (ie, less recently used items are iterated over first.)
       */
      rforEach(fn, thisp = this) {
        for (const i of this.#rindexes()) {
          const v = this.#valList[i];
          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0)
            continue;
          fn.call(thisp, value, this.#keyList[i], this);
        }
      }
      /**
       * Delete any stale entries. Returns true if anything was removed,
       * false otherwise.
       */
      purgeStale() {
        let deleted = false;
        for (const i of this.#rindexes({ allowStale: true })) {
          if (this.#isStale(i)) {
            this.#delete(this.#keyList[i], "expire");
            deleted = true;
          }
        }
        return deleted;
      }
      /**
       * Get the extended info about a given entry, to get its value, size, and
       * TTL info simultaneously. Returns `undefined` if the key is not present.
       *
       * Unlike {@link LRUCache#dump}, which is designed to be portable and survive
       * serialization, the `start` value is always the current timestamp, and the
       * `ttl` is a calculated remaining time to live (negative if expired).
       *
       * Always returns stale values, if their info is found in the cache, so be
       * sure to check for expirations (ie, a negative {@link LRUCache.Entry#ttl})
       * if relevant.
       */
      info(key) {
        const i = this.#keyMap.get(key);
        if (i === void 0)
          return void 0;
        const v = this.#valList[i];
        const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
        if (value === void 0)
          return void 0;
        const entry = { value };
        if (this.#ttls && this.#starts) {
          const ttl = this.#ttls[i];
          const start = this.#starts[i];
          if (ttl && start) {
            const remain = ttl - (perf.now() - start);
            entry.ttl = remain;
            entry.start = Date.now();
          }
        }
        if (this.#sizes) {
          entry.size = this.#sizes[i];
        }
        return entry;
      }
      /**
       * Return an array of [key, {@link LRUCache.Entry}] tuples which can be
       * passed to {@link LRLUCache#load}.
       *
       * The `start` fields are calculated relative to a portable `Date.now()`
       * timestamp, even if `performance.now()` is available.
       *
       * Stale entries are always included in the `dump`, even if
       * {@link LRUCache.OptionsBase.allowStale} is false.
       *
       * Note: this returns an actual array, not a generator, so it can be more
       * easily passed around.
       */
      dump() {
        const arr = [];
        for (const i of this.#indexes({ allowStale: true })) {
          const key = this.#keyList[i];
          const v = this.#valList[i];
          const value = this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0 || key === void 0)
            continue;
          const entry = { value };
          if (this.#ttls && this.#starts) {
            entry.ttl = this.#ttls[i];
            const age = perf.now() - this.#starts[i];
            entry.start = Math.floor(Date.now() - age);
          }
          if (this.#sizes) {
            entry.size = this.#sizes[i];
          }
          arr.unshift([key, entry]);
        }
        return arr;
      }
      /**
       * Reset the cache and load in the items in entries in the order listed.
       *
       * The shape of the resulting cache may be different if the same options are
       * not used in both caches.
       *
       * The `start` fields are assumed to be calculated relative to a portable
       * `Date.now()` timestamp, even if `performance.now()` is available.
       */
      load(arr) {
        this.clear();
        for (const [key, entry] of arr) {
          if (entry.start) {
            const age = Date.now() - entry.start;
            entry.start = perf.now() - age;
          }
          this.set(key, entry.value, entry);
        }
      }
      /**
       * Add a value to the cache.
       *
       * Note: if `undefined` is specified as a value, this is an alias for
       * {@link LRUCache#delete}
       *
       * Fields on the {@link LRUCache.SetOptions} options param will override
       * their corresponding values in the constructor options for the scope
       * of this single `set()` operation.
       *
       * If `start` is provided, then that will set the effective start
       * time for the TTL calculation. Note that this must be a previous
       * value of `performance.now()` if supported, or a previous value of
       * `Date.now()` if not.
       *
       * Options object may also include `size`, which will prevent
       * calling the `sizeCalculation` function and just use the specified
       * number if it is a positive integer, and `noDisposeOnSet` which
       * will prevent calling a `dispose` function in the case of
       * overwrites.
       *
       * If the `size` (or return value of `sizeCalculation`) for a given
       * entry is greater than `maxEntrySize`, then the item will not be
       * added to the cache.
       *
       * Will update the recency of the entry.
       *
       * If the value is `undefined`, then this is an alias for
       * `cache.delete(key)`. `undefined` is never stored in the cache.
       */
      set(k, v, setOptions = {}) {
        if (v === void 0) {
          this.delete(k);
          return this;
        }
        const { ttl = this.ttl, start, noDisposeOnSet = this.noDisposeOnSet, sizeCalculation = this.sizeCalculation, status } = setOptions;
        let { noUpdateTTL = this.noUpdateTTL } = setOptions;
        const size = this.#requireSize(k, v, setOptions.size || 0, sizeCalculation);
        if (this.maxEntrySize && size > this.maxEntrySize) {
          if (status) {
            status.set = "miss";
            status.maxEntrySizeExceeded = true;
          }
          this.#delete(k, "set");
          return this;
        }
        let index = this.#size === 0 ? void 0 : this.#keyMap.get(k);
        if (index === void 0) {
          index = this.#size === 0 ? this.#tail : this.#free.length !== 0 ? this.#free.pop() : this.#size === this.#max ? this.#evict(false) : this.#size;
          this.#keyList[index] = k;
          this.#valList[index] = v;
          this.#keyMap.set(k, index);
          this.#next[this.#tail] = index;
          this.#prev[index] = this.#tail;
          this.#tail = index;
          this.#size++;
          this.#addItemSize(index, size, status);
          if (status)
            status.set = "add";
          noUpdateTTL = false;
        } else {
          this.#moveToTail(index);
          const oldVal = this.#valList[index];
          if (v !== oldVal) {
            if (this.#hasFetchMethod && this.#isBackgroundFetch(oldVal)) {
              oldVal.__abortController.abort(new Error("replaced"));
              const { __staleWhileFetching: s } = oldVal;
              if (s !== void 0 && !noDisposeOnSet) {
                if (this.#hasDispose) {
                  this.#dispose?.(s, k, "set");
                }
                if (this.#hasDisposeAfter) {
                  this.#disposed?.push([s, k, "set"]);
                }
              }
            } else if (!noDisposeOnSet) {
              if (this.#hasDispose) {
                this.#dispose?.(oldVal, k, "set");
              }
              if (this.#hasDisposeAfter) {
                this.#disposed?.push([oldVal, k, "set"]);
              }
            }
            this.#removeItemSize(index);
            this.#addItemSize(index, size, status);
            this.#valList[index] = v;
            if (status) {
              status.set = "replace";
              const oldValue = oldVal && this.#isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
              if (oldValue !== void 0)
                status.oldValue = oldValue;
            }
          } else if (status) {
            status.set = "update";
          }
        }
        if (ttl !== 0 && !this.#ttls) {
          this.#initializeTTLTracking();
        }
        if (this.#ttls) {
          if (!noUpdateTTL) {
            this.#setItemTTL(index, ttl, start);
          }
          if (status)
            this.#statusTTL(status, index);
        }
        if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
          const dt = this.#disposed;
          let task;
          while (task = dt?.shift()) {
            this.#disposeAfter?.(...task);
          }
        }
        return this;
      }
      /**
       * Evict the least recently used item, returning its value or
       * `undefined` if cache is empty.
       */
      pop() {
        try {
          while (this.#size) {
            const val = this.#valList[this.#head];
            this.#evict(true);
            if (this.#isBackgroundFetch(val)) {
              if (val.__staleWhileFetching) {
                return val.__staleWhileFetching;
              }
            } else if (val !== void 0) {
              return val;
            }
          }
        } finally {
          if (this.#hasDisposeAfter && this.#disposed) {
            const dt = this.#disposed;
            let task;
            while (task = dt?.shift()) {
              this.#disposeAfter?.(...task);
            }
          }
        }
      }
      #evict(free) {
        const head = this.#head;
        const k = this.#keyList[head];
        const v = this.#valList[head];
        if (this.#hasFetchMethod && this.#isBackgroundFetch(v)) {
          v.__abortController.abort(new Error("evicted"));
        } else if (this.#hasDispose || this.#hasDisposeAfter) {
          if (this.#hasDispose) {
            this.#dispose?.(v, k, "evict");
          }
          if (this.#hasDisposeAfter) {
            this.#disposed?.push([v, k, "evict"]);
          }
        }
        this.#removeItemSize(head);
        if (free) {
          this.#keyList[head] = void 0;
          this.#valList[head] = void 0;
          this.#free.push(head);
        }
        if (this.#size === 1) {
          this.#head = this.#tail = 0;
          this.#free.length = 0;
        } else {
          this.#head = this.#next[head];
        }
        this.#keyMap.delete(k);
        this.#size--;
        return head;
      }
      /**
       * Check if a key is in the cache, without updating the recency of use.
       * Will return false if the item is stale, even though it is technically
       * in the cache.
       *
       * Check if a key is in the cache, without updating the recency of
       * use. Age is updated if {@link LRUCache.OptionsBase.updateAgeOnHas} is set
       * to `true` in either the options or the constructor.
       *
       * Will return `false` if the item is stale, even though it is technically in
       * the cache. The difference can be determined (if it matters) by using a
       * `status` argument, and inspecting the `has` field.
       *
       * Will not update item age unless
       * {@link LRUCache.OptionsBase.updateAgeOnHas} is set.
       */
      has(k, hasOptions = {}) {
        const { updateAgeOnHas = this.updateAgeOnHas, status } = hasOptions;
        const index = this.#keyMap.get(k);
        if (index !== void 0) {
          const v = this.#valList[index];
          if (this.#isBackgroundFetch(v) && v.__staleWhileFetching === void 0) {
            return false;
          }
          if (!this.#isStale(index)) {
            if (updateAgeOnHas) {
              this.#updateItemAge(index);
            }
            if (status) {
              status.has = "hit";
              this.#statusTTL(status, index);
            }
            return true;
          } else if (status) {
            status.has = "stale";
            this.#statusTTL(status, index);
          }
        } else if (status) {
          status.has = "miss";
        }
        return false;
      }
      /**
       * Like {@link LRUCache#get} but doesn't update recency or delete stale
       * items.
       *
       * Returns `undefined` if the item is stale, unless
       * {@link LRUCache.OptionsBase.allowStale} is set.
       */
      peek(k, peekOptions = {}) {
        const { allowStale = this.allowStale } = peekOptions;
        const index = this.#keyMap.get(k);
        if (index === void 0 || !allowStale && this.#isStale(index)) {
          return;
        }
        const v = this.#valList[index];
        return this.#isBackgroundFetch(v) ? v.__staleWhileFetching : v;
      }
      #backgroundFetch(k, index, options, context) {
        const v = index === void 0 ? void 0 : this.#valList[index];
        if (this.#isBackgroundFetch(v)) {
          return v;
        }
        const ac = new AC();
        const { signal } = options;
        signal?.addEventListener("abort", () => ac.abort(signal.reason), {
          signal: ac.signal
        });
        const fetchOpts = {
          signal: ac.signal,
          options,
          context
        };
        const cb = (v2, updateCache = false) => {
          const { aborted } = ac.signal;
          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
          if (options.status) {
            if (aborted && !updateCache) {
              options.status.fetchAborted = true;
              options.status.fetchError = ac.signal.reason;
              if (ignoreAbort)
                options.status.fetchAbortIgnored = true;
            } else {
              options.status.fetchResolved = true;
            }
          }
          if (aborted && !ignoreAbort && !updateCache) {
            return fetchFail(ac.signal.reason);
          }
          const bf2 = p;
          if (this.#valList[index] === p) {
            if (v2 === void 0) {
              if (bf2.__staleWhileFetching) {
                this.#valList[index] = bf2.__staleWhileFetching;
              } else {
                this.#delete(k, "fetch");
              }
            } else {
              if (options.status)
                options.status.fetchUpdated = true;
              this.set(k, v2, fetchOpts.options);
            }
          }
          return v2;
        };
        const eb = (er) => {
          if (options.status) {
            options.status.fetchRejected = true;
            options.status.fetchError = er;
          }
          return fetchFail(er);
        };
        const fetchFail = (er) => {
          const { aborted } = ac.signal;
          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
          const noDelete = allowStale || options.noDeleteOnFetchRejection;
          const bf2 = p;
          if (this.#valList[index] === p) {
            const del = !noDelete || bf2.__staleWhileFetching === void 0;
            if (del) {
              this.#delete(k, "fetch");
            } else if (!allowStaleAborted) {
              this.#valList[index] = bf2.__staleWhileFetching;
            }
          }
          if (allowStale) {
            if (options.status && bf2.__staleWhileFetching !== void 0) {
              options.status.returnedStale = true;
            }
            return bf2.__staleWhileFetching;
          } else if (bf2.__returned === bf2) {
            throw er;
          }
        };
        const pcall = (res, rej) => {
          const fmp = this.#fetchMethod?.(k, v, fetchOpts);
          if (fmp && fmp instanceof Promise) {
            fmp.then((v2) => res(v2 === void 0 ? void 0 : v2), rej);
          }
          ac.signal.addEventListener("abort", () => {
            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
              res(void 0);
              if (options.allowStaleOnFetchAbort) {
                res = (v2) => cb(v2, true);
              }
            }
          });
        };
        if (options.status)
          options.status.fetchDispatched = true;
        const p = new Promise(pcall).then(cb, eb);
        const bf = Object.assign(p, {
          __abortController: ac,
          __staleWhileFetching: v,
          __returned: void 0
        });
        if (index === void 0) {
          this.set(k, bf, { ...fetchOpts.options, status: void 0 });
          index = this.#keyMap.get(k);
        } else {
          this.#valList[index] = bf;
        }
        return bf;
      }
      #isBackgroundFetch(p) {
        if (!this.#hasFetchMethod)
          return false;
        const b = p;
        return !!b && b instanceof Promise && b.hasOwnProperty("__staleWhileFetching") && b.__abortController instanceof AC;
      }
      async fetch(k, fetchOptions = {}) {
        const {
          // get options
          allowStale = this.allowStale,
          updateAgeOnGet = this.updateAgeOnGet,
          noDeleteOnStaleGet = this.noDeleteOnStaleGet,
          // set options
          ttl = this.ttl,
          noDisposeOnSet = this.noDisposeOnSet,
          size = 0,
          sizeCalculation = this.sizeCalculation,
          noUpdateTTL = this.noUpdateTTL,
          // fetch exclusive options
          noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
          allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
          ignoreFetchAbort = this.ignoreFetchAbort,
          allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
          context,
          forceRefresh = false,
          status,
          signal
        } = fetchOptions;
        if (!this.#hasFetchMethod) {
          if (status)
            status.fetch = "get";
          return this.get(k, {
            allowStale,
            updateAgeOnGet,
            noDeleteOnStaleGet,
            status
          });
        }
        const options = {
          allowStale,
          updateAgeOnGet,
          noDeleteOnStaleGet,
          ttl,
          noDisposeOnSet,
          size,
          sizeCalculation,
          noUpdateTTL,
          noDeleteOnFetchRejection,
          allowStaleOnFetchRejection,
          allowStaleOnFetchAbort,
          ignoreFetchAbort,
          status,
          signal
        };
        let index = this.#keyMap.get(k);
        if (index === void 0) {
          if (status)
            status.fetch = "miss";
          const p = this.#backgroundFetch(k, index, options, context);
          return p.__returned = p;
        } else {
          const v = this.#valList[index];
          if (this.#isBackgroundFetch(v)) {
            const stale = allowStale && v.__staleWhileFetching !== void 0;
            if (status) {
              status.fetch = "inflight";
              if (stale)
                status.returnedStale = true;
            }
            return stale ? v.__staleWhileFetching : v.__returned = v;
          }
          const isStale = this.#isStale(index);
          if (!forceRefresh && !isStale) {
            if (status)
              status.fetch = "hit";
            this.#moveToTail(index);
            if (updateAgeOnGet) {
              this.#updateItemAge(index);
            }
            if (status)
              this.#statusTTL(status, index);
            return v;
          }
          const p = this.#backgroundFetch(k, index, options, context);
          const hasStale = p.__staleWhileFetching !== void 0;
          const staleVal = hasStale && allowStale;
          if (status) {
            status.fetch = isStale ? "stale" : "refresh";
            if (staleVal && isStale)
              status.returnedStale = true;
          }
          return staleVal ? p.__staleWhileFetching : p.__returned = p;
        }
      }
      async forceFetch(k, fetchOptions = {}) {
        const v = await this.fetch(k, fetchOptions);
        if (v === void 0)
          throw new Error("fetch() returned undefined");
        return v;
      }
      memo(k, memoOptions = {}) {
        const memoMethod = this.#memoMethod;
        if (!memoMethod) {
          throw new Error("no memoMethod provided to constructor");
        }
        const { context, forceRefresh, ...options } = memoOptions;
        const v = this.get(k, options);
        if (!forceRefresh && v !== void 0)
          return v;
        const vv = memoMethod(k, v, {
          options,
          context
        });
        this.set(k, vv, options);
        return vv;
      }
      /**
       * Return a value from the cache. Will update the recency of the cache
       * entry found.
       *
       * If the key is not found, get() will return `undefined`.
       */
      get(k, getOptions = {}) {
        const { allowStale = this.allowStale, updateAgeOnGet = this.updateAgeOnGet, noDeleteOnStaleGet = this.noDeleteOnStaleGet, status } = getOptions;
        const index = this.#keyMap.get(k);
        if (index !== void 0) {
          const value = this.#valList[index];
          const fetching = this.#isBackgroundFetch(value);
          if (status)
            this.#statusTTL(status, index);
          if (this.#isStale(index)) {
            if (status)
              status.get = "stale";
            if (!fetching) {
              if (!noDeleteOnStaleGet) {
                this.#delete(k, "expire");
              }
              if (status && allowStale)
                status.returnedStale = true;
              return allowStale ? value : void 0;
            } else {
              if (status && allowStale && value.__staleWhileFetching !== void 0) {
                status.returnedStale = true;
              }
              return allowStale ? value.__staleWhileFetching : void 0;
            }
          } else {
            if (status)
              status.get = "hit";
            if (fetching) {
              return value.__staleWhileFetching;
            }
            this.#moveToTail(index);
            if (updateAgeOnGet) {
              this.#updateItemAge(index);
            }
            return value;
          }
        } else if (status) {
          status.get = "miss";
        }
      }
      #connect(p, n) {
        this.#prev[n] = p;
        this.#next[p] = n;
      }
      #moveToTail(index) {
        if (index !== this.#tail) {
          if (index === this.#head) {
            this.#head = this.#next[index];
          } else {
            this.#connect(this.#prev[index], this.#next[index]);
          }
          this.#connect(this.#tail, index);
          this.#tail = index;
        }
      }
      /**
       * Deletes a key out of the cache.
       *
       * Returns true if the key was deleted, false otherwise.
       */
      delete(k) {
        return this.#delete(k, "delete");
      }
      #delete(k, reason) {
        let deleted = false;
        if (this.#size !== 0) {
          const index = this.#keyMap.get(k);
          if (index !== void 0) {
            deleted = true;
            if (this.#size === 1) {
              this.#clear(reason);
            } else {
              this.#removeItemSize(index);
              const v = this.#valList[index];
              if (this.#isBackgroundFetch(v)) {
                v.__abortController.abort(new Error("deleted"));
              } else if (this.#hasDispose || this.#hasDisposeAfter) {
                if (this.#hasDispose) {
                  this.#dispose?.(v, k, reason);
                }
                if (this.#hasDisposeAfter) {
                  this.#disposed?.push([v, k, reason]);
                }
              }
              this.#keyMap.delete(k);
              this.#keyList[index] = void 0;
              this.#valList[index] = void 0;
              if (index === this.#tail) {
                this.#tail = this.#prev[index];
              } else if (index === this.#head) {
                this.#head = this.#next[index];
              } else {
                const pi = this.#prev[index];
                this.#next[pi] = this.#next[index];
                const ni = this.#next[index];
                this.#prev[ni] = this.#prev[index];
              }
              this.#size--;
              this.#free.push(index);
            }
          }
        }
        if (this.#hasDisposeAfter && this.#disposed?.length) {
          const dt = this.#disposed;
          let task;
          while (task = dt?.shift()) {
            this.#disposeAfter?.(...task);
          }
        }
        return deleted;
      }
      /**
       * Clear the cache entirely, throwing away all values.
       */
      clear() {
        return this.#clear("delete");
      }
      #clear(reason) {
        for (const index of this.#rindexes({ allowStale: true })) {
          const v = this.#valList[index];
          if (this.#isBackgroundFetch(v)) {
            v.__abortController.abort(new Error("deleted"));
          } else {
            const k = this.#keyList[index];
            if (this.#hasDispose) {
              this.#dispose?.(v, k, reason);
            }
            if (this.#hasDisposeAfter) {
              this.#disposed?.push([v, k, reason]);
            }
          }
        }
        this.#keyMap.clear();
        this.#valList.fill(void 0);
        this.#keyList.fill(void 0);
        if (this.#ttls && this.#starts) {
          this.#ttls.fill(0);
          this.#starts.fill(0);
        }
        if (this.#sizes) {
          this.#sizes.fill(0);
        }
        this.#head = 0;
        this.#tail = 0;
        this.#free.length = 0;
        this.#calculatedSize = 0;
        this.#size = 0;
        if (this.#hasDisposeAfter && this.#disposed) {
          const dt = this.#disposed;
          let task;
          while (task = dt?.shift()) {
            this.#disposeAfter?.(...task);
          }
        }
      }
    };
    exports2.LRUCache = LRUCache;
  }
});

// ../node_modules/.pnpm/mem@6.1.1/node_modules/mem/index.js
var require_mem = __commonJS({
  "../node_modules/.pnpm/mem@6.1.1/node_modules/mem/index.js"(exports2, module2) {
    "use strict";
    var mimicFn = require_mimic_fn2();
    var mapAgeCleaner = require_dist5();
    var cacheStore = /* @__PURE__ */ new WeakMap();
    var mem = (fn, {
      cacheKey,
      cache = /* @__PURE__ */ new Map(),
      maxAge
    } = {}) => {
      if (typeof maxAge === "number") {
        mapAgeCleaner(cache);
      }
      const memoized = function(...arguments_) {
        const key = cacheKey ? cacheKey(arguments_) : arguments_[0];
        const cacheItem = cache.get(key);
        if (cacheItem) {
          return cacheItem.data;
        }
        const result2 = fn.apply(this, arguments_);
        cache.set(key, {
          data: result2,
          maxAge: maxAge ? Date.now() + maxAge : Infinity
        });
        return result2;
      };
      try {
        mimicFn(memoized, fn);
      } catch (_) {
      }
      cacheStore.set(memoized, cache);
      return memoized;
    };
    module2.exports = mem;
    module2.exports.clear = (fn) => {
      if (!cacheStore.has(fn)) {
        throw new Error("Can't clear a function that was not memoized!");
      }
      const cache = cacheStore.get(fn);
      if (typeof cache.clear === "function") {
        cache.clear();
      }
    };
  }
});

// ../node_modules/.pnpm/p-memoize@4.0.1/node_modules/p-memoize/index.js
var require_p_memoize = __commonJS({
  "../node_modules/.pnpm/p-memoize@4.0.1/node_modules/p-memoize/index.js"(exports2, module2) {
    "use strict";
    var mem = require_mem();
    var mimicFn = require_mimic_fn2();
    var memoizedFunctions = /* @__PURE__ */ new WeakMap();
    var pMemoize = (fn, { cachePromiseRejection = false, ...options } = {}) => {
      const cache = options.cache || /* @__PURE__ */ new Map();
      const cacheKey = options.cacheKey || (([firstArgument]) => firstArgument);
      const memoized = mem(fn, {
        ...options,
        cache,
        cacheKey
      });
      const memoizedAdapter = function(...arguments_) {
        const cacheItem = memoized.apply(this, arguments_);
        if (!cachePromiseRejection && cacheItem && cacheItem.catch) {
          cacheItem.catch(() => {
            cache.delete(cacheKey(arguments_));
          });
        }
        return cacheItem;
      };
      mimicFn(memoizedAdapter, fn);
      memoizedFunctions.set(memoizedAdapter, memoized);
      return memoizedAdapter;
    };
    module2.exports = pMemoize;
    module2.exports.clear = (memoized) => {
      if (!memoizedFunctions.has(memoized)) {
        throw new Error("Can't clear a function that was not memoized!");
      }
      mem.clear(memoizedFunctions.get(memoized));
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_cloneRegExp.js
var require_cloneRegExp = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_cloneRegExp.js"(exports2, module2) {
    function _cloneRegExp(pattern) {
      return new RegExp(pattern.source, (pattern.global ? "g" : "") + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "") + (pattern.sticky ? "y" : "") + (pattern.unicode ? "u" : ""));
    }
    module2.exports = _cloneRegExp;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_clone.js
var require_clone4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_clone.js"(exports2, module2) {
    var _cloneRegExp = require_cloneRegExp();
    var type = require_type2();
    function _clone(value, refFrom, refTo, deep) {
      var copy = function copy2(copiedValue) {
        var len = refFrom.length;
        var idx = 0;
        while (idx < len) {
          if (value === refFrom[idx]) {
            return refTo[idx];
          }
          idx += 1;
        }
        refFrom[idx] = value;
        refTo[idx] = copiedValue;
        for (var key in value) {
          if (value.hasOwnProperty(key)) {
            copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];
          }
        }
        return copiedValue;
      };
      switch (type(value)) {
        case "Object":
          return copy(Object.create(Object.getPrototypeOf(value)));
        case "Array":
          return copy([]);
        case "Date":
          return new Date(value.valueOf());
        case "RegExp":
          return _cloneRegExp(value);
        case "Int8Array":
        case "Uint8Array":
        case "Uint8ClampedArray":
        case "Int16Array":
        case "Uint16Array":
        case "Int32Array":
        case "Uint32Array":
        case "Float32Array":
        case "Float64Array":
        case "BigInt64Array":
        case "BigUint64Array":
          return value.slice();
        default:
          return value;
      }
    }
    module2.exports = _clone;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clone.js
var require_clone5 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clone.js"(exports2, module2) {
    var _clone = require_clone4();
    var _curry1 = require_curry1();
    var clone = /* @__PURE__ */ _curry1(function clone2(value) {
      return value != null && typeof value.clone === "function" ? value.clone() : _clone(value, [], [], true);
    });
    module2.exports = clone;
  }
});

// ../node_modules/.pnpm/minipass@7.1.2/node_modules/minipass/dist/commonjs/index.js
var require_commonjs2 = __commonJS({
  "../node_modules/.pnpm/minipass@7.1.2/node_modules/minipass/dist/commonjs/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Minipass = exports2.isWritable = exports2.isReadable = exports2.isStream = void 0;
    var proc = typeof process === "object" && process ? process : {
      stdout: null,
      stderr: null
    };
    var node_events_1 = require("node:events");
    var node_stream_1 = __importDefault2(require("node:stream"));
    var node_string_decoder_1 = require("node:string_decoder");
    var isStream = (s) => !!s && typeof s === "object" && (s instanceof Minipass || s instanceof node_stream_1.default || (0, exports2.isReadable)(s) || (0, exports2.isWritable)(s));
    exports2.isStream = isStream;
    var isReadable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.pipe === "function" && // node core Writable streams have a pipe() method, but it throws
    s.pipe !== node_stream_1.default.Writable.prototype.pipe;
    exports2.isReadable = isReadable;
    var isWritable = (s) => !!s && typeof s === "object" && s instanceof node_events_1.EventEmitter && typeof s.write === "function" && typeof s.end === "function";
    exports2.isWritable = isWritable;
    var EOF = Symbol("EOF");
    var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
    var EMITTED_END = Symbol("emittedEnd");
    var EMITTING_END = Symbol("emittingEnd");
    var EMITTED_ERROR = Symbol("emittedError");
    var CLOSED = Symbol("closed");
    var READ = Symbol("read");
    var FLUSH = Symbol("flush");
    var FLUSHCHUNK = Symbol("flushChunk");
    var ENCODING = Symbol("encoding");
    var DECODER = Symbol("decoder");
    var FLOWING = Symbol("flowing");
    var PAUSED = Symbol("paused");
    var RESUME = Symbol("resume");
    var BUFFER = Symbol("buffer");
    var PIPES = Symbol("pipes");
    var BUFFERLENGTH = Symbol("bufferLength");
    var BUFFERPUSH = Symbol("bufferPush");
    var BUFFERSHIFT = Symbol("bufferShift");
    var OBJECTMODE = Symbol("objectMode");
    var DESTROYED = Symbol("destroyed");
    var ERROR = Symbol("error");
    var EMITDATA = Symbol("emitData");
    var EMITEND = Symbol("emitEnd");
    var EMITEND2 = Symbol("emitEnd2");
    var ASYNC = Symbol("async");
    var ABORT = Symbol("abort");
    var ABORTED = Symbol("aborted");
    var SIGNAL = Symbol("signal");
    var DATALISTENERS = Symbol("dataListeners");
    var DISCARDED = Symbol("discarded");
    var defer = (fn) => Promise.resolve().then(fn);
    var nodefer = (fn) => fn();
    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
    var isArrayBufferLike = (b) => b instanceof ArrayBuffer || !!b && typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
    var Pipe = class {
      src;
      dest;
      opts;
      ondrain;
      constructor(src, dest, opts) {
        this.src = src;
        this.dest = dest;
        this.opts = opts;
        this.ondrain = () => src[RESUME]();
        this.dest.on("drain", this.ondrain);
      }
      unpipe() {
        this.dest.removeListener("drain", this.ondrain);
      }
      // only here for the prototype
      /* c8 ignore start */
      proxyErrors(_er) {
      }
      /* c8 ignore stop */
      end() {
        this.unpipe();
        if (this.opts.end)
          this.dest.end();
      }
    };
    var PipeProxyErrors = class extends Pipe {
      unpipe() {
        this.src.removeListener("error", this.proxyErrors);
        super.unpipe();
      }
      constructor(src, dest, opts) {
        super(src, dest, opts);
        this.proxyErrors = (er) => dest.emit("error", er);
        src.on("error", this.proxyErrors);
      }
    };
    var isObjectModeOptions = (o) => !!o.objectMode;
    var isEncodingOptions = (o) => !o.objectMode && !!o.encoding && o.encoding !== "buffer";
    var Minipass = class extends node_events_1.EventEmitter {
      [FLOWING] = false;
      [PAUSED] = false;
      [PIPES] = [];
      [BUFFER] = [];
      [OBJECTMODE];
      [ENCODING];
      [ASYNC];
      [DECODER];
      [EOF] = false;
      [EMITTED_END] = false;
      [EMITTING_END] = false;
      [CLOSED] = false;
      [EMITTED_ERROR] = null;
      [BUFFERLENGTH] = 0;
      [DESTROYED] = false;
      [SIGNAL];
      [ABORTED] = false;
      [DATALISTENERS] = 0;
      [DISCARDED] = false;
      /**
       * true if the stream can be written
       */
      writable = true;
      /**
       * true if the stream can be read
       */
      readable = true;
      /**
       * If `RType` is Buffer, then options do not need to be provided.
       * Otherwise, an options object must be provided to specify either
       * {@link Minipass.SharedOptions.objectMode} or
       * {@link Minipass.SharedOptions.encoding}, as appropriate.
       */
      constructor(...args) {
        const options = args[0] || {};
        super();
        if (options.objectMode && typeof options.encoding === "string") {
          throw new TypeError("Encoding and objectMode may not be used together");
        }
        if (isObjectModeOptions(options)) {
          this[OBJECTMODE] = true;
          this[ENCODING] = null;
        } else if (isEncodingOptions(options)) {
          this[ENCODING] = options.encoding;
          this[OBJECTMODE] = false;
        } else {
          this[OBJECTMODE] = false;
          this[ENCODING] = null;
        }
        this[ASYNC] = !!options.async;
        this[DECODER] = this[ENCODING] ? new node_string_decoder_1.StringDecoder(this[ENCODING]) : null;
        if (options && options.debugExposeBuffer === true) {
          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
        }
        if (options && options.debugExposePipes === true) {
          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
        }
        const { signal } = options;
        if (signal) {
          this[SIGNAL] = signal;
          if (signal.aborted) {
            this[ABORT]();
          } else {
            signal.addEventListener("abort", () => this[ABORT]());
          }
        }
      }
      /**
       * The amount of data stored in the buffer waiting to be read.
       *
       * For Buffer strings, this will be the total byte length.
       * For string encoding streams, this will be the string character length,
       * according to JavaScript's `string.length` logic.
       * For objectMode streams, this is a count of the items waiting to be
       * emitted.
       */
      get bufferLength() {
        return this[BUFFERLENGTH];
      }
      /**
       * The `BufferEncoding` currently in use, or `null`
       */
      get encoding() {
        return this[ENCODING];
      }
      /**
       * @deprecated - This is a read only property
       */
      set encoding(_enc) {
        throw new Error("Encoding must be set at instantiation time");
      }
      /**
       * @deprecated - Encoding may only be set at instantiation time
       */
      setEncoding(_enc) {
        throw new Error("Encoding must be set at instantiation time");
      }
      /**
       * True if this is an objectMode stream
       */
      get objectMode() {
        return this[OBJECTMODE];
      }
      /**
       * @deprecated - This is a read-only property
       */
      set objectMode(_om) {
        throw new Error("objectMode must be set at instantiation time");
      }
      /**
       * true if this is an async stream
       */
      get ["async"]() {
        return this[ASYNC];
      }
      /**
       * Set to true to make this stream async.
       *
       * Once set, it cannot be unset, as this would potentially cause incorrect
       * behavior.  Ie, a sync stream can be made async, but an async stream
       * cannot be safely made sync.
       */
      set ["async"](a) {
        this[ASYNC] = this[ASYNC] || !!a;
      }
      // drop everything and get out of the flow completely
      [ABORT]() {
        this[ABORTED] = true;
        this.emit("abort", this[SIGNAL]?.reason);
        this.destroy(this[SIGNAL]?.reason);
      }
      /**
       * True if the stream has been aborted.
       */
      get aborted() {
        return this[ABORTED];
      }
      /**
       * No-op setter. Stream aborted status is set via the AbortSignal provided
       * in the constructor options.
       */
      set aborted(_) {
      }
      write(chunk, encoding, cb) {
        if (this[ABORTED])
          return false;
        if (this[EOF])
          throw new Error("write after end");
        if (this[DESTROYED]) {
          this.emit("error", Object.assign(new Error("Cannot call write after a stream was destroyed"), { code: "ERR_STREAM_DESTROYED" }));
          return true;
        }
        if (typeof encoding === "function") {
          cb = encoding;
          encoding = "utf8";
        }
        if (!encoding)
          encoding = "utf8";
        const fn = this[ASYNC] ? defer : nodefer;
        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
          if (isArrayBufferView(chunk)) {
            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
          } else if (isArrayBufferLike(chunk)) {
            chunk = Buffer.from(chunk);
          } else if (typeof chunk !== "string") {
            throw new Error("Non-contiguous data written to non-objectMode stream");
          }
        }
        if (this[OBJECTMODE]) {
          if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
            this[FLUSH](true);
          if (this[FLOWING])
            this.emit("data", chunk);
          else
            this[BUFFERPUSH](chunk);
          if (this[BUFFERLENGTH] !== 0)
            this.emit("readable");
          if (cb)
            fn(cb);
          return this[FLOWING];
        }
        if (!chunk.length) {
          if (this[BUFFERLENGTH] !== 0)
            this.emit("readable");
          if (cb)
            fn(cb);
          return this[FLOWING];
        }
        if (typeof chunk === "string" && // unless it is a string already ready for us to use
        !(encoding === this[ENCODING] && !this[DECODER]?.lastNeed)) {
          chunk = Buffer.from(chunk, encoding);
        }
        if (Buffer.isBuffer(chunk) && this[ENCODING]) {
          chunk = this[DECODER].write(chunk);
        }
        if (this[FLOWING] && this[BUFFERLENGTH] !== 0)
          this[FLUSH](true);
        if (this[FLOWING])
          this.emit("data", chunk);
        else
          this[BUFFERPUSH](chunk);
        if (this[BUFFERLENGTH] !== 0)
          this.emit("readable");
        if (cb)
          fn(cb);
        return this[FLOWING];
      }
      /**
       * Low-level explicit read method.
       *
       * In objectMode, the argument is ignored, and one item is returned if
       * available.
       *
       * `n` is the number of bytes (or in the case of encoding streams,
       * characters) to consume. If `n` is not provided, then the entire buffer
       * is returned, or `null` is returned if no data is available.
       *
       * If `n` is greater that the amount of data in the internal buffer,
       * then `null` is returned.
       */
      read(n) {
        if (this[DESTROYED])
          return null;
        this[DISCARDED] = false;
        if (this[BUFFERLENGTH] === 0 || n === 0 || n && n > this[BUFFERLENGTH]) {
          this[MAYBE_EMIT_END]();
          return null;
        }
        if (this[OBJECTMODE])
          n = null;
        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
          this[BUFFER] = [
            this[ENCODING] ? this[BUFFER].join("") : Buffer.concat(this[BUFFER], this[BUFFERLENGTH])
          ];
        }
        const ret2 = this[READ](n || null, this[BUFFER][0]);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [READ](n, chunk) {
        if (this[OBJECTMODE])
          this[BUFFERSHIFT]();
        else {
          const c = chunk;
          if (n === c.length || n === null)
            this[BUFFERSHIFT]();
          else if (typeof c === "string") {
            this[BUFFER][0] = c.slice(n);
            chunk = c.slice(0, n);
            this[BUFFERLENGTH] -= n;
          } else {
            this[BUFFER][0] = c.subarray(n);
            chunk = c.subarray(0, n);
            this[BUFFERLENGTH] -= n;
          }
        }
        this.emit("data", chunk);
        if (!this[BUFFER].length && !this[EOF])
          this.emit("drain");
        return chunk;
      }
      end(chunk, encoding, cb) {
        if (typeof chunk === "function") {
          cb = chunk;
          chunk = void 0;
        }
        if (typeof encoding === "function") {
          cb = encoding;
          encoding = "utf8";
        }
        if (chunk !== void 0)
          this.write(chunk, encoding);
        if (cb)
          this.once("end", cb);
        this[EOF] = true;
        this.writable = false;
        if (this[FLOWING] || !this[PAUSED])
          this[MAYBE_EMIT_END]();
        return this;
      }
      // don't let the internal resume be overwritten
      [RESUME]() {
        if (this[DESTROYED])
          return;
        if (!this[DATALISTENERS] && !this[PIPES].length) {
          this[DISCARDED] = true;
        }
        this[PAUSED] = false;
        this[FLOWING] = true;
        this.emit("resume");
        if (this[BUFFER].length)
          this[FLUSH]();
        else if (this[EOF])
          this[MAYBE_EMIT_END]();
        else
          this.emit("drain");
      }
      /**
       * Resume the stream if it is currently in a paused state
       *
       * If called when there are no pipe destinations or `data` event listeners,
       * this will place the stream in a "discarded" state, where all data will
       * be thrown away. The discarded state is removed if a pipe destination or
       * data handler is added, if pause() is called, or if any synchronous or
       * asynchronous iteration is started.
       */
      resume() {
        return this[RESUME]();
      }
      /**
       * Pause the stream
       */
      pause() {
        this[FLOWING] = false;
        this[PAUSED] = true;
        this[DISCARDED] = false;
      }
      /**
       * true if the stream has been forcibly destroyed
       */
      get destroyed() {
        return this[DESTROYED];
      }
      /**
       * true if the stream is currently in a flowing state, meaning that
       * any writes will be immediately emitted.
       */
      get flowing() {
        return this[FLOWING];
      }
      /**
       * true if the stream is currently in a paused state
       */
      get paused() {
        return this[PAUSED];
      }
      [BUFFERPUSH](chunk) {
        if (this[OBJECTMODE])
          this[BUFFERLENGTH] += 1;
        else
          this[BUFFERLENGTH] += chunk.length;
        this[BUFFER].push(chunk);
      }
      [BUFFERSHIFT]() {
        if (this[OBJECTMODE])
          this[BUFFERLENGTH] -= 1;
        else
          this[BUFFERLENGTH] -= this[BUFFER][0].length;
        return this[BUFFER].shift();
      }
      [FLUSH](noDrain = false) {
        do {
        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
        if (!noDrain && !this[BUFFER].length && !this[EOF])
          this.emit("drain");
      }
      [FLUSHCHUNK](chunk) {
        this.emit("data", chunk);
        return this[FLOWING];
      }
      /**
       * Pipe all data emitted by this stream into the destination provided.
       *
       * Triggers the flow of data.
       */
      pipe(dest, opts) {
        if (this[DESTROYED])
          return dest;
        this[DISCARDED] = false;
        const ended = this[EMITTED_END];
        opts = opts || {};
        if (dest === proc.stdout || dest === proc.stderr)
          opts.end = false;
        else
          opts.end = opts.end !== false;
        opts.proxyErrors = !!opts.proxyErrors;
        if (ended) {
          if (opts.end)
            dest.end();
        } else {
          this[PIPES].push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
          if (this[ASYNC])
            defer(() => this[RESUME]());
          else
            this[RESUME]();
        }
        return dest;
      }
      /**
       * Fully unhook a piped destination stream.
       *
       * If the destination stream was the only consumer of this stream (ie,
       * there are no other piped destinations or `'data'` event listeners)
       * then the flow of data will stop until there is another consumer or
       * {@link Minipass#resume} is explicitly called.
       */
      unpipe(dest) {
        const p = this[PIPES].find((p2) => p2.dest === dest);
        if (p) {
          if (this[PIPES].length === 1) {
            if (this[FLOWING] && this[DATALISTENERS] === 0) {
              this[FLOWING] = false;
            }
            this[PIPES] = [];
          } else
            this[PIPES].splice(this[PIPES].indexOf(p), 1);
          p.unpipe();
        }
      }
      /**
       * Alias for {@link Minipass#on}
       */
      addListener(ev, handler) {
        return this.on(ev, handler);
      }
      /**
       * Mostly identical to `EventEmitter.on`, with the following
       * behavior differences to prevent data loss and unnecessary hangs:
       *
       * - Adding a 'data' event handler will trigger the flow of data
       *
       * - Adding a 'readable' event handler when there is data waiting to be read
       *   will cause 'readable' to be emitted immediately.
       *
       * - Adding an 'endish' event handler ('end', 'finish', etc.) which has
       *   already passed will cause the event to be emitted immediately and all
       *   handlers removed.
       *
       * - Adding an 'error' event handler after an error has been emitted will
       *   cause the event to be re-emitted immediately with the error previously
       *   raised.
       */
      on(ev, handler) {
        const ret2 = super.on(ev, handler);
        if (ev === "data") {
          this[DISCARDED] = false;
          this[DATALISTENERS]++;
          if (!this[PIPES].length && !this[FLOWING]) {
            this[RESUME]();
          }
        } else if (ev === "readable" && this[BUFFERLENGTH] !== 0) {
          super.emit("readable");
        } else if (isEndish(ev) && this[EMITTED_END]) {
          super.emit(ev);
          this.removeAllListeners(ev);
        } else if (ev === "error" && this[EMITTED_ERROR]) {
          const h = handler;
          if (this[ASYNC])
            defer(() => h.call(this, this[EMITTED_ERROR]));
          else
            h.call(this, this[EMITTED_ERROR]);
        }
        return ret2;
      }
      /**
       * Alias for {@link Minipass#off}
       */
      removeListener(ev, handler) {
        return this.off(ev, handler);
      }
      /**
       * Mostly identical to `EventEmitter.off`
       *
       * If a 'data' event handler is removed, and it was the last consumer
       * (ie, there are no pipe destinations or other 'data' event listeners),
       * then the flow of data will stop until there is another consumer or
       * {@link Minipass#resume} is explicitly called.
       */
      off(ev, handler) {
        const ret2 = super.off(ev, handler);
        if (ev === "data") {
          this[DATALISTENERS] = this.listeners("data").length;
          if (this[DATALISTENERS] === 0 && !this[DISCARDED] && !this[PIPES].length) {
            this[FLOWING] = false;
          }
        }
        return ret2;
      }
      /**
       * Mostly identical to `EventEmitter.removeAllListeners`
       *
       * If all 'data' event handlers are removed, and they were the last consumer
       * (ie, there are no pipe destinations), then the flow of data will stop
       * until there is another consumer or {@link Minipass#resume} is explicitly
       * called.
       */
      removeAllListeners(ev) {
        const ret2 = super.removeAllListeners(ev);
        if (ev === "data" || ev === void 0) {
          this[DATALISTENERS] = 0;
          if (!this[DISCARDED] && !this[PIPES].length) {
            this[FLOWING] = false;
          }
        }
        return ret2;
      }
      /**
       * true if the 'end' event has been emitted
       */
      get emittedEnd() {
        return this[EMITTED_END];
      }
      [MAYBE_EMIT_END]() {
        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
          this[EMITTING_END] = true;
          this.emit("end");
          this.emit("prefinish");
          this.emit("finish");
          if (this[CLOSED])
            this.emit("close");
          this[EMITTING_END] = false;
        }
      }
      /**
       * Mostly identical to `EventEmitter.emit`, with the following
       * behavior differences to prevent data loss and unnecessary hangs:
       *
       * If the stream has been destroyed, and the event is something other
       * than 'close' or 'error', then `false` is returned and no handlers
       * are called.
       *
       * If the event is 'end', and has already been emitted, then the event
       * is ignored. If the stream is in a paused or non-flowing state, then
       * the event will be deferred until data flow resumes. If the stream is
       * async, then handlers will be called on the next tick rather than
       * immediately.
       *
       * If the event is 'close', and 'end' has not yet been emitted, then
       * the event will be deferred until after 'end' is emitted.
       *
       * If the event is 'error', and an AbortSignal was provided for the stream,
       * and there are no listeners, then the event is ignored, matching the
       * behavior of node core streams in the presense of an AbortSignal.
       *
       * If the event is 'finish' or 'prefinish', then all listeners will be
       * removed after emitting the event, to prevent double-firing.
       */
      emit(ev, ...args) {
        const data = args[0];
        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED]) {
          return false;
        } else if (ev === "data") {
          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? (defer(() => this[EMITDATA](data)), true) : this[EMITDATA](data);
        } else if (ev === "end") {
          return this[EMITEND]();
        } else if (ev === "close") {
          this[CLOSED] = true;
          if (!this[EMITTED_END] && !this[DESTROYED])
            return false;
          const ret3 = super.emit("close");
          this.removeAllListeners("close");
          return ret3;
        } else if (ev === "error") {
          this[EMITTED_ERROR] = data;
          super.emit(ERROR, data);
          const ret3 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "resume") {
          const ret3 = super.emit("resume");
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "finish" || ev === "prefinish") {
          const ret3 = super.emit(ev);
          this.removeAllListeners(ev);
          return ret3;
        }
        const ret2 = super.emit(ev, ...args);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITDATA](data) {
        for (const p of this[PIPES]) {
          if (p.dest.write(data) === false)
            this.pause();
        }
        const ret2 = this[DISCARDED] ? false : super.emit("data", data);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITEND]() {
        if (this[EMITTED_END])
          return false;
        this[EMITTED_END] = true;
        this.readable = false;
        return this[ASYNC] ? (defer(() => this[EMITEND2]()), true) : this[EMITEND2]();
      }
      [EMITEND2]() {
        if (this[DECODER]) {
          const data = this[DECODER].end();
          if (data) {
            for (const p of this[PIPES]) {
              p.dest.write(data);
            }
            if (!this[DISCARDED])
              super.emit("data", data);
          }
        }
        for (const p of this[PIPES]) {
          p.end();
        }
        const ret2 = super.emit("end");
        this.removeAllListeners("end");
        return ret2;
      }
      /**
       * Return a Promise that resolves to an array of all emitted data once
       * the stream ends.
       */
      async collect() {
        const buf = Object.assign([], {
          dataLength: 0
        });
        if (!this[OBJECTMODE])
          buf.dataLength = 0;
        const p = this.promise();
        this.on("data", (c) => {
          buf.push(c);
          if (!this[OBJECTMODE])
            buf.dataLength += c.length;
        });
        await p;
        return buf;
      }
      /**
       * Return a Promise that resolves to the concatenation of all emitted data
       * once the stream ends.
       *
       * Not allowed on objectMode streams.
       */
      async concat() {
        if (this[OBJECTMODE]) {
          throw new Error("cannot concat in objectMode");
        }
        const buf = await this.collect();
        return this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength);
      }
      /**
       * Return a void Promise that resolves once the stream ends.
       */
      async promise() {
        return new Promise((resolve, reject) => {
          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
          this.on("error", (er) => reject(er));
          this.on("end", () => resolve());
        });
      }
      /**
       * Asynchronous `for await of` iteration.
       *
       * This will continue emitting all chunks until the stream terminates.
       */
      [Symbol.asyncIterator]() {
        this[DISCARDED] = false;
        let stopped = false;
        const stop = async () => {
          this.pause();
          stopped = true;
          return { value: void 0, done: true };
        };
        const next = () => {
          if (stopped)
            return stop();
          const res = this.read();
          if (res !== null)
            return Promise.resolve({ done: false, value: res });
          if (this[EOF])
            return stop();
          let resolve;
          let reject;
          const onerr = (er) => {
            this.off("data", ondata);
            this.off("end", onend);
            this.off(DESTROYED, ondestroy);
            stop();
            reject(er);
          };
          const ondata = (value) => {
            this.off("error", onerr);
            this.off("end", onend);
            this.off(DESTROYED, ondestroy);
            this.pause();
            resolve({ value, done: !!this[EOF] });
          };
          const onend = () => {
            this.off("error", onerr);
            this.off("data", ondata);
            this.off(DESTROYED, ondestroy);
            stop();
            resolve({ done: true, value: void 0 });
          };
          const ondestroy = () => onerr(new Error("stream destroyed"));
          return new Promise((res2, rej) => {
            reject = rej;
            resolve = res2;
            this.once(DESTROYED, ondestroy);
            this.once("error", onerr);
            this.once("end", onend);
            this.once("data", ondata);
          });
        };
        return {
          next,
          throw: stop,
          return: stop,
          [Symbol.asyncIterator]() {
            return this;
          }
        };
      }
      /**
       * Synchronous `for of` iteration.
       *
       * The iteration will terminate when the internal buffer runs out, even
       * if the stream has not yet terminated.
       */
      [Symbol.iterator]() {
        this[DISCARDED] = false;
        let stopped = false;
        const stop = () => {
          this.pause();
          this.off(ERROR, stop);
          this.off(DESTROYED, stop);
          this.off("end", stop);
          stopped = true;
          return { done: true, value: void 0 };
        };
        const next = () => {
          if (stopped)
            return stop();
          const value = this.read();
          return value === null ? stop() : { done: false, value };
        };
        this.once("end", stop);
        this.once(ERROR, stop);
        this.once(DESTROYED, stop);
        return {
          next,
          throw: stop,
          return: stop,
          [Symbol.iterator]() {
            return this;
          }
        };
      }
      /**
       * Destroy a stream, preventing it from being used for any further purpose.
       *
       * If the stream has a `close()` method, then it will be called on
       * destruction.
       *
       * After destruction, any attempt to write data, read data, or emit most
       * events will be ignored.
       *
       * If an error argument is provided, then it will be emitted in an
       * 'error' event.
       */
      destroy(er) {
        if (this[DESTROYED]) {
          if (er)
            this.emit("error", er);
          else
            this.emit(DESTROYED);
          return this;
        }
        this[DESTROYED] = true;
        this[DISCARDED] = true;
        this[BUFFER].length = 0;
        this[BUFFERLENGTH] = 0;
        const wc = this;
        if (typeof wc.close === "function" && !this[CLOSED])
          wc.close();
        if (er)
          this.emit("error", er);
        else
          this.emit(DESTROYED);
        return this;
      }
      /**
       * Alias for {@link isStream}
       *
       * Former export location, maintained for backwards compatibility.
       *
       * @deprecated
       */
      static get isStream() {
        return exports2.isStream;
      }
    };
    exports2.Minipass = Minipass;
  }
});

// ../node_modules/.pnpm/ssri@10.0.5/node_modules/ssri/lib/index.js
var require_lib38 = __commonJS({
  "../node_modules/.pnpm/ssri@10.0.5/node_modules/ssri/lib/index.js"(exports2, module2) {
    "use strict";
    var crypto5 = require("crypto");
    var { Minipass } = require_commonjs2();
    var SPEC_ALGORITHMS = ["sha512", "sha384", "sha256"];
    var DEFAULT_ALGORITHMS = ["sha512"];
    var BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i;
    var SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/;
    var STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/;
    var VCHAR_REGEX = /^[\x21-\x7E]+$/;
    var getOptString = (options) => options?.length ? `?${options.join("?")}` : "";
    var IntegrityStream = class extends Minipass {
      #emittedIntegrity;
      #emittedSize;
      #emittedVerified;
      constructor(opts) {
        super();
        this.size = 0;
        this.opts = opts;
        this.#getOptions();
        if (opts?.algorithms) {
          this.algorithms = [...opts.algorithms];
        } else {
          this.algorithms = [...DEFAULT_ALGORITHMS];
        }
        if (this.algorithm !== null && !this.algorithms.includes(this.algorithm)) {
          this.algorithms.push(this.algorithm);
        }
        this.hashes = this.algorithms.map(crypto5.createHash);
      }
      #getOptions() {
        this.sri = this.opts?.integrity ? parse2(this.opts?.integrity, this.opts) : null;
        this.expectedSize = this.opts?.size;
        if (!this.sri) {
          this.algorithm = null;
        } else if (this.sri.isHash) {
          this.goodSri = true;
          this.algorithm = this.sri.algorithm;
        } else {
          this.goodSri = !this.sri.isEmpty();
          this.algorithm = this.sri.pickAlgorithm(this.opts);
        }
        this.digests = this.goodSri ? this.sri[this.algorithm] : null;
        this.optString = getOptString(this.opts?.options);
      }
      on(ev, handler) {
        if (ev === "size" && this.#emittedSize) {
          return handler(this.#emittedSize);
        }
        if (ev === "integrity" && this.#emittedIntegrity) {
          return handler(this.#emittedIntegrity);
        }
        if (ev === "verified" && this.#emittedVerified) {
          return handler(this.#emittedVerified);
        }
        return super.on(ev, handler);
      }
      emit(ev, data) {
        if (ev === "end") {
          this.#onEnd();
        }
        return super.emit(ev, data);
      }
      write(data) {
        this.size += data.length;
        this.hashes.forEach((h) => h.update(data));
        return super.write(data);
      }
      #onEnd() {
        if (!this.goodSri) {
          this.#getOptions();
        }
        const newSri = parse2(this.hashes.map((h, i) => {
          return `${this.algorithms[i]}-${h.digest("base64")}${this.optString}`;
        }).join(" "), this.opts);
        const match = this.goodSri && newSri.match(this.sri, this.opts);
        if (typeof this.expectedSize === "number" && this.size !== this.expectedSize) {
          const err = new Error(`stream size mismatch when checking ${this.sri}.
  Wanted: ${this.expectedSize}
  Found: ${this.size}`);
          err.code = "EBADSIZE";
          err.found = this.size;
          err.expected = this.expectedSize;
          err.sri = this.sri;
          this.emit("error", err);
        } else if (this.sri && !match) {
          const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`);
          err.code = "EINTEGRITY";
          err.found = newSri;
          err.expected = this.digests;
          err.algorithm = this.algorithm;
          err.sri = this.sri;
          this.emit("error", err);
        } else {
          this.#emittedSize = this.size;
          this.emit("size", this.size);
          this.#emittedIntegrity = newSri;
          this.emit("integrity", newSri);
          if (match) {
            this.#emittedVerified = match;
            this.emit("verified", match);
          }
        }
      }
    };
    var Hash = class {
      get isHash() {
        return true;
      }
      constructor(hash, opts) {
        const strict = opts?.strict;
        this.source = hash.trim();
        this.digest = "";
        this.algorithm = "";
        this.options = [];
        const match = this.source.match(
          strict ? STRICT_SRI_REGEX : SRI_REGEX
        );
        if (!match) {
          return;
        }
        if (strict && !SPEC_ALGORITHMS.includes(match[1])) {
          return;
        }
        this.algorithm = match[1];
        this.digest = match[2];
        const rawOpts = match[3];
        if (rawOpts) {
          this.options = rawOpts.slice(1).split("?");
        }
      }
      hexDigest() {
        return this.digest && Buffer.from(this.digest, "base64").toString("hex");
      }
      toJSON() {
        return this.toString();
      }
      match(integrity, opts) {
        const other = parse2(integrity, opts);
        if (!other) {
          return false;
        }
        if (other.isIntegrity) {
          const algo = other.pickAlgorithm(opts, [this.algorithm]);
          if (!algo) {
            return false;
          }
          const foundHash = other[algo].find((hash) => hash.digest === this.digest);
          if (foundHash) {
            return foundHash;
          }
          return false;
        }
        return other.digest === this.digest ? other : false;
      }
      toString(opts) {
        if (opts?.strict) {
          if (!// The spec has very restricted productions for algorithms.
          // https://www.w3.org/TR/CSP2/#source-list-syntax
          (SPEC_ALGORITHMS.includes(this.algorithm) && // Usually, if someone insists on using a "different" base64, we
          // leave it as-is, since there's multiple standards, and the
          // specified is not a URL-safe variant.
          // https://www.w3.org/TR/CSP2/#base64_value
          this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars.
          // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression
          // https://tools.ietf.org/html/rfc5234#appendix-B.1
          this.options.every((opt) => opt.match(VCHAR_REGEX)))) {
            return "";
          }
        }
        return `${this.algorithm}-${this.digest}${getOptString(this.options)}`;
      }
    };
    function integrityHashToString(toString, sep, opts, hashes) {
      const toStringIsNotEmpty = toString !== "";
      let shouldAddFirstSep = false;
      let complement = "";
      const lastIndex = hashes.length - 1;
      for (let i = 0; i < lastIndex; i++) {
        const hashString = Hash.prototype.toString.call(hashes[i], opts);
        if (hashString) {
          shouldAddFirstSep = true;
          complement += hashString;
          complement += sep;
        }
      }
      const finalHashString = Hash.prototype.toString.call(hashes[lastIndex], opts);
      if (finalHashString) {
        shouldAddFirstSep = true;
        complement += finalHashString;
      }
      if (toStringIsNotEmpty && shouldAddFirstSep) {
        return toString + sep + complement;
      }
      return toString + complement;
    }
    var Integrity = class {
      get isIntegrity() {
        return true;
      }
      toJSON() {
        return this.toString();
      }
      isEmpty() {
        return Object.keys(this).length === 0;
      }
      toString(opts) {
        let sep = opts?.sep || " ";
        let toString = "";
        if (opts?.strict) {
          sep = sep.replace(/\S+/g, " ");
          for (const hash of SPEC_ALGORITHMS) {
            if (this[hash]) {
              toString = integrityHashToString(toString, sep, opts, this[hash]);
            }
          }
        } else {
          for (const hash of Object.keys(this)) {
            toString = integrityHashToString(toString, sep, opts, this[hash]);
          }
        }
        return toString;
      }
      concat(integrity, opts) {
        const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts);
        return parse2(`${this.toString(opts)} ${other}`, opts);
      }
      hexDigest() {
        return parse2(this, { single: true }).hexDigest();
      }
      // add additional hashes to an integrity value, but prevent
      // *changing* an existing integrity hash.
      merge(integrity, opts) {
        const other = parse2(integrity, opts);
        for (const algo in other) {
          if (this[algo]) {
            if (!this[algo].find((hash) => other[algo].find((otherhash) => hash.digest === otherhash.digest))) {
              throw new Error("hashes do not match, cannot update integrity");
            }
          } else {
            this[algo] = other[algo];
          }
        }
      }
      match(integrity, opts) {
        const other = parse2(integrity, opts);
        if (!other) {
          return false;
        }
        const algo = other.pickAlgorithm(opts, Object.keys(this));
        return !!algo && this[algo] && other[algo] && this[algo].find(
          (hash) => other[algo].find(
            (otherhash) => hash.digest === otherhash.digest
          )
        ) || false;
      }
      // Pick the highest priority algorithm present, optionally also limited to a
      // set of hashes found in another integrity.  When limiting it may return
      // nothing.
      pickAlgorithm(opts, hashes) {
        const pickAlgorithm = opts?.pickAlgorithm || getPrioritizedHash;
        const keys = Object.keys(this).filter((k) => {
          if (hashes?.length) {
            return hashes.includes(k);
          }
          return true;
        });
        if (keys.length) {
          return keys.reduce((acc, algo) => pickAlgorithm(acc, algo) || acc);
        }
        return null;
      }
    };
    module2.exports.parse = parse2;
    function parse2(sri, opts) {
      if (!sri) {
        return null;
      }
      if (typeof sri === "string") {
        return _parse(sri, opts);
      } else if (sri.algorithm && sri.digest) {
        const fullSri = new Integrity();
        fullSri[sri.algorithm] = [sri];
        return _parse(stringify2(fullSri, opts), opts);
      } else {
        return _parse(stringify2(sri, opts), opts);
      }
    }
    function _parse(integrity, opts) {
      if (opts?.single) {
        return new Hash(integrity, opts);
      }
      const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => {
        const hash = new Hash(string, opts);
        if (hash.algorithm && hash.digest) {
          const algo = hash.algorithm;
          if (!acc[algo]) {
            acc[algo] = [];
          }
          acc[algo].push(hash);
        }
        return acc;
      }, new Integrity());
      return hashes.isEmpty() ? null : hashes;
    }
    module2.exports.stringify = stringify2;
    function stringify2(obj, opts) {
      if (obj.algorithm && obj.digest) {
        return Hash.prototype.toString.call(obj, opts);
      } else if (typeof obj === "string") {
        return stringify2(parse2(obj, opts), opts);
      } else {
        return Integrity.prototype.toString.call(obj, opts);
      }
    }
    module2.exports.fromHex = fromHex;
    function fromHex(hexDigest, algorithm, opts) {
      const optString = getOptString(opts?.options);
      return parse2(
        `${algorithm}-${Buffer.from(hexDigest, "hex").toString("base64")}${optString}`,
        opts
      );
    }
    module2.exports.fromData = fromData;
    function fromData(data, opts) {
      const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS];
      const optString = getOptString(opts?.options);
      return algorithms.reduce((acc, algo) => {
        const digest = crypto5.createHash(algo).update(data).digest("base64");
        const hash = new Hash(
          `${algo}-${digest}${optString}`,
          opts
        );
        if (hash.algorithm && hash.digest) {
          const hashAlgo = hash.algorithm;
          if (!acc[hashAlgo]) {
            acc[hashAlgo] = [];
          }
          acc[hashAlgo].push(hash);
        }
        return acc;
      }, new Integrity());
    }
    module2.exports.fromStream = fromStream;
    function fromStream(stream, opts) {
      const istream = integrityStream(opts);
      return new Promise((resolve, reject) => {
        stream.pipe(istream);
        stream.on("error", reject);
        istream.on("error", reject);
        let sri;
        istream.on("integrity", (s) => {
          sri = s;
        });
        istream.on("end", () => resolve(sri));
        istream.resume();
      });
    }
    module2.exports.checkData = checkData;
    function checkData(data, sri, opts) {
      sri = parse2(sri, opts);
      if (!sri || !Object.keys(sri).length) {
        if (opts?.error) {
          throw Object.assign(
            new Error("No valid integrity hashes to check against"),
            {
              code: "EINTEGRITY"
            }
          );
        } else {
          return false;
        }
      }
      const algorithm = sri.pickAlgorithm(opts);
      const digest = crypto5.createHash(algorithm).update(data).digest("base64");
      const newSri = parse2({ algorithm, digest });
      const match = newSri.match(sri, opts);
      opts = opts || {};
      if (match || !opts.error) {
        return match;
      } else if (typeof opts.size === "number" && data.length !== opts.size) {
        const err = new Error(`data size mismatch when checking ${sri}.
  Wanted: ${opts.size}
  Found: ${data.length}`);
        err.code = "EBADSIZE";
        err.found = data.length;
        err.expected = opts.size;
        err.sri = sri;
        throw err;
      } else {
        const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`);
        err.code = "EINTEGRITY";
        err.found = newSri;
        err.expected = sri;
        err.algorithm = algorithm;
        err.sri = sri;
        throw err;
      }
    }
    module2.exports.checkStream = checkStream;
    function checkStream(stream, sri, opts) {
      opts = opts || /* @__PURE__ */ Object.create(null);
      opts.integrity = sri;
      sri = parse2(sri, opts);
      if (!sri || !Object.keys(sri).length) {
        return Promise.reject(Object.assign(
          new Error("No valid integrity hashes to check against"),
          {
            code: "EINTEGRITY"
          }
        ));
      }
      const checker = integrityStream(opts);
      return new Promise((resolve, reject) => {
        stream.pipe(checker);
        stream.on("error", reject);
        checker.on("error", reject);
        let verified;
        checker.on("verified", (s) => {
          verified = s;
        });
        checker.on("end", () => resolve(verified));
        checker.resume();
      });
    }
    module2.exports.integrityStream = integrityStream;
    function integrityStream(opts = /* @__PURE__ */ Object.create(null)) {
      return new IntegrityStream(opts);
    }
    module2.exports.create = createIntegrity;
    function createIntegrity(opts) {
      const algorithms = opts?.algorithms || [...DEFAULT_ALGORITHMS];
      const optString = getOptString(opts?.options);
      const hashes = algorithms.map(crypto5.createHash);
      return {
        update: function(chunk, enc) {
          hashes.forEach((h) => h.update(chunk, enc));
          return this;
        },
        digest: function(enc) {
          const integrity = algorithms.reduce((acc, algo) => {
            const digest = hashes.shift().digest("base64");
            const hash = new Hash(
              `${algo}-${digest}${optString}`,
              opts
            );
            if (hash.algorithm && hash.digest) {
              const hashAlgo = hash.algorithm;
              if (!acc[hashAlgo]) {
                acc[hashAlgo] = [];
              }
              acc[hashAlgo].push(hash);
            }
            return acc;
          }, new Integrity());
          return integrity;
        }
      };
    }
    var NODE_HASHES = crypto5.getHashes();
    var DEFAULT_PRIORITY = [
      "md5",
      "whirlpool",
      "sha1",
      "sha224",
      "sha256",
      "sha384",
      "sha512",
      // TODO - it's unclear _which_ of these Node will actually use as its name
      //        for the algorithm, so we guesswork it based on the OpenSSL names.
      "sha3",
      "sha3-256",
      "sha3-384",
      "sha3-512",
      "sha3_256",
      "sha3_384",
      "sha3_512"
    ].filter((algo) => NODE_HASHES.includes(algo));
    function getPrioritizedHash(algo1, algo2) {
      return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2;
    }
  }
});

// ../crypto/polyfill/lib/index.js
var require_lib39 = __commonJS({
  "../crypto/polyfill/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hash = void 0;
    var crypto_1 = __importDefault2(require("crypto"));
    exports2.hash = // @ts-expect-error -- crypto.hash is supported in Node 21.7.0+, 20.12.0+
    crypto_1.default.hash ?? ((algorithm, data, outputEncoding) => crypto_1.default.createHash(algorithm).update(data).digest(outputEncoding));
  }
});

// ../crypto/hash/lib/index.js
var require_lib40 = __commonJS({
  "../crypto/hash/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createShortHash = createShortHash;
    exports2.createHexHash = createHexHash;
    exports2.createHash = createHash;
    exports2.createHashFromFile = createHashFromFile;
    exports2.createHexHashFromFile = createHexHashFromFile;
    exports2.getTarballIntegrity = getTarballIntegrity;
    var crypto5 = __importStar3(require_lib39());
    var fs_1 = __importDefault2(require("fs"));
    var graceful_fs_1 = __importDefault2(require_lib12());
    var ssri_1 = __importDefault2(require_lib38());
    function createShortHash(input) {
      return createHexHash(input).substring(0, 32);
    }
    function createHexHash(input) {
      return crypto5.hash("sha256", input, "hex");
    }
    function createHash(input) {
      return `sha256-${crypto5.hash("sha256", input, "base64")}`;
    }
    async function createHashFromFile(file) {
      return createHash(await readNormalizedFile(file));
    }
    async function createHexHashFromFile(file) {
      return createHexHash(await readNormalizedFile(file));
    }
    async function readNormalizedFile(file) {
      const content = await fs_1.default.promises.readFile(file, "utf8");
      return content.split("\r\n").join("\n");
    }
    async function getTarballIntegrity(filename) {
      return (await ssri_1.default.fromStream(graceful_fs_1.default.createReadStream(filename))).toString();
    }
  }
});

// ../node_modules/.pnpm/encode-registry@3.0.1/node_modules/encode-registry/index.js
var require_encode_registry = __commonJS({
  "../node_modules/.pnpm/encode-registry@3.0.1/node_modules/encode-registry/index.js"(exports2, module2) {
    "use strict";
    var assert = require("assert");
    var { URL: URL3 } = require("url");
    var mem = require_dist6();
    module2.exports = mem(encodeRegistry);
    function encodeRegistry(registry) {
      assert(registry, "`registry` is required");
      assert(typeof registry === "string", "`registry` should be a string");
      const host = getHost(registry);
      return escapeHost(host);
    }
    function escapeHost(host) {
      return host.replace(":", "+");
    }
    function getHost(rawUrl) {
      let urlObj;
      try {
        urlObj = new URL3(rawUrl);
      } catch (err) {
        throw new Error(`Failed to parse registry URL "${rawUrl}": ${err.message}`);
      }
      if (!urlObj || !urlObj.host) {
        throw new Error(`Couldn't get host from ${rawUrl}`);
      }
      return urlObj.host;
    }
  }
});

// ../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js
var require_yocto_queue = __commonJS({
  "../node_modules/.pnpm/yocto-queue@0.1.0/node_modules/yocto-queue/index.js"(exports2, module2) {
    var Node = class {
      /// value;
      /// next;
      constructor(value) {
        this.value = value;
        this.next = void 0;
      }
    };
    var Queue = class {
      // TODO: Use private class fields when targeting Node.js 12.
      // #_head;
      // #_tail;
      // #_size;
      constructor() {
        this.clear();
      }
      enqueue(value) {
        const node = new Node(value);
        if (this._head) {
          this._tail.next = node;
          this._tail = node;
        } else {
          this._head = node;
          this._tail = node;
        }
        this._size++;
      }
      dequeue() {
        const current = this._head;
        if (!current) {
          return;
        }
        this._head = this._head.next;
        this._size--;
        return current.value;
      }
      clear() {
        this._head = void 0;
        this._tail = void 0;
        this._size = 0;
      }
      get size() {
        return this._size;
      }
      *[Symbol.iterator]() {
        let current = this._head;
        while (current) {
          yield current.value;
          current = current.next;
        }
      }
    };
    module2.exports = Queue;
  }
});

// ../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js
var require_p_limit = __commonJS({
  "../node_modules/.pnpm/p-limit@3.1.0/node_modules/p-limit/index.js"(exports2, module2) {
    "use strict";
    var Queue = require_yocto_queue();
    var pLimit = (concurrency) => {
      if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
        throw new TypeError("Expected `concurrency` to be a number from 1 and up");
      }
      const queue = new Queue();
      let activeCount = 0;
      const next = () => {
        activeCount--;
        if (queue.size > 0) {
          queue.dequeue()();
        }
      };
      const run = async (fn, resolve, ...args) => {
        activeCount++;
        const result2 = (async () => fn(...args))();
        resolve(result2);
        try {
          await result2;
        } catch {
        }
        next();
      };
      const enqueue = (fn, resolve, ...args) => {
        queue.enqueue(run.bind(null, fn, resolve, ...args));
        (async () => {
          await Promise.resolve();
          if (activeCount < concurrency && queue.size > 0) {
            queue.dequeue()();
          }
        })();
      };
      const generator = (fn, ...args) => new Promise((resolve) => {
        enqueue(fn, resolve, ...args);
      });
      Object.defineProperties(generator, {
        activeCount: {
          get: () => activeCount
        },
        pendingCount: {
          get: () => queue.size
        },
        clearQueue: {
          value: () => {
            queue.clear();
          }
        }
      });
      return generator;
    };
    module2.exports = pLimit;
  }
});

// ../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js
var require_universalify = __commonJS({
  "../node_modules/.pnpm/universalify@2.0.1/node_modules/universalify/index.js"(exports2) {
    "use strict";
    exports2.fromCallback = function(fn) {
      return Object.defineProperty(function(...args) {
        if (typeof args[args.length - 1] === "function") fn.apply(this, args);
        else {
          return new Promise((resolve, reject) => {
            args.push((err, res) => err != null ? reject(err) : resolve(res));
            fn.apply(this, args);
          });
        }
      }, "name", { value: fn.name });
    };
    exports2.fromPromise = function(fn) {
      return Object.defineProperty(function(...args) {
        const cb = args[args.length - 1];
        if (typeof cb !== "function") return fn.apply(this, args);
        else {
          args.pop();
          fn.apply(this, args).then((r) => cb(null, r), cb);
        }
      }, "name", { value: fn.name });
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/fs/index.js
var require_fs = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/fs/index.js"(exports2) {
    "use strict";
    var u = require_universalify().fromCallback;
    var fs = require_graceful_fs();
    var api = [
      "access",
      "appendFile",
      "chmod",
      "chown",
      "close",
      "copyFile",
      "cp",
      "fchmod",
      "fchown",
      "fdatasync",
      "fstat",
      "fsync",
      "ftruncate",
      "futimes",
      "glob",
      "lchmod",
      "lchown",
      "lutimes",
      "link",
      "lstat",
      "mkdir",
      "mkdtemp",
      "open",
      "opendir",
      "readdir",
      "readFile",
      "readlink",
      "realpath",
      "rename",
      "rm",
      "rmdir",
      "stat",
      "statfs",
      "symlink",
      "truncate",
      "unlink",
      "utimes",
      "writeFile"
    ].filter((key) => {
      return typeof fs[key] === "function";
    });
    Object.assign(exports2, fs);
    api.forEach((method) => {
      exports2[method] = u(fs[method]);
    });
    exports2.exists = function(filename, callback) {
      if (typeof callback === "function") {
        return fs.exists(filename, callback);
      }
      return new Promise((resolve) => {
        return fs.exists(filename, resolve);
      });
    };
    exports2.read = function(fd, buffer, offset, length, position, callback) {
      if (typeof callback === "function") {
        return fs.read(fd, buffer, offset, length, position, callback);
      }
      return new Promise((resolve, reject) => {
        fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer2) => {
          if (err) return reject(err);
          resolve({ bytesRead, buffer: buffer2 });
        });
      });
    };
    exports2.write = function(fd, buffer, ...args) {
      if (typeof args[args.length - 1] === "function") {
        return fs.write(fd, buffer, ...args);
      }
      return new Promise((resolve, reject) => {
        fs.write(fd, buffer, ...args, (err, bytesWritten, buffer2) => {
          if (err) return reject(err);
          resolve({ bytesWritten, buffer: buffer2 });
        });
      });
    };
    exports2.readv = function(fd, buffers, ...args) {
      if (typeof args[args.length - 1] === "function") {
        return fs.readv(fd, buffers, ...args);
      }
      return new Promise((resolve, reject) => {
        fs.readv(fd, buffers, ...args, (err, bytesRead, buffers2) => {
          if (err) return reject(err);
          resolve({ bytesRead, buffers: buffers2 });
        });
      });
    };
    exports2.writev = function(fd, buffers, ...args) {
      if (typeof args[args.length - 1] === "function") {
        return fs.writev(fd, buffers, ...args);
      }
      return new Promise((resolve, reject) => {
        fs.writev(fd, buffers, ...args, (err, bytesWritten, buffers2) => {
          if (err) return reject(err);
          resolve({ bytesWritten, buffers: buffers2 });
        });
      });
    };
    if (typeof fs.realpath.native === "function") {
      exports2.realpath.native = u(fs.realpath.native);
    } else {
      process.emitWarning(
        "fs.realpath.native is not a function. Is fs being monkey-patched?",
        "Warning",
        "fs-extra-WARN0003"
      );
    }
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/utils.js
var require_utils3 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/utils.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    module2.exports.checkPath = function checkPath(pth) {
      if (process.platform === "win32") {
        const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, ""));
        if (pathHasInvalidWinCharacters) {
          const error = new Error(`Path contains invalid characters: ${pth}`);
          error.code = "EINVAL";
          throw error;
        }
      }
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/make-dir.js
var require_make_dir = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/make-dir.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var { checkPath } = require_utils3();
    var getMode = (options) => {
      const defaults = { mode: 511 };
      if (typeof options === "number") return options;
      return { ...defaults, ...options }.mode;
    };
    module2.exports.makeDir = async (dir, options) => {
      checkPath(dir);
      return fs.mkdir(dir, {
        mode: getMode(options),
        recursive: true
      });
    };
    module2.exports.makeDirSync = (dir, options) => {
      checkPath(dir);
      return fs.mkdirSync(dir, {
        mode: getMode(options),
        recursive: true
      });
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/index.js
var require_mkdirs = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var { makeDir: _makeDir, makeDirSync } = require_make_dir();
    var makeDir = u(_makeDir);
    module2.exports = {
      mkdirs: makeDir,
      mkdirsSync: makeDirSync,
      // alias
      mkdirp: makeDir,
      mkdirpSync: makeDirSync,
      ensureDir: makeDir,
      ensureDirSync: makeDirSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/path-exists/index.js
var require_path_exists = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/path-exists/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var fs = require_fs();
    function pathExists(path2) {
      return fs.access(path2).then(() => true).catch(() => false);
    }
    module2.exports = {
      pathExists: u(pathExists),
      pathExistsSync: fs.existsSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/utimes.js
var require_utimes = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/utimes.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var u = require_universalify().fromPromise;
    async function utimesMillis(path2, atime, mtime) {
      const fd = await fs.open(path2, "r+");
      let closeErr = null;
      try {
        await fs.futimes(fd, atime, mtime);
      } finally {
        try {
          await fs.close(fd);
        } catch (e) {
          closeErr = e;
        }
      }
      if (closeErr) {
        throw closeErr;
      }
    }
    function utimesMillisSync(path2, atime, mtime) {
      const fd = fs.openSync(path2, "r+");
      fs.futimesSync(fd, atime, mtime);
      return fs.closeSync(fd);
    }
    module2.exports = {
      utimesMillis: u(utimesMillis),
      utimesMillisSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/stat.js
var require_stat = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/stat.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var path2 = require("path");
    var u = require_universalify().fromPromise;
    function getStats(src, dest, opts) {
      const statFunc = opts.dereference ? (file) => fs.stat(file, { bigint: true }) : (file) => fs.lstat(file, { bigint: true });
      return Promise.all([
        statFunc(src),
        statFunc(dest).catch((err) => {
          if (err.code === "ENOENT") return null;
          throw err;
        })
      ]).then(([srcStat, destStat]) => ({ srcStat, destStat }));
    }
    function getStatsSync(src, dest, opts) {
      let destStat;
      const statFunc = opts.dereference ? (file) => fs.statSync(file, { bigint: true }) : (file) => fs.lstatSync(file, { bigint: true });
      const srcStat = statFunc(src);
      try {
        destStat = statFunc(dest);
      } catch (err) {
        if (err.code === "ENOENT") return { srcStat, destStat: null };
        throw err;
      }
      return { srcStat, destStat };
    }
    async function checkPaths(src, dest, funcName, opts) {
      const { srcStat, destStat } = await getStats(src, dest, opts);
      if (destStat) {
        if (areIdentical(srcStat, destStat)) {
          const srcBaseName = path2.basename(src);
          const destBaseName = path2.basename(dest);
          if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
            return { srcStat, destStat, isChangingCase: true };
          }
          throw new Error("Source and destination must not be the same.");
        }
        if (srcStat.isDirectory() && !destStat.isDirectory()) {
          throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
        }
        if (!srcStat.isDirectory() && destStat.isDirectory()) {
          throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`);
        }
      }
      if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
        throw new Error(errMsg(src, dest, funcName));
      }
      return { srcStat, destStat };
    }
    function checkPathsSync(src, dest, funcName, opts) {
      const { srcStat, destStat } = getStatsSync(src, dest, opts);
      if (destStat) {
        if (areIdentical(srcStat, destStat)) {
          const srcBaseName = path2.basename(src);
          const destBaseName = path2.basename(dest);
          if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
            return { srcStat, destStat, isChangingCase: true };
          }
          throw new Error("Source and destination must not be the same.");
        }
        if (srcStat.isDirectory() && !destStat.isDirectory()) {
          throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`);
        }
        if (!srcStat.isDirectory() && destStat.isDirectory()) {
          throw new Error(`Cannot overwrite directory '${dest}' with non-directory '${src}'.`);
        }
      }
      if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
        throw new Error(errMsg(src, dest, funcName));
      }
      return { srcStat, destStat };
    }
    async function checkParentPaths(src, srcStat, dest, funcName) {
      const srcParent = path2.resolve(path2.dirname(src));
      const destParent = path2.resolve(path2.dirname(dest));
      if (destParent === srcParent || destParent === path2.parse(destParent).root) return;
      let destStat;
      try {
        destStat = await fs.stat(destParent, { bigint: true });
      } catch (err) {
        if (err.code === "ENOENT") return;
        throw err;
      }
      if (areIdentical(srcStat, destStat)) {
        throw new Error(errMsg(src, dest, funcName));
      }
      return checkParentPaths(src, srcStat, destParent, funcName);
    }
    function checkParentPathsSync(src, srcStat, dest, funcName) {
      const srcParent = path2.resolve(path2.dirname(src));
      const destParent = path2.resolve(path2.dirname(dest));
      if (destParent === srcParent || destParent === path2.parse(destParent).root) return;
      let destStat;
      try {
        destStat = fs.statSync(destParent, { bigint: true });
      } catch (err) {
        if (err.code === "ENOENT") return;
        throw err;
      }
      if (areIdentical(srcStat, destStat)) {
        throw new Error(errMsg(src, dest, funcName));
      }
      return checkParentPathsSync(src, srcStat, destParent, funcName);
    }
    function areIdentical(srcStat, destStat) {
      return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
    }
    function isSrcSubdir(src, dest) {
      const srcArr = path2.resolve(src).split(path2.sep).filter((i) => i);
      const destArr = path2.resolve(dest).split(path2.sep).filter((i) => i);
      return srcArr.every((cur, i) => destArr[i] === cur);
    }
    function errMsg(src, dest, funcName) {
      return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`;
    }
    module2.exports = {
      // checkPaths
      checkPaths: u(checkPaths),
      checkPathsSync,
      // checkParent
      checkParentPaths: u(checkParentPaths),
      checkParentPathsSync,
      // Misc
      isSrcSubdir,
      areIdentical
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy.js
var require_copy = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var path2 = require("path");
    var { mkdirs } = require_mkdirs();
    var { pathExists } = require_path_exists();
    var { utimesMillis } = require_utimes();
    var stat = require_stat();
    async function copy(src, dest, opts = {}) {
      if (typeof opts === "function") {
        opts = { filter: opts };
      }
      opts.clobber = "clobber" in opts ? !!opts.clobber : true;
      opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
      if (opts.preserveTimestamps && process.arch === "ia32") {
        process.emitWarning(
          "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n	see https://github.com/jprichardson/node-fs-extra/issues/269",
          "Warning",
          "fs-extra-WARN0001"
        );
      }
      const { srcStat, destStat } = await stat.checkPaths(src, dest, "copy", opts);
      await stat.checkParentPaths(src, srcStat, dest, "copy");
      const include = await runFilter(src, dest, opts);
      if (!include) return;
      const destParent = path2.dirname(dest);
      const dirExists = await pathExists(destParent);
      if (!dirExists) {
        await mkdirs(destParent);
      }
      await getStatsAndPerformCopy(destStat, src, dest, opts);
    }
    async function runFilter(src, dest, opts) {
      if (!opts.filter) return true;
      return opts.filter(src, dest);
    }
    async function getStatsAndPerformCopy(destStat, src, dest, opts) {
      const statFn = opts.dereference ? fs.stat : fs.lstat;
      const srcStat = await statFn(src);
      if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
      if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
      if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts);
      if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`);
      if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`);
      throw new Error(`Unknown file: ${src}`);
    }
    async function onFile(srcStat, destStat, src, dest, opts) {
      if (!destStat) return copyFile(srcStat, src, dest, opts);
      if (opts.overwrite) {
        await fs.unlink(dest);
        return copyFile(srcStat, src, dest, opts);
      }
      if (opts.errorOnExist) {
        throw new Error(`'${dest}' already exists`);
      }
    }
    async function copyFile(srcStat, src, dest, opts) {
      await fs.copyFile(src, dest);
      if (opts.preserveTimestamps) {
        if (fileIsNotWritable(srcStat.mode)) {
          await makeFileWritable(dest, srcStat.mode);
        }
        const updatedSrcStat = await fs.stat(src);
        await utimesMillis(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
      }
      return fs.chmod(dest, srcStat.mode);
    }
    function fileIsNotWritable(srcMode) {
      return (srcMode & 128) === 0;
    }
    function makeFileWritable(dest, srcMode) {
      return fs.chmod(dest, srcMode | 128);
    }
    async function onDir(srcStat, destStat, src, dest, opts) {
      if (!destStat) {
        await fs.mkdir(dest);
      }
      const promises = [];
      for await (const item of await fs.opendir(src)) {
        const srcItem = path2.join(src, item.name);
        const destItem = path2.join(dest, item.name);
        promises.push(
          runFilter(srcItem, destItem, opts).then((include) => {
            if (include) {
              return stat.checkPaths(srcItem, destItem, "copy", opts).then(({ destStat: destStat2 }) => {
                return getStatsAndPerformCopy(destStat2, srcItem, destItem, opts);
              });
            }
          })
        );
      }
      await Promise.all(promises);
      if (!destStat) {
        await fs.chmod(dest, srcStat.mode);
      }
    }
    async function onLink(destStat, src, dest, opts) {
      let resolvedSrc = await fs.readlink(src);
      if (opts.dereference) {
        resolvedSrc = path2.resolve(process.cwd(), resolvedSrc);
      }
      if (!destStat) {
        return fs.symlink(resolvedSrc, dest);
      }
      let resolvedDest = null;
      try {
        resolvedDest = await fs.readlink(dest);
      } catch (e) {
        if (e.code === "EINVAL" || e.code === "UNKNOWN") return fs.symlink(resolvedSrc, dest);
        throw e;
      }
      if (opts.dereference) {
        resolvedDest = path2.resolve(process.cwd(), resolvedDest);
      }
      if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
        throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
      }
      if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
        throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
      }
      await fs.unlink(dest);
      return fs.symlink(resolvedSrc, dest);
    }
    module2.exports = copy;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy-sync.js
var require_copy_sync = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy-sync.js"(exports2, module2) {
    "use strict";
    var fs = require_graceful_fs();
    var path2 = require("path");
    var mkdirsSync = require_mkdirs().mkdirsSync;
    var utimesMillisSync = require_utimes().utimesMillisSync;
    var stat = require_stat();
    function copySync(src, dest, opts) {
      if (typeof opts === "function") {
        opts = { filter: opts };
      }
      opts = opts || {};
      opts.clobber = "clobber" in opts ? !!opts.clobber : true;
      opts.overwrite = "overwrite" in opts ? !!opts.overwrite : opts.clobber;
      if (opts.preserveTimestamps && process.arch === "ia32") {
        process.emitWarning(
          "Using the preserveTimestamps option in 32-bit node is not recommended;\n\n	see https://github.com/jprichardson/node-fs-extra/issues/269",
          "Warning",
          "fs-extra-WARN0002"
        );
      }
      const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts);
      stat.checkParentPathsSync(src, srcStat, dest, "copy");
      if (opts.filter && !opts.filter(src, dest)) return;
      const destParent = path2.dirname(dest);
      if (!fs.existsSync(destParent)) mkdirsSync(destParent);
      return getStats(destStat, src, dest, opts);
    }
    function getStats(destStat, src, dest, opts) {
      const statSync = opts.dereference ? fs.statSync : fs.lstatSync;
      const srcStat = statSync(src);
      if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts);
      else if (srcStat.isFile() || srcStat.isCharacterDevice() || srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts);
      else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts);
      else if (srcStat.isSocket()) throw new Error(`Cannot copy a socket file: ${src}`);
      else if (srcStat.isFIFO()) throw new Error(`Cannot copy a FIFO pipe: ${src}`);
      throw new Error(`Unknown file: ${src}`);
    }
    function onFile(srcStat, destStat, src, dest, opts) {
      if (!destStat) return copyFile(srcStat, src, dest, opts);
      return mayCopyFile(srcStat, src, dest, opts);
    }
    function mayCopyFile(srcStat, src, dest, opts) {
      if (opts.overwrite) {
        fs.unlinkSync(dest);
        return copyFile(srcStat, src, dest, opts);
      } else if (opts.errorOnExist) {
        throw new Error(`'${dest}' already exists`);
      }
    }
    function copyFile(srcStat, src, dest, opts) {
      fs.copyFileSync(src, dest);
      if (opts.preserveTimestamps) handleTimestamps(srcStat.mode, src, dest);
      return setDestMode(dest, srcStat.mode);
    }
    function handleTimestamps(srcMode, src, dest) {
      if (fileIsNotWritable(srcMode)) makeFileWritable(dest, srcMode);
      return setDestTimestamps(src, dest);
    }
    function fileIsNotWritable(srcMode) {
      return (srcMode & 128) === 0;
    }
    function makeFileWritable(dest, srcMode) {
      return setDestMode(dest, srcMode | 128);
    }
    function setDestMode(dest, srcMode) {
      return fs.chmodSync(dest, srcMode);
    }
    function setDestTimestamps(src, dest) {
      const updatedSrcStat = fs.statSync(src);
      return utimesMillisSync(dest, updatedSrcStat.atime, updatedSrcStat.mtime);
    }
    function onDir(srcStat, destStat, src, dest, opts) {
      if (!destStat) return mkDirAndCopy(srcStat.mode, src, dest, opts);
      return copyDir(src, dest, opts);
    }
    function mkDirAndCopy(srcMode, src, dest, opts) {
      fs.mkdirSync(dest);
      copyDir(src, dest, opts);
      return setDestMode(dest, srcMode);
    }
    function copyDir(src, dest, opts) {
      const dir = fs.opendirSync(src);
      try {
        let dirent;
        while ((dirent = dir.readSync()) !== null) {
          copyDirItem(dirent.name, src, dest, opts);
        }
      } finally {
        dir.closeSync();
      }
    }
    function copyDirItem(item, src, dest, opts) {
      const srcItem = path2.join(src, item);
      const destItem = path2.join(dest, item);
      if (opts.filter && !opts.filter(srcItem, destItem)) return;
      const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts);
      return getStats(destStat, srcItem, destItem, opts);
    }
    function onLink(destStat, src, dest, opts) {
      let resolvedSrc = fs.readlinkSync(src);
      if (opts.dereference) {
        resolvedSrc = path2.resolve(process.cwd(), resolvedSrc);
      }
      if (!destStat) {
        return fs.symlinkSync(resolvedSrc, dest);
      } else {
        let resolvedDest;
        try {
          resolvedDest = fs.readlinkSync(dest);
        } catch (err) {
          if (err.code === "EINVAL" || err.code === "UNKNOWN") return fs.symlinkSync(resolvedSrc, dest);
          throw err;
        }
        if (opts.dereference) {
          resolvedDest = path2.resolve(process.cwd(), resolvedDest);
        }
        if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
          throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
        }
        if (stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
          throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`);
        }
        return copyLink(resolvedSrc, dest);
      }
    }
    function copyLink(resolvedSrc, dest) {
      fs.unlinkSync(dest);
      return fs.symlinkSync(resolvedSrc, dest);
    }
    module2.exports = copySync;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/index.js
var require_copy2 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    module2.exports = {
      copy: u(require_copy()),
      copySync: require_copy_sync()
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/remove/index.js
var require_remove = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/remove/index.js"(exports2, module2) {
    "use strict";
    var fs = require_graceful_fs();
    var u = require_universalify().fromCallback;
    function remove(path2, callback) {
      fs.rm(path2, { recursive: true, force: true }, callback);
    }
    function removeSync(path2) {
      fs.rmSync(path2, { recursive: true, force: true });
    }
    module2.exports = {
      remove: u(remove),
      removeSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/empty/index.js
var require_empty2 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/empty/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var fs = require_fs();
    var path2 = require("path");
    var mkdir = require_mkdirs();
    var remove = require_remove();
    var emptyDir = u(async function emptyDir2(dir) {
      let items;
      try {
        items = await fs.readdir(dir);
      } catch {
        return mkdir.mkdirs(dir);
      }
      return Promise.all(items.map((item) => remove.remove(path2.join(dir, item))));
    });
    function emptyDirSync(dir) {
      let items;
      try {
        items = fs.readdirSync(dir);
      } catch {
        return mkdir.mkdirsSync(dir);
      }
      items.forEach((item) => {
        item = path2.join(dir, item);
        remove.removeSync(item);
      });
    }
    module2.exports = {
      emptyDirSync,
      emptydirSync: emptyDirSync,
      emptyDir,
      emptydir: emptyDir
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/file.js
var require_file = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/file.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var path2 = require("path");
    var fs = require_fs();
    var mkdir = require_mkdirs();
    async function createFile(file) {
      let stats;
      try {
        stats = await fs.stat(file);
      } catch {
      }
      if (stats && stats.isFile()) return;
      const dir = path2.dirname(file);
      let dirStats = null;
      try {
        dirStats = await fs.stat(dir);
      } catch (err) {
        if (err.code === "ENOENT") {
          await mkdir.mkdirs(dir);
          await fs.writeFile(file, "");
          return;
        } else {
          throw err;
        }
      }
      if (dirStats.isDirectory()) {
        await fs.writeFile(file, "");
      } else {
        await fs.readdir(dir);
      }
    }
    function createFileSync(file) {
      let stats;
      try {
        stats = fs.statSync(file);
      } catch {
      }
      if (stats && stats.isFile()) return;
      const dir = path2.dirname(file);
      try {
        if (!fs.statSync(dir).isDirectory()) {
          fs.readdirSync(dir);
        }
      } catch (err) {
        if (err && err.code === "ENOENT") mkdir.mkdirsSync(dir);
        else throw err;
      }
      fs.writeFileSync(file, "");
    }
    module2.exports = {
      createFile: u(createFile),
      createFileSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/link.js
var require_link = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/link.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var path2 = require("path");
    var fs = require_fs();
    var mkdir = require_mkdirs();
    var { pathExists } = require_path_exists();
    var { areIdentical } = require_stat();
    async function createLink(srcpath, dstpath) {
      let dstStat;
      try {
        dstStat = await fs.lstat(dstpath);
      } catch {
      }
      let srcStat;
      try {
        srcStat = await fs.lstat(srcpath);
      } catch (err) {
        err.message = err.message.replace("lstat", "ensureLink");
        throw err;
      }
      if (dstStat && areIdentical(srcStat, dstStat)) return;
      const dir = path2.dirname(dstpath);
      const dirExists = await pathExists(dir);
      if (!dirExists) {
        await mkdir.mkdirs(dir);
      }
      await fs.link(srcpath, dstpath);
    }
    function createLinkSync(srcpath, dstpath) {
      let dstStat;
      try {
        dstStat = fs.lstatSync(dstpath);
      } catch {
      }
      try {
        const srcStat = fs.lstatSync(srcpath);
        if (dstStat && areIdentical(srcStat, dstStat)) return;
      } catch (err) {
        err.message = err.message.replace("lstat", "ensureLink");
        throw err;
      }
      const dir = path2.dirname(dstpath);
      const dirExists = fs.existsSync(dir);
      if (dirExists) return fs.linkSync(srcpath, dstpath);
      mkdir.mkdirsSync(dir);
      return fs.linkSync(srcpath, dstpath);
    }
    module2.exports = {
      createLink: u(createLink),
      createLinkSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-paths.js
var require_symlink_paths = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var fs = require_fs();
    var { pathExists } = require_path_exists();
    var u = require_universalify().fromPromise;
    async function symlinkPaths(srcpath, dstpath) {
      if (path2.isAbsolute(srcpath)) {
        try {
          await fs.lstat(srcpath);
        } catch (err) {
          err.message = err.message.replace("lstat", "ensureSymlink");
          throw err;
        }
        return {
          toCwd: srcpath,
          toDst: srcpath
        };
      }
      const dstdir = path2.dirname(dstpath);
      const relativeToDst = path2.join(dstdir, srcpath);
      const exists = await pathExists(relativeToDst);
      if (exists) {
        return {
          toCwd: relativeToDst,
          toDst: srcpath
        };
      }
      try {
        await fs.lstat(srcpath);
      } catch (err) {
        err.message = err.message.replace("lstat", "ensureSymlink");
        throw err;
      }
      return {
        toCwd: srcpath,
        toDst: path2.relative(dstdir, srcpath)
      };
    }
    function symlinkPathsSync(srcpath, dstpath) {
      if (path2.isAbsolute(srcpath)) {
        const exists2 = fs.existsSync(srcpath);
        if (!exists2) throw new Error("absolute srcpath does not exist");
        return {
          toCwd: srcpath,
          toDst: srcpath
        };
      }
      const dstdir = path2.dirname(dstpath);
      const relativeToDst = path2.join(dstdir, srcpath);
      const exists = fs.existsSync(relativeToDst);
      if (exists) {
        return {
          toCwd: relativeToDst,
          toDst: srcpath
        };
      }
      const srcExists = fs.existsSync(srcpath);
      if (!srcExists) throw new Error("relative srcpath does not exist");
      return {
        toCwd: srcpath,
        toDst: path2.relative(dstdir, srcpath)
      };
    }
    module2.exports = {
      symlinkPaths: u(symlinkPaths),
      symlinkPathsSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-type.js
var require_symlink_type = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-type.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var u = require_universalify().fromPromise;
    async function symlinkType(srcpath, type) {
      if (type) return type;
      let stats;
      try {
        stats = await fs.lstat(srcpath);
      } catch {
        return "file";
      }
      return stats && stats.isDirectory() ? "dir" : "file";
    }
    function symlinkTypeSync(srcpath, type) {
      if (type) return type;
      let stats;
      try {
        stats = fs.lstatSync(srcpath);
      } catch {
        return "file";
      }
      return stats && stats.isDirectory() ? "dir" : "file";
    }
    module2.exports = {
      symlinkType: u(symlinkType),
      symlinkTypeSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink.js
var require_symlink = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var path2 = require("path");
    var fs = require_fs();
    var { mkdirs, mkdirsSync } = require_mkdirs();
    var { symlinkPaths, symlinkPathsSync } = require_symlink_paths();
    var { symlinkType, symlinkTypeSync } = require_symlink_type();
    var { pathExists } = require_path_exists();
    var { areIdentical } = require_stat();
    async function createSymlink(srcpath, dstpath, type) {
      let stats;
      try {
        stats = await fs.lstat(dstpath);
      } catch {
      }
      if (stats && stats.isSymbolicLink()) {
        const [srcStat, dstStat] = await Promise.all([
          fs.stat(srcpath),
          fs.stat(dstpath)
        ]);
        if (areIdentical(srcStat, dstStat)) return;
      }
      const relative = await symlinkPaths(srcpath, dstpath);
      srcpath = relative.toDst;
      const toType = await symlinkType(relative.toCwd, type);
      const dir = path2.dirname(dstpath);
      if (!await pathExists(dir)) {
        await mkdirs(dir);
      }
      return fs.symlink(srcpath, dstpath, toType);
    }
    function createSymlinkSync(srcpath, dstpath, type) {
      let stats;
      try {
        stats = fs.lstatSync(dstpath);
      } catch {
      }
      if (stats && stats.isSymbolicLink()) {
        const srcStat = fs.statSync(srcpath);
        const dstStat = fs.statSync(dstpath);
        if (areIdentical(srcStat, dstStat)) return;
      }
      const relative = symlinkPathsSync(srcpath, dstpath);
      srcpath = relative.toDst;
      type = symlinkTypeSync(relative.toCwd, type);
      const dir = path2.dirname(dstpath);
      const exists = fs.existsSync(dir);
      if (exists) return fs.symlinkSync(srcpath, dstpath, type);
      mkdirsSync(dir);
      return fs.symlinkSync(srcpath, dstpath, type);
    }
    module2.exports = {
      createSymlink: u(createSymlink),
      createSymlinkSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/index.js
var require_ensure = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/index.js"(exports2, module2) {
    "use strict";
    var { createFile, createFileSync } = require_file();
    var { createLink, createLinkSync } = require_link();
    var { createSymlink, createSymlinkSync } = require_symlink();
    module2.exports = {
      // file
      createFile,
      createFileSync,
      ensureFile: createFile,
      ensureFileSync: createFileSync,
      // link
      createLink,
      createLinkSync,
      ensureLink: createLink,
      ensureLinkSync: createLinkSync,
      // symlink
      createSymlink,
      createSymlinkSync,
      ensureSymlink: createSymlink,
      ensureSymlinkSync: createSymlinkSync
    };
  }
});

// ../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/utils.js
var require_utils4 = __commonJS({
  "../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/utils.js"(exports2, module2) {
    function stringify2(obj, { EOL = "\n", finalEOL = true, replacer = null, spaces } = {}) {
      const EOF = finalEOL ? EOL : "";
      const str = JSON.stringify(obj, replacer, spaces);
      return str.replace(/\n/g, EOL) + EOF;
    }
    function stripBom(content) {
      if (Buffer.isBuffer(content)) content = content.toString("utf8");
      return content.replace(/^\uFEFF/, "");
    }
    module2.exports = { stringify: stringify2, stripBom };
  }
});

// ../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/index.js
var require_jsonfile = __commonJS({
  "../node_modules/.pnpm/jsonfile@6.1.0/node_modules/jsonfile/index.js"(exports2, module2) {
    var _fs;
    try {
      _fs = require_graceful_fs();
    } catch (_) {
      _fs = require("fs");
    }
    var universalify = require_universalify();
    var { stringify: stringify2, stripBom } = require_utils4();
    async function _readFile(file, options = {}) {
      if (typeof options === "string") {
        options = { encoding: options };
      }
      const fs = options.fs || _fs;
      const shouldThrow = "throws" in options ? options.throws : true;
      let data = await universalify.fromCallback(fs.readFile)(file, options);
      data = stripBom(data);
      let obj;
      try {
        obj = JSON.parse(data, options ? options.reviver : null);
      } catch (err) {
        if (shouldThrow) {
          err.message = `${file}: ${err.message}`;
          throw err;
        } else {
          return null;
        }
      }
      return obj;
    }
    var readFile = universalify.fromPromise(_readFile);
    function readFileSync(file, options = {}) {
      if (typeof options === "string") {
        options = { encoding: options };
      }
      const fs = options.fs || _fs;
      const shouldThrow = "throws" in options ? options.throws : true;
      try {
        let content = fs.readFileSync(file, options);
        content = stripBom(content);
        return JSON.parse(content, options.reviver);
      } catch (err) {
        if (shouldThrow) {
          err.message = `${file}: ${err.message}`;
          throw err;
        } else {
          return null;
        }
      }
    }
    async function _writeFile(file, obj, options = {}) {
      const fs = options.fs || _fs;
      const str = stringify2(obj, options);
      await universalify.fromCallback(fs.writeFile)(file, str, options);
    }
    var writeFile = universalify.fromPromise(_writeFile);
    function writeFileSync(file, obj, options = {}) {
      const fs = options.fs || _fs;
      const str = stringify2(obj, options);
      return fs.writeFileSync(file, str, options);
    }
    var jsonfile = {
      readFile,
      readFileSync,
      writeFile,
      writeFileSync
    };
    module2.exports = jsonfile;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/jsonfile.js
var require_jsonfile2 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/jsonfile.js"(exports2, module2) {
    "use strict";
    var jsonFile = require_jsonfile();
    module2.exports = {
      // jsonfile exports
      readJson: jsonFile.readFile,
      readJsonSync: jsonFile.readFileSync,
      writeJson: jsonFile.writeFile,
      writeJsonSync: jsonFile.writeFileSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/output-file/index.js
var require_output_file = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/output-file/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var fs = require_fs();
    var path2 = require("path");
    var mkdir = require_mkdirs();
    var pathExists = require_path_exists().pathExists;
    async function outputFile(file, data, encoding = "utf-8") {
      const dir = path2.dirname(file);
      if (!await pathExists(dir)) {
        await mkdir.mkdirs(dir);
      }
      return fs.writeFile(file, data, encoding);
    }
    function outputFileSync(file, ...args) {
      const dir = path2.dirname(file);
      if (!fs.existsSync(dir)) {
        mkdir.mkdirsSync(dir);
      }
      fs.writeFileSync(file, ...args);
    }
    module2.exports = {
      outputFile: u(outputFile),
      outputFileSync
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json.js
var require_output_json = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json.js"(exports2, module2) {
    "use strict";
    var { stringify: stringify2 } = require_utils4();
    var { outputFile } = require_output_file();
    async function outputJson(file, data, options = {}) {
      const str = stringify2(data, options);
      await outputFile(file, str, options);
    }
    module2.exports = outputJson;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json-sync.js
var require_output_json_sync = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/output-json-sync.js"(exports2, module2) {
    "use strict";
    var { stringify: stringify2 } = require_utils4();
    var { outputFileSync } = require_output_file();
    function outputJsonSync(file, data, options) {
      const str = stringify2(data, options);
      outputFileSync(file, str, options);
    }
    module2.exports = outputJsonSync;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/index.js
var require_json2 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/json/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    var jsonFile = require_jsonfile2();
    jsonFile.outputJson = u(require_output_json());
    jsonFile.outputJsonSync = require_output_json_sync();
    jsonFile.outputJSON = jsonFile.outputJson;
    jsonFile.outputJSONSync = jsonFile.outputJsonSync;
    jsonFile.writeJSON = jsonFile.writeJson;
    jsonFile.writeJSONSync = jsonFile.writeJsonSync;
    jsonFile.readJSON = jsonFile.readJson;
    jsonFile.readJSONSync = jsonFile.readJsonSync;
    module2.exports = jsonFile;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move.js
var require_move = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move.js"(exports2, module2) {
    "use strict";
    var fs = require_fs();
    var path2 = require("path");
    var { copy } = require_copy2();
    var { remove } = require_remove();
    var { mkdirp } = require_mkdirs();
    var { pathExists } = require_path_exists();
    var stat = require_stat();
    async function move(src, dest, opts = {}) {
      const overwrite = opts.overwrite || opts.clobber || false;
      const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts);
      await stat.checkParentPaths(src, srcStat, dest, "move");
      const destParent = path2.dirname(dest);
      const parsedParentPath = path2.parse(destParent);
      if (parsedParentPath.root !== destParent) {
        await mkdirp(destParent);
      }
      return doRename(src, dest, overwrite, isChangingCase);
    }
    async function doRename(src, dest, overwrite, isChangingCase) {
      if (!isChangingCase) {
        if (overwrite) {
          await remove(dest);
        } else if (await pathExists(dest)) {
          throw new Error("dest already exists.");
        }
      }
      try {
        await fs.rename(src, dest);
      } catch (err) {
        if (err.code !== "EXDEV") {
          throw err;
        }
        await moveAcrossDevice(src, dest, overwrite);
      }
    }
    async function moveAcrossDevice(src, dest, overwrite) {
      const opts = {
        overwrite,
        errorOnExist: true,
        preserveTimestamps: true
      };
      await copy(src, dest, opts);
      return remove(src);
    }
    module2.exports = move;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move-sync.js
var require_move_sync = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move-sync.js"(exports2, module2) {
    "use strict";
    var fs = require_graceful_fs();
    var path2 = require("path");
    var copySync = require_copy2().copySync;
    var removeSync = require_remove().removeSync;
    var mkdirpSync = require_mkdirs().mkdirpSync;
    var stat = require_stat();
    function moveSync(src, dest, opts) {
      opts = opts || {};
      const overwrite = opts.overwrite || opts.clobber || false;
      const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts);
      stat.checkParentPathsSync(src, srcStat, dest, "move");
      if (!isParentRoot(dest)) mkdirpSync(path2.dirname(dest));
      return doRename(src, dest, overwrite, isChangingCase);
    }
    function isParentRoot(dest) {
      const parent = path2.dirname(dest);
      const parsedPath = path2.parse(parent);
      return parsedPath.root === parent;
    }
    function doRename(src, dest, overwrite, isChangingCase) {
      if (isChangingCase) return rename(src, dest, overwrite);
      if (overwrite) {
        removeSync(dest);
        return rename(src, dest, overwrite);
      }
      if (fs.existsSync(dest)) throw new Error("dest already exists.");
      return rename(src, dest, overwrite);
    }
    function rename(src, dest, overwrite) {
      try {
        fs.renameSync(src, dest);
      } catch (err) {
        if (err.code !== "EXDEV") throw err;
        return moveAcrossDevice(src, dest, overwrite);
      }
    }
    function moveAcrossDevice(src, dest, overwrite) {
      const opts = {
        overwrite,
        errorOnExist: true,
        preserveTimestamps: true
      };
      copySync(src, dest, opts);
      return removeSync(src);
    }
    module2.exports = moveSync;
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/index.js
var require_move2 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/index.js"(exports2, module2) {
    "use strict";
    var u = require_universalify().fromPromise;
    module2.exports = {
      move: u(require_move()),
      moveSync: require_move_sync()
    };
  }
});

// ../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/index.js
var require_lib41 = __commonJS({
  "../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/index.js"(exports2, module2) {
    "use strict";
    module2.exports = {
      // Export promiseified graceful-fs:
      ...require_fs(),
      // Export extra methods:
      ...require_copy2(),
      ...require_empty2(),
      ...require_ensure(),
      ...require_json2(),
      ...require_mkdirs(),
      ...require_move2(),
      ...require_output_file(),
      ...require_path_exists(),
      ...require_remove()
    };
  }
});

// ../node_modules/.pnpm/@zkochan+rimraf@3.0.2/node_modules/@zkochan/rimraf/index.js
var require_rimraf = __commonJS({
  "../node_modules/.pnpm/@zkochan+rimraf@3.0.2/node_modules/@zkochan/rimraf/index.js"(exports2, module2) {
    var fs = require("fs");
    module2.exports = async (p) => {
      try {
        await fs.promises.rm(p, { recursive: true, force: true, maxRetries: 3 });
      } catch (err) {
        if (err.code === "ENOENT") return;
        throw err;
      }
    };
    module2.exports.sync = (p) => {
      try {
        fs.rmSync(p, { recursive: true, force: true, maxRetries: 3 });
      } catch (err) {
        if (err.code === "ENOENT") return;
        throw err;
      }
    };
  }
});

// ../node_modules/.pnpm/rename-overwrite@6.0.2/node_modules/rename-overwrite/index.js
var require_rename_overwrite = __commonJS({
  "../node_modules/.pnpm/rename-overwrite@6.0.2/node_modules/rename-overwrite/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var { copySync, copy } = require_lib41();
    var path2 = require("path");
    var rimraf = require_rimraf();
    module2.exports = async function renameOverwrite(oldPath, newPath, retry = 0) {
      try {
        await fs.promises.rename(oldPath, newPath);
      } catch (err) {
        retry++;
        if (retry > 3) throw err;
        switch (err.code) {
          case "ENOTEMPTY":
          case "EEXIST":
          case "ENOTDIR":
            await rimraf(newPath);
            await renameOverwrite(oldPath, newPath, retry);
            break;
          // Windows Antivirus issues
          case "EPERM":
          case "EACCESS": {
            await rimraf(newPath);
            const start = Date.now();
            let backoff = 0;
            let lastError = err;
            while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS")) {
              await new Promise((resolve) => setTimeout(resolve, backoff));
              try {
                await fs.promises.rename(oldPath, newPath);
                return;
              } catch (err2) {
                lastError = err2;
              }
              if (backoff < 100) {
                backoff += 10;
              }
            }
            throw lastError;
          }
          case "ENOENT":
            try {
              await fs.promises.stat(oldPath);
            } catch (statErr) {
              if (statErr.code === "ENOENT") {
                throw statErr;
              }
            }
            await fs.promises.mkdir(path2.dirname(newPath), { recursive: true });
            await renameOverwrite(oldPath, newPath, retry);
            break;
          // Crossing filesystem boundaries so rename is not available
          case "EXDEV":
            try {
              await rimraf(newPath);
            } catch (rimrafErr) {
              if (rimrafErr.code !== "ENOENT") {
                throw rimrafErr;
              }
            }
            await copy(oldPath, newPath);
            await rimraf(oldPath);
            break;
          default:
            throw err;
        }
      }
    };
    module2.exports.sync = function renameOverwriteSync(oldPath, newPath, retry = 0) {
      try {
        fs.renameSync(oldPath, newPath);
      } catch (err) {
        retry++;
        if (retry > 3) throw err;
        switch (err.code) {
          // Windows Antivirus issues
          case "EPERM":
          case "EACCESS": {
            rimraf.sync(newPath);
            const start = Date.now();
            let backoff = 0;
            let lastError = err;
            while (Date.now() - start < 6e4 && (lastError.code === "EPERM" || lastError.code === "EACCESS")) {
              const waitUntil = Date.now() + backoff;
              while (waitUntil > Date.now()) {
              }
              try {
                fs.renameSync(oldPath, newPath);
                return;
              } catch (err2) {
                lastError = err2;
              }
              if (backoff < 100) {
                backoff += 10;
              }
            }
            throw lastError;
          }
          case "ENOTEMPTY":
          case "EEXIST":
          case "ENOTDIR":
            rimraf.sync(newPath);
            fs.renameSync(oldPath, newPath);
            return;
          case "ENOENT":
            fs.mkdirSync(path2.dirname(newPath), { recursive: true });
            renameOverwriteSync(oldPath, newPath, retry);
            return;
          // Crossing filesystem boundaries so rename is not available
          case "EXDEV":
            try {
              rimraf.sync(newPath);
            } catch (rimrafErr) {
              if (rimrafErr.code !== "ENOENT") {
                throw rimrafErr;
              }
            }
            copySync(oldPath, newPath);
            rimraf.sync(oldPath);
            break;
          default:
            throw err;
        }
      }
    };
  }
});

// ../resolving/npm-resolver/lib/toRaw.js
var require_toRaw = __commonJS({
  "../resolving/npm-resolver/lib/toRaw.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.toRaw = toRaw;
    function toRaw(spec) {
      return `${spec.name}@${spec.fetchSpec}`;
    }
  }
});

// ../resolving/npm-resolver/lib/pickPackageFromMeta.js
var require_pickPackageFromMeta = __commonJS({
  "../resolving/npm-resolver/lib/pickPackageFromMeta.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickPackageFromMeta = pickPackageFromMeta;
    exports2.pickLowestVersionByVersionRange = pickLowestVersionByVersionRange;
    exports2.pickVersionByVersionRange = pickVersionByVersionRange;
    var error_1 = require_lib6();
    var semver_12 = __importDefault2(require_semver2());
    var util_1 = __importDefault2(require("util"));
    function pickPackageFromMeta(pickVersionByVersionRangeFn, spec, preferredVersionSelectors, meta, publishedBy) {
      if ((!meta.versions || Object.keys(meta.versions).length === 0) && !publishedBy) {
        if (meta.time?.unpublished?.versions?.length) {
          throw new error_1.PnpmError("UNPUBLISHED_PKG", `No versions available for ${spec.name} because it was unpublished`);
        }
        throw new error_1.PnpmError("NO_VERSIONS", `No versions available for ${spec.name}. The package may be unpublished.`);
      }
      try {
        let version2;
        switch (spec.type) {
          case "version":
            version2 = spec.fetchSpec;
            break;
          case "tag":
            version2 = meta["dist-tags"][spec.fetchSpec];
            break;
          case "range":
            version2 = pickVersionByVersionRangeFn(meta, spec.fetchSpec, preferredVersionSelectors, publishedBy);
            break;
        }
        if (!version2)
          return null;
        const manifest = meta.versions[version2];
        if (manifest && meta["name"]) {
          manifest.name = meta["name"];
        }
        return manifest;
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && typeof err.code === "string" && err.code.startsWith("ERR_PNPM_")) {
          throw err;
        }
        throw new error_1.PnpmError("MALFORMED_METADATA", `Received malformed metadata for "${spec.name}"`, { hint: "This might mean that the package was unpublished from the registry" });
      }
    }
    var semverRangeCache = /* @__PURE__ */ new Map();
    function semverSatisfiesLoose(version2, range) {
      let semverRange = semverRangeCache.get(range);
      if (semverRange === void 0) {
        try {
          semverRange = new semver_12.default.Range(range, true);
        } catch {
          semverRange = null;
        }
        semverRangeCache.set(range, semverRange);
      }
      if (semverRange) {
        try {
          return semverRange.test(new semver_12.default.SemVer(version2, true));
        } catch {
          return false;
        }
      }
      return false;
    }
    function pickLowestVersionByVersionRange(meta, versionRange, preferredVerSels) {
      if (preferredVerSels != null && Object.keys(preferredVerSels).length > 0) {
        const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVerSels);
        for (const preferredVersions of prioritizedPreferredVersions) {
          const preferredVersion = semver_12.default.minSatisfying(preferredVersions, versionRange, true);
          if (preferredVersion) {
            return preferredVersion;
          }
        }
      }
      if (versionRange === "*") {
        return Object.keys(meta.versions).sort(semver_12.default.compare)[0];
      }
      return semver_12.default.minSatisfying(Object.keys(meta.versions), versionRange, true);
    }
    function pickVersionByVersionRange(meta, versionRange, preferredVerSels, publishedBy) {
      let latest = meta["dist-tags"].latest;
      if (preferredVerSels != null && Object.keys(preferredVerSels).length > 0) {
        const prioritizedPreferredVersions = prioritizePreferredVersions(meta, versionRange, preferredVerSels);
        for (const preferredVersions of prioritizedPreferredVersions) {
          if (preferredVersions.includes(latest) && semverSatisfiesLoose(latest, versionRange)) {
            return latest;
          }
          const preferredVersion = semver_12.default.maxSatisfying(preferredVersions, versionRange, true);
          if (preferredVersion) {
            return preferredVersion;
          }
        }
      }
      let versions = Object.keys(meta.versions);
      if (publishedBy) {
        if (meta.time == null) {
          throw new error_1.PnpmError("MISSING_TIME", `The metadata of ${meta.name} is missing the "time" field`);
        }
        versions = versions.filter((version2) => new Date(meta.time[version2]) <= publishedBy);
        if (!versions.includes(latest)) {
          latest = void 0;
        }
      }
      if (latest && (versionRange === "*" || semverSatisfiesLoose(latest, versionRange))) {
        return latest;
      }
      const maxVersion = semver_12.default.maxSatisfying(versions, versionRange, true);
      if (maxVersion && meta.versions[maxVersion].deprecated && versions.length > 1) {
        const nonDeprecatedVersions = versions.map((version2) => meta.versions[version2]).filter((versionMeta) => !versionMeta.deprecated).map((versionMeta) => versionMeta.version);
        const maxNonDeprecatedVersion = semver_12.default.maxSatisfying(nonDeprecatedVersions, versionRange, true);
        if (maxNonDeprecatedVersion)
          return maxNonDeprecatedVersion;
      }
      return maxVersion;
    }
    function prioritizePreferredVersions(meta, versionRange, preferredVerSelectors) {
      const preferredVerSelectorsArr = Object.entries(preferredVerSelectors ?? {});
      const versionsPrioritizer = new PreferredVersionsPrioritizer();
      for (const [preferredSelector, preferredSelectorType] of preferredVerSelectorsArr) {
        const { selectorType, weight } = typeof preferredSelectorType === "string" ? { selectorType: preferredSelectorType, weight: 1 } : preferredSelectorType;
        if (preferredSelector === versionRange)
          continue;
        switch (selectorType) {
          case "tag": {
            versionsPrioritizer.add(meta["dist-tags"][preferredSelector], weight);
            break;
          }
          case "range": {
            const versions = Object.keys(meta.versions);
            for (const version2 of versions) {
              if (semverSatisfiesLoose(version2, preferredSelector)) {
                versionsPrioritizer.add(version2, weight);
              }
            }
            break;
          }
          case "version": {
            if (meta.versions[preferredSelector]) {
              versionsPrioritizer.add(preferredSelector, weight);
            }
            break;
          }
        }
      }
      return versionsPrioritizer.versionsByPriority();
    }
    var PreferredVersionsPrioritizer = class {
      constructor() {
        this.preferredVersions = {};
      }
      add(version2, weight) {
        if (!this.preferredVersions[version2]) {
          this.preferredVersions[version2] = weight;
        } else {
          this.preferredVersions[version2] += weight;
        }
      }
      versionsByPriority() {
        const versionsByWeight = Object.entries(this.preferredVersions).reduce((acc, [version2, weight]) => {
          acc[weight] = acc[weight] ?? [];
          acc[weight].push(version2);
          return acc;
        }, {});
        return Object.keys(versionsByWeight).sort((a, b) => parseInt(b, 10) - parseInt(a, 10)).map((weight) => versionsByWeight[parseInt(weight, 10)]);
      }
    };
  }
});

// ../resolving/npm-resolver/lib/pickPackage.js
var require_pickPackage = __commonJS({
  "../resolving/npm-resolver/lib/pickPackage.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickPackage = pickPackage;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var crypto_hash_1 = require_lib40();
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var graceful_fs_1 = __importDefault2(require_lib12());
    var encode_registry_1 = __importDefault2(require_encode_registry());
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var p_limit_12 = __importDefault2(require_p_limit());
    var path_temp_1 = require_path_temp();
    var pick_1 = __importDefault2(require_pick());
    var semver_12 = __importDefault2(require_semver2());
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    var toRaw_1 = require_toRaw();
    var pickPackageFromMeta_1 = require_pickPackageFromMeta();
    var metafileOperationLimits = {};
    async function runLimited(pkgMirror, fn) {
      let entry;
      try {
        entry = metafileOperationLimits[pkgMirror] ??= { count: 0, limit: (0, p_limit_12.default)(1) };
        entry.count++;
        return await fn(entry.limit);
      } finally {
        entry.count--;
        if (entry.count === 0) {
          metafileOperationLimits[pkgMirror] = void 0;
        }
      }
    }
    function pickPackageFromMetaUsingTime(spec, preferredVersionSelectors, meta, publishedBy) {
      const pickedPackage = (0, pickPackageFromMeta_1.pickPackageFromMeta)(pickPackageFromMeta_1.pickVersionByVersionRange, spec, preferredVersionSelectors, meta, publishedBy);
      if (pickedPackage)
        return pickedPackage;
      return (0, pickPackageFromMeta_1.pickPackageFromMeta)(pickPackageFromMeta_1.pickLowestVersionByVersionRange, spec, preferredVersionSelectors, meta, publishedBy);
    }
    async function pickPackage(ctx, spec, opts) {
      opts = opts || {};
      let _pickPackageFromMeta = opts.publishedBy ? pickPackageFromMetaUsingTime : pickPackageFromMeta_1.pickPackageFromMeta.bind(null, opts.pickLowestVersion ? pickPackageFromMeta_1.pickLowestVersionByVersionRange : pickPackageFromMeta_1.pickVersionByVersionRange);
      if (opts.updateToLatest) {
        const _pickPackageBase = _pickPackageFromMeta;
        _pickPackageFromMeta = (spec2, ...rest) => {
          const latestStableSpec = { ...spec2, type: "tag", fetchSpec: "latest" };
          const latestStable = _pickPackageBase(latestStableSpec, ...rest);
          const current = _pickPackageBase(spec2, ...rest);
          if (!latestStable)
            return current;
          if (!current)
            return latestStable;
          if (semver_12.default.lt(latestStable.version, current.version))
            return current;
          return latestStable;
        };
      }
      validatePackageName(spec.name);
      const cachedMeta = ctx.metaCache.get(spec.name);
      if (cachedMeta != null) {
        return {
          meta: cachedMeta,
          pickedPackage: _pickPackageFromMeta(spec, opts.preferredVersionSelectors, cachedMeta, opts.publishedBy)
        };
      }
      const registryName = (0, encode_registry_1.default)(opts.registry);
      const pkgMirror = path_1.default.join(ctx.cacheDir, ctx.metaDir, registryName, `${encodePkgName(spec.name)}.json`);
      return runLimited(pkgMirror, async (limit) => {
        let metaCachedInStore;
        if (ctx.offline === true || ctx.preferOffline === true || opts.pickLowestVersion) {
          metaCachedInStore = await limit(async () => loadMeta(pkgMirror));
          if (ctx.offline) {
            if (metaCachedInStore != null)
              return {
                meta: metaCachedInStore,
                pickedPackage: _pickPackageFromMeta(spec, opts.preferredVersionSelectors, metaCachedInStore, opts.publishedBy)
              };
            throw new error_1.PnpmError("NO_OFFLINE_META", `Failed to resolve ${(0, toRaw_1.toRaw)(spec)} in package mirror ${pkgMirror}`);
          }
          if (metaCachedInStore != null) {
            const pickedPackage = _pickPackageFromMeta(spec, opts.preferredVersionSelectors, metaCachedInStore, opts.publishedBy);
            if (pickedPackage) {
              return {
                meta: metaCachedInStore,
                pickedPackage
              };
            }
          }
        }
        if (!opts.updateToLatest && spec.type === "version") {
          metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
          if (metaCachedInStore?.versions?.[spec.fetchSpec] != null) {
            return {
              meta: metaCachedInStore,
              pickedPackage: metaCachedInStore.versions[spec.fetchSpec]
            };
          }
        }
        if (opts.publishedBy) {
          metaCachedInStore = metaCachedInStore ?? await limit(async () => loadMeta(pkgMirror));
          if (metaCachedInStore?.cachedAt && new Date(metaCachedInStore.cachedAt) >= opts.publishedBy) {
            const pickedPackage = _pickPackageFromMeta(spec, opts.preferredVersionSelectors, metaCachedInStore, opts.publishedBy);
            if (pickedPackage) {
              return {
                meta: metaCachedInStore,
                pickedPackage
              };
            }
          }
        }
        try {
          let meta = await ctx.fetch(spec.name, opts.registry, opts.authHeaderValue);
          if (ctx.filterMetadata) {
            meta = clearMeta(meta);
          }
          meta.cachedAt = Date.now();
          ctx.metaCache.set(spec.name, meta);
          if (!opts.dryRun) {
            const stringifiedMeta = JSON.stringify(meta);
            runLimited(pkgMirror, (limit2) => limit2(async () => {
              try {
                await saveMeta(pkgMirror, stringifiedMeta);
              } catch (err) {
              }
            }));
          }
          return {
            meta,
            pickedPackage: _pickPackageFromMeta(spec, opts.preferredVersionSelectors, meta, opts.publishedBy)
          };
        } catch (err) {
          err.spec = spec;
          const meta = await loadMeta(pkgMirror);
          if (meta == null)
            throw err;
          logger_1.logger.error(err, err);
          logger_1.logger.debug({ message: `Using cached meta from ${pkgMirror}` });
          return {
            meta,
            pickedPackage: _pickPackageFromMeta(spec, opts.preferredVersionSelectors, meta, opts.publishedBy)
          };
        }
      });
    }
    function clearMeta(pkg) {
      const versions = {};
      for (const [version2, info] of Object.entries(pkg.versions)) {
        versions[version2] = (0, pick_1.default)([
          "name",
          "version",
          "bin",
          "directories",
          "devDependencies",
          "optionalDependencies",
          "dependencies",
          "peerDependencies",
          "dist",
          "engines",
          "peerDependenciesMeta",
          "cpu",
          "os",
          "libc",
          "deprecated",
          "bundleDependencies",
          "bundledDependencies",
          "hasInstallScript"
        ], info);
      }
      return {
        name: pkg.name,
        "dist-tags": pkg["dist-tags"],
        versions,
        time: pkg.time,
        cachedAt: pkg.cachedAt
      };
    }
    function encodePkgName(pkgName) {
      if (pkgName !== pkgName.toLowerCase()) {
        return `${pkgName}_${(0, crypto_hash_1.createHexHash)(pkgName)}`;
      }
      return pkgName;
    }
    async function loadMeta(pkgMirror) {
      try {
        return await (0, load_json_file_1.default)(pkgMirror);
      } catch (err) {
        return null;
      }
    }
    var createdDirs = /* @__PURE__ */ new Set();
    async function saveMeta(pkgMirror, meta) {
      const dir = path_1.default.dirname(pkgMirror);
      if (!createdDirs.has(dir)) {
        await fs_1.promises.mkdir(dir, { recursive: true });
        createdDirs.add(dir);
      }
      const temp = (0, path_temp_1.fastPathTemp)(pkgMirror);
      await graceful_fs_1.default.writeFile(temp, meta);
      await (0, rename_overwrite_1.default)(temp, pkgMirror);
    }
    function validatePackageName(pkgName) {
      if (pkgName.includes("/") && pkgName[0] !== "@") {
        throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Package name ${pkgName} is invalid, it should have a @scope`);
      }
    }
  }
});

// ../node_modules/.pnpm/parse-npm-tarball-url@3.0.0/node_modules/parse-npm-tarball-url/lib/index.js
var require_lib42 = __commonJS({
  "../node_modules/.pnpm/parse-npm-tarball-url@3.0.0/node_modules/parse-npm-tarball-url/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var url_1 = require("url");
    var assert = require("assert");
    var semver_12 = require_semver2();
    function parseNpmTarballUrl(url) {
      assert(url, "url is required");
      assert(typeof url === "string", "url should be a string");
      const { path: path2, host } = url_1.parse(url);
      if (!path2 || !host)
        return null;
      const pkg = parsePath(path2);
      if (!pkg)
        return null;
      return {
        host,
        name: pkg.name,
        version: pkg.version
      };
    }
    exports2.default = parseNpmTarballUrl;
    function parsePath(path2) {
      const parts = path2.split("/-/");
      if (parts.length !== 2)
        return null;
      const name = parts[0] && decodeURIComponent(parts[0].substr(1));
      if (!name)
        return null;
      const pathWithNoExtension = parts[1].replace(/\.tgz$/, "");
      const scopelessNameLength = name.length - (name.indexOf("/") + 1);
      const version2 = pathWithNoExtension.substr(scopelessNameLength + 1);
      if (!semver_12.valid(version2, true))
        return null;
      return { name, version: version2 };
    }
  }
});

// ../node_modules/.pnpm/version-selector-type@3.0.0/node_modules/version-selector-type/index.js
var require_version_selector_type = __commonJS({
  "../node_modules/.pnpm/version-selector-type@3.0.0/node_modules/version-selector-type/index.js"(exports2, module2) {
    "use strict";
    var semver = require_semver2();
    module2.exports = (selector) => versionSelectorType(true, selector);
    module2.exports.strict = (selector) => versionSelectorType(false, selector);
    function versionSelectorType(loose, selector) {
      if (typeof selector !== "string") {
        throw new TypeError("`selector` should be a string");
      }
      let normalizedSelector;
      if (normalizedSelector = semver.valid(selector, loose)) {
        return {
          normalized: normalizedSelector,
          type: "version"
        };
      }
      if (normalizedSelector = semver.validRange(selector, loose)) {
        return {
          normalized: normalizedSelector,
          type: "range"
        };
      }
      if (encodeURIComponent(selector) === selector) {
        return {
          normalized: selector,
          type: "tag"
        };
      }
      return null;
    }
  }
});

// ../resolving/npm-resolver/lib/parsePref.js
var require_parsePref = __commonJS({
  "../resolving/npm-resolver/lib/parsePref.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parsePref = parsePref;
    var parse_npm_tarball_url_1 = __importDefault2(require_lib42());
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    function parsePref(pref, alias, defaultTag, registry) {
      let name = alias;
      if (pref.startsWith("npm:")) {
        pref = pref.slice(4);
        const index = pref.lastIndexOf("@");
        if (index < 1) {
          name = pref;
          pref = defaultTag;
        } else {
          name = pref.slice(0, index);
          pref = pref.slice(index + 1);
        }
      }
      if (name) {
        const selector = (0, version_selector_type_1.default)(pref);
        if (selector != null) {
          return {
            fetchSpec: selector.normalized,
            name,
            type: selector.type
          };
        }
      }
      if (pref.startsWith(registry)) {
        const pkg = (0, parse_npm_tarball_url_1.default)(pref);
        if (pkg != null) {
          return {
            fetchSpec: pkg.version,
            name: pkg.name,
            normalizedPref: pref,
            type: "version"
          };
        }
      }
      return null;
    }
  }
});

// ../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry_operation.js
var require_retry_operation = __commonJS({
  "../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry_operation.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var RetryOperation = class {
      constructor(timeouts, options) {
        var _a;
        this._originalTimeouts = [...timeouts];
        this._timeouts = timeouts;
        this._maxRetryTime = (_a = options === null || options === void 0 ? void 0 : options.maxRetryTime) !== null && _a !== void 0 ? _a : Infinity;
        this._fn = null;
        this._errors = [];
        this._attempts = 1;
        this._operationStart = null;
        this._timer = null;
      }
      reset() {
        this._attempts = 1;
        this._timeouts = this._originalTimeouts;
      }
      stop() {
        if (this._timer) {
          clearTimeout(this._timer);
        }
        this._timeouts = [];
      }
      retry(err) {
        if (!err) {
          return false;
        }
        var currentTime = (/* @__PURE__ */ new Date()).getTime();
        if (err && currentTime - this._operationStart >= this._maxRetryTime) {
          this._errors.unshift(new Error("RetryOperation timeout occurred"));
          return false;
        }
        this._errors.push(err);
        var timeout = this._timeouts.shift();
        if (timeout === void 0) {
          return false;
        }
        this._timer = setTimeout(() => this._fn(++this._attempts), timeout);
        return timeout;
      }
      attempt(fn) {
        this._fn = fn;
        this._operationStart = (/* @__PURE__ */ new Date()).getTime();
        this._fn(this._attempts);
      }
      errors() {
        return this._errors;
      }
      attempts() {
        return this._attempts;
      }
      mainError() {
        if (this._errors.length === 0) {
          return null;
        }
        var counts = {};
        var mainError = null;
        var mainErrorCount = 0;
        for (var i = 0; i < this._errors.length; i++) {
          var error = this._errors[i];
          var message = error.message;
          var count = (counts[message] || 0) + 1;
          counts[message] = count;
          if (count >= mainErrorCount) {
            mainError = error;
            mainErrorCount = count;
          }
        }
        return mainError;
      }
    };
    exports2.default = RetryOperation;
  }
});

// ../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry.js
var require_retry2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+retry@0.2.0/node_modules/@zkochan/retry/lib/retry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createTimeout = exports2.createTimeouts = exports2.operation = void 0;
    var retry_operation_1 = require_retry_operation();
    function operation(options) {
      var timeouts = createTimeouts(options);
      return new retry_operation_1.default(timeouts, {
        maxRetryTime: options && options.maxRetryTime
      });
    }
    exports2.operation = operation;
    function createTimeouts(options) {
      var opts = {
        retries: 10,
        factor: 2,
        minTimeout: 1 * 1e3,
        maxTimeout: Infinity,
        randomize: false,
        ...options
      };
      if (opts.minTimeout > opts.maxTimeout) {
        throw new Error("minTimeout is greater than maxTimeout");
      }
      var timeouts = [];
      for (var i = 0; i < opts.retries; i++) {
        timeouts.push(createTimeout(i, opts));
      }
      timeouts.sort(function(a, b) {
        return a - b;
      });
      return timeouts;
    }
    exports2.createTimeouts = createTimeouts;
    function createTimeout(attempt, opts) {
      var random = opts.randomize ? Math.random() + 1 : 1;
      var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));
      timeout = Math.min(timeout, opts.maxTimeout);
      return timeout;
    }
    exports2.createTimeout = createTimeout;
  }
});

// ../resolving/npm-resolver/lib/fetch.js
var require_fetch = __commonJS({
  "../resolving/npm-resolver/lib/fetch.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RegistryResponseError = void 0;
    exports2.fromRegistry = fromRegistry;
    var url_1 = __importDefault2(require("url"));
    var core_loggers_1 = require_lib28();
    var error_1 = require_lib6();
    var retry = __importStar3(require_retry2());
    var semverRegex = /(.*)(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
    var RegistryResponseError = class extends error_1.FetchError {
      constructor(request, response, pkgName) {
        let hint;
        if (response.status === 404) {
          hint = `${pkgName} is not in the npm registry, or you have no permission to fetch it.`;
          const matched = pkgName.match(semverRegex);
          if (matched != null) {
            hint += ` Did you mean ${matched[1]}?`;
          }
        }
        super(request, response, hint);
        this.pkgName = pkgName;
      }
    };
    exports2.RegistryResponseError = RegistryResponseError;
    async function fromRegistry(fetch, fetchOpts, pkgName, registry, authHeaderValue) {
      const uri = toUri(pkgName, registry);
      const op = retry.operation(fetchOpts.retry);
      return new Promise((resolve, reject) => {
        op.attempt(async (attempt) => {
          let response;
          try {
            response = await fetch(uri, {
              authHeaderValue,
              compress: true,
              retry: fetchOpts.retry,
              timeout: fetchOpts.timeout
            });
          } catch (error) {
            reject(new error_1.PnpmError("META_FETCH_FAIL", `GET ${uri}: ${error.message}`, { attempts: attempt }));
            return;
          }
          if (response.status > 400) {
            const request = {
              authHeaderValue,
              url: uri
            };
            reject(new RegistryResponseError(request, response, pkgName));
            return;
          }
          try {
            resolve(await response.json());
          } catch (error) {
            const timeout = op.retry(new error_1.PnpmError("BROKEN_METADATA_JSON", error.message));
            if (timeout === false) {
              reject(op.mainError());
              return;
            }
            core_loggers_1.requestRetryLogger.debug({
              attempt,
              error,
              maxRetries: fetchOpts.retry.retries,
              method: "GET",
              timeout,
              url: uri
            });
          }
        });
      });
    }
    function toUri(pkgName, registry) {
      let encodedName;
      if (pkgName[0] === "@") {
        encodedName = `@${encodeURIComponent(pkgName.slice(1))}`;
      } else {
        encodedName = encodeURIComponent(pkgName);
      }
      return new url_1.default.URL(encodedName, registry.endsWith("/") ? registry : `${registry}/`).toString();
    }
  }
});

// ../workspace/spec-parser/lib/index.js
var require_lib43 = __commonJS({
  "../workspace/spec-parser/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.WorkspaceSpec = void 0;
    var WORKSPACE_PREF_REGEX = /^workspace:(?:(?<alias>[^._/][^@]*)@)?(?<version>.*)$/;
    var WorkspaceSpec = class _WorkspaceSpec {
      constructor(version2, alias) {
        this.version = version2;
        this.alias = alias;
      }
      static parse(pref) {
        const parts = WORKSPACE_PREF_REGEX.exec(pref);
        if (!parts?.groups)
          return null;
        return new _WorkspaceSpec(parts.groups.version, parts.groups.alias);
      }
      toString() {
        const { alias, version: version2 } = this;
        return alias ? `workspace:${alias}@${version2}` : `workspace:${version2}`;
      }
    };
    exports2.WorkspaceSpec = WorkspaceSpec;
  }
});

// ../resolving/npm-resolver/lib/workspacePrefToNpm.js
var require_workspacePrefToNpm = __commonJS({
  "../resolving/npm-resolver/lib/workspacePrefToNpm.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.workspacePrefToNpm = workspacePrefToNpm;
    var workspace_spec_parser_1 = require_lib43();
    function workspacePrefToNpm(workspacePref) {
      const parseResult = workspace_spec_parser_1.WorkspaceSpec.parse(workspacePref);
      if (parseResult == null) {
        throw new Error(`Invalid workspace spec: ${workspacePref}`);
      }
      const { alias, version: version2 } = parseResult;
      const versionPart = version2 === "^" || version2 === "~" ? "*" : version2;
      return alias ? `npm:${alias}@${versionPart}` : versionPart;
    }
  }
});

// ../resolving/npm-resolver/lib/index.js
var require_lib44 = __commonJS({
  "../resolving/npm-resolver/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RegistryResponseError = exports2.workspacePrefToNpm = exports2.parsePref = exports2.NoMatchingVersionError = void 0;
    exports2.createNpmResolver = createNpmResolver;
    var path_1 = __importDefault2(require("path"));
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var resolve_workspace_range_1 = require_lib37();
    var lru_cache_1 = require_commonjs();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var p_memoize_1 = __importDefault2(require_p_memoize());
    var clone_1 = __importDefault2(require_clone5());
    var semver_12 = __importDefault2(require_semver2());
    var ssri_1 = __importDefault2(require_lib38());
    var pickPackage_1 = require_pickPackage();
    var parsePref_1 = require_parsePref();
    Object.defineProperty(exports2, "parsePref", { enumerable: true, get: function() {
      return parsePref_1.parsePref;
    } });
    var fetch_1 = require_fetch();
    Object.defineProperty(exports2, "RegistryResponseError", { enumerable: true, get: function() {
      return fetch_1.RegistryResponseError;
    } });
    var workspacePrefToNpm_1 = require_workspacePrefToNpm();
    Object.defineProperty(exports2, "workspacePrefToNpm", { enumerable: true, get: function() {
      return workspacePrefToNpm_1.workspacePrefToNpm;
    } });
    var NoMatchingVersionError = class extends error_1.PnpmError {
      constructor(opts) {
        const dep = opts.wantedDependency.alias ? `${opts.wantedDependency.alias}@${opts.wantedDependency.pref ?? ""}` : opts.wantedDependency.pref;
        super("NO_MATCHING_VERSION", `No matching version found for ${dep} while fetching it from ${opts.registry}`);
        this.packageMeta = opts.packageMeta;
      }
    };
    exports2.NoMatchingVersionError = NoMatchingVersionError;
    function createNpmResolver(fetchFromRegistry, getAuthHeader, opts) {
      if (typeof opts.cacheDir !== "string") {
        throw new TypeError("`opts.cacheDir` is required and needs to be a string");
      }
      const fetchOpts = {
        retry: opts.retry ?? {},
        timeout: opts.timeout ?? 6e4
      };
      const fetch = (0, p_memoize_1.default)(fetch_1.fromRegistry.bind(null, fetchFromRegistry, fetchOpts), {
        cacheKey: (...args) => JSON.stringify(args),
        maxAge: 1e3 * 20
        // 20 seconds
      });
      const metaCache = new lru_cache_1.LRUCache({
        max: 1e4,
        ttl: 120 * 1e3
        // 2 minutes
      });
      return {
        resolveFromNpm: resolveNpm.bind(null, {
          getAuthHeaderValueByURI: getAuthHeader,
          pickPackage: pickPackage_1.pickPackage.bind(null, {
            fetch,
            filterMetadata: opts.filterMetadata,
            metaCache,
            metaDir: opts.fullMetadata ? opts.filterMetadata ? constants_1.FULL_FILTERED_META_DIR : constants_1.FULL_META_DIR : constants_1.ABBREVIATED_META_DIR,
            offline: opts.offline,
            preferOffline: opts.preferOffline,
            cacheDir: opts.cacheDir
          })
        }),
        clearCache: () => {
          metaCache.clear();
        }
      };
    }
    async function resolveNpm(ctx, wantedDependency, opts) {
      const defaultTag = opts.defaultTag ?? "latest";
      if (wantedDependency.pref?.startsWith("workspace:")) {
        if (wantedDependency.pref.startsWith("workspace:."))
          return null;
        const resolvedFromWorkspace = tryResolveFromWorkspace(wantedDependency, {
          defaultTag,
          lockfileDir: opts.lockfileDir,
          projectDir: opts.projectDir,
          registry: opts.registry,
          workspacePackages: opts.workspacePackages,
          injectWorkspacePackages: opts.injectWorkspacePackages
        });
        if (resolvedFromWorkspace != null) {
          return resolvedFromWorkspace;
        }
      }
      const workspacePackages = opts.alwaysTryWorkspacePackages !== false ? opts.workspacePackages : void 0;
      const spec = wantedDependency.pref ? (0, parsePref_1.parsePref)(wantedDependency.pref, wantedDependency.alias, defaultTag, opts.registry) : defaultTagForAlias(wantedDependency.alias, defaultTag);
      if (spec == null)
        return null;
      const authHeaderValue = ctx.getAuthHeaderValueByURI(opts.registry);
      let pickResult;
      try {
        pickResult = await ctx.pickPackage(spec, {
          pickLowestVersion: opts.pickLowestVersion,
          publishedBy: opts.publishedBy,
          authHeaderValue,
          dryRun: opts.dryRun === true,
          preferredVersionSelectors: opts.preferredVersions?.[spec.name],
          registry: opts.registry,
          updateToLatest: opts.updateToLatest
        });
      } catch (err) {
        if (workspacePackages != null && opts.projectDir) {
          try {
            return tryResolveFromWorkspacePackages(workspacePackages, spec, {
              wantedDependency,
              projectDir: opts.projectDir,
              lockfileDir: opts.lockfileDir,
              hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected
            });
          } catch {
          }
        }
        throw err;
      }
      const pickedPackage = pickResult.pickedPackage;
      const meta = pickResult.meta;
      if (pickedPackage == null) {
        if (workspacePackages != null && opts.projectDir) {
          try {
            return tryResolveFromWorkspacePackages(workspacePackages, spec, {
              wantedDependency,
              projectDir: opts.projectDir,
              lockfileDir: opts.lockfileDir,
              hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected
            });
          } catch {
          }
        }
        throw new NoMatchingVersionError({ wantedDependency, packageMeta: meta, registry: opts.registry });
      }
      const workspacePkgsMatchingName = workspacePackages?.get(pickedPackage.name);
      if (workspacePkgsMatchingName && opts.projectDir) {
        const matchedPkg = workspacePkgsMatchingName.get(pickedPackage.version);
        if (matchedPkg) {
          return {
            ...resolveFromLocalPackage(matchedPkg, spec.normalizedPref, {
              projectDir: opts.projectDir,
              lockfileDir: opts.lockfileDir,
              hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected
            }),
            latest: meta["dist-tags"].latest
          };
        }
        const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, spec);
        if (localVersion && (semver_12.default.gt(localVersion, pickedPackage.version) || opts.preferWorkspacePackages)) {
          return {
            ...resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec.normalizedPref, {
              projectDir: opts.projectDir,
              lockfileDir: opts.lockfileDir,
              hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected
            }),
            latest: meta["dist-tags"].latest
          };
        }
      }
      const id = `${pickedPackage.name}@${pickedPackage.version}`;
      const resolution = {
        integrity: getIntegrity(pickedPackage.dist),
        tarball: pickedPackage.dist.tarball
      };
      return {
        id,
        latest: meta["dist-tags"].latest,
        manifest: pickedPackage,
        normalizedPref: spec.normalizedPref,
        resolution,
        resolvedVia: "npm-registry",
        publishedAt: meta.time?.[pickedPackage.version]
      };
    }
    function tryResolveFromWorkspace(wantedDependency, opts) {
      if (!wantedDependency.pref?.startsWith("workspace:")) {
        return null;
      }
      const pref = (0, workspacePrefToNpm_1.workspacePrefToNpm)(wantedDependency.pref);
      const spec = (0, parsePref_1.parsePref)(pref, wantedDependency.alias, opts.defaultTag, opts.registry);
      if (spec == null)
        throw new Error(`Invalid workspace: spec (${wantedDependency.pref})`);
      if (opts.workspacePackages == null) {
        throw new Error("Cannot resolve package from workspace because opts.workspacePackages is not defined");
      }
      if (!opts.projectDir) {
        throw new Error("Cannot resolve package from workspace because opts.projectDir is not defined");
      }
      return tryResolveFromWorkspacePackages(opts.workspacePackages, spec, {
        wantedDependency,
        projectDir: opts.projectDir,
        hardLinkLocalPackages: opts.injectWorkspacePackages === true || wantedDependency.injected,
        lockfileDir: opts.lockfileDir
      });
    }
    function tryResolveFromWorkspacePackages(workspacePackages, spec, opts) {
      const workspacePkgsMatchingName = workspacePackages.get(spec.name);
      if (!workspacePkgsMatchingName) {
        throw new error_1.PnpmError("WORKSPACE_PKG_NOT_FOUND", `In ${path_1.default.relative(process.cwd(), opts.projectDir)}: "${spec.name}@${opts.wantedDependency.pref ?? ""}" is in the dependencies but no package named "${spec.name}" is present in the workspace`, {
          hint: "Packages found in the workspace: " + Object.keys(workspacePackages).join(", ")
        });
      }
      const localVersion = pickMatchingLocalVersionOrNull(workspacePkgsMatchingName, spec);
      if (!localVersion) {
        throw new error_1.PnpmError("NO_MATCHING_VERSION_INSIDE_WORKSPACE", `In ${path_1.default.relative(process.cwd(), opts.projectDir)}: No matching version found for ${opts.wantedDependency.alias ?? ""}@${opts.wantedDependency.pref ?? ""} inside the workspace`);
      }
      return resolveFromLocalPackage(workspacePkgsMatchingName.get(localVersion), spec.normalizedPref, opts);
    }
    function pickMatchingLocalVersionOrNull(versions, spec) {
      switch (spec.type) {
        case "tag":
          return semver_12.default.maxSatisfying(Array.from(versions.keys()), "*", {
            includePrerelease: true
          });
        case "version":
          return versions.has(spec.fetchSpec) ? spec.fetchSpec : null;
        case "range":
          return (0, resolve_workspace_range_1.resolveWorkspaceRange)(spec.fetchSpec, Array.from(versions.keys()));
        default:
          return null;
      }
    }
    function resolveFromLocalPackage(localPackage, normalizedPref, opts) {
      let id;
      let directory;
      const localPackageDir = resolveLocalPackageDir(localPackage);
      if (opts.hardLinkLocalPackages) {
        directory = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, localPackageDir));
        id = `file:${directory}`;
      } else {
        directory = localPackageDir;
        id = `link:${(0, normalize_path_1.default)(path_1.default.relative(opts.projectDir, localPackageDir))}`;
      }
      return {
        id,
        manifest: (0, clone_1.default)(localPackage.manifest),
        normalizedPref,
        resolution: {
          directory,
          type: "directory"
        },
        resolvedVia: "workspace"
      };
    }
    function resolveLocalPackageDir(localPackage) {
      if (localPackage.manifest.publishConfig?.directory == null || localPackage.manifest.publishConfig?.linkDirectory === false)
        return localPackage.rootDir;
      return path_1.default.join(localPackage.rootDir, localPackage.manifest.publishConfig.directory);
    }
    function defaultTagForAlias(alias, defaultTag) {
      return {
        fetchSpec: defaultTag,
        name: alias,
        type: "tag"
      };
    }
    function getIntegrity(dist) {
      if (dist.integrity) {
        return dist.integrity;
      }
      if (!dist.shasum) {
        return void 0;
      }
      const integrity = ssri_1.default.fromHex(dist.shasum, "sha1");
      if (!integrity) {
        throw new error_1.PnpmError("INVALID_TARBALL_INTEGRITY", `Tarball "${dist.tarball}" has invalid shasum specified in its metadata: ${dist.shasum}`);
      }
      return integrity.toString();
    }
  }
});

// ../workspace/pkgs-graph/lib/index.js
var require_lib45 = __commonJS({
  "../workspace/pkgs-graph/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPkgGraph = createPkgGraph;
    var path_1 = __importDefault2(require("path"));
    var npm_package_arg_1 = __importDefault2(require_npa());
    var resolve_workspace_range_1 = require_lib37();
    var npm_resolver_1 = require_lib44();
    var map_1 = __importDefault2(require_map3());
    function createPkgGraph(pkgs, opts) {
      const pkgMap = createPkgMap(pkgs);
      const pkgMapValues = Object.values(pkgMap);
      let pkgMapByManifestName;
      let pkgMapByDir;
      const unmatched = [];
      const graph = (0, map_1.default)((pkg) => ({
        dependencies: createNode(pkg),
        package: pkg
      }), pkgMap);
      return { graph, unmatched };
      function createNode(pkg) {
        const dependencies = {
          ...pkg.manifest.peerDependencies,
          ...!opts?.ignoreDevDeps && pkg.manifest.devDependencies,
          ...pkg.manifest.optionalDependencies,
          ...pkg.manifest.dependencies
        };
        return Object.entries(dependencies).map(([depName, rawSpec]) => {
          let spec;
          const isWorkspaceSpec = rawSpec.startsWith("workspace:");
          try {
            if (isWorkspaceSpec) {
              const { fetchSpec, name } = (0, npm_resolver_1.parsePref)((0, npm_resolver_1.workspacePrefToNpm)(rawSpec), depName, "latest", "");
              rawSpec = fetchSpec;
              depName = name;
            }
            spec = npm_package_arg_1.default.resolve(depName, rawSpec, pkg.rootDir);
          } catch {
            return "";
          }
          if (spec.type === "directory") {
            pkgMapByDir ??= getPkgMapByDir(pkgMapValues);
            const resolvedPath = path_1.default.resolve(pkg.rootDir, spec.fetchSpec);
            const found = pkgMapByDir[resolvedPath];
            if (found) {
              return found.rootDir;
            }
            const matchedPkg2 = pkgMapValues.find((pkg2) => path_1.default.relative(pkg2.rootDir, spec.fetchSpec) === "");
            if (matchedPkg2 == null) {
              return "";
            }
            pkgMapByDir[resolvedPath] = matchedPkg2;
            return matchedPkg2.rootDir;
          }
          if (spec.type !== "version" && spec.type !== "range")
            return "";
          pkgMapByManifestName ??= getPkgMapByManifestName(pkgMapValues);
          const pkgs2 = pkgMapByManifestName[depName];
          if (!pkgs2 || pkgs2.length === 0)
            return "";
          const versions = pkgs2.filter(({ manifest }) => manifest.version).map((pkg2) => pkg2.manifest.version);
          const strictWorkspaceMatching = opts?.linkWorkspacePackages === false && !isWorkspaceSpec;
          if (strictWorkspaceMatching) {
            unmatched.push({ pkgName: depName, range: rawSpec });
            return "";
          }
          if (isWorkspaceSpec && versions.length === 0) {
            const matchedPkg2 = pkgs2.find((pkg2) => pkg2.manifest.name === depName);
            return matchedPkg2.rootDir;
          }
          if (versions.includes(rawSpec)) {
            const matchedPkg2 = pkgs2.find((pkg2) => pkg2.manifest.name === depName && pkg2.manifest.version === rawSpec);
            return matchedPkg2.rootDir;
          }
          const matched = (0, resolve_workspace_range_1.resolveWorkspaceRange)(rawSpec, versions);
          if (!matched) {
            unmatched.push({ pkgName: depName, range: rawSpec });
            return "";
          }
          const matchedPkg = pkgs2.find((pkg2) => pkg2.manifest.name === depName && pkg2.manifest.version === matched);
          return matchedPkg.rootDir;
        }).filter(Boolean);
      }
    }
    function createPkgMap(pkgs) {
      const pkgMap = {};
      for (const pkg of pkgs) {
        pkgMap[pkg.rootDir] = pkg;
      }
      return pkgMap;
    }
    function getPkgMapByManifestName(pkgMapValues) {
      const pkgMapByManifestName = {};
      for (const pkg of pkgMapValues) {
        if (pkg.manifest.name) {
          (pkgMapByManifestName[pkg.manifest.name] ??= []).push(pkg);
        }
      }
      return pkgMapByManifestName;
    }
    function getPkgMapByDir(pkgMapValues) {
      const pkgMapByDir = {};
      for (const pkg of pkgMapValues) {
        pkgMapByDir[path_1.default.resolve(pkg.rootDir)] = pkg;
      }
      return pkgMapByDir;
    }
  }
});

// ../node_modules/.pnpm/is-subdir@1.2.0/node_modules/is-subdir/index.js
var require_is_subdir = __commonJS({
  "../node_modules/.pnpm/is-subdir@1.2.0/node_modules/is-subdir/index.js"(exports2, module2) {
    "use strict";
    var betterPathResolve = require_better_path_resolve();
    var path2 = require("path");
    function isSubdir(parentDir, subdir) {
      const rParent = `${betterPathResolve(parentDir)}${path2.sep}`;
      const rDir = `${betterPathResolve(subdir)}${path2.sep}`;
      return rDir.startsWith(rParent);
    }
    isSubdir.strict = function isSubdirStrict(parentDir, subdir) {
      const rParent = `${betterPathResolve(parentDir)}${path2.sep}`;
      const rDir = `${betterPathResolve(subdir)}${path2.sep}`;
      return rDir !== rParent && rDir.startsWith(rParent);
    };
    module2.exports = isSubdir;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_filter.js
var require_filter2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_filter.js"(exports2, module2) {
    function _filter(fn, list) {
      var idx = 0;
      var len = list.length;
      var result2 = [];
      while (idx < len) {
        if (fn(list[idx])) {
          result2[result2.length] = list[idx];
        }
        idx += 1;
      }
      return result2;
    }
    module2.exports = _filter;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isObject.js
var require_isObject = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isObject.js"(exports2, module2) {
    function _isObject(x) {
      return Object.prototype.toString.call(x) === "[object Object]";
    }
    module2.exports = _isObject;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfilter.js
var require_xfilter = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfilter.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XFilter = /* @__PURE__ */ function() {
      function XFilter2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XFilter2.prototype["@@transducer/init"] = _xfBase.init;
      XFilter2.prototype["@@transducer/result"] = _xfBase.result;
      XFilter2.prototype["@@transducer/step"] = function(result2, input) {
        return this.f(input) ? this.xf["@@transducer/step"](result2, input) : result2;
      };
      return XFilter2;
    }();
    var _xfilter = /* @__PURE__ */ _curry2(function _xfilter2(f, xf) {
      return new XFilter(f, xf);
    });
    module2.exports = _xfilter;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/filter.js
var require_filter3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/filter.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _filter = require_filter2();
    var _isObject = require_isObject();
    var _reduce = require_reduce();
    var _xfilter = require_xfilter();
    var keys = require_keys();
    var filter = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["fantasy-land/filter", "filter"], _xfilter, function(pred, filterable) {
        return _isObject(filterable) ? _reduce(function(acc, key) {
          if (pred(filterable[key])) {
            acc[key] = filterable[key];
          }
          return acc;
        }, {}, keys(filterable)) : (
          // else
          _filter(pred, filterable)
        );
      })
    );
    module2.exports = filter;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/max.js
var require_max2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/max.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var max = /* @__PURE__ */ _curry2(function max2(a, b) {
      return b > a ? b : a;
    });
    module2.exports = max;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isInteger.js
var require_isInteger = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isInteger.js"(exports2, module2) {
    module2.exports = Number.isInteger || function _isInteger(n) {
      return n << 0 === n;
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nth.js
var require_nth = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nth.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isString = require_isString();
    var nth = /* @__PURE__ */ _curry2(function nth2(offset, list) {
      var idx = offset < 0 ? list.length + offset : offset;
      return _isString(list) ? list.charAt(idx) : list[idx];
    });
    module2.exports = nth;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prop.js
var require_prop = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prop.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isInteger = require_isInteger();
    var nth = require_nth();
    var prop = /* @__PURE__ */ _curry2(function prop2(p, obj) {
      if (obj == null) {
        return;
      }
      return _isInteger(p) ? nth(p, obj) : obj[p];
    });
    module2.exports = prop;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pluck.js
var require_pluck2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pluck.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var map = require_map3();
    var prop = require_prop();
    var pluck = /* @__PURE__ */ _curry2(function pluck2(p, list) {
      return map(prop(p), list);
    });
    module2.exports = pluck;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry3.js
var require_curry3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_curry3.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _curry2 = require_curry2();
    var _isPlaceholder = require_isPlaceholder();
    function _curry3(fn) {
      return function f3(a, b, c) {
        switch (arguments.length) {
          case 0:
            return f3;
          case 1:
            return _isPlaceholder(a) ? f3 : _curry2(function(_b, _c) {
              return fn(a, _b, _c);
            });
          case 2:
            return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function(_a, _c) {
              return fn(_a, b, _c);
            }) : _isPlaceholder(b) ? _curry2(function(_b, _c) {
              return fn(a, _b, _c);
            }) : _curry1(function(_c) {
              return fn(a, b, _c);
            });
          default:
            return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function(_a, _b) {
              return fn(_a, _b, c);
            }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function(_a, _c) {
              return fn(_a, b, _c);
            }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function(_b, _c) {
              return fn(a, _b, _c);
            }) : _isPlaceholder(a) ? _curry1(function(_a) {
              return fn(_a, b, c);
            }) : _isPlaceholder(b) ? _curry1(function(_b) {
              return fn(a, _b, c);
            }) : _isPlaceholder(c) ? _curry1(function(_c) {
              return fn(a, b, _c);
            }) : fn(a, b, c);
        }
      };
    }
    module2.exports = _curry3;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduce.js
var require_reduce3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduce.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _reduce = require_reduce();
    var reduce = /* @__PURE__ */ _curry3(_reduce);
    module2.exports = reduce;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/converge.js
var require_converge = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/converge.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _map = require_map2();
    var curryN = require_curryN2();
    var max = require_max2();
    var pluck = require_pluck2();
    var reduce = require_reduce3();
    var converge = /* @__PURE__ */ _curry2(function converge2(after, fns) {
      return curryN(reduce(max, 0, pluck("length", fns)), function() {
        var args = arguments;
        var context = this;
        return after.apply(context, _map(function(fn) {
          return fn.apply(context, args);
        }, fns));
      });
    });
    module2.exports = converge;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/juxt.js
var require_juxt = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/juxt.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var converge = require_converge();
    var juxt = /* @__PURE__ */ _curry1(function juxt2(fns) {
      return converge(function() {
        return Array.prototype.slice.call(arguments, 0);
      }, fns);
    });
    module2.exports = juxt;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_complement.js
var require_complement = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_complement.js"(exports2, module2) {
    function _complement(f) {
      return function() {
        return !f.apply(this, arguments);
      };
    }
    module2.exports = _complement;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reject.js
var require_reject = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reject.js"(exports2, module2) {
    var _complement = require_complement();
    var _curry2 = require_curry2();
    var filter = require_filter3();
    var reject = /* @__PURE__ */ _curry2(function reject2(pred, filterable) {
      return filter(_complement(pred), filterable);
    });
    module2.exports = reject;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partition.js
var require_partition4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partition.js"(exports2, module2) {
    var filter = require_filter3();
    var juxt = require_juxt();
    var reject = require_reject();
    var partition = /* @__PURE__ */ juxt([filter, reject]);
    module2.exports = partition;
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js
var require_utils5 = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/utils.js"(exports2) {
    "use strict";
    exports2.isInteger = (num) => {
      if (typeof num === "number") {
        return Number.isInteger(num);
      }
      if (typeof num === "string" && num.trim() !== "") {
        return Number.isInteger(Number(num));
      }
      return false;
    };
    exports2.find = (node, type) => node.nodes.find((node2) => node2.type === type);
    exports2.exceedsLimit = (min, max, step = 1, limit) => {
      if (limit === false) return false;
      if (!exports2.isInteger(min) || !exports2.isInteger(max)) return false;
      return (Number(max) - Number(min)) / Number(step) >= limit;
    };
    exports2.escapeNode = (block, n = 0, type) => {
      const node = block.nodes[n];
      if (!node) return;
      if (type && node.type === type || node.type === "open" || node.type === "close") {
        if (node.escaped !== true) {
          node.value = "\\" + node.value;
          node.escaped = true;
        }
      }
    };
    exports2.encloseBrace = (node) => {
      if (node.type !== "brace") return false;
      if (node.commas >> 0 + node.ranges >> 0 === 0) {
        node.invalid = true;
        return true;
      }
      return false;
    };
    exports2.isInvalidBrace = (block) => {
      if (block.type !== "brace") return false;
      if (block.invalid === true || block.dollar) return true;
      if (block.commas >> 0 + block.ranges >> 0 === 0) {
        block.invalid = true;
        return true;
      }
      if (block.open !== true || block.close !== true) {
        block.invalid = true;
        return true;
      }
      return false;
    };
    exports2.isOpenOrClose = (node) => {
      if (node.type === "open" || node.type === "close") {
        return true;
      }
      return node.open === true || node.close === true;
    };
    exports2.reduce = (nodes) => nodes.reduce((acc, node) => {
      if (node.type === "text") acc.push(node.value);
      if (node.type === "range") node.type = "text";
      return acc;
    }, []);
    exports2.flatten = (...args) => {
      const result2 = [];
      const flat = (arr) => {
        for (let i = 0; i < arr.length; i++) {
          const ele = arr[i];
          if (Array.isArray(ele)) {
            flat(ele);
            continue;
          }
          if (ele !== void 0) {
            result2.push(ele);
          }
        }
        return result2;
      };
      flat(args);
      return result2;
    };
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js
var require_stringify3 = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/stringify.js"(exports2, module2) {
    "use strict";
    var utils = require_utils5();
    module2.exports = (ast, options = {}) => {
      const stringify2 = (node, parent = {}) => {
        const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
        const invalidNode = node.invalid === true && options.escapeInvalid === true;
        let output = "";
        if (node.value) {
          if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
            return "\\" + node.value;
          }
          return node.value;
        }
        if (node.value) {
          return node.value;
        }
        if (node.nodes) {
          for (const child of node.nodes) {
            output += stringify2(child);
          }
        }
        return output;
      };
      return stringify2(ast);
    };
  }
});

// ../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js
var require_is_number = __commonJS({
  "../node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function(num) {
      if (typeof num === "number") {
        return num - num === 0;
      }
      if (typeof num === "string" && num.trim() !== "") {
        return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
      }
      return false;
    };
  }
});

// ../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js
var require_to_regex_range = __commonJS({
  "../node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.js"(exports2, module2) {
    "use strict";
    var isNumber = require_is_number();
    var toRegexRange = (min, max, options) => {
      if (isNumber(min) === false) {
        throw new TypeError("toRegexRange: expected the first argument to be a number");
      }
      if (max === void 0 || min === max) {
        return String(min);
      }
      if (isNumber(max) === false) {
        throw new TypeError("toRegexRange: expected the second argument to be a number.");
      }
      let opts = { relaxZeros: true, ...options };
      if (typeof opts.strictZeros === "boolean") {
        opts.relaxZeros = opts.strictZeros === false;
      }
      let relax = String(opts.relaxZeros);
      let shorthand = String(opts.shorthand);
      let capture = String(opts.capture);
      let wrap = String(opts.wrap);
      let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
      if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
        return toRegexRange.cache[cacheKey].result;
      }
      let a = Math.min(min, max);
      let b = Math.max(min, max);
      if (Math.abs(a - b) === 1) {
        let result2 = min + "|" + max;
        if (opts.capture) {
          return `(${result2})`;
        }
        if (opts.wrap === false) {
          return result2;
        }
        return `(?:${result2})`;
      }
      let isPadded = hasPadding(min) || hasPadding(max);
      let state = { min, max, a, b };
      let positives = [];
      let negatives = [];
      if (isPadded) {
        state.isPadded = isPadded;
        state.maxLen = String(state.max).length;
      }
      if (a < 0) {
        let newMin = b < 0 ? Math.abs(b) : 1;
        negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
        a = state.a = 0;
      }
      if (b >= 0) {
        positives = splitToPatterns(a, b, state, opts);
      }
      state.negatives = negatives;
      state.positives = positives;
      state.result = collatePatterns(negatives, positives, opts);
      if (opts.capture === true) {
        state.result = `(${state.result})`;
      } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
        state.result = `(?:${state.result})`;
      }
      toRegexRange.cache[cacheKey] = state;
      return state.result;
    };
    function collatePatterns(neg, pos, options) {
      let onlyNegative = filterPatterns(neg, pos, "-", false, options) || [];
      let onlyPositive = filterPatterns(pos, neg, "", false, options) || [];
      let intersected = filterPatterns(neg, pos, "-?", true, options) || [];
      let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
      return subpatterns.join("|");
    }
    function splitToRanges(min, max) {
      let nines = 1;
      let zeros = 1;
      let stop = countNines(min, nines);
      let stops = /* @__PURE__ */ new Set([max]);
      while (min <= stop && stop <= max) {
        stops.add(stop);
        nines += 1;
        stop = countNines(min, nines);
      }
      stop = countZeros(max + 1, zeros) - 1;
      while (min < stop && stop <= max) {
        stops.add(stop);
        zeros += 1;
        stop = countZeros(max + 1, zeros) - 1;
      }
      stops = [...stops];
      stops.sort(compare);
      return stops;
    }
    function rangeToPattern(start, stop, options) {
      if (start === stop) {
        return { pattern: start, count: [], digits: 0 };
      }
      let zipped = zip(start, stop);
      let digits = zipped.length;
      let pattern = "";
      let count = 0;
      for (let i = 0; i < digits; i++) {
        let [startDigit, stopDigit] = zipped[i];
        if (startDigit === stopDigit) {
          pattern += startDigit;
        } else if (startDigit !== "0" || stopDigit !== "9") {
          pattern += toCharacterClass(startDigit, stopDigit, options);
        } else {
          count++;
        }
      }
      if (count) {
        pattern += options.shorthand === true ? "\\d" : "[0-9]";
      }
      return { pattern, count: [count], digits };
    }
    function splitToPatterns(min, max, tok, options) {
      let ranges = splitToRanges(min, max);
      let tokens = [];
      let start = min;
      let prev;
      for (let i = 0; i < ranges.length; i++) {
        let max2 = ranges[i];
        let obj = rangeToPattern(String(start), String(max2), options);
        let zeros = "";
        if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
          if (prev.count.length > 1) {
            prev.count.pop();
          }
          prev.count.push(obj.count[0]);
          prev.string = prev.pattern + toQuantifier(prev.count);
          start = max2 + 1;
          continue;
        }
        if (tok.isPadded) {
          zeros = padZeros(max2, tok, options);
        }
        obj.string = zeros + obj.pattern + toQuantifier(obj.count);
        tokens.push(obj);
        start = max2 + 1;
        prev = obj;
      }
      return tokens;
    }
    function filterPatterns(arr, comparison, prefix, intersection, options) {
      let result2 = [];
      for (let ele of arr) {
        let { string } = ele;
        if (!intersection && !contains(comparison, "string", string)) {
          result2.push(prefix + string);
        }
        if (intersection && contains(comparison, "string", string)) {
          result2.push(prefix + string);
        }
      }
      return result2;
    }
    function zip(a, b) {
      let arr = [];
      for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);
      return arr;
    }
    function compare(a, b) {
      return a > b ? 1 : b > a ? -1 : 0;
    }
    function contains(arr, key, val) {
      return arr.some((ele) => ele[key] === val);
    }
    function countNines(min, len) {
      return Number(String(min).slice(0, -len) + "9".repeat(len));
    }
    function countZeros(integer, zeros) {
      return integer - integer % Math.pow(10, zeros);
    }
    function toQuantifier(digits) {
      let [start = 0, stop = ""] = digits;
      if (stop || start > 1) {
        return `{${start + (stop ? "," + stop : "")}}`;
      }
      return "";
    }
    function toCharacterClass(a, b, options) {
      return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
    }
    function hasPadding(str) {
      return /^-?(0+)\d/.test(str);
    }
    function padZeros(value, tok, options) {
      if (!tok.isPadded) {
        return value;
      }
      let diff = Math.abs(tok.maxLen - String(value).length);
      let relax = options.relaxZeros !== false;
      switch (diff) {
        case 0:
          return "";
        case 1:
          return relax ? "0?" : "0";
        case 2:
          return relax ? "0{0,2}" : "00";
        default: {
          return relax ? `0{0,${diff}}` : `0{${diff}}`;
        }
      }
    }
    toRegexRange.cache = {};
    toRegexRange.clearCache = () => toRegexRange.cache = {};
    module2.exports = toRegexRange;
  }
});

// ../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js
var require_fill_range = __commonJS({
  "../node_modules/.pnpm/fill-range@7.1.1/node_modules/fill-range/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var toRegexRange = require_to_regex_range();
    var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
    var transform = (toNumber) => {
      return (value) => toNumber === true ? Number(value) : String(value);
    };
    var isValidValue = (value) => {
      return typeof value === "number" || typeof value === "string" && value !== "";
    };
    var isNumber = (num) => Number.isInteger(+num);
    var zeros = (input) => {
      let value = `${input}`;
      let index = -1;
      if (value[0] === "-") value = value.slice(1);
      if (value === "0") return false;
      while (value[++index] === "0") ;
      return index > 0;
    };
    var stringify2 = (start, end, options) => {
      if (typeof start === "string" || typeof end === "string") {
        return true;
      }
      return options.stringify === true;
    };
    var pad = (input, maxLength, toNumber) => {
      if (maxLength > 0) {
        let dash = input[0] === "-" ? "-" : "";
        if (dash) input = input.slice(1);
        input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
      }
      if (toNumber === false) {
        return String(input);
      }
      return input;
    };
    var toMaxLen = (input, maxLength) => {
      let negative = input[0] === "-" ? "-" : "";
      if (negative) {
        input = input.slice(1);
        maxLength--;
      }
      while (input.length < maxLength) input = "0" + input;
      return negative ? "-" + input : input;
    };
    var toSequence = (parts, options, maxLen) => {
      parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
      parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
      let prefix = options.capture ? "" : "?:";
      let positives = "";
      let negatives = "";
      let result2;
      if (parts.positives.length) {
        positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|");
      }
      if (parts.negatives.length) {
        negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`;
      }
      if (positives && negatives) {
        result2 = `${positives}|${negatives}`;
      } else {
        result2 = positives || negatives;
      }
      if (options.wrap) {
        return `(${prefix}${result2})`;
      }
      return result2;
    };
    var toRange = (a, b, isNumbers, options) => {
      if (isNumbers) {
        return toRegexRange(a, b, { wrap: false, ...options });
      }
      let start = String.fromCharCode(a);
      if (a === b) return start;
      let stop = String.fromCharCode(b);
      return `[${start}-${stop}]`;
    };
    var toRegex = (start, end, options) => {
      if (Array.isArray(start)) {
        let wrap = options.wrap === true;
        let prefix = options.capture ? "" : "?:";
        return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
      }
      return toRegexRange(start, end, options);
    };
    var rangeError = (...args) => {
      return new RangeError("Invalid range arguments: " + util.inspect(...args));
    };
    var invalidRange = (start, end, options) => {
      if (options.strictRanges === true) throw rangeError([start, end]);
      return [];
    };
    var invalidStep = (step, options) => {
      if (options.strictRanges === true) {
        throw new TypeError(`Expected step "${step}" to be a number`);
      }
      return [];
    };
    var fillNumbers = (start, end, step = 1, options = {}) => {
      let a = Number(start);
      let b = Number(end);
      if (!Number.isInteger(a) || !Number.isInteger(b)) {
        if (options.strictRanges === true) throw rangeError([start, end]);
        return [];
      }
      if (a === 0) a = 0;
      if (b === 0) b = 0;
      let descending = a > b;
      let startString = String(start);
      let endString = String(end);
      let stepString = String(step);
      step = Math.max(Math.abs(step), 1);
      let padded = zeros(startString) || zeros(endString) || zeros(stepString);
      let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
      let toNumber = padded === false && stringify2(start, end, options) === false;
      let format = options.transform || transform(toNumber);
      if (options.toRegex && step === 1) {
        return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
      }
      let parts = { negatives: [], positives: [] };
      let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num));
      let range = [];
      let index = 0;
      while (descending ? a >= b : a <= b) {
        if (options.toRegex === true && step > 1) {
          push(a);
        } else {
          range.push(pad(format(a, index), maxLen, toNumber));
        }
        a = descending ? a - step : a + step;
        index++;
      }
      if (options.toRegex === true) {
        return step > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options });
      }
      return range;
    };
    var fillLetters = (start, end, step = 1, options = {}) => {
      if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
        return invalidRange(start, end, options);
      }
      let format = options.transform || ((val) => String.fromCharCode(val));
      let a = `${start}`.charCodeAt(0);
      let b = `${end}`.charCodeAt(0);
      let descending = a > b;
      let min = Math.min(a, b);
      let max = Math.max(a, b);
      if (options.toRegex && step === 1) {
        return toRange(min, max, false, options);
      }
      let range = [];
      let index = 0;
      while (descending ? a >= b : a <= b) {
        range.push(format(a, index));
        a = descending ? a - step : a + step;
        index++;
      }
      if (options.toRegex === true) {
        return toRegex(range, null, { wrap: false, options });
      }
      return range;
    };
    var fill = (start, end, step, options = {}) => {
      if (end == null && isValidValue(start)) {
        return [start];
      }
      if (!isValidValue(start) || !isValidValue(end)) {
        return invalidRange(start, end, options);
      }
      if (typeof step === "function") {
        return fill(start, end, 1, { transform: step });
      }
      if (isObject(step)) {
        return fill(start, end, 0, step);
      }
      let opts = { ...options };
      if (opts.capture === true) opts.wrap = true;
      step = step || opts.step || 1;
      if (!isNumber(step)) {
        if (step != null && !isObject(step)) return invalidStep(step, opts);
        return fill(start, end, 1, step);
      }
      if (isNumber(start) && isNumber(end)) {
        return fillNumbers(start, end, step, opts);
      }
      return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
    };
    module2.exports = fill;
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js
var require_compile = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/compile.js"(exports2, module2) {
    "use strict";
    var fill = require_fill_range();
    var utils = require_utils5();
    var compile = (ast, options = {}) => {
      const walk = (node, parent = {}) => {
        const invalidBlock = utils.isInvalidBrace(parent);
        const invalidNode = node.invalid === true && options.escapeInvalid === true;
        const invalid = invalidBlock === true || invalidNode === true;
        const prefix = options.escapeInvalid === true ? "\\" : "";
        let output = "";
        if (node.isOpen === true) {
          return prefix + node.value;
        }
        if (node.isClose === true) {
          console.log("node.isClose", prefix, node.value);
          return prefix + node.value;
        }
        if (node.type === "open") {
          return invalid ? prefix + node.value : "(";
        }
        if (node.type === "close") {
          return invalid ? prefix + node.value : ")";
        }
        if (node.type === "comma") {
          return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
        }
        if (node.value) {
          return node.value;
        }
        if (node.nodes && node.ranges > 0) {
          const args = utils.reduce(node.nodes);
          const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });
          if (range.length !== 0) {
            return args.length > 1 && range.length > 1 ? `(${range})` : range;
          }
        }
        if (node.nodes) {
          for (const child of node.nodes) {
            output += walk(child, node);
          }
        }
        return output;
      };
      return walk(ast);
    };
    module2.exports = compile;
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js
var require_expand2 = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/expand.js"(exports2, module2) {
    "use strict";
    var fill = require_fill_range();
    var stringify2 = require_stringify3();
    var utils = require_utils5();
    var append = (queue = "", stash = "", enclose = false) => {
      const result2 = [];
      queue = [].concat(queue);
      stash = [].concat(stash);
      if (!stash.length) return queue;
      if (!queue.length) {
        return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
      }
      for (const item of queue) {
        if (Array.isArray(item)) {
          for (const value of item) {
            result2.push(append(value, stash, enclose));
          }
        } else {
          for (let ele of stash) {
            if (enclose === true && typeof ele === "string") ele = `{${ele}}`;
            result2.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
          }
        }
      }
      return utils.flatten(result2);
    };
    var expand = (ast, options = {}) => {
      const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit;
      const walk = (node, parent = {}) => {
        node.queue = [];
        let p = parent;
        let q = parent.queue;
        while (p.type !== "brace" && p.type !== "root" && p.parent) {
          p = p.parent;
          q = p.queue;
        }
        if (node.invalid || node.dollar) {
          q.push(append(q.pop(), stringify2(node, options)));
          return;
        }
        if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
          q.push(append(q.pop(), ["{}"]));
          return;
        }
        if (node.nodes && node.ranges > 0) {
          const args = utils.reduce(node.nodes);
          if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
            throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
          }
          let range = fill(...args, options);
          if (range.length === 0) {
            range = stringify2(node, options);
          }
          q.push(append(q.pop(), range));
          node.nodes = [];
          return;
        }
        const enclose = utils.encloseBrace(node);
        let queue = node.queue;
        let block = node;
        while (block.type !== "brace" && block.type !== "root" && block.parent) {
          block = block.parent;
          queue = block.queue;
        }
        for (let i = 0; i < node.nodes.length; i++) {
          const child = node.nodes[i];
          if (child.type === "comma" && node.type === "brace") {
            if (i === 1) queue.push("");
            queue.push("");
            continue;
          }
          if (child.type === "close") {
            q.push(append(q.pop(), queue, enclose));
            continue;
          }
          if (child.value && child.type !== "open") {
            queue.push(append(queue.pop(), child.value));
            continue;
          }
          if (child.nodes) {
            walk(child, node);
          }
        }
        return queue;
      };
      return utils.flatten(walk(ast));
    };
    module2.exports = expand;
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js
var require_constants4 = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/constants.js"(exports2, module2) {
    "use strict";
    module2.exports = {
      MAX_LENGTH: 1e4,
      // Digits
      CHAR_0: "0",
      /* 0 */
      CHAR_9: "9",
      /* 9 */
      // Alphabet chars.
      CHAR_UPPERCASE_A: "A",
      /* A */
      CHAR_LOWERCASE_A: "a",
      /* a */
      CHAR_UPPERCASE_Z: "Z",
      /* Z */
      CHAR_LOWERCASE_Z: "z",
      /* z */
      CHAR_LEFT_PARENTHESES: "(",
      /* ( */
      CHAR_RIGHT_PARENTHESES: ")",
      /* ) */
      CHAR_ASTERISK: "*",
      /* * */
      // Non-alphabetic chars.
      CHAR_AMPERSAND: "&",
      /* & */
      CHAR_AT: "@",
      /* @ */
      CHAR_BACKSLASH: "\\",
      /* \ */
      CHAR_BACKTICK: "`",
      /* ` */
      CHAR_CARRIAGE_RETURN: "\r",
      /* \r */
      CHAR_CIRCUMFLEX_ACCENT: "^",
      /* ^ */
      CHAR_COLON: ":",
      /* : */
      CHAR_COMMA: ",",
      /* , */
      CHAR_DOLLAR: "$",
      /* . */
      CHAR_DOT: ".",
      /* . */
      CHAR_DOUBLE_QUOTE: '"',
      /* " */
      CHAR_EQUAL: "=",
      /* = */
      CHAR_EXCLAMATION_MARK: "!",
      /* ! */
      CHAR_FORM_FEED: "\f",
      /* \f */
      CHAR_FORWARD_SLASH: "/",
      /* / */
      CHAR_HASH: "#",
      /* # */
      CHAR_HYPHEN_MINUS: "-",
      /* - */
      CHAR_LEFT_ANGLE_BRACKET: "<",
      /* < */
      CHAR_LEFT_CURLY_BRACE: "{",
      /* { */
      CHAR_LEFT_SQUARE_BRACKET: "[",
      /* [ */
      CHAR_LINE_FEED: "\n",
      /* \n */
      CHAR_NO_BREAK_SPACE: "\xA0",
      /* \u00A0 */
      CHAR_PERCENT: "%",
      /* % */
      CHAR_PLUS: "+",
      /* + */
      CHAR_QUESTION_MARK: "?",
      /* ? */
      CHAR_RIGHT_ANGLE_BRACKET: ">",
      /* > */
      CHAR_RIGHT_CURLY_BRACE: "}",
      /* } */
      CHAR_RIGHT_SQUARE_BRACKET: "]",
      /* ] */
      CHAR_SEMICOLON: ";",
      /* ; */
      CHAR_SINGLE_QUOTE: "'",
      /* ' */
      CHAR_SPACE: " ",
      /*   */
      CHAR_TAB: "	",
      /* \t */
      CHAR_UNDERSCORE: "_",
      /* _ */
      CHAR_VERTICAL_LINE: "|",
      /* | */
      CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
      /* \uFEFF */
    };
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js
var require_parse5 = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/lib/parse.js"(exports2, module2) {
    "use strict";
    var stringify2 = require_stringify3();
    var {
      MAX_LENGTH,
      CHAR_BACKSLASH,
      /* \ */
      CHAR_BACKTICK,
      /* ` */
      CHAR_COMMA,
      /* , */
      CHAR_DOT,
      /* . */
      CHAR_LEFT_PARENTHESES,
      /* ( */
      CHAR_RIGHT_PARENTHESES,
      /* ) */
      CHAR_LEFT_CURLY_BRACE,
      /* { */
      CHAR_RIGHT_CURLY_BRACE,
      /* } */
      CHAR_LEFT_SQUARE_BRACKET,
      /* [ */
      CHAR_RIGHT_SQUARE_BRACKET,
      /* ] */
      CHAR_DOUBLE_QUOTE,
      /* " */
      CHAR_SINGLE_QUOTE,
      /* ' */
      CHAR_NO_BREAK_SPACE,
      CHAR_ZERO_WIDTH_NOBREAK_SPACE
    } = require_constants4();
    var parse2 = (input, options = {}) => {
      if (typeof input !== "string") {
        throw new TypeError("Expected a string");
      }
      const opts = options || {};
      const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
      if (input.length > max) {
        throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
      }
      const ast = { type: "root", input, nodes: [] };
      const stack = [ast];
      let block = ast;
      let prev = ast;
      let brackets = 0;
      const length = input.length;
      let index = 0;
      let depth = 0;
      let value;
      const advance = () => input[index++];
      const push = (node) => {
        if (node.type === "text" && prev.type === "dot") {
          prev.type = "text";
        }
        if (prev && prev.type === "text" && node.type === "text") {
          prev.value += node.value;
          return;
        }
        block.nodes.push(node);
        node.parent = block;
        node.prev = prev;
        prev = node;
        return node;
      };
      push({ type: "bos" });
      while (index < length) {
        block = stack[stack.length - 1];
        value = advance();
        if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
          continue;
        }
        if (value === CHAR_BACKSLASH) {
          push({ type: "text", value: (options.keepEscaping ? value : "") + advance() });
          continue;
        }
        if (value === CHAR_RIGHT_SQUARE_BRACKET) {
          push({ type: "text", value: "\\" + value });
          continue;
        }
        if (value === CHAR_LEFT_SQUARE_BRACKET) {
          brackets++;
          let next;
          while (index < length && (next = advance())) {
            value += next;
            if (next === CHAR_LEFT_SQUARE_BRACKET) {
              brackets++;
              continue;
            }
            if (next === CHAR_BACKSLASH) {
              value += advance();
              continue;
            }
            if (next === CHAR_RIGHT_SQUARE_BRACKET) {
              brackets--;
              if (brackets === 0) {
                break;
              }
            }
          }
          push({ type: "text", value });
          continue;
        }
        if (value === CHAR_LEFT_PARENTHESES) {
          block = push({ type: "paren", nodes: [] });
          stack.push(block);
          push({ type: "text", value });
          continue;
        }
        if (value === CHAR_RIGHT_PARENTHESES) {
          if (block.type !== "paren") {
            push({ type: "text", value });
            continue;
          }
          block = stack.pop();
          push({ type: "text", value });
          block = stack[stack.length - 1];
          continue;
        }
        if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
          const open = value;
          let next;
          if (options.keepQuotes !== true) {
            value = "";
          }
          while (index < length && (next = advance())) {
            if (next === CHAR_BACKSLASH) {
              value += next + advance();
              continue;
            }
            if (next === open) {
              if (options.keepQuotes === true) value += next;
              break;
            }
            value += next;
          }
          push({ type: "text", value });
          continue;
        }
        if (value === CHAR_LEFT_CURLY_BRACE) {
          depth++;
          const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
          const brace = {
            type: "brace",
            open: true,
            close: false,
            dollar,
            depth,
            commas: 0,
            ranges: 0,
            nodes: []
          };
          block = push(brace);
          stack.push(block);
          push({ type: "open", value });
          continue;
        }
        if (value === CHAR_RIGHT_CURLY_BRACE) {
          if (block.type !== "brace") {
            push({ type: "text", value });
            continue;
          }
          const type = "close";
          block = stack.pop();
          block.close = true;
          push({ type, value });
          depth--;
          block = stack[stack.length - 1];
          continue;
        }
        if (value === CHAR_COMMA && depth > 0) {
          if (block.ranges > 0) {
            block.ranges = 0;
            const open = block.nodes.shift();
            block.nodes = [open, { type: "text", value: stringify2(block) }];
          }
          push({ type: "comma", value });
          block.commas++;
          continue;
        }
        if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
          const siblings = block.nodes;
          if (depth === 0 || siblings.length === 0) {
            push({ type: "text", value });
            continue;
          }
          if (prev.type === "dot") {
            block.range = [];
            prev.value += value;
            prev.type = "range";
            if (block.nodes.length !== 3 && block.nodes.length !== 5) {
              block.invalid = true;
              block.ranges = 0;
              prev.type = "text";
              continue;
            }
            block.ranges++;
            block.args = [];
            continue;
          }
          if (prev.type === "range") {
            siblings.pop();
            const before = siblings[siblings.length - 1];
            before.value += prev.value + value;
            prev = before;
            block.ranges--;
            continue;
          }
          push({ type: "dot", value });
          continue;
        }
        push({ type: "text", value });
      }
      do {
        block = stack.pop();
        if (block.type !== "root") {
          block.nodes.forEach((node) => {
            if (!node.nodes) {
              if (node.type === "open") node.isOpen = true;
              if (node.type === "close") node.isClose = true;
              if (!node.nodes) node.type = "text";
              node.invalid = true;
            }
          });
          const parent = stack[stack.length - 1];
          const index2 = parent.nodes.indexOf(block);
          parent.nodes.splice(index2, 1, ...block.nodes);
        }
      } while (stack.length > 0);
      push({ type: "eos" });
      return ast;
    };
    module2.exports = parse2;
  }
});

// ../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js
var require_braces = __commonJS({
  "../node_modules/.pnpm/braces@3.0.3/node_modules/braces/index.js"(exports2, module2) {
    "use strict";
    var stringify2 = require_stringify3();
    var compile = require_compile();
    var expand = require_expand2();
    var parse2 = require_parse5();
    var braces = (input, options = {}) => {
      let output = [];
      if (Array.isArray(input)) {
        for (const pattern of input) {
          const result2 = braces.create(pattern, options);
          if (Array.isArray(result2)) {
            output.push(...result2);
          } else {
            output.push(result2);
          }
        }
      } else {
        output = [].concat(braces.create(input, options));
      }
      if (options && options.expand === true && options.nodupes === true) {
        output = [...new Set(output)];
      }
      return output;
    };
    braces.parse = (input, options = {}) => parse2(input, options);
    braces.stringify = (input, options = {}) => {
      if (typeof input === "string") {
        return stringify2(braces.parse(input, options), options);
      }
      return stringify2(input, options);
    };
    braces.compile = (input, options = {}) => {
      if (typeof input === "string") {
        input = braces.parse(input, options);
      }
      return compile(input, options);
    };
    braces.expand = (input, options = {}) => {
      if (typeof input === "string") {
        input = braces.parse(input, options);
      }
      let result2 = expand(input, options);
      if (options.noempty === true) {
        result2 = result2.filter(Boolean);
      }
      if (options.nodupes === true) {
        result2 = [...new Set(result2)];
      }
      return result2;
    };
    braces.create = (input, options = {}) => {
      if (input === "" || input.length < 3) {
        return [input];
      }
      return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options);
    };
    module2.exports = braces;
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js
var require_constants5 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var WIN_SLASH = "\\\\/";
    var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
    var DOT_LITERAL = "\\.";
    var PLUS_LITERAL = "\\+";
    var QMARK_LITERAL = "\\?";
    var SLASH_LITERAL = "\\/";
    var ONE_CHAR = "(?=.)";
    var QMARK = "[^/]";
    var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
    var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
    var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
    var NO_DOT = `(?!${DOT_LITERAL})`;
    var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
    var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
    var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
    var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
    var STAR = `${QMARK}*?`;
    var POSIX_CHARS = {
      DOT_LITERAL,
      PLUS_LITERAL,
      QMARK_LITERAL,
      SLASH_LITERAL,
      ONE_CHAR,
      QMARK,
      END_ANCHOR,
      DOTS_SLASH,
      NO_DOT,
      NO_DOTS,
      NO_DOT_SLASH,
      NO_DOTS_SLASH,
      QMARK_NO_DOT,
      STAR,
      START_ANCHOR
    };
    var WINDOWS_CHARS = {
      ...POSIX_CHARS,
      SLASH_LITERAL: `[${WIN_SLASH}]`,
      QMARK: WIN_NO_SLASH,
      STAR: `${WIN_NO_SLASH}*?`,
      DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
      NO_DOT: `(?!${DOT_LITERAL})`,
      NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
      NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
      NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
      QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
      START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
      END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
    };
    var POSIX_REGEX_SOURCE = {
      alnum: "a-zA-Z0-9",
      alpha: "a-zA-Z",
      ascii: "\\x00-\\x7F",
      blank: " \\t",
      cntrl: "\\x00-\\x1F\\x7F",
      digit: "0-9",
      graph: "\\x21-\\x7E",
      lower: "a-z",
      print: "\\x20-\\x7E ",
      punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
      space: " \\t\\r\\n\\v\\f",
      upper: "A-Z",
      word: "A-Za-z0-9_",
      xdigit: "A-Fa-f0-9"
    };
    module2.exports = {
      MAX_LENGTH: 1024 * 64,
      POSIX_REGEX_SOURCE,
      // regular expressions
      REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
      REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
      REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
      REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
      REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
      REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
      // Replace globs with equivalent patterns to reduce parsing time.
      REPLACEMENTS: {
        "***": "*",
        "**/**": "**",
        "**/**/**": "**"
      },
      // Digits
      CHAR_0: 48,
      /* 0 */
      CHAR_9: 57,
      /* 9 */
      // Alphabet chars.
      CHAR_UPPERCASE_A: 65,
      /* A */
      CHAR_LOWERCASE_A: 97,
      /* a */
      CHAR_UPPERCASE_Z: 90,
      /* Z */
      CHAR_LOWERCASE_Z: 122,
      /* z */
      CHAR_LEFT_PARENTHESES: 40,
      /* ( */
      CHAR_RIGHT_PARENTHESES: 41,
      /* ) */
      CHAR_ASTERISK: 42,
      /* * */
      // Non-alphabetic chars.
      CHAR_AMPERSAND: 38,
      /* & */
      CHAR_AT: 64,
      /* @ */
      CHAR_BACKWARD_SLASH: 92,
      /* \ */
      CHAR_CARRIAGE_RETURN: 13,
      /* \r */
      CHAR_CIRCUMFLEX_ACCENT: 94,
      /* ^ */
      CHAR_COLON: 58,
      /* : */
      CHAR_COMMA: 44,
      /* , */
      CHAR_DOT: 46,
      /* . */
      CHAR_DOUBLE_QUOTE: 34,
      /* " */
      CHAR_EQUAL: 61,
      /* = */
      CHAR_EXCLAMATION_MARK: 33,
      /* ! */
      CHAR_FORM_FEED: 12,
      /* \f */
      CHAR_FORWARD_SLASH: 47,
      /* / */
      CHAR_GRAVE_ACCENT: 96,
      /* ` */
      CHAR_HASH: 35,
      /* # */
      CHAR_HYPHEN_MINUS: 45,
      /* - */
      CHAR_LEFT_ANGLE_BRACKET: 60,
      /* < */
      CHAR_LEFT_CURLY_BRACE: 123,
      /* { */
      CHAR_LEFT_SQUARE_BRACKET: 91,
      /* [ */
      CHAR_LINE_FEED: 10,
      /* \n */
      CHAR_NO_BREAK_SPACE: 160,
      /* \u00A0 */
      CHAR_PERCENT: 37,
      /* % */
      CHAR_PLUS: 43,
      /* + */
      CHAR_QUESTION_MARK: 63,
      /* ? */
      CHAR_RIGHT_ANGLE_BRACKET: 62,
      /* > */
      CHAR_RIGHT_CURLY_BRACE: 125,
      /* } */
      CHAR_RIGHT_SQUARE_BRACKET: 93,
      /* ] */
      CHAR_SEMICOLON: 59,
      /* ; */
      CHAR_SINGLE_QUOTE: 39,
      /* ' */
      CHAR_SPACE: 32,
      /*   */
      CHAR_TAB: 9,
      /* \t */
      CHAR_UNDERSCORE: 95,
      /* _ */
      CHAR_VERTICAL_LINE: 124,
      /* | */
      CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
      /* \uFEFF */
      SEP: path2.sep,
      /**
       * Create EXTGLOB_CHARS
       */
      extglobChars(chars) {
        return {
          "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
          "?": { type: "qmark", open: "(?:", close: ")?" },
          "+": { type: "plus", open: "(?:", close: ")+" },
          "*": { type: "star", open: "(?:", close: ")*" },
          "@": { type: "at", open: "(?:", close: ")" }
        };
      },
      /**
       * Create GLOB_CHARS
       */
      globChars(win32) {
        return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
      }
    };
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js
var require_utils6 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.js"(exports2) {
    "use strict";
    var path2 = require("path");
    var win32 = process.platform === "win32";
    var {
      REGEX_BACKSLASH,
      REGEX_REMOVE_BACKSLASH,
      REGEX_SPECIAL_CHARS,
      REGEX_SPECIAL_CHARS_GLOBAL
    } = require_constants5();
    exports2.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
    exports2.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
    exports2.isRegexChar = (str) => str.length === 1 && exports2.hasRegexChars(str);
    exports2.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
    exports2.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
    exports2.removeBackslashes = (str) => {
      return str.replace(REGEX_REMOVE_BACKSLASH, (match) => {
        return match === "\\" ? "" : match;
      });
    };
    exports2.supportsLookbehinds = () => {
      const segs = process.version.slice(1).split(".").map(Number);
      if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
        return true;
      }
      return false;
    };
    exports2.isWindows = (options) => {
      if (options && typeof options.windows === "boolean") {
        return options.windows;
      }
      return win32 === true || path2.sep === "\\";
    };
    exports2.escapeLast = (input, char, lastIdx) => {
      const idx = input.lastIndexOf(char, lastIdx);
      if (idx === -1) return input;
      if (input[idx - 1] === "\\") return exports2.escapeLast(input, char, idx - 1);
      return `${input.slice(0, idx)}\\${input.slice(idx)}`;
    };
    exports2.removePrefix = (input, state = {}) => {
      let output = input;
      if (output.startsWith("./")) {
        output = output.slice(2);
        state.prefix = "./";
      }
      return output;
    };
    exports2.wrapOutput = (input, state = {}, options = {}) => {
      const prepend = options.contains ? "" : "^";
      const append = options.contains ? "" : "$";
      let output = `${prepend}(?:${input})${append}`;
      if (state.negated === true) {
        output = `(?:^(?!${output}).*$)`;
      }
      return output;
    };
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.js
var require_scan3 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.js"(exports2, module2) {
    "use strict";
    var utils = require_utils6();
    var {
      CHAR_ASTERISK,
      /* * */
      CHAR_AT,
      /* @ */
      CHAR_BACKWARD_SLASH,
      /* \ */
      CHAR_COMMA,
      /* , */
      CHAR_DOT,
      /* . */
      CHAR_EXCLAMATION_MARK,
      /* ! */
      CHAR_FORWARD_SLASH,
      /* / */
      CHAR_LEFT_CURLY_BRACE,
      /* { */
      CHAR_LEFT_PARENTHESES,
      /* ( */
      CHAR_LEFT_SQUARE_BRACKET,
      /* [ */
      CHAR_PLUS,
      /* + */
      CHAR_QUESTION_MARK,
      /* ? */
      CHAR_RIGHT_CURLY_BRACE,
      /* } */
      CHAR_RIGHT_PARENTHESES,
      /* ) */
      CHAR_RIGHT_SQUARE_BRACKET
      /* ] */
    } = require_constants5();
    var isPathSeparator = (code) => {
      return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
    };
    var depth = (token) => {
      if (token.isPrefix !== true) {
        token.depth = token.isGlobstar ? Infinity : 1;
      }
    };
    var scan = (input, options) => {
      const opts = options || {};
      const length = input.length - 1;
      const scanToEnd = opts.parts === true || opts.scanToEnd === true;
      const slashes = [];
      const tokens = [];
      const parts = [];
      let str = input;
      let index = -1;
      let start = 0;
      let lastIndex = 0;
      let isBrace = false;
      let isBracket = false;
      let isGlob = false;
      let isExtglob = false;
      let isGlobstar = false;
      let braceEscaped = false;
      let backslashes = false;
      let negated = false;
      let negatedExtglob = false;
      let finished = false;
      let braces = 0;
      let prev;
      let code;
      let token = { value: "", depth: 0, isGlob: false };
      const eos = () => index >= length;
      const peek = () => str.charCodeAt(index + 1);
      const advance = () => {
        prev = code;
        return str.charCodeAt(++index);
      };
      while (index < length) {
        code = advance();
        let next;
        if (code === CHAR_BACKWARD_SLASH) {
          backslashes = token.backslashes = true;
          code = advance();
          if (code === CHAR_LEFT_CURLY_BRACE) {
            braceEscaped = true;
          }
          continue;
        }
        if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
          braces++;
          while (eos() !== true && (code = advance())) {
            if (code === CHAR_BACKWARD_SLASH) {
              backslashes = token.backslashes = true;
              advance();
              continue;
            }
            if (code === CHAR_LEFT_CURLY_BRACE) {
              braces++;
              continue;
            }
            if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
              isBrace = token.isBrace = true;
              isGlob = token.isGlob = true;
              finished = true;
              if (scanToEnd === true) {
                continue;
              }
              break;
            }
            if (braceEscaped !== true && code === CHAR_COMMA) {
              isBrace = token.isBrace = true;
              isGlob = token.isGlob = true;
              finished = true;
              if (scanToEnd === true) {
                continue;
              }
              break;
            }
            if (code === CHAR_RIGHT_CURLY_BRACE) {
              braces--;
              if (braces === 0) {
                braceEscaped = false;
                isBrace = token.isBrace = true;
                finished = true;
                break;
              }
            }
          }
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_FORWARD_SLASH) {
          slashes.push(index);
          tokens.push(token);
          token = { value: "", depth: 0, isGlob: false };
          if (finished === true) continue;
          if (prev === CHAR_DOT && index === start + 1) {
            start += 2;
            continue;
          }
          lastIndex = index + 1;
          continue;
        }
        if (opts.noext !== true) {
          const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
          if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
            isGlob = token.isGlob = true;
            isExtglob = token.isExtglob = true;
            finished = true;
            if (code === CHAR_EXCLAMATION_MARK && index === start) {
              negatedExtglob = true;
            }
            if (scanToEnd === true) {
              while (eos() !== true && (code = advance())) {
                if (code === CHAR_BACKWARD_SLASH) {
                  backslashes = token.backslashes = true;
                  code = advance();
                  continue;
                }
                if (code === CHAR_RIGHT_PARENTHESES) {
                  isGlob = token.isGlob = true;
                  finished = true;
                  break;
                }
              }
              continue;
            }
            break;
          }
        }
        if (code === CHAR_ASTERISK) {
          if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
          isGlob = token.isGlob = true;
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_QUESTION_MARK) {
          isGlob = token.isGlob = true;
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (code === CHAR_LEFT_SQUARE_BRACKET) {
          while (eos() !== true && (next = advance())) {
            if (next === CHAR_BACKWARD_SLASH) {
              backslashes = token.backslashes = true;
              advance();
              continue;
            }
            if (next === CHAR_RIGHT_SQUARE_BRACKET) {
              isBracket = token.isBracket = true;
              isGlob = token.isGlob = true;
              finished = true;
              break;
            }
          }
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
        if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
          negated = token.negated = true;
          start++;
          continue;
        }
        if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
          isGlob = token.isGlob = true;
          if (scanToEnd === true) {
            while (eos() !== true && (code = advance())) {
              if (code === CHAR_LEFT_PARENTHESES) {
                backslashes = token.backslashes = true;
                code = advance();
                continue;
              }
              if (code === CHAR_RIGHT_PARENTHESES) {
                finished = true;
                break;
              }
            }
            continue;
          }
          break;
        }
        if (isGlob === true) {
          finished = true;
          if (scanToEnd === true) {
            continue;
          }
          break;
        }
      }
      if (opts.noext === true) {
        isExtglob = false;
        isGlob = false;
      }
      let base = str;
      let prefix = "";
      let glob = "";
      if (start > 0) {
        prefix = str.slice(0, start);
        str = str.slice(start);
        lastIndex -= start;
      }
      if (base && isGlob === true && lastIndex > 0) {
        base = str.slice(0, lastIndex);
        glob = str.slice(lastIndex);
      } else if (isGlob === true) {
        base = "";
        glob = str;
      } else {
        base = str;
      }
      if (base && base !== "" && base !== "/" && base !== str) {
        if (isPathSeparator(base.charCodeAt(base.length - 1))) {
          base = base.slice(0, -1);
        }
      }
      if (opts.unescape === true) {
        if (glob) glob = utils.removeBackslashes(glob);
        if (base && backslashes === true) {
          base = utils.removeBackslashes(base);
        }
      }
      const state = {
        prefix,
        input,
        start,
        base,
        glob,
        isBrace,
        isBracket,
        isGlob,
        isExtglob,
        isGlobstar,
        negated,
        negatedExtglob
      };
      if (opts.tokens === true) {
        state.maxDepth = 0;
        if (!isPathSeparator(code)) {
          tokens.push(token);
        }
        state.tokens = tokens;
      }
      if (opts.parts === true || opts.tokens === true) {
        let prevIndex;
        for (let idx = 0; idx < slashes.length; idx++) {
          const n = prevIndex ? prevIndex + 1 : start;
          const i = slashes[idx];
          const value = input.slice(n, i);
          if (opts.tokens) {
            if (idx === 0 && start !== 0) {
              tokens[idx].isPrefix = true;
              tokens[idx].value = prefix;
            } else {
              tokens[idx].value = value;
            }
            depth(tokens[idx]);
            state.maxDepth += tokens[idx].depth;
          }
          if (idx !== 0 || value !== "") {
            parts.push(value);
          }
          prevIndex = i;
        }
        if (prevIndex && prevIndex + 1 < input.length) {
          const value = input.slice(prevIndex + 1);
          parts.push(value);
          if (opts.tokens) {
            tokens[tokens.length - 1].value = value;
            depth(tokens[tokens.length - 1]);
            state.maxDepth += tokens[tokens.length - 1].depth;
          }
        }
        state.slashes = slashes;
        state.parts = parts;
      }
      return state;
    };
    module2.exports = scan;
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.js
var require_parse6 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.js"(exports2, module2) {
    "use strict";
    var constants = require_constants5();
    var utils = require_utils6();
    var {
      MAX_LENGTH,
      POSIX_REGEX_SOURCE,
      REGEX_NON_SPECIAL_CHARS,
      REGEX_SPECIAL_CHARS_BACKREF,
      REPLACEMENTS
    } = constants;
    var expandRange = (args, options) => {
      if (typeof options.expandRange === "function") {
        return options.expandRange(...args, options);
      }
      args.sort();
      const value = `[${args.join("-")}]`;
      try {
        new RegExp(value);
      } catch (ex) {
        return args.map((v) => utils.escapeRegex(v)).join("..");
      }
      return value;
    };
    var syntaxError = (type, char) => {
      return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
    };
    var parse2 = (input, options) => {
      if (typeof input !== "string") {
        throw new TypeError("Expected a string");
      }
      input = REPLACEMENTS[input] || input;
      const opts = { ...options };
      const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
      let len = input.length;
      if (len > max) {
        throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
      }
      const bos = { type: "bos", value: "", output: opts.prepend || "" };
      const tokens = [bos];
      const capture = opts.capture ? "" : "?:";
      const win32 = utils.isWindows(options);
      const PLATFORM_CHARS = constants.globChars(win32);
      const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
      const {
        DOT_LITERAL,
        PLUS_LITERAL,
        SLASH_LITERAL,
        ONE_CHAR,
        DOTS_SLASH,
        NO_DOT,
        NO_DOT_SLASH,
        NO_DOTS_SLASH,
        QMARK,
        QMARK_NO_DOT,
        STAR,
        START_ANCHOR
      } = PLATFORM_CHARS;
      const globstar = (opts2) => {
        return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
      };
      const nodot = opts.dot ? "" : NO_DOT;
      const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
      let star = opts.bash === true ? globstar(opts) : STAR;
      if (opts.capture) {
        star = `(${star})`;
      }
      if (typeof opts.noext === "boolean") {
        opts.noextglob = opts.noext;
      }
      const state = {
        input,
        index: -1,
        start: 0,
        dot: opts.dot === true,
        consumed: "",
        output: "",
        prefix: "",
        backtrack: false,
        negated: false,
        brackets: 0,
        braces: 0,
        parens: 0,
        quotes: 0,
        globstar: false,
        tokens
      };
      input = utils.removePrefix(input, state);
      len = input.length;
      const extglobs = [];
      const braces = [];
      const stack = [];
      let prev = bos;
      let value;
      const eos = () => state.index === len - 1;
      const peek = state.peek = (n = 1) => input[state.index + n];
      const advance = state.advance = () => input[++state.index] || "";
      const remaining = () => input.slice(state.index + 1);
      const consume = (value2 = "", num = 0) => {
        state.consumed += value2;
        state.index += num;
      };
      const append = (token) => {
        state.output += token.output != null ? token.output : token.value;
        consume(token.value);
      };
      const negate = () => {
        let count = 1;
        while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
          advance();
          state.start++;
          count++;
        }
        if (count % 2 === 0) {
          return false;
        }
        state.negated = true;
        state.start++;
        return true;
      };
      const increment = (type) => {
        state[type]++;
        stack.push(type);
      };
      const decrement = (type) => {
        state[type]--;
        stack.pop();
      };
      const push = (tok) => {
        if (prev.type === "globstar") {
          const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
          const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
          if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
            state.output = state.output.slice(0, -prev.output.length);
            prev.type = "star";
            prev.value = "*";
            prev.output = star;
            state.output += prev.output;
          }
        }
        if (extglobs.length && tok.type !== "paren") {
          extglobs[extglobs.length - 1].inner += tok.value;
        }
        if (tok.value || tok.output) append(tok);
        if (prev && prev.type === "text" && tok.type === "text") {
          prev.value += tok.value;
          prev.output = (prev.output || "") + tok.value;
          return;
        }
        tok.prev = prev;
        tokens.push(tok);
        prev = tok;
      };
      const extglobOpen = (type, value2) => {
        const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
        token.prev = prev;
        token.parens = state.parens;
        token.output = state.output;
        const output = (opts.capture ? "(" : "") + token.open;
        increment("parens");
        push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
        push({ type: "paren", extglob: true, value: advance(), output });
        extglobs.push(token);
      };
      const extglobClose = (token) => {
        let output = token.close + (opts.capture ? ")" : "");
        let rest;
        if (token.type === "negate") {
          let extglobStar = star;
          if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
            extglobStar = globstar(opts);
          }
          if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
            output = token.close = `)$))${extglobStar}`;
          }
          if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
            const expression = parse2(rest, { ...options, fastpaths: false }).output;
            output = token.close = `)${expression})${extglobStar})`;
          }
          if (token.prev.type === "bos") {
            state.negatedExtglob = true;
          }
        }
        push({ type: "paren", extglob: true, value, output });
        decrement("parens");
      };
      if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
        let backslashes = false;
        let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
          if (first === "\\") {
            backslashes = true;
            return m;
          }
          if (first === "?") {
            if (esc) {
              return esc + first + (rest ? QMARK.repeat(rest.length) : "");
            }
            if (index === 0) {
              return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
            }
            return QMARK.repeat(chars.length);
          }
          if (first === ".") {
            return DOT_LITERAL.repeat(chars.length);
          }
          if (first === "*") {
            if (esc) {
              return esc + first + (rest ? star : "");
            }
            return star;
          }
          return esc ? m : `\\${m}`;
        });
        if (backslashes === true) {
          if (opts.unescape === true) {
            output = output.replace(/\\/g, "");
          } else {
            output = output.replace(/\\+/g, (m) => {
              return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
            });
          }
        }
        if (output === input && opts.contains === true) {
          state.output = input;
          return state;
        }
        state.output = utils.wrapOutput(output, state, options);
        return state;
      }
      while (!eos()) {
        value = advance();
        if (value === "\0") {
          continue;
        }
        if (value === "\\") {
          const next = peek();
          if (next === "/" && opts.bash !== true) {
            continue;
          }
          if (next === "." || next === ";") {
            continue;
          }
          if (!next) {
            value += "\\";
            push({ type: "text", value });
            continue;
          }
          const match = /^\\+/.exec(remaining());
          let slashes = 0;
          if (match && match[0].length > 2) {
            slashes = match[0].length;
            state.index += slashes;
            if (slashes % 2 !== 0) {
              value += "\\";
            }
          }
          if (opts.unescape === true) {
            value = advance();
          } else {
            value += advance();
          }
          if (state.brackets === 0) {
            push({ type: "text", value });
            continue;
          }
        }
        if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
          if (opts.posix !== false && value === ":") {
            const inner = prev.value.slice(1);
            if (inner.includes("[")) {
              prev.posix = true;
              if (inner.includes(":")) {
                const idx = prev.value.lastIndexOf("[");
                const pre = prev.value.slice(0, idx);
                const rest2 = prev.value.slice(idx + 2);
                const posix = POSIX_REGEX_SOURCE[rest2];
                if (posix) {
                  prev.value = pre + posix;
                  state.backtrack = true;
                  advance();
                  if (!bos.output && tokens.indexOf(prev) === 1) {
                    bos.output = ONE_CHAR;
                  }
                  continue;
                }
              }
            }
          }
          if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
            value = `\\${value}`;
          }
          if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
            value = `\\${value}`;
          }
          if (opts.posix === true && value === "!" && prev.value === "[") {
            value = "^";
          }
          prev.value += value;
          append({ value });
          continue;
        }
        if (state.quotes === 1 && value !== '"') {
          value = utils.escapeRegex(value);
          prev.value += value;
          append({ value });
          continue;
        }
        if (value === '"') {
          state.quotes = state.quotes === 1 ? 0 : 1;
          if (opts.keepQuotes === true) {
            push({ type: "text", value });
          }
          continue;
        }
        if (value === "(") {
          increment("parens");
          push({ type: "paren", value });
          continue;
        }
        if (value === ")") {
          if (state.parens === 0 && opts.strictBrackets === true) {
            throw new SyntaxError(syntaxError("opening", "("));
          }
          const extglob = extglobs[extglobs.length - 1];
          if (extglob && state.parens === extglob.parens + 1) {
            extglobClose(extglobs.pop());
            continue;
          }
          push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
          decrement("parens");
          continue;
        }
        if (value === "[") {
          if (opts.nobracket === true || !remaining().includes("]")) {
            if (opts.nobracket !== true && opts.strictBrackets === true) {
              throw new SyntaxError(syntaxError("closing", "]"));
            }
            value = `\\${value}`;
          } else {
            increment("brackets");
          }
          push({ type: "bracket", value });
          continue;
        }
        if (value === "]") {
          if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
            push({ type: "text", value, output: `\\${value}` });
            continue;
          }
          if (state.brackets === 0) {
            if (opts.strictBrackets === true) {
              throw new SyntaxError(syntaxError("opening", "["));
            }
            push({ type: "text", value, output: `\\${value}` });
            continue;
          }
          decrement("brackets");
          const prevValue = prev.value.slice(1);
          if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
            value = `/${value}`;
          }
          prev.value += value;
          append({ value });
          if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
            continue;
          }
          const escaped = utils.escapeRegex(prev.value);
          state.output = state.output.slice(0, -prev.value.length);
          if (opts.literalBrackets === true) {
            state.output += escaped;
            prev.value = escaped;
            continue;
          }
          prev.value = `(${capture}${escaped}|${prev.value})`;
          state.output += prev.value;
          continue;
        }
        if (value === "{" && opts.nobrace !== true) {
          increment("braces");
          const open = {
            type: "brace",
            value,
            output: "(",
            outputIndex: state.output.length,
            tokensIndex: state.tokens.length
          };
          braces.push(open);
          push(open);
          continue;
        }
        if (value === "}") {
          const brace = braces[braces.length - 1];
          if (opts.nobrace === true || !brace) {
            push({ type: "text", value, output: value });
            continue;
          }
          let output = ")";
          if (brace.dots === true) {
            const arr = tokens.slice();
            const range = [];
            for (let i = arr.length - 1; i >= 0; i--) {
              tokens.pop();
              if (arr[i].type === "brace") {
                break;
              }
              if (arr[i].type !== "dots") {
                range.unshift(arr[i].value);
              }
            }
            output = expandRange(range, opts);
            state.backtrack = true;
          }
          if (brace.comma !== true && brace.dots !== true) {
            const out = state.output.slice(0, brace.outputIndex);
            const toks = state.tokens.slice(brace.tokensIndex);
            brace.value = brace.output = "\\{";
            value = output = "\\}";
            state.output = out;
            for (const t of toks) {
              state.output += t.output || t.value;
            }
          }
          push({ type: "brace", value, output });
          decrement("braces");
          braces.pop();
          continue;
        }
        if (value === "|") {
          if (extglobs.length > 0) {
            extglobs[extglobs.length - 1].conditions++;
          }
          push({ type: "text", value });
          continue;
        }
        if (value === ",") {
          let output = value;
          const brace = braces[braces.length - 1];
          if (brace && stack[stack.length - 1] === "braces") {
            brace.comma = true;
            output = "|";
          }
          push({ type: "comma", value, output });
          continue;
        }
        if (value === "/") {
          if (prev.type === "dot" && state.index === state.start + 1) {
            state.start = state.index + 1;
            state.consumed = "";
            state.output = "";
            tokens.pop();
            prev = bos;
            continue;
          }
          push({ type: "slash", value, output: SLASH_LITERAL });
          continue;
        }
        if (value === ".") {
          if (state.braces > 0 && prev.type === "dot") {
            if (prev.value === ".") prev.output = DOT_LITERAL;
            const brace = braces[braces.length - 1];
            prev.type = "dots";
            prev.output += value;
            prev.value += value;
            brace.dots = true;
            continue;
          }
          if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
            push({ type: "text", value, output: DOT_LITERAL });
            continue;
          }
          push({ type: "dot", value, output: DOT_LITERAL });
          continue;
        }
        if (value === "?") {
          const isGroup = prev && prev.value === "(";
          if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            extglobOpen("qmark", value);
            continue;
          }
          if (prev && prev.type === "paren") {
            const next = peek();
            let output = value;
            if (next === "<" && !utils.supportsLookbehinds()) {
              throw new Error("Node.js v10 or higher is required for regex lookbehinds");
            }
            if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
              output = `\\${value}`;
            }
            push({ type: "text", value, output });
            continue;
          }
          if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
            push({ type: "qmark", value, output: QMARK_NO_DOT });
            continue;
          }
          push({ type: "qmark", value, output: QMARK });
          continue;
        }
        if (value === "!") {
          if (opts.noextglob !== true && peek() === "(") {
            if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
              extglobOpen("negate", value);
              continue;
            }
          }
          if (opts.nonegate !== true && state.index === 0) {
            negate();
            continue;
          }
        }
        if (value === "+") {
          if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            extglobOpen("plus", value);
            continue;
          }
          if (prev && prev.value === "(" || opts.regex === false) {
            push({ type: "plus", value, output: PLUS_LITERAL });
            continue;
          }
          if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
            push({ type: "plus", value });
            continue;
          }
          push({ type: "plus", value: PLUS_LITERAL });
          continue;
        }
        if (value === "@") {
          if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
            push({ type: "at", extglob: true, value, output: "" });
            continue;
          }
          push({ type: "text", value });
          continue;
        }
        if (value !== "*") {
          if (value === "$" || value === "^") {
            value = `\\${value}`;
          }
          const match = REGEX_NON_SPECIAL_CHARS.exec(remaining());
          if (match) {
            value += match[0];
            state.index += match[0].length;
          }
          push({ type: "text", value });
          continue;
        }
        if (prev && (prev.type === "globstar" || prev.star === true)) {
          prev.type = "star";
          prev.star = true;
          prev.value += value;
          prev.output = star;
          state.backtrack = true;
          state.globstar = true;
          consume(value);
          continue;
        }
        let rest = remaining();
        if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
          extglobOpen("star", value);
          continue;
        }
        if (prev.type === "star") {
          if (opts.noglobstar === true) {
            consume(value);
            continue;
          }
          const prior = prev.prev;
          const before = prior.prev;
          const isStart = prior.type === "slash" || prior.type === "bos";
          const afterStar = before && (before.type === "star" || before.type === "globstar");
          if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
            push({ type: "star", value, output: "" });
            continue;
          }
          const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
          const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
          if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
            push({ type: "star", value, output: "" });
            continue;
          }
          while (rest.slice(0, 3) === "/**") {
            const after = input[state.index + 4];
            if (after && after !== "/") {
              break;
            }
            rest = rest.slice(3);
            consume("/**", 3);
          }
          if (prior.type === "bos" && eos()) {
            prev.type = "globstar";
            prev.value += value;
            prev.output = globstar(opts);
            state.output = prev.output;
            state.globstar = true;
            consume(value);
            continue;
          }
          if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
            state.output = state.output.slice(0, -(prior.output + prev.output).length);
            prior.output = `(?:${prior.output}`;
            prev.type = "globstar";
            prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
            prev.value += value;
            state.globstar = true;
            state.output += prior.output + prev.output;
            consume(value);
            continue;
          }
          if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
            const end = rest[1] !== void 0 ? "|$" : "";
            state.output = state.output.slice(0, -(prior.output + prev.output).length);
            prior.output = `(?:${prior.output}`;
            prev.type = "globstar";
            prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
            prev.value += value;
            state.output += prior.output + prev.output;
            state.globstar = true;
            consume(value + advance());
            push({ type: "slash", value: "/", output: "" });
            continue;
          }
          if (prior.type === "bos" && rest[0] === "/") {
            prev.type = "globstar";
            prev.value += value;
            prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
            state.output = prev.output;
            state.globstar = true;
            consume(value + advance());
            push({ type: "slash", value: "/", output: "" });
            continue;
          }
          state.output = state.output.slice(0, -prev.output.length);
          prev.type = "globstar";
          prev.output = globstar(opts);
          prev.value += value;
          state.output += prev.output;
          state.globstar = true;
          consume(value);
          continue;
        }
        const token = { type: "star", value, output: star };
        if (opts.bash === true) {
          token.output = ".*?";
          if (prev.type === "bos" || prev.type === "slash") {
            token.output = nodot + token.output;
          }
          push(token);
          continue;
        }
        if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
          token.output = value;
          push(token);
          continue;
        }
        if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
          if (prev.type === "dot") {
            state.output += NO_DOT_SLASH;
            prev.output += NO_DOT_SLASH;
          } else if (opts.dot === true) {
            state.output += NO_DOTS_SLASH;
            prev.output += NO_DOTS_SLASH;
          } else {
            state.output += nodot;
            prev.output += nodot;
          }
          if (peek() !== "*") {
            state.output += ONE_CHAR;
            prev.output += ONE_CHAR;
          }
        }
        push(token);
      }
      while (state.brackets > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
        state.output = utils.escapeLast(state.output, "[");
        decrement("brackets");
      }
      while (state.parens > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
        state.output = utils.escapeLast(state.output, "(");
        decrement("parens");
      }
      while (state.braces > 0) {
        if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
        state.output = utils.escapeLast(state.output, "{");
        decrement("braces");
      }
      if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
        push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
      }
      if (state.backtrack === true) {
        state.output = "";
        for (const token of state.tokens) {
          state.output += token.output != null ? token.output : token.value;
          if (token.suffix) {
            state.output += token.suffix;
          }
        }
      }
      return state;
    };
    parse2.fastpaths = (input, options) => {
      const opts = { ...options };
      const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
      const len = input.length;
      if (len > max) {
        throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
      }
      input = REPLACEMENTS[input] || input;
      const win32 = utils.isWindows(options);
      const {
        DOT_LITERAL,
        SLASH_LITERAL,
        ONE_CHAR,
        DOTS_SLASH,
        NO_DOT,
        NO_DOTS,
        NO_DOTS_SLASH,
        STAR,
        START_ANCHOR
      } = constants.globChars(win32);
      const nodot = opts.dot ? NO_DOTS : NO_DOT;
      const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
      const capture = opts.capture ? "" : "?:";
      const state = { negated: false, prefix: "" };
      let star = opts.bash === true ? ".*?" : STAR;
      if (opts.capture) {
        star = `(${star})`;
      }
      const globstar = (opts2) => {
        if (opts2.noglobstar === true) return star;
        return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
      };
      const create = (str) => {
        switch (str) {
          case "*":
            return `${nodot}${ONE_CHAR}${star}`;
          case ".*":
            return `${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "*.*":
            return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "*/*":
            return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
          case "**":
            return nodot + globstar(opts);
          case "**/*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
          case "**/*.*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
          case "**/.*":
            return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
          default: {
            const match = /^(.*?)\.(\w+)$/.exec(str);
            if (!match) return;
            const source2 = create(match[1]);
            if (!source2) return;
            return source2 + DOT_LITERAL + match[2];
          }
        }
      };
      const output = utils.removePrefix(input, state);
      let source = create(output);
      if (source && opts.strictSlashes !== true) {
        source += `${SLASH_LITERAL}?`;
      }
      return source;
    };
    module2.exports = parse2;
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js
var require_picomatch3 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var scan = require_scan3();
    var parse2 = require_parse6();
    var utils = require_utils6();
    var constants = require_constants5();
    var isObject = (val) => val && typeof val === "object" && !Array.isArray(val);
    var picomatch = (glob, options, returnState = false) => {
      if (Array.isArray(glob)) {
        const fns = glob.map((input) => picomatch(input, options, returnState));
        const arrayMatcher = (str) => {
          for (const isMatch of fns) {
            const state2 = isMatch(str);
            if (state2) return state2;
          }
          return false;
        };
        return arrayMatcher;
      }
      const isState = isObject(glob) && glob.tokens && glob.input;
      if (glob === "" || typeof glob !== "string" && !isState) {
        throw new TypeError("Expected pattern to be a non-empty string");
      }
      const opts = options || {};
      const posix = utils.isWindows(options);
      const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
      const state = regex.state;
      delete regex.state;
      let isIgnored = () => false;
      if (opts.ignore) {
        const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
        isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
      }
      const matcher = (input, returnObject = false) => {
        const { isMatch, match, output } = picomatch.test(input, regex, options, { glob, posix });
        const result2 = { glob, state, regex, posix, input, output, match, isMatch };
        if (typeof opts.onResult === "function") {
          opts.onResult(result2);
        }
        if (isMatch === false) {
          result2.isMatch = false;
          return returnObject ? result2 : false;
        }
        if (isIgnored(input)) {
          if (typeof opts.onIgnore === "function") {
            opts.onIgnore(result2);
          }
          result2.isMatch = false;
          return returnObject ? result2 : false;
        }
        if (typeof opts.onMatch === "function") {
          opts.onMatch(result2);
        }
        return returnObject ? result2 : true;
      };
      if (returnState) {
        matcher.state = state;
      }
      return matcher;
    };
    picomatch.test = (input, regex, options, { glob, posix } = {}) => {
      if (typeof input !== "string") {
        throw new TypeError("Expected input to be a string");
      }
      if (input === "") {
        return { isMatch: false, output: "" };
      }
      const opts = options || {};
      const format = opts.format || (posix ? utils.toPosixSlashes : null);
      let match = input === glob;
      let output = match && format ? format(input) : input;
      if (match === false) {
        output = format ? format(input) : input;
        match = output === glob;
      }
      if (match === false || opts.capture === true) {
        if (opts.matchBase === true || opts.basename === true) {
          match = picomatch.matchBase(input, regex, options, posix);
        } else {
          match = regex.exec(output);
        }
      }
      return { isMatch: Boolean(match), match, output };
    };
    picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
      const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
      return regex.test(path2.basename(input));
    };
    picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
    picomatch.parse = (pattern, options) => {
      if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options));
      return parse2(pattern, { ...options, fastpaths: false });
    };
    picomatch.scan = (input, options) => scan(input, options);
    picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
      if (returnOutput === true) {
        return state.output;
      }
      const opts = options || {};
      const prepend = opts.contains ? "" : "^";
      const append = opts.contains ? "" : "$";
      let source = `${prepend}(?:${state.output})${append}`;
      if (state && state.negated === true) {
        source = `^(?!${source}).*$`;
      }
      const regex = picomatch.toRegex(source, options);
      if (returnState === true) {
        regex.state = state;
      }
      return regex;
    };
    picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
      if (!input || typeof input !== "string") {
        throw new TypeError("Expected a non-empty string");
      }
      let parsed = { negated: false, fastpaths: true };
      if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
        parsed.output = parse2.fastpaths(input, options);
      }
      if (!parsed.output) {
        parsed = parse2(input, options);
      }
      return picomatch.compileRe(parsed, options, returnOutput, returnState);
    };
    picomatch.toRegex = (source, options) => {
      try {
        const opts = options || {};
        return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
      } catch (err) {
        if (options && options.debug === true) throw err;
        return /$^/;
      }
    };
    picomatch.constants = constants;
    module2.exports = picomatch;
  }
});

// ../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.js
var require_picomatch4 = __commonJS({
  "../node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.js"(exports2, module2) {
    "use strict";
    module2.exports = require_picomatch3();
  }
});

// ../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js
var require_micromatch = __commonJS({
  "../node_modules/.pnpm/micromatch@4.0.8/node_modules/micromatch/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var braces = require_braces();
    var picomatch = require_picomatch4();
    var utils = require_utils6();
    var isEmptyString = (v) => v === "" || v === "./";
    var hasBraces = (v) => {
      const index = v.indexOf("{");
      return index > -1 && v.indexOf("}", index) > -1;
    };
    var micromatch = (list, patterns, options) => {
      patterns = [].concat(patterns);
      list = [].concat(list);
      let omit = /* @__PURE__ */ new Set();
      let keep = /* @__PURE__ */ new Set();
      let items = /* @__PURE__ */ new Set();
      let negatives = 0;
      let onResult = (state) => {
        items.add(state.output);
        if (options && options.onResult) {
          options.onResult(state);
        }
      };
      for (let i = 0; i < patterns.length; i++) {
        let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true);
        let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
        if (negated) negatives++;
        for (let item of list) {
          let matched = isMatch(item, true);
          let match = negated ? !matched.isMatch : matched.isMatch;
          if (!match) continue;
          if (negated) {
            omit.add(matched.output);
          } else {
            omit.delete(matched.output);
            keep.add(matched.output);
          }
        }
      }
      let result2 = negatives === patterns.length ? [...items] : [...keep];
      let matches = result2.filter((item) => !omit.has(item));
      if (options && matches.length === 0) {
        if (options.failglob === true) {
          throw new Error(`No matches found for "${patterns.join(", ")}"`);
        }
        if (options.nonull === true || options.nullglob === true) {
          return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
        }
      }
      return matches;
    };
    micromatch.match = micromatch;
    micromatch.matcher = (pattern, options) => picomatch(pattern, options);
    micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
    micromatch.any = micromatch.isMatch;
    micromatch.not = (list, patterns, options = {}) => {
      patterns = [].concat(patterns).map(String);
      let result2 = /* @__PURE__ */ new Set();
      let items = [];
      let onResult = (state) => {
        if (options.onResult) options.onResult(state);
        items.push(state.output);
      };
      let matches = new Set(micromatch(list, patterns, { ...options, onResult }));
      for (let item of items) {
        if (!matches.has(item)) {
          result2.add(item);
        }
      }
      return [...result2];
    };
    micromatch.contains = (str, pattern, options) => {
      if (typeof str !== "string") {
        throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
      }
      if (Array.isArray(pattern)) {
        return pattern.some((p) => micromatch.contains(str, p, options));
      }
      if (typeof pattern === "string") {
        if (isEmptyString(str) || isEmptyString(pattern)) {
          return false;
        }
        if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) {
          return true;
        }
      }
      return micromatch.isMatch(str, pattern, { ...options, contains: true });
    };
    micromatch.matchKeys = (obj, patterns, options) => {
      if (!utils.isObject(obj)) {
        throw new TypeError("Expected the first argument to be an object");
      }
      let keys = micromatch(Object.keys(obj), patterns, options);
      let res = {};
      for (let key of keys) res[key] = obj[key];
      return res;
    };
    micromatch.some = (list, patterns, options) => {
      let items = [].concat(list);
      for (let pattern of [].concat(patterns)) {
        let isMatch = picomatch(String(pattern), options);
        if (items.some((item) => isMatch(item))) {
          return true;
        }
      }
      return false;
    };
    micromatch.every = (list, patterns, options) => {
      let items = [].concat(list);
      for (let pattern of [].concat(patterns)) {
        let isMatch = picomatch(String(pattern), options);
        if (!items.every((item) => isMatch(item))) {
          return false;
        }
      }
      return true;
    };
    micromatch.all = (str, patterns, options) => {
      if (typeof str !== "string") {
        throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
      }
      return [].concat(patterns).every((p) => picomatch(p, options)(str));
    };
    micromatch.capture = (glob, input, options) => {
      let posix = utils.isWindows(options);
      let regex = picomatch.makeRe(String(glob), { ...options, capture: true });
      let match = regex.exec(posix ? utils.toPosixSlashes(input) : input);
      if (match) {
        return match.slice(1).map((v) => v === void 0 ? "" : v);
      }
    };
    micromatch.makeRe = (...args) => picomatch.makeRe(...args);
    micromatch.scan = (...args) => picomatch.scan(...args);
    micromatch.parse = (patterns, options) => {
      let res = [];
      for (let pattern of [].concat(patterns || [])) {
        for (let str of braces(String(pattern), options)) {
          res.push(picomatch.parse(str, options));
        }
      }
      return res;
    };
    micromatch.braces = (pattern, options) => {
      if (typeof pattern !== "string") throw new TypeError("Expected a string");
      if (options && options.nobrace === true || !hasBraces(pattern)) {
        return [pattern];
      }
      return braces(pattern, options);
    };
    micromatch.braceExpand = (pattern, options) => {
      if (typeof pattern !== "string") throw new TypeError("Expected a string");
      return micromatch.braces(pattern, { ...options, expand: true });
    };
    micromatch.hasBraces = hasBraces;
    module2.exports = micromatch;
  }
});

// ../node_modules/.pnpm/p-locate@5.0.0/node_modules/p-locate/index.js
var require_p_locate = __commonJS({
  "../node_modules/.pnpm/p-locate@5.0.0/node_modules/p-locate/index.js"(exports2, module2) {
    "use strict";
    var pLimit = require_p_limit();
    var EndError = class extends Error {
      constructor(value) {
        super();
        this.value = value;
      }
    };
    var testElement = async (element, tester) => tester(await element);
    var finder = async (element) => {
      const values = await Promise.all(element);
      if (values[1] === true) {
        throw new EndError(values[0]);
      }
      return false;
    };
    var pLocate = async (iterable, tester, options) => {
      options = {
        concurrency: Infinity,
        preserveOrder: true,
        ...options
      };
      const limit = pLimit(options.concurrency);
      const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]);
      const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity);
      try {
        await Promise.all(items.map((element) => checkLimit(finder, element)));
      } catch (error) {
        if (error instanceof EndError) {
          return error.value;
        }
        throw error;
      }
    };
    module2.exports = pLocate;
  }
});

// ../node_modules/.pnpm/locate-path@6.0.0/node_modules/locate-path/index.js
var require_locate_path = __commonJS({
  "../node_modules/.pnpm/locate-path@6.0.0/node_modules/locate-path/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var fs = require("fs");
    var { promisify } = require("util");
    var pLocate = require_p_locate();
    var fsStat = promisify(fs.stat);
    var fsLStat = promisify(fs.lstat);
    var typeMappings = {
      directory: "isDirectory",
      file: "isFile"
    };
    function checkType({ type }) {
      if (type in typeMappings) {
        return;
      }
      throw new Error(`Invalid type specified: ${type}`);
    }
    var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]]();
    module2.exports = async (paths, options) => {
      options = {
        cwd: process.cwd(),
        type: "file",
        allowSymlinks: true,
        ...options
      };
      checkType(options);
      const statFn = options.allowSymlinks ? fsStat : fsLStat;
      return pLocate(paths, async (path_) => {
        try {
          const stat = await statFn(path2.resolve(options.cwd, path_));
          return matchType(options.type, stat);
        } catch {
          return false;
        }
      }, options);
    };
    module2.exports.sync = (paths, options) => {
      options = {
        cwd: process.cwd(),
        allowSymlinks: true,
        type: "file",
        ...options
      };
      checkType(options);
      const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync;
      for (const path_ of paths) {
        try {
          const stat = statFn(path2.resolve(options.cwd, path_));
          if (matchType(options.type, stat)) {
            return path_;
          }
        } catch {
        }
      }
    };
  }
});

// ../node_modules/.pnpm/path-exists@4.0.0/node_modules/path-exists/index.js
var require_path_exists2 = __commonJS({
  "../node_modules/.pnpm/path-exists@4.0.0/node_modules/path-exists/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var { promisify } = require("util");
    var pAccess = promisify(fs.access);
    module2.exports = async (path2) => {
      try {
        await pAccess(path2);
        return true;
      } catch (_) {
        return false;
      }
    };
    module2.exports.sync = (path2) => {
      try {
        fs.accessSync(path2);
        return true;
      } catch (_) {
        return false;
      }
    };
  }
});

// ../node_modules/.pnpm/find-up@5.0.0/node_modules/find-up/index.js
var require_find_up = __commonJS({
  "../node_modules/.pnpm/find-up@5.0.0/node_modules/find-up/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var locatePath = require_locate_path();
    var pathExists = require_path_exists2();
    var stop = Symbol("findUp.stop");
    module2.exports = async (name, options = {}) => {
      let directory = path2.resolve(options.cwd || "");
      const { root } = path2.parse(directory);
      const paths = [].concat(name);
      const runMatcher = async (locateOptions) => {
        if (typeof name !== "function") {
          return locatePath(paths, locateOptions);
        }
        const foundPath = await name(locateOptions.cwd);
        if (typeof foundPath === "string") {
          return locatePath([foundPath], locateOptions);
        }
        return foundPath;
      };
      while (true) {
        const foundPath = await runMatcher({ ...options, cwd: directory });
        if (foundPath === stop) {
          return;
        }
        if (foundPath) {
          return path2.resolve(directory, foundPath);
        }
        if (directory === root) {
          return;
        }
        directory = path2.dirname(directory);
      }
    };
    module2.exports.sync = (name, options = {}) => {
      let directory = path2.resolve(options.cwd || "");
      const { root } = path2.parse(directory);
      const paths = [].concat(name);
      const runMatcher = (locateOptions) => {
        if (typeof name !== "function") {
          return locatePath.sync(paths, locateOptions);
        }
        const foundPath = name(locateOptions.cwd);
        if (typeof foundPath === "string") {
          return locatePath.sync([foundPath], locateOptions);
        }
        return foundPath;
      };
      while (true) {
        const foundPath = runMatcher({ ...options, cwd: directory });
        if (foundPath === stop) {
          return;
        }
        if (foundPath) {
          return path2.resolve(directory, foundPath);
        }
        if (directory === root) {
          return;
        }
        directory = path2.dirname(directory);
      }
    };
    module2.exports.exists = pathExists;
    module2.exports.sync.exists = pathExists.sync;
    module2.exports.stop = stop;
  }
});

// ../workspace/filter-workspace-packages/lib/getChangedPackages.js
var require_getChangedPackages = __commonJS({
  "../workspace/filter-workspace-packages/lib/getChangedPackages.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getChangedPackages = getChangedPackages;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var micromatch = __importStar3(require_micromatch());
    var execa_1 = __importDefault2(require_lib14());
    var find_up_1 = __importDefault2(require_find_up());
    async function getChangedPackages(packageDirs, commit, opts) {
      const repoRoot = path_1.default.resolve(await (0, find_up_1.default)(".git", { cwd: opts.workspaceDir, type: "directory" }) ?? opts.workspaceDir, "..");
      const changedDirs = (await getChangedDirsSinceCommit(commit, opts.workspaceDir, opts.testPattern ?? [], opts.changedFilesIgnorePattern ?? [])).map((changedDir) => ({ ...changedDir, dir: path_1.default.join(repoRoot, changedDir.dir) }));
      const pkgChangeTypes = /* @__PURE__ */ new Map();
      for (const pkgDir of packageDirs) {
        pkgChangeTypes.set(pkgDir, void 0);
      }
      for (const changedDir of changedDirs) {
        let currentDir = changedDir.dir;
        while (!pkgChangeTypes.has(currentDir)) {
          const nextDir = path_1.default.dirname(currentDir);
          if (nextDir === currentDir)
            break;
          currentDir = nextDir;
        }
        if (pkgChangeTypes.get(currentDir) === "source")
          continue;
        pkgChangeTypes.set(currentDir, changedDir.changeType);
      }
      const changedPkgs = [];
      const ignoreDependentForPkgs = [];
      for (const [changedDir, changeType] of pkgChangeTypes.entries()) {
        switch (changeType) {
          case "source":
            changedPkgs.push(changedDir);
            break;
          case "test":
            ignoreDependentForPkgs.push(changedDir);
            break;
        }
      }
      return [changedPkgs, ignoreDependentForPkgs];
    }
    async function getChangedDirsSinceCommit(commit, workingDir, testPattern, changedFilesIgnorePattern) {
      let diff;
      try {
        diff = (await (0, execa_1.default)("git", [
          "diff",
          "--name-only",
          commit,
          "--",
          workingDir
        ], { cwd: workingDir })).stdout;
      } catch (err) {
        (0, assert_1.default)(util_1.default.types.isNativeError(err));
        throw new error_1.PnpmError("FILTER_CHANGED", `Filtering by changed packages failed. ${"stderr" in err ? err.stderr : ""}`);
      }
      const changedDirs = /* @__PURE__ */ new Map();
      if (!diff) {
        return [];
      }
      const allChangedFiles = diff.split("\n").map((line) => line.replace(/^"/, "").replace(/"$/, ""));
      const patterns = changedFilesIgnorePattern.filter((pattern) => pattern.length);
      const changedFiles = patterns.length > 0 ? micromatch.not(allChangedFiles, patterns, {
        dot: true
      }) : allChangedFiles;
      for (const changedFile of changedFiles) {
        const dir = path_1.default.dirname(changedFile);
        if (changedDirs.get(dir) === "source")
          continue;
        const changeType = testPattern.some((pattern) => micromatch.isMatch(changedFile, pattern)) ? "test" : "source";
        changedDirs.set(dir, changeType);
      }
      return Array.from(changedDirs.entries()).map(([dir, changeType]) => ({ dir, changeType }));
    }
  }
});

// ../workspace/filter-workspace-packages/lib/parsePackageSelector.js
var require_parsePackageSelector = __commonJS({
  "../workspace/filter-workspace-packages/lib/parsePackageSelector.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parsePackageSelector = parsePackageSelector;
    var path_1 = __importDefault2(require("path"));
    function parsePackageSelector(rawSelector, prefix) {
      let exclude = false;
      if (rawSelector[0] === "!") {
        exclude = true;
        rawSelector = rawSelector.substring(1);
      }
      let excludeSelf = false;
      const includeDependencies = rawSelector.endsWith("...");
      if (includeDependencies) {
        rawSelector = rawSelector.slice(0, -3);
        if (rawSelector.endsWith("^")) {
          excludeSelf = true;
          rawSelector = rawSelector.slice(0, -1);
        }
      }
      const includeDependents = rawSelector.startsWith("...");
      if (includeDependents) {
        rawSelector = rawSelector.substring(3);
        if (rawSelector.startsWith("^")) {
          excludeSelf = true;
          rawSelector = rawSelector.slice(1);
        }
      }
      const matches = rawSelector.match(/^([^.][^{}[\]]*)?(\{[^}]+\})?(\[[^\]]+\])?$/);
      if (matches === null) {
        if (isSelectorByLocation(rawSelector)) {
          return {
            exclude,
            excludeSelf: false,
            parentDir: path_1.default.join(prefix, rawSelector)
          };
        }
        return {
          excludeSelf: false,
          namePattern: rawSelector
        };
      }
      return {
        diff: matches[3]?.slice(1, -1),
        exclude,
        excludeSelf,
        includeDependencies,
        includeDependents,
        namePattern: matches[1],
        parentDir: matches[2] && path_1.default.join(prefix, matches[2].slice(1, -1))
      };
    }
    function isSelectorByLocation(rawSelector) {
      if (rawSelector[0] !== ".")
        return false;
      if (rawSelector.length === 1 || rawSelector[1] === "/" || rawSelector[1] === "\\")
        return true;
      if (rawSelector[1] !== ".")
        return false;
      return rawSelector.length === 2 || rawSelector[2] === "/" || rawSelector[2] === "\\";
    }
  }
});

// ../workspace/filter-workspace-packages/lib/index.js
var require_lib46 = __commonJS({
  "../workspace/filter-workspace-packages/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parsePackageSelector = void 0;
    exports2.filterPackagesFromDir = filterPackagesFromDir;
    exports2.filterPackages = filterPackages;
    exports2.filterPkgsBySelectorObjects = filterPkgsBySelectorObjects;
    exports2.filterWorkspacePackages = filterWorkspacePackages;
    var matcher_1 = require_lib16();
    var workspace_find_packages_1 = require_lib35();
    var workspace_pkgs_graph_1 = require_lib45();
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var difference_1 = __importDefault2(require_difference());
    var partition_1 = __importDefault2(require_partition4());
    var pick_1 = __importDefault2(require_pick());
    var micromatch = __importStar3(require_micromatch());
    var getChangedPackages_1 = require_getChangedPackages();
    var parsePackageSelector_1 = require_parsePackageSelector();
    Object.defineProperty(exports2, "parsePackageSelector", { enumerable: true, get: function() {
      return parsePackageSelector_1.parsePackageSelector;
    } });
    async function filterPackagesFromDir(workspaceDir, filter, opts) {
      const allProjects = await (0, workspace_find_packages_1.findWorkspacePackages)(workspaceDir, {
        engineStrict: opts?.engineStrict,
        patterns: opts.patterns,
        sharedWorkspaceLockfile: opts.sharedWorkspaceLockfile,
        nodeVersion: opts.nodeVersion,
        supportedArchitectures: opts.supportedArchitectures
      });
      return {
        allProjects,
        ...await filterPackages(allProjects, filter, opts)
      };
    }
    async function filterPackages(pkgs, filter, opts) {
      const packageSelectors = filter.map(({ filter: f, followProdDepsOnly }) => ({ ...(0, parsePackageSelector_1.parsePackageSelector)(f, opts.prefix), followProdDepsOnly }));
      return filterPkgsBySelectorObjects(pkgs, packageSelectors, opts);
    }
    async function filterPkgsBySelectorObjects(pkgs, packageSelectors, opts) {
      const [prodPackageSelectors, allPackageSelectors] = (0, partition_1.default)(({ followProdDepsOnly }) => !!followProdDepsOnly, packageSelectors);
      if (allPackageSelectors.length > 0 || prodPackageSelectors.length > 0) {
        let filteredGraph;
        const { graph } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { linkWorkspacePackages: opts.linkWorkspacePackages });
        if (allPackageSelectors.length > 0) {
          filteredGraph = await filterWorkspacePackages(graph, allPackageSelectors, {
            workspaceDir: opts.workspaceDir,
            testPattern: opts.testPattern,
            changedFilesIgnorePattern: opts.changedFilesIgnorePattern,
            useGlobDirFiltering: opts.useGlobDirFiltering
          });
        }
        let prodFilteredGraph;
        if (prodPackageSelectors.length > 0) {
          const { graph: graph2 } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { ignoreDevDeps: true, linkWorkspacePackages: opts.linkWorkspacePackages });
          prodFilteredGraph = await filterWorkspacePackages(graph2, prodPackageSelectors, {
            workspaceDir: opts.workspaceDir,
            testPattern: opts.testPattern,
            changedFilesIgnorePattern: opts.changedFilesIgnorePattern,
            useGlobDirFiltering: opts.useGlobDirFiltering
          });
        }
        return {
          allProjectsGraph: graph,
          selectedProjectsGraph: {
            ...prodFilteredGraph?.selectedProjectsGraph,
            ...filteredGraph?.selectedProjectsGraph
          },
          unmatchedFilters: [
            ...prodFilteredGraph !== void 0 ? prodFilteredGraph.unmatchedFilters : [],
            ...filteredGraph !== void 0 ? filteredGraph.unmatchedFilters : []
          ]
        };
      } else {
        const { graph } = (0, workspace_pkgs_graph_1.createPkgGraph)(pkgs, { linkWorkspacePackages: opts.linkWorkspacePackages });
        return { allProjectsGraph: graph, selectedProjectsGraph: graph, unmatchedFilters: [] };
      }
    }
    async function filterWorkspacePackages(pkgGraph, packageSelectors, opts) {
      const [excludeSelectors, includeSelectors] = (0, partition_1.default)((selector) => selector.exclude === true, packageSelectors);
      const fg = _filterGraph.bind(null, pkgGraph, opts);
      const include = includeSelectors.length === 0 ? { selected: Object.keys(pkgGraph), unmatchedFilters: [] } : await fg(includeSelectors);
      const exclude = await fg(excludeSelectors);
      return {
        selectedProjectsGraph: (0, pick_1.default)((0, difference_1.default)(include.selected, exclude.selected), pkgGraph),
        unmatchedFilters: [...include.unmatchedFilters, ...exclude.unmatchedFilters]
      };
    }
    async function _filterGraph(pkgGraph, opts, packageSelectors) {
      const cherryPickedPackages = [];
      const walkedDependencies = /* @__PURE__ */ new Set();
      const walkedDependents = /* @__PURE__ */ new Set();
      const walkedDependentsDependencies = /* @__PURE__ */ new Set();
      const graph = pkgGraphToGraph(pkgGraph);
      const unmatchedFilters = [];
      let reversedGraph;
      const matchPackagesByPath = opts.useGlobDirFiltering === true ? matchPackagesByGlob : matchPackagesByExactPath;
      for (const selector of packageSelectors) {
        let entryPackages = null;
        if (selector.diff) {
          let ignoreDependentForPkgs = [];
          [entryPackages, ignoreDependentForPkgs] = await (0, getChangedPackages_1.getChangedPackages)(Object.keys(pkgGraph), selector.diff, {
            changedFilesIgnorePattern: opts.changedFilesIgnorePattern,
            testPattern: opts.testPattern,
            workspaceDir: selector.parentDir ?? opts.workspaceDir
          });
          selectEntries({
            ...selector,
            includeDependents: false
          }, ignoreDependentForPkgs);
        } else if (selector.parentDir) {
          entryPackages = matchPackagesByPath(pkgGraph, selector.parentDir);
        }
        if (selector.namePattern) {
          if (entryPackages == null) {
            entryPackages = matchPackages(pkgGraph, selector.namePattern);
          } else {
            entryPackages = matchPackages((0, pick_1.default)(entryPackages, pkgGraph), selector.namePattern);
          }
        }
        if (entryPackages == null) {
          throw new Error(`Unsupported package selector: ${JSON.stringify(selector)}`);
        }
        if (entryPackages.length === 0) {
          if (selector.namePattern) {
            unmatchedFilters.push(selector.namePattern);
          }
          if (selector.parentDir) {
            unmatchedFilters.push(selector.parentDir);
          }
        }
        selectEntries(selector, entryPackages);
      }
      const walked = /* @__PURE__ */ new Set([...walkedDependencies, ...walkedDependents, ...walkedDependentsDependencies]);
      cherryPickedPackages.forEach((cherryPickedPackage) => walked.add(cherryPickedPackage));
      return {
        selected: Array.from(walked),
        unmatchedFilters
      };
      function selectEntries(selector, entryPackages) {
        if (selector.includeDependencies) {
          pickSubgraph(graph, entryPackages, walkedDependencies, { includeRoot: !selector.excludeSelf });
        }
        if (selector.includeDependents) {
          if (reversedGraph == null) {
            reversedGraph = reverseGraph(graph);
          }
          pickSubgraph(reversedGraph, entryPackages, walkedDependents, { includeRoot: !selector.excludeSelf });
        }
        if (selector.includeDependencies && selector.includeDependents) {
          pickSubgraph(graph, Array.from(walkedDependents), walkedDependentsDependencies, { includeRoot: false });
        }
        if (!selector.includeDependencies && !selector.includeDependents) {
          Array.prototype.push.apply(cherryPickedPackages, entryPackages);
        }
      }
    }
    function pkgGraphToGraph(pkgGraph) {
      const graph = {};
      for (const nodeId of Object.keys(pkgGraph)) {
        graph[nodeId] = pkgGraph[nodeId].dependencies;
      }
      return graph;
    }
    function reverseGraph(graph) {
      const reversedGraph = {};
      for (const dependentNodeId of Object.keys(graph)) {
        for (const dependencyNodeId of graph[dependentNodeId]) {
          if (!reversedGraph[dependencyNodeId]) {
            reversedGraph[dependencyNodeId] = [dependentNodeId];
          } else {
            reversedGraph[dependencyNodeId].push(dependentNodeId);
          }
        }
      }
      return reversedGraph;
    }
    function matchPackages(graph, pattern) {
      const match = (0, matcher_1.createMatcher)(pattern);
      const matches = Object.keys(graph).filter((id) => graph[id].package.manifest.name && match(graph[id].package.manifest.name));
      if (matches.length === 0 && !(pattern[0] === "@") && !pattern.includes("/")) {
        const scopedMatches = matchPackages(graph, `@*/${pattern}`);
        return scopedMatches.length !== 1 ? [] : scopedMatches;
      }
      return matches;
    }
    function matchPackagesByExactPath(graph, pathStartsWith) {
      return Object.keys(graph).filter((parentDir) => (0, is_subdir_1.default)(pathStartsWith, parentDir));
    }
    function matchPackagesByGlob(graph, pathStartsWith) {
      const format = (str) => str.replace(/\/$/, "");
      const formattedFilter = pathStartsWith.replace(/\\/g, "/").replace(/\/$/, "");
      return Object.keys(graph).filter((parentDir) => micromatch.isMatch(parentDir, formattedFilter, { format }));
    }
    function pickSubgraph(graph, nextNodeIds, walked, opts) {
      for (const nextNodeId of nextNodeIds) {
        if (!walked.has(nextNodeId)) {
          if (opts.includeRoot) {
            walked.add(nextNodeId);
          }
          if (graph[nextNodeId])
            pickSubgraph(graph, graph[nextNodeId], walked, { includeRoot: true });
        }
      }
    }
  }
});

// ../node_modules/.pnpm/slice-ansi@4.0.0/node_modules/slice-ansi/index.js
var require_slice_ansi2 = __commonJS({
  "../node_modules/.pnpm/slice-ansi@4.0.0/node_modules/slice-ansi/index.js"(exports2, module2) {
    "use strict";
    var isFullwidthCodePoint = require_is_fullwidth_code_point();
    var astralRegex = require_astral_regex();
    var ansiStyles = require_ansi_styles();
    var ESCAPES = [
      "\x1B",
      "\x9B"
    ];
    var wrapAnsi = (code) => `${ESCAPES[0]}[${code}m`;
    var checkAnsi = (ansiCodes, isEscapes, endAnsiCode) => {
      let output = [];
      ansiCodes = [...ansiCodes];
      for (let ansiCode of ansiCodes) {
        const ansiCodeOrigin = ansiCode;
        if (ansiCode.includes(";")) {
          ansiCode = ansiCode.split(";")[0][0] + "0";
        }
        const item = ansiStyles.codes.get(Number.parseInt(ansiCode, 10));
        if (item) {
          const indexEscape = ansiCodes.indexOf(item.toString());
          if (indexEscape === -1) {
            output.push(wrapAnsi(isEscapes ? item : ansiCodeOrigin));
          } else {
            ansiCodes.splice(indexEscape, 1);
          }
        } else if (isEscapes) {
          output.push(wrapAnsi(0));
          break;
        } else {
          output.push(wrapAnsi(ansiCodeOrigin));
        }
      }
      if (isEscapes) {
        output = output.filter((element, index) => output.indexOf(element) === index);
        if (endAnsiCode !== void 0) {
          const fistEscapeCode = wrapAnsi(ansiStyles.codes.get(Number.parseInt(endAnsiCode, 10)));
          output = output.reduce((current, next) => next === fistEscapeCode ? [next, ...current] : [...current, next], []);
        }
      }
      return output.join("");
    };
    module2.exports = (string, begin, end) => {
      const characters = [...string];
      const ansiCodes = [];
      let stringEnd = typeof end === "number" ? end : characters.length;
      let isInsideEscape = false;
      let ansiCode;
      let visible = 0;
      let output = "";
      for (const [index, character] of characters.entries()) {
        let leftEscape = false;
        if (ESCAPES.includes(character)) {
          const code = /\d[^m]*/.exec(string.slice(index, index + 18));
          ansiCode = code && code.length > 0 ? code[0] : void 0;
          if (visible < stringEnd) {
            isInsideEscape = true;
            if (ansiCode !== void 0) {
              ansiCodes.push(ansiCode);
            }
          }
        } else if (isInsideEscape && character === "m") {
          isInsideEscape = false;
          leftEscape = true;
        }
        if (!isInsideEscape && !leftEscape) {
          visible++;
        }
        if (!astralRegex({ exact: true }).test(character) && isFullwidthCodePoint(character.codePointAt())) {
          visible++;
          if (typeof end !== "number") {
            stringEnd++;
          }
        }
        if (visible > begin && visible <= stringEnd) {
          output += character;
        } else if (visible === begin && !isInsideEscape && ansiCode !== void 0) {
          output = checkAnsi(ansiCodes);
        } else if (visible >= stringEnd) {
          output += checkAnsi(ansiCodes, true, ansiCode);
          break;
        }
      }
      return output;
    };
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/getBorderCharacters.js
var require_getBorderCharacters = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/getBorderCharacters.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getBorderCharacters = void 0;
    var getBorderCharacters = (name) => {
      if (name === "honeywell") {
        return {
          topBody: "\u2550",
          topJoin: "\u2564",
          topLeft: "\u2554",
          topRight: "\u2557",
          bottomBody: "\u2550",
          bottomJoin: "\u2567",
          bottomLeft: "\u255A",
          bottomRight: "\u255D",
          bodyLeft: "\u2551",
          bodyRight: "\u2551",
          bodyJoin: "\u2502",
          headerJoin: "\u252C",
          joinBody: "\u2500",
          joinLeft: "\u255F",
          joinRight: "\u2562",
          joinJoin: "\u253C",
          joinMiddleDown: "\u252C",
          joinMiddleUp: "\u2534",
          joinMiddleLeft: "\u2524",
          joinMiddleRight: "\u251C"
        };
      }
      if (name === "norc") {
        return {
          topBody: "\u2500",
          topJoin: "\u252C",
          topLeft: "\u250C",
          topRight: "\u2510",
          bottomBody: "\u2500",
          bottomJoin: "\u2534",
          bottomLeft: "\u2514",
          bottomRight: "\u2518",
          bodyLeft: "\u2502",
          bodyRight: "\u2502",
          bodyJoin: "\u2502",
          headerJoin: "\u252C",
          joinBody: "\u2500",
          joinLeft: "\u251C",
          joinRight: "\u2524",
          joinJoin: "\u253C",
          joinMiddleDown: "\u252C",
          joinMiddleUp: "\u2534",
          joinMiddleLeft: "\u2524",
          joinMiddleRight: "\u251C"
        };
      }
      if (name === "ramac") {
        return {
          topBody: "-",
          topJoin: "+",
          topLeft: "+",
          topRight: "+",
          bottomBody: "-",
          bottomJoin: "+",
          bottomLeft: "+",
          bottomRight: "+",
          bodyLeft: "|",
          bodyRight: "|",
          bodyJoin: "|",
          headerJoin: "+",
          joinBody: "-",
          joinLeft: "|",
          joinRight: "|",
          joinJoin: "|",
          joinMiddleDown: "+",
          joinMiddleUp: "+",
          joinMiddleLeft: "+",
          joinMiddleRight: "+"
        };
      }
      if (name === "void") {
        return {
          topBody: "",
          topJoin: "",
          topLeft: "",
          topRight: "",
          bottomBody: "",
          bottomJoin: "",
          bottomLeft: "",
          bottomRight: "",
          bodyLeft: "",
          bodyRight: "",
          bodyJoin: "",
          headerJoin: "",
          joinBody: "",
          joinLeft: "",
          joinRight: "",
          joinJoin: "",
          joinMiddleDown: "",
          joinMiddleUp: "",
          joinMiddleLeft: "",
          joinMiddleRight: ""
        };
      }
      throw new Error('Unknown border template "' + name + '".');
    };
    exports2.getBorderCharacters = getBorderCharacters;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/utils.js
var require_utils7 = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/utils.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi2());
    var string_width_1 = __importDefault2(require_string_width());
    var strip_ansi_1 = __importDefault2(require_strip_ansi());
    var getBorderCharacters_1 = require_getBorderCharacters();
    var normalizeString = (input) => {
      return input.replace(/\r\n/g, "\n");
    };
    exports2.normalizeString = normalizeString;
    var splitAnsi = (input) => {
      const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default);
      const result2 = [];
      let startIndex = 0;
      lengths.forEach((length) => {
        result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length));
        startIndex += length + 1;
      });
      return result2;
    };
    exports2.splitAnsi = splitAnsi;
    var makeBorderConfig = (border) => {
      return {
        ...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"),
        ...border
      };
    };
    exports2.makeBorderConfig = makeBorderConfig;
    var groupBySizes = (array, sizes) => {
      let startIndex = 0;
      return sizes.map((size) => {
        const group = array.slice(startIndex, startIndex + size);
        startIndex += size;
        return group;
      });
    };
    exports2.groupBySizes = groupBySizes;
    var countSpaceSequence = (input) => {
      var _a, _b;
      return (_b = (_a = input.match(/\s+/g)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
    };
    exports2.countSpaceSequence = countSpaceSequence;
    var distributeUnevenly = (sum, length) => {
      const result2 = Array.from({ length }).fill(Math.floor(sum / length));
      return result2.map((element, index) => {
        return element + (index < sum % length ? 1 : 0);
      });
    };
    exports2.distributeUnevenly = distributeUnevenly;
    var sequence = (start, end) => {
      return Array.from({ length: end - start + 1 }, (_, index) => {
        return index + start;
      });
    };
    exports2.sequence = sequence;
    var sumArray = (array) => {
      return array.reduce((accumulator, element) => {
        return accumulator + element;
      }, 0);
    };
    exports2.sumArray = sumArray;
    var extractTruncates = (config) => {
      return config.columns.map(({ truncate }) => {
        return truncate;
      });
    };
    exports2.extractTruncates = extractTruncates;
    var flatten = (array) => {
      return [].concat(...array);
    };
    exports2.flatten = flatten;
    var calculateRangeCoordinate = (spanningCellConfig) => {
      const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig;
      return {
        bottomRight: {
          col: col + colSpan - 1,
          row: row + rowSpan - 1
        },
        topLeft: {
          col,
          row
        }
      };
    };
    exports2.calculateRangeCoordinate = calculateRangeCoordinate;
    var areCellEqual = (cell1, cell2) => {
      return cell1.row === cell2.row && cell1.col === cell2.col;
    };
    exports2.areCellEqual = areCellEqual;
    var isCellInRange = (cell, { topLeft, bottomRight }) => {
      return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col;
    };
    exports2.isCellInRange = isCellInRange;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignString.js
var require_alignString = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignString.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignString = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var utils_1 = require_utils7();
    var alignLeft = (subject, width) => {
      return subject + " ".repeat(width);
    };
    var alignRight = (subject, width) => {
      return " ".repeat(width) + subject;
    };
    var alignCenter = (subject, width) => {
      return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2));
    };
    var alignJustify = (subject, width) => {
      const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject);
      if (spaceSequenceCount === 0) {
        return alignLeft(subject, width);
      }
      const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount);
      if (Math.max(...addingSpaces) > 3) {
        return alignLeft(subject, width);
      }
      let spaceSequenceIndex = 0;
      return subject.replace(/\s+/g, (groupSpace) => {
        return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]);
      });
    };
    var alignString = (subject, containerWidth, alignment) => {
      const subjectWidth = (0, string_width_1.default)(subject);
      if (subjectWidth === containerWidth) {
        return subject;
      }
      if (subjectWidth > containerWidth) {
        throw new Error("Subject parameter value width cannot be greater than the container width.");
      }
      if (subjectWidth === 0) {
        return " ".repeat(containerWidth);
      }
      const availableWidth = containerWidth - subjectWidth;
      if (alignment === "left") {
        return alignLeft(subject, availableWidth);
      }
      if (alignment === "right") {
        return alignRight(subject, availableWidth);
      }
      if (alignment === "justify") {
        return alignJustify(subject, availableWidth);
      }
      return alignCenter(subject, availableWidth);
    };
    exports2.alignString = alignString;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignTableData.js
var require_alignTableData = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignTableData = void 0;
    var alignString_1 = require_alignString();
    var alignTableData = (rows, config) => {
      return rows.map((row, rowIndex) => {
        return row.map((cell, cellIndex) => {
          var _a;
          const { width, alignment } = config.columns[cellIndex];
          const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({
            col: cellIndex,
            row: rowIndex
          }, { mapped: true });
          if (containingRange) {
            return cell;
          }
          return (0, alignString_1.alignString)(cell, width, alignment);
        });
      });
    };
    exports2.alignTableData = alignTableData;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapString.js
var require_wrapString = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapString.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapString = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi2());
    var string_width_1 = __importDefault2(require_string_width());
    var wrapString = (subject, size) => {
      let subjectSlice = subject;
      const chunks = [];
      do {
        chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size));
        subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim();
      } while ((0, string_width_1.default)(subjectSlice));
      return chunks;
    };
    exports2.wrapString = wrapString;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapWord.js
var require_wrapWord = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapWord.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapWord = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi2());
    var strip_ansi_1 = __importDefault2(require_strip_ansi());
    var calculateStringLengths = (input, size) => {
      let subject = (0, strip_ansi_1.default)(input);
      const chunks = [];
      const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))");
      do {
        let chunk;
        const match = re.exec(subject);
        if (match) {
          chunk = match[0];
          subject = subject.slice(chunk.length);
          const trimmedLength = chunk.trim().length;
          const offset = chunk.length - trimmedLength;
          chunks.push([trimmedLength, offset]);
        } else {
          chunk = subject.slice(0, size);
          subject = subject.slice(size);
          chunks.push([chunk.length, 0]);
        }
      } while (subject.length);
      return chunks;
    };
    var wrapWord = (input, size) => {
      const result2 = [];
      let startIndex = 0;
      calculateStringLengths(input, size).forEach(([length, offset]) => {
        result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length));
        startIndex += length + offset;
      });
      return result2;
    };
    exports2.wrapWord = wrapWord;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapCell.js
var require_wrapCell = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/wrapCell.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapCell = void 0;
    var utils_1 = require_utils7();
    var wrapString_1 = require_wrapString();
    var wrapWord_1 = require_wrapWord();
    var wrapCell = (cellValue, cellWidth, useWrapWord) => {
      const cellLines = (0, utils_1.splitAnsi)(cellValue);
      for (let lineNr = 0; lineNr < cellLines.length; ) {
        let lineChunks;
        if (useWrapWord) {
          lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth);
        } else {
          lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth);
        }
        cellLines.splice(lineNr, 1, ...lineChunks);
        lineNr += lineChunks.length;
      }
      return cellLines;
    };
    exports2.wrapCell = wrapCell;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateCellHeight.js
var require_calculateCellHeight = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateCellHeight.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateCellHeight = void 0;
    var wrapCell_1 = require_wrapCell();
    var calculateCellHeight = (value, columnWidth, useWrapWord = false) => {
      return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length;
    };
    exports2.calculateCellHeight = calculateCellHeight;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateRowHeights.js
var require_calculateRowHeights = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateRowHeights.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateRowHeights = void 0;
    var calculateCellHeight_1 = require_calculateCellHeight();
    var utils_1 = require_utils7();
    var calculateRowHeights = (rows, config) => {
      const rowHeights = [];
      for (const [rowIndex, row] of rows.entries()) {
        let rowHeight = 1;
        row.forEach((cell, cellIndex) => {
          var _a;
          const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({
            col: cellIndex,
            row: rowIndex
          });
          if (!containingRange) {
            const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord);
            rowHeight = Math.max(rowHeight, cellHeight);
            return;
          }
          const { topLeft, bottomRight, height } = containingRange;
          if (rowIndex === bottomRight.row) {
            const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row));
            const totalHorizontalBorderHeight = bottomRight.row - topLeft.row;
            const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
              var _a2;
              return !((_a2 = config.drawHorizontalLine) === null || _a2 === void 0 ? void 0 : _a2.call(config, horizontalBorderIndex, rows.length));
            }).length;
            const cellHeight = height - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight;
            rowHeight = Math.max(rowHeight, cellHeight);
          }
        });
        rowHeights.push(rowHeight);
      }
      return rowHeights;
    };
    exports2.calculateRowHeights = calculateRowHeights;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawContent.js
var require_drawContent = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawContent.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawContent = void 0;
    var drawContent = (parameters) => {
      const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters;
      const contentSize = contents.length;
      const result2 = [];
      if (drawSeparator(0, contentSize)) {
        result2.push(separatorGetter(0, contentSize));
      }
      contents.forEach((content, contentIndex) => {
        if (!elementType || elementType === "border" || elementType === "row") {
          result2.push(content);
        }
        if (elementType === "cell" && rowIndex === void 0) {
          result2.push(content);
        }
        if (elementType === "cell" && rowIndex !== void 0) {
          const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({
            col: contentIndex,
            row: rowIndex
          });
          if (!containingRange || contentIndex === containingRange.topLeft.col) {
            result2.push(content);
          }
        }
        if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) {
          const separator = separatorGetter(contentIndex + 1, contentSize);
          if (elementType === "cell" && rowIndex !== void 0) {
            const currentCell = {
              col: contentIndex + 1,
              row: rowIndex
            };
            const containingRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange(currentCell);
            if (!containingRange || containingRange.topLeft.col === currentCell.col) {
              result2.push(separator);
            }
          } else {
            result2.push(separator);
          }
        }
      });
      if (drawSeparator(contentSize, contentSize)) {
        result2.push(separatorGetter(contentSize, contentSize));
      }
      return result2.join("");
    };
    exports2.drawContent = drawContent;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawBorder.js
var require_drawBorder = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawBorder.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0;
    var drawContent_1 = require_drawContent();
    var drawBorderSegments = (columnWidths, parameters) => {
      const { separator, horizontalBorderIndex, spanningCellManager } = parameters;
      return columnWidths.map((columnWidth, columnIndex) => {
        const normalSegment = separator.body.repeat(columnWidth);
        if (horizontalBorderIndex === void 0) {
          return normalSegment;
        }
        const range = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.getContainingRange({
          col: columnIndex,
          row: horizontalBorderIndex
        });
        if (!range) {
          return normalSegment;
        }
        const { topLeft } = range;
        if (horizontalBorderIndex === topLeft.row) {
          return normalSegment;
        }
        if (columnIndex !== topLeft.col) {
          return "";
        }
        return range.extractBorderContent(horizontalBorderIndex);
      });
    };
    exports2.drawBorderSegments = drawBorderSegments;
    var createSeparatorGetter = (dependencies) => {
      const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies;
      return (verticalBorderIndex, columnCount) => {
        const inSameRange = spanningCellManager === null || spanningCellManager === void 0 ? void 0 : spanningCellManager.inSameRange;
        if (horizontalBorderIndex !== void 0 && inSameRange) {
          const topCell = {
            col: verticalBorderIndex,
            row: horizontalBorderIndex - 1
          };
          const leftCell = {
            col: verticalBorderIndex - 1,
            row: horizontalBorderIndex
          };
          const oppositeCell = {
            col: verticalBorderIndex - 1,
            row: horizontalBorderIndex - 1
          };
          const currentCell = {
            col: verticalBorderIndex,
            row: horizontalBorderIndex
          };
          const pairs = [
            [oppositeCell, topCell],
            [topCell, currentCell],
            [currentCell, leftCell],
            [leftCell, oppositeCell]
          ];
          if (verticalBorderIndex === 0) {
            if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) {
              return separator.bodyJoinOuter;
            }
            return separator.left;
          }
          if (verticalBorderIndex === columnCount) {
            if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) {
              return separator.bodyJoinOuter;
            }
            return separator.right;
          }
          if (horizontalBorderIndex === 0) {
            if (inSameRange(currentCell, leftCell)) {
              return separator.body;
            }
            return separator.join;
          }
          if (horizontalBorderIndex === rowCount) {
            if (inSameRange(topCell, oppositeCell)) {
              return separator.body;
            }
            return separator.join;
          }
          const sameRangeCount = pairs.map((pair) => {
            return inSameRange(...pair);
          }).filter(Boolean).length;
          if (sameRangeCount === 0) {
            return separator.join;
          }
          if (sameRangeCount === 4) {
            return "";
          }
          if (sameRangeCount === 2) {
            if (inSameRange(...pairs[1]) && inSameRange(...pairs[3]) && separator.bodyJoinInner) {
              return separator.bodyJoinInner;
            }
            return separator.body;
          }
          if (sameRangeCount === 1) {
            if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) {
              throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`);
            }
            if (inSameRange(...pairs[0])) {
              return separator.joinDown;
            }
            if (inSameRange(...pairs[1])) {
              return separator.joinLeft;
            }
            if (inSameRange(...pairs[2])) {
              return separator.joinUp;
            }
            return separator.joinRight;
          }
          throw new Error("Invalid case");
        }
        if (verticalBorderIndex === 0) {
          return separator.left;
        }
        if (verticalBorderIndex === columnCount) {
          return separator.right;
        }
        return separator.join;
      };
    };
    exports2.createSeparatorGetter = createSeparatorGetter;
    var drawBorder = (columnWidths, parameters) => {
      const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters);
      const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters;
      return (0, drawContent_1.drawContent)({
        contents: borderSegments,
        drawSeparator: drawVerticalLine,
        elementType: "border",
        rowIndex: horizontalBorderIndex,
        separatorGetter: (0, exports2.createSeparatorGetter)(parameters),
        spanningCellManager
      }) + "\n";
    };
    exports2.drawBorder = drawBorder;
    var drawBorderTop = (columnWidths, parameters) => {
      const { border } = parameters;
      const result2 = (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.topBody,
          join: border.topJoin,
          left: border.topLeft,
          right: border.topRight
        }
      });
      if (result2 === "\n") {
        return "";
      }
      return result2;
    };
    exports2.drawBorderTop = drawBorderTop;
    var drawBorderJoin = (columnWidths, parameters) => {
      const { border } = parameters;
      return (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.joinBody,
          bodyJoinInner: border.bodyJoin,
          bodyJoinOuter: border.bodyLeft,
          join: border.joinJoin,
          joinDown: border.joinMiddleDown,
          joinLeft: border.joinMiddleLeft,
          joinRight: border.joinMiddleRight,
          joinUp: border.joinMiddleUp,
          left: border.joinLeft,
          right: border.joinRight
        }
      });
    };
    exports2.drawBorderJoin = drawBorderJoin;
    var drawBorderBottom = (columnWidths, parameters) => {
      const { border } = parameters;
      return (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.bottomBody,
          join: border.bottomJoin,
          left: border.bottomLeft,
          right: border.bottomRight
        }
      });
    };
    exports2.drawBorderBottom = drawBorderBottom;
    var createTableBorderGetter = (columnWidths, parameters) => {
      return (index, size) => {
        const drawBorderParameters = {
          ...parameters,
          horizontalBorderIndex: index
        };
        if (index === 0) {
          return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters);
        } else if (index === size) {
          return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters);
        }
        return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters);
      };
    };
    exports2.createTableBorderGetter = createTableBorderGetter;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawRow.js
var require_drawRow = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawRow.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawRow = void 0;
    var drawContent_1 = require_drawContent();
    var drawRow = (row, config) => {
      const { border, drawVerticalLine, rowIndex, spanningCellManager } = config;
      return (0, drawContent_1.drawContent)({
        contents: row,
        drawSeparator: drawVerticalLine,
        elementType: "cell",
        rowIndex,
        separatorGetter: (index, columnCount) => {
          if (index === 0) {
            return border.bodyLeft;
          }
          if (index === columnCount) {
            return border.bodyRight;
          }
          return border.bodyJoin;
        },
        spanningCellManager
      }) + "\n";
    };
    exports2.drawRow = drawRow;
  }
});

// ../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js
var require_equal = __commonJS({
  "../node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var equal = require_fast_deep_equal();
    equal.code = 'require("ajv/dist/runtime/equal").default';
    exports2.default = equal;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js
var require_validators = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/generated/validators.js"(exports2) {
    "use strict";
    exports2["config.json"] = validate43;
    var schema13 = {
      "$id": "config.json",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "border": {
          "$ref": "shared.json#/definitions/borders"
        },
        "header": {
          "type": "object",
          "properties": {
            "content": {
              "type": "string"
            },
            "alignment": {
              "$ref": "shared.json#/definitions/alignment"
            },
            "wrapWord": {
              "type": "boolean"
            },
            "truncate": {
              "type": "integer"
            },
            "paddingLeft": {
              "type": "integer"
            },
            "paddingRight": {
              "type": "integer"
            }
          },
          "required": ["content"],
          "additionalProperties": false
        },
        "columns": {
          "$ref": "shared.json#/definitions/columns"
        },
        "columnDefault": {
          "$ref": "shared.json#/definitions/column"
        },
        "drawVerticalLine": {
          "typeof": "function"
        },
        "drawHorizontalLine": {
          "typeof": "function"
        },
        "singleLine": {
          "typeof": "boolean"
        },
        "spanningCells": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "col": {
                "type": "integer",
                "minimum": 0
              },
              "row": {
                "type": "integer",
                "minimum": 0
              },
              "colSpan": {
                "type": "integer",
                "minimum": 1
              },
              "rowSpan": {
                "type": "integer",
                "minimum": 1
              },
              "alignment": {
                "$ref": "shared.json#/definitions/alignment"
              },
              "verticalAlignment": {
                "$ref": "shared.json#/definitions/verticalAlignment"
              },
              "wrapWord": {
                "type": "boolean"
              },
              "truncate": {
                "type": "integer"
              },
              "paddingLeft": {
                "type": "integer"
              },
              "paddingRight": {
                "type": "integer"
              }
            },
            "required": ["row", "col"],
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    };
    var schema15 = {
      "type": "object",
      "properties": {
        "topBody": {
          "$ref": "#/definitions/border"
        },
        "topJoin": {
          "$ref": "#/definitions/border"
        },
        "topLeft": {
          "$ref": "#/definitions/border"
        },
        "topRight": {
          "$ref": "#/definitions/border"
        },
        "bottomBody": {
          "$ref": "#/definitions/border"
        },
        "bottomJoin": {
          "$ref": "#/definitions/border"
        },
        "bottomLeft": {
          "$ref": "#/definitions/border"
        },
        "bottomRight": {
          "$ref": "#/definitions/border"
        },
        "bodyLeft": {
          "$ref": "#/definitions/border"
        },
        "bodyRight": {
          "$ref": "#/definitions/border"
        },
        "bodyJoin": {
          "$ref": "#/definitions/border"
        },
        "headerJoin": {
          "$ref": "#/definitions/border"
        },
        "joinBody": {
          "$ref": "#/definitions/border"
        },
        "joinLeft": {
          "$ref": "#/definitions/border"
        },
        "joinRight": {
          "$ref": "#/definitions/border"
        },
        "joinJoin": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleUp": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleDown": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleLeft": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleRight": {
          "$ref": "#/definitions/border"
        }
      },
      "additionalProperties": false
    };
    var func8 = Object.prototype.hasOwnProperty;
    function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      validate46.errors = vErrors;
      return errors === 0;
    }
    function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!func8.call(schema15.properties, key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.topBody !== void 0) {
          if (!validate46(data.topBody, {
            instancePath: instancePath + "/topBody",
            parentData: data,
            parentDataProperty: "topBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topJoin !== void 0) {
          if (!validate46(data.topJoin, {
            instancePath: instancePath + "/topJoin",
            parentData: data,
            parentDataProperty: "topJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topLeft !== void 0) {
          if (!validate46(data.topLeft, {
            instancePath: instancePath + "/topLeft",
            parentData: data,
            parentDataProperty: "topLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topRight !== void 0) {
          if (!validate46(data.topRight, {
            instancePath: instancePath + "/topRight",
            parentData: data,
            parentDataProperty: "topRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomBody !== void 0) {
          if (!validate46(data.bottomBody, {
            instancePath: instancePath + "/bottomBody",
            parentData: data,
            parentDataProperty: "bottomBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomJoin !== void 0) {
          if (!validate46(data.bottomJoin, {
            instancePath: instancePath + "/bottomJoin",
            parentData: data,
            parentDataProperty: "bottomJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomLeft !== void 0) {
          if (!validate46(data.bottomLeft, {
            instancePath: instancePath + "/bottomLeft",
            parentData: data,
            parentDataProperty: "bottomLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomRight !== void 0) {
          if (!validate46(data.bottomRight, {
            instancePath: instancePath + "/bottomRight",
            parentData: data,
            parentDataProperty: "bottomRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyLeft !== void 0) {
          if (!validate46(data.bodyLeft, {
            instancePath: instancePath + "/bodyLeft",
            parentData: data,
            parentDataProperty: "bodyLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyRight !== void 0) {
          if (!validate46(data.bodyRight, {
            instancePath: instancePath + "/bodyRight",
            parentData: data,
            parentDataProperty: "bodyRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyJoin !== void 0) {
          if (!validate46(data.bodyJoin, {
            instancePath: instancePath + "/bodyJoin",
            parentData: data,
            parentDataProperty: "bodyJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.headerJoin !== void 0) {
          if (!validate46(data.headerJoin, {
            instancePath: instancePath + "/headerJoin",
            parentData: data,
            parentDataProperty: "headerJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinBody !== void 0) {
          if (!validate46(data.joinBody, {
            instancePath: instancePath + "/joinBody",
            parentData: data,
            parentDataProperty: "joinBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinLeft !== void 0) {
          if (!validate46(data.joinLeft, {
            instancePath: instancePath + "/joinLeft",
            parentData: data,
            parentDataProperty: "joinLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinRight !== void 0) {
          if (!validate46(data.joinRight, {
            instancePath: instancePath + "/joinRight",
            parentData: data,
            parentDataProperty: "joinRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinJoin !== void 0) {
          if (!validate46(data.joinJoin, {
            instancePath: instancePath + "/joinJoin",
            parentData: data,
            parentDataProperty: "joinJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleUp !== void 0) {
          if (!validate46(data.joinMiddleUp, {
            instancePath: instancePath + "/joinMiddleUp",
            parentData: data,
            parentDataProperty: "joinMiddleUp",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleDown !== void 0) {
          if (!validate46(data.joinMiddleDown, {
            instancePath: instancePath + "/joinMiddleDown",
            parentData: data,
            parentDataProperty: "joinMiddleDown",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleLeft !== void 0) {
          if (!validate46(data.joinMiddleLeft, {
            instancePath: instancePath + "/joinMiddleLeft",
            parentData: data,
            parentDataProperty: "joinMiddleLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleRight !== void 0) {
          if (!validate46(data.joinMiddleRight, {
            instancePath: instancePath + "/joinMiddleRight",
            parentData: data,
            parentDataProperty: "joinMiddleRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate45.errors = vErrors;
      return errors === 0;
    }
    var schema17 = {
      "type": "string",
      "enum": ["left", "right", "center", "justify"]
    };
    var func0 = require_equal().default;
    function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema17.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate68.errors = vErrors;
      return errors === 0;
    }
    var pattern0 = new RegExp("^[0-9]+$", "u");
    function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema17.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate72.errors = vErrors;
      return errors === 0;
    }
    var schema21 = {
      "type": "string",
      "enum": ["top", "middle", "bottom"]
    };
    function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "top" || data === "middle" || data === "bottom")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema21.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate74.errors = vErrors;
      return errors === 0;
    }
    function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate71.errors = vErrors;
      return errors === 0;
    }
    function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      const _errs0 = errors;
      let valid0 = false;
      let passing0 = null;
      const _errs1 = errors;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!pattern0.test(key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/oneOf/0/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        for (const key1 in data) {
          if (pattern0.test(key1)) {
            if (!validate71(data[key1], {
              instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
              parentData: data,
              parentDataProperty: key1,
              rootData
            })) {
              vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
              errors = vErrors.length;
            }
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/oneOf/0/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      var _valid0 = _errs1 === errors;
      if (_valid0) {
        valid0 = true;
        passing0 = 0;
      }
      const _errs5 = errors;
      if (Array.isArray(data)) {
        const len0 = data.length;
        for (let i0 = 0; i0 < len0; i0++) {
          if (!validate71(data[i0], {
            instancePath: instancePath + "/" + i0,
            parentData: data,
            parentDataProperty: i0,
            rootData
          })) {
            vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err2 = {
          instancePath,
          schemaPath: "#/oneOf/1/type",
          keyword: "type",
          params: {
            type: "array"
          },
          message: "must be array"
        };
        if (vErrors === null) {
          vErrors = [err2];
        } else {
          vErrors.push(err2);
        }
        errors++;
      }
      var _valid0 = _errs5 === errors;
      if (_valid0 && valid0) {
        valid0 = false;
        passing0 = [passing0, 1];
      } else {
        if (_valid0) {
          valid0 = true;
          passing0 = 1;
        }
      }
      if (!valid0) {
        const err3 = {
          instancePath,
          schemaPath: "#/oneOf",
          keyword: "oneOf",
          params: {
            passingSchemas: passing0
          },
          message: "must match exactly one schema in oneOf"
        };
        if (vErrors === null) {
          vErrors = [err3];
        } else {
          vErrors.push(err3);
        }
        errors++;
      } else {
        errors = _errs0;
        if (vErrors !== null) {
          if (_errs0) {
            vErrors.length = _errs0;
          } else {
            vErrors = null;
          }
        }
      }
      validate70.errors = vErrors;
      return errors === 0;
    }
    function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate79.errors = vErrors;
      return errors === 0;
    }
    function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "top" || data === "middle" || data === "bottom")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema21.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate84.errors = vErrors;
      return errors === 0;
    }
    function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      ;
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.border !== void 0) {
          if (!validate45(data.border, {
            instancePath: instancePath + "/border",
            parentData: data,
            parentDataProperty: "border",
            rootData
          })) {
            vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);
            errors = vErrors.length;
          }
        }
        if (data.header !== void 0) {
          let data1 = data.header;
          if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
            if (data1.content === void 0) {
              const err1 = {
                instancePath: instancePath + "/header",
                schemaPath: "#/properties/header/required",
                keyword: "required",
                params: {
                  missingProperty: "content"
                },
                message: "must have required property 'content'"
              };
              if (vErrors === null) {
                vErrors = [err1];
              } else {
                vErrors.push(err1);
              }
              errors++;
            }
            for (const key1 in data1) {
              if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) {
                const err2 = {
                  instancePath: instancePath + "/header",
                  schemaPath: "#/properties/header/additionalProperties",
                  keyword: "additionalProperties",
                  params: {
                    additionalProperty: key1
                  },
                  message: "must NOT have additional properties"
                };
                if (vErrors === null) {
                  vErrors = [err2];
                } else {
                  vErrors.push(err2);
                }
                errors++;
              }
            }
            if (data1.content !== void 0) {
              if (typeof data1.content !== "string") {
                const err3 = {
                  instancePath: instancePath + "/header/content",
                  schemaPath: "#/properties/header/properties/content/type",
                  keyword: "type",
                  params: {
                    type: "string"
                  },
                  message: "must be string"
                };
                if (vErrors === null) {
                  vErrors = [err3];
                } else {
                  vErrors.push(err3);
                }
                errors++;
              }
            }
            if (data1.alignment !== void 0) {
              if (!validate68(data1.alignment, {
                instancePath: instancePath + "/header/alignment",
                parentData: data1,
                parentDataProperty: "alignment",
                rootData
              })) {
                vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
                errors = vErrors.length;
              }
            }
            if (data1.wrapWord !== void 0) {
              if (typeof data1.wrapWord !== "boolean") {
                const err4 = {
                  instancePath: instancePath + "/header/wrapWord",
                  schemaPath: "#/properties/header/properties/wrapWord/type",
                  keyword: "type",
                  params: {
                    type: "boolean"
                  },
                  message: "must be boolean"
                };
                if (vErrors === null) {
                  vErrors = [err4];
                } else {
                  vErrors.push(err4);
                }
                errors++;
              }
            }
            if (data1.truncate !== void 0) {
              let data5 = data1.truncate;
              if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
                const err5 = {
                  instancePath: instancePath + "/header/truncate",
                  schemaPath: "#/properties/header/properties/truncate/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err5];
                } else {
                  vErrors.push(err5);
                }
                errors++;
              }
            }
            if (data1.paddingLeft !== void 0) {
              let data6 = data1.paddingLeft;
              if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
                const err6 = {
                  instancePath: instancePath + "/header/paddingLeft",
                  schemaPath: "#/properties/header/properties/paddingLeft/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err6];
                } else {
                  vErrors.push(err6);
                }
                errors++;
              }
            }
            if (data1.paddingRight !== void 0) {
              let data7 = data1.paddingRight;
              if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) {
                const err7 = {
                  instancePath: instancePath + "/header/paddingRight",
                  schemaPath: "#/properties/header/properties/paddingRight/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err7];
                } else {
                  vErrors.push(err7);
                }
                errors++;
              }
            }
          } else {
            const err8 = {
              instancePath: instancePath + "/header",
              schemaPath: "#/properties/header/type",
              keyword: "type",
              params: {
                type: "object"
              },
              message: "must be object"
            };
            if (vErrors === null) {
              vErrors = [err8];
            } else {
              vErrors.push(err8);
            }
            errors++;
          }
        }
        if (data.columns !== void 0) {
          if (!validate70(data.columns, {
            instancePath: instancePath + "/columns",
            parentData: data,
            parentDataProperty: "columns",
            rootData
          })) {
            vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnDefault !== void 0) {
          if (!validate79(data.columnDefault, {
            instancePath: instancePath + "/columnDefault",
            parentData: data,
            parentDataProperty: "columnDefault",
            rootData
          })) {
            vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);
            errors = vErrors.length;
          }
        }
        if (data.drawVerticalLine !== void 0) {
          if (typeof data.drawVerticalLine != "function") {
            const err9 = {
              instancePath: instancePath + "/drawVerticalLine",
              schemaPath: "#/properties/drawVerticalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err9];
            } else {
              vErrors.push(err9);
            }
            errors++;
          }
        }
        if (data.drawHorizontalLine !== void 0) {
          if (typeof data.drawHorizontalLine != "function") {
            const err10 = {
              instancePath: instancePath + "/drawHorizontalLine",
              schemaPath: "#/properties/drawHorizontalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err10];
            } else {
              vErrors.push(err10);
            }
            errors++;
          }
        }
        if (data.singleLine !== void 0) {
          if (typeof data.singleLine != "boolean") {
            const err11 = {
              instancePath: instancePath + "/singleLine",
              schemaPath: "#/properties/singleLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err11];
            } else {
              vErrors.push(err11);
            }
            errors++;
          }
        }
        if (data.spanningCells !== void 0) {
          let data13 = data.spanningCells;
          if (Array.isArray(data13)) {
            const len0 = data13.length;
            for (let i0 = 0; i0 < len0; i0++) {
              let data14 = data13[i0];
              if (data14 && typeof data14 == "object" && !Array.isArray(data14)) {
                if (data14.row === void 0) {
                  const err12 = {
                    instancePath: instancePath + "/spanningCells/" + i0,
                    schemaPath: "#/properties/spanningCells/items/required",
                    keyword: "required",
                    params: {
                      missingProperty: "row"
                    },
                    message: "must have required property 'row'"
                  };
                  if (vErrors === null) {
                    vErrors = [err12];
                  } else {
                    vErrors.push(err12);
                  }
                  errors++;
                }
                if (data14.col === void 0) {
                  const err13 = {
                    instancePath: instancePath + "/spanningCells/" + i0,
                    schemaPath: "#/properties/spanningCells/items/required",
                    keyword: "required",
                    params: {
                      missingProperty: "col"
                    },
                    message: "must have required property 'col'"
                  };
                  if (vErrors === null) {
                    vErrors = [err13];
                  } else {
                    vErrors.push(err13);
                  }
                  errors++;
                }
                for (const key2 in data14) {
                  if (!func8.call(schema13.properties.spanningCells.items.properties, key2)) {
                    const err14 = {
                      instancePath: instancePath + "/spanningCells/" + i0,
                      schemaPath: "#/properties/spanningCells/items/additionalProperties",
                      keyword: "additionalProperties",
                      params: {
                        additionalProperty: key2
                      },
                      message: "must NOT have additional properties"
                    };
                    if (vErrors === null) {
                      vErrors = [err14];
                    } else {
                      vErrors.push(err14);
                    }
                    errors++;
                  }
                }
                if (data14.col !== void 0) {
                  let data15 = data14.col;
                  if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) {
                    const err15 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/col",
                      schemaPath: "#/properties/spanningCells/items/properties/col/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err15];
                    } else {
                      vErrors.push(err15);
                    }
                    errors++;
                  }
                  if (typeof data15 == "number" && isFinite(data15)) {
                    if (data15 < 0 || isNaN(data15)) {
                      const err16 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/col",
                        schemaPath: "#/properties/spanningCells/items/properties/col/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 0
                        },
                        message: "must be >= 0"
                      };
                      if (vErrors === null) {
                        vErrors = [err16];
                      } else {
                        vErrors.push(err16);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.row !== void 0) {
                  let data16 = data14.row;
                  if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) {
                    const err17 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/row",
                      schemaPath: "#/properties/spanningCells/items/properties/row/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err17];
                    } else {
                      vErrors.push(err17);
                    }
                    errors++;
                  }
                  if (typeof data16 == "number" && isFinite(data16)) {
                    if (data16 < 0 || isNaN(data16)) {
                      const err18 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/row",
                        schemaPath: "#/properties/spanningCells/items/properties/row/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 0
                        },
                        message: "must be >= 0"
                      };
                      if (vErrors === null) {
                        vErrors = [err18];
                      } else {
                        vErrors.push(err18);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.colSpan !== void 0) {
                  let data17 = data14.colSpan;
                  if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) {
                    const err19 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
                      schemaPath: "#/properties/spanningCells/items/properties/colSpan/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err19];
                    } else {
                      vErrors.push(err19);
                    }
                    errors++;
                  }
                  if (typeof data17 == "number" && isFinite(data17)) {
                    if (data17 < 1 || isNaN(data17)) {
                      const err20 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
                        schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 1
                        },
                        message: "must be >= 1"
                      };
                      if (vErrors === null) {
                        vErrors = [err20];
                      } else {
                        vErrors.push(err20);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.rowSpan !== void 0) {
                  let data18 = data14.rowSpan;
                  if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) {
                    const err21 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
                      schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err21];
                    } else {
                      vErrors.push(err21);
                    }
                    errors++;
                  }
                  if (typeof data18 == "number" && isFinite(data18)) {
                    if (data18 < 1 || isNaN(data18)) {
                      const err22 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
                        schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 1
                        },
                        message: "must be >= 1"
                      };
                      if (vErrors === null) {
                        vErrors = [err22];
                      } else {
                        vErrors.push(err22);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.alignment !== void 0) {
                  if (!validate68(data14.alignment, {
                    instancePath: instancePath + "/spanningCells/" + i0 + "/alignment",
                    parentData: data14,
                    parentDataProperty: "alignment",
                    rootData
                  })) {
                    vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
                    errors = vErrors.length;
                  }
                }
                if (data14.verticalAlignment !== void 0) {
                  if (!validate84(data14.verticalAlignment, {
                    instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment",
                    parentData: data14,
                    parentDataProperty: "verticalAlignment",
                    rootData
                  })) {
                    vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors);
                    errors = vErrors.length;
                  }
                }
                if (data14.wrapWord !== void 0) {
                  if (typeof data14.wrapWord !== "boolean") {
                    const err23 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord",
                      schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type",
                      keyword: "type",
                      params: {
                        type: "boolean"
                      },
                      message: "must be boolean"
                    };
                    if (vErrors === null) {
                      vErrors = [err23];
                    } else {
                      vErrors.push(err23);
                    }
                    errors++;
                  }
                }
                if (data14.truncate !== void 0) {
                  let data22 = data14.truncate;
                  if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) {
                    const err24 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/truncate",
                      schemaPath: "#/properties/spanningCells/items/properties/truncate/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err24];
                    } else {
                      vErrors.push(err24);
                    }
                    errors++;
                  }
                }
                if (data14.paddingLeft !== void 0) {
                  let data23 = data14.paddingLeft;
                  if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) {
                    const err25 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft",
                      schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err25];
                    } else {
                      vErrors.push(err25);
                    }
                    errors++;
                  }
                }
                if (data14.paddingRight !== void 0) {
                  let data24 = data14.paddingRight;
                  if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) {
                    const err26 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight",
                      schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err26];
                    } else {
                      vErrors.push(err26);
                    }
                    errors++;
                  }
                }
              } else {
                const err27 = {
                  instancePath: instancePath + "/spanningCells/" + i0,
                  schemaPath: "#/properties/spanningCells/items/type",
                  keyword: "type",
                  params: {
                    type: "object"
                  },
                  message: "must be object"
                };
                if (vErrors === null) {
                  vErrors = [err27];
                } else {
                  vErrors.push(err27);
                }
                errors++;
              }
            }
          } else {
            const err28 = {
              instancePath: instancePath + "/spanningCells",
              schemaPath: "#/properties/spanningCells/type",
              keyword: "type",
              params: {
                type: "array"
              },
              message: "must be array"
            };
            if (vErrors === null) {
              vErrors = [err28];
            } else {
              vErrors.push(err28);
            }
            errors++;
          }
        }
      } else {
        const err29 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err29];
        } else {
          vErrors.push(err29);
        }
        errors++;
      }
      validate43.errors = vErrors;
      return errors === 0;
    }
    exports2["streamConfig.json"] = validate86;
    function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!func8.call(schema15.properties, key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.topBody !== void 0) {
          if (!validate46(data.topBody, {
            instancePath: instancePath + "/topBody",
            parentData: data,
            parentDataProperty: "topBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topJoin !== void 0) {
          if (!validate46(data.topJoin, {
            instancePath: instancePath + "/topJoin",
            parentData: data,
            parentDataProperty: "topJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topLeft !== void 0) {
          if (!validate46(data.topLeft, {
            instancePath: instancePath + "/topLeft",
            parentData: data,
            parentDataProperty: "topLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topRight !== void 0) {
          if (!validate46(data.topRight, {
            instancePath: instancePath + "/topRight",
            parentData: data,
            parentDataProperty: "topRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomBody !== void 0) {
          if (!validate46(data.bottomBody, {
            instancePath: instancePath + "/bottomBody",
            parentData: data,
            parentDataProperty: "bottomBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomJoin !== void 0) {
          if (!validate46(data.bottomJoin, {
            instancePath: instancePath + "/bottomJoin",
            parentData: data,
            parentDataProperty: "bottomJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomLeft !== void 0) {
          if (!validate46(data.bottomLeft, {
            instancePath: instancePath + "/bottomLeft",
            parentData: data,
            parentDataProperty: "bottomLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomRight !== void 0) {
          if (!validate46(data.bottomRight, {
            instancePath: instancePath + "/bottomRight",
            parentData: data,
            parentDataProperty: "bottomRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyLeft !== void 0) {
          if (!validate46(data.bodyLeft, {
            instancePath: instancePath + "/bodyLeft",
            parentData: data,
            parentDataProperty: "bodyLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyRight !== void 0) {
          if (!validate46(data.bodyRight, {
            instancePath: instancePath + "/bodyRight",
            parentData: data,
            parentDataProperty: "bodyRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyJoin !== void 0) {
          if (!validate46(data.bodyJoin, {
            instancePath: instancePath + "/bodyJoin",
            parentData: data,
            parentDataProperty: "bodyJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.headerJoin !== void 0) {
          if (!validate46(data.headerJoin, {
            instancePath: instancePath + "/headerJoin",
            parentData: data,
            parentDataProperty: "headerJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinBody !== void 0) {
          if (!validate46(data.joinBody, {
            instancePath: instancePath + "/joinBody",
            parentData: data,
            parentDataProperty: "joinBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinLeft !== void 0) {
          if (!validate46(data.joinLeft, {
            instancePath: instancePath + "/joinLeft",
            parentData: data,
            parentDataProperty: "joinLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinRight !== void 0) {
          if (!validate46(data.joinRight, {
            instancePath: instancePath + "/joinRight",
            parentData: data,
            parentDataProperty: "joinRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinJoin !== void 0) {
          if (!validate46(data.joinJoin, {
            instancePath: instancePath + "/joinJoin",
            parentData: data,
            parentDataProperty: "joinJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleUp !== void 0) {
          if (!validate46(data.joinMiddleUp, {
            instancePath: instancePath + "/joinMiddleUp",
            parentData: data,
            parentDataProperty: "joinMiddleUp",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleDown !== void 0) {
          if (!validate46(data.joinMiddleDown, {
            instancePath: instancePath + "/joinMiddleDown",
            parentData: data,
            parentDataProperty: "joinMiddleDown",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleLeft !== void 0) {
          if (!validate46(data.joinMiddleLeft, {
            instancePath: instancePath + "/joinMiddleLeft",
            parentData: data,
            parentDataProperty: "joinMiddleLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleRight !== void 0) {
          if (!validate46(data.joinMiddleRight, {
            instancePath: instancePath + "/joinMiddleRight",
            parentData: data,
            parentDataProperty: "joinMiddleRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate87.errors = vErrors;
      return errors === 0;
    }
    function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      const _errs0 = errors;
      let valid0 = false;
      let passing0 = null;
      const _errs1 = errors;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!pattern0.test(key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/oneOf/0/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        for (const key1 in data) {
          if (pattern0.test(key1)) {
            if (!validate71(data[key1], {
              instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
              parentData: data,
              parentDataProperty: key1,
              rootData
            })) {
              vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
              errors = vErrors.length;
            }
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/oneOf/0/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      var _valid0 = _errs1 === errors;
      if (_valid0) {
        valid0 = true;
        passing0 = 0;
      }
      const _errs5 = errors;
      if (Array.isArray(data)) {
        const len0 = data.length;
        for (let i0 = 0; i0 < len0; i0++) {
          if (!validate71(data[i0], {
            instancePath: instancePath + "/" + i0,
            parentData: data,
            parentDataProperty: i0,
            rootData
          })) {
            vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err2 = {
          instancePath,
          schemaPath: "#/oneOf/1/type",
          keyword: "type",
          params: {
            type: "array"
          },
          message: "must be array"
        };
        if (vErrors === null) {
          vErrors = [err2];
        } else {
          vErrors.push(err2);
        }
        errors++;
      }
      var _valid0 = _errs5 === errors;
      if (_valid0 && valid0) {
        valid0 = false;
        passing0 = [passing0, 1];
      } else {
        if (_valid0) {
          valid0 = true;
          passing0 = 1;
        }
      }
      if (!valid0) {
        const err3 = {
          instancePath,
          schemaPath: "#/oneOf",
          keyword: "oneOf",
          params: {
            passingSchemas: passing0
          },
          message: "must match exactly one schema in oneOf"
        };
        if (vErrors === null) {
          vErrors = [err3];
        } else {
          vErrors.push(err3);
        }
        errors++;
      } else {
        errors = _errs0;
        if (vErrors !== null) {
          if (_errs0) {
            vErrors.length = _errs0;
          } else {
            vErrors = null;
          }
        }
      }
      validate109.errors = vErrors;
      return errors === 0;
    }
    function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate113.errors = vErrors;
      return errors === 0;
    }
    function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      ;
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        if (data.columnDefault === void 0) {
          const err0 = {
            instancePath,
            schemaPath: "#/required",
            keyword: "required",
            params: {
              missingProperty: "columnDefault"
            },
            message: "must have required property 'columnDefault'"
          };
          if (vErrors === null) {
            vErrors = [err0];
          } else {
            vErrors.push(err0);
          }
          errors++;
        }
        if (data.columnCount === void 0) {
          const err1 = {
            instancePath,
            schemaPath: "#/required",
            keyword: "required",
            params: {
              missingProperty: "columnCount"
            },
            message: "must have required property 'columnCount'"
          };
          if (vErrors === null) {
            vErrors = [err1];
          } else {
            vErrors.push(err1);
          }
          errors++;
        }
        for (const key0 in data) {
          if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) {
            const err2 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err2];
            } else {
              vErrors.push(err2);
            }
            errors++;
          }
        }
        if (data.border !== void 0) {
          if (!validate87(data.border, {
            instancePath: instancePath + "/border",
            parentData: data,
            parentDataProperty: "border",
            rootData
          })) {
            vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors);
            errors = vErrors.length;
          }
        }
        if (data.columns !== void 0) {
          if (!validate109(data.columns, {
            instancePath: instancePath + "/columns",
            parentData: data,
            parentDataProperty: "columns",
            rootData
          })) {
            vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnDefault !== void 0) {
          if (!validate113(data.columnDefault, {
            instancePath: instancePath + "/columnDefault",
            parentData: data,
            parentDataProperty: "columnDefault",
            rootData
          })) {
            vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnCount !== void 0) {
          let data3 = data.columnCount;
          if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) {
            const err3 = {
              instancePath: instancePath + "/columnCount",
              schemaPath: "#/properties/columnCount/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
          if (typeof data3 == "number" && isFinite(data3)) {
            if (data3 < 1 || isNaN(data3)) {
              const err4 = {
                instancePath: instancePath + "/columnCount",
                schemaPath: "#/properties/columnCount/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err4];
              } else {
                vErrors.push(err4);
              }
              errors++;
            }
          }
        }
        if (data.drawVerticalLine !== void 0) {
          if (typeof data.drawVerticalLine != "function") {
            const err5 = {
              instancePath: instancePath + "/drawVerticalLine",
              schemaPath: "#/properties/drawVerticalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
      } else {
        const err6 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err6];
        } else {
          vErrors.push(err6);
        }
        errors++;
      }
      validate86.errors = vErrors;
      return errors === 0;
    }
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateConfig.js
var require_validateConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateConfig.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateConfig = void 0;
    var validators_1 = __importDefault2(require_validators());
    var validateConfig = (schemaId, config) => {
      const validate2 = validators_1.default[schemaId];
      if (!validate2(config) && validate2.errors) {
        const errors = validate2.errors.map((error) => {
          return {
            message: error.message,
            params: error.params,
            schemaPath: error.schemaPath
          };
        });
        console.log("config", config);
        console.log("errors", errors);
        throw new Error("Invalid config.");
      }
    };
    exports2.validateConfig = validateConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeStreamConfig.js
var require_makeStreamConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeStreamConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeStreamConfig = void 0;
    var utils_1 = require_utils7();
    var validateConfig_1 = require_validateConfig();
    var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => {
      return Array.from({ length: columnCount }).map((_, index) => {
        return {
          alignment: "left",
          paddingLeft: 1,
          paddingRight: 1,
          truncate: Number.POSITIVE_INFINITY,
          verticalAlignment: "top",
          wrapWord: false,
          ...columnDefault,
          ...columns[index]
        };
      });
    };
    var makeStreamConfig = (config) => {
      (0, validateConfig_1.validateConfig)("streamConfig.json", config);
      if (config.columnDefault.width === void 0) {
        throw new Error("Must provide config.columnDefault.width when creating a stream.");
      }
      return {
        drawVerticalLine: () => {
          return true;
        },
        ...config,
        border: (0, utils_1.makeBorderConfig)(config.border),
        columns: makeColumnsConfig(config.columnCount, config.columns, config.columnDefault)
      };
    };
    exports2.makeStreamConfig = makeStreamConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/mapDataUsingRowHeights.js
var require_mapDataUsingRowHeights = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/mapDataUsingRowHeights.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0;
    var utils_1 = require_utils7();
    var wrapCell_1 = require_wrapCell();
    var createEmptyStrings = (length) => {
      return new Array(length).fill("");
    };
    var padCellVertically = (lines, rowHeight, verticalAlignment) => {
      const availableLines = rowHeight - lines.length;
      if (verticalAlignment === "top") {
        return [...lines, ...createEmptyStrings(availableLines)];
      }
      if (verticalAlignment === "bottom") {
        return [...createEmptyStrings(availableLines), ...lines];
      }
      return [
        ...createEmptyStrings(Math.floor(availableLines / 2)),
        ...lines,
        ...createEmptyStrings(Math.ceil(availableLines / 2))
      ];
    };
    exports2.padCellVertically = padCellVertically;
    var mapDataUsingRowHeights = (unmappedRows, rowHeights, config) => {
      const nColumns = unmappedRows[0].length;
      const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => {
        const outputRowHeight = rowHeights[unmappedRowIndex];
        const outputRow = Array.from({ length: outputRowHeight }, () => {
          return new Array(nColumns).fill("");
        });
        unmappedRow.forEach((cell, cellIndex) => {
          var _a;
          const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({
            col: cellIndex,
            row: unmappedRowIndex
          });
          if (containingRange) {
            containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => {
              outputRow[cellLineIndex][cellIndex] = cellLine;
            });
            return;
          }
          const cellLines = (0, wrapCell_1.wrapCell)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord);
          const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config.columns[cellIndex].verticalAlignment);
          paddedCellLines.forEach((cellLine, cellLineIndex) => {
            outputRow[cellLineIndex][cellIndex] = cellLine;
          });
        });
        return outputRow;
      });
      return (0, utils_1.flatten)(mappedRows);
    };
    exports2.mapDataUsingRowHeights = mapDataUsingRowHeights;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/padTableData.js
var require_padTableData = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/padTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.padTableData = exports2.padString = void 0;
    var padString = (input, paddingLeft, paddingRight) => {
      return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight);
    };
    exports2.padString = padString;
    var padTableData = (rows, config) => {
      return rows.map((cells, rowIndex) => {
        return cells.map((cell, cellIndex) => {
          var _a;
          const containingRange = (_a = config.spanningCellManager) === null || _a === void 0 ? void 0 : _a.getContainingRange({
            col: cellIndex,
            row: rowIndex
          }, { mapped: true });
          if (containingRange) {
            return cell;
          }
          const { paddingLeft, paddingRight } = config.columns[cellIndex];
          return (0, exports2.padString)(cell, paddingLeft, paddingRight);
        });
      });
    };
    exports2.padTableData = padTableData;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/stringifyTableData.js
var require_stringifyTableData = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/stringifyTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifyTableData = void 0;
    var utils_1 = require_utils7();
    var stringifyTableData = (rows) => {
      return rows.map((cells) => {
        return cells.map((cell) => {
          return (0, utils_1.normalizeString)(String(cell));
        });
      });
    };
    exports2.stringifyTableData = stringifyTableData;
  }
});

// ../node_modules/.pnpm/lodash.truncate@4.4.2/node_modules/lodash.truncate/index.js
var require_lodash = __commonJS({
  "../node_modules/.pnpm/lodash.truncate@4.4.2/node_modules/lodash.truncate/index.js"(exports2, module2) {
    var DEFAULT_TRUNC_LENGTH = 30;
    var DEFAULT_TRUNC_OMISSION = "...";
    var INFINITY = 1 / 0;
    var MAX_INTEGER = 17976931348623157e292;
    var NAN = 0 / 0;
    var regexpTag = "[object RegExp]";
    var symbolTag = "[object Symbol]";
    var reTrim = /^\s+|\s+$/g;
    var reFlags = /\w*$/;
    var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
    var reIsBinary = /^0b[01]+$/i;
    var reIsOctal = /^0o[0-7]+$/i;
    var rsAstralRange = "\\ud800-\\udfff";
    var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23";
    var rsComboSymbolsRange = "\\u20d0-\\u20f0";
    var rsVarRange = "\\ufe0e\\ufe0f";
    var rsAstral = "[" + rsAstralRange + "]";
    var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]";
    var rsFitz = "\\ud83c[\\udffb-\\udfff]";
    var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
    var rsNonAstral = "[^" + rsAstralRange + "]";
    var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
    var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
    var rsZWJ = "\\u200d";
    var reOptMod = rsModifier + "?";
    var rsOptVar = "[" + rsVarRange + "]?";
    var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
    var rsSeq = rsOptVar + reOptMod + rsOptJoin;
    var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
    var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
    var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + "]");
    var freeParseInt = parseInt;
    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
    var root = freeGlobal || freeSelf || Function("return this")();
    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var freeProcess = moduleExports && freeGlobal.process;
    var nodeUtil = function() {
      try {
        return freeProcess && freeProcess.binding("util");
      } catch (e) {
      }
    }();
    var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp;
    var asciiSize = baseProperty("length");
    function asciiToArray(string) {
      return string.split("");
    }
    function baseProperty(key) {
      return function(object) {
        return object == null ? void 0 : object[key];
      };
    }
    function baseUnary(func) {
      return function(value) {
        return func(value);
      };
    }
    function hasUnicode(string) {
      return reHasUnicode.test(string);
    }
    function stringSize(string) {
      return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
    }
    function stringToArray(string) {
      return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
    }
    function unicodeSize(string) {
      var result2 = reUnicode.lastIndex = 0;
      while (reUnicode.test(string)) {
        result2++;
      }
      return result2;
    }
    function unicodeToArray(string) {
      return string.match(reUnicode) || [];
    }
    var objectProto = Object.prototype;
    var objectToString = objectProto.toString;
    var Symbol2 = root.Symbol;
    var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
    var symbolToString = symbolProto ? symbolProto.toString : void 0;
    function baseIsRegExp(value) {
      return isObject(value) && objectToString.call(value) == regexpTag;
    }
    function baseSlice(array, start, end) {
      var index = -1, length = array.length;
      if (start < 0) {
        start = -start > length ? 0 : length + start;
      }
      end = end > length ? length : end;
      if (end < 0) {
        end += length;
      }
      length = start > end ? 0 : end - start >>> 0;
      start >>>= 0;
      var result2 = Array(length);
      while (++index < length) {
        result2[index] = array[index + start];
      }
      return result2;
    }
    function baseToString(value) {
      if (typeof value == "string") {
        return value;
      }
      if (isSymbol(value)) {
        return symbolToString ? symbolToString.call(value) : "";
      }
      var result2 = value + "";
      return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
    }
    function castSlice(array, start, end) {
      var length = array.length;
      end = end === void 0 ? length : end;
      return !start && end >= length ? array : baseSlice(array, start, end);
    }
    function isObject(value) {
      var type = typeof value;
      return !!value && (type == "object" || type == "function");
    }
    function isObjectLike(value) {
      return !!value && typeof value == "object";
    }
    var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;
    function isSymbol(value) {
      return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
    }
    function toFinite(value) {
      if (!value) {
        return value === 0 ? value : 0;
      }
      value = toNumber(value);
      if (value === INFINITY || value === -INFINITY) {
        var sign = value < 0 ? -1 : 1;
        return sign * MAX_INTEGER;
      }
      return value === value ? value : 0;
    }
    function toInteger(value) {
      var result2 = toFinite(value), remainder = result2 % 1;
      return result2 === result2 ? remainder ? result2 - remainder : result2 : 0;
    }
    function toNumber(value) {
      if (typeof value == "number") {
        return value;
      }
      if (isSymbol(value)) {
        return NAN;
      }
      if (isObject(value)) {
        var other = typeof value.valueOf == "function" ? value.valueOf() : value;
        value = isObject(other) ? other + "" : other;
      }
      if (typeof value != "string") {
        return value === 0 ? value : +value;
      }
      value = value.replace(reTrim, "");
      var isBinary = reIsBinary.test(value);
      return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
    }
    function toString(value) {
      return value == null ? "" : baseToString(value);
    }
    function truncate(string, options) {
      var length = DEFAULT_TRUNC_LENGTH, omission = DEFAULT_TRUNC_OMISSION;
      if (isObject(options)) {
        var separator = "separator" in options ? options.separator : separator;
        length = "length" in options ? toInteger(options.length) : length;
        omission = "omission" in options ? baseToString(options.omission) : omission;
      }
      string = toString(string);
      var strLength = string.length;
      if (hasUnicode(string)) {
        var strSymbols = stringToArray(string);
        strLength = strSymbols.length;
      }
      if (length >= strLength) {
        return string;
      }
      var end = length - stringSize(omission);
      if (end < 1) {
        return omission;
      }
      var result2 = strSymbols ? castSlice(strSymbols, 0, end).join("") : string.slice(0, end);
      if (separator === void 0) {
        return result2 + omission;
      }
      if (strSymbols) {
        end += result2.length - end;
      }
      if (isRegExp(separator)) {
        if (string.slice(end).search(separator)) {
          var match, substring = result2;
          if (!separator.global) {
            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + "g");
          }
          separator.lastIndex = 0;
          while (match = separator.exec(substring)) {
            var newEnd = match.index;
          }
          result2 = result2.slice(0, newEnd === void 0 ? end : newEnd);
        }
      } else if (string.indexOf(baseToString(separator), end) != end) {
        var index = result2.lastIndexOf(separator);
        if (index > -1) {
          result2 = result2.slice(0, index);
        }
      }
      return result2 + omission;
    }
    module2.exports = truncate;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/truncateTableData.js
var require_truncateTableData = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/truncateTableData.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.truncateTableData = exports2.truncateString = void 0;
    var lodash_truncate_1 = __importDefault2(require_lodash());
    var truncateString = (input, length) => {
      return (0, lodash_truncate_1.default)(input, {
        length,
        omission: "\u2026"
      });
    };
    exports2.truncateString = truncateString;
    var truncateTableData = (rows, truncates) => {
      return rows.map((cells) => {
        return cells.map((cell, cellIndex) => {
          return (0, exports2.truncateString)(cell, truncates[cellIndex]);
        });
      });
    };
    exports2.truncateTableData = truncateTableData;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/createStream.js
var require_createStream = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/createStream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createStream = void 0;
    var alignTableData_1 = require_alignTableData();
    var calculateRowHeights_1 = require_calculateRowHeights();
    var drawBorder_1 = require_drawBorder();
    var drawRow_1 = require_drawRow();
    var makeStreamConfig_1 = require_makeStreamConfig();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
    var padTableData_1 = require_padTableData();
    var stringifyTableData_1 = require_stringifyTableData();
    var truncateTableData_1 = require_truncateTableData();
    var utils_1 = require_utils7();
    var prepareData = (data, config) => {
      let rows = (0, stringifyTableData_1.stringifyTableData)(data);
      rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config));
      const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
      rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
      rows = (0, alignTableData_1.alignTableData)(rows, config);
      rows = (0, padTableData_1.padTableData)(rows, config);
      return rows;
    };
    var create = (row, columnWidths, config) => {
      const rows = prepareData([row], config);
      const body = rows.map((literalRow) => {
        return (0, drawRow_1.drawRow)(literalRow, config);
      }).join("");
      let output;
      output = "";
      output += (0, drawBorder_1.drawBorderTop)(columnWidths, config);
      output += body;
      output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
      output = output.trimEnd();
      process.stdout.write(output);
    };
    var append = (row, columnWidths, config) => {
      const rows = prepareData([row], config);
      const body = rows.map((literalRow) => {
        return (0, drawRow_1.drawRow)(literalRow, config);
      }).join("");
      let output = "";
      const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
      if (bottom !== "\n") {
        output = "\r\x1B[K";
      }
      output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config);
      output += body;
      output += bottom;
      output = output.trimEnd();
      process.stdout.write(output);
    };
    var createStream = (userConfig) => {
      const config = (0, makeStreamConfig_1.makeStreamConfig)(userConfig);
      const columnWidths = Object.values(config.columns).map((column) => {
        return column.width + column.paddingLeft + column.paddingRight;
      });
      let empty = true;
      return {
        write: (row) => {
          if (row.length !== config.columnCount) {
            throw new Error("Row cell count does not match the config.columnCount.");
          }
          if (empty) {
            empty = false;
            create(row, columnWidths, config);
          } else {
            append(row, columnWidths, config);
          }
        }
      };
    };
    exports2.createStream = createStream;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateOutputColumnWidths.js
var require_calculateOutputColumnWidths = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateOutputColumnWidths.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateOutputColumnWidths = void 0;
    var calculateOutputColumnWidths = (config) => {
      return config.columns.map((col) => {
        return col.paddingLeft + col.width + col.paddingRight;
      });
    };
    exports2.calculateOutputColumnWidths = calculateOutputColumnWidths;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawTable.js
var require_drawTable = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/drawTable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawTable = void 0;
    var drawBorder_1 = require_drawBorder();
    var drawContent_1 = require_drawContent();
    var drawRow_1 = require_drawRow();
    var utils_1 = require_utils7();
    var drawTable = (rows, outputColumnWidths, rowHeights, config) => {
      const { drawHorizontalLine, singleLine } = config;
      const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => {
        return group.map((row) => {
          return (0, drawRow_1.drawRow)(row, {
            ...config,
            rowIndex: groupIndex
          });
        }).join("");
      });
      return (0, drawContent_1.drawContent)({
        contents,
        drawSeparator: (index, size) => {
          if (index === 0 || index === size) {
            return drawHorizontalLine(index, size);
          }
          return !singleLine && drawHorizontalLine(index, size);
        },
        elementType: "row",
        rowIndex: -1,
        separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, {
          ...config,
          rowCount: contents.length
        }),
        spanningCellManager: config.spanningCellManager
      });
    };
    exports2.drawTable = drawTable;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/injectHeaderConfig.js
var require_injectHeaderConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/injectHeaderConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.injectHeaderConfig = void 0;
    var injectHeaderConfig = (rows, config) => {
      var _a;
      let spanningCellConfig = (_a = config.spanningCells) !== null && _a !== void 0 ? _a : [];
      const headerConfig = config.header;
      const adjustedRows = [...rows];
      if (headerConfig) {
        spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => {
          return {
            ...rest,
            row: row + 1
          };
        });
        const { content, ...headerStyles } = headerConfig;
        spanningCellConfig.unshift({
          alignment: "center",
          col: 0,
          colSpan: rows[0].length,
          paddingLeft: 1,
          paddingRight: 1,
          row: 0,
          wrapWord: false,
          ...headerStyles
        });
        adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]);
      }
      return [
        adjustedRows,
        spanningCellConfig
      ];
    };
    exports2.injectHeaderConfig = injectHeaderConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateMaximumColumnWidths.js
var require_calculateMaximumColumnWidths = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateMaximumColumnWidths.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var utils_1 = require_utils7();
    var calculateMaximumCellWidth = (cell) => {
      return Math.max(...cell.split("\n").map(string_width_1.default));
    };
    exports2.calculateMaximumCellWidth = calculateMaximumCellWidth;
    var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => {
      const columnWidths = new Array(rows[0].length).fill(0);
      const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate);
      const isSpanningCell = (rowIndex, columnIndex) => {
        return rangeCoordinates.some((rangeCoordinate) => {
          return (0, utils_1.isCellInRange)({
            col: columnIndex,
            row: rowIndex
          }, rangeCoordinate);
        });
      };
      rows.forEach((row, rowIndex) => {
        row.forEach((cell, cellIndex) => {
          if (isSpanningCell(rowIndex, cellIndex)) {
            return;
          }
          columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell));
        });
      });
      return columnWidths;
    };
    exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignSpanningCell.js
var require_alignSpanningCell = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/alignSpanningCell.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var alignString_1 = require_alignString();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
    var padTableData_1 = require_padTableData();
    var truncateTableData_1 = require_truncateTableData();
    var utils_1 = require_utils7();
    var wrapCell_1 = require_wrapCell();
    var wrapRangeContent = (rangeConfig, rangeWidth, context) => {
      const { topLeft, paddingRight, paddingLeft, truncate, wrapWord, alignment } = rangeConfig;
      const originalContent = context.rows[topLeft.row][topLeft.col];
      const contentWidth = rangeWidth - paddingLeft - paddingRight;
      return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord).map((line) => {
        const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment);
        return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight);
      });
    };
    exports2.wrapRangeContent = wrapRangeContent;
    var alignVerticalRangeContent = (range, content, context) => {
      const { rows, drawHorizontalLine, rowHeights } = context;
      const { topLeft, bottomRight, verticalAlignment } = range;
      if (rowHeights.length === 0) {
        return [];
      }
      const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1));
      const totalBorderHeight = bottomRight.row - topLeft.row;
      const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
        return !drawHorizontalLine(horizontalBorderIndex, rows.length);
      }).length;
      const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount;
      return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => {
        if (line.length === 0) {
          return " ".repeat((0, string_width_1.default)(content[0]));
        }
        return line;
      });
    };
    exports2.alignVerticalRangeContent = alignVerticalRangeContent;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateSpanningCellWidth.js
var require_calculateSpanningCellWidth = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/calculateSpanningCellWidth.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateSpanningCellWidth = void 0;
    var utils_1 = require_utils7();
    var calculateSpanningCellWidth = (rangeConfig, dependencies) => {
      const { columnsConfig, drawVerticalLine } = dependencies;
      const { topLeft, bottomRight } = rangeConfig;
      const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => {
        return width;
      }));
      const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => {
        return paddingLeft + paddingRight;
      }));
      const totalBorderWidths = bottomRight.col - topLeft.col;
      const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => {
        return !drawVerticalLine(verticalBorderIndex, columnsConfig.length);
      }).length;
      return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders;
    };
    exports2.calculateSpanningCellWidth = calculateSpanningCellWidth;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeRangeConfig.js
var require_makeRangeConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeRangeConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeRangeConfig = void 0;
    var utils_1 = require_utils7();
    var makeRangeConfig = (spanningCellConfig, columnsConfig) => {
      var _a;
      const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig);
      const cellConfig = {
        ...columnsConfig[topLeft.col],
        ...spanningCellConfig,
        paddingRight: (_a = spanningCellConfig.paddingRight) !== null && _a !== void 0 ? _a : columnsConfig[bottomRight.col].paddingRight
      };
      return {
        ...cellConfig,
        bottomRight,
        topLeft
      };
    };
    exports2.makeRangeConfig = makeRangeConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/spanningCellManager.js
var require_spanningCellManager = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/spanningCellManager.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createSpanningCellManager = void 0;
    var alignSpanningCell_1 = require_alignSpanningCell();
    var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth();
    var makeRangeConfig_1 = require_makeRangeConfig();
    var utils_1 = require_utils7();
    var findRangeConfig = (cell, rangeConfigs) => {
      return rangeConfigs.find((rangeCoordinate) => {
        return (0, utils_1.isCellInRange)(cell, rangeCoordinate);
      });
    };
    var getContainingRange = (rangeConfig, context) => {
      const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context);
      const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context);
      const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context);
      const getCellContent = (rowIndex) => {
        const { topLeft } = rangeConfig;
        const { drawHorizontalLine, rowHeights } = context;
        const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row;
        const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index) => {
          return !(drawHorizontalLine === null || drawHorizontalLine === void 0 ? void 0 : drawHorizontalLine(index, rowHeights.length));
        }).length;
        const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight;
        return alignedContent.slice(offset, offset + rowHeights[rowIndex]);
      };
      const getBorderContent = (borderIndex) => {
        const { topLeft } = rangeConfig;
        const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1);
        return alignedContent[offset];
      };
      return {
        ...rangeConfig,
        extractBorderContent: getBorderContent,
        extractCellContent: getCellContent,
        height: wrappedContent.length,
        width
      };
    };
    var inSameRange = (cell1, cell2, ranges) => {
      const range1 = findRangeConfig(cell1, ranges);
      const range2 = findRangeConfig(cell2, ranges);
      if (range1 && range2) {
        return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft);
      }
      return false;
    };
    var hashRange = (range) => {
      const { row, col } = range.topLeft;
      return `${row}/${col}`;
    };
    var createSpanningCellManager = (parameters) => {
      const { spanningCellConfigs, columnsConfig } = parameters;
      const ranges = spanningCellConfigs.map((config) => {
        return (0, makeRangeConfig_1.makeRangeConfig)(config, columnsConfig);
      });
      const rangeCache = {};
      let rowHeights = [];
      let rowIndexMapping = [];
      return {
        getContainingRange: (cell, options) => {
          var _a;
          const originalRow = (options === null || options === void 0 ? void 0 : options.mapped) ? rowIndexMapping[cell.row] : cell.row;
          const range = findRangeConfig({
            ...cell,
            row: originalRow
          }, ranges);
          if (!range) {
            return void 0;
          }
          if (rowHeights.length === 0) {
            return getContainingRange(range, {
              ...parameters,
              rowHeights
            });
          }
          const hash = hashRange(range);
          (_a = rangeCache[hash]) !== null && _a !== void 0 ? _a : rangeCache[hash] = getContainingRange(range, {
            ...parameters,
            rowHeights
          });
          return rangeCache[hash];
        },
        inSameRange: (cell1, cell2) => {
          return inSameRange(cell1, cell2, ranges);
        },
        rowHeights,
        rowIndexMapping,
        setRowHeights: (_rowHeights) => {
          rowHeights = _rowHeights;
        },
        setRowIndexMapping: (mappedRowHeights) => {
          rowIndexMapping = (0, utils_1.flatten)(mappedRowHeights.map((height, index) => {
            return Array.from({ length: height }, () => {
              return index;
            });
          }));
        }
      };
    };
    exports2.createSpanningCellManager = createSpanningCellManager;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateSpanningCellConfig.js
var require_validateSpanningCellConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateSpanningCellConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateSpanningCellConfig = void 0;
    var utils_1 = require_utils7();
    var inRange = (start, end, value) => {
      return start <= value && value <= end;
    };
    var validateSpanningCellConfig = (rows, configs) => {
      const [nRow, nCol] = [rows.length, rows[0].length];
      configs.forEach((config, configIndex) => {
        const { colSpan, rowSpan } = config;
        if (colSpan === void 0 && rowSpan === void 0) {
          throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`);
        }
        if (colSpan !== void 0 && colSpan < 1) {
          throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`);
        }
        if (rowSpan !== void 0 && rowSpan < 1) {
          throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`);
        }
      });
      const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate);
      rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
        if (!inRange(0, nCol - 1, topLeft.col) || !inRange(0, nRow - 1, topLeft.row) || !inRange(0, nCol - 1, bottomRight.col) || !inRange(0, nRow - 1, bottomRight.row)) {
          throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`);
        }
      });
      const configOccupy = Array.from({ length: nRow }, () => {
        return Array.from({ length: nCol });
      });
      rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
        (0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => {
          (0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => {
            if (configOccupy[row][col] !== void 0) {
              throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`);
            }
            configOccupy[row][col] = rangeIndex;
          });
        });
      });
    };
    exports2.validateSpanningCellConfig = validateSpanningCellConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeTableConfig.js
var require_makeTableConfig = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/makeTableConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeTableConfig = void 0;
    var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths();
    var spanningCellManager_1 = require_spanningCellManager();
    var utils_1 = require_utils7();
    var validateConfig_1 = require_validateConfig();
    var validateSpanningCellConfig_1 = require_validateSpanningCellConfig();
    var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => {
      const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs);
      return rows[0].map((_, columnIndex) => {
        return {
          alignment: "left",
          paddingLeft: 1,
          paddingRight: 1,
          truncate: Number.POSITIVE_INFINITY,
          verticalAlignment: "top",
          width: columnWidths[columnIndex],
          wrapWord: false,
          ...columnDefault,
          ...columns === null || columns === void 0 ? void 0 : columns[columnIndex]
        };
      });
    };
    var makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => {
      var _a, _b, _c, _d, _e;
      (0, validateConfig_1.validateConfig)("config.json", config);
      (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, (_a = config.spanningCells) !== null && _a !== void 0 ? _a : []);
      const spanningCellConfigs = (_b = injectedSpanningCellConfig !== null && injectedSpanningCellConfig !== void 0 ? injectedSpanningCellConfig : config.spanningCells) !== null && _b !== void 0 ? _b : [];
      const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs);
      const drawVerticalLine = (_c = config.drawVerticalLine) !== null && _c !== void 0 ? _c : () => {
        return true;
      };
      const drawHorizontalLine = (_d = config.drawHorizontalLine) !== null && _d !== void 0 ? _d : () => {
        return true;
      };
      return {
        ...config,
        border: (0, utils_1.makeBorderConfig)(config.border),
        columns: columnsConfig,
        drawHorizontalLine,
        drawVerticalLine,
        singleLine: (_e = config.singleLine) !== null && _e !== void 0 ? _e : false,
        spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({
          columnsConfig,
          drawHorizontalLine,
          drawVerticalLine,
          rows,
          spanningCellConfigs
        })
      };
    };
    exports2.makeTableConfig = makeTableConfig;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateTableData.js
var require_validateTableData = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/validateTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateTableData = void 0;
    var utils_1 = require_utils7();
    var validateTableData = (rows) => {
      if (!Array.isArray(rows)) {
        throw new TypeError("Table data must be an array.");
      }
      if (rows.length === 0) {
        throw new Error("Table must define at least one row.");
      }
      if (rows[0].length === 0) {
        throw new Error("Table must define at least one column.");
      }
      const columnNumber = rows[0].length;
      for (const row of rows) {
        if (!Array.isArray(row)) {
          throw new TypeError("Table row data must be an array.");
        }
        if (row.length !== columnNumber) {
          throw new Error("Table must have a consistent number of cells.");
        }
        for (const cell of row) {
          if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) {
            throw new Error("Table data must not contain control characters.");
          }
        }
      }
    };
    exports2.validateTableData = validateTableData;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/table.js
var require_table = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/table.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.table = void 0;
    var alignTableData_1 = require_alignTableData();
    var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths();
    var calculateRowHeights_1 = require_calculateRowHeights();
    var drawTable_1 = require_drawTable();
    var injectHeaderConfig_1 = require_injectHeaderConfig();
    var makeTableConfig_1 = require_makeTableConfig();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights();
    var padTableData_1 = require_padTableData();
    var stringifyTableData_1 = require_stringifyTableData();
    var truncateTableData_1 = require_truncateTableData();
    var utils_1 = require_utils7();
    var validateTableData_1 = require_validateTableData();
    var table = (data, userConfig = {}) => {
      (0, validateTableData_1.validateTableData)(data);
      let rows = (0, stringifyTableData_1.stringifyTableData)(data);
      const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig);
      const config = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig);
      rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config));
      const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
      config.spanningCellManager.setRowHeights(rowHeights);
      config.spanningCellManager.setRowIndexMapping(rowHeights);
      rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
      rows = (0, alignTableData_1.alignTableData)(rows, config);
      rows = (0, padTableData_1.padTableData)(rows, config);
      const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config);
      return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config);
    };
    exports2.table = table;
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/types/api.js
var require_api = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/types/api.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/index.js
var require_src = __commonJS({
  "../node_modules/.pnpm/table@6.9.0/node_modules/table/dist/src/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0;
    var createStream_1 = require_createStream();
    Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() {
      return createStream_1.createStream;
    } });
    var getBorderCharacters_1 = require_getBorderCharacters();
    Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() {
      return getBorderCharacters_1.getBorderCharacters;
    } });
    var table_1 = require_table();
    Object.defineProperty(exports2, "table", { enumerable: true, get: function() {
      return table_1.table;
    } });
    __exportStar2(require_api(), exports2);
  }
});

// ../node_modules/.pnpm/render-help@1.0.3/node_modules/render-help/lib/index.js
var require_lib47 = __commonJS({
  "../node_modules/.pnpm/render-help@1.0.3/node_modules/render-help/lib/index.js"(exports2, module2) {
    "use strict";
    var table_1 = require_src();
    var NO_BORDERS = {
      topBody: "",
      topJoin: "",
      topLeft: "",
      topRight: "",
      bottomBody: "",
      bottomJoin: "",
      bottomLeft: "",
      bottomRight: "",
      bodyJoin: "",
      bodyLeft: "",
      bodyRight: "",
      joinBody: "",
      joinLeft: "",
      joinRight: ""
    };
    var TABLE_OPTIONS = {
      border: NO_BORDERS,
      singleLine: true
    };
    var FIRST_COLUMN = { paddingLeft: 2, paddingRight: 0 };
    var SHORT_OPTION_COLUMN = { alignment: "right" };
    var LONG_OPTION_COLUMN = { paddingLeft: 1, paddingRight: 2 };
    var DESCRIPTION_COLUMN = {
      paddingLeft: 0,
      paddingRight: 0,
      wrapWord: true
    };
    function renderDescriptionList(descriptionItems, width) {
      const data = descriptionItems.sort((item1, item2) => item1.name.localeCompare(item2.name)).map(({ shortAlias, name, description }) => [shortAlias && `${shortAlias},` || " ", name, description || ""]);
      const firstColumnMaxWidth = Math.max(getColumnMaxWidth(data, 0), 3);
      const nameColumnMaxWidth = Math.max(getColumnMaxWidth(data, 1), 19);
      const descriptionColumnWidth = Math.max(width - (FIRST_COLUMN.paddingLeft + firstColumnMaxWidth + FIRST_COLUMN.paddingRight + LONG_OPTION_COLUMN.paddingLeft + nameColumnMaxWidth + LONG_OPTION_COLUMN.paddingRight + DESCRIPTION_COLUMN.paddingLeft + DESCRIPTION_COLUMN.paddingRight), 2);
      return multiTrim((0, table_1.table)(data, Object.assign(Object.assign({}, TABLE_OPTIONS), { columns: {
        0: Object.assign(Object.assign({ width: firstColumnMaxWidth }, SHORT_OPTION_COLUMN), FIRST_COLUMN),
        1: Object.assign({ width: nameColumnMaxWidth }, LONG_OPTION_COLUMN),
        2: Object.assign({ width: descriptionColumnWidth }, DESCRIPTION_COLUMN)
      } })));
    }
    function multiTrim(str) {
      return str.split("\n").map((line) => line.trimRight()).filter(Boolean).join("\n");
    }
    function getColumnMaxWidth(data, columnNumber) {
      return data.reduce((maxWidth, row) => Math.max(maxWidth, row[columnNumber].length), 0);
    }
    module2.exports = function renderHelp(config) {
      var _a, _b;
      const width = (_b = (_a = config.width) !== null && _a !== void 0 ? _a : process.stdout.columns) !== null && _b !== void 0 ? _b : 80;
      let outputSections = [];
      if (config.usages.length > 0) {
        const [firstUsage, ...restUsages] = config.usages;
        let usageOutput = `Usage: ${firstUsage}`;
        for (let usage of restUsages) {
          usageOutput += `
       ${usage}`;
        }
        outputSections.push(usageOutput);
      }
      if (config.aliases && config.aliases.length) {
        outputSections.push(`${config.aliases.length === 1 ? "Alias" : "Aliases"}: ${config.aliases.join(", ")}`);
      }
      if (config.description)
        outputSections.push(`${config.description}`);
      if (config.descriptionLists) {
        for (let { title, list } of config.descriptionLists) {
          outputSections.push(`${title}:
` + renderDescriptionList(list, width));
        }
      }
      if (config.url) {
        outputSections.push(`Visit ${config.url} for documentation about this command.`);
      }
      return outputSections.join("\n\n");
    };
  }
});

// ../pkg-manager/package-bins/lib/index.js
var require_lib48 = __commonJS({
  "../pkg-manager/package-bins/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getBinsFromPackageManifest = getBinsFromPackageManifest;
    var path_1 = __importDefault2(require("path"));
    var tinyglobby_1 = require_dist8();
    var is_subdir_1 = __importDefault2(require_is_subdir());
    async function getBinsFromPackageManifest(manifest, pkgPath) {
      if (manifest.bin) {
        return commandsFromBin(manifest.bin, manifest.name, pkgPath);
      }
      if (manifest.directories?.bin) {
        const binDir = path_1.default.join(pkgPath, manifest.directories.bin);
        const files = await findFiles(binDir);
        return files.map((file) => ({
          name: path_1.default.basename(file),
          path: path_1.default.join(binDir, file)
        }));
      }
      return [];
    }
    async function findFiles(dir) {
      try {
        return await (0, tinyglobby_1.glob)("**", {
          cwd: dir,
          onlyFiles: true,
          followSymbolicLinks: false,
          expandDirectories: false
        });
      } catch (err) {
        if (err.code !== "ENOENT") {
          throw err;
        }
        return [];
      }
    }
    function commandsFromBin(bin, pkgName, pkgPath) {
      if (typeof bin === "string") {
        return [
          {
            name: normalizeBinName(pkgName),
            path: path_1.default.join(pkgPath, bin)
          }
        ];
      }
      return Object.keys(bin).filter((commandName) => encodeURIComponent(commandName) === commandName || commandName === "$" || commandName[0] === "@").map((commandName) => ({
        name: normalizeBinName(commandName),
        path: path_1.default.join(pkgPath, bin[commandName])
      })).filter((cmd) => (0, is_subdir_1.default)(pkgPath, cmd.path));
    }
    function normalizeBinName(name) {
      return name[0] === "@" ? name.slice(name.indexOf("/") + 1) : name;
    }
  }
});

// ../node_modules/.pnpm/spdx-license-ids@3.0.21/node_modules/spdx-license-ids/index.json
var require_spdx_license_ids = __commonJS({
  "../node_modules/.pnpm/spdx-license-ids@3.0.21/node_modules/spdx-license-ids/index.json"(exports2, module2) {
    module2.exports = [
      "0BSD",
      "3D-Slicer-1.0",
      "AAL",
      "ADSL",
      "AFL-1.1",
      "AFL-1.2",
      "AFL-2.0",
      "AFL-2.1",
      "AFL-3.0",
      "AGPL-1.0-only",
      "AGPL-1.0-or-later",
      "AGPL-3.0-only",
      "AGPL-3.0-or-later",
      "AMD-newlib",
      "AMDPLPA",
      "AML",
      "AML-glslang",
      "AMPAS",
      "ANTLR-PD",
      "ANTLR-PD-fallback",
      "APAFML",
      "APL-1.0",
      "APSL-1.0",
      "APSL-1.1",
      "APSL-1.2",
      "APSL-2.0",
      "ASWF-Digital-Assets-1.0",
      "ASWF-Digital-Assets-1.1",
      "Abstyles",
      "AdaCore-doc",
      "Adobe-2006",
      "Adobe-Display-PostScript",
      "Adobe-Glyph",
      "Adobe-Utopia",
      "Afmparse",
      "Aladdin",
      "Apache-1.0",
      "Apache-1.1",
      "Apache-2.0",
      "App-s2p",
      "Arphic-1999",
      "Artistic-1.0",
      "Artistic-1.0-Perl",
      "Artistic-1.0-cl8",
      "Artistic-2.0",
      "BSD-1-Clause",
      "BSD-2-Clause",
      "BSD-2-Clause-Darwin",
      "BSD-2-Clause-Patent",
      "BSD-2-Clause-Views",
      "BSD-2-Clause-first-lines",
      "BSD-3-Clause",
      "BSD-3-Clause-Attribution",
      "BSD-3-Clause-Clear",
      "BSD-3-Clause-HP",
      "BSD-3-Clause-LBNL",
      "BSD-3-Clause-Modification",
      "BSD-3-Clause-No-Military-License",
      "BSD-3-Clause-No-Nuclear-License",
      "BSD-3-Clause-No-Nuclear-License-2014",
      "BSD-3-Clause-No-Nuclear-Warranty",
      "BSD-3-Clause-Open-MPI",
      "BSD-3-Clause-Sun",
      "BSD-3-Clause-acpica",
      "BSD-3-Clause-flex",
      "BSD-4-Clause",
      "BSD-4-Clause-Shortened",
      "BSD-4-Clause-UC",
      "BSD-4.3RENO",
      "BSD-4.3TAHOE",
      "BSD-Advertising-Acknowledgement",
      "BSD-Attribution-HPND-disclaimer",
      "BSD-Inferno-Nettverk",
      "BSD-Protection",
      "BSD-Source-Code",
      "BSD-Source-beginning-file",
      "BSD-Systemics",
      "BSD-Systemics-W3Works",
      "BSL-1.0",
      "BUSL-1.1",
      "Baekmuk",
      "Bahyph",
      "Barr",
      "Beerware",
      "BitTorrent-1.0",
      "BitTorrent-1.1",
      "Bitstream-Charter",
      "Bitstream-Vera",
      "BlueOak-1.0.0",
      "Boehm-GC",
      "Boehm-GC-without-fee",
      "Borceux",
      "Brian-Gladman-2-Clause",
      "Brian-Gladman-3-Clause",
      "C-UDA-1.0",
      "CAL-1.0",
      "CAL-1.0-Combined-Work-Exception",
      "CATOSL-1.1",
      "CC-BY-1.0",
      "CC-BY-2.0",
      "CC-BY-2.5",
      "CC-BY-2.5-AU",
      "CC-BY-3.0",
      "CC-BY-3.0-AT",
      "CC-BY-3.0-AU",
      "CC-BY-3.0-DE",
      "CC-BY-3.0-IGO",
      "CC-BY-3.0-NL",
      "CC-BY-3.0-US",
      "CC-BY-4.0",
      "CC-BY-NC-1.0",
      "CC-BY-NC-2.0",
      "CC-BY-NC-2.5",
      "CC-BY-NC-3.0",
      "CC-BY-NC-3.0-DE",
      "CC-BY-NC-4.0",
      "CC-BY-NC-ND-1.0",
      "CC-BY-NC-ND-2.0",
      "CC-BY-NC-ND-2.5",
      "CC-BY-NC-ND-3.0",
      "CC-BY-NC-ND-3.0-DE",
      "CC-BY-NC-ND-3.0-IGO",
      "CC-BY-NC-ND-4.0",
      "CC-BY-NC-SA-1.0",
      "CC-BY-NC-SA-2.0",
      "CC-BY-NC-SA-2.0-DE",
      "CC-BY-NC-SA-2.0-FR",
      "CC-BY-NC-SA-2.0-UK",
      "CC-BY-NC-SA-2.5",
      "CC-BY-NC-SA-3.0",
      "CC-BY-NC-SA-3.0-DE",
      "CC-BY-NC-SA-3.0-IGO",
      "CC-BY-NC-SA-4.0",
      "CC-BY-ND-1.0",
      "CC-BY-ND-2.0",
      "CC-BY-ND-2.5",
      "CC-BY-ND-3.0",
      "CC-BY-ND-3.0-DE",
      "CC-BY-ND-4.0",
      "CC-BY-SA-1.0",
      "CC-BY-SA-2.0",
      "CC-BY-SA-2.0-UK",
      "CC-BY-SA-2.1-JP",
      "CC-BY-SA-2.5",
      "CC-BY-SA-3.0",
      "CC-BY-SA-3.0-AT",
      "CC-BY-SA-3.0-DE",
      "CC-BY-SA-3.0-IGO",
      "CC-BY-SA-4.0",
      "CC-PDDC",
      "CC-PDM-1.0",
      "CC-SA-1.0",
      "CC0-1.0",
      "CDDL-1.0",
      "CDDL-1.1",
      "CDL-1.0",
      "CDLA-Permissive-1.0",
      "CDLA-Permissive-2.0",
      "CDLA-Sharing-1.0",
      "CECILL-1.0",
      "CECILL-1.1",
      "CECILL-2.0",
      "CECILL-2.1",
      "CECILL-B",
      "CECILL-C",
      "CERN-OHL-1.1",
      "CERN-OHL-1.2",
      "CERN-OHL-P-2.0",
      "CERN-OHL-S-2.0",
      "CERN-OHL-W-2.0",
      "CFITSIO",
      "CMU-Mach",
      "CMU-Mach-nodoc",
      "CNRI-Jython",
      "CNRI-Python",
      "CNRI-Python-GPL-Compatible",
      "COIL-1.0",
      "CPAL-1.0",
      "CPL-1.0",
      "CPOL-1.02",
      "CUA-OPL-1.0",
      "Caldera",
      "Caldera-no-preamble",
      "Catharon",
      "ClArtistic",
      "Clips",
      "Community-Spec-1.0",
      "Condor-1.1",
      "Cornell-Lossless-JPEG",
      "Cronyx",
      "Crossword",
      "CrystalStacker",
      "Cube",
      "D-FSL-1.0",
      "DEC-3-Clause",
      "DL-DE-BY-2.0",
      "DL-DE-ZERO-2.0",
      "DOC",
      "DRL-1.0",
      "DRL-1.1",
      "DSDP",
      "DocBook-Schema",
      "DocBook-Stylesheet",
      "DocBook-XML",
      "Dotseqn",
      "ECL-1.0",
      "ECL-2.0",
      "EFL-1.0",
      "EFL-2.0",
      "EPICS",
      "EPL-1.0",
      "EPL-2.0",
      "EUDatagrid",
      "EUPL-1.0",
      "EUPL-1.1",
      "EUPL-1.2",
      "Elastic-2.0",
      "Entessa",
      "ErlPL-1.1",
      "Eurosym",
      "FBM",
      "FDK-AAC",
      "FSFAP",
      "FSFAP-no-warranty-disclaimer",
      "FSFUL",
      "FSFULLR",
      "FSFULLRWD",
      "FTL",
      "Fair",
      "Ferguson-Twofish",
      "Frameworx-1.0",
      "FreeBSD-DOC",
      "FreeImage",
      "Furuseth",
      "GCR-docs",
      "GD",
      "GFDL-1.1-invariants-only",
      "GFDL-1.1-invariants-or-later",
      "GFDL-1.1-no-invariants-only",
      "GFDL-1.1-no-invariants-or-later",
      "GFDL-1.1-only",
      "GFDL-1.1-or-later",
      "GFDL-1.2-invariants-only",
      "GFDL-1.2-invariants-or-later",
      "GFDL-1.2-no-invariants-only",
      "GFDL-1.2-no-invariants-or-later",
      "GFDL-1.2-only",
      "GFDL-1.2-or-later",
      "GFDL-1.3-invariants-only",
      "GFDL-1.3-invariants-or-later",
      "GFDL-1.3-no-invariants-only",
      "GFDL-1.3-no-invariants-or-later",
      "GFDL-1.3-only",
      "GFDL-1.3-or-later",
      "GL2PS",
      "GLWTPL",
      "GPL-1.0-only",
      "GPL-1.0-or-later",
      "GPL-2.0-only",
      "GPL-2.0-or-later",
      "GPL-3.0-only",
      "GPL-3.0-or-later",
      "Giftware",
      "Glide",
      "Glulxe",
      "Graphics-Gems",
      "Gutmann",
      "HIDAPI",
      "HP-1986",
      "HP-1989",
      "HPND",
      "HPND-DEC",
      "HPND-Fenneberg-Livingston",
      "HPND-INRIA-IMAG",
      "HPND-Intel",
      "HPND-Kevlin-Henney",
      "HPND-MIT-disclaimer",
      "HPND-Markus-Kuhn",
      "HPND-Netrek",
      "HPND-Pbmplus",
      "HPND-UC",
      "HPND-UC-export-US",
      "HPND-doc",
      "HPND-doc-sell",
      "HPND-export-US",
      "HPND-export-US-acknowledgement",
      "HPND-export-US-modify",
      "HPND-export2-US",
      "HPND-merchantability-variant",
      "HPND-sell-MIT-disclaimer-xserver",
      "HPND-sell-regexpr",
      "HPND-sell-variant",
      "HPND-sell-variant-MIT-disclaimer",
      "HPND-sell-variant-MIT-disclaimer-rev",
      "HTMLTIDY",
      "HaskellReport",
      "Hippocratic-2.1",
      "IBM-pibs",
      "ICU",
      "IEC-Code-Components-EULA",
      "IJG",
      "IJG-short",
      "IPA",
      "IPL-1.0",
      "ISC",
      "ISC-Veillard",
      "ImageMagick",
      "Imlib2",
      "Info-ZIP",
      "Inner-Net-2.0",
      "InnoSetup",
      "Intel",
      "Intel-ACPI",
      "Interbase-1.0",
      "JPL-image",
      "JPNIC",
      "JSON",
      "Jam",
      "JasPer-2.0",
      "Kastrup",
      "Kazlib",
      "Knuth-CTAN",
      "LAL-1.2",
      "LAL-1.3",
      "LGPL-2.0-only",
      "LGPL-2.0-or-later",
      "LGPL-2.1-only",
      "LGPL-2.1-or-later",
      "LGPL-3.0-only",
      "LGPL-3.0-or-later",
      "LGPLLR",
      "LOOP",
      "LPD-document",
      "LPL-1.0",
      "LPL-1.02",
      "LPPL-1.0",
      "LPPL-1.1",
      "LPPL-1.2",
      "LPPL-1.3a",
      "LPPL-1.3c",
      "LZMA-SDK-9.11-to-9.20",
      "LZMA-SDK-9.22",
      "Latex2e",
      "Latex2e-translated-notice",
      "Leptonica",
      "LiLiQ-P-1.1",
      "LiLiQ-R-1.1",
      "LiLiQ-Rplus-1.1",
      "Libpng",
      "Linux-OpenIB",
      "Linux-man-pages-1-para",
      "Linux-man-pages-copyleft",
      "Linux-man-pages-copyleft-2-para",
      "Linux-man-pages-copyleft-var",
      "Lucida-Bitmap-Fonts",
      "MIPS",
      "MIT",
      "MIT-0",
      "MIT-CMU",
      "MIT-Click",
      "MIT-Festival",
      "MIT-Khronos-old",
      "MIT-Modern-Variant",
      "MIT-Wu",
      "MIT-advertising",
      "MIT-enna",
      "MIT-feh",
      "MIT-open-group",
      "MIT-testregex",
      "MITNFA",
      "MMIXware",
      "MPEG-SSG",
      "MPL-1.0",
      "MPL-1.1",
      "MPL-2.0",
      "MPL-2.0-no-copyleft-exception",
      "MS-LPL",
      "MS-PL",
      "MS-RL",
      "MTLL",
      "Mackerras-3-Clause",
      "Mackerras-3-Clause-acknowledgment",
      "MakeIndex",
      "Martin-Birgmeier",
      "McPhee-slideshow",
      "Minpack",
      "MirOS",
      "Motosoto",
      "MulanPSL-1.0",
      "MulanPSL-2.0",
      "Multics",
      "Mup",
      "NAIST-2003",
      "NASA-1.3",
      "NBPL-1.0",
      "NCBI-PD",
      "NCGL-UK-2.0",
      "NCL",
      "NCSA",
      "NGPL",
      "NICTA-1.0",
      "NIST-PD",
      "NIST-PD-fallback",
      "NIST-Software",
      "NLOD-1.0",
      "NLOD-2.0",
      "NLPL",
      "NOSL",
      "NPL-1.0",
      "NPL-1.1",
      "NPOSL-3.0",
      "NRL",
      "NTP",
      "NTP-0",
      "Naumen",
      "NetCDF",
      "Newsletr",
      "Nokia",
      "Noweb",
      "O-UDA-1.0",
      "OAR",
      "OCCT-PL",
      "OCLC-2.0",
      "ODC-By-1.0",
      "ODbL-1.0",
      "OFFIS",
      "OFL-1.0",
      "OFL-1.0-RFN",
      "OFL-1.0-no-RFN",
      "OFL-1.1",
      "OFL-1.1-RFN",
      "OFL-1.1-no-RFN",
      "OGC-1.0",
      "OGDL-Taiwan-1.0",
      "OGL-Canada-2.0",
      "OGL-UK-1.0",
      "OGL-UK-2.0",
      "OGL-UK-3.0",
      "OGTSL",
      "OLDAP-1.1",
      "OLDAP-1.2",
      "OLDAP-1.3",
      "OLDAP-1.4",
      "OLDAP-2.0",
      "OLDAP-2.0.1",
      "OLDAP-2.1",
      "OLDAP-2.2",
      "OLDAP-2.2.1",
      "OLDAP-2.2.2",
      "OLDAP-2.3",
      "OLDAP-2.4",
      "OLDAP-2.5",
      "OLDAP-2.6",
      "OLDAP-2.7",
      "OLDAP-2.8",
      "OLFL-1.3",
      "OML",
      "OPL-1.0",
      "OPL-UK-3.0",
      "OPUBL-1.0",
      "OSET-PL-2.1",
      "OSL-1.0",
      "OSL-1.1",
      "OSL-2.0",
      "OSL-2.1",
      "OSL-3.0",
      "OpenPBS-2.3",
      "OpenSSL",
      "OpenSSL-standalone",
      "OpenVision",
      "PADL",
      "PDDL-1.0",
      "PHP-3.0",
      "PHP-3.01",
      "PPL",
      "PSF-2.0",
      "Parity-6.0.0",
      "Parity-7.0.0",
      "Pixar",
      "Plexus",
      "PolyForm-Noncommercial-1.0.0",
      "PolyForm-Small-Business-1.0.0",
      "PostgreSQL",
      "Python-2.0",
      "Python-2.0.1",
      "QPL-1.0",
      "QPL-1.0-INRIA-2004",
      "Qhull",
      "RHeCos-1.1",
      "RPL-1.1",
      "RPL-1.5",
      "RPSL-1.0",
      "RSA-MD",
      "RSCPL",
      "Rdisc",
      "Ruby",
      "Ruby-pty",
      "SAX-PD",
      "SAX-PD-2.0",
      "SCEA",
      "SGI-B-1.0",
      "SGI-B-1.1",
      "SGI-B-2.0",
      "SGI-OpenGL",
      "SGP4",
      "SHL-0.5",
      "SHL-0.51",
      "SISSL",
      "SISSL-1.2",
      "SL",
      "SMAIL-GPL",
      "SMLNJ",
      "SMPPL",
      "SNIA",
      "SPL-1.0",
      "SSH-OpenSSH",
      "SSH-short",
      "SSLeay-standalone",
      "SSPL-1.0",
      "SWL",
      "Saxpath",
      "SchemeReport",
      "Sendmail",
      "Sendmail-8.23",
      "Sendmail-Open-Source-1.1",
      "SimPL-2.0",
      "Sleepycat",
      "Soundex",
      "Spencer-86",
      "Spencer-94",
      "Spencer-99",
      "SugarCRM-1.1.3",
      "Sun-PPP",
      "Sun-PPP-2000",
      "SunPro",
      "Symlinks",
      "TAPR-OHL-1.0",
      "TCL",
      "TCP-wrappers",
      "TGPPL-1.0",
      "TMate",
      "TORQUE-1.1",
      "TOSL",
      "TPDL",
      "TPL-1.0",
      "TTWL",
      "TTYP0",
      "TU-Berlin-1.0",
      "TU-Berlin-2.0",
      "TermReadKey",
      "ThirdEye",
      "TrustedQSL",
      "UCAR",
      "UCL-1.0",
      "UMich-Merit",
      "UPL-1.0",
      "URT-RLE",
      "Ubuntu-font-1.0",
      "Unicode-3.0",
      "Unicode-DFS-2015",
      "Unicode-DFS-2016",
      "Unicode-TOU",
      "UnixCrypt",
      "Unlicense",
      "VOSTROM",
      "VSL-1.0",
      "Vim",
      "W3C",
      "W3C-19980720",
      "W3C-20150513",
      "WTFPL",
      "Watcom-1.0",
      "Widget-Workshop",
      "Wsuipa",
      "X11",
      "X11-distribute-modifications-variant",
      "X11-swapped",
      "XFree86-1.1",
      "XSkat",
      "Xdebug-1.03",
      "Xerox",
      "Xfig",
      "Xnet",
      "YPL-1.0",
      "YPL-1.1",
      "ZPL-1.1",
      "ZPL-2.0",
      "ZPL-2.1",
      "Zed",
      "Zeeff",
      "Zend-2.0",
      "Zimbra-1.3",
      "Zimbra-1.4",
      "Zlib",
      "any-OSI",
      "any-OSI-perl-modules",
      "bcrypt-Solar-Designer",
      "blessing",
      "bzip2-1.0.6",
      "check-cvs",
      "checkmk",
      "copyleft-next-0.3.0",
      "copyleft-next-0.3.1",
      "curl",
      "cve-tou",
      "diffmark",
      "dtoa",
      "dvipdfm",
      "eGenix",
      "etalab-2.0",
      "fwlw",
      "gSOAP-1.3b",
      "generic-xts",
      "gnuplot",
      "gtkbook",
      "hdparm",
      "iMatix",
      "libpng-2.0",
      "libselinux-1.0",
      "libtiff",
      "libutil-David-Nugent",
      "lsof",
      "magaz",
      "mailprio",
      "metamail",
      "mpi-permissive",
      "mpich2",
      "mplus",
      "pkgconf",
      "pnmstitch",
      "psfrag",
      "psutils",
      "python-ldap",
      "radvd",
      "snprintf",
      "softSurfer",
      "ssh-keyscan",
      "swrule",
      "threeparttable",
      "ulem",
      "w3m",
      "wwl",
      "xinetd",
      "xkeyboard-config-Zinoviev",
      "xlock",
      "xpp",
      "xzoom",
      "zlib-acknowledgement"
    ];
  }
});

// ../node_modules/.pnpm/spdx-license-ids@3.0.21/node_modules/spdx-license-ids/deprecated.json
var require_deprecated = __commonJS({
  "../node_modules/.pnpm/spdx-license-ids@3.0.21/node_modules/spdx-license-ids/deprecated.json"(exports2, module2) {
    module2.exports = [
      "AGPL-1.0",
      "AGPL-3.0",
      "BSD-2-Clause-FreeBSD",
      "BSD-2-Clause-NetBSD",
      "GFDL-1.1",
      "GFDL-1.2",
      "GFDL-1.3",
      "GPL-1.0",
      "GPL-2.0",
      "GPL-2.0-with-GCC-exception",
      "GPL-2.0-with-autoconf-exception",
      "GPL-2.0-with-bison-exception",
      "GPL-2.0-with-classpath-exception",
      "GPL-2.0-with-font-exception",
      "GPL-3.0",
      "GPL-3.0-with-GCC-exception",
      "GPL-3.0-with-autoconf-exception",
      "LGPL-2.0",
      "LGPL-2.1",
      "LGPL-3.0",
      "Net-SNMP",
      "Nunit",
      "StandardML-NJ",
      "bzip2-1.0.5",
      "eCos-2.0",
      "wxWindows"
    ];
  }
});

// ../node_modules/.pnpm/spdx-exceptions@2.5.0/node_modules/spdx-exceptions/index.json
var require_spdx_exceptions = __commonJS({
  "../node_modules/.pnpm/spdx-exceptions@2.5.0/node_modules/spdx-exceptions/index.json"(exports2, module2) {
    module2.exports = [
      "389-exception",
      "Asterisk-exception",
      "Autoconf-exception-2.0",
      "Autoconf-exception-3.0",
      "Autoconf-exception-generic",
      "Autoconf-exception-generic-3.0",
      "Autoconf-exception-macro",
      "Bison-exception-1.24",
      "Bison-exception-2.2",
      "Bootloader-exception",
      "Classpath-exception-2.0",
      "CLISP-exception-2.0",
      "cryptsetup-OpenSSL-exception",
      "DigiRule-FOSS-exception",
      "eCos-exception-2.0",
      "Fawkes-Runtime-exception",
      "FLTK-exception",
      "fmt-exception",
      "Font-exception-2.0",
      "freertos-exception-2.0",
      "GCC-exception-2.0",
      "GCC-exception-2.0-note",
      "GCC-exception-3.1",
      "Gmsh-exception",
      "GNAT-exception",
      "GNOME-examples-exception",
      "GNU-compiler-exception",
      "gnu-javamail-exception",
      "GPL-3.0-interface-exception",
      "GPL-3.0-linking-exception",
      "GPL-3.0-linking-source-exception",
      "GPL-CC-1.0",
      "GStreamer-exception-2005",
      "GStreamer-exception-2008",
      "i2p-gpl-java-exception",
      "KiCad-libraries-exception",
      "LGPL-3.0-linking-exception",
      "libpri-OpenH323-exception",
      "Libtool-exception",
      "Linux-syscall-note",
      "LLGPL",
      "LLVM-exception",
      "LZMA-exception",
      "mif-exception",
      "OCaml-LGPL-linking-exception",
      "OCCT-exception-1.0",
      "OpenJDK-assembly-exception-1.0",
      "openvpn-openssl-exception",
      "PS-or-PDF-font-exception-20170817",
      "QPL-1.0-INRIA-2004-exception",
      "Qt-GPL-exception-1.0",
      "Qt-LGPL-exception-1.1",
      "Qwt-exception-1.0",
      "SANE-exception",
      "SHL-2.0",
      "SHL-2.1",
      "stunnel-exception",
      "SWI-exception",
      "Swift-exception",
      "Texinfo-exception",
      "u-boot-exception-2.0",
      "UBDL-exception",
      "Universal-FOSS-exception-1.0",
      "vsftpd-openssl-exception",
      "WxWindows-exception-3.1",
      "x11vnc-openssl-exception"
    ];
  }
});

// ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/scan.js
var require_scan4 = __commonJS({
  "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/scan.js"(exports2, module2) {
    "use strict";
    var licenses = [].concat(require_spdx_license_ids()).concat(require_deprecated());
    var exceptions = require_spdx_exceptions();
    module2.exports = function(source) {
      var index = 0;
      function hasMore() {
        return index < source.length;
      }
      function read(value) {
        if (value instanceof RegExp) {
          var chars = source.slice(index);
          var match = chars.match(value);
          if (match) {
            index += match[0].length;
            return match[0];
          }
        } else {
          if (source.indexOf(value, index) === index) {
            index += value.length;
            return value;
          }
        }
      }
      function skipWhitespace() {
        read(/[ ]*/);
      }
      function operator() {
        var string;
        var possibilities = ["WITH", "AND", "OR", "(", ")", ":", "+"];
        for (var i = 0; i < possibilities.length; i++) {
          string = read(possibilities[i]);
          if (string) {
            break;
          }
        }
        if (string === "+" && index > 1 && source[index - 2] === " ") {
          throw new Error("Space before `+`");
        }
        return string && {
          type: "OPERATOR",
          string
        };
      }
      function idstring() {
        return read(/[A-Za-z0-9-.]+/);
      }
      function expectIdstring() {
        var string = idstring();
        if (!string) {
          throw new Error("Expected idstring at offset " + index);
        }
        return string;
      }
      function documentRef() {
        if (read("DocumentRef-")) {
          var string = expectIdstring();
          return { type: "DOCUMENTREF", string };
        }
      }
      function licenseRef() {
        if (read("LicenseRef-")) {
          var string = expectIdstring();
          return { type: "LICENSEREF", string };
        }
      }
      function identifier() {
        var begin = index;
        var string = idstring();
        if (licenses.indexOf(string) !== -1) {
          return {
            type: "LICENSE",
            string
          };
        } else if (exceptions.indexOf(string) !== -1) {
          return {
            type: "EXCEPTION",
            string
          };
        }
        index = begin;
      }
      function parseToken() {
        return operator() || documentRef() || licenseRef() || identifier();
      }
      var tokens = [];
      while (hasMore()) {
        skipWhitespace();
        if (!hasMore()) {
          break;
        }
        var token = parseToken();
        if (!token) {
          throw new Error("Unexpected `" + source[index] + "` at offset " + index);
        }
        tokens.push(token);
      }
      return tokens;
    };
  }
});

// ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/parse.js
var require_parse7 = __commonJS({
  "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/parse.js"(exports2, module2) {
    "use strict";
    module2.exports = function(tokens) {
      var index = 0;
      function hasMore() {
        return index < tokens.length;
      }
      function token() {
        return hasMore() ? tokens[index] : null;
      }
      function next() {
        if (!hasMore()) {
          throw new Error();
        }
        index++;
      }
      function parseOperator(operator) {
        var t = token();
        if (t && t.type === "OPERATOR" && operator === t.string) {
          next();
          return t.string;
        }
      }
      function parseWith() {
        if (parseOperator("WITH")) {
          var t = token();
          if (t && t.type === "EXCEPTION") {
            next();
            return t.string;
          }
          throw new Error("Expected exception after `WITH`");
        }
      }
      function parseLicenseRef() {
        var begin = index;
        var string = "";
        var t = token();
        if (t.type === "DOCUMENTREF") {
          next();
          string += "DocumentRef-" + t.string + ":";
          if (!parseOperator(":")) {
            throw new Error("Expected `:` after `DocumentRef-...`");
          }
        }
        t = token();
        if (t.type === "LICENSEREF") {
          next();
          string += "LicenseRef-" + t.string;
          return { license: string };
        }
        index = begin;
      }
      function parseLicense() {
        var t = token();
        if (t && t.type === "LICENSE") {
          next();
          var node2 = { license: t.string };
          if (parseOperator("+")) {
            node2.plus = true;
          }
          var exception = parseWith();
          if (exception) {
            node2.exception = exception;
          }
          return node2;
        }
      }
      function parseParenthesizedExpression() {
        var left = parseOperator("(");
        if (!left) {
          return;
        }
        var expr = parseExpression();
        if (!parseOperator(")")) {
          throw new Error("Expected `)`");
        }
        return expr;
      }
      function parseAtom() {
        return parseParenthesizedExpression() || parseLicenseRef() || parseLicense();
      }
      function makeBinaryOpParser(operator, nextParser) {
        return function parseBinaryOp() {
          var left = nextParser();
          if (!left) {
            return;
          }
          if (!parseOperator(operator)) {
            return left;
          }
          var right = parseBinaryOp();
          if (!right) {
            throw new Error("Expected expression");
          }
          return {
            left,
            conjunction: operator.toLowerCase(),
            right
          };
        };
      }
      var parseAnd = makeBinaryOpParser("AND", parseAtom);
      var parseExpression = makeBinaryOpParser("OR", parseAnd);
      var node = parseExpression();
      if (!node || hasMore()) {
        throw new Error("Syntax error");
      }
      return node;
    };
  }
});

// ../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/index.js
var require_spdx_expression_parse = __commonJS({
  "../node_modules/.pnpm/spdx-expression-parse@3.0.1/node_modules/spdx-expression-parse/index.js"(exports2, module2) {
    "use strict";
    var scan = require_scan4();
    var parse2 = require_parse7();
    module2.exports = function(source) {
      return parse2(scan(source));
    };
  }
});

// ../node_modules/.pnpm/spdx-correct@3.2.0/node_modules/spdx-correct/index.js
var require_spdx_correct = __commonJS({
  "../node_modules/.pnpm/spdx-correct@3.2.0/node_modules/spdx-correct/index.js"(exports2, module2) {
    var parse2 = require_spdx_expression_parse();
    var spdxLicenseIds = require_spdx_license_ids();
    function valid(string) {
      try {
        parse2(string);
        return true;
      } catch (error) {
        return false;
      }
    }
    function sortTranspositions(a, b) {
      var length = b[0].length - a[0].length;
      if (length !== 0) return length;
      return a[0].toUpperCase().localeCompare(b[0].toUpperCase());
    }
    var transpositions = [
      ["APGL", "AGPL"],
      ["Gpl", "GPL"],
      ["GLP", "GPL"],
      ["APL", "Apache"],
      ["ISD", "ISC"],
      ["GLP", "GPL"],
      ["IST", "ISC"],
      ["Claude", "Clause"],
      [" or later", "+"],
      [" International", ""],
      ["GNU", "GPL"],
      ["GUN", "GPL"],
      ["+", ""],
      ["GNU GPL", "GPL"],
      ["GNU LGPL", "LGPL"],
      ["GNU/GPL", "GPL"],
      ["GNU GLP", "GPL"],
      ["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL"],
      ["GNU Lesser General Public License", "LGPL"],
      ["GNU LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
      ["GNU Lesser General Public License", "LGPL-2.1"],
      ["LESSER GENERAL PUBLIC LICENSE", "LGPL"],
      ["Lesser General Public License", "LGPL"],
      ["LESSER GENERAL PUBLIC LICENSE", "LGPL-2.1"],
      ["Lesser General Public License", "LGPL-2.1"],
      ["GNU General Public License", "GPL"],
      ["Gnu public license", "GPL"],
      ["GNU Public License", "GPL"],
      ["GNU GENERAL PUBLIC LICENSE", "GPL"],
      ["MTI", "MIT"],
      ["Mozilla Public License", "MPL"],
      ["Universal Permissive License", "UPL"],
      ["WTH", "WTF"],
      ["WTFGPL", "WTFPL"],
      ["-License", ""]
    ].sort(sortTranspositions);
    var TRANSPOSED = 0;
    var CORRECT = 1;
    var transforms = [
      // e.g. 'mit'
      function(argument) {
        return argument.toUpperCase();
      },
      // e.g. 'MIT '
      function(argument) {
        return argument.trim();
      },
      // e.g. 'M.I.T.'
      function(argument) {
        return argument.replace(/\./g, "");
      },
      // e.g. 'Apache- 2.0'
      function(argument) {
        return argument.replace(/\s+/g, "");
      },
      // e.g. 'CC BY 4.0''
      function(argument) {
        return argument.replace(/\s+/g, "-");
      },
      // e.g. 'LGPLv2.1'
      function(argument) {
        return argument.replace("v", "-");
      },
      // e.g. 'Apache 2.0'
      function(argument) {
        return argument.replace(/,?\s*(\d)/, "-$1");
      },
      // e.g. 'GPL 2'
      function(argument) {
        return argument.replace(/,?\s*(\d)/, "-$1.0");
      },
      // e.g. 'Apache Version 2.0'
      function(argument) {
        return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2");
      },
      // e.g. 'Apache Version 2'
      function(argument) {
        return argument.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/, "-$2.0");
      },
      // e.g. 'ZLIB'
      function(argument) {
        return argument[0].toUpperCase() + argument.slice(1);
      },
      // e.g. 'MPL/2.0'
      function(argument) {
        return argument.replace("/", "-");
      },
      // e.g. 'Apache 2'
      function(argument) {
        return argument.replace(/\s*V\s*(\d)/, "-$1").replace(/(\d)$/, "$1.0");
      },
      // e.g. 'GPL-2.0', 'GPL-3.0'
      function(argument) {
        if (argument.indexOf("3.0") !== -1) {
          return argument + "-or-later";
        } else {
          return argument + "-only";
        }
      },
      // e.g. 'GPL-2.0-'
      function(argument) {
        return argument + "only";
      },
      // e.g. 'GPL2'
      function(argument) {
        return argument.replace(/(\d)$/, "-$1.0");
      },
      // e.g. 'BSD 3'
      function(argument) {
        return argument.replace(/(-| )?(\d)$/, "-$2-Clause");
      },
      // e.g. 'BSD clause 3'
      function(argument) {
        return argument.replace(/(-| )clause(-| )(\d)/, "-$3-Clause");
      },
      // e.g. 'New BSD license'
      function(argument) {
        return argument.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i, "BSD-3-Clause");
      },
      // e.g. 'Simplified BSD license'
      function(argument) {
        return argument.replace(/\bSimplified(-| )?BSD((-| )License)?/i, "BSD-2-Clause");
      },
      // e.g. 'Free BSD license'
      function(argument) {
        return argument.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i, "BSD-2-Clause-$1BSD");
      },
      // e.g. 'Clear BSD license'
      function(argument) {
        return argument.replace(/\bClear(-| )?BSD((-| )License)?/i, "BSD-3-Clause-Clear");
      },
      // e.g. 'Old BSD License'
      function(argument) {
        return argument.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i, "BSD-4-Clause");
      },
      // e.g. 'BY-NC-4.0'
      function(argument) {
        return "CC-" + argument;
      },
      // e.g. 'BY-NC'
      function(argument) {
        return "CC-" + argument + "-4.0";
      },
      // e.g. 'Attribution-NonCommercial'
      function(argument) {
        return argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "");
      },
      // e.g. 'Attribution-NonCommercial'
      function(argument) {
        return "CC-" + argument.replace("Attribution", "BY").replace("NonCommercial", "NC").replace("NoDerivatives", "ND").replace(/ (\d)/, "-$1").replace(/ ?International/, "") + "-4.0";
      }
    ];
    var licensesWithVersions = spdxLicenseIds.map(function(id) {
      var match = /^(.*)-\d+\.\d+$/.exec(id);
      return match ? [match[0], match[1]] : [id, null];
    }).reduce(function(objectMap, item) {
      var key = item[1];
      objectMap[key] = objectMap[key] || [];
      objectMap[key].push(item[0]);
      return objectMap;
    }, {});
    var licensesWithOneVersion = Object.keys(licensesWithVersions).map(function makeEntries(key) {
      return [key, licensesWithVersions[key]];
    }).filter(function identifySoleVersions(item) {
      return (
        // Licenses has just one valid version suffix.
        item[1].length === 1 && item[0] !== null && // APL will be considered Apache, rather than APL-1.0
        item[0] !== "APL"
      );
    }).map(function createLastResorts(item) {
      return [item[0], item[1][0]];
    });
    licensesWithVersions = void 0;
    var lastResorts = [
      ["UNLI", "Unlicense"],
      ["WTF", "WTFPL"],
      ["2 CLAUSE", "BSD-2-Clause"],
      ["2-CLAUSE", "BSD-2-Clause"],
      ["3 CLAUSE", "BSD-3-Clause"],
      ["3-CLAUSE", "BSD-3-Clause"],
      ["AFFERO", "AGPL-3.0-or-later"],
      ["AGPL", "AGPL-3.0-or-later"],
      ["APACHE", "Apache-2.0"],
      ["ARTISTIC", "Artistic-2.0"],
      ["Affero", "AGPL-3.0-or-later"],
      ["BEER", "Beerware"],
      ["BOOST", "BSL-1.0"],
      ["BSD", "BSD-2-Clause"],
      ["CDDL", "CDDL-1.1"],
      ["ECLIPSE", "EPL-1.0"],
      ["FUCK", "WTFPL"],
      ["GNU", "GPL-3.0-or-later"],
      ["LGPL", "LGPL-3.0-or-later"],
      ["GPLV1", "GPL-1.0-only"],
      ["GPL-1", "GPL-1.0-only"],
      ["GPLV2", "GPL-2.0-only"],
      ["GPL-2", "GPL-2.0-only"],
      ["GPL", "GPL-3.0-or-later"],
      ["MIT +NO-FALSE-ATTRIBS", "MITNFA"],
      ["MIT", "MIT"],
      ["MPL", "MPL-2.0"],
      ["X11", "X11"],
      ["ZLIB", "Zlib"]
    ].concat(licensesWithOneVersion).sort(sortTranspositions);
    var SUBSTRING = 0;
    var IDENTIFIER = 1;
    var validTransformation = function(identifier) {
      for (var i = 0; i < transforms.length; i++) {
        var transformed = transforms[i](identifier).trim();
        if (transformed !== identifier && valid(transformed)) {
          return transformed;
        }
      }
      return null;
    };
    var validLastResort = function(identifier) {
      var upperCased = identifier.toUpperCase();
      for (var i = 0; i < lastResorts.length; i++) {
        var lastResort = lastResorts[i];
        if (upperCased.indexOf(lastResort[SUBSTRING]) > -1) {
          return lastResort[IDENTIFIER];
        }
      }
      return null;
    };
    var anyCorrection = function(identifier, check) {
      for (var i = 0; i < transpositions.length; i++) {
        var transposition = transpositions[i];
        var transposed = transposition[TRANSPOSED];
        if (identifier.indexOf(transposed) > -1) {
          var corrected = identifier.replace(
            transposed,
            transposition[CORRECT]
          );
          var checked = check(corrected);
          if (checked !== null) {
            return checked;
          }
        }
      }
      return null;
    };
    module2.exports = function(identifier, options) {
      options = options || {};
      var upgrade = options.upgrade === void 0 ? true : !!options.upgrade;
      function postprocess(value) {
        return upgrade ? upgradeGPLs(value) : value;
      }
      var validArugment = typeof identifier === "string" && identifier.trim().length !== 0;
      if (!validArugment) {
        throw Error("Invalid argument. Expected non-empty string.");
      }
      identifier = identifier.trim();
      if (valid(identifier)) {
        return postprocess(identifier);
      }
      var noPlus = identifier.replace(/\+$/, "").trim();
      if (valid(noPlus)) {
        return postprocess(noPlus);
      }
      var transformed = validTransformation(identifier);
      if (transformed !== null) {
        return postprocess(transformed);
      }
      transformed = anyCorrection(identifier, function(argument) {
        if (valid(argument)) {
          return argument;
        }
        return validTransformation(argument);
      });
      if (transformed !== null) {
        return postprocess(transformed);
      }
      transformed = validLastResort(identifier);
      if (transformed !== null) {
        return postprocess(transformed);
      }
      transformed = anyCorrection(identifier, validLastResort);
      if (transformed !== null) {
        return postprocess(transformed);
      }
      return null;
    };
    function upgradeGPLs(value) {
      if ([
        "GPL-1.0",
        "LGPL-1.0",
        "AGPL-1.0",
        "GPL-2.0",
        "LGPL-2.0",
        "AGPL-2.0",
        "LGPL-2.1"
      ].indexOf(value) !== -1) {
        return value + "-only";
      } else if ([
        "GPL-1.0+",
        "GPL-2.0+",
        "GPL-3.0+",
        "LGPL-2.0+",
        "LGPL-2.1+",
        "LGPL-3.0+",
        "AGPL-1.0+",
        "AGPL-3.0+"
      ].indexOf(value) !== -1) {
        return value.replace(/\+$/, "-or-later");
      } else if (["GPL-3.0", "LGPL-3.0", "AGPL-3.0"].indexOf(value) !== -1) {
        return value + "-or-later";
      } else {
        return value;
      }
    }
  }
});

// ../node_modules/.pnpm/validate-npm-package-license@3.0.4/node_modules/validate-npm-package-license/index.js
var require_validate_npm_package_license = __commonJS({
  "../node_modules/.pnpm/validate-npm-package-license@3.0.4/node_modules/validate-npm-package-license/index.js"(exports2, module2) {
    var parse2 = require_spdx_expression_parse();
    var correct = require_spdx_correct();
    var genericWarning = 'license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"';
    var fileReferenceRE = /^SEE LICEN[CS]E IN (.+)$/;
    function startsWith(prefix, string) {
      return string.slice(0, prefix.length) === prefix;
    }
    function usesLicenseRef(ast) {
      if (ast.hasOwnProperty("license")) {
        var license = ast.license;
        return startsWith("LicenseRef", license) || startsWith("DocumentRef", license);
      } else {
        return usesLicenseRef(ast.left) || usesLicenseRef(ast.right);
      }
    }
    module2.exports = function(argument) {
      var ast;
      try {
        ast = parse2(argument);
      } catch (e) {
        var match;
        if (argument === "UNLICENSED" || argument === "UNLICENCED") {
          return {
            validForOldPackages: true,
            validForNewPackages: true,
            unlicensed: true
          };
        } else if (match = fileReferenceRE.exec(argument)) {
          return {
            validForOldPackages: true,
            validForNewPackages: true,
            inFile: match[1]
          };
        } else {
          var result2 = {
            validForOldPackages: false,
            validForNewPackages: false,
            warnings: [genericWarning]
          };
          if (argument.trim().length !== 0) {
            var corrected = correct(argument);
            if (corrected) {
              result2.warnings.push(
                'license is similar to the valid expression "' + corrected + '"'
              );
            }
          }
          return result2;
        }
      }
      if (usesLicenseRef(ast)) {
        return {
          validForNewPackages: false,
          validForOldPackages: false,
          spdx: true,
          warnings: [genericWarning]
        };
      } else {
        return {
          validForNewPackages: true,
          validForOldPackages: true,
          spdx: true
        };
      }
    };
  }
});

// ../node_modules/.pnpm/lru-cache@7.18.3/node_modules/lru-cache/index.js
var require_lru_cache2 = __commonJS({
  "../node_modules/.pnpm/lru-cache@7.18.3/node_modules/lru-cache/index.js"(exports2, module2) {
    var perf = typeof performance === "object" && performance && typeof performance.now === "function" ? performance : Date;
    var hasAbortController = typeof AbortController === "function";
    var AC = hasAbortController ? AbortController : class AbortController {
      constructor() {
        this.signal = new AS();
      }
      abort(reason = new Error("This operation was aborted")) {
        this.signal.reason = this.signal.reason || reason;
        this.signal.aborted = true;
        this.signal.dispatchEvent({
          type: "abort",
          target: this.signal
        });
      }
    };
    var hasAbortSignal = typeof AbortSignal === "function";
    var hasACAbortSignal = typeof AC.AbortSignal === "function";
    var AS = hasAbortSignal ? AbortSignal : hasACAbortSignal ? AC.AbortController : class AbortSignal {
      constructor() {
        this.reason = void 0;
        this.aborted = false;
        this._listeners = [];
      }
      dispatchEvent(e) {
        if (e.type === "abort") {
          this.aborted = true;
          this.onabort(e);
          this._listeners.forEach((f) => f(e), this);
        }
      }
      onabort() {
      }
      addEventListener(ev, fn) {
        if (ev === "abort") {
          this._listeners.push(fn);
        }
      }
      removeEventListener(ev, fn) {
        if (ev === "abort") {
          this._listeners = this._listeners.filter((f) => f !== fn);
        }
      }
    };
    var warned = /* @__PURE__ */ new Set();
    var deprecatedOption = (opt, instead) => {
      const code = `LRU_CACHE_OPTION_${opt}`;
      if (shouldWarn(code)) {
        warn(code, `${opt} option`, `options.${instead}`, LRUCache);
      }
    };
    var deprecatedMethod = (method, instead) => {
      const code = `LRU_CACHE_METHOD_${method}`;
      if (shouldWarn(code)) {
        const { prototype } = LRUCache;
        const { get } = Object.getOwnPropertyDescriptor(prototype, method);
        warn(code, `${method} method`, `cache.${instead}()`, get);
      }
    };
    var deprecatedProperty = (field, instead) => {
      const code = `LRU_CACHE_PROPERTY_${field}`;
      if (shouldWarn(code)) {
        const { prototype } = LRUCache;
        const { get } = Object.getOwnPropertyDescriptor(prototype, field);
        warn(code, `${field} property`, `cache.${instead}`, get);
      }
    };
    var emitWarning = (...a) => {
      typeof process === "object" && process && typeof process.emitWarning === "function" ? process.emitWarning(...a) : console.error(...a);
    };
    var shouldWarn = (code) => !warned.has(code);
    var warn = (code, what, instead, fn) => {
      warned.add(code);
      const msg = `The ${what} is deprecated. Please use ${instead} instead.`;
      emitWarning(msg, "DeprecationWarning", code, fn);
    };
    var isPosInt = (n) => n && n === Math.floor(n) && n > 0 && isFinite(n);
    var getUintArray = (max) => !isPosInt(max) ? null : max <= Math.pow(2, 8) ? Uint8Array : max <= Math.pow(2, 16) ? Uint16Array : max <= Math.pow(2, 32) ? Uint32Array : max <= Number.MAX_SAFE_INTEGER ? ZeroArray : null;
    var ZeroArray = class extends Array {
      constructor(size) {
        super(size);
        this.fill(0);
      }
    };
    var Stack = class {
      constructor(max) {
        if (max === 0) {
          return [];
        }
        const UintArray = getUintArray(max);
        this.heap = new UintArray(max);
        this.length = 0;
      }
      push(n) {
        this.heap[this.length++] = n;
      }
      pop() {
        return this.heap[--this.length];
      }
    };
    var LRUCache = class _LRUCache {
      constructor(options = {}) {
        const {
          max = 0,
          ttl,
          ttlResolution = 1,
          ttlAutopurge,
          updateAgeOnGet,
          updateAgeOnHas,
          allowStale,
          dispose,
          disposeAfter,
          noDisposeOnSet,
          noUpdateTTL,
          maxSize = 0,
          maxEntrySize = 0,
          sizeCalculation,
          fetchMethod,
          fetchContext,
          noDeleteOnFetchRejection,
          noDeleteOnStaleGet,
          allowStaleOnFetchRejection,
          allowStaleOnFetchAbort,
          ignoreFetchAbort
        } = options;
        const { length, maxAge, stale } = options instanceof _LRUCache ? {} : options;
        if (max !== 0 && !isPosInt(max)) {
          throw new TypeError("max option must be a nonnegative integer");
        }
        const UintArray = max ? getUintArray(max) : Array;
        if (!UintArray) {
          throw new Error("invalid max value: " + max);
        }
        this.max = max;
        this.maxSize = maxSize;
        this.maxEntrySize = maxEntrySize || this.maxSize;
        this.sizeCalculation = sizeCalculation || length;
        if (this.sizeCalculation) {
          if (!this.maxSize && !this.maxEntrySize) {
            throw new TypeError(
              "cannot set sizeCalculation without setting maxSize or maxEntrySize"
            );
          }
          if (typeof this.sizeCalculation !== "function") {
            throw new TypeError("sizeCalculation set to non-function");
          }
        }
        this.fetchMethod = fetchMethod || null;
        if (this.fetchMethod && typeof this.fetchMethod !== "function") {
          throw new TypeError(
            "fetchMethod must be a function if specified"
          );
        }
        this.fetchContext = fetchContext;
        if (!this.fetchMethod && fetchContext !== void 0) {
          throw new TypeError(
            "cannot set fetchContext without fetchMethod"
          );
        }
        this.keyMap = /* @__PURE__ */ new Map();
        this.keyList = new Array(max).fill(null);
        this.valList = new Array(max).fill(null);
        this.next = new UintArray(max);
        this.prev = new UintArray(max);
        this.head = 0;
        this.tail = 0;
        this.free = new Stack(max);
        this.initialFill = 1;
        this.size = 0;
        if (typeof dispose === "function") {
          this.dispose = dispose;
        }
        if (typeof disposeAfter === "function") {
          this.disposeAfter = disposeAfter;
          this.disposed = [];
        } else {
          this.disposeAfter = null;
          this.disposed = null;
        }
        this.noDisposeOnSet = !!noDisposeOnSet;
        this.noUpdateTTL = !!noUpdateTTL;
        this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection;
        this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection;
        this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort;
        this.ignoreFetchAbort = !!ignoreFetchAbort;
        if (this.maxEntrySize !== 0) {
          if (this.maxSize !== 0) {
            if (!isPosInt(this.maxSize)) {
              throw new TypeError(
                "maxSize must be a positive integer if specified"
              );
            }
          }
          if (!isPosInt(this.maxEntrySize)) {
            throw new TypeError(
              "maxEntrySize must be a positive integer if specified"
            );
          }
          this.initializeSizeTracking();
        }
        this.allowStale = !!allowStale || !!stale;
        this.noDeleteOnStaleGet = !!noDeleteOnStaleGet;
        this.updateAgeOnGet = !!updateAgeOnGet;
        this.updateAgeOnHas = !!updateAgeOnHas;
        this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 ? ttlResolution : 1;
        this.ttlAutopurge = !!ttlAutopurge;
        this.ttl = ttl || maxAge || 0;
        if (this.ttl) {
          if (!isPosInt(this.ttl)) {
            throw new TypeError(
              "ttl must be a positive integer if specified"
            );
          }
          this.initializeTTLTracking();
        }
        if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {
          throw new TypeError(
            "At least one of max, maxSize, or ttl is required"
          );
        }
        if (!this.ttlAutopurge && !this.max && !this.maxSize) {
          const code = "LRU_CACHE_UNBOUNDED";
          if (shouldWarn(code)) {
            warned.add(code);
            const msg = "TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.";
            emitWarning(msg, "UnboundedCacheWarning", code, _LRUCache);
          }
        }
        if (stale) {
          deprecatedOption("stale", "allowStale");
        }
        if (maxAge) {
          deprecatedOption("maxAge", "ttl");
        }
        if (length) {
          deprecatedOption("length", "sizeCalculation");
        }
      }
      getRemainingTTL(key) {
        return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0;
      }
      initializeTTLTracking() {
        this.ttls = new ZeroArray(this.max);
        this.starts = new ZeroArray(this.max);
        this.setItemTTL = (index, ttl, start = perf.now()) => {
          this.starts[index] = ttl !== 0 ? start : 0;
          this.ttls[index] = ttl;
          if (ttl !== 0 && this.ttlAutopurge) {
            const t = setTimeout(() => {
              if (this.isStale(index)) {
                this.delete(this.keyList[index]);
              }
            }, ttl + 1);
            if (t.unref) {
              t.unref();
            }
          }
        };
        this.updateItemAge = (index) => {
          this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0;
        };
        this.statusTTL = (status, index) => {
          if (status) {
            status.ttl = this.ttls[index];
            status.start = this.starts[index];
            status.now = cachedNow || getNow();
            status.remainingTTL = status.now + status.ttl - status.start;
          }
        };
        let cachedNow = 0;
        const getNow = () => {
          const n = perf.now();
          if (this.ttlResolution > 0) {
            cachedNow = n;
            const t = setTimeout(
              () => cachedNow = 0,
              this.ttlResolution
            );
            if (t.unref) {
              t.unref();
            }
          }
          return n;
        };
        this.getRemainingTTL = (key) => {
          const index = this.keyMap.get(key);
          if (index === void 0) {
            return 0;
          }
          return this.ttls[index] === 0 || this.starts[index] === 0 ? Infinity : this.starts[index] + this.ttls[index] - (cachedNow || getNow());
        };
        this.isStale = (index) => {
          return this.ttls[index] !== 0 && this.starts[index] !== 0 && (cachedNow || getNow()) - this.starts[index] > this.ttls[index];
        };
      }
      updateItemAge(_index) {
      }
      statusTTL(_status, _index) {
      }
      setItemTTL(_index, _ttl, _start) {
      }
      isStale(_index) {
        return false;
      }
      initializeSizeTracking() {
        this.calculatedSize = 0;
        this.sizes = new ZeroArray(this.max);
        this.removeItemSize = (index) => {
          this.calculatedSize -= this.sizes[index];
          this.sizes[index] = 0;
        };
        this.requireSize = (k, v, size, sizeCalculation) => {
          if (this.isBackgroundFetch(v)) {
            return 0;
          }
          if (!isPosInt(size)) {
            if (sizeCalculation) {
              if (typeof sizeCalculation !== "function") {
                throw new TypeError("sizeCalculation must be a function");
              }
              size = sizeCalculation(v, k);
              if (!isPosInt(size)) {
                throw new TypeError(
                  "sizeCalculation return invalid (expect positive integer)"
                );
              }
            } else {
              throw new TypeError(
                "invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set."
              );
            }
          }
          return size;
        };
        this.addItemSize = (index, size, status) => {
          this.sizes[index] = size;
          if (this.maxSize) {
            const maxSize = this.maxSize - this.sizes[index];
            while (this.calculatedSize > maxSize) {
              this.evict(true);
            }
          }
          this.calculatedSize += this.sizes[index];
          if (status) {
            status.entrySize = size;
            status.totalCalculatedSize = this.calculatedSize;
          }
        };
      }
      removeItemSize(_index) {
      }
      addItemSize(_index, _size) {
      }
      requireSize(_k, _v, size, sizeCalculation) {
        if (size || sizeCalculation) {
          throw new TypeError(
            "cannot set size without setting maxSize or maxEntrySize on cache"
          );
        }
      }
      *indexes({ allowStale = this.allowStale } = {}) {
        if (this.size) {
          for (let i = this.tail; true; ) {
            if (!this.isValidIndex(i)) {
              break;
            }
            if (allowStale || !this.isStale(i)) {
              yield i;
            }
            if (i === this.head) {
              break;
            } else {
              i = this.prev[i];
            }
          }
        }
      }
      *rindexes({ allowStale = this.allowStale } = {}) {
        if (this.size) {
          for (let i = this.head; true; ) {
            if (!this.isValidIndex(i)) {
              break;
            }
            if (allowStale || !this.isStale(i)) {
              yield i;
            }
            if (i === this.tail) {
              break;
            } else {
              i = this.next[i];
            }
          }
        }
      }
      isValidIndex(index) {
        return index !== void 0 && this.keyMap.get(this.keyList[index]) === index;
      }
      *entries() {
        for (const i of this.indexes()) {
          if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield [this.keyList[i], this.valList[i]];
          }
        }
      }
      *rentries() {
        for (const i of this.rindexes()) {
          if (this.valList[i] !== void 0 && this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield [this.keyList[i], this.valList[i]];
          }
        }
      }
      *keys() {
        for (const i of this.indexes()) {
          if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield this.keyList[i];
          }
        }
      }
      *rkeys() {
        for (const i of this.rindexes()) {
          if (this.keyList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield this.keyList[i];
          }
        }
      }
      *values() {
        for (const i of this.indexes()) {
          if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield this.valList[i];
          }
        }
      }
      *rvalues() {
        for (const i of this.rindexes()) {
          if (this.valList[i] !== void 0 && !this.isBackgroundFetch(this.valList[i])) {
            yield this.valList[i];
          }
        }
      }
      [Symbol.iterator]() {
        return this.entries();
      }
      find(fn, getOptions) {
        for (const i of this.indexes()) {
          const v = this.valList[i];
          const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0) continue;
          if (fn(value, this.keyList[i], this)) {
            return this.get(this.keyList[i], getOptions);
          }
        }
      }
      forEach(fn, thisp = this) {
        for (const i of this.indexes()) {
          const v = this.valList[i];
          const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0) continue;
          fn.call(thisp, value, this.keyList[i], this);
        }
      }
      rforEach(fn, thisp = this) {
        for (const i of this.rindexes()) {
          const v = this.valList[i];
          const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0) continue;
          fn.call(thisp, value, this.keyList[i], this);
        }
      }
      get prune() {
        deprecatedMethod("prune", "purgeStale");
        return this.purgeStale;
      }
      purgeStale() {
        let deleted = false;
        for (const i of this.rindexes({ allowStale: true })) {
          if (this.isStale(i)) {
            this.delete(this.keyList[i]);
            deleted = true;
          }
        }
        return deleted;
      }
      dump() {
        const arr = [];
        for (const i of this.indexes({ allowStale: true })) {
          const key = this.keyList[i];
          const v = this.valList[i];
          const value = this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
          if (value === void 0) continue;
          const entry = { value };
          if (this.ttls) {
            entry.ttl = this.ttls[i];
            const age = perf.now() - this.starts[i];
            entry.start = Math.floor(Date.now() - age);
          }
          if (this.sizes) {
            entry.size = this.sizes[i];
          }
          arr.unshift([key, entry]);
        }
        return arr;
      }
      load(arr) {
        this.clear();
        for (const [key, entry] of arr) {
          if (entry.start) {
            const age = Date.now() - entry.start;
            entry.start = perf.now() - age;
          }
          this.set(key, entry.value, entry);
        }
      }
      dispose(_v, _k, _reason) {
      }
      set(k, v, {
        ttl = this.ttl,
        start,
        noDisposeOnSet = this.noDisposeOnSet,
        size = 0,
        sizeCalculation = this.sizeCalculation,
        noUpdateTTL = this.noUpdateTTL,
        status
      } = {}) {
        size = this.requireSize(k, v, size, sizeCalculation);
        if (this.maxEntrySize && size > this.maxEntrySize) {
          if (status) {
            status.set = "miss";
            status.maxEntrySizeExceeded = true;
          }
          this.delete(k);
          return this;
        }
        let index = this.size === 0 ? void 0 : this.keyMap.get(k);
        if (index === void 0) {
          index = this.newIndex();
          this.keyList[index] = k;
          this.valList[index] = v;
          this.keyMap.set(k, index);
          this.next[this.tail] = index;
          this.prev[index] = this.tail;
          this.tail = index;
          this.size++;
          this.addItemSize(index, size, status);
          if (status) {
            status.set = "add";
          }
          noUpdateTTL = false;
        } else {
          this.moveToTail(index);
          const oldVal = this.valList[index];
          if (v !== oldVal) {
            if (this.isBackgroundFetch(oldVal)) {
              oldVal.__abortController.abort(new Error("replaced"));
            } else {
              if (!noDisposeOnSet) {
                this.dispose(oldVal, k, "set");
                if (this.disposeAfter) {
                  this.disposed.push([oldVal, k, "set"]);
                }
              }
            }
            this.removeItemSize(index);
            this.valList[index] = v;
            this.addItemSize(index, size, status);
            if (status) {
              status.set = "replace";
              const oldValue = oldVal && this.isBackgroundFetch(oldVal) ? oldVal.__staleWhileFetching : oldVal;
              if (oldValue !== void 0) status.oldValue = oldValue;
            }
          } else if (status) {
            status.set = "update";
          }
        }
        if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
          this.initializeTTLTracking();
        }
        if (!noUpdateTTL) {
          this.setItemTTL(index, ttl, start);
        }
        this.statusTTL(status, index);
        if (this.disposeAfter) {
          while (this.disposed.length) {
            this.disposeAfter(...this.disposed.shift());
          }
        }
        return this;
      }
      newIndex() {
        if (this.size === 0) {
          return this.tail;
        }
        if (this.size === this.max && this.max !== 0) {
          return this.evict(false);
        }
        if (this.free.length !== 0) {
          return this.free.pop();
        }
        return this.initialFill++;
      }
      pop() {
        if (this.size) {
          const val = this.valList[this.head];
          this.evict(true);
          return val;
        }
      }
      evict(free) {
        const head = this.head;
        const k = this.keyList[head];
        const v = this.valList[head];
        if (this.isBackgroundFetch(v)) {
          v.__abortController.abort(new Error("evicted"));
        } else {
          this.dispose(v, k, "evict");
          if (this.disposeAfter) {
            this.disposed.push([v, k, "evict"]);
          }
        }
        this.removeItemSize(head);
        if (free) {
          this.keyList[head] = null;
          this.valList[head] = null;
          this.free.push(head);
        }
        this.head = this.next[head];
        this.keyMap.delete(k);
        this.size--;
        return head;
      }
      has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) {
        const index = this.keyMap.get(k);
        if (index !== void 0) {
          if (!this.isStale(index)) {
            if (updateAgeOnHas) {
              this.updateItemAge(index);
            }
            if (status) status.has = "hit";
            this.statusTTL(status, index);
            return true;
          } else if (status) {
            status.has = "stale";
            this.statusTTL(status, index);
          }
        } else if (status) {
          status.has = "miss";
        }
        return false;
      }
      // like get(), but without any LRU updating or TTL expiration
      peek(k, { allowStale = this.allowStale } = {}) {
        const index = this.keyMap.get(k);
        if (index !== void 0 && (allowStale || !this.isStale(index))) {
          const v = this.valList[index];
          return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v;
        }
      }
      backgroundFetch(k, index, options, context) {
        const v = index === void 0 ? void 0 : this.valList[index];
        if (this.isBackgroundFetch(v)) {
          return v;
        }
        const ac = new AC();
        if (options.signal) {
          options.signal.addEventListener(
            "abort",
            () => ac.abort(options.signal.reason)
          );
        }
        const fetchOpts = {
          signal: ac.signal,
          options,
          context
        };
        const cb = (v2, updateCache = false) => {
          const { aborted } = ac.signal;
          const ignoreAbort = options.ignoreFetchAbort && v2 !== void 0;
          if (options.status) {
            if (aborted && !updateCache) {
              options.status.fetchAborted = true;
              options.status.fetchError = ac.signal.reason;
              if (ignoreAbort) options.status.fetchAbortIgnored = true;
            } else {
              options.status.fetchResolved = true;
            }
          }
          if (aborted && !ignoreAbort && !updateCache) {
            return fetchFail(ac.signal.reason);
          }
          if (this.valList[index] === p) {
            if (v2 === void 0) {
              if (p.__staleWhileFetching) {
                this.valList[index] = p.__staleWhileFetching;
              } else {
                this.delete(k);
              }
            } else {
              if (options.status) options.status.fetchUpdated = true;
              this.set(k, v2, fetchOpts.options);
            }
          }
          return v2;
        };
        const eb = (er) => {
          if (options.status) {
            options.status.fetchRejected = true;
            options.status.fetchError = er;
          }
          return fetchFail(er);
        };
        const fetchFail = (er) => {
          const { aborted } = ac.signal;
          const allowStaleAborted = aborted && options.allowStaleOnFetchAbort;
          const allowStale = allowStaleAborted || options.allowStaleOnFetchRejection;
          const noDelete = allowStale || options.noDeleteOnFetchRejection;
          if (this.valList[index] === p) {
            const del = !noDelete || p.__staleWhileFetching === void 0;
            if (del) {
              this.delete(k);
            } else if (!allowStaleAborted) {
              this.valList[index] = p.__staleWhileFetching;
            }
          }
          if (allowStale) {
            if (options.status && p.__staleWhileFetching !== void 0) {
              options.status.returnedStale = true;
            }
            return p.__staleWhileFetching;
          } else if (p.__returned === p) {
            throw er;
          }
        };
        const pcall = (res, rej) => {
          this.fetchMethod(k, v, fetchOpts).then((v2) => res(v2), rej);
          ac.signal.addEventListener("abort", () => {
            if (!options.ignoreFetchAbort || options.allowStaleOnFetchAbort) {
              res();
              if (options.allowStaleOnFetchAbort) {
                res = (v2) => cb(v2, true);
              }
            }
          });
        };
        if (options.status) options.status.fetchDispatched = true;
        const p = new Promise(pcall).then(cb, eb);
        p.__abortController = ac;
        p.__staleWhileFetching = v;
        p.__returned = null;
        if (index === void 0) {
          this.set(k, p, { ...fetchOpts.options, status: void 0 });
          index = this.keyMap.get(k);
        } else {
          this.valList[index] = p;
        }
        return p;
      }
      isBackgroundFetch(p) {
        return p && typeof p === "object" && typeof p.then === "function" && Object.prototype.hasOwnProperty.call(
          p,
          "__staleWhileFetching"
        ) && Object.prototype.hasOwnProperty.call(p, "__returned") && (p.__returned === p || p.__returned === null);
      }
      // this takes the union of get() and set() opts, because it does both
      async fetch(k, {
        // get options
        allowStale = this.allowStale,
        updateAgeOnGet = this.updateAgeOnGet,
        noDeleteOnStaleGet = this.noDeleteOnStaleGet,
        // set options
        ttl = this.ttl,
        noDisposeOnSet = this.noDisposeOnSet,
        size = 0,
        sizeCalculation = this.sizeCalculation,
        noUpdateTTL = this.noUpdateTTL,
        // fetch exclusive options
        noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
        allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
        ignoreFetchAbort = this.ignoreFetchAbort,
        allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
        fetchContext = this.fetchContext,
        forceRefresh = false,
        status,
        signal
      } = {}) {
        if (!this.fetchMethod) {
          if (status) status.fetch = "get";
          return this.get(k, {
            allowStale,
            updateAgeOnGet,
            noDeleteOnStaleGet,
            status
          });
        }
        const options = {
          allowStale,
          updateAgeOnGet,
          noDeleteOnStaleGet,
          ttl,
          noDisposeOnSet,
          size,
          sizeCalculation,
          noUpdateTTL,
          noDeleteOnFetchRejection,
          allowStaleOnFetchRejection,
          allowStaleOnFetchAbort,
          ignoreFetchAbort,
          status,
          signal
        };
        let index = this.keyMap.get(k);
        if (index === void 0) {
          if (status) status.fetch = "miss";
          const p = this.backgroundFetch(k, index, options, fetchContext);
          return p.__returned = p;
        } else {
          const v = this.valList[index];
          if (this.isBackgroundFetch(v)) {
            const stale = allowStale && v.__staleWhileFetching !== void 0;
            if (status) {
              status.fetch = "inflight";
              if (stale) status.returnedStale = true;
            }
            return stale ? v.__staleWhileFetching : v.__returned = v;
          }
          const isStale = this.isStale(index);
          if (!forceRefresh && !isStale) {
            if (status) status.fetch = "hit";
            this.moveToTail(index);
            if (updateAgeOnGet) {
              this.updateItemAge(index);
            }
            this.statusTTL(status, index);
            return v;
          }
          const p = this.backgroundFetch(k, index, options, fetchContext);
          const hasStale = p.__staleWhileFetching !== void 0;
          const staleVal = hasStale && allowStale;
          if (status) {
            status.fetch = hasStale && isStale ? "stale" : "refresh";
            if (staleVal && isStale) status.returnedStale = true;
          }
          return staleVal ? p.__staleWhileFetching : p.__returned = p;
        }
      }
      get(k, {
        allowStale = this.allowStale,
        updateAgeOnGet = this.updateAgeOnGet,
        noDeleteOnStaleGet = this.noDeleteOnStaleGet,
        status
      } = {}) {
        const index = this.keyMap.get(k);
        if (index !== void 0) {
          const value = this.valList[index];
          const fetching = this.isBackgroundFetch(value);
          this.statusTTL(status, index);
          if (this.isStale(index)) {
            if (status) status.get = "stale";
            if (!fetching) {
              if (!noDeleteOnStaleGet) {
                this.delete(k);
              }
              if (status) status.returnedStale = allowStale;
              return allowStale ? value : void 0;
            } else {
              if (status) {
                status.returnedStale = allowStale && value.__staleWhileFetching !== void 0;
              }
              return allowStale ? value.__staleWhileFetching : void 0;
            }
          } else {
            if (status) status.get = "hit";
            if (fetching) {
              return value.__staleWhileFetching;
            }
            this.moveToTail(index);
            if (updateAgeOnGet) {
              this.updateItemAge(index);
            }
            return value;
          }
        } else if (status) {
          status.get = "miss";
        }
      }
      connect(p, n) {
        this.prev[n] = p;
        this.next[p] = n;
      }
      moveToTail(index) {
        if (index !== this.tail) {
          if (index === this.head) {
            this.head = this.next[index];
          } else {
            this.connect(this.prev[index], this.next[index]);
          }
          this.connect(this.tail, index);
          this.tail = index;
        }
      }
      get del() {
        deprecatedMethod("del", "delete");
        return this.delete;
      }
      delete(k) {
        let deleted = false;
        if (this.size !== 0) {
          const index = this.keyMap.get(k);
          if (index !== void 0) {
            deleted = true;
            if (this.size === 1) {
              this.clear();
            } else {
              this.removeItemSize(index);
              const v = this.valList[index];
              if (this.isBackgroundFetch(v)) {
                v.__abortController.abort(new Error("deleted"));
              } else {
                this.dispose(v, k, "delete");
                if (this.disposeAfter) {
                  this.disposed.push([v, k, "delete"]);
                }
              }
              this.keyMap.delete(k);
              this.keyList[index] = null;
              this.valList[index] = null;
              if (index === this.tail) {
                this.tail = this.prev[index];
              } else if (index === this.head) {
                this.head = this.next[index];
              } else {
                this.next[this.prev[index]] = this.next[index];
                this.prev[this.next[index]] = this.prev[index];
              }
              this.size--;
              this.free.push(index);
            }
          }
        }
        if (this.disposed) {
          while (this.disposed.length) {
            this.disposeAfter(...this.disposed.shift());
          }
        }
        return deleted;
      }
      clear() {
        for (const index of this.rindexes({ allowStale: true })) {
          const v = this.valList[index];
          if (this.isBackgroundFetch(v)) {
            v.__abortController.abort(new Error("deleted"));
          } else {
            const k = this.keyList[index];
            this.dispose(v, k, "delete");
            if (this.disposeAfter) {
              this.disposed.push([v, k, "delete"]);
            }
          }
        }
        this.keyMap.clear();
        this.valList.fill(null);
        this.keyList.fill(null);
        if (this.ttls) {
          this.ttls.fill(0);
          this.starts.fill(0);
        }
        if (this.sizes) {
          this.sizes.fill(0);
        }
        this.head = 0;
        this.tail = 0;
        this.initialFill = 1;
        this.free.length = 0;
        this.calculatedSize = 0;
        this.size = 0;
        if (this.disposed) {
          while (this.disposed.length) {
            this.disposeAfter(...this.disposed.shift());
          }
        }
      }
      get reset() {
        deprecatedMethod("reset", "clear");
        return this.clear;
      }
      get length() {
        deprecatedProperty("length", "size");
        return this.size;
      }
      static get AbortController() {
        return AC;
      }
      static get AbortSignal() {
        return AS;
      }
    };
    module2.exports = LRUCache;
  }
});

// ../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/hosts.js
var require_hosts = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/hosts.js"(exports2, module2) {
    "use strict";
    var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
    var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
    var formatHashFragment = (f) => f.toLowerCase().replace(/^\W+/g, "").replace(/(?<!\W)\W+$/, "").replace(/\//g, "").replace(/\W+/g, "-");
    var defaults = {
      sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      edittemplate: ({ domain, user, project, committish, editpath, path: path2 }) => `https://${domain}/${user}/${project}${maybeJoin("/", editpath, "/", maybeEncode(committish || "HEAD"), "/", path2)}`,
      browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
      browsetreetemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "HEAD")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`,
      browseblobtemplate: ({ domain, user, project, committish, blobpath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${blobpath}/${maybeEncode(committish || "HEAD")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`,
      docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish || "HEAD")}/${path2}`,
      shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
      hashformat: formatHashFragment
    };
    var hosts = {};
    hosts.github = {
      // First two are insecure and generally shouldn't be used any more, but
      // they are still supported.
      protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "github.com",
      treepath: "tree",
      blobpath: "blob",
      editpath: "edit",
      filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish || "HEAD")}/${path2}`,
      gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
      extract: (url) => {
        let [, user, project, type, committish] = url.pathname.split("/", 5);
        if (type && type !== "tree") {
          return;
        }
        if (!type) {
          committish = url.hash.slice(1);
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish };
      }
    };
    hosts.bitbucket = {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "bitbucket.org",
      treepath: "src",
      blobpath: "src",
      editpath: "?mode=edit",
      edittemplate: ({ domain, user, project, committish, treepath, path: path2, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish || "HEAD"), "/", path2, editpath)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish || "HEAD")}.tar.gz`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (["get"].includes(aux)) {
          return;
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    };
    hosts.gitlab = {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gitlab.com",
      treepath: "tree",
      blobpath: "tree",
      editpath: "-/edit",
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/repository/archive.tar.gz?ref=${maybeEncode(committish || "HEAD")}`,
      extract: (url) => {
        const path2 = url.pathname.slice(1);
        if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) {
          return;
        }
        const segments = path2.split("/");
        let project = segments.pop();
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        const user = segments.join("/");
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    };
    hosts.gist = {
      protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gist.github.com",
      editpath: "edit",
      sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
      edittemplate: ({ domain, user, project, committish, editpath }) => `https://${domain}/${user}/${project}${maybeJoin("/", maybeEncode(committish))}/${editpath}`,
      browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      browsetreetemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`,
      browseblobtemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`,
      docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`,
      shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
      gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish || "HEAD")}`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (aux === "raw") {
          return;
        }
        if (!project) {
          if (!user) {
            return;
          }
          project = user;
          user = null;
        }
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        return { user, project, committish: url.hash.slice(1) };
      },
      hashformat: function(fragment) {
        return fragment && "file-" + formatHashFragment(fragment);
      }
    };
    hosts.sourcehut = {
      protocols: ["git+ssh:", "https:"],
      domain: "git.sr.ht",
      treepath: "tree",
      blobpath: "tree",
      filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/blob/${maybeEncode(committish) || "HEAD"}/${path2}`,
      httpstemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/archive/${maybeEncode(committish) || "HEAD"}.tar.gz`,
      bugstemplate: ({ user, project }) => `https://todo.sr.ht/${user}/${project}`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (["archive"].includes(aux)) {
          return;
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    };
    for (const [name, host] of Object.entries(hosts)) {
      hosts[name] = Object.assign({}, defaults, host);
    }
    module2.exports = hosts;
  }
});

// ../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/parse-url.js
var require_parse_url = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/parse-url.js"(exports2, module2) {
    var url = require("url");
    var lastIndexOfBefore = (str, char, beforeChar) => {
      const startPosition = str.indexOf(beforeChar);
      return str.lastIndexOf(char, startPosition > -1 ? startPosition : Infinity);
    };
    var safeUrl = (u) => {
      try {
        return new url.URL(u);
      } catch {
      }
    };
    var correctProtocol = (arg, protocols) => {
      const firstColon = arg.indexOf(":");
      const proto = arg.slice(0, firstColon + 1);
      if (Object.prototype.hasOwnProperty.call(protocols, proto)) {
        return arg;
      }
      const firstAt = arg.indexOf("@");
      if (firstAt > -1) {
        if (firstAt > firstColon) {
          return `git+ssh://${arg}`;
        } else {
          return arg;
        }
      }
      const doubleSlash = arg.indexOf("//");
      if (doubleSlash === firstColon + 1) {
        return arg;
      }
      return `${arg.slice(0, firstColon + 1)}//${arg.slice(firstColon + 1)}`;
    };
    var correctUrl = (giturl) => {
      const firstAt = lastIndexOfBefore(giturl, "@", "#");
      const lastColonBeforeHash = lastIndexOfBefore(giturl, ":", "#");
      if (lastColonBeforeHash > firstAt) {
        giturl = giturl.slice(0, lastColonBeforeHash) + "/" + giturl.slice(lastColonBeforeHash + 1);
      }
      if (lastIndexOfBefore(giturl, ":", "#") === -1 && giturl.indexOf("//") === -1) {
        giturl = `git+ssh://${giturl}`;
      }
      return giturl;
    };
    module2.exports = (giturl, protocols) => {
      const withProtocol = protocols ? correctProtocol(giturl, protocols) : giturl;
      return safeUrl(withProtocol) || safeUrl(correctUrl(withProtocol));
    };
  }
});

// ../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/from-url.js
var require_from_url = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/from-url.js"(exports2, module2) {
    "use strict";
    var parseUrl = require_parse_url();
    var isGitHubShorthand = (arg) => {
      const firstHash = arg.indexOf("#");
      const firstSlash = arg.indexOf("/");
      const secondSlash = arg.indexOf("/", firstSlash + 1);
      const firstColon = arg.indexOf(":");
      const firstSpace = /\s/.exec(arg);
      const firstAt = arg.indexOf("@");
      const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
      const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
      const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
      const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
      const hasSlash = firstSlash > 0;
      const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
      const doesNotStartWithDot = !arg.startsWith(".");
      return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
    };
    module2.exports = (giturl, opts, { gitHosts, protocols }) => {
      if (!giturl) {
        return;
      }
      const correctedUrl = isGitHubShorthand(giturl) ? `github:${giturl}` : giturl;
      const parsed = parseUrl(correctedUrl, protocols);
      if (!parsed) {
        return;
      }
      const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
      const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
      const gitHostName = gitHostShortcut || gitHostDomain;
      if (!gitHostName) {
        return;
      }
      const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
      let auth = null;
      if (protocols[parsed.protocol]?.auth && (parsed.username || parsed.password)) {
        auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
      }
      let committish = null;
      let user = null;
      let project = null;
      let defaultRepresentation = null;
      try {
        if (gitHostShortcut) {
          let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
          const firstAt = pathname.indexOf("@");
          if (firstAt > -1) {
            pathname = pathname.slice(firstAt + 1);
          }
          const lastSlash = pathname.lastIndexOf("/");
          if (lastSlash > -1) {
            user = decodeURIComponent(pathname.slice(0, lastSlash));
            if (!user) {
              user = null;
            }
            project = decodeURIComponent(pathname.slice(lastSlash + 1));
          } else {
            project = decodeURIComponent(pathname);
          }
          if (project.endsWith(".git")) {
            project = project.slice(0, -4);
          }
          if (parsed.hash) {
            committish = decodeURIComponent(parsed.hash.slice(1));
          }
          defaultRepresentation = "shortcut";
        } else {
          if (!gitHostInfo.protocols.includes(parsed.protocol)) {
            return;
          }
          const segments = gitHostInfo.extract(parsed);
          if (!segments) {
            return;
          }
          user = segments.user && decodeURIComponent(segments.user);
          project = decodeURIComponent(segments.project);
          committish = decodeURIComponent(segments.committish);
          defaultRepresentation = protocols[parsed.protocol]?.name || parsed.protocol.slice(0, -1);
        }
      } catch (err) {
        if (err instanceof URIError) {
          return;
        } else {
          throw err;
        }
      }
      return [gitHostName, user, auth, project, committish, defaultRepresentation, opts];
    };
  }
});

// ../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/index.js
var require_lib49 = __commonJS({
  "../node_modules/.pnpm/hosted-git-info@6.1.3/node_modules/hosted-git-info/lib/index.js"(exports2, module2) {
    "use strict";
    var LRU = require_lru_cache2();
    var hosts = require_hosts();
    var fromUrl = require_from_url();
    var parseUrl = require_parse_url();
    var cache = new LRU({ max: 1e3 });
    var GitHost = class _GitHost {
      constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) {
        Object.assign(this, _GitHost.#gitHosts[type], {
          type,
          user,
          auth,
          project,
          committish,
          default: defaultRepresentation,
          opts
        });
      }
      static #gitHosts = { byShortcut: {}, byDomain: {} };
      static #protocols = {
        "git+ssh:": { name: "sshurl" },
        "ssh:": { name: "sshurl" },
        "git+https:": { name: "https", auth: true },
        "git:": { auth: true },
        "http:": { auth: true },
        "https:": { auth: true },
        "git+http:": { auth: true }
      };
      static addHost(name, host) {
        _GitHost.#gitHosts[name] = host;
        _GitHost.#gitHosts.byDomain[host.domain] = name;
        _GitHost.#gitHosts.byShortcut[`${name}:`] = name;
        _GitHost.#protocols[`${name}:`] = { name };
      }
      static fromUrl(giturl, opts) {
        if (typeof giturl !== "string") {
          return;
        }
        const key = giturl + JSON.stringify(opts || {});
        if (!cache.has(key)) {
          const hostArgs = fromUrl(giturl, opts, {
            gitHosts: _GitHost.#gitHosts,
            protocols: _GitHost.#protocols
          });
          cache.set(key, hostArgs ? new _GitHost(...hostArgs) : void 0);
        }
        return cache.get(key);
      }
      static parseUrl(url) {
        return parseUrl(url);
      }
      #fill(template, opts) {
        if (typeof template !== "function") {
          return null;
        }
        const options = { ...this, ...this.opts, ...opts };
        if (!options.path) {
          options.path = "";
        }
        if (options.path.startsWith("/")) {
          options.path = options.path.slice(1);
        }
        if (options.noCommittish) {
          options.committish = null;
        }
        const result2 = template(options);
        return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
      }
      hash() {
        return this.committish ? `#${this.committish}` : "";
      }
      ssh(opts) {
        return this.#fill(this.sshtemplate, opts);
      }
      sshurl(opts) {
        return this.#fill(this.sshurltemplate, opts);
      }
      browse(path2, ...args) {
        if (typeof path2 !== "string") {
          return this.#fill(this.browsetemplate, path2);
        }
        if (typeof args[0] !== "string") {
          return this.#fill(this.browsetreetemplate, { ...args[0], path: path2 });
        }
        return this.#fill(this.browsetreetemplate, { ...args[1], fragment: args[0], path: path2 });
      }
      // If the path is known to be a file, then browseFile should be used. For some hosts
      // the url is the same as browse, but for others like GitHub a file can use both `/tree/`
      // and `/blob/` in the path. When using a default committish of `HEAD` then the `/tree/`
      // path will redirect to a specific commit. Using the `/blob/` path avoids this and
      // does not redirect to a different commit.
      browseFile(path2, ...args) {
        if (typeof args[0] !== "string") {
          return this.#fill(this.browseblobtemplate, { ...args[0], path: path2 });
        }
        return this.#fill(this.browseblobtemplate, { ...args[1], fragment: args[0], path: path2 });
      }
      docs(opts) {
        return this.#fill(this.docstemplate, opts);
      }
      bugs(opts) {
        return this.#fill(this.bugstemplate, opts);
      }
      https(opts) {
        return this.#fill(this.httpstemplate, opts);
      }
      git(opts) {
        return this.#fill(this.gittemplate, opts);
      }
      shortcut(opts) {
        return this.#fill(this.shortcuttemplate, opts);
      }
      path(opts) {
        return this.#fill(this.pathtemplate, opts);
      }
      tarball(opts) {
        return this.#fill(this.tarballtemplate, { ...opts, noCommittish: false });
      }
      file(path2, opts) {
        return this.#fill(this.filetemplate, { ...opts, path: path2 });
      }
      edit(path2, opts) {
        return this.#fill(this.edittemplate, { ...opts, path: path2 });
      }
      getDefaultRepresentation() {
        return this.default;
      }
      toString(opts) {
        if (this.default && typeof this[this.default] === "function") {
          return this[this.default](opts);
        }
        return this.sshurl(opts);
      }
    };
    for (const [name, host] of Object.entries(hosts)) {
      GitHost.addHost(name, host);
    }
    module2.exports = GitHost;
  }
});

// ../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js
var require_implementation = __commonJS({
  "../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js"(exports2, module2) {
    "use strict";
    var ERROR_MESSAGE = "Function.prototype.bind called on incompatible ";
    var toStr = Object.prototype.toString;
    var max = Math.max;
    var funcType = "[object Function]";
    var concatty = function concatty2(a, b) {
      var arr = [];
      for (var i = 0; i < a.length; i += 1) {
        arr[i] = a[i];
      }
      for (var j = 0; j < b.length; j += 1) {
        arr[j + a.length] = b[j];
      }
      return arr;
    };
    var slicy = function slicy2(arrLike, offset) {
      var arr = [];
      for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {
        arr[j] = arrLike[i];
      }
      return arr;
    };
    var joiny = function(arr, joiner) {
      var str = "";
      for (var i = 0; i < arr.length; i += 1) {
        str += arr[i];
        if (i + 1 < arr.length) {
          str += joiner;
        }
      }
      return str;
    };
    module2.exports = function bind(that) {
      var target = this;
      if (typeof target !== "function" || toStr.apply(target) !== funcType) {
        throw new TypeError(ERROR_MESSAGE + target);
      }
      var args = slicy(arguments, 1);
      var bound;
      var binder = function() {
        if (this instanceof bound) {
          var result2 = target.apply(
            this,
            concatty(args, arguments)
          );
          if (Object(result2) === result2) {
            return result2;
          }
          return this;
        }
        return target.apply(
          that,
          concatty(args, arguments)
        );
      };
      var boundLength = max(0, target.length - args.length);
      var boundArgs = [];
      for (var i = 0; i < boundLength; i++) {
        boundArgs[i] = "$" + i;
      }
      bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder);
      if (target.prototype) {
        var Empty = function Empty2() {
        };
        Empty.prototype = target.prototype;
        bound.prototype = new Empty();
        Empty.prototype = null;
      }
      return bound;
    };
  }
});

// ../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js
var require_function_bind = __commonJS({
  "../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js"(exports2, module2) {
    "use strict";
    var implementation = require_implementation();
    module2.exports = Function.prototype.bind || implementation;
  }
});

// ../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js
var require_hasown = __commonJS({
  "../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js"(exports2, module2) {
    "use strict";
    var call = Function.prototype.call;
    var $hasOwn = Object.prototype.hasOwnProperty;
    var bind = require_function_bind();
    module2.exports = bind.call(call, $hasOwn);
  }
});

// ../node_modules/.pnpm/is-core-module@2.16.1/node_modules/is-core-module/core.json
var require_core4 = __commonJS({
  "../node_modules/.pnpm/is-core-module@2.16.1/node_modules/is-core-module/core.json"(exports2, module2) {
    module2.exports = {
      assert: true,
      "node:assert": [">= 14.18 && < 15", ">= 16"],
      "assert/strict": ">= 15",
      "node:assert/strict": ">= 16",
      async_hooks: ">= 8",
      "node:async_hooks": [">= 14.18 && < 15", ">= 16"],
      buffer_ieee754: ">= 0.5 && < 0.9.7",
      buffer: true,
      "node:buffer": [">= 14.18 && < 15", ">= 16"],
      child_process: true,
      "node:child_process": [">= 14.18 && < 15", ">= 16"],
      cluster: ">= 0.5",
      "node:cluster": [">= 14.18 && < 15", ">= 16"],
      console: true,
      "node:console": [">= 14.18 && < 15", ">= 16"],
      constants: true,
      "node:constants": [">= 14.18 && < 15", ">= 16"],
      crypto: true,
      "node:crypto": [">= 14.18 && < 15", ">= 16"],
      _debug_agent: ">= 1 && < 8",
      _debugger: "< 8",
      dgram: true,
      "node:dgram": [">= 14.18 && < 15", ">= 16"],
      diagnostics_channel: [">= 14.17 && < 15", ">= 15.1"],
      "node:diagnostics_channel": [">= 14.18 && < 15", ">= 16"],
      dns: true,
      "node:dns": [">= 14.18 && < 15", ">= 16"],
      "dns/promises": ">= 15",
      "node:dns/promises": ">= 16",
      domain: ">= 0.7.12",
      "node:domain": [">= 14.18 && < 15", ">= 16"],
      events: true,
      "node:events": [">= 14.18 && < 15", ">= 16"],
      freelist: "< 6",
      fs: true,
      "node:fs": [">= 14.18 && < 15", ">= 16"],
      "fs/promises": [">= 10 && < 10.1", ">= 14"],
      "node:fs/promises": [">= 14.18 && < 15", ">= 16"],
      _http_agent: ">= 0.11.1",
      "node:_http_agent": [">= 14.18 && < 15", ">= 16"],
      _http_client: ">= 0.11.1",
      "node:_http_client": [">= 14.18 && < 15", ">= 16"],
      _http_common: ">= 0.11.1",
      "node:_http_common": [">= 14.18 && < 15", ">= 16"],
      _http_incoming: ">= 0.11.1",
      "node:_http_incoming": [">= 14.18 && < 15", ">= 16"],
      _http_outgoing: ">= 0.11.1",
      "node:_http_outgoing": [">= 14.18 && < 15", ">= 16"],
      _http_server: ">= 0.11.1",
      "node:_http_server": [">= 14.18 && < 15", ">= 16"],
      http: true,
      "node:http": [">= 14.18 && < 15", ">= 16"],
      http2: ">= 8.8",
      "node:http2": [">= 14.18 && < 15", ">= 16"],
      https: true,
      "node:https": [">= 14.18 && < 15", ">= 16"],
      inspector: ">= 8",
      "node:inspector": [">= 14.18 && < 15", ">= 16"],
      "inspector/promises": [">= 19"],
      "node:inspector/promises": [">= 19"],
      _linklist: "< 8",
      module: true,
      "node:module": [">= 14.18 && < 15", ">= 16"],
      net: true,
      "node:net": [">= 14.18 && < 15", ">= 16"],
      "node-inspect/lib/_inspect": ">= 7.6 && < 12",
      "node-inspect/lib/internal/inspect_client": ">= 7.6 && < 12",
      "node-inspect/lib/internal/inspect_repl": ">= 7.6 && < 12",
      os: true,
      "node:os": [">= 14.18 && < 15", ">= 16"],
      path: true,
      "node:path": [">= 14.18 && < 15", ">= 16"],
      "path/posix": ">= 15.3",
      "node:path/posix": ">= 16",
      "path/win32": ">= 15.3",
      "node:path/win32": ">= 16",
      perf_hooks: ">= 8.5",
      "node:perf_hooks": [">= 14.18 && < 15", ">= 16"],
      process: ">= 1",
      "node:process": [">= 14.18 && < 15", ">= 16"],
      punycode: ">= 0.5",
      "node:punycode": [">= 14.18 && < 15", ">= 16"],
      querystring: true,
      "node:querystring": [">= 14.18 && < 15", ">= 16"],
      readline: true,
      "node:readline": [">= 14.18 && < 15", ">= 16"],
      "readline/promises": ">= 17",
      "node:readline/promises": ">= 17",
      repl: true,
      "node:repl": [">= 14.18 && < 15", ">= 16"],
      "node:sea": [">= 20.12 && < 21", ">= 21.7"],
      smalloc: ">= 0.11.5 && < 3",
      "node:sqlite": [">= 22.13 && < 23", ">= 23.4"],
      _stream_duplex: ">= 0.9.4",
      "node:_stream_duplex": [">= 14.18 && < 15", ">= 16"],
      _stream_transform: ">= 0.9.4",
      "node:_stream_transform": [">= 14.18 && < 15", ">= 16"],
      _stream_wrap: ">= 1.4.1",
      "node:_stream_wrap": [">= 14.18 && < 15", ">= 16"],
      _stream_passthrough: ">= 0.9.4",
      "node:_stream_passthrough": [">= 14.18 && < 15", ">= 16"],
      _stream_readable: ">= 0.9.4",
      "node:_stream_readable": [">= 14.18 && < 15", ">= 16"],
      _stream_writable: ">= 0.9.4",
      "node:_stream_writable": [">= 14.18 && < 15", ">= 16"],
      stream: true,
      "node:stream": [">= 14.18 && < 15", ">= 16"],
      "stream/consumers": ">= 16.7",
      "node:stream/consumers": ">= 16.7",
      "stream/promises": ">= 15",
      "node:stream/promises": ">= 16",
      "stream/web": ">= 16.5",
      "node:stream/web": ">= 16.5",
      string_decoder: true,
      "node:string_decoder": [">= 14.18 && < 15", ">= 16"],
      sys: [">= 0.4 && < 0.7", ">= 0.8"],
      "node:sys": [">= 14.18 && < 15", ">= 16"],
      "test/reporters": ">= 19.9 && < 20.2",
      "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
      "test/mock_loader": ">= 22.3 && < 22.7",
      "node:test/mock_loader": ">= 22.3 && < 22.7",
      "node:test": [">= 16.17 && < 17", ">= 18"],
      timers: true,
      "node:timers": [">= 14.18 && < 15", ">= 16"],
      "timers/promises": ">= 15",
      "node:timers/promises": ">= 16",
      _tls_common: ">= 0.11.13",
      "node:_tls_common": [">= 14.18 && < 15", ">= 16"],
      _tls_legacy: ">= 0.11.3 && < 10",
      _tls_wrap: ">= 0.11.3",
      "node:_tls_wrap": [">= 14.18 && < 15", ">= 16"],
      tls: true,
      "node:tls": [">= 14.18 && < 15", ">= 16"],
      trace_events: ">= 10",
      "node:trace_events": [">= 14.18 && < 15", ">= 16"],
      tty: true,
      "node:tty": [">= 14.18 && < 15", ">= 16"],
      url: true,
      "node:url": [">= 14.18 && < 15", ">= 16"],
      util: true,
      "node:util": [">= 14.18 && < 15", ">= 16"],
      "util/types": ">= 15.3",
      "node:util/types": ">= 16",
      "v8/tools/arguments": ">= 10 && < 12",
      "v8/tools/codemap": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      "v8/tools/consarray": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      "v8/tools/csvparser": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      "v8/tools/logreader": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      "v8/tools/profile_view": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      "v8/tools/splaytree": [">= 4.4 && < 5", ">= 5.2 && < 12"],
      v8: ">= 1",
      "node:v8": [">= 14.18 && < 15", ">= 16"],
      vm: true,
      "node:vm": [">= 14.18 && < 15", ">= 16"],
      wasi: [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"],
      "node:wasi": [">= 18.17 && < 19", ">= 20"],
      worker_threads: ">= 11.7",
      "node:worker_threads": [">= 14.18 && < 15", ">= 16"],
      zlib: ">= 0.5",
      "node:zlib": [">= 14.18 && < 15", ">= 16"]
    };
  }
});

// ../node_modules/.pnpm/is-core-module@2.16.1/node_modules/is-core-module/index.js
var require_is_core_module = __commonJS({
  "../node_modules/.pnpm/is-core-module@2.16.1/node_modules/is-core-module/index.js"(exports2, module2) {
    "use strict";
    var hasOwn = require_hasown();
    function specifierIncluded(current, specifier) {
      var nodeParts = current.split(".");
      var parts = specifier.split(" ");
      var op = parts.length > 1 ? parts[0] : "=";
      var versionParts = (parts.length > 1 ? parts[1] : parts[0]).split(".");
      for (var i = 0; i < 3; ++i) {
        var cur = parseInt(nodeParts[i] || 0, 10);
        var ver = parseInt(versionParts[i] || 0, 10);
        if (cur === ver) {
          continue;
        }
        if (op === "<") {
          return cur < ver;
        }
        if (op === ">=") {
          return cur >= ver;
        }
        return false;
      }
      return op === ">=";
    }
    function matchesRange(current, range) {
      var specifiers = range.split(/ ?&& ?/);
      if (specifiers.length === 0) {
        return false;
      }
      for (var i = 0; i < specifiers.length; ++i) {
        if (!specifierIncluded(current, specifiers[i])) {
          return false;
        }
      }
      return true;
    }
    function versionIncluded(nodeVersion, specifierValue) {
      if (typeof specifierValue === "boolean") {
        return specifierValue;
      }
      var current = typeof nodeVersion === "undefined" ? process.versions && process.versions.node : nodeVersion;
      if (typeof current !== "string") {
        throw new TypeError(typeof nodeVersion === "undefined" ? "Unable to determine current node version" : "If provided, a valid node version is required");
      }
      if (specifierValue && typeof specifierValue === "object") {
        for (var i = 0; i < specifierValue.length; ++i) {
          if (matchesRange(current, specifierValue[i])) {
            return true;
          }
        }
        return false;
      }
      return matchesRange(current, specifierValue);
    }
    var data = require_core4();
    module2.exports = function isCore(x, nodeVersion) {
      return hasOwn(data, x) && versionIncluded(nodeVersion, data[x]);
    };
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/extract_description.js
var require_extract_description = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/extract_description.js"(exports2, module2) {
    module2.exports = extractDescription;
    function extractDescription(d) {
      if (!d) {
        return;
      }
      if (d === "ERROR: No README data found!") {
        return;
      }
      d = d.trim().split("\n");
      let s = 0;
      while (d[s] && d[s].trim().match(/^(#|$)/)) {
        s++;
      }
      const l = d.length;
      let e = s + 1;
      while (e < l && d[e].trim()) {
        e++;
      }
      return d.slice(s, e).join(" ").trim();
    }
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/typos.json
var require_typos = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/typos.json"(exports2, module2) {
    module2.exports = {
      topLevel: {
        dependancies: "dependencies",
        dependecies: "dependencies",
        depdenencies: "dependencies",
        devEependencies: "devDependencies",
        depends: "dependencies",
        "dev-dependencies": "devDependencies",
        devDependences: "devDependencies",
        devDepenencies: "devDependencies",
        devdependencies: "devDependencies",
        repostitory: "repository",
        repo: "repository",
        prefereGlobal: "preferGlobal",
        hompage: "homepage",
        hampage: "homepage",
        autohr: "author",
        autor: "author",
        contributers: "contributors",
        publicationConfig: "publishConfig",
        script: "scripts"
      },
      bugs: { web: "url", name: "url" },
      script: { server: "start", tests: "test" }
    };
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/fixer.js
var require_fixer = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/fixer.js"(exports2, module2) {
    var isValidSemver = require_valid();
    var cleanSemver = require_clean();
    var validateLicense = require_validate_npm_package_license();
    var hostedGitInfo = require_lib49();
    var isBuiltinModule = require_is_core_module();
    var depTypes = ["dependencies", "devDependencies", "optionalDependencies"];
    var extractDescription = require_extract_description();
    var url = require("url");
    var typos = require_typos();
    var isEmail = (str) => str.includes("@") && str.indexOf("@") < str.lastIndexOf(".");
    module2.exports = {
      // default warning function
      warn: function() {
      },
      fixRepositoryField: function(data) {
        if (data.repositories) {
          this.warn("repositories");
          data.repository = data.repositories[0];
        }
        if (!data.repository) {
          return this.warn("missingRepository");
        }
        if (typeof data.repository === "string") {
          data.repository = {
            type: "git",
            url: data.repository
          };
        }
        var r = data.repository.url || "";
        if (r) {
          var hosted = hostedGitInfo.fromUrl(r);
          if (hosted) {
            r = data.repository.url = hosted.getDefaultRepresentation() === "shortcut" ? hosted.https() : hosted.toString();
          }
        }
        if (r.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)) {
          this.warn("brokenGitUrl", r);
        }
      },
      fixTypos: function(data) {
        Object.keys(typos.topLevel).forEach(function(d) {
          if (Object.prototype.hasOwnProperty.call(data, d)) {
            this.warn("typo", d, typos.topLevel[d]);
          }
        }, this);
      },
      fixScriptsField: function(data) {
        if (!data.scripts) {
          return;
        }
        if (typeof data.scripts !== "object") {
          this.warn("nonObjectScripts");
          delete data.scripts;
          return;
        }
        Object.keys(data.scripts).forEach(function(k) {
          if (typeof data.scripts[k] !== "string") {
            this.warn("nonStringScript");
            delete data.scripts[k];
          } else if (typos.script[k] && !data.scripts[typos.script[k]]) {
            this.warn("typo", k, typos.script[k], "scripts");
          }
        }, this);
      },
      fixFilesField: function(data) {
        var files = data.files;
        if (files && !Array.isArray(files)) {
          this.warn("nonArrayFiles");
          delete data.files;
        } else if (data.files) {
          data.files = data.files.filter(function(file) {
            if (!file || typeof file !== "string") {
              this.warn("invalidFilename", file);
              return false;
            } else {
              return true;
            }
          }, this);
        }
      },
      fixBinField: function(data) {
        if (!data.bin) {
          return;
        }
        if (typeof data.bin === "string") {
          var b = {};
          var match;
          if (match = data.name.match(/^@[^/]+[/](.*)$/)) {
            b[match[1]] = data.bin;
          } else {
            b[data.name] = data.bin;
          }
          data.bin = b;
        }
      },
      fixManField: function(data) {
        if (!data.man) {
          return;
        }
        if (typeof data.man === "string") {
          data.man = [data.man];
        }
      },
      fixBundleDependenciesField: function(data) {
        var bdd = "bundledDependencies";
        var bd = "bundleDependencies";
        if (data[bdd] && !data[bd]) {
          data[bd] = data[bdd];
          delete data[bdd];
        }
        if (data[bd] && !Array.isArray(data[bd])) {
          this.warn("nonArrayBundleDependencies");
          delete data[bd];
        } else if (data[bd]) {
          data[bd] = data[bd].filter(function(filtered) {
            if (!filtered || typeof filtered !== "string") {
              this.warn("nonStringBundleDependency", filtered);
              return false;
            } else {
              if (!data.dependencies) {
                data.dependencies = {};
              }
              if (!Object.prototype.hasOwnProperty.call(data.dependencies, filtered)) {
                this.warn("nonDependencyBundleDependency", filtered);
                data.dependencies[filtered] = "*";
              }
              return true;
            }
          }, this);
        }
      },
      fixDependencies: function(data, strict) {
        objectifyDeps(data, this.warn);
        addOptionalDepsToDeps(data, this.warn);
        this.fixBundleDependenciesField(data);
        ["dependencies", "devDependencies"].forEach(function(deps) {
          if (!(deps in data)) {
            return;
          }
          if (!data[deps] || typeof data[deps] !== "object") {
            this.warn("nonObjectDependencies", deps);
            delete data[deps];
            return;
          }
          Object.keys(data[deps]).forEach(function(d) {
            var r = data[deps][d];
            if (typeof r !== "string") {
              this.warn("nonStringDependency", d, JSON.stringify(r));
              delete data[deps][d];
            }
            var hosted = hostedGitInfo.fromUrl(data[deps][d]);
            if (hosted) {
              data[deps][d] = hosted.toString();
            }
          }, this);
        }, this);
      },
      fixModulesField: function(data) {
        if (data.modules) {
          this.warn("deprecatedModules");
          delete data.modules;
        }
      },
      fixKeywordsField: function(data) {
        if (typeof data.keywords === "string") {
          data.keywords = data.keywords.split(/,\s+/);
        }
        if (data.keywords && !Array.isArray(data.keywords)) {
          delete data.keywords;
          this.warn("nonArrayKeywords");
        } else if (data.keywords) {
          data.keywords = data.keywords.filter(function(kw) {
            if (typeof kw !== "string" || !kw) {
              this.warn("nonStringKeyword");
              return false;
            } else {
              return true;
            }
          }, this);
        }
      },
      fixVersionField: function(data, strict) {
        var loose = !strict;
        if (!data.version) {
          data.version = "";
          return true;
        }
        if (!isValidSemver(data.version, loose)) {
          throw new Error('Invalid version: "' + data.version + '"');
        }
        data.version = cleanSemver(data.version, loose);
        return true;
      },
      fixPeople: function(data) {
        modifyPeople(data, unParsePerson);
        modifyPeople(data, parsePerson);
      },
      fixNameField: function(data, options) {
        if (typeof options === "boolean") {
          options = { strict: options };
        } else if (typeof options === "undefined") {
          options = {};
        }
        var strict = options.strict;
        if (!data.name && !strict) {
          data.name = "";
          return;
        }
        if (typeof data.name !== "string") {
          throw new Error("name field must be a string.");
        }
        if (!strict) {
          data.name = data.name.trim();
        }
        ensureValidName(data.name, strict, options.allowLegacyCase);
        if (isBuiltinModule(data.name)) {
          this.warn("conflictingName", data.name);
        }
      },
      fixDescriptionField: function(data) {
        if (data.description && typeof data.description !== "string") {
          this.warn("nonStringDescription");
          delete data.description;
        }
        if (data.readme && !data.description) {
          data.description = extractDescription(data.readme);
        }
        if (data.description === void 0) {
          delete data.description;
        }
        if (!data.description) {
          this.warn("missingDescription");
        }
      },
      fixReadmeField: function(data) {
        if (!data.readme) {
          this.warn("missingReadme");
          data.readme = "ERROR: No README data found!";
        }
      },
      fixBugsField: function(data) {
        if (!data.bugs && data.repository && data.repository.url) {
          var hosted = hostedGitInfo.fromUrl(data.repository.url);
          if (hosted && hosted.bugs()) {
            data.bugs = { url: hosted.bugs() };
          }
        } else if (data.bugs) {
          if (typeof data.bugs === "string") {
            if (isEmail(data.bugs)) {
              data.bugs = { email: data.bugs };
            } else if (url.parse(data.bugs).protocol) {
              data.bugs = { url: data.bugs };
            } else {
              this.warn("nonEmailUrlBugsString");
            }
          } else {
            bugsTypos(data.bugs, this.warn);
            var oldBugs = data.bugs;
            data.bugs = {};
            if (oldBugs.url) {
              if (typeof oldBugs.url === "string" && url.parse(oldBugs.url).protocol) {
                data.bugs.url = oldBugs.url;
              } else {
                this.warn("nonUrlBugsUrlField");
              }
            }
            if (oldBugs.email) {
              if (typeof oldBugs.email === "string" && isEmail(oldBugs.email)) {
                data.bugs.email = oldBugs.email;
              } else {
                this.warn("nonEmailBugsEmailField");
              }
            }
          }
          if (!data.bugs.email && !data.bugs.url) {
            delete data.bugs;
            this.warn("emptyNormalizedBugs");
          }
        }
      },
      fixHomepageField: function(data) {
        if (!data.homepage && data.repository && data.repository.url) {
          var hosted = hostedGitInfo.fromUrl(data.repository.url);
          if (hosted && hosted.docs()) {
            data.homepage = hosted.docs();
          }
        }
        if (!data.homepage) {
          return;
        }
        if (typeof data.homepage !== "string") {
          this.warn("nonUrlHomepage");
          return delete data.homepage;
        }
        if (!url.parse(data.homepage).protocol) {
          data.homepage = "http://" + data.homepage;
        }
      },
      fixLicenseField: function(data) {
        const license = data.license || data.licence;
        if (!license) {
          return this.warn("missingLicense");
        }
        if (typeof license !== "string" || license.length < 1 || license.trim() === "") {
          return this.warn("invalidLicense");
        }
        if (!validateLicense(license).validForNewPackages) {
          return this.warn("invalidLicense");
        }
      }
    };
    function isValidScopedPackageName(spec) {
      if (spec.charAt(0) !== "@") {
        return false;
      }
      var rest = spec.slice(1).split("/");
      if (rest.length !== 2) {
        return false;
      }
      return rest[0] && rest[1] && rest[0] === encodeURIComponent(rest[0]) && rest[1] === encodeURIComponent(rest[1]);
    }
    function isCorrectlyEncodedName(spec) {
      return !spec.match(/[/@\s+%:]/) && spec === encodeURIComponent(spec);
    }
    function ensureValidName(name, strict, allowLegacyCase) {
      if (name.charAt(0) === "." || !(isValidScopedPackageName(name) || isCorrectlyEncodedName(name)) || strict && !allowLegacyCase && name !== name.toLowerCase() || name.toLowerCase() === "node_modules" || name.toLowerCase() === "favicon.ico") {
        throw new Error("Invalid name: " + JSON.stringify(name));
      }
    }
    function modifyPeople(data, fn) {
      if (data.author) {
        data.author = fn(data.author);
      }
      ["maintainers", "contributors"].forEach(function(set) {
        if (!Array.isArray(data[set])) {
          return;
        }
        data[set] = data[set].map(fn);
      });
      return data;
    }
    function unParsePerson(person) {
      if (typeof person === "string") {
        return person;
      }
      var name = person.name || "";
      var u = person.url || person.web;
      var wrappedUrl = u ? " (" + u + ")" : "";
      var e = person.email || person.mail;
      var wrappedEmail = e ? " <" + e + ">" : "";
      return name + wrappedEmail + wrappedUrl;
    }
    function parsePerson(person) {
      if (typeof person !== "string") {
        return person;
      }
      var matchedName = person.match(/^([^(<]+)/);
      var matchedUrl = person.match(/\(([^()]+)\)/);
      var matchedEmail = person.match(/<([^<>]+)>/);
      var obj = {};
      if (matchedName && matchedName[0].trim()) {
        obj.name = matchedName[0].trim();
      }
      if (matchedEmail) {
        obj.email = matchedEmail[1];
      }
      if (matchedUrl) {
        obj.url = matchedUrl[1];
      }
      return obj;
    }
    function addOptionalDepsToDeps(data, warn) {
      var o = data.optionalDependencies;
      if (!o) {
        return;
      }
      var d = data.dependencies || {};
      Object.keys(o).forEach(function(k) {
        d[k] = o[k];
      });
      data.dependencies = d;
    }
    function depObjectify(deps, type, warn) {
      if (!deps) {
        return {};
      }
      if (typeof deps === "string") {
        deps = deps.trim().split(/[\n\r\s\t ,]+/);
      }
      if (!Array.isArray(deps)) {
        return deps;
      }
      warn("deprecatedArrayDependencies", type);
      var o = {};
      deps.filter(function(d) {
        return typeof d === "string";
      }).forEach(function(d) {
        d = d.trim().split(/(:?[@\s><=])/);
        var dn = d.shift();
        var dv = d.join("");
        dv = dv.trim();
        dv = dv.replace(/^@/, "");
        o[dn] = dv;
      });
      return o;
    }
    function objectifyDeps(data, warn) {
      depTypes.forEach(function(type) {
        if (!data[type]) {
          return;
        }
        data[type] = depObjectify(data[type], type, warn);
      });
    }
    function bugsTypos(bugs, warn) {
      if (!bugs) {
        return;
      }
      Object.keys(bugs).forEach(function(k) {
        if (typos.bugs[k]) {
          warn("typo", k, typos.bugs[k], "bugs");
          bugs[typos.bugs[k]] = bugs[k];
          delete bugs[k];
        }
      });
    }
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/warning_messages.json
var require_warning_messages = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/warning_messages.json"(exports2, module2) {
    module2.exports = {
      repositories: "'repositories' (plural) Not supported. Please pick one as the 'repository' field",
      missingRepository: "No repository field.",
      brokenGitUrl: "Probably broken git url: %s",
      nonObjectScripts: "scripts must be an object",
      nonStringScript: "script values must be string commands",
      nonArrayFiles: "Invalid 'files' member",
      invalidFilename: "Invalid filename in 'files' list: %s",
      nonArrayBundleDependencies: "Invalid 'bundleDependencies' list. Must be array of package names",
      nonStringBundleDependency: "Invalid bundleDependencies member: %s",
      nonDependencyBundleDependency: "Non-dependency in bundleDependencies: %s",
      nonObjectDependencies: "%s field must be an object",
      nonStringDependency: "Invalid dependency: %s %s",
      deprecatedArrayDependencies: "specifying %s as array is deprecated",
      deprecatedModules: "modules field is deprecated",
      nonArrayKeywords: "keywords should be an array of strings",
      nonStringKeyword: "keywords should be an array of strings",
      conflictingName: "%s is also the name of a node core module.",
      nonStringDescription: "'description' field should be a string",
      missingDescription: "No description",
      missingReadme: "No README data",
      missingLicense: "No license field.",
      nonEmailUrlBugsString: "Bug string field must be url, email, or {email,url}",
      nonUrlBugsUrlField: "bugs.url field must be a string url. Deleted.",
      nonEmailBugsEmailField: "bugs.email field must be a string email. Deleted.",
      emptyNormalizedBugs: "Normalized value of bugs field is an empty object. Deleted.",
      nonUrlHomepage: "homepage field must be a string url. Deleted.",
      invalidLicense: "license should be a valid SPDX license expression",
      typo: "%s should probably be %s."
    };
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/make_warning.js
var require_make_warning = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/make_warning.js"(exports2, module2) {
    var util = require("util");
    var messages = require_warning_messages();
    module2.exports = function() {
      var args = Array.prototype.slice.call(arguments, 0);
      var warningName = args.shift();
      if (warningName === "typo") {
        return makeTypoWarning.apply(null, args);
      } else {
        var msgTemplate = messages[warningName] ? messages[warningName] : warningName + ": '%s'";
        args.unshift(msgTemplate);
        return util.format.apply(null, args);
      }
    };
    function makeTypoWarning(providedName, probableName, field) {
      if (field) {
        providedName = field + "['" + providedName + "']";
        probableName = field + "['" + probableName + "']";
      }
      return util.format(messages.typo, providedName, probableName);
    }
  }
});

// ../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/normalize.js
var require_normalize = __commonJS({
  "../node_modules/.pnpm/normalize-package-data@5.0.0/node_modules/normalize-package-data/lib/normalize.js"(exports2, module2) {
    module2.exports = normalize;
    var fixer = require_fixer();
    normalize.fixer = fixer;
    var makeWarning = require_make_warning();
    var fieldsToFix = [
      "name",
      "version",
      "description",
      "repository",
      "modules",
      "scripts",
      "files",
      "bin",
      "man",
      "bugs",
      "keywords",
      "readme",
      "homepage",
      "license"
    ];
    var otherThingsToFix = ["dependencies", "people", "typos"];
    var thingsToFix = fieldsToFix.map(function(fieldName) {
      return ucFirst(fieldName) + "Field";
    });
    thingsToFix = thingsToFix.concat(otherThingsToFix);
    function normalize(data, warn, strict) {
      if (warn === true) {
        warn = null;
        strict = true;
      }
      if (!strict) {
        strict = false;
      }
      if (!warn || data.private) {
        warn = function(msg) {
        };
      }
      if (data.scripts && data.scripts.install === "node-gyp rebuild" && !data.scripts.preinstall) {
        data.gypfile = true;
      }
      fixer.warn = function() {
        warn(makeWarning.apply(null, arguments));
      };
      thingsToFix.forEach(function(thingName) {
        fixer["fix" + ucFirst(thingName)](data, strict);
      });
      data._id = data.name + "@" + data.version;
    }
    function ucFirst(string) {
      return string.charAt(0).toUpperCase() + string.slice(1);
    }
  }
});

// ../pkg-manifest/read-package-json/lib/index.js
var require_lib50 = __commonJS({
  "../pkg-manifest/read-package-json/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readPackageJson = readPackageJson;
    exports2.readPackageJsonFromDir = readPackageJsonFromDir;
    exports2.safeReadPackageJson = safeReadPackageJson;
    exports2.safeReadPackageJsonFromDir = safeReadPackageJsonFromDir;
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var normalize_package_data_1 = __importDefault2(require_normalize());
    async function readPackageJson(pkgPath) {
      try {
        const manifest = await (0, load_json_file_1.default)(pkgPath);
        (0, normalize_package_data_1.default)(manifest);
        return manifest;
      } catch (err) {
        if (err.code)
          throw err;
        throw new error_1.PnpmError("BAD_PACKAGE_JSON", `${pkgPath}: ${err.message}`);
      }
    }
    async function readPackageJsonFromDir(pkgPath) {
      return readPackageJson(path_1.default.join(pkgPath, "package.json"));
    }
    async function safeReadPackageJson(pkgPath) {
      try {
        return await readPackageJson(pkgPath);
      } catch (err) {
        if (err.code !== "ENOENT")
          throw err;
        return null;
      }
    }
    async function safeReadPackageJsonFromDir(pkgPath) {
      return safeReadPackageJson(path_1.default.join(pkgPath, "package.json"));
    }
  }
});

// ../node_modules/.pnpm/cmd-extension@1.0.2/node_modules/cmd-extension/index.js
var require_cmd_extension = __commonJS({
  "../node_modules/.pnpm/cmd-extension@1.0.2/node_modules/cmd-extension/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var cmdExtension;
    if (process.env.PATHEXT) {
      cmdExtension = process.env.PATHEXT.split(path2.delimiter).find((ext) => ext.toUpperCase() === ".CMD");
    }
    module2.exports = cmdExtension || ".cmd";
  }
});

// ../pkg-manager/remove-bins/lib/removeBins.js
var require_removeBins = __commonJS({
  "../pkg-manager/remove-bins/lib/removeBins.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removeBin = void 0;
    exports2.removeBinsOfDependency = removeBinsOfDependency;
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var package_bins_1 = require_lib48();
    var read_package_json_1 = require_lib50();
    var rimraf_1 = __importDefault2(require_rimraf());
    var cmd_extension_1 = __importDefault2(require_cmd_extension());
    var is_windows_1 = __importDefault2(require_is_windows());
    async function removeOnWin(cmd) {
      core_loggers_1.removalLogger.debug(cmd);
      await Promise.all([
        (0, rimraf_1.default)(cmd),
        (0, rimraf_1.default)(`${cmd}.ps1`),
        (0, rimraf_1.default)(`${cmd}${cmd_extension_1.default}`)
      ]);
    }
    async function removeOnNonWin(p) {
      core_loggers_1.removalLogger.debug(p);
      return (0, rimraf_1.default)(p);
    }
    exports2.removeBin = (0, is_windows_1.default)() ? removeOnWin : removeOnNonWin;
    async function removeBinsOfDependency(dependencyDir, opts) {
      const uninstalledPkgJson = await (0, read_package_json_1.safeReadPackageJsonFromDir)(dependencyDir);
      if (!uninstalledPkgJson)
        return;
      const cmds = await (0, package_bins_1.getBinsFromPackageManifest)(uninstalledPkgJson, dependencyDir);
      if (!opts.dryRun) {
        await Promise.all(cmds.map((cmd) => path_1.default.join(opts.binsDir, cmd.name)).map(exports2.removeBin));
      }
      return uninstalledPkgJson;
    }
  }
});

// ../pkg-manager/remove-bins/lib/index.js
var require_lib51 = __commonJS({
  "../pkg-manager/remove-bins/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removeBinsOfDependency = exports2.removeBin = void 0;
    var removeBins_1 = require_removeBins();
    Object.defineProperty(exports2, "removeBin", { enumerable: true, get: function() {
      return removeBins_1.removeBin;
    } });
    Object.defineProperty(exports2, "removeBinsOfDependency", { enumerable: true, get: function() {
      return removeBins_1.removeBinsOfDependency;
    } });
  }
});

// ../env/node.resolver/lib/index.js
var require_lib52 = __commonJS({
  "../env/node.resolver/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveNodeVersion = resolveNodeVersion;
    exports2.resolveNodeVersions = resolveNodeVersions;
    var semver_12 = __importDefault2(require_semver2());
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    var SEMVER_OPTS = {
      includePrerelease: true,
      loose: true
    };
    async function resolveNodeVersion(fetch, versionSpec, nodeMirrorBaseUrl) {
      const allVersions = await fetchAllVersions(fetch, nodeMirrorBaseUrl);
      if (versionSpec === "latest") {
        return allVersions[0].version;
      }
      const { versions, versionRange } = filterVersions(allVersions, versionSpec);
      return semver_12.default.maxSatisfying(versions, versionRange, SEMVER_OPTS) ?? null;
    }
    async function resolveNodeVersions(fetch, versionSpec, nodeMirrorBaseUrl) {
      const allVersions = await fetchAllVersions(fetch, nodeMirrorBaseUrl);
      if (!versionSpec) {
        return allVersions.map(({ version: version2 }) => version2);
      }
      if (versionSpec === "latest") {
        return [allVersions[0].version];
      }
      const { versions, versionRange } = filterVersions(allVersions, versionSpec);
      return versions.filter((version2) => semver_12.default.satisfies(version2, versionRange, SEMVER_OPTS));
    }
    async function fetchAllVersions(fetch, nodeMirrorBaseUrl) {
      const response = await fetch(`${nodeMirrorBaseUrl ?? "https://nodejs.org/download/release/"}index.json`);
      return (await response.json()).map(({ version: version2, lts }) => ({
        version: version2.substring(1),
        lts
      }));
    }
    function filterVersions(versions, versionSelector) {
      if (versionSelector === "lts") {
        return {
          versions: versions.filter(({ lts }) => lts !== false).map(({ version: version2 }) => version2),
          versionRange: "*"
        };
      }
      const vst = (0, version_selector_type_1.default)(versionSelector);
      if (vst?.type === "tag") {
        const wantedLtsVersion = vst.normalized.toLowerCase();
        return {
          versions: versions.filter(({ lts }) => typeof lts === "string" && lts.toLowerCase() === wantedLtsVersion).map(({ version: version2 }) => version2),
          versionRange: "*"
        };
      }
      return {
        versions: versions.map(({ version: version2 }) => version2),
        versionRange: versionSelector
      };
    }
  }
});

// ../env/plugin-commands-env/lib/getNodeMirror.js
var require_getNodeMirror = __commonJS({
  "../env/plugin-commands-env/lib/getNodeMirror.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNodeMirror = getNodeMirror;
    function getNodeMirror(rawConfig, releaseChannel) {
      const configKey = `node-mirror:${releaseChannel}`;
      const nodeMirror = rawConfig[configKey] ?? `https://nodejs.org/download/${releaseChannel}/`;
      return normalizeNodeMirror(nodeMirror);
    }
    function normalizeNodeMirror(nodeMirror) {
      return nodeMirror.endsWith("/") ? nodeMirror : `${nodeMirror}/`;
    }
  }
});

// ../node_modules/.pnpm/data-uri-to-buffer@3.0.1/node_modules/data-uri-to-buffer/dist/src/index.js
var require_src2 = __commonJS({
  "../node_modules/.pnpm/data-uri-to-buffer@3.0.1/node_modules/data-uri-to-buffer/dist/src/index.js"(exports2, module2) {
    "use strict";
    function dataUriToBuffer(uri) {
      if (!/^data:/i.test(uri)) {
        throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
      }
      uri = uri.replace(/\r?\n/g, "");
      const firstComma = uri.indexOf(",");
      if (firstComma === -1 || firstComma <= 4) {
        throw new TypeError("malformed data: URI");
      }
      const meta = uri.substring(5, firstComma).split(";");
      let charset = "";
      let base64 = false;
      const type = meta[0] || "text/plain";
      let typeFull = type;
      for (let i = 1; i < meta.length; i++) {
        if (meta[i] === "base64") {
          base64 = true;
        } else {
          typeFull += `;${meta[i]}`;
          if (meta[i].indexOf("charset=") === 0) {
            charset = meta[i].substring(8);
          }
        }
      }
      if (!meta[0] && !charset.length) {
        typeFull += ";charset=US-ASCII";
        charset = "US-ASCII";
      }
      const encoding = base64 ? "base64" : "ascii";
      const data = unescape(uri.substring(firstComma + 1));
      const buffer = Buffer.from(data, encoding);
      buffer.type = type;
      buffer.typeFull = typeFull;
      buffer.charset = charset;
      return buffer;
    }
    module2.exports = dataUriToBuffer;
  }
});

// ../node_modules/.pnpm/fetch-blob@2.1.2/node_modules/fetch-blob/index.js
var require_fetch_blob = __commonJS({
  "../node_modules/.pnpm/fetch-blob@2.1.2/node_modules/fetch-blob/index.js"(exports2, module2) {
    var { Readable } = require("stream");
    var wm = /* @__PURE__ */ new WeakMap();
    async function* read(parts) {
      for (const part of parts) {
        if ("stream" in part) {
          yield* part.stream();
        } else {
          yield part;
        }
      }
    }
    var Blob = class _Blob {
      /**
       * The Blob() constructor returns a new Blob object. The content
       * of the blob consists of the concatenation of the values given
       * in the parameter array.
       *
       * @param {(ArrayBufferLike | ArrayBufferView | Blob | Buffer | string)[]} blobParts
       * @param {{ type?: string }} [options]
       */
      constructor(blobParts = [], options = {}) {
        let size = 0;
        const parts = blobParts.map((element) => {
          let buffer;
          if (element instanceof Buffer) {
            buffer = element;
          } else if (ArrayBuffer.isView(element)) {
            buffer = Buffer.from(element.buffer, element.byteOffset, element.byteLength);
          } else if (element instanceof ArrayBuffer) {
            buffer = Buffer.from(element);
          } else if (element instanceof _Blob) {
            buffer = element;
          } else {
            buffer = Buffer.from(typeof element === "string" ? element : String(element));
          }
          size += buffer.length || buffer.size || 0;
          return buffer;
        });
        const type = options.type === void 0 ? "" : String(options.type).toLowerCase();
        wm.set(this, {
          type: /[^\u0020-\u007E]/.test(type) ? "" : type,
          size,
          parts
        });
      }
      /**
       * The Blob interface's size property returns the
       * size of the Blob in bytes.
       */
      get size() {
        return wm.get(this).size;
      }
      /**
       * The type property of a Blob object returns the MIME type of the file.
       */
      get type() {
        return wm.get(this).type;
      }
      /**
       * The text() method in the Blob interface returns a Promise
       * that resolves with a string containing the contents of
       * the blob, interpreted as UTF-8.
       *
       * @return {Promise<string>}
       */
      async text() {
        return Buffer.from(await this.arrayBuffer()).toString();
      }
      /**
       * The arrayBuffer() method in the Blob interface returns a
       * Promise that resolves with the contents of the blob as
       * binary data contained in an ArrayBuffer.
       *
       * @return {Promise<ArrayBuffer>}
       */
      async arrayBuffer() {
        const data = new Uint8Array(this.size);
        let offset = 0;
        for await (const chunk of this.stream()) {
          data.set(chunk, offset);
          offset += chunk.length;
        }
        return data.buffer;
      }
      /**
       * The Blob interface's stream() method is difference from native
       * and uses node streams instead of whatwg streams.
       *
       * @returns {Readable} Node readable stream
       */
      stream() {
        return Readable.from(read(wm.get(this).parts));
      }
      /**
       * The Blob interface's slice() method creates and returns a
       * new Blob object which contains data from a subset of the
       * blob on which it's called.
       *
       * @param {number} [start]
       * @param {number} [end]
       * @param {string} [type]
       */
      slice(start = 0, end = this.size, type = "") {
        const { size } = this;
        let relativeStart = start < 0 ? Math.max(size + start, 0) : Math.min(start, size);
        let relativeEnd = end < 0 ? Math.max(size + end, 0) : Math.min(end, size);
        const span = Math.max(relativeEnd - relativeStart, 0);
        const parts = wm.get(this).parts.values();
        const blobParts = [];
        let added = 0;
        for (const part of parts) {
          const size2 = ArrayBuffer.isView(part) ? part.byteLength : part.size;
          if (relativeStart && size2 <= relativeStart) {
            relativeStart -= size2;
            relativeEnd -= size2;
          } else {
            const chunk = part.slice(relativeStart, Math.min(size2, relativeEnd));
            blobParts.push(chunk);
            added += ArrayBuffer.isView(chunk) ? chunk.byteLength : chunk.size;
            relativeStart = 0;
            if (added >= span) {
              break;
            }
          }
        }
        const blob = new _Blob([], { type: String(type).toLowerCase() });
        Object.assign(wm.get(blob), { size: span, parts: blobParts });
        return blob;
      }
      get [Symbol.toStringTag]() {
        return "Blob";
      }
      static [Symbol.hasInstance](object) {
        return object && typeof object === "object" && typeof object.stream === "function" && object.stream.length === 0 && typeof object.constructor === "function" && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
      }
    };
    Object.defineProperties(Blob.prototype, {
      size: { enumerable: true },
      type: { enumerable: true },
      slice: { enumerable: true }
    });
    module2.exports = Blob;
  }
});

// ../node_modules/.pnpm/@pnpm+node-fetch@1.0.0/node_modules/@pnpm/node-fetch/dist/index.cjs
var require_dist9 = __commonJS({
  "../node_modules/.pnpm/@pnpm+node-fetch@1.0.0/node_modules/@pnpm/node-fetch/dist/index.cjs"(exports2, module2) {
    "use strict";
    exports2 = module2.exports = fetch;
    var http = require("http");
    var https = require("https");
    var zlib = require("zlib");
    var Stream = require("stream");
    var dataUriToBuffer = require_src2();
    var util = require("util");
    var Blob = require_fetch_blob();
    var crypto5 = require("crypto");
    var url = require("url");
    var FetchBaseError = class extends Error {
      constructor(message, type) {
        super(message);
        Error.captureStackTrace(this, this.constructor);
        this.type = type;
      }
      get name() {
        return this.constructor.name;
      }
      get [Symbol.toStringTag]() {
        return this.constructor.name;
      }
    };
    var FetchError = class extends FetchBaseError {
      /**
       * @param  {string} message -      Error message for human
       * @param  {string} [type] -        Error type for machine
       * @param  {SystemError} [systemError] - For Node.js system error
       */
      constructor(message, type, systemError) {
        super(message, type);
        if (systemError) {
          this.code = this.errno = systemError.code;
          this.erroredSysCall = systemError.syscall;
        }
      }
    };
    var NAME = Symbol.toStringTag;
    var isURLSearchParameters = (object) => {
      return typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && typeof object.sort === "function" && object[NAME] === "URLSearchParams";
    };
    var isBlob = (object) => {
      return typeof object === "object" && typeof object.arrayBuffer === "function" && typeof object.type === "string" && typeof object.stream === "function" && typeof object.constructor === "function" && /^(Blob|File)$/.test(object[NAME]);
    };
    function isFormData(object) {
      return typeof object === "object" && typeof object.append === "function" && typeof object.set === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.delete === "function" && typeof object.keys === "function" && typeof object.values === "function" && typeof object.entries === "function" && typeof object.constructor === "function" && object[NAME] === "FormData";
    }
    var isAbortSignal = (object) => {
      return typeof object === "object" && object[NAME] === "AbortSignal";
    };
    var carriage = "\r\n";
    var dashes = "-".repeat(2);
    var carriageLength = Buffer.byteLength(carriage);
    var getFooter = (boundary) => `${dashes}${boundary}${dashes}${carriage.repeat(2)}`;
    function getHeader(boundary, name, field) {
      let header = "";
      header += `${dashes}${boundary}${carriage}`;
      header += `Content-Disposition: form-data; name="${name}"`;
      if (isBlob(field)) {
        header += `; filename="${field.name}"${carriage}`;
        header += `Content-Type: ${field.type || "application/octet-stream"}`;
      }
      return `${header}${carriage.repeat(2)}`;
    }
    var getBoundary = () => crypto5.randomBytes(8).toString("hex");
    async function* formDataIterator(form, boundary) {
      for (const [name, value] of form) {
        yield getHeader(boundary, name, value);
        if (isBlob(value)) {
          yield* value.stream();
        } else {
          yield value;
        }
        yield carriage;
      }
      yield getFooter(boundary);
    }
    function getFormDataLength(form, boundary) {
      let length = 0;
      for (const [name, value] of form) {
        length += Buffer.byteLength(getHeader(boundary, name, value));
        if (isBlob(value)) {
          length += value.size;
        } else {
          length += Buffer.byteLength(String(value));
        }
        length += carriageLength;
      }
      length += Buffer.byteLength(getFooter(boundary));
      return length;
    }
    var INTERNALS$2 = Symbol("Body internals");
    var Body = class {
      constructor(body, {
        size = 0
      } = {}) {
        let boundary = null;
        if (body === null) {
          body = null;
        } else if (isURLSearchParameters(body)) {
          body = Buffer.from(body.toString());
        } else if (isBlob(body)) ;
        else if (Buffer.isBuffer(body)) ;
        else if (util.types.isAnyArrayBuffer(body)) {
          body = Buffer.from(body);
        } else if (ArrayBuffer.isView(body)) {
          body = Buffer.from(body.buffer, body.byteOffset, body.byteLength);
        } else if (body instanceof Stream) ;
        else if (isFormData(body)) {
          boundary = `NodeFetchFormDataBoundary${getBoundary()}`;
          body = Stream.Readable.from(formDataIterator(body, boundary));
        } else {
          body = Buffer.from(String(body));
        }
        this[INTERNALS$2] = {
          body,
          boundary,
          disturbed: false,
          error: null
        };
        this.size = size;
        if (body instanceof Stream) {
          body.on("error", (err) => {
            const error = err instanceof FetchBaseError ? err : new FetchError(`Invalid response body while trying to fetch ${this.url}: ${err.message}`, "system", err);
            this[INTERNALS$2].error = error;
          });
        }
      }
      get body() {
        return this[INTERNALS$2].body;
      }
      get bodyUsed() {
        return this[INTERNALS$2].disturbed;
      }
      /**
       * Decode response as ArrayBuffer
       *
       * @return  Promise
       */
      async arrayBuffer() {
        const { buffer, byteOffset, byteLength } = await consumeBody(this);
        return buffer.slice(byteOffset, byteOffset + byteLength);
      }
      /**
       * Return raw response as Blob
       *
       * @return Promise
       */
      async blob() {
        const ct = this.headers && this.headers.get("content-type") || this[INTERNALS$2].body && this[INTERNALS$2].body.type || "";
        const buf = await this.buffer();
        return new Blob([buf], {
          type: ct
        });
      }
      /**
       * Decode response as json
       *
       * @return  Promise
       */
      async json() {
        const buffer = await consumeBody(this);
        return JSON.parse(buffer.toString());
      }
      /**
       * Decode response as text
       *
       * @return  Promise
       */
      async text() {
        const buffer = await consumeBody(this);
        return buffer.toString();
      }
      /**
       * Decode response as buffer (non-spec api)
       *
       * @return  Promise
       */
      buffer() {
        return consumeBody(this);
      }
    };
    Object.defineProperties(Body.prototype, {
      body: { enumerable: true },
      bodyUsed: { enumerable: true },
      arrayBuffer: { enumerable: true },
      blob: { enumerable: true },
      json: { enumerable: true },
      text: { enumerable: true }
    });
    async function consumeBody(data) {
      if (data[INTERNALS$2].disturbed) {
        throw new TypeError(`body used already for: ${data.url}`);
      }
      data[INTERNALS$2].disturbed = true;
      if (data[INTERNALS$2].error) {
        throw data[INTERNALS$2].error;
      }
      let { body } = data;
      if (body === null) {
        return Buffer.alloc(0);
      }
      if (isBlob(body)) {
        body = body.stream();
      }
      if (Buffer.isBuffer(body)) {
        return body;
      }
      if (!(body instanceof Stream)) {
        return Buffer.alloc(0);
      }
      const accum = [];
      let accumBytes = 0;
      try {
        for await (const chunk of body) {
          if (data.size > 0 && accumBytes + chunk.length > data.size) {
            const err = new FetchError(`content size at ${data.url} over limit: ${data.size}`, "max-size");
            body.destroy(err);
            throw err;
          }
          accumBytes += chunk.length;
          accum.push(chunk);
        }
      } catch (error) {
        if (error instanceof FetchBaseError) {
          throw error;
        } else {
          throw new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`, "system", error);
        }
      }
      if (body.readableEnded === true || body._readableState.ended === true) {
        try {
          if (accum.every((c) => typeof c === "string")) {
            return Buffer.from(accum.join(""));
          }
          return Buffer.concat(accum, accumBytes);
        } catch (error) {
          throw new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`, "system", error);
        }
      } else {
        throw new FetchError(`Premature close of server response while trying to fetch ${data.url}`);
      }
    }
    var clone = (instance, highWaterMark) => {
      let p1;
      let p2;
      let { body } = instance;
      if (instance.bodyUsed) {
        throw new Error("cannot clone body after it is used");
      }
      if (body instanceof Stream && typeof body.getBoundary !== "function") {
        p1 = new Stream.PassThrough({ highWaterMark });
        p2 = new Stream.PassThrough({ highWaterMark });
        body.pipe(p1);
        body.pipe(p2);
        instance[INTERNALS$2].body = p1;
        body = p2;
      }
      return body;
    };
    var extractContentType = (body, request) => {
      if (body === null) {
        return null;
      }
      if (typeof body === "string") {
        return "text/plain;charset=UTF-8";
      }
      if (isURLSearchParameters(body)) {
        return "application/x-www-form-urlencoded;charset=UTF-8";
      }
      if (isBlob(body)) {
        return body.type || null;
      }
      if (Buffer.isBuffer(body) || util.types.isAnyArrayBuffer(body) || ArrayBuffer.isView(body)) {
        return null;
      }
      if (body && typeof body.getBoundary === "function") {
        return `multipart/form-data;boundary=${body.getBoundary()}`;
      }
      if (isFormData(body)) {
        return `multipart/form-data; boundary=${request[INTERNALS$2].boundary}`;
      }
      if (body instanceof Stream) {
        return null;
      }
      return "text/plain;charset=UTF-8";
    };
    var getTotalBytes = (request) => {
      const { body } = request;
      if (body === null) {
        return 0;
      }
      if (isBlob(body)) {
        return body.size;
      }
      if (Buffer.isBuffer(body)) {
        return body.length;
      }
      if (body && typeof body.getLengthSync === "function") {
        return body.hasKnownLength && body.hasKnownLength() ? body.getLengthSync() : null;
      }
      if (isFormData(body)) {
        return getFormDataLength(request[INTERNALS$2].boundary);
      }
      return null;
    };
    var writeToStream = (dest, { body }) => {
      if (body === null) {
        dest.end();
      } else if (isBlob(body)) {
        body.stream().pipe(dest);
      } else if (Buffer.isBuffer(body)) {
        dest.write(body);
        dest.end();
      } else {
        body.pipe(dest);
      }
    };
    var validateHeaderName = typeof http.validateHeaderName === "function" ? http.validateHeaderName : (name) => {
      if (!/^[\^`\-\w!#$%&'*+.|~]+$/.test(name)) {
        const err = new TypeError(`Header name must be a valid HTTP token [${name}]`);
        Object.defineProperty(err, "code", { value: "ERR_INVALID_HTTP_TOKEN" });
        throw err;
      }
    };
    var validateHeaderValue = typeof http.validateHeaderValue === "function" ? http.validateHeaderValue : (name, value) => {
      if (/[^\t\u0020-\u007E\u0080-\u00FF]/.test(value)) {
        const err = new TypeError(`Invalid character in header content ["${name}"]`);
        Object.defineProperty(err, "code", { value: "ERR_INVALID_CHAR" });
        throw err;
      }
    };
    var Headers = class _Headers extends URLSearchParams {
      /**
       * Headers class
       *
       * @constructor
       * @param {HeadersInit} [init] - Response headers
       */
      constructor(init) {
        let result2 = [];
        if (init instanceof _Headers) {
          const raw = init.raw();
          for (const [name, values] of Object.entries(raw)) {
            result2.push(...values.map((value) => [name, value]));
          }
        } else if (init == null) ;
        else if (typeof init === "object" && !util.types.isBoxedPrimitive(init)) {
          const method = init[Symbol.iterator];
          if (method == null) {
            result2.push(...Object.entries(init));
          } else {
            if (typeof method !== "function") {
              throw new TypeError("Header pairs must be iterable");
            }
            result2 = [...init].map((pair) => {
              if (typeof pair !== "object" || util.types.isBoxedPrimitive(pair)) {
                throw new TypeError("Each header pair must be an iterable object");
              }
              return [...pair];
            }).map((pair) => {
              if (pair.length !== 2) {
                throw new TypeError("Each header pair must be a name/value tuple");
              }
              return [...pair];
            });
          }
        } else {
          throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");
        }
        result2 = result2.length > 0 ? result2.map(([name, value]) => {
          validateHeaderName(name);
          validateHeaderValue(name, String(value));
          return [String(name).toLowerCase(), String(value)];
        }) : void 0;
        super(result2);
        return new Proxy(this, {
          get(target, p, receiver) {
            switch (p) {
              case "append":
              case "set":
                return (name, value) => {
                  validateHeaderName(name);
                  validateHeaderValue(name, String(value));
                  return URLSearchParams.prototype[p].call(
                    target,
                    String(name).toLowerCase(),
                    String(value)
                  );
                };
              case "delete":
              case "has":
              case "getAll":
                return (name) => {
                  validateHeaderName(name);
                  return URLSearchParams.prototype[p].call(
                    target,
                    String(name).toLowerCase()
                  );
                };
              case "keys":
                return () => {
                  target.sort();
                  return new Set(URLSearchParams.prototype.keys.call(target)).keys();
                };
              default:
                return Reflect.get(target, p, receiver);
            }
          }
          /* c8 ignore next */
        });
      }
      get [Symbol.toStringTag]() {
        return this.constructor.name;
      }
      toString() {
        return Object.prototype.toString.call(this);
      }
      get(name) {
        const values = this.getAll(name);
        if (values.length === 0) {
          return null;
        }
        let value = values.join(", ");
        if (/^content-encoding$/i.test(name)) {
          value = value.toLowerCase();
        }
        return value;
      }
      forEach(callback) {
        for (const name of this.keys()) {
          callback(this.get(name), name);
        }
      }
      *values() {
        for (const name of this.keys()) {
          yield this.get(name);
        }
      }
      /**
       * @type {() => IterableIterator<[string, string]>}
       */
      *entries() {
        for (const name of this.keys()) {
          yield [name, this.get(name)];
        }
      }
      [Symbol.iterator]() {
        return this.entries();
      }
      /**
       * Node-fetch non-spec method
       * returning all headers and their values as array
       * @returns {Record<string, string[]>}
       */
      raw() {
        return [...this.keys()].reduce((result2, key) => {
          result2[key] = this.getAll(key);
          return result2;
        }, {});
      }
      /**
       * For better console.log(headers) and also to convert Headers into Node.js Request compatible format
       */
      [Symbol.for("nodejs.util.inspect.custom")]() {
        return [...this.keys()].reduce((result2, key) => {
          const values = this.getAll(key);
          if (key === "host") {
            result2[key] = values[0];
          } else {
            result2[key] = values.length > 1 ? values : values[0];
          }
          return result2;
        }, {});
      }
    };
    Object.defineProperties(
      Headers.prototype,
      ["get", "entries", "forEach", "values"].reduce((result2, property) => {
        result2[property] = { enumerable: true };
        return result2;
      }, {})
    );
    function fromRawHeaders(headers = []) {
      return new Headers(
        headers.reduce((result2, value, index, array) => {
          if (index % 2 === 0) {
            result2.push(array.slice(index, index + 2));
          }
          return result2;
        }, []).filter(([name, value]) => {
          try {
            validateHeaderName(name);
            validateHeaderValue(name, String(value));
            return true;
          } catch {
            return false;
          }
        })
      );
    }
    var redirectStatus = /* @__PURE__ */ new Set([301, 302, 303, 307, 308]);
    var isRedirect = (code) => {
      return redirectStatus.has(code);
    };
    var INTERNALS$1 = Symbol("Response internals");
    var Response = class _Response extends Body {
      constructor(body = null, options = {}) {
        super(body, options);
        const status = options.status || 200;
        const headers = new Headers(options.headers);
        if (body !== null && !headers.has("Content-Type")) {
          const contentType = extractContentType(body);
          if (contentType) {
            headers.append("Content-Type", contentType);
          }
        }
        this[INTERNALS$1] = {
          url: options.url,
          status,
          statusText: options.statusText || "",
          headers,
          counter: options.counter,
          highWaterMark: options.highWaterMark
        };
      }
      get url() {
        return this[INTERNALS$1].url || "";
      }
      get status() {
        return this[INTERNALS$1].status;
      }
      /**
       * Convenience property representing if the request ended normally
       */
      get ok() {
        return this[INTERNALS$1].status >= 200 && this[INTERNALS$1].status < 300;
      }
      get redirected() {
        return this[INTERNALS$1].counter > 0;
      }
      get statusText() {
        return this[INTERNALS$1].statusText;
      }
      get headers() {
        return this[INTERNALS$1].headers;
      }
      get highWaterMark() {
        return this[INTERNALS$1].highWaterMark;
      }
      /**
       * Clone this response
       *
       * @return  Response
       */
      clone() {
        return new _Response(clone(this, this.highWaterMark), {
          url: this.url,
          status: this.status,
          statusText: this.statusText,
          headers: this.headers,
          ok: this.ok,
          redirected: this.redirected,
          size: this.size
        });
      }
      /**
       * @param {string} url    The URL that the new response is to originate from.
       * @param {number} status An optional status code for the response (e.g., 302.)
       * @returns {Response}    A Response object.
       */
      static redirect(url2, status = 302) {
        if (!isRedirect(status)) {
          throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');
        }
        return new _Response(null, {
          headers: {
            location: new URL(url2).toString()
          },
          status
        });
      }
      get [Symbol.toStringTag]() {
        return "Response";
      }
    };
    Object.defineProperties(Response.prototype, {
      url: { enumerable: true },
      status: { enumerable: true },
      ok: { enumerable: true },
      redirected: { enumerable: true },
      statusText: { enumerable: true },
      headers: { enumerable: true },
      clone: { enumerable: true }
    });
    var getSearch = (parsedURL) => {
      if (parsedURL.search) {
        return parsedURL.search;
      }
      const lastOffset = parsedURL.href.length - 1;
      const hash = parsedURL.hash || (parsedURL.href[lastOffset] === "#" ? "#" : "");
      return parsedURL.href[lastOffset - hash.length] === "?" ? "?" : "";
    };
    var INTERNALS = Symbol("Request internals");
    var isRequest = (object) => {
      return typeof object === "object" && typeof object[INTERNALS] === "object";
    };
    var Request = class _Request extends Body {
      constructor(input, init = {}) {
        let parsedURL;
        if (isRequest(input)) {
          parsedURL = new URL(input.url);
        } else {
          parsedURL = new URL(input);
          input = {};
        }
        let method = init.method || input.method || "GET";
        method = method.toUpperCase();
        if ((init.body != null || isRequest(input)) && input.body !== null && (method === "GET" || method === "HEAD")) {
          throw new TypeError("Request with GET/HEAD method cannot have body");
        }
        const inputBody = init.body ? init.body : isRequest(input) && input.body !== null ? clone(input) : null;
        super(inputBody, {
          size: init.size || input.size || 0
        });
        const headers = new Headers(init.headers || input.headers || {});
        if (inputBody !== null && !headers.has("Content-Type")) {
          const contentType = extractContentType(inputBody, this);
          if (contentType) {
            headers.append("Content-Type", contentType);
          }
        }
        let signal = isRequest(input) ? input.signal : null;
        if ("signal" in init) {
          signal = init.signal;
        }
        if (signal !== null && !isAbortSignal(signal)) {
          throw new TypeError("Expected signal to be an instanceof AbortSignal");
        }
        this[INTERNALS] = {
          method,
          redirect: init.redirect || input.redirect || "follow",
          headers,
          parsedURL,
          signal
        };
        this.follow = init.follow === void 0 ? input.follow === void 0 ? 20 : input.follow : init.follow;
        this.compress = init.compress === void 0 ? input.compress === void 0 ? true : input.compress : init.compress;
        this.counter = init.counter || input.counter || 0;
        this.agent = init.agent || input.agent;
        this.highWaterMark = init.highWaterMark || input.highWaterMark || 16384;
        this.insecureHTTPParser = init.insecureHTTPParser || input.insecureHTTPParser || false;
      }
      get method() {
        return this[INTERNALS].method;
      }
      get url() {
        return url.format(this[INTERNALS].parsedURL);
      }
      get headers() {
        return this[INTERNALS].headers;
      }
      get redirect() {
        return this[INTERNALS].redirect;
      }
      get signal() {
        return this[INTERNALS].signal;
      }
      /**
       * Clone this request
       *
       * @return  Request
       */
      clone() {
        return new _Request(this);
      }
      get [Symbol.toStringTag]() {
        return "Request";
      }
    };
    Object.defineProperties(Request.prototype, {
      method: { enumerable: true },
      url: { enumerable: true },
      headers: { enumerable: true },
      redirect: { enumerable: true },
      clone: { enumerable: true },
      signal: { enumerable: true }
    });
    var getNodeRequestOptions = (request) => {
      const { parsedURL } = request[INTERNALS];
      const headers = new Headers(request[INTERNALS].headers);
      if (!headers.has("Accept")) {
        headers.set("Accept", "*/*");
      }
      let contentLengthValue = null;
      if (request.body === null && /^(post|put)$/i.test(request.method)) {
        contentLengthValue = "0";
      }
      if (request.body !== null) {
        const totalBytes = getTotalBytes(request);
        if (typeof totalBytes === "number" && !Number.isNaN(totalBytes)) {
          contentLengthValue = String(totalBytes);
        }
      }
      if (contentLengthValue) {
        headers.set("Content-Length", contentLengthValue);
      }
      if (!headers.has("User-Agent")) {
        headers.set("User-Agent", "node-fetch");
      }
      if (request.compress && !headers.has("Accept-Encoding")) {
        headers.set("Accept-Encoding", "gzip,deflate,br");
      }
      let { agent } = request;
      if (typeof agent === "function") {
        agent = agent(parsedURL);
      }
      if (!headers.has("Connection") && !agent) {
        headers.set("Connection", "close");
      }
      const search = getSearch(parsedURL);
      const requestOptions = {
        path: parsedURL.pathname + search,
        pathname: parsedURL.pathname,
        hostname: parsedURL.hostname,
        protocol: parsedURL.protocol,
        port: parsedURL.port,
        hash: parsedURL.hash,
        search: parsedURL.search,
        query: parsedURL.query,
        href: parsedURL.href,
        method: request.method,
        headers: headers[Symbol.for("nodejs.util.inspect.custom")](),
        insecureHTTPParser: request.insecureHTTPParser,
        agent
      };
      return requestOptions;
    };
    var AbortError = class extends FetchBaseError {
      constructor(message, type = "aborted") {
        super(message, type);
      }
    };
    var supportedSchemas = /* @__PURE__ */ new Set(["data:", "http:", "https:"]);
    async function fetch(url2, options_) {
      return new Promise((resolve, reject) => {
        const request = new Request(url2, options_);
        const options = getNodeRequestOptions(request);
        if (!supportedSchemas.has(options.protocol)) {
          throw new TypeError(`node-fetch cannot load ${url2}. URL scheme "${options.protocol.replace(/:$/, "")}" is not supported.`);
        }
        if (options.protocol === "data:") {
          const data = dataUriToBuffer(request.url);
          const response2 = new Response(data, { headers: { "Content-Type": data.typeFull } });
          resolve(response2);
          return;
        }
        const send = (options.protocol === "https:" ? https : http).request;
        const { signal } = request;
        let response = null;
        const abort = () => {
          const error = new AbortError("The operation was aborted.");
          reject(error);
          if (request.body && request.body instanceof Stream.Readable) {
            request.body.destroy(error);
          }
          if (!response || !response.body) {
            return;
          }
          response.body.emit("error", error);
        };
        if (signal && signal.aborted) {
          abort();
          return;
        }
        const abortAndFinalize = () => {
          abort();
          finalize();
        };
        const request_ = send(options);
        if (signal) {
          signal.addEventListener("abort", abortAndFinalize);
        }
        const finalize = () => {
          request_.abort();
          if (signal) {
            signal.removeEventListener("abort", abortAndFinalize);
          }
        };
        request_.on("error", (err) => {
          reject(new FetchError(`request to ${request.url} failed, reason: ${err.message}`, "system", err));
          finalize();
        });
        request_.on("response", (response_) => {
          request_.setTimeout(0);
          const headers = fromRawHeaders(response_.rawHeaders);
          if (isRedirect(response_.statusCode)) {
            const location = headers.get("Location");
            const locationURL = location === null ? null : new URL(location, request.url);
            switch (request.redirect) {
              case "error":
                reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`, "no-redirect"));
                finalize();
                return;
              case "manual":
                if (locationURL !== null) {
                  try {
                    headers.set("Location", locationURL);
                  } catch (error) {
                    reject(error);
                  }
                }
                break;
              case "follow": {
                if (locationURL === null) {
                  break;
                }
                if (request.counter >= request.follow) {
                  reject(new FetchError(`maximum redirect reached at: ${request.url}`, "max-redirect"));
                  finalize();
                  return;
                }
                const requestOptions = {
                  headers: new Headers(request.headers),
                  follow: request.follow,
                  counter: request.counter + 1,
                  agent: request.agent,
                  compress: request.compress,
                  method: request.method,
                  body: request.body,
                  signal: request.signal,
                  size: request.size
                };
                if (response_.statusCode !== 303 && request.body && options_.body instanceof Stream.Readable) {
                  reject(new FetchError("Cannot follow redirect with body being a readable stream", "unsupported-redirect"));
                  finalize();
                  return;
                }
                if (response_.statusCode === 303 || (response_.statusCode === 301 || response_.statusCode === 302) && request.method === "POST") {
                  requestOptions.method = "GET";
                  requestOptions.body = void 0;
                  requestOptions.headers.delete("content-length");
                }
                resolve(fetch(new Request(locationURL, requestOptions)));
                finalize();
                return;
              }
            }
          }
          response_.once("end", () => {
            if (signal) {
              signal.removeEventListener("abort", abortAndFinalize);
            }
          });
          let body = Stream.pipeline(response_, new Stream.PassThrough(), (error) => {
            reject(error);
          });
          if (process.version < "v12.10") {
            response_.on("aborted", abortAndFinalize);
          }
          const responseOptions = {
            url: request.url,
            status: response_.statusCode,
            statusText: response_.statusMessage,
            headers,
            size: request.size,
            counter: request.counter,
            highWaterMark: request.highWaterMark
          };
          const codings = headers.get("Content-Encoding");
          if (!request.compress || request.method === "HEAD" || codings === null || response_.statusCode === 204 || response_.statusCode === 304) {
            response = new Response(body, responseOptions);
            resolve(response);
            return;
          }
          const zlibOptions = {
            flush: zlib.Z_SYNC_FLUSH,
            finishFlush: zlib.Z_SYNC_FLUSH
          };
          if (codings === "gzip" || codings === "x-gzip") {
            body = Stream.pipeline(body, zlib.createGunzip(zlibOptions), (error) => {
              reject(error);
            });
            response = new Response(body, responseOptions);
            resolve(response);
            return;
          }
          if (codings === "deflate" || codings === "x-deflate") {
            const raw = Stream.pipeline(response_, new Stream.PassThrough(), (error) => {
              reject(error);
            });
            raw.once("data", (chunk) => {
              if ((chunk[0] & 15) === 8) {
                body = Stream.pipeline(body, zlib.createInflate(), (error) => {
                  reject(error);
                });
              } else {
                body = Stream.pipeline(body, zlib.createInflateRaw(), (error) => {
                  reject(error);
                });
              }
              response = new Response(body, responseOptions);
              resolve(response);
            });
            return;
          }
          if (codings === "br") {
            body = Stream.pipeline(body, zlib.createBrotliDecompress(), (error) => {
              reject(error);
            });
            response = new Response(body, responseOptions);
            resolve(response);
            return;
          }
          response = new Response(body, responseOptions);
          resolve(response);
        });
        writeToStream(request_, request);
      });
    }
    exports2.AbortError = AbortError;
    exports2.FetchError = FetchError;
    exports2.Headers = Headers;
    exports2.Request = Request;
    exports2.Response = Response;
    exports2["default"] = fetch;
    exports2.isRedirect = isRedirect;
  }
});

// ../network/fetch/lib/fetch.js
var require_fetch2 = __commonJS({
  "../network/fetch/lib/fetch.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ResponseError = exports2.Response = exports2.isRedirect = void 0;
    exports2.fetch = fetch;
    var assert_1 = __importDefault2(require("assert"));
    var util_1 = __importDefault2(require("util"));
    var core_loggers_1 = require_lib28();
    var retry_1 = require_retry2();
    var node_fetch_1 = __importStar3(require_dist9());
    Object.defineProperty(exports2, "Response", { enumerable: true, get: function() {
      return node_fetch_1.Response;
    } });
    var node_fetch_2 = require_dist9();
    Object.defineProperty(exports2, "isRedirect", { enumerable: true, get: function() {
      return node_fetch_2.isRedirect;
    } });
    var NO_RETRY_ERROR_CODES = /* @__PURE__ */ new Set([
      "SELF_SIGNED_CERT_IN_CHAIN",
      "ERR_OSSL_PEM_NO_START_LINE"
    ]);
    async function fetch(url, opts = {}) {
      const retryOpts = opts.retry ?? {};
      const maxRetries = retryOpts.retries ?? 2;
      const op = (0, retry_1.operation)({
        factor: retryOpts.factor ?? 10,
        maxTimeout: retryOpts.maxTimeout ?? 6e4,
        minTimeout: retryOpts.minTimeout ?? 1e4,
        randomize: false,
        retries: maxRetries
      });
      try {
        return await new Promise((resolve, reject) => {
          op.attempt(async (attempt) => {
            try {
              const res = await (0, node_fetch_1.default)(url, opts);
              if (res.status >= 500 && res.status < 600 || [408, 409, 420, 429].includes(res.status)) {
                throw new ResponseError(res);
              } else {
                resolve(res);
              }
            } catch (error) {
              (0, assert_1.default)(util_1.default.types.isNativeError(error));
              if ("code" in error && typeof error.code === "string" && NO_RETRY_ERROR_CODES.has(error.code)) {
                throw error;
              }
              const timeout = op.retry(error);
              if (timeout === false) {
                reject(op.mainError());
                return;
              }
              core_loggers_1.requestRetryLogger.debug({
                attempt,
                error,
                maxRetries,
                method: opts.method ?? "GET",
                timeout,
                url: url.toString()
              });
            }
          });
        });
      } catch (err) {
        if (err instanceof ResponseError) {
          return err.res;
        }
        throw err;
      }
    }
    var ResponseError = class _ResponseError extends Error {
      constructor(res) {
        super(res.statusText);
        if (Error.captureStackTrace) {
          Error.captureStackTrace(this, _ResponseError);
        }
        this.name = this.constructor.name;
        this.res = res;
        this.code = this.status = this.statusCode = res.status;
        this.url = res.url;
      }
    };
    exports2.ResponseError = ResponseError;
  }
});

// ../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js
var require_ms = __commonJS({
  "../node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js"(exports2, module2) {
    var s = 1e3;
    var m = s * 60;
    var h = m * 60;
    var d = h * 24;
    var w = d * 7;
    var y = d * 365.25;
    module2.exports = function(val, options) {
      options = options || {};
      var type = typeof val;
      if (type === "string" && val.length > 0) {
        return parse2(val);
      } else if (type === "number" && isFinite(val)) {
        return options.long ? fmtLong(val) : fmtShort(val);
      }
      throw new Error(
        "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
      );
    };
    function parse2(str) {
      str = String(str);
      if (str.length > 100) {
        return;
      }
      var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
        str
      );
      if (!match) {
        return;
      }
      var n = parseFloat(match[1]);
      var type = (match[2] || "ms").toLowerCase();
      switch (type) {
        case "years":
        case "year":
        case "yrs":
        case "yr":
        case "y":
          return n * y;
        case "weeks":
        case "week":
        case "w":
          return n * w;
        case "days":
        case "day":
        case "d":
          return n * d;
        case "hours":
        case "hour":
        case "hrs":
        case "hr":
        case "h":
          return n * h;
        case "minutes":
        case "minute":
        case "mins":
        case "min":
        case "m":
          return n * m;
        case "seconds":
        case "second":
        case "secs":
        case "sec":
        case "s":
          return n * s;
        case "milliseconds":
        case "millisecond":
        case "msecs":
        case "msec":
        case "ms":
          return n;
        default:
          return void 0;
      }
    }
    function fmtShort(ms) {
      var msAbs = Math.abs(ms);
      if (msAbs >= d) {
        return Math.round(ms / d) + "d";
      }
      if (msAbs >= h) {
        return Math.round(ms / h) + "h";
      }
      if (msAbs >= m) {
        return Math.round(ms / m) + "m";
      }
      if (msAbs >= s) {
        return Math.round(ms / s) + "s";
      }
      return ms + "ms";
    }
    function fmtLong(ms) {
      var msAbs = Math.abs(ms);
      if (msAbs >= d) {
        return plural2(ms, msAbs, d, "day");
      }
      if (msAbs >= h) {
        return plural2(ms, msAbs, h, "hour");
      }
      if (msAbs >= m) {
        return plural2(ms, msAbs, m, "minute");
      }
      if (msAbs >= s) {
        return plural2(ms, msAbs, s, "second");
      }
      return ms + " ms";
    }
    function plural2(ms, msAbs, n, name) {
      var isPlural = msAbs >= n * 1.5;
      return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
    }
  }
});

// ../node_modules/.pnpm/humanize-ms@1.2.1/node_modules/humanize-ms/index.js
var require_humanize_ms = __commonJS({
  "../node_modules/.pnpm/humanize-ms@1.2.1/node_modules/humanize-ms/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var ms = require_ms();
    module2.exports = function(t) {
      if (typeof t === "number") return t;
      var r = ms(t);
      if (r === void 0) {
        var err = new Error(util.format("humanize-ms(%j) result undefined", t));
        console.warn(err.stack);
      }
      return r;
    };
  }
});

// ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/constants.js
var require_constants6 = __commonJS({
  "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/constants.js"(exports2, module2) {
    "use strict";
    module2.exports = {
      // agent
      CURRENT_ID: Symbol("agentkeepalive#currentId"),
      CREATE_ID: Symbol("agentkeepalive#createId"),
      INIT_SOCKET: Symbol("agentkeepalive#initSocket"),
      CREATE_HTTPS_CONNECTION: Symbol("agentkeepalive#createHttpsConnection"),
      // socket
      SOCKET_CREATED_TIME: Symbol("agentkeepalive#socketCreatedTime"),
      SOCKET_NAME: Symbol("agentkeepalive#socketName"),
      SOCKET_REQUEST_COUNT: Symbol("agentkeepalive#socketRequestCount"),
      SOCKET_REQUEST_FINISHED_COUNT: Symbol("agentkeepalive#socketRequestFinishedCount")
    };
  }
});

// ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/agent.js
var require_agent = __commonJS({
  "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/agent.js"(exports2, module2) {
    "use strict";
    var OriginalAgent = require("http").Agent;
    var ms = require_humanize_ms();
    var debug = require("util").debuglog("agentkeepalive");
    var {
      INIT_SOCKET,
      CURRENT_ID,
      CREATE_ID,
      SOCKET_CREATED_TIME,
      SOCKET_NAME,
      SOCKET_REQUEST_COUNT,
      SOCKET_REQUEST_FINISHED_COUNT
    } = require_constants6();
    var defaultTimeoutListenerCount = 1;
    var majorVersion = parseInt(process.version.split(".", 1)[0].substring(1));
    if (majorVersion >= 11 && majorVersion <= 12) {
      defaultTimeoutListenerCount = 2;
    } else if (majorVersion >= 13) {
      defaultTimeoutListenerCount = 3;
    }
    function deprecate(message) {
      console.log("[agentkeepalive:deprecated] %s", message);
    }
    var Agent = class extends OriginalAgent {
      constructor(options) {
        options = options || {};
        options.keepAlive = options.keepAlive !== false;
        if (options.freeSocketTimeout === void 0) {
          options.freeSocketTimeout = 4e3;
        }
        if (options.keepAliveTimeout) {
          deprecate("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead");
          options.freeSocketTimeout = options.keepAliveTimeout;
          delete options.keepAliveTimeout;
        }
        if (options.freeSocketKeepAliveTimeout) {
          deprecate("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead");
          options.freeSocketTimeout = options.freeSocketKeepAliveTimeout;
          delete options.freeSocketKeepAliveTimeout;
        }
        if (options.timeout === void 0) {
          options.timeout = Math.max(options.freeSocketTimeout * 2, 8e3);
        }
        options.timeout = ms(options.timeout);
        options.freeSocketTimeout = ms(options.freeSocketTimeout);
        options.socketActiveTTL = options.socketActiveTTL ? ms(options.socketActiveTTL) : 0;
        super(options);
        this[CURRENT_ID] = 0;
        this.createSocketCount = 0;
        this.createSocketCountLastCheck = 0;
        this.createSocketErrorCount = 0;
        this.createSocketErrorCountLastCheck = 0;
        this.closeSocketCount = 0;
        this.closeSocketCountLastCheck = 0;
        this.errorSocketCount = 0;
        this.errorSocketCountLastCheck = 0;
        this.requestCount = 0;
        this.requestCountLastCheck = 0;
        this.timeoutSocketCount = 0;
        this.timeoutSocketCountLastCheck = 0;
        this.on("free", (socket) => {
          const timeout = this.calcSocketTimeout(socket);
          if (timeout > 0 && socket.timeout !== timeout) {
            socket.setTimeout(timeout);
          }
        });
      }
      get freeSocketKeepAliveTimeout() {
        deprecate("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead");
        return this.options.freeSocketTimeout;
      }
      get timeout() {
        deprecate("agent.timeout is deprecated, please use agent.options.timeout instead");
        return this.options.timeout;
      }
      get socketActiveTTL() {
        deprecate("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead");
        return this.options.socketActiveTTL;
      }
      calcSocketTimeout(socket) {
        let freeSocketTimeout = this.options.freeSocketTimeout;
        const socketActiveTTL = this.options.socketActiveTTL;
        if (socketActiveTTL) {
          const aliveTime = Date.now() - socket[SOCKET_CREATED_TIME];
          const diff = socketActiveTTL - aliveTime;
          if (diff <= 0) {
            return diff;
          }
          if (freeSocketTimeout && diff < freeSocketTimeout) {
            freeSocketTimeout = diff;
          }
        }
        if (freeSocketTimeout) {
          const customFreeSocketTimeout = socket.freeSocketTimeout || socket.freeSocketKeepAliveTimeout;
          return customFreeSocketTimeout || freeSocketTimeout;
        }
      }
      keepSocketAlive(socket) {
        const result2 = super.keepSocketAlive(socket);
        if (!result2) return result2;
        const customTimeout = this.calcSocketTimeout(socket);
        if (typeof customTimeout === "undefined") {
          return true;
        }
        if (customTimeout <= 0) {
          debug(
            "%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s",
            socket[SOCKET_NAME],
            socket[SOCKET_REQUEST_COUNT],
            socket[SOCKET_REQUEST_FINISHED_COUNT],
            customTimeout
          );
          return false;
        }
        if (socket.timeout !== customTimeout) {
          socket.setTimeout(customTimeout);
        }
        return true;
      }
      // only call on addRequest
      reuseSocket(...args) {
        super.reuseSocket(...args);
        const socket = args[0];
        const req = args[1];
        req.reusedSocket = true;
        const agentTimeout = this.options.timeout;
        if (getSocketTimeout(socket) !== agentTimeout) {
          socket.setTimeout(agentTimeout);
          debug("%s reset timeout to %sms", socket[SOCKET_NAME], agentTimeout);
        }
        socket[SOCKET_REQUEST_COUNT]++;
        debug(
          "%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT],
          getSocketTimeout(socket)
        );
      }
      [CREATE_ID]() {
        const id = this[CURRENT_ID]++;
        if (this[CURRENT_ID] === Number.MAX_SAFE_INTEGER) this[CURRENT_ID] = 0;
        return id;
      }
      [INIT_SOCKET](socket, options) {
        if (options.timeout) {
          const timeout = getSocketTimeout(socket);
          if (!timeout) {
            socket.setTimeout(options.timeout);
          }
        }
        if (this.options.keepAlive) {
          socket.setNoDelay(true);
        }
        this.createSocketCount++;
        if (this.options.socketActiveTTL) {
          socket[SOCKET_CREATED_TIME] = Date.now();
        }
        socket[SOCKET_NAME] = `sock[${this[CREATE_ID]()}#${options._agentKey}]`.split("-----BEGIN", 1)[0];
        socket[SOCKET_REQUEST_COUNT] = 1;
        socket[SOCKET_REQUEST_FINISHED_COUNT] = 0;
        installListeners(this, socket, options);
      }
      createConnection(options, oncreate) {
        let called = false;
        const onNewCreate = (err, socket) => {
          if (called) return;
          called = true;
          if (err) {
            this.createSocketErrorCount++;
            return oncreate(err);
          }
          this[INIT_SOCKET](socket, options);
          oncreate(err, socket);
        };
        const newSocket = super.createConnection(options, onNewCreate);
        if (newSocket) onNewCreate(null, newSocket);
        return newSocket;
      }
      get statusChanged() {
        const changed = this.createSocketCount !== this.createSocketCountLastCheck || this.createSocketErrorCount !== this.createSocketErrorCountLastCheck || this.closeSocketCount !== this.closeSocketCountLastCheck || this.errorSocketCount !== this.errorSocketCountLastCheck || this.timeoutSocketCount !== this.timeoutSocketCountLastCheck || this.requestCount !== this.requestCountLastCheck;
        if (changed) {
          this.createSocketCountLastCheck = this.createSocketCount;
          this.createSocketErrorCountLastCheck = this.createSocketErrorCount;
          this.closeSocketCountLastCheck = this.closeSocketCount;
          this.errorSocketCountLastCheck = this.errorSocketCount;
          this.timeoutSocketCountLastCheck = this.timeoutSocketCount;
          this.requestCountLastCheck = this.requestCount;
        }
        return changed;
      }
      getCurrentStatus() {
        return {
          createSocketCount: this.createSocketCount,
          createSocketErrorCount: this.createSocketErrorCount,
          closeSocketCount: this.closeSocketCount,
          errorSocketCount: this.errorSocketCount,
          timeoutSocketCount: this.timeoutSocketCount,
          requestCount: this.requestCount,
          freeSockets: inspect(this.freeSockets),
          sockets: inspect(this.sockets),
          requests: inspect(this.requests)
        };
      }
    };
    function getSocketTimeout(socket) {
      return socket.timeout || socket._idleTimeout;
    }
    function installListeners(agent, socket, options) {
      debug("%s create, timeout %sms", socket[SOCKET_NAME], getSocketTimeout(socket));
      function onFree() {
        if (!socket._httpMessage && socket[SOCKET_REQUEST_COUNT] === 1) return;
        socket[SOCKET_REQUEST_FINISHED_COUNT]++;
        agent.requestCount++;
        debug(
          "%s(requests: %s, finished: %s) free",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT]
        );
        const name = agent.getName(options);
        if (socket.writable && agent.requests[name] && agent.requests[name].length) {
          socket[SOCKET_REQUEST_COUNT]++;
          debug(
            "%s(requests: %s, finished: %s) will be reuse on agent free event",
            socket[SOCKET_NAME],
            socket[SOCKET_REQUEST_COUNT],
            socket[SOCKET_REQUEST_FINISHED_COUNT]
          );
        }
      }
      socket.on("free", onFree);
      function onClose(isError) {
        debug(
          "%s(requests: %s, finished: %s) close, isError: %s",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT],
          isError
        );
        agent.closeSocketCount++;
      }
      socket.on("close", onClose);
      function onTimeout() {
        const listenerCount = socket.listeners("timeout").length;
        const timeout = getSocketTimeout(socket);
        const req = socket._httpMessage;
        const reqTimeoutListenerCount = req && req.listeners("timeout").length || 0;
        debug(
          "%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT],
          timeout,
          listenerCount,
          defaultTimeoutListenerCount,
          !!req,
          reqTimeoutListenerCount
        );
        if (debug.enabled) {
          debug("timeout listeners: %s", socket.listeners("timeout").map((f) => f.name).join(", "));
        }
        agent.timeoutSocketCount++;
        const name = agent.getName(options);
        if (agent.freeSockets[name] && agent.freeSockets[name].indexOf(socket) !== -1) {
          socket.destroy();
          agent.removeSocket(socket, options);
          debug("%s is free, destroy quietly", socket[SOCKET_NAME]);
        } else {
          if (reqTimeoutListenerCount === 0) {
            const error = new Error("Socket timeout");
            error.code = "ERR_SOCKET_TIMEOUT";
            error.timeout = timeout;
            socket.destroy(error);
            agent.removeSocket(socket, options);
            debug("%s destroy with timeout error", socket[SOCKET_NAME]);
          }
        }
      }
      socket.on("timeout", onTimeout);
      function onError(err) {
        const listenerCount = socket.listeners("error").length;
        debug(
          "%s(requests: %s, finished: %s) error: %s, listenerCount: %s",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT],
          err,
          listenerCount
        );
        agent.errorSocketCount++;
        if (listenerCount === 1) {
          debug("%s emit uncaught error event", socket[SOCKET_NAME]);
          socket.removeListener("error", onError);
          socket.emit("error", err);
        }
      }
      socket.on("error", onError);
      function onRemove() {
        debug(
          "%s(requests: %s, finished: %s) agentRemove",
          socket[SOCKET_NAME],
          socket[SOCKET_REQUEST_COUNT],
          socket[SOCKET_REQUEST_FINISHED_COUNT]
        );
        socket.removeListener("close", onClose);
        socket.removeListener("error", onError);
        socket.removeListener("free", onFree);
        socket.removeListener("timeout", onTimeout);
        socket.removeListener("agentRemove", onRemove);
      }
      socket.on("agentRemove", onRemove);
    }
    module2.exports = Agent;
    function inspect(obj) {
      const res = {};
      for (const key in obj) {
        res[key] = obj[key].length;
      }
      return res;
    }
  }
});

// ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/https_agent.js
var require_https_agent = __commonJS({
  "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/lib/https_agent.js"(exports2, module2) {
    "use strict";
    var OriginalHttpsAgent = require("https").Agent;
    var HttpAgent = require_agent();
    var {
      INIT_SOCKET,
      CREATE_HTTPS_CONNECTION
    } = require_constants6();
    var HttpsAgent = class extends HttpAgent {
      constructor(options) {
        super(options);
        this.defaultPort = 443;
        this.protocol = "https:";
        this.maxCachedSessions = this.options.maxCachedSessions;
        if (this.maxCachedSessions === void 0) {
          this.maxCachedSessions = 100;
        }
        this._sessionCache = {
          map: {},
          list: []
        };
      }
      createConnection(options, oncreate) {
        const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate);
        this[INIT_SOCKET](socket, options);
        return socket;
      }
    };
    HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection;
    [
      "getName",
      "_getSession",
      "_cacheSession",
      // https://github.com/nodejs/node/pull/4982
      "_evictSession"
    ].forEach(function(method) {
      if (typeof OriginalHttpsAgent.prototype[method] === "function") {
        HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method];
      }
    });
    module2.exports = HttpsAgent;
  }
});

// ../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/index.js
var require_agentkeepalive = __commonJS({
  "../node_modules/.pnpm/agentkeepalive@4.6.0/node_modules/agentkeepalive/index.js"(exports2, module2) {
    "use strict";
    var HttpAgent = require_agent();
    module2.exports = HttpAgent;
    module2.exports.HttpAgent = HttpAgent;
    module2.exports.HttpsAgent = require_https_agent();
    module2.exports.constants = require_constants6();
  }
});

// ../node_modules/.pnpm/@pnpm+constants@1001.1.0/node_modules/@pnpm/constants/lib/index.js
var require_lib53 = __commonJS({
  "../node_modules/.pnpm/@pnpm+constants@1001.1.0/node_modules/@pnpm/constants/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.USEFUL_NON_ROOT_PNPM_FIELDS = exports2.FULL_FILTERED_META_DIR = exports2.FULL_META_DIR = exports2.ABBREVIATED_META_DIR = exports2.WORKSPACE_MANIFEST_FILENAME = exports2.STORE_VERSION = exports2.LAYOUT_VERSION = exports2.ENGINE_NAME = exports2.MANIFEST_BASE_NAMES = exports2.LOCKFILE_VERSION = exports2.LOCKFILE_MAJOR_VERSION = exports2.WANTED_LOCKFILE = void 0;
    exports2.WANTED_LOCKFILE = "pnpm-lock.yaml";
    exports2.LOCKFILE_MAJOR_VERSION = "9";
    exports2.LOCKFILE_VERSION = `${exports2.LOCKFILE_MAJOR_VERSION}.0`;
    exports2.MANIFEST_BASE_NAMES = ["package.json", "package.json5", "package.yaml"];
    exports2.ENGINE_NAME = `${process.platform};${process.arch};node${process.version.split(".")[0].substring(1)}`;
    exports2.LAYOUT_VERSION = 5;
    exports2.STORE_VERSION = "v10";
    exports2.WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml";
    exports2.ABBREVIATED_META_DIR = "metadata-v1.3";
    exports2.FULL_META_DIR = "metadata-full-v1.3";
    exports2.FULL_FILTERED_META_DIR = "metadata-v1.3";
    exports2.USEFUL_NON_ROOT_PNPM_FIELDS = ["executionEnv"];
  }
});

// ../node_modules/.pnpm/@pnpm+error@1000.0.2/node_modules/@pnpm/error/lib/index.js
var require_lib54 = __commonJS({
  "../node_modules/.pnpm/@pnpm+error@1000.0.2/node_modules/@pnpm/error/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LockfileMissingDependencyError = exports2.FetchError = exports2.PnpmError = void 0;
    var constants_1 = require_lib53();
    var PnpmError = class extends Error {
      constructor(code, message, opts) {
        super(message);
        this.code = code.startsWith("ERR_PNPM_") ? code : `ERR_PNPM_${code}`;
        this.hint = opts?.hint;
        this.attempts = opts?.attempts;
      }
    };
    exports2.PnpmError = PnpmError;
    var FetchError = class extends PnpmError {
      constructor(request, response, hint) {
        const _request = {
          url: request.url
        };
        if (request.authHeaderValue) {
          _request.authHeaderValue = hideAuthInformation(request.authHeaderValue);
        }
        const message = `GET ${request.url}: ${response.statusText} - ${response.status}`;
        if (response.status === 401 || response.status === 403 || response.status === 404) {
          hint = hint ? `${hint}

` : "";
          if (_request.authHeaderValue) {
            hint += `An authorization header was used: ${_request.authHeaderValue}`;
          } else {
            hint += "No authorization header was set for the request.";
          }
        }
        super(`FETCH_${response.status}`, message, { hint });
        this.request = _request;
        this.response = response;
      }
    };
    exports2.FetchError = FetchError;
    function hideAuthInformation(authHeaderValue) {
      const [authType, token] = authHeaderValue.split(" ");
      if (token == null)
        return "[hidden]";
      if (token.length < 20) {
        return `${authType} [hidden]`;
      }
      return `${authType} ${token.substring(0, 4)}[hidden]`;
    }
    var LockfileMissingDependencyError = class extends PnpmError {
      constructor(depPath) {
        const message = `Broken lockfile: no entry for '${depPath}' in ${constants_1.WANTED_LOCKFILE}`;
        super("LOCKFILE_MISSING_DEPENDENCY", message, {
          hint: "This issue is probably caused by a badly resolved merge conflict.\nTo fix the lockfile, run 'pnpm install --no-frozen-lockfile'."
        });
      }
    };
    exports2.LockfileMissingDependencyError = LockfileMissingDependencyError;
  }
});

// ../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js
var require_common2 = __commonJS({
  "../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/common.js"(exports2, module2) {
    function setup(env) {
      createDebug.debug = createDebug;
      createDebug.default = createDebug;
      createDebug.coerce = coerce;
      createDebug.disable = disable;
      createDebug.enable = enable;
      createDebug.enabled = enabled;
      createDebug.humanize = require_ms();
      createDebug.destroy = destroy;
      Object.keys(env).forEach((key) => {
        createDebug[key] = env[key];
      });
      createDebug.names = [];
      createDebug.skips = [];
      createDebug.formatters = {};
      function selectColor(namespace) {
        let hash = 0;
        for (let i = 0; i < namespace.length; i++) {
          hash = (hash << 5) - hash + namespace.charCodeAt(i);
          hash |= 0;
        }
        return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
      }
      createDebug.selectColor = selectColor;
      function createDebug(namespace) {
        let prevTime;
        let enableOverride = null;
        let namespacesCache;
        let enabledCache;
        function debug(...args) {
          if (!debug.enabled) {
            return;
          }
          const self2 = debug;
          const curr = Number(/* @__PURE__ */ new Date());
          const ms = curr - (prevTime || curr);
          self2.diff = ms;
          self2.prev = prevTime;
          self2.curr = curr;
          prevTime = curr;
          args[0] = createDebug.coerce(args[0]);
          if (typeof args[0] !== "string") {
            args.unshift("%O");
          }
          let index = 0;
          args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
            if (match === "%%") {
              return "%";
            }
            index++;
            const formatter = createDebug.formatters[format];
            if (typeof formatter === "function") {
              const val = args[index];
              match = formatter.call(self2, val);
              args.splice(index, 1);
              index--;
            }
            return match;
          });
          createDebug.formatArgs.call(self2, args);
          const logFn = self2.log || createDebug.log;
          logFn.apply(self2, args);
        }
        debug.namespace = namespace;
        debug.useColors = createDebug.useColors();
        debug.color = createDebug.selectColor(namespace);
        debug.extend = extend;
        debug.destroy = createDebug.destroy;
        Object.defineProperty(debug, "enabled", {
          enumerable: true,
          configurable: false,
          get: () => {
            if (enableOverride !== null) {
              return enableOverride;
            }
            if (namespacesCache !== createDebug.namespaces) {
              namespacesCache = createDebug.namespaces;
              enabledCache = createDebug.enabled(namespace);
            }
            return enabledCache;
          },
          set: (v) => {
            enableOverride = v;
          }
        });
        if (typeof createDebug.init === "function") {
          createDebug.init(debug);
        }
        return debug;
      }
      function extend(namespace, delimiter) {
        const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
        newDebug.log = this.log;
        return newDebug;
      }
      function enable(namespaces) {
        createDebug.save(namespaces);
        createDebug.namespaces = namespaces;
        createDebug.names = [];
        createDebug.skips = [];
        const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(" ", ",").split(",").filter(Boolean);
        for (const ns of split) {
          if (ns[0] === "-") {
            createDebug.skips.push(ns.slice(1));
          } else {
            createDebug.names.push(ns);
          }
        }
      }
      function matchesTemplate(search, template) {
        let searchIndex = 0;
        let templateIndex = 0;
        let starIndex = -1;
        let matchIndex = 0;
        while (searchIndex < search.length) {
          if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
            if (template[templateIndex] === "*") {
              starIndex = templateIndex;
              matchIndex = searchIndex;
              templateIndex++;
            } else {
              searchIndex++;
              templateIndex++;
            }
          } else if (starIndex !== -1) {
            templateIndex = starIndex + 1;
            matchIndex++;
            searchIndex = matchIndex;
          } else {
            return false;
          }
        }
        while (templateIndex < template.length && template[templateIndex] === "*") {
          templateIndex++;
        }
        return templateIndex === template.length;
      }
      function disable() {
        const namespaces = [
          ...createDebug.names,
          ...createDebug.skips.map((namespace) => "-" + namespace)
        ].join(",");
        createDebug.enable("");
        return namespaces;
      }
      function enabled(name) {
        for (const skip of createDebug.skips) {
          if (matchesTemplate(name, skip)) {
            return false;
          }
        }
        for (const ns of createDebug.names) {
          if (matchesTemplate(name, ns)) {
            return true;
          }
        }
        return false;
      }
      function coerce(val) {
        if (val instanceof Error) {
          return val.stack || val.message;
        }
        return val;
      }
      function destroy() {
        console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
      }
      createDebug.enable(createDebug.load());
      return createDebug;
    }
    module2.exports = setup;
  }
});

// ../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js
var require_browser = __commonJS({
  "../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/browser.js"(exports2, module2) {
    exports2.formatArgs = formatArgs;
    exports2.save = save;
    exports2.load = load;
    exports2.useColors = useColors;
    exports2.storage = localstorage();
    exports2.destroy = /* @__PURE__ */ (() => {
      let warned = false;
      return () => {
        if (!warned) {
          warned = true;
          console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
        }
      };
    })();
    exports2.colors = [
      "#0000CC",
      "#0000FF",
      "#0033CC",
      "#0033FF",
      "#0066CC",
      "#0066FF",
      "#0099CC",
      "#0099FF",
      "#00CC00",
      "#00CC33",
      "#00CC66",
      "#00CC99",
      "#00CCCC",
      "#00CCFF",
      "#3300CC",
      "#3300FF",
      "#3333CC",
      "#3333FF",
      "#3366CC",
      "#3366FF",
      "#3399CC",
      "#3399FF",
      "#33CC00",
      "#33CC33",
      "#33CC66",
      "#33CC99",
      "#33CCCC",
      "#33CCFF",
      "#6600CC",
      "#6600FF",
      "#6633CC",
      "#6633FF",
      "#66CC00",
      "#66CC33",
      "#9900CC",
      "#9900FF",
      "#9933CC",
      "#9933FF",
      "#99CC00",
      "#99CC33",
      "#CC0000",
      "#CC0033",
      "#CC0066",
      "#CC0099",
      "#CC00CC",
      "#CC00FF",
      "#CC3300",
      "#CC3333",
      "#CC3366",
      "#CC3399",
      "#CC33CC",
      "#CC33FF",
      "#CC6600",
      "#CC6633",
      "#CC9900",
      "#CC9933",
      "#CCCC00",
      "#CCCC33",
      "#FF0000",
      "#FF0033",
      "#FF0066",
      "#FF0099",
      "#FF00CC",
      "#FF00FF",
      "#FF3300",
      "#FF3333",
      "#FF3366",
      "#FF3399",
      "#FF33CC",
      "#FF33FF",
      "#FF6600",
      "#FF6633",
      "#FF9900",
      "#FF9933",
      "#FFCC00",
      "#FFCC33"
    ];
    function useColors() {
      if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
        return true;
      }
      if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
        return false;
      }
      let m;
      return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
      typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
      // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
      typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
      typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
    }
    function formatArgs(args) {
      args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
      if (!this.useColors) {
        return;
      }
      const c = "color: " + this.color;
      args.splice(1, 0, c, "color: inherit");
      let index = 0;
      let lastC = 0;
      args[0].replace(/%[a-zA-Z%]/g, (match) => {
        if (match === "%%") {
          return;
        }
        index++;
        if (match === "%c") {
          lastC = index;
        }
      });
      args.splice(lastC, 0, c);
    }
    exports2.log = console.debug || console.log || (() => {
    });
    function save(namespaces) {
      try {
        if (namespaces) {
          exports2.storage.setItem("debug", namespaces);
        } else {
          exports2.storage.removeItem("debug");
        }
      } catch (error) {
      }
    }
    function load() {
      let r;
      try {
        r = exports2.storage.getItem("debug");
      } catch (error) {
      }
      if (!r && typeof process !== "undefined" && "env" in process) {
        r = process.env.DEBUG;
      }
      return r;
    }
    function localstorage() {
      try {
        return localStorage;
      } catch (error) {
      }
    }
    module2.exports = require_common2()(exports2);
    var { formatters } = module2.exports;
    formatters.j = function(v) {
      try {
        return JSON.stringify(v);
      } catch (error) {
        return "[UnexpectedJSONParseError]: " + error.message;
      }
    };
  }
});

// ../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js
var require_node2 = __commonJS({
  "../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/node.js"(exports2, module2) {
    var tty = require("tty");
    var util = require("util");
    exports2.init = init;
    exports2.log = log;
    exports2.formatArgs = formatArgs;
    exports2.save = save;
    exports2.load = load;
    exports2.useColors = useColors;
    exports2.destroy = util.deprecate(
      () => {
      },
      "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
    );
    exports2.colors = [6, 2, 3, 4, 5, 1];
    try {
      const supportsColor = require("supports-color");
      if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
        exports2.colors = [
          20,
          21,
          26,
          27,
          32,
          33,
          38,
          39,
          40,
          41,
          42,
          43,
          44,
          45,
          56,
          57,
          62,
          63,
          68,
          69,
          74,
          75,
          76,
          77,
          78,
          79,
          80,
          81,
          92,
          93,
          98,
          99,
          112,
          113,
          128,
          129,
          134,
          135,
          148,
          149,
          160,
          161,
          162,
          163,
          164,
          165,
          166,
          167,
          168,
          169,
          170,
          171,
          172,
          173,
          178,
          179,
          184,
          185,
          196,
          197,
          198,
          199,
          200,
          201,
          202,
          203,
          204,
          205,
          206,
          207,
          208,
          209,
          214,
          215,
          220,
          221
        ];
      }
    } catch (error) {
    }
    exports2.inspectOpts = Object.keys(process.env).filter((key) => {
      return /^debug_/i.test(key);
    }).reduce((obj, key) => {
      const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
        return k.toUpperCase();
      });
      let val = process.env[key];
      if (/^(yes|on|true|enabled)$/i.test(val)) {
        val = true;
      } else if (/^(no|off|false|disabled)$/i.test(val)) {
        val = false;
      } else if (val === "null") {
        val = null;
      } else {
        val = Number(val);
      }
      obj[prop] = val;
      return obj;
    }, {});
    function useColors() {
      return "colors" in exports2.inspectOpts ? Boolean(exports2.inspectOpts.colors) : tty.isatty(process.stderr.fd);
    }
    function formatArgs(args) {
      const { namespace: name, useColors: useColors2 } = this;
      if (useColors2) {
        const c = this.color;
        const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
        const prefix = `  ${colorCode};1m${name} \x1B[0m`;
        args[0] = prefix + args[0].split("\n").join("\n" + prefix);
        args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
      } else {
        args[0] = getDate() + name + " " + args[0];
      }
    }
    function getDate() {
      if (exports2.inspectOpts.hideDate) {
        return "";
      }
      return (/* @__PURE__ */ new Date()).toISOString() + " ";
    }
    function log(...args) {
      return process.stderr.write(util.formatWithOptions(exports2.inspectOpts, ...args) + "\n");
    }
    function save(namespaces) {
      if (namespaces) {
        process.env.DEBUG = namespaces;
      } else {
        delete process.env.DEBUG;
      }
    }
    function load() {
      return process.env.DEBUG;
    }
    function init(debug) {
      debug.inspectOpts = {};
      const keys = Object.keys(exports2.inspectOpts);
      for (let i = 0; i < keys.length; i++) {
        debug.inspectOpts[keys[i]] = exports2.inspectOpts[keys[i]];
      }
    }
    module2.exports = require_common2()(exports2);
    var { formatters } = module2.exports;
    formatters.o = function(v) {
      this.inspectOpts.colors = this.useColors;
      return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
    };
    formatters.O = function(v) {
      this.inspectOpts.colors = this.useColors;
      return util.inspect(v, this.inspectOpts);
    };
  }
});

// ../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js
var require_src3 = __commonJS({
  "../node_modules/.pnpm/debug@4.4.0/node_modules/debug/src/index.js"(exports2, module2) {
    if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
      module2.exports = require_browser();
    } else {
      module2.exports = require_node2();
    }
  }
});

// ../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js
var require_helpers = __commonJS({
  "../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/helpers.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.req = exports2.json = exports2.toBuffer = void 0;
    var http = __importStar3(require("http"));
    var https = __importStar3(require("https"));
    async function toBuffer(stream) {
      let length = 0;
      const chunks = [];
      for await (const chunk of stream) {
        length += chunk.length;
        chunks.push(chunk);
      }
      return Buffer.concat(chunks, length);
    }
    exports2.toBuffer = toBuffer;
    async function json(stream) {
      const buf = await toBuffer(stream);
      const str = buf.toString("utf8");
      try {
        return JSON.parse(str);
      } catch (_err) {
        const err = _err;
        err.message += ` (input: ${str})`;
        throw err;
      }
    }
    exports2.json = json;
    function req(url, opts = {}) {
      const href = typeof url === "string" ? url : url.href;
      const req2 = (href.startsWith("https:") ? https : http).request(url, opts);
      const promise = new Promise((resolve, reject) => {
        req2.once("response", resolve).once("error", reject).end();
      });
      req2.then = promise.then.bind(promise);
      return req2;
    }
    exports2.req = req;
  }
});

// ../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js
var require_dist10 = __commonJS({
  "../node_modules/.pnpm/agent-base@7.1.3/node_modules/agent-base/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Agent = void 0;
    var net = __importStar3(require("net"));
    var http = __importStar3(require("http"));
    var https_1 = require("https");
    __exportStar2(require_helpers(), exports2);
    var INTERNAL = Symbol("AgentBaseInternalState");
    var Agent = class extends http.Agent {
      constructor(opts) {
        super(opts);
        this[INTERNAL] = {};
      }
      /**
       * Determine whether this is an `http` or `https` request.
       */
      isSecureEndpoint(options) {
        if (options) {
          if (typeof options.secureEndpoint === "boolean") {
            return options.secureEndpoint;
          }
          if (typeof options.protocol === "string") {
            return options.protocol === "https:";
          }
        }
        const { stack } = new Error();
        if (typeof stack !== "string")
          return false;
        return stack.split("\n").some((l) => l.indexOf("(https.js:") !== -1 || l.indexOf("node:https:") !== -1);
      }
      // In order to support async signatures in `connect()` and Node's native
      // connection pooling in `http.Agent`, the array of sockets for each origin
      // has to be updated synchronously. This is so the length of the array is
      // accurate when `addRequest()` is next called. We achieve this by creating a
      // fake socket and adding it to `sockets[origin]` and incrementing
      // `totalSocketCount`.
      incrementSockets(name) {
        if (this.maxSockets === Infinity && this.maxTotalSockets === Infinity) {
          return null;
        }
        if (!this.sockets[name]) {
          this.sockets[name] = [];
        }
        const fakeSocket = new net.Socket({ writable: false });
        this.sockets[name].push(fakeSocket);
        this.totalSocketCount++;
        return fakeSocket;
      }
      decrementSockets(name, socket) {
        if (!this.sockets[name] || socket === null) {
          return;
        }
        const sockets = this.sockets[name];
        const index = sockets.indexOf(socket);
        if (index !== -1) {
          sockets.splice(index, 1);
          this.totalSocketCount--;
          if (sockets.length === 0) {
            delete this.sockets[name];
          }
        }
      }
      // In order to properly update the socket pool, we need to call `getName()` on
      // the core `https.Agent` if it is a secureEndpoint.
      getName(options) {
        const secureEndpoint = typeof options.secureEndpoint === "boolean" ? options.secureEndpoint : this.isSecureEndpoint(options);
        if (secureEndpoint) {
          return https_1.Agent.prototype.getName.call(this, options);
        }
        return super.getName(options);
      }
      createSocket(req, options, cb) {
        const connectOpts = {
          ...options,
          secureEndpoint: this.isSecureEndpoint(options)
        };
        const name = this.getName(connectOpts);
        const fakeSocket = this.incrementSockets(name);
        Promise.resolve().then(() => this.connect(req, connectOpts)).then((socket) => {
          this.decrementSockets(name, fakeSocket);
          if (socket instanceof http.Agent) {
            try {
              return socket.addRequest(req, connectOpts);
            } catch (err) {
              return cb(err);
            }
          }
          this[INTERNAL].currentSocket = socket;
          super.createSocket(req, options, cb);
        }, (err) => {
          this.decrementSockets(name, fakeSocket);
          cb(err);
        });
      }
      createConnection() {
        const socket = this[INTERNAL].currentSocket;
        this[INTERNAL].currentSocket = void 0;
        if (!socket) {
          throw new Error("No socket was returned in the `connect()` function");
        }
        return socket;
      }
      get defaultPort() {
        return this[INTERNAL].defaultPort ?? (this.protocol === "https:" ? 443 : 80);
      }
      set defaultPort(v) {
        if (this[INTERNAL]) {
          this[INTERNAL].defaultPort = v;
        }
      }
      get protocol() {
        return this[INTERNAL].protocol ?? (this.isSecureEndpoint() ? "https:" : "http:");
      }
      set protocol(v) {
        if (this[INTERNAL]) {
          this[INTERNAL].protocol = v;
        }
      }
    };
    exports2.Agent = Agent;
  }
});

// ../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js
var require_parse_proxy_response = __commonJS({
  "../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/parse-proxy-response.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseProxyResponse = void 0;
    var debug_1 = __importDefault2(require_src3());
    var debug = (0, debug_1.default)("https-proxy-agent:parse-proxy-response");
    function parseProxyResponse(socket) {
      return new Promise((resolve, reject) => {
        let buffersLength = 0;
        const buffers = [];
        function read() {
          const b = socket.read();
          if (b)
            ondata(b);
          else
            socket.once("readable", read);
        }
        function cleanup() {
          socket.removeListener("end", onend);
          socket.removeListener("error", onerror);
          socket.removeListener("readable", read);
        }
        function onend() {
          cleanup();
          debug("onend");
          reject(new Error("Proxy connection ended before receiving CONNECT response"));
        }
        function onerror(err) {
          cleanup();
          debug("onerror %o", err);
          reject(err);
        }
        function ondata(b) {
          buffers.push(b);
          buffersLength += b.length;
          const buffered = Buffer.concat(buffers, buffersLength);
          const endOfHeaders = buffered.indexOf("\r\n\r\n");
          if (endOfHeaders === -1) {
            debug("have not received end of HTTP headers yet...");
            read();
            return;
          }
          const headerParts = buffered.slice(0, endOfHeaders).toString("ascii").split("\r\n");
          const firstLine = headerParts.shift();
          if (!firstLine) {
            socket.destroy();
            return reject(new Error("No header received from proxy CONNECT response"));
          }
          const firstLineParts = firstLine.split(" ");
          const statusCode = +firstLineParts[1];
          const statusText = firstLineParts.slice(2).join(" ");
          const headers = {};
          for (const header of headerParts) {
            if (!header)
              continue;
            const firstColon = header.indexOf(":");
            if (firstColon === -1) {
              socket.destroy();
              return reject(new Error(`Invalid header from proxy CONNECT response: "${header}"`));
            }
            const key = header.slice(0, firstColon).toLowerCase();
            const value = header.slice(firstColon + 1).trimStart();
            const current = headers[key];
            if (typeof current === "string") {
              headers[key] = [current, value];
            } else if (Array.isArray(current)) {
              current.push(value);
            } else {
              headers[key] = value;
            }
          }
          debug("got proxy server response: %o %o", firstLine, headers);
          cleanup();
          resolve({
            connect: {
              statusCode,
              statusText,
              headers
            },
            buffered
          });
        }
        socket.on("error", onerror);
        socket.on("end", onend);
        read();
      });
    }
    exports2.parseProxyResponse = parseProxyResponse;
  }
});

// ../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js
var require_dist11 = __commonJS({
  "../node_modules/.pnpm/https-proxy-agent@7.0.6/node_modules/https-proxy-agent/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.HttpsProxyAgent = void 0;
    var net = __importStar3(require("net"));
    var tls = __importStar3(require("tls"));
    var assert_1 = __importDefault2(require("assert"));
    var debug_1 = __importDefault2(require_src3());
    var agent_base_1 = require_dist10();
    var url_1 = require("url");
    var parse_proxy_response_1 = require_parse_proxy_response();
    var debug = (0, debug_1.default)("https-proxy-agent");
    var setServernameFromNonIpHost = (options) => {
      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
        return {
          ...options,
          servername: options.host
        };
      }
      return options;
    };
    var HttpsProxyAgent = class extends agent_base_1.Agent {
      constructor(proxy, opts) {
        super(opts);
        this.options = { path: void 0 };
        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
        this.proxyHeaders = opts?.headers ?? {};
        debug("Creating new HttpsProxyAgent instance: %o", this.proxy.href);
        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
        this.connectOpts = {
          // Attempt to negotiate http/1.1 for proxy servers that support http/2
          ALPNProtocols: ["http/1.1"],
          ...opts ? omit(opts, "headers") : null,
          host,
          port
        };
      }
      /**
       * Called when the node-core HTTP client library is creating a
       * new HTTP request.
       */
      async connect(req, opts) {
        const { proxy } = this;
        if (!opts.host) {
          throw new TypeError('No "host" provided');
        }
        let socket;
        if (proxy.protocol === "https:") {
          debug("Creating `tls.Socket`: %o", this.connectOpts);
          socket = tls.connect(setServernameFromNonIpHost(this.connectOpts));
        } else {
          debug("Creating `net.Socket`: %o", this.connectOpts);
          socket = net.connect(this.connectOpts);
        }
        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
        const host = net.isIPv6(opts.host) ? `[${opts.host}]` : opts.host;
        let payload = `CONNECT ${host}:${opts.port} HTTP/1.1\r
`;
        if (proxy.username || proxy.password) {
          const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
        }
        headers.Host = `${host}:${opts.port}`;
        if (!headers["Proxy-Connection"]) {
          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
        }
        for (const name of Object.keys(headers)) {
          payload += `${name}: ${headers[name]}\r
`;
        }
        const proxyResponsePromise = (0, parse_proxy_response_1.parseProxyResponse)(socket);
        socket.write(`${payload}\r
`);
        const { connect, buffered } = await proxyResponsePromise;
        req.emit("proxyConnect", connect);
        this.emit("proxyConnect", connect, req);
        if (connect.statusCode === 200) {
          req.once("socket", resume);
          if (opts.secureEndpoint) {
            debug("Upgrading socket connection to TLS");
            return tls.connect({
              ...omit(setServernameFromNonIpHost(opts), "host", "path", "port"),
              socket
            });
          }
          return socket;
        }
        socket.destroy();
        const fakeSocket = new net.Socket({ writable: false });
        fakeSocket.readable = true;
        req.once("socket", (s) => {
          debug("Replaying proxy buffer for failed request");
          (0, assert_1.default)(s.listenerCount("data") > 0);
          s.push(buffered);
          s.push(null);
        });
        return fakeSocket;
      }
    };
    HttpsProxyAgent.protocols = ["http", "https"];
    exports2.HttpsProxyAgent = HttpsProxyAgent;
    function resume(socket) {
      socket.resume();
    }
    function omit(obj, ...keys) {
      const ret2 = {};
      let key;
      for (key in obj) {
        if (!keys.includes(key)) {
          ret2[key] = obj[key];
        }
      }
      return ret2;
    }
  }
});

// ../node_modules/.pnpm/http-proxy-agent@7.0.2/node_modules/http-proxy-agent/dist/index.js
var require_dist12 = __commonJS({
  "../node_modules/.pnpm/http-proxy-agent@7.0.2/node_modules/http-proxy-agent/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.HttpProxyAgent = void 0;
    var net = __importStar3(require("net"));
    var tls = __importStar3(require("tls"));
    var debug_1 = __importDefault2(require_src3());
    var events_1 = require("events");
    var agent_base_1 = require_dist10();
    var url_1 = require("url");
    var debug = (0, debug_1.default)("http-proxy-agent");
    var HttpProxyAgent = class extends agent_base_1.Agent {
      constructor(proxy, opts) {
        super(opts);
        this.proxy = typeof proxy === "string" ? new url_1.URL(proxy) : proxy;
        this.proxyHeaders = opts?.headers ?? {};
        debug("Creating new HttpProxyAgent instance: %o", this.proxy.href);
        const host = (this.proxy.hostname || this.proxy.host).replace(/^\[|\]$/g, "");
        const port = this.proxy.port ? parseInt(this.proxy.port, 10) : this.proxy.protocol === "https:" ? 443 : 80;
        this.connectOpts = {
          ...opts ? omit(opts, "headers") : null,
          host,
          port
        };
      }
      addRequest(req, opts) {
        req._header = null;
        this.setRequestProps(req, opts);
        super.addRequest(req, opts);
      }
      setRequestProps(req, opts) {
        const { proxy } = this;
        const protocol = opts.secureEndpoint ? "https:" : "http:";
        const hostname = req.getHeader("host") || "localhost";
        const base = `${protocol}//${hostname}`;
        const url = new url_1.URL(req.path, base);
        if (opts.port !== 80) {
          url.port = String(opts.port);
        }
        req.path = String(url);
        const headers = typeof this.proxyHeaders === "function" ? this.proxyHeaders() : { ...this.proxyHeaders };
        if (proxy.username || proxy.password) {
          const auth = `${decodeURIComponent(proxy.username)}:${decodeURIComponent(proxy.password)}`;
          headers["Proxy-Authorization"] = `Basic ${Buffer.from(auth).toString("base64")}`;
        }
        if (!headers["Proxy-Connection"]) {
          headers["Proxy-Connection"] = this.keepAlive ? "Keep-Alive" : "close";
        }
        for (const name of Object.keys(headers)) {
          const value = headers[name];
          if (value) {
            req.setHeader(name, value);
          }
        }
      }
      async connect(req, opts) {
        req._header = null;
        if (!req.path.includes("://")) {
          this.setRequestProps(req, opts);
        }
        let first;
        let endOfHeaders;
        debug("Regenerating stored HTTP header string for request");
        req._implicitHeader();
        if (req.outputData && req.outputData.length > 0) {
          debug("Patching connection write() output buffer with updated header");
          first = req.outputData[0].data;
          endOfHeaders = first.indexOf("\r\n\r\n") + 4;
          req.outputData[0].data = req._header + first.substring(endOfHeaders);
          debug("Output buffer: %o", req.outputData[0].data);
        }
        let socket;
        if (this.proxy.protocol === "https:") {
          debug("Creating `tls.Socket`: %o", this.connectOpts);
          socket = tls.connect(this.connectOpts);
        } else {
          debug("Creating `net.Socket`: %o", this.connectOpts);
          socket = net.connect(this.connectOpts);
        }
        await (0, events_1.once)(socket, "connect");
        return socket;
      }
    };
    HttpProxyAgent.protocols = ["http", "https"];
    exports2.HttpProxyAgent = HttpProxyAgent;
    function omit(obj, ...keys) {
      const ret2 = {};
      let key;
      for (key in obj) {
        if (!keys.includes(key)) {
          ret2[key] = obj[key];
        }
      }
      return ret2;
    }
  }
});

// ../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/utils.js
var require_utils8 = __commonJS({
  "../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/utils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var buffer_1 = require("buffer");
    var ERRORS = {
      INVALID_ENCODING: "Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.",
      INVALID_SMARTBUFFER_SIZE: "Invalid size provided. Size must be a valid integer greater than zero.",
      INVALID_SMARTBUFFER_BUFFER: "Invalid Buffer provided in SmartBufferOptions.",
      INVALID_SMARTBUFFER_OBJECT: "Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.",
      INVALID_OFFSET: "An invalid offset value was provided.",
      INVALID_OFFSET_NON_NUMBER: "An invalid offset value was provided. A numeric value is required.",
      INVALID_LENGTH: "An invalid length value was provided.",
      INVALID_LENGTH_NON_NUMBER: "An invalid length value was provived. A numeric value is required.",
      INVALID_TARGET_OFFSET: "Target offset is beyond the bounds of the internal SmartBuffer data.",
      INVALID_TARGET_LENGTH: "Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.",
      INVALID_READ_BEYOND_BOUNDS: "Attempted to read beyond the bounds of the managed data.",
      INVALID_WRITE_BEYOND_BOUNDS: "Attempted to write beyond the bounds of the managed data."
    };
    exports2.ERRORS = ERRORS;
    function checkEncoding(encoding) {
      if (!buffer_1.Buffer.isEncoding(encoding)) {
        throw new Error(ERRORS.INVALID_ENCODING);
      }
    }
    exports2.checkEncoding = checkEncoding;
    function isFiniteInteger(value) {
      return typeof value === "number" && isFinite(value) && isInteger(value);
    }
    exports2.isFiniteInteger = isFiniteInteger;
    function checkOffsetOrLengthValue(value, offset) {
      if (typeof value === "number") {
        if (!isFiniteInteger(value) || value < 0) {
          throw new Error(offset ? ERRORS.INVALID_OFFSET : ERRORS.INVALID_LENGTH);
        }
      } else {
        throw new Error(offset ? ERRORS.INVALID_OFFSET_NON_NUMBER : ERRORS.INVALID_LENGTH_NON_NUMBER);
      }
    }
    function checkLengthValue(length) {
      checkOffsetOrLengthValue(length, false);
    }
    exports2.checkLengthValue = checkLengthValue;
    function checkOffsetValue(offset) {
      checkOffsetOrLengthValue(offset, true);
    }
    exports2.checkOffsetValue = checkOffsetValue;
    function checkTargetOffset(offset, buff) {
      if (offset < 0 || offset > buff.length) {
        throw new Error(ERRORS.INVALID_TARGET_OFFSET);
      }
    }
    exports2.checkTargetOffset = checkTargetOffset;
    function isInteger(value) {
      return typeof value === "number" && isFinite(value) && Math.floor(value) === value;
    }
    function bigIntAndBufferInt64Check(bufferMethod) {
      if (typeof BigInt === "undefined") {
        throw new Error("Platform does not support JS BigInt type.");
      }
      if (typeof buffer_1.Buffer.prototype[bufferMethod] === "undefined") {
        throw new Error(`Platform does not support Buffer.prototype.${bufferMethod}.`);
      }
    }
    exports2.bigIntAndBufferInt64Check = bigIntAndBufferInt64Check;
  }
});

// ../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/smartbuffer.js
var require_smartbuffer = __commonJS({
  "../node_modules/.pnpm/smart-buffer@4.2.0/node_modules/smart-buffer/build/smartbuffer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils_1 = require_utils8();
    var DEFAULT_SMARTBUFFER_SIZE = 4096;
    var DEFAULT_SMARTBUFFER_ENCODING = "utf8";
    var SmartBuffer = class _SmartBuffer {
      /**
       * Creates a new SmartBuffer instance.
       *
       * @param options { SmartBufferOptions } The SmartBufferOptions to apply to this instance.
       */
      constructor(options) {
        this.length = 0;
        this._encoding = DEFAULT_SMARTBUFFER_ENCODING;
        this._writeOffset = 0;
        this._readOffset = 0;
        if (_SmartBuffer.isSmartBufferOptions(options)) {
          if (options.encoding) {
            utils_1.checkEncoding(options.encoding);
            this._encoding = options.encoding;
          }
          if (options.size) {
            if (utils_1.isFiniteInteger(options.size) && options.size > 0) {
              this._buff = Buffer.allocUnsafe(options.size);
            } else {
              throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_SIZE);
            }
          } else if (options.buff) {
            if (Buffer.isBuffer(options.buff)) {
              this._buff = options.buff;
              this.length = options.buff.length;
            } else {
              throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_BUFFER);
            }
          } else {
            this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
          }
        } else {
          if (typeof options !== "undefined") {
            throw new Error(utils_1.ERRORS.INVALID_SMARTBUFFER_OBJECT);
          }
          this._buff = Buffer.allocUnsafe(DEFAULT_SMARTBUFFER_SIZE);
        }
      }
      /**
       * Creates a new SmartBuffer instance with the provided internal Buffer size and optional encoding.
       *
       * @param size { Number } The size of the internal Buffer.
       * @param encoding { String } The BufferEncoding to use for strings.
       *
       * @return { SmartBuffer }
       */
      static fromSize(size, encoding) {
        return new this({
          size,
          encoding
        });
      }
      /**
       * Creates a new SmartBuffer instance with the provided Buffer and optional encoding.
       *
       * @param buffer { Buffer } The Buffer to use as the internal Buffer value.
       * @param encoding { String } The BufferEncoding to use for strings.
       *
       * @return { SmartBuffer }
       */
      static fromBuffer(buff, encoding) {
        return new this({
          buff,
          encoding
        });
      }
      /**
       * Creates a new SmartBuffer instance with the provided SmartBufferOptions options.
       *
       * @param options { SmartBufferOptions } The options to use when creating the SmartBuffer instance.
       */
      static fromOptions(options) {
        return new this(options);
      }
      /**
       * Type checking function that determines if an object is a SmartBufferOptions object.
       */
      static isSmartBufferOptions(options) {
        const castOptions = options;
        return castOptions && (castOptions.encoding !== void 0 || castOptions.size !== void 0 || castOptions.buff !== void 0);
      }
      // Signed integers
      /**
       * Reads an Int8 value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readInt8(offset) {
        return this._readNumberValue(Buffer.prototype.readInt8, 1, offset);
      }
      /**
       * Reads an Int16BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readInt16BE(offset) {
        return this._readNumberValue(Buffer.prototype.readInt16BE, 2, offset);
      }
      /**
       * Reads an Int16LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readInt16LE(offset) {
        return this._readNumberValue(Buffer.prototype.readInt16LE, 2, offset);
      }
      /**
       * Reads an Int32BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readInt32BE(offset) {
        return this._readNumberValue(Buffer.prototype.readInt32BE, 4, offset);
      }
      /**
       * Reads an Int32LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readInt32LE(offset) {
        return this._readNumberValue(Buffer.prototype.readInt32LE, 4, offset);
      }
      /**
       * Reads a BigInt64BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { BigInt }
       */
      readBigInt64BE(offset) {
        utils_1.bigIntAndBufferInt64Check("readBigInt64BE");
        return this._readNumberValue(Buffer.prototype.readBigInt64BE, 8, offset);
      }
      /**
       * Reads a BigInt64LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { BigInt }
       */
      readBigInt64LE(offset) {
        utils_1.bigIntAndBufferInt64Check("readBigInt64LE");
        return this._readNumberValue(Buffer.prototype.readBigInt64LE, 8, offset);
      }
      /**
       * Writes an Int8 value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeInt8(value, offset) {
        this._writeNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
        return this;
      }
      /**
       * Inserts an Int8 value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertInt8(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeInt8, 1, value, offset);
      }
      /**
       * Writes an Int16BE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeInt16BE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
      }
      /**
       * Inserts an Int16BE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertInt16BE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeInt16BE, 2, value, offset);
      }
      /**
       * Writes an Int16LE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeInt16LE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
      }
      /**
       * Inserts an Int16LE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertInt16LE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeInt16LE, 2, value, offset);
      }
      /**
       * Writes an Int32BE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeInt32BE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
      }
      /**
       * Inserts an Int32BE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertInt32BE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeInt32BE, 4, value, offset);
      }
      /**
       * Writes an Int32LE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeInt32LE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
      }
      /**
       * Inserts an Int32LE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertInt32LE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeInt32LE, 4, value, offset);
      }
      /**
       * Writes a BigInt64BE value to the current write position (or at optional offset).
       *
       * @param value { BigInt } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeBigInt64BE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigInt64BE");
        return this._writeNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
      }
      /**
       * Inserts a BigInt64BE value at the given offset value.
       *
       * @param value { BigInt } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertBigInt64BE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigInt64BE");
        return this._insertNumberValue(Buffer.prototype.writeBigInt64BE, 8, value, offset);
      }
      /**
       * Writes a BigInt64LE value to the current write position (or at optional offset).
       *
       * @param value { BigInt } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeBigInt64LE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigInt64LE");
        return this._writeNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
      }
      /**
       * Inserts a Int64LE value at the given offset value.
       *
       * @param value { BigInt } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertBigInt64LE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigInt64LE");
        return this._insertNumberValue(Buffer.prototype.writeBigInt64LE, 8, value, offset);
      }
      // Unsigned Integers
      /**
       * Reads an UInt8 value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readUInt8(offset) {
        return this._readNumberValue(Buffer.prototype.readUInt8, 1, offset);
      }
      /**
       * Reads an UInt16BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readUInt16BE(offset) {
        return this._readNumberValue(Buffer.prototype.readUInt16BE, 2, offset);
      }
      /**
       * Reads an UInt16LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readUInt16LE(offset) {
        return this._readNumberValue(Buffer.prototype.readUInt16LE, 2, offset);
      }
      /**
       * Reads an UInt32BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readUInt32BE(offset) {
        return this._readNumberValue(Buffer.prototype.readUInt32BE, 4, offset);
      }
      /**
       * Reads an UInt32LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readUInt32LE(offset) {
        return this._readNumberValue(Buffer.prototype.readUInt32LE, 4, offset);
      }
      /**
       * Reads a BigUInt64BE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { BigInt }
       */
      readBigUInt64BE(offset) {
        utils_1.bigIntAndBufferInt64Check("readBigUInt64BE");
        return this._readNumberValue(Buffer.prototype.readBigUInt64BE, 8, offset);
      }
      /**
       * Reads a BigUInt64LE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { BigInt }
       */
      readBigUInt64LE(offset) {
        utils_1.bigIntAndBufferInt64Check("readBigUInt64LE");
        return this._readNumberValue(Buffer.prototype.readBigUInt64LE, 8, offset);
      }
      /**
       * Writes an UInt8 value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeUInt8(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
      }
      /**
       * Inserts an UInt8 value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertUInt8(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeUInt8, 1, value, offset);
      }
      /**
       * Writes an UInt16BE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeUInt16BE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
      }
      /**
       * Inserts an UInt16BE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertUInt16BE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeUInt16BE, 2, value, offset);
      }
      /**
       * Writes an UInt16LE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeUInt16LE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
      }
      /**
       * Inserts an UInt16LE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertUInt16LE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeUInt16LE, 2, value, offset);
      }
      /**
       * Writes an UInt32BE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeUInt32BE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
      }
      /**
       * Inserts an UInt32BE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertUInt32BE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeUInt32BE, 4, value, offset);
      }
      /**
       * Writes an UInt32LE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeUInt32LE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
      }
      /**
       * Inserts an UInt32LE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertUInt32LE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeUInt32LE, 4, value, offset);
      }
      /**
       * Writes a BigUInt64BE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeBigUInt64BE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE");
        return this._writeNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
      }
      /**
       * Inserts a BigUInt64BE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertBigUInt64BE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigUInt64BE");
        return this._insertNumberValue(Buffer.prototype.writeBigUInt64BE, 8, value, offset);
      }
      /**
       * Writes a BigUInt64LE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeBigUInt64LE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE");
        return this._writeNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
      }
      /**
       * Inserts a BigUInt64LE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertBigUInt64LE(value, offset) {
        utils_1.bigIntAndBufferInt64Check("writeBigUInt64LE");
        return this._insertNumberValue(Buffer.prototype.writeBigUInt64LE, 8, value, offset);
      }
      // Floating Point
      /**
       * Reads an FloatBE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readFloatBE(offset) {
        return this._readNumberValue(Buffer.prototype.readFloatBE, 4, offset);
      }
      /**
       * Reads an FloatLE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readFloatLE(offset) {
        return this._readNumberValue(Buffer.prototype.readFloatLE, 4, offset);
      }
      /**
       * Writes a FloatBE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeFloatBE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
      }
      /**
       * Inserts a FloatBE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertFloatBE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeFloatBE, 4, value, offset);
      }
      /**
       * Writes a FloatLE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeFloatLE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
      }
      /**
       * Inserts a FloatLE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertFloatLE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeFloatLE, 4, value, offset);
      }
      // Double Floating Point
      /**
       * Reads an DoublEBE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readDoubleBE(offset) {
        return this._readNumberValue(Buffer.prototype.readDoubleBE, 8, offset);
      }
      /**
       * Reads an DoubleLE value from the current read position or an optionally provided offset.
       *
       * @param offset { Number } The offset to read data from (optional)
       * @return { Number }
       */
      readDoubleLE(offset) {
        return this._readNumberValue(Buffer.prototype.readDoubleLE, 8, offset);
      }
      /**
       * Writes a DoubleBE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeDoubleBE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
      }
      /**
       * Inserts a DoubleBE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertDoubleBE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeDoubleBE, 8, value, offset);
      }
      /**
       * Writes a DoubleLE value to the current write position (or at optional offset).
       *
       * @param value { Number } The value to write.
       * @param offset { Number } The offset to write the value at.
       *
       * @return this
       */
      writeDoubleLE(value, offset) {
        return this._writeNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
      }
      /**
       * Inserts a DoubleLE value at the given offset value.
       *
       * @param value { Number } The value to insert.
       * @param offset { Number } The offset to insert the value at.
       *
       * @return this
       */
      insertDoubleLE(value, offset) {
        return this._insertNumberValue(Buffer.prototype.writeDoubleLE, 8, value, offset);
      }
      // Strings
      /**
       * Reads a String from the current read position.
       *
       * @param arg1 { Number | String } The number of bytes to read as a String, or the BufferEncoding to use for
       *             the string (Defaults to instance level encoding).
       * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
       *
       * @return { String }
       */
      readString(arg1, encoding) {
        let lengthVal;
        if (typeof arg1 === "number") {
          utils_1.checkLengthValue(arg1);
          lengthVal = Math.min(arg1, this.length - this._readOffset);
        } else {
          encoding = arg1;
          lengthVal = this.length - this._readOffset;
        }
        if (typeof encoding !== "undefined") {
          utils_1.checkEncoding(encoding);
        }
        const value = this._buff.slice(this._readOffset, this._readOffset + lengthVal).toString(encoding || this._encoding);
        this._readOffset += lengthVal;
        return value;
      }
      /**
       * Inserts a String
       *
       * @param value { String } The String value to insert.
       * @param offset { Number } The offset to insert the string at.
       * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
       *
       * @return this
       */
      insertString(value, offset, encoding) {
        utils_1.checkOffsetValue(offset);
        return this._handleString(value, true, offset, encoding);
      }
      /**
       * Writes a String
       *
       * @param value { String } The String value to write.
       * @param arg2 { Number | String } The offset to write the string at, or the BufferEncoding to use.
       * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
       *
       * @return this
       */
      writeString(value, arg2, encoding) {
        return this._handleString(value, false, arg2, encoding);
      }
      /**
       * Reads a null-terminated String from the current read position.
       *
       * @param encoding { String } The BufferEncoding to use for the string (Defaults to instance level encoding).
       *
       * @return { String }
       */
      readStringNT(encoding) {
        if (typeof encoding !== "undefined") {
          utils_1.checkEncoding(encoding);
        }
        let nullPos = this.length;
        for (let i = this._readOffset; i < this.length; i++) {
          if (this._buff[i] === 0) {
            nullPos = i;
            break;
          }
        }
        const value = this._buff.slice(this._readOffset, nullPos);
        this._readOffset = nullPos + 1;
        return value.toString(encoding || this._encoding);
      }
      /**
       * Inserts a null-terminated String.
       *
       * @param value { String } The String value to write.
       * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
       * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
       *
       * @return this
       */
      insertStringNT(value, offset, encoding) {
        utils_1.checkOffsetValue(offset);
        this.insertString(value, offset, encoding);
        this.insertUInt8(0, offset + value.length);
        return this;
      }
      /**
       * Writes a null-terminated String.
       *
       * @param value { String } The String value to write.
       * @param arg2 { Number | String } The offset to write the string to, or the BufferEncoding to use.
       * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
       *
       * @return this
       */
      writeStringNT(value, arg2, encoding) {
        this.writeString(value, arg2, encoding);
        this.writeUInt8(0, typeof arg2 === "number" ? arg2 + value.length : this.writeOffset);
        return this;
      }
      // Buffers
      /**
       * Reads a Buffer from the internal read position.
       *
       * @param length { Number } The length of data to read as a Buffer.
       *
       * @return { Buffer }
       */
      readBuffer(length) {
        if (typeof length !== "undefined") {
          utils_1.checkLengthValue(length);
        }
        const lengthVal = typeof length === "number" ? length : this.length;
        const endPoint = Math.min(this.length, this._readOffset + lengthVal);
        const value = this._buff.slice(this._readOffset, endPoint);
        this._readOffset = endPoint;
        return value;
      }
      /**
       * Writes a Buffer to the current write position.
       *
       * @param value { Buffer } The Buffer to write.
       * @param offset { Number } The offset to write the Buffer to.
       *
       * @return this
       */
      insertBuffer(value, offset) {
        utils_1.checkOffsetValue(offset);
        return this._handleBuffer(value, true, offset);
      }
      /**
       * Writes a Buffer to the current write position.
       *
       * @param value { Buffer } The Buffer to write.
       * @param offset { Number } The offset to write the Buffer to.
       *
       * @return this
       */
      writeBuffer(value, offset) {
        return this._handleBuffer(value, false, offset);
      }
      /**
       * Reads a null-terminated Buffer from the current read poisiton.
       *
       * @return { Buffer }
       */
      readBufferNT() {
        let nullPos = this.length;
        for (let i = this._readOffset; i < this.length; i++) {
          if (this._buff[i] === 0) {
            nullPos = i;
            break;
          }
        }
        const value = this._buff.slice(this._readOffset, nullPos);
        this._readOffset = nullPos + 1;
        return value;
      }
      /**
       * Inserts a null-terminated Buffer.
       *
       * @param value { Buffer } The Buffer to write.
       * @param offset { Number } The offset to write the Buffer to.
       *
       * @return this
       */
      insertBufferNT(value, offset) {
        utils_1.checkOffsetValue(offset);
        this.insertBuffer(value, offset);
        this.insertUInt8(0, offset + value.length);
        return this;
      }
      /**
       * Writes a null-terminated Buffer.
       *
       * @param value { Buffer } The Buffer to write.
       * @param offset { Number } The offset to write the Buffer to.
       *
       * @return this
       */
      writeBufferNT(value, offset) {
        if (typeof offset !== "undefined") {
          utils_1.checkOffsetValue(offset);
        }
        this.writeBuffer(value, offset);
        this.writeUInt8(0, typeof offset === "number" ? offset + value.length : this._writeOffset);
        return this;
      }
      /**
       * Clears the SmartBuffer instance to its original empty state.
       */
      clear() {
        this._writeOffset = 0;
        this._readOffset = 0;
        this.length = 0;
        return this;
      }
      /**
       * Gets the remaining data left to be read from the SmartBuffer instance.
       *
       * @return { Number }
       */
      remaining() {
        return this.length - this._readOffset;
      }
      /**
       * Gets the current read offset value of the SmartBuffer instance.
       *
       * @return { Number }
       */
      get readOffset() {
        return this._readOffset;
      }
      /**
       * Sets the read offset value of the SmartBuffer instance.
       *
       * @param offset { Number } - The offset value to set.
       */
      set readOffset(offset) {
        utils_1.checkOffsetValue(offset);
        utils_1.checkTargetOffset(offset, this);
        this._readOffset = offset;
      }
      /**
       * Gets the current write offset value of the SmartBuffer instance.
       *
       * @return { Number }
       */
      get writeOffset() {
        return this._writeOffset;
      }
      /**
       * Sets the write offset value of the SmartBuffer instance.
       *
       * @param offset { Number } - The offset value to set.
       */
      set writeOffset(offset) {
        utils_1.checkOffsetValue(offset);
        utils_1.checkTargetOffset(offset, this);
        this._writeOffset = offset;
      }
      /**
       * Gets the currently set string encoding of the SmartBuffer instance.
       *
       * @return { BufferEncoding } The string Buffer encoding currently set.
       */
      get encoding() {
        return this._encoding;
      }
      /**
       * Sets the string encoding of the SmartBuffer instance.
       *
       * @param encoding { BufferEncoding } The string Buffer encoding to set.
       */
      set encoding(encoding) {
        utils_1.checkEncoding(encoding);
        this._encoding = encoding;
      }
      /**
       * Gets the underlying internal Buffer. (This includes unmanaged data in the Buffer)
       *
       * @return { Buffer } The Buffer value.
       */
      get internalBuffer() {
        return this._buff;
      }
      /**
       * Gets the value of the internal managed Buffer (Includes managed data only)
       *
       * @param { Buffer }
       */
      toBuffer() {
        return this._buff.slice(0, this.length);
      }
      /**
       * Gets the String value of the internal managed Buffer
       *
       * @param encoding { String } The BufferEncoding to display the Buffer as (defaults to instance level encoding).
       */
      toString(encoding) {
        const encodingVal = typeof encoding === "string" ? encoding : this._encoding;
        utils_1.checkEncoding(encodingVal);
        return this._buff.toString(encodingVal, 0, this.length);
      }
      /**
       * Destroys the SmartBuffer instance.
       */
      destroy() {
        this.clear();
        return this;
      }
      /**
       * Handles inserting and writing strings.
       *
       * @param value { String } The String value to insert.
       * @param isInsert { Boolean } True if inserting a string, false if writing.
       * @param arg2 { Number | String } The offset to insert the string at, or the BufferEncoding to use.
       * @param encoding { String } The BufferEncoding to use for writing strings (defaults to instance encoding).
       */
      _handleString(value, isInsert, arg3, encoding) {
        let offsetVal = this._writeOffset;
        let encodingVal = this._encoding;
        if (typeof arg3 === "number") {
          offsetVal = arg3;
        } else if (typeof arg3 === "string") {
          utils_1.checkEncoding(arg3);
          encodingVal = arg3;
        }
        if (typeof encoding === "string") {
          utils_1.checkEncoding(encoding);
          encodingVal = encoding;
        }
        const byteLength = Buffer.byteLength(value, encodingVal);
        if (isInsert) {
          this.ensureInsertable(byteLength, offsetVal);
        } else {
          this._ensureWriteable(byteLength, offsetVal);
        }
        this._buff.write(value, offsetVal, byteLength, encodingVal);
        if (isInsert) {
          this._writeOffset += byteLength;
        } else {
          if (typeof arg3 === "number") {
            this._writeOffset = Math.max(this._writeOffset, offsetVal + byteLength);
          } else {
            this._writeOffset += byteLength;
          }
        }
        return this;
      }
      /**
       * Handles writing or insert of a Buffer.
       *
       * @param value { Buffer } The Buffer to write.
       * @param offset { Number } The offset to write the Buffer to.
       */
      _handleBuffer(value, isInsert, offset) {
        const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
        if (isInsert) {
          this.ensureInsertable(value.length, offsetVal);
        } else {
          this._ensureWriteable(value.length, offsetVal);
        }
        value.copy(this._buff, offsetVal);
        if (isInsert) {
          this._writeOffset += value.length;
        } else {
          if (typeof offset === "number") {
            this._writeOffset = Math.max(this._writeOffset, offsetVal + value.length);
          } else {
            this._writeOffset += value.length;
          }
        }
        return this;
      }
      /**
       * Ensures that the internal Buffer is large enough to read data.
       *
       * @param length { Number } The length of the data that needs to be read.
       * @param offset { Number } The offset of the data that needs to be read.
       */
      ensureReadable(length, offset) {
        let offsetVal = this._readOffset;
        if (typeof offset !== "undefined") {
          utils_1.checkOffsetValue(offset);
          offsetVal = offset;
        }
        if (offsetVal < 0 || offsetVal + length > this.length) {
          throw new Error(utils_1.ERRORS.INVALID_READ_BEYOND_BOUNDS);
        }
      }
      /**
       * Ensures that the internal Buffer is large enough to insert data.
       *
       * @param dataLength { Number } The length of the data that needs to be written.
       * @param offset { Number } The offset of the data to be written.
       */
      ensureInsertable(dataLength, offset) {
        utils_1.checkOffsetValue(offset);
        this._ensureCapacity(this.length + dataLength);
        if (offset < this.length) {
          this._buff.copy(this._buff, offset + dataLength, offset, this._buff.length);
        }
        if (offset + dataLength > this.length) {
          this.length = offset + dataLength;
        } else {
          this.length += dataLength;
        }
      }
      /**
       * Ensures that the internal Buffer is large enough to write data.
       *
       * @param dataLength { Number } The length of the data that needs to be written.
       * @param offset { Number } The offset of the data to be written (defaults to writeOffset).
       */
      _ensureWriteable(dataLength, offset) {
        const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
        this._ensureCapacity(offsetVal + dataLength);
        if (offsetVal + dataLength > this.length) {
          this.length = offsetVal + dataLength;
        }
      }
      /**
       * Ensures that the internal Buffer is large enough to write at least the given amount of data.
       *
       * @param minLength { Number } The minimum length of the data needs to be written.
       */
      _ensureCapacity(minLength) {
        const oldLength = this._buff.length;
        if (minLength > oldLength) {
          let data = this._buff;
          let newLength = oldLength * 3 / 2 + 1;
          if (newLength < minLength) {
            newLength = minLength;
          }
          this._buff = Buffer.allocUnsafe(newLength);
          data.copy(this._buff, 0, 0, oldLength);
        }
      }
      /**
       * Reads a numeric number value using the provided function.
       *
       * @typeparam T { number | bigint } The type of the value to be read
       *
       * @param func { Function(offset: number) => number } The function to read data on the internal Buffer with.
       * @param byteSize { Number } The number of bytes read.
       * @param offset { Number } The offset to read from (optional). When this is not provided, the managed readOffset is used instead.
       *
       * @returns { T } the number value
       */
      _readNumberValue(func, byteSize, offset) {
        this.ensureReadable(byteSize, offset);
        const value = func.call(this._buff, typeof offset === "number" ? offset : this._readOffset);
        if (typeof offset === "undefined") {
          this._readOffset += byteSize;
        }
        return value;
      }
      /**
       * Inserts a numeric number value based on the given offset and value.
       *
       * @typeparam T { number | bigint } The type of the value to be written
       *
       * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
       * @param byteSize { Number } The number of bytes written.
       * @param value { T } The number value to write.
       * @param offset { Number } the offset to write the number at (REQUIRED).
       *
       * @returns SmartBuffer this buffer
       */
      _insertNumberValue(func, byteSize, value, offset) {
        utils_1.checkOffsetValue(offset);
        this.ensureInsertable(byteSize, offset);
        func.call(this._buff, value, offset);
        this._writeOffset += byteSize;
        return this;
      }
      /**
       * Writes a numeric number value based on the given offset and value.
       *
       * @typeparam T { number | bigint } The type of the value to be written
       *
       * @param func { Function(offset: T, offset?) => number} The function to write data on the internal Buffer with.
       * @param byteSize { Number } The number of bytes written.
       * @param value { T } The number value to write.
       * @param offset { Number } the offset to write the number at (REQUIRED).
       *
       * @returns SmartBuffer this buffer
       */
      _writeNumberValue(func, byteSize, value, offset) {
        if (typeof offset === "number") {
          if (offset < 0) {
            throw new Error(utils_1.ERRORS.INVALID_WRITE_BEYOND_BOUNDS);
          }
          utils_1.checkOffsetValue(offset);
        }
        const offsetVal = typeof offset === "number" ? offset : this._writeOffset;
        this._ensureWriteable(byteSize, offsetVal);
        func.call(this._buff, value, offsetVal);
        if (typeof offset === "number") {
          this._writeOffset = Math.max(this._writeOffset, offsetVal + byteSize);
        } else {
          this._writeOffset += byteSize;
        }
        return this;
      }
    };
    exports2.SmartBuffer = SmartBuffer;
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/constants.js
var require_constants7 = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SOCKS5_NO_ACCEPTABLE_AUTH = exports2.SOCKS5_CUSTOM_AUTH_END = exports2.SOCKS5_CUSTOM_AUTH_START = exports2.SOCKS_INCOMING_PACKET_SIZES = exports2.SocksClientState = exports2.Socks5Response = exports2.Socks5HostType = exports2.Socks5Auth = exports2.Socks4Response = exports2.SocksCommand = exports2.ERRORS = exports2.DEFAULT_TIMEOUT = void 0;
    var DEFAULT_TIMEOUT = 3e4;
    exports2.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;
    var ERRORS = {
      InvalidSocksCommand: "An invalid SOCKS command was provided. Valid options are connect, bind, and associate.",
      InvalidSocksCommandForOperation: "An invalid SOCKS command was provided. Only a subset of commands are supported for this operation.",
      InvalidSocksCommandChain: "An invalid SOCKS command was provided. Chaining currently only supports the connect command.",
      InvalidSocksClientOptionsDestination: "An invalid destination host was provided.",
      InvalidSocksClientOptionsExistingSocket: "An invalid existing socket was provided. This should be an instance of stream.Duplex.",
      InvalidSocksClientOptionsProxy: "Invalid SOCKS proxy details were provided.",
      InvalidSocksClientOptionsTimeout: "An invalid timeout value was provided. Please enter a value above 0 (in ms).",
      InvalidSocksClientOptionsProxiesLength: "At least two socks proxies must be provided for chaining.",
      InvalidSocksClientOptionsCustomAuthRange: "Custom auth must be a value between 0x80 and 0xFE.",
      InvalidSocksClientOptionsCustomAuthOptions: "When a custom_auth_method is provided, custom_auth_request_handler, custom_auth_response_size, and custom_auth_response_handler must also be provided and valid.",
      NegotiationError: "Negotiation error",
      SocketClosed: "Socket closed",
      ProxyConnectionTimedOut: "Proxy connection timed out",
      InternalError: "SocksClient internal error (this should not happen)",
      InvalidSocks4HandshakeResponse: "Received invalid Socks4 handshake response",
      Socks4ProxyRejectedConnection: "Socks4 Proxy rejected connection",
      InvalidSocks4IncomingConnectionResponse: "Socks4 invalid incoming connection response",
      Socks4ProxyRejectedIncomingBoundConnection: "Socks4 Proxy rejected incoming bound connection",
      InvalidSocks5InitialHandshakeResponse: "Received invalid Socks5 initial handshake response",
      InvalidSocks5IntiailHandshakeSocksVersion: "Received invalid Socks5 initial handshake (invalid socks version)",
      InvalidSocks5InitialHandshakeNoAcceptedAuthType: "Received invalid Socks5 initial handshake (no accepted authentication type)",
      InvalidSocks5InitialHandshakeUnknownAuthType: "Received invalid Socks5 initial handshake (unknown authentication type)",
      Socks5AuthenticationFailed: "Socks5 Authentication failed",
      InvalidSocks5FinalHandshake: "Received invalid Socks5 final handshake response",
      InvalidSocks5FinalHandshakeRejected: "Socks5 proxy rejected connection",
      InvalidSocks5IncomingConnectionResponse: "Received invalid Socks5 incoming connection response",
      Socks5ProxyRejectedIncomingBoundConnection: "Socks5 Proxy rejected incoming bound connection"
    };
    exports2.ERRORS = ERRORS;
    var SOCKS_INCOMING_PACKET_SIZES = {
      Socks5InitialHandshakeResponse: 2,
      Socks5UserPassAuthenticationResponse: 2,
      // Command response + incoming connection (bind)
      Socks5ResponseHeader: 5,
      // We need at least 5 to read the hostname length, then we wait for the address+port information.
      Socks5ResponseIPv4: 10,
      // 4 header + 4 ip + 2 port
      Socks5ResponseIPv6: 22,
      // 4 header + 16 ip + 2 port
      Socks5ResponseHostname: (hostNameLength) => hostNameLength + 7,
      // 4 header + 1 host length + host + 2 port
      // Command response + incoming connection (bind)
      Socks4Response: 8
      // 2 header + 2 port + 4 ip
    };
    exports2.SOCKS_INCOMING_PACKET_SIZES = SOCKS_INCOMING_PACKET_SIZES;
    var SocksCommand;
    (function(SocksCommand2) {
      SocksCommand2[SocksCommand2["connect"] = 1] = "connect";
      SocksCommand2[SocksCommand2["bind"] = 2] = "bind";
      SocksCommand2[SocksCommand2["associate"] = 3] = "associate";
    })(SocksCommand || (exports2.SocksCommand = SocksCommand = {}));
    var Socks4Response;
    (function(Socks4Response2) {
      Socks4Response2[Socks4Response2["Granted"] = 90] = "Granted";
      Socks4Response2[Socks4Response2["Failed"] = 91] = "Failed";
      Socks4Response2[Socks4Response2["Rejected"] = 92] = "Rejected";
      Socks4Response2[Socks4Response2["RejectedIdent"] = 93] = "RejectedIdent";
    })(Socks4Response || (exports2.Socks4Response = Socks4Response = {}));
    var Socks5Auth;
    (function(Socks5Auth2) {
      Socks5Auth2[Socks5Auth2["NoAuth"] = 0] = "NoAuth";
      Socks5Auth2[Socks5Auth2["GSSApi"] = 1] = "GSSApi";
      Socks5Auth2[Socks5Auth2["UserPass"] = 2] = "UserPass";
    })(Socks5Auth || (exports2.Socks5Auth = Socks5Auth = {}));
    var SOCKS5_CUSTOM_AUTH_START = 128;
    exports2.SOCKS5_CUSTOM_AUTH_START = SOCKS5_CUSTOM_AUTH_START;
    var SOCKS5_CUSTOM_AUTH_END = 254;
    exports2.SOCKS5_CUSTOM_AUTH_END = SOCKS5_CUSTOM_AUTH_END;
    var SOCKS5_NO_ACCEPTABLE_AUTH = 255;
    exports2.SOCKS5_NO_ACCEPTABLE_AUTH = SOCKS5_NO_ACCEPTABLE_AUTH;
    var Socks5Response;
    (function(Socks5Response2) {
      Socks5Response2[Socks5Response2["Granted"] = 0] = "Granted";
      Socks5Response2[Socks5Response2["Failure"] = 1] = "Failure";
      Socks5Response2[Socks5Response2["NotAllowed"] = 2] = "NotAllowed";
      Socks5Response2[Socks5Response2["NetworkUnreachable"] = 3] = "NetworkUnreachable";
      Socks5Response2[Socks5Response2["HostUnreachable"] = 4] = "HostUnreachable";
      Socks5Response2[Socks5Response2["ConnectionRefused"] = 5] = "ConnectionRefused";
      Socks5Response2[Socks5Response2["TTLExpired"] = 6] = "TTLExpired";
      Socks5Response2[Socks5Response2["CommandNotSupported"] = 7] = "CommandNotSupported";
      Socks5Response2[Socks5Response2["AddressNotSupported"] = 8] = "AddressNotSupported";
    })(Socks5Response || (exports2.Socks5Response = Socks5Response = {}));
    var Socks5HostType;
    (function(Socks5HostType2) {
      Socks5HostType2[Socks5HostType2["IPv4"] = 1] = "IPv4";
      Socks5HostType2[Socks5HostType2["Hostname"] = 3] = "Hostname";
      Socks5HostType2[Socks5HostType2["IPv6"] = 4] = "IPv6";
    })(Socks5HostType || (exports2.Socks5HostType = Socks5HostType = {}));
    var SocksClientState;
    (function(SocksClientState2) {
      SocksClientState2[SocksClientState2["Created"] = 0] = "Created";
      SocksClientState2[SocksClientState2["Connecting"] = 1] = "Connecting";
      SocksClientState2[SocksClientState2["Connected"] = 2] = "Connected";
      SocksClientState2[SocksClientState2["SentInitialHandshake"] = 3] = "SentInitialHandshake";
      SocksClientState2[SocksClientState2["ReceivedInitialHandshakeResponse"] = 4] = "ReceivedInitialHandshakeResponse";
      SocksClientState2[SocksClientState2["SentAuthentication"] = 5] = "SentAuthentication";
      SocksClientState2[SocksClientState2["ReceivedAuthenticationResponse"] = 6] = "ReceivedAuthenticationResponse";
      SocksClientState2[SocksClientState2["SentFinalHandshake"] = 7] = "SentFinalHandshake";
      SocksClientState2[SocksClientState2["ReceivedFinalResponse"] = 8] = "ReceivedFinalResponse";
      SocksClientState2[SocksClientState2["BoundWaitingForConnection"] = 9] = "BoundWaitingForConnection";
      SocksClientState2[SocksClientState2["Established"] = 10] = "Established";
      SocksClientState2[SocksClientState2["Disconnected"] = 11] = "Disconnected";
      SocksClientState2[SocksClientState2["Error"] = 99] = "Error";
    })(SocksClientState || (exports2.SocksClientState = SocksClientState = {}));
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/util.js
var require_util5 = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/util.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.shuffleArray = exports2.SocksClientError = void 0;
    var SocksClientError = class extends Error {
      constructor(message, options) {
        super(message);
        this.options = options;
      }
    };
    exports2.SocksClientError = SocksClientError;
    function shuffleArray(array) {
      for (let i = array.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [array[i], array[j]] = [array[j], array[i]];
      }
    }
    exports2.shuffleArray = shuffleArray;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/common.js
var require_common3 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/common.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isCorrect = exports2.isInSubnet = void 0;
    function isInSubnet(address) {
      if (this.subnetMask < address.subnetMask) {
        return false;
      }
      if (this.mask(address.subnetMask) === address.mask()) {
        return true;
      }
      return false;
    }
    exports2.isInSubnet = isInSubnet;
    function isCorrect(defaultBits) {
      return function() {
        if (this.addressMinusSuffix !== this.correctForm()) {
          return false;
        }
        if (this.subnetMask === defaultBits && !this.parsedSubnet) {
          return true;
        }
        return this.parsedSubnet === String(this.subnetMask);
      };
    }
    exports2.isCorrect = isCorrect;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v4/constants.js
var require_constants8 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v4/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RE_SUBNET_STRING = exports2.RE_ADDRESS = exports2.GROUPS = exports2.BITS = void 0;
    exports2.BITS = 32;
    exports2.GROUPS = 4;
    exports2.RE_ADDRESS = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g;
    exports2.RE_SUBNET_STRING = /\/\d{1,2}$/;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/address-error.js
var require_address_error = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/address-error.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AddressError = void 0;
    var AddressError = class extends Error {
      constructor(message, parseMessage) {
        super(message);
        this.name = "AddressError";
        if (parseMessage !== null) {
          this.parseMessage = parseMessage;
        }
      }
    };
    exports2.AddressError = AddressError;
  }
});

// ../node_modules/.pnpm/jsbn@1.1.0/node_modules/jsbn/index.js
var require_jsbn = __commonJS({
  "../node_modules/.pnpm/jsbn@1.1.0/node_modules/jsbn/index.js"(exports2, module2) {
    (function() {
      var dbits;
      var canary = 244837814094590;
      var j_lm = (canary & 16777215) == 15715070;
      function BigInteger(a, b, c) {
        if (a != null)
          if ("number" == typeof a) this.fromNumber(a, b, c);
          else if (b == null && "string" != typeof a) this.fromString(a, 256);
          else this.fromString(a, b);
      }
      function nbi() {
        return new BigInteger(null);
      }
      function am1(i, x, w, j, c, n) {
        while (--n >= 0) {
          var v = x * this[i++] + w[j] + c;
          c = Math.floor(v / 67108864);
          w[j++] = v & 67108863;
        }
        return c;
      }
      function am2(i, x, w, j, c, n) {
        var xl = x & 32767, xh = x >> 15;
        while (--n >= 0) {
          var l = this[i] & 32767;
          var h = this[i++] >> 15;
          var m = xh * l + h * xl;
          l = xl * l + ((m & 32767) << 15) + w[j] + (c & 1073741823);
          c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);
          w[j++] = l & 1073741823;
        }
        return c;
      }
      function am3(i, x, w, j, c, n) {
        var xl = x & 16383, xh = x >> 14;
        while (--n >= 0) {
          var l = this[i] & 16383;
          var h = this[i++] >> 14;
          var m = xh * l + h * xl;
          l = xl * l + ((m & 16383) << 14) + w[j] + c;
          c = (l >> 28) + (m >> 14) + xh * h;
          w[j++] = l & 268435455;
        }
        return c;
      }
      var inBrowser = typeof navigator !== "undefined";
      if (inBrowser && j_lm && navigator.appName == "Microsoft Internet Explorer") {
        BigInteger.prototype.am = am2;
        dbits = 30;
      } else if (inBrowser && j_lm && navigator.appName != "Netscape") {
        BigInteger.prototype.am = am1;
        dbits = 26;
      } else {
        BigInteger.prototype.am = am3;
        dbits = 28;
      }
      BigInteger.prototype.DB = dbits;
      BigInteger.prototype.DM = (1 << dbits) - 1;
      BigInteger.prototype.DV = 1 << dbits;
      var BI_FP = 52;
      BigInteger.prototype.FV = Math.pow(2, BI_FP);
      BigInteger.prototype.F1 = BI_FP - dbits;
      BigInteger.prototype.F2 = 2 * dbits - BI_FP;
      var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
      var BI_RC = new Array();
      var rr, vv;
      rr = "0".charCodeAt(0);
      for (vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
      rr = "a".charCodeAt(0);
      for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
      rr = "A".charCodeAt(0);
      for (vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
      function int2char(n) {
        return BI_RM.charAt(n);
      }
      function intAt(s, i) {
        var c = BI_RC[s.charCodeAt(i)];
        return c == null ? -1 : c;
      }
      function bnpCopyTo(r) {
        for (var i = this.t - 1; i >= 0; --i) r[i] = this[i];
        r.t = this.t;
        r.s = this.s;
      }
      function bnpFromInt(x) {
        this.t = 1;
        this.s = x < 0 ? -1 : 0;
        if (x > 0) this[0] = x;
        else if (x < -1) this[0] = x + this.DV;
        else this.t = 0;
      }
      function nbv(i) {
        var r = nbi();
        r.fromInt(i);
        return r;
      }
      function bnpFromString(s, b) {
        var k;
        if (b == 16) k = 4;
        else if (b == 8) k = 3;
        else if (b == 256) k = 8;
        else if (b == 2) k = 1;
        else if (b == 32) k = 5;
        else if (b == 4) k = 2;
        else {
          this.fromRadix(s, b);
          return;
        }
        this.t = 0;
        this.s = 0;
        var i = s.length, mi = false, sh = 0;
        while (--i >= 0) {
          var x = k == 8 ? s[i] & 255 : intAt(s, i);
          if (x < 0) {
            if (s.charAt(i) == "-") mi = true;
            continue;
          }
          mi = false;
          if (sh == 0)
            this[this.t++] = x;
          else if (sh + k > this.DB) {
            this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;
            this[this.t++] = x >> this.DB - sh;
          } else
            this[this.t - 1] |= x << sh;
          sh += k;
          if (sh >= this.DB) sh -= this.DB;
        }
        if (k == 8 && (s[0] & 128) != 0) {
          this.s = -1;
          if (sh > 0) this[this.t - 1] |= (1 << this.DB - sh) - 1 << sh;
        }
        this.clamp();
        if (mi) BigInteger.ZERO.subTo(this, this);
      }
      function bnpClamp() {
        var c = this.s & this.DM;
        while (this.t > 0 && this[this.t - 1] == c) --this.t;
      }
      function bnToString(b) {
        if (this.s < 0) return "-" + this.negate().toString(b);
        var k;
        if (b == 16) k = 4;
        else if (b == 8) k = 3;
        else if (b == 2) k = 1;
        else if (b == 32) k = 5;
        else if (b == 4) k = 2;
        else return this.toRadix(b);
        var km = (1 << k) - 1, d, m = false, r = "", i = this.t;
        var p = this.DB - i * this.DB % k;
        if (i-- > 0) {
          if (p < this.DB && (d = this[i] >> p) > 0) {
            m = true;
            r = int2char(d);
          }
          while (i >= 0) {
            if (p < k) {
              d = (this[i] & (1 << p) - 1) << k - p;
              d |= this[--i] >> (p += this.DB - k);
            } else {
              d = this[i] >> (p -= k) & km;
              if (p <= 0) {
                p += this.DB;
                --i;
              }
            }
            if (d > 0) m = true;
            if (m) r += int2char(d);
          }
        }
        return m ? r : "0";
      }
      function bnNegate() {
        var r = nbi();
        BigInteger.ZERO.subTo(this, r);
        return r;
      }
      function bnAbs() {
        return this.s < 0 ? this.negate() : this;
      }
      function bnCompareTo(a) {
        var r = this.s - a.s;
        if (r != 0) return r;
        var i = this.t;
        r = i - a.t;
        if (r != 0) return this.s < 0 ? -r : r;
        while (--i >= 0) if ((r = this[i] - a[i]) != 0) return r;
        return 0;
      }
      function nbits(x) {
        var r = 1, t2;
        if ((t2 = x >>> 16) != 0) {
          x = t2;
          r += 16;
        }
        if ((t2 = x >> 8) != 0) {
          x = t2;
          r += 8;
        }
        if ((t2 = x >> 4) != 0) {
          x = t2;
          r += 4;
        }
        if ((t2 = x >> 2) != 0) {
          x = t2;
          r += 2;
        }
        if ((t2 = x >> 1) != 0) {
          x = t2;
          r += 1;
        }
        return r;
      }
      function bnBitLength() {
        if (this.t <= 0) return 0;
        return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);
      }
      function bnpDLShiftTo(n, r) {
        var i;
        for (i = this.t - 1; i >= 0; --i) r[i + n] = this[i];
        for (i = n - 1; i >= 0; --i) r[i] = 0;
        r.t = this.t + n;
        r.s = this.s;
      }
      function bnpDRShiftTo(n, r) {
        for (var i = n; i < this.t; ++i) r[i - n] = this[i];
        r.t = Math.max(this.t - n, 0);
        r.s = this.s;
      }
      function bnpLShiftTo(n, r) {
        var bs = n % this.DB;
        var cbs = this.DB - bs;
        var bm = (1 << cbs) - 1;
        var ds = Math.floor(n / this.DB), c = this.s << bs & this.DM, i;
        for (i = this.t - 1; i >= 0; --i) {
          r[i + ds + 1] = this[i] >> cbs | c;
          c = (this[i] & bm) << bs;
        }
        for (i = ds - 1; i >= 0; --i) r[i] = 0;
        r[ds] = c;
        r.t = this.t + ds + 1;
        r.s = this.s;
        r.clamp();
      }
      function bnpRShiftTo(n, r) {
        r.s = this.s;
        var ds = Math.floor(n / this.DB);
        if (ds >= this.t) {
          r.t = 0;
          return;
        }
        var bs = n % this.DB;
        var cbs = this.DB - bs;
        var bm = (1 << bs) - 1;
        r[0] = this[ds] >> bs;
        for (var i = ds + 1; i < this.t; ++i) {
          r[i - ds - 1] |= (this[i] & bm) << cbs;
          r[i - ds] = this[i] >> bs;
        }
        if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;
        r.t = this.t - ds;
        r.clamp();
      }
      function bnpSubTo(a, r) {
        var i = 0, c = 0, m = Math.min(a.t, this.t);
        while (i < m) {
          c += this[i] - a[i];
          r[i++] = c & this.DM;
          c >>= this.DB;
        }
        if (a.t < this.t) {
          c -= a.s;
          while (i < this.t) {
            c += this[i];
            r[i++] = c & this.DM;
            c >>= this.DB;
          }
          c += this.s;
        } else {
          c += this.s;
          while (i < a.t) {
            c -= a[i];
            r[i++] = c & this.DM;
            c >>= this.DB;
          }
          c -= a.s;
        }
        r.s = c < 0 ? -1 : 0;
        if (c < -1) r[i++] = this.DV + c;
        else if (c > 0) r[i++] = c;
        r.t = i;
        r.clamp();
      }
      function bnpMultiplyTo(a, r) {
        var x = this.abs(), y = a.abs();
        var i = x.t;
        r.t = i + y.t;
        while (--i >= 0) r[i] = 0;
        for (i = 0; i < y.t; ++i) r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);
        r.s = 0;
        r.clamp();
        if (this.s != a.s) BigInteger.ZERO.subTo(r, r);
      }
      function bnpSquareTo(r) {
        var x = this.abs();
        var i = r.t = 2 * x.t;
        while (--i >= 0) r[i] = 0;
        for (i = 0; i < x.t - 1; ++i) {
          var c = x.am(i, x[i], r, 2 * i, 0, 1);
          if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {
            r[i + x.t] -= x.DV;
            r[i + x.t + 1] = 1;
          }
        }
        if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);
        r.s = 0;
        r.clamp();
      }
      function bnpDivRemTo(m, q, r) {
        var pm = m.abs();
        if (pm.t <= 0) return;
        var pt = this.abs();
        if (pt.t < pm.t) {
          if (q != null) q.fromInt(0);
          if (r != null) this.copyTo(r);
          return;
        }
        if (r == null) r = nbi();
        var y = nbi(), ts = this.s, ms = m.s;
        var nsh = this.DB - nbits(pm[pm.t - 1]);
        if (nsh > 0) {
          pm.lShiftTo(nsh, y);
          pt.lShiftTo(nsh, r);
        } else {
          pm.copyTo(y);
          pt.copyTo(r);
        }
        var ys = y.t;
        var y0 = y[ys - 1];
        if (y0 == 0) return;
        var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);
        var d1 = this.FV / yt, d2 = (1 << this.F1) / yt, e = 1 << this.F2;
        var i = r.t, j = i - ys, t2 = q == null ? nbi() : q;
        y.dlShiftTo(j, t2);
        if (r.compareTo(t2) >= 0) {
          r[r.t++] = 1;
          r.subTo(t2, r);
        }
        BigInteger.ONE.dlShiftTo(ys, t2);
        t2.subTo(y, y);
        while (y.t < ys) y[y.t++] = 0;
        while (--j >= 0) {
          var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);
          if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {
            y.dlShiftTo(j, t2);
            r.subTo(t2, r);
            while (r[i] < --qd) r.subTo(t2, r);
          }
        }
        if (q != null) {
          r.drShiftTo(ys, q);
          if (ts != ms) BigInteger.ZERO.subTo(q, q);
        }
        r.t = ys;
        r.clamp();
        if (nsh > 0) r.rShiftTo(nsh, r);
        if (ts < 0) BigInteger.ZERO.subTo(r, r);
      }
      function bnMod(a) {
        var r = nbi();
        this.abs().divRemTo(a, null, r);
        if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);
        return r;
      }
      function Classic(m) {
        this.m = m;
      }
      function cConvert(x) {
        if (x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
        else return x;
      }
      function cRevert(x) {
        return x;
      }
      function cReduce(x) {
        x.divRemTo(this.m, null, x);
      }
      function cMulTo(x, y, r) {
        x.multiplyTo(y, r);
        this.reduce(r);
      }
      function cSqrTo(x, r) {
        x.squareTo(r);
        this.reduce(r);
      }
      Classic.prototype.convert = cConvert;
      Classic.prototype.revert = cRevert;
      Classic.prototype.reduce = cReduce;
      Classic.prototype.mulTo = cMulTo;
      Classic.prototype.sqrTo = cSqrTo;
      function bnpInvDigit() {
        if (this.t < 1) return 0;
        var x = this[0];
        if ((x & 1) == 0) return 0;
        var y = x & 3;
        y = y * (2 - (x & 15) * y) & 15;
        y = y * (2 - (x & 255) * y) & 255;
        y = y * (2 - ((x & 65535) * y & 65535)) & 65535;
        y = y * (2 - x * y % this.DV) % this.DV;
        return y > 0 ? this.DV - y : -y;
      }
      function Montgomery(m) {
        this.m = m;
        this.mp = m.invDigit();
        this.mpl = this.mp & 32767;
        this.mph = this.mp >> 15;
        this.um = (1 << m.DB - 15) - 1;
        this.mt2 = 2 * m.t;
      }
      function montConvert(x) {
        var r = nbi();
        x.abs().dlShiftTo(this.m.t, r);
        r.divRemTo(this.m, null, r);
        if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);
        return r;
      }
      function montRevert(x) {
        var r = nbi();
        x.copyTo(r);
        this.reduce(r);
        return r;
      }
      function montReduce(x) {
        while (x.t <= this.mt2)
          x[x.t++] = 0;
        for (var i = 0; i < this.m.t; ++i) {
          var j = x[i] & 32767;
          var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;
          j = i + this.m.t;
          x[j] += this.m.am(0, u0, x, i, 0, this.m.t);
          while (x[j] >= x.DV) {
            x[j] -= x.DV;
            x[++j]++;
          }
        }
        x.clamp();
        x.drShiftTo(this.m.t, x);
        if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
      }
      function montSqrTo(x, r) {
        x.squareTo(r);
        this.reduce(r);
      }
      function montMulTo(x, y, r) {
        x.multiplyTo(y, r);
        this.reduce(r);
      }
      Montgomery.prototype.convert = montConvert;
      Montgomery.prototype.revert = montRevert;
      Montgomery.prototype.reduce = montReduce;
      Montgomery.prototype.mulTo = montMulTo;
      Montgomery.prototype.sqrTo = montSqrTo;
      function bnpIsEven() {
        return (this.t > 0 ? this[0] & 1 : this.s) == 0;
      }
      function bnpExp(e, z2) {
        if (e > 4294967295 || e < 1) return BigInteger.ONE;
        var r = nbi(), r2 = nbi(), g = z2.convert(this), i = nbits(e) - 1;
        g.copyTo(r);
        while (--i >= 0) {
          z2.sqrTo(r, r2);
          if ((e & 1 << i) > 0) z2.mulTo(r2, g, r);
          else {
            var t2 = r;
            r = r2;
            r2 = t2;
          }
        }
        return z2.revert(r);
      }
      function bnModPowInt(e, m) {
        var z2;
        if (e < 256 || m.isEven()) z2 = new Classic(m);
        else z2 = new Montgomery(m);
        return this.exp(e, z2);
      }
      BigInteger.prototype.copyTo = bnpCopyTo;
      BigInteger.prototype.fromInt = bnpFromInt;
      BigInteger.prototype.fromString = bnpFromString;
      BigInteger.prototype.clamp = bnpClamp;
      BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
      BigInteger.prototype.drShiftTo = bnpDRShiftTo;
      BigInteger.prototype.lShiftTo = bnpLShiftTo;
      BigInteger.prototype.rShiftTo = bnpRShiftTo;
      BigInteger.prototype.subTo = bnpSubTo;
      BigInteger.prototype.multiplyTo = bnpMultiplyTo;
      BigInteger.prototype.squareTo = bnpSquareTo;
      BigInteger.prototype.divRemTo = bnpDivRemTo;
      BigInteger.prototype.invDigit = bnpInvDigit;
      BigInteger.prototype.isEven = bnpIsEven;
      BigInteger.prototype.exp = bnpExp;
      BigInteger.prototype.toString = bnToString;
      BigInteger.prototype.negate = bnNegate;
      BigInteger.prototype.abs = bnAbs;
      BigInteger.prototype.compareTo = bnCompareTo;
      BigInteger.prototype.bitLength = bnBitLength;
      BigInteger.prototype.mod = bnMod;
      BigInteger.prototype.modPowInt = bnModPowInt;
      BigInteger.ZERO = nbv(0);
      BigInteger.ONE = nbv(1);
      function bnClone() {
        var r = nbi();
        this.copyTo(r);
        return r;
      }
      function bnIntValue() {
        if (this.s < 0) {
          if (this.t == 1) return this[0] - this.DV;
          else if (this.t == 0) return -1;
        } else if (this.t == 1) return this[0];
        else if (this.t == 0) return 0;
        return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0];
      }
      function bnByteValue() {
        return this.t == 0 ? this.s : this[0] << 24 >> 24;
      }
      function bnShortValue() {
        return this.t == 0 ? this.s : this[0] << 16 >> 16;
      }
      function bnpChunkSize(r) {
        return Math.floor(Math.LN2 * this.DB / Math.log(r));
      }
      function bnSigNum() {
        if (this.s < 0) return -1;
        else if (this.t <= 0 || this.t == 1 && this[0] <= 0) return 0;
        else return 1;
      }
      function bnpToRadix(b) {
        if (b == null) b = 10;
        if (this.signum() == 0 || b < 2 || b > 36) return "0";
        var cs = this.chunkSize(b);
        var a = Math.pow(b, cs);
        var d = nbv(a), y = nbi(), z2 = nbi(), r = "";
        this.divRemTo(d, y, z2);
        while (y.signum() > 0) {
          r = (a + z2.intValue()).toString(b).substr(1) + r;
          y.divRemTo(d, y, z2);
        }
        return z2.intValue().toString(b) + r;
      }
      function bnpFromRadix(s, b) {
        this.fromInt(0);
        if (b == null) b = 10;
        var cs = this.chunkSize(b);
        var d = Math.pow(b, cs), mi = false, j = 0, w = 0;
        for (var i = 0; i < s.length; ++i) {
          var x = intAt(s, i);
          if (x < 0) {
            if (s.charAt(i) == "-" && this.signum() == 0) mi = true;
            continue;
          }
          w = b * w + x;
          if (++j >= cs) {
            this.dMultiply(d);
            this.dAddOffset(w, 0);
            j = 0;
            w = 0;
          }
        }
        if (j > 0) {
          this.dMultiply(Math.pow(b, j));
          this.dAddOffset(w, 0);
        }
        if (mi) BigInteger.ZERO.subTo(this, this);
      }
      function bnpFromNumber(a, b, c) {
        if ("number" == typeof b) {
          if (a < 2) this.fromInt(1);
          else {
            this.fromNumber(a, c);
            if (!this.testBit(a - 1))
              this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this);
            if (this.isEven()) this.dAddOffset(1, 0);
            while (!this.isProbablePrime(b)) {
              this.dAddOffset(2, 0);
              if (this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);
            }
          }
        } else {
          var x = new Array(), t2 = a & 7;
          x.length = (a >> 3) + 1;
          b.nextBytes(x);
          if (t2 > 0) x[0] &= (1 << t2) - 1;
          else x[0] = 0;
          this.fromString(x, 256);
        }
      }
      function bnToByteArray() {
        var i = this.t, r = new Array();
        r[0] = this.s;
        var p = this.DB - i * this.DB % 8, d, k = 0;
        if (i-- > 0) {
          if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p)
            r[k++] = d | this.s << this.DB - p;
          while (i >= 0) {
            if (p < 8) {
              d = (this[i] & (1 << p) - 1) << 8 - p;
              d |= this[--i] >> (p += this.DB - 8);
            } else {
              d = this[i] >> (p -= 8) & 255;
              if (p <= 0) {
                p += this.DB;
                --i;
              }
            }
            if ((d & 128) != 0) d |= -256;
            if (k == 0 && (this.s & 128) != (d & 128)) ++k;
            if (k > 0 || d != this.s) r[k++] = d;
          }
        }
        return r;
      }
      function bnEquals(a) {
        return this.compareTo(a) == 0;
      }
      function bnMin(a) {
        return this.compareTo(a) < 0 ? this : a;
      }
      function bnMax(a) {
        return this.compareTo(a) > 0 ? this : a;
      }
      function bnpBitwiseTo(a, op, r) {
        var i, f, m = Math.min(a.t, this.t);
        for (i = 0; i < m; ++i) r[i] = op(this[i], a[i]);
        if (a.t < this.t) {
          f = a.s & this.DM;
          for (i = m; i < this.t; ++i) r[i] = op(this[i], f);
          r.t = this.t;
        } else {
          f = this.s & this.DM;
          for (i = m; i < a.t; ++i) r[i] = op(f, a[i]);
          r.t = a.t;
        }
        r.s = op(this.s, a.s);
        r.clamp();
      }
      function op_and(x, y) {
        return x & y;
      }
      function bnAnd(a) {
        var r = nbi();
        this.bitwiseTo(a, op_and, r);
        return r;
      }
      function op_or(x, y) {
        return x | y;
      }
      function bnOr(a) {
        var r = nbi();
        this.bitwiseTo(a, op_or, r);
        return r;
      }
      function op_xor(x, y) {
        return x ^ y;
      }
      function bnXor(a) {
        var r = nbi();
        this.bitwiseTo(a, op_xor, r);
        return r;
      }
      function op_andnot(x, y) {
        return x & ~y;
      }
      function bnAndNot(a) {
        var r = nbi();
        this.bitwiseTo(a, op_andnot, r);
        return r;
      }
      function bnNot() {
        var r = nbi();
        for (var i = 0; i < this.t; ++i) r[i] = this.DM & ~this[i];
        r.t = this.t;
        r.s = ~this.s;
        return r;
      }
      function bnShiftLeft(n) {
        var r = nbi();
        if (n < 0) this.rShiftTo(-n, r);
        else this.lShiftTo(n, r);
        return r;
      }
      function bnShiftRight(n) {
        var r = nbi();
        if (n < 0) this.lShiftTo(-n, r);
        else this.rShiftTo(n, r);
        return r;
      }
      function lbit(x) {
        if (x == 0) return -1;
        var r = 0;
        if ((x & 65535) == 0) {
          x >>= 16;
          r += 16;
        }
        if ((x & 255) == 0) {
          x >>= 8;
          r += 8;
        }
        if ((x & 15) == 0) {
          x >>= 4;
          r += 4;
        }
        if ((x & 3) == 0) {
          x >>= 2;
          r += 2;
        }
        if ((x & 1) == 0) ++r;
        return r;
      }
      function bnGetLowestSetBit() {
        for (var i = 0; i < this.t; ++i)
          if (this[i] != 0) return i * this.DB + lbit(this[i]);
        if (this.s < 0) return this.t * this.DB;
        return -1;
      }
      function cbit(x) {
        var r = 0;
        while (x != 0) {
          x &= x - 1;
          ++r;
        }
        return r;
      }
      function bnBitCount() {
        var r = 0, x = this.s & this.DM;
        for (var i = 0; i < this.t; ++i) r += cbit(this[i] ^ x);
        return r;
      }
      function bnTestBit(n) {
        var j = Math.floor(n / this.DB);
        if (j >= this.t) return this.s != 0;
        return (this[j] & 1 << n % this.DB) != 0;
      }
      function bnpChangeBit(n, op) {
        var r = BigInteger.ONE.shiftLeft(n);
        this.bitwiseTo(r, op, r);
        return r;
      }
      function bnSetBit(n) {
        return this.changeBit(n, op_or);
      }
      function bnClearBit(n) {
        return this.changeBit(n, op_andnot);
      }
      function bnFlipBit(n) {
        return this.changeBit(n, op_xor);
      }
      function bnpAddTo(a, r) {
        var i = 0, c = 0, m = Math.min(a.t, this.t);
        while (i < m) {
          c += this[i] + a[i];
          r[i++] = c & this.DM;
          c >>= this.DB;
        }
        if (a.t < this.t) {
          c += a.s;
          while (i < this.t) {
            c += this[i];
            r[i++] = c & this.DM;
            c >>= this.DB;
          }
          c += this.s;
        } else {
          c += this.s;
          while (i < a.t) {
            c += a[i];
            r[i++] = c & this.DM;
            c >>= this.DB;
          }
          c += a.s;
        }
        r.s = c < 0 ? -1 : 0;
        if (c > 0) r[i++] = c;
        else if (c < -1) r[i++] = this.DV + c;
        r.t = i;
        r.clamp();
      }
      function bnAdd(a) {
        var r = nbi();
        this.addTo(a, r);
        return r;
      }
      function bnSubtract(a) {
        var r = nbi();
        this.subTo(a, r);
        return r;
      }
      function bnMultiply(a) {
        var r = nbi();
        this.multiplyTo(a, r);
        return r;
      }
      function bnSquare() {
        var r = nbi();
        this.squareTo(r);
        return r;
      }
      function bnDivide(a) {
        var r = nbi();
        this.divRemTo(a, r, null);
        return r;
      }
      function bnRemainder(a) {
        var r = nbi();
        this.divRemTo(a, null, r);
        return r;
      }
      function bnDivideAndRemainder(a) {
        var q = nbi(), r = nbi();
        this.divRemTo(a, q, r);
        return new Array(q, r);
      }
      function bnpDMultiply(n) {
        this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);
        ++this.t;
        this.clamp();
      }
      function bnpDAddOffset(n, w) {
        if (n == 0) return;
        while (this.t <= w) this[this.t++] = 0;
        this[w] += n;
        while (this[w] >= this.DV) {
          this[w] -= this.DV;
          if (++w >= this.t) this[this.t++] = 0;
          ++this[w];
        }
      }
      function NullExp() {
      }
      function nNop(x) {
        return x;
      }
      function nMulTo(x, y, r) {
        x.multiplyTo(y, r);
      }
      function nSqrTo(x, r) {
        x.squareTo(r);
      }
      NullExp.prototype.convert = nNop;
      NullExp.prototype.revert = nNop;
      NullExp.prototype.mulTo = nMulTo;
      NullExp.prototype.sqrTo = nSqrTo;
      function bnPow(e) {
        return this.exp(e, new NullExp());
      }
      function bnpMultiplyLowerTo(a, n, r) {
        var i = Math.min(this.t + a.t, n);
        r.s = 0;
        r.t = i;
        while (i > 0) r[--i] = 0;
        var j;
        for (j = r.t - this.t; i < j; ++i) r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);
        for (j = Math.min(a.t, n); i < j; ++i) this.am(0, a[i], r, i, 0, n - i);
        r.clamp();
      }
      function bnpMultiplyUpperTo(a, n, r) {
        --n;
        var i = r.t = this.t + a.t - n;
        r.s = 0;
        while (--i >= 0) r[i] = 0;
        for (i = Math.max(n - this.t, 0); i < a.t; ++i)
          r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);
        r.clamp();
        r.drShiftTo(1, r);
      }
      function Barrett(m) {
        this.r2 = nbi();
        this.q3 = nbi();
        BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);
        this.mu = this.r2.divide(m);
        this.m = m;
      }
      function barrettConvert(x) {
        if (x.s < 0 || x.t > 2 * this.m.t) return x.mod(this.m);
        else if (x.compareTo(this.m) < 0) return x;
        else {
          var r = nbi();
          x.copyTo(r);
          this.reduce(r);
          return r;
        }
      }
      function barrettRevert(x) {
        return x;
      }
      function barrettReduce(x) {
        x.drShiftTo(this.m.t - 1, this.r2);
        if (x.t > this.m.t + 1) {
          x.t = this.m.t + 1;
          x.clamp();
        }
        this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);
        this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);
        while (x.compareTo(this.r2) < 0) x.dAddOffset(1, this.m.t + 1);
        x.subTo(this.r2, x);
        while (x.compareTo(this.m) >= 0) x.subTo(this.m, x);
      }
      function barrettSqrTo(x, r) {
        x.squareTo(r);
        this.reduce(r);
      }
      function barrettMulTo(x, y, r) {
        x.multiplyTo(y, r);
        this.reduce(r);
      }
      Barrett.prototype.convert = barrettConvert;
      Barrett.prototype.revert = barrettRevert;
      Barrett.prototype.reduce = barrettReduce;
      Barrett.prototype.mulTo = barrettMulTo;
      Barrett.prototype.sqrTo = barrettSqrTo;
      function bnModPow(e, m) {
        var i = e.bitLength(), k, r = nbv(1), z2;
        if (i <= 0) return r;
        else if (i < 18) k = 1;
        else if (i < 48) k = 3;
        else if (i < 144) k = 4;
        else if (i < 768) k = 5;
        else k = 6;
        if (i < 8)
          z2 = new Classic(m);
        else if (m.isEven())
          z2 = new Barrett(m);
        else
          z2 = new Montgomery(m);
        var g = new Array(), n = 3, k1 = k - 1, km = (1 << k) - 1;
        g[1] = z2.convert(this);
        if (k > 1) {
          var g2 = nbi();
          z2.sqrTo(g[1], g2);
          while (n <= km) {
            g[n] = nbi();
            z2.mulTo(g2, g[n - 2], g[n]);
            n += 2;
          }
        }
        var j = e.t - 1, w, is1 = true, r2 = nbi(), t2;
        i = nbits(e[j]) - 1;
        while (j >= 0) {
          if (i >= k1) w = e[j] >> i - k1 & km;
          else {
            w = (e[j] & (1 << i + 1) - 1) << k1 - i;
            if (j > 0) w |= e[j - 1] >> this.DB + i - k1;
          }
          n = k;
          while ((w & 1) == 0) {
            w >>= 1;
            --n;
          }
          if ((i -= n) < 0) {
            i += this.DB;
            --j;
          }
          if (is1) {
            g[w].copyTo(r);
            is1 = false;
          } else {
            while (n > 1) {
              z2.sqrTo(r, r2);
              z2.sqrTo(r2, r);
              n -= 2;
            }
            if (n > 0) z2.sqrTo(r, r2);
            else {
              t2 = r;
              r = r2;
              r2 = t2;
            }
            z2.mulTo(r2, g[w], r);
          }
          while (j >= 0 && (e[j] & 1 << i) == 0) {
            z2.sqrTo(r, r2);
            t2 = r;
            r = r2;
            r2 = t2;
            if (--i < 0) {
              i = this.DB - 1;
              --j;
            }
          }
        }
        return z2.revert(r);
      }
      function bnGCD(a) {
        var x = this.s < 0 ? this.negate() : this.clone();
        var y = a.s < 0 ? a.negate() : a.clone();
        if (x.compareTo(y) < 0) {
          var t2 = x;
          x = y;
          y = t2;
        }
        var i = x.getLowestSetBit(), g = y.getLowestSetBit();
        if (g < 0) return x;
        if (i < g) g = i;
        if (g > 0) {
          x.rShiftTo(g, x);
          y.rShiftTo(g, y);
        }
        while (x.signum() > 0) {
          if ((i = x.getLowestSetBit()) > 0) x.rShiftTo(i, x);
          if ((i = y.getLowestSetBit()) > 0) y.rShiftTo(i, y);
          if (x.compareTo(y) >= 0) {
            x.subTo(y, x);
            x.rShiftTo(1, x);
          } else {
            y.subTo(x, y);
            y.rShiftTo(1, y);
          }
        }
        if (g > 0) y.lShiftTo(g, y);
        return y;
      }
      function bnpModInt(n) {
        if (n <= 0) return 0;
        var d = this.DV % n, r = this.s < 0 ? n - 1 : 0;
        if (this.t > 0)
          if (d == 0) r = this[0] % n;
          else for (var i = this.t - 1; i >= 0; --i) r = (d * r + this[i]) % n;
        return r;
      }
      function bnModInverse(m) {
        var ac = m.isEven();
        if (this.isEven() && ac || m.signum() == 0) return BigInteger.ZERO;
        var u = m.clone(), v = this.clone();
        var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1);
        while (u.signum() != 0) {
          while (u.isEven()) {
            u.rShiftTo(1, u);
            if (ac) {
              if (!a.isEven() || !b.isEven()) {
                a.addTo(this, a);
                b.subTo(m, b);
              }
              a.rShiftTo(1, a);
            } else if (!b.isEven()) b.subTo(m, b);
            b.rShiftTo(1, b);
          }
          while (v.isEven()) {
            v.rShiftTo(1, v);
            if (ac) {
              if (!c.isEven() || !d.isEven()) {
                c.addTo(this, c);
                d.subTo(m, d);
              }
              c.rShiftTo(1, c);
            } else if (!d.isEven()) d.subTo(m, d);
            d.rShiftTo(1, d);
          }
          if (u.compareTo(v) >= 0) {
            u.subTo(v, u);
            if (ac) a.subTo(c, a);
            b.subTo(d, b);
          } else {
            v.subTo(u, v);
            if (ac) c.subTo(a, c);
            d.subTo(b, d);
          }
        }
        if (v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO;
        if (d.compareTo(m) >= 0) return d.subtract(m);
        if (d.signum() < 0) d.addTo(m, d);
        else return d;
        if (d.signum() < 0) return d.add(m);
        else return d;
      }
      var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997];
      var lplim = (1 << 26) / lowprimes[lowprimes.length - 1];
      function bnIsProbablePrime(t2) {
        var i, x = this.abs();
        if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {
          for (i = 0; i < lowprimes.length; ++i)
            if (x[0] == lowprimes[i]) return true;
          return false;
        }
        if (x.isEven()) return false;
        i = 1;
        while (i < lowprimes.length) {
          var m = lowprimes[i], j = i + 1;
          while (j < lowprimes.length && m < lplim) m *= lowprimes[j++];
          m = x.modInt(m);
          while (i < j) if (m % lowprimes[i++] == 0) return false;
        }
        return x.millerRabin(t2);
      }
      function bnpMillerRabin(t2) {
        var n1 = this.subtract(BigInteger.ONE);
        var k = n1.getLowestSetBit();
        if (k <= 0) return false;
        var r = n1.shiftRight(k);
        t2 = t2 + 1 >> 1;
        if (t2 > lowprimes.length) t2 = lowprimes.length;
        var a = nbi();
        for (var i = 0; i < t2; ++i) {
          a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);
          var y = a.modPow(r, this);
          if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {
            var j = 1;
            while (j++ < k && y.compareTo(n1) != 0) {
              y = y.modPowInt(2, this);
              if (y.compareTo(BigInteger.ONE) == 0) return false;
            }
            if (y.compareTo(n1) != 0) return false;
          }
        }
        return true;
      }
      BigInteger.prototype.chunkSize = bnpChunkSize;
      BigInteger.prototype.toRadix = bnpToRadix;
      BigInteger.prototype.fromRadix = bnpFromRadix;
      BigInteger.prototype.fromNumber = bnpFromNumber;
      BigInteger.prototype.bitwiseTo = bnpBitwiseTo;
      BigInteger.prototype.changeBit = bnpChangeBit;
      BigInteger.prototype.addTo = bnpAddTo;
      BigInteger.prototype.dMultiply = bnpDMultiply;
      BigInteger.prototype.dAddOffset = bnpDAddOffset;
      BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;
      BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;
      BigInteger.prototype.modInt = bnpModInt;
      BigInteger.prototype.millerRabin = bnpMillerRabin;
      BigInteger.prototype.clone = bnClone;
      BigInteger.prototype.intValue = bnIntValue;
      BigInteger.prototype.byteValue = bnByteValue;
      BigInteger.prototype.shortValue = bnShortValue;
      BigInteger.prototype.signum = bnSigNum;
      BigInteger.prototype.toByteArray = bnToByteArray;
      BigInteger.prototype.equals = bnEquals;
      BigInteger.prototype.min = bnMin;
      BigInteger.prototype.max = bnMax;
      BigInteger.prototype.and = bnAnd;
      BigInteger.prototype.or = bnOr;
      BigInteger.prototype.xor = bnXor;
      BigInteger.prototype.andNot = bnAndNot;
      BigInteger.prototype.not = bnNot;
      BigInteger.prototype.shiftLeft = bnShiftLeft;
      BigInteger.prototype.shiftRight = bnShiftRight;
      BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;
      BigInteger.prototype.bitCount = bnBitCount;
      BigInteger.prototype.testBit = bnTestBit;
      BigInteger.prototype.setBit = bnSetBit;
      BigInteger.prototype.clearBit = bnClearBit;
      BigInteger.prototype.flipBit = bnFlipBit;
      BigInteger.prototype.add = bnAdd;
      BigInteger.prototype.subtract = bnSubtract;
      BigInteger.prototype.multiply = bnMultiply;
      BigInteger.prototype.divide = bnDivide;
      BigInteger.prototype.remainder = bnRemainder;
      BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder;
      BigInteger.prototype.modPow = bnModPow;
      BigInteger.prototype.modInverse = bnModInverse;
      BigInteger.prototype.pow = bnPow;
      BigInteger.prototype.gcd = bnGCD;
      BigInteger.prototype.isProbablePrime = bnIsProbablePrime;
      BigInteger.prototype.square = bnSquare;
      BigInteger.prototype.Barrett = Barrett;
      var rng_state;
      var rng_pool;
      var rng_pptr;
      function rng_seed_int(x) {
        rng_pool[rng_pptr++] ^= x & 255;
        rng_pool[rng_pptr++] ^= x >> 8 & 255;
        rng_pool[rng_pptr++] ^= x >> 16 & 255;
        rng_pool[rng_pptr++] ^= x >> 24 & 255;
        if (rng_pptr >= rng_psize) rng_pptr -= rng_psize;
      }
      function rng_seed_time() {
        rng_seed_int((/* @__PURE__ */ new Date()).getTime());
      }
      if (rng_pool == null) {
        rng_pool = new Array();
        rng_pptr = 0;
        var t;
        if (typeof window !== "undefined" && window.crypto) {
          if (window.crypto.getRandomValues) {
            var ua = new Uint8Array(32);
            window.crypto.getRandomValues(ua);
            for (t = 0; t < 32; ++t)
              rng_pool[rng_pptr++] = ua[t];
          } else if (navigator.appName == "Netscape" && navigator.appVersion < "5") {
            var z = window.crypto.random(32);
            for (t = 0; t < z.length; ++t)
              rng_pool[rng_pptr++] = z.charCodeAt(t) & 255;
          }
        }
        while (rng_pptr < rng_psize) {
          t = Math.floor(65536 * Math.random());
          rng_pool[rng_pptr++] = t >>> 8;
          rng_pool[rng_pptr++] = t & 255;
        }
        rng_pptr = 0;
        rng_seed_time();
      }
      function rng_get_byte() {
        if (rng_state == null) {
          rng_seed_time();
          rng_state = prng_newstate();
          rng_state.init(rng_pool);
          for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr)
            rng_pool[rng_pptr] = 0;
          rng_pptr = 0;
        }
        return rng_state.next();
      }
      function rng_get_bytes(ba) {
        var i;
        for (i = 0; i < ba.length; ++i) ba[i] = rng_get_byte();
      }
      function SecureRandom() {
      }
      SecureRandom.prototype.nextBytes = rng_get_bytes;
      function Arcfour() {
        this.i = 0;
        this.j = 0;
        this.S = new Array();
      }
      function ARC4init(key) {
        var i, j, t2;
        for (i = 0; i < 256; ++i)
          this.S[i] = i;
        j = 0;
        for (i = 0; i < 256; ++i) {
          j = j + this.S[i] + key[i % key.length] & 255;
          t2 = this.S[i];
          this.S[i] = this.S[j];
          this.S[j] = t2;
        }
        this.i = 0;
        this.j = 0;
      }
      function ARC4next() {
        var t2;
        this.i = this.i + 1 & 255;
        this.j = this.j + this.S[this.i] & 255;
        t2 = this.S[this.i];
        this.S[this.i] = this.S[this.j];
        this.S[this.j] = t2;
        return this.S[t2 + this.S[this.i] & 255];
      }
      Arcfour.prototype.init = ARC4init;
      Arcfour.prototype.next = ARC4next;
      function prng_newstate() {
        return new Arcfour();
      }
      var rng_psize = 256;
      if (typeof exports2 !== "undefined") {
        exports2 = module2.exports = {
          default: BigInteger,
          BigInteger,
          SecureRandom
        };
      } else {
        this.jsbn = {
          BigInteger,
          SecureRandom
        };
      }
    }).call(exports2);
  }
});

// ../node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js
var require_sprintf = __commonJS({
  "../node_modules/.pnpm/sprintf-js@1.1.3/node_modules/sprintf-js/src/sprintf.js"(exports2) {
    !function() {
      "use strict";
      var re = {
        not_string: /[^s]/,
        not_bool: /[^t]/,
        not_type: /[^T]/,
        not_primitive: /[^v]/,
        number: /[diefg]/,
        numeric_arg: /[bcdiefguxX]/,
        json: /[j]/,
        not_json: /[^j]/,
        text: /^[^\x25]+/,
        modulo: /^\x25{2}/,
        placeholder: /^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,
        key: /^([a-z_][a-z_\d]*)/i,
        key_access: /^\.([a-z_][a-z_\d]*)/i,
        index_access: /^\[(\d+)\]/,
        sign: /^[+-]/
      };
      function sprintf(key) {
        return sprintf_format(sprintf_parse(key), arguments);
      }
      function vsprintf(fmt, argv2) {
        return sprintf.apply(null, [fmt].concat(argv2 || []));
      }
      function sprintf_format(parse_tree, argv2) {
        var cursor = 1, tree_length = parse_tree.length, arg, output = "", i, k, ph, pad, pad_character, pad_length, is_positive, sign;
        for (i = 0; i < tree_length; i++) {
          if (typeof parse_tree[i] === "string") {
            output += parse_tree[i];
          } else if (typeof parse_tree[i] === "object") {
            ph = parse_tree[i];
            if (ph.keys) {
              arg = argv2[cursor];
              for (k = 0; k < ph.keys.length; k++) {
                if (arg == void 0) {
                  throw new Error(sprintf('[sprintf] Cannot access property "%s" of undefined value "%s"', ph.keys[k], ph.keys[k - 1]));
                }
                arg = arg[ph.keys[k]];
              }
            } else if (ph.param_no) {
              arg = argv2[ph.param_no];
            } else {
              arg = argv2[cursor++];
            }
            if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {
              arg = arg();
            }
            if (re.numeric_arg.test(ph.type) && (typeof arg !== "number" && isNaN(arg))) {
              throw new TypeError(sprintf("[sprintf] expecting number but found %T", arg));
            }
            if (re.number.test(ph.type)) {
              is_positive = arg >= 0;
            }
            switch (ph.type) {
              case "b":
                arg = parseInt(arg, 10).toString(2);
                break;
              case "c":
                arg = String.fromCharCode(parseInt(arg, 10));
                break;
              case "d":
              case "i":
                arg = parseInt(arg, 10);
                break;
              case "j":
                arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0);
                break;
              case "e":
                arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential();
                break;
              case "f":
                arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg);
                break;
              case "g":
                arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg);
                break;
              case "o":
                arg = (parseInt(arg, 10) >>> 0).toString(8);
                break;
              case "s":
                arg = String(arg);
                arg = ph.precision ? arg.substring(0, ph.precision) : arg;
                break;
              case "t":
                arg = String(!!arg);
                arg = ph.precision ? arg.substring(0, ph.precision) : arg;
                break;
              case "T":
                arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase();
                arg = ph.precision ? arg.substring(0, ph.precision) : arg;
                break;
              case "u":
                arg = parseInt(arg, 10) >>> 0;
                break;
              case "v":
                arg = arg.valueOf();
                arg = ph.precision ? arg.substring(0, ph.precision) : arg;
                break;
              case "x":
                arg = (parseInt(arg, 10) >>> 0).toString(16);
                break;
              case "X":
                arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase();
                break;
            }
            if (re.json.test(ph.type)) {
              output += arg;
            } else {
              if (re.number.test(ph.type) && (!is_positive || ph.sign)) {
                sign = is_positive ? "+" : "-";
                arg = arg.toString().replace(re.sign, "");
              } else {
                sign = "";
              }
              pad_character = ph.pad_char ? ph.pad_char === "0" ? "0" : ph.pad_char.charAt(1) : " ";
              pad_length = ph.width - (sign + arg).length;
              pad = ph.width ? pad_length > 0 ? pad_character.repeat(pad_length) : "" : "";
              output += ph.align ? sign + arg + pad : pad_character === "0" ? sign + pad + arg : pad + sign + arg;
            }
          }
        }
        return output;
      }
      var sprintf_cache = /* @__PURE__ */ Object.create(null);
      function sprintf_parse(fmt) {
        if (sprintf_cache[fmt]) {
          return sprintf_cache[fmt];
        }
        var _fmt = fmt, match, parse_tree = [], arg_names = 0;
        while (_fmt) {
          if ((match = re.text.exec(_fmt)) !== null) {
            parse_tree.push(match[0]);
          } else if ((match = re.modulo.exec(_fmt)) !== null) {
            parse_tree.push("%");
          } else if ((match = re.placeholder.exec(_fmt)) !== null) {
            if (match[2]) {
              arg_names |= 1;
              var field_list = [], replacement_field = match[2], field_match = [];
              if ((field_match = re.key.exec(replacement_field)) !== null) {
                field_list.push(field_match[1]);
                while ((replacement_field = replacement_field.substring(field_match[0].length)) !== "") {
                  if ((field_match = re.key_access.exec(replacement_field)) !== null) {
                    field_list.push(field_match[1]);
                  } else if ((field_match = re.index_access.exec(replacement_field)) !== null) {
                    field_list.push(field_match[1]);
                  } else {
                    throw new SyntaxError("[sprintf] failed to parse named argument key");
                  }
                }
              } else {
                throw new SyntaxError("[sprintf] failed to parse named argument key");
              }
              match[2] = field_list;
            } else {
              arg_names |= 2;
            }
            if (arg_names === 3) {
              throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");
            }
            parse_tree.push(
              {
                placeholder: match[0],
                param_no: match[1],
                keys: match[2],
                sign: match[3],
                pad_char: match[4],
                align: match[5],
                width: match[6],
                precision: match[7],
                type: match[8]
              }
            );
          } else {
            throw new SyntaxError("[sprintf] unexpected placeholder");
          }
          _fmt = _fmt.substring(match[0].length);
        }
        return sprintf_cache[fmt] = parse_tree;
      }
      if (typeof exports2 !== "undefined") {
        exports2["sprintf"] = sprintf;
        exports2["vsprintf"] = vsprintf;
      }
      if (typeof window !== "undefined") {
        window["sprintf"] = sprintf;
        window["vsprintf"] = vsprintf;
        if (typeof define === "function" && define["amd"]) {
          define(function() {
            return {
              "sprintf": sprintf,
              "vsprintf": vsprintf
            };
          });
        }
      }
    }();
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv4.js
var require_ipv4 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv4.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Address4 = void 0;
    var common = __importStar3(require_common3());
    var constants = __importStar3(require_constants8());
    var address_error_1 = require_address_error();
    var jsbn_1 = require_jsbn();
    var sprintf_js_1 = require_sprintf();
    var Address4 = class _Address4 {
      constructor(address) {
        this.groups = constants.GROUPS;
        this.parsedAddress = [];
        this.parsedSubnet = "";
        this.subnet = "/32";
        this.subnetMask = 32;
        this.v4 = true;
        this.isCorrect = common.isCorrect(constants.BITS);
        this.isInSubnet = common.isInSubnet;
        this.address = address;
        const subnet = constants.RE_SUBNET_STRING.exec(address);
        if (subnet) {
          this.parsedSubnet = subnet[0].replace("/", "");
          this.subnetMask = parseInt(this.parsedSubnet, 10);
          this.subnet = `/${this.subnetMask}`;
          if (this.subnetMask < 0 || this.subnetMask > constants.BITS) {
            throw new address_error_1.AddressError("Invalid subnet mask.");
          }
          address = address.replace(constants.RE_SUBNET_STRING, "");
        }
        this.addressMinusSuffix = address;
        this.parsedAddress = this.parse(address);
      }
      static isValid(address) {
        try {
          new _Address4(address);
          return true;
        } catch (e) {
          return false;
        }
      }
      /*
       * Parses a v4 address
       */
      parse(address) {
        const groups = address.split(".");
        if (!address.match(constants.RE_ADDRESS)) {
          throw new address_error_1.AddressError("Invalid IPv4 address.");
        }
        return groups;
      }
      /**
       * Returns the correct form of an address
       * @memberof Address4
       * @instance
       * @returns {String}
       */
      correctForm() {
        return this.parsedAddress.map((part) => parseInt(part, 10)).join(".");
      }
      /**
       * Converts a hex string to an IPv4 address object
       * @memberof Address4
       * @static
       * @param {string} hex - a hex string to convert
       * @returns {Address4}
       */
      static fromHex(hex) {
        const padded = hex.replace(/:/g, "").padStart(8, "0");
        const groups = [];
        let i;
        for (i = 0; i < 8; i += 2) {
          const h = padded.slice(i, i + 2);
          groups.push(parseInt(h, 16));
        }
        return new _Address4(groups.join("."));
      }
      /**
       * Converts an integer into a IPv4 address object
       * @memberof Address4
       * @static
       * @param {integer} integer - a number to convert
       * @returns {Address4}
       */
      static fromInteger(integer) {
        return _Address4.fromHex(integer.toString(16));
      }
      /**
       * Return an address from in-addr.arpa form
       * @memberof Address4
       * @static
       * @param {string} arpaFormAddress - an 'in-addr.arpa' form ipv4 address
       * @returns {Adress4}
       * @example
       * var address = Address4.fromArpa(42.2.0.192.in-addr.arpa.)
       * address.correctForm(); // '192.0.2.42'
       */
      static fromArpa(arpaFormAddress) {
        const leader = arpaFormAddress.replace(/(\.in-addr\.arpa)?\.$/, "");
        const address = leader.split(".").reverse().join(".");
        return new _Address4(address);
      }
      /**
       * Converts an IPv4 address object to a hex string
       * @memberof Address4
       * @instance
       * @returns {String}
       */
      toHex() {
        return this.parsedAddress.map((part) => (0, sprintf_js_1.sprintf)("%02x", parseInt(part, 10))).join(":");
      }
      /**
       * Converts an IPv4 address object to an array of bytes
       * @memberof Address4
       * @instance
       * @returns {Array}
       */
      toArray() {
        return this.parsedAddress.map((part) => parseInt(part, 10));
      }
      /**
       * Converts an IPv4 address object to an IPv6 address group
       * @memberof Address4
       * @instance
       * @returns {String}
       */
      toGroup6() {
        const output = [];
        let i;
        for (i = 0; i < constants.GROUPS; i += 2) {
          const hex = (0, sprintf_js_1.sprintf)("%02x%02x", parseInt(this.parsedAddress[i], 10), parseInt(this.parsedAddress[i + 1], 10));
          output.push((0, sprintf_js_1.sprintf)("%x", parseInt(hex, 16)));
        }
        return output.join(":");
      }
      /**
       * Returns the address as a BigInteger
       * @memberof Address4
       * @instance
       * @returns {BigInteger}
       */
      bigInteger() {
        return new jsbn_1.BigInteger(this.parsedAddress.map((n) => (0, sprintf_js_1.sprintf)("%02x", parseInt(n, 10))).join(""), 16);
      }
      /**
       * Helper function getting start address.
       * @memberof Address4
       * @instance
       * @returns {BigInteger}
       */
      _startAddress() {
        return new jsbn_1.BigInteger(this.mask() + "0".repeat(constants.BITS - this.subnetMask), 2);
      }
      /**
       * The first address in the range given by this address' subnet.
       * Often referred to as the Network Address.
       * @memberof Address4
       * @instance
       * @returns {Address4}
       */
      startAddress() {
        return _Address4.fromBigInteger(this._startAddress());
      }
      /**
       * The first host address in the range given by this address's subnet ie
       * the first address after the Network Address
       * @memberof Address4
       * @instance
       * @returns {Address4}
       */
      startAddressExclusive() {
        const adjust = new jsbn_1.BigInteger("1");
        return _Address4.fromBigInteger(this._startAddress().add(adjust));
      }
      /**
       * Helper function getting end address.
       * @memberof Address4
       * @instance
       * @returns {BigInteger}
       */
      _endAddress() {
        return new jsbn_1.BigInteger(this.mask() + "1".repeat(constants.BITS - this.subnetMask), 2);
      }
      /**
       * The last address in the range given by this address' subnet
       * Often referred to as the Broadcast
       * @memberof Address4
       * @instance
       * @returns {Address4}
       */
      endAddress() {
        return _Address4.fromBigInteger(this._endAddress());
      }
      /**
       * The last host address in the range given by this address's subnet ie
       * the last address prior to the Broadcast Address
       * @memberof Address4
       * @instance
       * @returns {Address4}
       */
      endAddressExclusive() {
        const adjust = new jsbn_1.BigInteger("1");
        return _Address4.fromBigInteger(this._endAddress().subtract(adjust));
      }
      /**
       * Converts a BigInteger to a v4 address object
       * @memberof Address4
       * @static
       * @param {BigInteger} bigInteger - a BigInteger to convert
       * @returns {Address4}
       */
      static fromBigInteger(bigInteger) {
        return _Address4.fromInteger(parseInt(bigInteger.toString(), 10));
      }
      /**
       * Returns the first n bits of the address, defaulting to the
       * subnet mask
       * @memberof Address4
       * @instance
       * @returns {String}
       */
      mask(mask) {
        if (mask === void 0) {
          mask = this.subnetMask;
        }
        return this.getBitsBase2(0, mask);
      }
      /**
       * Returns the bits in the given range as a base-2 string
       * @memberof Address4
       * @instance
       * @returns {string}
       */
      getBitsBase2(start, end) {
        return this.binaryZeroPad().slice(start, end);
      }
      /**
       * Return the reversed ip6.arpa form of the address
       * @memberof Address4
       * @param {Object} options
       * @param {boolean} options.omitSuffix - omit the "in-addr.arpa" suffix
       * @instance
       * @returns {String}
       */
      reverseForm(options) {
        if (!options) {
          options = {};
        }
        const reversed = this.correctForm().split(".").reverse().join(".");
        if (options.omitSuffix) {
          return reversed;
        }
        return (0, sprintf_js_1.sprintf)("%s.in-addr.arpa.", reversed);
      }
      /**
       * Returns true if the given address is a multicast address
       * @memberof Address4
       * @instance
       * @returns {boolean}
       */
      isMulticast() {
        return this.isInSubnet(new _Address4("224.0.0.0/4"));
      }
      /**
       * Returns a zero-padded base-2 string representation of the address
       * @memberof Address4
       * @instance
       * @returns {string}
       */
      binaryZeroPad() {
        return this.bigInteger().toString(2).padStart(constants.BITS, "0");
      }
      /**
       * Groups an IPv4 address for inclusion at the end of an IPv6 address
       * @returns {String}
       */
      groupForV6() {
        const segments = this.parsedAddress;
        return this.address.replace(constants.RE_ADDRESS, (0, sprintf_js_1.sprintf)('<span class="hover-group group-v4 group-6">%s</span>.<span class="hover-group group-v4 group-7">%s</span>', segments.slice(0, 2).join("."), segments.slice(2, 4).join(".")));
      }
    };
    exports2.Address4 = Address4;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/constants.js
var require_constants9 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RE_URL_WITH_PORT = exports2.RE_URL = exports2.RE_ZONE_STRING = exports2.RE_SUBNET_STRING = exports2.RE_BAD_ADDRESS = exports2.RE_BAD_CHARACTERS = exports2.TYPES = exports2.SCOPES = exports2.GROUPS = exports2.BITS = void 0;
    exports2.BITS = 128;
    exports2.GROUPS = 8;
    exports2.SCOPES = {
      0: "Reserved",
      1: "Interface local",
      2: "Link local",
      4: "Admin local",
      5: "Site local",
      8: "Organization local",
      14: "Global",
      15: "Reserved"
    };
    exports2.TYPES = {
      "ff01::1/128": "Multicast (All nodes on this interface)",
      "ff01::2/128": "Multicast (All routers on this interface)",
      "ff02::1/128": "Multicast (All nodes on this link)",
      "ff02::2/128": "Multicast (All routers on this link)",
      "ff05::2/128": "Multicast (All routers in this site)",
      "ff02::5/128": "Multicast (OSPFv3 AllSPF routers)",
      "ff02::6/128": "Multicast (OSPFv3 AllDR routers)",
      "ff02::9/128": "Multicast (RIP routers)",
      "ff02::a/128": "Multicast (EIGRP routers)",
      "ff02::d/128": "Multicast (PIM routers)",
      "ff02::16/128": "Multicast (MLDv2 reports)",
      "ff01::fb/128": "Multicast (mDNSv6)",
      "ff02::fb/128": "Multicast (mDNSv6)",
      "ff05::fb/128": "Multicast (mDNSv6)",
      "ff02::1:2/128": "Multicast (All DHCP servers and relay agents on this link)",
      "ff05::1:2/128": "Multicast (All DHCP servers and relay agents in this site)",
      "ff02::1:3/128": "Multicast (All DHCP servers on this link)",
      "ff05::1:3/128": "Multicast (All DHCP servers in this site)",
      "::/128": "Unspecified",
      "::1/128": "Loopback",
      "ff00::/8": "Multicast",
      "fe80::/10": "Link-local unicast"
    };
    exports2.RE_BAD_CHARACTERS = /([^0-9a-f:/%])/gi;
    exports2.RE_BAD_ADDRESS = /([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi;
    exports2.RE_SUBNET_STRING = /\/\d{1,3}(?=%|$)/;
    exports2.RE_ZONE_STRING = /%.*$/;
    exports2.RE_URL = new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/);
    exports2.RE_URL_WITH_PORT = new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/helpers.js
var require_helpers2 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/helpers.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.simpleGroup = exports2.spanLeadingZeroes = exports2.spanAll = exports2.spanAllZeroes = void 0;
    var sprintf_js_1 = require_sprintf();
    function spanAllZeroes(s) {
      return s.replace(/(0+)/g, '<span class="zero">$1</span>');
    }
    exports2.spanAllZeroes = spanAllZeroes;
    function spanAll(s, offset = 0) {
      const letters = s.split("");
      return letters.map(
        (n, i) => (0, sprintf_js_1.sprintf)('<span class="digit value-%s position-%d">%s</span>', n, i + offset, spanAllZeroes(n))
        // XXX Use #base-2 .value-0 instead?
      ).join("");
    }
    exports2.spanAll = spanAll;
    function spanLeadingZeroesSimple(group) {
      return group.replace(/^(0+)/, '<span class="zero">$1</span>');
    }
    function spanLeadingZeroes(address) {
      const groups = address.split(":");
      return groups.map((g) => spanLeadingZeroesSimple(g)).join(":");
    }
    exports2.spanLeadingZeroes = spanLeadingZeroes;
    function simpleGroup(addressString, offset = 0) {
      const groups = addressString.split(":");
      return groups.map((g, i) => {
        if (/group-v4/.test(g)) {
          return g;
        }
        return (0, sprintf_js_1.sprintf)('<span class="hover-group group-%d">%s</span>', i + offset, spanLeadingZeroesSimple(g));
      });
    }
    exports2.simpleGroup = simpleGroup;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/regular-expressions.js
var require_regular_expressions = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/v6/regular-expressions.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.possibleElisions = exports2.simpleRegularExpression = exports2.ADDRESS_BOUNDARY = exports2.padGroup = exports2.groupPossibilities = void 0;
    var v6 = __importStar3(require_constants9());
    var sprintf_js_1 = require_sprintf();
    function groupPossibilities(possibilities) {
      return (0, sprintf_js_1.sprintf)("(%s)", possibilities.join("|"));
    }
    exports2.groupPossibilities = groupPossibilities;
    function padGroup(group) {
      if (group.length < 4) {
        return (0, sprintf_js_1.sprintf)("0{0,%d}%s", 4 - group.length, group);
      }
      return group;
    }
    exports2.padGroup = padGroup;
    exports2.ADDRESS_BOUNDARY = "[^A-Fa-f0-9:]";
    function simpleRegularExpression(groups) {
      const zeroIndexes = [];
      groups.forEach((group, i) => {
        const groupInteger = parseInt(group, 16);
        if (groupInteger === 0) {
          zeroIndexes.push(i);
        }
      });
      const possibilities = zeroIndexes.map((zeroIndex) => groups.map((group, i) => {
        if (i === zeroIndex) {
          const elision = i === 0 || i === v6.GROUPS - 1 ? ":" : "";
          return groupPossibilities([padGroup(group), elision]);
        }
        return padGroup(group);
      }).join(":"));
      possibilities.push(groups.map(padGroup).join(":"));
      return groupPossibilities(possibilities);
    }
    exports2.simpleRegularExpression = simpleRegularExpression;
    function possibleElisions(elidedGroups, moreLeft, moreRight) {
      const left = moreLeft ? "" : ":";
      const right = moreRight ? "" : ":";
      const possibilities = [];
      if (!moreLeft && !moreRight) {
        possibilities.push("::");
      }
      if (moreLeft && moreRight) {
        possibilities.push("");
      }
      if (moreRight && !moreLeft || !moreRight && moreLeft) {
        possibilities.push(":");
      }
      possibilities.push((0, sprintf_js_1.sprintf)("%s(:0{1,4}){1,%d}", left, elidedGroups - 1));
      possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){1,%d}%s", elidedGroups - 1, right));
      possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){%d}0{1,4}", elidedGroups - 1));
      for (let groups = 1; groups < elidedGroups - 1; groups++) {
        for (let position = 1; position < elidedGroups - groups; position++) {
          possibilities.push((0, sprintf_js_1.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}", position, elidedGroups - position - groups - 1));
        }
      }
      return groupPossibilities(possibilities);
    }
    exports2.possibleElisions = possibleElisions;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv6.js
var require_ipv6 = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ipv6.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Address6 = void 0;
    var common = __importStar3(require_common3());
    var constants4 = __importStar3(require_constants8());
    var constants6 = __importStar3(require_constants9());
    var helpers = __importStar3(require_helpers2());
    var ipv4_1 = require_ipv4();
    var regular_expressions_1 = require_regular_expressions();
    var address_error_1 = require_address_error();
    var jsbn_1 = require_jsbn();
    var sprintf_js_1 = require_sprintf();
    function assert(condition) {
      if (!condition) {
        throw new Error("Assertion failed.");
      }
    }
    function addCommas(number) {
      const r = /(\d+)(\d{3})/;
      while (r.test(number)) {
        number = number.replace(r, "$1,$2");
      }
      return number;
    }
    function spanLeadingZeroes4(n) {
      n = n.replace(/^(0{1,})([1-9]+)$/, '<span class="parse-error">$1</span>$2');
      n = n.replace(/^(0{1,})(0)$/, '<span class="parse-error">$1</span>$2');
      return n;
    }
    function compact(address, slice) {
      const s1 = [];
      const s2 = [];
      let i;
      for (i = 0; i < address.length; i++) {
        if (i < slice[0]) {
          s1.push(address[i]);
        } else if (i > slice[1]) {
          s2.push(address[i]);
        }
      }
      return s1.concat(["compact"]).concat(s2);
    }
    function paddedHex(octet) {
      return (0, sprintf_js_1.sprintf)("%04x", parseInt(octet, 16));
    }
    function unsignByte(b) {
      return b & 255;
    }
    var Address6 = class _Address6 {
      constructor(address, optionalGroups) {
        this.addressMinusSuffix = "";
        this.parsedSubnet = "";
        this.subnet = "/128";
        this.subnetMask = 128;
        this.v4 = false;
        this.zone = "";
        this.isInSubnet = common.isInSubnet;
        this.isCorrect = common.isCorrect(constants6.BITS);
        if (optionalGroups === void 0) {
          this.groups = constants6.GROUPS;
        } else {
          this.groups = optionalGroups;
        }
        this.address = address;
        const subnet = constants6.RE_SUBNET_STRING.exec(address);
        if (subnet) {
          this.parsedSubnet = subnet[0].replace("/", "");
          this.subnetMask = parseInt(this.parsedSubnet, 10);
          this.subnet = `/${this.subnetMask}`;
          if (Number.isNaN(this.subnetMask) || this.subnetMask < 0 || this.subnetMask > constants6.BITS) {
            throw new address_error_1.AddressError("Invalid subnet mask.");
          }
          address = address.replace(constants6.RE_SUBNET_STRING, "");
        } else if (/\//.test(address)) {
          throw new address_error_1.AddressError("Invalid subnet mask.");
        }
        const zone = constants6.RE_ZONE_STRING.exec(address);
        if (zone) {
          this.zone = zone[0];
          address = address.replace(constants6.RE_ZONE_STRING, "");
        }
        this.addressMinusSuffix = address;
        this.parsedAddress = this.parse(this.addressMinusSuffix);
      }
      static isValid(address) {
        try {
          new _Address6(address);
          return true;
        } catch (e) {
          return false;
        }
      }
      /**
       * Convert a BigInteger to a v6 address object
       * @memberof Address6
       * @static
       * @param {BigInteger} bigInteger - a BigInteger to convert
       * @returns {Address6}
       * @example
       * var bigInteger = new BigInteger('1000000000000');
       * var address = Address6.fromBigInteger(bigInteger);
       * address.correctForm(); // '::e8:d4a5:1000'
       */
      static fromBigInteger(bigInteger) {
        const hex = bigInteger.toString(16).padStart(32, "0");
        const groups = [];
        let i;
        for (i = 0; i < constants6.GROUPS; i++) {
          groups.push(hex.slice(i * 4, (i + 1) * 4));
        }
        return new _Address6(groups.join(":"));
      }
      /**
       * Convert a URL (with optional port number) to an address object
       * @memberof Address6
       * @static
       * @param {string} url - a URL with optional port number
       * @example
       * var addressAndPort = Address6.fromURL('http://[ffff::]:8080/foo/');
       * addressAndPort.address.correctForm(); // 'ffff::'
       * addressAndPort.port; // 8080
       */
      static fromURL(url) {
        let host;
        let port = null;
        let result2;
        if (url.indexOf("[") !== -1 && url.indexOf("]:") !== -1) {
          result2 = constants6.RE_URL_WITH_PORT.exec(url);
          if (result2 === null) {
            return {
              error: "failed to parse address with port",
              address: null,
              port: null
            };
          }
          host = result2[1];
          port = result2[2];
        } else if (url.indexOf("/") !== -1) {
          url = url.replace(/^[a-z0-9]+:\/\//, "");
          result2 = constants6.RE_URL.exec(url);
          if (result2 === null) {
            return {
              error: "failed to parse address from URL",
              address: null,
              port: null
            };
          }
          host = result2[1];
        } else {
          host = url;
        }
        if (port) {
          port = parseInt(port, 10);
          if (port < 0 || port > 65536) {
            port = null;
          }
        } else {
          port = null;
        }
        return {
          address: new _Address6(host),
          port
        };
      }
      /**
       * Create an IPv6-mapped address given an IPv4 address
       * @memberof Address6
       * @static
       * @param {string} address - An IPv4 address string
       * @returns {Address6}
       * @example
       * var address = Address6.fromAddress4('192.168.0.1');
       * address.correctForm(); // '::ffff:c0a8:1'
       * address.to4in6(); // '::ffff:192.168.0.1'
       */
      static fromAddress4(address) {
        const address4 = new ipv4_1.Address4(address);
        const mask6 = constants6.BITS - (constants4.BITS - address4.subnetMask);
        return new _Address6(`::ffff:${address4.correctForm()}/${mask6}`);
      }
      /**
       * Return an address from ip6.arpa form
       * @memberof Address6
       * @static
       * @param {string} arpaFormAddress - an 'ip6.arpa' form address
       * @returns {Adress6}
       * @example
       * var address = Address6.fromArpa(e.f.f.f.3.c.2.6.f.f.f.e.6.6.8.e.1.0.6.7.9.4.e.c.0.0.0.0.1.0.0.2.ip6.arpa.)
       * address.correctForm(); // '2001:0:ce49:7601:e866:efff:62c3:fffe'
       */
      static fromArpa(arpaFormAddress) {
        let address = arpaFormAddress.replace(/(\.ip6\.arpa)?\.$/, "");
        const semicolonAmount = 7;
        if (address.length !== 63) {
          throw new address_error_1.AddressError("Invalid 'ip6.arpa' form.");
        }
        const parts = address.split(".").reverse();
        for (let i = semicolonAmount; i > 0; i--) {
          const insertIndex = i * 4;
          parts.splice(insertIndex, 0, ":");
        }
        address = parts.join("");
        return new _Address6(address);
      }
      /**
       * Return the Microsoft UNC transcription of the address
       * @memberof Address6
       * @instance
       * @returns {String} the Microsoft UNC transcription of the address
       */
      microsoftTranscription() {
        return (0, sprintf_js_1.sprintf)("%s.ipv6-literal.net", this.correctForm().replace(/:/g, "-"));
      }
      /**
       * Return the first n bits of the address, defaulting to the subnet mask
       * @memberof Address6
       * @instance
       * @param {number} [mask=subnet] - the number of bits to mask
       * @returns {String} the first n bits of the address as a string
       */
      mask(mask = this.subnetMask) {
        return this.getBitsBase2(0, mask);
      }
      /**
       * Return the number of possible subnets of a given size in the address
       * @memberof Address6
       * @instance
       * @param {number} [size=128] - the subnet size
       * @returns {String}
       */
      // TODO: probably useful to have a numeric version of this too
      possibleSubnets(subnetSize = 128) {
        const availableBits = constants6.BITS - this.subnetMask;
        const subnetBits = Math.abs(subnetSize - constants6.BITS);
        const subnetPowers = availableBits - subnetBits;
        if (subnetPowers < 0) {
          return "0";
        }
        return addCommas(new jsbn_1.BigInteger("2", 10).pow(subnetPowers).toString(10));
      }
      /**
       * Helper function getting start address.
       * @memberof Address6
       * @instance
       * @returns {BigInteger}
       */
      _startAddress() {
        return new jsbn_1.BigInteger(this.mask() + "0".repeat(constants6.BITS - this.subnetMask), 2);
      }
      /**
       * The first address in the range given by this address' subnet
       * Often referred to as the Network Address.
       * @memberof Address6
       * @instance
       * @returns {Address6}
       */
      startAddress() {
        return _Address6.fromBigInteger(this._startAddress());
      }
      /**
       * The first host address in the range given by this address's subnet ie
       * the first address after the Network Address
       * @memberof Address6
       * @instance
       * @returns {Address6}
       */
      startAddressExclusive() {
        const adjust = new jsbn_1.BigInteger("1");
        return _Address6.fromBigInteger(this._startAddress().add(adjust));
      }
      /**
       * Helper function getting end address.
       * @memberof Address6
       * @instance
       * @returns {BigInteger}
       */
      _endAddress() {
        return new jsbn_1.BigInteger(this.mask() + "1".repeat(constants6.BITS - this.subnetMask), 2);
      }
      /**
       * The last address in the range given by this address' subnet
       * Often referred to as the Broadcast
       * @memberof Address6
       * @instance
       * @returns {Address6}
       */
      endAddress() {
        return _Address6.fromBigInteger(this._endAddress());
      }
      /**
       * The last host address in the range given by this address's subnet ie
       * the last address prior to the Broadcast Address
       * @memberof Address6
       * @instance
       * @returns {Address6}
       */
      endAddressExclusive() {
        const adjust = new jsbn_1.BigInteger("1");
        return _Address6.fromBigInteger(this._endAddress().subtract(adjust));
      }
      /**
       * Return the scope of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      getScope() {
        let scope = constants6.SCOPES[this.getBits(12, 16).intValue()];
        if (this.getType() === "Global unicast" && scope !== "Link local") {
          scope = "Global";
        }
        return scope || "Unknown";
      }
      /**
       * Return the type of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      getType() {
        for (const subnet of Object.keys(constants6.TYPES)) {
          if (this.isInSubnet(new _Address6(subnet))) {
            return constants6.TYPES[subnet];
          }
        }
        return "Global unicast";
      }
      /**
       * Return the bits in the given range as a BigInteger
       * @memberof Address6
       * @instance
       * @returns {BigInteger}
       */
      getBits(start, end) {
        return new jsbn_1.BigInteger(this.getBitsBase2(start, end), 2);
      }
      /**
       * Return the bits in the given range as a base-2 string
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      getBitsBase2(start, end) {
        return this.binaryZeroPad().slice(start, end);
      }
      /**
       * Return the bits in the given range as a base-16 string
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      getBitsBase16(start, end) {
        const length = end - start;
        if (length % 4 !== 0) {
          throw new Error("Length of bits to retrieve must be divisible by four");
        }
        return this.getBits(start, end).toString(16).padStart(length / 4, "0");
      }
      /**
       * Return the bits that are set past the subnet mask length
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      getBitsPastSubnet() {
        return this.getBitsBase2(this.subnetMask, constants6.BITS);
      }
      /**
       * Return the reversed ip6.arpa form of the address
       * @memberof Address6
       * @param {Object} options
       * @param {boolean} options.omitSuffix - omit the "ip6.arpa" suffix
       * @instance
       * @returns {String}
       */
      reverseForm(options) {
        if (!options) {
          options = {};
        }
        const characters = Math.floor(this.subnetMask / 4);
        const reversed = this.canonicalForm().replace(/:/g, "").split("").slice(0, characters).reverse().join(".");
        if (characters > 0) {
          if (options.omitSuffix) {
            return reversed;
          }
          return (0, sprintf_js_1.sprintf)("%s.ip6.arpa.", reversed);
        }
        if (options.omitSuffix) {
          return "";
        }
        return "ip6.arpa.";
      }
      /**
       * Return the correct form of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      correctForm() {
        let i;
        let groups = [];
        let zeroCounter = 0;
        const zeroes = [];
        for (i = 0; i < this.parsedAddress.length; i++) {
          const value = parseInt(this.parsedAddress[i], 16);
          if (value === 0) {
            zeroCounter++;
          }
          if (value !== 0 && zeroCounter > 0) {
            if (zeroCounter > 1) {
              zeroes.push([i - zeroCounter, i - 1]);
            }
            zeroCounter = 0;
          }
        }
        if (zeroCounter > 1) {
          zeroes.push([this.parsedAddress.length - zeroCounter, this.parsedAddress.length - 1]);
        }
        const zeroLengths = zeroes.map((n) => n[1] - n[0] + 1);
        if (zeroes.length > 0) {
          const index = zeroLengths.indexOf(Math.max(...zeroLengths));
          groups = compact(this.parsedAddress, zeroes[index]);
        } else {
          groups = this.parsedAddress;
        }
        for (i = 0; i < groups.length; i++) {
          if (groups[i] !== "compact") {
            groups[i] = parseInt(groups[i], 16).toString(16);
          }
        }
        let correct = groups.join(":");
        correct = correct.replace(/^compact$/, "::");
        correct = correct.replace(/^compact|compact$/, ":");
        correct = correct.replace(/compact/, "");
        return correct;
      }
      /**
       * Return a zero-padded base-2 string representation of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       * @example
       * var address = new Address6('2001:4860:4001:803::1011');
       * address.binaryZeroPad();
       * // '0010000000000001010010000110000001000000000000010000100000000011
       * //  0000000000000000000000000000000000000000000000000001000000010001'
       */
      binaryZeroPad() {
        return this.bigInteger().toString(2).padStart(constants6.BITS, "0");
      }
      // TODO: Improve the semantics of this helper function
      parse4in6(address) {
        const groups = address.split(":");
        const lastGroup = groups.slice(-1)[0];
        const address4 = lastGroup.match(constants4.RE_ADDRESS);
        if (address4) {
          this.parsedAddress4 = address4[0];
          this.address4 = new ipv4_1.Address4(this.parsedAddress4);
          for (let i = 0; i < this.address4.groups; i++) {
            if (/^0[0-9]+/.test(this.address4.parsedAddress[i])) {
              throw new address_error_1.AddressError("IPv4 addresses can't have leading zeroes.", address.replace(constants4.RE_ADDRESS, this.address4.parsedAddress.map(spanLeadingZeroes4).join(".")));
            }
          }
          this.v4 = true;
          groups[groups.length - 1] = this.address4.toGroup6();
          address = groups.join(":");
        }
        return address;
      }
      // TODO: Make private?
      parse(address) {
        address = this.parse4in6(address);
        const badCharacters = address.match(constants6.RE_BAD_CHARACTERS);
        if (badCharacters) {
          throw new address_error_1.AddressError((0, sprintf_js_1.sprintf)("Bad character%s detected in address: %s", badCharacters.length > 1 ? "s" : "", badCharacters.join("")), address.replace(constants6.RE_BAD_CHARACTERS, '<span class="parse-error">$1</span>'));
        }
        const badAddress = address.match(constants6.RE_BAD_ADDRESS);
        if (badAddress) {
          throw new address_error_1.AddressError((0, sprintf_js_1.sprintf)("Address failed regex: %s", badAddress.join("")), address.replace(constants6.RE_BAD_ADDRESS, '<span class="parse-error">$1</span>'));
        }
        let groups = [];
        const halves = address.split("::");
        if (halves.length === 2) {
          let first = halves[0].split(":");
          let last = halves[1].split(":");
          if (first.length === 1 && first[0] === "") {
            first = [];
          }
          if (last.length === 1 && last[0] === "") {
            last = [];
          }
          const remaining = this.groups - (first.length + last.length);
          if (!remaining) {
            throw new address_error_1.AddressError("Error parsing groups");
          }
          this.elidedGroups = remaining;
          this.elisionBegin = first.length;
          this.elisionEnd = first.length + this.elidedGroups;
          groups = groups.concat(first);
          for (let i = 0; i < remaining; i++) {
            groups.push("0");
          }
          groups = groups.concat(last);
        } else if (halves.length === 1) {
          groups = address.split(":");
          this.elidedGroups = 0;
        } else {
          throw new address_error_1.AddressError("Too many :: groups found");
        }
        groups = groups.map((group) => (0, sprintf_js_1.sprintf)("%x", parseInt(group, 16)));
        if (groups.length !== this.groups) {
          throw new address_error_1.AddressError("Incorrect number of groups found");
        }
        return groups;
      }
      /**
       * Return the canonical form of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      canonicalForm() {
        return this.parsedAddress.map(paddedHex).join(":");
      }
      /**
       * Return the decimal form of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      decimal() {
        return this.parsedAddress.map((n) => (0, sprintf_js_1.sprintf)("%05d", parseInt(n, 16))).join(":");
      }
      /**
       * Return the address as a BigInteger
       * @memberof Address6
       * @instance
       * @returns {BigInteger}
       */
      bigInteger() {
        return new jsbn_1.BigInteger(this.parsedAddress.map(paddedHex).join(""), 16);
      }
      /**
       * Return the last two groups of this address as an IPv4 address string
       * @memberof Address6
       * @instance
       * @returns {Address4}
       * @example
       * var address = new Address6('2001:4860:4001::1825:bf11');
       * address.to4().correctForm(); // '24.37.191.17'
       */
      to4() {
        const binary = this.binaryZeroPad().split("");
        return ipv4_1.Address4.fromHex(new jsbn_1.BigInteger(binary.slice(96, 128).join(""), 2).toString(16));
      }
      /**
       * Return the v4-in-v6 form of the address
       * @memberof Address6
       * @instance
       * @returns {String}
       */
      to4in6() {
        const address4 = this.to4();
        const address6 = new _Address6(this.parsedAddress.slice(0, 6).join(":"), 6);
        const correct = address6.correctForm();
        let infix = "";
        if (!/:$/.test(correct)) {
          infix = ":";
        }
        return correct + infix + address4.address;
      }
      /**
       * Return an object containing the Teredo properties of the address
       * @memberof Address6
       * @instance
       * @returns {Object}
       */
      inspectTeredo() {
        const prefix = this.getBitsBase16(0, 32);
        const udpPort = this.getBits(80, 96).xor(new jsbn_1.BigInteger("ffff", 16)).toString();
        const server4 = ipv4_1.Address4.fromHex(this.getBitsBase16(32, 64));
        const client4 = ipv4_1.Address4.fromHex(this.getBits(96, 128).xor(new jsbn_1.BigInteger("ffffffff", 16)).toString(16));
        const flags = this.getBits(64, 80);
        const flagsBase2 = this.getBitsBase2(64, 80);
        const coneNat = flags.testBit(15);
        const reserved = flags.testBit(14);
        const groupIndividual = flags.testBit(8);
        const universalLocal = flags.testBit(9);
        const nonce = new jsbn_1.BigInteger(flagsBase2.slice(2, 6) + flagsBase2.slice(8, 16), 2).toString(10);
        return {
          prefix: (0, sprintf_js_1.sprintf)("%s:%s", prefix.slice(0, 4), prefix.slice(4, 8)),
          server4: server4.address,
          client4: client4.address,
          flags: flagsBase2,
          coneNat,
          microsoft: {
            reserved,
            universalLocal,
            groupIndividual,
            nonce
          },
          udpPort
        };
      }
      /**
       * Return an object containing the 6to4 properties of the address
       * @memberof Address6
       * @instance
       * @returns {Object}
       */
      inspect6to4() {
        const prefix = this.getBitsBase16(0, 16);
        const gateway = ipv4_1.Address4.fromHex(this.getBitsBase16(16, 48));
        return {
          prefix: (0, sprintf_js_1.sprintf)("%s", prefix.slice(0, 4)),
          gateway: gateway.address
        };
      }
      /**
       * Return a v6 6to4 address from a v6 v4inv6 address
       * @memberof Address6
       * @instance
       * @returns {Address6}
       */
      to6to4() {
        if (!this.is4()) {
          return null;
        }
        const addr6to4 = [
          "2002",
          this.getBitsBase16(96, 112),
          this.getBitsBase16(112, 128),
          "",
          "/16"
        ].join(":");
        return new _Address6(addr6to4);
      }
      /**
       * Return a byte array
       * @memberof Address6
       * @instance
       * @returns {Array}
       */
      toByteArray() {
        const byteArray = this.bigInteger().toByteArray();
        if (byteArray.length === 17 && byteArray[0] === 0) {
          return byteArray.slice(1);
        }
        return byteArray;
      }
      /**
       * Return an unsigned byte array
       * @memberof Address6
       * @instance
       * @returns {Array}
       */
      toUnsignedByteArray() {
        return this.toByteArray().map(unsignByte);
      }
      /**
       * Convert a byte array to an Address6 object
       * @memberof Address6
       * @static
       * @returns {Address6}
       */
      static fromByteArray(bytes) {
        return this.fromUnsignedByteArray(bytes.map(unsignByte));
      }
      /**
       * Convert an unsigned byte array to an Address6 object
       * @memberof Address6
       * @static
       * @returns {Address6}
       */
      static fromUnsignedByteArray(bytes) {
        const BYTE_MAX = new jsbn_1.BigInteger("256", 10);
        let result2 = new jsbn_1.BigInteger("0", 10);
        let multiplier = new jsbn_1.BigInteger("1", 10);
        for (let i = bytes.length - 1; i >= 0; i--) {
          result2 = result2.add(multiplier.multiply(new jsbn_1.BigInteger(bytes[i].toString(10), 10)));
          multiplier = multiplier.multiply(BYTE_MAX);
        }
        return _Address6.fromBigInteger(result2);
      }
      /**
       * Returns true if the address is in the canonical form, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      isCanonical() {
        return this.addressMinusSuffix === this.canonicalForm();
      }
      /**
       * Returns true if the address is a link local address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      isLinkLocal() {
        if (this.getBitsBase2(0, 64) === "1111111010000000000000000000000000000000000000000000000000000000") {
          return true;
        }
        return false;
      }
      /**
       * Returns true if the address is a multicast address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      isMulticast() {
        return this.getType() === "Multicast";
      }
      /**
       * Returns true if the address is a v4-in-v6 address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      is4() {
        return this.v4;
      }
      /**
       * Returns true if the address is a Teredo address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      isTeredo() {
        return this.isInSubnet(new _Address6("2001::/32"));
      }
      /**
       * Returns true if the address is a 6to4 address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      is6to4() {
        return this.isInSubnet(new _Address6("2002::/16"));
      }
      /**
       * Returns true if the address is a loopback address, false otherwise
       * @memberof Address6
       * @instance
       * @returns {boolean}
       */
      isLoopback() {
        return this.getType() === "Loopback";
      }
      // #endregion
      // #region HTML
      /**
       * @returns {String} the address in link form with a default port of 80
       */
      href(optionalPort) {
        if (optionalPort === void 0) {
          optionalPort = "";
        } else {
          optionalPort = (0, sprintf_js_1.sprintf)(":%s", optionalPort);
        }
        return (0, sprintf_js_1.sprintf)("http://[%s]%s/", this.correctForm(), optionalPort);
      }
      /**
       * @returns {String} a link suitable for conveying the address via a URL hash
       */
      link(options) {
        if (!options) {
          options = {};
        }
        if (options.className === void 0) {
          options.className = "";
        }
        if (options.prefix === void 0) {
          options.prefix = "/#address=";
        }
        if (options.v4 === void 0) {
          options.v4 = false;
        }
        let formFunction = this.correctForm;
        if (options.v4) {
          formFunction = this.to4in6;
        }
        if (options.className) {
          return (0, sprintf_js_1.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>', options.prefix, formFunction.call(this), options.className);
        }
        return (0, sprintf_js_1.sprintf)('<a href="%1$s%2$s">%2$s</a>', options.prefix, formFunction.call(this));
      }
      /**
       * Groups an address
       * @returns {String}
       */
      group() {
        if (this.elidedGroups === 0) {
          return helpers.simpleGroup(this.address).join(":");
        }
        assert(typeof this.elidedGroups === "number");
        assert(typeof this.elisionBegin === "number");
        const output = [];
        const [left, right] = this.address.split("::");
        if (left.length) {
          output.push(...helpers.simpleGroup(left));
        } else {
          output.push("");
        }
        const classes = ["hover-group"];
        for (let i = this.elisionBegin; i < this.elisionBegin + this.elidedGroups; i++) {
          classes.push((0, sprintf_js_1.sprintf)("group-%d", i));
        }
        output.push((0, sprintf_js_1.sprintf)('<span class="%s"></span>', classes.join(" ")));
        if (right.length) {
          output.push(...helpers.simpleGroup(right, this.elisionEnd));
        } else {
          output.push("");
        }
        if (this.is4()) {
          assert(this.address4 instanceof ipv4_1.Address4);
          output.pop();
          output.push(this.address4.groupForV6());
        }
        return output.join(":");
      }
      // #endregion
      // #region Regular expressions
      /**
       * Generate a regular expression string that can be used to find or validate
       * all variations of this address
       * @memberof Address6
       * @instance
       * @param {boolean} substringSearch
       * @returns {string}
       */
      regularExpressionString(substringSearch = false) {
        let output = [];
        const address6 = new _Address6(this.correctForm());
        if (address6.elidedGroups === 0) {
          output.push((0, regular_expressions_1.simpleRegularExpression)(address6.parsedAddress));
        } else if (address6.elidedGroups === constants6.GROUPS) {
          output.push((0, regular_expressions_1.possibleElisions)(constants6.GROUPS));
        } else {
          const halves = address6.address.split("::");
          if (halves[0].length) {
            output.push((0, regular_expressions_1.simpleRegularExpression)(halves[0].split(":")));
          }
          assert(typeof address6.elidedGroups === "number");
          output.push((0, regular_expressions_1.possibleElisions)(address6.elidedGroups, halves[0].length !== 0, halves[1].length !== 0));
          if (halves[1].length) {
            output.push((0, regular_expressions_1.simpleRegularExpression)(halves[1].split(":")));
          }
          output = [output.join(":")];
        }
        if (!substringSearch) {
          output = [
            "(?=^|",
            regular_expressions_1.ADDRESS_BOUNDARY,
            "|[^\\w\\:])(",
            ...output,
            ")(?=[^\\w\\:]|",
            regular_expressions_1.ADDRESS_BOUNDARY,
            "|$)"
          ];
        }
        return output.join("");
      }
      /**
       * Generate a regular expression that can be used to find or validate all
       * variations of this address.
       * @memberof Address6
       * @instance
       * @param {boolean} substringSearch
       * @returns {RegExp}
       */
      regularExpression(substringSearch = false) {
        return new RegExp(this.regularExpressionString(substringSearch), "i");
      }
    };
    exports2.Address6 = Address6;
  }
});

// ../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ip-address.js
var require_ip_address = __commonJS({
  "../node_modules/.pnpm/ip-address@9.0.5/node_modules/ip-address/dist/ip-address.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.v6 = exports2.AddressError = exports2.Address6 = exports2.Address4 = void 0;
    var ipv4_1 = require_ipv4();
    Object.defineProperty(exports2, "Address4", { enumerable: true, get: function() {
      return ipv4_1.Address4;
    } });
    var ipv6_1 = require_ipv6();
    Object.defineProperty(exports2, "Address6", { enumerable: true, get: function() {
      return ipv6_1.Address6;
    } });
    var address_error_1 = require_address_error();
    Object.defineProperty(exports2, "AddressError", { enumerable: true, get: function() {
      return address_error_1.AddressError;
    } });
    var helpers = __importStar3(require_helpers2());
    exports2.v6 = { helpers };
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/helpers.js
var require_helpers3 = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/helpers.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ipToBuffer = exports2.int32ToIpv4 = exports2.ipv4ToInt32 = exports2.validateSocksClientChainOptions = exports2.validateSocksClientOptions = void 0;
    var util_1 = require_util5();
    var constants_1 = require_constants7();
    var stream = require("stream");
    var ip_address_1 = require_ip_address();
    var net = require("net");
    function validateSocksClientOptions(options, acceptedCommands = ["connect", "bind", "associate"]) {
      if (!constants_1.SocksCommand[options.command]) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommand, options);
      }
      if (acceptedCommands.indexOf(options.command) === -1) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandForOperation, options);
      }
      if (!isValidSocksRemoteHost(options.destination)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
      }
      if (!isValidSocksProxy(options.proxy)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
      }
      validateCustomProxyAuth(options.proxy, options);
      if (options.timeout && !isValidTimeoutValue(options.timeout)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
      }
      if (options.existing_socket && !(options.existing_socket instanceof stream.Duplex)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsExistingSocket, options);
      }
    }
    exports2.validateSocksClientOptions = validateSocksClientOptions;
    function validateSocksClientChainOptions(options) {
      if (options.command !== "connect") {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksCommandChain, options);
      }
      if (!isValidSocksRemoteHost(options.destination)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsDestination, options);
      }
      if (!(options.proxies && Array.isArray(options.proxies) && options.proxies.length >= 2)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxiesLength, options);
      }
      options.proxies.forEach((proxy) => {
        if (!isValidSocksProxy(proxy)) {
          throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsProxy, options);
        }
        validateCustomProxyAuth(proxy, options);
      });
      if (options.timeout && !isValidTimeoutValue(options.timeout)) {
        throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsTimeout, options);
      }
    }
    exports2.validateSocksClientChainOptions = validateSocksClientChainOptions;
    function validateCustomProxyAuth(proxy, options) {
      if (proxy.custom_auth_method !== void 0) {
        if (proxy.custom_auth_method < constants_1.SOCKS5_CUSTOM_AUTH_START || proxy.custom_auth_method > constants_1.SOCKS5_CUSTOM_AUTH_END) {
          throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthRange, options);
        }
        if (proxy.custom_auth_request_handler === void 0 || typeof proxy.custom_auth_request_handler !== "function") {
          throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
        }
        if (proxy.custom_auth_response_size === void 0) {
          throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
        }
        if (proxy.custom_auth_response_handler === void 0 || typeof proxy.custom_auth_response_handler !== "function") {
          throw new util_1.SocksClientError(constants_1.ERRORS.InvalidSocksClientOptionsCustomAuthOptions, options);
        }
      }
    }
    function isValidSocksRemoteHost(remoteHost) {
      return remoteHost && typeof remoteHost.host === "string" && typeof remoteHost.port === "number" && remoteHost.port >= 0 && remoteHost.port <= 65535;
    }
    function isValidSocksProxy(proxy) {
      return proxy && (typeof proxy.host === "string" || typeof proxy.ipaddress === "string") && typeof proxy.port === "number" && proxy.port >= 0 && proxy.port <= 65535 && (proxy.type === 4 || proxy.type === 5);
    }
    function isValidTimeoutValue(value) {
      return typeof value === "number" && value > 0;
    }
    function ipv4ToInt32(ip) {
      const address = new ip_address_1.Address4(ip);
      return address.toArray().reduce((acc, part) => (acc << 8) + part, 0);
    }
    exports2.ipv4ToInt32 = ipv4ToInt32;
    function int32ToIpv4(int32) {
      const octet1 = int32 >>> 24 & 255;
      const octet2 = int32 >>> 16 & 255;
      const octet3 = int32 >>> 8 & 255;
      const octet4 = int32 & 255;
      return [octet1, octet2, octet3, octet4].join(".");
    }
    exports2.int32ToIpv4 = int32ToIpv4;
    function ipToBuffer(ip) {
      if (net.isIPv4(ip)) {
        const address = new ip_address_1.Address4(ip);
        return Buffer.from(address.toArray());
      } else if (net.isIPv6(ip)) {
        const address = new ip_address_1.Address6(ip);
        return Buffer.from(address.canonicalForm().split(":").map((segment) => segment.padStart(4, "0")).join(""), "hex");
      } else {
        throw new Error("Invalid IP address format");
      }
    }
    exports2.ipToBuffer = ipToBuffer;
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/receivebuffer.js
var require_receivebuffer = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/common/receivebuffer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ReceiveBuffer = void 0;
    var ReceiveBuffer = class {
      constructor(size = 4096) {
        this.buffer = Buffer.allocUnsafe(size);
        this.offset = 0;
        this.originalSize = size;
      }
      get length() {
        return this.offset;
      }
      append(data) {
        if (!Buffer.isBuffer(data)) {
          throw new Error("Attempted to append a non-buffer instance to ReceiveBuffer.");
        }
        if (this.offset + data.length >= this.buffer.length) {
          const tmp = this.buffer;
          this.buffer = Buffer.allocUnsafe(Math.max(this.buffer.length + this.originalSize, this.buffer.length + data.length));
          tmp.copy(this.buffer);
        }
        data.copy(this.buffer, this.offset);
        return this.offset += data.length;
      }
      peek(length) {
        if (length > this.offset) {
          throw new Error("Attempted to read beyond the bounds of the managed internal data.");
        }
        return this.buffer.slice(0, length);
      }
      get(length) {
        if (length > this.offset) {
          throw new Error("Attempted to read beyond the bounds of the managed internal data.");
        }
        const value = Buffer.allocUnsafe(length);
        this.buffer.slice(0, length).copy(value);
        this.buffer.copyWithin(0, length, length + this.offset - length);
        this.offset -= length;
        return value;
      }
    };
    exports2.ReceiveBuffer = ReceiveBuffer;
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/client/socksclient.js
var require_socksclient = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/client/socksclient.js"(exports2) {
    "use strict";
    var __awaiter2 = exports2 && exports2.__awaiter || function(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(result2) {
          result2.done ? resolve(result2.value) : adopt(result2.value).then(fulfilled, rejected);
        }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
      });
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SocksClientError = exports2.SocksClient = void 0;
    var events_1 = require("events");
    var net = require("net");
    var smart_buffer_1 = require_smartbuffer();
    var constants_1 = require_constants7();
    var helpers_1 = require_helpers3();
    var receivebuffer_1 = require_receivebuffer();
    var util_1 = require_util5();
    Object.defineProperty(exports2, "SocksClientError", { enumerable: true, get: function() {
      return util_1.SocksClientError;
    } });
    var ip_address_1 = require_ip_address();
    var SocksClient = class _SocksClient extends events_1.EventEmitter {
      constructor(options) {
        super();
        this.options = Object.assign({}, options);
        (0, helpers_1.validateSocksClientOptions)(options);
        this.setState(constants_1.SocksClientState.Created);
      }
      /**
       * Creates a new SOCKS connection.
       *
       * Note: Supports callbacks and promises. Only supports the connect command.
       * @param options { SocksClientOptions } Options.
       * @param callback { Function } An optional callback function.
       * @returns { Promise }
       */
      static createConnection(options, callback) {
        return new Promise((resolve, reject) => {
          try {
            (0, helpers_1.validateSocksClientOptions)(options, ["connect"]);
          } catch (err) {
            if (typeof callback === "function") {
              callback(err);
              return resolve(err);
            } else {
              return reject(err);
            }
          }
          const client = new _SocksClient(options);
          client.connect(options.existing_socket);
          client.once("established", (info) => {
            client.removeAllListeners();
            if (typeof callback === "function") {
              callback(null, info);
              resolve(info);
            } else {
              resolve(info);
            }
          });
          client.once("error", (err) => {
            client.removeAllListeners();
            if (typeof callback === "function") {
              callback(err);
              resolve(err);
            } else {
              reject(err);
            }
          });
        });
      }
      /**
       * Creates a new SOCKS connection chain to a destination host through 2 or more SOCKS proxies.
       *
       * Note: Supports callbacks and promises. Only supports the connect method.
       * Note: Implemented via createConnection() factory function.
       * @param options { SocksClientChainOptions } Options
       * @param callback { Function } An optional callback function.
       * @returns { Promise }
       */
      static createConnectionChain(options, callback) {
        return new Promise((resolve, reject) => __awaiter2(this, void 0, void 0, function* () {
          try {
            (0, helpers_1.validateSocksClientChainOptions)(options);
          } catch (err) {
            if (typeof callback === "function") {
              callback(err);
              return resolve(err);
            } else {
              return reject(err);
            }
          }
          if (options.randomizeChain) {
            (0, util_1.shuffleArray)(options.proxies);
          }
          try {
            let sock;
            for (let i = 0; i < options.proxies.length; i++) {
              const nextProxy = options.proxies[i];
              const nextDestination = i === options.proxies.length - 1 ? options.destination : {
                host: options.proxies[i + 1].host || options.proxies[i + 1].ipaddress,
                port: options.proxies[i + 1].port
              };
              const result2 = yield _SocksClient.createConnection({
                command: "connect",
                proxy: nextProxy,
                destination: nextDestination,
                existing_socket: sock
              });
              sock = sock || result2.socket;
            }
            if (typeof callback === "function") {
              callback(null, { socket: sock });
              resolve({ socket: sock });
            } else {
              resolve({ socket: sock });
            }
          } catch (err) {
            if (typeof callback === "function") {
              callback(err);
              resolve(err);
            } else {
              reject(err);
            }
          }
        }));
      }
      /**
       * Creates a SOCKS UDP Frame.
       * @param options
       */
      static createUDPFrame(options) {
        const buff = new smart_buffer_1.SmartBuffer();
        buff.writeUInt16BE(0);
        buff.writeUInt8(options.frameNumber || 0);
        if (net.isIPv4(options.remoteHost.host)) {
          buff.writeUInt8(constants_1.Socks5HostType.IPv4);
          buff.writeUInt32BE((0, helpers_1.ipv4ToInt32)(options.remoteHost.host));
        } else if (net.isIPv6(options.remoteHost.host)) {
          buff.writeUInt8(constants_1.Socks5HostType.IPv6);
          buff.writeBuffer((0, helpers_1.ipToBuffer)(options.remoteHost.host));
        } else {
          buff.writeUInt8(constants_1.Socks5HostType.Hostname);
          buff.writeUInt8(Buffer.byteLength(options.remoteHost.host));
          buff.writeString(options.remoteHost.host);
        }
        buff.writeUInt16BE(options.remoteHost.port);
        buff.writeBuffer(options.data);
        return buff.toBuffer();
      }
      /**
       * Parses a SOCKS UDP frame.
       * @param data
       */
      static parseUDPFrame(data) {
        const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
        buff.readOffset = 2;
        const frameNumber = buff.readUInt8();
        const hostType = buff.readUInt8();
        let remoteHost;
        if (hostType === constants_1.Socks5HostType.IPv4) {
          remoteHost = (0, helpers_1.int32ToIpv4)(buff.readUInt32BE());
        } else if (hostType === constants_1.Socks5HostType.IPv6) {
          remoteHost = ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm();
        } else {
          remoteHost = buff.readString(buff.readUInt8());
        }
        const remotePort = buff.readUInt16BE();
        return {
          frameNumber,
          remoteHost: {
            host: remoteHost,
            port: remotePort
          },
          data: buff.readBuffer()
        };
      }
      /**
       * Internal state setter. If the SocksClient is in an error state, it cannot be changed to a non error state.
       */
      setState(newState) {
        if (this.state !== constants_1.SocksClientState.Error) {
          this.state = newState;
        }
      }
      /**
       * Starts the connection establishment to the proxy and destination.
       * @param existingSocket Connected socket to use instead of creating a new one (internal use).
       */
      connect(existingSocket) {
        this.onDataReceived = (data) => this.onDataReceivedHandler(data);
        this.onClose = () => this.onCloseHandler();
        this.onError = (err) => this.onErrorHandler(err);
        this.onConnect = () => this.onConnectHandler();
        const timer = setTimeout(() => this.onEstablishedTimeout(), this.options.timeout || constants_1.DEFAULT_TIMEOUT);
        if (timer.unref && typeof timer.unref === "function") {
          timer.unref();
        }
        if (existingSocket) {
          this.socket = existingSocket;
        } else {
          this.socket = new net.Socket();
        }
        this.socket.once("close", this.onClose);
        this.socket.once("error", this.onError);
        this.socket.once("connect", this.onConnect);
        this.socket.on("data", this.onDataReceived);
        this.setState(constants_1.SocksClientState.Connecting);
        this.receiveBuffer = new receivebuffer_1.ReceiveBuffer();
        if (existingSocket) {
          this.socket.emit("connect");
        } else {
          this.socket.connect(this.getSocketOptions());
          if (this.options.set_tcp_nodelay !== void 0 && this.options.set_tcp_nodelay !== null) {
            this.socket.setNoDelay(!!this.options.set_tcp_nodelay);
          }
        }
        this.prependOnceListener("established", (info) => {
          setImmediate(() => {
            if (this.receiveBuffer.length > 0) {
              const excessData = this.receiveBuffer.get(this.receiveBuffer.length);
              info.socket.emit("data", excessData);
            }
            info.socket.resume();
          });
        });
      }
      // Socket options (defaults host/port to options.proxy.host/options.proxy.port)
      getSocketOptions() {
        return Object.assign(Object.assign({}, this.options.socket_options), { host: this.options.proxy.host || this.options.proxy.ipaddress, port: this.options.proxy.port });
      }
      /**
       * Handles internal Socks timeout callback.
       * Note: If the Socks client is not BoundWaitingForConnection or Established, the connection will be closed.
       */
      onEstablishedTimeout() {
        if (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.BoundWaitingForConnection) {
          this.closeSocket(constants_1.ERRORS.ProxyConnectionTimedOut);
        }
      }
      /**
       * Handles Socket connect event.
       */
      onConnectHandler() {
        this.setState(constants_1.SocksClientState.Connected);
        if (this.options.proxy.type === 4) {
          this.sendSocks4InitialHandshake();
        } else {
          this.sendSocks5InitialHandshake();
        }
        this.setState(constants_1.SocksClientState.SentInitialHandshake);
      }
      /**
       * Handles Socket data event.
       * @param data
       */
      onDataReceivedHandler(data) {
        this.receiveBuffer.append(data);
        this.processData();
      }
      /**
       * Handles processing of the data we have received.
       */
      processData() {
        while (this.state !== constants_1.SocksClientState.Established && this.state !== constants_1.SocksClientState.Error && this.receiveBuffer.length >= this.nextRequiredPacketBufferSize) {
          if (this.state === constants_1.SocksClientState.SentInitialHandshake) {
            if (this.options.proxy.type === 4) {
              this.handleSocks4FinalHandshakeResponse();
            } else {
              this.handleInitialSocks5HandshakeResponse();
            }
          } else if (this.state === constants_1.SocksClientState.SentAuthentication) {
            this.handleInitialSocks5AuthenticationHandshakeResponse();
          } else if (this.state === constants_1.SocksClientState.SentFinalHandshake) {
            this.handleSocks5FinalHandshakeResponse();
          } else if (this.state === constants_1.SocksClientState.BoundWaitingForConnection) {
            if (this.options.proxy.type === 4) {
              this.handleSocks4IncomingConnectionResponse();
            } else {
              this.handleSocks5IncomingConnectionResponse();
            }
          } else {
            this.closeSocket(constants_1.ERRORS.InternalError);
            break;
          }
        }
      }
      /**
       * Handles Socket close event.
       * @param had_error
       */
      onCloseHandler() {
        this.closeSocket(constants_1.ERRORS.SocketClosed);
      }
      /**
       * Handles Socket error event.
       * @param err
       */
      onErrorHandler(err) {
        this.closeSocket(err.message);
      }
      /**
       * Removes internal event listeners on the underlying Socket.
       */
      removeInternalSocketHandlers() {
        this.socket.pause();
        this.socket.removeListener("data", this.onDataReceived);
        this.socket.removeListener("close", this.onClose);
        this.socket.removeListener("error", this.onError);
        this.socket.removeListener("connect", this.onConnect);
      }
      /**
       * Closes and destroys the underlying Socket. Emits an error event.
       * @param err { String } An error string to include in error event.
       */
      closeSocket(err) {
        if (this.state !== constants_1.SocksClientState.Error) {
          this.setState(constants_1.SocksClientState.Error);
          this.socket.destroy();
          this.removeInternalSocketHandlers();
          this.emit("error", new util_1.SocksClientError(err, this.options));
        }
      }
      /**
       * Sends initial Socks v4 handshake request.
       */
      sendSocks4InitialHandshake() {
        const userId = this.options.proxy.userId || "";
        const buff = new smart_buffer_1.SmartBuffer();
        buff.writeUInt8(4);
        buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
        buff.writeUInt16BE(this.options.destination.port);
        if (net.isIPv4(this.options.destination.host)) {
          buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
          buff.writeStringNT(userId);
        } else {
          buff.writeUInt8(0);
          buff.writeUInt8(0);
          buff.writeUInt8(0);
          buff.writeUInt8(1);
          buff.writeStringNT(userId);
          buff.writeStringNT(this.options.destination.host);
        }
        this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks4Response;
        this.socket.write(buff.toBuffer());
      }
      /**
       * Handles Socks v4 handshake response.
       * @param data
       */
      handleSocks4FinalHandshakeResponse() {
        const data = this.receiveBuffer.get(8);
        if (data[1] !== constants_1.Socks4Response.Granted) {
          this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedConnection} - (${constants_1.Socks4Response[data[1]]})`);
        } else {
          if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
            const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
            buff.readOffset = 2;
            const remoteHost = {
              port: buff.readUInt16BE(),
              host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE())
            };
            if (remoteHost.host === "0.0.0.0") {
              remoteHost.host = this.options.proxy.ipaddress;
            }
            this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
            this.emit("bound", { remoteHost, socket: this.socket });
          } else {
            this.setState(constants_1.SocksClientState.Established);
            this.removeInternalSocketHandlers();
            this.emit("established", { socket: this.socket });
          }
        }
      }
      /**
       * Handles Socks v4 incoming connection request (BIND)
       * @param data
       */
      handleSocks4IncomingConnectionResponse() {
        const data = this.receiveBuffer.get(8);
        if (data[1] !== constants_1.Socks4Response.Granted) {
          this.closeSocket(`${constants_1.ERRORS.Socks4ProxyRejectedIncomingBoundConnection} - (${constants_1.Socks4Response[data[1]]})`);
        } else {
          const buff = smart_buffer_1.SmartBuffer.fromBuffer(data);
          buff.readOffset = 2;
          const remoteHost = {
            port: buff.readUInt16BE(),
            host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE())
          };
          this.setState(constants_1.SocksClientState.Established);
          this.removeInternalSocketHandlers();
          this.emit("established", { remoteHost, socket: this.socket });
        }
      }
      /**
       * Sends initial Socks v5 handshake request.
       */
      sendSocks5InitialHandshake() {
        const buff = new smart_buffer_1.SmartBuffer();
        const supportedAuthMethods = [constants_1.Socks5Auth.NoAuth];
        if (this.options.proxy.userId || this.options.proxy.password) {
          supportedAuthMethods.push(constants_1.Socks5Auth.UserPass);
        }
        if (this.options.proxy.custom_auth_method !== void 0) {
          supportedAuthMethods.push(this.options.proxy.custom_auth_method);
        }
        buff.writeUInt8(5);
        buff.writeUInt8(supportedAuthMethods.length);
        for (const authMethod of supportedAuthMethods) {
          buff.writeUInt8(authMethod);
        }
        this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5InitialHandshakeResponse;
        this.socket.write(buff.toBuffer());
        this.setState(constants_1.SocksClientState.SentInitialHandshake);
      }
      /**
       * Handles initial Socks v5 handshake response.
       * @param data
       */
      handleInitialSocks5HandshakeResponse() {
        const data = this.receiveBuffer.get(2);
        if (data[0] !== 5) {
          this.closeSocket(constants_1.ERRORS.InvalidSocks5IntiailHandshakeSocksVersion);
        } else if (data[1] === constants_1.SOCKS5_NO_ACCEPTABLE_AUTH) {
          this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeNoAcceptedAuthType);
        } else {
          if (data[1] === constants_1.Socks5Auth.NoAuth) {
            this.socks5ChosenAuthType = constants_1.Socks5Auth.NoAuth;
            this.sendSocks5CommandRequest();
          } else if (data[1] === constants_1.Socks5Auth.UserPass) {
            this.socks5ChosenAuthType = constants_1.Socks5Auth.UserPass;
            this.sendSocks5UserPassAuthentication();
          } else if (data[1] === this.options.proxy.custom_auth_method) {
            this.socks5ChosenAuthType = this.options.proxy.custom_auth_method;
            this.sendSocks5CustomAuthentication();
          } else {
            this.closeSocket(constants_1.ERRORS.InvalidSocks5InitialHandshakeUnknownAuthType);
          }
        }
      }
      /**
       * Sends Socks v5 user & password auth handshake.
       *
       * Note: No auth and user/pass are currently supported.
       */
      sendSocks5UserPassAuthentication() {
        const userId = this.options.proxy.userId || "";
        const password = this.options.proxy.password || "";
        const buff = new smart_buffer_1.SmartBuffer();
        buff.writeUInt8(1);
        buff.writeUInt8(Buffer.byteLength(userId));
        buff.writeString(userId);
        buff.writeUInt8(Buffer.byteLength(password));
        buff.writeString(password);
        this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5UserPassAuthenticationResponse;
        this.socket.write(buff.toBuffer());
        this.setState(constants_1.SocksClientState.SentAuthentication);
      }
      sendSocks5CustomAuthentication() {
        return __awaiter2(this, void 0, void 0, function* () {
          this.nextRequiredPacketBufferSize = this.options.proxy.custom_auth_response_size;
          this.socket.write(yield this.options.proxy.custom_auth_request_handler());
          this.setState(constants_1.SocksClientState.SentAuthentication);
        });
      }
      handleSocks5CustomAuthHandshakeResponse(data) {
        return __awaiter2(this, void 0, void 0, function* () {
          return yield this.options.proxy.custom_auth_response_handler(data);
        });
      }
      handleSocks5AuthenticationNoAuthHandshakeResponse(data) {
        return __awaiter2(this, void 0, void 0, function* () {
          return data[1] === 0;
        });
      }
      handleSocks5AuthenticationUserPassHandshakeResponse(data) {
        return __awaiter2(this, void 0, void 0, function* () {
          return data[1] === 0;
        });
      }
      /**
       * Handles Socks v5 auth handshake response.
       * @param data
       */
      handleInitialSocks5AuthenticationHandshakeResponse() {
        return __awaiter2(this, void 0, void 0, function* () {
          this.setState(constants_1.SocksClientState.ReceivedAuthenticationResponse);
          let authResult = false;
          if (this.socks5ChosenAuthType === constants_1.Socks5Auth.NoAuth) {
            authResult = yield this.handleSocks5AuthenticationNoAuthHandshakeResponse(this.receiveBuffer.get(2));
          } else if (this.socks5ChosenAuthType === constants_1.Socks5Auth.UserPass) {
            authResult = yield this.handleSocks5AuthenticationUserPassHandshakeResponse(this.receiveBuffer.get(2));
          } else if (this.socks5ChosenAuthType === this.options.proxy.custom_auth_method) {
            authResult = yield this.handleSocks5CustomAuthHandshakeResponse(this.receiveBuffer.get(this.options.proxy.custom_auth_response_size));
          }
          if (!authResult) {
            this.closeSocket(constants_1.ERRORS.Socks5AuthenticationFailed);
          } else {
            this.sendSocks5CommandRequest();
          }
        });
      }
      /**
       * Sends Socks v5 final handshake request.
       */
      sendSocks5CommandRequest() {
        const buff = new smart_buffer_1.SmartBuffer();
        buff.writeUInt8(5);
        buff.writeUInt8(constants_1.SocksCommand[this.options.command]);
        buff.writeUInt8(0);
        if (net.isIPv4(this.options.destination.host)) {
          buff.writeUInt8(constants_1.Socks5HostType.IPv4);
          buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
        } else if (net.isIPv6(this.options.destination.host)) {
          buff.writeUInt8(constants_1.Socks5HostType.IPv6);
          buff.writeBuffer((0, helpers_1.ipToBuffer)(this.options.destination.host));
        } else {
          buff.writeUInt8(constants_1.Socks5HostType.Hostname);
          buff.writeUInt8(this.options.destination.host.length);
          buff.writeString(this.options.destination.host);
        }
        buff.writeUInt16BE(this.options.destination.port);
        this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
        this.socket.write(buff.toBuffer());
        this.setState(constants_1.SocksClientState.SentFinalHandshake);
      }
      /**
       * Handles Socks v5 final handshake response.
       * @param data
       */
      handleSocks5FinalHandshakeResponse() {
        const header = this.receiveBuffer.peek(5);
        if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
          this.closeSocket(`${constants_1.ERRORS.InvalidSocks5FinalHandshakeRejected} - ${constants_1.Socks5Response[header[1]]}`);
        } else {
          const addressType = header[3];
          let remoteHost;
          let buff;
          if (addressType === constants_1.Socks5HostType.IPv4) {
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
            remoteHost = {
              host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()),
              port: buff.readUInt16BE()
            };
            if (remoteHost.host === "0.0.0.0") {
              remoteHost.host = this.options.proxy.ipaddress;
            }
          } else if (addressType === constants_1.Socks5HostType.Hostname) {
            const hostLength = header[4];
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
            remoteHost = {
              host: buff.readString(hostLength),
              port: buff.readUInt16BE()
            };
          } else if (addressType === constants_1.Socks5HostType.IPv6) {
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
            remoteHost = {
              host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(),
              port: buff.readUInt16BE()
            };
          }
          this.setState(constants_1.SocksClientState.ReceivedFinalResponse);
          if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.connect) {
            this.setState(constants_1.SocksClientState.Established);
            this.removeInternalSocketHandlers();
            this.emit("established", { remoteHost, socket: this.socket });
          } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.bind) {
            this.setState(constants_1.SocksClientState.BoundWaitingForConnection);
            this.nextRequiredPacketBufferSize = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHeader;
            this.emit("bound", { remoteHost, socket: this.socket });
          } else if (constants_1.SocksCommand[this.options.command] === constants_1.SocksCommand.associate) {
            this.setState(constants_1.SocksClientState.Established);
            this.removeInternalSocketHandlers();
            this.emit("established", {
              remoteHost,
              socket: this.socket
            });
          }
        }
      }
      /**
       * Handles Socks v5 incoming connection request (BIND).
       */
      handleSocks5IncomingConnectionResponse() {
        const header = this.receiveBuffer.peek(5);
        if (header[0] !== 5 || header[1] !== constants_1.Socks5Response.Granted) {
          this.closeSocket(`${constants_1.ERRORS.Socks5ProxyRejectedIncomingBoundConnection} - ${constants_1.Socks5Response[header[1]]}`);
        } else {
          const addressType = header[3];
          let remoteHost;
          let buff;
          if (addressType === constants_1.Socks5HostType.IPv4) {
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv4;
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
            remoteHost = {
              host: (0, helpers_1.int32ToIpv4)(buff.readUInt32BE()),
              port: buff.readUInt16BE()
            };
            if (remoteHost.host === "0.0.0.0") {
              remoteHost.host = this.options.proxy.ipaddress;
            }
          } else if (addressType === constants_1.Socks5HostType.Hostname) {
            const hostLength = header[4];
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseHostname(hostLength);
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(5));
            remoteHost = {
              host: buff.readString(hostLength),
              port: buff.readUInt16BE()
            };
          } else if (addressType === constants_1.Socks5HostType.IPv6) {
            const dataNeeded = constants_1.SOCKS_INCOMING_PACKET_SIZES.Socks5ResponseIPv6;
            if (this.receiveBuffer.length < dataNeeded) {
              this.nextRequiredPacketBufferSize = dataNeeded;
              return;
            }
            buff = smart_buffer_1.SmartBuffer.fromBuffer(this.receiveBuffer.get(dataNeeded).slice(4));
            remoteHost = {
              host: ip_address_1.Address6.fromByteArray(Array.from(buff.readBuffer(16))).canonicalForm(),
              port: buff.readUInt16BE()
            };
          }
          this.setState(constants_1.SocksClientState.Established);
          this.removeInternalSocketHandlers();
          this.emit("established", { remoteHost, socket: this.socket });
        }
      }
      get socksClientOptions() {
        return Object.assign({}, this.options);
      }
    };
    exports2.SocksClient = SocksClient;
  }
});

// ../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/index.js
var require_build2 = __commonJS({
  "../node_modules/.pnpm/socks@2.8.4/node_modules/socks/build/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_socksclient(), exports2);
  }
});

// ../node_modules/.pnpm/socks-proxy-agent@8.0.5/node_modules/socks-proxy-agent/dist/index.js
var require_dist13 = __commonJS({
  "../node_modules/.pnpm/socks-proxy-agent@8.0.5/node_modules/socks-proxy-agent/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SocksProxyAgent = void 0;
    var socks_1 = require_build2();
    var agent_base_1 = require_dist10();
    var debug_1 = __importDefault2(require_src3());
    var dns = __importStar3(require("dns"));
    var net = __importStar3(require("net"));
    var tls = __importStar3(require("tls"));
    var url_1 = require("url");
    var debug = (0, debug_1.default)("socks-proxy-agent");
    var setServernameFromNonIpHost = (options) => {
      if (options.servername === void 0 && options.host && !net.isIP(options.host)) {
        return {
          ...options,
          servername: options.host
        };
      }
      return options;
    };
    function parseSocksURL(url) {
      let lookup = false;
      let type = 5;
      const host = url.hostname;
      const port = parseInt(url.port, 10) || 1080;
      switch (url.protocol.replace(":", "")) {
        case "socks4":
          lookup = true;
          type = 4;
          break;
        // pass through
        case "socks4a":
          type = 4;
          break;
        case "socks5":
          lookup = true;
          type = 5;
          break;
        // pass through
        case "socks":
          type = 5;
          break;
        case "socks5h":
          type = 5;
          break;
        default:
          throw new TypeError(`A "socks" protocol must be specified! Got: ${String(url.protocol)}`);
      }
      const proxy = {
        host,
        port,
        type
      };
      if (url.username) {
        Object.defineProperty(proxy, "userId", {
          value: decodeURIComponent(url.username),
          enumerable: false
        });
      }
      if (url.password != null) {
        Object.defineProperty(proxy, "password", {
          value: decodeURIComponent(url.password),
          enumerable: false
        });
      }
      return { lookup, proxy };
    }
    var SocksProxyAgent = class extends agent_base_1.Agent {
      constructor(uri, opts) {
        super(opts);
        const url = typeof uri === "string" ? new url_1.URL(uri) : uri;
        const { proxy, lookup } = parseSocksURL(url);
        this.shouldLookup = lookup;
        this.proxy = proxy;
        this.timeout = opts?.timeout ?? null;
        this.socketOptions = opts?.socketOptions ?? null;
      }
      /**
       * Initiates a SOCKS connection to the specified SOCKS proxy server,
       * which in turn connects to the specified remote host and port.
       */
      async connect(req, opts) {
        const { shouldLookup, proxy, timeout } = this;
        if (!opts.host) {
          throw new Error("No `host` defined!");
        }
        let { host } = opts;
        const { port, lookup: lookupFn = dns.lookup } = opts;
        if (shouldLookup) {
          host = await new Promise((resolve, reject) => {
            lookupFn(host, {}, (err, res) => {
              if (err) {
                reject(err);
              } else {
                resolve(res);
              }
            });
          });
        }
        const socksOpts = {
          proxy,
          destination: {
            host,
            port: typeof port === "number" ? port : parseInt(port, 10)
          },
          command: "connect",
          timeout: timeout ?? void 0,
          // @ts-expect-error the type supplied by socks for socket_options is wider
          // than necessary since socks will always override the host and port
          socket_options: this.socketOptions ?? void 0
        };
        const cleanup = (tlsSocket) => {
          req.destroy();
          socket.destroy();
          if (tlsSocket)
            tlsSocket.destroy();
        };
        debug("Creating socks proxy connection: %o", socksOpts);
        const { socket } = await socks_1.SocksClient.createConnection(socksOpts);
        debug("Successfully created socks proxy connection");
        if (timeout !== null) {
          socket.setTimeout(timeout);
          socket.on("timeout", () => cleanup());
        }
        if (opts.secureEndpoint) {
          debug("Upgrading socket connection to TLS");
          const tlsSocket = tls.connect({
            ...omit(setServernameFromNonIpHost(opts), "host", "path", "port"),
            socket
          });
          tlsSocket.once("error", (error) => {
            debug("Socket TLS error", error.message);
            cleanup(tlsSocket);
          });
          return tlsSocket;
        }
        return socket;
      }
    };
    SocksProxyAgent.protocols = [
      "socks",
      "socks4",
      "socks4a",
      "socks5",
      "socks5h"
    ];
    exports2.SocksProxyAgent = SocksProxyAgent;
    function omit(obj, ...keys) {
      const ret2 = {};
      let key;
      for (key in obj) {
        if (!keys.includes(key)) {
          ret2[key] = obj[key];
        }
      }
      return ret2;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.2/node_modules/@pnpm/network.proxy-agent/dist/proxy-agent.js
var require_proxy_agent = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.2/node_modules/@pnpm/network.proxy-agent/dist/proxy-agent.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getProxyAgent = void 0;
    var error_1 = require_lib54();
    var https_proxy_agent_1 = require_dist11();
    var http_proxy_agent_1 = require_dist12();
    var socks_proxy_agent_1 = require_dist13();
    var lru_cache_1 = __importDefault2(require_lru_cache2());
    var DEFAULT_MAX_SOCKETS = 50;
    var AGENT_CACHE = new lru_cache_1.default({ max: 50 });
    function getProxyAgent(uri, opts) {
      const parsedUri = new URL(uri);
      const pxuri = getProxyUri(parsedUri, opts);
      if (!pxuri)
        return;
      const isHttps = parsedUri.protocol === "https:";
      const key = [
        `https:${isHttps.toString()}`,
        `proxy:${pxuri.protocol}//${pxuri.username}:${pxuri.password}@${pxuri.host}:${pxuri.port}`,
        `local-address:${opts.localAddress ?? ">no-local-address<"}`,
        `strict-ssl:${isHttps ? Boolean(opts.strictSsl).toString() : ">no-strict-ssl<"}`,
        `ca:${isHttps && opts.ca?.toString() || ">no-ca<"}`,
        `cert:${isHttps && opts.cert?.toString() || ">no-cert<"}`,
        `key:${isHttps && opts.key || ">no-key<"}`
      ].join(":");
      if (AGENT_CACHE.peek(key)) {
        return AGENT_CACHE.get(key);
      }
      const proxy = getProxy(pxuri, opts, isHttps);
      AGENT_CACHE.set(key, proxy);
      return proxy;
    }
    exports2.getProxyAgent = getProxyAgent;
    function getProxyUri(uri, opts) {
      const { protocol } = uri;
      let proxy;
      switch (protocol) {
        case "http:": {
          proxy = opts.httpProxy;
          break;
        }
        case "https:": {
          proxy = opts.httpsProxy;
          break;
        }
      }
      if (!proxy) {
        return void 0;
      }
      if (!proxy.includes("://")) {
        proxy = `${protocol}//${proxy}`;
      }
      if (typeof proxy !== "string") {
        return proxy;
      }
      try {
        return new URL(proxy);
      } catch (err) {
        throw new error_1.PnpmError("INVALID_PROXY", "Couldn't parse proxy URL", {
          hint: `If your proxy URL contains a username and password, make sure to URL-encode them (you may use the encodeURIComponent function). For instance, https-proxy=https://use%21r:pas%2As@my.proxy:1234/foo. Do not encode the colon (:) between the username and password.`
        });
      }
    }
    function getProxy(proxyUrl, opts, isHttps) {
      const popts = {
        auth: getAuth(proxyUrl),
        ca: opts.ca,
        cert: opts.cert,
        key: opts.key,
        localAddress: opts.localAddress,
        maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS,
        rejectUnauthorized: opts.strictSsl,
        timeout: typeof opts.timeout !== "number" || opts.timeout === 0 ? 0 : opts.timeout + 1
      };
      if (proxyUrl.protocol === "http:" || proxyUrl.protocol === "https:") {
        if (!isHttps) {
          return new http_proxy_agent_1.HttpProxyAgent(proxyUrl, popts);
        } else {
          return new PatchedHttpsProxyAgent(proxyUrl, popts);
        }
      }
      if (proxyUrl.protocol?.startsWith("socks")) {
        return new socks_proxy_agent_1.SocksProxyAgent(proxyUrl, popts);
      }
      return void 0;
    }
    function getAuth(user) {
      if (!user.username) {
        return void 0;
      }
      let auth = user.username;
      if (user.password) {
        auth += `:${user.password}`;
      }
      return decodeURIComponent(auth);
    }
    var extraOpts = Symbol("extra agent opts");
    var PatchedHttpsProxyAgent = class extends https_proxy_agent_1.HttpsProxyAgent {
      constructor(proxyUrl, opts) {
        super(proxyUrl, opts);
        this[extraOpts] = opts;
      }
      connect(req, opts) {
        return super.connect(req, { ...this[extraOpts], ...opts });
      }
    };
  }
});

// ../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.2/node_modules/@pnpm/network.proxy-agent/dist/index.js
var require_dist14 = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.proxy-agent@2.0.2/node_modules/@pnpm/network.proxy-agent/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getProxyAgent = void 0;
    var proxy_agent_1 = require_proxy_agent();
    Object.defineProperty(exports2, "getProxyAgent", { enumerable: true, get: function() {
      return proxy_agent_1.getProxyAgent;
    } });
  }
});

// ../node_modules/.pnpm/nerf-dart@1.0.0/node_modules/nerf-dart/index.js
var require_nerf_dart = __commonJS({
  "../node_modules/.pnpm/nerf-dart@1.0.0/node_modules/nerf-dart/index.js"(exports2, module2) {
    var url = require("url");
    module2.exports = toNerfDart;
    function toNerfDart(uri) {
      var parsed = url.parse(uri);
      delete parsed.protocol;
      delete parsed.auth;
      delete parsed.query;
      delete parsed.search;
      delete parsed.hash;
      return url.resolve(url.format(parsed), ".");
    }
  }
});

// ../node_modules/.pnpm/@pnpm+network.config@2.0.1/node_modules/@pnpm/network.config/dist/config.js
var require_config2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.config@2.0.1/node_modules/@pnpm/network.config/dist/config.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickSettingByUrl = void 0;
    var nerf_dart_1 = __importDefault2(require_nerf_dart());
    function getMaxParts(uris) {
      return uris.reduce((max, uri) => {
        const parts = uri.split("/").length;
        return parts > max ? parts : max;
      }, 0);
    }
    function pickSettingByUrl(generic, uri) {
      if (!generic)
        return void 0;
      if (generic[uri])
        return generic[uri];
      const nerf = (0, nerf_dart_1.default)(uri);
      const withoutPort = removePort(new URL(uri));
      if (generic[nerf])
        return generic[nerf];
      if (generic[withoutPort])
        return generic[withoutPort];
      const maxParts = getMaxParts(Object.keys(generic));
      const parts = nerf.split("/");
      for (let i = Math.min(parts.length, maxParts) - 1; i >= 3; i--) {
        const key = `${parts.slice(0, i).join("/")}/`;
        if (generic[key]) {
          return generic[key];
        }
      }
      if (withoutPort !== uri) {
        return pickSettingByUrl(generic, withoutPort);
      }
      return void 0;
    }
    exports2.pickSettingByUrl = pickSettingByUrl;
    function removePort(config) {
      if (config.port === "")
        return config.href;
      config.port = "";
      const res = config.toString();
      return res.endsWith("/") ? res : `${res}/`;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+network.config@2.0.1/node_modules/@pnpm/network.config/dist/index.js
var require_dist15 = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.config@2.0.1/node_modules/@pnpm/network.config/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickSettingByUrl = void 0;
    var config_1 = require_config2();
    Object.defineProperty(exports2, "pickSettingByUrl", { enumerable: true, get: function() {
      return config_1.pickSettingByUrl;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+network.agent@2.0.2/node_modules/@pnpm/network.agent/dist/agent.js
var require_agent2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.agent@2.0.2/node_modules/@pnpm/network.agent/dist/agent.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAgent = void 0;
    var url_1 = require("url");
    var agentkeepalive_1 = __importDefault2(require_agentkeepalive());
    var lru_cache_1 = __importDefault2(require_lru_cache2());
    var network_proxy_agent_1 = require_dist14();
    var network_config_1 = require_dist15();
    var HttpsAgent = agentkeepalive_1.default.HttpsAgent;
    var DEFAULT_MAX_SOCKETS = 50;
    var AGENT_CACHE = new lru_cache_1.default({ max: 50 });
    function getAgent(uri, opts) {
      if ((opts.httpProxy || opts.httpsProxy) && !checkNoProxy(uri, opts)) {
        const proxyAgent = (0, network_proxy_agent_1.getProxyAgent)(uri, opts);
        if (proxyAgent)
          return proxyAgent;
      }
      return getNonProxyAgent(uri, opts);
    }
    exports2.getAgent = getAgent;
    function getNonProxyAgent(uri, opts) {
      const parsedUri = new url_1.URL(uri);
      const isHttps = parsedUri.protocol === "https:";
      const { ca, cert, key: certKey } = {
        ...opts,
        ...(0, network_config_1.pickSettingByUrl)(opts.clientCertificates, uri)
      };
      const key = [
        `https:${isHttps.toString()}`,
        `local-address:${opts.localAddress ?? ">no-local-address<"}`,
        `strict-ssl:${isHttps ? Boolean(opts.strictSsl).toString() : ">no-strict-ssl<"}`,
        `ca:${isHttps && ca?.toString() || ">no-ca<"}`,
        `cert:${isHttps && cert?.toString() || ">no-cert<"}`,
        `key:${isHttps && certKey?.toString() || ">no-key<"}`
      ].join(":");
      if (AGENT_CACHE.peek(key)) {
        return AGENT_CACHE.get(key);
      }
      const agentTimeout = typeof opts.timeout !== "number" || opts.timeout === 0 ? 0 : opts.timeout + 1;
      const agent = isHttps ? new HttpsAgent({
        ca,
        cert,
        key: certKey,
        localAddress: opts.localAddress,
        maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS,
        rejectUnauthorized: opts.strictSsl,
        timeout: agentTimeout
      }) : new agentkeepalive_1.default({
        localAddress: opts.localAddress,
        maxSockets: opts.maxSockets ?? DEFAULT_MAX_SOCKETS,
        timeout: agentTimeout
      });
      AGENT_CACHE.set(key, agent);
      return agent;
    }
    function checkNoProxy(uri, opts) {
      const host = new url_1.URL(uri).hostname.split(".").filter((x) => x).reverse();
      if (typeof opts.noProxy === "string") {
        const noproxyArr = opts.noProxy.split(/\s*,\s*/g);
        return noproxyArr.some((no) => {
          const noParts = no.split(".").filter((x) => x).reverse();
          if (noParts.length === 0) {
            return false;
          }
          for (let i = 0; i < noParts.length; i++) {
            if (host[i] !== noParts[i]) {
              return false;
            }
          }
          return true;
        });
      }
      return opts.noProxy;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+network.agent@2.0.2/node_modules/@pnpm/network.agent/dist/index.js
var require_dist16 = __commonJS({
  "../node_modules/.pnpm/@pnpm+network.agent@2.0.2/node_modules/@pnpm/network.agent/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAgent = void 0;
    var agent_1 = require_agent2();
    Object.defineProperty(exports2, "getAgent", { enumerable: true, get: function() {
      return agent_1.getAgent;
    } });
  }
});

// ../network/fetch/lib/fetchFromRegistry.js
var require_fetchFromRegistry = __commonJS({
  "../network/fetch/lib/fetchFromRegistry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fetchWithAgent = fetchWithAgent;
    exports2.createFetchFromRegistry = createFetchFromRegistry;
    var url_1 = require("url");
    var network_agent_1 = require_dist16();
    var fetch_1 = require_fetch2();
    var USER_AGENT = "pnpm";
    var ABBREVIATED_DOC = "application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*";
    var JSON_DOC = "application/json";
    var MAX_FOLLOWED_REDIRECTS = 20;
    function fetchWithAgent(url, opts) {
      const agent = (0, network_agent_1.getAgent)(url.toString(), {
        ...opts.agentOptions,
        strictSsl: opts.agentOptions.strictSsl ?? true
      });
      const headers = opts.headers ?? {};
      headers["connection"] = agent ? "keep-alive" : "close";
      return (0, fetch_1.fetch)(url, {
        ...opts,
        agent
      });
    }
    function createFetchFromRegistry(defaultOpts) {
      return async (url, opts) => {
        const headers = {
          "user-agent": USER_AGENT,
          ...getHeaders({
            auth: opts?.authHeaderValue,
            fullMetadata: defaultOpts.fullMetadata,
            userAgent: defaultOpts.userAgent
          })
        };
        let redirects = 0;
        let urlObject = new url_1.URL(url);
        const originalHost = urlObject.host;
        while (true) {
          const agentOptions = {
            ...defaultOpts,
            ...opts,
            strictSsl: defaultOpts.strictSsl ?? true
          };
          const response = await fetchWithAgent(urlObject, {
            agentOptions: {
              ...agentOptions,
              clientCertificates: defaultOpts.sslConfigs
            },
            // if verifying integrity, node-fetch must not decompress
            compress: opts?.compress ?? false,
            method: opts?.method,
            headers,
            redirect: "manual",
            retry: opts?.retry,
            timeout: opts?.timeout ?? 6e4
          });
          if (!(0, fetch_1.isRedirect)(response.status) || redirects >= MAX_FOLLOWED_REDIRECTS) {
            return response;
          }
          redirects++;
          urlObject = new url_1.URL(response.headers.get("location"));
          if (!headers["authorization"] || originalHost === urlObject.host)
            continue;
          delete headers.authorization;
        }
      };
    }
    function getHeaders(opts) {
      const headers = {
        accept: opts.fullMetadata === true ? JSON_DOC : ABBREVIATED_DOC
      };
      if (opts.auth) {
        headers["authorization"] = opts.auth;
      }
      if (opts.userAgent) {
        headers["user-agent"] = opts.userAgent;
      }
      return headers;
    }
  }
});

// ../network/fetch/lib/index.js
var require_lib55 = __commonJS({
  "../network/fetch/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fetchWithAgent = exports2.createFetchFromRegistry = void 0;
    var fetch_1 = require_fetch2();
    Object.defineProperty(exports2, "fetch", { enumerable: true, get: function() {
      return fetch_1.fetch;
    } });
    var fetchFromRegistry_1 = require_fetchFromRegistry();
    Object.defineProperty(exports2, "createFetchFromRegistry", { enumerable: true, get: function() {
      return fetchFromRegistry_1.createFetchFromRegistry;
    } });
    Object.defineProperty(exports2, "fetchWithAgent", { enumerable: true, get: function() {
      return fetchFromRegistry_1.fetchWithAgent;
    } });
  }
});

// ../fetching/pick-fetcher/lib/index.js
var require_lib56 = __commonJS({
  "../fetching/pick-fetcher/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickFetcher = pickFetcher;
    exports2.isGitHostedPkgUrl = isGitHostedPkgUrl;
    function pickFetcher(fetcherByHostingType, resolution) {
      let fetcherType = resolution.type;
      if (resolution.type == null) {
        if (resolution.tarball.startsWith("file:")) {
          fetcherType = "localTarball";
        } else if (isGitHostedPkgUrl(resolution.tarball)) {
          fetcherType = "gitHostedTarball";
        } else {
          fetcherType = "remoteTarball";
        }
      }
      const fetch = fetcherByHostingType[fetcherType];
      if (!fetch) {
        throw new Error(`Fetching for dependency type "${resolution.type ?? "undefined"}" is not supported`);
      }
      return fetch;
    }
    function isGitHostedPkgUrl(url) {
      return (url.startsWith("https://codeload.github.com/") || url.startsWith("https://bitbucket.org/") || url.startsWith("https://gitlab.com/")) && url.includes("tar.gz");
    }
  }
});

// ../store/cafs/lib/parseJson.js
var require_parseJson = __commonJS({
  "../store/cafs/lib/parseJson.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseJsonBufferSync = parseJsonBufferSync;
    var strip_bom_1 = __importDefault2(require_strip_bom());
    function parseJsonBufferSync(buffer) {
      return JSON.parse((0, strip_bom_1.default)(buffer.toString()));
    }
  }
});

// ../store/cafs/lib/addFilesFromDir.js
var require_addFilesFromDir = __commonJS({
  "../store/cafs/lib/addFilesFromDir.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addFilesFromDir = addFilesFromDir;
    var util_1 = __importDefault2(require("util"));
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var graceful_fs_1 = __importDefault2(require_lib12());
    var parseJson_1 = require_parseJson();
    function addFilesFromDir(addBuffer, dirname, opts = {}) {
      const filesIndex = {};
      let manifest;
      let files;
      if (opts.files) {
        files = [];
        for (const file of opts.files) {
          const absolutePath = path_1.default.join(dirname, file);
          let stat;
          try {
            stat = fs_1.default.statSync(absolutePath);
          } catch (err) {
            if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) {
              throw err;
            }
            continue;
          }
          files.push({
            absolutePath,
            relativePath: file,
            stat
          });
        }
      } else {
        files = findFilesInDir(dirname);
      }
      for (const { absolutePath, relativePath, stat } of files) {
        const buffer = graceful_fs_1.default.readFileSync(absolutePath);
        if (opts.readManifest && relativePath === "package.json") {
          manifest = (0, parseJson_1.parseJsonBufferSync)(buffer);
        }
        const mode = stat.mode & 511;
        filesIndex[relativePath] = {
          mode,
          size: stat.size,
          ...addBuffer(buffer, mode)
        };
      }
      return { manifest, filesIndex };
    }
    function findFilesInDir(dir) {
      const files = [];
      findFiles(files, dir);
      return files;
    }
    function findFiles(filesList, dir, relativeDir = "") {
      const files = fs_1.default.readdirSync(dir, { withFileTypes: true });
      for (const file of files) {
        const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file.name}`;
        if (file.isDirectory()) {
          if (relativeDir !== "" || file.name !== "node_modules") {
            findFiles(filesList, path_1.default.join(dir, file.name), relativeSubdir);
          }
          continue;
        }
        const absolutePath = path_1.default.join(dir, file.name);
        let stat;
        try {
          stat = fs_1.default.statSync(absolutePath);
        } catch (err) {
          if (err.code !== "ENOENT") {
            throw err;
          }
          continue;
        }
        if (stat.isDirectory()) {
          findFiles(filesList, path_1.default.join(dir, file.name), relativeSubdir);
          continue;
        }
        filesList.push({
          relativePath: relativeSubdir,
          absolutePath,
          stat
        });
      }
    }
  }
});

// ../node_modules/.pnpm/is-gzip@2.0.0/node_modules/is-gzip/index.js
var require_is_gzip = __commonJS({
  "../node_modules/.pnpm/is-gzip@2.0.0/node_modules/is-gzip/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (buf) => {
      if (!buf || buf.length < 3) {
        return false;
      }
      return buf[0] === 31 && buf[1] === 139 && buf[2] === 8;
    };
  }
});

// ../store/cafs/lib/parseTarball.js
var require_parseTarball = __commonJS({
  "../store/cafs/lib/parseTarball.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseTarball = parseTarball;
    var path_1 = __importDefault2(require("path"));
    var ZERO = "0".charCodeAt(0);
    var FILE_TYPE_HARD_LINK = "1".charCodeAt(0);
    var FILE_TYPE_SYMLINK = "2".charCodeAt(0);
    var FILE_TYPE_DIRECTORY = "5".charCodeAt(0);
    var SPACE = " ".charCodeAt(0);
    var SLASH = "/".charCodeAt(0);
    var BACKSLASH = "\\".charCodeAt(0);
    var FILE_TYPE_PAX_HEADER = "x".charCodeAt(0);
    var FILE_TYPE_PAX_GLOBAL_HEADER = "g".charCodeAt(0);
    var FILE_TYPE_LONGLINK = "L".charCodeAt(0);
    var MODE_OFFSET = 100;
    var FILE_SIZE_OFFSET = 124;
    var CHECKSUM_OFFSET = 148;
    var FILE_TYPE_OFFSET = 156;
    var PREFIX_OFFSET = 345;
    function parseTarball(buffer) {
      const files = /* @__PURE__ */ new Map();
      let pathTrimmed = false;
      let mode = 0;
      let fileSize = 0;
      let fileType = 0;
      let prefix = "";
      let fileName = "";
      let longLinkPath = "";
      let paxHeaderPath = "";
      let paxHeaderFileSize;
      let blockBytes = 0;
      let blockStart = 0;
      while (buffer[blockStart] !== 0) {
        fileType = buffer[blockStart + FILE_TYPE_OFFSET];
        if (paxHeaderFileSize !== void 0) {
          fileSize = paxHeaderFileSize;
          paxHeaderFileSize = void 0;
        } else {
          fileSize = parseOctal(blockStart + FILE_SIZE_OFFSET, 12);
        }
        blockBytes = (fileSize & ~511) + (fileSize & 511 ? 1024 : 512);
        const expectedCheckSum = parseOctal(blockStart + CHECKSUM_OFFSET, 8);
        const actualCheckSum = checkSum(blockStart);
        if (expectedCheckSum !== actualCheckSum) {
          throw new Error(`Invalid checksum for TAR header at offset ${blockStart}. Expected ${expectedCheckSum}, got ${actualCheckSum}`);
        }
        pathTrimmed = false;
        if (longLinkPath) {
          fileName = longLinkPath;
          longLinkPath = "";
        } else if (paxHeaderPath) {
          fileName = paxHeaderPath;
          paxHeaderPath = "";
        } else {
          prefix = parseString(blockStart + PREFIX_OFFSET, 155);
          if (prefix && !pathTrimmed) {
            pathTrimmed = true;
            prefix = "";
          }
          fileName = parseString(blockStart, MODE_OFFSET);
          if (prefix) {
            fileName = `${prefix}/${fileName}`;
          }
        }
        if (fileName.includes("./")) {
          fileName = path_1.default.posix.join("/", fileName).slice(1);
        }
        switch (fileType) {
          case 0:
          case ZERO:
          case FILE_TYPE_HARD_LINK:
            mode = parseOctal(blockStart + MODE_OFFSET, 8);
            files.set(fileName.replaceAll("//", "/"), { offset: blockStart + 512, mode, size: fileSize });
            break;
          case FILE_TYPE_DIRECTORY:
          case FILE_TYPE_SYMLINK:
            break;
          case FILE_TYPE_PAX_HEADER:
            parsePaxHeader(blockStart + 512, fileSize, false);
            break;
          case FILE_TYPE_PAX_GLOBAL_HEADER:
            parsePaxHeader(blockStart + 512, fileSize, true);
            break;
          case FILE_TYPE_LONGLINK: {
            longLinkPath = buffer.toString("utf8", blockStart + 512, blockStart + 512 + fileSize).replace(/\0.*/, "");
            const slashIndex = longLinkPath.indexOf("/");
            if (slashIndex >= 0) {
              longLinkPath = longLinkPath.slice(slashIndex + 1);
            }
            break;
          }
          default:
            throw new Error(`Unsupported file type ${fileType} for file ${fileName}.`);
        }
        blockStart += blockBytes;
      }
      return { files, buffer: buffer.buffer };
      function checkSum(offset) {
        let sum = 256;
        let i = offset;
        const checksumStart = offset + 148;
        const checksumEnd = offset + 156;
        const blockEnd = offset + 512;
        for (; i < checksumStart; i++) {
          sum += buffer[i];
        }
        for (i = checksumEnd; i < blockEnd; i++) {
          sum += buffer[i];
        }
        return sum;
      }
      function parsePaxHeader(offset, length, global2) {
        const end = offset + length;
        let i = offset;
        while (i < end) {
          const lineStart = i;
          while (i < end && buffer[i] !== SPACE) {
            i++;
          }
          const strLen = buffer.toString("utf-8", lineStart, i);
          const len = parseInt(strLen, 10);
          if (!len) {
            throw new Error(`Invalid length in PAX record: ${strLen}`);
          }
          i++;
          const lineEnd = lineStart + len;
          const record = buffer.toString("utf-8", i, lineEnd - 1);
          i = lineEnd;
          const equalSign = record.indexOf("=");
          const keyword = record.slice(0, equalSign);
          if (keyword === "path") {
            const slashIndex = record.indexOf("/", equalSign + 1);
            if (global2) {
              throw new Error(`Unexpected global PAX path: ${record}`);
            }
            paxHeaderPath = record.slice(slashIndex >= 0 ? slashIndex + 1 : equalSign + 1);
          } else if (keyword === "size") {
            const size = parseInt(record.slice(equalSign + 1), 10);
            if (isNaN(size) || size < 0) {
              throw new Error(`Invalid size in PAX record: ${record}`);
            }
            if (global2) {
              throw new Error(`Unexpected global PAX file size: ${record}`);
            }
            paxHeaderFileSize = size;
          } else {
            continue;
          }
        }
      }
      function parseString(offset, length) {
        let end = offset;
        const max = length + offset;
        for (let char = buffer[end]; char !== 0 && end !== max; char = buffer[++end]) {
          if (!pathTrimmed && (char === SLASH || char === BACKSLASH)) {
            pathTrimmed = true;
            offset = end + 1;
          }
        }
        return buffer.toString("utf8", offset, end);
      }
      function parseOctal(offset, length) {
        const val = buffer.subarray(offset, offset + length);
        offset = 0;
        while (offset < val.length && val[offset] === SPACE)
          offset++;
        const end = clamp(indexOf(val, SPACE, offset, val.length), val.length, val.length);
        while (offset < end && val[offset] === 0)
          offset++;
        if (end === offset)
          return 0;
        return parseInt(val.slice(offset, end).toString(), 8);
      }
    }
    function indexOf(block, num, offset, end) {
      for (; offset < end; offset++) {
        if (block[offset] === num)
          return offset;
      }
      return end;
    }
    function clamp(index, len, defaultValue) {
      if (typeof index !== "number")
        return defaultValue;
      index = ~~index;
      if (index >= len)
        return len;
      if (index >= 0)
        return index;
      index += len;
      if (index >= 0)
        return index;
      return 0;
    }
  }
});

// ../store/cafs/lib/addFilesFromTarball.js
var require_addFilesFromTarball = __commonJS({
  "../store/cafs/lib/addFilesFromTarball.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addFilesFromTarball = addFilesFromTarball;
    var is_gzip_1 = __importDefault2(require_is_gzip());
    var zlib_1 = require("zlib");
    var parseJson_1 = require_parseJson();
    var parseTarball_1 = require_parseTarball();
    function addFilesFromTarball(addBufferToCafs, _ignore, tarballBuffer, readManifest) {
      const ignore = _ignore ?? (() => false);
      const tarContent = (0, is_gzip_1.default)(tarballBuffer) ? (0, zlib_1.gunzipSync)(tarballBuffer) : Buffer.isBuffer(tarballBuffer) ? tarballBuffer : Buffer.from(tarballBuffer);
      const { files } = (0, parseTarball_1.parseTarball)(tarContent);
      const filesIndex = {};
      let manifestBuffer;
      for (const [relativePath, { mode, offset, size }] of files) {
        if (ignore(relativePath))
          continue;
        const fileBuffer = tarContent.subarray(offset, offset + size);
        if (readManifest && relativePath === "package.json") {
          manifestBuffer = fileBuffer;
        }
        filesIndex[relativePath] = {
          mode,
          size,
          ...addBufferToCafs(fileBuffer, mode)
        };
      }
      return {
        filesIndex,
        manifest: manifestBuffer ? (0, parseJson_1.parseJsonBufferSync)(manifestBuffer) : void 0
      };
    }
  }
});

// ../store/cafs/lib/getFilePathInCafs.js
var require_getFilePathInCafs = __commonJS({
  "../store/cafs/lib/getFilePathInCafs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.modeIsExecutable = void 0;
    exports2.getFilePathByModeInCafs = getFilePathByModeInCafs;
    exports2.getIndexFilePathInCafs = getIndexFilePathInCafs;
    exports2.contentPathFromHex = contentPathFromHex;
    var path_1 = __importDefault2(require("path"));
    var ssri_1 = __importDefault2(require_lib38());
    var modeIsExecutable = (mode) => (mode & 73) !== 0;
    exports2.modeIsExecutable = modeIsExecutable;
    function getFilePathByModeInCafs(storeDir, integrity, mode) {
      const fileType = (0, exports2.modeIsExecutable)(mode) ? "exec" : "nonexec";
      return path_1.default.join(storeDir, contentPathFromIntegrity(integrity, fileType));
    }
    function getIndexFilePathInCafs(storeDir, integrity, pkgId) {
      const hex = ssri_1.default.parse(integrity, { single: true }).hexDigest().substring(0, 64);
      return path_1.default.join(storeDir, `index/${path_1.default.join(hex.slice(0, 2), hex.slice(2))}-${pkgId.replace(/[\\/:*?"<>|]/g, "+")}.json`);
    }
    function contentPathFromIntegrity(integrity, fileType) {
      const sri = ssri_1.default.parse(integrity, { single: true });
      return contentPathFromHex(fileType, sri.hexDigest());
    }
    function contentPathFromHex(fileType, hex) {
      const p = path_1.default.join("files", hex.slice(0, 2), hex.slice(2));
      switch (fileType) {
        case "exec":
          return `${p}-exec`;
        case "nonexec":
          return p;
        case "index":
          return `${p}-index.json`;
      }
    }
  }
});

// ../store/cafs/lib/checkPkgFilesIntegrity.js
var require_checkPkgFilesIntegrity = __commonJS({
  "../store/cafs/lib/checkPkgFilesIntegrity.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkPkgFilesIntegrity = checkPkgFilesIntegrity;
    exports2.verifyFileIntegrity = verifyFileIntegrity;
    var fs_1 = __importDefault2(require("fs"));
    var util_1 = __importDefault2(require("util"));
    var graceful_fs_1 = __importDefault2(require_lib12());
    var rimraf_1 = __importDefault2(require_rimraf());
    var ssri_1 = __importDefault2(require_lib38());
    var getFilePathInCafs_1 = require_getFilePathInCafs();
    var parseJson_1 = require_parseJson();
    global["verifiedFileIntegrity"] = 0;
    function checkPkgFilesIntegrity(storeDir, pkgIndex, readManifest) {
      const verifiedFilesCache = /* @__PURE__ */ new Set();
      const _checkFilesIntegrity = checkFilesIntegrity.bind(null, verifiedFilesCache, storeDir);
      const verified = _checkFilesIntegrity(pkgIndex.files, readManifest);
      if (!verified)
        return { passed: false };
      if (pkgIndex.sideEffects) {
        for (const [sideEffectName, { added }] of Object.entries(pkgIndex.sideEffects)) {
          if (added) {
            const { passed } = _checkFilesIntegrity(added);
            if (!passed) {
              delete pkgIndex.sideEffects[sideEffectName];
            }
          }
        }
      }
      return verified;
    }
    function checkFilesIntegrity(verifiedFilesCache, storeDir, files, readManifest) {
      let allVerified = true;
      let manifest;
      for (const [f, fstat] of Object.entries(files)) {
        if (!fstat.integrity) {
          throw new Error(`Integrity checksum is missing for ${f}`);
        }
        const filename = (0, getFilePathInCafs_1.getFilePathByModeInCafs)(storeDir, fstat.integrity, fstat.mode);
        const readFile = readManifest && f === "package.json";
        if (!readFile && verifiedFilesCache.has(filename))
          continue;
        const verifyResult = verifyFile(filename, fstat, readFile);
        if (readFile) {
          manifest = verifyResult.manifest;
        }
        if (verifyResult.passed) {
          verifiedFilesCache.add(filename);
        } else {
          allVerified = false;
        }
      }
      return {
        passed: allVerified,
        manifest
      };
    }
    function verifyFile(filename, fstat, readManifest) {
      const currentFile = checkFile(filename, fstat.checkedAt);
      if (currentFile == null)
        return { passed: false };
      if (currentFile.isModified) {
        if (currentFile.size !== fstat.size) {
          rimraf_1.default.sync(filename);
          return { passed: false };
        }
        return verifyFileIntegrity(filename, fstat, readManifest);
      }
      if (readManifest) {
        return {
          passed: true,
          manifest: (0, parseJson_1.parseJsonBufferSync)(graceful_fs_1.default.readFileSync(filename))
        };
      }
      return { passed: true };
    }
    function verifyFileIntegrity(filename, expectedFile, readManifest) {
      global["verifiedFileIntegrity"]++;
      try {
        const data = graceful_fs_1.default.readFileSync(filename);
        const passed = Boolean(ssri_1.default.checkData(data, expectedFile.integrity));
        if (!passed) {
          graceful_fs_1.default.unlinkSync(filename);
          return { passed };
        } else if (readManifest) {
          return {
            passed,
            manifest: (0, parseJson_1.parseJsonBufferSync)(data)
          };
        }
        return { passed };
      } catch (err) {
        switch (util_1.default.types.isNativeError(err) && "code" in err && err.code) {
          case "ENOENT":
            return { passed: false };
          case "EINTEGRITY": {
            graceful_fs_1.default.unlinkSync(filename);
            return { passed: false };
          }
        }
        throw err;
      }
    }
    function checkFile(filename, checkedAt) {
      try {
        const { mtimeMs, size } = fs_1.default.statSync(filename);
        return {
          isModified: mtimeMs - (checkedAt ?? 0) > 100,
          size
        };
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return null;
        throw err;
      }
    }
  }
});

// ../store/cafs/lib/readManifestFromStore.js
var require_readManifestFromStore = __commonJS({
  "../store/cafs/lib/readManifestFromStore.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readManifestFromStore = readManifestFromStore;
    var graceful_fs_1 = __importDefault2(require_lib12());
    var getFilePathInCafs_1 = require_getFilePathInCafs();
    var parseJson_1 = require_parseJson();
    function readManifestFromStore(storeDir, pkgIndex) {
      const pkg = pkgIndex.files["package.json"];
      if (pkg) {
        const fileName = (0, getFilePathInCafs_1.getFilePathByModeInCafs)(storeDir, pkg.integrity, pkg.mode);
        return (0, parseJson_1.parseJsonBufferSync)(graceful_fs_1.default.readFileSync(fileName));
      }
      return void 0;
    }
  }
});

// ../store/cafs/lib/writeFile.js
var require_writeFile = __commonJS({
  "../store/cafs/lib/writeFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeFile = writeFile;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var dirs = /* @__PURE__ */ new Set();
    function writeFile(fileDest, buffer, mode) {
      makeDirForFile(fileDest);
      fs_1.default.writeFileSync(fileDest, buffer, { mode });
    }
    function makeDirForFile(fileDest) {
      const dir = path_1.default.dirname(fileDest);
      if (!dirs.has(dir)) {
        fs_1.default.mkdirSync(dir, { recursive: true });
        dirs.add(dir);
      }
    }
  }
});

// ../store/cafs/lib/writeBufferToCafs.js
var require_writeBufferToCafs = __commonJS({
  "../store/cafs/lib/writeBufferToCafs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeBufferToCafs = writeBufferToCafs;
    exports2.optimisticRenameOverwrite = optimisticRenameOverwrite;
    exports2.pathTemp = pathTemp;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var worker_threads_1 = __importDefault2(require("worker_threads"));
    var util_1 = __importDefault2(require("util"));
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    var checkPkgFilesIntegrity_1 = require_checkPkgFilesIntegrity();
    var writeFile_1 = require_writeFile();
    function writeBufferToCafs(locker, storeDir, buffer, fileDest, mode, integrity) {
      fileDest = path_1.default.join(storeDir, fileDest);
      if (locker.has(fileDest)) {
        return {
          checkedAt: locker.get(fileDest),
          filePath: fileDest
        };
      }
      if (existsSame(fileDest, integrity)) {
        return {
          checkedAt: Date.now(),
          filePath: fileDest
        };
      }
      const temp = pathTemp(fileDest);
      (0, writeFile_1.writeFile)(temp, buffer, mode);
      const birthtimeMs = Date.now();
      optimisticRenameOverwrite(temp, fileDest);
      locker.set(fileDest, birthtimeMs);
      return {
        checkedAt: birthtimeMs,
        filePath: fileDest
      };
    }
    function optimisticRenameOverwrite(temp, fileDest) {
      try {
        rename_overwrite_1.default.sync(temp, fileDest);
      } catch (err) {
        if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") || !fs_1.default.existsSync(fileDest))
          throw err;
      }
    }
    function pathTemp(file) {
      const basename = removeSuffix(path_1.default.basename(file));
      return path_1.default.join(path_1.default.dirname(file), `${basename}${process.pid}${worker_threads_1.default.threadId}`);
    }
    function removeSuffix(filePath) {
      const dashPosition = filePath.indexOf("-");
      if (dashPosition === -1)
        return filePath;
      const withoutSuffix = filePath.substring(0, dashPosition);
      if (filePath.substring(dashPosition) === "-exec") {
        return `${withoutSuffix}x`;
      }
      return withoutSuffix;
    }
    function existsSame(filename, integrity) {
      const existingFile = fs_1.default.statSync(filename, { throwIfNoEntry: false });
      if (!existingFile)
        return false;
      return (0, checkPkgFilesIntegrity_1.verifyFileIntegrity)(filename, {
        size: existingFile.size,
        integrity
      }).passed;
    }
  }
});

// ../store/cafs/lib/index.js
var require_lib57 = __commonJS({
  "../store/cafs/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.optimisticRenameOverwrite = exports2.getIndexFilePathInCafs = exports2.getFilePathByModeInCafs = exports2.readManifestFromStore = exports2.checkPkgFilesIntegrity = void 0;
    exports2.createCafs = createCafs;
    var ssri_1 = __importDefault2(require_lib38());
    var addFilesFromDir_1 = require_addFilesFromDir();
    var addFilesFromTarball_1 = require_addFilesFromTarball();
    var checkPkgFilesIntegrity_1 = require_checkPkgFilesIntegrity();
    Object.defineProperty(exports2, "checkPkgFilesIntegrity", { enumerable: true, get: function() {
      return checkPkgFilesIntegrity_1.checkPkgFilesIntegrity;
    } });
    var readManifestFromStore_1 = require_readManifestFromStore();
    Object.defineProperty(exports2, "readManifestFromStore", { enumerable: true, get: function() {
      return readManifestFromStore_1.readManifestFromStore;
    } });
    var getFilePathInCafs_1 = require_getFilePathInCafs();
    Object.defineProperty(exports2, "getIndexFilePathInCafs", { enumerable: true, get: function() {
      return getFilePathInCafs_1.getIndexFilePathInCafs;
    } });
    Object.defineProperty(exports2, "getFilePathByModeInCafs", { enumerable: true, get: function() {
      return getFilePathInCafs_1.getFilePathByModeInCafs;
    } });
    var writeBufferToCafs_1 = require_writeBufferToCafs();
    Object.defineProperty(exports2, "optimisticRenameOverwrite", { enumerable: true, get: function() {
      return writeBufferToCafs_1.optimisticRenameOverwrite;
    } });
    function createCafs(storeDir, { ignoreFile, cafsLocker } = {}) {
      const _writeBufferToCafs = writeBufferToCafs_1.writeBufferToCafs.bind(null, cafsLocker ?? /* @__PURE__ */ new Map(), storeDir);
      const addBuffer = addBufferToCafs.bind(null, _writeBufferToCafs);
      return {
        addFilesFromDir: addFilesFromDir_1.addFilesFromDir.bind(null, addBuffer),
        addFilesFromTarball: addFilesFromTarball_1.addFilesFromTarball.bind(null, addBuffer, ignoreFile ?? null),
        getIndexFilePathInCafs: getFilePathInCafs_1.getIndexFilePathInCafs.bind(null, storeDir),
        getFilePathByModeInCafs: getFilePathInCafs_1.getFilePathByModeInCafs.bind(null, storeDir)
      };
    }
    function addBufferToCafs(writeBufferToCafs, buffer, mode) {
      const integrity = ssri_1.default.fromData(buffer);
      const isExecutable = (0, getFilePathInCafs_1.modeIsExecutable)(mode);
      const fileDest = (0, getFilePathInCafs_1.contentPathFromHex)(isExecutable ? "exec" : "nonexec", integrity.hexDigest());
      const { checkedAt, filePath } = writeBufferToCafs(buffer, fileDest, isExecutable ? 493 : void 0, integrity);
      return { checkedAt, integrity, filePath };
    }
  }
});

// ../node_modules/.pnpm/make-empty-dir@3.0.2/node_modules/make-empty-dir/index.js
var require_make_empty_dir = __commonJS({
  "../node_modules/.pnpm/make-empty-dir@3.0.2/node_modules/make-empty-dir/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var rimraf = require_rimraf();
    module2.exports = async function makeEmptyDir(dir, opts) {
      if (opts && opts.recursive) {
        await fs.promises.mkdir(path2.dirname(dir), { recursive: true });
      }
      try {
        await fs.promises.mkdir(dir);
        return "created";
      } catch (err) {
        if (err.code === "EEXIST") {
          await removeContentsOfDir(dir);
          return "emptied";
        }
        throw err;
      }
    };
    async function removeContentsOfDir(dir) {
      const items = await fs.promises.readdir(dir);
      for (const item of items) {
        await rimraf(path2.join(dir, item));
      }
    }
    module2.exports.sync = function makeEmptyDirSync(dir, opts) {
      if (opts && opts.recursive) {
        fs.mkdirSync(path2.dirname(dir), { recursive: true });
      }
      try {
        fs.mkdirSync(dir);
        return "created";
      } catch (err) {
        if (err.code === "EEXIST") {
          removeContentsOfDirSync(dir);
          return "emptied";
        }
        throw err;
      }
    };
    function removeContentsOfDirSync(dir) {
      const items = fs.readdirSync(dir);
      for (const item of items) {
        rimraf.sync(path2.join(dir, item));
      }
    }
  }
});

// ../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/lib/truncate.js
var require_truncate = __commonJS({
  "../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/lib/truncate.js"(exports2, module2) {
    "use strict";
    function isHighSurrogate(codePoint) {
      return codePoint >= 55296 && codePoint <= 56319;
    }
    function isLowSurrogate(codePoint) {
      return codePoint >= 56320 && codePoint <= 57343;
    }
    module2.exports = function truncate(getLength, string, byteLength) {
      if (typeof string !== "string") {
        throw new Error("Input must be string");
      }
      var charLength = string.length;
      var curByteLength = 0;
      var codePoint;
      var segment;
      for (var i = 0; i < charLength; i += 1) {
        codePoint = string.charCodeAt(i);
        segment = string[i];
        if (isHighSurrogate(codePoint) && isLowSurrogate(string.charCodeAt(i + 1))) {
          i += 1;
          segment += string[i];
        }
        curByteLength += getLength(segment);
        if (curByteLength === byteLength) {
          return string.slice(0, i + 1);
        } else if (curByteLength > byteLength) {
          return string.slice(0, i - segment.length + 1);
        }
      }
      return string;
    };
  }
});

// ../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/index.js
var require_truncate_utf8_bytes = __commonJS({
  "../node_modules/.pnpm/truncate-utf8-bytes@1.0.2/node_modules/truncate-utf8-bytes/index.js"(exports2, module2) {
    "use strict";
    var truncate = require_truncate();
    var getLength = Buffer.byteLength.bind(Buffer);
    module2.exports = truncate.bind(null, getLength);
  }
});

// ../node_modules/.pnpm/sanitize-filename@1.6.3/node_modules/sanitize-filename/index.js
var require_sanitize_filename = __commonJS({
  "../node_modules/.pnpm/sanitize-filename@1.6.3/node_modules/sanitize-filename/index.js"(exports2, module2) {
    "use strict";
    var truncate = require_truncate_utf8_bytes();
    var illegalRe = /[\/\?<>\\:\*\|"]/g;
    var controlRe = /[\x00-\x1f\x80-\x9f]/g;
    var reservedRe = /^\.+$/;
    var windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i;
    var windowsTrailingRe = /[\. ]+$/;
    function sanitize(input, replacement) {
      if (typeof input !== "string") {
        throw new Error("Input must be string");
      }
      var sanitized = input.replace(illegalRe, replacement).replace(controlRe, replacement).replace(reservedRe, replacement).replace(windowsReservedRe, replacement).replace(windowsTrailingRe, replacement);
      return truncate(sanitized, 255);
    }
    module2.exports = function(input, options) {
      var replacement = options && options.replacement || "";
      var output = sanitize(input, replacement);
      if (replacement === "") {
        return output;
      }
      return sanitize(output, "");
    };
  }
});

// ../fs/indexed-pkg-importer/lib/importIndexedDir.js
var require_importIndexedDir = __commonJS({
  "../fs/indexed-pkg-importer/lib/importIndexedDir.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.importIndexedDir = importIndexedDir;
    var fs_1 = __importDefault2(require("fs"));
    var util_1 = __importDefault2(require("util"));
    var fs_extra_1 = require_lib41();
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var rimraf_1 = require_rimraf();
    var make_empty_dir_1 = require_make_empty_dir();
    var sanitize_filename_1 = __importDefault2(require_sanitize_filename());
    var path_temp_1 = require_path_temp();
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    var filenameConflictsLogger = (0, logger_1.logger)("_filename-conflicts");
    function importIndexedDir(importFile, newDir, filenames, opts) {
      const stage = (0, path_temp_1.fastPathTemp)(newDir);
      try {
        tryImportIndexedDir(importFile, stage, filenames);
        if (opts.keepModulesDir) {
          moveOrMergeModulesDirs(path_1.default.join(newDir, "node_modules"), path_1.default.join(stage, "node_modules"));
        }
        rename_overwrite_1.default.sync(stage, newDir);
      } catch (err) {
        try {
          (0, rimraf_1.sync)(stage);
        } catch {
        }
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST") {
          const { uniqueFileMap, conflictingFileNames } = getUniqueFileMap(filenames);
          if (Object.keys(conflictingFileNames).length === 0)
            throw err;
          filenameConflictsLogger.debug({
            conflicts: conflictingFileNames,
            writingTo: newDir
          });
          (0, logger_1.globalWarn)(`Not all files were linked to "${path_1.default.relative(process.cwd(), newDir)}". Some of the files have equal names in different case, which is an issue on case-insensitive filesystems. The conflicting file names are: ${JSON.stringify(conflictingFileNames)}`);
          importIndexedDir(importFile, newDir, uniqueFileMap, opts);
          return;
        }
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          const { sanitizedFilenames, invalidFilenames } = sanitizeFilenames(filenames);
          if (invalidFilenames.length === 0)
            throw err;
          (0, logger_1.globalWarn)(`The package linked to "${path_1.default.relative(process.cwd(), newDir)}" had files with invalid names: ${invalidFilenames.join(", ")}. They were renamed.`);
          importIndexedDir(importFile, newDir, sanitizedFilenames, opts);
          return;
        }
        throw err;
      }
    }
    function sanitizeFilenames(filenames) {
      const sanitizedFilenames = {};
      const invalidFilenames = [];
      for (const [filename, src] of Object.entries(filenames)) {
        const sanitizedFilename = filename.split("/").map((f) => (0, sanitize_filename_1.default)(f)).join("/");
        if (sanitizedFilename !== filename) {
          invalidFilenames.push(filename);
        }
        sanitizedFilenames[sanitizedFilename] = src;
      }
      return { sanitizedFilenames, invalidFilenames };
    }
    function tryImportIndexedDir(importFile, newDir, filenames) {
      (0, make_empty_dir_1.sync)(newDir, { recursive: true });
      const allDirs = /* @__PURE__ */ new Set();
      for (const f in filenames) {
        const dir = path_1.default.dirname(f);
        if (dir === ".")
          continue;
        allDirs.add(dir);
      }
      Array.from(allDirs).sort((d1, d2) => d1.length - d2.length).forEach((dir) => fs_1.default.mkdirSync(path_1.default.join(newDir, dir), { recursive: true }));
      for (const [f, src] of Object.entries(filenames)) {
        const dest = path_1.default.join(newDir, f);
        importFile(src, dest);
      }
    }
    function getUniqueFileMap(fileMap) {
      const lowercaseFiles = /* @__PURE__ */ new Map();
      const conflictingFileNames = {};
      const uniqueFileMap = {};
      for (const filename of Object.keys(fileMap).sort()) {
        const lowercaseFilename = filename.toLowerCase();
        if (lowercaseFiles.has(lowercaseFilename)) {
          conflictingFileNames[filename] = lowercaseFiles.get(lowercaseFilename);
          continue;
        }
        lowercaseFiles.set(lowercaseFilename, filename);
        uniqueFileMap[filename] = fileMap[filename];
      }
      return {
        conflictingFileNames,
        uniqueFileMap
      };
    }
    function moveOrMergeModulesDirs(src, dest) {
      try {
        renameEvenAcrossDevices(src, dest);
      } catch (err) {
        switch (util_1.default.types.isNativeError(err) && "code" in err && err.code) {
          case "ENOENT":
            return;
          case "ENOTEMPTY":
          case "EPERM":
            mergeModulesDirs(src, dest);
            return;
          default:
            throw err;
        }
      }
    }
    function renameEvenAcrossDevices(src, dest) {
      try {
        fs_1.default.renameSync(src, dest);
      } catch (err) {
        if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "EXDEV"))
          throw err;
        (0, fs_extra_1.copySync)(src, dest);
      }
    }
    function mergeModulesDirs(src, dest) {
      const srcFiles = fs_1.default.readdirSync(src);
      const destFiles = new Set(fs_1.default.readdirSync(dest));
      const filesToMove = srcFiles.filter((file) => !destFiles.has(file));
      for (const file of filesToMove) {
        renameEvenAcrossDevices(path_1.default.join(src, file), path_1.default.join(dest, file));
      }
    }
  }
});

// ../node_modules/.pnpm/@reflink+reflink@0.1.18/node_modules/@reflink/reflink/binding.js
var require_binding = __commonJS({
  "../node_modules/.pnpm/@reflink+reflink@0.1.18/node_modules/@reflink/reflink/binding.js"(exports2, module2) {
    var { existsSync, readFileSync } = require("fs");
    var { join } = require("path");
    var { platform, arch } = process;
    var nativeBinding = null;
    var localFileExisted = false;
    var loadError = null;
    function isMusl() {
      if (!process.report || typeof process.report.getReport !== "function") {
        try {
          const lddPath = require("child_process").execSync("which ldd").toString().trim();
          return readFileSync(lddPath, "utf8").includes("musl");
        } catch (e) {
          return true;
        }
      } else {
        const { glibcVersionRuntime } = process.report.getReport().header;
        return !glibcVersionRuntime;
      }
    }
    switch (platform) {
      case "android":
        switch (arch) {
          case "arm64":
            localFileExisted = existsSync(join(__dirname, "reflink.android-arm64.node"));
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.android-arm64.node");
              } else {
                nativeBinding = require("@reflink/reflink-android-arm64");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          case "arm":
            localFileExisted = existsSync(join(__dirname, "reflink.android-arm-eabi.node"));
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.android-arm-eabi.node");
              } else {
                nativeBinding = require("@reflink/reflink-android-arm-eabi");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          default:
            throw new Error(`Unsupported architecture on Android ${arch}`);
        }
        break;
      case "win32":
        switch (arch) {
          case "x64":
            localFileExisted = existsSync(
              join(__dirname, "reflink.win32-x64-msvc.node")
            );
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.win32-x64-msvc.node");
              } else {
                nativeBinding = require("./reflink.win32-x64-msvc-DJL7XIIH.node");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          case "ia32":
            localFileExisted = existsSync(
              join(__dirname, "reflink.win32-ia32-msvc.node")
            );
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.win32-ia32-msvc.node");
              } else {
                nativeBinding = require("@reflink/reflink-win32-ia32-msvc");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          case "arm64":
            localFileExisted = existsSync(
              join(__dirname, "reflink.win32-arm64-msvc.node")
            );
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.win32-arm64-msvc.node");
              } else {
                nativeBinding = require("./reflink.win32-arm64-msvc-M6OJ2KCS.node");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          default:
            throw new Error(`Unsupported architecture on Windows: ${arch}`);
        }
        break;
      case "darwin":
        localFileExisted = existsSync(join(__dirname, "reflink.darwin-universal.node"));
        try {
          if (localFileExisted) {
            nativeBinding = require("./reflink.darwin-universal.node");
          } else {
            nativeBinding = require("@reflink/reflink-darwin-universal");
          }
          break;
        } catch {
        }
        switch (arch) {
          case "x64":
            localFileExisted = existsSync(join(__dirname, "reflink.darwin-x64.node"));
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.darwin-x64.node");
              } else {
                nativeBinding = require("@reflink/reflink-darwin-x64");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          case "arm64":
            localFileExisted = existsSync(
              join(__dirname, "reflink.darwin-arm64.node")
            );
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.darwin-arm64.node");
              } else {
                nativeBinding = require("./reflink.darwin-arm64-2HJ4WGO6.node");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          default:
            throw new Error(`Unsupported architecture on macOS: ${arch}`);
        }
        break;
      case "freebsd":
        if (arch !== "x64") {
          throw new Error(`Unsupported architecture on FreeBSD: ${arch}`);
        }
        localFileExisted = existsSync(join(__dirname, "reflink.freebsd-x64.node"));
        try {
          if (localFileExisted) {
            nativeBinding = require("./reflink.freebsd-x64.node");
          } else {
            nativeBinding = require("@reflink/reflink-freebsd-x64");
          }
        } catch (e) {
          loadError = e;
        }
        break;
      case "linux":
        switch (arch) {
          case "x64":
            if (isMusl()) {
              localFileExisted = existsSync(
                join(__dirname, "reflink.linux-x64-musl.node")
              );
              try {
                if (localFileExisted) {
                  nativeBinding = require("./reflink.linux-x64-musl.node");
                } else {
                  nativeBinding = require("@reflink/reflink-linux-x64-musl");
                }
              } catch (e) {
                loadError = e;
              }
            } else {
              localFileExisted = existsSync(
                join(__dirname, "reflink.linux-x64-gnu.node")
              );
              try {
                if (localFileExisted) {
                  nativeBinding = require("./reflink.linux-x64-gnu.node");
                } else {
                  nativeBinding = require("@reflink/reflink-linux-x64-gnu");
                }
              } catch (e) {
                loadError = e;
              }
            }
            break;
          case "arm64":
            if (isMusl()) {
              localFileExisted = existsSync(
                join(__dirname, "reflink.linux-arm64-musl.node")
              );
              try {
                if (localFileExisted) {
                  nativeBinding = require("./reflink.linux-arm64-musl.node");
                } else {
                  nativeBinding = require("@reflink/reflink-linux-arm64-musl");
                }
              } catch (e) {
                loadError = e;
              }
            } else {
              localFileExisted = existsSync(
                join(__dirname, "reflink.linux-arm64-gnu.node")
              );
              try {
                if (localFileExisted) {
                  nativeBinding = require("./reflink.linux-arm64-gnu.node");
                } else {
                  nativeBinding = require("@reflink/reflink-linux-arm64-gnu");
                }
              } catch (e) {
                loadError = e;
              }
            }
            break;
          case "arm":
            localFileExisted = existsSync(
              join(__dirname, "reflink.linux-arm-gnueabihf.node")
            );
            try {
              if (localFileExisted) {
                nativeBinding = require("./reflink.linux-arm-gnueabihf.node");
              } else {
                nativeBinding = require("@reflink/reflink-linux-arm-gnueabihf");
              }
            } catch (e) {
              loadError = e;
            }
            break;
          default:
            throw new Error(`Unsupported architecture on Linux: ${arch}`);
        }
        break;
      default:
        throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
    }
    if (!nativeBinding) {
      if (loadError) {
        throw loadError;
      }
      throw new Error(`Failed to load native binding`);
    }
    var { ReflinkError, reflinkFile, reflinkFileSync } = nativeBinding;
    module2.exports.ReflinkError = ReflinkError;
    module2.exports.reflinkFile = reflinkFile;
    module2.exports.reflinkFileSync = reflinkFileSync;
  }
});

// ../node_modules/.pnpm/@reflink+reflink@0.1.18/node_modules/@reflink/reflink/index.js
var require_reflink = __commonJS({
  "../node_modules/.pnpm/@reflink+reflink@0.1.18/node_modules/@reflink/reflink/index.js"(exports2, module2) {
    var binding = require_binding();
    function createReflinkError(reflinkError) {
      const error = new Error(reflinkError.message);
      return Object.assign(error, {
        path: reflinkError.path,
        dest: reflinkError.dest,
        code: reflinkError.code,
        errno: reflinkError.errno
      });
    }
    function handleReflinkResult(result2) {
      if (typeof result2 === "number") {
        return result2;
      } else {
        throw createReflinkError(result2);
      }
    }
    var reflinkFile = (src, dst) => binding.reflinkFile(src, dst).then(handleReflinkResult);
    var reflinkFileSync = (src, dst) => handleReflinkResult(binding.reflinkFileSync(src, dst));
    module2.exports = {
      reflinkFile,
      reflinkFileSync
    };
  }
});

// ../fs/indexed-pkg-importer/lib/index.js
var require_lib58 = __commonJS({
  "../fs/indexed-pkg-importer/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createIndexedPkgImporter = createIndexedPkgImporter;
    exports2.copyPkg = copyPkg;
    var assert_1 = __importDefault2(require("assert"));
    var fs_1 = require("fs");
    var util_1 = __importDefault2(require("util"));
    var graceful_fs_1 = __importDefault2(require_lib12());
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var core_loggers_1 = require_lib28();
    var importIndexedDir_1 = require_importIndexedDir();
    function createIndexedPkgImporter(packageImportMethod) {
      const importPackage = createImportPackage(packageImportMethod);
      return importPackage;
    }
    function createImportPackage(packageImportMethod) {
      switch (packageImportMethod ?? "auto") {
        case "clone":
          core_loggers_1.packageImportMethodLogger.debug({ method: "clone" });
          return clonePkg.bind(null, createCloneFunction());
        case "hardlink":
          core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" });
          return hardlinkPkg.bind(null, linkOrCopy);
        case "auto": {
          return createAutoImporter();
        }
        case "clone-or-copy":
          return createCloneOrCopyImporter();
        case "copy":
          core_loggers_1.packageImportMethodLogger.debug({ method: "copy" });
          return copyPkg;
        default:
          throw new Error(`Unknown package import method ${packageImportMethod}`);
      }
    }
    function createAutoImporter() {
      let auto = initialAuto;
      return (to, opts) => auto(to, opts);
      function initialAuto(to, opts) {
        if (process.platform !== "win32") {
          try {
            const _clonePkg = clonePkg.bind(null, createCloneFunction());
            if (!_clonePkg(to, opts))
              return void 0;
            core_loggers_1.packageImportMethodLogger.debug({ method: "clone" });
            auto = _clonePkg;
            return "clone";
          } catch {
          }
        }
        try {
          if (!hardlinkPkg(graceful_fs_1.default.linkSync, to, opts))
            return void 0;
          core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" });
          auto = hardlinkPkg.bind(null, linkOrCopy);
          return "hardlink";
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          if (err.message.startsWith("EXDEV: cross-device link not permitted")) {
            (0, logger_1.globalWarn)(err.message);
            (0, logger_1.globalInfo)("Falling back to copying packages from store");
            core_loggers_1.packageImportMethodLogger.debug({ method: "copy" });
            auto = copyPkg;
            return auto(to, opts);
          }
          core_loggers_1.packageImportMethodLogger.debug({ method: "hardlink" });
          auto = hardlinkPkg.bind(null, linkOrCopy);
          return auto(to, opts);
        }
      }
    }
    function createCloneOrCopyImporter() {
      let auto = initialAuto;
      return (to, opts) => auto(to, opts);
      function initialAuto(to, opts) {
        try {
          const _clonePkg = clonePkg.bind(null, createCloneFunction());
          if (!_clonePkg(to, opts))
            return void 0;
          core_loggers_1.packageImportMethodLogger.debug({ method: "clone" });
          auto = _clonePkg;
          return "clone";
        } catch {
        }
        core_loggers_1.packageImportMethodLogger.debug({ method: "copy" });
        auto = copyPkg;
        return auto(to, opts);
      }
    }
    function clonePkg(clone, to, opts) {
      const pkgJsonPath = path_1.default.join(to, "package.json");
      if (opts.resolvedFrom !== "store" || opts.force || !(0, fs_1.existsSync)(pkgJsonPath)) {
        (0, importIndexedDir_1.importIndexedDir)(clone, to, opts.filesMap, opts);
        return "clone";
      }
      return void 0;
    }
    function createCloneFunction() {
      if (process.platform === "darwin" || process.platform === "win32") {
        const { reflinkFileSync } = require_reflink();
        return (fr, to) => {
          try {
            reflinkFileSync(fr, to);
          } catch (err) {
            if (!util_1.default.types.isNativeError(err) || !("code" in err) || err.code !== "EEXIST")
              throw err;
          }
        };
      }
      return (src, dest) => {
        try {
          graceful_fs_1.default.copyFileSync(src, dest, fs_1.constants.COPYFILE_FICLONE_FORCE);
        } catch (err) {
          if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST"))
            throw err;
        }
      };
    }
    function hardlinkPkg(importFile, to, opts) {
      if (opts.force || shouldRelinkPkg(to, opts)) {
        (0, importIndexedDir_1.importIndexedDir)(importFile, to, opts.filesMap, opts);
        return "hardlink";
      }
      return void 0;
    }
    function shouldRelinkPkg(to, opts) {
      if (opts.disableRelinkLocalDirDeps && opts.resolvedFrom === "local-dir") {
        try {
          const files = graceful_fs_1.default.readdirSync(to);
          return files.length === 0 || files.length === 1 && files[0] === "node_modules";
        } catch {
          return true;
        }
      }
      return opts.resolvedFrom !== "store" || !pkgLinkedToStore(opts.filesMap, to);
    }
    function linkOrCopy(existingPath, newPath) {
      try {
        graceful_fs_1.default.linkSync(existingPath, newPath);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "EEXIST")
          return;
        graceful_fs_1.default.copyFileSync(existingPath, newPath);
      }
    }
    function pkgLinkedToStore(filesMap, to) {
      if (filesMap["package.json"]) {
        if (isSameFile("package.json", to, filesMap)) {
          return true;
        }
      } else {
        const [anyFile] = Object.keys(filesMap);
        if (isSameFile(anyFile, to, filesMap))
          return true;
      }
      return false;
    }
    function isSameFile(filename, linkedPkgDir, filesMap) {
      const linkedFile = path_1.default.join(linkedPkgDir, filename);
      let stats0;
      try {
        stats0 = graceful_fs_1.default.statSync(linkedFile);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return false;
      }
      const stats1 = graceful_fs_1.default.statSync(filesMap[filename]);
      if (stats0.ino === stats1.ino)
        return true;
      (0, logger_1.globalInfo)(`Relinking ${linkedPkgDir} from the store`);
      return false;
    }
    function copyPkg(to, opts) {
      const pkgJsonPath = path_1.default.join(to, "package.json");
      if (opts.resolvedFrom !== "store" || opts.force || !(0, fs_1.existsSync)(pkgJsonPath)) {
        (0, importIndexedDir_1.importIndexedDir)(graceful_fs_1.default.copyFileSync, to, opts.filesMap, opts);
        return "copy";
      }
      return void 0;
    }
  }
});

// ../store/create-cafs-store/lib/index.js
var require_lib59 = __commonJS({
  "../store/create-cafs-store/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageImporterAsync = createPackageImporterAsync;
    exports2.createCafsStore = createCafsStore;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var store_cafs_1 = require_lib57();
    var fs_indexed_pkg_importer_1 = require_lib58();
    var mem_1 = __importDefault2(require_dist6());
    var path_temp_1 = __importDefault2(require_path_temp());
    var map_1 = __importDefault2(require_map3());
    function createPackageImporterAsync(opts) {
      const cachedImporterCreator = opts.importIndexedPackage ? () => opts.importIndexedPackage : (0, mem_1.default)(fs_indexed_pkg_importer_1.createIndexedPkgImporter);
      const packageImportMethod = opts.packageImportMethod;
      const gfm = getFlatMap.bind(null, opts.storeDir);
      return async (to, opts2) => {
        const { filesMap, isBuilt } = gfm(opts2.filesResponse, opts2.sideEffectsCacheKey);
        const willBeBuilt = !isBuilt && opts2.requiresBuild;
        const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts2.filesResponse.packageImportMethod ?? packageImportMethod;
        const impPkg = cachedImporterCreator(pkgImportMethod);
        const importMethod = await impPkg(to, {
          disableRelinkLocalDirDeps: opts2.disableRelinkLocalDirDeps,
          filesMap,
          resolvedFrom: opts2.filesResponse.resolvedFrom,
          force: opts2.force,
          keepModulesDir: Boolean(opts2.keepModulesDir)
        });
        return { importMethod, isBuilt };
      };
    }
    function createPackageImporter(opts) {
      const cachedImporterCreator = opts.importIndexedPackage ? () => opts.importIndexedPackage : (0, mem_1.default)(fs_indexed_pkg_importer_1.createIndexedPkgImporter);
      const packageImportMethod = opts.packageImportMethod;
      const gfm = getFlatMap.bind(null, opts.storeDir);
      return (to, opts2) => {
        const { filesMap, isBuilt } = gfm(opts2.filesResponse, opts2.sideEffectsCacheKey);
        const willBeBuilt = !isBuilt && opts2.requiresBuild;
        const pkgImportMethod = willBeBuilt ? "clone-or-copy" : opts2.filesResponse.packageImportMethod ?? packageImportMethod;
        const impPkg = cachedImporterCreator(pkgImportMethod);
        const importMethod = impPkg(to, {
          disableRelinkLocalDirDeps: opts2.disableRelinkLocalDirDeps,
          filesMap,
          resolvedFrom: opts2.filesResponse.resolvedFrom,
          force: opts2.force,
          keepModulesDir: Boolean(opts2.keepModulesDir)
        });
        return { importMethod, isBuilt };
      };
    }
    function getFlatMap(storeDir, filesResponse, targetEngine) {
      let isBuilt;
      let filesIndex;
      if (targetEngine && filesResponse.sideEffects?.[targetEngine] != null) {
        filesIndex = applySideEffectsDiff(filesResponse.filesIndex, filesResponse.sideEffects?.[targetEngine]);
        isBuilt = true;
      } else if (!filesResponse.unprocessed) {
        return {
          filesMap: filesResponse.filesIndex,
          isBuilt: false
        };
      } else {
        filesIndex = filesResponse.filesIndex;
        isBuilt = false;
      }
      const filesMap = (0, map_1.default)(({ integrity, mode }) => (0, store_cafs_1.getFilePathByModeInCafs)(storeDir, integrity, mode), filesIndex);
      return { filesMap, isBuilt };
    }
    function applySideEffectsDiff(baseFiles, { added, deleted }) {
      const filesWithSideEffects = { ...added };
      for (const fileName in baseFiles) {
        if (!deleted?.includes(fileName) && !filesWithSideEffects[fileName]) {
          filesWithSideEffects[fileName] = baseFiles[fileName];
        }
      }
      return filesWithSideEffects;
    }
    function createCafsStore(storeDir, opts) {
      const baseTempDir = path_1.default.join(storeDir, "tmp");
      const importPackage = createPackageImporter({
        importIndexedPackage: opts?.importPackage,
        packageImportMethod: opts?.packageImportMethod,
        storeDir
      });
      return {
        ...(0, store_cafs_1.createCafs)(storeDir, opts),
        storeDir,
        importPackage,
        tempDir: async () => {
          const tmpDir = (0, path_temp_1.default)(baseTempDir);
          await fs_1.promises.mkdir(tmpDir, { recursive: true });
          return tmpDir;
        }
      };
    }
  }
});

// ../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@22.13.10/node_modules/@rushstack/worker-pool/lib/WorkerPool.js
var require_WorkerPool = __commonJS({
  "../node_modules/.pnpm/@rushstack+worker-pool@0.4.9_@types+node@22.13.10/node_modules/@rushstack/worker-pool/lib/WorkerPool.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.WorkerPool = exports2.WORKER_ID_SYMBOL = void 0;
    var worker_threads_1 = require("worker_threads");
    exports2.WORKER_ID_SYMBOL = Symbol("workerId");
    var WorkerPool = class {
      constructor(options) {
        const { id, maxWorkers, onWorkerDestroyed, prepareWorker, workerData, workerScriptPath } = options;
        this.id = id;
        this.maxWorkers = maxWorkers;
        this._alive = [];
        this._error = void 0;
        this._finishing = false;
        this._idle = [];
        this._nextId = 0;
        this._onComplete = [];
        this._onWorkerDestroyed = onWorkerDestroyed;
        this._pending = [];
        this._prepare = prepareWorker;
        this._workerData = workerData;
        this._workerScript = workerScriptPath;
      }
      /**
       * Gets the count of active workers.
       */
      getActiveCount() {
        return this._alive.length - this._idle.length;
      }
      /**
       * Gets the count of idle workers.
       */
      getIdleCount() {
        return this._idle.length;
      }
      /**
       * Gets the count of live workers.
       */
      getLiveCount() {
        return this._alive.length;
      }
      /**
       * Tells the pool to shut down when all workers are done.
       * Returns a promise that will be fulfilled if all workers finish successfully, or reject with the first error.
       */
      async finishAsync() {
        this._finishing = true;
        if (this._error) {
          throw this._error;
        }
        if (!this._alive.length) {
          return;
        }
        for (const worker of this._idle.splice(0)) {
          worker.postMessage(false);
        }
        await new Promise((resolve, reject) => this._onComplete.push([resolve, reject]));
      }
      /**
       * Resets the pool and allows more work
       */
      reset() {
        this._finishing = false;
        this._error = void 0;
      }
      /**
       * Returns a worker to the pool. If the pool is finishing, deallocates the worker.
       * @param worker - The worker to free
       */
      checkinWorker(worker) {
        if (this._error) {
          worker.postMessage(false);
          return;
        }
        const next = this._pending.shift();
        if (next) {
          next[0](worker);
        } else if (this._finishing) {
          worker.postMessage(false);
        } else {
          this._idle.push(worker);
        }
      }
      /**
       * Checks out a currently available worker or waits for the next free worker.
       * @param allowCreate - If creating new workers is allowed (subject to maxSize)
       */
      async checkoutWorkerAsync(allowCreate) {
        if (this._error) {
          throw this._error;
        }
        let worker = this._idle.shift();
        if (!worker && allowCreate) {
          worker = this._createWorker();
        }
        if (worker) {
          return worker;
        }
        return await new Promise((resolve, reject) => {
          this._pending.push([resolve, reject]);
        });
      }
      /**
       * Creates a new worker if allowed by maxSize.
       */
      _createWorker() {
        if (this._alive.length >= this.maxWorkers) {
          return;
        }
        const worker = new worker_threads_1.Worker(this._workerScript, {
          eval: false,
          workerData: this._workerData
        });
        const id = `${this.id}#${++this._nextId}`;
        worker[exports2.WORKER_ID_SYMBOL] = id;
        this._alive.push(worker);
        worker.on("error", (err) => {
          this._onError(err);
          this._destroyWorker(worker);
        });
        worker.on("exit", (exitCode) => {
          if (exitCode !== 0) {
            this._onError(new Error(`Worker ${id} exited with code ${exitCode}`));
          }
          this._destroyWorker(worker);
        });
        if (this._prepare) {
          this._prepare(worker);
        }
        return worker;
      }
      /**
       * Cleans up a worker
       */
      _destroyWorker(worker) {
        const aliveIndex = this._alive.indexOf(worker);
        if (aliveIndex >= 0) {
          this._alive.splice(aliveIndex, 1);
        }
        const freeIndex = this._idle.indexOf(worker);
        if (freeIndex >= 0) {
          this._idle.splice(freeIndex, 1);
        }
        worker.unref();
        if (this._onWorkerDestroyed) {
          this._onWorkerDestroyed();
        }
        if (!this._alive.length && !this._error) {
          for (const [resolve] of this._onComplete.splice(0)) {
            resolve();
          }
        }
      }
      /**
       * Notifies all pending callbacks that an error has occurred and switches this pool into error state.
       */
      _onError(error) {
        this._error = error;
        for (const [, reject] of this._pending.splice(0)) {
          reject(this._error);
        }
        for (const [, reject] of this._onComplete.splice(0)) {
          reject(this._error);
        }
      }
    };
    exports2.WorkerPool = WorkerPool;
  }
});

// ../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/quote.js
var require_quote = __commonJS({
  "../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/quote.js"(exports2, module2) {
    "use strict";
    module2.exports = function quote(xs) {
      return xs.map(function(s) {
        if (s === "") {
          return "''";
        }
        if (s && typeof s === "object") {
          return s.op.replace(/(.)/g, "\\$1");
        }
        if (/["\s]/.test(s) && !/'/.test(s)) {
          return "'" + s.replace(/(['\\])/g, "\\$1") + "'";
        }
        if (/["'\s]/.test(s)) {
          return '"' + s.replace(/(["\\$`!])/g, "\\$1") + '"';
        }
        return String(s).replace(/([A-Za-z]:)?([#!"$&'()*,:;<=>?@[\\\]^`{|}])/g, "$1\\$2");
      }).join(" ");
    };
  }
});

// ../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/parse.js
var require_parse8 = __commonJS({
  "../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/parse.js"(exports2, module2) {
    "use strict";
    var CONTROL = "(?:" + [
      "\\|\\|",
      "\\&\\&",
      ";;",
      "\\|\\&",
      "\\<\\(",
      "\\<\\<\\<",
      ">>",
      ">\\&",
      "<\\&",
      "[&;()|<>]"
    ].join("|") + ")";
    var controlRE = new RegExp("^" + CONTROL + "$");
    var META = "|&;()<> \\t";
    var SINGLE_QUOTE = '"((\\\\"|[^"])*?)"';
    var DOUBLE_QUOTE = "'((\\\\'|[^'])*?)'";
    var hash = /^#$/;
    var SQ = "'";
    var DQ = '"';
    var DS = "$";
    var TOKEN = "";
    var mult = 4294967296;
    for (i = 0; i < 4; i++) {
      TOKEN += (mult * Math.random()).toString(16);
    }
    var i;
    var startsWithToken = new RegExp("^" + TOKEN);
    function matchAll(s, r) {
      var origIndex = r.lastIndex;
      var matches = [];
      var matchObj;
      while (matchObj = r.exec(s)) {
        matches.push(matchObj);
        if (r.lastIndex === matchObj.index) {
          r.lastIndex += 1;
        }
      }
      r.lastIndex = origIndex;
      return matches;
    }
    function getVar(env, pre, key) {
      var r = typeof env === "function" ? env(key) : env[key];
      if (typeof r === "undefined" && key != "") {
        r = "";
      } else if (typeof r === "undefined") {
        r = "$";
      }
      if (typeof r === "object") {
        return pre + TOKEN + JSON.stringify(r) + TOKEN;
      }
      return pre + r;
    }
    function parseInternal(string, env, opts) {
      if (!opts) {
        opts = {};
      }
      var BS = opts.escape || "\\";
      var BAREWORD = "(\\" + BS + `['"` + META + `]|[^\\s'"` + META + "])+";
      var chunker = new RegExp([
        "(" + CONTROL + ")",
        // control chars
        "(" + BAREWORD + "|" + SINGLE_QUOTE + "|" + DOUBLE_QUOTE + ")+"
      ].join("|"), "g");
      var matches = matchAll(string, chunker);
      if (matches.length === 0) {
        return [];
      }
      if (!env) {
        env = {};
      }
      var commented = false;
      return matches.map(function(match) {
        var s = match[0];
        if (!s || commented) {
          return void 0;
        }
        if (controlRE.test(s)) {
          return { op: s };
        }
        var quote = false;
        var esc = false;
        var out = "";
        var isGlob = false;
        var i2;
        function parseEnvVar() {
          i2 += 1;
          var varend;
          var varname;
          var char = s.charAt(i2);
          if (char === "{") {
            i2 += 1;
            if (s.charAt(i2) === "}") {
              throw new Error("Bad substitution: " + s.slice(i2 - 2, i2 + 1));
            }
            varend = s.indexOf("}", i2);
            if (varend < 0) {
              throw new Error("Bad substitution: " + s.slice(i2));
            }
            varname = s.slice(i2, varend);
            i2 = varend;
          } else if (/[*@#?$!_-]/.test(char)) {
            varname = char;
            i2 += 1;
          } else {
            var slicedFromI = s.slice(i2);
            varend = slicedFromI.match(/[^\w\d_]/);
            if (!varend) {
              varname = slicedFromI;
              i2 = s.length;
            } else {
              varname = slicedFromI.slice(0, varend.index);
              i2 += varend.index - 1;
            }
          }
          return getVar(env, "", varname);
        }
        for (i2 = 0; i2 < s.length; i2++) {
          var c = s.charAt(i2);
          isGlob = isGlob || !quote && (c === "*" || c === "?");
          if (esc) {
            out += c;
            esc = false;
          } else if (quote) {
            if (c === quote) {
              quote = false;
            } else if (quote == SQ) {
              out += c;
            } else {
              if (c === BS) {
                i2 += 1;
                c = s.charAt(i2);
                if (c === DQ || c === BS || c === DS) {
                  out += c;
                } else {
                  out += BS + c;
                }
              } else if (c === DS) {
                out += parseEnvVar();
              } else {
                out += c;
              }
            }
          } else if (c === DQ || c === SQ) {
            quote = c;
          } else if (controlRE.test(c)) {
            return { op: s };
          } else if (hash.test(c)) {
            commented = true;
            var commentObj = { comment: string.slice(match.index + i2 + 1) };
            if (out.length) {
              return [out, commentObj];
            }
            return [commentObj];
          } else if (c === BS) {
            esc = true;
          } else if (c === DS) {
            out += parseEnvVar();
          } else {
            out += c;
          }
        }
        if (isGlob) {
          return { op: "glob", pattern: out };
        }
        return out;
      }).reduce(function(prev, arg) {
        return typeof arg === "undefined" ? prev : prev.concat(arg);
      }, []);
    }
    module2.exports = function parse2(s, env, opts) {
      var mapped = parseInternal(s, env, opts);
      if (typeof env !== "function") {
        return mapped;
      }
      return mapped.reduce(function(acc, s2) {
        if (typeof s2 === "object") {
          return acc.concat(s2);
        }
        var xs = s2.split(RegExp("(" + TOKEN + ".*?" + TOKEN + ")", "g"));
        if (xs.length === 1) {
          return acc.concat(xs[0]);
        }
        return acc.concat(xs.filter(Boolean).map(function(x) {
          if (startsWithToken.test(x)) {
            return JSON.parse(x.split(TOKEN)[1]);
          }
          return x;
        }));
      }, []);
    };
  }
});

// ../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/index.js
var require_shell_quote = __commonJS({
  "../node_modules/.pnpm/shell-quote@1.8.2/node_modules/shell-quote/index.js"(exports2) {
    "use strict";
    exports2.quote = require_quote();
    exports2.parse = require_parse8();
  }
});

// ../worker/lib/index.js
var require_lib60 = __commonJS({
  "../worker/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TarballIntegrityError = void 0;
    exports2.restartWorkerPool = restartWorkerPool;
    exports2.finishWorkers = finishWorkers;
    exports2.addFilesFromDir = addFilesFromDir;
    exports2.addFilesFromTarball = addFilesFromTarball;
    exports2.readPkgFromCafs = readPkgFromCafs;
    exports2.importPackage = importPackage;
    exports2.symlinkAllModules = symlinkAllModules;
    exports2.hardLinkDir = hardLinkDir;
    exports2.initStoreDir = initStoreDir;
    var path_1 = __importDefault2(require("path"));
    var os_1 = __importDefault2(require("os"));
    var WorkerPool_1 = require_WorkerPool();
    var error_1 = require_lib6();
    var child_process_1 = require("child_process");
    var is_windows_1 = __importDefault2(require_is_windows());
    var p_limit_12 = __importDefault2(require_p_limit());
    var shell_quote_1 = require_shell_quote();
    var workerPool;
    async function restartWorkerPool() {
      await finishWorkers();
      workerPool = createTarballWorkerPool();
    }
    async function finishWorkers() {
      await global.finishWorkers?.();
    }
    function createTarballWorkerPool() {
      const maxWorkers = calcMaxWorkers();
      const workerPool2 = new WorkerPool_1.WorkerPool({
        id: "pnpm",
        maxWorkers,
        workerScriptPath: path_1.default.join(__dirname, "worker.js")
      });
      if (global.finishWorkers) {
        const previous = global.finishWorkers;
        global.finishWorkers = async () => {
          await previous();
          await workerPool2.finishAsync();
        };
      } else {
        global.finishWorkers = () => workerPool2.finishAsync();
      }
      return workerPool2;
    }
    function calcMaxWorkers() {
      if (process.env.PNPM_WORKERS) {
        const idleCPUs = Math.abs(parseInt(process.env.PNPM_WORKERS));
        return Math.max(2, availableParallelism() - idleCPUs) - 1;
      }
      return Math.max(1, availableParallelism() - 1);
    }
    function availableParallelism() {
      return os_1.default.availableParallelism?.() ?? os_1.default.cpus().length;
    }
    async function addFilesFromDir(opts) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      return new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error, value }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            reject(new error_1.PnpmError(error.code ?? "GIT_FETCH_FAILED", error.message));
            return;
          }
          resolve(value);
        });
        localWorker.postMessage({
          type: "add-dir",
          storeDir: opts.storeDir,
          dir: opts.dir,
          filesIndexFile: opts.filesIndexFile,
          sideEffectsCacheKey: opts.sideEffectsCacheKey,
          readManifest: opts.readManifest,
          pkg: opts.pkg,
          files: opts.files
        });
      });
    }
    var TarballIntegrityError = class extends error_1.PnpmError {
      constructor(opts) {
        super("TARBALL_INTEGRITY", `Got unexpected checksum for "${opts.url}". Wanted "${opts.expected}". Got "${opts.found}".`, {
          attempts: opts.attempts,
          hint: `This error may happen when a package is republished to the registry with the same version.
In this case, the metadata in the local pnpm cache will contain the old integrity checksum.

If you think that this is the case, then run "pnpm store prune" and rerun the command that failed.
"pnpm store prune" will remove your local metadata cache.`
        });
        this.found = opts.found;
        this.expected = opts.expected;
        this.algorithm = opts.algorithm;
        this.sri = opts.sri;
        this.url = opts.url;
      }
    };
    exports2.TarballIntegrityError = TarballIntegrityError;
    async function addFilesFromTarball(opts) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      return new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error, value }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            if (error.type === "integrity_validation_failed") {
              reject(new TarballIntegrityError({
                ...error,
                url: opts.url
              }));
              return;
            }
            reject(new error_1.PnpmError(error.code ?? "TARBALL_EXTRACT", `Failed to add tarball from "${opts.url}" to store: ${error.message}`));
            return;
          }
          resolve(value);
        });
        localWorker.postMessage({
          type: "extract",
          buffer: opts.buffer,
          storeDir: opts.storeDir,
          integrity: opts.integrity,
          filesIndexFile: opts.filesIndexFile,
          readManifest: opts.readManifest,
          pkg: opts.pkg
        });
      });
    }
    async function readPkgFromCafs(storeDir, verifyStoreIntegrity, filesIndexFile, readManifest) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      return new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error, value }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            reject(new error_1.PnpmError(error.code ?? "READ_FROM_STORE", error.message));
            return;
          }
          resolve(value);
        });
        localWorker.postMessage({
          type: "readPkgFromCafs",
          storeDir,
          filesIndexFile,
          readManifest,
          verifyStoreIntegrity
        });
      });
    }
    var limitImportingPackage = (0, p_limit_12.default)(4);
    async function importPackage(opts) {
      return limitImportingPackage(async () => {
        if (!workerPool) {
          workerPool = createTarballWorkerPool();
        }
        const localWorker = await workerPool.checkoutWorkerAsync(true);
        return new Promise((resolve, reject) => {
          localWorker.once("message", ({ status, error, value }) => {
            workerPool.checkinWorker(localWorker);
            if (status === "error") {
              reject(new error_1.PnpmError(error.code ?? "LINKING_FAILED", error.message));
              return;
            }
            resolve(value);
          });
          localWorker.postMessage({
            type: "link",
            ...opts
          });
        });
      });
    }
    async function symlinkAllModules(opts) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      return new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error, value }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            const hint = opts.deps?.[0]?.modules != null ? createErrorHint(error, opts.deps[0].modules) : void 0;
            reject(new error_1.PnpmError(error.code ?? "SYMLINK_FAILED", error.message, { hint }));
            return;
          }
          resolve(value);
        });
        localWorker.postMessage({
          type: "symlinkAllModules",
          ...opts
        });
      });
    }
    function createErrorHint(err, checkedDir) {
      if ("code" in err && err.code === "EISDIR" && (0, is_windows_1.default)()) {
        const checkedDrive = `${checkedDir.split(":")[0]}:`;
        if (isDriveExFat(checkedDrive)) {
          return `The "${checkedDrive}" drive is exFAT, which does not support symlinks. This will cause installation to fail. You can set the node-linker to "hoisted" to avoid this issue.`;
        }
      }
      return void 0;
    }
    function isDriveExFat(drive) {
      try {
        const output = (0, child_process_1.execSync)(`wmic logicaldisk where ${(0, shell_quote_1.quote)([`DeviceID='${drive}'`])} get FileSystem`).toString();
        const lines = output.trim().split("\n");
        const name = lines.length > 1 ? lines[1].trim() : "";
        return name === "exFAT";
      } catch {
        return false;
      }
    }
    async function hardLinkDir(src, destDirs) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      await new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            reject(new error_1.PnpmError(error.code ?? "HARDLINK_FAILED", error.message));
            return;
          }
          resolve();
        });
        localWorker.postMessage({
          type: "hardLinkDir",
          src,
          destDirs
        });
      });
    }
    async function initStoreDir(storeDir) {
      if (!workerPool) {
        workerPool = createTarballWorkerPool();
      }
      const localWorker = await workerPool.checkoutWorkerAsync(true);
      return new Promise((resolve, reject) => {
        localWorker.once("message", ({ status, error }) => {
          workerPool.checkinWorker(localWorker);
          if (status === "error") {
            reject(new error_1.PnpmError(error.code ?? "INIT_CAFS_FAILED", error.message));
            return;
          }
          resolve();
        });
        localWorker.postMessage({
          type: "init-store",
          storeDir
        });
      });
    }
  }
});

// ../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js
var require_lodash2 = __commonJS({
  "../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js"(exports2, module2) {
    var FUNC_ERROR_TEXT = "Expected a function";
    var NAN = 0 / 0;
    var symbolTag = "[object Symbol]";
    var reTrim = /^\s+|\s+$/g;
    var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
    var reIsBinary = /^0b[01]+$/i;
    var reIsOctal = /^0o[0-7]+$/i;
    var freeParseInt = parseInt;
    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
    var root = freeGlobal || freeSelf || Function("return this")();
    var objectProto = Object.prototype;
    var objectToString = objectProto.toString;
    var nativeMax = Math.max;
    var nativeMin = Math.min;
    var now = function() {
      return root.Date.now();
    };
    function debounce(func, wait, options) {
      var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
      if (typeof func != "function") {
        throw new TypeError(FUNC_ERROR_TEXT);
      }
      wait = toNumber(wait) || 0;
      if (isObject(options)) {
        leading = !!options.leading;
        maxing = "maxWait" in options;
        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
        trailing = "trailing" in options ? !!options.trailing : trailing;
      }
      function invokeFunc(time) {
        var args = lastArgs, thisArg = lastThis;
        lastArgs = lastThis = void 0;
        lastInvokeTime = time;
        result2 = func.apply(thisArg, args);
        return result2;
      }
      function leadingEdge(time) {
        lastInvokeTime = time;
        timerId = setTimeout(timerExpired, wait);
        return leading ? invokeFunc(time) : result2;
      }
      function remainingWait(time) {
        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, result3 = wait - timeSinceLastCall;
        return maxing ? nativeMin(result3, maxWait - timeSinceLastInvoke) : result3;
      }
      function shouldInvoke(time) {
        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
        return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
      }
      function timerExpired() {
        var time = now();
        if (shouldInvoke(time)) {
          return trailingEdge(time);
        }
        timerId = setTimeout(timerExpired, remainingWait(time));
      }
      function trailingEdge(time) {
        timerId = void 0;
        if (trailing && lastArgs) {
          return invokeFunc(time);
        }
        lastArgs = lastThis = void 0;
        return result2;
      }
      function cancel() {
        if (timerId !== void 0) {
          clearTimeout(timerId);
        }
        lastInvokeTime = 0;
        lastArgs = lastCallTime = lastThis = timerId = void 0;
      }
      function flush() {
        return timerId === void 0 ? result2 : trailingEdge(now());
      }
      function debounced() {
        var time = now(), isInvoking = shouldInvoke(time);
        lastArgs = arguments;
        lastThis = this;
        lastCallTime = time;
        if (isInvoking) {
          if (timerId === void 0) {
            return leadingEdge(lastCallTime);
          }
          if (maxing) {
            timerId = setTimeout(timerExpired, wait);
            return invokeFunc(lastCallTime);
          }
        }
        if (timerId === void 0) {
          timerId = setTimeout(timerExpired, wait);
        }
        return result2;
      }
      debounced.cancel = cancel;
      debounced.flush = flush;
      return debounced;
    }
    function throttle(func, wait, options) {
      var leading = true, trailing = true;
      if (typeof func != "function") {
        throw new TypeError(FUNC_ERROR_TEXT);
      }
      if (isObject(options)) {
        leading = "leading" in options ? !!options.leading : leading;
        trailing = "trailing" in options ? !!options.trailing : trailing;
      }
      return debounce(func, wait, {
        "leading": leading,
        "maxWait": wait,
        "trailing": trailing
      });
    }
    function isObject(value) {
      var type = typeof value;
      return !!value && (type == "object" || type == "function");
    }
    function isObjectLike(value) {
      return !!value && typeof value == "object";
    }
    function isSymbol(value) {
      return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
    }
    function toNumber(value) {
      if (typeof value == "number") {
        return value;
      }
      if (isSymbol(value)) {
        return NAN;
      }
      if (isObject(value)) {
        var other = typeof value.valueOf == "function" ? value.valueOf() : value;
        value = isObject(other) ? other + "" : other;
      }
      if (typeof value != "string") {
        return value === 0 ? value : +value;
      }
      value = value.replace(reTrim, "");
      var isBinary = reIsBinary.test(value);
      return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
    }
    module2.exports = throttle;
  }
});

// ../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js
var require_BadTarballError = __commonJS({
  "../fetching/tarball-fetcher/lib/errorTypes/BadTarballError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BadTarballError = void 0;
    var error_1 = require_lib6();
    var BadTarballError = class extends error_1.PnpmError {
      constructor(opts) {
        const message = `Actual size (${opts.receivedSize}) of tarball (${opts.tarballUrl}) did not match the one specified in 'Content-Length' header (${opts.expectedSize})`;
        super("BAD_TARBALL_SIZE", message, {
          attempts: opts?.attempts
        });
        this.expectedSize = opts.expectedSize;
        this.receivedSize = opts.receivedSize;
      }
    };
    exports2.BadTarballError = BadTarballError;
  }
});

// ../fetching/tarball-fetcher/lib/errorTypes/index.js
var require_errorTypes = __commonJS({
  "../fetching/tarball-fetcher/lib/errorTypes/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BadTarballError = void 0;
    var BadTarballError_1 = require_BadTarballError();
    Object.defineProperty(exports2, "BadTarballError", { enumerable: true, get: function() {
      return BadTarballError_1.BadTarballError;
    } });
  }
});

// ../fetching/tarball-fetcher/lib/remoteTarballFetcher.js
var require_remoteTarballFetcher = __commonJS({
  "../fetching/tarball-fetcher/lib/remoteTarballFetcher.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createDownloader = createDownloader;
    var assert_1 = __importDefault2(require("assert"));
    var util_1 = __importDefault2(require("util"));
    var core_loggers_1 = require_lib28();
    var error_1 = require_lib6();
    var worker_1 = require_lib60();
    var retry = __importStar3(require_retry2());
    var lodash_throttle_1 = __importDefault2(require_lodash2());
    var errorTypes_1 = require_errorTypes();
    var BIG_TARBALL_SIZE = 1024 * 1024 * 5;
    function createDownloader(fetchFromRegistry, gotOpts) {
      const retryOpts = {
        factor: 10,
        maxTimeout: 6e4,
        // 1 minute
        minTimeout: 1e4,
        // 10 seconds
        retries: 2,
        ...gotOpts.retry
      };
      return async function download(url, opts) {
        const authHeaderValue = opts.getAuthHeaderByURI(url);
        const op = retry.operation(retryOpts);
        return new Promise((resolve, reject) => {
          op.attempt(async (attempt) => {
            try {
              resolve(await fetch(attempt));
            } catch (error) {
              if (error.response?.status === 401 || error.response?.status === 403 || error.response?.status === 404 || error.code === "ERR_PNPM_PREPARE_PKG_FAILURE") {
                reject(error);
                return;
              }
              const timeout = op.retry(error);
              if (timeout === false) {
                reject(op.mainError());
                return;
              }
              core_loggers_1.requestRetryLogger.debug({
                attempt,
                error,
                maxRetries: retryOpts.retries,
                method: "GET",
                timeout,
                url
              });
            }
          });
        });
        async function fetch(currentAttempt) {
          let data;
          try {
            const res = await fetchFromRegistry(url, {
              authHeaderValue,
              // The fetch library can retry requests on bad HTTP responses.
              // However, it is not enough to retry on bad HTTP responses only.
              // Requests should also be retried when the tarball's integrity check fails.
              // Hence, we tell fetch to not retry,
              // and we perform the retries from this function instead.
              retry: { retries: 0 },
              timeout: gotOpts.timeout
            });
            if (res.status !== 200) {
              throw new error_1.FetchError({ url, authHeaderValue }, res);
            }
            const contentLength = res.headers.has("content-length") && res.headers.get("content-length");
            const size = typeof contentLength === "string" ? parseInt(contentLength, 10) : null;
            if (opts.onStart != null) {
              opts.onStart(size, currentAttempt);
            }
            const onProgress = size != null && size >= BIG_TARBALL_SIZE && opts.onProgress ? (0, lodash_throttle_1.default)(opts.onProgress, 500) : void 0;
            let downloaded = 0;
            const chunks = [];
            for await (const chunk of res.body) {
              chunks.push(chunk);
              downloaded += chunk.length;
              onProgress?.(downloaded);
            }
            if (size !== null && size !== downloaded) {
              throw new errorTypes_1.BadTarballError({
                expectedSize: size,
                receivedSize: downloaded,
                tarballUrl: url
              });
            }
            data = Buffer.from(new SharedArrayBuffer(downloaded));
            let offset = 0;
            for (const chunk of chunks) {
              chunk.copy(data, offset);
              offset += chunk.length;
            }
          } catch (err) {
            (0, assert_1.default)(util_1.default.types.isNativeError(err));
            Object.assign(err, {
              attempts: currentAttempt,
              resource: url
            });
            throw err;
          }
          return (0, worker_1.addFilesFromTarball)({
            buffer: data,
            storeDir: opts.cafs.storeDir,
            readManifest: opts.readManifest,
            integrity: opts.integrity,
            filesIndexFile: opts.filesIndexFile,
            url,
            pkg: opts.pkg
          });
        }
      };
    }
  }
});

// ../fetching/tarball-fetcher/lib/localTarballFetcher.js
var require_localTarballFetcher = __commonJS({
  "../fetching/tarball-fetcher/lib/localTarballFetcher.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createLocalTarballFetcher = createLocalTarballFetcher;
    var path_1 = __importDefault2(require("path"));
    var graceful_fs_1 = __importDefault2(require_lib12());
    var worker_1 = require_lib60();
    var isAbsolutePath = /^\/|^[A-Z]:/i;
    function createLocalTarballFetcher() {
      const fetch = (cafs, resolution, opts) => {
        const tarball = resolvePath(opts.lockfileDir, resolution.tarball.slice(5));
        const buffer = graceful_fs_1.default.readFileSync(tarball);
        return (0, worker_1.addFilesFromTarball)({
          storeDir: cafs.storeDir,
          buffer,
          filesIndexFile: opts.filesIndexFile,
          integrity: resolution.integrity,
          readManifest: opts.readManifest,
          url: tarball,
          pkg: opts.pkg
        });
      };
      return fetch;
    }
    function resolvePath(where, spec) {
      if (isAbsolutePath.test(spec))
        return spec;
      return path_1.default.resolve(where, spec);
    }
  }
});

// ../node_modules/.pnpm/npm-normalize-package-bin@2.0.0/node_modules/npm-normalize-package-bin/lib/index.js
var require_lib61 = __commonJS({
  "../node_modules/.pnpm/npm-normalize-package-bin@2.0.0/node_modules/npm-normalize-package-bin/lib/index.js"(exports2, module2) {
    var { join, basename } = require("path");
    var normalize = (pkg) => !pkg.bin ? removeBin(pkg) : typeof pkg.bin === "string" ? normalizeString(pkg) : Array.isArray(pkg.bin) ? normalizeArray(pkg) : typeof pkg.bin === "object" ? normalizeObject(pkg) : removeBin(pkg);
    var normalizeString = (pkg) => {
      if (!pkg.name) {
        return removeBin(pkg);
      }
      pkg.bin = { [pkg.name]: pkg.bin };
      return normalizeObject(pkg);
    };
    var normalizeArray = (pkg) => {
      pkg.bin = pkg.bin.reduce((acc, k) => {
        acc[basename(k)] = k;
        return acc;
      }, {});
      return normalizeObject(pkg);
    };
    var removeBin = (pkg) => {
      delete pkg.bin;
      return pkg;
    };
    var normalizeObject = (pkg) => {
      const orig = pkg.bin;
      const clean = {};
      let hasBins = false;
      Object.keys(orig).forEach((binKey) => {
        const base = join("/", basename(binKey.replace(/\\|:/g, "/"))).slice(1);
        if (typeof orig[binKey] !== "string" || !base) {
          return;
        }
        const binTarget = join("/", orig[binKey]).replace(/\\/g, "/").slice(1);
        if (!binTarget) {
          return;
        }
        clean[base] = binTarget;
        hasBins = true;
      });
      if (hasBins) {
        pkg.bin = clean;
      } else {
        delete pkg.bin;
      }
      return pkg;
    };
    module2.exports = normalize;
  }
});

// ../node_modules/.pnpm/npm-bundled@2.0.1/node_modules/npm-bundled/lib/index.js
var require_lib62 = __commonJS({
  "../node_modules/.pnpm/npm-bundled@2.0.1/node_modules/npm-bundled/lib/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var EE = require("events").EventEmitter;
    var normalizePackageBin = require_lib61();
    var BundleWalker = class _BundleWalker extends EE {
      constructor(opt) {
        opt = opt || {};
        super(opt);
        this.path = path2.resolve(opt.path || process.cwd());
        this.parent = opt.parent || null;
        if (this.parent) {
          this.result = this.parent.result;
          if (!this.parent.parent) {
            const base = path2.basename(this.path);
            const scope = path2.basename(path2.dirname(this.path));
            this.result.add(/^@/.test(scope) ? scope + "/" + base : base);
          }
          this.root = this.parent.root;
          this.packageJsonCache = this.parent.packageJsonCache;
        } else {
          this.result = /* @__PURE__ */ new Set();
          this.root = this.path;
          this.packageJsonCache = opt.packageJsonCache || /* @__PURE__ */ new Map();
        }
        this.seen = /* @__PURE__ */ new Set();
        this.didDone = false;
        this.children = 0;
        this.node_modules = [];
        this.package = null;
        this.bundle = null;
      }
      addListener(ev, fn) {
        return this.on(ev, fn);
      }
      on(ev, fn) {
        const ret2 = super.on(ev, fn);
        if (ev === "done" && this.didDone) {
          this.emit("done", this.result);
        }
        return ret2;
      }
      done() {
        if (!this.didDone) {
          this.didDone = true;
          if (!this.parent) {
            const res = Array.from(this.result);
            this.result = res;
            this.emit("done", res);
          } else {
            this.emit("done");
          }
        }
      }
      start() {
        const pj = path2.resolve(this.path, "package.json");
        if (this.packageJsonCache.has(pj)) {
          this.onPackage(this.packageJsonCache.get(pj));
        } else {
          this.readPackageJson(pj);
        }
        return this;
      }
      readPackageJson(pj) {
        fs.readFile(pj, (er, data) => er ? this.done() : this.onPackageJson(pj, data));
      }
      onPackageJson(pj, data) {
        try {
          this.package = normalizePackageBin(JSON.parse(data + ""));
        } catch (er) {
          return this.done();
        }
        this.packageJsonCache.set(pj, this.package);
        this.onPackage(this.package);
      }
      allDepsBundled(pkg) {
        return Object.keys(pkg.dependencies || {}).concat(
          Object.keys(pkg.optionalDependencies || {})
        );
      }
      onPackage(pkg) {
        const bdRaw = this.parent ? this.allDepsBundled(pkg) : pkg.bundleDependencies || pkg.bundledDependencies || [];
        const bd = Array.from(new Set(
          Array.isArray(bdRaw) ? bdRaw : bdRaw === true ? this.allDepsBundled(pkg) : Object.keys(bdRaw)
        ));
        if (!bd.length) {
          return this.done();
        }
        this.bundle = bd;
        this.readModules();
      }
      readModules() {
        readdirNodeModules(this.path + "/node_modules", (er, nm) => er ? this.onReaddir([]) : this.onReaddir(nm));
      }
      onReaddir(nm) {
        this.node_modules = nm;
        this.bundle.forEach((dep) => this.childDep(dep));
        if (this.children === 0) {
          this.done();
        }
      }
      childDep(dep) {
        if (this.node_modules.indexOf(dep) !== -1) {
          if (!this.seen.has(dep)) {
            this.seen.add(dep);
            this.child(dep);
          }
        } else if (this.parent) {
          this.parent.childDep(dep);
        }
      }
      child(dep) {
        const p = this.path + "/node_modules/" + dep;
        this.children += 1;
        const child = new _BundleWalker({
          path: p,
          parent: this
        });
        child.on("done", (_) => {
          if (--this.children === 0) {
            this.done();
          }
        });
        child.start();
      }
    };
    var BundleWalkerSync = class _BundleWalkerSync extends BundleWalker {
      start() {
        super.start();
        this.done();
        return this;
      }
      readPackageJson(pj) {
        try {
          this.onPackageJson(pj, fs.readFileSync(pj));
        } catch {
        }
        return this;
      }
      readModules() {
        try {
          this.onReaddir(readdirNodeModulesSync(this.path + "/node_modules"));
        } catch {
          this.onReaddir([]);
        }
      }
      child(dep) {
        new _BundleWalkerSync({
          path: this.path + "/node_modules/" + dep,
          parent: this
        }).start();
      }
    };
    var readdirNodeModules = (nm, cb) => {
      fs.readdir(nm, (er, set) => {
        if (er) {
          cb(er);
        } else {
          const scopes = set.filter((f) => /^@/.test(f));
          if (!scopes.length) {
            cb(null, set);
          } else {
            const unscoped = set.filter((f) => !/^@/.test(f));
            let count = scopes.length;
            scopes.forEach((scope) => {
              fs.readdir(nm + "/" + scope, (readdirEr, pkgs) => {
                if (readdirEr || !pkgs.length) {
                  unscoped.push(scope);
                } else {
                  unscoped.push.apply(unscoped, pkgs.map((p) => scope + "/" + p));
                }
                if (--count === 0) {
                  cb(null, unscoped);
                }
              });
            });
          }
        }
      });
    };
    var readdirNodeModulesSync = (nm) => {
      const set = fs.readdirSync(nm);
      const unscoped = set.filter((f) => !/^@/.test(f));
      const scopes = set.filter((f) => /^@/.test(f)).map((scope) => {
        try {
          const pkgs = fs.readdirSync(nm + "/" + scope);
          return pkgs.length ? pkgs.map((p) => scope + "/" + p) : [scope];
        } catch (er) {
          return [scope];
        }
      }).reduce((a, b) => a.concat(b), []);
      return unscoped.concat(scopes);
    };
    var walk = (options, callback) => {
      const p = new Promise((resolve, reject) => {
        new BundleWalker(options).on("done", resolve).on("error", reject).start();
      });
      return callback ? p.then((res) => callback(null, res), callback) : p;
    };
    var walkSync = (options) => {
      return new BundleWalkerSync(options).start().result;
    };
    module2.exports = walk;
    walk.sync = walkSync;
    walk.BundleWalker = BundleWalker;
    walk.BundleWalkerSync = BundleWalkerSync;
  }
});

// ../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/lib/path.js
var require_path2 = __commonJS({
  "../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/lib/path.js"(exports2, module2) {
    var isWindows = typeof process === "object" && process && process.platform === "win32";
    module2.exports = isWindows ? { sep: "\\" } : { sep: "/" };
  }
});

// ../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js
var require_balanced_match = __commonJS({
  "../node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.js"(exports2, module2) {
    "use strict";
    module2.exports = balanced;
    function balanced(a, b, str) {
      if (a instanceof RegExp) a = maybeMatch(a, str);
      if (b instanceof RegExp) b = maybeMatch(b, str);
      var r = range(a, b, str);
      return r && {
        start: r[0],
        end: r[1],
        pre: str.slice(0, r[0]),
        body: str.slice(r[0] + a.length, r[1]),
        post: str.slice(r[1] + b.length)
      };
    }
    function maybeMatch(reg, str) {
      var m = str.match(reg);
      return m ? m[0] : null;
    }
    balanced.range = range;
    function range(a, b, str) {
      var begs, beg, left, right, result2;
      var ai = str.indexOf(a);
      var bi = str.indexOf(b, ai + 1);
      var i = ai;
      if (ai >= 0 && bi > 0) {
        if (a === b) {
          return [ai, bi];
        }
        begs = [];
        left = str.length;
        while (i >= 0 && !result2) {
          if (i == ai) {
            begs.push(i);
            ai = str.indexOf(a, i + 1);
          } else if (begs.length == 1) {
            result2 = [begs.pop(), bi];
          } else {
            beg = begs.pop();
            if (beg < left) {
              left = beg;
              right = bi;
            }
            bi = str.indexOf(b, i + 1);
          }
          i = ai < bi && ai >= 0 ? ai : bi;
        }
        if (begs.length) {
          result2 = [left, right];
        }
      }
      return result2;
    }
  }
});

// ../node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.js
var require_brace_expansion = __commonJS({
  "../node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.js"(exports2, module2) {
    var balanced = require_balanced_match();
    module2.exports = expandTop;
    var escSlash = "\0SLASH" + Math.random() + "\0";
    var escOpen = "\0OPEN" + Math.random() + "\0";
    var escClose = "\0CLOSE" + Math.random() + "\0";
    var escComma = "\0COMMA" + Math.random() + "\0";
    var escPeriod = "\0PERIOD" + Math.random() + "\0";
    function numeric(str) {
      return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
    }
    function escapeBraces(str) {
      return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
    }
    function unescapeBraces(str) {
      return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
    }
    function parseCommaParts(str) {
      if (!str)
        return [""];
      var parts = [];
      var m = balanced("{", "}", str);
      if (!m)
        return str.split(",");
      var pre = m.pre;
      var body = m.body;
      var post = m.post;
      var p = pre.split(",");
      p[p.length - 1] += "{" + body + "}";
      var postParts = parseCommaParts(post);
      if (post.length) {
        p[p.length - 1] += postParts.shift();
        p.push.apply(p, postParts);
      }
      parts.push.apply(parts, p);
      return parts;
    }
    function expandTop(str) {
      if (!str)
        return [];
      if (str.substr(0, 2) === "{}") {
        str = "\\{\\}" + str.substr(2);
      }
      return expand(escapeBraces(str), true).map(unescapeBraces);
    }
    function embrace(str) {
      return "{" + str + "}";
    }
    function isPadded(el) {
      return /^-?0\d/.test(el);
    }
    function lte(i, y) {
      return i <= y;
    }
    function gte(i, y) {
      return i >= y;
    }
    function expand(str, isTop) {
      var expansions = [];
      var m = balanced("{", "}", str);
      if (!m) return [str];
      var pre = m.pre;
      var post = m.post.length ? expand(m.post, false) : [""];
      if (/\$$/.test(m.pre)) {
        for (var k = 0; k < post.length; k++) {
          var expansion = pre + "{" + m.body + "}" + post[k];
          expansions.push(expansion);
        }
      } else {
        var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
        var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
        var isSequence = isNumericSequence || isAlphaSequence;
        var isOptions = m.body.indexOf(",") >= 0;
        if (!isSequence && !isOptions) {
          if (m.post.match(/,.*\}/)) {
            str = m.pre + "{" + m.body + escClose + m.post;
            return expand(str);
          }
          return [str];
        }
        var n;
        if (isSequence) {
          n = m.body.split(/\.\./);
        } else {
          n = parseCommaParts(m.body);
          if (n.length === 1) {
            n = expand(n[0], false).map(embrace);
            if (n.length === 1) {
              return post.map(function(p) {
                return m.pre + n[0] + p;
              });
            }
          }
        }
        var N;
        if (isSequence) {
          var x = numeric(n[0]);
          var y = numeric(n[1]);
          var width = Math.max(n[0].length, n[1].length);
          var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
          var test = lte;
          var reverse = y < x;
          if (reverse) {
            incr *= -1;
            test = gte;
          }
          var pad = n.some(isPadded);
          N = [];
          for (var i = x; test(i, y); i += incr) {
            var c;
            if (isAlphaSequence) {
              c = String.fromCharCode(i);
              if (c === "\\")
                c = "";
            } else {
              c = String(i);
              if (pad) {
                var need = width - c.length;
                if (need > 0) {
                  var z = new Array(need + 1).join("0");
                  if (i < 0)
                    c = "-" + z + c.slice(1);
                  else
                    c = z + c;
                }
              }
            }
            N.push(c);
          }
        } else {
          N = [];
          for (var j = 0; j < n.length; j++) {
            N.push.apply(N, expand(n[j], false));
          }
        }
        for (var j = 0; j < N.length; j++) {
          for (var k = 0; k < post.length; k++) {
            var expansion = pre + N[j] + post[k];
            if (!isTop || isSequence || expansion)
              expansions.push(expansion);
          }
        }
      }
      return expansions;
    }
  }
});

// ../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/minimatch.js
var require_minimatch = __commonJS({
  "../node_modules/.pnpm/minimatch@5.1.6/node_modules/minimatch/minimatch.js"(exports2, module2) {
    var minimatch = module2.exports = (p, pattern, options = {}) => {
      assertValidPattern(pattern);
      if (!options.nocomment && pattern.charAt(0) === "#") {
        return false;
      }
      return new Minimatch(pattern, options).match(p);
    };
    module2.exports = minimatch;
    var path2 = require_path2();
    minimatch.sep = path2.sep;
    var GLOBSTAR = Symbol("globstar **");
    minimatch.GLOBSTAR = GLOBSTAR;
    var expand = require_brace_expansion();
    var plTypes = {
      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
      "?": { open: "(?:", close: ")?" },
      "+": { open: "(?:", close: ")+" },
      "*": { open: "(?:", close: ")*" },
      "@": { open: "(?:", close: ")" }
    };
    var qmark = "[^/]";
    var star = qmark + "*?";
    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
    var charSet = (s) => s.split("").reduce((set, c) => {
      set[c] = true;
      return set;
    }, {});
    var reSpecials = charSet("().*{}+?[]^$\\!");
    var addPatternStartSet = charSet("[.(");
    var slashSplit = /\/+/;
    minimatch.filter = (pattern, options = {}) => (p, i, list) => minimatch(p, pattern, options);
    var ext = (a, b = {}) => {
      const t = {};
      Object.keys(a).forEach((k) => t[k] = a[k]);
      Object.keys(b).forEach((k) => t[k] = b[k]);
      return t;
    };
    minimatch.defaults = (def) => {
      if (!def || typeof def !== "object" || !Object.keys(def).length) {
        return minimatch;
      }
      const orig = minimatch;
      const m = (p, pattern, options) => orig(p, pattern, ext(def, options));
      m.Minimatch = class Minimatch extends orig.Minimatch {
        constructor(pattern, options) {
          super(pattern, ext(def, options));
        }
      };
      m.Minimatch.defaults = (options) => orig.defaults(ext(def, options)).Minimatch;
      m.filter = (pattern, options) => orig.filter(pattern, ext(def, options));
      m.defaults = (options) => orig.defaults(ext(def, options));
      m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options));
      m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options));
      m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options));
      return m;
    };
    minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options);
    var braceExpand = (pattern, options = {}) => {
      assertValidPattern(pattern);
      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
        return [pattern];
      }
      return expand(pattern);
    };
    var MAX_PATTERN_LENGTH = 1024 * 64;
    var assertValidPattern = (pattern) => {
      if (typeof pattern !== "string") {
        throw new TypeError("invalid pattern");
      }
      if (pattern.length > MAX_PATTERN_LENGTH) {
        throw new TypeError("pattern is too long");
      }
    };
    var SUBPARSE = Symbol("subparse");
    minimatch.makeRe = (pattern, options) => new Minimatch(pattern, options || {}).makeRe();
    minimatch.match = (list, pattern, options = {}) => {
      const mm = new Minimatch(pattern, options);
      list = list.filter((f) => mm.match(f));
      if (mm.options.nonull && !list.length) {
        list.push(pattern);
      }
      return list;
    };
    var globUnescape = (s) => s.replace(/\\(.)/g, "$1");
    var charUnescape = (s) => s.replace(/\\([^-\]])/g, "$1");
    var regExpEscape = (s) => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
    var braExpEscape = (s) => s.replace(/[[\]\\]/g, "\\$&");
    var Minimatch = class {
      constructor(pattern, options) {
        assertValidPattern(pattern);
        if (!options) options = {};
        this.options = options;
        this.set = [];
        this.pattern = pattern;
        this.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
        if (this.windowsPathsNoEscape) {
          this.pattern = this.pattern.replace(/\\/g, "/");
        }
        this.regexp = null;
        this.negate = false;
        this.comment = false;
        this.empty = false;
        this.partial = !!options.partial;
        this.make();
      }
      debug() {
      }
      make() {
        const pattern = this.pattern;
        const options = this.options;
        if (!options.nocomment && pattern.charAt(0) === "#") {
          this.comment = true;
          return;
        }
        if (!pattern) {
          this.empty = true;
          return;
        }
        this.parseNegate();
        let set = this.globSet = this.braceExpand();
        if (options.debug) this.debug = (...args) => console.error(...args);
        this.debug(this.pattern, set);
        set = this.globParts = set.map((s) => s.split(slashSplit));
        this.debug(this.pattern, set);
        set = set.map((s, si, set2) => s.map(this.parse, this));
        this.debug(this.pattern, set);
        set = set.filter((s) => s.indexOf(false) === -1);
        this.debug(this.pattern, set);
        this.set = set;
      }
      parseNegate() {
        if (this.options.nonegate) return;
        const pattern = this.pattern;
        let negate = false;
        let negateOffset = 0;
        for (let i = 0; i < pattern.length && pattern.charAt(i) === "!"; i++) {
          negate = !negate;
          negateOffset++;
        }
        if (negateOffset) this.pattern = pattern.slice(negateOffset);
        this.negate = negate;
      }
      // set partial to true to test if, for example,
      // "/a/b" matches the start of "/*/b/*/d"
      // Partial means, if you run out of file before you run
      // out of pattern, then that's fine, as long as all
      // the parts match.
      matchOne(file, pattern, partial) {
        var options = this.options;
        this.debug(
          "matchOne",
          { "this": this, file, pattern }
        );
        this.debug("matchOne", file.length, pattern.length);
        for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
          this.debug("matchOne loop");
          var p = pattern[pi];
          var f = file[fi];
          this.debug(pattern, p, f);
          if (p === false) return false;
          if (p === GLOBSTAR) {
            this.debug("GLOBSTAR", [pattern, p, f]);
            var fr = fi;
            var pr = pi + 1;
            if (pr === pl) {
              this.debug("** at the end");
              for (; fi < fl; fi++) {
                if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
              }
              return true;
            }
            while (fr < fl) {
              var swallowee = file[fr];
              this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
              if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
                this.debug("globstar found match!", fr, fl, swallowee);
                return true;
              } else {
                if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
                  this.debug("dot detected!", file, fr, pattern, pr);
                  break;
                }
                this.debug("globstar swallow a segment, and continue");
                fr++;
              }
            }
            if (partial) {
              this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
              if (fr === fl) return true;
            }
            return false;
          }
          var hit;
          if (typeof p === "string") {
            hit = f === p;
            this.debug("string match", p, f, hit);
          } else {
            hit = f.match(p);
            this.debug("pattern match", p, f, hit);
          }
          if (!hit) return false;
        }
        if (fi === fl && pi === pl) {
          return true;
        } else if (fi === fl) {
          return partial;
        } else if (pi === pl) {
          return fi === fl - 1 && file[fi] === "";
        }
        throw new Error("wtf?");
      }
      braceExpand() {
        return braceExpand(this.pattern, this.options);
      }
      parse(pattern, isSub) {
        assertValidPattern(pattern);
        const options = this.options;
        if (pattern === "**") {
          if (!options.noglobstar)
            return GLOBSTAR;
          else
            pattern = "*";
        }
        if (pattern === "") return "";
        let re = "";
        let hasMagic = false;
        let escaping = false;
        const patternListStack = [];
        const negativeLists = [];
        let stateChar;
        let inClass = false;
        let reClassStart = -1;
        let classStart = -1;
        let cs;
        let pl;
        let sp;
        let dotTravAllowed = pattern.charAt(0) === ".";
        let dotFileAllowed = options.dot || dotTravAllowed;
        const patternStart = () => dotTravAllowed ? "" : dotFileAllowed ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
        const subPatternStart = (p) => p.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
        const clearStateChar = () => {
          if (stateChar) {
            switch (stateChar) {
              case "*":
                re += star;
                hasMagic = true;
                break;
              case "?":
                re += qmark;
                hasMagic = true;
                break;
              default:
                re += "\\" + stateChar;
                break;
            }
            this.debug("clearStateChar %j %j", stateChar, re);
            stateChar = false;
          }
        };
        for (let i = 0, c; i < pattern.length && (c = pattern.charAt(i)); i++) {
          this.debug("%s	%s %s %j", pattern, i, re, c);
          if (escaping) {
            if (c === "/") {
              return false;
            }
            if (reSpecials[c]) {
              re += "\\";
            }
            re += c;
            escaping = false;
            continue;
          }
          switch (c) {
            /* istanbul ignore next */
            case "/": {
              return false;
            }
            case "\\":
              if (inClass && pattern.charAt(i + 1) === "-") {
                re += c;
                continue;
              }
              clearStateChar();
              escaping = true;
              continue;
            // the various stateChar values
            // for the "extglob" stuff.
            case "?":
            case "*":
            case "+":
            case "@":
            case "!":
              this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
              if (inClass) {
                this.debug("  in class");
                if (c === "!" && i === classStart + 1) c = "^";
                re += c;
                continue;
              }
              this.debug("call clearStateChar %j", stateChar);
              clearStateChar();
              stateChar = c;
              if (options.noext) clearStateChar();
              continue;
            case "(": {
              if (inClass) {
                re += "(";
                continue;
              }
              if (!stateChar) {
                re += "\\(";
                continue;
              }
              const plEntry = {
                type: stateChar,
                start: i - 1,
                reStart: re.length,
                open: plTypes[stateChar].open,
                close: plTypes[stateChar].close
              };
              this.debug(this.pattern, "	", plEntry);
              patternListStack.push(plEntry);
              re += plEntry.open;
              if (plEntry.start === 0 && plEntry.type !== "!") {
                dotTravAllowed = true;
                re += subPatternStart(pattern.slice(i + 1));
              }
              this.debug("plType %j %j", stateChar, re);
              stateChar = false;
              continue;
            }
            case ")": {
              const plEntry = patternListStack[patternListStack.length - 1];
              if (inClass || !plEntry) {
                re += "\\)";
                continue;
              }
              patternListStack.pop();
              clearStateChar();
              hasMagic = true;
              pl = plEntry;
              re += pl.close;
              if (pl.type === "!") {
                negativeLists.push(Object.assign(pl, { reEnd: re.length }));
              }
              continue;
            }
            case "|": {
              const plEntry = patternListStack[patternListStack.length - 1];
              if (inClass || !plEntry) {
                re += "\\|";
                continue;
              }
              clearStateChar();
              re += "|";
              if (plEntry.start === 0 && plEntry.type !== "!") {
                dotTravAllowed = true;
                re += subPatternStart(pattern.slice(i + 1));
              }
              continue;
            }
            // these are mostly the same in regexp and glob
            case "[":
              clearStateChar();
              if (inClass) {
                re += "\\" + c;
                continue;
              }
              inClass = true;
              classStart = i;
              reClassStart = re.length;
              re += c;
              continue;
            case "]":
              if (i === classStart + 1 || !inClass) {
                re += "\\" + c;
                continue;
              }
              cs = pattern.substring(classStart + 1, i);
              try {
                RegExp("[" + braExpEscape(charUnescape(cs)) + "]");
                re += c;
              } catch (er) {
                re = re.substring(0, reClassStart) + "(?:$.)";
              }
              hasMagic = true;
              inClass = false;
              continue;
            default:
              clearStateChar();
              if (reSpecials[c] && !(c === "^" && inClass)) {
                re += "\\";
              }
              re += c;
              break;
          }
        }
        if (inClass) {
          cs = pattern.slice(classStart + 1);
          sp = this.parse(cs, SUBPARSE);
          re = re.substring(0, reClassStart) + "\\[" + sp[0];
          hasMagic = hasMagic || sp[1];
        }
        for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
          let tail;
          tail = re.slice(pl.reStart + pl.open.length);
          this.debug("setting tail", re, pl);
          tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_, $1, $2) => {
            if (!$2) {
              $2 = "\\";
            }
            return $1 + $1 + $2 + "|";
          });
          this.debug("tail=%j\n   %s", tail, tail, pl, re);
          const t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
          hasMagic = true;
          re = re.slice(0, pl.reStart) + t + "\\(" + tail;
        }
        clearStateChar();
        if (escaping) {
          re += "\\\\";
        }
        const addPatternStart = addPatternStartSet[re.charAt(0)];
        for (let n = negativeLists.length - 1; n > -1; n--) {
          const nl = negativeLists[n];
          const nlBefore = re.slice(0, nl.reStart);
          const nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
          let nlAfter = re.slice(nl.reEnd);
          const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter;
          const closeParensBefore = nlBefore.split(")").length;
          const openParensBefore = nlBefore.split("(").length - closeParensBefore;
          let cleanAfter = nlAfter;
          for (let i = 0; i < openParensBefore; i++) {
            cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
          }
          nlAfter = cleanAfter;
          const dollar = nlAfter === "" && isSub !== SUBPARSE ? "(?:$|\\/)" : "";
          re = nlBefore + nlFirst + nlAfter + dollar + nlLast;
        }
        if (re !== "" && hasMagic) {
          re = "(?=.)" + re;
        }
        if (addPatternStart) {
          re = patternStart() + re;
        }
        if (isSub === SUBPARSE) {
          return [re, hasMagic];
        }
        if (options.nocase && !hasMagic) {
          hasMagic = pattern.toUpperCase() !== pattern.toLowerCase();
        }
        if (!hasMagic) {
          return globUnescape(pattern);
        }
        const flags = options.nocase ? "i" : "";
        try {
          return Object.assign(new RegExp("^" + re + "$", flags), {
            _glob: pattern,
            _src: re
          });
        } catch (er) {
          return new RegExp("$.");
        }
      }
      makeRe() {
        if (this.regexp || this.regexp === false) return this.regexp;
        const set = this.set;
        if (!set.length) {
          this.regexp = false;
          return this.regexp;
        }
        const options = this.options;
        const twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
        const flags = options.nocase ? "i" : "";
        let re = set.map((pattern) => {
          pattern = pattern.map(
            (p) => typeof p === "string" ? regExpEscape(p) : p === GLOBSTAR ? GLOBSTAR : p._src
          ).reduce((set2, p) => {
            if (!(set2[set2.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
              set2.push(p);
            }
            return set2;
          }, []);
          pattern.forEach((p, i) => {
            if (p !== GLOBSTAR || pattern[i - 1] === GLOBSTAR) {
              return;
            }
            if (i === 0) {
              if (pattern.length > 1) {
                pattern[i + 1] = "(?:\\/|" + twoStar + "\\/)?" + pattern[i + 1];
              } else {
                pattern[i] = twoStar;
              }
            } else if (i === pattern.length - 1) {
              pattern[i - 1] += "(?:\\/|" + twoStar + ")?";
            } else {
              pattern[i - 1] += "(?:\\/|\\/" + twoStar + "\\/)" + pattern[i + 1];
              pattern[i + 1] = GLOBSTAR;
            }
          });
          return pattern.filter((p) => p !== GLOBSTAR).join("/");
        }).join("|");
        re = "^(?:" + re + ")$";
        if (this.negate) re = "^(?!" + re + ").*$";
        try {
          this.regexp = new RegExp(re, flags);
        } catch (ex) {
          this.regexp = false;
        }
        return this.regexp;
      }
      match(f, partial = this.partial) {
        this.debug("match", f, this.pattern);
        if (this.comment) return false;
        if (this.empty) return f === "";
        if (f === "/" && partial) return true;
        const options = this.options;
        if (path2.sep !== "/") {
          f = f.split(path2.sep).join("/");
        }
        f = f.split(slashSplit);
        this.debug(this.pattern, "split", f);
        const set = this.set;
        this.debug(this.pattern, "set", set);
        let filename;
        for (let i = f.length - 1; i >= 0; i--) {
          filename = f[i];
          if (filename) break;
        }
        for (let i = 0; i < set.length; i++) {
          const pattern = set[i];
          let file = f;
          if (options.matchBase && pattern.length === 1) {
            file = [filename];
          }
          const hit = this.matchOne(file, pattern, partial);
          if (hit) {
            if (options.flipNegate) return true;
            return !this.negate;
          }
        }
        if (options.flipNegate) return false;
        return this.negate;
      }
      static defaults(def) {
        return minimatch.defaults(def).Minimatch;
      }
    };
    minimatch.Minimatch = Minimatch;
  }
});

// ../node_modules/.pnpm/ignore-walk@5.0.1/node_modules/ignore-walk/lib/index.js
var require_lib63 = __commonJS({
  "../node_modules/.pnpm/ignore-walk@5.0.1/node_modules/ignore-walk/lib/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var EE = require("events").EventEmitter;
    var Minimatch = require_minimatch().Minimatch;
    var Walker = class _Walker extends EE {
      constructor(opts) {
        opts = opts || {};
        super(opts);
        this.isSymbolicLink = opts.isSymbolicLink;
        this.path = opts.path || process.cwd();
        this.basename = path2.basename(this.path);
        this.ignoreFiles = opts.ignoreFiles || [".ignore"];
        this.ignoreRules = {};
        this.parent = opts.parent || null;
        this.includeEmpty = !!opts.includeEmpty;
        this.root = this.parent ? this.parent.root : this.path;
        this.follow = !!opts.follow;
        this.result = this.parent ? this.parent.result : /* @__PURE__ */ new Set();
        this.entries = null;
        this.sawError = false;
      }
      sort(a, b) {
        return a.localeCompare(b, "en");
      }
      emit(ev, data) {
        let ret2 = false;
        if (!(this.sawError && ev === "error")) {
          if (ev === "error") {
            this.sawError = true;
          } else if (ev === "done" && !this.parent) {
            data = Array.from(data).map((e) => /^@/.test(e) ? `./${e}` : e).sort(this.sort);
            this.result = data;
          }
          if (ev === "error" && this.parent) {
            ret2 = this.parent.emit("error", data);
          } else {
            ret2 = super.emit(ev, data);
          }
        }
        return ret2;
      }
      start() {
        fs.readdir(this.path, (er, entries) => er ? this.emit("error", er) : this.onReaddir(entries));
        return this;
      }
      isIgnoreFile(e) {
        return e !== "." && e !== ".." && this.ignoreFiles.indexOf(e) !== -1;
      }
      onReaddir(entries) {
        this.entries = entries;
        if (entries.length === 0) {
          if (this.includeEmpty) {
            this.result.add(this.path.slice(this.root.length + 1));
          }
          this.emit("done", this.result);
        } else {
          const hasIg = this.entries.some((e) => this.isIgnoreFile(e));
          if (hasIg) {
            this.addIgnoreFiles();
          } else {
            this.filterEntries();
          }
        }
      }
      addIgnoreFiles() {
        const newIg = this.entries.filter((e) => this.isIgnoreFile(e));
        let igCount = newIg.length;
        const then = (_) => {
          if (--igCount === 0) {
            this.filterEntries();
          }
        };
        newIg.forEach((e) => this.addIgnoreFile(e, then));
      }
      addIgnoreFile(file, then) {
        const ig = path2.resolve(this.path, file);
        fs.readFile(ig, "utf8", (er, data) => er ? this.emit("error", er) : this.onReadIgnoreFile(file, data, then));
      }
      onReadIgnoreFile(file, data, then) {
        const mmopt = {
          matchBase: true,
          dot: true,
          flipNegate: true,
          nocase: true
        };
        const rules = data.split(/\r?\n/).filter((line) => !/^#|^$/.test(line.trim())).map((rule) => {
          return new Minimatch(rule.trim(), mmopt);
        });
        this.ignoreRules[file] = rules;
        then();
      }
      filterEntries() {
        const filtered = this.entries.map((entry) => {
          const passFile = this.filterEntry(entry);
          const passDir = this.filterEntry(entry, true);
          return passFile || passDir ? [entry, passFile, passDir] : false;
        }).filter((e) => e);
        let entryCount = filtered.length;
        if (entryCount === 0) {
          this.emit("done", this.result);
        } else {
          const then = (_) => {
            if (--entryCount === 0) {
              this.emit("done", this.result);
            }
          };
          filtered.forEach((filt) => {
            const entry = filt[0];
            const file = filt[1];
            const dir = filt[2];
            this.stat({ entry, file, dir }, then);
          });
        }
      }
      onstat({ st, entry, file, dir, isSymbolicLink }, then) {
        const abs = this.path + "/" + entry;
        if (!st.isDirectory()) {
          if (file) {
            this.result.add(abs.slice(this.root.length + 1));
          }
          then();
        } else {
          if (dir) {
            this.walker(entry, { isSymbolicLink }, then);
          } else {
            then();
          }
        }
      }
      stat({ entry, file, dir }, then) {
        const abs = this.path + "/" + entry;
        fs.lstat(abs, (lstatErr, lstatResult) => {
          if (lstatErr) {
            this.emit("error", lstatErr);
          } else {
            const isSymbolicLink = lstatResult.isSymbolicLink();
            if (this.follow && isSymbolicLink) {
              fs.stat(abs, (statErr, statResult) => {
                if (statErr) {
                  this.emit("error", statErr);
                } else {
                  this.onstat({ st: statResult, entry, file, dir, isSymbolicLink }, then);
                }
              });
            } else {
              this.onstat({ st: lstatResult, entry, file, dir, isSymbolicLink }, then);
            }
          }
        });
      }
      walkerOpt(entry, opts) {
        return {
          path: this.path + "/" + entry,
          parent: this,
          ignoreFiles: this.ignoreFiles,
          follow: this.follow,
          includeEmpty: this.includeEmpty,
          ...opts
        };
      }
      walker(entry, opts, then) {
        new _Walker(this.walkerOpt(entry, opts)).on("done", then).start();
      }
      filterEntry(entry, partial) {
        let included = true;
        if (this.parent && this.parent.filterEntry) {
          var pt = this.basename + "/" + entry;
          included = this.parent.filterEntry(pt, partial);
        }
        this.ignoreFiles.forEach((f) => {
          if (this.ignoreRules[f]) {
            this.ignoreRules[f].forEach((rule) => {
              if (rule.negate !== included) {
                const match = rule.match("/" + entry) || rule.match(entry) || !!partial && (rule.match("/" + entry + "/") || rule.match(entry + "/")) || !!partial && rule.negate && (rule.match("/" + entry, true) || rule.match(entry, true));
                if (match) {
                  included = rule.negate;
                }
              }
            });
          }
        });
        return included;
      }
    };
    var WalkerSync = class _WalkerSync extends Walker {
      start() {
        this.onReaddir(fs.readdirSync(this.path));
        return this;
      }
      addIgnoreFile(file, then) {
        const ig = path2.resolve(this.path, file);
        this.onReadIgnoreFile(file, fs.readFileSync(ig, "utf8"), then);
      }
      stat({ entry, file, dir }, then) {
        const abs = this.path + "/" + entry;
        let st = fs.lstatSync(abs);
        const isSymbolicLink = st.isSymbolicLink();
        if (this.follow && isSymbolicLink) {
          st = fs.statSync(abs);
        }
        this.onstat({ st, entry, file, dir, isSymbolicLink }, then);
      }
      walker(entry, opts, then) {
        new _WalkerSync(this.walkerOpt(entry, opts)).start();
        then();
      }
    };
    var walk = (opts, callback) => {
      const p = new Promise((resolve, reject) => {
        new Walker(opts).on("done", resolve).on("error", reject).start();
      });
      return callback ? p.then((res) => callback(null, res), callback) : p;
    };
    var walkSync = (opts) => new WalkerSync(opts).start().result;
    module2.exports = walk;
    walk.sync = walkSync;
    walk.Walker = Walker;
    walk.WalkerSync = WalkerSync;
  }
});

// ../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js
var require_old = __commonJS({
  "../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/old.js"(exports2) {
    var pathModule = require("path");
    var isWindows = process.platform === "win32";
    var fs = require("fs");
    var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
    function rethrow() {
      var callback;
      if (DEBUG) {
        var backtrace = new Error();
        callback = debugCallback;
      } else
        callback = missingCallback;
      return callback;
      function debugCallback(err) {
        if (err) {
          backtrace.message = err.message;
          err = backtrace;
          missingCallback(err);
        }
      }
      function missingCallback(err) {
        if (err) {
          if (process.throwDeprecation)
            throw err;
          else if (!process.noDeprecation) {
            var msg = "fs: missing callback " + (err.stack || err.message);
            if (process.traceDeprecation)
              console.trace(msg);
            else
              console.error(msg);
          }
        }
      }
    }
    function maybeCallback(cb) {
      return typeof cb === "function" ? cb : rethrow();
    }
    var normalize = pathModule.normalize;
    if (isWindows) {
      nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
    } else {
      nextPartRe = /(.*?)(?:[\/]+|$)/g;
    }
    var nextPartRe;
    if (isWindows) {
      splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
    } else {
      splitRootRe = /^[\/]*/;
    }
    var splitRootRe;
    exports2.realpathSync = function realpathSync(p, cache) {
      p = pathModule.resolve(p);
      if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
        return cache[p];
      }
      var original = p, seenLinks = {}, knownHard = {};
      var pos;
      var current;
      var base;
      var previous;
      start();
      function start() {
        var m = splitRootRe.exec(p);
        pos = m[0].length;
        current = m[0];
        base = m[0];
        previous = "";
        if (isWindows && !knownHard[base]) {
          fs.lstatSync(base);
          knownHard[base] = true;
        }
      }
      while (pos < p.length) {
        nextPartRe.lastIndex = pos;
        var result2 = nextPartRe.exec(p);
        previous = current;
        current += result2[0];
        base = previous + result2[1];
        pos = nextPartRe.lastIndex;
        if (knownHard[base] || cache && cache[base] === base) {
          continue;
        }
        var resolvedLink;
        if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
          resolvedLink = cache[base];
        } else {
          var stat = fs.lstatSync(base);
          if (!stat.isSymbolicLink()) {
            knownHard[base] = true;
            if (cache) cache[base] = base;
            continue;
          }
          var linkTarget = null;
          if (!isWindows) {
            var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
            if (seenLinks.hasOwnProperty(id)) {
              linkTarget = seenLinks[id];
            }
          }
          if (linkTarget === null) {
            fs.statSync(base);
            linkTarget = fs.readlinkSync(base);
          }
          resolvedLink = pathModule.resolve(previous, linkTarget);
          if (cache) cache[base] = resolvedLink;
          if (!isWindows) seenLinks[id] = linkTarget;
        }
        p = pathModule.resolve(resolvedLink, p.slice(pos));
        start();
      }
      if (cache) cache[original] = p;
      return p;
    };
    exports2.realpath = function realpath(p, cache, cb) {
      if (typeof cb !== "function") {
        cb = maybeCallback(cache);
        cache = null;
      }
      p = pathModule.resolve(p);
      if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
        return process.nextTick(cb.bind(null, null, cache[p]));
      }
      var original = p, seenLinks = {}, knownHard = {};
      var pos;
      var current;
      var base;
      var previous;
      start();
      function start() {
        var m = splitRootRe.exec(p);
        pos = m[0].length;
        current = m[0];
        base = m[0];
        previous = "";
        if (isWindows && !knownHard[base]) {
          fs.lstat(base, function(err) {
            if (err) return cb(err);
            knownHard[base] = true;
            LOOP();
          });
        } else {
          process.nextTick(LOOP);
        }
      }
      function LOOP() {
        if (pos >= p.length) {
          if (cache) cache[original] = p;
          return cb(null, p);
        }
        nextPartRe.lastIndex = pos;
        var result2 = nextPartRe.exec(p);
        previous = current;
        current += result2[0];
        base = previous + result2[1];
        pos = nextPartRe.lastIndex;
        if (knownHard[base] || cache && cache[base] === base) {
          return process.nextTick(LOOP);
        }
        if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
          return gotResolvedLink(cache[base]);
        }
        return fs.lstat(base, gotStat);
      }
      function gotStat(err, stat) {
        if (err) return cb(err);
        if (!stat.isSymbolicLink()) {
          knownHard[base] = true;
          if (cache) cache[base] = base;
          return process.nextTick(LOOP);
        }
        if (!isWindows) {
          var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
          if (seenLinks.hasOwnProperty(id)) {
            return gotTarget(null, seenLinks[id], base);
          }
        }
        fs.stat(base, function(err2) {
          if (err2) return cb(err2);
          fs.readlink(base, function(err3, target) {
            if (!isWindows) seenLinks[id] = target;
            gotTarget(err3, target);
          });
        });
      }
      function gotTarget(err, target, base2) {
        if (err) return cb(err);
        var resolvedLink = pathModule.resolve(previous, target);
        if (cache) cache[base2] = resolvedLink;
        gotResolvedLink(resolvedLink);
      }
      function gotResolvedLink(resolvedLink) {
        p = pathModule.resolve(resolvedLink, p.slice(pos));
        start();
      }
    };
  }
});

// ../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js
var require_fs2 = __commonJS({
  "../node_modules/.pnpm/fs.realpath@1.0.0/node_modules/fs.realpath/index.js"(exports2, module2) {
    module2.exports = realpath;
    realpath.realpath = realpath;
    realpath.sync = realpathSync;
    realpath.realpathSync = realpathSync;
    realpath.monkeypatch = monkeypatch;
    realpath.unmonkeypatch = unmonkeypatch;
    var fs = require("fs");
    var origRealpath = fs.realpath;
    var origRealpathSync = fs.realpathSync;
    var version2 = process.version;
    var ok = /^v[0-5]\./.test(version2);
    var old = require_old();
    function newError(er) {
      return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG");
    }
    function realpath(p, cache, cb) {
      if (ok) {
        return origRealpath(p, cache, cb);
      }
      if (typeof cache === "function") {
        cb = cache;
        cache = null;
      }
      origRealpath(p, cache, function(er, result2) {
        if (newError(er)) {
          old.realpath(p, cache, cb);
        } else {
          cb(er, result2);
        }
      });
    }
    function realpathSync(p, cache) {
      if (ok) {
        return origRealpathSync(p, cache);
      }
      try {
        return origRealpathSync(p, cache);
      } catch (er) {
        if (newError(er)) {
          return old.realpathSync(p, cache);
        } else {
          throw er;
        }
      }
    }
    function monkeypatch() {
      fs.realpath = realpath;
      fs.realpathSync = realpathSync;
    }
    function unmonkeypatch() {
      fs.realpath = origRealpath;
      fs.realpathSync = origRealpathSync;
    }
  }
});

// ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/common.js
var require_common4 = __commonJS({
  "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/common.js"(exports2) {
    exports2.setopts = setopts;
    exports2.ownProp = ownProp;
    exports2.makeAbs = makeAbs;
    exports2.finish = finish;
    exports2.mark = mark;
    exports2.isIgnored = isIgnored;
    exports2.childrenIgnored = childrenIgnored;
    function ownProp(obj, field) {
      return Object.prototype.hasOwnProperty.call(obj, field);
    }
    var fs = require("fs");
    var path2 = require("path");
    var minimatch = require_minimatch();
    var isAbsolute = require("path").isAbsolute;
    var Minimatch = minimatch.Minimatch;
    function alphasort(a, b) {
      return a.localeCompare(b, "en");
    }
    function setupIgnores(self2, options) {
      self2.ignore = options.ignore || [];
      if (!Array.isArray(self2.ignore))
        self2.ignore = [self2.ignore];
      if (self2.ignore.length) {
        self2.ignore = self2.ignore.map(ignoreMap);
      }
    }
    function ignoreMap(pattern) {
      var gmatcher = null;
      if (pattern.slice(-3) === "/**") {
        var gpattern = pattern.replace(/(\/\*\*)+$/, "");
        gmatcher = new Minimatch(gpattern, { dot: true });
      }
      return {
        matcher: new Minimatch(pattern, { dot: true }),
        gmatcher
      };
    }
    function setopts(self2, pattern, options) {
      if (!options)
        options = {};
      if (options.matchBase && -1 === pattern.indexOf("/")) {
        if (options.noglobstar) {
          throw new Error("base matching requires globstar");
        }
        pattern = "**/" + pattern;
      }
      self2.windowsPathsNoEscape = !!options.windowsPathsNoEscape || options.allowWindowsEscape === false;
      if (self2.windowsPathsNoEscape) {
        pattern = pattern.replace(/\\/g, "/");
      }
      self2.silent = !!options.silent;
      self2.pattern = pattern;
      self2.strict = options.strict !== false;
      self2.realpath = !!options.realpath;
      self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null);
      self2.follow = !!options.follow;
      self2.dot = !!options.dot;
      self2.mark = !!options.mark;
      self2.nodir = !!options.nodir;
      if (self2.nodir)
        self2.mark = true;
      self2.sync = !!options.sync;
      self2.nounique = !!options.nounique;
      self2.nonull = !!options.nonull;
      self2.nosort = !!options.nosort;
      self2.nocase = !!options.nocase;
      self2.stat = !!options.stat;
      self2.noprocess = !!options.noprocess;
      self2.absolute = !!options.absolute;
      self2.fs = options.fs || fs;
      self2.maxLength = options.maxLength || Infinity;
      self2.cache = options.cache || /* @__PURE__ */ Object.create(null);
      self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null);
      self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null);
      setupIgnores(self2, options);
      self2.changedCwd = false;
      var cwd = process.cwd();
      if (!ownProp(options, "cwd"))
        self2.cwd = path2.resolve(cwd);
      else {
        self2.cwd = path2.resolve(options.cwd);
        self2.changedCwd = self2.cwd !== cwd;
      }
      self2.root = options.root || path2.resolve(self2.cwd, "/");
      self2.root = path2.resolve(self2.root);
      self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
      self2.nomount = !!options.nomount;
      if (process.platform === "win32") {
        self2.root = self2.root.replace(/\\/g, "/");
        self2.cwd = self2.cwd.replace(/\\/g, "/");
        self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/");
      }
      options.nonegate = true;
      options.nocomment = true;
      self2.minimatch = new Minimatch(pattern, options);
      self2.options = self2.minimatch.options;
    }
    function finish(self2) {
      var nou = self2.nounique;
      var all = nou ? [] : /* @__PURE__ */ Object.create(null);
      for (var i = 0, l = self2.matches.length; i < l; i++) {
        var matches = self2.matches[i];
        if (!matches || Object.keys(matches).length === 0) {
          if (self2.nonull) {
            var literal = self2.minimatch.globSet[i];
            if (nou)
              all.push(literal);
            else
              all[literal] = true;
          }
        } else {
          var m = Object.keys(matches);
          if (nou)
            all.push.apply(all, m);
          else
            m.forEach(function(m2) {
              all[m2] = true;
            });
        }
      }
      if (!nou)
        all = Object.keys(all);
      if (!self2.nosort)
        all = all.sort(alphasort);
      if (self2.mark) {
        for (var i = 0; i < all.length; i++) {
          all[i] = self2._mark(all[i]);
        }
        if (self2.nodir) {
          all = all.filter(function(e) {
            var notDir = !/\/$/.test(e);
            var c = self2.cache[e] || self2.cache[makeAbs(self2, e)];
            if (notDir && c)
              notDir = c !== "DIR" && !Array.isArray(c);
            return notDir;
          });
        }
      }
      if (self2.ignore.length)
        all = all.filter(function(m2) {
          return !isIgnored(self2, m2);
        });
      self2.found = all;
    }
    function mark(self2, p) {
      var abs = makeAbs(self2, p);
      var c = self2.cache[abs];
      var m = p;
      if (c) {
        var isDir = c === "DIR" || Array.isArray(c);
        var slash = p.slice(-1) === "/";
        if (isDir && !slash)
          m += "/";
        else if (!isDir && slash)
          m = m.slice(0, -1);
        if (m !== p) {
          var mabs = makeAbs(self2, m);
          self2.statCache[mabs] = self2.statCache[abs];
          self2.cache[mabs] = self2.cache[abs];
        }
      }
      return m;
    }
    function makeAbs(self2, f) {
      var abs = f;
      if (f.charAt(0) === "/") {
        abs = path2.join(self2.root, f);
      } else if (isAbsolute(f) || f === "") {
        abs = f;
      } else if (self2.changedCwd) {
        abs = path2.resolve(self2.cwd, f);
      } else {
        abs = path2.resolve(f);
      }
      if (process.platform === "win32")
        abs = abs.replace(/\\/g, "/");
      return abs;
    }
    function isIgnored(self2, path3) {
      if (!self2.ignore.length)
        return false;
      return self2.ignore.some(function(item) {
        return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3));
      });
    }
    function childrenIgnored(self2, path3) {
      if (!self2.ignore.length)
        return false;
      return self2.ignore.some(function(item) {
        return !!(item.gmatcher && item.gmatcher.match(path3));
      });
    }
  }
});

// ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/sync.js
var require_sync2 = __commonJS({
  "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/sync.js"(exports2, module2) {
    module2.exports = globSync;
    globSync.GlobSync = GlobSync;
    var rp = require_fs2();
    var minimatch = require_minimatch();
    var Minimatch = minimatch.Minimatch;
    var Glob = require_glob().Glob;
    var util = require("util");
    var path2 = require("path");
    var assert = require("assert");
    var isAbsolute = require("path").isAbsolute;
    var common = require_common4();
    var setopts = common.setopts;
    var ownProp = common.ownProp;
    var childrenIgnored = common.childrenIgnored;
    var isIgnored = common.isIgnored;
    function globSync(pattern, options) {
      if (typeof options === "function" || arguments.length === 3)
        throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
      return new GlobSync(pattern, options).found;
    }
    function GlobSync(pattern, options) {
      if (!pattern)
        throw new Error("must provide pattern");
      if (typeof options === "function" || arguments.length === 3)
        throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
      if (!(this instanceof GlobSync))
        return new GlobSync(pattern, options);
      setopts(this, pattern, options);
      if (this.noprocess)
        return this;
      var n = this.minimatch.set.length;
      this.matches = new Array(n);
      for (var i = 0; i < n; i++) {
        this._process(this.minimatch.set[i], i, false);
      }
      this._finish();
    }
    GlobSync.prototype._finish = function() {
      assert.ok(this instanceof GlobSync);
      if (this.realpath) {
        var self2 = this;
        this.matches.forEach(function(matchset, index) {
          var set = self2.matches[index] = /* @__PURE__ */ Object.create(null);
          for (var p in matchset) {
            try {
              p = self2._makeAbs(p);
              var real = rp.realpathSync(p, self2.realpathCache);
              set[real] = true;
            } catch (er) {
              if (er.syscall === "stat")
                set[self2._makeAbs(p)] = true;
              else
                throw er;
            }
          }
        });
      }
      common.finish(this);
    };
    GlobSync.prototype._process = function(pattern, index, inGlobStar) {
      assert.ok(this instanceof GlobSync);
      var n = 0;
      while (typeof pattern[n] === "string") {
        n++;
      }
      var prefix;
      switch (n) {
        // if not, then this is rather simple
        case pattern.length:
          this._processSimple(pattern.join("/"), index);
          return;
        case 0:
          prefix = null;
          break;
        default:
          prefix = pattern.slice(0, n).join("/");
          break;
      }
      var remain = pattern.slice(n);
      var read;
      if (prefix === null)
        read = ".";
      else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) {
        return typeof p === "string" ? p : "[*]";
      }).join("/"))) {
        if (!prefix || !isAbsolute(prefix))
          prefix = "/" + prefix;
        read = prefix;
      } else
        read = prefix;
      var abs = this._makeAbs(read);
      if (childrenIgnored(this, read))
        return;
      var isGlobStar = remain[0] === minimatch.GLOBSTAR;
      if (isGlobStar)
        this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
      else
        this._processReaddir(prefix, read, abs, remain, index, inGlobStar);
    };
    GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) {
      var entries = this._readdir(abs, inGlobStar);
      if (!entries)
        return;
      var pn = remain[0];
      var negate = !!this.minimatch.negate;
      var rawGlob = pn._glob;
      var dotOk = this.dot || rawGlob.charAt(0) === ".";
      var matchedEntries = [];
      for (var i = 0; i < entries.length; i++) {
        var e = entries[i];
        if (e.charAt(0) !== "." || dotOk) {
          var m;
          if (negate && !prefix) {
            m = !e.match(pn);
          } else {
            m = e.match(pn);
          }
          if (m)
            matchedEntries.push(e);
        }
      }
      var len = matchedEntries.length;
      if (len === 0)
        return;
      if (remain.length === 1 && !this.mark && !this.stat) {
        if (!this.matches[index])
          this.matches[index] = /* @__PURE__ */ Object.create(null);
        for (var i = 0; i < len; i++) {
          var e = matchedEntries[i];
          if (prefix) {
            if (prefix.slice(-1) !== "/")
              e = prefix + "/" + e;
            else
              e = prefix + e;
          }
          if (e.charAt(0) === "/" && !this.nomount) {
            e = path2.join(this.root, e);
          }
          this._emitMatch(index, e);
        }
        return;
      }
      remain.shift();
      for (var i = 0; i < len; i++) {
        var e = matchedEntries[i];
        var newPattern;
        if (prefix)
          newPattern = [prefix, e];
        else
          newPattern = [e];
        this._process(newPattern.concat(remain), index, inGlobStar);
      }
    };
    GlobSync.prototype._emitMatch = function(index, e) {
      if (isIgnored(this, e))
        return;
      var abs = this._makeAbs(e);
      if (this.mark)
        e = this._mark(e);
      if (this.absolute) {
        e = abs;
      }
      if (this.matches[index][e])
        return;
      if (this.nodir) {
        var c = this.cache[abs];
        if (c === "DIR" || Array.isArray(c))
          return;
      }
      this.matches[index][e] = true;
      if (this.stat)
        this._stat(e);
    };
    GlobSync.prototype._readdirInGlobStar = function(abs) {
      if (this.follow)
        return this._readdir(abs, false);
      var entries;
      var lstat;
      var stat;
      try {
        lstat = this.fs.lstatSync(abs);
      } catch (er) {
        if (er.code === "ENOENT") {
          return null;
        }
      }
      var isSym = lstat && lstat.isSymbolicLink();
      this.symlinks[abs] = isSym;
      if (!isSym && lstat && !lstat.isDirectory())
        this.cache[abs] = "FILE";
      else
        entries = this._readdir(abs, false);
      return entries;
    };
    GlobSync.prototype._readdir = function(abs, inGlobStar) {
      var entries;
      if (inGlobStar && !ownProp(this.symlinks, abs))
        return this._readdirInGlobStar(abs);
      if (ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (!c || c === "FILE")
          return null;
        if (Array.isArray(c))
          return c;
      }
      try {
        return this._readdirEntries(abs, this.fs.readdirSync(abs));
      } catch (er) {
        this._readdirError(abs, er);
        return null;
      }
    };
    GlobSync.prototype._readdirEntries = function(abs, entries) {
      if (!this.mark && !this.stat) {
        for (var i = 0; i < entries.length; i++) {
          var e = entries[i];
          if (abs === "/")
            e = abs + e;
          else
            e = abs + "/" + e;
          this.cache[e] = true;
        }
      }
      this.cache[abs] = entries;
      return entries;
    };
    GlobSync.prototype._readdirError = function(f, er) {
      switch (er.code) {
        case "ENOTSUP":
        // https://github.com/isaacs/node-glob/issues/205
        case "ENOTDIR":
          var abs = this._makeAbs(f);
          this.cache[abs] = "FILE";
          if (abs === this.cwdAbs) {
            var error = new Error(er.code + " invalid cwd " + this.cwd);
            error.path = this.cwd;
            error.code = er.code;
            throw error;
          }
          break;
        case "ENOENT":
        // not terribly unusual
        case "ELOOP":
        case "ENAMETOOLONG":
        case "UNKNOWN":
          this.cache[this._makeAbs(f)] = false;
          break;
        default:
          this.cache[this._makeAbs(f)] = false;
          if (this.strict)
            throw er;
          if (!this.silent)
            console.error("glob error", er);
          break;
      }
    };
    GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) {
      var entries = this._readdir(abs, inGlobStar);
      if (!entries)
        return;
      var remainWithoutGlobStar = remain.slice(1);
      var gspref = prefix ? [prefix] : [];
      var noGlobStar = gspref.concat(remainWithoutGlobStar);
      this._process(noGlobStar, index, false);
      var len = entries.length;
      var isSym = this.symlinks[abs];
      if (isSym && inGlobStar)
        return;
      for (var i = 0; i < len; i++) {
        var e = entries[i];
        if (e.charAt(0) === "." && !this.dot)
          continue;
        var instead = gspref.concat(entries[i], remainWithoutGlobStar);
        this._process(instead, index, true);
        var below = gspref.concat(entries[i], remain);
        this._process(below, index, true);
      }
    };
    GlobSync.prototype._processSimple = function(prefix, index) {
      var exists = this._stat(prefix);
      if (!this.matches[index])
        this.matches[index] = /* @__PURE__ */ Object.create(null);
      if (!exists)
        return;
      if (prefix && isAbsolute(prefix) && !this.nomount) {
        var trail = /[\/\\]$/.test(prefix);
        if (prefix.charAt(0) === "/") {
          prefix = path2.join(this.root, prefix);
        } else {
          prefix = path2.resolve(this.root, prefix);
          if (trail)
            prefix += "/";
        }
      }
      if (process.platform === "win32")
        prefix = prefix.replace(/\\/g, "/");
      this._emitMatch(index, prefix);
    };
    GlobSync.prototype._stat = function(f) {
      var abs = this._makeAbs(f);
      var needDir = f.slice(-1) === "/";
      if (f.length > this.maxLength)
        return false;
      if (!this.stat && ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (Array.isArray(c))
          c = "DIR";
        if (!needDir || c === "DIR")
          return c;
        if (needDir && c === "FILE")
          return false;
      }
      var exists;
      var stat = this.statCache[abs];
      if (!stat) {
        var lstat;
        try {
          lstat = this.fs.lstatSync(abs);
        } catch (er) {
          if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
            this.statCache[abs] = false;
            return false;
          }
        }
        if (lstat && lstat.isSymbolicLink()) {
          try {
            stat = this.fs.statSync(abs);
          } catch (er) {
            stat = lstat;
          }
        } else {
          stat = lstat;
        }
      }
      this.statCache[abs] = stat;
      var c = true;
      if (stat)
        c = stat.isDirectory() ? "DIR" : "FILE";
      this.cache[abs] = this.cache[abs] || c;
      if (needDir && c === "FILE")
        return false;
      return c;
    };
    GlobSync.prototype._mark = function(p) {
      return common.mark(this, p);
    };
    GlobSync.prototype._makeAbs = function(f) {
      return common.makeAbs(this, f);
    };
  }
});

// ../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js
var require_wrappy = __commonJS({
  "../node_modules/.pnpm/wrappy@1.0.2/node_modules/wrappy/wrappy.js"(exports2, module2) {
    module2.exports = wrappy;
    function wrappy(fn, cb) {
      if (fn && cb) return wrappy(fn)(cb);
      if (typeof fn !== "function")
        throw new TypeError("need wrapper function");
      Object.keys(fn).forEach(function(k) {
        wrapper[k] = fn[k];
      });
      return wrapper;
      function wrapper() {
        var args = new Array(arguments.length);
        for (var i = 0; i < args.length; i++) {
          args[i] = arguments[i];
        }
        var ret2 = fn.apply(this, args);
        var cb2 = args[args.length - 1];
        if (typeof ret2 === "function" && ret2 !== cb2) {
          Object.keys(cb2).forEach(function(k) {
            ret2[k] = cb2[k];
          });
        }
        return ret2;
      }
    }
  }
});

// ../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js
var require_once = __commonJS({
  "../node_modules/.pnpm/once@1.4.0/node_modules/once/once.js"(exports2, module2) {
    var wrappy = require_wrappy();
    module2.exports = wrappy(once);
    module2.exports.strict = wrappy(onceStrict);
    once.proto = once(function() {
      Object.defineProperty(Function.prototype, "once", {
        value: function() {
          return once(this);
        },
        configurable: true
      });
      Object.defineProperty(Function.prototype, "onceStrict", {
        value: function() {
          return onceStrict(this);
        },
        configurable: true
      });
    });
    function once(fn) {
      var f = function() {
        if (f.called) return f.value;
        f.called = true;
        return f.value = fn.apply(this, arguments);
      };
      f.called = false;
      return f;
    }
    function onceStrict(fn) {
      var f = function() {
        if (f.called)
          throw new Error(f.onceError);
        f.called = true;
        return f.value = fn.apply(this, arguments);
      };
      var name = fn.name || "Function wrapped with `once`";
      f.onceError = name + " shouldn't be called more than once";
      f.called = false;
      return f;
    }
  }
});

// ../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js
var require_inflight = __commonJS({
  "../node_modules/.pnpm/inflight@1.0.6/node_modules/inflight/inflight.js"(exports2, module2) {
    var wrappy = require_wrappy();
    var reqs = /* @__PURE__ */ Object.create(null);
    var once = require_once();
    module2.exports = wrappy(inflight);
    function inflight(key, cb) {
      if (reqs[key]) {
        reqs[key].push(cb);
        return null;
      } else {
        reqs[key] = [cb];
        return makeres(key);
      }
    }
    function makeres(key) {
      return once(function RES() {
        var cbs = reqs[key];
        var len = cbs.length;
        var args = slice(arguments);
        try {
          for (var i = 0; i < len; i++) {
            cbs[i].apply(null, args);
          }
        } finally {
          if (cbs.length > len) {
            cbs.splice(0, len);
            process.nextTick(function() {
              RES.apply(null, args);
            });
          } else {
            delete reqs[key];
          }
        }
      });
    }
    function slice(args) {
      var length = args.length;
      var array = [];
      for (var i = 0; i < length; i++) array[i] = args[i];
      return array;
    }
  }
});

// ../node_modules/.pnpm/glob@8.1.0/node_modules/glob/glob.js
var require_glob = __commonJS({
  "../node_modules/.pnpm/glob@8.1.0/node_modules/glob/glob.js"(exports2, module2) {
    module2.exports = glob;
    var rp = require_fs2();
    var minimatch = require_minimatch();
    var Minimatch = minimatch.Minimatch;
    var inherits = require_inherits();
    var EE = require("events").EventEmitter;
    var path2 = require("path");
    var assert = require("assert");
    var isAbsolute = require("path").isAbsolute;
    var globSync = require_sync2();
    var common = require_common4();
    var setopts = common.setopts;
    var ownProp = common.ownProp;
    var inflight = require_inflight();
    var util = require("util");
    var childrenIgnored = common.childrenIgnored;
    var isIgnored = common.isIgnored;
    var once = require_once();
    function glob(pattern, options, cb) {
      if (typeof options === "function") cb = options, options = {};
      if (!options) options = {};
      if (options.sync) {
        if (cb)
          throw new TypeError("callback provided to sync glob");
        return globSync(pattern, options);
      }
      return new Glob(pattern, options, cb);
    }
    glob.sync = globSync;
    var GlobSync = glob.GlobSync = globSync.GlobSync;
    glob.glob = glob;
    function extend(origin, add) {
      if (add === null || typeof add !== "object") {
        return origin;
      }
      var keys = Object.keys(add);
      var i = keys.length;
      while (i--) {
        origin[keys[i]] = add[keys[i]];
      }
      return origin;
    }
    glob.hasMagic = function(pattern, options_) {
      var options = extend({}, options_);
      options.noprocess = true;
      var g = new Glob(pattern, options);
      var set = g.minimatch.set;
      if (!pattern)
        return false;
      if (set.length > 1)
        return true;
      for (var j = 0; j < set[0].length; j++) {
        if (typeof set[0][j] !== "string")
          return true;
      }
      return false;
    };
    glob.Glob = Glob;
    inherits(Glob, EE);
    function Glob(pattern, options, cb) {
      if (typeof options === "function") {
        cb = options;
        options = null;
      }
      if (options && options.sync) {
        if (cb)
          throw new TypeError("callback provided to sync glob");
        return new GlobSync(pattern, options);
      }
      if (!(this instanceof Glob))
        return new Glob(pattern, options, cb);
      setopts(this, pattern, options);
      this._didRealPath = false;
      var n = this.minimatch.set.length;
      this.matches = new Array(n);
      if (typeof cb === "function") {
        cb = once(cb);
        this.on("error", cb);
        this.on("end", function(matches) {
          cb(null, matches);
        });
      }
      var self2 = this;
      this._processing = 0;
      this._emitQueue = [];
      this._processQueue = [];
      this.paused = false;
      if (this.noprocess)
        return this;
      if (n === 0)
        return done();
      var sync = true;
      for (var i = 0; i < n; i++) {
        this._process(this.minimatch.set[i], i, false, done);
      }
      sync = false;
      function done() {
        --self2._processing;
        if (self2._processing <= 0) {
          if (sync) {
            process.nextTick(function() {
              self2._finish();
            });
          } else {
            self2._finish();
          }
        }
      }
    }
    Glob.prototype._finish = function() {
      assert(this instanceof Glob);
      if (this.aborted)
        return;
      if (this.realpath && !this._didRealpath)
        return this._realpath();
      common.finish(this);
      this.emit("end", this.found);
    };
    Glob.prototype._realpath = function() {
      if (this._didRealpath)
        return;
      this._didRealpath = true;
      var n = this.matches.length;
      if (n === 0)
        return this._finish();
      var self2 = this;
      for (var i = 0; i < this.matches.length; i++)
        this._realpathSet(i, next);
      function next() {
        if (--n === 0)
          self2._finish();
      }
    };
    Glob.prototype._realpathSet = function(index, cb) {
      var matchset = this.matches[index];
      if (!matchset)
        return cb();
      var found = Object.keys(matchset);
      var self2 = this;
      var n = found.length;
      if (n === 0)
        return cb();
      var set = this.matches[index] = /* @__PURE__ */ Object.create(null);
      found.forEach(function(p, i) {
        p = self2._makeAbs(p);
        rp.realpath(p, self2.realpathCache, function(er, real) {
          if (!er)
            set[real] = true;
          else if (er.syscall === "stat")
            set[p] = true;
          else
            self2.emit("error", er);
          if (--n === 0) {
            self2.matches[index] = set;
            cb();
          }
        });
      });
    };
    Glob.prototype._mark = function(p) {
      return common.mark(this, p);
    };
    Glob.prototype._makeAbs = function(f) {
      return common.makeAbs(this, f);
    };
    Glob.prototype.abort = function() {
      this.aborted = true;
      this.emit("abort");
    };
    Glob.prototype.pause = function() {
      if (!this.paused) {
        this.paused = true;
        this.emit("pause");
      }
    };
    Glob.prototype.resume = function() {
      if (this.paused) {
        this.emit("resume");
        this.paused = false;
        if (this._emitQueue.length) {
          var eq = this._emitQueue.slice(0);
          this._emitQueue.length = 0;
          for (var i = 0; i < eq.length; i++) {
            var e = eq[i];
            this._emitMatch(e[0], e[1]);
          }
        }
        if (this._processQueue.length) {
          var pq = this._processQueue.slice(0);
          this._processQueue.length = 0;
          for (var i = 0; i < pq.length; i++) {
            var p = pq[i];
            this._processing--;
            this._process(p[0], p[1], p[2], p[3]);
          }
        }
      }
    };
    Glob.prototype._process = function(pattern, index, inGlobStar, cb) {
      assert(this instanceof Glob);
      assert(typeof cb === "function");
      if (this.aborted)
        return;
      this._processing++;
      if (this.paused) {
        this._processQueue.push([pattern, index, inGlobStar, cb]);
        return;
      }
      var n = 0;
      while (typeof pattern[n] === "string") {
        n++;
      }
      var prefix;
      switch (n) {
        // if not, then this is rather simple
        case pattern.length:
          this._processSimple(pattern.join("/"), index, cb);
          return;
        case 0:
          prefix = null;
          break;
        default:
          prefix = pattern.slice(0, n).join("/");
          break;
      }
      var remain = pattern.slice(n);
      var read;
      if (prefix === null)
        read = ".";
      else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) {
        return typeof p === "string" ? p : "[*]";
      }).join("/"))) {
        if (!prefix || !isAbsolute(prefix))
          prefix = "/" + prefix;
        read = prefix;
      } else
        read = prefix;
      var abs = this._makeAbs(read);
      if (childrenIgnored(this, read))
        return cb();
      var isGlobStar = remain[0] === minimatch.GLOBSTAR;
      if (isGlobStar)
        this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
      else
        this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb);
    };
    Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) {
      var self2 = this;
      this._readdir(abs, inGlobStar, function(er, entries) {
        return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
      });
    };
    Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
      if (!entries)
        return cb();
      var pn = remain[0];
      var negate = !!this.minimatch.negate;
      var rawGlob = pn._glob;
      var dotOk = this.dot || rawGlob.charAt(0) === ".";
      var matchedEntries = [];
      for (var i = 0; i < entries.length; i++) {
        var e = entries[i];
        if (e.charAt(0) !== "." || dotOk) {
          var m;
          if (negate && !prefix) {
            m = !e.match(pn);
          } else {
            m = e.match(pn);
          }
          if (m)
            matchedEntries.push(e);
        }
      }
      var len = matchedEntries.length;
      if (len === 0)
        return cb();
      if (remain.length === 1 && !this.mark && !this.stat) {
        if (!this.matches[index])
          this.matches[index] = /* @__PURE__ */ Object.create(null);
        for (var i = 0; i < len; i++) {
          var e = matchedEntries[i];
          if (prefix) {
            if (prefix !== "/")
              e = prefix + "/" + e;
            else
              e = prefix + e;
          }
          if (e.charAt(0) === "/" && !this.nomount) {
            e = path2.join(this.root, e);
          }
          this._emitMatch(index, e);
        }
        return cb();
      }
      remain.shift();
      for (var i = 0; i < len; i++) {
        var e = matchedEntries[i];
        var newPattern;
        if (prefix) {
          if (prefix !== "/")
            e = prefix + "/" + e;
          else
            e = prefix + e;
        }
        this._process([e].concat(remain), index, inGlobStar, cb);
      }
      cb();
    };
    Glob.prototype._emitMatch = function(index, e) {
      if (this.aborted)
        return;
      if (isIgnored(this, e))
        return;
      if (this.paused) {
        this._emitQueue.push([index, e]);
        return;
      }
      var abs = isAbsolute(e) ? e : this._makeAbs(e);
      if (this.mark)
        e = this._mark(e);
      if (this.absolute)
        e = abs;
      if (this.matches[index][e])
        return;
      if (this.nodir) {
        var c = this.cache[abs];
        if (c === "DIR" || Array.isArray(c))
          return;
      }
      this.matches[index][e] = true;
      var st = this.statCache[abs];
      if (st)
        this.emit("stat", e, st);
      this.emit("match", e);
    };
    Glob.prototype._readdirInGlobStar = function(abs, cb) {
      if (this.aborted)
        return;
      if (this.follow)
        return this._readdir(abs, false, cb);
      var lstatkey = "lstat\0" + abs;
      var self2 = this;
      var lstatcb = inflight(lstatkey, lstatcb_);
      if (lstatcb)
        self2.fs.lstat(abs, lstatcb);
      function lstatcb_(er, lstat) {
        if (er && er.code === "ENOENT")
          return cb();
        var isSym = lstat && lstat.isSymbolicLink();
        self2.symlinks[abs] = isSym;
        if (!isSym && lstat && !lstat.isDirectory()) {
          self2.cache[abs] = "FILE";
          cb();
        } else
          self2._readdir(abs, false, cb);
      }
    };
    Glob.prototype._readdir = function(abs, inGlobStar, cb) {
      if (this.aborted)
        return;
      cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb);
      if (!cb)
        return;
      if (inGlobStar && !ownProp(this.symlinks, abs))
        return this._readdirInGlobStar(abs, cb);
      if (ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (!c || c === "FILE")
          return cb();
        if (Array.isArray(c))
          return cb(null, c);
      }
      var self2 = this;
      self2.fs.readdir(abs, readdirCb(this, abs, cb));
    };
    function readdirCb(self2, abs, cb) {
      return function(er, entries) {
        if (er)
          self2._readdirError(abs, er, cb);
        else
          self2._readdirEntries(abs, entries, cb);
      };
    }
    Glob.prototype._readdirEntries = function(abs, entries, cb) {
      if (this.aborted)
        return;
      if (!this.mark && !this.stat) {
        for (var i = 0; i < entries.length; i++) {
          var e = entries[i];
          if (abs === "/")
            e = abs + e;
          else
            e = abs + "/" + e;
          this.cache[e] = true;
        }
      }
      this.cache[abs] = entries;
      return cb(null, entries);
    };
    Glob.prototype._readdirError = function(f, er, cb) {
      if (this.aborted)
        return;
      switch (er.code) {
        case "ENOTSUP":
        // https://github.com/isaacs/node-glob/issues/205
        case "ENOTDIR":
          var abs = this._makeAbs(f);
          this.cache[abs] = "FILE";
          if (abs === this.cwdAbs) {
            var error = new Error(er.code + " invalid cwd " + this.cwd);
            error.path = this.cwd;
            error.code = er.code;
            this.emit("error", error);
            this.abort();
          }
          break;
        case "ENOENT":
        // not terribly unusual
        case "ELOOP":
        case "ENAMETOOLONG":
        case "UNKNOWN":
          this.cache[this._makeAbs(f)] = false;
          break;
        default:
          this.cache[this._makeAbs(f)] = false;
          if (this.strict) {
            this.emit("error", er);
            this.abort();
          }
          if (!this.silent)
            console.error("glob error", er);
          break;
      }
      return cb();
    };
    Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) {
      var self2 = this;
      this._readdir(abs, inGlobStar, function(er, entries) {
        self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
      });
    };
    Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
      if (!entries)
        return cb();
      var remainWithoutGlobStar = remain.slice(1);
      var gspref = prefix ? [prefix] : [];
      var noGlobStar = gspref.concat(remainWithoutGlobStar);
      this._process(noGlobStar, index, false, cb);
      var isSym = this.symlinks[abs];
      var len = entries.length;
      if (isSym && inGlobStar)
        return cb();
      for (var i = 0; i < len; i++) {
        var e = entries[i];
        if (e.charAt(0) === "." && !this.dot)
          continue;
        var instead = gspref.concat(entries[i], remainWithoutGlobStar);
        this._process(instead, index, true, cb);
        var below = gspref.concat(entries[i], remain);
        this._process(below, index, true, cb);
      }
      cb();
    };
    Glob.prototype._processSimple = function(prefix, index, cb) {
      var self2 = this;
      this._stat(prefix, function(er, exists) {
        self2._processSimple2(prefix, index, er, exists, cb);
      });
    };
    Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) {
      if (!this.matches[index])
        this.matches[index] = /* @__PURE__ */ Object.create(null);
      if (!exists)
        return cb();
      if (prefix && isAbsolute(prefix) && !this.nomount) {
        var trail = /[\/\\]$/.test(prefix);
        if (prefix.charAt(0) === "/") {
          prefix = path2.join(this.root, prefix);
        } else {
          prefix = path2.resolve(this.root, prefix);
          if (trail)
            prefix += "/";
        }
      }
      if (process.platform === "win32")
        prefix = prefix.replace(/\\/g, "/");
      this._emitMatch(index, prefix);
      cb();
    };
    Glob.prototype._stat = function(f, cb) {
      var abs = this._makeAbs(f);
      var needDir = f.slice(-1) === "/";
      if (f.length > this.maxLength)
        return cb();
      if (!this.stat && ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (Array.isArray(c))
          c = "DIR";
        if (!needDir || c === "DIR")
          return cb(null, c);
        if (needDir && c === "FILE")
          return cb();
      }
      var exists;
      var stat = this.statCache[abs];
      if (stat !== void 0) {
        if (stat === false)
          return cb(null, stat);
        else {
          var type = stat.isDirectory() ? "DIR" : "FILE";
          if (needDir && type === "FILE")
            return cb();
          else
            return cb(null, type, stat);
        }
      }
      var self2 = this;
      var statcb = inflight("stat\0" + abs, lstatcb_);
      if (statcb)
        self2.fs.lstat(abs, statcb);
      function lstatcb_(er, lstat) {
        if (lstat && lstat.isSymbolicLink()) {
          return self2.fs.stat(abs, function(er2, stat2) {
            if (er2)
              self2._stat2(f, abs, null, lstat, cb);
            else
              self2._stat2(f, abs, er2, stat2, cb);
          });
        } else {
          self2._stat2(f, abs, er, lstat, cb);
        }
      }
    };
    Glob.prototype._stat2 = function(f, abs, er, stat, cb) {
      if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
        this.statCache[abs] = false;
        return cb();
      }
      var needDir = f.slice(-1) === "/";
      this.statCache[abs] = stat;
      if (abs.slice(-1) === "/" && stat && !stat.isDirectory())
        return cb(null, false, stat);
      var c = true;
      if (stat)
        c = stat.isDirectory() ? "DIR" : "FILE";
      this.cache[abs] = this.cache[abs] || c;
      if (needDir && c === "FILE")
        return cb();
      return cb(null, c, stat);
    };
  }
});

// ../node_modules/.pnpm/npm-packlist@5.1.3/node_modules/npm-packlist/lib/index.js
var require_lib64 = __commonJS({
  "../node_modules/.pnpm/npm-packlist@5.1.3/node_modules/npm-packlist/lib/index.js"(exports2, module2) {
    "use strict";
    var bundleWalk = require_lib62();
    var BundleWalker = bundleWalk.BundleWalker;
    var ignoreWalk = require_lib63();
    var IgnoreWalker = ignoreWalk.Walker;
    var rootBuiltinRules = Symbol("root-builtin-rules");
    var packageNecessaryRules = Symbol("package-necessary-rules");
    var path2 = require("path");
    var normalizePackageBin = require_lib61();
    var packageMustHaveFileNames = "readme|copying|license|licence";
    var packageMustHaves = `@(${packageMustHaveFileNames}){,.*[^~$]}`;
    var packageMustHavesRE = new RegExp(`^(${packageMustHaveFileNames})(\\..*[^~$])?$`, "i");
    var fs = require("fs");
    var glob = require_glob();
    var globify = (pattern) => pattern.split("\\").join("/");
    var readOutOfTreeIgnoreFiles = (root, rel, result2 = "") => {
      for (const file of [".npmignore", ".gitignore"]) {
        try {
          const ignoreContent = fs.readFileSync(path2.join(root, file), { encoding: "utf8" });
          result2 += ignoreContent + "\n";
          break;
        } catch (err) {
          if (err.code !== "ENOENT") {
            throw err;
          }
        }
      }
      if (!rel) {
        return result2;
      }
      const firstRel = rel.split(path2.sep)[0];
      const newRoot = path2.join(root, firstRel);
      const newRel = path2.relative(newRoot, path2.join(root, rel));
      return readOutOfTreeIgnoreFiles(newRoot, newRel, result2);
    };
    var pathHasPkg = (input) => {
      if (!input.startsWith("node_modules/")) {
        return false;
      }
      const segments = input.slice("node_modules/".length).split("/", 2);
      return segments[0].startsWith("@") ? segments.length === 2 : true;
    };
    var pkgFromPath = (input) => {
      const segments = input.slice("node_modules/".length).split("/", 2);
      return segments[0].startsWith("@") ? segments.join("/") : segments[0];
    };
    var defaultRules = [
      ".npmignore",
      ".gitignore",
      "**/.git",
      "**/.svn",
      "**/.hg",
      "**/CVS",
      "**/.git/**",
      "**/.svn/**",
      "**/.hg/**",
      "**/CVS/**",
      "/.lock-wscript",
      "/.wafpickle-*",
      "/build/config.gypi",
      "npm-debug.log",
      "**/.npmrc",
      ".*.swp",
      ".DS_Store",
      "**/.DS_Store/**",
      "._*",
      "**/._*/**",
      "*.orig",
      "/package-lock.json",
      "/yarn.lock",
      "/pnpm-lock.yaml",
      "/archived-packages/**"
    ];
    var nameIsBadForWindows = (file) => /\*/.test(file);
    var Walker = class _Walker extends IgnoreWalker {
      constructor(opt) {
        opt = opt || {};
        opt.ignoreFiles = [
          rootBuiltinRules,
          "package.json",
          ".npmignore",
          ".gitignore",
          packageNecessaryRules
        ];
        opt.includeEmpty = false;
        opt.path = opt.path || process.cwd();
        const followRe = /^(?:\/node_modules\/(?:@[^/]+\/[^/]+|[^/]+)\/)*\/node_modules(?:\/@[^/]+)?$/;
        const rootPath = opt.parent ? opt.parent.root : opt.path;
        const followTestPath = opt.path.replace(/\\/g, "/").slice(rootPath.length);
        opt.follow = followRe.test(followTestPath);
        super(opt);
        if (this.isProject) {
          this.bundled = opt.bundled || [];
          this.bundledScopes = Array.from(new Set(
            this.bundled.filter((f) => /^@/.test(f)).map((f) => f.split("/")[0])
          ));
          this.packageJsonCache = this.parent ? this.parent.packageJsonCache : opt.packageJsonCache || /* @__PURE__ */ new Map();
          let rules = defaultRules.join("\n") + "\n";
          if (opt.prefix && opt.workspaces) {
            const gPath = globify(opt.path);
            const gPrefix = globify(opt.prefix);
            const gWorkspaces = opt.workspaces.map((ws) => globify(ws));
            if (gPath !== gPrefix && gWorkspaces.includes(gPath)) {
              const relpath = path2.relative(opt.prefix, path2.dirname(opt.path));
              rules += readOutOfTreeIgnoreFiles(opt.prefix, relpath);
            } else if (gPath === gPrefix) {
              rules += opt.workspaces.map((ws) => globify(path2.relative(opt.path, ws))).join("\n");
            }
          }
          super.onReadIgnoreFile(rootBuiltinRules, rules, (_) => _);
        } else {
          this.bundled = [];
          this.bundledScopes = [];
          this.packageJsonCache = this.parent.packageJsonCache;
        }
      }
      get isProject() {
        return !this.parent || this.parent.follow && this.isSymbolicLink;
      }
      onReaddir(entries) {
        if (this.isProject) {
          entries = entries.filter(
            (e) => e !== ".git" && !(e === "node_modules" && this.bundled.length === 0)
          );
        }
        if (!this.isProject || !entries.includes("package.json")) {
          return super.onReaddir(entries);
        }
        const ig = path2.resolve(this.path, "package.json");
        if (this.packageJsonCache.has(ig)) {
          const pkg = this.packageJsonCache.get(ig);
          if (!pkg || typeof pkg !== "object") {
            return this.readPackageJson(entries);
          }
          return this.getPackageFiles(entries, JSON.stringify(pkg));
        }
        this.readPackageJson(entries);
      }
      onReadPackageJson(entries, er, pkg) {
        if (er) {
          this.emit("error", er);
        } else {
          this.getPackageFiles(entries, pkg);
        }
      }
      mustHaveFilesFromPackage(pkg) {
        const files = [];
        if (pkg.browser) {
          files.push("/" + pkg.browser);
        }
        if (pkg.main) {
          files.push("/" + pkg.main);
        }
        if (pkg.bin) {
          for (const key in pkg.bin) {
            files.push("/" + pkg.bin[key]);
          }
        }
        files.push(
          "/package.json",
          "/npm-shrinkwrap.json",
          "!/package-lock.json",
          packageMustHaves
        );
        return files;
      }
      getPackageFiles(entries, pkg) {
        try {
          pkg = normalizePackageBin(JSON.parse(pkg.toString()));
        } catch (er) {
          return super.onReaddir(entries);
        }
        const ig = path2.resolve(this.path, "package.json");
        this.packageJsonCache.set(ig, pkg);
        if (!Array.isArray(pkg.files)) {
          return super.onReaddir(entries);
        }
        pkg.files.push(...this.mustHaveFilesFromPackage(pkg));
        if ((pkg.bundleDependencies || pkg.bundledDependencies) && entries.includes("node_modules")) {
          pkg.files.push("node_modules");
        }
        const patterns = Array.from(new Set(pkg.files)).reduce((set2, pattern) => {
          const excl = pattern.match(/^!+/);
          if (excl) {
            pattern = pattern.slice(excl[0].length);
          }
          pattern = pattern.replace(/^\.?\/+/, "");
          const negate = excl && excl[0].length % 2 === 1;
          set2.push({ pattern, negate });
          return set2;
        }, []);
        let n = patterns.length;
        const set = /* @__PURE__ */ new Set();
        const negates = /* @__PURE__ */ new Set();
        const results = [];
        const then = (pattern, negate, er, fileList, i) => {
          if (er) {
            return this.emit("error", er);
          }
          results[i] = { negate, fileList };
          if (--n === 0) {
            processResults(results);
          }
        };
        const processResults = (processed) => {
          for (const { negate, fileList } of processed) {
            if (negate) {
              fileList.forEach((f) => {
                f = f.replace(/\/+$/, "");
                set.delete(f);
                negates.add(f);
              });
            } else {
              fileList.forEach((f) => {
                f = f.replace(/\/+$/, "");
                set.add(f);
                negates.delete(f);
              });
            }
          }
          const list = Array.from(set);
          pkg.files = list.concat(Array.from(negates).map((f) => "!" + f));
          const rdResult = Array.from(new Set(
            list.map((f) => f.replace(/^\/+/, ""))
          ));
          super.onReaddir(rdResult);
        };
        patterns.forEach(({ pattern, negate }, i) => this.globFiles(pattern, (er, res) => then(pattern, negate, er, res, i)));
      }
      filterEntry(entry, partial) {
        const p = this.path.slice(this.root.length + 1);
        const { isProject } = this;
        const pkg = isProject && pathHasPkg(entry) ? pkgFromPath(entry) : null;
        const rootNM = isProject && entry === "node_modules";
        const rootPJ = isProject && entry === "package.json";
        return (
          // if we're in a bundled package, check with the parent.
          /^node_modules($|\/)/i.test(p) && !this.isProject ? this.parent.filterEntry(
            this.basename + "/" + entry,
            partial
          ) : pkg ? this.bundled.indexOf(pkg) !== -1 || this.bundledScopes.indexOf(pkg) !== -1 : rootNM ? !!this.bundled.length : rootPJ ? true : packageMustHavesRE.test(entry) ? true : isProject && (entry === "npm-shrinkwrap.json" || entry === "package.json") ? true : isProject && entry === "package-lock.json" ? false : super.filterEntry(entry, partial)
        );
      }
      filterEntries() {
        if (this.ignoreRules[".npmignore"]) {
          this.ignoreRules[".gitignore"] = null;
        }
        this.filterEntries = super.filterEntries;
        super.filterEntries();
      }
      addIgnoreFile(file, then) {
        const ig = path2.resolve(this.path, file);
        if (file === "package.json" && !this.isProject) {
          then();
        } else if (this.packageJsonCache.has(ig)) {
          this.onPackageJson(ig, this.packageJsonCache.get(ig), then);
        } else {
          super.addIgnoreFile(file, then);
        }
      }
      onPackageJson(ig, pkg, then) {
        this.packageJsonCache.set(ig, pkg);
        if (Array.isArray(pkg.files)) {
          super.onReadIgnoreFile("package.json", pkg.files.map(
            (f) => "!" + f
          ).join("\n") + "\n", then);
        } else {
          const rules = this.mustHaveFilesFromPackage(pkg).map((f) => `!${f}`);
          const data = rules.join("\n") + "\n";
          super.onReadIgnoreFile(packageNecessaryRules, data, then);
        }
      }
      // override parent stat function to completely skip any filenames
      // that will break windows entirely.
      // XXX(isaacs) Next major version should make this an error instead.
      stat({ entry, file, dir }, then) {
        if (nameIsBadForWindows(entry)) {
          then();
        } else {
          super.stat({ entry, file, dir }, then);
        }
      }
      // override parent onstat function to nix all symlinks, other than
      // those coming out of the followed bundled symlink deps
      onstat({ st, entry, file, dir, isSymbolicLink }, then) {
        if (st.isSymbolicLink()) {
          then();
        } else {
          super.onstat({ st, entry, file, dir, isSymbolicLink }, then);
        }
      }
      onReadIgnoreFile(file, data, then) {
        if (file === "package.json") {
          try {
            const ig = path2.resolve(this.path, file);
            this.onPackageJson(ig, JSON.parse(data), then);
          } catch (er) {
            then();
          }
        } else {
          super.onReadIgnoreFile(file, data, then);
        }
      }
      sort(a, b) {
        const exta = path2.extname(a).toLowerCase();
        const extb = path2.extname(b).toLowerCase();
        const basea = path2.basename(a).toLowerCase();
        const baseb = path2.basename(b).toLowerCase();
        return exta.localeCompare(extb, "en") || basea.localeCompare(baseb, "en") || a.localeCompare(b, "en");
      }
      globFiles(pattern, cb) {
        glob(globify(pattern), { dot: true, cwd: this.path, nocase: true }, cb);
      }
      readPackageJson(entries) {
        fs.readFile(this.path + "/package.json", (er, pkg) => this.onReadPackageJson(entries, er, pkg));
      }
      walker(entry, opt, then) {
        new _Walker(this.walkerOpt(entry, opt)).on("done", then).start();
      }
    };
    var walk = (options, callback) => {
      options = options || {};
      const p = new Promise((resolve, reject) => {
        const bw = new BundleWalker(options);
        bw.on("done", (bundled) => {
          options.bundled = bundled;
          options.packageJsonCache = bw.packageJsonCache;
          new Walker(options).on("done", resolve).on("error", reject).start();
        });
        bw.start();
      });
      return callback ? p.then((res) => callback(null, res), callback) : p;
    };
    module2.exports = walk;
    walk.Walker = Walker;
  }
});

// ../node_modules/.pnpm/@pnpm+fs.packlist@2.0.0/node_modules/@pnpm/fs.packlist/lib/index.js
var require_lib65 = __commonJS({
  "../node_modules/.pnpm/@pnpm+fs.packlist@2.0.0/node_modules/@pnpm/fs.packlist/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packlist = void 0;
    var npm_packlist_1 = __importDefault2(require_lib64());
    async function packlist(pkgDir, opts) {
      const packageJsonCacheMap = opts?.packageJsonCache ? new Map(Object.entries(opts.packageJsonCache)) : void 0;
      const files = await (0, npm_packlist_1.default)({ path: pkgDir, packageJsonCache: packageJsonCacheMap });
      return Array.from(new Set(files.map((file) => file.replace(/^\.[/\\]/, ""))));
    }
    exports2.packlist = packlist;
  }
});

// ../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/spawn.js
var require_spawn = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/spawn.js"(exports2, module2) {
    "use strict";
    module2.exports = spawn;
    var _spawn = require("child_process").spawn;
    var EventEmitter = require("events").EventEmitter;
    var progressEnabled;
    var running = 0;
    function startRunning(log) {
      if (progressEnabled == null) progressEnabled = log.progressEnabled;
      if (progressEnabled) log.disableProgress();
      ++running;
    }
    function stopRunning(log) {
      --running;
      if (progressEnabled && running === 0) log.enableProgress();
    }
    function willCmdOutput(stdio) {
      if (stdio === "inherit") return true;
      if (!Array.isArray(stdio)) return false;
      for (let fh = 1; fh <= 2; ++fh) {
        if (stdio[fh] === "inherit") return true;
        if (stdio[fh] === 1 || stdio[fh] === 2) return true;
      }
      return false;
    }
    function spawn(cmd, args, options, log) {
      const cmdWillOutput = willCmdOutput(options && options.stdio);
      if (cmdWillOutput) startRunning(log);
      const raw = _spawn(cmd, args, options);
      const cooked = new EventEmitter();
      raw.on("error", function(er) {
        if (cmdWillOutput) stopRunning(log);
        er.file = cmd;
        cooked.emit("error", er);
      }).on("close", function(code, signal) {
        if (cmdWillOutput) stopRunning(log);
        if (code === 127) {
          const er = new Error("spawn ENOENT");
          er.code = "ENOENT";
          er.errno = "ENOENT";
          er.syscall = "spawn";
          er.file = cmd;
          cooked.emit("error", er);
        } else {
          cooked.emit("close", code, signal);
        }
      });
      cooked.stdin = raw.stdin;
      cooked.stdout = raw.stdout;
      cooked.stderr = raw.stderr;
      cooked.kill = function(sig) {
        return raw.kill(sig);
      };
      return cooked;
    }
  }
});

// ../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
var tslib_es6_exports = {};
__export(tslib_es6_exports, {
  __addDisposableResource: () => __addDisposableResource,
  __assign: () => __assign,
  __asyncDelegator: () => __asyncDelegator,
  __asyncGenerator: () => __asyncGenerator,
  __asyncValues: () => __asyncValues,
  __await: () => __await,
  __awaiter: () => __awaiter,
  __classPrivateFieldGet: () => __classPrivateFieldGet,
  __classPrivateFieldIn: () => __classPrivateFieldIn,
  __classPrivateFieldSet: () => __classPrivateFieldSet,
  __createBinding: () => __createBinding,
  __decorate: () => __decorate,
  __disposeResources: () => __disposeResources,
  __esDecorate: () => __esDecorate,
  __exportStar: () => __exportStar,
  __extends: () => __extends,
  __generator: () => __generator,
  __importDefault: () => __importDefault,
  __importStar: () => __importStar,
  __makeTemplateObject: () => __makeTemplateObject,
  __metadata: () => __metadata,
  __param: () => __param,
  __propKey: () => __propKey,
  __read: () => __read,
  __rest: () => __rest,
  __rewriteRelativeImportExtension: () => __rewriteRelativeImportExtension,
  __runInitializers: () => __runInitializers,
  __setFunctionName: () => __setFunctionName,
  __spread: () => __spread,
  __spreadArray: () => __spreadArray,
  __spreadArrays: () => __spreadArrays,
  __values: () => __values,
  default: () => tslib_es6_default
});
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 __());
}
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;
}
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;
}
function __param(paramIndex, decorator) {
  return function(target, key) {
    decorator(target, key, paramIndex);
  };
}
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 result2 = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
    if (kind === "accessor") {
      if (result2 === void 0) continue;
      if (result2 === null || typeof result2 !== "object") throw new TypeError("Object expected");
      if (_ = accept(result2.get)) descriptor.get = _;
      if (_ = accept(result2.set)) descriptor.set = _;
      if (_ = accept(result2.init)) initializers.unshift(_);
    } else if (_ = accept(result2)) {
      if (kind === "field") initializers.unshift(_);
      else descriptor[key] = _;
    }
  }
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
  done = true;
}
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;
}
function __propKey(x) {
  return typeof x === "symbol" ? x : "".concat(x);
}
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 });
}
function __metadata(metadataKey, metadataValue) {
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}
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(result2) {
      result2.done ? resolve(result2.value) : adopt(result2.value).then(fulfilled, rejected);
    }
    step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
}
function __generator(thisArg, body) {
  var _ = { label: 0, sent: function() {
    if (t[0] & 1) throw t[1];
    return t[1];
  }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
  return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
    return this;
  }), g;
  function verb(n) {
    return function(v) {
      return step([n, v]);
    };
  }
  function step(op) {
    if (f) throw new TypeError("Generator is already executing.");
    while (g && (g = 0, op[0] && (_ = 0)), _) try {
      if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
      if (y = 0, t) op = [op[0] & 2, t.value];
      switch (op[0]) {
        case 0:
        case 1:
          t = op;
          break;
        case 4:
          _.label++;
          return { value: op[1], done: false };
        case 5:
          _.label++;
          y = op[1];
          op = [0];
          continue;
        case 7:
          op = _.ops.pop();
          _.trys.pop();
          continue;
        default:
          if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
            _ = 0;
            continue;
          }
          if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
            _.label = op[1];
            break;
          }
          if (op[0] === 6 && _.label < t[1]) {
            _.label = t[1];
            t = op;
            break;
          }
          if (t && _.label < t[2]) {
            _.label = t[2];
            _.ops.push(op);
            break;
          }
          if (t[2]) _.ops.pop();
          _.trys.pop();
          continue;
      }
      op = body.call(thisArg, _);
    } catch (e) {
      op = [6, e];
      y = 0;
    } finally {
      f = t = 0;
    }
    if (op[0] & 5) throw op[1];
    return { value: op[0] ? op[1] : void 0, done: true };
  }
}
function __exportStar(m, o) {
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}
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.");
}
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 };
  } finally {
    try {
      if (r && !r.done && (m = i["return"])) m.call(i);
    } finally {
      if (e) throw e.error;
    }
  }
  return ar;
}
function __spread() {
  for (var ar = [], i = 0; i < arguments.length; i++)
    ar = ar.concat(__read(arguments[i]));
  return ar;
}
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;
}
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));
}
function __await(v) {
  return this instanceof __await ? (this.v = v, this) : new __await(v);
}
function __asyncGenerator(thisArg, _arguments, generator) {
  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
  return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function() {
    return this;
  }, i;
  function awaitReturn(f) {
    return function(v) {
      return Promise.resolve(v).then(f, reject);
    };
  }
  function verb(n, f) {
    if (g[n]) {
      i[n] = function(v) {
        return new Promise(function(a, b) {
          q.push([n, v, a, b]) > 1 || resume(n, v);
        });
      };
      if (f) i[n] = f(i[n]);
    }
  }
  function resume(n, v) {
    try {
      step(g[n](v));
    } catch (e) {
      settle(q[0][3], e);
    }
  }
  function step(r) {
    r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);
  }
  function fulfill(value) {
    resume("next", value);
  }
  function reject(value) {
    resume("throw", value);
  }
  function settle(f, v) {
    if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]);
  }
}
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;
  }
}
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(v2) {
      resolve({ value: v2, done: d });
    }, reject);
  }
}
function __makeTemplateObject(cooked, raw) {
  if (Object.defineProperty) {
    Object.defineProperty(cooked, "raw", { value: raw });
  } else {
    cooked.raw = raw;
  }
  return cooked;
}
function __importStar(mod) {
  if (mod && mod.__esModule) return mod;
  var result2 = {};
  if (mod != null) {
    for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result2, mod, k[i]);
  }
  __setModuleDefault(result2, mod);
  return result2;
}
function __importDefault(mod) {
  return mod && mod.__esModule ? mod : { default: mod };
}
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);
}
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;
}
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);
}
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, dispose, async });
  } else if (async) {
    env.stack.push({ async: true });
  }
  return value;
}
function __disposeResources(env) {
  function fail(e) {
    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
    env.hasError = true;
  }
  var r, s = 0;
  function next() {
    while (r = env.stack.pop()) {
      try {
        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
        if (r.dispose) {
          var result2 = r.dispose.call(r.value);
          if (r.async) return s |= 2, Promise.resolve(result2).then(next, function(e) {
            fail(e);
            return next();
          });
        } else s |= 1;
      } catch (e) {
        fail(e);
      }
    }
    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
    if (env.hasError) throw env.error;
  }
  return next();
}
function __rewriteRelativeImportExtension(path2, preserveJsx) {
  if (typeof path2 === "string" && /^\.\.?\//.test(path2)) {
    return path2.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function(m, tsx, d, ext, cm) {
      return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : d + ext + "." + cm.toLowerCase() + "js";
    });
  }
  return path2;
}
var extendStatics, __assign, __createBinding, __setModuleDefault, ownKeys, _SuppressedError, tslib_es6_default;
var init_tslib_es6 = __esm({
  "../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs"() {
    extendStatics = function(d, b) {
      extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
        d2.__proto__ = b2;
      } || function(d2, b2) {
        for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
      };
      return extendStatics(d, b);
    };
    __assign = function() {
      __assign = Object.assign || function __assign2(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);
    };
    __createBinding = Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    };
    __setModuleDefault = Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    };
    ownKeys = function(o) {
      ownKeys = Object.getOwnPropertyNames || function(o2) {
        var ar = [];
        for (var k in o2) if (Object.prototype.hasOwnProperty.call(o2, k)) ar[ar.length] = k;
        return ar;
      };
      return ownKeys(o);
    };
    _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;
    };
    tslib_es6_default = {
      __extends,
      __assign,
      __rest,
      __decorate,
      __param,
      __esDecorate,
      __runInitializers,
      __propKey,
      __setFunctionName,
      __metadata,
      __awaiter,
      __generator,
      __createBinding,
      __exportStar,
      __values,
      __read,
      __spread,
      __spreadArrays,
      __spreadArray,
      __await,
      __asyncGenerator,
      __asyncDelegator,
      __asyncValues,
      __makeTemplateObject,
      __importStar,
      __importDefault,
      __classPrivateFieldGet,
      __classPrivateFieldSet,
      __classPrivateFieldIn,
      __addDisposableResource,
      __disposeResources,
      __rewriteRelativeImportExtension
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/constants.js
var require_constants10 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SAFE_TIME = exports2.S_IFLNK = exports2.S_IFREG = exports2.S_IFDIR = exports2.S_IFMT = void 0;
    exports2.S_IFMT = 61440;
    exports2.S_IFDIR = 16384;
    exports2.S_IFREG = 32768;
    exports2.S_IFLNK = 40960;
    exports2.SAFE_TIME = 456789e3;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/errors.js
var require_errors2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/errors.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.EBUSY = EBUSY;
    exports2.ENOSYS = ENOSYS;
    exports2.EINVAL = EINVAL;
    exports2.EBADF = EBADF;
    exports2.ENOENT = ENOENT;
    exports2.ENOTDIR = ENOTDIR;
    exports2.EISDIR = EISDIR;
    exports2.EEXIST = EEXIST;
    exports2.EROFS = EROFS;
    exports2.ENOTEMPTY = ENOTEMPTY;
    exports2.EOPNOTSUPP = EOPNOTSUPP;
    exports2.ERR_DIR_CLOSED = ERR_DIR_CLOSED;
    function makeError(code, message) {
      return Object.assign(new Error(`${code}: ${message}`), { code });
    }
    function EBUSY(message) {
      return makeError(`EBUSY`, message);
    }
    function ENOSYS(message, reason) {
      return makeError(`ENOSYS`, `${message}, ${reason}`);
    }
    function EINVAL(reason) {
      return makeError(`EINVAL`, `invalid argument, ${reason}`);
    }
    function EBADF(reason) {
      return makeError(`EBADF`, `bad file descriptor, ${reason}`);
    }
    function ENOENT(reason) {
      return makeError(`ENOENT`, `no such file or directory, ${reason}`);
    }
    function ENOTDIR(reason) {
      return makeError(`ENOTDIR`, `not a directory, ${reason}`);
    }
    function EISDIR(reason) {
      return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`);
    }
    function EEXIST(reason) {
      return makeError(`EEXIST`, `file already exists, ${reason}`);
    }
    function EROFS(reason) {
      return makeError(`EROFS`, `read-only filesystem, ${reason}`);
    }
    function ENOTEMPTY(reason) {
      return makeError(`ENOTEMPTY`, `directory not empty, ${reason}`);
    }
    function EOPNOTSUPP(reason) {
      return makeError(`EOPNOTSUPP`, `operation not supported, ${reason}`);
    }
    function ERR_DIR_CLOSED() {
      return makeError(`ERR_DIR_CLOSED`, `Directory handle was closed`);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/statUtils.js
var require_statUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/statUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BigIntStatsEntry = exports2.StatEntry = exports2.DirEntry = exports2.DEFAULT_MODE = void 0;
    exports2.makeDefaultStats = makeDefaultStats;
    exports2.makeEmptyStats = makeEmptyStats;
    exports2.clearStats = clearStats;
    exports2.convertToBigIntStats = convertToBigIntStats;
    exports2.areStatsEqual = areStatsEqual;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var nodeUtils = tslib_12.__importStar(require("util"));
    var constants_1 = require_constants10();
    exports2.DEFAULT_MODE = constants_1.S_IFREG | 420;
    var DirEntry = class {
      constructor() {
        this.name = ``;
        this.path = ``;
        this.mode = 0;
      }
      isBlockDevice() {
        return false;
      }
      isCharacterDevice() {
        return false;
      }
      isDirectory() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR;
      }
      isFIFO() {
        return false;
      }
      isFile() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG;
      }
      isSocket() {
        return false;
      }
      isSymbolicLink() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK;
      }
    };
    exports2.DirEntry = DirEntry;
    var StatEntry = class {
      constructor() {
        this.uid = 0;
        this.gid = 0;
        this.size = 0;
        this.blksize = 0;
        this.atimeMs = 0;
        this.mtimeMs = 0;
        this.ctimeMs = 0;
        this.birthtimeMs = 0;
        this.atime = /* @__PURE__ */ new Date(0);
        this.mtime = /* @__PURE__ */ new Date(0);
        this.ctime = /* @__PURE__ */ new Date(0);
        this.birthtime = /* @__PURE__ */ new Date(0);
        this.dev = 0;
        this.ino = 0;
        this.mode = exports2.DEFAULT_MODE;
        this.nlink = 1;
        this.rdev = 0;
        this.blocks = 1;
      }
      isBlockDevice() {
        return false;
      }
      isCharacterDevice() {
        return false;
      }
      isDirectory() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFDIR;
      }
      isFIFO() {
        return false;
      }
      isFile() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFREG;
      }
      isSocket() {
        return false;
      }
      isSymbolicLink() {
        return (this.mode & constants_1.S_IFMT) === constants_1.S_IFLNK;
      }
    };
    exports2.StatEntry = StatEntry;
    var BigIntStatsEntry = class {
      constructor() {
        this.uid = BigInt(0);
        this.gid = BigInt(0);
        this.size = BigInt(0);
        this.blksize = BigInt(0);
        this.atimeMs = BigInt(0);
        this.mtimeMs = BigInt(0);
        this.ctimeMs = BigInt(0);
        this.birthtimeMs = BigInt(0);
        this.atimeNs = BigInt(0);
        this.mtimeNs = BigInt(0);
        this.ctimeNs = BigInt(0);
        this.birthtimeNs = BigInt(0);
        this.atime = /* @__PURE__ */ new Date(0);
        this.mtime = /* @__PURE__ */ new Date(0);
        this.ctime = /* @__PURE__ */ new Date(0);
        this.birthtime = /* @__PURE__ */ new Date(0);
        this.dev = BigInt(0);
        this.ino = BigInt(0);
        this.mode = BigInt(exports2.DEFAULT_MODE);
        this.nlink = BigInt(1);
        this.rdev = BigInt(0);
        this.blocks = BigInt(1);
      }
      isBlockDevice() {
        return false;
      }
      isCharacterDevice() {
        return false;
      }
      isDirectory() {
        return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFDIR);
      }
      isFIFO() {
        return false;
      }
      isFile() {
        return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFREG);
      }
      isSocket() {
        return false;
      }
      isSymbolicLink() {
        return (this.mode & BigInt(constants_1.S_IFMT)) === BigInt(constants_1.S_IFLNK);
      }
    };
    exports2.BigIntStatsEntry = BigIntStatsEntry;
    function makeDefaultStats() {
      return new StatEntry();
    }
    function makeEmptyStats() {
      return clearStats(makeDefaultStats());
    }
    function clearStats(stats) {
      for (const key in stats) {
        if (Object.hasOwn(stats, key)) {
          const element = stats[key];
          if (typeof element === `number`) {
            stats[key] = 0;
          } else if (typeof element === `bigint`) {
            stats[key] = BigInt(0);
          } else if (nodeUtils.types.isDate(element)) {
            stats[key] = /* @__PURE__ */ new Date(0);
          }
        }
      }
      return stats;
    }
    function convertToBigIntStats(stats) {
      const bigintStats = new BigIntStatsEntry();
      for (const key in stats) {
        if (Object.hasOwn(stats, key)) {
          const element = stats[key];
          if (typeof element === `number`) {
            bigintStats[key] = BigInt(element);
          } else if (nodeUtils.types.isDate(element)) {
            bigintStats[key] = new Date(element);
          }
        }
      }
      bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6);
      bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6);
      bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6);
      bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6);
      return bigintStats;
    }
    function areStatsEqual(a, b) {
      if (a.atimeMs !== b.atimeMs)
        return false;
      if (a.birthtimeMs !== b.birthtimeMs)
        return false;
      if (a.blksize !== b.blksize)
        return false;
      if (a.blocks !== b.blocks)
        return false;
      if (a.ctimeMs !== b.ctimeMs)
        return false;
      if (a.dev !== b.dev)
        return false;
      if (a.gid !== b.gid)
        return false;
      if (a.ino !== b.ino)
        return false;
      if (a.isBlockDevice() !== b.isBlockDevice())
        return false;
      if (a.isCharacterDevice() !== b.isCharacterDevice())
        return false;
      if (a.isDirectory() !== b.isDirectory())
        return false;
      if (a.isFIFO() !== b.isFIFO())
        return false;
      if (a.isFile() !== b.isFile())
        return false;
      if (a.isSocket() !== b.isSocket())
        return false;
      if (a.isSymbolicLink() !== b.isSymbolicLink())
        return false;
      if (a.mode !== b.mode)
        return false;
      if (a.mtimeMs !== b.mtimeMs)
        return false;
      if (a.nlink !== b.nlink)
        return false;
      if (a.rdev !== b.rdev)
        return false;
      if (a.size !== b.size)
        return false;
      if (a.uid !== b.uid)
        return false;
      const aN = a;
      const bN = b;
      if (aN.atimeNs !== bN.atimeNs)
        return false;
      if (aN.mtimeNs !== bN.mtimeNs)
        return false;
      if (aN.ctimeNs !== bN.ctimeNs)
        return false;
      if (aN.birthtimeNs !== bN.birthtimeNs)
        return false;
      return true;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/path.js
var require_path3 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/path.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = void 0;
    exports2.convertPath = convertPath;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var path_1 = tslib_12.__importDefault(require("path"));
    var PathType;
    (function(PathType2) {
      PathType2[PathType2["File"] = 0] = "File";
      PathType2[PathType2["Portable"] = 1] = "Portable";
      PathType2[PathType2["Native"] = 2] = "Native";
    })(PathType || (PathType = {}));
    exports2.PortablePath = {
      root: `/`,
      dot: `.`,
      parent: `..`
    };
    exports2.Filename = {
      home: `~`,
      nodeModules: `node_modules`,
      manifest: `package.json`,
      lockfile: `yarn.lock`,
      virtual: `__virtual__`,
      /**
       * @deprecated
       */
      pnpJs: `.pnp.js`,
      pnpCjs: `.pnp.cjs`,
      pnpData: `.pnp.data.json`,
      pnpEsmLoader: `.pnp.loader.mjs`,
      rc: `.yarnrc.yml`,
      env: `.env`
    };
    exports2.npath = Object.create(path_1.default);
    exports2.ppath = Object.create(path_1.default.posix);
    exports2.npath.cwd = () => process.cwd();
    exports2.ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd;
    if (process.platform === `win32`) {
      exports2.ppath.resolve = (...segments) => {
        if (segments.length > 0 && exports2.ppath.isAbsolute(segments[0])) {
          return path_1.default.posix.resolve(...segments);
        } else {
          return path_1.default.posix.resolve(exports2.ppath.cwd(), ...segments);
        }
      };
    }
    var contains = function(pathUtils, from, to) {
      from = pathUtils.normalize(from);
      to = pathUtils.normalize(to);
      if (from === to)
        return `.`;
      if (!from.endsWith(pathUtils.sep))
        from = from + pathUtils.sep;
      if (to.startsWith(from)) {
        return to.slice(from.length);
      } else {
        return null;
      }
    };
    exports2.npath.contains = (from, to) => contains(exports2.npath, from, to);
    exports2.ppath.contains = (from, to) => contains(exports2.ppath, from, to);
    var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
    var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
    var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
    var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
    function fromPortablePathWin32(p) {
      let portablePathMatch, uncPortablePathMatch;
      if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
        p = portablePathMatch[1];
      else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP))
        p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
      else
        return p;
      return p.replace(/\//g, `\\`);
    }
    function toPortablePathWin32(p) {
      p = p.replace(/\\/g, `/`);
      let windowsPathMatch, uncWindowsPathMatch;
      if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
        p = `/${windowsPathMatch[1]}`;
      else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP))
        p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
      return p;
    }
    var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p;
    var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p;
    exports2.npath.fromPortablePath = fromPortablePath;
    exports2.npath.toPortablePath = toPortablePath;
    function convertPath(targetPathUtils, sourcePath) {
      return targetPathUtils === exports2.npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js
var require_copyPromise = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/copyPromise.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.setupCopyIndex = setupCopyIndex;
    exports2.copyPromise = copyPromise;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var constants = tslib_12.__importStar(require_constants10());
    var path_1 = require_path3();
    var defaultTime = new Date(constants.SAFE_TIME * 1e3);
    var defaultTimeMs = defaultTime.getTime();
    async function setupCopyIndex(destinationFs, linkStrategy) {
      const hexCharacters = `0123456789abcdef`;
      await destinationFs.mkdirPromise(linkStrategy.indexPath, { recursive: true });
      const promises = [];
      for (const l1 of hexCharacters)
        for (const l2 of hexCharacters)
          promises.push(destinationFs.mkdirPromise(destinationFs.pathUtils.join(linkStrategy.indexPath, `${l1}${l2}`), { recursive: true }));
      await Promise.all(promises);
      return linkStrategy.indexPath;
    }
    async function copyPromise(destinationFs, destination, sourceFs, source, opts) {
      const normalizedDestination = destinationFs.pathUtils.normalize(destination);
      const normalizedSource = sourceFs.pathUtils.normalize(source);
      const prelayout = [];
      const postlayout = [];
      const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource);
      await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
      await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true });
      for (const operation of prelayout)
        await operation();
      await Promise.all(postlayout.map((operation) => {
        return operation();
      }));
    }
    async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) {
      const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null;
      const sourceStat = await sourceFs.lstatPromise(source);
      const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat;
      let updated;
      switch (true) {
        case sourceStat.isDirectory():
          {
            updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        case sourceStat.isFile():
          {
            updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        case sourceStat.isSymbolicLink():
          {
            updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        default: {
          throw new Error(`Unsupported file type (${sourceStat.mode})`);
        }
      }
      if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
        if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
          postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime));
          updated = true;
        }
        if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) {
          postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511));
          updated = true;
        }
      }
      return updated;
    }
    async function maybeLStat(baseFs, p) {
      try {
        return await baseFs.lstatPromise(p);
      } catch {
        return null;
      }
    }
    async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null && !destinationStat.isDirectory()) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      let updated = false;
      if (destinationStat === null) {
        prelayout.push(async () => {
          try {
            await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
          } catch (err) {
            if (err.code !== `EEXIST`) {
              throw err;
            }
          }
        });
        updated = true;
      }
      const entries = await sourceFs.readdirPromise(source);
      const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts;
      if (opts.stableSort) {
        for (const entry of entries.sort()) {
          if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
            updated = true;
          }
        }
      } else {
        const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
          await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
        }));
        if (entriesUpdateStatus.some((status) => status)) {
          updated = true;
        }
      }
      return updated;
    }
    async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) {
      const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
      const defaultMode = 420;
      const sourceMode = sourceStat.mode & 511;
      const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
      const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
      let AtomicBehavior;
      (function(AtomicBehavior2) {
        AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
        AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename";
      })(AtomicBehavior || (AtomicBehavior = {}));
      let atomicBehavior = AtomicBehavior.Rename;
      let indexStat = await maybeLStat(destinationFs, indexPath);
      if (destinationStat) {
        const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino;
        const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs;
        if (isDestinationHardlinkedFromIndex) {
          if (isIndexModified && linkStrategy.autoRepair) {
            atomicBehavior = AtomicBehavior.Lock;
            indexStat = null;
          }
        }
        if (!isDestinationHardlinkedFromIndex) {
          if (opts.overwrite) {
            prelayout.push(async () => destinationFs.removePromise(destination));
            destinationStat = null;
          } else {
            return false;
          }
        }
      }
      const tempPath = !indexStat && atomicBehavior === AtomicBehavior.Rename ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null;
      let tempPathCleaned = false;
      prelayout.push(async () => {
        if (!indexStat) {
          if (atomicBehavior === AtomicBehavior.Lock) {
            await destinationFs.lockPromise(indexPath, async () => {
              const content = await sourceFs.readFilePromise(source);
              await destinationFs.writeFilePromise(indexPath, content);
            });
          }
          if (atomicBehavior === AtomicBehavior.Rename && tempPath) {
            const content = await sourceFs.readFilePromise(source);
            await destinationFs.writeFilePromise(tempPath, content);
            try {
              await destinationFs.linkPromise(tempPath, indexPath);
            } catch (err) {
              if (err.code === `EEXIST`) {
                tempPathCleaned = true;
                await destinationFs.unlinkPromise(tempPath);
              } else {
                throw err;
              }
            }
          }
        }
        if (!destinationStat) {
          await destinationFs.linkPromise(indexPath, destination);
        }
      });
      postlayout.push(async () => {
        if (!indexStat) {
          await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
          if (sourceMode !== defaultMode) {
            await destinationFs.chmodPromise(indexPath, sourceMode);
          }
        }
        if (tempPath && !tempPathCleaned) {
          await destinationFs.unlinkPromise(tempPath);
        }
      });
      return false;
    }
    async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      prelayout.push(async () => {
        const content = await sourceFs.readFilePromise(source);
        await destinationFs.writeFilePromise(destination, content);
      });
      return true;
    }
    async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (opts.linkStrategy?.type === `HardlinkFromIndex`) {
        return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy);
      } else {
        return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
      }
    }
    async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      prelayout.push(async () => {
        await destinationFs.symlinkPromise((0, path_1.convertPath)(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
      });
      return true;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js
var require_opendir = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/opendir.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CustomDir = void 0;
    exports2.opendir = opendir;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var errors = tslib_12.__importStar(require_errors2());
    var CustomDir = class {
      constructor(path2, nextDirent, opts = {}) {
        this.path = path2;
        this.nextDirent = nextDirent;
        this.opts = opts;
        this.closed = false;
      }
      throwIfClosed() {
        if (this.closed) {
          throw errors.ERR_DIR_CLOSED();
        }
      }
      async *[Symbol.asyncIterator]() {
        try {
          let dirent;
          while ((dirent = await this.read()) !== null) {
            yield dirent;
          }
        } finally {
          await this.close();
        }
      }
      read(cb) {
        const dirent = this.readSync();
        if (typeof cb !== `undefined`)
          return cb(null, dirent);
        return Promise.resolve(dirent);
      }
      readSync() {
        this.throwIfClosed();
        return this.nextDirent();
      }
      close(cb) {
        this.closeSync();
        if (typeof cb !== `undefined`)
          return cb(null);
        return Promise.resolve();
      }
      closeSync() {
        this.throwIfClosed();
        this.opts.onClose?.();
        this.closed = true;
      }
    };
    exports2.CustomDir = CustomDir;
    function opendir(fakeFs, path2, entries, opts) {
      const nextDirent = () => {
        const filename = entries.shift();
        if (typeof filename === `undefined`)
          return null;
        const entryPath = fakeFs.pathUtils.join(path2, filename);
        return Object.assign(fakeFs.statSync(entryPath), {
          name: filename,
          path: void 0
        });
      };
      return new CustomDir(path2, nextDirent, opts);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js
var require_CustomStatWatcher = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile/CustomStatWatcher.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CustomStatWatcher = exports2.Status = exports2.Event = void 0;
    exports2.assertStatus = assertStatus;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var events_1 = require("events");
    var statUtils = tslib_12.__importStar(require_statUtils());
    var Event;
    (function(Event2) {
      Event2["Change"] = "change";
      Event2["Stop"] = "stop";
    })(Event || (exports2.Event = Event = {}));
    var Status;
    (function(Status2) {
      Status2["Ready"] = "ready";
      Status2["Running"] = "running";
      Status2["Stopped"] = "stopped";
    })(Status || (exports2.Status = Status = {}));
    function assertStatus(current, expected) {
      if (current !== expected) {
        throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`);
      }
    }
    var CustomStatWatcher = class _CustomStatWatcher extends events_1.EventEmitter {
      static create(fakeFs, path2, opts) {
        const statWatcher = new _CustomStatWatcher(fakeFs, path2, opts);
        statWatcher.start();
        return statWatcher;
      }
      constructor(fakeFs, path2, { bigint = false } = {}) {
        super();
        this.status = Status.Ready;
        this.changeListeners = /* @__PURE__ */ new Map();
        this.startTimeout = null;
        this.fakeFs = fakeFs;
        this.path = path2;
        this.bigint = bigint;
        this.lastStats = this.stat();
      }
      start() {
        assertStatus(this.status, Status.Ready);
        this.status = Status.Running;
        this.startTimeout = setTimeout(() => {
          this.startTimeout = null;
          if (!this.fakeFs.existsSync(this.path)) {
            this.emit(Event.Change, this.lastStats, this.lastStats);
          }
        }, 3);
      }
      stop() {
        assertStatus(this.status, Status.Running);
        this.status = Status.Stopped;
        if (this.startTimeout !== null) {
          clearTimeout(this.startTimeout);
          this.startTimeout = null;
        }
        this.emit(Event.Stop);
      }
      stat() {
        try {
          return this.fakeFs.statSync(this.path, { bigint: this.bigint });
        } catch {
          const statInstance = this.bigint ? new statUtils.BigIntStatsEntry() : new statUtils.StatEntry();
          return statUtils.clearStats(statInstance);
        }
      }
      /**
       * Creates an interval whose callback compares the current stats with the previous stats and notifies all listeners in case of changes.
       *
       * @param opts.persistent Decides whether the interval should be immediately unref-ed.
       */
      makeInterval(opts) {
        const interval = setInterval(() => {
          const currentStats = this.stat();
          const previousStats = this.lastStats;
          if (statUtils.areStatsEqual(currentStats, previousStats))
            return;
          this.lastStats = currentStats;
          this.emit(Event.Change, currentStats, previousStats);
        }, opts.interval);
        return opts.persistent ? interval : interval.unref();
      }
      /**
       * Registers a listener and assigns it an interval.
       */
      registerChangeListener(listener, opts) {
        this.addListener(Event.Change, listener);
        this.changeListeners.set(listener, this.makeInterval(opts));
      }
      /**
       * Unregisters the listener and clears the assigned interval.
       */
      unregisterChangeListener(listener) {
        this.removeListener(Event.Change, listener);
        const interval = this.changeListeners.get(listener);
        if (typeof interval !== `undefined`)
          clearInterval(interval);
        this.changeListeners.delete(listener);
      }
      /**
       * Unregisters all listeners and clears all assigned intervals.
       */
      unregisterAllChangeListeners() {
        for (const listener of this.changeListeners.keys()) {
          this.unregisterChangeListener(listener);
        }
      }
      hasChangeListeners() {
        return this.changeListeners.size > 0;
      }
      /**
       * Refs all stored intervals.
       */
      ref() {
        for (const interval of this.changeListeners.values())
          interval.ref();
        return this;
      }
      /**
       * Unrefs all stored intervals.
       */
      unref() {
        for (const interval of this.changeListeners.values())
          interval.unref();
        return this;
      }
    };
    exports2.CustomStatWatcher = CustomStatWatcher;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js
var require_watchFile = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/algorithms/watchFile.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.watchFile = watchFile;
    exports2.unwatchFile = unwatchFile;
    exports2.unwatchAllFiles = unwatchAllFiles;
    var CustomStatWatcher_1 = require_CustomStatWatcher();
    var statWatchersByFakeFS = /* @__PURE__ */ new WeakMap();
    function watchFile(fakeFs, path2, a, b) {
      let bigint;
      let persistent;
      let interval;
      let listener;
      switch (typeof a) {
        case `function`:
          {
            bigint = false;
            persistent = true;
            interval = 5007;
            listener = a;
          }
          break;
        default:
          {
            ({
              bigint = false,
              persistent = true,
              interval = 5007
            } = a);
            listener = b;
          }
          break;
      }
      let statWatchers = statWatchersByFakeFS.get(fakeFs);
      if (typeof statWatchers === `undefined`)
        statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map());
      let statWatcher = statWatchers.get(path2);
      if (typeof statWatcher === `undefined`) {
        statWatcher = CustomStatWatcher_1.CustomStatWatcher.create(fakeFs, path2, { bigint });
        statWatchers.set(path2, statWatcher);
      }
      statWatcher.registerChangeListener(listener, { persistent, interval });
      return statWatcher;
    }
    function unwatchFile(fakeFs, path2, cb) {
      const statWatchers = statWatchersByFakeFS.get(fakeFs);
      if (typeof statWatchers === `undefined`)
        return;
      const statWatcher = statWatchers.get(path2);
      if (typeof statWatcher === `undefined`)
        return;
      if (typeof cb === `undefined`)
        statWatcher.unregisterAllChangeListeners();
      else
        statWatcher.unregisterChangeListener(cb);
      if (!statWatcher.hasChangeListeners()) {
        statWatcher.stop();
        statWatchers.delete(path2);
      }
    }
    function unwatchAllFiles(fakeFs) {
      const statWatchers = statWatchersByFakeFS.get(fakeFs);
      if (typeof statWatchers === `undefined`)
        return;
      for (const path2 of statWatchers.keys()) {
        unwatchFile(fakeFs, path2);
      }
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/FakeFS.js
var require_FakeFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/FakeFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BasePortableFakeFS = exports2.FakeFS = void 0;
    exports2.normalizeLineEndings = normalizeLineEndings;
    var crypto_1 = require("crypto");
    var os_1 = require("os");
    var copyPromise_1 = require_copyPromise();
    var path_1 = require_path3();
    var FakeFS = class {
      constructor(pathUtils) {
        this.pathUtils = pathUtils;
      }
      async *genTraversePromise(init, { stableSort = false } = {}) {
        const stack = [init];
        while (stack.length > 0) {
          const p = stack.shift();
          const entry = await this.lstatPromise(p);
          if (entry.isDirectory()) {
            const entries = await this.readdirPromise(p);
            if (stableSort) {
              for (const entry2 of entries.sort()) {
                stack.push(this.pathUtils.join(p, entry2));
              }
            } else {
              throw new Error(`Not supported`);
            }
          } else {
            yield p;
          }
        }
      }
      async checksumFilePromise(path2, { algorithm = `sha512` } = {}) {
        const fd = await this.openPromise(path2, `r`);
        try {
          const CHUNK_SIZE = 65536;
          const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
          const hash = (0, crypto_1.createHash)(algorithm);
          let bytesRead = 0;
          while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0)
            hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
          return hash.digest(`hex`);
        } finally {
          await this.closePromise(fd);
        }
      }
      async removePromise(p, { recursive = true, maxRetries = 5 } = {}) {
        let stat;
        try {
          stat = await this.lstatPromise(p);
        } catch (error) {
          if (error.code === `ENOENT`) {
            return;
          } else {
            throw error;
          }
        }
        if (stat.isDirectory()) {
          if (recursive) {
            const entries = await this.readdirPromise(p);
            await Promise.all(entries.map((entry) => {
              return this.removePromise(this.pathUtils.resolve(p, entry));
            }));
          }
          for (let t = 0; t <= maxRetries; t++) {
            try {
              await this.rmdirPromise(p);
              break;
            } catch (error) {
              if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) {
                throw error;
              } else if (t < maxRetries) {
                await new Promise((resolve) => setTimeout(resolve, t * 100));
              }
            }
          }
        } else {
          await this.unlinkPromise(p);
        }
      }
      removeSync(p, { recursive = true } = {}) {
        let stat;
        try {
          stat = this.lstatSync(p);
        } catch (error) {
          if (error.code === `ENOENT`) {
            return;
          } else {
            throw error;
          }
        }
        if (stat.isDirectory()) {
          if (recursive)
            for (const entry of this.readdirSync(p))
              this.removeSync(this.pathUtils.resolve(p, entry));
          this.rmdirSync(p);
        } else {
          this.unlinkSync(p);
        }
      }
      async mkdirpPromise(p, { chmod, utimes } = {}) {
        p = this.resolve(p);
        if (p === this.pathUtils.dirname(p))
          return void 0;
        const parts = p.split(this.pathUtils.sep);
        let createdDirectory;
        for (let u = 2; u <= parts.length; ++u) {
          const subPath = parts.slice(0, u).join(this.pathUtils.sep);
          if (!this.existsSync(subPath)) {
            try {
              await this.mkdirPromise(subPath);
            } catch (error) {
              if (error.code === `EEXIST`) {
                continue;
              } else {
                throw error;
              }
            }
            createdDirectory ??= subPath;
            if (chmod != null)
              await this.chmodPromise(subPath, chmod);
            if (utimes != null) {
              await this.utimesPromise(subPath, utimes[0], utimes[1]);
            } else {
              const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
              await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
            }
          }
        }
        return createdDirectory;
      }
      mkdirpSync(p, { chmod, utimes } = {}) {
        p = this.resolve(p);
        if (p === this.pathUtils.dirname(p))
          return void 0;
        const parts = p.split(this.pathUtils.sep);
        let createdDirectory;
        for (let u = 2; u <= parts.length; ++u) {
          const subPath = parts.slice(0, u).join(this.pathUtils.sep);
          if (!this.existsSync(subPath)) {
            try {
              this.mkdirSync(subPath);
            } catch (error) {
              if (error.code === `EEXIST`) {
                continue;
              } else {
                throw error;
              }
            }
            createdDirectory ??= subPath;
            if (chmod != null)
              this.chmodSync(subPath, chmod);
            if (utimes != null) {
              this.utimesSync(subPath, utimes[0], utimes[1]);
            } else {
              const parentStat = this.statSync(this.pathUtils.dirname(subPath));
              this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
            }
          }
        }
        return createdDirectory;
      }
      async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) {
        return await (0, copyPromise_1.copyPromise)(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy });
      }
      copySync(destination, source, { baseFs = this, overwrite = true } = {}) {
        const stat = baseFs.lstatSync(source);
        const exists = this.existsSync(destination);
        if (stat.isDirectory()) {
          this.mkdirpSync(destination);
          const directoryListing = baseFs.readdirSync(source);
          for (const entry of directoryListing) {
            this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite });
          }
        } else if (stat.isFile()) {
          if (!exists || overwrite) {
            if (exists)
              this.removeSync(destination);
            const content = baseFs.readFileSync(source);
            this.writeFileSync(destination, content);
          }
        } else if (stat.isSymbolicLink()) {
          if (!exists || overwrite) {
            if (exists)
              this.removeSync(destination);
            const target = baseFs.readlinkSync(source);
            this.symlinkSync((0, path_1.convertPath)(this.pathUtils, target), destination);
          }
        } else {
          throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`);
        }
        const mode = stat.mode & 511;
        this.chmodSync(destination, mode);
      }
      async changeFilePromise(p, content, opts = {}) {
        if (Buffer.isBuffer(content)) {
          return this.changeFileBufferPromise(p, content, opts);
        } else {
          return this.changeFileTextPromise(p, content, opts);
        }
      }
      async changeFileBufferPromise(p, content, { mode } = {}) {
        let current = Buffer.alloc(0);
        try {
          current = await this.readFilePromise(p);
        } catch {
        }
        if (Buffer.compare(current, content) === 0)
          return;
        await this.writeFilePromise(p, content, { mode });
      }
      async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) {
        let current = ``;
        try {
          current = await this.readFilePromise(p, `utf8`);
        } catch {
        }
        const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
        if (current === normalizedContent)
          return;
        await this.writeFilePromise(p, normalizedContent, { mode });
      }
      changeFileSync(p, content, opts = {}) {
        if (Buffer.isBuffer(content)) {
          return this.changeFileBufferSync(p, content, opts);
        } else {
          return this.changeFileTextSync(p, content, opts);
        }
      }
      changeFileBufferSync(p, content, { mode } = {}) {
        let current = Buffer.alloc(0);
        try {
          current = this.readFileSync(p);
        } catch {
        }
        if (Buffer.compare(current, content) === 0)
          return;
        this.writeFileSync(p, content, { mode });
      }
      changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) {
        let current = ``;
        try {
          current = this.readFileSync(p, `utf8`);
        } catch {
        }
        const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
        if (current === normalizedContent)
          return;
        this.writeFileSync(p, normalizedContent, { mode });
      }
      async movePromise(fromP, toP) {
        try {
          await this.renamePromise(fromP, toP);
        } catch (error) {
          if (error.code === `EXDEV`) {
            await this.copyPromise(toP, fromP);
            await this.removePromise(fromP);
          } else {
            throw error;
          }
        }
      }
      moveSync(fromP, toP) {
        try {
          this.renameSync(fromP, toP);
        } catch (error) {
          if (error.code === `EXDEV`) {
            this.copySync(toP, fromP);
            this.removeSync(fromP);
          } else {
            throw error;
          }
        }
      }
      async lockPromise(affectedPath, callback) {
        const lockPath = `${affectedPath}.flock`;
        const interval = 1e3 / 60;
        const startTime = Date.now();
        let fd = null;
        const isAlive = async () => {
          let pid;
          try {
            [pid] = await this.readJsonPromise(lockPath);
          } catch {
            return Date.now() - startTime < 500;
          }
          try {
            process.kill(pid, 0);
            return true;
          } catch {
            return false;
          }
        };
        while (fd === null) {
          try {
            fd = await this.openPromise(lockPath, `wx`);
          } catch (error) {
            if (error.code === `EEXIST`) {
              if (!await isAlive()) {
                try {
                  await this.unlinkPromise(lockPath);
                  continue;
                } catch {
                }
              }
              if (Date.now() - startTime < 60 * 1e3) {
                await new Promise((resolve) => setTimeout(resolve, interval));
              } else {
                throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
              }
            } else {
              throw error;
            }
          }
        }
        await this.writePromise(fd, JSON.stringify([process.pid]));
        try {
          return await callback();
        } finally {
          try {
            await this.closePromise(fd);
            await this.unlinkPromise(lockPath);
          } catch {
          }
        }
      }
      async readJsonPromise(p) {
        const content = await this.readFilePromise(p, `utf8`);
        try {
          return JSON.parse(content);
        } catch (error) {
          error.message += ` (in ${p})`;
          throw error;
        }
      }
      readJsonSync(p) {
        const content = this.readFileSync(p, `utf8`);
        try {
          return JSON.parse(content);
        } catch (error) {
          error.message += ` (in ${p})`;
          throw error;
        }
      }
      async writeJsonPromise(p, data, { compact = false } = {}) {
        const space = compact ? 0 : 2;
        return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)}
`);
      }
      writeJsonSync(p, data, { compact = false } = {}) {
        const space = compact ? 0 : 2;
        return this.writeFileSync(p, `${JSON.stringify(data, null, space)}
`);
      }
      async preserveTimePromise(p, cb) {
        const stat = await this.lstatPromise(p);
        const result2 = await cb();
        if (typeof result2 !== `undefined`)
          p = result2;
        await this.lutimesPromise(p, stat.atime, stat.mtime);
      }
      async preserveTimeSync(p, cb) {
        const stat = this.lstatSync(p);
        const result2 = cb();
        if (typeof result2 !== `undefined`)
          p = result2;
        this.lutimesSync(p, stat.atime, stat.mtime);
      }
    };
    exports2.FakeFS = FakeFS;
    var BasePortableFakeFS = class extends FakeFS {
      constructor() {
        super(path_1.ppath);
      }
    };
    exports2.BasePortableFakeFS = BasePortableFakeFS;
    function getEndOfLine(content) {
      const matches = content.match(/\r?\n/g);
      if (matches === null)
        return os_1.EOL;
      const crlf = matches.filter((nl) => nl === `\r
`).length;
      const lf = matches.length - crlf;
      return crlf > lf ? `\r
` : `
`;
    }
    function normalizeLineEndings(originalContent, newContent) {
      return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js
var require_ProxiedFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/ProxiedFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ProxiedFS = void 0;
    var FakeFS_1 = require_FakeFS();
    var ProxiedFS = class extends FakeFS_1.FakeFS {
      getExtractHint(hints) {
        return this.baseFs.getExtractHint(hints);
      }
      resolve(path2) {
        return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path2)));
      }
      getRealPath() {
        return this.mapFromBase(this.baseFs.getRealPath());
      }
      async openPromise(p, flags, mode) {
        return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
      }
      openSync(p, flags, mode) {
        return this.baseFs.openSync(this.mapToBase(p), flags, mode);
      }
      async opendirPromise(p, opts) {
        return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p });
      }
      opendirSync(p, opts) {
        return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p });
      }
      async readPromise(fd, buffer, offset, length, position) {
        return await this.baseFs.readPromise(fd, buffer, offset, length, position);
      }
      readSync(fd, buffer, offset, length, position) {
        return this.baseFs.readSync(fd, buffer, offset, length, position);
      }
      async writePromise(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return await this.baseFs.writePromise(fd, buffer, offset);
        } else {
          return await this.baseFs.writePromise(fd, buffer, offset, length, position);
        }
      }
      writeSync(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return this.baseFs.writeSync(fd, buffer, offset);
        } else {
          return this.baseFs.writeSync(fd, buffer, offset, length, position);
        }
      }
      async closePromise(fd) {
        return this.baseFs.closePromise(fd);
      }
      closeSync(fd) {
        this.baseFs.closeSync(fd);
      }
      createReadStream(p, opts) {
        return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts);
      }
      createWriteStream(p, opts) {
        return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts);
      }
      async realpathPromise(p) {
        return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
      }
      realpathSync(p) {
        return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
      }
      async existsPromise(p) {
        return this.baseFs.existsPromise(this.mapToBase(p));
      }
      existsSync(p) {
        return this.baseFs.existsSync(this.mapToBase(p));
      }
      accessSync(p, mode) {
        return this.baseFs.accessSync(this.mapToBase(p), mode);
      }
      async accessPromise(p, mode) {
        return this.baseFs.accessPromise(this.mapToBase(p), mode);
      }
      async statPromise(p, opts) {
        return this.baseFs.statPromise(this.mapToBase(p), opts);
      }
      statSync(p, opts) {
        return this.baseFs.statSync(this.mapToBase(p), opts);
      }
      async fstatPromise(fd, opts) {
        return this.baseFs.fstatPromise(fd, opts);
      }
      fstatSync(fd, opts) {
        return this.baseFs.fstatSync(fd, opts);
      }
      lstatPromise(p, opts) {
        return this.baseFs.lstatPromise(this.mapToBase(p), opts);
      }
      lstatSync(p, opts) {
        return this.baseFs.lstatSync(this.mapToBase(p), opts);
      }
      async fchmodPromise(fd, mask) {
        return this.baseFs.fchmodPromise(fd, mask);
      }
      fchmodSync(fd, mask) {
        return this.baseFs.fchmodSync(fd, mask);
      }
      async chmodPromise(p, mask) {
        return this.baseFs.chmodPromise(this.mapToBase(p), mask);
      }
      chmodSync(p, mask) {
        return this.baseFs.chmodSync(this.mapToBase(p), mask);
      }
      async fchownPromise(fd, uid, gid) {
        return this.baseFs.fchownPromise(fd, uid, gid);
      }
      fchownSync(fd, uid, gid) {
        return this.baseFs.fchownSync(fd, uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
      }
      chownSync(p, uid, gid) {
        return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
      }
      async renamePromise(oldP, newP) {
        return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
      }
      renameSync(oldP, newP) {
        return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
      }
      async copyFilePromise(sourceP, destP, flags = 0) {
        return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
      }
      copyFileSync(sourceP, destP, flags = 0) {
        return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
      }
      async appendFilePromise(p, content, opts) {
        return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts);
      }
      appendFileSync(p, content, opts) {
        return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts);
      }
      async writeFilePromise(p, content, opts) {
        return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts);
      }
      writeFileSync(p, content, opts) {
        return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts);
      }
      async unlinkPromise(p) {
        return this.baseFs.unlinkPromise(this.mapToBase(p));
      }
      unlinkSync(p) {
        return this.baseFs.unlinkSync(this.mapToBase(p));
      }
      async utimesPromise(p, atime, mtime) {
        return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
      }
      utimesSync(p, atime, mtime) {
        return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
      }
      async lutimesPromise(p, atime, mtime) {
        return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime);
      }
      lutimesSync(p, atime, mtime) {
        return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime);
      }
      async mkdirPromise(p, opts) {
        return this.baseFs.mkdirPromise(this.mapToBase(p), opts);
      }
      mkdirSync(p, opts) {
        return this.baseFs.mkdirSync(this.mapToBase(p), opts);
      }
      async rmdirPromise(p, opts) {
        return this.baseFs.rmdirPromise(this.mapToBase(p), opts);
      }
      rmdirSync(p, opts) {
        return this.baseFs.rmdirSync(this.mapToBase(p), opts);
      }
      async rmPromise(p, opts) {
        return this.baseFs.rmPromise(this.mapToBase(p), opts);
      }
      rmSync(p, opts) {
        return this.baseFs.rmSync(this.mapToBase(p), opts);
      }
      async linkPromise(existingP, newP) {
        return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
      }
      linkSync(existingP, newP) {
        return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
      }
      async symlinkPromise(target, p, type) {
        const mappedP = this.mapToBase(p);
        if (this.pathUtils.isAbsolute(target))
          return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type);
        const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
        const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
        return this.baseFs.symlinkPromise(mappedTarget, mappedP, type);
      }
      symlinkSync(target, p, type) {
        const mappedP = this.mapToBase(p);
        if (this.pathUtils.isAbsolute(target))
          return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type);
        const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
        const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
        return this.baseFs.symlinkSync(mappedTarget, mappedP, type);
      }
      async readFilePromise(p, encoding) {
        return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
      }
      readFileSync(p, encoding) {
        return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
      }
      readdirPromise(p, opts) {
        return this.baseFs.readdirPromise(this.mapToBase(p), opts);
      }
      readdirSync(p, opts) {
        return this.baseFs.readdirSync(this.mapToBase(p), opts);
      }
      async readlinkPromise(p) {
        return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
      }
      readlinkSync(p) {
        return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
      }
      async truncatePromise(p, len) {
        return this.baseFs.truncatePromise(this.mapToBase(p), len);
      }
      truncateSync(p, len) {
        return this.baseFs.truncateSync(this.mapToBase(p), len);
      }
      async ftruncatePromise(fd, len) {
        return this.baseFs.ftruncatePromise(fd, len);
      }
      ftruncateSync(fd, len) {
        return this.baseFs.ftruncateSync(fd, len);
      }
      watch(p, a, b) {
        return this.baseFs.watch(
          this.mapToBase(p),
          // @ts-expect-error
          a,
          b
        );
      }
      watchFile(p, a, b) {
        return this.baseFs.watchFile(
          this.mapToBase(p),
          // @ts-expect-error
          a,
          b
        );
      }
      unwatchFile(p, cb) {
        return this.baseFs.unwatchFile(this.mapToBase(p), cb);
      }
      fsMapToBase(p) {
        if (typeof p === `number`) {
          return p;
        } else {
          return this.mapToBase(p);
        }
      }
    };
    exports2.ProxiedFS = ProxiedFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/AliasFS.js
var require_AliasFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/AliasFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AliasFS = void 0;
    var ProxiedFS_1 = require_ProxiedFS();
    var AliasFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(target, { baseFs, pathUtils }) {
        super(pathUtils);
        this.target = target;
        this.baseFs = baseFs;
      }
      getRealPath() {
        return this.target;
      }
      getBaseFs() {
        return this.baseFs;
      }
      mapFromBase(p) {
        return p;
      }
      mapToBase(p) {
        return p;
      }
    };
    exports2.AliasFS = AliasFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodeFS.js
var require_NodeFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodeFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.NodeFS = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fs_1 = tslib_12.__importDefault(require("fs"));
    var FakeFS_1 = require_FakeFS();
    var path_1 = require_path3();
    function direntToPortable(dirent) {
      const portableDirent = dirent;
      if (typeof dirent.path === `string`)
        portableDirent.path = path_1.npath.toPortablePath(dirent.path);
      return portableDirent;
    }
    var NodeFS = class extends FakeFS_1.BasePortableFakeFS {
      constructor(realFs = fs_1.default) {
        super();
        this.realFs = realFs;
      }
      getExtractHint() {
        return false;
      }
      getRealPath() {
        return path_1.PortablePath.root;
      }
      resolve(p) {
        return path_1.ppath.resolve(p);
      }
      async openPromise(p, flags, mode) {
        return await new Promise((resolve, reject) => {
          this.realFs.open(path_1.npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject));
        });
      }
      openSync(p, flags, mode) {
        return this.realFs.openSync(path_1.npath.fromPortablePath(p), flags, mode);
      }
      async opendirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (typeof opts !== `undefined`) {
            this.realFs.opendir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.opendir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        }).then((dir) => {
          const dirWithFixedPath = dir;
          Object.defineProperty(dirWithFixedPath, `path`, {
            value: p,
            configurable: true,
            writable: true
          });
          return dirWithFixedPath;
        });
      }
      opendirSync(p, opts) {
        const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(path_1.npath.fromPortablePath(p), opts) : this.realFs.opendirSync(path_1.npath.fromPortablePath(p));
        const dirWithFixedPath = dir;
        Object.defineProperty(dirWithFixedPath, `path`, {
          value: p,
          configurable: true,
          writable: true
        });
        return dirWithFixedPath;
      }
      async readPromise(fd, buffer, offset = 0, length = 0, position = -1) {
        return await new Promise((resolve, reject) => {
          this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => {
            if (error) {
              reject(error);
            } else {
              resolve(bytesRead);
            }
          });
        });
      }
      readSync(fd, buffer, offset, length, position) {
        return this.realFs.readSync(fd, buffer, offset, length, position);
      }
      async writePromise(fd, buffer, offset, length, position) {
        return await new Promise((resolve, reject) => {
          if (typeof buffer === `string`) {
            return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject));
          } else {
            return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject));
          }
        });
      }
      writeSync(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return this.realFs.writeSync(fd, buffer, offset);
        } else {
          return this.realFs.writeSync(fd, buffer, offset, length, position);
        }
      }
      async closePromise(fd) {
        await new Promise((resolve, reject) => {
          this.realFs.close(fd, this.makeCallback(resolve, reject));
        });
      }
      closeSync(fd) {
        this.realFs.closeSync(fd);
      }
      createReadStream(p, opts) {
        const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;
        return this.realFs.createReadStream(realPath, opts);
      }
      createWriteStream(p, opts) {
        const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;
        return this.realFs.createWriteStream(realPath, opts);
      }
      async realpathPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.realpath(path_1.npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject));
        }).then((path2) => {
          return path_1.npath.toPortablePath(path2);
        });
      }
      realpathSync(p) {
        return path_1.npath.toPortablePath(this.realFs.realpathSync(path_1.npath.fromPortablePath(p), {}));
      }
      async existsPromise(p) {
        return await new Promise((resolve) => {
          this.realFs.exists(path_1.npath.fromPortablePath(p), resolve);
        });
      }
      accessSync(p, mode) {
        return this.realFs.accessSync(path_1.npath.fromPortablePath(p), mode);
      }
      async accessPromise(p, mode) {
        return await new Promise((resolve, reject) => {
          this.realFs.access(path_1.npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject));
        });
      }
      existsSync(p) {
        return this.realFs.existsSync(path_1.npath.fromPortablePath(p));
      }
      async statPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.stat(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.stat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      statSync(p, opts) {
        if (opts) {
          return this.realFs.statSync(path_1.npath.fromPortablePath(p), opts);
        } else {
          return this.realFs.statSync(path_1.npath.fromPortablePath(p));
        }
      }
      async fstatPromise(fd, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.fstat(fd, this.makeCallback(resolve, reject));
          }
        });
      }
      fstatSync(fd, opts) {
        if (opts) {
          return this.realFs.fstatSync(fd, opts);
        } else {
          return this.realFs.fstatSync(fd);
        }
      }
      async lstatPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.lstat(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.lstat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      lstatSync(p, opts) {
        if (opts) {
          return this.realFs.lstatSync(path_1.npath.fromPortablePath(p), opts);
        } else {
          return this.realFs.lstatSync(path_1.npath.fromPortablePath(p));
        }
      }
      async fchmodPromise(fd, mask) {
        return await new Promise((resolve, reject) => {
          this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject));
        });
      }
      fchmodSync(fd, mask) {
        return this.realFs.fchmodSync(fd, mask);
      }
      async chmodPromise(p, mask) {
        return await new Promise((resolve, reject) => {
          this.realFs.chmod(path_1.npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject));
        });
      }
      chmodSync(p, mask) {
        return this.realFs.chmodSync(path_1.npath.fromPortablePath(p), mask);
      }
      async fchownPromise(fd, uid, gid) {
        return await new Promise((resolve, reject) => {
          this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject));
        });
      }
      fchownSync(fd, uid, gid) {
        return this.realFs.fchownSync(fd, uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return await new Promise((resolve, reject) => {
          this.realFs.chown(path_1.npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject));
        });
      }
      chownSync(p, uid, gid) {
        return this.realFs.chownSync(path_1.npath.fromPortablePath(p), uid, gid);
      }
      async renamePromise(oldP, newP) {
        return await new Promise((resolve, reject) => {
          this.realFs.rename(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
        });
      }
      renameSync(oldP, newP) {
        return this.realFs.renameSync(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP));
      }
      async copyFilePromise(sourceP, destP, flags = 0) {
        return await new Promise((resolve, reject) => {
          this.realFs.copyFile(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject));
        });
      }
      copyFileSync(sourceP, destP, flags = 0) {
        return this.realFs.copyFileSync(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags);
      }
      async appendFilePromise(p, content, opts) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
          if (opts) {
            this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject));
          }
        });
      }
      appendFileSync(p, content, opts) {
        const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
        if (opts) {
          this.realFs.appendFileSync(fsNativePath, content, opts);
        } else {
          this.realFs.appendFileSync(fsNativePath, content);
        }
      }
      async writeFilePromise(p, content, opts) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
          if (opts) {
            this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject));
          }
        });
      }
      writeFileSync(p, content, opts) {
        const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
        if (opts) {
          this.realFs.writeFileSync(fsNativePath, content, opts);
        } else {
          this.realFs.writeFileSync(fsNativePath, content);
        }
      }
      async unlinkPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.unlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
        });
      }
      unlinkSync(p) {
        return this.realFs.unlinkSync(path_1.npath.fromPortablePath(p));
      }
      async utimesPromise(p, atime, mtime) {
        return await new Promise((resolve, reject) => {
          this.realFs.utimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
        });
      }
      utimesSync(p, atime, mtime) {
        this.realFs.utimesSync(path_1.npath.fromPortablePath(p), atime, mtime);
      }
      async lutimesPromise(p, atime, mtime) {
        return await new Promise((resolve, reject) => {
          this.realFs.lutimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
        });
      }
      lutimesSync(p, atime, mtime) {
        this.realFs.lutimesSync(path_1.npath.fromPortablePath(p), atime, mtime);
      }
      async mkdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          this.realFs.mkdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
        });
      }
      mkdirSync(p, opts) {
        return this.realFs.mkdirSync(path_1.npath.fromPortablePath(p), opts);
      }
      async rmdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.rmdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.rmdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      rmdirSync(p, opts) {
        return this.realFs.rmdirSync(path_1.npath.fromPortablePath(p), opts);
      }
      async rmPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.rm(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.rm(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      rmSync(p, opts) {
        return this.realFs.rmSync(path_1.npath.fromPortablePath(p), opts);
      }
      async linkPromise(existingP, newP) {
        return await new Promise((resolve, reject) => {
          this.realFs.link(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
        });
      }
      linkSync(existingP, newP) {
        return this.realFs.linkSync(path_1.npath.fromPortablePath(existingP), path_1.npath.fromPortablePath(newP));
      }
      async symlinkPromise(target, p, type) {
        return await new Promise((resolve, reject) => {
          this.realFs.symlink(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type, this.makeCallback(resolve, reject));
        });
      }
      symlinkSync(target, p, type) {
        return this.realFs.symlinkSync(path_1.npath.fromPortablePath(target.replace(/\/+$/, ``)), path_1.npath.fromPortablePath(p), type);
      }
      async readFilePromise(p, encoding) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
          this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject));
        });
      }
      readFileSync(p, encoding) {
        const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;
        return this.realFs.readFileSync(fsNativePath, encoding);
      }
      async readdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            if (opts.recursive && process.platform === `win32`) {
              if (opts.withFileTypes) {
                this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject));
              } else {
                this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(path_1.npath.toPortablePath)), reject));
              }
            } else {
              this.realFs.readdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
            }
          } else {
            this.realFs.readdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      readdirSync(p, opts) {
        if (opts) {
          if (opts.recursive && process.platform === `win32`) {
            if (opts.withFileTypes) {
              return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts).map(direntToPortable);
            } else {
              return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts).map(path_1.npath.toPortablePath);
            }
          } else {
            return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), opts);
          }
        } else {
          return this.realFs.readdirSync(path_1.npath.fromPortablePath(p));
        }
      }
      async readlinkPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.readlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));
        }).then((path2) => {
          return path_1.npath.toPortablePath(path2);
        });
      }
      readlinkSync(p) {
        return path_1.npath.toPortablePath(this.realFs.readlinkSync(path_1.npath.fromPortablePath(p)));
      }
      async truncatePromise(p, len) {
        return await new Promise((resolve, reject) => {
          this.realFs.truncate(path_1.npath.fromPortablePath(p), len, this.makeCallback(resolve, reject));
        });
      }
      truncateSync(p, len) {
        return this.realFs.truncateSync(path_1.npath.fromPortablePath(p), len);
      }
      async ftruncatePromise(fd, len) {
        return await new Promise((resolve, reject) => {
          this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject));
        });
      }
      ftruncateSync(fd, len) {
        return this.realFs.ftruncateSync(fd, len);
      }
      watch(p, a, b) {
        return this.realFs.watch(
          path_1.npath.fromPortablePath(p),
          // @ts-expect-error
          a,
          b
        );
      }
      watchFile(p, a, b) {
        return this.realFs.watchFile(
          path_1.npath.fromPortablePath(p),
          // @ts-expect-error
          a,
          b
        );
      }
      unwatchFile(p, cb) {
        return this.realFs.unwatchFile(path_1.npath.fromPortablePath(p), cb);
      }
      makeCallback(resolve, reject) {
        return (err, result2) => {
          if (err) {
            reject(err);
          } else {
            resolve(result2);
          }
        };
      }
    };
    exports2.NodeFS = NodeFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/CwdFS.js
var require_CwdFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/CwdFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CwdFS = void 0;
    var NodeFS_1 = require_NodeFS();
    var ProxiedFS_1 = require_ProxiedFS();
    var path_1 = require_path3();
    var CwdFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(target, { baseFs = new NodeFS_1.NodeFS() } = {}) {
        super(path_1.ppath);
        this.target = this.pathUtils.normalize(target);
        this.baseFs = baseFs;
      }
      getRealPath() {
        return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target);
      }
      resolve(p) {
        if (this.pathUtils.isAbsolute(p)) {
          return path_1.ppath.normalize(p);
        } else {
          return this.baseFs.resolve(path_1.ppath.join(this.target, p));
        }
      }
      mapFromBase(path2) {
        return path2;
      }
      mapToBase(path2) {
        if (this.pathUtils.isAbsolute(path2)) {
          return path2;
        } else {
          return this.pathUtils.join(this.target, path2);
        }
      }
    };
    exports2.CwdFS = CwdFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/JailFS.js
var require_JailFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/JailFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.JailFS = void 0;
    var NodeFS_1 = require_NodeFS();
    var ProxiedFS_1 = require_ProxiedFS();
    var path_1 = require_path3();
    var JAIL_ROOT = path_1.PortablePath.root;
    var JailFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(target, { baseFs = new NodeFS_1.NodeFS() } = {}) {
        super(path_1.ppath);
        this.target = this.pathUtils.resolve(path_1.PortablePath.root, target);
        this.baseFs = baseFs;
      }
      getRealPath() {
        return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(path_1.PortablePath.root, this.target));
      }
      getTarget() {
        return this.target;
      }
      getBaseFs() {
        return this.baseFs;
      }
      mapToBase(p) {
        const normalized = this.pathUtils.normalize(p);
        if (this.pathUtils.isAbsolute(p))
          return this.pathUtils.resolve(this.target, this.pathUtils.relative(JAIL_ROOT, p));
        if (normalized.match(/^\.\.\/?/))
          throw new Error(`Resolving this path (${p}) would escape the jail`);
        return this.pathUtils.resolve(this.target, p);
      }
      mapFromBase(p) {
        return this.pathUtils.resolve(JAIL_ROOT, this.pathUtils.relative(this.target, p));
      }
    };
    exports2.JailFS = JailFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/LazyFS.js
var require_LazyFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/LazyFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LazyFS = void 0;
    var ProxiedFS_1 = require_ProxiedFS();
    var LazyFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(factory, pathUtils) {
        super(pathUtils);
        this.instance = null;
        this.factory = factory;
      }
      get baseFs() {
        if (!this.instance)
          this.instance = this.factory();
        return this.instance;
      }
      set baseFs(value) {
        this.instance = value;
      }
      mapFromBase(p) {
        return p;
      }
      mapToBase(p) {
        return p;
      }
    };
    exports2.LazyFS = LazyFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/MountFS.js
var require_MountFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/MountFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.MountFS = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fs_1 = require("fs");
    var FakeFS_1 = require_FakeFS();
    var NodeFS_1 = require_NodeFS();
    var watchFile_1 = require_watchFile();
    var errors = tslib_12.__importStar(require_errors2());
    var path_1 = require_path3();
    var MOUNT_MASK = 4278190080;
    var MountFS = class extends FakeFS_1.BasePortableFakeFS {
      constructor({ baseFs = new NodeFS_1.NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs_1.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) {
        if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127))
          throw new Error(`The magic byte must be set to a round value between 1 and 127 included`);
        super();
        this.fdMap = /* @__PURE__ */ new Map();
        this.nextFd = 3;
        this.isMount = /* @__PURE__ */ new Set();
        this.notMount = /* @__PURE__ */ new Set();
        this.realPaths = /* @__PURE__ */ new Map();
        this.limitOpenFilesTimeout = null;
        this.baseFs = baseFs;
        this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null;
        this.factoryPromise = factoryPromise;
        this.factorySync = factorySync;
        this.filter = filter;
        this.getMountPoint = getMountPoint;
        this.magic = magicByte << 24;
        this.maxAge = maxAge;
        this.maxOpenFiles = maxOpenFiles;
        this.typeCheck = typeCheck;
      }
      getExtractHint(hints) {
        return this.baseFs.getExtractHint(hints);
      }
      getRealPath() {
        return this.baseFs.getRealPath();
      }
      saveAndClose() {
        (0, watchFile_1.unwatchAllFiles)(this);
        if (this.mountInstances) {
          for (const [path2, { childFs }] of this.mountInstances.entries()) {
            childFs.saveAndClose?.();
            this.mountInstances.delete(path2);
          }
        }
      }
      discardAndClose() {
        (0, watchFile_1.unwatchAllFiles)(this);
        if (this.mountInstances) {
          for (const [path2, { childFs }] of this.mountInstances.entries()) {
            childFs.discardAndClose?.();
            this.mountInstances.delete(path2);
          }
        }
      }
      resolve(p) {
        return this.baseFs.resolve(p);
      }
      remapFd(mountFs, fd) {
        const remappedFd = this.nextFd++ | this.magic;
        this.fdMap.set(remappedFd, [mountFs, fd]);
        return remappedFd;
      }
      async openPromise(p, flags, mode) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.openPromise(p, flags, mode);
        }, async (mountFs, { subPath }) => {
          return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode));
        });
      }
      openSync(p, flags, mode) {
        return this.makeCallSync(p, () => {
          return this.baseFs.openSync(p, flags, mode);
        }, (mountFs, { subPath }) => {
          return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode));
        });
      }
      async opendirPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.opendirPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.opendirPromise(subPath, opts);
        }, {
          requireSubpath: false
        });
      }
      opendirSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.opendirSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.opendirSync(subPath, opts);
        }, {
          requireSubpath: false
        });
      }
      async readPromise(fd, buffer, offset, length, position) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return await this.baseFs.readPromise(fd, buffer, offset, length, position);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`read`);
        const [mountFs, realFd] = entry;
        return await mountFs.readPromise(realFd, buffer, offset, length, position);
      }
      readSync(fd, buffer, offset, length, position) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.readSync(fd, buffer, offset, length, position);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`readSync`);
        const [mountFs, realFd] = entry;
        return mountFs.readSync(realFd, buffer, offset, length, position);
      }
      async writePromise(fd, buffer, offset, length, position) {
        if ((fd & MOUNT_MASK) !== this.magic) {
          if (typeof buffer === `string`) {
            return await this.baseFs.writePromise(fd, buffer, offset);
          } else {
            return await this.baseFs.writePromise(fd, buffer, offset, length, position);
          }
        }
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`write`);
        const [mountFs, realFd] = entry;
        if (typeof buffer === `string`) {
          return await mountFs.writePromise(realFd, buffer, offset);
        } else {
          return await mountFs.writePromise(realFd, buffer, offset, length, position);
        }
      }
      writeSync(fd, buffer, offset, length, position) {
        if ((fd & MOUNT_MASK) !== this.magic) {
          if (typeof buffer === `string`) {
            return this.baseFs.writeSync(fd, buffer, offset);
          } else {
            return this.baseFs.writeSync(fd, buffer, offset, length, position);
          }
        }
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`writeSync`);
        const [mountFs, realFd] = entry;
        if (typeof buffer === `string`) {
          return mountFs.writeSync(realFd, buffer, offset);
        } else {
          return mountFs.writeSync(realFd, buffer, offset, length, position);
        }
      }
      async closePromise(fd) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return await this.baseFs.closePromise(fd);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`close`);
        this.fdMap.delete(fd);
        const [mountFs, realFd] = entry;
        return await mountFs.closePromise(realFd);
      }
      closeSync(fd) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.closeSync(fd);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`closeSync`);
        this.fdMap.delete(fd);
        const [mountFs, realFd] = entry;
        return mountFs.closeSync(realFd);
      }
      createReadStream(p, opts) {
        if (p === null)
          return this.baseFs.createReadStream(p, opts);
        return this.makeCallSync(p, () => {
          return this.baseFs.createReadStream(p, opts);
        }, (mountFs, { archivePath, subPath }) => {
          const stream = mountFs.createReadStream(subPath, opts);
          stream.path = path_1.npath.fromPortablePath(this.pathUtils.join(archivePath, subPath));
          return stream;
        });
      }
      createWriteStream(p, opts) {
        if (p === null)
          return this.baseFs.createWriteStream(p, opts);
        return this.makeCallSync(p, () => {
          return this.baseFs.createWriteStream(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.createWriteStream(subPath, opts);
        });
      }
      async realpathPromise(p) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.realpathPromise(p);
        }, async (mountFs, { archivePath, subPath }) => {
          let realArchivePath = this.realPaths.get(archivePath);
          if (typeof realArchivePath === `undefined`) {
            realArchivePath = await this.baseFs.realpathPromise(archivePath);
            this.realPaths.set(archivePath, realArchivePath);
          }
          return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, await mountFs.realpathPromise(subPath)));
        });
      }
      realpathSync(p) {
        return this.makeCallSync(p, () => {
          return this.baseFs.realpathSync(p);
        }, (mountFs, { archivePath, subPath }) => {
          let realArchivePath = this.realPaths.get(archivePath);
          if (typeof realArchivePath === `undefined`) {
            realArchivePath = this.baseFs.realpathSync(archivePath);
            this.realPaths.set(archivePath, realArchivePath);
          }
          return this.pathUtils.join(realArchivePath, this.pathUtils.relative(path_1.PortablePath.root, mountFs.realpathSync(subPath)));
        });
      }
      async existsPromise(p) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.existsPromise(p);
        }, async (mountFs, { subPath }) => {
          return await mountFs.existsPromise(subPath);
        });
      }
      existsSync(p) {
        return this.makeCallSync(p, () => {
          return this.baseFs.existsSync(p);
        }, (mountFs, { subPath }) => {
          return mountFs.existsSync(subPath);
        });
      }
      async accessPromise(p, mode) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.accessPromise(p, mode);
        }, async (mountFs, { subPath }) => {
          return await mountFs.accessPromise(subPath, mode);
        });
      }
      accessSync(p, mode) {
        return this.makeCallSync(p, () => {
          return this.baseFs.accessSync(p, mode);
        }, (mountFs, { subPath }) => {
          return mountFs.accessSync(subPath, mode);
        });
      }
      async statPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.statPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.statPromise(subPath, opts);
        });
      }
      statSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.statSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.statSync(subPath, opts);
        });
      }
      async fstatPromise(fd, opts) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fstatPromise(fd, opts);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fstat`);
        const [mountFs, realFd] = entry;
        return mountFs.fstatPromise(realFd, opts);
      }
      fstatSync(fd, opts) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fstatSync(fd, opts);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fstatSync`);
        const [mountFs, realFd] = entry;
        return mountFs.fstatSync(realFd, opts);
      }
      async lstatPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.lstatPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.lstatPromise(subPath, opts);
        });
      }
      lstatSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.lstatSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.lstatSync(subPath, opts);
        });
      }
      async fchmodPromise(fd, mask) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fchmodPromise(fd, mask);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fchmod`);
        const [mountFs, realFd] = entry;
        return mountFs.fchmodPromise(realFd, mask);
      }
      fchmodSync(fd, mask) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fchmodSync(fd, mask);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fchmodSync`);
        const [mountFs, realFd] = entry;
        return mountFs.fchmodSync(realFd, mask);
      }
      async chmodPromise(p, mask) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.chmodPromise(p, mask);
        }, async (mountFs, { subPath }) => {
          return await mountFs.chmodPromise(subPath, mask);
        });
      }
      chmodSync(p, mask) {
        return this.makeCallSync(p, () => {
          return this.baseFs.chmodSync(p, mask);
        }, (mountFs, { subPath }) => {
          return mountFs.chmodSync(subPath, mask);
        });
      }
      async fchownPromise(fd, uid, gid) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fchownPromise(fd, uid, gid);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fchown`);
        const [zipFs, realFd] = entry;
        return zipFs.fchownPromise(realFd, uid, gid);
      }
      fchownSync(fd, uid, gid) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.fchownSync(fd, uid, gid);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`fchownSync`);
        const [zipFs, realFd] = entry;
        return zipFs.fchownSync(realFd, uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.chownPromise(p, uid, gid);
        }, async (mountFs, { subPath }) => {
          return await mountFs.chownPromise(subPath, uid, gid);
        });
      }
      chownSync(p, uid, gid) {
        return this.makeCallSync(p, () => {
          return this.baseFs.chownSync(p, uid, gid);
        }, (mountFs, { subPath }) => {
          return mountFs.chownSync(subPath, uid, gid);
        });
      }
      async renamePromise(oldP, newP) {
        return await this.makeCallPromise(oldP, async () => {
          return await this.makeCallPromise(newP, async () => {
            return await this.baseFs.renamePromise(oldP, newP);
          }, async () => {
            throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
          });
        }, async (mountFsO, { subPath: subPathO }) => {
          return await this.makeCallPromise(newP, async () => {
            throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
          }, async (mountFsN, { subPath: subPathN }) => {
            if (mountFsO !== mountFsN) {
              throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
            } else {
              return await mountFsO.renamePromise(subPathO, subPathN);
            }
          });
        });
      }
      renameSync(oldP, newP) {
        return this.makeCallSync(oldP, () => {
          return this.makeCallSync(newP, () => {
            return this.baseFs.renameSync(oldP, newP);
          }, () => {
            throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
          });
        }, (mountFsO, { subPath: subPathO }) => {
          return this.makeCallSync(newP, () => {
            throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
          }, (mountFsN, { subPath: subPathN }) => {
            if (mountFsO !== mountFsN) {
              throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` });
            } else {
              return mountFsO.renameSync(subPathO, subPathN);
            }
          });
        });
      }
      async copyFilePromise(sourceP, destP, flags = 0) {
        const fallback = async (sourceFs, sourceP2, destFs, destP2) => {
          if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0)
            throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
          if (flags & fs_1.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2))
            throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
          let content;
          try {
            content = await sourceFs.readFilePromise(sourceP2);
          } catch {
            throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
          }
          await destFs.writeFilePromise(destP2, content);
        };
        return await this.makeCallPromise(sourceP, async () => {
          return await this.makeCallPromise(destP, async () => {
            return await this.baseFs.copyFilePromise(sourceP, destP, flags);
          }, async (mountFsD, { subPath: subPathD }) => {
            return await fallback(this.baseFs, sourceP, mountFsD, subPathD);
          });
        }, async (mountFsS, { subPath: subPathS }) => {
          return await this.makeCallPromise(destP, async () => {
            return await fallback(mountFsS, subPathS, this.baseFs, destP);
          }, async (mountFsD, { subPath: subPathD }) => {
            if (mountFsS !== mountFsD) {
              return await fallback(mountFsS, subPathS, mountFsD, subPathD);
            } else {
              return await mountFsS.copyFilePromise(subPathS, subPathD, flags);
            }
          });
        });
      }
      copyFileSync(sourceP, destP, flags = 0) {
        const fallback = (sourceFs, sourceP2, destFs, destP2) => {
          if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0)
            throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` });
          if (flags & fs_1.constants.COPYFILE_EXCL && this.existsSync(sourceP2))
            throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` });
          let content;
          try {
            content = sourceFs.readFileSync(sourceP2);
          } catch {
            throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` });
          }
          destFs.writeFileSync(destP2, content);
        };
        return this.makeCallSync(sourceP, () => {
          return this.makeCallSync(destP, () => {
            return this.baseFs.copyFileSync(sourceP, destP, flags);
          }, (mountFsD, { subPath: subPathD }) => {
            return fallback(this.baseFs, sourceP, mountFsD, subPathD);
          });
        }, (mountFsS, { subPath: subPathS }) => {
          return this.makeCallSync(destP, () => {
            return fallback(mountFsS, subPathS, this.baseFs, destP);
          }, (mountFsD, { subPath: subPathD }) => {
            if (mountFsS !== mountFsD) {
              return fallback(mountFsS, subPathS, mountFsD, subPathD);
            } else {
              return mountFsS.copyFileSync(subPathS, subPathD, flags);
            }
          });
        });
      }
      async appendFilePromise(p, content, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.appendFilePromise(p, content, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.appendFilePromise(subPath, content, opts);
        });
      }
      appendFileSync(p, content, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.appendFileSync(p, content, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.appendFileSync(subPath, content, opts);
        });
      }
      async writeFilePromise(p, content, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.writeFilePromise(p, content, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.writeFilePromise(subPath, content, opts);
        });
      }
      writeFileSync(p, content, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.writeFileSync(p, content, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.writeFileSync(subPath, content, opts);
        });
      }
      async unlinkPromise(p) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.unlinkPromise(p);
        }, async (mountFs, { subPath }) => {
          return await mountFs.unlinkPromise(subPath);
        });
      }
      unlinkSync(p) {
        return this.makeCallSync(p, () => {
          return this.baseFs.unlinkSync(p);
        }, (mountFs, { subPath }) => {
          return mountFs.unlinkSync(subPath);
        });
      }
      async utimesPromise(p, atime, mtime) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.utimesPromise(p, atime, mtime);
        }, async (mountFs, { subPath }) => {
          return await mountFs.utimesPromise(subPath, atime, mtime);
        });
      }
      utimesSync(p, atime, mtime) {
        return this.makeCallSync(p, () => {
          return this.baseFs.utimesSync(p, atime, mtime);
        }, (mountFs, { subPath }) => {
          return mountFs.utimesSync(subPath, atime, mtime);
        });
      }
      async lutimesPromise(p, atime, mtime) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.lutimesPromise(p, atime, mtime);
        }, async (mountFs, { subPath }) => {
          return await mountFs.lutimesPromise(subPath, atime, mtime);
        });
      }
      lutimesSync(p, atime, mtime) {
        return this.makeCallSync(p, () => {
          return this.baseFs.lutimesSync(p, atime, mtime);
        }, (mountFs, { subPath }) => {
          return mountFs.lutimesSync(subPath, atime, mtime);
        });
      }
      async mkdirPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.mkdirPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.mkdirPromise(subPath, opts);
        });
      }
      mkdirSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.mkdirSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.mkdirSync(subPath, opts);
        });
      }
      async rmdirPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.rmdirPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.rmdirPromise(subPath, opts);
        });
      }
      rmdirSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.rmdirSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.rmdirSync(subPath, opts);
        });
      }
      async rmPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.rmPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.rmPromise(subPath, opts);
        });
      }
      rmSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.rmSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.rmSync(subPath, opts);
        });
      }
      async linkPromise(existingP, newP) {
        return await this.makeCallPromise(newP, async () => {
          return await this.baseFs.linkPromise(existingP, newP);
        }, async (mountFs, { subPath }) => {
          return await mountFs.linkPromise(existingP, subPath);
        });
      }
      linkSync(existingP, newP) {
        return this.makeCallSync(newP, () => {
          return this.baseFs.linkSync(existingP, newP);
        }, (mountFs, { subPath }) => {
          return mountFs.linkSync(existingP, subPath);
        });
      }
      async symlinkPromise(target, p, type) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.symlinkPromise(target, p, type);
        }, async (mountFs, { subPath }) => {
          return await mountFs.symlinkPromise(target, subPath);
        });
      }
      symlinkSync(target, p, type) {
        return this.makeCallSync(p, () => {
          return this.baseFs.symlinkSync(target, p, type);
        }, (mountFs, { subPath }) => {
          return mountFs.symlinkSync(target, subPath);
        });
      }
      async readFilePromise(p, encoding) {
        return this.makeCallPromise(p, async () => {
          return await this.baseFs.readFilePromise(p, encoding);
        }, async (mountFs, { subPath }) => {
          return await mountFs.readFilePromise(subPath, encoding);
        });
      }
      readFileSync(p, encoding) {
        return this.makeCallSync(p, () => {
          return this.baseFs.readFileSync(p, encoding);
        }, (mountFs, { subPath }) => {
          return mountFs.readFileSync(subPath, encoding);
        });
      }
      async readdirPromise(p, opts) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.readdirPromise(p, opts);
        }, async (mountFs, { subPath }) => {
          return await mountFs.readdirPromise(subPath, opts);
        }, {
          requireSubpath: false
        });
      }
      readdirSync(p, opts) {
        return this.makeCallSync(p, () => {
          return this.baseFs.readdirSync(p, opts);
        }, (mountFs, { subPath }) => {
          return mountFs.readdirSync(subPath, opts);
        }, {
          requireSubpath: false
        });
      }
      async readlinkPromise(p) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.readlinkPromise(p);
        }, async (mountFs, { subPath }) => {
          return await mountFs.readlinkPromise(subPath);
        });
      }
      readlinkSync(p) {
        return this.makeCallSync(p, () => {
          return this.baseFs.readlinkSync(p);
        }, (mountFs, { subPath }) => {
          return mountFs.readlinkSync(subPath);
        });
      }
      async truncatePromise(p, len) {
        return await this.makeCallPromise(p, async () => {
          return await this.baseFs.truncatePromise(p, len);
        }, async (mountFs, { subPath }) => {
          return await mountFs.truncatePromise(subPath, len);
        });
      }
      truncateSync(p, len) {
        return this.makeCallSync(p, () => {
          return this.baseFs.truncateSync(p, len);
        }, (mountFs, { subPath }) => {
          return mountFs.truncateSync(subPath, len);
        });
      }
      async ftruncatePromise(fd, len) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.ftruncatePromise(fd, len);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`ftruncate`);
        const [mountFs, realFd] = entry;
        return mountFs.ftruncatePromise(realFd, len);
      }
      ftruncateSync(fd, len) {
        if ((fd & MOUNT_MASK) !== this.magic)
          return this.baseFs.ftruncateSync(fd, len);
        const entry = this.fdMap.get(fd);
        if (typeof entry === `undefined`)
          throw errors.EBADF(`ftruncateSync`);
        const [mountFs, realFd] = entry;
        return mountFs.ftruncateSync(realFd, len);
      }
      watch(p, a, b) {
        return this.makeCallSync(p, () => {
          return this.baseFs.watch(
            p,
            // @ts-expect-error
            a,
            b
          );
        }, (mountFs, { subPath }) => {
          return mountFs.watch(
            subPath,
            // @ts-expect-error
            a,
            b
          );
        });
      }
      watchFile(p, a, b) {
        return this.makeCallSync(p, () => {
          return this.baseFs.watchFile(
            p,
            // @ts-expect-error
            a,
            b
          );
        }, () => {
          return (0, watchFile_1.watchFile)(this, p, a, b);
        });
      }
      unwatchFile(p, cb) {
        return this.makeCallSync(p, () => {
          return this.baseFs.unwatchFile(p, cb);
        }, () => {
          return (0, watchFile_1.unwatchFile)(this, p, cb);
        });
      }
      async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) {
        if (typeof p !== `string`)
          return await discard();
        const normalizedP = this.resolve(p);
        const mountInfo = this.findMount(normalizedP);
        if (!mountInfo)
          return await discard();
        if (requireSubpath && mountInfo.subPath === `/`)
          return await discard();
        return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo));
      }
      makeCallSync(p, discard, accept, { requireSubpath = true } = {}) {
        if (typeof p !== `string`)
          return discard();
        const normalizedP = this.resolve(p);
        const mountInfo = this.findMount(normalizedP);
        if (!mountInfo)
          return discard();
        if (requireSubpath && mountInfo.subPath === `/`)
          return discard();
        return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo));
      }
      findMount(p) {
        if (this.filter && !this.filter.test(p))
          return null;
        let filePath = ``;
        while (true) {
          const pathPartWithArchive = p.substring(filePath.length);
          const mountPoint = this.getMountPoint(pathPartWithArchive, filePath);
          if (!mountPoint)
            return null;
          filePath = this.pathUtils.join(filePath, mountPoint);
          if (!this.isMount.has(filePath)) {
            if (this.notMount.has(filePath))
              continue;
            try {
              if (this.typeCheck !== null && (this.baseFs.statSync(filePath).mode & fs_1.constants.S_IFMT) !== this.typeCheck) {
                this.notMount.add(filePath);
                continue;
              }
            } catch {
              return null;
            }
            this.isMount.add(filePath);
          }
          return {
            archivePath: filePath,
            subPath: this.pathUtils.join(path_1.PortablePath.root, p.substring(filePath.length))
          };
        }
      }
      limitOpenFiles(max) {
        if (this.mountInstances === null)
          return;
        const now = Date.now();
        let nextExpiresAt = now + this.maxAge;
        let closeCount = max === null ? 0 : this.mountInstances.size - max;
        for (const [path2, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) {
          if (refCount !== 0 || childFs.hasOpenFileHandles?.()) {
            continue;
          } else if (now >= expiresAt) {
            childFs.saveAndClose?.();
            this.mountInstances.delete(path2);
            closeCount -= 1;
            continue;
          } else if (max === null || closeCount <= 0) {
            nextExpiresAt = expiresAt;
            break;
          }
          childFs.saveAndClose?.();
          this.mountInstances.delete(path2);
          closeCount -= 1;
        }
        if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) {
          this.limitOpenFilesTimeout = setTimeout(() => {
            this.limitOpenFilesTimeout = null;
            this.limitOpenFiles(null);
          }, nextExpiresAt - now).unref();
        }
      }
      async getMountPromise(p, accept) {
        if (this.mountInstances) {
          let cachedMountFs = this.mountInstances.get(p);
          if (!cachedMountFs) {
            const createFsInstance = await this.factoryPromise(this.baseFs, p);
            cachedMountFs = this.mountInstances.get(p);
            if (!cachedMountFs) {
              cachedMountFs = {
                childFs: createFsInstance(),
                expiresAt: 0,
                refCount: 0
              };
            }
          }
          this.mountInstances.delete(p);
          this.limitOpenFiles(this.maxOpenFiles - 1);
          this.mountInstances.set(p, cachedMountFs);
          cachedMountFs.expiresAt = Date.now() + this.maxAge;
          cachedMountFs.refCount += 1;
          try {
            return await accept(cachedMountFs.childFs);
          } finally {
            cachedMountFs.refCount -= 1;
          }
        } else {
          const mountFs = (await this.factoryPromise(this.baseFs, p))();
          try {
            return await accept(mountFs);
          } finally {
            mountFs.saveAndClose?.();
          }
        }
      }
      getMountSync(p, accept) {
        if (this.mountInstances) {
          let cachedMountFs = this.mountInstances.get(p);
          if (!cachedMountFs) {
            cachedMountFs = {
              childFs: this.factorySync(this.baseFs, p),
              expiresAt: 0,
              refCount: 0
            };
          }
          this.mountInstances.delete(p);
          this.limitOpenFiles(this.maxOpenFiles - 1);
          this.mountInstances.set(p, cachedMountFs);
          cachedMountFs.expiresAt = Date.now() + this.maxAge;
          return accept(cachedMountFs.childFs);
        } else {
          const childFs = this.factorySync(this.baseFs, p);
          try {
            return accept(childFs);
          } finally {
            childFs.saveAndClose?.();
          }
        }
      }
    };
    exports2.MountFS = MountFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NoFS.js
var require_NoFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NoFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.NoFS = void 0;
    var FakeFS_1 = require_FakeFS();
    var path_1 = require_path3();
    var makeError = () => Object.assign(new Error(`ENOSYS: unsupported filesystem access`), { code: `ENOSYS` });
    var NoFS = class extends FakeFS_1.FakeFS {
      constructor() {
        super(path_1.ppath);
      }
      getExtractHint() {
        throw makeError();
      }
      getRealPath() {
        throw makeError();
      }
      resolve() {
        throw makeError();
      }
      async openPromise() {
        throw makeError();
      }
      openSync() {
        throw makeError();
      }
      async opendirPromise() {
        throw makeError();
      }
      opendirSync() {
        throw makeError();
      }
      async readPromise() {
        throw makeError();
      }
      readSync() {
        throw makeError();
      }
      async writePromise() {
        throw makeError();
      }
      writeSync() {
        throw makeError();
      }
      async closePromise() {
        throw makeError();
      }
      closeSync() {
        throw makeError();
      }
      createWriteStream() {
        throw makeError();
      }
      createReadStream() {
        throw makeError();
      }
      async realpathPromise() {
        throw makeError();
      }
      realpathSync() {
        throw makeError();
      }
      async readdirPromise() {
        throw makeError();
      }
      readdirSync() {
        throw makeError();
      }
      async existsPromise(p) {
        throw makeError();
      }
      existsSync(p) {
        throw makeError();
      }
      async accessPromise() {
        throw makeError();
      }
      accessSync() {
        throw makeError();
      }
      async statPromise() {
        throw makeError();
      }
      statSync() {
        throw makeError();
      }
      async fstatPromise(fd) {
        throw makeError();
      }
      fstatSync(fd) {
        throw makeError();
      }
      async lstatPromise(p) {
        throw makeError();
      }
      lstatSync(p) {
        throw makeError();
      }
      async fchmodPromise() {
        throw makeError();
      }
      fchmodSync() {
        throw makeError();
      }
      async chmodPromise() {
        throw makeError();
      }
      chmodSync() {
        throw makeError();
      }
      async fchownPromise() {
        throw makeError();
      }
      fchownSync() {
        throw makeError();
      }
      async chownPromise() {
        throw makeError();
      }
      chownSync() {
        throw makeError();
      }
      async mkdirPromise() {
        throw makeError();
      }
      mkdirSync() {
        throw makeError();
      }
      async rmdirPromise() {
        throw makeError();
      }
      rmdirSync() {
        throw makeError();
      }
      async rmPromise() {
        throw makeError();
      }
      rmSync() {
        throw makeError();
      }
      async linkPromise() {
        throw makeError();
      }
      linkSync() {
        throw makeError();
      }
      async symlinkPromise() {
        throw makeError();
      }
      symlinkSync() {
        throw makeError();
      }
      async renamePromise() {
        throw makeError();
      }
      renameSync() {
        throw makeError();
      }
      async copyFilePromise() {
        throw makeError();
      }
      copyFileSync() {
        throw makeError();
      }
      async appendFilePromise() {
        throw makeError();
      }
      appendFileSync() {
        throw makeError();
      }
      async writeFilePromise() {
        throw makeError();
      }
      writeFileSync() {
        throw makeError();
      }
      async unlinkPromise() {
        throw makeError();
      }
      unlinkSync() {
        throw makeError();
      }
      async utimesPromise() {
        throw makeError();
      }
      utimesSync() {
        throw makeError();
      }
      async lutimesPromise() {
        throw makeError();
      }
      lutimesSync() {
        throw makeError();
      }
      async readFilePromise() {
        throw makeError();
      }
      readFileSync() {
        throw makeError();
      }
      async readlinkPromise() {
        throw makeError();
      }
      readlinkSync() {
        throw makeError();
      }
      async truncatePromise() {
        throw makeError();
      }
      truncateSync() {
        throw makeError();
      }
      async ftruncatePromise(fd, len) {
        throw makeError();
      }
      ftruncateSync(fd, len) {
        throw makeError();
      }
      watch() {
        throw makeError();
      }
      watchFile() {
        throw makeError();
      }
      unwatchFile() {
        throw makeError();
      }
    };
    exports2.NoFS = NoFS;
    NoFS.instance = new NoFS();
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/PosixFS.js
var require_PosixFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/PosixFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PosixFS = void 0;
    var ProxiedFS_1 = require_ProxiedFS();
    var path_1 = require_path3();
    var PosixFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(baseFs) {
        super(path_1.npath);
        this.baseFs = baseFs;
      }
      mapFromBase(path2) {
        return path_1.npath.fromPortablePath(path2);
      }
      mapToBase(path2) {
        return path_1.npath.toPortablePath(path2);
      }
    };
    exports2.PosixFS = PosixFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/VirtualFS.js
var require_VirtualFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/VirtualFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.VirtualFS = void 0;
    var NodeFS_1 = require_NodeFS();
    var ProxiedFS_1 = require_ProxiedFS();
    var path_1 = require_path3();
    var NUMBER_REGEXP = /^[0-9]+$/;
    var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
    var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
    var VirtualFS = class _VirtualFS extends ProxiedFS_1.ProxiedFS {
      static makeVirtualPath(base, component, to) {
        if (path_1.ppath.basename(base) !== `__virtual__`)
          throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
        if (!path_1.ppath.basename(component).match(VALID_COMPONENT))
          throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`);
        const target = path_1.ppath.relative(path_1.ppath.dirname(base), to);
        const segments = target.split(`/`);
        let depth = 0;
        while (depth < segments.length && segments[depth] === `..`)
          depth += 1;
        const finalSegments = segments.slice(depth);
        const fullVirtualPath = path_1.ppath.join(base, component, String(depth), ...finalSegments);
        return fullVirtualPath;
      }
      static resolveVirtual(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match || !match[3] && match[5])
          return p;
        const target = path_1.ppath.dirname(match[1]);
        if (!match[3] || !match[4])
          return target;
        const isnum = NUMBER_REGEXP.test(match[4]);
        if (!isnum)
          return p;
        const depth = Number(match[4]);
        const backstep = `../`.repeat(depth);
        const subpath = match[5] || `.`;
        return _VirtualFS.resolveVirtual(path_1.ppath.join(target, backstep, subpath));
      }
      constructor({ baseFs = new NodeFS_1.NodeFS() } = {}) {
        super(path_1.ppath);
        this.baseFs = baseFs;
      }
      getExtractHint(hints) {
        return this.baseFs.getExtractHint(hints);
      }
      getRealPath() {
        return this.baseFs.getRealPath();
      }
      realpathSync(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match)
          return this.baseFs.realpathSync(p);
        if (!match[5])
          return p;
        const realpath = this.baseFs.realpathSync(this.mapToBase(p));
        return _VirtualFS.makeVirtualPath(match[1], match[3], realpath);
      }
      async realpathPromise(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match)
          return await this.baseFs.realpathPromise(p);
        if (!match[5])
          return p;
        const realpath = await this.baseFs.realpathPromise(this.mapToBase(p));
        return _VirtualFS.makeVirtualPath(match[1], match[3], realpath);
      }
      mapToBase(p) {
        if (p === ``)
          return p;
        if (this.pathUtils.isAbsolute(p))
          return _VirtualFS.resolveVirtual(p);
        const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(path_1.PortablePath.dot));
        const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p));
        return path_1.ppath.relative(resolvedRoot, resolvedP) || path_1.PortablePath.dot;
      }
      mapFromBase(p) {
        return p;
      }
    };
    exports2.VirtualFS = VirtualFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodePathFS.js
var require_NodePathFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/NodePathFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.NodePathFS = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var buffer_1 = tslib_12.__importDefault(require("buffer"));
    var url_1 = require("url");
    var util_1 = require("util");
    var ProxiedFS_1 = require_ProxiedFS();
    var path_1 = require_path3();
    var NodePathFS = class extends ProxiedFS_1.ProxiedFS {
      constructor(baseFs) {
        super(path_1.npath);
        this.baseFs = baseFs;
      }
      mapFromBase(path2) {
        return path2;
      }
      mapToBase(path2) {
        if (typeof path2 === `string`)
          return path2;
        if (path2 instanceof URL)
          return (0, url_1.fileURLToPath)(path2);
        if (Buffer.isBuffer(path2)) {
          const str = path2.toString();
          if (!isUtf8(path2, str))
            throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`);
          return str;
        }
        throw new Error(`Unsupported path type: ${(0, util_1.inspect)(path2)}`);
      }
    };
    exports2.NodePathFS = NodePathFS;
    function isUtf8(buf, str) {
      if (typeof buffer_1.default.isUtf8 !== `undefined`)
        return buffer_1.default.isUtf8(buf);
      return Buffer.byteLength(str) === buf.byteLength;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js
var require_FileHandle = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/FileHandle.js"(exports2) {
    "use strict";
    var _a;
    var _b;
    var _c;
    var _d;
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.FileHandle = void 0;
    var readline_1 = require("readline");
    var kBaseFs = Symbol(`kBaseFs`);
    var kFd = Symbol(`kFd`);
    var kClosePromise = Symbol(`kClosePromise`);
    var kCloseResolve = Symbol(`kCloseResolve`);
    var kCloseReject = Symbol(`kCloseReject`);
    var kRefs = Symbol(`kRefs`);
    var kRef = Symbol(`kRef`);
    var kUnref = Symbol(`kUnref`);
    var FileHandle = class {
      constructor(fd, baseFs) {
        this[_a] = 1;
        this[_b] = void 0;
        this[_c] = void 0;
        this[_d] = void 0;
        this[kBaseFs] = baseFs;
        this[kFd] = fd;
      }
      get fd() {
        return this[kFd];
      }
      async appendFile(data, options) {
        try {
          this[kRef](this.appendFile);
          const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
          return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0);
        } finally {
          this[kUnref]();
        }
      }
      async chown(uid, gid) {
        try {
          this[kRef](this.chown);
          return await this[kBaseFs].fchownPromise(this.fd, uid, gid);
        } finally {
          this[kUnref]();
        }
      }
      async chmod(mode) {
        try {
          this[kRef](this.chmod);
          return await this[kBaseFs].fchmodPromise(this.fd, mode);
        } finally {
          this[kUnref]();
        }
      }
      createReadStream(options) {
        return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd });
      }
      createWriteStream(options) {
        return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd });
      }
      // FIXME: Missing FakeFS version
      datasync() {
        throw new Error(`Method not implemented.`);
      }
      // FIXME: Missing FakeFS version
      sync() {
        throw new Error(`Method not implemented.`);
      }
      async read(bufferOrOptions, offset, length, position) {
        try {
          this[kRef](this.read);
          let buffer;
          if (!Buffer.isBuffer(bufferOrOptions)) {
            bufferOrOptions ??= {};
            buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384);
            offset = bufferOrOptions.offset || 0;
            length = bufferOrOptions.length ?? buffer.byteLength;
            position = bufferOrOptions.position ?? null;
          } else {
            buffer = bufferOrOptions;
          }
          offset ??= 0;
          length ??= 0;
          if (length === 0) {
            return {
              bytesRead: length,
              buffer
            };
          }
          const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position);
          return {
            bytesRead,
            buffer
          };
        } finally {
          this[kUnref]();
        }
      }
      async readFile(options) {
        try {
          this[kRef](this.readFile);
          const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
          return await this[kBaseFs].readFilePromise(this.fd, encoding);
        } finally {
          this[kUnref]();
        }
      }
      readLines(options) {
        return (0, readline_1.createInterface)({
          input: this.createReadStream(options),
          crlfDelay: Infinity
        });
      }
      async stat(opts) {
        try {
          this[kRef](this.stat);
          return await this[kBaseFs].fstatPromise(this.fd, opts);
        } finally {
          this[kUnref]();
        }
      }
      async truncate(len) {
        try {
          this[kRef](this.truncate);
          return await this[kBaseFs].ftruncatePromise(this.fd, len);
        } finally {
          this[kUnref]();
        }
      }
      // FIXME: Missing FakeFS version
      utimes(atime, mtime) {
        throw new Error(`Method not implemented.`);
      }
      async writeFile(data, options) {
        try {
          this[kRef](this.writeFile);
          const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0;
          await this[kBaseFs].writeFilePromise(this.fd, data, encoding);
        } finally {
          this[kUnref]();
        }
      }
      async write(...args) {
        try {
          this[kRef](this.write);
          if (ArrayBuffer.isView(args[0])) {
            const [buffer, offset, length, position] = args;
            const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0);
            return { bytesWritten, buffer };
          } else {
            const [data, position, encoding] = args;
            const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding);
            return { bytesWritten, buffer: data };
          }
        } finally {
          this[kUnref]();
        }
      }
      // TODO: Use writev from FakeFS when that is implemented
      async writev(buffers, position) {
        try {
          this[kRef](this.writev);
          let bytesWritten = 0;
          if (typeof position !== `undefined`) {
            for (const buffer of buffers) {
              const writeResult = await this.write(buffer, void 0, void 0, position);
              bytesWritten += writeResult.bytesWritten;
              position += writeResult.bytesWritten;
            }
          } else {
            for (const buffer of buffers) {
              const writeResult = await this.write(buffer);
              bytesWritten += writeResult.bytesWritten;
            }
          }
          return {
            buffers,
            bytesWritten
          };
        } finally {
          this[kUnref]();
        }
      }
      // FIXME: Missing FakeFS version
      readv(buffers, position) {
        throw new Error(`Method not implemented.`);
      }
      close() {
        if (this[kFd] === -1)
          return Promise.resolve();
        if (this[kClosePromise])
          return this[kClosePromise];
        this[kRefs]--;
        if (this[kRefs] === 0) {
          const fd = this[kFd];
          this[kFd] = -1;
          this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => {
            this[kClosePromise] = void 0;
          });
        } else {
          this[kClosePromise] = new Promise((resolve, reject) => {
            this[kCloseResolve] = resolve;
            this[kCloseReject] = reject;
          }).finally(() => {
            this[kClosePromise] = void 0;
            this[kCloseReject] = void 0;
            this[kCloseResolve] = void 0;
          });
        }
        return this[kClosePromise];
      }
      [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) {
        if (this[kFd] === -1) {
          const err = new Error(`file closed`);
          err.code = `EBADF`;
          err.syscall = caller.name;
          throw err;
        }
        this[kRefs]++;
      }
      [kUnref]() {
        this[kRefs]--;
        if (this[kRefs] === 0) {
          const fd = this[kFd];
          this[kFd] = -1;
          this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]);
        }
      }
    };
    exports2.FileHandle = FileHandle;
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js
var require_patchFs = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/patchFs/patchFs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.patchFs = patchFs;
    exports2.extendFs = extendFs;
    var util_1 = require("util");
    var NodePathFS_1 = require_NodePathFS();
    var FileHandle_1 = require_FileHandle();
    var SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([
      `accessSync`,
      `appendFileSync`,
      `createReadStream`,
      `createWriteStream`,
      `chmodSync`,
      `fchmodSync`,
      `chownSync`,
      `fchownSync`,
      `closeSync`,
      `copyFileSync`,
      `linkSync`,
      `lstatSync`,
      `fstatSync`,
      `lutimesSync`,
      `mkdirSync`,
      `openSync`,
      `opendirSync`,
      `readlinkSync`,
      `readFileSync`,
      `readdirSync`,
      `readlinkSync`,
      `realpathSync`,
      `renameSync`,
      `rmdirSync`,
      `rmSync`,
      `statSync`,
      `symlinkSync`,
      `truncateSync`,
      `ftruncateSync`,
      `unlinkSync`,
      `unwatchFile`,
      `utimesSync`,
      `watch`,
      `watchFile`,
      `writeFileSync`,
      `writeSync`
    ]);
    var ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([
      `accessPromise`,
      `appendFilePromise`,
      `fchmodPromise`,
      `chmodPromise`,
      `fchownPromise`,
      `chownPromise`,
      `closePromise`,
      `copyFilePromise`,
      `linkPromise`,
      `fstatPromise`,
      `lstatPromise`,
      `lutimesPromise`,
      `mkdirPromise`,
      `openPromise`,
      `opendirPromise`,
      `readdirPromise`,
      `realpathPromise`,
      `readFilePromise`,
      `readdirPromise`,
      `readlinkPromise`,
      `renamePromise`,
      `rmdirPromise`,
      `rmPromise`,
      `statPromise`,
      `symlinkPromise`,
      `truncatePromise`,
      `ftruncatePromise`,
      `unlinkPromise`,
      `utimesPromise`,
      `writeFilePromise`,
      `writeSync`
    ]);
    function patchFs(patchedFs, fakeFs) {
      fakeFs = new NodePathFS_1.NodePathFS(fakeFs);
      const setupFn = (target, name, replacement) => {
        const orig = target[name];
        target[name] = replacement;
        if (typeof orig?.[util_1.promisify.custom] !== `undefined`) {
          replacement[util_1.promisify.custom] = orig[util_1.promisify.custom];
        }
      };
      {
        setupFn(patchedFs, `exists`, (p, ...args) => {
          const hasCallback = typeof args[args.length - 1] === `function`;
          const callback = hasCallback ? args.pop() : () => {
          };
          process.nextTick(() => {
            fakeFs.existsPromise(p).then((exists) => {
              callback(exists);
            }, () => {
              callback(false);
            });
          });
        });
        setupFn(patchedFs, `read`, (...args) => {
          let [fd, buffer, offset, length, position, callback] = args;
          if (args.length <= 3) {
            let options = {};
            if (args.length < 3) {
              callback = args[1];
            } else {
              options = args[1];
              callback = args[2];
            }
            ({
              buffer = Buffer.alloc(16384),
              offset = 0,
              length = buffer.byteLength,
              position
            } = options);
          }
          if (offset == null)
            offset = 0;
          length |= 0;
          if (length === 0) {
            process.nextTick(() => {
              callback(null, 0, buffer);
            });
            return;
          }
          if (position == null)
            position = -1;
          process.nextTick(() => {
            fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => {
              callback(null, bytesRead, buffer);
            }, (error) => {
              callback(error, 0, buffer);
            });
          });
        });
        for (const fnName of ASYNC_IMPLEMENTATIONS) {
          const origName = fnName.replace(/Promise$/, ``);
          if (typeof patchedFs[origName] === `undefined`)
            continue;
          const fakeImpl = fakeFs[fnName];
          if (typeof fakeImpl === `undefined`)
            continue;
          const wrapper = (...args) => {
            const hasCallback = typeof args[args.length - 1] === `function`;
            const callback = hasCallback ? args.pop() : () => {
            };
            process.nextTick(() => {
              fakeImpl.apply(fakeFs, args).then((result2) => {
                callback(null, result2);
              }, (error) => {
                callback(error);
              });
            });
          };
          setupFn(patchedFs, origName, wrapper);
        }
        patchedFs.realpath.native = patchedFs.realpath;
      }
      {
        setupFn(patchedFs, `existsSync`, (p) => {
          try {
            return fakeFs.existsSync(p);
          } catch {
            return false;
          }
        });
        setupFn(patchedFs, `readSync`, (...args) => {
          let [fd, buffer, offset, length, position] = args;
          if (args.length <= 3) {
            const options = args[2] || {};
            ({ offset = 0, length = buffer.byteLength, position } = options);
          }
          if (offset == null)
            offset = 0;
          length |= 0;
          if (length === 0)
            return 0;
          if (position == null)
            position = -1;
          return fakeFs.readSync(fd, buffer, offset, length, position);
        });
        for (const fnName of SYNC_IMPLEMENTATIONS) {
          const origName = fnName;
          if (typeof patchedFs[origName] === `undefined`)
            continue;
          const fakeImpl = fakeFs[fnName];
          if (typeof fakeImpl === `undefined`)
            continue;
          setupFn(patchedFs, origName, fakeImpl.bind(fakeFs));
        }
        patchedFs.realpathSync.native = patchedFs.realpathSync;
      }
      {
        const patchedFsPromises = patchedFs.promises;
        for (const fnName of ASYNC_IMPLEMENTATIONS) {
          const origName = fnName.replace(/Promise$/, ``);
          if (typeof patchedFsPromises[origName] === `undefined`)
            continue;
          const fakeImpl = fakeFs[fnName];
          if (typeof fakeImpl === `undefined`)
            continue;
          if (fnName === `open`)
            continue;
          setupFn(patchedFsPromises, origName, (pathLike, ...args) => {
            if (pathLike instanceof FileHandle_1.FileHandle) {
              return pathLike[origName].apply(pathLike, args);
            } else {
              return fakeImpl.call(fakeFs, pathLike, ...args);
            }
          });
        }
        setupFn(patchedFsPromises, `open`, async (...args) => {
          const fd = await fakeFs.openPromise(...args);
          return new FileHandle_1.FileHandle(fd, fakeFs);
        });
      }
      {
        patchedFs.read[util_1.promisify.custom] = async (fd, buffer, ...args) => {
          const res = fakeFs.readPromise(fd, buffer, ...args);
          return { bytesRead: await res, buffer };
        };
        patchedFs.write[util_1.promisify.custom] = async (fd, buffer, ...args) => {
          const res = fakeFs.writePromise(fd, buffer, ...args);
          return { bytesWritten: await res, buffer };
        };
      }
    }
    function extendFs(realFs, fakeFs) {
      const patchedFs = Object.create(realFs);
      patchFs(patchedFs, fakeFs);
      return patchedFs;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/xfs.js
var require_xfs = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/xfs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.xfs = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var os_1 = tslib_12.__importDefault(require("os"));
    var NodeFS_1 = require_NodeFS();
    var path_1 = require_path3();
    function getTempName(prefix) {
      const hash = Math.ceil(Math.random() * 4294967296).toString(16).padStart(8, `0`);
      return `${prefix}${hash}`;
    }
    var tmpdirs = /* @__PURE__ */ new Set();
    var tmpEnv = null;
    function initTmpEnv() {
      if (tmpEnv)
        return tmpEnv;
      const tmpdir = path_1.npath.toPortablePath(os_1.default.tmpdir());
      const realTmpdir = exports2.xfs.realpathSync(tmpdir);
      process.once(`exit`, () => {
        exports2.xfs.rmtempSync();
      });
      return tmpEnv = {
        tmpdir,
        realTmpdir
      };
    }
    exports2.xfs = Object.assign(new NodeFS_1.NodeFS(), {
      detachTemp(p) {
        tmpdirs.delete(p);
      },
      mktempSync(cb) {
        const { tmpdir, realTmpdir } = initTmpEnv();
        while (true) {
          const name = getTempName(`xfs-`);
          try {
            this.mkdirSync(path_1.ppath.join(tmpdir, name));
          } catch (error) {
            if (error.code === `EEXIST`) {
              continue;
            } else {
              throw error;
            }
          }
          const realP = path_1.ppath.join(realTmpdir, name);
          tmpdirs.add(realP);
          if (typeof cb === `undefined`)
            return realP;
          try {
            return cb(realP);
          } finally {
            if (tmpdirs.has(realP)) {
              tmpdirs.delete(realP);
              try {
                this.removeSync(realP);
              } catch {
              }
            }
          }
        }
      },
      async mktempPromise(cb) {
        const { tmpdir, realTmpdir } = initTmpEnv();
        while (true) {
          const name = getTempName(`xfs-`);
          try {
            await this.mkdirPromise(path_1.ppath.join(tmpdir, name));
          } catch (error) {
            if (error.code === `EEXIST`) {
              continue;
            } else {
              throw error;
            }
          }
          const realP = path_1.ppath.join(realTmpdir, name);
          tmpdirs.add(realP);
          if (typeof cb === `undefined`)
            return realP;
          try {
            return await cb(realP);
          } finally {
            if (tmpdirs.has(realP)) {
              tmpdirs.delete(realP);
              try {
                await this.removePromise(realP);
              } catch {
              }
            }
          }
        }
      },
      async rmtempPromise() {
        await Promise.all(Array.from(tmpdirs.values()).map(async (p) => {
          try {
            await exports2.xfs.removePromise(p, { maxRetries: 0 });
            tmpdirs.delete(p);
          } catch {
          }
        }));
      },
      rmtempSync() {
        for (const p of tmpdirs) {
          try {
            exports2.xfs.removeSync(p);
            tmpdirs.delete(p);
          } catch {
          }
        }
      }
    });
  }
});

// ../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/index.js
var require_lib66 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/fslib/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.xfs = exports2.extendFs = exports2.patchFs = exports2.VirtualFS = exports2.ProxiedFS = exports2.PosixFS = exports2.NodeFS = exports2.NoFS = exports2.MountFS = exports2.LazyFS = exports2.JailFS = exports2.CwdFS = exports2.BasePortableFakeFS = exports2.FakeFS = exports2.AliasFS = exports2.ppath = exports2.npath = exports2.Filename = exports2.PortablePath = exports2.normalizeLineEndings = exports2.unwatchAllFiles = exports2.unwatchFile = exports2.watchFile = exports2.CustomDir = exports2.opendir = exports2.setupCopyIndex = exports2.statUtils = exports2.errors = exports2.constants = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var constants = tslib_12.__importStar(require_constants10());
    exports2.constants = constants;
    var errors = tslib_12.__importStar(require_errors2());
    exports2.errors = errors;
    var statUtils = tslib_12.__importStar(require_statUtils());
    exports2.statUtils = statUtils;
    var copyPromise_1 = require_copyPromise();
    Object.defineProperty(exports2, "setupCopyIndex", { enumerable: true, get: function() {
      return copyPromise_1.setupCopyIndex;
    } });
    var opendir_1 = require_opendir();
    Object.defineProperty(exports2, "opendir", { enumerable: true, get: function() {
      return opendir_1.opendir;
    } });
    Object.defineProperty(exports2, "CustomDir", { enumerable: true, get: function() {
      return opendir_1.CustomDir;
    } });
    var watchFile_1 = require_watchFile();
    Object.defineProperty(exports2, "watchFile", { enumerable: true, get: function() {
      return watchFile_1.watchFile;
    } });
    Object.defineProperty(exports2, "unwatchFile", { enumerable: true, get: function() {
      return watchFile_1.unwatchFile;
    } });
    Object.defineProperty(exports2, "unwatchAllFiles", { enumerable: true, get: function() {
      return watchFile_1.unwatchAllFiles;
    } });
    var FakeFS_1 = require_FakeFS();
    Object.defineProperty(exports2, "normalizeLineEndings", { enumerable: true, get: function() {
      return FakeFS_1.normalizeLineEndings;
    } });
    var path_1 = require_path3();
    Object.defineProperty(exports2, "PortablePath", { enumerable: true, get: function() {
      return path_1.PortablePath;
    } });
    Object.defineProperty(exports2, "Filename", { enumerable: true, get: function() {
      return path_1.Filename;
    } });
    var path_2 = require_path3();
    Object.defineProperty(exports2, "npath", { enumerable: true, get: function() {
      return path_2.npath;
    } });
    Object.defineProperty(exports2, "ppath", { enumerable: true, get: function() {
      return path_2.ppath;
    } });
    var AliasFS_1 = require_AliasFS();
    Object.defineProperty(exports2, "AliasFS", { enumerable: true, get: function() {
      return AliasFS_1.AliasFS;
    } });
    var FakeFS_2 = require_FakeFS();
    Object.defineProperty(exports2, "FakeFS", { enumerable: true, get: function() {
      return FakeFS_2.FakeFS;
    } });
    Object.defineProperty(exports2, "BasePortableFakeFS", { enumerable: true, get: function() {
      return FakeFS_2.BasePortableFakeFS;
    } });
    var CwdFS_1 = require_CwdFS();
    Object.defineProperty(exports2, "CwdFS", { enumerable: true, get: function() {
      return CwdFS_1.CwdFS;
    } });
    var JailFS_1 = require_JailFS();
    Object.defineProperty(exports2, "JailFS", { enumerable: true, get: function() {
      return JailFS_1.JailFS;
    } });
    var LazyFS_1 = require_LazyFS();
    Object.defineProperty(exports2, "LazyFS", { enumerable: true, get: function() {
      return LazyFS_1.LazyFS;
    } });
    var MountFS_1 = require_MountFS();
    Object.defineProperty(exports2, "MountFS", { enumerable: true, get: function() {
      return MountFS_1.MountFS;
    } });
    var NoFS_1 = require_NoFS();
    Object.defineProperty(exports2, "NoFS", { enumerable: true, get: function() {
      return NoFS_1.NoFS;
    } });
    var NodeFS_1 = require_NodeFS();
    Object.defineProperty(exports2, "NodeFS", { enumerable: true, get: function() {
      return NodeFS_1.NodeFS;
    } });
    var PosixFS_1 = require_PosixFS();
    Object.defineProperty(exports2, "PosixFS", { enumerable: true, get: function() {
      return PosixFS_1.PosixFS;
    } });
    var ProxiedFS_1 = require_ProxiedFS();
    Object.defineProperty(exports2, "ProxiedFS", { enumerable: true, get: function() {
      return ProxiedFS_1.ProxiedFS;
    } });
    var VirtualFS_1 = require_VirtualFS();
    Object.defineProperty(exports2, "VirtualFS", { enumerable: true, get: function() {
      return VirtualFS_1.VirtualFS;
    } });
    var patchFs_1 = require_patchFs();
    Object.defineProperty(exports2, "patchFs", { enumerable: true, get: function() {
      return patchFs_1.patchFs;
    } });
    Object.defineProperty(exports2, "extendFs", { enumerable: true, get: function() {
      return patchFs_1.extendFs;
    } });
    var xfs_1 = require_xfs();
    Object.defineProperty(exports2, "xfs", { enumerable: true, get: function() {
      return xfs_1.xfs;
    } });
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/shell.js
var require_shell = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/shell.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(line) {
        return line ? line : [];
      }, peg$c1 = function(command, type, then) {
        return [{ command, type }].concat(then || []);
      }, peg$c2 = function(command, type) {
        return [{ command, type: type || ";" }];
      }, peg$c3 = function(then) {
        return then;
      }, peg$c4 = ";", peg$c5 = peg$literalExpectation(";", false), peg$c6 = "&", peg$c7 = peg$literalExpectation("&", false), peg$c8 = function(chain, then) {
        return then ? { chain, then } : { chain };
      }, peg$c9 = function(type, then) {
        return { type, line: then };
      }, peg$c10 = "&&", peg$c11 = peg$literalExpectation("&&", false), peg$c12 = "||", peg$c13 = peg$literalExpectation("||", false), peg$c14 = function(main, then) {
        return then ? { ...main, then } : main;
      }, peg$c15 = function(type, then) {
        return { type, chain: then };
      }, peg$c16 = "|&", peg$c17 = peg$literalExpectation("|&", false), peg$c18 = "|", peg$c19 = peg$literalExpectation("|", false), peg$c20 = "=", peg$c21 = peg$literalExpectation("=", false), peg$c22 = function(name, arg) {
        return { name, args: [arg] };
      }, peg$c23 = function(name) {
        return { name, args: [] };
      }, peg$c24 = "(", peg$c25 = peg$literalExpectation("(", false), peg$c26 = ")", peg$c27 = peg$literalExpectation(")", false), peg$c28 = function(subshell, args) {
        return { type: `subshell`, subshell, args };
      }, peg$c29 = "{", peg$c30 = peg$literalExpectation("{", false), peg$c31 = "}", peg$c32 = peg$literalExpectation("}", false), peg$c33 = function(group, args) {
        return { type: `group`, group, args };
      }, peg$c34 = function(envs, args) {
        return { type: `command`, args, envs };
      }, peg$c35 = function(envs) {
        return { type: `envs`, envs };
      }, peg$c36 = function(args) {
        return args;
      }, peg$c37 = function(arg) {
        return arg;
      }, peg$c38 = /^[0-9]/, peg$c39 = peg$classExpectation([["0", "9"]], false, false), peg$c40 = function(fd, redirect, arg) {
        return { type: `redirection`, subtype: redirect, fd: fd !== null ? parseInt(fd) : null, args: [arg] };
      }, peg$c41 = ">>", peg$c42 = peg$literalExpectation(">>", false), peg$c43 = ">&", peg$c44 = peg$literalExpectation(">&", false), peg$c45 = ">", peg$c46 = peg$literalExpectation(">", false), peg$c47 = "<<<", peg$c48 = peg$literalExpectation("<<<", false), peg$c49 = "<&", peg$c50 = peg$literalExpectation("<&", false), peg$c51 = "<", peg$c52 = peg$literalExpectation("<", false), peg$c53 = function(segments) {
        return { type: `argument`, segments: [].concat(...segments) };
      }, peg$c54 = function(string) {
        return string;
      }, peg$c55 = "$'", peg$c56 = peg$literalExpectation("$'", false), peg$c57 = "'", peg$c58 = peg$literalExpectation("'", false), peg$c59 = function(text2) {
        return [{ type: `text`, text: text2 }];
      }, peg$c60 = '""', peg$c61 = peg$literalExpectation('""', false), peg$c62 = function() {
        return { type: `text`, text: `` };
      }, peg$c63 = '"', peg$c64 = peg$literalExpectation('"', false), peg$c65 = function(segments) {
        return segments;
      }, peg$c66 = function(arithmetic) {
        return { type: `arithmetic`, arithmetic, quoted: true };
      }, peg$c67 = function(shell) {
        return { type: `shell`, shell, quoted: true };
      }, peg$c68 = function(variable) {
        return { type: `variable`, ...variable, quoted: true };
      }, peg$c69 = function(text2) {
        return { type: `text`, text: text2 };
      }, peg$c70 = function(arithmetic) {
        return { type: `arithmetic`, arithmetic, quoted: false };
      }, peg$c71 = function(shell) {
        return { type: `shell`, shell, quoted: false };
      }, peg$c72 = function(variable) {
        return { type: `variable`, ...variable, quoted: false };
      }, peg$c73 = function(pattern) {
        return { type: `glob`, pattern };
      }, peg$c74 = /^[^']/, peg$c75 = peg$classExpectation(["'"], true, false), peg$c76 = function(chars) {
        return chars.join(``);
      }, peg$c77 = /^[^$"]/, peg$c78 = peg$classExpectation(["$", '"'], true, false), peg$c79 = "\\\n", peg$c80 = peg$literalExpectation("\\\n", false), peg$c81 = function() {
        return ``;
      }, peg$c82 = "\\", peg$c83 = peg$literalExpectation("\\", false), peg$c84 = /^[\\$"`]/, peg$c85 = peg$classExpectation(["\\", "$", '"', "`"], false, false), peg$c86 = function(c) {
        return c;
      }, peg$c87 = "\\a", peg$c88 = peg$literalExpectation("\\a", false), peg$c89 = function() {
        return "a";
      }, peg$c90 = "\\b", peg$c91 = peg$literalExpectation("\\b", false), peg$c92 = function() {
        return "\b";
      }, peg$c93 = /^[Ee]/, peg$c94 = peg$classExpectation(["E", "e"], false, false), peg$c95 = function() {
        return "\x1B";
      }, peg$c96 = "\\f", peg$c97 = peg$literalExpectation("\\f", false), peg$c98 = function() {
        return "\f";
      }, peg$c99 = "\\n", peg$c100 = peg$literalExpectation("\\n", false), peg$c101 = function() {
        return "\n";
      }, peg$c102 = "\\r", peg$c103 = peg$literalExpectation("\\r", false), peg$c104 = function() {
        return "\r";
      }, peg$c105 = "\\t", peg$c106 = peg$literalExpectation("\\t", false), peg$c107 = function() {
        return "	";
      }, peg$c108 = "\\v", peg$c109 = peg$literalExpectation("\\v", false), peg$c110 = function() {
        return "\v";
      }, peg$c111 = /^[\\'"?]/, peg$c112 = peg$classExpectation(["\\", "'", '"', "?"], false, false), peg$c113 = function(c) {
        return String.fromCharCode(parseInt(c, 16));
      }, peg$c114 = "\\x", peg$c115 = peg$literalExpectation("\\x", false), peg$c116 = "\\u", peg$c117 = peg$literalExpectation("\\u", false), peg$c118 = "\\U", peg$c119 = peg$literalExpectation("\\U", false), peg$c120 = function(c) {
        return String.fromCodePoint(parseInt(c, 16));
      }, peg$c121 = /^[0-7]/, peg$c122 = peg$classExpectation([["0", "7"]], false, false), peg$c123 = /^[0-9a-fA-f]/, peg$c124 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "f"]], false, false), peg$c125 = peg$anyExpectation(), peg$c126 = "{}", peg$c127 = peg$literalExpectation("{}", false), peg$c128 = function() {
        return "{}";
      }, peg$c129 = "-", peg$c130 = peg$literalExpectation("-", false), peg$c131 = "+", peg$c132 = peg$literalExpectation("+", false), peg$c133 = ".", peg$c134 = peg$literalExpectation(".", false), peg$c135 = function(sign, left, right) {
        return { type: `number`, value: (sign === "-" ? -1 : 1) * parseFloat(left.join(``) + `.` + right.join(``)) };
      }, peg$c136 = function(sign, value) {
        return { type: `number`, value: (sign === "-" ? -1 : 1) * parseInt(value.join(``)) };
      }, peg$c137 = function(variable) {
        return { type: `variable`, ...variable };
      }, peg$c138 = function(name) {
        return { type: `variable`, name };
      }, peg$c139 = function(value) {
        return value;
      }, peg$c140 = "*", peg$c141 = peg$literalExpectation("*", false), peg$c142 = "/", peg$c143 = peg$literalExpectation("/", false), peg$c144 = function(left, op, right) {
        return { type: op === `*` ? `multiplication` : `division`, right };
      }, peg$c145 = function(left, rest) {
        return rest.reduce((left2, right) => ({ left: left2, ...right }), left);
      }, peg$c146 = function(left, op, right) {
        return { type: op === `+` ? `addition` : `subtraction`, right };
      }, peg$c147 = "$((", peg$c148 = peg$literalExpectation("$((", false), peg$c149 = "))", peg$c150 = peg$literalExpectation("))", false), peg$c151 = function(arithmetic) {
        return arithmetic;
      }, peg$c152 = "$(", peg$c153 = peg$literalExpectation("$(", false), peg$c154 = function(command) {
        return command;
      }, peg$c155 = "${", peg$c156 = peg$literalExpectation("${", false), peg$c157 = ":-", peg$c158 = peg$literalExpectation(":-", false), peg$c159 = function(name, arg) {
        return { name, defaultValue: arg };
      }, peg$c160 = ":-}", peg$c161 = peg$literalExpectation(":-}", false), peg$c162 = function(name) {
        return { name, defaultValue: [] };
      }, peg$c163 = ":+", peg$c164 = peg$literalExpectation(":+", false), peg$c165 = function(name, arg) {
        return { name, alternativeValue: arg };
      }, peg$c166 = ":+}", peg$c167 = peg$literalExpectation(":+}", false), peg$c168 = function(name) {
        return { name, alternativeValue: [] };
      }, peg$c169 = function(name) {
        return { name };
      }, peg$c170 = "$", peg$c171 = peg$literalExpectation("$", false), peg$c172 = function(pattern) {
        return options.isGlobPattern(pattern);
      }, peg$c173 = function(pattern) {
        return pattern;
      }, peg$c174 = /^[a-zA-Z0-9_]/, peg$c175 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false), peg$c176 = function() {
        return text();
      }, peg$c177 = /^[$@*?#a-zA-Z0-9_\-]/, peg$c178 = peg$classExpectation(["$", "@", "*", "?", "#", ["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false), peg$c179 = /^[()}<>$|&; \t"']/, peg$c180 = peg$classExpectation(["(", ")", "}", "<", ">", "$", "|", "&", ";", " ", "	", '"', "'"], false, false), peg$c181 = /^[<>&; \t"']/, peg$c182 = peg$classExpectation(["<", ">", "&", ";", " ", "	", '"', "'"], false, false), peg$c183 = /^[ \t]/, peg$c184 = peg$classExpectation([" ", "	"], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseStart() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c0(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseShellLine() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = peg$parseCommandLine();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseS();
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$parseS();
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseShellLineType();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseShellLineThen();
              if (s4 === peg$FAILED) {
                s4 = null;
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c1(s1, s3, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseCommandLine();
          if (s1 !== peg$FAILED) {
            s2 = [];
            s3 = peg$parseS();
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseS();
            }
            if (s2 !== peg$FAILED) {
              s3 = peg$parseShellLineType();
              if (s3 === peg$FAILED) {
                s3 = null;
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c2(s1, s3);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseShellLineThen() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c3(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseShellLineType() {
        var s0;
        if (input.charCodeAt(peg$currPos) === 59) {
          s0 = peg$c4;
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c5);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 38) {
            s0 = peg$c6;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c7);
            }
          }
        }
        return s0;
      }
      function peg$parseCommandLine() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseCommandChain();
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandLineThen();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c8(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandLineThen() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandLineType();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandLine();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c9(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandLineType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c10) {
          s0 = peg$c10;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c11);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.substr(peg$currPos, 2) === peg$c12) {
            s0 = peg$c12;
            peg$currPos += 2;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c13);
            }
          }
        }
        return s0;
      }
      function peg$parseCommandChain() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseCommand();
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandChainThen();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c14(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandChainThen() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandChainType();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandChain();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c15(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandChainType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c16) {
          s0 = peg$c16;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c17);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 124) {
            s0 = peg$c18;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c19);
            }
          }
        }
        return s0;
      }
      function peg$parseVariableAssignment() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        s1 = peg$parseEnvVariable();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 61) {
            s2 = peg$c20;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c21);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseStrictValueArgument();
            if (s3 !== peg$FAILED) {
              s4 = [];
              s5 = peg$parseS();
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$parseS();
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c22(s1, s3);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseEnvVariable();
          if (s1 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 61) {
              s2 = peg$c20;
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c21);
              }
            }
            if (s2 !== peg$FAILED) {
              s3 = [];
              s4 = peg$parseS();
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseS();
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c23(s1);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseCommand() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s2 = peg$c24;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c25);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseShellLine();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 41) {
                    s6 = peg$c26;
                    peg$currPos++;
                  } else {
                    s6 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c27);
                    }
                  }
                  if (s6 !== peg$FAILED) {
                    s7 = [];
                    s8 = peg$parseS();
                    while (s8 !== peg$FAILED) {
                      s7.push(s8);
                      s8 = peg$parseS();
                    }
                    if (s7 !== peg$FAILED) {
                      s8 = [];
                      s9 = peg$parseRedirectArgument();
                      while (s9 !== peg$FAILED) {
                        s8.push(s9);
                        s9 = peg$parseRedirectArgument();
                      }
                      if (s8 !== peg$FAILED) {
                        s9 = [];
                        s10 = peg$parseS();
                        while (s10 !== peg$FAILED) {
                          s9.push(s10);
                          s10 = peg$parseS();
                        }
                        if (s9 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c28(s4, s8);
                          s0 = s1;
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parseS();
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseS();
          }
          if (s1 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 123) {
              s2 = peg$c29;
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c30);
              }
            }
            if (s2 !== peg$FAILED) {
              s3 = [];
              s4 = peg$parseS();
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseS();
              }
              if (s3 !== peg$FAILED) {
                s4 = peg$parseShellLine();
                if (s4 !== peg$FAILED) {
                  s5 = [];
                  s6 = peg$parseS();
                  while (s6 !== peg$FAILED) {
                    s5.push(s6);
                    s6 = peg$parseS();
                  }
                  if (s5 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s6 = peg$c31;
                      peg$currPos++;
                    } else {
                      s6 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s6 !== peg$FAILED) {
                      s7 = [];
                      s8 = peg$parseS();
                      while (s8 !== peg$FAILED) {
                        s7.push(s8);
                        s8 = peg$parseS();
                      }
                      if (s7 !== peg$FAILED) {
                        s8 = [];
                        s9 = peg$parseRedirectArgument();
                        while (s9 !== peg$FAILED) {
                          s8.push(s9);
                          s9 = peg$parseRedirectArgument();
                        }
                        if (s8 !== peg$FAILED) {
                          s9 = [];
                          s10 = peg$parseS();
                          while (s10 !== peg$FAILED) {
                            s9.push(s10);
                            s10 = peg$parseS();
                          }
                          if (s9 !== peg$FAILED) {
                            peg$savedPos = s0;
                            s1 = peg$c33(s4, s8);
                            s0 = s1;
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = [];
            s2 = peg$parseS();
            while (s2 !== peg$FAILED) {
              s1.push(s2);
              s2 = peg$parseS();
            }
            if (s1 !== peg$FAILED) {
              s2 = [];
              s3 = peg$parseVariableAssignment();
              while (s3 !== peg$FAILED) {
                s2.push(s3);
                s3 = peg$parseVariableAssignment();
              }
              if (s2 !== peg$FAILED) {
                s3 = [];
                s4 = peg$parseS();
                while (s4 !== peg$FAILED) {
                  s3.push(s4);
                  s4 = peg$parseS();
                }
                if (s3 !== peg$FAILED) {
                  s4 = [];
                  s5 = peg$parseArgument();
                  if (s5 !== peg$FAILED) {
                    while (s5 !== peg$FAILED) {
                      s4.push(s5);
                      s5 = peg$parseArgument();
                    }
                  } else {
                    s4 = peg$FAILED;
                  }
                  if (s4 !== peg$FAILED) {
                    s5 = [];
                    s6 = peg$parseS();
                    while (s6 !== peg$FAILED) {
                      s5.push(s6);
                      s6 = peg$parseS();
                    }
                    if (s5 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c34(s2, s4);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = [];
              s2 = peg$parseS();
              while (s2 !== peg$FAILED) {
                s1.push(s2);
                s2 = peg$parseS();
              }
              if (s1 !== peg$FAILED) {
                s2 = [];
                s3 = peg$parseVariableAssignment();
                if (s3 !== peg$FAILED) {
                  while (s3 !== peg$FAILED) {
                    s2.push(s3);
                    s3 = peg$parseVariableAssignment();
                  }
                } else {
                  s2 = peg$FAILED;
                }
                if (s2 !== peg$FAILED) {
                  s3 = [];
                  s4 = peg$parseS();
                  while (s4 !== peg$FAILED) {
                    s3.push(s4);
                    s4 = peg$parseS();
                  }
                  if (s3 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c35(s2);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseCommandString() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseValueArgument();
          if (s3 !== peg$FAILED) {
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseValueArgument();
            }
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c36(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseRedirectArgument();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c37(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parseS();
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseS();
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parseValueArgument();
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c37(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseRedirectArgument() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          if (peg$c38.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c39);
            }
          }
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseRedirectType();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseValueArgument();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c40(s2, s3, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseRedirectType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c41) {
          s0 = peg$c41;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c42);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.substr(peg$currPos, 2) === peg$c43) {
            s0 = peg$c43;
            peg$currPos += 2;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c44);
            }
          }
          if (s0 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 62) {
              s0 = peg$c45;
              peg$currPos++;
            } else {
              s0 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c46);
              }
            }
            if (s0 === peg$FAILED) {
              if (input.substr(peg$currPos, 3) === peg$c47) {
                s0 = peg$c47;
                peg$currPos += 3;
              } else {
                s0 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c48);
                }
              }
              if (s0 === peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c49) {
                  s0 = peg$c49;
                  peg$currPos += 2;
                } else {
                  s0 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c50);
                  }
                }
                if (s0 === peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 60) {
                    s0 = peg$c51;
                    peg$currPos++;
                  } else {
                    s0 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c52);
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseValueArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseStrictValueArgument();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c37(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseStrictValueArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseArgumentSegment();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseArgumentSegment();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c53(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseArgumentSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseCQuoteString();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c54(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSglQuoteString();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c54(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseDblQuoteString();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c54(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parsePlainString();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c54(s1);
              }
              s0 = s1;
            }
          }
        }
        return s0;
      }
      function peg$parseCQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c55) {
          s1 = peg$c55;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c56);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCQuoteStringText();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 39) {
              s3 = peg$c57;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c58);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c59(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseSglQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 39) {
          s1 = peg$c57;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c58);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseSglQuoteStringText();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 39) {
              s3 = peg$c57;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c58);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c59(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseDblQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c60) {
          s1 = peg$c60;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c61);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c62();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 34) {
            s1 = peg$c63;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c64);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = [];
            s3 = peg$parseDblQuoteStringSegment();
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseDblQuoteStringSegment();
            }
            if (s2 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 34) {
                s3 = peg$c63;
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c64);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c65(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parsePlainString() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsePlainStringSegment();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parsePlainStringSegment();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c65(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteStringSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseArithmetic();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c66(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSubshell();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c67(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c68(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseDblQuoteStringText();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c69(s1);
              }
              s0 = s1;
            }
          }
        }
        return s0;
      }
      function peg$parsePlainStringSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseArithmetic();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c70(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSubshell();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c71(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c72(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseGlob();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c73(s1);
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                s1 = peg$parsePlainStringText();
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c69(s1);
                }
                s0 = s1;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseSglQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c74.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c75);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (peg$c74.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c75);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseDblQuoteEscapedChar();
        if (s2 === peg$FAILED) {
          if (peg$c77.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c78);
            }
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseDblQuoteEscapedChar();
            if (s2 === peg$FAILED) {
              if (peg$c77.test(input.charAt(peg$currPos))) {
                s2 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s2 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c78);
                }
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteEscapedChar() {
        var s0, s1, s2;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c79) {
          s1 = peg$c79;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c80);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c81();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 92) {
            s1 = peg$c82;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c83);
            }
          }
          if (s1 !== peg$FAILED) {
            if (peg$c84.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c85);
              }
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c86(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseCQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseCQuoteEscapedChar();
        if (s2 === peg$FAILED) {
          if (peg$c74.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c75);
            }
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseCQuoteEscapedChar();
          if (s2 === peg$FAILED) {
            if (peg$c74.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c75);
              }
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseCQuoteEscapedChar() {
        var s0, s1, s2;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c87) {
          s1 = peg$c87;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c88);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c89();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c90) {
            s1 = peg$c90;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c91);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c92();
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.charCodeAt(peg$currPos) === 92) {
              s1 = peg$c82;
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c83);
              }
            }
            if (s1 !== peg$FAILED) {
              if (peg$c93.test(input.charAt(peg$currPos))) {
                s2 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s2 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c94);
                }
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c95();
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c96) {
                s1 = peg$c96;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c97);
                }
              }
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c98();
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c99) {
                  s1 = peg$c99;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c100);
                  }
                }
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c101();
                }
                s0 = s1;
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.substr(peg$currPos, 2) === peg$c102) {
                    s1 = peg$c102;
                    peg$currPos += 2;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c103);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c104();
                  }
                  s0 = s1;
                  if (s0 === peg$FAILED) {
                    s0 = peg$currPos;
                    if (input.substr(peg$currPos, 2) === peg$c105) {
                      s1 = peg$c105;
                      peg$currPos += 2;
                    } else {
                      s1 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c106);
                      }
                    }
                    if (s1 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c107();
                    }
                    s0 = s1;
                    if (s0 === peg$FAILED) {
                      s0 = peg$currPos;
                      if (input.substr(peg$currPos, 2) === peg$c108) {
                        s1 = peg$c108;
                        peg$currPos += 2;
                      } else {
                        s1 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c109);
                        }
                      }
                      if (s1 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c110();
                      }
                      s0 = s1;
                      if (s0 === peg$FAILED) {
                        s0 = peg$currPos;
                        if (input.charCodeAt(peg$currPos) === 92) {
                          s1 = peg$c82;
                          peg$currPos++;
                        } else {
                          s1 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c83);
                          }
                        }
                        if (s1 !== peg$FAILED) {
                          if (peg$c111.test(input.charAt(peg$currPos))) {
                            s2 = input.charAt(peg$currPos);
                            peg$currPos++;
                          } else {
                            s2 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c112);
                            }
                          }
                          if (s2 !== peg$FAILED) {
                            peg$savedPos = s0;
                            s1 = peg$c86(s2);
                            s0 = s1;
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                        if (s0 === peg$FAILED) {
                          s0 = peg$parseHexCodeString();
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseHexCodeString() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 92) {
          s1 = peg$c82;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseHexCodeChar0();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c113(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c114) {
            s1 = peg$c114;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c115);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$currPos;
            s3 = peg$currPos;
            s4 = peg$parseHexCodeChar0();
            if (s4 !== peg$FAILED) {
              s5 = peg$parseHexCodeChar();
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 === peg$FAILED) {
              s3 = peg$parseHexCodeChar0();
            }
            if (s3 !== peg$FAILED) {
              s2 = input.substring(s2, peg$currPos);
            } else {
              s2 = s3;
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c113(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c116) {
              s1 = peg$c116;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c117);
              }
            }
            if (s1 !== peg$FAILED) {
              s2 = peg$currPos;
              s3 = peg$currPos;
              s4 = peg$parseHexCodeChar();
              if (s4 !== peg$FAILED) {
                s5 = peg$parseHexCodeChar();
                if (s5 !== peg$FAILED) {
                  s6 = peg$parseHexCodeChar();
                  if (s6 !== peg$FAILED) {
                    s7 = peg$parseHexCodeChar();
                    if (s7 !== peg$FAILED) {
                      s4 = [s4, s5, s6, s7];
                      s3 = s4;
                    } else {
                      peg$currPos = s3;
                      s3 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
              if (s3 !== peg$FAILED) {
                s2 = input.substring(s2, peg$currPos);
              } else {
                s2 = s3;
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c113(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c118) {
                s1 = peg$c118;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c119);
                }
              }
              if (s1 !== peg$FAILED) {
                s2 = peg$currPos;
                s3 = peg$currPos;
                s4 = peg$parseHexCodeChar();
                if (s4 !== peg$FAILED) {
                  s5 = peg$parseHexCodeChar();
                  if (s5 !== peg$FAILED) {
                    s6 = peg$parseHexCodeChar();
                    if (s6 !== peg$FAILED) {
                      s7 = peg$parseHexCodeChar();
                      if (s7 !== peg$FAILED) {
                        s8 = peg$parseHexCodeChar();
                        if (s8 !== peg$FAILED) {
                          s9 = peg$parseHexCodeChar();
                          if (s9 !== peg$FAILED) {
                            s10 = peg$parseHexCodeChar();
                            if (s10 !== peg$FAILED) {
                              s11 = peg$parseHexCodeChar();
                              if (s11 !== peg$FAILED) {
                                s4 = [s4, s5, s6, s7, s8, s9, s10, s11];
                                s3 = s4;
                              } else {
                                peg$currPos = s3;
                                s3 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s3;
                              s3 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s3;
                            s3 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s3;
                          s3 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s3;
                        s3 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s3;
                      s3 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
                if (s3 !== peg$FAILED) {
                  s2 = input.substring(s2, peg$currPos);
                } else {
                  s2 = s3;
                }
                if (s2 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c120(s2);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseHexCodeChar0() {
        var s0;
        if (peg$c121.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c122);
          }
        }
        return s0;
      }
      function peg$parseHexCodeChar() {
        var s0;
        if (peg$c123.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c124);
          }
        }
        return s0;
      }
      function peg$parsePlainStringText() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 92) {
          s3 = peg$c82;
          peg$currPos++;
        } else {
          s3 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        if (s3 !== peg$FAILED) {
          if (input.length > peg$currPos) {
            s4 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s4 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c125);
            }
          }
          if (s4 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c86(s4);
            s2 = s3;
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        if (s2 === peg$FAILED) {
          s2 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c126) {
            s3 = peg$c126;
            peg$currPos += 2;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c127);
            }
          }
          if (s3 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c128();
          }
          s2 = s3;
          if (s2 === peg$FAILED) {
            s2 = peg$currPos;
            s3 = peg$currPos;
            peg$silentFails++;
            s4 = peg$parseSpecialShellChars();
            peg$silentFails--;
            if (s4 === peg$FAILED) {
              s3 = void 0;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$currPos;
            if (input.charCodeAt(peg$currPos) === 92) {
              s3 = peg$c82;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c83);
              }
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
            if (s2 === peg$FAILED) {
              s2 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c126) {
                s3 = peg$c126;
                peg$currPos += 2;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c127);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c128();
              }
              s2 = s3;
              if (s2 === peg$FAILED) {
                s2 = peg$currPos;
                s3 = peg$currPos;
                peg$silentFails++;
                s4 = peg$parseSpecialShellChars();
                peg$silentFails--;
                if (s4 === peg$FAILED) {
                  s3 = void 0;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
                if (s3 !== peg$FAILED) {
                  if (input.length > peg$currPos) {
                    s4 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s4 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c125);
                    }
                  }
                  if (s4 !== peg$FAILED) {
                    peg$savedPos = s2;
                    s3 = peg$c86(s4);
                    s2 = s3;
                  } else {
                    peg$currPos = s2;
                    s2 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s2;
                  s2 = peg$FAILED;
                }
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseArithmeticPrimary() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 45) {
          s1 = peg$c129;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c130);
          }
        }
        if (s1 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 43) {
            s1 = peg$c131;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c132);
            }
          }
        }
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          if (peg$c38.test(input.charAt(peg$currPos))) {
            s3 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c39);
            }
          }
          if (s3 !== peg$FAILED) {
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              if (peg$c38.test(input.charAt(peg$currPos))) {
                s3 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c39);
                }
              }
            }
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 46) {
              s3 = peg$c133;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c134);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = [];
              if (peg$c38.test(input.charAt(peg$currPos))) {
                s5 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c39);
                }
              }
              if (s5 !== peg$FAILED) {
                while (s5 !== peg$FAILED) {
                  s4.push(s5);
                  if (peg$c38.test(input.charAt(peg$currPos))) {
                    s5 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s5 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c39);
                    }
                  }
                }
              } else {
                s4 = peg$FAILED;
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c135(s1, s2, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 45) {
            s1 = peg$c129;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c130);
            }
          }
          if (s1 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 43) {
              s1 = peg$c131;
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c132);
              }
            }
          }
          if (s1 === peg$FAILED) {
            s1 = null;
          }
          if (s1 !== peg$FAILED) {
            s2 = [];
            if (peg$c38.test(input.charAt(peg$currPos))) {
              s3 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c39);
              }
            }
            if (s3 !== peg$FAILED) {
              while (s3 !== peg$FAILED) {
                s2.push(s3);
                if (peg$c38.test(input.charAt(peg$currPos))) {
                  s3 = input.charAt(peg$currPos);
                  peg$currPos++;
                } else {
                  s3 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c39);
                  }
                }
              }
            } else {
              s2 = peg$FAILED;
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c136(s1, s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c137(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseIdentifier();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c138(s1);
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.charCodeAt(peg$currPos) === 40) {
                  s1 = peg$c24;
                  peg$currPos++;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c25);
                  }
                }
                if (s1 !== peg$FAILED) {
                  s2 = [];
                  s3 = peg$parseS();
                  while (s3 !== peg$FAILED) {
                    s2.push(s3);
                    s3 = peg$parseS();
                  }
                  if (s2 !== peg$FAILED) {
                    s3 = peg$parseArithmeticExpression();
                    if (s3 !== peg$FAILED) {
                      s4 = [];
                      s5 = peg$parseS();
                      while (s5 !== peg$FAILED) {
                        s4.push(s5);
                        s5 = peg$parseS();
                      }
                      if (s4 !== peg$FAILED) {
                        if (input.charCodeAt(peg$currPos) === 41) {
                          s5 = peg$c26;
                          peg$currPos++;
                        } else {
                          s5 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c27);
                          }
                        }
                        if (s5 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c139(s3);
                          s0 = s1;
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseArithmeticTimesExpression() {
        var s0, s1, s2, s3, s4, s5, s6, s7;
        s0 = peg$currPos;
        s1 = peg$parseArithmeticPrimary();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = [];
          s5 = peg$parseS();
          while (s5 !== peg$FAILED) {
            s4.push(s5);
            s5 = peg$parseS();
          }
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 42) {
              s5 = peg$c140;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c141);
              }
            }
            if (s5 === peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 47) {
                s5 = peg$c142;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c143);
                }
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = [];
              s7 = peg$parseS();
              while (s7 !== peg$FAILED) {
                s6.push(s7);
                s7 = peg$parseS();
              }
              if (s6 !== peg$FAILED) {
                s7 = peg$parseArithmeticPrimary();
                if (s7 !== peg$FAILED) {
                  peg$savedPos = s3;
                  s4 = peg$c144(s1, s5, s7);
                  s3 = s4;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = [];
            s5 = peg$parseS();
            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parseS();
            }
            if (s4 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 42) {
                s5 = peg$c140;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c141);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 47) {
                  s5 = peg$c142;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c143);
                  }
                }
              }
              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parseS();
                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parseS();
                }
                if (s6 !== peg$FAILED) {
                  s7 = peg$parseArithmeticPrimary();
                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s3;
                    s4 = peg$c144(s1, s5, s7);
                    s3 = s4;
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c145(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArithmeticExpression() {
        var s0, s1, s2, s3, s4, s5, s6, s7;
        s0 = peg$currPos;
        s1 = peg$parseArithmeticTimesExpression();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = [];
          s5 = peg$parseS();
          while (s5 !== peg$FAILED) {
            s4.push(s5);
            s5 = peg$parseS();
          }
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 43) {
              s5 = peg$c131;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c132);
              }
            }
            if (s5 === peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 45) {
                s5 = peg$c129;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c130);
                }
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = [];
              s7 = peg$parseS();
              while (s7 !== peg$FAILED) {
                s6.push(s7);
                s7 = peg$parseS();
              }
              if (s6 !== peg$FAILED) {
                s7 = peg$parseArithmeticTimesExpression();
                if (s7 !== peg$FAILED) {
                  peg$savedPos = s3;
                  s4 = peg$c146(s1, s5, s7);
                  s3 = s4;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = [];
            s5 = peg$parseS();
            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parseS();
            }
            if (s4 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 43) {
                s5 = peg$c131;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c132);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 45) {
                  s5 = peg$c129;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c130);
                  }
                }
              }
              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parseS();
                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parseS();
                }
                if (s6 !== peg$FAILED) {
                  s7 = peg$parseArithmeticTimesExpression();
                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s3;
                    s4 = peg$c146(s1, s5, s7);
                    s3 = s4;
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c145(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArithmetic() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 3) === peg$c147) {
          s1 = peg$c147;
          peg$currPos += 3;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c148);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseS();
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$parseS();
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseArithmeticExpression();
            if (s3 !== peg$FAILED) {
              s4 = [];
              s5 = peg$parseS();
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$parseS();
              }
              if (s4 !== peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c149) {
                  s5 = peg$c149;
                  peg$currPos += 2;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c150);
                  }
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c151(s3);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseSubshell() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c152) {
          s1 = peg$c152;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c153);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 41) {
              s3 = peg$c26;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c27);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c154(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseVariable() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c155) {
          s1 = peg$c155;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c156);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseIdentifier();
          if (s2 !== peg$FAILED) {
            if (input.substr(peg$currPos, 2) === peg$c157) {
              s3 = peg$c157;
              peg$currPos += 2;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c158);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandString();
              if (s4 !== peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 125) {
                  s5 = peg$c31;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c32);
                  }
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c159(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c155) {
            s1 = peg$c155;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c156);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parseIdentifier();
            if (s2 !== peg$FAILED) {
              if (input.substr(peg$currPos, 3) === peg$c160) {
                s3 = peg$c160;
                peg$currPos += 3;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c161);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c162(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c155) {
              s1 = peg$c155;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c156);
              }
            }
            if (s1 !== peg$FAILED) {
              s2 = peg$parseIdentifier();
              if (s2 !== peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c163) {
                  s3 = peg$c163;
                  peg$currPos += 2;
                } else {
                  s3 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c164);
                  }
                }
                if (s3 !== peg$FAILED) {
                  s4 = peg$parseCommandString();
                  if (s4 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s5 = peg$c31;
                      peg$currPos++;
                    } else {
                      s5 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s5 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c165(s2, s4);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c155) {
                s1 = peg$c155;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c156);
                }
              }
              if (s1 !== peg$FAILED) {
                s2 = peg$parseIdentifier();
                if (s2 !== peg$FAILED) {
                  if (input.substr(peg$currPos, 3) === peg$c166) {
                    s3 = peg$c166;
                    peg$currPos += 3;
                  } else {
                    s3 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c167);
                    }
                  }
                  if (s3 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c168(s2);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c155) {
                  s1 = peg$c155;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c156);
                  }
                }
                if (s1 !== peg$FAILED) {
                  s2 = peg$parseIdentifier();
                  if (s2 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s3 = peg$c31;
                      peg$currPos++;
                    } else {
                      s3 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s3 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c169(s2);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.charCodeAt(peg$currPos) === 36) {
                    s1 = peg$c170;
                    peg$currPos++;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c171);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    s2 = peg$parseIdentifier();
                    if (s2 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c169(s2);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseGlob() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseGlobText();
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c172(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c173(s1);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseGlobText() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$currPos;
        s3 = peg$currPos;
        peg$silentFails++;
        s4 = peg$parseGlobSpecialShellChars();
        peg$silentFails--;
        if (s4 === peg$FAILED) {
          s3 = void 0;
        } else {
          peg$currPos = s3;
          s3 = peg$FAILED;
        }
        if (s3 !== peg$FAILED) {
          if (input.length > peg$currPos) {
            s4 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s4 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c125);
            }
          }
          if (s4 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c86(s4);
            s2 = s3;
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$currPos;
            s3 = peg$currPos;
            peg$silentFails++;
            s4 = peg$parseGlobSpecialShellChars();
            peg$silentFails--;
            if (s4 === peg$FAILED) {
              s3 = void 0;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseEnvVariable() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c174.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c175);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c174.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c175);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c176();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseIdentifier() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c177.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c178);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c177.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c178);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c176();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseSpecialShellChars() {
        var s0;
        if (peg$c179.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c180);
          }
        }
        return s0;
      }
      function peg$parseGlobSpecialShellChars() {
        var s0;
        if (peg$c181.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c182);
          }
        }
        return s0;
      }
      function peg$parseS() {
        var s0, s1;
        s0 = [];
        if (peg$c183.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c184);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c183.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c184);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/shell.js
var require_shell2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/shell.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseShell = parseShell;
    exports2.stringifyShellLine = stringifyShellLine;
    exports2.stringifyShell = stringifyShellLine;
    exports2.stringifyCommandLine = stringifyCommandLine;
    exports2.stringifyCommandLineThen = stringifyCommandLineThen;
    exports2.stringifyCommandChain = stringifyCommandChain;
    exports2.stringifyCommandChainThen = stringifyCommandChainThen;
    exports2.stringifyCommand = stringifyCommand;
    exports2.stringifyEnvSegment = stringifyEnvSegment;
    exports2.stringifyArgument = stringifyArgument;
    exports2.stringifyRedirectArgument = stringifyRedirectArgument;
    exports2.stringifyValueArgument = stringifyValueArgument;
    exports2.stringifyArgumentSegment = stringifyArgumentSegment;
    exports2.stringifyArithmeticExpression = stringifyArithmeticExpression;
    exports2.stringifyShellLine = stringifyShellLine;
    exports2.stringifyShell = stringifyShellLine;
    var shell_1 = require_shell();
    function parseShell(source, options = { isGlobPattern: () => false }) {
      try {
        return (0, shell_1.parse)(source, options);
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    function stringifyShellLine(shellLine, { endSemicolon = false } = {}) {
      return shellLine.map(({ command, type }, index) => `${stringifyCommandLine(command)}${type === `;` ? index !== shellLine.length - 1 || endSemicolon ? `;` : `` : ` &`}`).join(` `);
    }
    function stringifyCommandLine(commandLine) {
      return `${stringifyCommandChain(commandLine.chain)}${commandLine.then ? ` ${stringifyCommandLineThen(commandLine.then)}` : ``}`;
    }
    function stringifyCommandLineThen(commandLineThen) {
      return `${commandLineThen.type} ${stringifyCommandLine(commandLineThen.line)}`;
    }
    function stringifyCommandChain(commandChain) {
      return `${stringifyCommand(commandChain)}${commandChain.then ? ` ${stringifyCommandChainThen(commandChain.then)}` : ``}`;
    }
    function stringifyCommandChainThen(commandChainThen) {
      return `${commandChainThen.type} ${stringifyCommandChain(commandChainThen.chain)}`;
    }
    function stringifyCommand(command) {
      switch (command.type) {
        case `command`:
          return `${command.envs.length > 0 ? `${command.envs.map((env) => stringifyEnvSegment(env)).join(` `)} ` : ``}${command.args.map((argument) => stringifyArgument(argument)).join(` `)}`;
        case `subshell`:
          return `(${stringifyShellLine(command.subshell)})${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
        case `group`:
          return `{ ${stringifyShellLine(command.group, {
            /* Bash compat */
            endSemicolon: true
          })} }${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
        case `envs`:
          return command.envs.map((env) => stringifyEnvSegment(env)).join(` `);
        default:
          throw new Error(`Unsupported command type:  "${command.type}"`);
      }
    }
    function stringifyEnvSegment(envSegment) {
      return `${envSegment.name}=${envSegment.args[0] ? stringifyValueArgument(envSegment.args[0]) : ``}`;
    }
    function stringifyArgument(argument) {
      switch (argument.type) {
        case `redirection`:
          return stringifyRedirectArgument(argument);
        case `argument`:
          return stringifyValueArgument(argument);
        default:
          throw new Error(`Unsupported argument type: "${argument.type}"`);
      }
    }
    function stringifyRedirectArgument(argument) {
      return `${argument.subtype} ${argument.args.map((argument2) => stringifyValueArgument(argument2)).join(` `)}`;
    }
    function stringifyValueArgument(argument) {
      return argument.segments.map((segment) => stringifyArgumentSegment(segment)).join(``);
    }
    var ESCAPED_CONTROL_CHARS = /* @__PURE__ */ new Map([
      [`\f`, `\\f`],
      [`
`, `\\n`],
      [`\r`, `\\r`],
      [`	`, `\\t`],
      [`\v`, `\\v`],
      [`\0`, `\\0`]
    ]);
    var ESCAPED_DBL_CHARS = new Map([
      [`\\`, `\\\\`],
      [`$`, `\\$`],
      [`"`, `\\"`],
      ...Array.from(ESCAPED_CONTROL_CHARS, ([c, replacement]) => {
        return [c, `"$'${replacement}'"`];
      })
    ]);
    var getEscapedControlChar = (c) => {
      return ESCAPED_CONTROL_CHARS.get(c) ?? `\\x${c.charCodeAt(0).toString(16).padStart(2, `0`)}`;
    };
    var getEscapedDblChar = (match) => {
      return ESCAPED_DBL_CHARS.get(match) ?? `"$'${getEscapedControlChar(match)}'"`;
    };
    function stringifyArgumentSegment(argumentSegment) {
      const doubleQuoteIfRequested = (string, quote) => quote ? `"${string}"` : string;
      const quoteIfNeeded = (text) => {
        if (text === ``)
          return `''`;
        if (!text.match(/[()}<>$|&;"'\n\t ]/))
          return text;
        if (!text.match(/['\t\p{C}]/u))
          return `'${text}'`;
        if (!text.match(/'/)) {
          return `$'${text.replace(/[\t\p{C}]/u, getEscapedControlChar)}'`;
        } else {
          return `"${text.replace(/["$\t\p{C}]/u, getEscapedDblChar)}"`;
        }
      };
      switch (argumentSegment.type) {
        case `text`:
          return quoteIfNeeded(argumentSegment.text);
        case `glob`:
          return argumentSegment.pattern;
        case `shell`:
          return doubleQuoteIfRequested(`$(${stringifyShellLine(argumentSegment.shell)})`, argumentSegment.quoted);
        case `variable`:
          return doubleQuoteIfRequested(typeof argumentSegment.defaultValue === `undefined` ? typeof argumentSegment.alternativeValue === `undefined` ? `\${${argumentSegment.name}}` : argumentSegment.alternativeValue.length === 0 ? `\${${argumentSegment.name}:+}` : `\${${argumentSegment.name}:+${argumentSegment.alternativeValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}` : argumentSegment.defaultValue.length === 0 ? `\${${argumentSegment.name}:-}` : `\${${argumentSegment.name}:-${argumentSegment.defaultValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}`, argumentSegment.quoted);
        case `arithmetic`:
          return `$(( ${stringifyArithmeticExpression(argumentSegment.arithmetic)} ))`;
        default:
          throw new Error(`Unsupported argument segment type: "${argumentSegment.type}"`);
      }
    }
    function stringifyArithmeticExpression(argument) {
      const getOperator = (type) => {
        switch (type) {
          case `addition`:
            return `+`;
          case `subtraction`:
            return `-`;
          case `multiplication`:
            return `*`;
          case `division`:
            return `/`;
          default:
            throw new Error(`Can't extract operator from arithmetic expression of type "${type}"`);
        }
      };
      const parenthesizeIfRequested = (string, parenthesize) => parenthesize ? `( ${string} )` : string;
      const stringifyAndParenthesizeIfNeeded = (expression) => (
        // Right now we parenthesize all arithmetic operator expressions because it's easier
        parenthesizeIfRequested(stringifyArithmeticExpression(expression), ![`number`, `variable`].includes(expression.type))
      );
      switch (argument.type) {
        case `number`:
          return String(argument.value);
        case `variable`:
          return argument.name;
        default:
          return `${stringifyAndParenthesizeIfNeeded(argument.left)} ${getOperator(argument.type)} ${stringifyAndParenthesizeIfNeeded(argument.right)}`;
      }
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js
var require_resolution = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { resolution: peg$parseresolution }, peg$startRuleFunction = peg$parseresolution, peg$c0 = "/", peg$c1 = peg$literalExpectation("/", false), peg$c2 = function(from, descriptor) {
        return { from, descriptor };
      }, peg$c3 = function(descriptor) {
        return { descriptor };
      }, peg$c4 = "@", peg$c5 = peg$literalExpectation("@", false), peg$c6 = function(fullName, description) {
        return { fullName, description };
      }, peg$c7 = function(fullName) {
        return { fullName };
      }, peg$c8 = function() {
        return text();
      }, peg$c9 = /^[^\/@]/, peg$c10 = peg$classExpectation(["/", "@"], true, false), peg$c11 = /^[^\/]/, peg$c12 = peg$classExpectation(["/"], true, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseresolution() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        s1 = peg$parsespecifier();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 47) {
            s2 = peg$c0;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c1);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parsespecifier();
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c2(s1, s3);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parsespecifier();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c3(s1);
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsespecifier() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        s1 = peg$parsefullName();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 64) {
            s2 = peg$c4;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parsedescription();
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c6(s1, s3);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parsefullName();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c7(s1);
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsefullName() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 64) {
          s1 = peg$c4;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c5);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseident();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 47) {
              s3 = peg$c0;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c1);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseident();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c8();
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseident();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c8();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parseident() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c9.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c10);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c9.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c10);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c8();
        }
        s0 = s1;
        return s0;
      }
      function peg$parsedescription() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c11.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c12);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c11.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c12);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c8();
        }
        s0 = s1;
        return s0;
      }
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/resolution.js
var require_resolution2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/resolution.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseResolution = parseResolution;
    exports2.stringifyResolution = stringifyResolution;
    var resolution_1 = require_resolution();
    function parseResolution(source) {
      const legacyResolution = source.match(/^\*{1,2}\/(.*)/);
      if (legacyResolution)
        throw new Error(`The override for '${source}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${legacyResolution[1]}' instead.`);
      try {
        return (0, resolution_1.parse)(source);
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    function stringifyResolution(resolution) {
      let str = ``;
      if (resolution.from) {
        str += resolution.from.fullName;
        if (resolution.from.description)
          str += `@${resolution.from.description}`;
        str += `/`;
      }
      str += resolution.descriptor.fullName;
      if (resolution.descriptor.description)
        str += `@${resolution.descriptor.description}`;
      return str;
    }
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/common.js
var require_common5 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/common.js"(exports2, module2) {
    "use strict";
    function isNothing(subject) {
      return typeof subject === "undefined" || subject === null;
    }
    function isObject(subject) {
      return typeof subject === "object" && subject !== null;
    }
    function toArray(sequence) {
      if (Array.isArray(sequence)) return sequence;
      else if (isNothing(sequence)) return [];
      return [sequence];
    }
    function extend(target, source) {
      var index, length, key, sourceKeys;
      if (source) {
        sourceKeys = Object.keys(source);
        for (index = 0, length = sourceKeys.length; index < length; index += 1) {
          key = sourceKeys[index];
          target[key] = source[key];
        }
      }
      return target;
    }
    function repeat(string, count) {
      var result2 = "", cycle;
      for (cycle = 0; cycle < count; cycle += 1) {
        result2 += string;
      }
      return result2;
    }
    function isNegativeZero(number) {
      return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;
    }
    module2.exports.isNothing = isNothing;
    module2.exports.isObject = isObject;
    module2.exports.toArray = toArray;
    module2.exports.repeat = repeat;
    module2.exports.isNegativeZero = isNegativeZero;
    module2.exports.extend = extend;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/exception.js
var require_exception2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/exception.js"(exports2, module2) {
    "use strict";
    function YAMLException(reason, mark) {
      Error.call(this);
      this.name = "YAMLException";
      this.reason = reason;
      this.mark = mark;
      this.message = (this.reason || "(unknown reason)") + (this.mark ? " " + this.mark.toString() : "");
      if (Error.captureStackTrace) {
        Error.captureStackTrace(this, this.constructor);
      } else {
        this.stack = new Error().stack || "";
      }
    }
    YAMLException.prototype = Object.create(Error.prototype);
    YAMLException.prototype.constructor = YAMLException;
    YAMLException.prototype.toString = function toString(compact) {
      var result2 = this.name + ": ";
      result2 += this.reason || "(unknown reason)";
      if (!compact && this.mark) {
        result2 += " " + this.mark.toString();
      }
      return result2;
    };
    module2.exports = YAMLException;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/mark.js
var require_mark = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/mark.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    function Mark(name, buffer, position, line, column) {
      this.name = name;
      this.buffer = buffer;
      this.position = position;
      this.line = line;
      this.column = column;
    }
    Mark.prototype.getSnippet = function getSnippet(indent, maxLength) {
      var head, start, tail, end, snippet;
      if (!this.buffer) return null;
      indent = indent || 4;
      maxLength = maxLength || 75;
      head = "";
      start = this.position;
      while (start > 0 && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(start - 1)) === -1) {
        start -= 1;
        if (this.position - start > maxLength / 2 - 1) {
          head = " ... ";
          start += 5;
          break;
        }
      }
      tail = "";
      end = this.position;
      while (end < this.buffer.length && "\0\r\n\x85\u2028\u2029".indexOf(this.buffer.charAt(end)) === -1) {
        end += 1;
        if (end - this.position > maxLength / 2 - 1) {
          tail = " ... ";
          end -= 5;
          break;
        }
      }
      snippet = this.buffer.slice(start, end);
      return common.repeat(" ", indent) + head + snippet + tail + "\n" + common.repeat(" ", indent + this.position - start + head.length) + "^";
    };
    Mark.prototype.toString = function toString(compact) {
      var snippet, where = "";
      if (this.name) {
        where += 'in "' + this.name + '" ';
      }
      where += "at line " + (this.line + 1) + ", column " + (this.column + 1);
      if (!compact) {
        snippet = this.getSnippet();
        if (snippet) {
          where += ":\n" + snippet;
        }
      }
      return where;
    };
    module2.exports = Mark;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type.js
var require_type3 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type.js"(exports2, module2) {
    "use strict";
    var YAMLException = require_exception2();
    var TYPE_CONSTRUCTOR_OPTIONS = [
      "kind",
      "resolve",
      "construct",
      "instanceOf",
      "predicate",
      "represent",
      "defaultStyle",
      "styleAliases"
    ];
    var YAML_NODE_KINDS = [
      "scalar",
      "sequence",
      "mapping"
    ];
    function compileStyleAliases(map) {
      var result2 = {};
      if (map !== null) {
        Object.keys(map).forEach(function(style) {
          map[style].forEach(function(alias) {
            result2[String(alias)] = style;
          });
        });
      }
      return result2;
    }
    function Type(tag, options) {
      options = options || {};
      Object.keys(options).forEach(function(name) {
        if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {
          throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.');
        }
      });
      this.tag = tag;
      this.kind = options["kind"] || null;
      this.resolve = options["resolve"] || function() {
        return true;
      };
      this.construct = options["construct"] || function(data) {
        return data;
      };
      this.instanceOf = options["instanceOf"] || null;
      this.predicate = options["predicate"] || null;
      this.represent = options["represent"] || null;
      this.defaultStyle = options["defaultStyle"] || null;
      this.styleAliases = compileStyleAliases(options["styleAliases"] || null);
      if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {
        throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.');
      }
    }
    module2.exports = Type;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema.js
var require_schema2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    var YAMLException = require_exception2();
    var Type = require_type3();
    function compileList(schema, name, result2) {
      var exclude = [];
      schema.include.forEach(function(includedSchema) {
        result2 = compileList(includedSchema, name, result2);
      });
      schema[name].forEach(function(currentType) {
        result2.forEach(function(previousType, previousIndex) {
          if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {
            exclude.push(previousIndex);
          }
        });
        result2.push(currentType);
      });
      return result2.filter(function(type, index) {
        return exclude.indexOf(index) === -1;
      });
    }
    function compileMap() {
      var result2 = {
        scalar: {},
        sequence: {},
        mapping: {},
        fallback: {}
      }, index, length;
      function collectType(type) {
        result2[type.kind][type.tag] = result2["fallback"][type.tag] = type;
      }
      for (index = 0, length = arguments.length; index < length; index += 1) {
        arguments[index].forEach(collectType);
      }
      return result2;
    }
    function Schema(definition) {
      this.include = definition.include || [];
      this.implicit = definition.implicit || [];
      this.explicit = definition.explicit || [];
      this.implicit.forEach(function(type) {
        if (type.loadKind && type.loadKind !== "scalar") {
          throw new YAMLException("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");
        }
      });
      this.compiledImplicit = compileList(this, "implicit", []);
      this.compiledExplicit = compileList(this, "explicit", []);
      this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);
    }
    Schema.DEFAULT = null;
    Schema.create = function createSchema() {
      var schemas, types;
      switch (arguments.length) {
        case 1:
          schemas = Schema.DEFAULT;
          types = arguments[0];
          break;
        case 2:
          schemas = arguments[0];
          types = arguments[1];
          break;
        default:
          throw new YAMLException("Wrong number of arguments for Schema.create function");
      }
      schemas = common.toArray(schemas);
      types = common.toArray(types);
      if (!schemas.every(function(schema) {
        return schema instanceof Schema;
      })) {
        throw new YAMLException("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");
      }
      if (!types.every(function(type) {
        return type instanceof Type;
      })) {
        throw new YAMLException("Specified list of YAML types (or a single Type object) contains a non-Type object.");
      }
      return new Schema({
        include: schemas,
        explicit: types
      });
    };
    module2.exports = Schema;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/str.js
var require_str2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/str.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    module2.exports = new Type("tag:yaml.org,2002:str", {
      kind: "scalar",
      construct: function(data) {
        return data !== null ? data : "";
      }
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/seq.js
var require_seq2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/seq.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    module2.exports = new Type("tag:yaml.org,2002:seq", {
      kind: "sequence",
      construct: function(data) {
        return data !== null ? data : [];
      }
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/map.js
var require_map5 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/map.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    module2.exports = new Type("tag:yaml.org,2002:map", {
      kind: "mapping",
      construct: function(data) {
        return data !== null ? data : {};
      }
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js
var require_failsafe2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema2();
    module2.exports = new Schema({
      explicit: [
        require_str2(),
        require_seq2(),
        require_map5()
      ]
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/null.js
var require_null2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/null.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    function resolveYamlNull(data) {
      if (data === null) return true;
      var max = data.length;
      return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL");
    }
    function constructYamlNull() {
      return null;
    }
    function isNull(object) {
      return object === null;
    }
    module2.exports = new Type("tag:yaml.org,2002:null", {
      kind: "scalar",
      resolve: resolveYamlNull,
      construct: constructYamlNull,
      predicate: isNull,
      represent: {
        canonical: function() {
          return "~";
        },
        lowercase: function() {
          return "null";
        },
        uppercase: function() {
          return "NULL";
        },
        camelcase: function() {
          return "Null";
        }
      },
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/bool.js
var require_bool2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/bool.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    function resolveYamlBoolean(data) {
      if (data === null) return false;
      var max = data.length;
      return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE");
    }
    function constructYamlBoolean(data) {
      return data === "true" || data === "True" || data === "TRUE";
    }
    function isBoolean(object) {
      return Object.prototype.toString.call(object) === "[object Boolean]";
    }
    module2.exports = new Type("tag:yaml.org,2002:bool", {
      kind: "scalar",
      resolve: resolveYamlBoolean,
      construct: constructYamlBoolean,
      predicate: isBoolean,
      represent: {
        lowercase: function(object) {
          return object ? "true" : "false";
        },
        uppercase: function(object) {
          return object ? "TRUE" : "FALSE";
        },
        camelcase: function(object) {
          return object ? "True" : "False";
        }
      },
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/int.js
var require_int2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/int.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    var Type = require_type3();
    function isHexCode(c) {
      return 48 <= c && c <= 57 || 65 <= c && c <= 70 || 97 <= c && c <= 102;
    }
    function isOctCode(c) {
      return 48 <= c && c <= 55;
    }
    function isDecCode(c) {
      return 48 <= c && c <= 57;
    }
    function resolveYamlInteger(data) {
      if (data === null) return false;
      var max = data.length, index = 0, hasDigits = false, ch;
      if (!max) return false;
      ch = data[index];
      if (ch === "-" || ch === "+") {
        ch = data[++index];
      }
      if (ch === "0") {
        if (index + 1 === max) return true;
        ch = data[++index];
        if (ch === "b") {
          index++;
          for (; index < max; index++) {
            ch = data[index];
            if (ch === "_") continue;
            if (ch !== "0" && ch !== "1") return false;
            hasDigits = true;
          }
          return hasDigits && ch !== "_";
        }
        if (ch === "x") {
          index++;
          for (; index < max; index++) {
            ch = data[index];
            if (ch === "_") continue;
            if (!isHexCode(data.charCodeAt(index))) return false;
            hasDigits = true;
          }
          return hasDigits && ch !== "_";
        }
        for (; index < max; index++) {
          ch = data[index];
          if (ch === "_") continue;
          if (!isOctCode(data.charCodeAt(index))) return false;
          hasDigits = true;
        }
        return hasDigits && ch !== "_";
      }
      if (ch === "_") return false;
      for (; index < max; index++) {
        ch = data[index];
        if (ch === "_") continue;
        if (ch === ":") break;
        if (!isDecCode(data.charCodeAt(index))) {
          return false;
        }
        hasDigits = true;
      }
      if (!hasDigits || ch === "_") return false;
      if (ch !== ":") return true;
      return /^(:[0-5]?[0-9])+$/.test(data.slice(index));
    }
    function constructYamlInteger(data) {
      var value = data, sign = 1, ch, base, digits = [];
      if (value.indexOf("_") !== -1) {
        value = value.replace(/_/g, "");
      }
      ch = value[0];
      if (ch === "-" || ch === "+") {
        if (ch === "-") sign = -1;
        value = value.slice(1);
        ch = value[0];
      }
      if (value === "0") return 0;
      if (ch === "0") {
        if (value[1] === "b") return sign * parseInt(value.slice(2), 2);
        if (value[1] === "x") return sign * parseInt(value, 16);
        return sign * parseInt(value, 8);
      }
      if (value.indexOf(":") !== -1) {
        value.split(":").forEach(function(v) {
          digits.unshift(parseInt(v, 10));
        });
        value = 0;
        base = 1;
        digits.forEach(function(d) {
          value += d * base;
          base *= 60;
        });
        return sign * value;
      }
      return sign * parseInt(value, 10);
    }
    function isInteger(object) {
      return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object));
    }
    module2.exports = new Type("tag:yaml.org,2002:int", {
      kind: "scalar",
      resolve: resolveYamlInteger,
      construct: constructYamlInteger,
      predicate: isInteger,
      represent: {
        binary: function(obj) {
          return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1);
        },
        octal: function(obj) {
          return obj >= 0 ? "0" + obj.toString(8) : "-0" + obj.toString(8).slice(1);
        },
        decimal: function(obj) {
          return obj.toString(10);
        },
        /* eslint-disable max-len */
        hexadecimal: function(obj) {
          return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1);
        }
      },
      defaultStyle: "decimal",
      styleAliases: {
        binary: [2, "bin"],
        octal: [8, "oct"],
        decimal: [10, "dec"],
        hexadecimal: [16, "hex"]
      }
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/float.js
var require_float2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/float.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    var Type = require_type3();
    var YAML_FLOAT_PATTERN = new RegExp(
      // 2.5e4, 2.5 and integers
      "^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"
    );
    function resolveYamlFloat(data) {
      if (data === null) return false;
      if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_`
      // Probably should update regexp & check speed
      data[data.length - 1] === "_") {
        return false;
      }
      return true;
    }
    function constructYamlFloat(data) {
      var value, sign, base, digits;
      value = data.replace(/_/g, "").toLowerCase();
      sign = value[0] === "-" ? -1 : 1;
      digits = [];
      if ("+-".indexOf(value[0]) >= 0) {
        value = value.slice(1);
      }
      if (value === ".inf") {
        return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;
      } else if (value === ".nan") {
        return NaN;
      } else if (value.indexOf(":") >= 0) {
        value.split(":").forEach(function(v) {
          digits.unshift(parseFloat(v, 10));
        });
        value = 0;
        base = 1;
        digits.forEach(function(d) {
          value += d * base;
          base *= 60;
        });
        return sign * value;
      }
      return sign * parseFloat(value, 10);
    }
    var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;
    function representYamlFloat(object, style) {
      var res;
      if (isNaN(object)) {
        switch (style) {
          case "lowercase":
            return ".nan";
          case "uppercase":
            return ".NAN";
          case "camelcase":
            return ".NaN";
        }
      } else if (Number.POSITIVE_INFINITY === object) {
        switch (style) {
          case "lowercase":
            return ".inf";
          case "uppercase":
            return ".INF";
          case "camelcase":
            return ".Inf";
        }
      } else if (Number.NEGATIVE_INFINITY === object) {
        switch (style) {
          case "lowercase":
            return "-.inf";
          case "uppercase":
            return "-.INF";
          case "camelcase":
            return "-.Inf";
        }
      } else if (common.isNegativeZero(object)) {
        return "-0.0";
      }
      res = object.toString(10);
      return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res;
    }
    function isFloat(object) {
      return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object));
    }
    module2.exports = new Type("tag:yaml.org,2002:float", {
      kind: "scalar",
      resolve: resolveYamlFloat,
      construct: constructYamlFloat,
      predicate: isFloat,
      represent: representYamlFloat,
      defaultStyle: "lowercase"
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/json.js
var require_json3 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/json.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema2();
    module2.exports = new Schema({
      include: [
        require_failsafe2()
      ],
      implicit: [
        require_null2(),
        require_bool2(),
        require_int2(),
        require_float2()
      ]
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/core.js
var require_core5 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/core.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema2();
    module2.exports = new Schema({
      include: [
        require_json3()
      ]
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/timestamp.js
var require_timestamp3 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/timestamp.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    var YAML_DATE_REGEXP = new RegExp(
      "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"
    );
    var YAML_TIMESTAMP_REGEXP = new RegExp(
      "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"
    );
    function resolveYamlTimestamp(data) {
      if (data === null) return false;
      if (YAML_DATE_REGEXP.exec(data) !== null) return true;
      if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;
      return false;
    }
    function constructYamlTimestamp(data) {
      var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date;
      match = YAML_DATE_REGEXP.exec(data);
      if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);
      if (match === null) throw new Error("Date resolve error");
      year = +match[1];
      month = +match[2] - 1;
      day = +match[3];
      if (!match[4]) {
        return new Date(Date.UTC(year, month, day));
      }
      hour = +match[4];
      minute = +match[5];
      second = +match[6];
      if (match[7]) {
        fraction = match[7].slice(0, 3);
        while (fraction.length < 3) {
          fraction += "0";
        }
        fraction = +fraction;
      }
      if (match[9]) {
        tz_hour = +match[10];
        tz_minute = +(match[11] || 0);
        delta = (tz_hour * 60 + tz_minute) * 6e4;
        if (match[9] === "-") delta = -delta;
      }
      date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));
      if (delta) date.setTime(date.getTime() - delta);
      return date;
    }
    function representYamlTimestamp(object) {
      return object.toISOString();
    }
    module2.exports = new Type("tag:yaml.org,2002:timestamp", {
      kind: "scalar",
      resolve: resolveYamlTimestamp,
      construct: constructYamlTimestamp,
      instanceOf: Date,
      represent: representYamlTimestamp
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/merge.js
var require_merge4 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/merge.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    function resolveYamlMerge(data) {
      return data === "<<" || data === null;
    }
    module2.exports = new Type("tag:yaml.org,2002:merge", {
      kind: "scalar",
      resolve: resolveYamlMerge
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/binary.js
var require_binary2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/binary.js"(exports2, module2) {
    "use strict";
    var NodeBuffer;
    try {
      _require = require;
      NodeBuffer = _require("buffer").Buffer;
    } catch (__) {
    }
    var _require;
    var Type = require_type3();
    var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";
    function resolveYamlBinary(data) {
      if (data === null) return false;
      var code, idx, bitlen = 0, max = data.length, map = BASE64_MAP;
      for (idx = 0; idx < max; idx++) {
        code = map.indexOf(data.charAt(idx));
        if (code > 64) continue;
        if (code < 0) return false;
        bitlen += 6;
      }
      return bitlen % 8 === 0;
    }
    function constructYamlBinary(data) {
      var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map = BASE64_MAP, bits = 0, result2 = [];
      for (idx = 0; idx < max; idx++) {
        if (idx % 4 === 0 && idx) {
          result2.push(bits >> 16 & 255);
          result2.push(bits >> 8 & 255);
          result2.push(bits & 255);
        }
        bits = bits << 6 | map.indexOf(input.charAt(idx));
      }
      tailbits = max % 4 * 6;
      if (tailbits === 0) {
        result2.push(bits >> 16 & 255);
        result2.push(bits >> 8 & 255);
        result2.push(bits & 255);
      } else if (tailbits === 18) {
        result2.push(bits >> 10 & 255);
        result2.push(bits >> 2 & 255);
      } else if (tailbits === 12) {
        result2.push(bits >> 4 & 255);
      }
      if (NodeBuffer) {
        return NodeBuffer.from ? NodeBuffer.from(result2) : new NodeBuffer(result2);
      }
      return result2;
    }
    function representYamlBinary(object) {
      var result2 = "", bits = 0, idx, tail, max = object.length, map = BASE64_MAP;
      for (idx = 0; idx < max; idx++) {
        if (idx % 3 === 0 && idx) {
          result2 += map[bits >> 18 & 63];
          result2 += map[bits >> 12 & 63];
          result2 += map[bits >> 6 & 63];
          result2 += map[bits & 63];
        }
        bits = (bits << 8) + object[idx];
      }
      tail = max % 3;
      if (tail === 0) {
        result2 += map[bits >> 18 & 63];
        result2 += map[bits >> 12 & 63];
        result2 += map[bits >> 6 & 63];
        result2 += map[bits & 63];
      } else if (tail === 2) {
        result2 += map[bits >> 10 & 63];
        result2 += map[bits >> 4 & 63];
        result2 += map[bits << 2 & 63];
        result2 += map[64];
      } else if (tail === 1) {
        result2 += map[bits >> 2 & 63];
        result2 += map[bits << 4 & 63];
        result2 += map[64];
        result2 += map[64];
      }
      return result2;
    }
    function isBinary(object) {
      return NodeBuffer && NodeBuffer.isBuffer(object);
    }
    module2.exports = new Type("tag:yaml.org,2002:binary", {
      kind: "scalar",
      resolve: resolveYamlBinary,
      construct: constructYamlBinary,
      predicate: isBinary,
      represent: representYamlBinary
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/omap.js
var require_omap2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/omap.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var _toString = Object.prototype.toString;
    function resolveYamlOmap(data) {
      if (data === null) return true;
      var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data;
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        pairHasKey = false;
        if (_toString.call(pair) !== "[object Object]") return false;
        for (pairKey in pair) {
          if (_hasOwnProperty.call(pair, pairKey)) {
            if (!pairHasKey) pairHasKey = true;
            else return false;
          }
        }
        if (!pairHasKey) return false;
        if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);
        else return false;
      }
      return true;
    }
    function constructYamlOmap(data) {
      return data !== null ? data : [];
    }
    module2.exports = new Type("tag:yaml.org,2002:omap", {
      kind: "sequence",
      resolve: resolveYamlOmap,
      construct: constructYamlOmap
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/pairs.js
var require_pairs3 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/pairs.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    var _toString = Object.prototype.toString;
    function resolveYamlPairs(data) {
      if (data === null) return true;
      var index, length, pair, keys, result2, object = data;
      result2 = new Array(object.length);
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        if (_toString.call(pair) !== "[object Object]") return false;
        keys = Object.keys(pair);
        if (keys.length !== 1) return false;
        result2[index] = [keys[0], pair[keys[0]]];
      }
      return true;
    }
    function constructYamlPairs(data) {
      if (data === null) return [];
      var index, length, pair, keys, result2, object = data;
      result2 = new Array(object.length);
      for (index = 0, length = object.length; index < length; index += 1) {
        pair = object[index];
        keys = Object.keys(pair);
        result2[index] = [keys[0], pair[keys[0]]];
      }
      return result2;
    }
    module2.exports = new Type("tag:yaml.org,2002:pairs", {
      kind: "sequence",
      resolve: resolveYamlPairs,
      construct: constructYamlPairs
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/set.js
var require_set2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/set.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    function resolveYamlSet(data) {
      if (data === null) return true;
      var key, object = data;
      for (key in object) {
        if (_hasOwnProperty.call(object, key)) {
          if (object[key] !== null) return false;
        }
      }
      return true;
    }
    function constructYamlSet(data) {
      return data !== null ? data : {};
    }
    module2.exports = new Type("tag:yaml.org,2002:set", {
      kind: "mapping",
      resolve: resolveYamlSet,
      construct: constructYamlSet
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js
var require_default_safe = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema2();
    module2.exports = new Schema({
      include: [
        require_core5()
      ],
      implicit: [
        require_timestamp3(),
        require_merge4()
      ],
      explicit: [
        require_binary2(),
        require_omap2(),
        require_pairs3(),
        require_set2()
      ]
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js
var require_undefined = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    function resolveJavascriptUndefined() {
      return true;
    }
    function constructJavascriptUndefined() {
      return void 0;
    }
    function representJavascriptUndefined() {
      return "";
    }
    function isUndefined(object) {
      return typeof object === "undefined";
    }
    module2.exports = new Type("tag:yaml.org,2002:js/undefined", {
      kind: "scalar",
      resolve: resolveJavascriptUndefined,
      construct: constructJavascriptUndefined,
      predicate: isUndefined,
      represent: representJavascriptUndefined
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js
var require_regexp = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js"(exports2, module2) {
    "use strict";
    var Type = require_type3();
    function resolveJavascriptRegExp(data) {
      if (data === null) return false;
      if (data.length === 0) return false;
      var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = "";
      if (regexp[0] === "/") {
        if (tail) modifiers = tail[1];
        if (modifiers.length > 3) return false;
        if (regexp[regexp.length - modifiers.length - 1] !== "/") return false;
      }
      return true;
    }
    function constructJavascriptRegExp(data) {
      var regexp = data, tail = /\/([gim]*)$/.exec(data), modifiers = "";
      if (regexp[0] === "/") {
        if (tail) modifiers = tail[1];
        regexp = regexp.slice(1, regexp.length - modifiers.length - 1);
      }
      return new RegExp(regexp, modifiers);
    }
    function representJavascriptRegExp(object) {
      var result2 = "/" + object.source + "/";
      if (object.global) result2 += "g";
      if (object.multiline) result2 += "m";
      if (object.ignoreCase) result2 += "i";
      return result2;
    }
    function isRegExp(object) {
      return Object.prototype.toString.call(object) === "[object RegExp]";
    }
    module2.exports = new Type("tag:yaml.org,2002:js/regexp", {
      kind: "scalar",
      resolve: resolveJavascriptRegExp,
      construct: constructJavascriptRegExp,
      predicate: isRegExp,
      represent: representJavascriptRegExp
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/function.js
var require_function = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/type/js/function.js"(exports2, module2) {
    "use strict";
    var esprima;
    try {
      _require = require;
      esprima = _require("esprima");
    } catch (_) {
      if (typeof window !== "undefined") esprima = window.esprima;
    }
    var _require;
    var Type = require_type3();
    function resolveJavascriptFunction(data) {
      if (data === null) return false;
      try {
        var source = "(" + data + ")", ast = esprima.parse(source, { range: true });
        if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
          return false;
        }
        return true;
      } catch (err) {
        return false;
      }
    }
    function constructJavascriptFunction(data) {
      var source = "(" + data + ")", ast = esprima.parse(source, { range: true }), params = [], body;
      if (ast.type !== "Program" || ast.body.length !== 1 || ast.body[0].type !== "ExpressionStatement" || ast.body[0].expression.type !== "ArrowFunctionExpression" && ast.body[0].expression.type !== "FunctionExpression") {
        throw new Error("Failed to resolve function");
      }
      ast.body[0].expression.params.forEach(function(param) {
        params.push(param.name);
      });
      body = ast.body[0].expression.body.range;
      if (ast.body[0].expression.body.type === "BlockStatement") {
        return new Function(params, source.slice(body[0] + 1, body[1] - 1));
      }
      return new Function(params, "return " + source.slice(body[0], body[1]));
    }
    function representJavascriptFunction(object) {
      return object.toString();
    }
    function isFunction(object) {
      return Object.prototype.toString.call(object) === "[object Function]";
    }
    module2.exports = new Type("tag:yaml.org,2002:js/function", {
      kind: "scalar",
      resolve: resolveJavascriptFunction,
      construct: constructJavascriptFunction,
      predicate: isFunction,
      represent: representJavascriptFunction
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/default_full.js
var require_default_full = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/schema/default_full.js"(exports2, module2) {
    "use strict";
    var Schema = require_schema2();
    module2.exports = Schema.DEFAULT = new Schema({
      include: [
        require_default_safe()
      ],
      explicit: [
        require_undefined(),
        require_regexp(),
        require_function()
      ]
    });
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/loader.js
var require_loader2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/loader.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    var YAMLException = require_exception2();
    var Mark = require_mark();
    var DEFAULT_SAFE_SCHEMA = require_default_safe();
    var DEFAULT_FULL_SCHEMA = require_default_full();
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var CONTEXT_FLOW_IN = 1;
    var CONTEXT_FLOW_OUT = 2;
    var CONTEXT_BLOCK_IN = 3;
    var CONTEXT_BLOCK_OUT = 4;
    var CHOMPING_CLIP = 1;
    var CHOMPING_STRIP = 2;
    var CHOMPING_KEEP = 3;
    var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
    var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
    var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
    var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
    var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
    function _class(obj) {
      return Object.prototype.toString.call(obj);
    }
    function is_EOL(c) {
      return c === 10 || c === 13;
    }
    function is_WHITE_SPACE(c) {
      return c === 9 || c === 32;
    }
    function is_WS_OR_EOL(c) {
      return c === 9 || c === 32 || c === 10 || c === 13;
    }
    function is_FLOW_INDICATOR(c) {
      return c === 44 || c === 91 || c === 93 || c === 123 || c === 125;
    }
    function fromHexCode(c) {
      var lc;
      if (48 <= c && c <= 57) {
        return c - 48;
      }
      lc = c | 32;
      if (97 <= lc && lc <= 102) {
        return lc - 97 + 10;
      }
      return -1;
    }
    function escapedHexLen(c) {
      if (c === 120) {
        return 2;
      }
      if (c === 117) {
        return 4;
      }
      if (c === 85) {
        return 8;
      }
      return 0;
    }
    function fromDecimalCode(c) {
      if (48 <= c && c <= 57) {
        return c - 48;
      }
      return -1;
    }
    function simpleEscapeSequence(c) {
      return c === 48 ? "\0" : c === 97 ? "\x07" : c === 98 ? "\b" : c === 116 ? "	" : c === 9 ? "	" : c === 110 ? "\n" : c === 118 ? "\v" : c === 102 ? "\f" : c === 114 ? "\r" : c === 101 ? "\x1B" : c === 32 ? " " : c === 34 ? '"' : c === 47 ? "/" : c === 92 ? "\\" : c === 78 ? "\x85" : c === 95 ? "\xA0" : c === 76 ? "\u2028" : c === 80 ? "\u2029" : "";
    }
    function charFromCodepoint(c) {
      if (c <= 65535) {
        return String.fromCharCode(c);
      }
      return String.fromCharCode(
        (c - 65536 >> 10) + 55296,
        (c - 65536 & 1023) + 56320
      );
    }
    var simpleEscapeCheck = new Array(256);
    var simpleEscapeMap = new Array(256);
    for (i = 0; i < 256; i++) {
      simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
      simpleEscapeMap[i] = simpleEscapeSequence(i);
    }
    var i;
    function State(input, options) {
      this.input = input;
      this.filename = options["filename"] || null;
      this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
      this.onWarning = options["onWarning"] || null;
      this.legacy = options["legacy"] || false;
      this.json = options["json"] || false;
      this.listener = options["listener"] || null;
      this.implicitTypes = this.schema.compiledImplicit;
      this.typeMap = this.schema.compiledTypeMap;
      this.length = input.length;
      this.position = 0;
      this.line = 0;
      this.lineStart = 0;
      this.lineIndent = 0;
      this.documents = [];
    }
    function generateError(state, message) {
      return new YAMLException(
        message,
        new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart)
      );
    }
    function throwError(state, message) {
      throw generateError(state, message);
    }
    function throwWarning(state, message) {
      if (state.onWarning) {
        state.onWarning.call(null, generateError(state, message));
      }
    }
    var directiveHandlers = {
      YAML: function handleYamlDirective(state, name, args) {
        var match, major, minor;
        if (state.version !== null) {
          throwError(state, "duplication of %YAML directive");
        }
        if (args.length !== 1) {
          throwError(state, "YAML directive accepts exactly one argument");
        }
        match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
        if (match === null) {
          throwError(state, "ill-formed argument of the YAML directive");
        }
        major = parseInt(match[1], 10);
        minor = parseInt(match[2], 10);
        if (major !== 1) {
          throwError(state, "unacceptable YAML version of the document");
        }
        state.version = args[0];
        state.checkLineBreaks = minor < 2;
        if (minor !== 1 && minor !== 2) {
          throwWarning(state, "unsupported YAML version of the document");
        }
      },
      TAG: function handleTagDirective(state, name, args) {
        var handle, prefix;
        if (args.length !== 2) {
          throwError(state, "TAG directive accepts exactly two arguments");
        }
        handle = args[0];
        prefix = args[1];
        if (!PATTERN_TAG_HANDLE.test(handle)) {
          throwError(state, "ill-formed tag handle (first argument) of the TAG directive");
        }
        if (_hasOwnProperty.call(state.tagMap, handle)) {
          throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
        }
        if (!PATTERN_TAG_URI.test(prefix)) {
          throwError(state, "ill-formed tag prefix (second argument) of the TAG directive");
        }
        state.tagMap[handle] = prefix;
      }
    };
    function captureSegment(state, start, end, checkJson) {
      var _position, _length, _character, _result;
      if (start < end) {
        _result = state.input.slice(start, end);
        if (checkJson) {
          for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
            _character = _result.charCodeAt(_position);
            if (!(_character === 9 || 32 <= _character && _character <= 1114111)) {
              throwError(state, "expected valid JSON character");
            }
          }
        } else if (PATTERN_NON_PRINTABLE.test(_result)) {
          throwError(state, "the stream contains non-printable characters");
        }
        state.result += _result;
      }
    }
    function mergeMappings(state, destination, source, overridableKeys) {
      var sourceKeys, key, index, quantity;
      if (!common.isObject(source)) {
        throwError(state, "cannot merge mappings; the provided source object is unacceptable");
      }
      sourceKeys = Object.keys(source);
      for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
        key = sourceKeys[index];
        if (!_hasOwnProperty.call(destination, key)) {
          destination[key] = source[key];
          overridableKeys[key] = true;
        }
      }
    }
    function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {
      var index, quantity;
      if (Array.isArray(keyNode)) {
        keyNode = Array.prototype.slice.call(keyNode);
        for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {
          if (Array.isArray(keyNode[index])) {
            throwError(state, "nested arrays are not supported inside keys");
          }
          if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") {
            keyNode[index] = "[object Object]";
          }
        }
      }
      if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") {
        keyNode = "[object Object]";
      }
      keyNode = String(keyNode);
      if (_result === null) {
        _result = {};
      }
      if (keyTag === "tag:yaml.org,2002:merge") {
        if (Array.isArray(valueNode)) {
          for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
            mergeMappings(state, _result, valueNode[index], overridableKeys);
          }
        } else {
          mergeMappings(state, _result, valueNode, overridableKeys);
        }
      } else {
        if (!state.json && !_hasOwnProperty.call(overridableKeys, keyNode) && _hasOwnProperty.call(_result, keyNode)) {
          state.line = startLine || state.line;
          state.position = startPos || state.position;
          throwError(state, "duplicated mapping key");
        }
        _result[keyNode] = valueNode;
        delete overridableKeys[keyNode];
      }
      return _result;
    }
    function readLineBreak(state) {
      var ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 10) {
        state.position++;
      } else if (ch === 13) {
        state.position++;
        if (state.input.charCodeAt(state.position) === 10) {
          state.position++;
        }
      } else {
        throwError(state, "a line break is expected");
      }
      state.line += 1;
      state.lineStart = state.position;
    }
    function skipSeparationSpace(state, allowComments, checkIndent) {
      var lineBreaks = 0, ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        while (is_WHITE_SPACE(ch)) {
          ch = state.input.charCodeAt(++state.position);
        }
        if (allowComments && ch === 35) {
          do {
            ch = state.input.charCodeAt(++state.position);
          } while (ch !== 10 && ch !== 13 && ch !== 0);
        }
        if (is_EOL(ch)) {
          readLineBreak(state);
          ch = state.input.charCodeAt(state.position);
          lineBreaks++;
          state.lineIndent = 0;
          while (ch === 32) {
            state.lineIndent++;
            ch = state.input.charCodeAt(++state.position);
          }
        } else {
          break;
        }
      }
      if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
        throwWarning(state, "deficient indentation");
      }
      return lineBreaks;
    }
    function testDocumentSeparator(state) {
      var _position = state.position, ch;
      ch = state.input.charCodeAt(_position);
      if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {
        _position += 3;
        ch = state.input.charCodeAt(_position);
        if (ch === 0 || is_WS_OR_EOL(ch)) {
          return true;
        }
      }
      return false;
    }
    function writeFoldedLines(state, count) {
      if (count === 1) {
        state.result += " ";
      } else if (count > 1) {
        state.result += common.repeat("\n", count - 1);
      }
    }
    function readPlainScalar(state, nodeIndent, withinFlowCollection) {
      var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch;
      ch = state.input.charCodeAt(state.position);
      if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) {
        return false;
      }
      if (ch === 63 || ch === 45) {
        following = state.input.charCodeAt(state.position + 1);
        if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
          return false;
        }
      }
      state.kind = "scalar";
      state.result = "";
      captureStart = captureEnd = state.position;
      hasPendingContent = false;
      while (ch !== 0) {
        if (ch === 58) {
          following = state.input.charCodeAt(state.position + 1);
          if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {
            break;
          }
        } else if (ch === 35) {
          preceding = state.input.charCodeAt(state.position - 1);
          if (is_WS_OR_EOL(preceding)) {
            break;
          }
        } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {
          break;
        } else if (is_EOL(ch)) {
          _line = state.line;
          _lineStart = state.lineStart;
          _lineIndent = state.lineIndent;
          skipSeparationSpace(state, false, -1);
          if (state.lineIndent >= nodeIndent) {
            hasPendingContent = true;
            ch = state.input.charCodeAt(state.position);
            continue;
          } else {
            state.position = captureEnd;
            state.line = _line;
            state.lineStart = _lineStart;
            state.lineIndent = _lineIndent;
            break;
          }
        }
        if (hasPendingContent) {
          captureSegment(state, captureStart, captureEnd, false);
          writeFoldedLines(state, state.line - _line);
          captureStart = captureEnd = state.position;
          hasPendingContent = false;
        }
        if (!is_WHITE_SPACE(ch)) {
          captureEnd = state.position + 1;
        }
        ch = state.input.charCodeAt(++state.position);
      }
      captureSegment(state, captureStart, captureEnd, false);
      if (state.result) {
        return true;
      }
      state.kind = _kind;
      state.result = _result;
      return false;
    }
    function readSingleQuotedScalar(state, nodeIndent) {
      var ch, captureStart, captureEnd;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 39) {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      state.position++;
      captureStart = captureEnd = state.position;
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        if (ch === 39) {
          captureSegment(state, captureStart, state.position, true);
          ch = state.input.charCodeAt(++state.position);
          if (ch === 39) {
            captureStart = state.position;
            state.position++;
            captureEnd = state.position;
          } else {
            return true;
          }
        } else if (is_EOL(ch)) {
          captureSegment(state, captureStart, captureEnd, true);
          writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
          captureStart = captureEnd = state.position;
        } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
          throwError(state, "unexpected end of the document within a single quoted scalar");
        } else {
          state.position++;
          captureEnd = state.position;
        }
      }
      throwError(state, "unexpected end of the stream within a single quoted scalar");
    }
    function readDoubleQuotedScalar(state, nodeIndent) {
      var captureStart, captureEnd, hexLength, hexResult, tmp, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 34) {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      state.position++;
      captureStart = captureEnd = state.position;
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        if (ch === 34) {
          captureSegment(state, captureStart, state.position, true);
          state.position++;
          return true;
        } else if (ch === 92) {
          captureSegment(state, captureStart, state.position, true);
          ch = state.input.charCodeAt(++state.position);
          if (is_EOL(ch)) {
            skipSeparationSpace(state, false, nodeIndent);
          } else if (ch < 256 && simpleEscapeCheck[ch]) {
            state.result += simpleEscapeMap[ch];
            state.position++;
          } else if ((tmp = escapedHexLen(ch)) > 0) {
            hexLength = tmp;
            hexResult = 0;
            for (; hexLength > 0; hexLength--) {
              ch = state.input.charCodeAt(++state.position);
              if ((tmp = fromHexCode(ch)) >= 0) {
                hexResult = (hexResult << 4) + tmp;
              } else {
                throwError(state, "expected hexadecimal character");
              }
            }
            state.result += charFromCodepoint(hexResult);
            state.position++;
          } else {
            throwError(state, "unknown escape sequence");
          }
          captureStart = captureEnd = state.position;
        } else if (is_EOL(ch)) {
          captureSegment(state, captureStart, captureEnd, true);
          writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
          captureStart = captureEnd = state.position;
        } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
          throwError(state, "unexpected end of the document within a double quoted scalar");
        } else {
          state.position++;
          captureEnd = state.position;
        }
      }
      throwError(state, "unexpected end of the stream within a double quoted scalar");
    }
    function readFlowCollection(state, nodeIndent) {
      var readNext = true, _line, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = {}, keyNode, keyTag, valueNode, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 91) {
        terminator = 93;
        isMapping = false;
        _result = [];
      } else if (ch === 123) {
        terminator = 125;
        isMapping = true;
        _result = {};
      } else {
        return false;
      }
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(++state.position);
      while (ch !== 0) {
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if (ch === terminator) {
          state.position++;
          state.tag = _tag;
          state.anchor = _anchor;
          state.kind = isMapping ? "mapping" : "sequence";
          state.result = _result;
          return true;
        } else if (!readNext) {
          throwError(state, "missed comma between flow collection entries");
        }
        keyTag = keyNode = valueNode = null;
        isPair = isExplicitPair = false;
        if (ch === 63) {
          following = state.input.charCodeAt(state.position + 1);
          if (is_WS_OR_EOL(following)) {
            isPair = isExplicitPair = true;
            state.position++;
            skipSeparationSpace(state, true, nodeIndent);
          }
        }
        _line = state.line;
        composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
        keyTag = state.tag;
        keyNode = state.result;
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if ((isExplicitPair || state.line === _line) && ch === 58) {
          isPair = true;
          ch = state.input.charCodeAt(++state.position);
          skipSeparationSpace(state, true, nodeIndent);
          composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
          valueNode = state.result;
        }
        if (isMapping) {
          storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);
        } else if (isPair) {
          _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));
        } else {
          _result.push(keyNode);
        }
        skipSeparationSpace(state, true, nodeIndent);
        ch = state.input.charCodeAt(state.position);
        if (ch === 44) {
          readNext = true;
          ch = state.input.charCodeAt(++state.position);
        } else {
          readNext = false;
        }
      }
      throwError(state, "unexpected end of the stream within a flow collection");
    }
    function readBlockScalar(state, nodeIndent) {
      var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch === 124) {
        folding = false;
      } else if (ch === 62) {
        folding = true;
      } else {
        return false;
      }
      state.kind = "scalar";
      state.result = "";
      while (ch !== 0) {
        ch = state.input.charCodeAt(++state.position);
        if (ch === 43 || ch === 45) {
          if (CHOMPING_CLIP === chomping) {
            chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP;
          } else {
            throwError(state, "repeat of a chomping mode identifier");
          }
        } else if ((tmp = fromDecimalCode(ch)) >= 0) {
          if (tmp === 0) {
            throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one");
          } else if (!detectedIndent) {
            textIndent = nodeIndent + tmp - 1;
            detectedIndent = true;
          } else {
            throwError(state, "repeat of an indentation width identifier");
          }
        } else {
          break;
        }
      }
      if (is_WHITE_SPACE(ch)) {
        do {
          ch = state.input.charCodeAt(++state.position);
        } while (is_WHITE_SPACE(ch));
        if (ch === 35) {
          do {
            ch = state.input.charCodeAt(++state.position);
          } while (!is_EOL(ch) && ch !== 0);
        }
      }
      while (ch !== 0) {
        readLineBreak(state);
        state.lineIndent = 0;
        ch = state.input.charCodeAt(state.position);
        while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) {
          state.lineIndent++;
          ch = state.input.charCodeAt(++state.position);
        }
        if (!detectedIndent && state.lineIndent > textIndent) {
          textIndent = state.lineIndent;
        }
        if (is_EOL(ch)) {
          emptyLines++;
          continue;
        }
        if (state.lineIndent < textIndent) {
          if (chomping === CHOMPING_KEEP) {
            state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
          } else if (chomping === CHOMPING_CLIP) {
            if (didReadContent) {
              state.result += "\n";
            }
          }
          break;
        }
        if (folding) {
          if (is_WHITE_SPACE(ch)) {
            atMoreIndented = true;
            state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
          } else if (atMoreIndented) {
            atMoreIndented = false;
            state.result += common.repeat("\n", emptyLines + 1);
          } else if (emptyLines === 0) {
            if (didReadContent) {
              state.result += " ";
            }
          } else {
            state.result += common.repeat("\n", emptyLines);
          }
        } else {
          state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines);
        }
        didReadContent = true;
        detectedIndent = true;
        emptyLines = 0;
        captureStart = state.position;
        while (!is_EOL(ch) && ch !== 0) {
          ch = state.input.charCodeAt(++state.position);
        }
        captureSegment(state, captureStart, state.position, false);
      }
      return true;
    }
    function readBlockSequence(state, nodeIndent) {
      var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch;
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        if (ch !== 45) {
          break;
        }
        following = state.input.charCodeAt(state.position + 1);
        if (!is_WS_OR_EOL(following)) {
          break;
        }
        detected = true;
        state.position++;
        if (skipSeparationSpace(state, true, -1)) {
          if (state.lineIndent <= nodeIndent) {
            _result.push(null);
            ch = state.input.charCodeAt(state.position);
            continue;
          }
        }
        _line = state.line;
        composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
        _result.push(state.result);
        skipSeparationSpace(state, true, -1);
        ch = state.input.charCodeAt(state.position);
        if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {
          throwError(state, "bad indentation of a sequence entry");
        } else if (state.lineIndent < nodeIndent) {
          break;
        }
      }
      if (detected) {
        state.tag = _tag;
        state.anchor = _anchor;
        state.kind = "sequence";
        state.result = _result;
        return true;
      }
      return false;
    }
    function readBlockMapping(state, nodeIndent, flowIndent) {
      var following, allowCompact, _line, _pos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = {}, keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch;
      if (state.anchor !== null) {
        state.anchorMap[state.anchor] = _result;
      }
      ch = state.input.charCodeAt(state.position);
      while (ch !== 0) {
        following = state.input.charCodeAt(state.position + 1);
        _line = state.line;
        _pos = state.position;
        if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) {
          if (ch === 63) {
            if (atExplicitKey) {
              storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
              keyTag = keyNode = valueNode = null;
            }
            detected = true;
            atExplicitKey = true;
            allowCompact = true;
          } else if (atExplicitKey) {
            atExplicitKey = false;
            allowCompact = true;
          } else {
            throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line");
          }
          state.position += 1;
          ch = following;
        } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
          if (state.line === _line) {
            ch = state.input.charCodeAt(state.position);
            while (is_WHITE_SPACE(ch)) {
              ch = state.input.charCodeAt(++state.position);
            }
            if (ch === 58) {
              ch = state.input.charCodeAt(++state.position);
              if (!is_WS_OR_EOL(ch)) {
                throwError(state, "a whitespace character is expected after the key-value separator within a block mapping");
              }
              if (atExplicitKey) {
                storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
                keyTag = keyNode = valueNode = null;
              }
              detected = true;
              atExplicitKey = false;
              allowCompact = false;
              keyTag = state.tag;
              keyNode = state.result;
            } else if (detected) {
              throwError(state, "can not read an implicit mapping pair; a colon is missed");
            } else {
              state.tag = _tag;
              state.anchor = _anchor;
              return true;
            }
          } else if (detected) {
            throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key");
          } else {
            state.tag = _tag;
            state.anchor = _anchor;
            return true;
          }
        } else {
          break;
        }
        if (state.line === _line || state.lineIndent > nodeIndent) {
          if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
            if (atExplicitKey) {
              keyNode = state.result;
            } else {
              valueNode = state.result;
            }
          }
          if (!atExplicitKey) {
            storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);
            keyTag = keyNode = valueNode = null;
          }
          skipSeparationSpace(state, true, -1);
          ch = state.input.charCodeAt(state.position);
        }
        if (state.lineIndent > nodeIndent && ch !== 0) {
          throwError(state, "bad indentation of a mapping entry");
        } else if (state.lineIndent < nodeIndent) {
          break;
        }
      }
      if (atExplicitKey) {
        storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
      }
      if (detected) {
        state.tag = _tag;
        state.anchor = _anchor;
        state.kind = "mapping";
        state.result = _result;
      }
      return detected;
    }
    function readTagProperty(state) {
      var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 33) return false;
      if (state.tag !== null) {
        throwError(state, "duplication of a tag property");
      }
      ch = state.input.charCodeAt(++state.position);
      if (ch === 60) {
        isVerbatim = true;
        ch = state.input.charCodeAt(++state.position);
      } else if (ch === 33) {
        isNamed = true;
        tagHandle = "!!";
        ch = state.input.charCodeAt(++state.position);
      } else {
        tagHandle = "!";
      }
      _position = state.position;
      if (isVerbatim) {
        do {
          ch = state.input.charCodeAt(++state.position);
        } while (ch !== 0 && ch !== 62);
        if (state.position < state.length) {
          tagName = state.input.slice(_position, state.position);
          ch = state.input.charCodeAt(++state.position);
        } else {
          throwError(state, "unexpected end of the stream within a verbatim tag");
        }
      } else {
        while (ch !== 0 && !is_WS_OR_EOL(ch)) {
          if (ch === 33) {
            if (!isNamed) {
              tagHandle = state.input.slice(_position - 1, state.position + 1);
              if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
                throwError(state, "named tag handle cannot contain such characters");
              }
              isNamed = true;
              _position = state.position + 1;
            } else {
              throwError(state, "tag suffix cannot contain exclamation marks");
            }
          }
          ch = state.input.charCodeAt(++state.position);
        }
        tagName = state.input.slice(_position, state.position);
        if (PATTERN_FLOW_INDICATORS.test(tagName)) {
          throwError(state, "tag suffix cannot contain flow indicator characters");
        }
      }
      if (tagName && !PATTERN_TAG_URI.test(tagName)) {
        throwError(state, "tag name cannot contain such characters: " + tagName);
      }
      if (isVerbatim) {
        state.tag = tagName;
      } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {
        state.tag = state.tagMap[tagHandle] + tagName;
      } else if (tagHandle === "!") {
        state.tag = "!" + tagName;
      } else if (tagHandle === "!!") {
        state.tag = "tag:yaml.org,2002:" + tagName;
      } else {
        throwError(state, 'undeclared tag handle "' + tagHandle + '"');
      }
      return true;
    }
    function readAnchorProperty(state) {
      var _position, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 38) return false;
      if (state.anchor !== null) {
        throwError(state, "duplication of an anchor property");
      }
      ch = state.input.charCodeAt(++state.position);
      _position = state.position;
      while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
        ch = state.input.charCodeAt(++state.position);
      }
      if (state.position === _position) {
        throwError(state, "name of an anchor node must contain at least one character");
      }
      state.anchor = state.input.slice(_position, state.position);
      return true;
    }
    function readAlias(state) {
      var _position, alias, ch;
      ch = state.input.charCodeAt(state.position);
      if (ch !== 42) return false;
      ch = state.input.charCodeAt(++state.position);
      _position = state.position;
      while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
        ch = state.input.charCodeAt(++state.position);
      }
      if (state.position === _position) {
        throwError(state, "name of an alias node must contain at least one character");
      }
      alias = state.input.slice(_position, state.position);
      if (!_hasOwnProperty.call(state.anchorMap, alias)) {
        throwError(state, 'unidentified alias "' + alias + '"');
      }
      state.result = state.anchorMap[alias];
      skipSeparationSpace(state, true, -1);
      return true;
    }
    function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
      var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, type, flowIndent, blockIndent;
      if (state.listener !== null) {
        state.listener("open", state);
      }
      state.tag = null;
      state.anchor = null;
      state.kind = null;
      state.result = null;
      allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;
      if (allowToSeek) {
        if (skipSeparationSpace(state, true, -1)) {
          atNewLine = true;
          if (state.lineIndent > parentIndent) {
            indentStatus = 1;
          } else if (state.lineIndent === parentIndent) {
            indentStatus = 0;
          } else if (state.lineIndent < parentIndent) {
            indentStatus = -1;
          }
        }
      }
      if (indentStatus === 1) {
        while (readTagProperty(state) || readAnchorProperty(state)) {
          if (skipSeparationSpace(state, true, -1)) {
            atNewLine = true;
            allowBlockCollections = allowBlockStyles;
            if (state.lineIndent > parentIndent) {
              indentStatus = 1;
            } else if (state.lineIndent === parentIndent) {
              indentStatus = 0;
            } else if (state.lineIndent < parentIndent) {
              indentStatus = -1;
            }
          } else {
            allowBlockCollections = false;
          }
        }
      }
      if (allowBlockCollections) {
        allowBlockCollections = atNewLine || allowCompact;
      }
      if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
        if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
          flowIndent = parentIndent;
        } else {
          flowIndent = parentIndent + 1;
        }
        blockIndent = state.position - state.lineStart;
        if (indentStatus === 1) {
          if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {
            hasContent = true;
          } else {
            if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {
              hasContent = true;
            } else if (readAlias(state)) {
              hasContent = true;
              if (state.tag !== null || state.anchor !== null) {
                throwError(state, "alias node should not have any properties");
              }
            } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
              hasContent = true;
              if (state.tag === null) {
                state.tag = "?";
              }
            }
            if (state.anchor !== null) {
              state.anchorMap[state.anchor] = state.result;
            }
          }
        } else if (indentStatus === 0) {
          hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
        }
      }
      if (state.tag !== null && state.tag !== "!") {
        if (state.tag === "?") {
          if (state.result !== null && state.kind !== "scalar") {
            throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
          }
          for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
            type = state.implicitTypes[typeIndex];
            if (type.resolve(state.result)) {
              state.result = type.construct(state.result);
              state.tag = type.tag;
              if (state.anchor !== null) {
                state.anchorMap[state.anchor] = state.result;
              }
              break;
            }
          }
        } else if (_hasOwnProperty.call(state.typeMap[state.kind || "fallback"], state.tag)) {
          type = state.typeMap[state.kind || "fallback"][state.tag];
          if (state.result !== null && type.kind !== state.kind) {
            throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
          }
          if (!type.resolve(state.result)) {
            throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag");
          } else {
            state.result = type.construct(state.result);
            if (state.anchor !== null) {
              state.anchorMap[state.anchor] = state.result;
            }
          }
        } else {
          throwError(state, "unknown tag !<" + state.tag + ">");
        }
      }
      if (state.listener !== null) {
        state.listener("close", state);
      }
      return state.tag !== null || state.anchor !== null || hasContent;
    }
    function readDocument(state) {
      var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch;
      state.version = null;
      state.checkLineBreaks = state.legacy;
      state.tagMap = {};
      state.anchorMap = {};
      while ((ch = state.input.charCodeAt(state.position)) !== 0) {
        skipSeparationSpace(state, true, -1);
        ch = state.input.charCodeAt(state.position);
        if (state.lineIndent > 0 || ch !== 37) {
          break;
        }
        hasDirectives = true;
        ch = state.input.charCodeAt(++state.position);
        _position = state.position;
        while (ch !== 0 && !is_WS_OR_EOL(ch)) {
          ch = state.input.charCodeAt(++state.position);
        }
        directiveName = state.input.slice(_position, state.position);
        directiveArgs = [];
        if (directiveName.length < 1) {
          throwError(state, "directive name must not be less than one character in length");
        }
        while (ch !== 0) {
          while (is_WHITE_SPACE(ch)) {
            ch = state.input.charCodeAt(++state.position);
          }
          if (ch === 35) {
            do {
              ch = state.input.charCodeAt(++state.position);
            } while (ch !== 0 && !is_EOL(ch));
            break;
          }
          if (is_EOL(ch)) break;
          _position = state.position;
          while (ch !== 0 && !is_WS_OR_EOL(ch)) {
            ch = state.input.charCodeAt(++state.position);
          }
          directiveArgs.push(state.input.slice(_position, state.position));
        }
        if (ch !== 0) readLineBreak(state);
        if (_hasOwnProperty.call(directiveHandlers, directiveName)) {
          directiveHandlers[directiveName](state, directiveName, directiveArgs);
        } else {
          throwWarning(state, 'unknown document directive "' + directiveName + '"');
        }
      }
      skipSeparationSpace(state, true, -1);
      if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) {
        state.position += 3;
        skipSeparationSpace(state, true, -1);
      } else if (hasDirectives) {
        throwError(state, "directives end mark is expected");
      }
      composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
      skipSeparationSpace(state, true, -1);
      if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
        throwWarning(state, "non-ASCII line breaks are interpreted as content");
      }
      state.documents.push(state.result);
      if (state.position === state.lineStart && testDocumentSeparator(state)) {
        if (state.input.charCodeAt(state.position) === 46) {
          state.position += 3;
          skipSeparationSpace(state, true, -1);
        }
        return;
      }
      if (state.position < state.length - 1) {
        throwError(state, "end of the stream or a document separator is expected");
      } else {
        return;
      }
    }
    function loadDocuments(input, options) {
      input = String(input);
      options = options || {};
      if (input.length !== 0) {
        if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) {
          input += "\n";
        }
        if (input.charCodeAt(0) === 65279) {
          input = input.slice(1);
        }
      }
      var state = new State(input, options);
      var nullpos = input.indexOf("\0");
      if (nullpos !== -1) {
        state.position = nullpos;
        throwError(state, "null byte is not allowed in input");
      }
      state.input += "\0";
      while (state.input.charCodeAt(state.position) === 32) {
        state.lineIndent += 1;
        state.position += 1;
      }
      while (state.position < state.length - 1) {
        readDocument(state);
      }
      return state.documents;
    }
    function loadAll(input, iterator, options) {
      if (iterator !== null && typeof iterator === "object" && typeof options === "undefined") {
        options = iterator;
        iterator = null;
      }
      var documents = loadDocuments(input, options);
      if (typeof iterator !== "function") {
        return documents;
      }
      for (var index = 0, length = documents.length; index < length; index += 1) {
        iterator(documents[index]);
      }
    }
    function load(input, options) {
      var documents = loadDocuments(input, options);
      if (documents.length === 0) {
        return void 0;
      } else if (documents.length === 1) {
        return documents[0];
      }
      throw new YAMLException("expected a single document in the stream, but found more");
    }
    function safeLoadAll(input, iterator, options) {
      if (typeof iterator === "object" && iterator !== null && typeof options === "undefined") {
        options = iterator;
        iterator = null;
      }
      return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
    }
    function safeLoad(input, options) {
      return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
    }
    module2.exports.loadAll = loadAll;
    module2.exports.load = load;
    module2.exports.safeLoadAll = safeLoadAll;
    module2.exports.safeLoad = safeLoad;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/dumper.js
var require_dumper2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml/dumper.js"(exports2, module2) {
    "use strict";
    var common = require_common5();
    var YAMLException = require_exception2();
    var DEFAULT_FULL_SCHEMA = require_default_full();
    var DEFAULT_SAFE_SCHEMA = require_default_safe();
    var _toString = Object.prototype.toString;
    var _hasOwnProperty = Object.prototype.hasOwnProperty;
    var CHAR_TAB = 9;
    var CHAR_LINE_FEED = 10;
    var CHAR_CARRIAGE_RETURN = 13;
    var CHAR_SPACE = 32;
    var CHAR_EXCLAMATION = 33;
    var CHAR_DOUBLE_QUOTE = 34;
    var CHAR_SHARP = 35;
    var CHAR_PERCENT = 37;
    var CHAR_AMPERSAND = 38;
    var CHAR_SINGLE_QUOTE = 39;
    var CHAR_ASTERISK = 42;
    var CHAR_COMMA = 44;
    var CHAR_MINUS = 45;
    var CHAR_COLON = 58;
    var CHAR_EQUALS = 61;
    var CHAR_GREATER_THAN = 62;
    var CHAR_QUESTION = 63;
    var CHAR_COMMERCIAL_AT = 64;
    var CHAR_LEFT_SQUARE_BRACKET = 91;
    var CHAR_RIGHT_SQUARE_BRACKET = 93;
    var CHAR_GRAVE_ACCENT = 96;
    var CHAR_LEFT_CURLY_BRACKET = 123;
    var CHAR_VERTICAL_LINE = 124;
    var CHAR_RIGHT_CURLY_BRACKET = 125;
    var ESCAPE_SEQUENCES = {};
    ESCAPE_SEQUENCES[0] = "\\0";
    ESCAPE_SEQUENCES[7] = "\\a";
    ESCAPE_SEQUENCES[8] = "\\b";
    ESCAPE_SEQUENCES[9] = "\\t";
    ESCAPE_SEQUENCES[10] = "\\n";
    ESCAPE_SEQUENCES[11] = "\\v";
    ESCAPE_SEQUENCES[12] = "\\f";
    ESCAPE_SEQUENCES[13] = "\\r";
    ESCAPE_SEQUENCES[27] = "\\e";
    ESCAPE_SEQUENCES[34] = '\\"';
    ESCAPE_SEQUENCES[92] = "\\\\";
    ESCAPE_SEQUENCES[133] = "\\N";
    ESCAPE_SEQUENCES[160] = "\\_";
    ESCAPE_SEQUENCES[8232] = "\\L";
    ESCAPE_SEQUENCES[8233] = "\\P";
    var DEPRECATED_BOOLEANS_SYNTAX = [
      "y",
      "Y",
      "yes",
      "Yes",
      "YES",
      "on",
      "On",
      "ON",
      "n",
      "N",
      "no",
      "No",
      "NO",
      "off",
      "Off",
      "OFF"
    ];
    function compileStyleMap(schema, map) {
      var result2, keys, index, length, tag, style, type;
      if (map === null) return {};
      result2 = {};
      keys = Object.keys(map);
      for (index = 0, length = keys.length; index < length; index += 1) {
        tag = keys[index];
        style = String(map[tag]);
        if (tag.slice(0, 2) === "!!") {
          tag = "tag:yaml.org,2002:" + tag.slice(2);
        }
        type = schema.compiledTypeMap["fallback"][tag];
        if (type && _hasOwnProperty.call(type.styleAliases, style)) {
          style = type.styleAliases[style];
        }
        result2[tag] = style;
      }
      return result2;
    }
    function encodeHex(character) {
      var string, handle, length;
      string = character.toString(16).toUpperCase();
      if (character <= 255) {
        handle = "x";
        length = 2;
      } else if (character <= 65535) {
        handle = "u";
        length = 4;
      } else if (character <= 4294967295) {
        handle = "U";
        length = 8;
      } else {
        throw new YAMLException("code point within a string may not be greater than 0xFFFFFFFF");
      }
      return "\\" + handle + common.repeat("0", length - string.length) + string;
    }
    function State(options) {
      this.schema = options["schema"] || DEFAULT_FULL_SCHEMA;
      this.indent = Math.max(1, options["indent"] || 2);
      this.noArrayIndent = options["noArrayIndent"] || false;
      this.skipInvalid = options["skipInvalid"] || false;
      this.flowLevel = common.isNothing(options["flowLevel"]) ? -1 : options["flowLevel"];
      this.styleMap = compileStyleMap(this.schema, options["styles"] || null);
      this.sortKeys = options["sortKeys"] || false;
      this.lineWidth = options["lineWidth"] || 80;
      this.noRefs = options["noRefs"] || false;
      this.noCompatMode = options["noCompatMode"] || false;
      this.condenseFlow = options["condenseFlow"] || false;
      this.implicitTypes = this.schema.compiledImplicit;
      this.explicitTypes = this.schema.compiledExplicit;
      this.tag = null;
      this.result = "";
      this.duplicates = [];
      this.usedDuplicates = null;
    }
    function indentString(string, spaces) {
      var ind = common.repeat(" ", spaces), position = 0, next = -1, result2 = "", line, length = string.length;
      while (position < length) {
        next = string.indexOf("\n", position);
        if (next === -1) {
          line = string.slice(position);
          position = length;
        } else {
          line = string.slice(position, next + 1);
          position = next + 1;
        }
        if (line.length && line !== "\n") result2 += ind;
        result2 += line;
      }
      return result2;
    }
    function generateNextLine(state, level) {
      return "\n" + common.repeat(" ", state.indent * level);
    }
    function testImplicitResolving(state, str) {
      var index, length, type;
      for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {
        type = state.implicitTypes[index];
        if (type.resolve(str)) {
          return true;
        }
      }
      return false;
    }
    function isWhitespace(c) {
      return c === CHAR_SPACE || c === CHAR_TAB;
    }
    function isPrintable(c) {
      return 32 <= c && c <= 126 || 161 <= c && c <= 55295 && c !== 8232 && c !== 8233 || 57344 <= c && c <= 65533 && c !== 65279 || 65536 <= c && c <= 1114111;
    }
    function isNsChar(c) {
      return isPrintable(c) && !isWhitespace(c) && c !== 65279 && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;
    }
    function isPlainSafe(c, prev) {
      return isPrintable(c) && c !== 65279 && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_COLON && (c !== CHAR_SHARP || prev && isNsChar(prev));
    }
    function isPlainSafeFirst(c) {
      return isPrintable(c) && c !== 65279 && !isWhitespace(c) && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;
    }
    function needIndentIndicator(string) {
      var leadingSpaceRe = /^\n* /;
      return leadingSpaceRe.test(string);
    }
    var STYLE_PLAIN = 1;
    var STYLE_SINGLE = 2;
    var STYLE_LITERAL = 3;
    var STYLE_FOLDED = 4;
    var STYLE_DOUBLE = 5;
    function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {
      var i;
      var char, prev_char;
      var hasLineBreak = false;
      var hasFoldableLine = false;
      var shouldTrackWidth = lineWidth !== -1;
      var previousLineBreak = -1;
      var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1));
      if (singleLineOnly) {
        for (i = 0; i < string.length; i++) {
          char = string.charCodeAt(i);
          if (!isPrintable(char)) {
            return STYLE_DOUBLE;
          }
          prev_char = i > 0 ? string.charCodeAt(i - 1) : null;
          plain = plain && isPlainSafe(char, prev_char);
        }
      } else {
        for (i = 0; i < string.length; i++) {
          char = string.charCodeAt(i);
          if (char === CHAR_LINE_FEED) {
            hasLineBreak = true;
            if (shouldTrackWidth) {
              hasFoldableLine = hasFoldableLine || // Foldable line = too long, and not more-indented.
              i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ";
              previousLineBreak = i;
            }
          } else if (!isPrintable(char)) {
            return STYLE_DOUBLE;
          }
          prev_char = i > 0 ? string.charCodeAt(i - 1) : null;
          plain = plain && isPlainSafe(char, prev_char);
        }
        hasFoldableLine = hasFoldableLine || shouldTrackWidth && (i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== " ");
      }
      if (!hasLineBreak && !hasFoldableLine) {
        return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE;
      }
      if (indentPerLevel > 9 && needIndentIndicator(string)) {
        return STYLE_DOUBLE;
      }
      return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;
    }
    function writeScalar(state, string, level, iskey) {
      state.dump = function() {
        if (string.length === 0) {
          return "''";
        }
        if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {
          return "'" + string + "'";
        }
        var indent = state.indent * Math.max(1, level);
        var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);
        var singleLineOnly = iskey || state.flowLevel > -1 && level >= state.flowLevel;
        function testAmbiguity(string2) {
          return testImplicitResolving(state, string2);
        }
        switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {
          case STYLE_PLAIN:
            return string;
          case STYLE_SINGLE:
            return "'" + string.replace(/'/g, "''") + "'";
          case STYLE_LITERAL:
            return "|" + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));
          case STYLE_FOLDED:
            return ">" + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));
          case STYLE_DOUBLE:
            return '"' + escapeString(string, lineWidth) + '"';
          default:
            throw new YAMLException("impossible error: invalid scalar style");
        }
      }();
    }
    function blockHeader(string, indentPerLevel) {
      var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : "";
      var clip = string[string.length - 1] === "\n";
      var keep = clip && (string[string.length - 2] === "\n" || string === "\n");
      var chomp = keep ? "+" : clip ? "" : "-";
      return indentIndicator + chomp + "\n";
    }
    function dropEndingNewline(string) {
      return string[string.length - 1] === "\n" ? string.slice(0, -1) : string;
    }
    function foldString(string, width) {
      var lineRe = /(\n+)([^\n]*)/g;
      var result2 = function() {
        var nextLF = string.indexOf("\n");
        nextLF = nextLF !== -1 ? nextLF : string.length;
        lineRe.lastIndex = nextLF;
        return foldLine(string.slice(0, nextLF), width);
      }();
      var prevMoreIndented = string[0] === "\n" || string[0] === " ";
      var moreIndented;
      var match;
      while (match = lineRe.exec(string)) {
        var prefix = match[1], line = match[2];
        moreIndented = line[0] === " ";
        result2 += prefix + (!prevMoreIndented && !moreIndented && line !== "" ? "\n" : "") + foldLine(line, width);
        prevMoreIndented = moreIndented;
      }
      return result2;
    }
    function foldLine(line, width) {
      if (line === "" || line[0] === " ") return line;
      var breakRe = / [^ ]/g;
      var match;
      var start = 0, end, curr = 0, next = 0;
      var result2 = "";
      while (match = breakRe.exec(line)) {
        next = match.index;
        if (next - start > width) {
          end = curr > start ? curr : next;
          result2 += "\n" + line.slice(start, end);
          start = end + 1;
        }
        curr = next;
      }
      result2 += "\n";
      if (line.length - start > width && curr > start) {
        result2 += line.slice(start, curr) + "\n" + line.slice(curr + 1);
      } else {
        result2 += line.slice(start);
      }
      return result2.slice(1);
    }
    function escapeString(string) {
      var result2 = "";
      var char, nextChar;
      var escapeSeq;
      for (var i = 0; i < string.length; i++) {
        char = string.charCodeAt(i);
        if (char >= 55296 && char <= 56319) {
          nextChar = string.charCodeAt(i + 1);
          if (nextChar >= 56320 && nextChar <= 57343) {
            result2 += encodeHex((char - 55296) * 1024 + nextChar - 56320 + 65536);
            i++;
            continue;
          }
        }
        escapeSeq = ESCAPE_SEQUENCES[char];
        result2 += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char);
      }
      return result2;
    }
    function writeFlowSequence(state, level, object) {
      var _result = "", _tag = state.tag, index, length;
      for (index = 0, length = object.length; index < length; index += 1) {
        if (writeNode(state, level, object[index], false, false)) {
          if (index !== 0) _result += "," + (!state.condenseFlow ? " " : "");
          _result += state.dump;
        }
      }
      state.tag = _tag;
      state.dump = "[" + _result + "]";
    }
    function writeBlockSequence(state, level, object, compact) {
      var _result = "", _tag = state.tag, index, length;
      for (index = 0, length = object.length; index < length; index += 1) {
        if (writeNode(state, level + 1, object[index], true, true)) {
          if (!compact || index !== 0) {
            _result += generateNextLine(state, level);
          }
          if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
            _result += "-";
          } else {
            _result += "- ";
          }
          _result += state.dump;
        }
      }
      state.tag = _tag;
      state.dump = _result || "[]";
    }
    function writeFlowMapping(state, level, object) {
      var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, pairBuffer;
      for (index = 0, length = objectKeyList.length; index < length; index += 1) {
        pairBuffer = "";
        if (index !== 0) pairBuffer += ", ";
        if (state.condenseFlow) pairBuffer += '"';
        objectKey = objectKeyList[index];
        objectValue = object[objectKey];
        if (!writeNode(state, level, objectKey, false, false)) {
          continue;
        }
        if (state.dump.length > 1024) pairBuffer += "? ";
        pairBuffer += state.dump + (state.condenseFlow ? '"' : "") + ":" + (state.condenseFlow ? "" : " ");
        if (!writeNode(state, level, objectValue, false, false)) {
          continue;
        }
        pairBuffer += state.dump;
        _result += pairBuffer;
      }
      state.tag = _tag;
      state.dump = "{" + _result + "}";
    }
    function writeBlockMapping(state, level, object, compact) {
      var _result = "", _tag = state.tag, objectKeyList = Object.keys(object), index, length, objectKey, objectValue, explicitPair, pairBuffer;
      if (state.sortKeys === true) {
        objectKeyList.sort();
      } else if (typeof state.sortKeys === "function") {
        objectKeyList.sort(state.sortKeys);
      } else if (state.sortKeys) {
        throw new YAMLException("sortKeys must be a boolean or a function");
      }
      for (index = 0, length = objectKeyList.length; index < length; index += 1) {
        pairBuffer = "";
        if (!compact || index !== 0) {
          pairBuffer += generateNextLine(state, level);
        }
        objectKey = objectKeyList[index];
        objectValue = object[objectKey];
        if (!writeNode(state, level + 1, objectKey, true, true, true)) {
          continue;
        }
        explicitPair = state.tag !== null && state.tag !== "?" || state.dump && state.dump.length > 1024;
        if (explicitPair) {
          if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
            pairBuffer += "?";
          } else {
            pairBuffer += "? ";
          }
        }
        pairBuffer += state.dump;
        if (explicitPair) {
          pairBuffer += generateNextLine(state, level);
        }
        if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {
          continue;
        }
        if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {
          pairBuffer += ":";
        } else {
          pairBuffer += ": ";
        }
        pairBuffer += state.dump;
        _result += pairBuffer;
      }
      state.tag = _tag;
      state.dump = _result || "{}";
    }
    function detectType(state, object, explicit) {
      var _result, typeList, index, length, type, style;
      typeList = explicit ? state.explicitTypes : state.implicitTypes;
      for (index = 0, length = typeList.length; index < length; index += 1) {
        type = typeList[index];
        if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === "object" && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {
          state.tag = explicit ? type.tag : "?";
          if (type.represent) {
            style = state.styleMap[type.tag] || type.defaultStyle;
            if (_toString.call(type.represent) === "[object Function]") {
              _result = type.represent(object, style);
            } else if (_hasOwnProperty.call(type.represent, style)) {
              _result = type.represent[style](object, style);
            } else {
              throw new YAMLException("!<" + type.tag + '> tag resolver accepts not "' + style + '" style');
            }
            state.dump = _result;
          }
          return true;
        }
      }
      return false;
    }
    function writeNode(state, level, object, block, compact, iskey) {
      state.tag = null;
      state.dump = object;
      if (!detectType(state, object, false)) {
        detectType(state, object, true);
      }
      var type = _toString.call(state.dump);
      if (block) {
        block = state.flowLevel < 0 || state.flowLevel > level;
      }
      var objectOrArray = type === "[object Object]" || type === "[object Array]", duplicateIndex, duplicate;
      if (objectOrArray) {
        duplicateIndex = state.duplicates.indexOf(object);
        duplicate = duplicateIndex !== -1;
      }
      if (state.tag !== null && state.tag !== "?" || duplicate || state.indent !== 2 && level > 0) {
        compact = false;
      }
      if (duplicate && state.usedDuplicates[duplicateIndex]) {
        state.dump = "*ref_" + duplicateIndex;
      } else {
        if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {
          state.usedDuplicates[duplicateIndex] = true;
        }
        if (type === "[object Object]") {
          if (block && Object.keys(state.dump).length !== 0) {
            writeBlockMapping(state, level, state.dump, compact);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + state.dump;
            }
          } else {
            writeFlowMapping(state, level, state.dump);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + " " + state.dump;
            }
          }
        } else if (type === "[object Array]") {
          var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level;
          if (block && state.dump.length !== 0) {
            writeBlockSequence(state, arrayLevel, state.dump, compact);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + state.dump;
            }
          } else {
            writeFlowSequence(state, arrayLevel, state.dump);
            if (duplicate) {
              state.dump = "&ref_" + duplicateIndex + " " + state.dump;
            }
          }
        } else if (type === "[object String]") {
          if (state.tag !== "?") {
            writeScalar(state, state.dump, level, iskey);
          }
        } else {
          if (state.skipInvalid) return false;
          throw new YAMLException("unacceptable kind of an object to dump " + type);
        }
        if (state.tag !== null && state.tag !== "?") {
          state.dump = "!<" + state.tag + "> " + state.dump;
        }
      }
      return true;
    }
    function getDuplicateReferences(object, state) {
      var objects = [], duplicatesIndexes = [], index, length;
      inspectNode(object, objects, duplicatesIndexes);
      for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {
        state.duplicates.push(objects[duplicatesIndexes[index]]);
      }
      state.usedDuplicates = new Array(length);
    }
    function inspectNode(object, objects, duplicatesIndexes) {
      var objectKeyList, index, length;
      if (object !== null && typeof object === "object") {
        index = objects.indexOf(object);
        if (index !== -1) {
          if (duplicatesIndexes.indexOf(index) === -1) {
            duplicatesIndexes.push(index);
          }
        } else {
          objects.push(object);
          if (Array.isArray(object)) {
            for (index = 0, length = object.length; index < length; index += 1) {
              inspectNode(object[index], objects, duplicatesIndexes);
            }
          } else {
            objectKeyList = Object.keys(object);
            for (index = 0, length = objectKeyList.length; index < length; index += 1) {
              inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);
            }
          }
        }
      }
    }
    function dump(input, options) {
      options = options || {};
      var state = new State(options);
      if (!state.noRefs) getDuplicateReferences(input, state);
      if (writeNode(state, 0, input, true, true)) return state.dump + "\n";
      return "";
    }
    function safeDump(input, options) {
      return dump(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
    }
    module2.exports.dump = dump;
    module2.exports.safeDump = safeDump;
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml.js
var require_js_yaml2 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/lib/js-yaml.js"(exports2, module2) {
    "use strict";
    var loader = require_loader2();
    var dumper = require_dumper2();
    function deprecated(name) {
      return function() {
        throw new Error("Function " + name + " is deprecated and cannot be used.");
      };
    }
    module2.exports.Type = require_type3();
    module2.exports.Schema = require_schema2();
    module2.exports.FAILSAFE_SCHEMA = require_failsafe2();
    module2.exports.JSON_SCHEMA = require_json3();
    module2.exports.CORE_SCHEMA = require_core5();
    module2.exports.DEFAULT_SAFE_SCHEMA = require_default_safe();
    module2.exports.DEFAULT_FULL_SCHEMA = require_default_full();
    module2.exports.load = loader.load;
    module2.exports.loadAll = loader.loadAll;
    module2.exports.safeLoad = loader.safeLoad;
    module2.exports.safeLoadAll = loader.safeLoadAll;
    module2.exports.dump = dumper.dump;
    module2.exports.safeDump = dumper.safeDump;
    module2.exports.YAMLException = require_exception2();
    module2.exports.MINIMAL_SCHEMA = require_failsafe2();
    module2.exports.SAFE_SCHEMA = require_default_safe();
    module2.exports.DEFAULT_SCHEMA = require_default_full();
    module2.exports.scan = deprecated("scan");
    module2.exports.parse = deprecated("parse");
    module2.exports.compose = deprecated("compose");
    module2.exports.addConstructor = deprecated("addConstructor");
  }
});

// ../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/index.js
var require_js_yaml3 = __commonJS({
  "../node_modules/.pnpm/js-yaml@3.14.1/node_modules/js-yaml/index.js"(exports2, module2) {
    "use strict";
    var yaml = require_js_yaml2();
    module2.exports = yaml;
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/syml.js
var require_syml = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/grammars/syml.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(statements) {
        return [].concat(...statements);
      }, peg$c1 = "-", peg$c2 = peg$literalExpectation("-", false), peg$c3 = function(value) {
        return value;
      }, peg$c4 = function(statements) {
        return Object.assign({}, ...statements);
      }, peg$c5 = "#", peg$c6 = peg$literalExpectation("#", false), peg$c7 = peg$anyExpectation(), peg$c8 = function() {
        return {};
      }, peg$c9 = ":", peg$c10 = peg$literalExpectation(":", false), peg$c11 = function(property, value) {
        return { [property]: value };
      }, peg$c12 = ",", peg$c13 = peg$literalExpectation(",", false), peg$c14 = function(property, other) {
        return other;
      }, peg$c15 = function(property, others, value) {
        return Object.assign({}, ...[property].concat(others).map((property2) => ({ [property2]: value })));
      }, peg$c16 = function(statements) {
        return statements;
      }, peg$c17 = function(expression) {
        return expression;
      }, peg$c18 = peg$otherExpectation("correct indentation"), peg$c19 = " ", peg$c20 = peg$literalExpectation(" ", false), peg$c21 = function(spaces) {
        return spaces.length === indentLevel * INDENT_STEP;
      }, peg$c22 = function(spaces) {
        return spaces.length === (indentLevel + 1) * INDENT_STEP;
      }, peg$c23 = function() {
        indentLevel++;
        return true;
      }, peg$c24 = function() {
        indentLevel--;
        return true;
      }, peg$c25 = function() {
        return text();
      }, peg$c26 = peg$otherExpectation("pseudostring"), peg$c27 = /^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/, peg$c28 = peg$classExpectation(["\r", "\n", "	", " ", "?", ":", ",", "]", "[", "{", "}", "#", "&", "*", "!", "|", ">", "'", '"', "%", "@", "`", "-"], true, false), peg$c29 = /^[^\r\n\t ,\][{}:#"']/, peg$c30 = peg$classExpectation(["\r", "\n", "	", " ", ",", "]", "[", "{", "}", ":", "#", '"', "'"], true, false), peg$c31 = function() {
        return text().replace(/^ *| *$/g, "");
      }, peg$c32 = "--", peg$c33 = peg$literalExpectation("--", false), peg$c34 = /^[a-zA-Z\/0-9]/, peg$c35 = peg$classExpectation([["a", "z"], ["A", "Z"], "/", ["0", "9"]], false, false), peg$c36 = /^[^\r\n\t :,]/, peg$c37 = peg$classExpectation(["\r", "\n", "	", " ", ":", ","], true, false), peg$c38 = "null", peg$c39 = peg$literalExpectation("null", false), peg$c40 = function() {
        return null;
      }, peg$c41 = "true", peg$c42 = peg$literalExpectation("true", false), peg$c43 = function() {
        return true;
      }, peg$c44 = "false", peg$c45 = peg$literalExpectation("false", false), peg$c46 = function() {
        return false;
      }, peg$c47 = peg$otherExpectation("string"), peg$c48 = '"', peg$c49 = peg$literalExpectation('"', false), peg$c50 = function() {
        return "";
      }, peg$c51 = function(chars) {
        return chars;
      }, peg$c52 = function(chars) {
        return chars.join(``);
      }, peg$c53 = /^[^"\\\0-\x1F\x7F]/, peg$c54 = peg$classExpectation(['"', "\\", ["\0", ""], "\x7F"], true, false), peg$c55 = '\\"', peg$c56 = peg$literalExpectation('\\"', false), peg$c57 = function() {
        return `"`;
      }, peg$c58 = "\\\\", peg$c59 = peg$literalExpectation("\\\\", false), peg$c60 = function() {
        return `\\`;
      }, peg$c61 = "\\/", peg$c62 = peg$literalExpectation("\\/", false), peg$c63 = function() {
        return `/`;
      }, peg$c64 = "\\b", peg$c65 = peg$literalExpectation("\\b", false), peg$c66 = function() {
        return `\b`;
      }, peg$c67 = "\\f", peg$c68 = peg$literalExpectation("\\f", false), peg$c69 = function() {
        return `\f`;
      }, peg$c70 = "\\n", peg$c71 = peg$literalExpectation("\\n", false), peg$c72 = function() {
        return `
`;
      }, peg$c73 = "\\r", peg$c74 = peg$literalExpectation("\\r", false), peg$c75 = function() {
        return `\r`;
      }, peg$c76 = "\\t", peg$c77 = peg$literalExpectation("\\t", false), peg$c78 = function() {
        return `	`;
      }, peg$c79 = "\\u", peg$c80 = peg$literalExpectation("\\u", false), peg$c81 = function(h1, h2, h3, h4) {
        return String.fromCharCode(parseInt(`0x${h1}${h2}${h3}${h4}`));
      }, peg$c82 = /^[0-9a-fA-F]/, peg$c83 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false), peg$c84 = peg$otherExpectation("blank space"), peg$c85 = /^[ \t]/, peg$c86 = peg$classExpectation([" ", "	"], false, false), peg$c87 = peg$otherExpectation("white space"), peg$c88 = /^[ \t\n\r]/, peg$c89 = peg$classExpectation([" ", "	", "\n", "\r"], false, false), peg$c90 = "\r\n", peg$c91 = peg$literalExpectation("\r\n", false), peg$c92 = "\n", peg$c93 = peg$literalExpectation("\n", false), peg$c94 = "\r", peg$c95 = peg$literalExpectation("\r", false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseStart() {
        var s0;
        s0 = peg$parsePropertyStatements();
        return s0;
      }
      function peg$parseItemStatements() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseItemStatement();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseItemStatement();
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c0(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseItemStatement() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = peg$parseSamedent();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 45) {
            s2 = peg$c1;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c2);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseB();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseExpression();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c3(s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parsePropertyStatements() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsePropertyStatement();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parsePropertyStatement();
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c4(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parsePropertyStatement() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8;
        s0 = peg$currPos;
        s1 = peg$parseB();
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 35) {
            s3 = peg$c5;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c6);
            }
          }
          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$currPos;
            s6 = peg$currPos;
            peg$silentFails++;
            s7 = peg$parseEOL();
            peg$silentFails--;
            if (s7 === peg$FAILED) {
              s6 = void 0;
            } else {
              peg$currPos = s6;
              s6 = peg$FAILED;
            }
            if (s6 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s7 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s7 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c7);
                }
              }
              if (s7 !== peg$FAILED) {
                s6 = [s6, s7];
                s5 = s6;
              } else {
                peg$currPos = s5;
                s5 = peg$FAILED;
              }
            } else {
              peg$currPos = s5;
              s5 = peg$FAILED;
            }
            if (s5 !== peg$FAILED) {
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$currPos;
                s6 = peg$currPos;
                peg$silentFails++;
                s7 = peg$parseEOL();
                peg$silentFails--;
                if (s7 === peg$FAILED) {
                  s6 = void 0;
                } else {
                  peg$currPos = s6;
                  s6 = peg$FAILED;
                }
                if (s6 !== peg$FAILED) {
                  if (input.length > peg$currPos) {
                    s7 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s7 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c7);
                    }
                  }
                  if (s7 !== peg$FAILED) {
                    s6 = [s6, s7];
                    s5 = s6;
                  } else {
                    peg$currPos = s5;
                    s5 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s5;
                  s5 = peg$FAILED;
                }
              }
            } else {
              s4 = peg$FAILED;
            }
            if (s4 !== peg$FAILED) {
              s3 = [s3, s4];
              s2 = s3;
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseEOL_ANY();
            if (s4 !== peg$FAILED) {
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseEOL_ANY();
              }
            } else {
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c8();
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSamedent();
          if (s1 !== peg$FAILED) {
            s2 = peg$parseName();
            if (s2 !== peg$FAILED) {
              s3 = peg$parseB();
              if (s3 === peg$FAILED) {
                s3 = null;
              }
              if (s3 !== peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 58) {
                  s4 = peg$c9;
                  peg$currPos++;
                } else {
                  s4 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c10);
                  }
                }
                if (s4 !== peg$FAILED) {
                  s5 = peg$parseB();
                  if (s5 === peg$FAILED) {
                    s5 = null;
                  }
                  if (s5 !== peg$FAILED) {
                    s6 = peg$parseExpression();
                    if (s6 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c11(s2, s6);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseSamedent();
            if (s1 !== peg$FAILED) {
              s2 = peg$parseLegacyName();
              if (s2 !== peg$FAILED) {
                s3 = peg$parseB();
                if (s3 === peg$FAILED) {
                  s3 = null;
                }
                if (s3 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 58) {
                    s4 = peg$c9;
                    peg$currPos++;
                  } else {
                    s4 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c10);
                    }
                  }
                  if (s4 !== peg$FAILED) {
                    s5 = peg$parseB();
                    if (s5 === peg$FAILED) {
                      s5 = null;
                    }
                    if (s5 !== peg$FAILED) {
                      s6 = peg$parseExpression();
                      if (s6 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c11(s2, s6);
                        s0 = s1;
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseSamedent();
              if (s1 !== peg$FAILED) {
                s2 = peg$parseLegacyName();
                if (s2 !== peg$FAILED) {
                  s3 = peg$parseB();
                  if (s3 !== peg$FAILED) {
                    s4 = peg$parseLegacyLiteral();
                    if (s4 !== peg$FAILED) {
                      s5 = [];
                      s6 = peg$parseEOL_ANY();
                      if (s6 !== peg$FAILED) {
                        while (s6 !== peg$FAILED) {
                          s5.push(s6);
                          s6 = peg$parseEOL_ANY();
                        }
                      } else {
                        s5 = peg$FAILED;
                      }
                      if (s5 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c11(s2, s4);
                        s0 = s1;
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                s1 = peg$parseSamedent();
                if (s1 !== peg$FAILED) {
                  s2 = peg$parseLegacyName();
                  if (s2 !== peg$FAILED) {
                    s3 = [];
                    s4 = peg$currPos;
                    s5 = peg$parseB();
                    if (s5 === peg$FAILED) {
                      s5 = null;
                    }
                    if (s5 !== peg$FAILED) {
                      if (input.charCodeAt(peg$currPos) === 44) {
                        s6 = peg$c12;
                        peg$currPos++;
                      } else {
                        s6 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c13);
                        }
                      }
                      if (s6 !== peg$FAILED) {
                        s7 = peg$parseB();
                        if (s7 === peg$FAILED) {
                          s7 = null;
                        }
                        if (s7 !== peg$FAILED) {
                          s8 = peg$parseLegacyName();
                          if (s8 !== peg$FAILED) {
                            peg$savedPos = s4;
                            s5 = peg$c14(s2, s8);
                            s4 = s5;
                          } else {
                            peg$currPos = s4;
                            s4 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s4;
                          s4 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s4;
                        s4 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s4;
                      s4 = peg$FAILED;
                    }
                    if (s4 !== peg$FAILED) {
                      while (s4 !== peg$FAILED) {
                        s3.push(s4);
                        s4 = peg$currPos;
                        s5 = peg$parseB();
                        if (s5 === peg$FAILED) {
                          s5 = null;
                        }
                        if (s5 !== peg$FAILED) {
                          if (input.charCodeAt(peg$currPos) === 44) {
                            s6 = peg$c12;
                            peg$currPos++;
                          } else {
                            s6 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c13);
                            }
                          }
                          if (s6 !== peg$FAILED) {
                            s7 = peg$parseB();
                            if (s7 === peg$FAILED) {
                              s7 = null;
                            }
                            if (s7 !== peg$FAILED) {
                              s8 = peg$parseLegacyName();
                              if (s8 !== peg$FAILED) {
                                peg$savedPos = s4;
                                s5 = peg$c14(s2, s8);
                                s4 = s5;
                              } else {
                                peg$currPos = s4;
                                s4 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s4;
                              s4 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s4;
                            s4 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s4;
                          s4 = peg$FAILED;
                        }
                      }
                    } else {
                      s3 = peg$FAILED;
                    }
                    if (s3 !== peg$FAILED) {
                      s4 = peg$parseB();
                      if (s4 === peg$FAILED) {
                        s4 = null;
                      }
                      if (s4 !== peg$FAILED) {
                        if (input.charCodeAt(peg$currPos) === 58) {
                          s5 = peg$c9;
                          peg$currPos++;
                        } else {
                          s5 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c10);
                          }
                        }
                        if (s5 !== peg$FAILED) {
                          s6 = peg$parseB();
                          if (s6 === peg$FAILED) {
                            s6 = null;
                          }
                          if (s6 !== peg$FAILED) {
                            s7 = peg$parseExpression();
                            if (s7 !== peg$FAILED) {
                              peg$savedPos = s0;
                              s1 = peg$c15(s2, s3, s7);
                              s0 = s1;
                            } else {
                              peg$currPos = s0;
                              s0 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseExpression() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = peg$currPos;
        peg$silentFails++;
        s2 = peg$currPos;
        s3 = peg$parseEOL();
        if (s3 !== peg$FAILED) {
          s4 = peg$parseExtradent();
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 45) {
              s5 = peg$c1;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c2);
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = peg$parseB();
              if (s6 !== peg$FAILED) {
                s3 = [s3, s4, s5, s6];
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        peg$silentFails--;
        if (s2 !== peg$FAILED) {
          peg$currPos = s1;
          s1 = void 0;
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseEOL_ANY();
          if (s2 !== peg$FAILED) {
            s3 = peg$parseIndent();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseItemStatements();
              if (s4 !== peg$FAILED) {
                s5 = peg$parseDedent();
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c16(s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseEOL();
          if (s1 !== peg$FAILED) {
            s2 = peg$parseIndent();
            if (s2 !== peg$FAILED) {
              s3 = peg$parsePropertyStatements();
              if (s3 !== peg$FAILED) {
                s4 = peg$parseDedent();
                if (s4 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c16(s3);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseLiteral();
            if (s1 !== peg$FAILED) {
              s2 = [];
              s3 = peg$parseEOL_ANY();
              if (s3 !== peg$FAILED) {
                while (s3 !== peg$FAILED) {
                  s2.push(s3);
                  s3 = peg$parseEOL_ANY();
                }
              } else {
                s2 = peg$FAILED;
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c17(s1);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          }
        }
        return s0;
      }
      function peg$parseSamedent() {
        var s0, s1, s2;
        peg$silentFails++;
        s0 = peg$currPos;
        s1 = [];
        if (input.charCodeAt(peg$currPos) === 32) {
          s2 = peg$c19;
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c20);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (input.charCodeAt(peg$currPos) === 32) {
            s2 = peg$c19;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c20);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c21(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c18);
          }
        }
        return s0;
      }
      function peg$parseExtradent() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (input.charCodeAt(peg$currPos) === 32) {
          s2 = peg$c19;
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c20);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (input.charCodeAt(peg$currPos) === 32) {
            s2 = peg$c19;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c20);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c22(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseIndent() {
        var s0;
        peg$savedPos = peg$currPos;
        s0 = peg$c23();
        if (s0) {
          s0 = void 0;
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseDedent() {
        var s0;
        peg$savedPos = peg$currPos;
        s0 = peg$c24();
        if (s0) {
          s0 = void 0;
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseName() {
        var s0;
        s0 = peg$parsestring();
        if (s0 === peg$FAILED) {
          s0 = peg$parsepseudostring();
        }
        return s0;
      }
      function peg$parseLegacyName() {
        var s0, s1, s2;
        s0 = peg$parsestring();
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parsepseudostringLegacy();
          if (s2 !== peg$FAILED) {
            while (s2 !== peg$FAILED) {
              s1.push(s2);
              s2 = peg$parsepseudostringLegacy();
            }
          } else {
            s1 = peg$FAILED;
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c25();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parseLiteral() {
        var s0;
        s0 = peg$parsenull();
        if (s0 === peg$FAILED) {
          s0 = peg$parseboolean();
          if (s0 === peg$FAILED) {
            s0 = peg$parsestring();
            if (s0 === peg$FAILED) {
              s0 = peg$parsepseudostring();
            }
          }
        }
        return s0;
      }
      function peg$parseLegacyLiteral() {
        var s0;
        s0 = peg$parsenull();
        if (s0 === peg$FAILED) {
          s0 = peg$parsestring();
          if (s0 === peg$FAILED) {
            s0 = peg$parsepseudostringLegacy();
          }
        }
        return s0;
      }
      function peg$parsepseudostring() {
        var s0, s1, s2, s3, s4, s5;
        peg$silentFails++;
        s0 = peg$currPos;
        if (peg$c27.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c28);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = peg$parseB();
          if (s4 === peg$FAILED) {
            s4 = null;
          }
          if (s4 !== peg$FAILED) {
            if (peg$c29.test(input.charAt(peg$currPos))) {
              s5 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c30);
              }
            }
            if (s5 !== peg$FAILED) {
              s4 = [s4, s5];
              s3 = s4;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = peg$parseB();
            if (s4 === peg$FAILED) {
              s4 = null;
            }
            if (s4 !== peg$FAILED) {
              if (peg$c29.test(input.charAt(peg$currPos))) {
                s5 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c30);
                }
              }
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c31();
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c26);
          }
        }
        return s0;
      }
      function peg$parsepseudostringLegacy() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c32) {
          s1 = peg$c32;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c33);
          }
        }
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          if (peg$c34.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c35);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            if (peg$c36.test(input.charAt(peg$currPos))) {
              s4 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s4 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c37);
              }
            }
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              if (peg$c36.test(input.charAt(peg$currPos))) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c37);
                }
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c31();
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parsenull() {
        var s0, s1;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 4) === peg$c38) {
          s1 = peg$c38;
          peg$currPos += 4;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c39);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c40();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseboolean() {
        var s0, s1;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 4) === peg$c41) {
          s1 = peg$c41;
          peg$currPos += 4;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c42);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c43();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 5) === peg$c44) {
            s1 = peg$c44;
            peg$currPos += 5;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c45);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c46();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsestring() {
        var s0, s1, s2, s3;
        peg$silentFails++;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 34) {
          s1 = peg$c48;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c49);
          }
        }
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 34) {
            s2 = peg$c48;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c49);
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c50();
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 34) {
            s1 = peg$c48;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c49);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parsechars();
            if (s2 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 34) {
                s3 = peg$c48;
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c49);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c51(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c47);
          }
        }
        return s0;
      }
      function peg$parsechars() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsechar();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parsechar();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c52(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parsechar() {
        var s0, s1, s2, s3, s4, s5;
        if (peg$c53.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c54);
          }
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c55) {
            s1 = peg$c55;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c56);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c57();
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c58) {
              s1 = peg$c58;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c59);
              }
            }
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c60();
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c61) {
                s1 = peg$c61;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c62);
                }
              }
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c63();
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c64) {
                  s1 = peg$c64;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c65);
                  }
                }
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c66();
                }
                s0 = s1;
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.substr(peg$currPos, 2) === peg$c67) {
                    s1 = peg$c67;
                    peg$currPos += 2;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c68);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c69();
                  }
                  s0 = s1;
                  if (s0 === peg$FAILED) {
                    s0 = peg$currPos;
                    if (input.substr(peg$currPos, 2) === peg$c70) {
                      s1 = peg$c70;
                      peg$currPos += 2;
                    } else {
                      s1 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c71);
                      }
                    }
                    if (s1 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c72();
                    }
                    s0 = s1;
                    if (s0 === peg$FAILED) {
                      s0 = peg$currPos;
                      if (input.substr(peg$currPos, 2) === peg$c73) {
                        s1 = peg$c73;
                        peg$currPos += 2;
                      } else {
                        s1 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c74);
                        }
                      }
                      if (s1 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c75();
                      }
                      s0 = s1;
                      if (s0 === peg$FAILED) {
                        s0 = peg$currPos;
                        if (input.substr(peg$currPos, 2) === peg$c76) {
                          s1 = peg$c76;
                          peg$currPos += 2;
                        } else {
                          s1 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c77);
                          }
                        }
                        if (s1 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c78();
                        }
                        s0 = s1;
                        if (s0 === peg$FAILED) {
                          s0 = peg$currPos;
                          if (input.substr(peg$currPos, 2) === peg$c79) {
                            s1 = peg$c79;
                            peg$currPos += 2;
                          } else {
                            s1 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c80);
                            }
                          }
                          if (s1 !== peg$FAILED) {
                            s2 = peg$parsehexDigit();
                            if (s2 !== peg$FAILED) {
                              s3 = peg$parsehexDigit();
                              if (s3 !== peg$FAILED) {
                                s4 = peg$parsehexDigit();
                                if (s4 !== peg$FAILED) {
                                  s5 = peg$parsehexDigit();
                                  if (s5 !== peg$FAILED) {
                                    peg$savedPos = s0;
                                    s1 = peg$c81(s2, s3, s4, s5);
                                    s0 = s1;
                                  } else {
                                    peg$currPos = s0;
                                    s0 = peg$FAILED;
                                  }
                                } else {
                                  peg$currPos = s0;
                                  s0 = peg$FAILED;
                                }
                              } else {
                                peg$currPos = s0;
                                s0 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s0;
                              s0 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parsehexDigit() {
        var s0;
        if (peg$c82.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        return s0;
      }
      function peg$parseB() {
        var s0, s1;
        peg$silentFails++;
        s0 = [];
        if (peg$c85.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c86);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c85.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c86);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c84);
          }
        }
        return s0;
      }
      function peg$parseS() {
        var s0, s1;
        peg$silentFails++;
        s0 = [];
        if (peg$c88.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c89);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c88.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c89);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c87);
          }
        }
        return s0;
      }
      function peg$parseEOL_ANY() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        s1 = peg$parseEOL();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = peg$parseB();
          if (s4 === peg$FAILED) {
            s4 = null;
          }
          if (s4 !== peg$FAILED) {
            s5 = peg$parseEOL();
            if (s5 !== peg$FAILED) {
              s4 = [s4, s5];
              s3 = s4;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = peg$parseB();
            if (s4 === peg$FAILED) {
              s4 = null;
            }
            if (s4 !== peg$FAILED) {
              s5 = peg$parseEOL();
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseEOL() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c90) {
          s0 = peg$c90;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c91);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 10) {
            s0 = peg$c92;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c93);
            }
          }
          if (s0 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 13) {
              s0 = peg$c94;
              peg$currPos++;
            } else {
              s0 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c95);
              }
            }
          }
        }
        return s0;
      }
      const INDENT_STEP = 2;
      let indentLevel = 0;
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/syml.js
var require_syml2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/syml.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PreserveOrdering = void 0;
    exports2.stringifySyml = stringifySyml;
    exports2.parseSyml = parseSyml;
    var js_yaml_1 = require_js_yaml3();
    var syml_1 = require_syml();
    var simpleStringPattern = /^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/;
    var specialObjectKeys = [`__metadata`, `version`, `resolution`, `dependencies`, `peerDependencies`, `dependenciesMeta`, `peerDependenciesMeta`, `binaries`];
    var PreserveOrdering = class {
      constructor(data) {
        this.data = data;
      }
    };
    exports2.PreserveOrdering = PreserveOrdering;
    function stringifyString(value) {
      if (value.match(simpleStringPattern)) {
        return value;
      } else {
        return JSON.stringify(value);
      }
    }
    function isRemovableField(value) {
      if (typeof value === `undefined`)
        return true;
      if (typeof value === `object` && value !== null && !Array.isArray(value))
        return Object.keys(value).every((key) => isRemovableField(value[key]));
      return false;
    }
    function stringifyValue(value, indentLevel, newLineIfObject) {
      if (value === null)
        return `null
`;
      if (typeof value === `number` || typeof value === `boolean`)
        return `${value.toString()}
`;
      if (typeof value === `string`)
        return `${stringifyString(value)}
`;
      if (Array.isArray(value)) {
        if (value.length === 0)
          return `[]
`;
        const indent = `  `.repeat(indentLevel);
        const serialized = value.map((sub) => {
          return `${indent}- ${stringifyValue(sub, indentLevel + 1, false)}`;
        }).join(``);
        return `
${serialized}`;
      }
      if (typeof value === `object` && value) {
        const [data, sort] = value instanceof PreserveOrdering ? [value.data, false] : [value, true];
        const indent = `  `.repeat(indentLevel);
        const keys = Object.keys(data);
        if (sort) {
          keys.sort((a, b) => {
            const aIndex = specialObjectKeys.indexOf(a);
            const bIndex = specialObjectKeys.indexOf(b);
            if (aIndex === -1 && bIndex === -1)
              return a < b ? -1 : a > b ? 1 : 0;
            if (aIndex !== -1 && bIndex === -1)
              return -1;
            if (aIndex === -1 && bIndex !== -1)
              return 1;
            return aIndex - bIndex;
          });
        }
        const fields = keys.filter((key) => {
          return !isRemovableField(data[key]);
        }).map((key, index) => {
          const value2 = data[key];
          const stringifiedKey = stringifyString(key);
          const stringifiedValue = stringifyValue(value2, indentLevel + 1, true);
          const recordIndentation = index > 0 || newLineIfObject ? indent : ``;
          const keyPart = stringifiedKey.length > 1024 ? `? ${stringifiedKey}
${recordIndentation}:` : `${stringifiedKey}:`;
          const valuePart = stringifiedValue.startsWith(`
`) ? stringifiedValue : ` ${stringifiedValue}`;
          return `${recordIndentation}${keyPart}${valuePart}`;
        }).join(indentLevel === 0 ? `
` : ``) || `
`;
        if (!newLineIfObject) {
          return `${fields}`;
        } else {
          return `
${fields}`;
        }
      }
      throw new Error(`Unsupported value type (${value})`);
    }
    function stringifySyml(value) {
      try {
        const stringified = stringifyValue(value, 0, false);
        return stringified !== `
` ? stringified : ``;
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    stringifySyml.PreserveOrdering = PreserveOrdering;
    function parseViaPeg(source) {
      if (!source.endsWith(`
`))
        source += `
`;
      return (0, syml_1.parse)(source);
    }
    var LEGACY_REGEXP = /^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;
    function parseViaJsYaml(source) {
      if (LEGACY_REGEXP.test(source))
        return parseViaPeg(source);
      const value = (0, js_yaml_1.safeLoad)(source, {
        schema: js_yaml_1.FAILSAFE_SCHEMA,
        json: true
      });
      if (value === void 0 || value === null)
        return {};
      if (typeof value !== `object`)
        throw new Error(`Expected an indexed object, got a ${typeof value} instead. Does your file follow Yaml's rules?`);
      if (Array.isArray(value))
        throw new Error(`Expected an indexed object, got an array instead. Does your file follow Yaml's rules?`);
      return value;
    }
    function parseSyml(source) {
      return parseViaJsYaml(source);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/index.js
var require_lib67 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.3/node_modules/@yarnpkg/parsers/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifySyml = exports2.parseSyml = exports2.stringifyResolution = exports2.parseResolution = exports2.stringifyValueArgument = exports2.stringifyShellLine = exports2.stringifyRedirectArgument = exports2.stringifyEnvSegment = exports2.stringifyCommandLineThen = exports2.stringifyCommandLine = exports2.stringifyCommandChainThen = exports2.stringifyCommandChain = exports2.stringifyCommand = exports2.stringifyArithmeticExpression = exports2.stringifyArgumentSegment = exports2.stringifyArgument = exports2.stringifyShell = exports2.parseShell = void 0;
    var shell_1 = require_shell2();
    Object.defineProperty(exports2, "parseShell", { enumerable: true, get: function() {
      return shell_1.parseShell;
    } });
    Object.defineProperty(exports2, "stringifyShell", { enumerable: true, get: function() {
      return shell_1.stringifyShell;
    } });
    Object.defineProperty(exports2, "stringifyArgument", { enumerable: true, get: function() {
      return shell_1.stringifyArgument;
    } });
    Object.defineProperty(exports2, "stringifyArgumentSegment", { enumerable: true, get: function() {
      return shell_1.stringifyArgumentSegment;
    } });
    Object.defineProperty(exports2, "stringifyArithmeticExpression", { enumerable: true, get: function() {
      return shell_1.stringifyArithmeticExpression;
    } });
    Object.defineProperty(exports2, "stringifyCommand", { enumerable: true, get: function() {
      return shell_1.stringifyCommand;
    } });
    Object.defineProperty(exports2, "stringifyCommandChain", { enumerable: true, get: function() {
      return shell_1.stringifyCommandChain;
    } });
    Object.defineProperty(exports2, "stringifyCommandChainThen", { enumerable: true, get: function() {
      return shell_1.stringifyCommandChainThen;
    } });
    Object.defineProperty(exports2, "stringifyCommandLine", { enumerable: true, get: function() {
      return shell_1.stringifyCommandLine;
    } });
    Object.defineProperty(exports2, "stringifyCommandLineThen", { enumerable: true, get: function() {
      return shell_1.stringifyCommandLineThen;
    } });
    Object.defineProperty(exports2, "stringifyEnvSegment", { enumerable: true, get: function() {
      return shell_1.stringifyEnvSegment;
    } });
    Object.defineProperty(exports2, "stringifyRedirectArgument", { enumerable: true, get: function() {
      return shell_1.stringifyRedirectArgument;
    } });
    Object.defineProperty(exports2, "stringifyShellLine", { enumerable: true, get: function() {
      return shell_1.stringifyShellLine;
    } });
    Object.defineProperty(exports2, "stringifyValueArgument", { enumerable: true, get: function() {
      return shell_1.stringifyValueArgument;
    } });
    var resolution_1 = require_resolution2();
    Object.defineProperty(exports2, "parseResolution", { enumerable: true, get: function() {
      return resolution_1.parseResolution;
    } });
    Object.defineProperty(exports2, "stringifyResolution", { enumerable: true, get: function() {
      return resolution_1.stringifyResolution;
    } });
    var syml_1 = require_syml2();
    Object.defineProperty(exports2, "parseSyml", { enumerable: true, get: function() {
      return syml_1.parseSyml;
    } });
    Object.defineProperty(exports2, "stringifySyml", { enumerable: true, get: function() {
      return syml_1.stringifySyml;
    } });
  }
});

// ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/util.js
var require_util6 = __commonJS({
  "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/util.js"(exports2, module2) {
    "use strict";
    var stringReplaceAll = (string, substring, replacer) => {
      let index = string.indexOf(substring);
      if (index === -1) {
        return string;
      }
      const substringLength = substring.length;
      let endIndex = 0;
      let returnValue = "";
      do {
        returnValue += string.substr(endIndex, index - endIndex) + substring + replacer;
        endIndex = index + substringLength;
        index = string.indexOf(substring, endIndex);
      } while (index !== -1);
      returnValue += string.substr(endIndex);
      return returnValue;
    };
    var stringEncaseCRLFWithFirstIndex = (string, prefix, postfix, index) => {
      let endIndex = 0;
      let returnValue = "";
      do {
        const gotCR = string[index - 1] === "\r";
        returnValue += string.substr(endIndex, (gotCR ? index - 1 : index) - endIndex) + prefix + (gotCR ? "\r\n" : "\n") + postfix;
        endIndex = index + 1;
        index = string.indexOf("\n", endIndex);
      } while (index !== -1);
      returnValue += string.substr(endIndex);
      return returnValue;
    };
    module2.exports = {
      stringReplaceAll,
      stringEncaseCRLFWithFirstIndex
    };
  }
});

// ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/templates.js
var require_templates2 = __commonJS({
  "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/templates.js"(exports2, module2) {
    "use strict";
    var TEMPLATE_REGEX = /(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi;
    var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g;
    var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/;
    var ESCAPE_REGEX = /\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi;
    var ESCAPES = /* @__PURE__ */ new Map([
      ["n", "\n"],
      ["r", "\r"],
      ["t", "	"],
      ["b", "\b"],
      ["f", "\f"],
      ["v", "\v"],
      ["0", "\0"],
      ["\\", "\\"],
      ["e", "\x1B"],
      ["a", "\x07"]
    ]);
    function unescape2(c) {
      const u = c[0] === "u";
      const bracket = c[1] === "{";
      if (u && !bracket && c.length === 5 || c[0] === "x" && c.length === 3) {
        return String.fromCharCode(parseInt(c.slice(1), 16));
      }
      if (u && bracket) {
        return String.fromCodePoint(parseInt(c.slice(2, -1), 16));
      }
      return ESCAPES.get(c) || c;
    }
    function parseArguments(name, arguments_) {
      const results = [];
      const chunks = arguments_.trim().split(/\s*,\s*/g);
      let matches;
      for (const chunk of chunks) {
        const number = Number(chunk);
        if (!Number.isNaN(number)) {
          results.push(number);
        } else if (matches = chunk.match(STRING_REGEX)) {
          results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, character) => escape ? unescape2(escape) : character));
        } else {
          throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`);
        }
      }
      return results;
    }
    function parseStyle(style) {
      STYLE_REGEX.lastIndex = 0;
      const results = [];
      let matches;
      while ((matches = STYLE_REGEX.exec(style)) !== null) {
        const name = matches[1];
        if (matches[2]) {
          const args = parseArguments(name, matches[2]);
          results.push([name].concat(args));
        } else {
          results.push([name]);
        }
      }
      return results;
    }
    function buildStyle(chalk, styles) {
      const enabled = {};
      for (const layer of styles) {
        for (const style of layer.styles) {
          enabled[style[0]] = layer.inverse ? null : style.slice(1);
        }
      }
      let current = chalk;
      for (const [styleName, styles2] of Object.entries(enabled)) {
        if (!Array.isArray(styles2)) {
          continue;
        }
        if (!(styleName in current)) {
          throw new Error(`Unknown Chalk style: ${styleName}`);
        }
        current = styles2.length > 0 ? current[styleName](...styles2) : current[styleName];
      }
      return current;
    }
    module2.exports = (chalk, temporary) => {
      const styles = [];
      const chunks = [];
      let chunk = [];
      temporary.replace(TEMPLATE_REGEX, (m, escapeCharacter, inverse, style, close, character) => {
        if (escapeCharacter) {
          chunk.push(unescape2(escapeCharacter));
        } else if (style) {
          const string = chunk.join("");
          chunk = [];
          chunks.push(styles.length === 0 ? string : buildStyle(chalk, styles)(string));
          styles.push({ inverse, styles: parseStyle(style) });
        } else if (close) {
          if (styles.length === 0) {
            throw new Error("Found extraneous } in Chalk template literal");
          }
          chunks.push(buildStyle(chalk, styles)(chunk.join("")));
          chunk = [];
          styles.pop();
        } else {
          chunk.push(character);
        }
      });
      chunks.push(chunk.join(""));
      if (styles.length > 0) {
        const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? "" : "s"} (\`}\`)`;
        throw new Error(errMsg);
      }
      return chunks.join("");
    };
  }
});

// ../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/index.js
var require_source2 = __commonJS({
  "../node_modules/.pnpm/chalk@3.0.0/node_modules/chalk/source/index.js"(exports2, module2) {
    "use strict";
    var ansiStyles = require_ansi_styles();
    var { stdout: stdoutColor, stderr: stderrColor } = require_supports_color();
    var {
      stringReplaceAll,
      stringEncaseCRLFWithFirstIndex
    } = require_util6();
    var levelMapping = [
      "ansi",
      "ansi",
      "ansi256",
      "ansi16m"
    ];
    var styles = /* @__PURE__ */ Object.create(null);
    var applyOptions = (object, options = {}) => {
      if (options.level > 3 || options.level < 0) {
        throw new Error("The `level` option should be an integer from 0 to 3");
      }
      const colorLevel = stdoutColor ? stdoutColor.level : 0;
      object.level = options.level === void 0 ? colorLevel : options.level;
    };
    var ChalkClass = class {
      constructor(options) {
        return chalkFactory(options);
      }
    };
    var chalkFactory = (options) => {
      const chalk2 = {};
      applyOptions(chalk2, options);
      chalk2.template = (...arguments_) => chalkTag(chalk2.template, ...arguments_);
      Object.setPrototypeOf(chalk2, Chalk.prototype);
      Object.setPrototypeOf(chalk2.template, chalk2);
      chalk2.template.constructor = () => {
        throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.");
      };
      chalk2.template.Instance = ChalkClass;
      return chalk2.template;
    };
    function Chalk(options) {
      return chalkFactory(options);
    }
    for (const [styleName, style] of Object.entries(ansiStyles)) {
      styles[styleName] = {
        get() {
          const builder = createBuilder(this, createStyler(style.open, style.close, this._styler), this._isEmpty);
          Object.defineProperty(this, styleName, { value: builder });
          return builder;
        }
      };
    }
    styles.visible = {
      get() {
        const builder = createBuilder(this, this._styler, true);
        Object.defineProperty(this, "visible", { value: builder });
        return builder;
      }
    };
    var usedModels = ["rgb", "hex", "keyword", "hsl", "hsv", "hwb", "ansi", "ansi256"];
    for (const model of usedModels) {
      styles[model] = {
        get() {
          const { level } = this;
          return function(...arguments_) {
            const styler = createStyler(ansiStyles.color[levelMapping[level]][model](...arguments_), ansiStyles.color.close, this._styler);
            return createBuilder(this, styler, this._isEmpty);
          };
        }
      };
    }
    for (const model of usedModels) {
      const bgModel = "bg" + model[0].toUpperCase() + model.slice(1);
      styles[bgModel] = {
        get() {
          const { level } = this;
          return function(...arguments_) {
            const styler = createStyler(ansiStyles.bgColor[levelMapping[level]][model](...arguments_), ansiStyles.bgColor.close, this._styler);
            return createBuilder(this, styler, this._isEmpty);
          };
        }
      };
    }
    var proto = Object.defineProperties(() => {
    }, {
      ...styles,
      level: {
        enumerable: true,
        get() {
          return this._generator.level;
        },
        set(level) {
          this._generator.level = level;
        }
      }
    });
    var createStyler = (open, close, parent) => {
      let openAll;
      let closeAll;
      if (parent === void 0) {
        openAll = open;
        closeAll = close;
      } else {
        openAll = parent.openAll + open;
        closeAll = close + parent.closeAll;
      }
      return {
        open,
        close,
        openAll,
        closeAll,
        parent
      };
    };
    var createBuilder = (self2, _styler, _isEmpty) => {
      const builder = (...arguments_) => {
        return applyStyle(builder, arguments_.length === 1 ? "" + arguments_[0] : arguments_.join(" "));
      };
      builder.__proto__ = proto;
      builder._generator = self2;
      builder._styler = _styler;
      builder._isEmpty = _isEmpty;
      return builder;
    };
    var applyStyle = (self2, string) => {
      if (self2.level <= 0 || !string) {
        return self2._isEmpty ? "" : string;
      }
      let styler = self2._styler;
      if (styler === void 0) {
        return string;
      }
      const { openAll, closeAll } = styler;
      if (string.indexOf("\x1B") !== -1) {
        while (styler !== void 0) {
          string = stringReplaceAll(string, styler.close, styler.open);
          styler = styler.parent;
        }
      }
      const lfIndex = string.indexOf("\n");
      if (lfIndex !== -1) {
        string = stringEncaseCRLFWithFirstIndex(string, closeAll, openAll, lfIndex);
      }
      return openAll + string + closeAll;
    };
    var template;
    var chalkTag = (chalk2, ...strings) => {
      const [firstString] = strings;
      if (!Array.isArray(firstString)) {
        return strings.join(" ");
      }
      const arguments_ = strings.slice(1);
      const parts = [firstString.raw[0]];
      for (let i = 1; i < firstString.length; i++) {
        parts.push(
          String(arguments_[i - 1]).replace(/[{}\\]/g, "\\$&"),
          String(firstString.raw[i])
        );
      }
      if (template === void 0) {
        template = require_templates2();
      }
      return template(chalk2, parts.join(""));
    };
    Object.defineProperties(Chalk.prototype, styles);
    var chalk = Chalk();
    chalk.supportsColor = stdoutColor;
    chalk.stderr = Chalk({ level: stderrColor ? stderrColor.level : 0 });
    chalk.stderr.supportsColor = stderrColor;
    chalk.Level = {
      None: 0,
      Basic: 1,
      Ansi256: 2,
      TrueColor: 3,
      0: "None",
      1: "Basic",
      2: "Ansi256",
      3: "TrueColor"
    };
    module2.exports = chalk;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/constants.js
var require_constants11 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var NODE_INITIAL = 0;
    var NODE_SUCCESS = 1;
    var NODE_ERRORED = 2;
    var START_OF_INPUT = ``;
    var END_OF_INPUT = `\0`;
    var HELP_COMMAND_INDEX = -1;
    var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/;
    var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/;
    var BATCH_REGEX = /^-[a-zA-Z]{2,}$/;
    var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/;
    var DEBUG = process.env.DEBUG_CLI === `1`;
    exports2.BATCH_REGEX = BATCH_REGEX;
    exports2.BINDING_REGEX = BINDING_REGEX;
    exports2.DEBUG = DEBUG;
    exports2.END_OF_INPUT = END_OF_INPUT;
    exports2.HELP_COMMAND_INDEX = HELP_COMMAND_INDEX;
    exports2.HELP_REGEX = HELP_REGEX;
    exports2.NODE_ERRORED = NODE_ERRORED;
    exports2.NODE_INITIAL = NODE_INITIAL;
    exports2.NODE_SUCCESS = NODE_SUCCESS;
    exports2.OPTION_REGEX = OPTION_REGEX;
    exports2.START_OF_INPUT = START_OF_INPUT;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/errors.js
var require_errors3 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/errors.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var constants = require_constants11();
    var UsageError = class extends Error {
      constructor(message) {
        super(message);
        this.clipanion = { type: `usage` };
        this.name = `UsageError`;
      }
    };
    var UnknownSyntaxError = class extends Error {
      constructor(input, candidates) {
        super();
        this.input = input;
        this.candidates = candidates;
        this.clipanion = { type: `none` };
        this.name = `UnknownSyntaxError`;
        if (this.candidates.length === 0) {
          this.message = `Command not found, but we're not sure what's the alternative.`;
        } else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) {
          const [{ reason }] = this.candidates;
          this.message = `${reason}

${this.candidates.map(({ usage }) => `$ ${usage}`).join(`
`)}`;
        } else if (this.candidates.length === 1) {
          const [{ usage }] = this.candidates;
          this.message = `Command not found; did you mean:

$ ${usage}
${whileRunning(input)}`;
        } else {
          this.message = `Command not found; did you mean one of:

${this.candidates.map(({ usage }, index) => {
            return `${`${index}.`.padStart(4)} ${usage}`;
          }).join(`
`)}

${whileRunning(input)}`;
        }
      }
    };
    var AmbiguousSyntaxError = class extends Error {
      constructor(input, usages) {
        super();
        this.input = input;
        this.usages = usages;
        this.clipanion = { type: `none` };
        this.name = `AmbiguousSyntaxError`;
        this.message = `Cannot find which to pick amongst the following alternatives:

${this.usages.map((usage, index) => {
          return `${`${index}.`.padStart(4)} ${usage}`;
        }).join(`
`)}

${whileRunning(input)}`;
      }
    };
    var whileRunning = (input) => `While running ${input.filter((token) => {
      return token !== constants.END_OF_INPUT;
    }).map((token) => {
      const json = JSON.stringify(token);
      if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) {
        return json;
      } else {
        return token;
      }
    }).join(` `)}`;
    exports2.AmbiguousSyntaxError = AmbiguousSyntaxError;
    exports2.UnknownSyntaxError = UnknownSyntaxError;
    exports2.UsageError = UsageError;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.js
var require_utils9 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/utils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var errors = require_errors3();
    var isOptionSymbol = Symbol(`clipanion/isOption`);
    function makeCommandOption(spec) {
      return { ...spec, [isOptionSymbol]: true };
    }
    function rerouteArguments(a, b) {
      if (typeof a === `undefined`)
        return [a, b];
      if (typeof a === `object` && a !== null && !Array.isArray(a)) {
        return [void 0, a];
      } else {
        return [a, b];
      }
    }
    function cleanValidationError(message, lowerCase = false) {
      let cleaned = message.replace(/^\.: /, ``);
      if (lowerCase)
        cleaned = cleaned[0].toLowerCase() + cleaned.slice(1);
      return cleaned;
    }
    function formatError(message, errors$1) {
      if (errors$1.length === 1) {
        return new errors.UsageError(`${message}: ${cleanValidationError(errors$1[0], true)}`);
      } else {
        return new errors.UsageError(`${message}:
${errors$1.map((error) => `
- ${cleanValidationError(error)}`).join(``)}`);
      }
    }
    function applyValidator(name, value, validator) {
      if (typeof validator === `undefined`)
        return value;
      const errors2 = [];
      const coercions = [];
      const coercion = (v) => {
        const orig = value;
        value = v;
        return coercion.bind(null, orig);
      };
      const check = validator(value, { errors: errors2, coercions, coercion });
      if (!check)
        throw formatError(`Invalid value for ${name}`, errors2);
      for (const [, op] of coercions)
        op();
      return value;
    }
    exports2.applyValidator = applyValidator;
    exports2.cleanValidationError = cleanValidationError;
    exports2.formatError = formatError;
    exports2.isOptionSymbol = isOptionSymbol;
    exports2.makeCommandOption = makeCommandOption;
    exports2.rerouteArguments = rerouteArguments;
  }
});

// ../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.js
var require_lib68 = __commonJS({
  "../node_modules/.pnpm/typanion@3.14.0/node_modules/typanion/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
    function getPrintable(value) {
      if (value === null)
        return `null`;
      if (value === void 0)
        return `undefined`;
      if (value === ``)
        return `an empty string`;
      if (typeof value === "symbol")
        return `<${value.toString()}>`;
      if (Array.isArray(value))
        return `an array`;
      return JSON.stringify(value);
    }
    function getPrintableArray(value, conjunction) {
      if (value.length === 0)
        return `nothing`;
      if (value.length === 1)
        return getPrintable(value[0]);
      const rest = value.slice(0, -1);
      const trailing = value[value.length - 1];
      const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `;
      return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`;
    }
    function computeKey(state, key) {
      var _a, _b, _c;
      if (typeof key === `number`) {
        return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`;
      } else if (simpleKeyRegExp.test(key)) {
        return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`;
      } else {
        return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`;
      }
    }
    function plural2(n, singular, plural3) {
      return n === 1 ? singular : plural3;
    }
    var colorStringRegExp = /^#[0-9a-f]{6}$/i;
    var colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i;
    var base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
    var uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i;
    var iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;
    function pushError({ errors, p } = {}, message) {
      errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`);
      return false;
    }
    function makeSetter(target, key) {
      return (v) => {
        target[key] = v;
      };
    }
    function makeCoercionFn(target, key) {
      return (v) => {
        const previous = target[key];
        target[key] = v;
        return makeCoercionFn(target, key).bind(null, previous);
      };
    }
    function makeLazyCoercionFn(fn2, orig, generator) {
      const commit = () => {
        fn2(generator());
        return revert;
      };
      const revert = () => {
        fn2(orig);
        return commit;
      };
      return commit;
    }
    function isUnknown() {
      return makeValidator({
        test: (value, state) => {
          return true;
        }
      });
    }
    function isLiteral(expected) {
      return makeValidator({
        test: (value, state) => {
          if (value !== expected)
            return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isString() {
      return makeValidator({
        test: (value, state) => {
          if (typeof value !== `string`)
            return pushError(state, `Expected a string (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isEnum(enumSpec) {
      const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec);
      const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number");
      const values = new Set(valuesArray);
      if (values.size === 1)
        return isLiteral([...values][0]);
      return makeValidator({
        test: (value, state) => {
          if (!values.has(value)) {
            if (isAlphaNum) {
              return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`);
            } else {
              return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`);
            }
          }
          return true;
        }
      });
    }
    var BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([
      [`true`, true],
      [`True`, true],
      [`1`, true],
      [1, true],
      [`false`, false],
      [`False`, false],
      [`0`, false],
      [0, false]
    ]);
    function isBoolean() {
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (typeof value !== `boolean`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              const coercion = BOOLEAN_COERCIONS.get(value);
              if (typeof coercion !== `undefined`) {
                state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
                return true;
              }
            }
            return pushError(state, `Expected a boolean (got ${getPrintable(value)})`);
          }
          return true;
        }
      });
    }
    function isNumber() {
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (typeof value !== `number`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              let coercion;
              if (typeof value === `string`) {
                let val;
                try {
                  val = JSON.parse(value);
                } catch (_b) {
                }
                if (typeof val === `number`) {
                  if (JSON.stringify(val) === value) {
                    coercion = val;
                  } else {
                    return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`);
                  }
                }
              }
              if (typeof coercion !== `undefined`) {
                state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
                return true;
              }
            }
            return pushError(state, `Expected a number (got ${getPrintable(value)})`);
          }
          return true;
        }
      });
    }
    function isPayload(spec) {
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (typeof (state === null || state === void 0 ? void 0 : state.coercions) === `undefined`)
            return pushError(state, `The isPayload predicate can only be used with coercion enabled`);
          if (typeof state.coercion === `undefined`)
            return pushError(state, `Unbound coercion result`);
          if (typeof value !== `string`)
            return pushError(state, `Expected a string (got ${getPrintable(value)})`);
          let inner;
          try {
            inner = JSON.parse(value);
          } catch (_b) {
            return pushError(state, `Expected a JSON string (got ${getPrintable(value)})`);
          }
          const wrapper = { value: inner };
          if (!spec(inner, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(wrapper, `value`) })))
            return false;
          state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, wrapper.value)]);
          return true;
        }
      });
    }
    function isDate() {
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (!(value instanceof Date)) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              let coercion;
              if (typeof value === `string` && iso8601RegExp.test(value)) {
                coercion = new Date(value);
              } else {
                let timestamp;
                if (typeof value === `string`) {
                  let val;
                  try {
                    val = JSON.parse(value);
                  } catch (_b) {
                  }
                  if (typeof val === `number`) {
                    timestamp = val;
                  }
                } else if (typeof value === `number`) {
                  timestamp = value;
                }
                if (typeof timestamp !== `undefined`) {
                  if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) {
                    coercion = new Date(timestamp * 1e3);
                  } else {
                    return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`);
                  }
                }
              }
              if (typeof coercion !== `undefined`) {
                state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
                return true;
              }
            }
            return pushError(state, `Expected a date (got ${getPrintable(value)})`);
          }
          return true;
        }
      });
    }
    function isArray(spec, { delimiter } = {}) {
      return makeValidator({
        test: (value, state) => {
          var _a;
          const originalValue = value;
          if (typeof value === `string` && typeof delimiter !== `undefined`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              value = value.split(delimiter);
            }
          }
          if (!Array.isArray(value))
            return pushError(state, `Expected an array (got ${getPrintable(value)})`);
          let valid = true;
          for (let t = 0, T = value.length; t < T; ++t) {
            valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
            if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
              break;
            }
          }
          if (value !== originalValue)
            state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
          return valid;
        }
      });
    }
    function isSet(spec, { delimiter } = {}) {
      const isArrayValidator = isArray(spec, { delimiter });
      return makeValidator({
        test: (value, state) => {
          var _a, _b;
          if (Object.getPrototypeOf(value).toString() === `[object Set]`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              const originalValues = [...value];
              const coercedValues = [...value];
              if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
                return false;
              const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value;
              state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
              return true;
            } else {
              let valid = true;
              for (const subValue of value) {
                valid = spec(subValue, Object.assign({}, state)) && valid;
                if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
                  break;
                }
              }
              return valid;
            }
          }
          if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
              return pushError(state, `Unbound coercion result`);
            const store = { value };
            if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
              return false;
            state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]);
            return true;
          }
          return pushError(state, `Expected a set (got ${getPrintable(value)})`);
        }
      });
    }
    function isMap(keySpec, valueSpec) {
      const isArrayValidator = isArray(isTuple([keySpec, valueSpec]));
      const isRecordValidator = isRecord(valueSpec, { keys: keySpec });
      return makeValidator({
        test: (value, state) => {
          var _a, _b, _c;
          if (Object.getPrototypeOf(value).toString() === `[object Map]`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              const originalValues = [...value];
              const coercedValues = [...value];
              if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
                return false;
              const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value;
              state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
              return true;
            } else {
              let valid = true;
              for (const [key, subValue] of value) {
                valid = keySpec(key, Object.assign({}, state)) && valid;
                if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
                  break;
                }
                valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid;
                if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
                  break;
                }
              }
              return valid;
            }
          }
          if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
              return pushError(state, `Unbound coercion result`);
            const store = { value };
            if (Array.isArray(value)) {
              if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
                return false;
              state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]);
              return true;
            } else {
              if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
                return false;
              state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]);
              return true;
            }
          }
          return pushError(state, `Expected a map (got ${getPrintable(value)})`);
        }
      });
    }
    function isTuple(spec, { delimiter } = {}) {
      const lengthValidator = hasExactLength(spec.length);
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (typeof value === `string` && typeof delimiter !== `undefined`) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              value = value.split(delimiter);
              state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
            }
          }
          if (!Array.isArray(value))
            return pushError(state, `Expected a tuple (got ${getPrintable(value)})`);
          let valid = lengthValidator(value, Object.assign({}, state));
          for (let t = 0, T = value.length; t < T && t < spec.length; ++t) {
            valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
            if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
              break;
            }
          }
          return valid;
        }
      });
    }
    function isRecord(spec, { keys: keySpec = null } = {}) {
      const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec]));
      return makeValidator({
        test: (value, state) => {
          var _a;
          if (Array.isArray(value)) {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                return pushError(state, `Unbound coercion result`);
              if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
                return false;
              value = Object.fromEntries(value);
              state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
              return true;
            }
          }
          if (typeof value !== `object` || value === null)
            return pushError(state, `Expected an object (got ${getPrintable(value)})`);
          const keys = Object.keys(value);
          let valid = true;
          for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) {
            const key = keys[t];
            const sub = value[key];
            if (key === `__proto__` || key === `constructor`) {
              valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
              continue;
            }
            if (keySpec !== null && !keySpec(key, state)) {
              valid = false;
              continue;
            }
            if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) {
              valid = false;
              continue;
            }
          }
          return valid;
        }
      });
    }
    function isDict(spec, opts = {}) {
      return isRecord(spec, opts);
    }
    function isObject(props, { extra: extraSpec = null } = {}) {
      const specKeys = Object.keys(props);
      const validator = makeValidator({
        test: (value, state) => {
          if (typeof value !== `object` || value === null)
            return pushError(state, `Expected an object (got ${getPrintable(value)})`);
          const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]);
          const extra = {};
          let valid = true;
          for (const key of keys) {
            if (key === `constructor` || key === `__proto__`) {
              valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
            } else {
              const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0;
              const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0;
              if (typeof spec !== `undefined`) {
                valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid;
              } else if (extraSpec === null) {
                valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`);
              } else {
                Object.defineProperty(extra, key, {
                  enumerable: true,
                  get: () => sub,
                  set: makeSetter(value, key)
                });
              }
            }
            if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
              break;
            }
          }
          if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null))
            valid = extraSpec(extra, state) && valid;
          return valid;
        }
      });
      return Object.assign(validator, {
        properties: props
      });
    }
    function isPartial(props) {
      return isObject(props, { extra: isRecord(isUnknown()) });
    }
    var isInstanceOf = (constructor) => makeValidator({
      test: (value, state) => {
        if (!(value instanceof constructor))
          return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`);
        return true;
      }
    });
    var isOneOf = (specs, { exclusive = false } = {}) => makeValidator({
      test: (value, state) => {
        var _a, _b, _c;
        const matches = [];
        const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
        for (let t = 0, T = specs.length; t < T; ++t) {
          const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
          const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
          if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) {
            matches.push([`#${t + 1}`, subCoercions]);
            if (!exclusive) {
              break;
            }
          } else {
            errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]);
          }
        }
        if (matches.length === 1) {
          const [, subCoercions] = matches[0];
          if (typeof subCoercions !== `undefined`)
            (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
          return true;
        }
        if (matches.length > 1)
          pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`);
        else
          (_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer);
        return false;
      }
    });
    function makeTrait(value) {
      return () => {
        return value;
      };
    }
    function makeValidator({ test }) {
      return makeTrait(test)();
    }
    var TypeAssertionError = class extends Error {
      constructor({ errors } = {}) {
        let errorMessage = `Type mismatch`;
        if (errors && errors.length > 0) {
          errorMessage += `
`;
          for (const error of errors) {
            errorMessage += `
- ${error}`;
          }
        }
        super(errorMessage);
      }
    };
    function assert(val, validator) {
      if (!validator(val)) {
        throw new TypeAssertionError();
      }
    }
    function assertWithErrors(val, validator) {
      const errors = [];
      if (!validator(val, { errors })) {
        throw new TypeAssertionError({ errors });
      }
    }
    function softAssert(val, validator) {
    }
    function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) {
      const errors = storeErrors ? [] : void 0;
      if (!coerce) {
        if (validator(value, { errors })) {
          return throws ? value : { value, errors: void 0 };
        } else if (!throws) {
          return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
        } else {
          throw new TypeAssertionError({ errors });
        }
      }
      const state = { value };
      const coercion = makeCoercionFn(state, `value`);
      const coercions = [];
      if (!validator(value, { errors, coercion, coercions })) {
        if (!throws) {
          return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
        } else {
          throw new TypeAssertionError({ errors });
        }
      }
      for (const [, apply] of coercions)
        apply();
      if (throws) {
        return state.value;
      } else {
        return { value: state.value, errors: void 0 };
      }
    }
    function fn(validators, fn2) {
      const isValidArgList = isTuple(validators);
      return (...args) => {
        const check = isValidArgList(args);
        if (!check)
          throw new TypeAssertionError();
        return fn2(...args);
      };
    }
    function hasMinLength(length) {
      return makeValidator({
        test: (value, state) => {
          if (!(value.length >= length))
            return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`);
          return true;
        }
      });
    }
    function hasMaxLength(length) {
      return makeValidator({
        test: (value, state) => {
          if (!(value.length <= length))
            return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`);
          return true;
        }
      });
    }
    function hasExactLength(length) {
      return makeValidator({
        test: (value, state) => {
          if (!(value.length === length))
            return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`);
          return true;
        }
      });
    }
    function hasUniqueItems({ map } = {}) {
      return makeValidator({
        test: (value, state) => {
          const set = /* @__PURE__ */ new Set();
          const dup = /* @__PURE__ */ new Set();
          for (let t = 0, T = value.length; t < T; ++t) {
            const sub = value[t];
            const key = typeof map !== `undefined` ? map(sub) : sub;
            if (set.has(key)) {
              if (dup.has(key))
                continue;
              pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`);
              dup.add(key);
            } else {
              set.add(key);
            }
          }
          return dup.size === 0;
        }
      });
    }
    function isNegative() {
      return makeValidator({
        test: (value, state) => {
          if (!(value <= 0))
            return pushError(state, `Expected to be negative (got ${value})`);
          return true;
        }
      });
    }
    function isPositive() {
      return makeValidator({
        test: (value, state) => {
          if (!(value >= 0))
            return pushError(state, `Expected to be positive (got ${value})`);
          return true;
        }
      });
    }
    function isAtLeast(n) {
      return makeValidator({
        test: (value, state) => {
          if (!(value >= n))
            return pushError(state, `Expected to be at least ${n} (got ${value})`);
          return true;
        }
      });
    }
    function isAtMost(n) {
      return makeValidator({
        test: (value, state) => {
          if (!(value <= n))
            return pushError(state, `Expected to be at most ${n} (got ${value})`);
          return true;
        }
      });
    }
    function isInInclusiveRange(a, b) {
      return makeValidator({
        test: (value, state) => {
          if (!(value >= a && value <= b))
            return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`);
          return true;
        }
      });
    }
    function isInExclusiveRange(a, b) {
      return makeValidator({
        test: (value, state) => {
          if (!(value >= a && value < b))
            return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`);
          return true;
        }
      });
    }
    function isInteger({ unsafe = false } = {}) {
      return makeValidator({
        test: (value, state) => {
          if (value !== Math.round(value))
            return pushError(state, `Expected to be an integer (got ${value})`);
          if (!unsafe && !Number.isSafeInteger(value))
            return pushError(state, `Expected to be a safe integer (got ${value})`);
          return true;
        }
      });
    }
    function matchesRegExp(regExp) {
      return makeValidator({
        test: (value, state) => {
          if (!regExp.test(value))
            return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isLowerCase() {
      return makeValidator({
        test: (value, state) => {
          if (value !== value.toLowerCase())
            return pushError(state, `Expected to be all-lowercase (got ${value})`);
          return true;
        }
      });
    }
    function isUpperCase() {
      return makeValidator({
        test: (value, state) => {
          if (value !== value.toUpperCase())
            return pushError(state, `Expected to be all-uppercase (got ${value})`);
          return true;
        }
      });
    }
    function isUUID4() {
      return makeValidator({
        test: (value, state) => {
          if (!uuid4RegExp.test(value))
            return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isISO8601() {
      return makeValidator({
        test: (value, state) => {
          if (!iso8601RegExp.test(value))
            return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isHexColor({ alpha = false }) {
      return makeValidator({
        test: (value, state) => {
          const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value);
          if (!res)
            return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isBase64() {
      return makeValidator({
        test: (value, state) => {
          if (!base64RegExp.test(value))
            return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`);
          return true;
        }
      });
    }
    function isJSON(spec = isUnknown()) {
      return makeValidator({
        test: (value, state) => {
          let data;
          try {
            data = JSON.parse(value);
          } catch (_a) {
            return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`);
          }
          return spec(data, state);
        }
      });
    }
    function cascade(spec, ...followups) {
      const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
      return makeValidator({
        test: (value, state) => {
          var _a, _b;
          const context = { value };
          const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0;
          const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
          if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions })))
            return false;
          const reverts = [];
          if (typeof subCoercions !== `undefined`)
            for (const [, coercion] of subCoercions)
              reverts.push(coercion());
          try {
            if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
              if (context.value !== value) {
                if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
                  return pushError(state, `Unbound coercion result`);
                state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]);
              }
              (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
            }
            return resolvedFollowups.every((spec2) => {
              return spec2(context.value, state);
            });
          } finally {
            for (const revert of reverts) {
              revert();
            }
          }
        }
      });
    }
    function applyCascade(spec, ...followups) {
      const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
      return cascade(spec, resolvedFollowups);
    }
    function isOptional(spec) {
      return makeValidator({
        test: (value, state) => {
          if (typeof value === `undefined`)
            return true;
          return spec(value, state);
        }
      });
    }
    function isNullable(spec) {
      return makeValidator({
        test: (value, state) => {
          if (value === null)
            return true;
          return spec(value, state);
        }
      });
    }
    var checks = {
      missing: (keys, key) => keys.has(key),
      undefined: (keys, key, value) => keys.has(key) && typeof value[key] !== `undefined`,
      nil: (keys, key, value) => keys.has(key) && value[key] != null,
      falsy: (keys, key, value) => keys.has(key) && !!value[key]
    };
    function hasRequiredKeys(requiredKeys, options) {
      var _a;
      const requiredSet = new Set(requiredKeys);
      const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
      return makeValidator({
        test: (value, state) => {
          const keys = new Set(Object.keys(value));
          const problems = [];
          for (const key of requiredSet)
            if (!check(keys, key, value))
              problems.push(key);
          if (problems.length > 0)
            return pushError(state, `Missing required ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
          return true;
        }
      });
    }
    function hasAtLeastOneKey(requiredKeys, options) {
      var _a;
      const requiredSet = new Set(requiredKeys);
      const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
      return makeValidator({
        test: (value, state) => {
          const keys = Object.keys(value);
          const valid = keys.some((key) => check(requiredSet, key, value));
          if (!valid)
            return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`);
          return true;
        }
      });
    }
    function hasForbiddenKeys(forbiddenKeys, options) {
      var _a;
      const forbiddenSet = new Set(forbiddenKeys);
      const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
      return makeValidator({
        test: (value, state) => {
          const keys = new Set(Object.keys(value));
          const problems = [];
          for (const key of forbiddenSet)
            if (check(keys, key, value))
              problems.push(key);
          if (problems.length > 0)
            return pushError(state, `Forbidden ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
          return true;
        }
      });
    }
    function hasMutuallyExclusiveKeys(exclusiveKeys, options) {
      var _a;
      const exclusiveSet = new Set(exclusiveKeys);
      const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
      return makeValidator({
        test: (value, state) => {
          const keys = new Set(Object.keys(value));
          const used = [];
          for (const key of exclusiveSet)
            if (check(keys, key, value))
              used.push(key);
          if (used.length > 1)
            return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`);
          return true;
        }
      });
    }
    (function(KeyRelationship) {
      KeyRelationship["Forbids"] = "Forbids";
      KeyRelationship["Requires"] = "Requires";
    })(exports2.KeyRelationship || (exports2.KeyRelationship = {}));
    var keyRelationships = {
      [exports2.KeyRelationship.Forbids]: {
        expect: false,
        message: `forbids using`
      },
      [exports2.KeyRelationship.Requires]: {
        expect: true,
        message: `requires using`
      }
    };
    function hasKeyRelationship(subject, relationship, others, options) {
      var _a, _b;
      const skipped = new Set((_a = options === null || options === void 0 ? void 0 : options.ignore) !== null && _a !== void 0 ? _a : []);
      const check = checks[(_b = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _b !== void 0 ? _b : "missing"];
      const otherSet = new Set(others);
      const spec = keyRelationships[relationship];
      const conjunction = relationship === exports2.KeyRelationship.Forbids ? `or` : `and`;
      return makeValidator({
        test: (value, state) => {
          const keys = new Set(Object.keys(value));
          if (!check(keys, subject, value) || skipped.has(value[subject]))
            return true;
          const problems = [];
          for (const key of otherSet)
            if ((check(keys, key, value) && !skipped.has(value[key])) !== spec.expect)
              problems.push(key);
          if (problems.length >= 1)
            return pushError(state, `Property "${subject}" ${spec.message} ${plural2(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`);
          return true;
        }
      });
    }
    exports2.TypeAssertionError = TypeAssertionError;
    exports2.applyCascade = applyCascade;
    exports2.as = as;
    exports2.assert = assert;
    exports2.assertWithErrors = assertWithErrors;
    exports2.cascade = cascade;
    exports2.fn = fn;
    exports2.hasAtLeastOneKey = hasAtLeastOneKey;
    exports2.hasExactLength = hasExactLength;
    exports2.hasForbiddenKeys = hasForbiddenKeys;
    exports2.hasKeyRelationship = hasKeyRelationship;
    exports2.hasMaxLength = hasMaxLength;
    exports2.hasMinLength = hasMinLength;
    exports2.hasMutuallyExclusiveKeys = hasMutuallyExclusiveKeys;
    exports2.hasRequiredKeys = hasRequiredKeys;
    exports2.hasUniqueItems = hasUniqueItems;
    exports2.isArray = isArray;
    exports2.isAtLeast = isAtLeast;
    exports2.isAtMost = isAtMost;
    exports2.isBase64 = isBase64;
    exports2.isBoolean = isBoolean;
    exports2.isDate = isDate;
    exports2.isDict = isDict;
    exports2.isEnum = isEnum;
    exports2.isHexColor = isHexColor;
    exports2.isISO8601 = isISO8601;
    exports2.isInExclusiveRange = isInExclusiveRange;
    exports2.isInInclusiveRange = isInInclusiveRange;
    exports2.isInstanceOf = isInstanceOf;
    exports2.isInteger = isInteger;
    exports2.isJSON = isJSON;
    exports2.isLiteral = isLiteral;
    exports2.isLowerCase = isLowerCase;
    exports2.isMap = isMap;
    exports2.isNegative = isNegative;
    exports2.isNullable = isNullable;
    exports2.isNumber = isNumber;
    exports2.isObject = isObject;
    exports2.isOneOf = isOneOf;
    exports2.isOptional = isOptional;
    exports2.isPartial = isPartial;
    exports2.isPayload = isPayload;
    exports2.isPositive = isPositive;
    exports2.isRecord = isRecord;
    exports2.isSet = isSet;
    exports2.isString = isString;
    exports2.isTuple = isTuple;
    exports2.isUUID4 = isUUID4;
    exports2.isUnknown = isUnknown;
    exports2.isUpperCase = isUpperCase;
    exports2.makeTrait = makeTrait;
    exports2.makeValidator = makeValidator;
    exports2.matchesRegExp = matchesRegExp;
    exports2.softAssert = softAssert;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Command.js
var require_Command = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Command.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    function _interopNamespace(e) {
      if (e && e.__esModule) return e;
      var n = /* @__PURE__ */ Object.create(null);
      if (e) {
        Object.keys(e).forEach(function(k) {
          if (k !== "default") {
            var d = Object.getOwnPropertyDescriptor(e, k);
            Object.defineProperty(n, k, d.get ? d : {
              enumerable: true,
              get: function() {
                return e[k];
              }
            });
          }
        });
      }
      n["default"] = e;
      return Object.freeze(n);
    }
    var Command = class {
      constructor() {
        this.help = false;
      }
      /**
       * Defines the usage information for the given command.
       */
      static Usage(usage) {
        return usage;
      }
      /**
       * Standard error handler which will simply rethrow the error. Can be used
       * to add custom logic to handle errors from the command or simply return
       * the parent class error handling.
       */
      async catch(error) {
        throw error;
      }
      async validateAndExecute() {
        const commandClass = this.constructor;
        const cascade = commandClass.schema;
        if (Array.isArray(cascade)) {
          const { isDict, isUnknown, applyCascade } = await Promise.resolve().then(function() {
            return /* @__PURE__ */ _interopNamespace(require_lib68());
          });
          const schema = applyCascade(isDict(isUnknown()), cascade);
          const errors = [];
          const coercions = [];
          const check = schema(this, { errors, coercions });
          if (!check)
            throw utils.formatError(`Invalid option schema`, errors);
          for (const [, op] of coercions) {
            op();
          }
        } else if (cascade != null) {
          throw new Error(`Invalid command schema`);
        }
        const exitCode = await this.execute();
        if (typeof exitCode !== `undefined`) {
          return exitCode;
        } else {
          return 0;
        }
      }
    };
    Command.isOption = utils.isOptionSymbol;
    Command.Default = [];
    exports2.Command = Command;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/format.js
var require_format2 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/format.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var MAX_LINE_LENGTH = 80;
    var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`);
    for (let t = 0; t <= 24; ++t)
      richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`;
    var richFormat = {
      header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`,
      bold: (str) => `\x1B[1m${str}\x1B[22m`,
      error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`,
      code: (str) => `\x1B[36m${str}\x1B[39m`
    };
    var textFormat = {
      header: (str) => str,
      bold: (str) => str,
      error: (str) => str,
      code: (str) => str
    };
    function dedent(text) {
      const lines = text.split(`
`);
      const nonEmptyLines = lines.filter((line) => line.match(/\S/));
      const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0;
      return lines.map((line) => line.slice(indent).trimRight()).join(`
`);
    }
    function formatMarkdownish(text, { format, paragraphs }) {
      text = text.replace(/\r\n?/g, `
`);
      text = dedent(text);
      text = text.replace(/^\n+|\n+$/g, ``);
      text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2

`);
      text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `);
      if (paragraphs) {
        text = text.split(/\n/).map((paragraph) => {
          const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/);
          if (!bulletMatch)
            return paragraph.match(/(.{1,80})(?: |$)/g).join(`
`);
          const indent = paragraph.length - paragraph.trimStart().length;
          return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => {
            return ` `.repeat(indent) + (index === 0 ? `- ` : `  `) + line;
          }).join(`
`);
        }).join(`

`);
      }
      text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
        return format.code($1 + $2 + $1);
      });
      text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
        return format.bold($1 + $2 + $1);
      });
      return text ? `${text}
` : ``;
    }
    exports2.formatMarkdownish = formatMarkdownish;
    exports2.richFormat = richFormat;
    exports2.textFormat = textFormat;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/core.js
var require_core6 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/core.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var constants = require_constants11();
    var errors = require_errors3();
    function debug(str) {
      if (constants.DEBUG) {
        console.log(str);
      }
    }
    var basicHelpState = {
      candidateUsage: null,
      requiredOptions: [],
      errorMessage: null,
      ignoreOptions: false,
      path: [],
      positionals: [],
      options: [],
      remainder: null,
      selectedIndex: constants.HELP_COMMAND_INDEX
    };
    function makeStateMachine() {
      return {
        nodes: [makeNode(), makeNode(), makeNode()]
      };
    }
    function makeAnyOfMachine(inputs) {
      const output = makeStateMachine();
      const heads = [];
      let offset = output.nodes.length;
      for (const input of inputs) {
        heads.push(offset);
        for (let t = 0; t < input.nodes.length; ++t)
          if (!isTerminalNode(t))
            output.nodes.push(cloneNode(input.nodes[t], offset));
        offset += input.nodes.length - 2;
      }
      for (const head of heads)
        registerShortcut(output, constants.NODE_INITIAL, head);
      return output;
    }
    function injectNode(machine, node) {
      machine.nodes.push(node);
      return machine.nodes.length - 1;
    }
    function simplifyMachine(input) {
      const visited = /* @__PURE__ */ new Set();
      const process2 = (node) => {
        if (visited.has(node))
          return;
        visited.add(node);
        const nodeDef = input.nodes[node];
        for (const transitions of Object.values(nodeDef.statics))
          for (const { to } of transitions)
            process2(to);
        for (const [, { to }] of nodeDef.dynamics)
          process2(to);
        for (const { to } of nodeDef.shortcuts)
          process2(to);
        const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to));
        while (nodeDef.shortcuts.length > 0) {
          const { to } = nodeDef.shortcuts.shift();
          const toDef = input.nodes[to];
          for (const [segment, transitions] of Object.entries(toDef.statics)) {
            const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment];
            for (const transition of transitions) {
              if (!store.some(({ to: to2 }) => transition.to === to2)) {
                store.push(transition);
              }
            }
          }
          for (const [test, transition] of toDef.dynamics)
            if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2))
              nodeDef.dynamics.push([test, transition]);
          for (const transition of toDef.shortcuts) {
            if (!shortcuts.has(transition.to)) {
              nodeDef.shortcuts.push(transition);
              shortcuts.add(transition.to);
            }
          }
        }
      };
      process2(constants.NODE_INITIAL);
    }
    function debugMachine(machine, { prefix = `` } = {}) {
      if (constants.DEBUG) {
        debug(`${prefix}Nodes are:`);
        for (let t = 0; t < machine.nodes.length; ++t) {
          debug(`${prefix}  ${t}: ${JSON.stringify(machine.nodes[t])}`);
        }
      }
    }
    function runMachineInternal(machine, input, partial = false) {
      debug(`Running a vm on ${JSON.stringify(input)}`);
      let branches = [{ node: constants.NODE_INITIAL, state: {
        candidateUsage: null,
        requiredOptions: [],
        errorMessage: null,
        ignoreOptions: false,
        options: [],
        path: [],
        positionals: [],
        remainder: null,
        selectedIndex: null
      } }];
      debugMachine(machine, { prefix: `  ` });
      const tokens = [constants.START_OF_INPUT, ...input];
      for (let t = 0; t < tokens.length; ++t) {
        const segment = tokens[t];
        debug(`  Processing ${JSON.stringify(segment)}`);
        const nextBranches = [];
        for (const { node, state } of branches) {
          debug(`    Current node is ${node}`);
          const nodeDef = machine.nodes[node];
          if (node === constants.NODE_ERRORED) {
            nextBranches.push({ node, state });
            continue;
          }
          console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`);
          const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment);
          if (!partial || t < tokens.length - 1 || hasExactMatch) {
            if (hasExactMatch) {
              const transitions = nodeDef.statics[segment];
              for (const { to, reducer } of transitions) {
                nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
                debug(`      Static transition to ${to} found`);
              }
            } else {
              debug(`      No static transition found`);
            }
          } else {
            let hasMatches = false;
            for (const candidate of Object.keys(nodeDef.statics)) {
              if (!candidate.startsWith(segment))
                continue;
              if (segment === candidate) {
                for (const { to, reducer } of nodeDef.statics[candidate]) {
                  nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
                  debug(`      Static transition to ${to} found`);
                }
              } else {
                for (const { to } of nodeDef.statics[candidate]) {
                  nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } });
                  debug(`      Static transition to ${to} found (partial match)`);
                }
              }
              hasMatches = true;
            }
            if (!hasMatches) {
              debug(`      No partial static transition found`);
            }
          }
          if (segment !== constants.END_OF_INPUT) {
            for (const [test, { to, reducer }] of nodeDef.dynamics) {
              if (execute(tests, test, state, segment)) {
                nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
                debug(`      Dynamic transition to ${to} found (via ${test})`);
              }
            }
          }
        }
        if (nextBranches.length === 0 && segment === constants.END_OF_INPUT && input.length === 1) {
          return [{
            node: constants.NODE_INITIAL,
            state: basicHelpState
          }];
        }
        if (nextBranches.length === 0) {
          throw new errors.UnknownSyntaxError(input, branches.filter(({ node }) => {
            return node !== constants.NODE_ERRORED;
          }).map(({ state }) => {
            return { usage: state.candidateUsage, reason: null };
          }));
        }
        if (nextBranches.every(({ node }) => node === constants.NODE_ERRORED)) {
          throw new errors.UnknownSyntaxError(input, nextBranches.map(({ state }) => {
            return { usage: state.candidateUsage, reason: state.errorMessage };
          }));
        }
        branches = trimSmallerBranches(nextBranches);
      }
      if (branches.length > 0) {
        debug(`  Results:`);
        for (const branch of branches) {
          debug(`    - ${branch.node} -> ${JSON.stringify(branch.state)}`);
        }
      } else {
        debug(`  No results`);
      }
      return branches;
    }
    function checkIfNodeIsFinished(node, state) {
      if (state.selectedIndex !== null)
        return true;
      if (Object.prototype.hasOwnProperty.call(node.statics, constants.END_OF_INPUT)) {
        for (const { to } of node.statics[constants.END_OF_INPUT])
          if (to === constants.NODE_SUCCESS)
            return true;
      }
      return false;
    }
    function suggestMachine(machine, input, partial) {
      const prefix = partial && input.length > 0 ? [``] : [];
      const branches = runMachineInternal(machine, input, partial);
      const suggestions = [];
      const suggestionsJson = /* @__PURE__ */ new Set();
      const traverseSuggestion = (suggestion, node, skipFirst = true) => {
        let nextNodes = [node];
        while (nextNodes.length > 0) {
          const currentNodes = nextNodes;
          nextNodes = [];
          for (const node2 of currentNodes) {
            const nodeDef = machine.nodes[node2];
            const keys = Object.keys(nodeDef.statics);
            for (const key of Object.keys(nodeDef.statics)) {
              const segment = keys[0];
              for (const { to, reducer } of nodeDef.statics[segment]) {
                if (reducer !== `pushPath`)
                  continue;
                if (!skipFirst)
                  suggestion.push(segment);
                nextNodes.push(to);
              }
            }
          }
          skipFirst = false;
        }
        const json = JSON.stringify(suggestion);
        if (suggestionsJson.has(json))
          return;
        suggestions.push(suggestion);
        suggestionsJson.add(json);
      };
      for (const { node, state } of branches) {
        if (state.remainder !== null) {
          traverseSuggestion([state.remainder], node);
          continue;
        }
        const nodeDef = machine.nodes[node];
        const isFinished = checkIfNodeIsFinished(nodeDef, state);
        for (const [candidate, transitions] of Object.entries(nodeDef.statics))
          if (isFinished && candidate !== constants.END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`))
            traverseSuggestion([...prefix, candidate], node);
        if (!isFinished)
          continue;
        for (const [test, { to }] of nodeDef.dynamics) {
          if (to === constants.NODE_ERRORED)
            continue;
          const tokens = suggest(test, state);
          if (tokens === null)
            continue;
          for (const token of tokens) {
            traverseSuggestion([...prefix, token], node);
          }
        }
      }
      return [...suggestions].sort();
    }
    function runMachine(machine, input) {
      const branches = runMachineInternal(machine, [...input, constants.END_OF_INPUT]);
      return selectBestState(input, branches.map(({ state }) => {
        return state;
      }));
    }
    function trimSmallerBranches(branches) {
      let maxPathSize = 0;
      for (const { state } of branches)
        if (state.path.length > maxPathSize)
          maxPathSize = state.path.length;
      return branches.filter(({ state }) => {
        return state.path.length === maxPathSize;
      });
    }
    function selectBestState(input, states) {
      const terminalStates = states.filter((state) => {
        return state.selectedIndex !== null;
      });
      if (terminalStates.length === 0)
        throw new Error();
      const requiredOptionsSetStates = terminalStates.filter((state) => state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name))));
      if (requiredOptionsSetStates.length === 0) {
        throw new errors.UnknownSyntaxError(input, terminalStates.map((state) => ({
          usage: state.candidateUsage,
          reason: null
        })));
      }
      let maxPathSize = 0;
      for (const state of requiredOptionsSetStates)
        if (state.path.length > maxPathSize)
          maxPathSize = state.path.length;
      const bestPathBranches = requiredOptionsSetStates.filter((state) => {
        return state.path.length === maxPathSize;
      });
      const getPositionalCount = (state) => state.positionals.filter(({ extra }) => {
        return !extra;
      }).length + state.options.length;
      const statesWithPositionalCount = bestPathBranches.map((state) => {
        return { state, positionalCount: getPositionalCount(state) };
      });
      let maxPositionalCount = 0;
      for (const { positionalCount } of statesWithPositionalCount)
        if (positionalCount > maxPositionalCount)
          maxPositionalCount = positionalCount;
      const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => {
        return positionalCount === maxPositionalCount;
      }).map(({ state }) => {
        return state;
      });
      const fixedStates = aggregateHelpStates(bestPositionalStates);
      if (fixedStates.length > 1)
        throw new errors.AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage));
      return fixedStates[0];
    }
    function aggregateHelpStates(states) {
      const notHelps = [];
      const helps = [];
      for (const state of states) {
        if (state.selectedIndex === constants.HELP_COMMAND_INDEX) {
          helps.push(state);
        } else {
          notHelps.push(state);
        }
      }
      if (helps.length > 0) {
        notHelps.push({
          ...basicHelpState,
          path: findCommonPrefix(...helps.map((state) => state.path)),
          options: helps.reduce((options, state) => options.concat(state.options), [])
        });
      }
      return notHelps;
    }
    function findCommonPrefix(firstPath, secondPath, ...rest) {
      if (secondPath === void 0)
        return Array.from(firstPath);
      return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest);
    }
    function makeNode() {
      return {
        dynamics: [],
        shortcuts: [],
        statics: {}
      };
    }
    function isTerminalNode(node) {
      return node === constants.NODE_SUCCESS || node === constants.NODE_ERRORED;
    }
    function cloneTransition(input, offset = 0) {
      return {
        to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to,
        reducer: input.reducer
      };
    }
    function cloneNode(input, offset = 0) {
      const output = makeNode();
      for (const [test, transition] of input.dynamics)
        output.dynamics.push([test, cloneTransition(transition, offset)]);
      for (const transition of input.shortcuts)
        output.shortcuts.push(cloneTransition(transition, offset));
      for (const [segment, transitions] of Object.entries(input.statics))
        output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset));
      return output;
    }
    function registerDynamic(machine, from, test, to, reducer) {
      machine.nodes[from].dynamics.push([
        test,
        { to, reducer }
      ]);
    }
    function registerShortcut(machine, from, to, reducer) {
      machine.nodes[from].shortcuts.push({ to, reducer });
    }
    function registerStatic(machine, from, test, to, reducer) {
      const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test];
      store.push({ to, reducer });
    }
    function execute(store, callback, state, segment) {
      if (Array.isArray(callback)) {
        const [name, ...args] = callback;
        return store[name](state, segment, ...args);
      } else {
        return store[callback](state, segment);
      }
    }
    function suggest(callback, state) {
      const fn = Array.isArray(callback) ? tests[callback[0]] : tests[callback];
      if (typeof fn.suggest === `undefined`)
        return null;
      const args = Array.isArray(callback) ? callback.slice(1) : [];
      return fn.suggest(state, ...args);
    }
    var tests = {
      always: () => {
        return true;
      },
      isOptionLike: (state, segment) => {
        return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`));
      },
      isNotOptionLike: (state, segment) => {
        return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`);
      },
      isOption: (state, segment, name, hidden) => {
        return !state.ignoreOptions && segment === name;
      },
      isBatchOption: (state, segment, names) => {
        return !state.ignoreOptions && constants.BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`));
      },
      isBoundOption: (state, segment, names, options) => {
        const optionParsing = segment.match(constants.BINDING_REGEX);
        return !state.ignoreOptions && !!optionParsing && constants.OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding);
      },
      isNegatedOption: (state, segment, name) => {
        return !state.ignoreOptions && segment === `--no-${name.slice(2)}`;
      },
      isHelp: (state, segment) => {
        return !state.ignoreOptions && constants.HELP_REGEX.test(segment);
      },
      isUnsupportedOption: (state, segment, names) => {
        return !state.ignoreOptions && segment.startsWith(`-`) && constants.OPTION_REGEX.test(segment) && !names.includes(segment);
      },
      isInvalidOption: (state, segment) => {
        return !state.ignoreOptions && segment.startsWith(`-`) && !constants.OPTION_REGEX.test(segment);
      }
    };
    tests.isOption.suggest = (state, name, hidden = true) => {
      return !hidden ? [name] : null;
    };
    var reducers = {
      setCandidateState: (state, segment, candidateState) => {
        return { ...state, ...candidateState };
      },
      setSelectedIndex: (state, segment, index) => {
        return { ...state, selectedIndex: index };
      },
      pushBatch: (state, segment) => {
        return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) };
      },
      pushBound: (state, segment) => {
        const [, name, value] = segment.match(constants.BINDING_REGEX);
        return { ...state, options: state.options.concat({ name, value }) };
      },
      pushPath: (state, segment) => {
        return { ...state, path: state.path.concat(segment) };
      },
      pushPositional: (state, segment) => {
        return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) };
      },
      pushExtra: (state, segment) => {
        return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) };
      },
      pushExtraNoLimits: (state, segment) => {
        return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) };
      },
      pushTrue: (state, segment, name = segment) => {
        return { ...state, options: state.options.concat({ name: segment, value: true }) };
      },
      pushFalse: (state, segment, name = segment) => {
        return { ...state, options: state.options.concat({ name, value: false }) };
      },
      pushUndefined: (state, segment) => {
        return { ...state, options: state.options.concat({ name: segment, value: void 0 }) };
      },
      pushStringValue: (state, segment) => {
        var _a;
        const copy = { ...state, options: [...state.options] };
        const lastOption = state.options[state.options.length - 1];
        lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]);
        return copy;
      },
      setStringValue: (state, segment) => {
        const copy = { ...state, options: [...state.options] };
        const lastOption = state.options[state.options.length - 1];
        lastOption.value = segment;
        return copy;
      },
      inhibateOptions: (state) => {
        return { ...state, ignoreOptions: true };
      },
      useHelp: (state, segment, command) => {
        const [
          ,
          /* name */
          ,
          index
        ] = segment.match(constants.HELP_REGEX);
        if (typeof index !== `undefined`) {
          return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] };
        } else {
          return { ...state, options: [{ name: `-c`, value: String(command) }] };
        }
      },
      setError: (state, segment, errorMessage) => {
        if (segment === constants.END_OF_INPUT) {
          return { ...state, errorMessage: `${errorMessage}.` };
        } else {
          return { ...state, errorMessage: `${errorMessage} ("${segment}").` };
        }
      },
      setOptionArityError: (state, segment) => {
        const lastOption = state.options[state.options.length - 1];
        return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` };
      }
    };
    var NoLimits = Symbol();
    var CommandBuilder = class {
      constructor(cliIndex, cliOpts) {
        this.allOptionNames = [];
        this.arity = { leading: [], trailing: [], extra: [], proxy: false };
        this.options = [];
        this.paths = [];
        this.cliIndex = cliIndex;
        this.cliOpts = cliOpts;
      }
      addPath(path2) {
        this.paths.push(path2);
      }
      setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) {
        Object.assign(this.arity, { leading, trailing, extra, proxy });
      }
      addPositional({ name = `arg`, required = true } = {}) {
        if (!required && this.arity.extra === NoLimits)
          throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`);
        if (!required && this.arity.trailing.length > 0)
          throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`);
        if (!required && this.arity.extra !== NoLimits) {
          this.arity.extra.push(name);
        } else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) {
          this.arity.leading.push(name);
        } else {
          this.arity.trailing.push(name);
        }
      }
      addRest({ name = `arg`, required = 0 } = {}) {
        if (this.arity.extra === NoLimits)
          throw new Error(`Infinite lists cannot be declared multiple times in the same command`);
        if (this.arity.trailing.length > 0)
          throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`);
        for (let t = 0; t < required; ++t)
          this.addPositional({ name });
        this.arity.extra = NoLimits;
      }
      addProxy({ required = 0 } = {}) {
        this.addRest({ required });
        this.arity.proxy = true;
      }
      addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) {
        if (!allowBinding && arity > 1)
          throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`);
        if (!Number.isInteger(arity))
          throw new Error(`The arity must be an integer, got ${arity}`);
        if (arity < 0)
          throw new Error(`The arity must be positive, got ${arity}`);
        this.allOptionNames.push(...names);
        this.options.push({ names, description, arity, hidden, required, allowBinding });
      }
      setContext(context) {
        this.context = context;
      }
      usage({ detailed = true, inlineOptions = true } = {}) {
        const segments = [this.cliOpts.binaryName];
        const detailedOptionList = [];
        if (this.paths.length > 0)
          segments.push(...this.paths[0]);
        if (detailed) {
          for (const { names, arity, hidden, description, required } of this.options) {
            if (hidden)
              continue;
            const args = [];
            for (let t = 0; t < arity; ++t)
              args.push(` #${t}`);
            const definition = `${names.join(`,`)}${args.join(``)}`;
            if (!inlineOptions && description) {
              detailedOptionList.push({ definition, description, required });
            } else {
              segments.push(required ? `<${definition}>` : `[${definition}]`);
            }
          }
          segments.push(...this.arity.leading.map((name) => `<${name}>`));
          if (this.arity.extra === NoLimits)
            segments.push(`...`);
          else
            segments.push(...this.arity.extra.map((name) => `[${name}]`));
          segments.push(...this.arity.trailing.map((name) => `<${name}>`));
        }
        const usage = segments.join(` `);
        return { usage, options: detailedOptionList };
      }
      compile() {
        if (typeof this.context === `undefined`)
          throw new Error(`Assertion failed: No context attached`);
        const machine = makeStateMachine();
        let firstNode = constants.NODE_INITIAL;
        const candidateUsage = this.usage().usage;
        const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names);
        firstNode = injectNode(machine, makeNode());
        registerStatic(machine, constants.NODE_INITIAL, constants.START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]);
        const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`;
        const paths = this.paths.length > 0 ? this.paths : [[]];
        for (const path2 of paths) {
          let lastPathNode = firstNode;
          if (path2.length > 0) {
            const optionPathNode = injectNode(machine, makeNode());
            registerShortcut(machine, lastPathNode, optionPathNode);
            this.registerOptions(machine, optionPathNode);
            lastPathNode = optionPathNode;
          }
          for (let t = 0; t < path2.length; ++t) {
            const nextPathNode = injectNode(machine, makeNode());
            registerStatic(machine, lastPathNode, path2[t], nextPathNode, `pushPath`);
            lastPathNode = nextPathNode;
          }
          if (this.arity.leading.length > 0 || !this.arity.proxy) {
            const helpNode = injectNode(machine, makeNode());
            registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]);
            registerStatic(machine, helpNode, constants.END_OF_INPUT, constants.NODE_SUCCESS, [`setSelectedIndex`, constants.HELP_COMMAND_INDEX]);
            this.registerOptions(machine, lastPathNode);
          }
          if (this.arity.leading.length > 0)
            registerStatic(machine, lastPathNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
          let lastLeadingNode = lastPathNode;
          for (let t = 0; t < this.arity.leading.length; ++t) {
            const nextLeadingNode = injectNode(machine, makeNode());
            if (!this.arity.proxy || t + 1 !== this.arity.leading.length)
              this.registerOptions(machine, nextLeadingNode);
            if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length)
              registerStatic(machine, nextLeadingNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
            registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`);
            lastLeadingNode = nextLeadingNode;
          }
          let lastExtraNode = lastLeadingNode;
          if (this.arity.extra === NoLimits || this.arity.extra.length > 0) {
            const extraShortcutNode = injectNode(machine, makeNode());
            registerShortcut(machine, lastLeadingNode, extraShortcutNode);
            if (this.arity.extra === NoLimits) {
              const extraNode = injectNode(machine, makeNode());
              if (!this.arity.proxy)
                this.registerOptions(machine, extraNode);
              registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`);
              registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`);
              registerShortcut(machine, extraNode, extraShortcutNode);
            } else {
              for (let t = 0; t < this.arity.extra.length; ++t) {
                const nextExtraNode = injectNode(machine, makeNode());
                if (!this.arity.proxy || t > 0)
                  this.registerOptions(machine, nextExtraNode);
                registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`);
                registerShortcut(machine, nextExtraNode, extraShortcutNode);
                lastExtraNode = nextExtraNode;
              }
            }
            lastExtraNode = extraShortcutNode;
          }
          if (this.arity.trailing.length > 0)
            registerStatic(machine, lastExtraNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
          let lastTrailingNode = lastExtraNode;
          for (let t = 0; t < this.arity.trailing.length; ++t) {
            const nextTrailingNode = injectNode(machine, makeNode());
            if (!this.arity.proxy)
              this.registerOptions(machine, nextTrailingNode);
            if (t + 1 < this.arity.trailing.length)
              registerStatic(machine, nextTrailingNode, constants.END_OF_INPUT, constants.NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
            registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`);
            lastTrailingNode = nextTrailingNode;
          }
          registerDynamic(machine, lastTrailingNode, positionalArgument, constants.NODE_ERRORED, [`setError`, `Extraneous positional argument`]);
          registerStatic(machine, lastTrailingNode, constants.END_OF_INPUT, constants.NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]);
        }
        return {
          machine,
          context: this.context
        };
      }
      registerOptions(machine, node) {
        registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`);
        registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`);
        registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`);
        registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], constants.NODE_ERRORED, [`setError`, `Unsupported option name`]);
        registerDynamic(machine, node, [`isInvalidOption`], constants.NODE_ERRORED, [`setError`, `Invalid option name`]);
        for (const option of this.options) {
          const longestName = option.names.reduce((longestName2, name) => {
            return name.length > longestName2.length ? name : longestName2;
          }, ``);
          if (option.arity === 0) {
            for (const name of option.names) {
              registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`);
              if (name.startsWith(`--`) && !name.startsWith(`--no-`)) {
                registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]);
              }
            }
          } else {
            let lastNode = injectNode(machine, makeNode());
            for (const name of option.names)
              registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`);
            for (let t = 0; t < option.arity; ++t) {
              const nextNode = injectNode(machine, makeNode());
              registerStatic(machine, lastNode, constants.END_OF_INPUT, constants.NODE_ERRORED, `setOptionArityError`);
              registerDynamic(machine, lastNode, `isOptionLike`, constants.NODE_ERRORED, `setOptionArityError`);
              const action = option.arity === 1 ? `setStringValue` : `pushStringValue`;
              registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action);
              lastNode = nextNode;
            }
            registerShortcut(machine, lastNode, node);
          }
        }
      }
    };
    var CliBuilder = class _CliBuilder {
      constructor({ binaryName = `...` } = {}) {
        this.builders = [];
        this.opts = { binaryName };
      }
      static build(cbs, opts = {}) {
        return new _CliBuilder(opts).commands(cbs).compile();
      }
      getBuilderByIndex(n) {
        if (!(n >= 0 && n < this.builders.length))
          throw new Error(`Assertion failed: Out-of-bound command index (${n})`);
        return this.builders[n];
      }
      commands(cbs) {
        for (const cb of cbs)
          cb(this.command());
        return this;
      }
      command() {
        const builder = new CommandBuilder(this.builders.length, this.opts);
        this.builders.push(builder);
        return builder;
      }
      compile() {
        const machines = [];
        const contexts = [];
        for (const builder of this.builders) {
          const { machine: machine2, context } = builder.compile();
          machines.push(machine2);
          contexts.push(context);
        }
        const machine = makeAnyOfMachine(machines);
        simplifyMachine(machine);
        return {
          machine,
          contexts,
          process: (input) => {
            return runMachine(machine, input);
          },
          suggest: (input, partial) => {
            return suggestMachine(machine, input, partial);
          }
        };
      }
    };
    exports2.CliBuilder = CliBuilder;
    exports2.CommandBuilder = CommandBuilder;
    exports2.NoLimits = NoLimits;
    exports2.aggregateHelpStates = aggregateHelpStates;
    exports2.cloneNode = cloneNode;
    exports2.cloneTransition = cloneTransition;
    exports2.debug = debug;
    exports2.debugMachine = debugMachine;
    exports2.execute = execute;
    exports2.injectNode = injectNode;
    exports2.isTerminalNode = isTerminalNode;
    exports2.makeAnyOfMachine = makeAnyOfMachine;
    exports2.makeNode = makeNode;
    exports2.makeStateMachine = makeStateMachine;
    exports2.reducers = reducers;
    exports2.registerDynamic = registerDynamic;
    exports2.registerShortcut = registerShortcut;
    exports2.registerStatic = registerStatic;
    exports2.runMachineInternal = runMachineInternal;
    exports2.selectBestState = selectBestState;
    exports2.simplifyMachine = simplifyMachine;
    exports2.suggest = suggest;
    exports2.tests = tests;
    exports2.trimSmallerBranches = trimSmallerBranches;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/HelpCommand.js
var require_HelpCommand = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/HelpCommand.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var Command = require_Command();
    var HelpCommand = class _HelpCommand extends Command.Command {
      constructor(contexts) {
        super();
        this.contexts = contexts;
        this.commands = [];
      }
      static from(state, contexts) {
        const command = new _HelpCommand(contexts);
        command.path = state.path;
        for (const opt of state.options) {
          switch (opt.name) {
            case `-c`:
              {
                command.commands.push(Number(opt.value));
              }
              break;
            case `-i`:
              {
                command.index = Number(opt.value);
              }
              break;
          }
        }
        return command;
      }
      async execute() {
        let commands = this.commands;
        if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length)
          commands = [commands[this.index]];
        if (commands.length === 0) {
          this.context.stdout.write(this.cli.usage());
        } else if (commands.length === 1) {
          this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true }));
        } else if (commands.length > 1) {
          this.context.stdout.write(`Multiple commands match your selection:
`);
          this.context.stdout.write(`
`);
          let index = 0;
          for (const command of this.commands)
            this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) }));
          this.context.stdout.write(`
`);
          this.context.stdout.write(`Run again with -h=<index> to see the longer details of any of those commands.
`);
        }
      }
    };
    exports2.HelpCommand = HelpCommand;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Cli.js
var require_Cli = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/Cli.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var constants = require_constants11();
    var Command = require_Command();
    var tty = require("tty");
    var core = require_core6();
    var format = require_format2();
    var HelpCommand = require_HelpCommand();
    function _interopDefaultLegacy(e) {
      return e && typeof e === "object" && "default" in e ? e : { "default": e };
    }
    var tty__default = /* @__PURE__ */ _interopDefaultLegacy(tty);
    var errorCommandSymbol = Symbol(`clipanion/errorCommand`);
    function getDefaultColorDepth() {
      if (process.env.FORCE_COLOR === `0`)
        return 1;
      if (process.env.FORCE_COLOR === `1`)
        return 8;
      if (typeof process.stdout !== `undefined` && process.stdout.isTTY)
        return 8;
      return 1;
    }
    var Cli = class _Cli {
      constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) {
        this.registrations = /* @__PURE__ */ new Map();
        this.builder = new core.CliBuilder({ binaryName: binaryNameOpt });
        this.binaryLabel = binaryLabel;
        this.binaryName = binaryNameOpt;
        this.binaryVersion = binaryVersion;
        this.enableCapture = enableCapture;
        this.enableColors = enableColors;
      }
      /**
       * Creates a new Cli and registers all commands passed as parameters.
       *
       * @param commandClasses The Commands to register
       * @returns The created `Cli` instance
       */
      static from(commandClasses, options = {}) {
        const cli = new _Cli(options);
        for (const commandClass of commandClasses)
          cli.register(commandClass);
        return cli;
      }
      /**
       * Registers a command inside the CLI.
       */
      register(commandClass) {
        var _a;
        const specs = /* @__PURE__ */ new Map();
        const command = new commandClass();
        for (const key in command) {
          const value = command[key];
          if (typeof value === `object` && value !== null && value[Command.Command.isOption]) {
            specs.set(key, value);
          }
        }
        const builder = this.builder.command();
        const index = builder.cliIndex;
        const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths;
        if (typeof paths !== `undefined`)
          for (const path2 of paths)
            builder.addPath(path2);
        this.registrations.set(commandClass, { specs, builder, index });
        for (const [key, { definition }] of specs.entries())
          definition(builder, key);
        builder.setContext({
          commandClass
        });
      }
      process(input) {
        const { contexts, process: process2 } = this.builder.compile();
        const state = process2(input);
        switch (state.selectedIndex) {
          case constants.HELP_COMMAND_INDEX: {
            return HelpCommand.HelpCommand.from(state, contexts);
          }
          default:
            {
              const { commandClass } = contexts[state.selectedIndex];
              const record = this.registrations.get(commandClass);
              if (typeof record === `undefined`)
                throw new Error(`Assertion failed: Expected the command class to have been registered.`);
              const command = new commandClass();
              command.path = state.path;
              try {
                for (const [key, { transformer }] of record.specs.entries())
                  command[key] = transformer(record.builder, key, state);
                return command;
              } catch (error) {
                error[errorCommandSymbol] = command;
                throw error;
              }
            }
            break;
        }
      }
      async run(input, userContext) {
        var _a;
        let command;
        const context = {
          ..._Cli.defaultContext,
          ...userContext
        };
        const colored = (_a = this.enableColors) !== null && _a !== void 0 ? _a : context.colorDepth > 1;
        if (!Array.isArray(input)) {
          command = input;
        } else {
          try {
            command = this.process(input);
          } catch (error) {
            context.stdout.write(this.error(error, { colored }));
            return 1;
          }
        }
        if (command.help) {
          context.stdout.write(this.usage(command, { colored, detailed: true }));
          return 0;
        }
        command.context = context;
        command.cli = {
          binaryLabel: this.binaryLabel,
          binaryName: this.binaryName,
          binaryVersion: this.binaryVersion,
          enableCapture: this.enableCapture,
          enableColors: this.enableColors,
          definitions: () => this.definitions(),
          error: (error, opts) => this.error(error, opts),
          format: (colored2) => this.format(colored2),
          process: (input2) => this.process(input2),
          run: (input2, subContext) => this.run(input2, { ...context, ...subContext }),
          usage: (command2, opts) => this.usage(command2, opts)
        };
        const activate = this.enableCapture ? getCaptureActivator(context) : noopCaptureActivator;
        let exitCode;
        try {
          exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0)));
        } catch (error) {
          context.stdout.write(this.error(error, { colored, command }));
          return 1;
        }
        return exitCode;
      }
      async runExit(input, context) {
        process.exitCode = await this.run(input, context);
      }
      suggest(input, partial) {
        const { suggest } = this.builder.compile();
        return suggest(input, partial);
      }
      definitions({ colored = false } = {}) {
        const data = [];
        for (const [commandClass, { index }] of this.registrations) {
          if (typeof commandClass.usage === `undefined`)
            continue;
          const { usage: path2 } = this.getUsageByIndex(index, { detailed: false });
          const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false });
          const category = typeof commandClass.usage.category !== `undefined` ? format.formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0;
          const description = typeof commandClass.usage.description !== `undefined` ? format.formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0;
          const details = typeof commandClass.usage.details !== `undefined` ? format.formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0;
          const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [format.formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0;
          data.push({ path: path2, usage, category, description, details, examples, options });
        }
        return data;
      }
      usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) {
        var _a;
        if (command === null) {
          for (const commandClass2 of this.registrations.keys()) {
            const paths = commandClass2.paths;
            const isDocumented = typeof commandClass2.usage !== `undefined`;
            const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0;
            const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path2) => path2.length === 0)) !== null && _a !== void 0 ? _a : false);
            if (isDefault) {
              if (command) {
                command = null;
                break;
              } else {
                command = commandClass2;
              }
            } else {
              if (isDocumented) {
                command = null;
                continue;
              }
            }
          }
          if (command) {
            detailed = true;
          }
        }
        const commandClass = command !== null && command instanceof Command.Command ? command.constructor : command;
        let result2 = ``;
        if (!commandClass) {
          const commandsByCategories = /* @__PURE__ */ new Map();
          for (const [commandClass2, { index }] of this.registrations.entries()) {
            if (typeof commandClass2.usage === `undefined`)
              continue;
            const category = typeof commandClass2.usage.category !== `undefined` ? format.formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null;
            let categoryCommands = commandsByCategories.get(category);
            if (typeof categoryCommands === `undefined`)
              commandsByCategories.set(category, categoryCommands = []);
            const { usage } = this.getUsageByIndex(index);
            categoryCommands.push({ commandClass: commandClass2, usage });
          }
          const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => {
            if (a === null)
              return -1;
            if (b === null)
              return 1;
            return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` });
          });
          const hasLabel = typeof this.binaryLabel !== `undefined`;
          const hasVersion = typeof this.binaryVersion !== `undefined`;
          if (hasLabel || hasVersion) {
            if (hasLabel && hasVersion)
              result2 += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)}

`;
            else if (hasLabel)
              result2 += `${this.format(colored).header(`${this.binaryLabel}`)}
`;
            else
              result2 += `${this.format(colored).header(`${this.binaryVersion}`)}
`;
            result2 += `  ${this.format(colored).bold(prefix)}${this.binaryName} <command>
`;
          } else {
            result2 += `${this.format(colored).bold(prefix)}${this.binaryName} <command>
`;
          }
          for (const categoryName of categoryNames) {
            const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => {
              return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` });
            });
            const header = categoryName !== null ? categoryName.trim() : `General commands`;
            result2 += `
`;
            result2 += `${this.format(colored).header(`${header}`)}
`;
            for (const { commandClass: commandClass2, usage } of commands) {
              const doc = commandClass2.usage.description || `undocumented`;
              result2 += `
`;
              result2 += `  ${this.format(colored).bold(usage)}
`;
              result2 += `    ${format.formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`;
            }
          }
          result2 += `
`;
          result2 += format.formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true });
        } else {
          if (!detailed) {
            const { usage } = this.getUsageByRegistration(commandClass);
            result2 += `${this.format(colored).bold(prefix)}${usage}
`;
          } else {
            const { description = ``, details = ``, examples = [] } = commandClass.usage || {};
            if (description !== ``) {
              result2 += format.formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase());
              result2 += `
`;
            }
            if (details !== `` || examples.length > 0) {
              result2 += `${this.format(colored).header(`Usage`)}
`;
              result2 += `
`;
            }
            const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false });
            result2 += `${this.format(colored).bold(prefix)}${usage}
`;
            if (options.length > 0) {
              result2 += `
`;
              result2 += `${format.richFormat.header(`Options`)}
`;
              const maxDefinitionLength = options.reduce((length, option) => {
                return Math.max(length, option.definition.length);
              }, 0);
              result2 += `
`;
              for (const { definition, description: description2 } of options) {
                result2 += `  ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))}    ${format.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`;
              }
            }
            if (details !== ``) {
              result2 += `
`;
              result2 += `${this.format(colored).header(`Details`)}
`;
              result2 += `
`;
              result2 += format.formatMarkdownish(details, { format: this.format(colored), paragraphs: true });
            }
            if (examples.length > 0) {
              result2 += `
`;
              result2 += `${this.format(colored).header(`Examples`)}
`;
              for (const [description2, example] of examples) {
                result2 += `
`;
                result2 += format.formatMarkdownish(description2, { format: this.format(colored), paragraphs: false });
                result2 += `${example.replace(/^/m, `  ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)}
`;
              }
            }
          }
        }
        return result2;
      }
      error(error, _a) {
        var _b;
        var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a;
        if (!(error instanceof Error))
          error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`);
        let result2 = ``;
        let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`);
        if (name === `Error`)
          name = `Internal Error`;
        result2 += `${this.format(colored).error(name)}: ${error.message}
`;
        const meta = error.clipanion;
        if (typeof meta !== `undefined`) {
          if (meta.type === `usage`) {
            result2 += `
`;
            result2 += this.usage(command);
          }
        } else {
          if (error.stack) {
            result2 += `${error.stack.replace(/^.*\n/, ``)}
`;
          }
        }
        return result2;
      }
      format(colored) {
        var _a;
        return ((_a = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a !== void 0 ? _a : _Cli.defaultContext.colorDepth > 1) ? format.richFormat : format.textFormat;
      }
      getUsageByRegistration(klass, opts) {
        const record = this.registrations.get(klass);
        if (typeof record === `undefined`)
          throw new Error(`Assertion failed: Unregistered command`);
        return this.getUsageByIndex(record.index, opts);
      }
      getUsageByIndex(n, opts) {
        return this.builder.getBuilderByIndex(n).usage(opts);
      }
    };
    Cli.defaultContext = {
      stdin: process.stdin,
      stdout: process.stdout,
      stderr: process.stderr,
      colorDepth: `getColorDepth` in tty__default["default"].WriteStream.prototype ? tty__default["default"].WriteStream.prototype.getColorDepth() : getDefaultColorDepth()
    };
    var gContextStorage;
    function getCaptureActivator(context) {
      let contextStorage = gContextStorage;
      if (typeof contextStorage === `undefined`) {
        if (context.stdout === process.stdout && context.stderr === process.stderr)
          return noopCaptureActivator;
        const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks");
        contextStorage = gContextStorage = new LazyAsyncLocalStorage();
        const origStdoutWrite = process.stdout._write;
        process.stdout._write = function(chunk, encoding, cb) {
          const context2 = contextStorage.getStore();
          if (typeof context2 === `undefined`)
            return origStdoutWrite.call(this, chunk, encoding, cb);
          return context2.stdout.write(chunk, encoding, cb);
        };
        const origStderrWrite = process.stderr._write;
        process.stderr._write = function(chunk, encoding, cb) {
          const context2 = contextStorage.getStore();
          if (typeof context2 === `undefined`)
            return origStderrWrite.call(this, chunk, encoding, cb);
          return context2.stderr.write(chunk, encoding, cb);
        };
      }
      return (fn) => {
        return contextStorage.run(context, fn);
      };
    }
    function noopCaptureActivator(fn) {
      return fn();
    }
    exports2.Cli = Cli;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.js
var require_definitions = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/definitions.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var Command = require_Command();
    var DefinitionsCommand = class extends Command.Command {
      async execute() {
        this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)}
`);
      }
    };
    DefinitionsCommand.paths = [[`--clipanion=definitions`]];
    exports2.DefinitionsCommand = DefinitionsCommand;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.js
var require_help = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/help.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var Command = require_Command();
    var HelpCommand = class extends Command.Command {
      async execute() {
        this.context.stdout.write(this.cli.usage());
      }
    };
    HelpCommand.paths = [[`-h`], [`--help`]];
    exports2.HelpCommand = HelpCommand;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.js
var require_version = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/version.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var Command = require_Command();
    var VersionCommand = class extends Command.Command {
      async execute() {
        var _a;
        this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : `<unknown>`}
`);
      }
    };
    VersionCommand.paths = [[`-v`], [`--version`]];
    exports2.VersionCommand = VersionCommand;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.js
var require_builtins2 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/builtins/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var definitions = require_definitions();
    var help = require_help();
    var version2 = require_version();
    exports2.DefinitionsCommand = definitions.DefinitionsCommand;
    exports2.HelpCommand = help.HelpCommand;
    exports2.VersionCommand = version2.VersionCommand;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Array.js
var require_Array = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Array.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    function Array2(descriptor, initialValueBase, optsBase) {
      const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
      const { arity = 1 } = opts;
      const optNames = descriptor.split(`,`);
      const nameSet = new Set(optNames);
      return utils.makeCommandOption({
        definition(builder) {
          builder.addOption({
            names: optNames,
            arity,
            hidden: opts === null || opts === void 0 ? void 0 : opts.hidden,
            description: opts === null || opts === void 0 ? void 0 : opts.description,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0;
          for (const { name, value } of state.options) {
            if (!nameSet.has(name))
              continue;
            currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : [];
            currentValue.push(value);
          }
          return currentValue;
        }
      });
    }
    exports2.Array = Array2;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Boolean.js
var require_Boolean = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Boolean.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    function Boolean2(descriptor, initialValueBase, optsBase) {
      const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
      const optNames = descriptor.split(`,`);
      const nameSet = new Set(optNames);
      return utils.makeCommandOption({
        definition(builder) {
          builder.addOption({
            names: optNames,
            allowBinding: false,
            arity: 0,
            hidden: opts.hidden,
            description: opts.description,
            required: opts.required
          });
        },
        transformer(builer, key, state) {
          let currentValue = initialValue;
          for (const { name, value } of state.options) {
            if (!nameSet.has(name))
              continue;
            currentValue = value;
          }
          return currentValue;
        }
      });
    }
    exports2.Boolean = Boolean2;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Counter.js
var require_Counter = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Counter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    function Counter(descriptor, initialValueBase, optsBase) {
      const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
      const optNames = descriptor.split(`,`);
      const nameSet = new Set(optNames);
      return utils.makeCommandOption({
        definition(builder) {
          builder.addOption({
            names: optNames,
            allowBinding: false,
            arity: 0,
            hidden: opts.hidden,
            description: opts.description,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          let currentValue = initialValue;
          for (const { name, value } of state.options) {
            if (!nameSet.has(name))
              continue;
            currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0;
            if (!value) {
              currentValue = 0;
            } else {
              currentValue += 1;
            }
          }
          return currentValue;
        }
      });
    }
    exports2.Counter = Counter;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Proxy.js
var require_Proxy = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Proxy.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    function Proxy2(opts = {}) {
      return utils.makeCommandOption({
        definition(builder, key) {
          var _a;
          builder.addProxy({
            name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          return state.positionals.map(({ value }) => value);
        }
      });
    }
    exports2.Proxy = Proxy2;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Rest.js
var require_Rest = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/Rest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    var core = require_core6();
    function Rest(opts = {}) {
      return utils.makeCommandOption({
        definition(builder, key) {
          var _a;
          builder.addRest({
            name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          const isRestPositional = (index) => {
            const positional = state.positionals[index];
            if (positional.extra === core.NoLimits)
              return true;
            if (positional.extra === false && index < builder.arity.leading.length)
              return true;
            return false;
          };
          let count = 0;
          while (count < state.positionals.length && isRestPositional(count))
            count += 1;
          return state.positionals.splice(0, count).map(({ value }) => value);
        }
      });
    }
    exports2.Rest = Rest;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/String.js
var require_String = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/String.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    var core = require_core6();
    function StringOption(descriptor, initialValueBase, optsBase) {
      const [initialValue, opts] = utils.rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
      const { arity = 1 } = opts;
      const optNames = descriptor.split(`,`);
      const nameSet = new Set(optNames);
      return utils.makeCommandOption({
        definition(builder) {
          builder.addOption({
            names: optNames,
            arity: opts.tolerateBoolean ? 0 : arity,
            hidden: opts.hidden,
            description: opts.description,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          let usedName;
          let currentValue = initialValue;
          for (const { name, value } of state.options) {
            if (!nameSet.has(name))
              continue;
            usedName = name;
            currentValue = value;
          }
          if (typeof currentValue === `string`) {
            return utils.applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator);
          } else {
            return currentValue;
          }
        }
      });
    }
    function StringPositional(opts = {}) {
      const { required = true } = opts;
      return utils.makeCommandOption({
        definition(builder, key) {
          var _a;
          builder.addPositional({
            name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
            required: opts.required
          });
        },
        transformer(builder, key, state) {
          var _a;
          for (let i = 0; i < state.positionals.length; ++i) {
            if (state.positionals[i].extra === core.NoLimits)
              continue;
            if (required && state.positionals[i].extra === true)
              continue;
            if (!required && state.positionals[i].extra === false)
              continue;
            const [positional] = state.positionals.splice(i, 1);
            return utils.applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator);
          }
          return void 0;
        }
      });
    }
    function String2(descriptor, ...args) {
      if (typeof descriptor === `string`) {
        return StringOption(descriptor, ...args);
      } else {
        return StringPositional(descriptor);
      }
    }
    exports2.String = String2;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.js
var require_options2 = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/options/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils9();
    var _Array = require_Array();
    var _Boolean = require_Boolean();
    var Counter = require_Counter();
    var _Proxy = require_Proxy();
    var Rest = require_Rest();
    var _String = require_String();
    exports2.applyValidator = utils.applyValidator;
    exports2.cleanValidationError = utils.cleanValidationError;
    exports2.formatError = utils.formatError;
    exports2.isOptionSymbol = utils.isOptionSymbol;
    exports2.makeCommandOption = utils.makeCommandOption;
    exports2.rerouteArguments = utils.rerouteArguments;
    exports2.Array = _Array.Array;
    exports2.Boolean = _Boolean.Boolean;
    exports2.Counter = Counter.Counter;
    exports2.Proxy = _Proxy.Proxy;
    exports2.Rest = Rest.Rest;
    exports2.String = _String.String;
  }
});

// ../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.js
var require_advanced = __commonJS({
  "../node_modules/.pnpm/clipanion@3.2.0-rc.6_typanion@3.14.0/node_modules/clipanion/lib/advanced/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var errors = require_errors3();
    var Command = require_Command();
    var format = require_format2();
    var Cli = require_Cli();
    var index = require_builtins2();
    var index$1 = require_options2();
    exports2.UsageError = errors.UsageError;
    exports2.Command = Command.Command;
    exports2.formatMarkdownish = format.formatMarkdownish;
    exports2.Cli = Cli.Cli;
    exports2.Builtins = index;
    exports2.Option = index$1;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js
var require_entry = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fslib_12 = require_lib66();
    var clipanion_12 = require_advanced();
    var index_1 = require_lib69();
    var EntryCommand = class extends clipanion_12.Command {
      constructor() {
        super(...arguments);
        this.cwd = clipanion_12.Option.String(`--cwd`, process.cwd(), {
          description: `The directory to run the command in`
        });
        this.commandName = clipanion_12.Option.String();
        this.args = clipanion_12.Option.Proxy();
      }
      async execute() {
        const command = this.args.length > 0 ? `${this.commandName} ${this.args.join(` `)}` : this.commandName;
        return await (0, index_1.execute)(command, [], {
          cwd: fslib_12.npath.toPortablePath(this.cwd),
          stdin: this.context.stdin,
          stdout: this.context.stdout,
          stderr: this.context.stderr
        });
      }
    };
    EntryCommand.usage = {
      description: `run a command using yarn's portable shell`,
      details: `
      This command will run a command using Yarn's portable shell.

      Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell.

      Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell.

      Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used.

      For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md.
    `,
      examples: [[
        `Run a simple command`,
        `$0 echo Hello`
      ], [
        `Run a command with a glob pattern`,
        `$0 echo '*.js'`
      ], [
        `Run a command with a redirection`,
        `$0 echo Hello World '>' hello.txt`
      ], [
        `Run a command with an escaped glob pattern (The double escape is needed in Unix shells)`,
        `$0 echo '"*.js"'`
      ], [
        `Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)`,
        `$0 "GREETING=Hello echo $GREETING World"`
      ]]
    };
    exports2.default = EntryCommand;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js
var require_errors4 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ShellError = void 0;
    var ShellError = class extends Error {
      constructor(message) {
        super(message);
        this.name = `ShellError`;
      }
    };
    exports2.ShellError = ShellError;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js
var require_array = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/array.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.splitWhen = exports2.flatten = void 0;
    function flatten(items) {
      return items.reduce((collection, item) => [].concat(collection, item), []);
    }
    exports2.flatten = flatten;
    function splitWhen(items, predicate) {
      const result2 = [[]];
      let groupIndex = 0;
      for (const item of items) {
        if (predicate(item)) {
          groupIndex++;
          result2[groupIndex] = [];
        } else {
          result2[groupIndex].push(item);
        }
      }
      return result2;
    }
    exports2.splitWhen = splitWhen;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js
var require_errno = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/errno.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isEnoentCodeError = void 0;
    function isEnoentCodeError(error) {
      return error.code === "ENOENT";
    }
    exports2.isEnoentCodeError = isEnoentCodeError;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js
var require_fs3 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/fs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createDirentFromStats = void 0;
    var DirentFromStats = class {
      constructor(name, stats) {
        this.name = name;
        this.isBlockDevice = stats.isBlockDevice.bind(stats);
        this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
        this.isDirectory = stats.isDirectory.bind(stats);
        this.isFIFO = stats.isFIFO.bind(stats);
        this.isFile = stats.isFile.bind(stats);
        this.isSocket = stats.isSocket.bind(stats);
        this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
      }
    };
    function createDirentFromStats(name, stats) {
      return new DirentFromStats(name, stats);
    }
    exports2.createDirentFromStats = createDirentFromStats;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js
var require_path4 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/path.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.convertPosixPathToPattern = exports2.convertWindowsPathToPattern = exports2.convertPathToPattern = exports2.escapePosixPath = exports2.escapeWindowsPath = exports2.escape = exports2.removeLeadingDotSegment = exports2.makeAbsolute = exports2.unixify = void 0;
    var os = require("os");
    var path2 = require("path");
    var IS_WINDOWS_PLATFORM = os.platform() === "win32";
    var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
    var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g;
    var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g;
    var DOS_DEVICE_PATH_RE = /^\\\\([.?])/;
    var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@[\]{}])/g;
    function unixify(filepath) {
      return filepath.replace(/\\/g, "/");
    }
    exports2.unixify = unixify;
    function makeAbsolute(cwd, filepath) {
      return path2.resolve(cwd, filepath);
    }
    exports2.makeAbsolute = makeAbsolute;
    function removeLeadingDotSegment(entry) {
      if (entry.charAt(0) === ".") {
        const secondCharactery = entry.charAt(1);
        if (secondCharactery === "/" || secondCharactery === "\\") {
          return entry.slice(LEADING_DOT_SEGMENT_CHARACTERS_COUNT);
        }
      }
      return entry;
    }
    exports2.removeLeadingDotSegment = removeLeadingDotSegment;
    exports2.escape = IS_WINDOWS_PLATFORM ? escapeWindowsPath : escapePosixPath;
    function escapeWindowsPath(pattern) {
      return pattern.replace(WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
    }
    exports2.escapeWindowsPath = escapeWindowsPath;
    function escapePosixPath(pattern) {
      return pattern.replace(POSIX_UNESCAPED_GLOB_SYMBOLS_RE, "\\$2");
    }
    exports2.escapePosixPath = escapePosixPath;
    exports2.convertPathToPattern = IS_WINDOWS_PLATFORM ? convertWindowsPathToPattern : convertPosixPathToPattern;
    function convertWindowsPathToPattern(filepath) {
      return escapeWindowsPath(filepath).replace(DOS_DEVICE_PATH_RE, "//$1").replace(WINDOWS_BACKSLASHES_RE, "/");
    }
    exports2.convertWindowsPathToPattern = convertWindowsPathToPattern;
    function convertPosixPathToPattern(filepath) {
      return escapePosixPath(filepath);
    }
    exports2.convertPosixPathToPattern = convertPosixPathToPattern;
  }
});

// ../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js
var require_is_extglob = __commonJS({
  "../node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.js"(exports2, module2) {
    module2.exports = function isExtglob(str) {
      if (typeof str !== "string" || str === "") {
        return false;
      }
      var match;
      while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) {
        if (match[2]) return true;
        str = str.slice(match.index + match[0].length);
      }
      return false;
    };
  }
});

// ../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js
var require_is_glob = __commonJS({
  "../node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.js"(exports2, module2) {
    var isExtglob = require_is_extglob();
    var chars = { "{": "}", "(": ")", "[": "]" };
    var strictCheck = function(str) {
      if (str[0] === "!") {
        return true;
      }
      var index = 0;
      var pipeIndex = -2;
      var closeSquareIndex = -2;
      var closeCurlyIndex = -2;
      var closeParenIndex = -2;
      var backSlashIndex = -2;
      while (index < str.length) {
        if (str[index] === "*") {
          return true;
        }
        if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) {
          return true;
        }
        if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") {
          if (closeSquareIndex < index) {
            closeSquareIndex = str.indexOf("]", index);
          }
          if (closeSquareIndex > index) {
            if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
              return true;
            }
            backSlashIndex = str.indexOf("\\", index);
            if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) {
              return true;
            }
          }
        }
        if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") {
          closeCurlyIndex = str.indexOf("}", index);
          if (closeCurlyIndex > index) {
            backSlashIndex = str.indexOf("\\", index);
            if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) {
              return true;
            }
          }
        }
        if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") {
          closeParenIndex = str.indexOf(")", index);
          if (closeParenIndex > index) {
            backSlashIndex = str.indexOf("\\", index);
            if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
              return true;
            }
          }
        }
        if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") {
          if (pipeIndex < index) {
            pipeIndex = str.indexOf("|", index);
          }
          if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") {
            closeParenIndex = str.indexOf(")", pipeIndex);
            if (closeParenIndex > pipeIndex) {
              backSlashIndex = str.indexOf("\\", pipeIndex);
              if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) {
                return true;
              }
            }
          }
        }
        if (str[index] === "\\") {
          var open = str[index + 1];
          index += 2;
          var close = chars[open];
          if (close) {
            var n = str.indexOf(close, index);
            if (n !== -1) {
              index = n + 1;
            }
          }
          if (str[index] === "!") {
            return true;
          }
        } else {
          index++;
        }
      }
      return false;
    };
    var relaxedCheck = function(str) {
      if (str[0] === "!") {
        return true;
      }
      var index = 0;
      while (index < str.length) {
        if (/[*?{}()[\]]/.test(str[index])) {
          return true;
        }
        if (str[index] === "\\") {
          var open = str[index + 1];
          index += 2;
          var close = chars[open];
          if (close) {
            var n = str.indexOf(close, index);
            if (n !== -1) {
              index = n + 1;
            }
          }
          if (str[index] === "!") {
            return true;
          }
        } else {
          index++;
        }
      }
      return false;
    };
    module2.exports = function isGlob(str, options) {
      if (typeof str !== "string" || str === "") {
        return false;
      }
      if (isExtglob(str)) {
        return true;
      }
      var check = strictCheck;
      if (options && options.strict === false) {
        check = relaxedCheck;
      }
      return check(str);
    };
  }
});

// ../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js
var require_glob_parent = __commonJS({
  "../node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.js"(exports2, module2) {
    "use strict";
    var isGlob = require_is_glob();
    var pathPosixDirname = require("path").posix.dirname;
    var isWin32 = require("os").platform() === "win32";
    var slash = "/";
    var backslash = /\\/g;
    var enclosure = /[\{\[].*[\}\]]$/;
    var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/;
    var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g;
    module2.exports = function globParent(str, opts) {
      var options = Object.assign({ flipBackslashes: true }, opts);
      if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) {
        str = str.replace(backslash, slash);
      }
      if (enclosure.test(str)) {
        str += slash;
      }
      str += "a";
      do {
        str = pathPosixDirname(str);
      } while (isGlob(str) || globby.test(str));
      return str.replace(escaped, "$1");
    };
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js
var require_pattern = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/pattern.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isAbsolute = exports2.partitionAbsoluteAndRelative = exports2.removeDuplicateSlashes = exports2.matchAny = exports2.convertPatternsToRe = exports2.makeRe = exports2.getPatternParts = exports2.expandBraceExpansion = exports2.expandPatternsWithBraceExpansion = exports2.isAffectDepthOfReadingPattern = exports2.endsWithSlashGlobStar = exports2.hasGlobStar = exports2.getBaseDirectory = exports2.isPatternRelatedToParentDirectory = exports2.getPatternsOutsideCurrentDirectory = exports2.getPatternsInsideCurrentDirectory = exports2.getPositivePatterns = exports2.getNegativePatterns = exports2.isPositivePattern = exports2.isNegativePattern = exports2.convertToNegativePattern = exports2.convertToPositivePattern = exports2.isDynamicPattern = exports2.isStaticPattern = void 0;
    var path2 = require("path");
    var globParent = require_glob_parent();
    var micromatch = require_micromatch();
    var GLOBSTAR = "**";
    var ESCAPE_SYMBOL = "\\";
    var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/;
    var REGEX_CHARACTER_CLASS_SYMBOLS_RE = /\[[^[]*]/;
    var REGEX_GROUP_SYMBOLS_RE = /(?:^|[^!*+?@])\([^(]*\|[^|]*\)/;
    var GLOB_EXTENSION_SYMBOLS_RE = /[!*+?@]\([^(]*\)/;
    var BRACE_EXPANSION_SEPARATORS_RE = /,|\.\./;
    var DOUBLE_SLASH_RE = /(?!^)\/{2,}/g;
    function isStaticPattern(pattern, options = {}) {
      return !isDynamicPattern(pattern, options);
    }
    exports2.isStaticPattern = isStaticPattern;
    function isDynamicPattern(pattern, options = {}) {
      if (pattern === "") {
        return false;
      }
      if (options.caseSensitiveMatch === false || pattern.includes(ESCAPE_SYMBOL)) {
        return true;
      }
      if (COMMON_GLOB_SYMBOLS_RE.test(pattern) || REGEX_CHARACTER_CLASS_SYMBOLS_RE.test(pattern) || REGEX_GROUP_SYMBOLS_RE.test(pattern)) {
        return true;
      }
      if (options.extglob !== false && GLOB_EXTENSION_SYMBOLS_RE.test(pattern)) {
        return true;
      }
      if (options.braceExpansion !== false && hasBraceExpansion(pattern)) {
        return true;
      }
      return false;
    }
    exports2.isDynamicPattern = isDynamicPattern;
    function hasBraceExpansion(pattern) {
      const openingBraceIndex = pattern.indexOf("{");
      if (openingBraceIndex === -1) {
        return false;
      }
      const closingBraceIndex = pattern.indexOf("}", openingBraceIndex + 1);
      if (closingBraceIndex === -1) {
        return false;
      }
      const braceContent = pattern.slice(openingBraceIndex, closingBraceIndex);
      return BRACE_EXPANSION_SEPARATORS_RE.test(braceContent);
    }
    function convertToPositivePattern(pattern) {
      return isNegativePattern(pattern) ? pattern.slice(1) : pattern;
    }
    exports2.convertToPositivePattern = convertToPositivePattern;
    function convertToNegativePattern(pattern) {
      return "!" + pattern;
    }
    exports2.convertToNegativePattern = convertToNegativePattern;
    function isNegativePattern(pattern) {
      return pattern.startsWith("!") && pattern[1] !== "(";
    }
    exports2.isNegativePattern = isNegativePattern;
    function isPositivePattern(pattern) {
      return !isNegativePattern(pattern);
    }
    exports2.isPositivePattern = isPositivePattern;
    function getNegativePatterns(patterns) {
      return patterns.filter(isNegativePattern);
    }
    exports2.getNegativePatterns = getNegativePatterns;
    function getPositivePatterns(patterns) {
      return patterns.filter(isPositivePattern);
    }
    exports2.getPositivePatterns = getPositivePatterns;
    function getPatternsInsideCurrentDirectory(patterns) {
      return patterns.filter((pattern) => !isPatternRelatedToParentDirectory(pattern));
    }
    exports2.getPatternsInsideCurrentDirectory = getPatternsInsideCurrentDirectory;
    function getPatternsOutsideCurrentDirectory(patterns) {
      return patterns.filter(isPatternRelatedToParentDirectory);
    }
    exports2.getPatternsOutsideCurrentDirectory = getPatternsOutsideCurrentDirectory;
    function isPatternRelatedToParentDirectory(pattern) {
      return pattern.startsWith("..") || pattern.startsWith("./..");
    }
    exports2.isPatternRelatedToParentDirectory = isPatternRelatedToParentDirectory;
    function getBaseDirectory(pattern) {
      return globParent(pattern, { flipBackslashes: false });
    }
    exports2.getBaseDirectory = getBaseDirectory;
    function hasGlobStar(pattern) {
      return pattern.includes(GLOBSTAR);
    }
    exports2.hasGlobStar = hasGlobStar;
    function endsWithSlashGlobStar(pattern) {
      return pattern.endsWith("/" + GLOBSTAR);
    }
    exports2.endsWithSlashGlobStar = endsWithSlashGlobStar;
    function isAffectDepthOfReadingPattern(pattern) {
      const basename = path2.basename(pattern);
      return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
    }
    exports2.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
    function expandPatternsWithBraceExpansion(patterns) {
      return patterns.reduce((collection, pattern) => {
        return collection.concat(expandBraceExpansion(pattern));
      }, []);
    }
    exports2.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion;
    function expandBraceExpansion(pattern) {
      const patterns = micromatch.braces(pattern, { expand: true, nodupes: true, keepEscaping: true });
      patterns.sort((a, b) => a.length - b.length);
      return patterns.filter((pattern2) => pattern2 !== "");
    }
    exports2.expandBraceExpansion = expandBraceExpansion;
    function getPatternParts(pattern, options) {
      let { parts } = micromatch.scan(pattern, Object.assign(Object.assign({}, options), { parts: true }));
      if (parts.length === 0) {
        parts = [pattern];
      }
      if (parts[0].startsWith("/")) {
        parts[0] = parts[0].slice(1);
        parts.unshift("");
      }
      return parts;
    }
    exports2.getPatternParts = getPatternParts;
    function makeRe(pattern, options) {
      return micromatch.makeRe(pattern, options);
    }
    exports2.makeRe = makeRe;
    function convertPatternsToRe(patterns, options) {
      return patterns.map((pattern) => makeRe(pattern, options));
    }
    exports2.convertPatternsToRe = convertPatternsToRe;
    function matchAny(entry, patternsRe) {
      return patternsRe.some((patternRe) => patternRe.test(entry));
    }
    exports2.matchAny = matchAny;
    function removeDuplicateSlashes(pattern) {
      return pattern.replace(DOUBLE_SLASH_RE, "/");
    }
    exports2.removeDuplicateSlashes = removeDuplicateSlashes;
    function partitionAbsoluteAndRelative(patterns) {
      const absolute = [];
      const relative = [];
      for (const pattern of patterns) {
        if (isAbsolute(pattern)) {
          absolute.push(pattern);
        } else {
          relative.push(pattern);
        }
      }
      return [absolute, relative];
    }
    exports2.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
    function isAbsolute(pattern) {
      return path2.isAbsolute(pattern);
    }
    exports2.isAbsolute = isAbsolute;
  }
});

// ../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js
var require_merge22 = __commonJS({
  "../node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.js"(exports2, module2) {
    "use strict";
    var Stream = require("stream");
    var PassThrough = Stream.PassThrough;
    var slice = Array.prototype.slice;
    module2.exports = merge2;
    function merge2() {
      const streamsQueue = [];
      const args = slice.call(arguments);
      let merging = false;
      let options = args[args.length - 1];
      if (options && !Array.isArray(options) && options.pipe == null) {
        args.pop();
      } else {
        options = {};
      }
      const doEnd = options.end !== false;
      const doPipeError = options.pipeError === true;
      if (options.objectMode == null) {
        options.objectMode = true;
      }
      if (options.highWaterMark == null) {
        options.highWaterMark = 64 * 1024;
      }
      const mergedStream = PassThrough(options);
      function addStream() {
        for (let i = 0, len = arguments.length; i < len; i++) {
          streamsQueue.push(pauseStreams(arguments[i], options));
        }
        mergeStream();
        return this;
      }
      function mergeStream() {
        if (merging) {
          return;
        }
        merging = true;
        let streams = streamsQueue.shift();
        if (!streams) {
          process.nextTick(endStream);
          return;
        }
        if (!Array.isArray(streams)) {
          streams = [streams];
        }
        let pipesCount = streams.length + 1;
        function next() {
          if (--pipesCount > 0) {
            return;
          }
          merging = false;
          mergeStream();
        }
        function pipe(stream) {
          function onend() {
            stream.removeListener("merge2UnpipeEnd", onend);
            stream.removeListener("end", onend);
            if (doPipeError) {
              stream.removeListener("error", onerror);
            }
            next();
          }
          function onerror(err) {
            mergedStream.emit("error", err);
          }
          if (stream._readableState.endEmitted) {
            return next();
          }
          stream.on("merge2UnpipeEnd", onend);
          stream.on("end", onend);
          if (doPipeError) {
            stream.on("error", onerror);
          }
          stream.pipe(mergedStream, { end: false });
          stream.resume();
        }
        for (let i = 0; i < streams.length; i++) {
          pipe(streams[i]);
        }
        next();
      }
      function endStream() {
        merging = false;
        mergedStream.emit("queueDrain");
        if (doEnd) {
          mergedStream.end();
        }
      }
      mergedStream.setMaxListeners(0);
      mergedStream.add = addStream;
      mergedStream.on("unpipe", function(stream) {
        stream.emit("merge2UnpipeEnd");
      });
      if (args.length) {
        addStream.apply(null, args);
      }
      return mergedStream;
    }
    function pauseStreams(streams, options) {
      if (!Array.isArray(streams)) {
        if (!streams._readableState && streams.pipe) {
          streams = streams.pipe(PassThrough(options));
        }
        if (!streams._readableState || !streams.pause || !streams.pipe) {
          throw new Error("Only readable stream can be merged.");
        }
        streams.pause();
      } else {
        for (let i = 0, len = streams.length; i < len; i++) {
          streams[i] = pauseStreams(streams[i], options);
        }
      }
      return streams;
    }
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js
var require_stream3 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/stream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.merge = void 0;
    var merge2 = require_merge22();
    function merge(streams) {
      const mergedStream = merge2(streams);
      streams.forEach((stream) => {
        stream.once("error", (error) => mergedStream.emit("error", error));
      });
      mergedStream.once("close", () => propagateCloseEventToSources(streams));
      mergedStream.once("end", () => propagateCloseEventToSources(streams));
      return mergedStream;
    }
    exports2.merge = merge;
    function propagateCloseEventToSources(streams) {
      streams.forEach((stream) => stream.emit("close"));
    }
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js
var require_string = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/string.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isEmpty = exports2.isString = void 0;
    function isString(input) {
      return typeof input === "string";
    }
    exports2.isString = isString;
    function isEmpty(input) {
      return input === "";
    }
    exports2.isEmpty = isEmpty;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js
var require_utils10 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/utils/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.string = exports2.stream = exports2.pattern = exports2.path = exports2.fs = exports2.errno = exports2.array = void 0;
    var array = require_array();
    exports2.array = array;
    var errno = require_errno();
    exports2.errno = errno;
    var fs = require_fs3();
    exports2.fs = fs;
    var path2 = require_path4();
    exports2.path = path2;
    var pattern = require_pattern();
    exports2.pattern = pattern;
    var stream = require_stream3();
    exports2.stream = stream;
    var string = require_string();
    exports2.string = string;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js
var require_tasks = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/managers/tasks.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.convertPatternGroupToTask = exports2.convertPatternGroupsToTasks = exports2.groupPatternsByBaseDirectory = exports2.getNegativePatternsAsPositive = exports2.getPositivePatterns = exports2.convertPatternsToTasks = exports2.generate = void 0;
    var utils = require_utils10();
    function generate(input, settings) {
      const patterns = processPatterns(input, settings);
      const ignore = processPatterns(settings.ignore, settings);
      const positivePatterns = getPositivePatterns(patterns);
      const negativePatterns = getNegativePatternsAsPositive(patterns, ignore);
      const staticPatterns = positivePatterns.filter((pattern) => utils.pattern.isStaticPattern(pattern, settings));
      const dynamicPatterns = positivePatterns.filter((pattern) => utils.pattern.isDynamicPattern(pattern, settings));
      const staticTasks = convertPatternsToTasks(
        staticPatterns,
        negativePatterns,
        /* dynamic */
        false
      );
      const dynamicTasks = convertPatternsToTasks(
        dynamicPatterns,
        negativePatterns,
        /* dynamic */
        true
      );
      return staticTasks.concat(dynamicTasks);
    }
    exports2.generate = generate;
    function processPatterns(input, settings) {
      let patterns = input;
      if (settings.braceExpansion) {
        patterns = utils.pattern.expandPatternsWithBraceExpansion(patterns);
      }
      if (settings.baseNameMatch) {
        patterns = patterns.map((pattern) => pattern.includes("/") ? pattern : `**/${pattern}`);
      }
      return patterns.map((pattern) => utils.pattern.removeDuplicateSlashes(pattern));
    }
    function convertPatternsToTasks(positive, negative, dynamic) {
      const tasks = [];
      const patternsOutsideCurrentDirectory = utils.pattern.getPatternsOutsideCurrentDirectory(positive);
      const patternsInsideCurrentDirectory = utils.pattern.getPatternsInsideCurrentDirectory(positive);
      const outsideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsOutsideCurrentDirectory);
      const insideCurrentDirectoryGroup = groupPatternsByBaseDirectory(patternsInsideCurrentDirectory);
      tasks.push(...convertPatternGroupsToTasks(outsideCurrentDirectoryGroup, negative, dynamic));
      if ("." in insideCurrentDirectoryGroup) {
        tasks.push(convertPatternGroupToTask(".", patternsInsideCurrentDirectory, negative, dynamic));
      } else {
        tasks.push(...convertPatternGroupsToTasks(insideCurrentDirectoryGroup, negative, dynamic));
      }
      return tasks;
    }
    exports2.convertPatternsToTasks = convertPatternsToTasks;
    function getPositivePatterns(patterns) {
      return utils.pattern.getPositivePatterns(patterns);
    }
    exports2.getPositivePatterns = getPositivePatterns;
    function getNegativePatternsAsPositive(patterns, ignore) {
      const negative = utils.pattern.getNegativePatterns(patterns).concat(ignore);
      const positive = negative.map(utils.pattern.convertToPositivePattern);
      return positive;
    }
    exports2.getNegativePatternsAsPositive = getNegativePatternsAsPositive;
    function groupPatternsByBaseDirectory(patterns) {
      const group = {};
      return patterns.reduce((collection, pattern) => {
        const base = utils.pattern.getBaseDirectory(pattern);
        if (base in collection) {
          collection[base].push(pattern);
        } else {
          collection[base] = [pattern];
        }
        return collection;
      }, group);
    }
    exports2.groupPatternsByBaseDirectory = groupPatternsByBaseDirectory;
    function convertPatternGroupsToTasks(positive, negative, dynamic) {
      return Object.keys(positive).map((base) => {
        return convertPatternGroupToTask(base, positive[base], negative, dynamic);
      });
    }
    exports2.convertPatternGroupsToTasks = convertPatternGroupsToTasks;
    function convertPatternGroupToTask(base, positive, negative, dynamic) {
      return {
        dynamic,
        positive,
        negative,
        base,
        patterns: [].concat(positive, negative.map(utils.pattern.convertToNegativePattern))
      };
    }
    exports2.convertPatternGroupToTask = convertPatternGroupToTask;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js
var require_async3 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.read = void 0;
    function read(path2, settings, callback) {
      settings.fs.lstat(path2, (lstatError, lstat) => {
        if (lstatError !== null) {
          callFailureCallback(callback, lstatError);
          return;
        }
        if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
          callSuccessCallback(callback, lstat);
          return;
        }
        settings.fs.stat(path2, (statError, stat) => {
          if (statError !== null) {
            if (settings.throwErrorOnBrokenSymbolicLink) {
              callFailureCallback(callback, statError);
              return;
            }
            callSuccessCallback(callback, lstat);
            return;
          }
          if (settings.markSymbolicLink) {
            stat.isSymbolicLink = () => true;
          }
          callSuccessCallback(callback, stat);
        });
      });
    }
    exports2.read = read;
    function callFailureCallback(callback, error) {
      callback(error);
    }
    function callSuccessCallback(callback, result2) {
      callback(null, result2);
    }
  }
});

// ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js
var require_sync3 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.read = void 0;
    function read(path2, settings) {
      const lstat = settings.fs.lstatSync(path2);
      if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) {
        return lstat;
      }
      try {
        const stat = settings.fs.statSync(path2);
        if (settings.markSymbolicLink) {
          stat.isSymbolicLink = () => true;
        }
        return stat;
      } catch (error) {
        if (!settings.throwErrorOnBrokenSymbolicLink) {
          return lstat;
        }
        throw error;
      }
    }
    exports2.read = read;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js
var require_fs4 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
    var fs = require("fs");
    exports2.FILE_SYSTEM_ADAPTER = {
      lstat: fs.lstat,
      stat: fs.stat,
      lstatSync: fs.lstatSync,
      statSync: fs.statSync
    };
    function createFileSystemAdapter(fsMethods) {
      if (fsMethods === void 0) {
        return exports2.FILE_SYSTEM_ADAPTER;
      }
      return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
    }
    exports2.createFileSystemAdapter = createFileSystemAdapter;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js
var require_settings = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fs = require_fs4();
    var Settings = class {
      constructor(_options = {}) {
        this._options = _options;
        this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true);
        this.fs = fs.createFileSystemAdapter(this._options.fs);
        this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false);
        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
      }
      _getValue(option, value) {
        return option !== null && option !== void 0 ? option : value;
      }
    };
    exports2.default = Settings;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js
var require_out = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.statSync = exports2.stat = exports2.Settings = void 0;
    var async = require_async3();
    var sync = require_sync3();
    var settings_1 = require_settings();
    exports2.Settings = settings_1.default;
    function stat(path2, optionsOrSettingsOrCallback, callback) {
      if (typeof optionsOrSettingsOrCallback === "function") {
        async.read(path2, getSettings(), optionsOrSettingsOrCallback);
        return;
      }
      async.read(path2, getSettings(optionsOrSettingsOrCallback), callback);
    }
    exports2.stat = stat;
    function statSync(path2, optionsOrSettings) {
      const settings = getSettings(optionsOrSettings);
      return sync.read(path2, settings);
    }
    exports2.statSync = statSync;
    function getSettings(settingsOrOptions = {}) {
      if (settingsOrOptions instanceof settings_1.default) {
        return settingsOrOptions;
      }
      return new settings_1.default(settingsOrOptions);
    }
  }
});

// ../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js
var require_queue_microtask = __commonJS({
  "../node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.js"(exports2, module2) {
    var promise;
    module2.exports = typeof queueMicrotask === "function" ? queueMicrotask.bind(typeof window !== "undefined" ? window : global) : (cb) => (promise || (promise = Promise.resolve())).then(cb).catch((err) => setTimeout(() => {
      throw err;
    }, 0));
  }
});

// ../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js
var require_run_parallel = __commonJS({
  "../node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.js"(exports2, module2) {
    module2.exports = runParallel;
    var queueMicrotask2 = require_queue_microtask();
    function runParallel(tasks, cb) {
      let results, pending, keys;
      let isSync = true;
      if (Array.isArray(tasks)) {
        results = [];
        pending = tasks.length;
      } else {
        keys = Object.keys(tasks);
        results = {};
        pending = keys.length;
      }
      function done(err) {
        function end() {
          if (cb) cb(err, results);
          cb = null;
        }
        if (isSync) queueMicrotask2(end);
        else end();
      }
      function each(i, err, result2) {
        results[i] = result2;
        if (--pending === 0 || err) {
          done(err);
        }
      }
      if (!pending) {
        done(null);
      } else if (keys) {
        keys.forEach(function(key) {
          tasks[key](function(err, result2) {
            each(key, err, result2);
          });
        });
      } else {
        tasks.forEach(function(task, i) {
          task(function(err, result2) {
            each(i, err, result2);
          });
        });
      }
      isSync = false;
    }
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js
var require_constants12 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = void 0;
    var NODE_PROCESS_VERSION_PARTS = process.versions.node.split(".");
    if (NODE_PROCESS_VERSION_PARTS[0] === void 0 || NODE_PROCESS_VERSION_PARTS[1] === void 0) {
      throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);
    }
    var MAJOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[0], 10);
    var MINOR_VERSION = Number.parseInt(NODE_PROCESS_VERSION_PARTS[1], 10);
    var SUPPORTED_MAJOR_VERSION = 10;
    var SUPPORTED_MINOR_VERSION = 10;
    var IS_MATCHED_BY_MAJOR = MAJOR_VERSION > SUPPORTED_MAJOR_VERSION;
    var IS_MATCHED_BY_MAJOR_AND_MINOR = MAJOR_VERSION === SUPPORTED_MAJOR_VERSION && MINOR_VERSION >= SUPPORTED_MINOR_VERSION;
    exports2.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_BY_MAJOR_AND_MINOR;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js
var require_fs5 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createDirentFromStats = void 0;
    var DirentFromStats = class {
      constructor(name, stats) {
        this.name = name;
        this.isBlockDevice = stats.isBlockDevice.bind(stats);
        this.isCharacterDevice = stats.isCharacterDevice.bind(stats);
        this.isDirectory = stats.isDirectory.bind(stats);
        this.isFIFO = stats.isFIFO.bind(stats);
        this.isFile = stats.isFile.bind(stats);
        this.isSocket = stats.isSocket.bind(stats);
        this.isSymbolicLink = stats.isSymbolicLink.bind(stats);
      }
    };
    function createDirentFromStats(name, stats) {
      return new DirentFromStats(name, stats);
    }
    exports2.createDirentFromStats = createDirentFromStats;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js
var require_utils11 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fs = void 0;
    var fs = require_fs5();
    exports2.fs = fs;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js
var require_common6 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.joinPathSegments = void 0;
    function joinPathSegments(a, b, separator) {
      if (a.endsWith(separator)) {
        return a + b;
      }
      return a + separator + b;
    }
    exports2.joinPathSegments = joinPathSegments;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js
var require_async4 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
    var fsStat = require_out();
    var rpl = require_run_parallel();
    var constants_1 = require_constants12();
    var utils = require_utils11();
    var common = require_common6();
    function read(directory, settings, callback) {
      if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
        readdirWithFileTypes(directory, settings, callback);
        return;
      }
      readdir(directory, settings, callback);
    }
    exports2.read = read;
    function readdirWithFileTypes(directory, settings, callback) {
      settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => {
        if (readdirError !== null) {
          callFailureCallback(callback, readdirError);
          return;
        }
        const entries = dirents.map((dirent) => ({
          dirent,
          name: dirent.name,
          path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
        }));
        if (!settings.followSymbolicLinks) {
          callSuccessCallback(callback, entries);
          return;
        }
        const tasks = entries.map((entry) => makeRplTaskEntry(entry, settings));
        rpl(tasks, (rplError, rplEntries) => {
          if (rplError !== null) {
            callFailureCallback(callback, rplError);
            return;
          }
          callSuccessCallback(callback, rplEntries);
        });
      });
    }
    exports2.readdirWithFileTypes = readdirWithFileTypes;
    function makeRplTaskEntry(entry, settings) {
      return (done) => {
        if (!entry.dirent.isSymbolicLink()) {
          done(null, entry);
          return;
        }
        settings.fs.stat(entry.path, (statError, stats) => {
          if (statError !== null) {
            if (settings.throwErrorOnBrokenSymbolicLink) {
              done(statError);
              return;
            }
            done(null, entry);
            return;
          }
          entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
          done(null, entry);
        });
      };
    }
    function readdir(directory, settings, callback) {
      settings.fs.readdir(directory, (readdirError, names) => {
        if (readdirError !== null) {
          callFailureCallback(callback, readdirError);
          return;
        }
        const tasks = names.map((name) => {
          const path2 = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
          return (done) => {
            fsStat.stat(path2, settings.fsStatSettings, (error, stats) => {
              if (error !== null) {
                done(error);
                return;
              }
              const entry = {
                name,
                path: path2,
                dirent: utils.fs.createDirentFromStats(name, stats)
              };
              if (settings.stats) {
                entry.stats = stats;
              }
              done(null, entry);
            });
          };
        });
        rpl(tasks, (rplError, entries) => {
          if (rplError !== null) {
            callFailureCallback(callback, rplError);
            return;
          }
          callSuccessCallback(callback, entries);
        });
      });
    }
    exports2.readdir = readdir;
    function callFailureCallback(callback, error) {
      callback(error);
    }
    function callSuccessCallback(callback, result2) {
      callback(null, result2);
    }
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js
var require_sync4 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readdir = exports2.readdirWithFileTypes = exports2.read = void 0;
    var fsStat = require_out();
    var constants_1 = require_constants12();
    var utils = require_utils11();
    var common = require_common6();
    function read(directory, settings) {
      if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) {
        return readdirWithFileTypes(directory, settings);
      }
      return readdir(directory, settings);
    }
    exports2.read = read;
    function readdirWithFileTypes(directory, settings) {
      const dirents = settings.fs.readdirSync(directory, { withFileTypes: true });
      return dirents.map((dirent) => {
        const entry = {
          dirent,
          name: dirent.name,
          path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator)
        };
        if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) {
          try {
            const stats = settings.fs.statSync(entry.path);
            entry.dirent = utils.fs.createDirentFromStats(entry.name, stats);
          } catch (error) {
            if (settings.throwErrorOnBrokenSymbolicLink) {
              throw error;
            }
          }
        }
        return entry;
      });
    }
    exports2.readdirWithFileTypes = readdirWithFileTypes;
    function readdir(directory, settings) {
      const names = settings.fs.readdirSync(directory);
      return names.map((name) => {
        const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator);
        const stats = fsStat.statSync(entryPath, settings.fsStatSettings);
        const entry = {
          name,
          path: entryPath,
          dirent: utils.fs.createDirentFromStats(name, stats)
        };
        if (settings.stats) {
          entry.stats = stats;
        }
        return entry;
      });
    }
    exports2.readdir = readdir;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js
var require_fs6 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createFileSystemAdapter = exports2.FILE_SYSTEM_ADAPTER = void 0;
    var fs = require("fs");
    exports2.FILE_SYSTEM_ADAPTER = {
      lstat: fs.lstat,
      stat: fs.stat,
      lstatSync: fs.lstatSync,
      statSync: fs.statSync,
      readdir: fs.readdir,
      readdirSync: fs.readdirSync
    };
    function createFileSystemAdapter(fsMethods) {
      if (fsMethods === void 0) {
        return exports2.FILE_SYSTEM_ADAPTER;
      }
      return Object.assign(Object.assign({}, exports2.FILE_SYSTEM_ADAPTER), fsMethods);
    }
    exports2.createFileSystemAdapter = createFileSystemAdapter;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js
var require_settings2 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var path2 = require("path");
    var fsStat = require_out();
    var fs = require_fs6();
    var Settings = class {
      constructor(_options = {}) {
        this._options = _options;
        this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
        this.fs = fs.createFileSystemAdapter(this._options.fs);
        this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path2.sep);
        this.stats = this._getValue(this._options.stats, false);
        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
        this.fsStatSettings = new fsStat.Settings({
          followSymbolicLink: this.followSymbolicLinks,
          fs: this.fs,
          throwErrorOnBrokenSymbolicLink: this.throwErrorOnBrokenSymbolicLink
        });
      }
      _getValue(option, value) {
        return option !== null && option !== void 0 ? option : value;
      }
    };
    exports2.default = Settings;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js
var require_out2 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Settings = exports2.scandirSync = exports2.scandir = void 0;
    var async = require_async4();
    var sync = require_sync4();
    var settings_1 = require_settings2();
    exports2.Settings = settings_1.default;
    function scandir(path2, optionsOrSettingsOrCallback, callback) {
      if (typeof optionsOrSettingsOrCallback === "function") {
        async.read(path2, getSettings(), optionsOrSettingsOrCallback);
        return;
      }
      async.read(path2, getSettings(optionsOrSettingsOrCallback), callback);
    }
    exports2.scandir = scandir;
    function scandirSync(path2, optionsOrSettings) {
      const settings = getSettings(optionsOrSettings);
      return sync.read(path2, settings);
    }
    exports2.scandirSync = scandirSync;
    function getSettings(settingsOrOptions = {}) {
      if (settingsOrOptions instanceof settings_1.default) {
        return settingsOrOptions;
      }
      return new settings_1.default(settingsOrOptions);
    }
  }
});

// ../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js
var require_reusify = __commonJS({
  "../node_modules/.pnpm/reusify@1.1.0/node_modules/reusify/reusify.js"(exports2, module2) {
    "use strict";
    function reusify(Constructor) {
      var head = new Constructor();
      var tail = head;
      function get() {
        var current = head;
        if (current.next) {
          head = current.next;
        } else {
          head = new Constructor();
          tail = head;
        }
        current.next = null;
        return current;
      }
      function release(obj) {
        tail.next = obj;
        tail = obj;
      }
      return {
        get,
        release
      };
    }
    module2.exports = reusify;
  }
});

// ../node_modules/.pnpm/fastq@1.19.1/node_modules/fastq/queue.js
var require_queue3 = __commonJS({
  "../node_modules/.pnpm/fastq@1.19.1/node_modules/fastq/queue.js"(exports2, module2) {
    "use strict";
    var reusify = require_reusify();
    function fastqueue(context, worker, _concurrency) {
      if (typeof context === "function") {
        _concurrency = worker;
        worker = context;
        context = null;
      }
      if (!(_concurrency >= 1)) {
        throw new Error("fastqueue concurrency must be equal to or greater than 1");
      }
      var cache = reusify(Task);
      var queueHead = null;
      var queueTail = null;
      var _running = 0;
      var errorHandler = null;
      var self2 = {
        push,
        drain: noop,
        saturated: noop,
        pause,
        paused: false,
        get concurrency() {
          return _concurrency;
        },
        set concurrency(value) {
          if (!(value >= 1)) {
            throw new Error("fastqueue concurrency must be equal to or greater than 1");
          }
          _concurrency = value;
          if (self2.paused) return;
          for (; queueHead && _running < _concurrency; ) {
            _running++;
            release();
          }
        },
        running,
        resume,
        idle,
        length,
        getQueue,
        unshift,
        empty: noop,
        kill,
        killAndDrain,
        error
      };
      return self2;
      function running() {
        return _running;
      }
      function pause() {
        self2.paused = true;
      }
      function length() {
        var current = queueHead;
        var counter = 0;
        while (current) {
          current = current.next;
          counter++;
        }
        return counter;
      }
      function getQueue() {
        var current = queueHead;
        var tasks = [];
        while (current) {
          tasks.push(current.value);
          current = current.next;
        }
        return tasks;
      }
      function resume() {
        if (!self2.paused) return;
        self2.paused = false;
        if (queueHead === null) {
          _running++;
          release();
          return;
        }
        for (; queueHead && _running < _concurrency; ) {
          _running++;
          release();
        }
      }
      function idle() {
        return _running === 0 && self2.length() === 0;
      }
      function push(value, done) {
        var current = cache.get();
        current.context = context;
        current.release = release;
        current.value = value;
        current.callback = done || noop;
        current.errorHandler = errorHandler;
        if (_running >= _concurrency || self2.paused) {
          if (queueTail) {
            queueTail.next = current;
            queueTail = current;
          } else {
            queueHead = current;
            queueTail = current;
            self2.saturated();
          }
        } else {
          _running++;
          worker.call(context, current.value, current.worked);
        }
      }
      function unshift(value, done) {
        var current = cache.get();
        current.context = context;
        current.release = release;
        current.value = value;
        current.callback = done || noop;
        current.errorHandler = errorHandler;
        if (_running >= _concurrency || self2.paused) {
          if (queueHead) {
            current.next = queueHead;
            queueHead = current;
          } else {
            queueHead = current;
            queueTail = current;
            self2.saturated();
          }
        } else {
          _running++;
          worker.call(context, current.value, current.worked);
        }
      }
      function release(holder) {
        if (holder) {
          cache.release(holder);
        }
        var next = queueHead;
        if (next && _running <= _concurrency) {
          if (!self2.paused) {
            if (queueTail === queueHead) {
              queueTail = null;
            }
            queueHead = next.next;
            next.next = null;
            worker.call(context, next.value, next.worked);
            if (queueTail === null) {
              self2.empty();
            }
          } else {
            _running--;
          }
        } else if (--_running === 0) {
          self2.drain();
        }
      }
      function kill() {
        queueHead = null;
        queueTail = null;
        self2.drain = noop;
      }
      function killAndDrain() {
        queueHead = null;
        queueTail = null;
        self2.drain();
        self2.drain = noop;
      }
      function error(handler) {
        errorHandler = handler;
      }
    }
    function noop() {
    }
    function Task() {
      this.value = null;
      this.callback = noop;
      this.next = null;
      this.release = noop;
      this.context = null;
      this.errorHandler = null;
      var self2 = this;
      this.worked = function worked(err, result2) {
        var callback = self2.callback;
        var errorHandler = self2.errorHandler;
        var val = self2.value;
        self2.value = null;
        self2.callback = noop;
        if (self2.errorHandler) {
          errorHandler(err, val);
        }
        callback.call(self2.context, err, result2);
        self2.release(self2);
      };
    }
    function queueAsPromised(context, worker, _concurrency) {
      if (typeof context === "function") {
        _concurrency = worker;
        worker = context;
        context = null;
      }
      function asyncWrapper(arg, cb) {
        worker.call(this, arg).then(function(res) {
          cb(null, res);
        }, cb);
      }
      var queue = fastqueue(context, asyncWrapper, _concurrency);
      var pushCb = queue.push;
      var unshiftCb = queue.unshift;
      queue.push = push;
      queue.unshift = unshift;
      queue.drained = drained;
      return queue;
      function push(value) {
        var p = new Promise(function(resolve, reject) {
          pushCb(value, function(err, result2) {
            if (err) {
              reject(err);
              return;
            }
            resolve(result2);
          });
        });
        p.catch(noop);
        return p;
      }
      function unshift(value) {
        var p = new Promise(function(resolve, reject) {
          unshiftCb(value, function(err, result2) {
            if (err) {
              reject(err);
              return;
            }
            resolve(result2);
          });
        });
        p.catch(noop);
        return p;
      }
      function drained() {
        var p = new Promise(function(resolve) {
          process.nextTick(function() {
            if (queue.idle()) {
              resolve();
            } else {
              var previousDrain = queue.drain;
              queue.drain = function() {
                if (typeof previousDrain === "function") previousDrain();
                resolve();
                queue.drain = previousDrain;
              };
            }
          });
        });
        return p;
      }
    }
    module2.exports = fastqueue;
    module2.exports.promise = queueAsPromised;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js
var require_common7 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.joinPathSegments = exports2.replacePathSegmentSeparator = exports2.isAppliedFilter = exports2.isFatalError = void 0;
    function isFatalError(settings, error) {
      if (settings.errorFilter === null) {
        return true;
      }
      return !settings.errorFilter(error);
    }
    exports2.isFatalError = isFatalError;
    function isAppliedFilter(filter, value) {
      return filter === null || filter(value);
    }
    exports2.isAppliedFilter = isAppliedFilter;
    function replacePathSegmentSeparator(filepath, separator) {
      return filepath.split(/[/\\]/).join(separator);
    }
    exports2.replacePathSegmentSeparator = replacePathSegmentSeparator;
    function joinPathSegments(a, b, separator) {
      if (a === "") {
        return b;
      }
      if (a.endsWith(separator)) {
        return a + b;
      }
      return a + separator + b;
    }
    exports2.joinPathSegments = joinPathSegments;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js
var require_reader = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var common = require_common7();
    var Reader = class {
      constructor(_root, _settings) {
        this._root = _root;
        this._settings = _settings;
        this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator);
      }
    };
    exports2.default = Reader;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js
var require_async5 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var events_1 = require("events");
    var fsScandir = require_out2();
    var fastq = require_queue3();
    var common = require_common7();
    var reader_1 = require_reader();
    var AsyncReader = class extends reader_1.default {
      constructor(_root, _settings) {
        super(_root, _settings);
        this._settings = _settings;
        this._scandir = fsScandir.scandir;
        this._emitter = new events_1.EventEmitter();
        this._queue = fastq(this._worker.bind(this), this._settings.concurrency);
        this._isFatalError = false;
        this._isDestroyed = false;
        this._queue.drain = () => {
          if (!this._isFatalError) {
            this._emitter.emit("end");
          }
        };
      }
      read() {
        this._isFatalError = false;
        this._isDestroyed = false;
        setImmediate(() => {
          this._pushToQueue(this._root, this._settings.basePath);
        });
        return this._emitter;
      }
      get isDestroyed() {
        return this._isDestroyed;
      }
      destroy() {
        if (this._isDestroyed) {
          throw new Error("The reader is already destroyed");
        }
        this._isDestroyed = true;
        this._queue.killAndDrain();
      }
      onEntry(callback) {
        this._emitter.on("entry", callback);
      }
      onError(callback) {
        this._emitter.once("error", callback);
      }
      onEnd(callback) {
        this._emitter.once("end", callback);
      }
      _pushToQueue(directory, base) {
        const queueItem = { directory, base };
        this._queue.push(queueItem, (error) => {
          if (error !== null) {
            this._handleError(error);
          }
        });
      }
      _worker(item, done) {
        this._scandir(item.directory, this._settings.fsScandirSettings, (error, entries) => {
          if (error !== null) {
            done(error, void 0);
            return;
          }
          for (const entry of entries) {
            this._handleEntry(entry, item.base);
          }
          done(null, void 0);
        });
      }
      _handleError(error) {
        if (this._isDestroyed || !common.isFatalError(this._settings, error)) {
          return;
        }
        this._isFatalError = true;
        this._isDestroyed = true;
        this._emitter.emit("error", error);
      }
      _handleEntry(entry, base) {
        if (this._isDestroyed || this._isFatalError) {
          return;
        }
        const fullpath = entry.path;
        if (base !== void 0) {
          entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
        }
        if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
          this._emitEntry(entry);
        }
        if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
          this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
        }
      }
      _emitEntry(entry) {
        this._emitter.emit("entry", entry);
      }
    };
    exports2.default = AsyncReader;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js
var require_async6 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var async_1 = require_async5();
    var AsyncProvider = class {
      constructor(_root, _settings) {
        this._root = _root;
        this._settings = _settings;
        this._reader = new async_1.default(this._root, this._settings);
        this._storage = [];
      }
      read(callback) {
        this._reader.onError((error) => {
          callFailureCallback(callback, error);
        });
        this._reader.onEntry((entry) => {
          this._storage.push(entry);
        });
        this._reader.onEnd(() => {
          callSuccessCallback(callback, this._storage);
        });
        this._reader.read();
      }
    };
    exports2.default = AsyncProvider;
    function callFailureCallback(callback, error) {
      callback(error);
    }
    function callSuccessCallback(callback, entries) {
      callback(null, entries);
    }
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js
var require_stream4 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var stream_12 = require("stream");
    var async_1 = require_async5();
    var StreamProvider = class {
      constructor(_root, _settings) {
        this._root = _root;
        this._settings = _settings;
        this._reader = new async_1.default(this._root, this._settings);
        this._stream = new stream_12.Readable({
          objectMode: true,
          read: () => {
          },
          destroy: () => {
            if (!this._reader.isDestroyed) {
              this._reader.destroy();
            }
          }
        });
      }
      read() {
        this._reader.onError((error) => {
          this._stream.emit("error", error);
        });
        this._reader.onEntry((entry) => {
          this._stream.push(entry);
        });
        this._reader.onEnd(() => {
          this._stream.push(null);
        });
        this._reader.read();
        return this._stream;
      }
    };
    exports2.default = StreamProvider;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js
var require_sync5 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fsScandir = require_out2();
    var common = require_common7();
    var reader_1 = require_reader();
    var SyncReader = class extends reader_1.default {
      constructor() {
        super(...arguments);
        this._scandir = fsScandir.scandirSync;
        this._storage = [];
        this._queue = /* @__PURE__ */ new Set();
      }
      read() {
        this._pushToQueue(this._root, this._settings.basePath);
        this._handleQueue();
        return this._storage;
      }
      _pushToQueue(directory, base) {
        this._queue.add({ directory, base });
      }
      _handleQueue() {
        for (const item of this._queue.values()) {
          this._handleDirectory(item.directory, item.base);
        }
      }
      _handleDirectory(directory, base) {
        try {
          const entries = this._scandir(directory, this._settings.fsScandirSettings);
          for (const entry of entries) {
            this._handleEntry(entry, base);
          }
        } catch (error) {
          this._handleError(error);
        }
      }
      _handleError(error) {
        if (!common.isFatalError(this._settings, error)) {
          return;
        }
        throw error;
      }
      _handleEntry(entry, base) {
        const fullpath = entry.path;
        if (base !== void 0) {
          entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator);
        }
        if (common.isAppliedFilter(this._settings.entryFilter, entry)) {
          this._pushToStorage(entry);
        }
        if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) {
          this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path);
        }
      }
      _pushToStorage(entry) {
        this._storage.push(entry);
      }
    };
    exports2.default = SyncReader;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js
var require_sync6 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var sync_1 = require_sync5();
    var SyncProvider = class {
      constructor(_root, _settings) {
        this._root = _root;
        this._settings = _settings;
        this._reader = new sync_1.default(this._root, this._settings);
      }
      read() {
        return this._reader.read();
      }
    };
    exports2.default = SyncProvider;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js
var require_settings3 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var path2 = require("path");
    var fsScandir = require_out2();
    var Settings = class {
      constructor(_options = {}) {
        this._options = _options;
        this.basePath = this._getValue(this._options.basePath, void 0);
        this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY);
        this.deepFilter = this._getValue(this._options.deepFilter, null);
        this.entryFilter = this._getValue(this._options.entryFilter, null);
        this.errorFilter = this._getValue(this._options.errorFilter, null);
        this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path2.sep);
        this.fsScandirSettings = new fsScandir.Settings({
          followSymbolicLinks: this._options.followSymbolicLinks,
          fs: this._options.fs,
          pathSegmentSeparator: this._options.pathSegmentSeparator,
          stats: this._options.stats,
          throwErrorOnBrokenSymbolicLink: this._options.throwErrorOnBrokenSymbolicLink
        });
      }
      _getValue(option, value) {
        return option !== null && option !== void 0 ? option : value;
      }
    };
    exports2.default = Settings;
  }
});

// ../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js
var require_out3 = __commonJS({
  "../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Settings = exports2.walkStream = exports2.walkSync = exports2.walk = void 0;
    var async_1 = require_async6();
    var stream_12 = require_stream4();
    var sync_1 = require_sync6();
    var settings_1 = require_settings3();
    exports2.Settings = settings_1.default;
    function walk(directory, optionsOrSettingsOrCallback, callback) {
      if (typeof optionsOrSettingsOrCallback === "function") {
        new async_1.default(directory, getSettings()).read(optionsOrSettingsOrCallback);
        return;
      }
      new async_1.default(directory, getSettings(optionsOrSettingsOrCallback)).read(callback);
    }
    exports2.walk = walk;
    function walkSync(directory, optionsOrSettings) {
      const settings = getSettings(optionsOrSettings);
      const provider = new sync_1.default(directory, settings);
      return provider.read();
    }
    exports2.walkSync = walkSync;
    function walkStream(directory, optionsOrSettings) {
      const settings = getSettings(optionsOrSettings);
      const provider = new stream_12.default(directory, settings);
      return provider.read();
    }
    exports2.walkStream = walkStream;
    function getSettings(settingsOrOptions = {}) {
      if (settingsOrOptions instanceof settings_1.default) {
        return settingsOrOptions;
      }
      return new settings_1.default(settingsOrOptions);
    }
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js
var require_reader2 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/reader.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var path2 = require("path");
    var fsStat = require_out();
    var utils = require_utils10();
    var Reader = class {
      constructor(_settings) {
        this._settings = _settings;
        this._fsStatSettings = new fsStat.Settings({
          followSymbolicLink: this._settings.followSymbolicLinks,
          fs: this._settings.fs,
          throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks
        });
      }
      _getFullEntryPath(filepath) {
        return path2.resolve(this._settings.cwd, filepath);
      }
      _makeEntry(stats, pattern) {
        const entry = {
          name: pattern,
          path: pattern,
          dirent: utils.fs.createDirentFromStats(pattern, stats)
        };
        if (this._settings.stats) {
          entry.stats = stats;
        }
        return entry;
      }
      _isFatalError(error) {
        return !utils.errno.isEnoentCodeError(error) && !this._settings.suppressErrors;
      }
    };
    exports2.default = Reader;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js
var require_stream5 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/stream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var stream_12 = require("stream");
    var fsStat = require_out();
    var fsWalk = require_out3();
    var reader_1 = require_reader2();
    var ReaderStream = class extends reader_1.default {
      constructor() {
        super(...arguments);
        this._walkStream = fsWalk.walkStream;
        this._stat = fsStat.stat;
      }
      dynamic(root, options) {
        return this._walkStream(root, options);
      }
      static(patterns, options) {
        const filepaths = patterns.map(this._getFullEntryPath, this);
        const stream = new stream_12.PassThrough({ objectMode: true });
        stream._write = (index, _enc, done) => {
          return this._getEntry(filepaths[index], patterns[index], options).then((entry) => {
            if (entry !== null && options.entryFilter(entry)) {
              stream.push(entry);
            }
            if (index === filepaths.length - 1) {
              stream.end();
            }
            done();
          }).catch(done);
        };
        for (let i = 0; i < filepaths.length; i++) {
          stream.write(i);
        }
        return stream;
      }
      _getEntry(filepath, pattern, options) {
        return this._getStat(filepath).then((stats) => this._makeEntry(stats, pattern)).catch((error) => {
          if (options.errorFilter(error)) {
            return null;
          }
          throw error;
        });
      }
      _getStat(filepath) {
        return new Promise((resolve, reject) => {
          this._stat(filepath, this._fsStatSettings, (error, stats) => {
            return error === null ? resolve(stats) : reject(error);
          });
        });
      }
    };
    exports2.default = ReaderStream;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js
var require_async7 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fsWalk = require_out3();
    var reader_1 = require_reader2();
    var stream_12 = require_stream5();
    var ReaderAsync = class extends reader_1.default {
      constructor() {
        super(...arguments);
        this._walkAsync = fsWalk.walk;
        this._readerStream = new stream_12.default(this._settings);
      }
      dynamic(root, options) {
        return new Promise((resolve, reject) => {
          this._walkAsync(root, options, (error, entries) => {
            if (error === null) {
              resolve(entries);
            } else {
              reject(error);
            }
          });
        });
      }
      async static(patterns, options) {
        const entries = [];
        const stream = this._readerStream.static(patterns, options);
        return new Promise((resolve, reject) => {
          stream.once("error", reject);
          stream.on("data", (entry) => entries.push(entry));
          stream.once("end", () => resolve(entries));
        });
      }
    };
    exports2.default = ReaderAsync;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js
var require_matcher = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/matcher.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils10();
    var Matcher = class {
      constructor(_patterns, _settings, _micromatchOptions) {
        this._patterns = _patterns;
        this._settings = _settings;
        this._micromatchOptions = _micromatchOptions;
        this._storage = [];
        this._fillStorage();
      }
      _fillStorage() {
        for (const pattern of this._patterns) {
          const segments = this._getPatternSegments(pattern);
          const sections = this._splitSegmentsIntoSections(segments);
          this._storage.push({
            complete: sections.length <= 1,
            pattern,
            segments,
            sections
          });
        }
      }
      _getPatternSegments(pattern) {
        const parts = utils.pattern.getPatternParts(pattern, this._micromatchOptions);
        return parts.map((part) => {
          const dynamic = utils.pattern.isDynamicPattern(part, this._settings);
          if (!dynamic) {
            return {
              dynamic: false,
              pattern: part
            };
          }
          return {
            dynamic: true,
            pattern: part,
            patternRe: utils.pattern.makeRe(part, this._micromatchOptions)
          };
        });
      }
      _splitSegmentsIntoSections(segments) {
        return utils.array.splitWhen(segments, (segment) => segment.dynamic && utils.pattern.hasGlobStar(segment.pattern));
      }
    };
    exports2.default = Matcher;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js
var require_partial = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/matchers/partial.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var matcher_1 = require_matcher();
    var PartialMatcher = class extends matcher_1.default {
      match(filepath) {
        const parts = filepath.split("/");
        const levels = parts.length;
        const patterns = this._storage.filter((info) => !info.complete || info.segments.length > levels);
        for (const pattern of patterns) {
          const section = pattern.sections[0];
          if (!pattern.complete && levels > section.length) {
            return true;
          }
          const match = parts.every((part, index) => {
            const segment = pattern.segments[index];
            if (segment.dynamic && segment.patternRe.test(part)) {
              return true;
            }
            if (!segment.dynamic && segment.pattern === part) {
              return true;
            }
            return false;
          });
          if (match) {
            return true;
          }
        }
        return false;
      }
    };
    exports2.default = PartialMatcher;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js
var require_deep = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/deep.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils10();
    var partial_1 = require_partial();
    var DeepFilter = class {
      constructor(_settings, _micromatchOptions) {
        this._settings = _settings;
        this._micromatchOptions = _micromatchOptions;
      }
      getFilter(basePath, positive, negative) {
        const matcher = this._getMatcher(positive);
        const negativeRe = this._getNegativePatternsRe(negative);
        return (entry) => this._filter(basePath, entry, matcher, negativeRe);
      }
      _getMatcher(patterns) {
        return new partial_1.default(patterns, this._settings, this._micromatchOptions);
      }
      _getNegativePatternsRe(patterns) {
        const affectDepthOfReadingPatterns = patterns.filter(utils.pattern.isAffectDepthOfReadingPattern);
        return utils.pattern.convertPatternsToRe(affectDepthOfReadingPatterns, this._micromatchOptions);
      }
      _filter(basePath, entry, matcher, negativeRe) {
        if (this._isSkippedByDeep(basePath, entry.path)) {
          return false;
        }
        if (this._isSkippedSymbolicLink(entry)) {
          return false;
        }
        const filepath = utils.path.removeLeadingDotSegment(entry.path);
        if (this._isSkippedByPositivePatterns(filepath, matcher)) {
          return false;
        }
        return this._isSkippedByNegativePatterns(filepath, negativeRe);
      }
      _isSkippedByDeep(basePath, entryPath) {
        if (this._settings.deep === Infinity) {
          return false;
        }
        return this._getEntryLevel(basePath, entryPath) >= this._settings.deep;
      }
      _getEntryLevel(basePath, entryPath) {
        const entryPathDepth = entryPath.split("/").length;
        if (basePath === "") {
          return entryPathDepth;
        }
        const basePathDepth = basePath.split("/").length;
        return entryPathDepth - basePathDepth;
      }
      _isSkippedSymbolicLink(entry) {
        return !this._settings.followSymbolicLinks && entry.dirent.isSymbolicLink();
      }
      _isSkippedByPositivePatterns(entryPath, matcher) {
        return !this._settings.baseNameMatch && !matcher.match(entryPath);
      }
      _isSkippedByNegativePatterns(entryPath, patternsRe) {
        return !utils.pattern.matchAny(entryPath, patternsRe);
      }
    };
    exports2.default = DeepFilter;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js
var require_entry2 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/entry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils10();
    var EntryFilter = class {
      constructor(_settings, _micromatchOptions) {
        this._settings = _settings;
        this._micromatchOptions = _micromatchOptions;
        this.index = /* @__PURE__ */ new Map();
      }
      getFilter(positive, negative) {
        const [absoluteNegative, relativeNegative] = utils.pattern.partitionAbsoluteAndRelative(negative);
        const patterns = {
          positive: {
            all: utils.pattern.convertPatternsToRe(positive, this._micromatchOptions)
          },
          negative: {
            absolute: utils.pattern.convertPatternsToRe(absoluteNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true })),
            relative: utils.pattern.convertPatternsToRe(relativeNegative, Object.assign(Object.assign({}, this._micromatchOptions), { dot: true }))
          }
        };
        return (entry) => this._filter(entry, patterns);
      }
      _filter(entry, patterns) {
        const filepath = utils.path.removeLeadingDotSegment(entry.path);
        if (this._settings.unique && this._isDuplicateEntry(filepath)) {
          return false;
        }
        if (this._onlyFileFilter(entry) || this._onlyDirectoryFilter(entry)) {
          return false;
        }
        const isMatched = this._isMatchToPatternsSet(filepath, patterns, entry.dirent.isDirectory());
        if (this._settings.unique && isMatched) {
          this._createIndexRecord(filepath);
        }
        return isMatched;
      }
      _isDuplicateEntry(filepath) {
        return this.index.has(filepath);
      }
      _createIndexRecord(filepath) {
        this.index.set(filepath, void 0);
      }
      _onlyFileFilter(entry) {
        return this._settings.onlyFiles && !entry.dirent.isFile();
      }
      _onlyDirectoryFilter(entry) {
        return this._settings.onlyDirectories && !entry.dirent.isDirectory();
      }
      _isMatchToPatternsSet(filepath, patterns, isDirectory) {
        const isMatched = this._isMatchToPatterns(filepath, patterns.positive.all, isDirectory);
        if (!isMatched) {
          return false;
        }
        const isMatchedByRelativeNegative = this._isMatchToPatterns(filepath, patterns.negative.relative, isDirectory);
        if (isMatchedByRelativeNegative) {
          return false;
        }
        const isMatchedByAbsoluteNegative = this._isMatchToAbsoluteNegative(filepath, patterns.negative.absolute, isDirectory);
        if (isMatchedByAbsoluteNegative) {
          return false;
        }
        return true;
      }
      _isMatchToAbsoluteNegative(filepath, patternsRe, isDirectory) {
        if (patternsRe.length === 0) {
          return false;
        }
        const fullpath = utils.path.makeAbsolute(this._settings.cwd, filepath);
        return this._isMatchToPatterns(fullpath, patternsRe, isDirectory);
      }
      _isMatchToPatterns(filepath, patternsRe, isDirectory) {
        if (patternsRe.length === 0) {
          return false;
        }
        const isMatched = utils.pattern.matchAny(filepath, patternsRe);
        if (!isMatched && isDirectory) {
          return utils.pattern.matchAny(filepath + "/", patternsRe);
        }
        return isMatched;
      }
    };
    exports2.default = EntryFilter;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js
var require_error2 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/filters/error.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils10();
    var ErrorFilter = class {
      constructor(_settings) {
        this._settings = _settings;
      }
      getFilter() {
        return (error) => this._isNonFatalError(error);
      }
      _isNonFatalError(error) {
        return utils.errno.isEnoentCodeError(error) || this._settings.suppressErrors;
      }
    };
    exports2.default = ErrorFilter;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js
var require_entry3 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/transformers/entry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var utils = require_utils10();
    var EntryTransformer = class {
      constructor(_settings) {
        this._settings = _settings;
      }
      getTransformer() {
        return (entry) => this._transform(entry);
      }
      _transform(entry) {
        let filepath = entry.path;
        if (this._settings.absolute) {
          filepath = utils.path.makeAbsolute(this._settings.cwd, filepath);
          filepath = utils.path.unixify(filepath);
        }
        if (this._settings.markDirectories && entry.dirent.isDirectory()) {
          filepath += "/";
        }
        if (!this._settings.objectMode) {
          return filepath;
        }
        return Object.assign(Object.assign({}, entry), { path: filepath });
      }
    };
    exports2.default = EntryTransformer;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js
var require_provider = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/provider.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var path2 = require("path");
    var deep_1 = require_deep();
    var entry_1 = require_entry2();
    var error_1 = require_error2();
    var entry_2 = require_entry3();
    var Provider = class {
      constructor(_settings) {
        this._settings = _settings;
        this.errorFilter = new error_1.default(this._settings);
        this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions());
        this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions());
        this.entryTransformer = new entry_2.default(this._settings);
      }
      _getRootDirectory(task) {
        return path2.resolve(this._settings.cwd, task.base);
      }
      _getReaderOptions(task) {
        const basePath = task.base === "." ? "" : task.base;
        return {
          basePath,
          pathSegmentSeparator: "/",
          concurrency: this._settings.concurrency,
          deepFilter: this.deepFilter.getFilter(basePath, task.positive, task.negative),
          entryFilter: this.entryFilter.getFilter(task.positive, task.negative),
          errorFilter: this.errorFilter.getFilter(),
          followSymbolicLinks: this._settings.followSymbolicLinks,
          fs: this._settings.fs,
          stats: this._settings.stats,
          throwErrorOnBrokenSymbolicLink: this._settings.throwErrorOnBrokenSymbolicLink,
          transform: this.entryTransformer.getTransformer()
        };
      }
      _getMicromatchOptions() {
        return {
          dot: this._settings.dot,
          matchBase: this._settings.baseNameMatch,
          nobrace: !this._settings.braceExpansion,
          nocase: !this._settings.caseSensitiveMatch,
          noext: !this._settings.extglob,
          noglobstar: !this._settings.globstar,
          posix: true,
          strictSlashes: false
        };
      }
    };
    exports2.default = Provider;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js
var require_async8 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/async.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var async_1 = require_async7();
    var provider_1 = require_provider();
    var ProviderAsync = class extends provider_1.default {
      constructor() {
        super(...arguments);
        this._reader = new async_1.default(this._settings);
      }
      async read(task) {
        const root = this._getRootDirectory(task);
        const options = this._getReaderOptions(task);
        const entries = await this.api(root, task, options);
        return entries.map((entry) => options.transform(entry));
      }
      api(root, task, options) {
        if (task.dynamic) {
          return this._reader.dynamic(root, options);
        }
        return this._reader.static(task.patterns, options);
      }
    };
    exports2.default = ProviderAsync;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js
var require_stream6 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/stream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var stream_12 = require("stream");
    var stream_2 = require_stream5();
    var provider_1 = require_provider();
    var ProviderStream = class extends provider_1.default {
      constructor() {
        super(...arguments);
        this._reader = new stream_2.default(this._settings);
      }
      read(task) {
        const root = this._getRootDirectory(task);
        const options = this._getReaderOptions(task);
        const source = this.api(root, task, options);
        const destination = new stream_12.Readable({ objectMode: true, read: () => {
        } });
        source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options.transform(entry))).once("end", () => destination.emit("end"));
        destination.once("close", () => source.destroy());
        return destination;
      }
      api(root, task, options) {
        if (task.dynamic) {
          return this._reader.dynamic(root, options);
        }
        return this._reader.static(task.patterns, options);
      }
    };
    exports2.default = ProviderStream;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js
var require_sync7 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/readers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fsStat = require_out();
    var fsWalk = require_out3();
    var reader_1 = require_reader2();
    var ReaderSync = class extends reader_1.default {
      constructor() {
        super(...arguments);
        this._walkSync = fsWalk.walkSync;
        this._statSync = fsStat.statSync;
      }
      dynamic(root, options) {
        return this._walkSync(root, options);
      }
      static(patterns, options) {
        const entries = [];
        for (const pattern of patterns) {
          const filepath = this._getFullEntryPath(pattern);
          const entry = this._getEntry(filepath, pattern, options);
          if (entry === null || !options.entryFilter(entry)) {
            continue;
          }
          entries.push(entry);
        }
        return entries;
      }
      _getEntry(filepath, pattern, options) {
        try {
          const stats = this._getStat(filepath);
          return this._makeEntry(stats, pattern);
        } catch (error) {
          if (options.errorFilter(error)) {
            return null;
          }
          throw error;
        }
      }
      _getStat(filepath) {
        return this._statSync(filepath, this._fsStatSettings);
      }
    };
    exports2.default = ReaderSync;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js
var require_sync8 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/providers/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var sync_1 = require_sync7();
    var provider_1 = require_provider();
    var ProviderSync = class extends provider_1.default {
      constructor() {
        super(...arguments);
        this._reader = new sync_1.default(this._settings);
      }
      read(task) {
        const root = this._getRootDirectory(task);
        const options = this._getReaderOptions(task);
        const entries = this.api(root, task, options);
        return entries.map(options.transform);
      }
      api(root, task, options) {
        if (task.dynamic) {
          return this._reader.dynamic(root, options);
        }
        return this._reader.static(task.patterns, options);
      }
    };
    exports2.default = ProviderSync;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js
var require_settings4 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/settings.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DEFAULT_FILE_SYSTEM_ADAPTER = void 0;
    var fs = require("fs");
    var os = require("os");
    var CPU_COUNT = Math.max(os.cpus().length, 1);
    exports2.DEFAULT_FILE_SYSTEM_ADAPTER = {
      lstat: fs.lstat,
      lstatSync: fs.lstatSync,
      stat: fs.stat,
      statSync: fs.statSync,
      readdir: fs.readdir,
      readdirSync: fs.readdirSync
    };
    var Settings = class {
      constructor(_options = {}) {
        this._options = _options;
        this.absolute = this._getValue(this._options.absolute, false);
        this.baseNameMatch = this._getValue(this._options.baseNameMatch, false);
        this.braceExpansion = this._getValue(this._options.braceExpansion, true);
        this.caseSensitiveMatch = this._getValue(this._options.caseSensitiveMatch, true);
        this.concurrency = this._getValue(this._options.concurrency, CPU_COUNT);
        this.cwd = this._getValue(this._options.cwd, process.cwd());
        this.deep = this._getValue(this._options.deep, Infinity);
        this.dot = this._getValue(this._options.dot, false);
        this.extglob = this._getValue(this._options.extglob, true);
        this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, true);
        this.fs = this._getFileSystemMethods(this._options.fs);
        this.globstar = this._getValue(this._options.globstar, true);
        this.ignore = this._getValue(this._options.ignore, []);
        this.markDirectories = this._getValue(this._options.markDirectories, false);
        this.objectMode = this._getValue(this._options.objectMode, false);
        this.onlyDirectories = this._getValue(this._options.onlyDirectories, false);
        this.onlyFiles = this._getValue(this._options.onlyFiles, true);
        this.stats = this._getValue(this._options.stats, false);
        this.suppressErrors = this._getValue(this._options.suppressErrors, false);
        this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, false);
        this.unique = this._getValue(this._options.unique, true);
        if (this.onlyDirectories) {
          this.onlyFiles = false;
        }
        if (this.stats) {
          this.objectMode = true;
        }
        this.ignore = [].concat(this.ignore);
      }
      _getValue(option, value) {
        return option === void 0 ? value : option;
      }
      _getFileSystemMethods(methods = {}) {
        return Object.assign(Object.assign({}, exports2.DEFAULT_FILE_SYSTEM_ADAPTER), methods);
      }
    };
    exports2.default = Settings;
  }
});

// ../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js
var require_out4 = __commonJS({
  "../node_modules/.pnpm/fast-glob@3.3.3/node_modules/fast-glob/out/index.js"(exports2, module2) {
    "use strict";
    var taskManager = require_tasks();
    var async_1 = require_async8();
    var stream_12 = require_stream6();
    var sync_1 = require_sync8();
    var settings_1 = require_settings4();
    var utils = require_utils10();
    async function FastGlob(source, options) {
      assertPatternsInput(source);
      const works = getWorks(source, async_1.default, options);
      const result2 = await Promise.all(works);
      return utils.array.flatten(result2);
    }
    (function(FastGlob2) {
      FastGlob2.glob = FastGlob2;
      FastGlob2.globSync = sync;
      FastGlob2.globStream = stream;
      FastGlob2.async = FastGlob2;
      function sync(source, options) {
        assertPatternsInput(source);
        const works = getWorks(source, sync_1.default, options);
        return utils.array.flatten(works);
      }
      FastGlob2.sync = sync;
      function stream(source, options) {
        assertPatternsInput(source);
        const works = getWorks(source, stream_12.default, options);
        return utils.stream.merge(works);
      }
      FastGlob2.stream = stream;
      function generateTasks(source, options) {
        assertPatternsInput(source);
        const patterns = [].concat(source);
        const settings = new settings_1.default(options);
        return taskManager.generate(patterns, settings);
      }
      FastGlob2.generateTasks = generateTasks;
      function isDynamicPattern(source, options) {
        assertPatternsInput(source);
        const settings = new settings_1.default(options);
        return utils.pattern.isDynamicPattern(source, settings);
      }
      FastGlob2.isDynamicPattern = isDynamicPattern;
      function escapePath(source) {
        assertPatternsInput(source);
        return utils.path.escape(source);
      }
      FastGlob2.escapePath = escapePath;
      function convertPathToPattern(source) {
        assertPatternsInput(source);
        return utils.path.convertPathToPattern(source);
      }
      FastGlob2.convertPathToPattern = convertPathToPattern;
      let posix;
      (function(posix2) {
        function escapePath2(source) {
          assertPatternsInput(source);
          return utils.path.escapePosixPath(source);
        }
        posix2.escapePath = escapePath2;
        function convertPathToPattern2(source) {
          assertPatternsInput(source);
          return utils.path.convertPosixPathToPattern(source);
        }
        posix2.convertPathToPattern = convertPathToPattern2;
      })(posix = FastGlob2.posix || (FastGlob2.posix = {}));
      let win32;
      (function(win322) {
        function escapePath2(source) {
          assertPatternsInput(source);
          return utils.path.escapeWindowsPath(source);
        }
        win322.escapePath = escapePath2;
        function convertPathToPattern2(source) {
          assertPatternsInput(source);
          return utils.path.convertWindowsPathToPattern(source);
        }
        win322.convertPathToPattern = convertPathToPattern2;
      })(win32 = FastGlob2.win32 || (FastGlob2.win32 = {}));
    })(FastGlob || (FastGlob = {}));
    function getWorks(source, _Provider, options) {
      const patterns = [].concat(source);
      const settings = new settings_1.default(options);
      const tasks = taskManager.generate(patterns, settings);
      const provider = new _Provider(settings);
      return tasks.map(provider.read, provider);
    }
    function assertPatternsInput(input) {
      const source = [].concat(input);
      const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item));
      if (!isValidSource) {
        throw new TypeError("Patterns must be a string (non empty) or an array of strings");
      }
    }
    module2.exports = FastGlob;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js
var require_globUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isBraceExpansion = exports2.match = exports2.isGlobPattern = exports2.fastGlobOptions = exports2.micromatchOptions = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fast_glob_1 = tslib_12.__importDefault(require_out4());
    var fs_1 = tslib_12.__importDefault(require("fs"));
    var micromatch_12 = tslib_12.__importDefault(require_micromatch());
    exports2.micromatchOptions = {
      // This is required because we don't want ")/*" to be a valid shell glob pattern.
      strictBrackets: true
    };
    exports2.fastGlobOptions = {
      onlyDirectories: false,
      onlyFiles: false
    };
    function isGlobPattern(pattern) {
      if (!micromatch_12.default.scan(pattern, exports2.micromatchOptions).isGlob)
        return false;
      try {
        micromatch_12.default.parse(pattern, exports2.micromatchOptions);
      } catch {
        return false;
      }
      return true;
    }
    exports2.isGlobPattern = isGlobPattern;
    function match(pattern, { cwd, baseFs }) {
      return (0, fast_glob_1.default)(pattern, {
        ...exports2.fastGlobOptions,
        cwd: fslib_12.npath.fromPortablePath(cwd),
        fs: (0, fslib_12.extendFs)(fs_1.default, new fslib_12.PosixFS(baseFs))
      });
    }
    exports2.match = match;
    function isBraceExpansion(pattern) {
      return micromatch_12.default.scan(pattern, exports2.micromatchOptions).isBrace;
    }
    exports2.isBraceExpansion = isBraceExpansion;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js
var require_pipe2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createOutputStreamsWithPrefix = exports2.start = exports2.Handle = exports2.ProtectedStream = exports2.makeBuiltin = exports2.makeProcess = exports2.Pipe = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var cross_spawn_1 = tslib_12.__importDefault(require_cross_spawn());
    var stream_12 = require("stream");
    var string_decoder_1 = require("string_decoder");
    var Pipe;
    (function(Pipe2) {
      Pipe2[Pipe2["STDIN"] = 0] = "STDIN";
      Pipe2[Pipe2["STDOUT"] = 1] = "STDOUT";
      Pipe2[Pipe2["STDERR"] = 2] = "STDERR";
    })(Pipe || (exports2.Pipe = Pipe = {}));
    var activeChildren = /* @__PURE__ */ new Set();
    function sigintHandler() {
    }
    function sigtermHandler() {
      for (const child of activeChildren) {
        child.kill();
      }
    }
    function makeProcess(name, args, opts, spawnOpts) {
      return (stdio) => {
        const stdin = stdio[0] instanceof stream_12.Transform ? `pipe` : stdio[0];
        const stdout = stdio[1] instanceof stream_12.Transform ? `pipe` : stdio[1];
        const stderr = stdio[2] instanceof stream_12.Transform ? `pipe` : stdio[2];
        const child = (0, cross_spawn_1.default)(name, args, { ...spawnOpts, stdio: [
          stdin,
          stdout,
          stderr
        ] });
        activeChildren.add(child);
        if (activeChildren.size === 1) {
          process.on(`SIGINT`, sigintHandler);
          process.on(`SIGTERM`, sigtermHandler);
        }
        if (stdio[0] instanceof stream_12.Transform)
          stdio[0].pipe(child.stdin);
        if (stdio[1] instanceof stream_12.Transform)
          child.stdout.pipe(stdio[1], { end: false });
        if (stdio[2] instanceof stream_12.Transform)
          child.stderr.pipe(stdio[2], { end: false });
        return {
          stdin: child.stdin,
          promise: new Promise((resolve) => {
            child.on(`error`, (error) => {
              activeChildren.delete(child);
              if (activeChildren.size === 0) {
                process.off(`SIGINT`, sigintHandler);
                process.off(`SIGTERM`, sigtermHandler);
              }
              switch (error.code) {
                case `ENOENT`:
                  {
                    stdio[2].write(`command not found: ${name}
`);
                    resolve(127);
                  }
                  break;
                case `EACCES`:
                  {
                    stdio[2].write(`permission denied: ${name}
`);
                    resolve(128);
                  }
                  break;
                default:
                  {
                    stdio[2].write(`uncaught error: ${error.message}
`);
                    resolve(1);
                  }
                  break;
              }
            });
            child.on(`close`, (code) => {
              activeChildren.delete(child);
              if (activeChildren.size === 0) {
                process.off(`SIGINT`, sigintHandler);
                process.off(`SIGTERM`, sigtermHandler);
              }
              if (code !== null) {
                resolve(code);
              } else {
                resolve(129);
              }
            });
          })
        };
      };
    }
    exports2.makeProcess = makeProcess;
    function makeBuiltin(builtin) {
      return (stdio) => {
        const stdin = stdio[0] === `pipe` ? new stream_12.PassThrough() : stdio[0];
        return {
          stdin,
          promise: Promise.resolve().then(() => builtin({
            stdin,
            stdout: stdio[1],
            stderr: stdio[2]
          }))
        };
      };
    }
    exports2.makeBuiltin = makeBuiltin;
    var ProtectedStream = class {
      constructor(stream) {
        this.stream = stream;
      }
      close() {
      }
      get() {
        return this.stream;
      }
    };
    exports2.ProtectedStream = ProtectedStream;
    var PipeStream = class {
      constructor() {
        this.stream = null;
      }
      close() {
        if (this.stream === null) {
          throw new Error(`Assertion failed: No stream attached`);
        } else {
          this.stream.end();
        }
      }
      attach(stream) {
        this.stream = stream;
      }
      get() {
        if (this.stream === null) {
          throw new Error(`Assertion failed: No stream attached`);
        } else {
          return this.stream;
        }
      }
    };
    var Handle = class _Handle {
      static start(implementation, { stdin, stdout, stderr }) {
        const chain = new _Handle(null, implementation);
        chain.stdin = stdin;
        chain.stdout = stdout;
        chain.stderr = stderr;
        return chain;
      }
      constructor(ancestor, implementation) {
        this.stdin = null;
        this.stdout = null;
        this.stderr = null;
        this.pipe = null;
        this.ancestor = ancestor;
        this.implementation = implementation;
      }
      pipeTo(implementation, source = Pipe.STDOUT) {
        const next = new _Handle(this, implementation);
        const pipe = new PipeStream();
        next.pipe = pipe;
        next.stdout = this.stdout;
        next.stderr = this.stderr;
        if ((source & Pipe.STDOUT) === Pipe.STDOUT)
          this.stdout = pipe;
        else if (this.ancestor !== null)
          this.stderr = this.ancestor.stdout;
        if ((source & Pipe.STDERR) === Pipe.STDERR)
          this.stderr = pipe;
        else if (this.ancestor !== null)
          this.stderr = this.ancestor.stderr;
        return next;
      }
      async exec() {
        const stdio = [
          `ignore`,
          `ignore`,
          `ignore`
        ];
        if (this.pipe) {
          stdio[0] = `pipe`;
        } else {
          if (this.stdin === null) {
            throw new Error(`Assertion failed: No input stream registered`);
          } else {
            stdio[0] = this.stdin.get();
          }
        }
        let stdoutLock;
        if (this.stdout === null) {
          throw new Error(`Assertion failed: No output stream registered`);
        } else {
          stdoutLock = this.stdout;
          stdio[1] = stdoutLock.get();
        }
        let stderrLock;
        if (this.stderr === null) {
          throw new Error(`Assertion failed: No error stream registered`);
        } else {
          stderrLock = this.stderr;
          stdio[2] = stderrLock.get();
        }
        const child = this.implementation(stdio);
        if (this.pipe)
          this.pipe.attach(child.stdin);
        return await child.promise.then((code) => {
          stdoutLock.close();
          stderrLock.close();
          return code;
        });
      }
      async run() {
        const promises = [];
        for (let handle = this; handle; handle = handle.ancestor)
          promises.push(handle.exec());
        const exitCodes = await Promise.all(promises);
        return exitCodes[0];
      }
    };
    exports2.Handle = Handle;
    function start(p, opts) {
      return Handle.start(p, opts);
    }
    exports2.start = start;
    function createStreamReporter(reportFn, prefix = null) {
      const stream = new stream_12.PassThrough();
      const decoder = new string_decoder_1.StringDecoder();
      let buffer = ``;
      stream.on(`data`, (chunk) => {
        let chunkStr = decoder.write(chunk);
        let lineIndex;
        do {
          lineIndex = chunkStr.indexOf(`
`);
          if (lineIndex !== -1) {
            const line = buffer + chunkStr.substring(0, lineIndex);
            chunkStr = chunkStr.substring(lineIndex + 1);
            buffer = ``;
            if (prefix !== null) {
              reportFn(`${prefix} ${line}`);
            } else {
              reportFn(line);
            }
          }
        } while (lineIndex !== -1);
        buffer += chunkStr;
      });
      stream.on(`end`, () => {
        const last = decoder.end();
        if (last !== ``) {
          if (prefix !== null) {
            reportFn(`${prefix} ${last}`);
          } else {
            reportFn(last);
          }
        }
      });
      return stream;
    }
    function createOutputStreamsWithPrefix(state, { prefix }) {
      return {
        stdout: createStreamReporter((text) => state.stdout.write(`${text}
`), state.stdout.isTTY ? prefix : null),
        stderr: createStreamReporter((text) => state.stderr.write(`${text}
`), state.stderr.isTTY ? prefix : null)
      };
    }
    exports2.createOutputStreamsWithPrefix = createOutputStreamsWithPrefix;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js
var require_lib69 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.0.0_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.execute = exports2.globUtils = exports2.ShellError = exports2.EntryCommand = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var parsers_1 = require_lib67();
    var chalk_1 = tslib_12.__importDefault(require_source2());
    var os_1 = require("os");
    var stream_12 = require("stream");
    var promises_1 = require("timers/promises");
    var entry_1 = tslib_12.__importDefault(require_entry());
    exports2.EntryCommand = entry_1.default;
    var errors_1 = require_errors4();
    Object.defineProperty(exports2, "ShellError", { enumerable: true, get: function() {
      return errors_1.ShellError;
    } });
    var globUtils = tslib_12.__importStar(require_globUtils());
    exports2.globUtils = globUtils;
    var pipe_1 = require_pipe2();
    var pipe_2 = require_pipe2();
    var StreamType;
    (function(StreamType2) {
      StreamType2[StreamType2["Readable"] = 1] = "Readable";
      StreamType2[StreamType2["Writable"] = 2] = "Writable";
    })(StreamType || (StreamType = {}));
    function getFileDescriptorStream(fd, type, state) {
      const stream = new stream_12.PassThrough({ autoDestroy: true });
      switch (fd) {
        case pipe_2.Pipe.STDIN:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stdin.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable && state.stdin instanceof stream_12.Writable) {
              stream.pipe(state.stdin, { end: false });
            }
          }
          break;
        case pipe_2.Pipe.STDOUT:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stdout.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable) {
              stream.pipe(state.stdout, { end: false });
            }
          }
          break;
        case pipe_2.Pipe.STDERR:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stderr.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable) {
              stream.pipe(state.stderr, { end: false });
            }
          }
          break;
        default: {
          throw new errors_1.ShellError(`Bad file descriptor: "${fd}"`);
        }
      }
      return stream;
    }
    function cloneState(state, mergeWith = {}) {
      const newState = { ...state, ...mergeWith };
      newState.environment = { ...state.environment, ...mergeWith.environment };
      newState.variables = { ...state.variables, ...mergeWith.variables };
      return newState;
    }
    var BUILTINS = /* @__PURE__ */ new Map([
      [`cd`, async ([target = (0, os_1.homedir)(), ...rest], opts, state) => {
        const resolvedTarget = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(target));
        const stat = await opts.baseFs.statPromise(resolvedTarget).catch((error) => {
          throw error.code === `ENOENT` ? new errors_1.ShellError(`cd: no such file or directory: ${target}`) : error;
        });
        if (!stat.isDirectory())
          throw new errors_1.ShellError(`cd: not a directory: ${target}`);
        state.cwd = resolvedTarget;
        return 0;
      }],
      [`pwd`, async (args, opts, state) => {
        state.stdout.write(`${fslib_12.npath.fromPortablePath(state.cwd)}
`);
        return 0;
      }],
      [`:`, async (args, opts, state) => {
        return 0;
      }],
      [`true`, async (args, opts, state) => {
        return 0;
      }],
      [`false`, async (args, opts, state) => {
        return 1;
      }],
      [`exit`, async ([code, ...rest], opts, state) => {
        return state.exitCode = parseInt(code ?? state.variables[`?`], 10);
      }],
      [`echo`, async (args, opts, state) => {
        state.stdout.write(`${args.join(` `)}
`);
        return 0;
      }],
      [`sleep`, async ([time], opts, state) => {
        if (typeof time === `undefined`)
          throw new errors_1.ShellError(`sleep: missing operand`);
        const seconds = Number(time);
        if (Number.isNaN(seconds))
          throw new errors_1.ShellError(`sleep: invalid time interval '${time}'`);
        return await (0, promises_1.setTimeout)(1e3 * seconds, 0);
      }],
      [`__ysh_run_procedure`, async (args, opts, state) => {
        const procedure = state.procedures[args[0]];
        const exitCode = await (0, pipe_2.start)(procedure, {
          stdin: new pipe_2.ProtectedStream(state.stdin),
          stdout: new pipe_2.ProtectedStream(state.stdout),
          stderr: new pipe_2.ProtectedStream(state.stderr)
        }).run();
        return exitCode;
      }],
      [`__ysh_set_redirects`, async (args, opts, state) => {
        let stdin = state.stdin;
        let stdout = state.stdout;
        let stderr = state.stderr;
        const inputs = [];
        const outputs = [];
        const errors = [];
        let t = 0;
        while (args[t] !== `--`) {
          const key = args[t++];
          const { type, fd } = JSON.parse(key);
          const pushInput = (readableFactory) => {
            switch (fd) {
              case null:
              case 0:
                {
                  inputs.push(readableFactory);
                }
                break;
              default:
                throw new Error(`Unsupported file descriptor: "${fd}"`);
            }
          };
          const pushOutput = (writable) => {
            switch (fd) {
              case null:
              case 1:
                {
                  outputs.push(writable);
                }
                break;
              case 2:
                {
                  errors.push(writable);
                }
                break;
              default:
                throw new Error(`Unsupported file descriptor: "${fd}"`);
            }
          };
          const count = Number(args[t++]);
          const last = t + count;
          for (let u = t; u < last; ++t, ++u) {
            switch (type) {
              case `<`:
                {
                  pushInput(() => {
                    return opts.baseFs.createReadStream(fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u])));
                  });
                }
                break;
              case `<<<`:
                {
                  pushInput(() => {
                    const input = new stream_12.PassThrough();
                    process.nextTick(() => {
                      input.write(`${args[u]}
`);
                      input.end();
                    });
                    return input;
                  });
                }
                break;
              case `<&`:
                {
                  pushInput(() => getFileDescriptorStream(Number(args[u]), StreamType.Readable, state));
                }
                break;
              case `>`:
              case `>>`:
                {
                  const outputPath = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u]));
                  if (outputPath === `/dev/null`) {
                    pushOutput(new stream_12.Writable({
                      autoDestroy: true,
                      emitClose: true,
                      write(chunk, encoding, callback) {
                        setImmediate(callback);
                      }
                    }));
                  } else {
                    pushOutput(opts.baseFs.createWriteStream(outputPath, type === `>>` ? { flags: `a` } : void 0));
                  }
                }
                break;
              case `>&`:
                {
                  pushOutput(getFileDescriptorStream(Number(args[u]), StreamType.Writable, state));
                }
                break;
              default: {
                throw new Error(`Assertion failed: Unsupported redirection type: "${type}"`);
              }
            }
          }
        }
        if (inputs.length > 0) {
          const pipe = new stream_12.PassThrough();
          stdin = pipe;
          const bindInput = (n) => {
            if (n === inputs.length) {
              pipe.end();
            } else {
              const input = inputs[n]();
              input.pipe(pipe, { end: false });
              input.on(`end`, () => {
                bindInput(n + 1);
              });
            }
          };
          bindInput(0);
        }
        if (outputs.length > 0) {
          const pipe = new stream_12.PassThrough();
          stdout = pipe;
          for (const output of outputs) {
            pipe.pipe(output);
          }
        }
        if (errors.length > 0) {
          const pipe = new stream_12.PassThrough();
          stderr = pipe;
          for (const error of errors) {
            pipe.pipe(error);
          }
        }
        const exitCode = await (0, pipe_2.start)(makeCommandAction(args.slice(t + 1), opts, state), {
          stdin: new pipe_2.ProtectedStream(stdin),
          stdout: new pipe_2.ProtectedStream(stdout),
          stderr: new pipe_2.ProtectedStream(stderr)
        }).run();
        await Promise.all(outputs.map((output) => {
          return new Promise((resolve, reject) => {
            output.on(`error`, (error) => {
              reject(error);
            });
            output.on(`close`, () => {
              resolve();
            });
            output.end();
          });
        }));
        await Promise.all(errors.map((err) => {
          return new Promise((resolve, reject) => {
            err.on(`error`, (error) => {
              reject(error);
            });
            err.on(`close`, () => {
              resolve();
            });
            err.end();
          });
        }));
        return exitCode;
      }]
    ]);
    async function executeBufferedSubshell(ast, opts, state) {
      const chunks = [];
      const stdout = new stream_12.PassThrough();
      stdout.on(`data`, (chunk) => chunks.push(chunk));
      await executeShellLine(ast, opts, cloneState(state, { stdout }));
      return Buffer.concat(chunks).toString().replace(/[\r\n]+$/, ``);
    }
    async function applyEnvVariables(environmentSegments, opts, state) {
      const envPromises = environmentSegments.map(async (envSegment) => {
        const interpolatedArgs = await interpolateArguments(envSegment.args, opts, state);
        return {
          name: envSegment.name,
          value: interpolatedArgs.join(` `)
        };
      });
      const interpolatedEnvs = await Promise.all(envPromises);
      return interpolatedEnvs.reduce((envs, env) => {
        envs[env.name] = env.value;
        return envs;
      }, {});
    }
    function split(raw) {
      return raw.match(/[^ \r\n\t]+/g) || [];
    }
    async function evaluateVariable(segment, opts, state, push, pushAndClose = push) {
      switch (segment.name) {
        case `$`:
          {
            push(String(process.pid));
          }
          break;
        case `#`:
          {
            push(String(opts.args.length));
          }
          break;
        case `@`:
          {
            if (segment.quoted) {
              for (const raw of opts.args) {
                pushAndClose(raw);
              }
            } else {
              for (const raw of opts.args) {
                const parts = split(raw);
                for (let t = 0; t < parts.length - 1; ++t)
                  pushAndClose(parts[t]);
                push(parts[parts.length - 1]);
              }
            }
          }
          break;
        case `*`:
          {
            const raw = opts.args.join(` `);
            if (segment.quoted) {
              push(raw);
            } else {
              for (const part of split(raw)) {
                pushAndClose(part);
              }
            }
          }
          break;
        case `PPID`:
          {
            push(String(process.ppid));
          }
          break;
        case `RANDOM`:
          {
            push(String(Math.floor(Math.random() * 32768)));
          }
          break;
        default:
          {
            const argIndex = parseInt(segment.name, 10);
            let raw;
            const isArgument = Number.isFinite(argIndex);
            if (isArgument) {
              if (argIndex >= 0 && argIndex < opts.args.length) {
                raw = opts.args[argIndex];
              }
            } else {
              if (Object.hasOwn(state.variables, segment.name)) {
                raw = state.variables[segment.name];
              } else if (Object.hasOwn(state.environment, segment.name)) {
                raw = state.environment[segment.name];
              }
            }
            if (typeof raw !== `undefined` && segment.alternativeValue) {
              raw = (await interpolateArguments(segment.alternativeValue, opts, state)).join(` `);
            } else if (typeof raw === `undefined`) {
              if (segment.defaultValue) {
                raw = (await interpolateArguments(segment.defaultValue, opts, state)).join(` `);
              } else if (segment.alternativeValue) {
                raw = ``;
              }
            }
            if (typeof raw === `undefined`) {
              if (isArgument)
                throw new errors_1.ShellError(`Unbound argument #${argIndex}`);
              throw new errors_1.ShellError(`Unbound variable "${segment.name}"`);
            }
            if (segment.quoted) {
              push(raw);
            } else {
              const parts = split(raw);
              for (let t = 0; t < parts.length - 1; ++t)
                pushAndClose(parts[t]);
              const part = parts[parts.length - 1];
              if (typeof part !== `undefined`) {
                push(part);
              }
            }
          }
          break;
      }
    }
    var operators = {
      addition: (left, right) => left + right,
      subtraction: (left, right) => left - right,
      multiplication: (left, right) => left * right,
      division: (left, right) => Math.trunc(left / right)
    };
    async function evaluateArithmetic(arithmetic, opts, state) {
      if (arithmetic.type === `number`) {
        if (!Number.isInteger(arithmetic.value)) {
          throw new Error(`Invalid number: "${arithmetic.value}", only integers are allowed`);
        } else {
          return arithmetic.value;
        }
      } else if (arithmetic.type === `variable`) {
        const parts = [];
        await evaluateVariable({ ...arithmetic, quoted: true }, opts, state, (result2) => parts.push(result2));
        const number = Number(parts.join(` `));
        if (Number.isNaN(number)) {
          return evaluateArithmetic({ type: `variable`, name: parts.join(` `) }, opts, state);
        } else {
          return evaluateArithmetic({ type: `number`, value: number }, opts, state);
        }
      } else {
        return operators[arithmetic.type](await evaluateArithmetic(arithmetic.left, opts, state), await evaluateArithmetic(arithmetic.right, opts, state));
      }
    }
    async function interpolateArguments(commandArgs, opts, state) {
      const redirections = /* @__PURE__ */ new Map();
      const interpolated = [];
      let interpolatedSegments = [];
      const push = (segment) => {
        interpolatedSegments.push(segment);
      };
      const close = () => {
        if (interpolatedSegments.length > 0)
          interpolated.push(interpolatedSegments.join(``));
        interpolatedSegments = [];
      };
      const pushAndClose = (segment) => {
        push(segment);
        close();
      };
      const redirect = (type, fd, target) => {
        const key = JSON.stringify({ type, fd });
        let targets = redirections.get(key);
        if (typeof targets === `undefined`)
          redirections.set(key, targets = []);
        targets.push(target);
      };
      for (const commandArg of commandArgs) {
        let isGlob = false;
        switch (commandArg.type) {
          case `redirection`:
            {
              const interpolatedArgs = await interpolateArguments(commandArg.args, opts, state);
              for (const interpolatedArg of interpolatedArgs) {
                redirect(commandArg.subtype, commandArg.fd, interpolatedArg);
              }
            }
            break;
          case `argument`:
            {
              for (const segment of commandArg.segments) {
                switch (segment.type) {
                  case `text`:
                    {
                      push(segment.text);
                    }
                    break;
                  case `glob`:
                    {
                      push(segment.pattern);
                      isGlob = true;
                    }
                    break;
                  case `shell`:
                    {
                      const raw = await executeBufferedSubshell(segment.shell, opts, state);
                      if (segment.quoted) {
                        push(raw);
                      } else {
                        const parts = split(raw);
                        for (let t = 0; t < parts.length - 1; ++t)
                          pushAndClose(parts[t]);
                        push(parts[parts.length - 1]);
                      }
                    }
                    break;
                  case `variable`:
                    {
                      await evaluateVariable(segment, opts, state, push, pushAndClose);
                    }
                    break;
                  case `arithmetic`:
                    {
                      push(String(await evaluateArithmetic(segment.arithmetic, opts, state)));
                    }
                    break;
                }
              }
            }
            break;
        }
        close();
        if (isGlob) {
          const pattern = interpolated.pop();
          if (typeof pattern === `undefined`)
            throw new Error(`Assertion failed: Expected a glob pattern to have been set`);
          const matches = await opts.glob.match(pattern, { cwd: state.cwd, baseFs: opts.baseFs });
          if (matches.length === 0) {
            const braceExpansionNotice = globUtils.isBraceExpansion(pattern) ? `. Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22` : ``;
            throw new errors_1.ShellError(`No matches found: "${pattern}"${braceExpansionNotice}`);
          }
          for (const match of matches.sort()) {
            pushAndClose(match);
          }
        }
      }
      if (redirections.size > 0) {
        const redirectionArgs = [];
        for (const [key, targets] of redirections.entries())
          redirectionArgs.splice(redirectionArgs.length, 0, key, String(targets.length), ...targets);
        interpolated.splice(0, 0, `__ysh_set_redirects`, ...redirectionArgs, `--`);
      }
      return interpolated;
    }
    function makeCommandAction(args, opts, state) {
      if (!opts.builtins.has(args[0]))
        args = [`command`, ...args];
      const nativeCwd = fslib_12.npath.fromPortablePath(state.cwd);
      let env = state.environment;
      if (typeof env.PWD !== `undefined`)
        env = { ...env, PWD: nativeCwd };
      const [name, ...rest] = args;
      if (name === `command`) {
        return (0, pipe_1.makeProcess)(rest[0], rest.slice(1), opts, {
          cwd: nativeCwd,
          env
        });
      }
      const builtin = opts.builtins.get(name);
      if (typeof builtin === `undefined`)
        throw new Error(`Assertion failed: A builtin should exist for "${name}"`);
      return (0, pipe_1.makeBuiltin)(async ({ stdin, stdout, stderr }) => {
        const { stdin: initialStdin, stdout: initialStdout, stderr: initialStderr } = state;
        state.stdin = stdin;
        state.stdout = stdout;
        state.stderr = stderr;
        try {
          return await builtin(rest, opts, state);
        } finally {
          state.stdin = initialStdin;
          state.stdout = initialStdout;
          state.stderr = initialStderr;
        }
      });
    }
    function makeSubshellAction(ast, opts, state) {
      return (stdio) => {
        const stdin = new stream_12.PassThrough();
        const promise = executeShellLine(ast, opts, cloneState(state, { stdin }));
        return { stdin, promise };
      };
    }
    function makeGroupAction(ast, opts, state) {
      return (stdio) => {
        const stdin = new stream_12.PassThrough();
        const promise = executeShellLine(ast, opts, state);
        return { stdin, promise };
      };
    }
    function makeActionFromProcedure(procedure, args, opts, activeState) {
      if (args.length === 0) {
        return procedure;
      } else {
        let key;
        do {
          key = String(Math.random());
        } while (Object.hasOwn(activeState.procedures, key));
        activeState.procedures = { ...activeState.procedures };
        activeState.procedures[key] = procedure;
        return makeCommandAction([...args, `__ysh_run_procedure`, key], opts, activeState);
      }
    }
    async function executeCommandChainImpl(node, opts, state) {
      let current = node;
      let pipeType = null;
      let execution = null;
      while (current) {
        const activeState = current.then ? { ...state } : state;
        let action;
        switch (current.type) {
          case `command`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const environment = await applyEnvVariables(current.envs, opts, state);
              action = current.envs.length ? makeCommandAction(args, opts, cloneState(activeState, { environment })) : makeCommandAction(args, opts, activeState);
            }
            break;
          case `subshell`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const procedure = makeSubshellAction(current.subshell, opts, activeState);
              action = makeActionFromProcedure(procedure, args, opts, activeState);
            }
            break;
          case `group`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const procedure = makeGroupAction(current.group, opts, activeState);
              action = makeActionFromProcedure(procedure, args, opts, activeState);
            }
            break;
          case `envs`:
            {
              const environment = await applyEnvVariables(current.envs, opts, state);
              activeState.environment = { ...activeState.environment, ...environment };
              action = makeCommandAction([`true`], opts, activeState);
            }
            break;
        }
        if (typeof action === `undefined`)
          throw new Error(`Assertion failed: An action should have been generated`);
        if (pipeType === null) {
          execution = (0, pipe_2.start)(action, {
            stdin: new pipe_2.ProtectedStream(activeState.stdin),
            stdout: new pipe_2.ProtectedStream(activeState.stdout),
            stderr: new pipe_2.ProtectedStream(activeState.stderr)
          });
        } else {
          if (execution === null)
            throw new Error(`Assertion failed: The execution pipeline should have been setup`);
          switch (pipeType) {
            case `|`:
              {
                execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT);
              }
              break;
            case `|&`:
              {
                execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT | pipe_2.Pipe.STDERR);
              }
              break;
          }
        }
        if (current.then) {
          pipeType = current.then.type;
          current = current.then.chain;
        } else {
          current = null;
        }
      }
      if (execution === null)
        throw new Error(`Assertion failed: The execution pipeline should have been setup`);
      return await execution.run();
    }
    async function executeCommandChain(node, opts, state, { background = false } = {}) {
      function getColorizer(index) {
        const colors = [`#2E86AB`, `#A23B72`, `#F18F01`, `#C73E1D`, `#CCE2A3`];
        const colorName = colors[index % colors.length];
        return chalk_1.default.hex(colorName);
      }
      if (background) {
        const index = state.nextBackgroundJobIndex++;
        const colorizer = getColorizer(index);
        const rawPrefix = `[${index}]`;
        const prefix = colorizer(rawPrefix);
        const { stdout, stderr } = (0, pipe_1.createOutputStreamsWithPrefix)(state, { prefix });
        state.backgroundJobs.push(executeCommandChainImpl(node, opts, cloneState(state, { stdout, stderr })).catch((error) => stderr.write(`${error.message}
`)).finally(() => {
          if (state.stdout.isTTY) {
            state.stdout.write(`Job ${prefix}, '${colorizer((0, parsers_1.stringifyCommandChain)(node))}' has ended
`);
          }
        }));
        return 0;
      }
      return await executeCommandChainImpl(node, opts, state);
    }
    async function executeCommandLine(node, opts, state, { background = false } = {}) {
      let code;
      const setCode = (newCode) => {
        code = newCode;
        state.variables[`?`] = String(newCode);
      };
      const executeChain = async (line) => {
        try {
          return await executeCommandChain(line.chain, opts, state, { background: background && typeof line.then === `undefined` });
        } catch (error) {
          if (!(error instanceof errors_1.ShellError))
            throw error;
          state.stderr.write(`${error.message}
`);
          return 1;
        }
      };
      setCode(await executeChain(node));
      while (node.then) {
        if (state.exitCode !== null)
          return state.exitCode;
        switch (node.then.type) {
          case `&&`:
            {
              if (code === 0) {
                setCode(await executeChain(node.then.line));
              }
            }
            break;
          case `||`:
            {
              if (code !== 0) {
                setCode(await executeChain(node.then.line));
              }
            }
            break;
          default: {
            throw new Error(`Assertion failed: Unsupported command type: "${node.then.type}"`);
          }
        }
        node = node.then.line;
      }
      return code;
    }
    async function executeShellLine(node, opts, state) {
      const originalBackgroundJobs = state.backgroundJobs;
      state.backgroundJobs = [];
      let rightMostExitCode = 0;
      for (const { command, type } of node) {
        rightMostExitCode = await executeCommandLine(command, opts, state, { background: type === `&` });
        if (state.exitCode !== null)
          return state.exitCode;
        state.variables[`?`] = String(rightMostExitCode);
      }
      await Promise.all(state.backgroundJobs);
      state.backgroundJobs = originalBackgroundJobs;
      return rightMostExitCode;
    }
    function locateArgsVariableInSegment(segment) {
      switch (segment.type) {
        case `variable`: {
          return segment.name === `@` || segment.name === `#` || segment.name === `*` || Number.isFinite(parseInt(segment.name, 10)) || `defaultValue` in segment && !!segment.defaultValue && segment.defaultValue.some((arg) => locateArgsVariableInArgument(arg)) || `alternativeValue` in segment && !!segment.alternativeValue && segment.alternativeValue.some((arg) => locateArgsVariableInArgument(arg));
        }
        case `arithmetic`: {
          return locateArgsVariableInArithmetic(segment.arithmetic);
        }
        case `shell`: {
          return locateArgsVariable(segment.shell);
        }
        default: {
          return false;
        }
      }
    }
    function locateArgsVariableInArgument(arg) {
      switch (arg.type) {
        case `redirection`: {
          return arg.args.some((arg2) => locateArgsVariableInArgument(arg2));
        }
        case `argument`: {
          return arg.segments.some((segment) => locateArgsVariableInSegment(segment));
        }
        default:
          throw new Error(`Assertion failed: Unsupported argument type: "${arg.type}"`);
      }
    }
    function locateArgsVariableInArithmetic(arg) {
      switch (arg.type) {
        case `variable`: {
          return locateArgsVariableInSegment(arg);
        }
        case `number`: {
          return false;
        }
        default:
          return locateArgsVariableInArithmetic(arg.left) || locateArgsVariableInArithmetic(arg.right);
      }
    }
    function locateArgsVariable(node) {
      return node.some(({ command }) => {
        while (command) {
          let chain = command.chain;
          while (chain) {
            let hasArgs;
            switch (chain.type) {
              case `subshell`:
                {
                  hasArgs = locateArgsVariable(chain.subshell);
                }
                break;
              case `command`:
                {
                  hasArgs = chain.envs.some((env) => env.args.some((arg) => {
                    return locateArgsVariableInArgument(arg);
                  })) || chain.args.some((arg) => {
                    return locateArgsVariableInArgument(arg);
                  });
                }
                break;
            }
            if (hasArgs)
              return true;
            if (!chain.then)
              break;
            chain = chain.then.chain;
          }
          if (!command.then)
            break;
          command = command.then.line;
        }
        return false;
      });
    }
    async function execute(command, args = [], { baseFs = new fslib_12.NodeFS(), builtins = {}, cwd = fslib_12.npath.toPortablePath(process.cwd()), env = process.env, stdin = process.stdin, stdout = process.stdout, stderr = process.stderr, variables = {}, glob = globUtils } = {}) {
      const normalizedEnv = {};
      for (const [key, value] of Object.entries(env))
        if (typeof value !== `undefined`)
          normalizedEnv[key] = value;
      const normalizedBuiltins = new Map(BUILTINS);
      for (const [key, builtin] of Object.entries(builtins))
        normalizedBuiltins.set(key, builtin);
      if (stdin === null) {
        stdin = new stream_12.PassThrough();
        stdin.end();
      }
      const ast = (0, parsers_1.parseShell)(command, glob);
      if (!locateArgsVariable(ast) && ast.length > 0 && args.length > 0) {
        let { command: command2 } = ast[ast.length - 1];
        while (command2.then)
          command2 = command2.then.line;
        let chain = command2.chain;
        while (chain.then)
          chain = chain.then.chain;
        if (chain.type === `command`) {
          chain.args = chain.args.concat(args.map((arg) => {
            return {
              type: `argument`,
              segments: [{
                type: `text`,
                text: arg
              }]
            };
          }));
        }
      }
      return await executeShellLine(ast, {
        args,
        baseFs,
        builtins: normalizedBuiltins,
        initialStdin: stdin,
        initialStdout: stdout,
        initialStderr: stderr,
        glob
      }, {
        cwd,
        environment: normalizedEnv,
        exitCode: null,
        procedures: {},
        stdin,
        stdout,
        stderr,
        variables: Object.assign({}, variables, {
          [`?`]: 0
        }),
        nextBackgroundJobIndex: 1,
        backgroundJobs: []
      });
    }
    exports2.execute = execute;
  }
});

// ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/async-map.js
var require_async_map = __commonJS({
  "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/async-map.js"(exports2, module2) {
    module2.exports = asyncMap;
    function asyncMap() {
      var steps = Array.prototype.slice.call(arguments), list = steps.shift() || [], cb_ = steps.pop();
      if (typeof cb_ !== "function") throw new Error(
        "No callback provided to asyncMap"
      );
      if (!list) return cb_(null, []);
      if (!Array.isArray(list)) list = [list];
      var n = steps.length, data = [], errState = null, l = list.length, a = l * n;
      if (!a) return cb_(null, []);
      function cb(er) {
        if (er && !errState) errState = er;
        var argLen = arguments.length;
        for (var i = 1; i < argLen; i++) if (arguments[i] !== void 0) {
          data[i - 1] = (data[i - 1] || []).concat(arguments[i]);
        }
        if (list.length > l) {
          var newList = list.slice(l);
          a += (list.length - l) * n;
          l = list.length;
          process.nextTick(function() {
            newList.forEach(function(ar) {
              steps.forEach(function(fn) {
                fn(ar, cb);
              });
            });
          });
        }
        if (--a === 0) cb_.apply(null, [errState].concat(data));
      }
      list.forEach(function(ar) {
        steps.forEach(function(fn) {
          fn(ar, cb);
        });
      });
    }
  }
});

// ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/bind-actor.js
var require_bind_actor = __commonJS({
  "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/bind-actor.js"(exports2, module2) {
    module2.exports = bindActor;
    function bindActor() {
      var args = Array.prototype.slice.call(arguments), obj = null, fn;
      if (typeof args[0] === "object") {
        obj = args.shift();
        fn = args.shift();
        if (typeof fn === "string")
          fn = obj[fn];
      } else fn = args.shift();
      return function(cb) {
        fn.apply(obj, args.concat(cb));
      };
    }
  }
});

// ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/chain.js
var require_chain = __commonJS({
  "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/chain.js"(exports2, module2) {
    module2.exports = chain;
    var bindActor = require_bind_actor();
    chain.first = {};
    chain.last = {};
    function chain(things, cb) {
      var res = [];
      (function LOOP(i, len) {
        if (i >= len) return cb(null, res);
        if (Array.isArray(things[i]))
          things[i] = bindActor.apply(
            null,
            things[i].map(function(i2) {
              return i2 === chain.first ? res[0] : i2 === chain.last ? res[res.length - 1] : i2;
            })
          );
        if (!things[i]) return LOOP(i + 1, len);
        things[i](function(er, data) {
          if (er) return cb(er, res);
          if (data !== void 0) res = res.concat(data);
          LOOP(i + 1, len);
        });
      })(0, things.length);
    }
  }
});

// ../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/slide.js
var require_slide = __commonJS({
  "../node_modules/.pnpm/slide@1.1.6/node_modules/slide/lib/slide.js"(exports2) {
    exports2.asyncMap = require_async_map();
    exports2.bindActor = require_bind_actor();
    exports2.chain = require_chain();
  }
});

// ../node_modules/.pnpm/uid-number@0.0.6/node_modules/uid-number/uid-number.js
var require_uid_number = __commonJS({
  "../node_modules/.pnpm/uid-number@0.0.6/node_modules/uid-number/uid-number.js"(exports2, module2) {
    module2.exports = uidNumber;
    var child_process = require("child_process");
    var path2 = require("path");
    var uidSupport = process.getuid && process.setuid;
    var uidCache = {};
    var gidCache = {};
    function uidNumber(uid, gid, cb) {
      if (!uidSupport) return cb();
      if (typeof cb !== "function") cb = gid, gid = null;
      if (typeof cb !== "function") cb = uid, uid = null;
      if (gid == null) gid = process.getgid();
      if (uid == null) uid = process.getuid();
      if (!isNaN(gid)) gid = gidCache[gid] = +gid;
      if (!isNaN(uid)) uid = uidCache[uid] = +uid;
      if (uidCache.hasOwnProperty(uid)) uid = uidCache[uid];
      if (gidCache.hasOwnProperty(gid)) gid = gidCache[gid];
      if (typeof gid === "number" && typeof uid === "number") {
        return process.nextTick(cb.bind(null, null, uid, gid));
      }
      var getter = require.resolve("./get-uid-gid.js");
      child_process.execFile(
        process.execPath,
        [getter, uid, gid],
        function(code, out, stderr) {
          if (code) {
            var er = new Error("could not get uid/gid\n" + stderr);
            er.code = code;
            return cb(er);
          }
          try {
            out = JSON.parse(out + "");
          } catch (ex) {
            return cb(ex);
          }
          if (out.error) {
            var er = new Error(out.error);
            er.errno = out.errno;
            return cb(er);
          }
          if (isNaN(out.uid) || isNaN(out.gid)) return cb(new Error(
            "Could not get uid/gid: " + JSON.stringify(out)
          ));
          cb(null, uidCache[uid] = +out.uid, gidCache[gid] = +out.gid);
        }
      );
    }
  }
});

// ../node_modules/.pnpm/umask@1.1.0/node_modules/umask/index.js
var require_umask = __commonJS({
  "../node_modules/.pnpm/umask@1.1.0/node_modules/umask/index.js"(exports2) {
    "use strict";
    var util = require("util");
    function toString(val) {
      val = val.toString(8);
      while (val.length < 4) {
        val = "0" + val;
      }
      return val;
    }
    var defaultUmask = 18;
    var defaultUmaskString = toString(defaultUmask);
    function validate2(data, k, val) {
      if (typeof val === "number" && !isNaN(val)) {
        data[k] = val;
        return true;
      }
      if (typeof val === "string") {
        if (val.charAt(0) !== "0") {
          return false;
        }
        data[k] = parseInt(val, 8);
        return true;
      }
      return false;
    }
    function convert_fromString(val, cb) {
      if (typeof val === "string") {
        if (val.charAt(0) === "0" && /^[0-7]+$/.test(val)) {
          val = parseInt(val, 8);
        } else if (val.charAt(0) !== "0" && /^[0-9]+$/.test(val)) {
          val = parseInt(val, 10);
        } else {
          return cb(
            new Error(util.format(
              "Expected octal string, got %j, defaulting to %j",
              val,
              defaultUmaskString
            )),
            defaultUmask
          );
        }
      } else if (typeof val !== "number") {
        return cb(
          new Error(util.format(
            "Expected number or octal string, got %j, defaulting to %j",
            val,
            defaultUmaskString
          )),
          defaultUmask
        );
      }
      val = Math.floor(val);
      if (val < 0 || val > 511) {
        return cb(
          new Error(util.format("Must be in range 0..511 (0000..0777), got %j", val)),
          defaultUmask
        );
      }
      cb(null, val);
    }
    function fromString(val, cb) {
      convert_fromString(val, cb || function(err, result2) {
        val = result2;
      });
      return val;
    }
    exports2.toString = toString;
    exports2.fromString = fromString;
    exports2.validate = validate2;
  }
});

// ../node_modules/.pnpm/@pnpm+byline@1.0.0/node_modules/@pnpm/byline/lib/byline.js
var require_byline = __commonJS({
  "../node_modules/.pnpm/@pnpm+byline@1.0.0/node_modules/@pnpm/byline/lib/byline.js"(exports2, module2) {
    var stream = require("stream");
    var util = require("util");
    var timers = require("timers");
    module2.exports = function(readStream, options) {
      return module2.exports.createStream(readStream, options);
    };
    module2.exports.createStream = function(readStream, options) {
      if (readStream) {
        return createLineStream(readStream, options);
      } else {
        return new LineStream(options);
      }
    };
    module2.exports.createLineStream = function(readStream) {
      console.log("WARNING: byline#createLineStream is deprecated and will be removed soon");
      return createLineStream(readStream);
    };
    function createLineStream(readStream, options) {
      if (!readStream) {
        throw new Error("expected readStream");
      }
      if (!readStream.readable) {
        throw new Error("readStream must be readable");
      }
      var ls = new LineStream(options);
      readStream.pipe(ls);
      return ls;
    }
    module2.exports.LineStream = LineStream;
    function LineStream(options) {
      stream.Transform.call(this, options);
      options = options || {};
      this._readableState.objectMode = true;
      this._lineBuffer = [];
      this._keepEmptyLines = options.keepEmptyLines || false;
      this._lastChunkEndedWithCR = false;
      var self2 = this;
      this.on("pipe", function(src) {
        if (!self2.encoding) {
          if (src instanceof stream.Readable) {
            self2.encoding = src._readableState.encoding;
          }
        }
      });
    }
    util.inherits(LineStream, stream.Transform);
    LineStream.prototype._transform = function(chunk, encoding, done) {
      encoding = encoding || "utf8";
      if (Buffer.isBuffer(chunk)) {
        if (encoding == "buffer") {
          chunk = chunk.toString();
          encoding = "utf8";
        } else {
          chunk = chunk.toString(encoding);
        }
      }
      this._chunkEncoding = encoding;
      var lines = chunk.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g);
      if (this._lastChunkEndedWithCR && chunk[0] == "\n") {
        lines.shift();
      }
      if (this._lineBuffer.length > 0) {
        this._lineBuffer[this._lineBuffer.length - 1] += lines[0];
        lines.shift();
      }
      this._lastChunkEndedWithCR = chunk[chunk.length - 1] == "\r";
      this._lineBuffer = this._lineBuffer.concat(lines);
      this._pushBuffer(encoding, 1, done);
    };
    LineStream.prototype._pushBuffer = function(encoding, keep, done) {
      while (this._lineBuffer.length > keep) {
        var line = this._lineBuffer.shift();
        if (this._keepEmptyLines || line.length > 0) {
          if (!this.push(this._reencode(line, encoding))) {
            var self2 = this;
            timers.setImmediate(function() {
              self2._pushBuffer(encoding, keep, done);
            });
            return;
          }
        }
      }
      done();
    };
    LineStream.prototype._flush = function(done) {
      this._pushBuffer(this._chunkEncoding, 0, done);
    };
    LineStream.prototype._reencode = function(line, chunkEncoding) {
      if (this.encoding && this.encoding != chunkEncoding) {
        return Buffer.from(line, chunkEncoding).toString(this.encoding);
      } else if (this.encoding) {
        return line;
      } else {
        return Buffer.from(line, chunkEncoding);
      }
    };
  }
});

// ../node_modules/.pnpm/resolve-from@5.0.0/node_modules/resolve-from/index.js
var require_resolve_from = __commonJS({
  "../node_modules/.pnpm/resolve-from@5.0.0/node_modules/resolve-from/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var Module = require("module");
    var fs = require("fs");
    var resolveFrom = (fromDirectory, moduleId, silent) => {
      if (typeof fromDirectory !== "string") {
        throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDirectory}\``);
      }
      if (typeof moduleId !== "string") {
        throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof moduleId}\``);
      }
      try {
        fromDirectory = fs.realpathSync(fromDirectory);
      } catch (error) {
        if (error.code === "ENOENT") {
          fromDirectory = path2.resolve(fromDirectory);
        } else if (silent) {
          return;
        } else {
          throw error;
        }
      }
      const fromFile = path2.join(fromDirectory, "noop.js");
      const resolveFileName = () => Module._resolveFilename(moduleId, {
        id: fromFile,
        filename: fromFile,
        paths: Module._nodeModulePaths(fromDirectory)
      });
      if (silent) {
        try {
          return resolveFileName();
        } catch (error) {
          return;
        }
      }
      return resolveFileName();
    };
    module2.exports = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId);
    module2.exports.silent = (fromDirectory, moduleId) => resolveFrom(fromDirectory, moduleId, true);
  }
});

// ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/posix.js
var require_posix = __commonJS({
  "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/posix.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = exports2.isexe = void 0;
    var fs_1 = require("fs");
    var promises_1 = require("fs/promises");
    var isexe = async (path2, options = {}) => {
      const { ignoreErrors = false } = options;
      try {
        return checkStat(await (0, promises_1.stat)(path2), options);
      } catch (e) {
        const er = e;
        if (ignoreErrors || er.code === "EACCES")
          return false;
        throw er;
      }
    };
    exports2.isexe = isexe;
    var sync = (path2, options = {}) => {
      const { ignoreErrors = false } = options;
      try {
        return checkStat((0, fs_1.statSync)(path2), options);
      } catch (e) {
        const er = e;
        if (ignoreErrors || er.code === "EACCES")
          return false;
        throw er;
      }
    };
    exports2.sync = sync;
    var checkStat = (stat, options) => stat.isFile() && checkMode(stat, options);
    var checkMode = (stat, options) => {
      const myUid = options.uid ?? process.getuid?.();
      const myGroups = options.groups ?? process.getgroups?.() ?? [];
      const myGid = options.gid ?? process.getgid?.() ?? myGroups[0];
      if (myUid === void 0 || myGid === void 0) {
        throw new Error("cannot get uid or gid");
      }
      const groups = /* @__PURE__ */ new Set([myGid, ...myGroups]);
      const mod = stat.mode;
      const uid = stat.uid;
      const gid = stat.gid;
      const u = parseInt("100", 8);
      const g = parseInt("010", 8);
      const o = parseInt("001", 8);
      const ug = u | g;
      return !!(mod & o || mod & g && groups.has(gid) || mod & u && uid === myUid || mod & ug && myUid === 0);
    };
  }
});

// ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/win32.js
var require_win32 = __commonJS({
  "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/win32.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = exports2.isexe = void 0;
    var fs_1 = require("fs");
    var promises_1 = require("fs/promises");
    var isexe = async (path2, options = {}) => {
      const { ignoreErrors = false } = options;
      try {
        return checkStat(await (0, promises_1.stat)(path2), path2, options);
      } catch (e) {
        const er = e;
        if (ignoreErrors || er.code === "EACCES")
          return false;
        throw er;
      }
    };
    exports2.isexe = isexe;
    var sync = (path2, options = {}) => {
      const { ignoreErrors = false } = options;
      try {
        return checkStat((0, fs_1.statSync)(path2), path2, options);
      } catch (e) {
        const er = e;
        if (ignoreErrors || er.code === "EACCES")
          return false;
        throw er;
      }
    };
    exports2.sync = sync;
    var checkPathExt = (path2, options) => {
      const { pathExt = process.env.PATHEXT || "" } = options;
      const peSplit = pathExt.split(";");
      if (peSplit.indexOf("") !== -1) {
        return true;
      }
      for (let i = 0; i < peSplit.length; i++) {
        const p = peSplit[i].toLowerCase();
        const ext = path2.substring(path2.length - p.length).toLowerCase();
        if (p && ext === p) {
          return true;
        }
      }
      return false;
    };
    var checkStat = (stat, path2, options) => stat.isFile() && checkPathExt(path2, options);
  }
});

// ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/options.js
var require_options3 = __commonJS({
  "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/options.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/index.js
var require_cjs3 = __commonJS({
  "../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/cjs/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = exports2.isexe = exports2.posix = exports2.win32 = void 0;
    var posix = __importStar3(require_posix());
    exports2.posix = posix;
    var win32 = __importStar3(require_win32());
    exports2.win32 = win32;
    __exportStar2(require_options3(), exports2);
    var platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
    var impl = platform === "win32" ? win32 : posix;
    exports2.isexe = impl.isexe;
    exports2.sync = impl.sync;
  }
});

// ../node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js
var require_lib70 = __commonJS({
  "../node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js"(exports2, module2) {
    var { isexe, sync: isexeSync } = require_cjs3();
    var { join, delimiter, sep, posix } = require("path");
    var isWindows = process.platform === "win32";
    var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1"));
    var rRel = new RegExp(`^\\.${rSlash.source}`);
    var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
    var getPathInfo = (cmd, {
      path: optPath = process.env.PATH,
      pathExt: optPathExt = process.env.PATHEXT,
      delimiter: optDelimiter = delimiter
    }) => {
      const pathEnv = cmd.match(rSlash) ? [""] : [
        // windows always checks the cwd first
        ...isWindows ? [process.cwd()] : [],
        ...(optPath || /* istanbul ignore next: very unusual */
        "").split(optDelimiter)
      ];
      if (isWindows) {
        const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter);
        const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()]);
        if (cmd.includes(".") && pathExt[0] !== "") {
          pathExt.unshift("");
        }
        return { pathEnv, pathExt, pathExtExe };
      }
      return { pathEnv, pathExt: [""] };
    };
    var getPathPart = (raw, cmd) => {
      const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw;
      const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
      return prefix + join(pathPart, cmd);
    };
    var which = async (cmd, opt = {}) => {
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (const envPart of pathEnv) {
        const p = getPathPart(envPart, cmd);
        for (const ext of pathExt) {
          const withExt = p + ext;
          const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true });
          if (is) {
            if (!opt.all) {
              return withExt;
            }
            found.push(withExt);
          }
        }
      }
      if (opt.all && found.length) {
        return found;
      }
      if (opt.nothrow) {
        return null;
      }
      throw getNotFoundError(cmd);
    };
    var whichSync = (cmd, opt = {}) => {
      const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
      const found = [];
      for (const pathEnvPart of pathEnv) {
        const p = getPathPart(pathEnvPart, cmd);
        for (const ext of pathExt) {
          const withExt = p + ext;
          const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true });
          if (is) {
            if (!opt.all) {
              return withExt;
            }
            found.push(withExt);
          }
        }
      }
      if (opt.all && found.length) {
        return found;
      }
      if (opt.nothrow) {
        return null;
      }
      throw getNotFoundError(cmd);
    };
    module2.exports = which;
    which.sync = whichSync;
  }
});

// ../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js
var require_extendPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/lib/extendPath.js"(exports2, module2) {
    var fs = require("fs");
    var path2 = require("path");
    var which = require_lib70();
    module2.exports = (wd, originalPath, nodeGyp, opts) => {
      const pathArr = [...opts.extraBinPaths || []];
      const p = wd.split(/[\\/]node_modules[\\/]/);
      let acc = path2.resolve(p.shift());
      pathArr.unshift(nodeGyp);
      p.forEach((pp) => {
        pathArr.unshift(path2.join(acc, "node_modules", ".bin"));
        acc = path2.join(acc, "node_modules", pp);
      });
      pathArr.unshift(path2.join(acc, "node_modules", ".bin"));
      if (shouldPrependCurrentNodeDirToPATH(opts)) {
        pathArr.push(path2.dirname(process.execPath));
      }
      if (originalPath) pathArr.push(originalPath);
      return pathArr.join(process.platform === "win32" ? ";" : ":");
    };
    function shouldPrependCurrentNodeDirToPATH(opts) {
      const cfgsetting = opts.scriptsPrependNodePath;
      if (cfgsetting === false || cfgsetting == null) return false;
      if (cfgsetting === true) return true;
      let isDifferentNodeInPath;
      const isWindows = process.platform === "win32";
      let foundExecPath;
      try {
        foundExecPath = which.sync(path2.basename(process.execPath), { pathExt: isWindows ? ";" : ":" });
        isDifferentNodeInPath = fs.realpathSync(process.execPath).toUpperCase() !== fs.realpathSync(foundExecPath).toUpperCase();
      } catch (e) {
        isDifferentNodeInPath = true;
      }
      if (cfgsetting === "warn-only") {
        if (isDifferentNodeInPath && !shouldPrependCurrentNodeDirToPATH.hasWarned) {
          if (foundExecPath) {
            opts.log.warn("lifecycle", `The node binary used for scripts is ${foundExecPath} but pnpm is using ${process.execPath} itself. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`);
          } else {
            opts.log.warn("lifecycle", `pnpm is using ${process.execPath} but there is no node binary in the current PATH. Use the \`--scripts-prepend-node-path\` option to include the path for the node binary pnpm was executed with.`);
          }
          shouldPrependCurrentNodeDirToPATH.hasWarned = true;
        }
        return false;
      }
      return isDifferentNodeInPath;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/index.js
var require_npm_lifecycle = __commonJS({
  "../node_modules/.pnpm/@pnpm+npm-lifecycle@1000.0.2_typanion@3.14.0/node_modules/@pnpm/npm-lifecycle/index.js"(exports2, module2) {
    "use strict";
    exports2 = module2.exports = lifecycle;
    exports2.makeEnv = makeEnv;
    var spawn = require_spawn();
    var { execute } = require_lib69();
    var path2 = require("path");
    var Stream = require("stream").Stream;
    var fs = require("fs");
    var chain = require_slide().chain;
    var uidNumber = require_uid_number();
    var umask = require_umask();
    var byline = require_byline();
    var { PnpmError } = require_lib54();
    var resolveFrom = require_resolve_from();
    var { PassThrough } = require("stream");
    var extendPath = require_extendPath();
    var DEFAULT_NODE_GYP_PATH;
    try {
      DEFAULT_NODE_GYP_PATH = resolveFrom(__dirname, "node-gyp/bin/node-gyp");
    } catch (err) {
    }
    var hookStatCache = /* @__PURE__ */ new Map();
    var PATH = "PATH";
    if (process.platform === "win32") {
      PATH = "Path";
      Object.keys(process.env).forEach((e) => {
        if (e.match(/^PATH$/i)) {
          PATH = e;
        }
      });
    }
    function logid(pkg, stage) {
      return `${pkg._id}~${stage}:`;
    }
    function hookStat(dir, stage, cb) {
      const hook = path2.join(dir, ".hooks", stage);
      const cachedStatError = hookStatCache.get(hook);
      if (cachedStatError === void 0) {
        return fs.stat(hook, (statError) => {
          hookStatCache.set(hook, statError);
          cb(statError);
        });
      }
      return setImmediate(() => cb(cachedStatError));
    }
    function lifecycle(pkg, stage, wd, opts) {
      return new Promise((resolve, reject) => {
        while (pkg && pkg._data) pkg = pkg._data;
        if (!pkg) return reject(new Error("Invalid package data"));
        opts.log.info("lifecycle", logid(pkg, stage), pkg._id);
        if (!pkg.scripts) pkg.scripts = {};
        if (stage === "prepublish" && opts.ignorePrepublish) {
          opts.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-prepublish is set to true", pkg._id);
          delete pkg.scripts.prepublish;
        }
        hookStat(opts.dir, stage, (statError) => {
          if (!pkg.scripts[stage] && statError) return resolve();
          validWd(wd || path2.resolve(opts.dir, pkg.name), (er, wd2) => {
            if (er) return reject(er);
            const env = makeEnv(pkg, opts);
            env.npm_lifecycle_event = stage;
            env.npm_node_execpath = env.NODE = env.NODE || process.execPath;
            if (process.pkg != null) {
              env.npm_execpath = process.execPath;
            } else {
              env.npm_execpath = require.main ? require.main.filename : process.cwd();
            }
            env.INIT_CWD = process.cwd();
            env.npm_config_node_gyp = env.npm_config_node_gyp || DEFAULT_NODE_GYP_PATH;
            if (opts.extraEnv) {
              for (const [key, value] of Object.entries(opts.extraEnv)) {
                env[key] = value;
              }
            }
            if (!opts.unsafePerm) env.TMPDIR = wd2;
            lifecycle_(pkg, stage, wd2, opts, env, (er2) => {
              if (er2) return reject(er2);
              return resolve();
            });
          });
        });
      });
    }
    function lifecycle_(pkg, stage, wd, opts, env, cb) {
      env[PATH] = extendPath(wd, env[PATH], path2.join(__dirname, "node-gyp-bin"), opts);
      let packageLifecycle = pkg.scripts && Object.prototype.hasOwnProperty.call(pkg.scripts, stage);
      if (opts.ignoreScripts) {
        opts.log.info("lifecycle", logid(pkg, stage), "ignored because ignore-scripts is set to true", pkg._id);
        packageLifecycle = false;
      } else if (packageLifecycle) {
        env.npm_lifecycle_script = pkg.scripts[stage];
      } else {
        opts.log.silly("lifecycle", logid(pkg, stage), `no script for ${stage}, continuing`);
      }
      function done(er) {
        if (er) {
          if (opts.force) {
            opts.log.info("lifecycle", logid(pkg, stage), "forced, continuing", er);
            er = null;
          } else if (opts.failOk) {
            opts.log.warn("lifecycle", logid(pkg, stage), "continuing anyway", er.message);
            er = null;
          }
        }
        cb(er);
      }
      chain(
        [
          packageLifecycle && [runPackageLifecycle, pkg, stage, env, wd, opts],
          [runHookLifecycle, pkg, stage, env, wd, opts]
        ],
        done
      );
    }
    function validWd(d, cb) {
      fs.stat(d, (er, st) => {
        if (er || !st.isDirectory()) {
          const p = path2.dirname(d);
          if (p === d) {
            return cb(new Error("Could not find suitable wd"));
          }
          return validWd(p, cb);
        }
        return cb(null, d);
      });
    }
    function runPackageLifecycle(pkg, stage, env, wd, opts, cb) {
      const cmd = env.npm_lifecycle_script;
      const note = `
> ${pkg._id} ${stage} ${wd}
> ${cmd}
`;
      runCmd(note, cmd, pkg, env, stage, wd, opts, cb);
    }
    var running = false;
    var queue = [];
    function dequeue() {
      running = false;
      if (queue.length) {
        const r = queue.shift();
        runCmd.apply(null, r);
      }
    }
    function runCmd(note, cmd, pkg, env, stage, wd, opts, cb) {
      if (opts.runConcurrently !== true) {
        if (running) {
          queue.push([note, cmd, pkg, env, stage, wd, opts, cb]);
          return;
        }
        running = true;
      }
      opts.log.pause();
      let unsafe = opts.unsafePerm;
      const user = unsafe ? null : opts.user;
      const group = unsafe ? null : opts.group;
      if (opts.log.level !== "silent") {
        opts.log.clearProgress();
        console.log(note);
        opts.log.showProgress();
      }
      opts.log.verbose("lifecycle", logid(pkg, stage), "unsafe-perm in lifecycle", unsafe);
      if (process.platform === "win32") {
        unsafe = true;
      }
      if (unsafe) {
        runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, 0, 0, cb);
      } else {
        uidNumber(user, group, (er, uid, gid) => {
          runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb);
        });
      }
    }
    function runCmd_(cmd, pkg, env, wd, opts, stage, unsafe, uid, gid, cb_) {
      function cb(er) {
        cb_.apply(null, arguments);
        opts.log.resume();
        process.nextTick(dequeue);
      }
      const conf = {
        cwd: wd,
        env,
        stdio: opts.stdio || [0, 1, 2]
      };
      if (!unsafe) {
        conf.uid = uid ^ 0;
        conf.gid = gid ^ 0;
      }
      let sh = "sh";
      let shFlag = "-c";
      const customShell = opts.scriptShell;
      if (customShell) {
        sh = customShell;
      } else if (process.platform === "win32") {
        sh = process.env.comspec || "cmd";
        shFlag = "/d /s /c";
        conf.windowsVerbatimArguments = true;
      }
      opts.log.verbose("lifecycle", logid(pkg, stage), "PATH:", env[PATH]);
      opts.log.verbose("lifecycle", logid(pkg, stage), "CWD:", wd);
      opts.log.silly("lifecycle", logid(pkg, stage), "Args:", [shFlag, cmd]);
      if (opts.shellEmulator) {
        const execOpts = { cwd: wd, env };
        if (opts.stdio === "pipe") {
          const stdout = new PassThrough();
          const stderr = new PassThrough();
          byline(stdout).on("data", (data) => {
            opts.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString());
          });
          byline(stderr).on("data", (data) => {
            opts.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString());
          });
          execOpts.stdout = stdout;
          execOpts.stderr = stderr;
        }
        execute(cmd, [], execOpts).then((code) => {
          opts.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code);
          let er;
          if (code) {
            er = new Error(`Exit status ${code}`);
            er.errno = code;
          }
          procError(er);
        }).catch((err) => procError(err));
        return;
      }
      const proc = spawn(sh, [shFlag, cmd], conf, opts.log);
      proc.on("error", procError);
      proc.on("close", (code, signal) => {
        opts.log.silly("lifecycle", logid(pkg, stage), "Returned: code:", code, " signal:", signal);
        let err;
        if (signal && signal !== "SIGINT") {
          err = new PnpmError("CHILD_PROCESS_FAILED", `Command failed with signal "${signal}"`);
          process.kill(process.pid, signal);
        } else if (code) {
          err = new PnpmError("CHILD_PROCESS_FAILED", `Exit status ${code}`);
          err.errno = code;
        }
        procError(err);
      });
      byline(proc.stdout).on("data", (data) => {
        opts.log.verbose("lifecycle", logid(pkg, stage), "stdout", data.toString());
      });
      byline(proc.stderr).on("data", (data) => {
        opts.log.verbose("lifecycle", logid(pkg, stage), "stderr", data.toString());
      });
      process.once("SIGTERM", procKill);
      process.once("SIGINT", procInterrupt);
      process.on("exit", procKill);
      function procError(er) {
        if (er) {
          opts.log.info("lifecycle", logid(pkg, stage), `Failed to exec ${stage} script`);
          er.message = `${pkg._id} ${stage}: \`${cmd}\`
${er.message}`;
          if (er.code !== "EPERM") {
            er.code = "ELIFECYCLE";
          }
          fs.stat(opts.dir, (statError) => {
            if (statError && statError.code === "ENOENT" && opts.dir.split(path2.sep).slice(-1)[0] === "node_modules") {
              opts.log.warn("", "Local package.json exists, but node_modules missing, did you mean to install?");
            }
          });
          er.pkgid = pkg._id;
          er.stage = stage;
          er.script = cmd;
          er.pkgname = pkg.name;
        }
        process.removeListener("SIGTERM", procKill);
        process.removeListener("SIGTERM", procInterrupt);
        process.removeListener("SIGINT", procKill);
        return cb(er);
      }
      let called = false;
      function procKill() {
        if (called) return;
        called = true;
        proc.kill();
      }
      function procInterrupt() {
        proc.kill("SIGINT");
        proc.on("exit", () => {
          process.exit();
        });
        process.once("SIGINT", procKill);
      }
    }
    function runHookLifecycle(pkg, stage, env, wd, opts, cb) {
      hookStat(opts.dir, stage, (er) => {
        if (er) return cb();
        const cmd = path2.join(opts.dir, ".hooks", stage);
        const note = `
> ${pkg._id} ${stage} ${wd}
> ${cmd}`;
        runCmd(note, cmd, pkg, env, stage, wd, opts, cb);
      });
    }
    function makeEnv(data, opts, prefix, env) {
      prefix = prefix || "npm_package_";
      if (!env) {
        env = {};
        for (const i in process.env) {
          if (!i.match(/^npm_/) && (!i.match(/^PATH$/i) || i === PATH)) {
            env[i] = process.env[i];
          }
        }
        if (opts.production) env.NODE_ENV = "production";
      } else if (!Object.prototype.hasOwnProperty.call(data, "_lifecycleEnv")) {
        Object.defineProperty(
          data,
          "_lifecycleEnv",
          {
            value: env,
            enumerable: false
          }
        );
      }
      if (opts.nodeOptions) env.NODE_OPTIONS = opts.nodeOptions;
      for (const i in data) {
        if (i.charAt(0) !== "_") {
          const envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, "_");
          if (!["name", "version", "config", "engines", "bin"].includes(i) && !prefix.startsWith("npm_package_config_") && !prefix.startsWith("npm_package_engines_") && !prefix.startsWith("npm_package_bin_")) {
            continue;
          }
          if (data[i] && typeof data[i] === "object") {
            try {
              JSON.stringify(data[i]);
              makeEnv(data[i], opts, `${envKey}_`, env);
            } catch (ex) {
              const d = data[i];
              makeEnv(
                { name: d.name, version: d.version, path: d.path },
                opts,
                `${envKey}_`,
                env
              );
            }
          } else {
            env[envKey] = String(data[i]);
            env[envKey] = env[envKey].includes("\n") ? JSON.stringify(env[envKey]) : env[envKey];
          }
        }
      }
      if (prefix !== "npm_package_") return env;
      prefix = "npm_config_";
      const pkgConfig = {};
      const pkgVerConfig = {};
      const namePref = `${data.name}:`;
      const verPref = `${data.name}@${data.version}:`;
      Object.keys(opts.config).forEach((i) => {
        if (i.charAt(0) === "_" && i.indexOf(`_${namePref}`) !== 0 || i.match(/:_/)) {
          return;
        }
        let value = opts.config[i];
        if (value instanceof Stream || Array.isArray(value)) return;
        if (i.match(/umask/)) value = umask.toString(value);
        if (!value) value = "";
        else if (typeof value === "number") value = `${value}`;
        else if (typeof value !== "string") value = JSON.stringify(value);
        value = value.includes("\n") ? JSON.stringify(value) : value;
        i = i.replace(/^_+/, "");
        let k;
        if (i.indexOf(namePref) === 0) {
          k = i.substring(namePref.length).replace(/[^a-zA-Z0-9_]/g, "_");
          pkgConfig[k] = value;
        } else if (i.indexOf(verPref) === 0) {
          k = i.substring(verPref.length).replace(/[^a-zA-Z0-9_]/g, "_");
          pkgVerConfig[k] = value;
        }
        const envKey = (prefix + i).replace(/[^a-zA-Z0-9_]/g, "_");
        env[envKey] = value;
      });
      prefix = "npm_package_config_";
      [pkgConfig, pkgVerConfig].forEach((conf) => {
        for (const i in conf) {
          const envKey = prefix + i;
          env[envKey] = conf[i];
        }
      });
      return env;
    }
  }
});

// ../exec/lifecycle/lib/runLifecycleHook.js
var require_runLifecycleHook = __commonJS({
  "../exec/lifecycle/lib/runLifecycleHook.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runLifecycleHook = runLifecycleHook;
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var logger_1 = require_lib();
    var npm_lifecycle_1 = __importDefault2(require_npm_lifecycle());
    var error_1 = require_lib6();
    var fs_1 = require("fs");
    var is_windows_1 = __importDefault2(require_is_windows());
    var shell_quote_1 = require_shell_quote();
    function noop() {
    }
    async function runLifecycleHook(stage, manifest, opts) {
      const optional = opts.optional === true;
      if (opts.scriptShell != null && isWindowsBatchFile(opts.scriptShell)) {
        throw new error_1.PnpmError("ERR_PNPM_INVALID_SCRIPT_SHELL_WINDOWS", "Cannot spawn .bat or .cmd as a script shell.", {
          hint: `The .npmrc script-shell option was configured to a .bat or .cmd file. These cannot be used as a script shell reliably.

Please unset the script-shell option, or configure it to a .exe instead.
`
        });
      }
      const m = { _id: getId(manifest), ...manifest };
      m.scripts = { ...m.scripts };
      switch (stage) {
        case "start":
          if (!m.scripts.start) {
            if (!(0, fs_1.existsSync)("server.js")) {
              throw new error_1.PnpmError("NO_SCRIPT_OR_SERVER", "Missing script start or file server.js");
            }
            m.scripts.start = "node server.js";
          }
          break;
        case "install":
          if (!m.scripts.install && !m.scripts.preinstall) {
            checkBindingGyp(opts.pkgRoot, m.scripts);
          }
          break;
      }
      if (opts.args?.length && m.scripts?.[stage]) {
        const escapedArgs = (0, is_windows_1.default)() ? opts.args.map((arg) => JSON.stringify(arg)).join(" ") : (0, shell_quote_1.quote)(opts.args);
        m.scripts[stage] = `${m.scripts[stage]} ${escapedArgs}`;
      }
      if (m.scripts[stage] === "npx only-allow pnpm" || !m.scripts[stage])
        return false;
      if (opts.stdio !== "inherit") {
        core_loggers_1.lifecycleLogger.debug({
          depPath: opts.depPath,
          optional,
          script: m.scripts[stage],
          stage,
          wd: opts.pkgRoot
        });
      }
      const logLevel = opts.stdio !== "inherit" || opts.silent ? "silent" : void 0;
      const extraBinPaths = (await opts.prepareExecutionEnv?.({
        extraBinPaths: opts.extraBinPaths,
        executionEnv: manifest.pnpm?.executionEnv
      }))?.extraBinPaths ?? opts.extraBinPaths;
      await (0, npm_lifecycle_1.default)(m, stage, opts.pkgRoot, {
        config: {
          ...opts.rawConfig,
          "frozen-lockfile": false
        },
        dir: opts.rootModulesDir,
        extraBinPaths,
        extraEnv: {
          ...opts.extraEnv,
          INIT_CWD: opts.initCwd ?? process.cwd(),
          PNPM_SCRIPT_SRC_DIR: opts.pkgRoot
        },
        log: {
          clearProgress: noop,
          info: noop,
          level: logLevel,
          pause: noop,
          resume: noop,
          showProgress: noop,
          silly: npmLog,
          verbose: npmLog,
          warn: (...msg) => {
            (0, logger_1.globalWarn)(msg.join(" "));
          }
        },
        runConcurrently: true,
        scriptsPrependNodePath: opts.scriptsPrependNodePath,
        scriptShell: opts.scriptShell,
        shellEmulator: opts.shellEmulator,
        stdio: opts.stdio ?? "pipe",
        unsafePerm: opts.unsafePerm
      });
      return true;
      function npmLog(prefix, logId, stdtype, line) {
        switch (stdtype) {
          case "stdout":
          case "stderr":
            core_loggers_1.lifecycleLogger.debug({
              depPath: opts.depPath,
              line: line.toString(),
              stage,
              stdio: stdtype,
              wd: opts.pkgRoot
            });
            return;
          case "Returned: code:": {
            if (opts.stdio === "inherit") {
              return;
            }
            const code = arguments[3] ?? 1;
            core_loggers_1.lifecycleLogger.debug({
              depPath: opts.depPath,
              exitCode: code,
              optional,
              stage,
              wd: opts.pkgRoot
            });
          }
        }
      }
    }
    function checkBindingGyp(root, scripts) {
      if ((0, fs_1.existsSync)(path_1.default.join(root, "binding.gyp"))) {
        scripts.install = "node-gyp rebuild";
      }
    }
    function getId(manifest) {
      return `${manifest.name ?? ""}@${manifest.version ?? ""}`;
    }
    function isWindowsBatchFile(scriptShell) {
      const scriptShellLower = scriptShell.toLowerCase();
      return (0, is_windows_1.default)() && (scriptShellLower.endsWith(".cmd") || scriptShellLower.endsWith(".bat"));
    }
  }
});

// ../fs/read-modules-dir/lib/index.js
var require_lib71 = __commonJS({
  "../fs/read-modules-dir/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readModulesDir = readModulesDir;
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var graceful_fs_1 = __importDefault2(require_graceful_fs());
    var readdir = util_1.default.promisify(graceful_fs_1.default.readdir);
    async function readModulesDir(modulesDir) {
      try {
        return await _readModulesDir(modulesDir);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return null;
        throw err;
      }
    }
    async function _readModulesDir(modulesDir, scope) {
      const pkgNames = [];
      const parentDir = scope ? path_1.default.join(modulesDir, scope) : modulesDir;
      await Promise.all((await readdir(parentDir, { withFileTypes: true })).map(async (dir) => {
        if (dir.isFile() || dir.name[0] === ".")
          return;
        if (!scope && dir.name[0] === "@") {
          pkgNames.push(...await _readModulesDir(modulesDir, dir.name));
          return;
        }
        const pkgName = scope ? `${scope}/${dir.name}` : dir.name;
        pkgNames.push(pkgName);
      }));
      return pkgNames;
    }
  }
});

// ../node_modules/.pnpm/@zkochan+cmd-shim@6.0.0/node_modules/@zkochan/cmd-shim/index.js
var require_cmd_shim = __commonJS({
  "../node_modules/.pnpm/@zkochan+cmd-shim@6.0.0/node_modules/@zkochan/cmd-shim/index.js"(exports2, module2) {
    "use strict";
    cmdShim.ifExists = cmdShimIfExists;
    var util_1 = require("util");
    var path2 = require("path");
    var isWindows = require_is_windows();
    var CMD_EXTENSION = require_cmd_extension();
    var shebangExpr = /^#!\s*(?:\/usr\/bin\/env(?:\s+-S\s*)?)?\s*([^ \t]+)(.*)$/;
    var DEFAULT_OPTIONS = {
      // Create PowerShell file by default if the option hasn't been specified
      createPwshFile: true,
      createCmdFile: isWindows(),
      fs: require_graceful_fs()
    };
    var extensionToProgramMap = /* @__PURE__ */ new Map([
      [".js", "node"],
      [".cjs", "node"],
      [".mjs", "node"],
      [".cmd", "cmd"],
      [".bat", "cmd"],
      [".ps1", "pwsh"],
      [".sh", "sh"]
    ]);
    function ingestOptions(opts) {
      const opts_ = { ...DEFAULT_OPTIONS, ...opts };
      const fs = opts_.fs;
      opts_.fs_ = {
        chmod: fs.chmod ? (0, util_1.promisify)(fs.chmod) : async () => {
        },
        mkdir: (0, util_1.promisify)(fs.mkdir),
        readFile: (0, util_1.promisify)(fs.readFile),
        stat: (0, util_1.promisify)(fs.stat),
        unlink: (0, util_1.promisify)(fs.unlink),
        writeFile: (0, util_1.promisify)(fs.writeFile)
      };
      return opts_;
    }
    async function cmdShim(src, to, opts) {
      const opts_ = ingestOptions(opts);
      await cmdShim_(src, to, opts_);
    }
    function cmdShimIfExists(src, to, opts) {
      return cmdShim(src, to, opts).catch(() => {
      });
    }
    function rm(path3, opts) {
      return opts.fs_.unlink(path3).catch(() => {
      });
    }
    async function cmdShim_(src, to, opts) {
      const srcRuntimeInfo = await searchScriptRuntime(src, opts);
      await writeShimsPreCommon(to, opts);
      return writeAllShims(src, to, srcRuntimeInfo, opts);
    }
    function writeShimsPreCommon(target, opts) {
      return opts.fs_.mkdir(path2.dirname(target), { recursive: true });
    }
    function writeAllShims(src, to, srcRuntimeInfo, opts) {
      const opts_ = ingestOptions(opts);
      const generatorAndExts = [{ generator: generateShShim, extension: "" }];
      if (opts_.createCmdFile) {
        generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION });
      }
      if (opts_.createPwshFile) {
        generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" });
      }
      return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_)));
    }
    function writeShimPre(target, opts) {
      return rm(target, opts);
    }
    function writeShimPost(target, opts) {
      return chmodShim(target, opts);
    }
    async function searchScriptRuntime(target, opts) {
      try {
        const data = await opts.fs_.readFile(target, "utf8");
        const firstLine = data.trim().split(/\r*\n/)[0];
        const shebang = firstLine.match(shebangExpr);
        if (!shebang) {
          const targetExtension = path2.extname(target).toLowerCase();
          return {
            // undefined if extension is unknown but it's converted to null.
            program: extensionToProgramMap.get(targetExtension) || null,
            additionalArgs: ""
          };
        }
        return {
          program: shebang[1],
          additionalArgs: shebang[2]
        };
      } catch (err) {
        if (!isWindows() || err.code !== "ENOENT")
          throw err;
        if (await opts.fs_.stat(`${target}${getExeExtension()}`)) {
          return {
            program: null,
            additionalArgs: ""
          };
        }
        throw err;
      }
    }
    function getExeExtension() {
      let cmdExtension;
      if (process.env.PATHEXT) {
        cmdExtension = process.env.PATHEXT.split(path2.delimiter).find((ext) => ext.toLowerCase() === ".exe");
      }
      return cmdExtension || ".exe";
    }
    async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) {
      const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : "";
      const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" ");
      opts = Object.assign({}, opts, {
        prog: srcRuntimeInfo.program,
        args
      });
      await writeShimPre(to, opts);
      await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8");
      return writeShimPost(to, opts);
    }
    function generateCmdShim(src, to, opts) {
      const shTarget = path2.relative(path2.dirname(to), src);
      let target = shTarget.split("/").join("\\");
      const quotedPathToTarget = path2.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`;
      let longProg;
      let prog = opts.prog;
      let args = opts.args || "";
      const nodePath = normalizePathEnvVar(opts.nodePath).win32;
      const prependToPath = normalizePathEnvVar(opts.prependToPath).win32;
      if (!prog) {
        prog = quotedPathToTarget;
        args = "";
        target = "";
      } else if (prog === "node" && opts.nodeExecPath) {
        prog = `"${opts.nodeExecPath}"`;
        target = quotedPathToTarget;
      } else {
        longProg = `"%~dp0\\${prog}.exe"`;
        target = quotedPathToTarget;
      }
      let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
      let cmd = "@SETLOCAL\r\n";
      if (prependToPath) {
        cmd += `@SET "PATH=${prependToPath}:%PATH%"\r
`;
      }
      if (nodePath) {
        cmd += `@IF NOT DEFINED NODE_PATH (\r
  @SET "NODE_PATH=${nodePath}"\r
) ELSE (\r
  @SET "NODE_PATH=${nodePath};%NODE_PATH%"\r
)\r
`;
      }
      if (longProg) {
        cmd += `@IF EXIST ${longProg} (\r
  ${longProg} ${args} ${target} ${progArgs}%*\r
) ELSE (\r
  @SET PATHEXT=%PATHEXT:;.JS;=;%\r
  ${prog} ${args} ${target} ${progArgs}%*\r
)\r
`;
      } else {
        cmd += `@${prog} ${args} ${target} ${progArgs}%*\r
`;
      }
      return cmd;
    }
    function generateShShim(src, to, opts) {
      let shTarget = path2.relative(path2.dirname(to), src);
      let shProg = opts.prog && opts.prog.split("\\").join("/");
      let shLongProg;
      shTarget = shTarget.split("\\").join("/");
      const quotedPathToTarget = path2.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
      let args = opts.args || "";
      const shNodePath = normalizePathEnvVar(opts.nodePath).posix;
      if (!shProg) {
        shProg = quotedPathToTarget;
        args = "";
        shTarget = "";
      } else if (opts.prog === "node" && opts.nodeExecPath) {
        shProg = `"${opts.nodeExecPath}"`;
        shTarget = quotedPathToTarget;
      } else {
        shLongProg = `"$basedir/${opts.prog}"`;
        shTarget = quotedPathToTarget;
      }
      let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
      let sh = `#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")

case \`uname\` in
    *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
esac

`;
      if (opts.prependToPath) {
        sh += `export PATH="${opts.prependToPath}:$PATH"
`;
      }
      if (shNodePath) {
        sh += `if [ -z "$NODE_PATH" ]; then
  export NODE_PATH="${shNodePath}"
else
  export NODE_PATH="${shNodePath}:$NODE_PATH"
fi
`;
      }
      if (shLongProg) {
        sh += `if [ -x ${shLongProg} ]; then
  exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@"
else
  exec ${shProg} ${args} ${shTarget} ${progArgs}"$@"
fi
`;
      } else {
        sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@"
exit $?
`;
      }
      return sh;
    }
    function generatePwshShim(src, to, opts) {
      let shTarget = path2.relative(path2.dirname(to), src);
      const shProg = opts.prog && opts.prog.split("\\").join("/");
      let pwshProg = shProg && `"${shProg}$exe"`;
      let pwshLongProg;
      shTarget = shTarget.split("\\").join("/");
      const quotedPathToTarget = path2.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
      let args = opts.args || "";
      let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath);
      const nodePath = normalizedNodePathEnvVar.win32;
      const shNodePath = normalizedNodePathEnvVar.posix;
      let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath);
      const prependPath = normalizedPrependPathEnvVar.win32;
      const shPrependPath = normalizedPrependPathEnvVar.posix;
      if (!pwshProg) {
        pwshProg = quotedPathToTarget;
        args = "";
        shTarget = "";
      } else if (opts.prog === "node" && opts.nodeExecPath) {
        pwshProg = `"${opts.nodeExecPath}"`;
        shTarget = quotedPathToTarget;
      } else {
        pwshLongProg = `"$basedir/${opts.prog}$exe"`;
        shTarget = quotedPathToTarget;
      }
      let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
      let pwsh = `#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent

$exe=""
${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH
$new_node_path="${nodePath}"
` : ""}${prependPath ? `$env_path=$env:PATH
$prepend_path="${prependPath}"
` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
  # Fix case when both the Windows and Linux builds of Node
  # are installed in the same directory
  $exe=".exe"
${nodePath || prependPath ? '  $pathsep=";"\n' : ""}}`;
      if (shNodePath || shPrependPath) {
        pwsh += ` else {
${shNodePath ? `  $new_node_path="${shNodePath}"
` : ""}${shPrependPath ? `  $prepend_path="${shPrependPath}"
` : ""}}
`;
      }
      if (shNodePath) {
        pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) {
  $env:NODE_PATH=$new_node_path
} else {
  $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
}
`;
      }
      if (opts.prependToPath) {
        pwsh += `
$env:PATH="$prepend_path$pathsep$env:PATH"
`;
      }
      if (pwshLongProg) {
        pwsh += `
$ret=0
if (Test-Path ${pwshLongProg}) {
  # Support pipeline input
  if ($MyInvocation.ExpectingInput) {
    $input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
  } else {
    & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
  }
  $ret=$LASTEXITCODE
} else {
  # Support pipeline input
  if ($MyInvocation.ExpectingInput) {
    $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
  } else {
    & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
  }
  $ret=$LASTEXITCODE
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret
`;
      } else {
        pwsh += `
# Support pipeline input
if ($MyInvocation.ExpectingInput) {
  $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
} else {
  & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
}
${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE
`;
      }
      return pwsh;
    }
    function chmodShim(to, opts) {
      return opts.fs_.chmod(to, 493);
    }
    function normalizePathEnvVar(nodePath) {
      if (!nodePath || !nodePath.length) {
        return {
          win32: "",
          posix: ""
        };
      }
      let split = typeof nodePath === "string" ? nodePath.split(path2.delimiter) : Array.from(nodePath);
      let result2 = {};
      for (let i = 0; i < split.length; i++) {
        const win32 = split[i].split("/").join("\\");
        const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `/mnt/${$1.toLowerCase()}`) : split[i];
        result2.win32 = result2.win32 ? `${result2.win32};${win32}` : win32;
        result2.posix = result2.posix ? `${result2.posix}:${posix}` : posix;
        result2[i] = { win32, posix };
      }
      return result2;
    }
    module2.exports = cmdShim;
  }
});

// ../node_modules/.pnpm/p-reflect@2.1.0/node_modules/p-reflect/index.js
var require_p_reflect = __commonJS({
  "../node_modules/.pnpm/p-reflect@2.1.0/node_modules/p-reflect/index.js"(exports2, module2) {
    "use strict";
    var pReflect = async (promise) => {
      try {
        const value = await promise;
        return {
          isFulfilled: true,
          isRejected: false,
          value
        };
      } catch (error) {
        return {
          isFulfilled: false,
          isRejected: true,
          reason: error
        };
      }
    };
    module2.exports = pReflect;
    module2.exports.default = pReflect;
  }
});

// ../node_modules/.pnpm/p-try@2.2.0/node_modules/p-try/index.js
var require_p_try = __commonJS({
  "../node_modules/.pnpm/p-try@2.2.0/node_modules/p-try/index.js"(exports2, module2) {
    "use strict";
    var pTry = (fn, ...arguments_) => new Promise((resolve) => {
      resolve(fn(...arguments_));
    });
    module2.exports = pTry;
    module2.exports.default = pTry;
  }
});

// ../node_modules/.pnpm/p-limit@2.3.0/node_modules/p-limit/index.js
var require_p_limit2 = __commonJS({
  "../node_modules/.pnpm/p-limit@2.3.0/node_modules/p-limit/index.js"(exports2, module2) {
    "use strict";
    var pTry = require_p_try();
    var pLimit = (concurrency) => {
      if (!((Number.isInteger(concurrency) || concurrency === Infinity) && concurrency > 0)) {
        return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));
      }
      const queue = [];
      let activeCount = 0;
      const next = () => {
        activeCount--;
        if (queue.length > 0) {
          queue.shift()();
        }
      };
      const run = (fn, resolve, ...args) => {
        activeCount++;
        const result2 = pTry(fn, ...args);
        resolve(result2);
        result2.then(next, next);
      };
      const enqueue = (fn, resolve, ...args) => {
        if (activeCount < concurrency) {
          run(fn, resolve, ...args);
        } else {
          queue.push(run.bind(null, fn, resolve, ...args));
        }
      };
      const generator = (fn, ...args) => new Promise((resolve) => enqueue(fn, resolve, ...args));
      Object.defineProperties(generator, {
        activeCount: {
          get: () => activeCount
        },
        pendingCount: {
          get: () => queue.length
        },
        clearQueue: {
          value: () => {
            queue.length = 0;
          }
        }
      });
      return generator;
    };
    module2.exports = pLimit;
    module2.exports.default = pLimit;
  }
});

// ../node_modules/.pnpm/p-settle@4.1.1/node_modules/p-settle/index.js
var require_p_settle = __commonJS({
  "../node_modules/.pnpm/p-settle@4.1.1/node_modules/p-settle/index.js"(exports2, module2) {
    "use strict";
    var pReflect = require_p_reflect();
    var pLimit = require_p_limit2();
    module2.exports = async (array, options = {}) => {
      const { concurrency = Infinity } = options;
      const limit = pLimit(concurrency);
      return Promise.all(array.map((element) => {
        if (element && typeof element.then === "function") {
          return pReflect(element);
        }
        if (typeof element === "function") {
          return pReflect(limit(() => element()));
        }
        return pReflect(Promise.resolve(element));
      }));
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTypedArray.js
var require_isTypedArray = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isTypedArray.js"(exports2, module2) {
    function _isTypedArray(val) {
      var type = Object.prototype.toString.call(val);
      return type === "[object Uint8ClampedArray]" || type === "[object Int8Array]" || type === "[object Uint8Array]" || type === "[object Int16Array]" || type === "[object Uint16Array]" || type === "[object Int32Array]" || type === "[object Uint32Array]" || type === "[object Float32Array]" || type === "[object Float64Array]" || type === "[object BigInt64Array]" || type === "[object BigUint64Array]";
    }
    module2.exports = _isTypedArray;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/empty.js
var require_empty3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/empty.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isArguments = require_isArguments();
    var _isArray = require_isArray();
    var _isObject = require_isObject();
    var _isString = require_isString();
    var _isTypedArray = require_isTypedArray();
    var empty = /* @__PURE__ */ _curry1(function empty2(x) {
      return x != null && typeof x["fantasy-land/empty"] === "function" ? x["fantasy-land/empty"]() : x != null && x.constructor != null && typeof x.constructor["fantasy-land/empty"] === "function" ? x.constructor["fantasy-land/empty"]() : x != null && typeof x.empty === "function" ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === "function" ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? "" : _isObject(x) ? {} : _isArguments(x) ? /* @__PURE__ */ function() {
        return arguments;
      }() : _isTypedArray(x) ? x.constructor.from("") : void 0;
    });
    module2.exports = empty;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isEmpty.js
var require_isEmpty2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isEmpty.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var empty = require_empty3();
    var equals = require_equals2();
    var isEmpty = /* @__PURE__ */ _curry1(function isEmpty2(x) {
      return x != null && equals(x, empty(x));
    });
    module2.exports = isEmpty;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_identity.js
var require_identity2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_identity.js"(exports2, module2) {
    function _identity(x) {
      return x;
    }
    module2.exports = _identity;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_makeFlat.js
var require_makeFlat = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_makeFlat.js"(exports2, module2) {
    var _isArrayLike = require_isArrayLike();
    function _makeFlat(recursive) {
      return function flatt(list) {
        var value, jlen, j;
        var result2 = [];
        var idx = 0;
        var ilen = list.length;
        while (idx < ilen) {
          if (_isArrayLike(list[idx])) {
            value = recursive ? flatt(list[idx]) : list[idx];
            j = 0;
            jlen = value.length;
            while (j < jlen) {
              result2[result2.length] = value[j];
              j += 1;
            }
          } else {
            result2[result2.length] = list[idx];
          }
          idx += 1;
        }
        return result2;
      };
    }
    module2.exports = _makeFlat;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_forceReduced.js
var require_forceReduced = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_forceReduced.js"(exports2, module2) {
    function _forceReduced(x) {
      return {
        "@@transducer/value": x,
        "@@transducer/reduced": true
      };
    }
    module2.exports = _forceReduced;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_flatCat.js
var require_flatCat = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_flatCat.js"(exports2, module2) {
    var _forceReduced = require_forceReduced();
    var _isArrayLike = require_isArrayLike();
    var _reduce = require_reduce();
    var _xfBase = require_xfBase();
    var preservingReduced = function(xf) {
      return {
        "@@transducer/init": _xfBase.init,
        "@@transducer/result": function(result2) {
          return xf["@@transducer/result"](result2);
        },
        "@@transducer/step": function(result2, input) {
          var ret2 = xf["@@transducer/step"](result2, input);
          return ret2["@@transducer/reduced"] ? _forceReduced(ret2) : ret2;
        }
      };
    };
    var _flatCat = function _xcat(xf) {
      var rxf = preservingReduced(xf);
      return {
        "@@transducer/init": _xfBase.init,
        "@@transducer/result": function(result2) {
          return rxf["@@transducer/result"](result2);
        },
        "@@transducer/step": function(result2, input) {
          return !_isArrayLike(input) ? _reduce(rxf, result2, [input]) : _reduce(rxf, result2, input);
        }
      };
    };
    module2.exports = _flatCat;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xchain.js
var require_xchain = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xchain.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _flatCat = require_flatCat();
    var map = require_map3();
    var _xchain = /* @__PURE__ */ _curry2(function _xchain2(f, xf) {
      return map(f, _flatCat(xf));
    });
    module2.exports = _xchain;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/chain.js
var require_chain2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/chain.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _makeFlat = require_makeFlat();
    var _xchain = require_xchain();
    var map = require_map3();
    var chain = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["fantasy-land/chain", "chain"], _xchain, function chain2(fn, monad) {
        if (typeof monad === "function") {
          return function(x) {
            return fn(monad(x))(x);
          };
        }
        return _makeFlat(false)(map(fn, monad));
      })
    );
    module2.exports = chain;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unnest.js
var require_unnest = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unnest.js"(exports2, module2) {
    var _identity = require_identity2();
    var chain = require_chain2();
    var unnest = /* @__PURE__ */ chain(_identity);
    module2.exports = unnest;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_checkForMethod.js
var require_checkForMethod = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_checkForMethod.js"(exports2, module2) {
    var _isArray = require_isArray();
    function _checkForMethod(methodname, fn) {
      return function() {
        var length = arguments.length;
        if (length === 0) {
          return fn();
        }
        var obj = arguments[length - 1];
        return _isArray(obj) || typeof obj[methodname] !== "function" ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));
      };
    }
    module2.exports = _checkForMethod;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduced.js
var require_reduced = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_reduced.js"(exports2, module2) {
    function _reduced(x) {
      return x && x["@@transducer/reduced"] ? x : {
        "@@transducer/value": x,
        "@@transducer/reduced": true
      };
    }
    module2.exports = _reduced;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xreduceBy.js
var require_xreduceBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xreduceBy.js"(exports2, module2) {
    var _curryN = require_curryN();
    var _has = require_has();
    var _xfBase = require_xfBase();
    var XReduceBy = /* @__PURE__ */ function() {
      function XReduceBy2(valueFn, valueAcc, keyFn, xf) {
        this.valueFn = valueFn;
        this.valueAcc = valueAcc;
        this.keyFn = keyFn;
        this.xf = xf;
        this.inputs = {};
      }
      XReduceBy2.prototype["@@transducer/init"] = _xfBase.init;
      XReduceBy2.prototype["@@transducer/result"] = function(result2) {
        var key;
        for (key in this.inputs) {
          if (_has(key, this.inputs)) {
            result2 = this.xf["@@transducer/step"](result2, this.inputs[key]);
            if (result2["@@transducer/reduced"]) {
              result2 = result2["@@transducer/value"];
              break;
            }
          }
        }
        this.inputs = null;
        return this.xf["@@transducer/result"](result2);
      };
      XReduceBy2.prototype["@@transducer/step"] = function(result2, input) {
        var key = this.keyFn(input);
        this.inputs[key] = this.inputs[key] || [key, this.valueAcc];
        this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);
        return result2;
      };
      return XReduceBy2;
    }();
    var _xreduceBy = /* @__PURE__ */ _curryN(4, [], function _xreduceBy2(valueFn, valueAcc, keyFn, xf) {
      return new XReduceBy(valueFn, valueAcc, keyFn, xf);
    });
    module2.exports = _xreduceBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceBy.js
var require_reduceBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceBy.js"(exports2, module2) {
    var _clone = require_clone4();
    var _curryN = require_curryN();
    var _dispatchable = require_dispatchable();
    var _has = require_has();
    var _reduce = require_reduce();
    var _reduced = require_reduced();
    var _xreduceBy = require_xreduceBy();
    var reduceBy = /* @__PURE__ */ _curryN(
      4,
      [],
      /* @__PURE__ */ _dispatchable([], _xreduceBy, function reduceBy2(valueFn, valueAcc, keyFn, list) {
        return _reduce(function(acc, elt) {
          var key = keyFn(elt);
          var value = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);
          if (value && value["@@transducer/reduced"]) {
            return _reduced(acc);
          }
          acc[key] = value;
          return acc;
        }, {}, list);
      })
    );
    module2.exports = reduceBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupBy.js
var require_groupBy2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupBy.js"(exports2, module2) {
    var _checkForMethod = require_checkForMethod();
    var _curry2 = require_curry2();
    var reduceBy = require_reduceBy();
    var groupBy2 = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _checkForMethod(
        "groupBy",
        /* @__PURE__ */ reduceBy(function(acc, item) {
          acc.push(item);
          return acc;
        }, [])
      )
    );
    module2.exports = groupBy2;
  }
});

// ../node_modules/.pnpm/symlink-dir@6.0.5/node_modules/symlink-dir/dist/index.js
var require_dist17 = __commonJS({
  "../node_modules/.pnpm/symlink-dir@6.0.5/node_modules/symlink-dir/dist/index.js"(exports2, module2) {
    "use strict";
    var betterPathResolve = require_better_path_resolve();
    var fs_1 = require("fs");
    var util = require("util");
    var pathLib = require("path");
    var renameOverwrite = require_rename_overwrite();
    var IS_WINDOWS = process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE);
    var symlinkType = IS_WINDOWS ? "junction" : "dir";
    var resolveSrc = IS_WINDOWS ? resolveSrcOnWin : resolveSrcOnNonWin;
    function resolveSrcOnWin(src, dest) {
      return `${src}\\`;
    }
    function resolveSrcOnNonWin(src, dest) {
      return pathLib.relative(pathLib.dirname(dest), src);
    }
    function symlinkDir(target, path2, opts) {
      path2 = betterPathResolve(path2);
      target = betterPathResolve(target);
      if (target === path2)
        throw new Error(`Symlink path is the same as the target path (${target})`);
      target = resolveSrc(target, path2);
      return forceSymlink(target, path2, opts);
    }
    async function forceSymlink(target, path2, opts) {
      let initialErr;
      try {
        await fs_1.promises.symlink(target, path2, symlinkType);
        return { reused: false };
      } catch (err) {
        switch (err.code) {
          case "ENOENT":
            try {
              await fs_1.promises.mkdir(pathLib.dirname(path2), { recursive: true });
            } catch (mkdirError) {
              mkdirError.message = `Error while trying to symlink "${target}" to "${path2}". The error happened while trying to create the parent directory for the symlink target. Details: ${mkdirError}`;
              throw mkdirError;
            }
            await forceSymlink(target, path2, opts);
            return { reused: false };
          case "EEXIST":
          case "EISDIR":
            initialErr = err;
            break;
          default:
            throw err;
        }
      }
      let linkString;
      try {
        linkString = await fs_1.promises.readlink(path2);
      } catch (err) {
        if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) {
          throw initialErr;
        }
        const parentDir = pathLib.dirname(path2);
        let warn;
        if (opts === null || opts === void 0 ? void 0 : opts.renameTried) {
          await fs_1.promises.unlink(path2);
          warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)}".`;
        } else {
          const ignore = `.ignored_${pathLib.basename(path2)}`;
          try {
            await renameOverwrite(path2, pathLib.join(parentDir, ignore));
          } catch (error) {
            if (util.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
              throw initialErr;
            }
            throw error;
          }
          warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)} => ${ignore}".`;
        }
        return {
          ...await forceSymlink(target, path2, { ...opts, renameTried: true }),
          warn
        };
      }
      if (pathLib.relative(target, linkString) === "") {
        return { reused: true };
      }
      if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) {
        throw initialErr;
      }
      try {
        await fs_1.promises.unlink(path2);
      } catch (error) {
        if (!util.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") {
          throw error;
        }
      }
      return await forceSymlink(target, path2, opts);
    }
    symlinkDir["default"] = symlinkDir;
    (function(symlinkDir2) {
      function sync(target, path2, opts) {
        path2 = betterPathResolve(path2);
        target = betterPathResolve(target);
        if (target === path2)
          throw new Error(`Symlink path is the same as the target path (${target})`);
        target = resolveSrc(target, path2);
        return forceSymlinkSync(target, path2, opts);
      }
      symlinkDir2.sync = sync;
    })(symlinkDir || (symlinkDir = {}));
    function forceSymlinkSync(target, path2, opts) {
      let initialErr;
      try {
        (0, fs_1.symlinkSync)(target, path2, symlinkType);
        return { reused: false };
      } catch (err) {
        initialErr = err;
        switch (err.code) {
          case "ENOENT":
            try {
              (0, fs_1.mkdirSync)(pathLib.dirname(path2), { recursive: true });
            } catch (mkdirError) {
              mkdirError.message = `Error while trying to symlink "${target}" to "${path2}". The error happened while trying to create the parent directory for the symlink target. Details: ${mkdirError}`;
              throw mkdirError;
            }
            forceSymlinkSync(target, path2, opts);
            return { reused: false };
          case "EEXIST":
          case "EISDIR":
            break;
          default:
            throw err;
        }
      }
      let linkString;
      try {
        linkString = (0, fs_1.readlinkSync)(path2);
      } catch (err) {
        if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) {
          throw initialErr;
        }
        const parentDir = pathLib.dirname(path2);
        let warn;
        if (opts === null || opts === void 0 ? void 0 : opts.renameTried) {
          (0, fs_1.unlinkSync)(path2);
          warn = `Symlink wanted name was occupied by directory or file. Old entity removed: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)}".`;
        } else {
          const ignore = `.ignored_${pathLib.basename(path2)}`;
          try {
            renameOverwrite.sync(path2, pathLib.join(parentDir, ignore));
          } catch (error) {
            if (util.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
              throw initialErr;
            }
            throw error;
          }
          warn = `Symlink wanted name was occupied by directory or file. Old entity moved: "${parentDir}${pathLib.sep}{${pathLib.basename(path2)} => ${ignore}".`;
        }
        return {
          ...forceSymlinkSync(target, path2, { ...opts, renameTried: true }),
          warn
        };
      }
      if (pathLib.relative(target, linkString) === "") {
        return { reused: true };
      }
      if ((opts === null || opts === void 0 ? void 0 : opts.overwrite) === false) {
        throw initialErr;
      }
      try {
        (0, fs_1.unlinkSync)(path2);
      } catch (error) {
        if (!util.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") {
          throw error;
        }
      }
      return forceSymlinkSync(target, path2, opts);
    }
    module2.exports = symlinkDir;
  }
});

// ../node_modules/.pnpm/bin-links@4.0.4/node_modules/bin-links/lib/fix-bin.js
var require_fix_bin = __commonJS({
  "../node_modules/.pnpm/bin-links@4.0.4/node_modules/bin-links/lib/fix-bin.js"(exports2, module2) {
    var {
      chmod,
      open,
      readFile
    } = require("fs/promises");
    var execMode = 511 & ~process.umask();
    var writeFileAtomic = require_lib10();
    var isWindowsHashBang = (buf) => buf[0] === "#".charCodeAt(0) && buf[1] === "!".charCodeAt(0) && /^#![^\n]+\r\n/.test(buf.toString());
    var isWindowsHashbangFile = (file) => {
      const FALSE = () => false;
      return open(file, "r").then((fh) => {
        const buf = Buffer.alloc(2048);
        return fh.read(buf, 0, 2048, 0).then(
          () => {
            const isWHB = isWindowsHashBang(buf);
            return fh.close().then(() => isWHB, () => isWHB);
          },
          // don't leak FD if read() fails
          () => fh.close().then(FALSE, FALSE)
        );
      }, FALSE);
    };
    var dos2Unix = (file) => readFile(file, "utf8").then((content) => writeFileAtomic(file, content.replace(/^(#![^\n]+)\r\n/, "$1\n")));
    var fixBin = (file, mode = execMode) => chmod(file, mode).then(() => isWindowsHashbangFile(file)).then((isWHB) => isWHB ? dos2Unix(file) : null);
    module2.exports = fixBin;
  }
});

// ../pkg-manager/link-bins/lib/index.js
var require_lib72 = __commonJS({
  "../pkg-manager/link-bins/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkBins = linkBins;
    exports2.linkBinsOfPkgsByAliases = linkBinsOfPkgsByAliases;
    exports2.linkBinsOfPackages = linkBinsOfPackages;
    var fs_1 = require("fs");
    var module_1 = __importDefault2(require("module"));
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var manifest_utils_1 = require_lib32();
    var package_bins_1 = require_lib48();
    var read_modules_dir_1 = require_lib71();
    var read_package_json_1 = require_lib50();
    var read_project_manifest_1 = require_lib13();
    var cmd_shim_1 = __importDefault2(require_cmd_shim());
    var rimraf_1 = __importDefault2(require_rimraf());
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var is_windows_1 = __importDefault2(require_is_windows());
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var p_settle_1 = __importDefault2(require_p_settle());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var unnest_1 = __importDefault2(require_unnest());
    var groupBy_1 = __importDefault2(require_groupBy2());
    var partition_1 = __importDefault2(require_partition4());
    var semver_12 = __importDefault2(require_semver2());
    var symlink_dir_1 = __importDefault2(require_dist17());
    var fix_bin_1 = __importDefault2(require_fix_bin());
    var binsConflictLogger = (0, logger_1.logger)("bins-conflict");
    var IS_WINDOWS = (0, is_windows_1.default)();
    var EXECUTABLE_SHEBANG_SUPPORTED = !IS_WINDOWS;
    var POWER_SHELL_IS_SUPPORTED = IS_WINDOWS;
    async function linkBins(modulesDir, binsDir, opts) {
      const allDeps = await (0, read_modules_dir_1.readModulesDir)(modulesDir);
      if (allDeps === null)
        return [];
      return linkBinsOfPkgsByAliases(allDeps, binsDir, {
        ...opts,
        modulesDir
      });
    }
    async function linkBinsOfPkgsByAliases(depsAliases, binsDir, opts) {
      const pkgBinOpts = {
        allowExoticManifests: false,
        ...opts
      };
      const directDependencies = opts.projectManifest == null ? void 0 : new Set(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(opts.projectManifest)));
      const allCmds = (0, unnest_1.default)((await Promise.all(depsAliases.map((alias) => ({
        depDir: path_1.default.resolve(opts.modulesDir, alias),
        isDirectDependency: directDependencies?.has(alias),
        nodeExecPath: opts.nodeExecPathByAlias?.[alias]
      })).filter(({ depDir }) => !(0, is_subdir_1.default)(depDir, binsDir)).map(async ({ depDir, isDirectDependency, nodeExecPath }) => {
        const target = (0, normalize_path_1.default)(depDir);
        const cmds = await getPackageBins(pkgBinOpts, target, nodeExecPath);
        return cmds.map((cmd) => ({ ...cmd, isDirectDependency }));
      }))).filter((cmds) => cmds.length));
      const cmdsToLink = directDependencies != null ? preferDirectCmds(allCmds) : allCmds;
      return _linkBins(cmdsToLink, binsDir, opts);
    }
    function preferDirectCmds(allCmds) {
      const [directCmds, hoistedCmds] = (0, partition_1.default)((cmd) => cmd.isDirectDependency === true, allCmds);
      const usedDirectCmds = new Set(directCmds.map((directCmd) => directCmd.name));
      return [
        ...directCmds,
        ...hoistedCmds.filter(({ name }) => !usedDirectCmds.has(name))
      ];
    }
    async function linkBinsOfPackages(pkgs, binsTarget, opts = {}) {
      if (pkgs.length === 0)
        return [];
      const allCmds = (0, unnest_1.default)((await Promise.all(pkgs.map(async (pkg) => getPackageBinsFromManifest(pkg.manifest, pkg.location, pkg.nodeExecPath)))).filter((cmds) => cmds.length));
      return _linkBins(allCmds, binsTarget, opts);
    }
    async function _linkBins(allCmds, binsDir, opts) {
      if (allCmds.length === 0)
        return [];
      allCmds = deduplicateCommands(allCmds, binsDir);
      await fs_1.promises.mkdir(binsDir, { recursive: true });
      const results = await (0, p_settle_1.default)(allCmds.map(async (cmd) => linkBin(cmd, binsDir, opts)));
      for (const result2 of results) {
        if (result2.isRejected) {
          throw result2.reason;
        }
      }
      return allCmds.map((cmd) => cmd.pkgName);
    }
    function deduplicateCommands(commands, binsDir) {
      const cmdGroups = (0, groupBy_1.default)((cmd) => cmd.name, commands);
      return Object.values(cmdGroups).filter((group) => group !== void 0 && group.length !== 0).map((group) => resolveCommandConflicts(group, binsDir));
    }
    function resolveCommandConflicts(group, binsDir) {
      return group.reduce((a, b) => {
        const [chosen, skipped] = compareCommandsInConflict(a, b) >= 0 ? [a, b] : [b, a];
        logCommandConflict(chosen, skipped, binsDir);
        return chosen;
      });
    }
    function compareCommandsInConflict(a, b) {
      if (a.ownName && !b.ownName)
        return 1;
      if (!a.ownName && b.ownName)
        return -1;
      if (a.pkgName !== b.pkgName)
        return a.pkgName.localeCompare(b.pkgName);
      return semver_12.default.compare(a.pkgVersion, b.pkgVersion);
    }
    function logCommandConflict(chosen, skipped, binsDir) {
      binsConflictLogger.debug({
        binaryName: skipped.name,
        binsDir,
        linkedPkgName: chosen.pkgName,
        linkedPkgVersion: chosen.pkgVersion,
        skippedPkgName: skipped.pkgName,
        skippedPkgVersion: skipped.pkgVersion
      });
    }
    async function isFromModules(filename) {
      const real = await fs_1.promises.realpath(filename);
      return (0, normalize_path_1.default)(real).includes("/node_modules/");
    }
    async function getPackageBins(opts, target, nodeExecPath) {
      const manifest = opts.allowExoticManifests ? await (0, read_project_manifest_1.safeReadProjectManifestOnly)(target) : await safeReadPkgJson(target);
      if (manifest == null) {
        return [];
      }
      if ((0, isEmpty_1.default)(manifest.bin) && !await isFromModules(target)) {
        opts.warn(`Package in ${target} must have a non-empty bin field to get bin linked.`, "EMPTY_BIN");
      }
      if (typeof manifest.bin === "string" && !manifest.name) {
        throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Package in ${target} must have a name to get bin linked.`);
      }
      return getPackageBinsFromManifest(manifest, target, nodeExecPath);
    }
    async function getPackageBinsFromManifest(manifest, pkgDir, nodeExecPath) {
      const cmds = await (0, package_bins_1.getBinsFromPackageManifest)(manifest, pkgDir);
      return cmds.map((cmd) => ({
        ...cmd,
        ownName: cmd.name === manifest.name,
        pkgName: manifest.name,
        pkgVersion: manifest.version,
        makePowerShellShim: POWER_SHELL_IS_SUPPORTED && manifest.name !== "pnpm",
        nodeExecPath
      }));
    }
    async function linkBin(cmd, binsDir, opts) {
      const externalBinPath = path_1.default.join(binsDir, cmd.name);
      if (IS_WINDOWS) {
        const exePath = path_1.default.join(binsDir, `${cmd.name}${getExeExtension()}`);
        if ((0, fs_1.existsSync)(exePath)) {
          (0, logger_1.globalWarn)(`The target bin directory already contains an exe called ${cmd.name}, so removing ${exePath}`);
          await (0, rimraf_1.default)(exePath);
        }
      }
      if (opts?.preferSymlinkedExecutables && !IS_WINDOWS && cmd.nodeExecPath == null) {
        try {
          await (0, symlink_dir_1.default)(cmd.path, externalBinPath);
          await (0, fix_bin_1.default)(cmd.path, 493);
        } catch (err) {
          if (err.code !== "ENOENT") {
            throw err;
          }
          (0, logger_1.globalWarn)(`Failed to create bin at ${externalBinPath}. ${err.message}`);
        }
        return;
      }
      try {
        let nodePath;
        if (opts?.extraNodePaths?.length) {
          nodePath = [];
          for (const modulesPath of await getBinNodePaths(cmd.path)) {
            if (opts.extraNodePaths.includes(modulesPath))
              break;
            nodePath.push(modulesPath);
          }
          nodePath.push(...opts.extraNodePaths);
        }
        await (0, cmd_shim_1.default)(cmd.path, externalBinPath, {
          createPwshFile: cmd.makePowerShellShim,
          nodePath,
          nodeExecPath: cmd.nodeExecPath
        });
      } catch (err) {
        if (err.code !== "ENOENT") {
          throw err;
        }
        (0, logger_1.globalWarn)(`Failed to create bin at ${externalBinPath}. ${err.message}`);
        return;
      }
      if (EXECUTABLE_SHEBANG_SUPPORTED) {
        await (0, fix_bin_1.default)(cmd.path, 493);
      }
    }
    function getExeExtension() {
      let cmdExtension;
      if (process.env.PATHEXT) {
        cmdExtension = process.env.PATHEXT.split(path_1.default.delimiter).find((ext) => ext.toUpperCase() === ".EXE");
      }
      return cmdExtension ?? ".exe";
    }
    async function getBinNodePaths(target) {
      const targetDir = path_1.default.dirname(target);
      try {
        const targetRealPath = await fs_1.promises.realpath(targetDir);
        return module_1.default["_nodeModulePaths"](targetRealPath);
      } catch (err) {
        if (err.code !== "ENOENT") {
          throw err;
        }
        return module_1.default["_nodeModulePaths"](targetDir);
      }
    }
    async function safeReadPkgJson(pkgDir) {
      try {
        return await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir);
      } catch (err) {
        if (err.code === "ENOENT") {
          return null;
        }
        throw err;
      }
    }
  }
});

// ../exec/pkg-requires-build/lib/index.js
var require_lib73 = __commonJS({
  "../exec/pkg-requires-build/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pkgRequiresBuild = pkgRequiresBuild;
    function pkgRequiresBuild(manifest, filesIndex) {
      return Boolean(manifest?.scripts != null && (Boolean(manifest.scripts.preinstall) || Boolean(manifest.scripts.install) || Boolean(manifest.scripts.postinstall)) || filesIncludeInstallScripts(filesIndex));
    }
    function filesIncludeInstallScripts(filesIndex) {
      return filesIndex["binding.gyp"] != null || Object.keys(filesIndex).some((filename) => !(filename.match(/^\.hooks[\\/]/) == null));
    }
  }
});

// ../fs/packlist/lib/index.js
var require_lib74 = __commonJS({
  "../fs/packlist/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packlist = packlist;
    var npm_packlist_1 = __importDefault2(require_lib64());
    async function packlist(pkgDir, opts) {
      const packageJsonCacheMap = opts?.packageJsonCache ? new Map(Object.entries(opts.packageJsonCache)) : void 0;
      const files = await (0, npm_packlist_1.default)({ path: pkgDir, packageJsonCache: packageJsonCacheMap });
      return Array.from(new Set(files.map((file) => file.replace(/^\.[/\\]/, ""))));
    }
  }
});

// ../fetching/directory-fetcher/lib/index.js
var require_lib75 = __commonJS({
  "../fetching/directory-fetcher/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createDirectoryFetcher = createDirectoryFetcher;
    exports2.fetchFromDir = fetchFromDir;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var exec_pkg_requires_build_1 = require_lib73();
    var logger_1 = require_lib();
    var fs_packlist_1 = require_lib74();
    var read_project_manifest_1 = require_lib13();
    var directoryFetcherLogger = (0, logger_1.logger)("directory-fetcher");
    function createDirectoryFetcher(opts) {
      const readFileStat = opts?.resolveSymlinks === true ? realFileStat : fileStat;
      const fetchFromDir2 = opts?.includeOnlyPackageFiles ? fetchPackageFilesFromDir : fetchAllFilesFromDir.bind(null, readFileStat);
      const directoryFetcher = (cafs, resolution, opts2) => {
        const dir = path_1.default.join(opts2.lockfileDir, resolution.directory);
        return fetchFromDir2(dir);
      };
      return {
        directory: directoryFetcher
      };
    }
    async function fetchFromDir(dir, opts) {
      if (opts.includeOnlyPackageFiles) {
        return fetchPackageFilesFromDir(dir);
      }
      const readFileStat = opts?.resolveSymlinks === true ? realFileStat : fileStat;
      return fetchAllFilesFromDir(readFileStat, dir);
    }
    async function fetchAllFilesFromDir(readFileStat, dir) {
      const { filesIndex, filesStats } = await _fetchAllFilesFromDir(readFileStat, dir);
      const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir) ?? void 0;
      const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, filesIndex);
      return {
        local: true,
        filesIndex,
        filesStats,
        packageImportMethod: "hardlink",
        manifest,
        requiresBuild
      };
    }
    async function _fetchAllFilesFromDir(readFileStat, dir, relativeDir = "") {
      const filesIndex = {};
      const filesStats = {};
      const files = await fs_1.promises.readdir(dir);
      await Promise.all(files.filter((file) => file !== "node_modules").map(async (file) => {
        const fileStatResult = await readFileStat(path_1.default.join(dir, file));
        if (!fileStatResult)
          return;
        const { filePath, stat } = fileStatResult;
        const relativeSubdir = `${relativeDir}${relativeDir ? "/" : ""}${file}`;
        if (stat.isDirectory()) {
          const subFetchResult = await _fetchAllFilesFromDir(readFileStat, filePath, relativeSubdir);
          Object.assign(filesIndex, subFetchResult.filesIndex);
          Object.assign(filesStats, subFetchResult.filesStats);
        } else {
          filesIndex[relativeSubdir] = filePath;
          filesStats[relativeSubdir] = fileStatResult.stat;
        }
      }));
      return { filesIndex, filesStats };
    }
    async function realFileStat(filePath) {
      let stat = await fs_1.promises.lstat(filePath);
      if (!stat.isSymbolicLink()) {
        return { filePath, stat };
      }
      try {
        filePath = await fs_1.promises.realpath(filePath);
        stat = await fs_1.promises.stat(filePath);
        return { filePath, stat };
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          directoryFetcherLogger.debug({ brokenSymlink: filePath });
          return null;
        }
        throw err;
      }
    }
    async function fileStat(filePath) {
      try {
        return {
          filePath,
          stat: await fs_1.promises.stat(filePath)
        };
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          directoryFetcherLogger.debug({ brokenSymlink: filePath });
          return null;
        }
        throw err;
      }
    }
    async function fetchPackageFilesFromDir(dir) {
      const files = await (0, fs_packlist_1.packlist)(dir);
      const filesIndex = Object.fromEntries(files.map((file) => [file, path_1.default.join(dir, file)]));
      const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir) ?? void 0;
      const requiresBuild = (0, exec_pkg_requires_build_1.pkgRequiresBuild)(manifest, filesIndex);
      return {
        local: true,
        filesIndex,
        packageImportMethod: "hardlink",
        manifest,
        requiresBuild
      };
    }
  }
});

// ../node_modules/.pnpm/run-groups@3.0.1/node_modules/run-groups/lib/index.js
var require_lib76 = __commonJS({
  "../node_modules/.pnpm/run-groups@3.0.1/node_modules/run-groups/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var pLimit = require_p_limit();
    exports2.default = async (concurrency, groups) => {
      const limitRun = pLimit(concurrency);
      for (const tasks of groups) {
        await Promise.all(tasks.map((task) => limitRun(task)));
      }
    };
  }
});

// ../exec/lifecycle/lib/runLifecycleHooksConcurrently.js
var require_runLifecycleHooksConcurrently = __commonJS({
  "../exec/lifecycle/lib/runLifecycleHooksConcurrently.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runLifecycleHooksConcurrently = runLifecycleHooksConcurrently;
    var fs_1 = __importDefault2(require("fs"));
    var link_bins_1 = require_lib72();
    var logger_1 = require_lib();
    var path_1 = __importDefault2(require("path"));
    var directory_fetcher_1 = require_lib75();
    var run_groups_1 = __importDefault2(require_lib76());
    var runLifecycleHook_1 = require_runLifecycleHook();
    async function runLifecycleHooksConcurrently(stages, importers, childConcurrency, opts) {
      const importersByBuildIndex = /* @__PURE__ */ new Map();
      for (const importer of importers) {
        if (!importersByBuildIndex.has(importer.buildIndex)) {
          importersByBuildIndex.set(importer.buildIndex, [importer]);
        } else {
          importersByBuildIndex.get(importer.buildIndex).push(importer);
        }
      }
      const sortedBuildIndexes = Array.from(importersByBuildIndex.keys()).sort((a, b) => a - b);
      const groups = sortedBuildIndexes.map((buildIndex) => {
        const importers2 = importersByBuildIndex.get(buildIndex);
        return importers2.map(({ manifest, modulesDir, rootDir, stages: importerStages, targetDirs }) => async () => {
          await (0, link_bins_1.linkBins)(modulesDir, path_1.default.join(modulesDir, ".bin"), {
            extraNodePaths: opts.extraNodePaths,
            allowExoticManifests: true,
            preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
            projectManifest: manifest,
            warn: (message) => {
              logger_1.logger.warn({ message, prefix: rootDir });
            }
          });
          const runLifecycleHookOpts = {
            ...opts,
            depPath: rootDir,
            pkgRoot: rootDir,
            rootModulesDir: modulesDir
          };
          let isBuilt = false;
          for (const stage of importerStages ?? stages) {
            if (await (0, runLifecycleHook_1.runLifecycleHook)(stage, manifest, runLifecycleHookOpts)) {
              isBuilt = true;
            }
          }
          if (targetDirs == null || targetDirs.length === 0 || !isBuilt)
            return;
          const filesResponse = await (0, directory_fetcher_1.fetchFromDir)(rootDir, { resolveSymlinks: opts.resolveSymlinksInInjectedDirs });
          await Promise.all(targetDirs.map(async (targetDir) => {
            const targetModulesDir = path_1.default.join(targetDir, "node_modules");
            const nodeModulesIndex = {};
            if (fs_1.default.existsSync(targetModulesDir)) {
              await scanDir("node_modules", targetModulesDir, targetModulesDir, nodeModulesIndex);
            }
            return opts.storeController.importPackage(targetDir, {
              filesResponse: {
                resolvedFrom: "local-dir",
                ...filesResponse,
                filesIndex: {
                  ...filesResponse.filesIndex,
                  ...nodeModulesIndex
                }
              },
              force: false
            });
          }));
        });
      });
      await (0, run_groups_1.default)(childConcurrency, groups);
    }
    async function scanDir(prefix, rootDir, currentDir, index) {
      const files = await fs_1.default.promises.readdir(currentDir);
      await Promise.all(files.map(async (file) => {
        const fullPath = path_1.default.join(currentDir, file);
        const stat = await fs_1.default.promises.stat(fullPath);
        if (stat.isDirectory()) {
          return scanDir(prefix, rootDir, fullPath, index);
        }
        if (stat.isFile()) {
          const relativePath = path_1.default.relative(rootDir, fullPath);
          index[path_1.default.join(prefix, relativePath)] = fullPath;
        }
      }));
    }
  }
});

// ../exec/lifecycle/lib/index.js
var require_lib77 = __commonJS({
  "../exec/lifecycle/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runLifecycleHooksConcurrently = exports2.runLifecycleHook = void 0;
    exports2.makeNodeRequireOption = makeNodeRequireOption;
    exports2.runPostinstallHooks = runPostinstallHooks;
    var read_package_json_1 = require_lib50();
    var runLifecycleHook_1 = require_runLifecycleHook();
    Object.defineProperty(exports2, "runLifecycleHook", { enumerable: true, get: function() {
      return runLifecycleHook_1.runLifecycleHook;
    } });
    var runLifecycleHooksConcurrently_1 = require_runLifecycleHooksConcurrently();
    Object.defineProperty(exports2, "runLifecycleHooksConcurrently", { enumerable: true, get: function() {
      return runLifecycleHooksConcurrently_1.runLifecycleHooksConcurrently;
    } });
    function makeNodeRequireOption(modulePath) {
      let { NODE_OPTIONS } = process.env;
      NODE_OPTIONS = `${NODE_OPTIONS ?? ""} --require=${modulePath}`.trim();
      return { NODE_OPTIONS };
    }
    async function runPostinstallHooks(opts) {
      const pkg = await (0, read_package_json_1.safeReadPackageJsonFromDir)(opts.pkgRoot);
      if (pkg == null)
        return false;
      if (pkg.scripts == null) {
        pkg.scripts = {};
      }
      if (pkg.scripts.preinstall) {
        await (0, runLifecycleHook_1.runLifecycleHook)("preinstall", pkg, opts);
      }
      const executedAnInstallScript = await (0, runLifecycleHook_1.runLifecycleHook)("install", pkg, opts);
      if (pkg.scripts.postinstall) {
        await (0, runLifecycleHook_1.runLifecycleHook)("postinstall", pkg, opts);
      }
      return pkg.scripts.preinstall != null || executedAnInstallScript || pkg.scripts.postinstall != null;
    }
  }
});

// ../node_modules/.pnpm/p-locate@4.1.0/node_modules/p-locate/index.js
var require_p_locate2 = __commonJS({
  "../node_modules/.pnpm/p-locate@4.1.0/node_modules/p-locate/index.js"(exports2, module2) {
    "use strict";
    var pLimit = require_p_limit2();
    var EndError = class extends Error {
      constructor(value) {
        super();
        this.value = value;
      }
    };
    var testElement = async (element, tester) => tester(await element);
    var finder = async (element) => {
      const values = await Promise.all(element);
      if (values[1] === true) {
        throw new EndError(values[0]);
      }
      return false;
    };
    var pLocate = async (iterable, tester, options) => {
      options = {
        concurrency: Infinity,
        preserveOrder: true,
        ...options
      };
      const limit = pLimit(options.concurrency);
      const items = [...iterable].map((element) => [element, limit(testElement, element, tester)]);
      const checkLimit = pLimit(options.preserveOrder ? 1 : Infinity);
      try {
        await Promise.all(items.map((element) => checkLimit(finder, element)));
      } catch (error) {
        if (error instanceof EndError) {
          return error.value;
        }
        throw error;
      }
    };
    module2.exports = pLocate;
    module2.exports.default = pLocate;
  }
});

// ../node_modules/.pnpm/locate-path@5.0.0/node_modules/locate-path/index.js
var require_locate_path2 = __commonJS({
  "../node_modules/.pnpm/locate-path@5.0.0/node_modules/locate-path/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var fs = require("fs");
    var { promisify } = require("util");
    var pLocate = require_p_locate2();
    var fsStat = promisify(fs.stat);
    var fsLStat = promisify(fs.lstat);
    var typeMappings = {
      directory: "isDirectory",
      file: "isFile"
    };
    function checkType({ type }) {
      if (type in typeMappings) {
        return;
      }
      throw new Error(`Invalid type specified: ${type}`);
    }
    var matchType = (type, stat) => type === void 0 || stat[typeMappings[type]]();
    module2.exports = async (paths, options) => {
      options = {
        cwd: process.cwd(),
        type: "file",
        allowSymlinks: true,
        ...options
      };
      checkType(options);
      const statFn = options.allowSymlinks ? fsStat : fsLStat;
      return pLocate(paths, async (path_) => {
        try {
          const stat = await statFn(path2.resolve(options.cwd, path_));
          return matchType(options.type, stat);
        } catch (_) {
          return false;
        }
      }, options);
    };
    module2.exports.sync = (paths, options) => {
      options = {
        cwd: process.cwd(),
        allowSymlinks: true,
        type: "file",
        ...options
      };
      checkType(options);
      const statFn = options.allowSymlinks ? fs.statSync : fs.lstatSync;
      for (const path_ of paths) {
        try {
          const stat = statFn(path2.resolve(options.cwd, path_));
          if (matchType(options.type, stat)) {
            return path_;
          }
        } catch (_) {
        }
      }
    };
  }
});

// ../node_modules/.pnpm/find-up@4.1.0/node_modules/find-up/index.js
var require_find_up2 = __commonJS({
  "../node_modules/.pnpm/find-up@4.1.0/node_modules/find-up/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var locatePath = require_locate_path2();
    var pathExists = require_path_exists2();
    var stop = Symbol("findUp.stop");
    module2.exports = async (name, options = {}) => {
      let directory = path2.resolve(options.cwd || "");
      const { root } = path2.parse(directory);
      const paths = [].concat(name);
      const runMatcher = async (locateOptions) => {
        if (typeof name !== "function") {
          return locatePath(paths, locateOptions);
        }
        const foundPath = await name(locateOptions.cwd);
        if (typeof foundPath === "string") {
          return locatePath([foundPath], locateOptions);
        }
        return foundPath;
      };
      while (true) {
        const foundPath = await runMatcher({ ...options, cwd: directory });
        if (foundPath === stop) {
          return;
        }
        if (foundPath) {
          return path2.resolve(directory, foundPath);
        }
        if (directory === root) {
          return;
        }
        directory = path2.dirname(directory);
      }
    };
    module2.exports.sync = (name, options = {}) => {
      let directory = path2.resolve(options.cwd || "");
      const { root } = path2.parse(directory);
      const paths = [].concat(name);
      const runMatcher = (locateOptions) => {
        if (typeof name !== "function") {
          return locatePath.sync(paths, locateOptions);
        }
        const foundPath = name(locateOptions.cwd);
        if (typeof foundPath === "string") {
          return locatePath.sync([foundPath], locateOptions);
        }
        return foundPath;
      };
      while (true) {
        const foundPath = runMatcher({ ...options, cwd: directory });
        if (foundPath === stop) {
          return;
        }
        if (foundPath) {
          return path2.resolve(directory, foundPath);
        }
        if (directory === root) {
          return;
        }
        directory = path2.dirname(directory);
      }
    };
    module2.exports.exists = pathExists;
    module2.exports.sync.exists = pathExists.sync;
    module2.exports.stop = stop;
  }
});

// ../node_modules/.pnpm/pkg-dir@4.2.0/node_modules/pkg-dir/index.js
var require_pkg_dir = __commonJS({
  "../node_modules/.pnpm/pkg-dir@4.2.0/node_modules/pkg-dir/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var findUp = require_find_up2();
    var pkgDir = async (cwd) => {
      const filePath = await findUp("package.json", { cwd });
      return filePath && path2.dirname(filePath);
    };
    module2.exports = pkgDir;
    module2.exports.default = pkgDir;
    module2.exports.sync = (cwd) => {
      const filePath = findUp.sync("package.json", { cwd });
      return filePath && path2.dirname(filePath);
    };
  }
});

// ../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/core.js
var require_core7 = __commonJS({
  "../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/core.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readPackageJSON = exports2.extractWorkspaces = exports2.isMatchWorkspaces = exports2.checkWorkspaces = exports2.findWorkspaceRoot = void 0;
    var path_1 = __importDefault2(require("path"));
    var pkg_dir_1 = __importDefault2(require_pkg_dir());
    var fs_1 = require("fs");
    var micromatch_12 = __importDefault2(require_micromatch());
    function findWorkspaceRoot(initial) {
      if (!initial) {
        initial = process.cwd();
      }
      let _pkg = pkg_dir_1.default.sync(initial);
      if (!_pkg) {
        return null;
      }
      initial = path_1.default.normalize(_pkg);
      let previous = null;
      let current = initial;
      do {
        const manifest = readPackageJSON(current);
        const workspaces = extractWorkspaces(manifest);
        let { done, found } = checkWorkspaces(current, initial);
        if (done) {
          return found;
        }
        previous = current;
        current = path_1.default.dirname(current);
      } while (current !== previous);
      return null;
    }
    exports2.findWorkspaceRoot = findWorkspaceRoot;
    function checkWorkspaces(current, initial) {
      const manifest = readPackageJSON(current);
      const workspaces = extractWorkspaces(manifest);
      let done = false;
      let found;
      let relativePath;
      if (workspaces) {
        done = true;
        relativePath = path_1.default.relative(current, initial);
        if (relativePath === "" || isMatchWorkspaces(relativePath, workspaces)) {
          found = current;
        } else {
          found = null;
        }
      }
      return {
        done,
        found,
        relativePath
      };
    }
    exports2.checkWorkspaces = checkWorkspaces;
    function isMatchWorkspaces(relativePath, workspaces) {
      let ls = micromatch_12.default([relativePath], workspaces);
      return ls.length > 0;
    }
    exports2.isMatchWorkspaces = isMatchWorkspaces;
    function extractWorkspaces(manifest) {
      const workspaces = (manifest || {}).workspaces;
      return workspaces && workspaces.packages || (Array.isArray(workspaces) ? workspaces : null);
    }
    exports2.extractWorkspaces = extractWorkspaces;
    function readPackageJSON(dir) {
      const file = path_1.default.join(dir, "package.json");
      if (fs_1.existsSync(file)) {
        return JSON.parse(fs_1.readFileSync(file, "utf8"));
      }
      return null;
    }
    exports2.readPackageJSON = readPackageJSON;
    findWorkspaceRoot.findWorkspaceRoot = findWorkspaceRoot;
    findWorkspaceRoot.readPackageJSON = readPackageJSON;
    findWorkspaceRoot.extractWorkspaces = extractWorkspaces;
    findWorkspaceRoot.isMatchWorkspaces = isMatchWorkspaces;
    findWorkspaceRoot.default = findWorkspaceRoot;
    exports2.default = findWorkspaceRoot;
  }
});

// ../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/index.js
var require_find_yarn_workspace_root2 = __commonJS({
  "../node_modules/.pnpm/find-yarn-workspace-root2@1.2.16/node_modules/find-yarn-workspace-root2/index.js"(exports2, module2) {
    "use strict";
    var core_1 = require_core7();
    module2.exports = core_1.findWorkspaceRoot;
  }
});

// ../node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js
var require_pify = __commonJS({
  "../node_modules/.pnpm/pify@4.0.1/node_modules/pify/index.js"(exports2, module2) {
    "use strict";
    var processFn = (fn, options) => function(...args) {
      const P = options.promiseModule;
      return new P((resolve, reject) => {
        if (options.multiArgs) {
          args.push((...result2) => {
            if (options.errorFirst) {
              if (result2[0]) {
                reject(result2);
              } else {
                result2.shift();
                resolve(result2);
              }
            } else {
              resolve(result2);
            }
          });
        } else if (options.errorFirst) {
          args.push((error, result2) => {
            if (error) {
              reject(error);
            } else {
              resolve(result2);
            }
          });
        } else {
          args.push(resolve);
        }
        fn.apply(this, args);
      });
    };
    module2.exports = (input, options) => {
      options = Object.assign({
        exclude: [/.+(Sync|Stream)$/],
        errorFirst: true,
        promiseModule: Promise
      }, options);
      const objType = typeof input;
      if (!(input !== null && (objType === "object" || objType === "function"))) {
        throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${input === null ? "null" : objType}\``);
      }
      const filter = (key) => {
        const match = (pattern) => typeof pattern === "string" ? key === pattern : pattern.test(key);
        return options.include ? options.include.some(match) : !options.exclude.some(match);
      };
      let ret2;
      if (objType === "function") {
        ret2 = function(...args) {
          return options.excludeMain ? input(...args) : processFn(input, options).apply(this, args);
        };
      } else {
        ret2 = Object.create(Object.getPrototypeOf(input));
      }
      for (const key in input) {
        const property = input[key];
        ret2[key] = typeof property === "function" && filter(key) ? processFn(property, options) : property;
      }
      return ret2;
    };
  }
});

// ../node_modules/.pnpm/strip-bom@3.0.0/node_modules/strip-bom/index.js
var require_strip_bom2 = __commonJS({
  "../node_modules/.pnpm/strip-bom@3.0.0/node_modules/strip-bom/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (x) => {
      if (typeof x !== "string") {
        throw new TypeError("Expected a string, got " + typeof x);
      }
      if (x.charCodeAt(0) === 65279) {
        return x.slice(1);
      }
      return x;
    };
  }
});

// ../node_modules/.pnpm/load-yaml-file@0.2.0/node_modules/load-yaml-file/index.js
var require_load_yaml_file = __commonJS({
  "../node_modules/.pnpm/load-yaml-file@0.2.0/node_modules/load-yaml-file/index.js"(exports2, module2) {
    "use strict";
    var fs = require_graceful_fs();
    var pify = require_pify();
    var stripBom = require_strip_bom2();
    var yaml = require_js_yaml3();
    var parse2 = (data) => yaml.safeLoad(stripBom(data));
    module2.exports = (fp) => pify(fs.readFile)(fp, "utf8").then((data) => parse2(data));
    module2.exports.sync = (fp) => parse2(fs.readFileSync(fp, "utf8"));
  }
});

// ../node_modules/.pnpm/which-pm@2.2.0/node_modules/which-pm/index.js
var require_which_pm = __commonJS({
  "../node_modules/.pnpm/which-pm@2.2.0/node_modules/which-pm/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var pathExists = require_path_exists2();
    var loadYamlFile = require_load_yaml_file();
    module2.exports = async function(pkgPath) {
      const modulesPath = path2.join(pkgPath, "node_modules");
      const exists = await pathExists(path2.join(modulesPath, ".yarn-integrity"));
      if (exists) return { name: "yarn" };
      if (await pathExists(path2.join(pkgPath, "bun.lockb"))) return { name: "bun" };
      try {
        const modules = await loadYamlFile(path2.join(modulesPath, ".modules.yaml"));
        return toNameAndVersion(modules.packageManager);
      } catch (err) {
        if (err.code !== "ENOENT") throw err;
      }
      const modulesExists = await pathExists(modulesPath);
      return modulesExists ? { name: "npm" } : null;
    };
    function toNameAndVersion(pkgSpec) {
      if (pkgSpec[0] === "@") {
        const woPrefix = pkgSpec.substr(1);
        const parts2 = woPrefix.split("@");
        return {
          name: `@${parts2[0]}`,
          version: parts2[1]
        };
      }
      const parts = pkgSpec.split("@");
      return {
        name: parts[0],
        version: parts[1]
      };
    }
  }
});

// ../node_modules/.pnpm/preferred-pm@3.1.4/node_modules/preferred-pm/index.js
var require_preferred_pm = __commonJS({
  "../node_modules/.pnpm/preferred-pm@3.1.4/node_modules/preferred-pm/index.js"(exports2, module2) {
    "use strict";
    var findYarnWorkspaceRoot = require_find_yarn_workspace_root2();
    var findUp = require_find_up();
    var path2 = require("path");
    var pathExists = require_path_exists2();
    var whichPM = require_which_pm();
    module2.exports = async function preferredPM(pkgPath) {
      if (typeof pkgPath !== "string") {
        throw new TypeError(`pkgPath should be a string, got ${typeof pkgPath}`);
      }
      if (await pathExists(path2.join(pkgPath, "package-lock.json"))) {
        return {
          name: "npm",
          version: ">=5"
        };
      }
      if (await pathExists(path2.join(pkgPath, "yarn.lock"))) {
        return {
          name: "yarn",
          version: "*"
        };
      }
      if (await pathExists(path2.join(pkgPath, "pnpm-lock.yaml"))) {
        return {
          name: "pnpm",
          version: ">=3"
        };
      }
      if (await pathExists(path2.join(pkgPath, "shrinkwrap.yaml"))) {
        return {
          name: "pnpm",
          version: "1 || 2"
        };
      }
      if (await pathExists(path2.join(pkgPath, "bun.lockb"))) {
        return {
          name: "bun",
          version: "*"
        };
      }
      if (await findUp("pnpm-lock.yaml", { cwd: pkgPath })) {
        return {
          name: "pnpm",
          version: ">=3"
        };
      }
      try {
        const workspaceRoot = findYarnWorkspaceRoot(pkgPath);
        if (typeof workspaceRoot === "string") {
          if (await pathExists(path2.join(workspaceRoot, "package-lock.json"))) {
            return {
              name: "npm",
              version: ">=7"
            };
          }
          return {
            name: "yarn",
            version: "*"
          };
        }
      } catch (err) {
      }
      const pm = await whichPM(pkgPath);
      return pm && { name: pm.name, version: pm.version || "*" };
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/omit.js
var require_omit = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/omit.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var omit = /* @__PURE__ */ _curry2(function omit2(names, obj) {
      var result2 = {};
      var index = {};
      var idx = 0;
      var len = names.length;
      while (idx < len) {
        index[names[idx]] = 1;
        idx += 1;
      }
      for (var prop in obj) {
        if (!index.hasOwnProperty(prop)) {
          result2[prop] = obj[prop];
        }
      }
      return result2;
    });
    module2.exports = omit;
  }
});

// ../exec/prepare-package/lib/index.js
var require_lib78 = __commonJS({
  "../exec/prepare-package/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.preparePackage = preparePackage;
    var assert_1 = __importDefault2(require("assert"));
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var lifecycle_1 = require_lib77();
    var read_package_json_1 = require_lib50();
    var rimraf_1 = __importDefault2(require_rimraf());
    var preferred_pm_1 = __importDefault2(require_preferred_pm());
    var omit_1 = __importDefault2(require_omit());
    var PREPUBLISH_SCRIPTS = [
      "prepublish",
      "prepack",
      "publish"
    ];
    async function preparePackage(opts, gitRootDir, subDir) {
      const pkgDir = safeJoinPath(gitRootDir, subDir);
      const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgDir);
      if (manifest?.scripts == null || !packageShouldBeBuilt(manifest, pkgDir))
        return { shouldBeBuilt: false, pkgDir };
      if (opts.ignoreScripts)
        return { shouldBeBuilt: true, pkgDir };
      const pm = (await (0, preferred_pm_1.default)(gitRootDir))?.name ?? "npm";
      const execOpts = {
        depPath: `${manifest.name}@${manifest.version}`,
        pkgRoot: pkgDir,
        // We can't prepare a package without running its lifecycle scripts.
        // An alternative solution could be to throw an exception.
        rawConfig: (0, omit_1.default)(["ignore-scripts"], opts.rawConfig),
        rootModulesDir: pkgDir,
        // We don't need this property but there is currently no way to not set it.
        unsafePerm: Boolean(opts.unsafePerm)
      };
      try {
        const installScriptName = `${pm}-install`;
        manifest.scripts[installScriptName] = `${pm} install`;
        await (0, lifecycle_1.runLifecycleHook)(installScriptName, manifest, execOpts);
        for (const scriptName of PREPUBLISH_SCRIPTS) {
          if (manifest.scripts[scriptName] == null || manifest.scripts[scriptName] === "")
            continue;
          let newScriptName;
          if (pm !== "pnpm") {
            newScriptName = `${pm}-run-${scriptName}`;
            manifest.scripts[newScriptName] = `${pm} run ${scriptName}`;
          } else {
            newScriptName = scriptName;
          }
          await (0, lifecycle_1.runLifecycleHook)(newScriptName, manifest, execOpts);
        }
      } catch (err) {
        (0, assert_1.default)(util_1.default.types.isNativeError(err));
        Object.assign(err, {
          code: "ERR_PNPM_PREPARE_PACKAGE"
        });
        throw err;
      }
      await (0, rimraf_1.default)(path_1.default.join(pkgDir, "node_modules"));
      return { shouldBeBuilt: true, pkgDir };
    }
    function packageShouldBeBuilt(manifest, pkgDir) {
      if (manifest.scripts == null)
        return false;
      const scripts = manifest.scripts;
      if (scripts.prepare != null && scripts.prepare !== "")
        return true;
      const hasPrepublishScript = PREPUBLISH_SCRIPTS.some((scriptName) => scripts[scriptName] != null && scripts[scriptName] !== "");
      if (!hasPrepublishScript)
        return false;
      const mainFile = manifest.main ?? "index.js";
      return !fs_1.default.existsSync(path_1.default.join(pkgDir, mainFile));
    }
    function safeJoinPath(root, sub) {
      const joined = path_1.default.join(root, sub);
      const relative = path_1.default.relative(root, joined);
      if (relative.startsWith("..")) {
        throw new error_1.PnpmError("INVALID_PATH", `Path "${sub}" should be a sub directory`);
      }
      if (!fs_1.default.existsSync(joined) || !fs_1.default.lstatSync(joined).isDirectory()) {
        throw new error_1.PnpmError("INVALID_PATH", `Path "${sub}" is not a directory`);
      }
      return joined;
    }
  }
});

// ../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js
var require_gitHostedTarballFetcher = __commonJS({
  "../fetching/tarball-fetcher/lib/gitHostedTarballFetcher.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createGitHostedTarballFetcher = createGitHostedTarballFetcher;
    var assert_1 = __importDefault2(require("assert"));
    var promises_1 = __importDefault2(require("node:fs/promises"));
    var util_1 = __importDefault2(require("util"));
    var fs_packlist_1 = require_lib65();
    var logger_1 = require_lib();
    var prepare_package_1 = require_lib78();
    var worker_1 = require_lib60();
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    var path_temp_1 = require_path_temp();
    function createGitHostedTarballFetcher(fetchRemoteTarball, fetcherOpts) {
      const fetch = async (cafs, resolution, opts) => {
        const tempIndexFile = (0, path_temp_1.fastPathTemp)(opts.filesIndexFile);
        const { filesIndex, manifest, requiresBuild } = await fetchRemoteTarball(cafs, resolution, {
          ...opts,
          filesIndexFile: tempIndexFile
        });
        try {
          const prepareResult = await prepareGitHostedPkg(filesIndex, cafs, tempIndexFile, opts.filesIndexFile, fetcherOpts, opts, resolution);
          if (prepareResult.ignoredBuild) {
            (0, logger_1.globalWarn)(`The git-hosted package fetched from "${resolution.tarball}" has to be built but the build scripts were ignored.`);
          }
          return {
            filesIndex: prepareResult.filesIndex,
            manifest: prepareResult.manifest ?? manifest,
            requiresBuild
          };
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          err.message = `Failed to prepare git-hosted package fetched from "${resolution.tarball}": ${err.message}`;
          throw err;
        }
      };
      return fetch;
    }
    async function prepareGitHostedPkg(filesIndex, cafs, filesIndexFileNonBuilt, filesIndexFile, opts, fetcherOpts, resolution) {
      const tempLocation = await cafs.tempDir();
      cafs.importPackage(tempLocation, {
        filesResponse: {
          filesIndex,
          resolvedFrom: "remote",
          requiresBuild: false
        },
        force: true
      });
      const { shouldBeBuilt, pkgDir } = await (0, prepare_package_1.preparePackage)(opts, tempLocation, resolution.path ?? "");
      const files = await (0, fs_packlist_1.packlist)(pkgDir);
      if (!resolution.path && files.length === Object.keys(filesIndex).length) {
        if (!shouldBeBuilt) {
          if (filesIndexFileNonBuilt !== filesIndexFile) {
            await (0, rename_overwrite_1.default)(filesIndexFileNonBuilt, filesIndexFile);
          }
          return {
            filesIndex,
            ignoredBuild: false
          };
        }
        if (opts.ignoreScripts) {
          return {
            filesIndex,
            ignoredBuild: true
          };
        }
      }
      try {
        await promises_1.default.unlink(filesIndexFileNonBuilt);
      } catch {
      }
      return {
        ...await (0, worker_1.addFilesFromDir)({
          storeDir: cafs.storeDir,
          dir: pkgDir,
          files,
          filesIndexFile,
          pkg: fetcherOpts.pkg,
          readManifest: fetcherOpts.readManifest
        }),
        ignoredBuild: Boolean(opts.ignoreScripts)
      };
    }
  }
});

// ../fetching/tarball-fetcher/lib/index.js
var require_lib79 = __commonJS({
  "../fetching/tarball-fetcher/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TarballIntegrityError = exports2.BadTarballError = void 0;
    exports2.createTarballFetcher = createTarballFetcher;
    var error_1 = require_lib6();
    var worker_1 = require_lib60();
    Object.defineProperty(exports2, "TarballIntegrityError", { enumerable: true, get: function() {
      return worker_1.TarballIntegrityError;
    } });
    var remoteTarballFetcher_1 = require_remoteTarballFetcher();
    var localTarballFetcher_1 = require_localTarballFetcher();
    var gitHostedTarballFetcher_1 = require_gitHostedTarballFetcher();
    var errorTypes_1 = require_errorTypes();
    Object.defineProperty(exports2, "BadTarballError", { enumerable: true, get: function() {
      return errorTypes_1.BadTarballError;
    } });
    function createTarballFetcher(fetchFromRegistry, getAuthHeader, opts) {
      const download = (0, remoteTarballFetcher_1.createDownloader)(fetchFromRegistry, {
        retry: opts.retry,
        timeout: opts.timeout
      });
      const remoteTarballFetcher = fetchFromTarball.bind(null, {
        download,
        getAuthHeaderByURI: getAuthHeader,
        offline: opts.offline
      });
      return {
        localTarball: (0, localTarballFetcher_1.createLocalTarballFetcher)(),
        remoteTarball: remoteTarballFetcher,
        gitHostedTarball: (0, gitHostedTarballFetcher_1.createGitHostedTarballFetcher)(remoteTarballFetcher, opts)
      };
    }
    async function fetchFromTarball(ctx, cafs, resolution, opts) {
      if (ctx.offline) {
        throw new error_1.PnpmError("NO_OFFLINE_TARBALL", `A package is missing from the store but cannot download it in offline mode. The missing package may be downloaded from ${resolution.tarball}.`);
      }
      return ctx.download(resolution.tarball, {
        getAuthHeaderByURI: ctx.getAuthHeaderByURI,
        cafs,
        integrity: resolution.integrity,
        readManifest: opts.readManifest,
        onProgress: opts.onProgress,
        onStart: opts.onStart,
        registry: resolution.registry,
        filesIndexFile: opts.filesIndexFile,
        pkg: opts.pkg
      });
    }
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/constants.js
var require_constants13 = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/constants.js"(exports2, module2) {
    module2.exports = {
      /* The local file header */
      LOCHDR: 30,
      // LOC header size
      LOCSIG: 67324752,
      // "PK\003\004"
      LOCVER: 4,
      // version needed to extract
      LOCFLG: 6,
      // general purpose bit flag
      LOCHOW: 8,
      // compression method
      LOCTIM: 10,
      // modification time (2 bytes time, 2 bytes date)
      LOCCRC: 14,
      // uncompressed file crc-32 value
      LOCSIZ: 18,
      // compressed size
      LOCLEN: 22,
      // uncompressed size
      LOCNAM: 26,
      // filename length
      LOCEXT: 28,
      // extra field length
      /* The Data descriptor */
      EXTSIG: 134695760,
      // "PK\007\008"
      EXTHDR: 16,
      // EXT header size
      EXTCRC: 4,
      // uncompressed file crc-32 value
      EXTSIZ: 8,
      // compressed size
      EXTLEN: 12,
      // uncompressed size
      /* The central directory file header */
      CENHDR: 46,
      // CEN header size
      CENSIG: 33639248,
      // "PK\001\002"
      CENVEM: 4,
      // version made by
      CENVER: 6,
      // version needed to extract
      CENFLG: 8,
      // encrypt, decrypt flags
      CENHOW: 10,
      // compression method
      CENTIM: 12,
      // modification time (2 bytes time, 2 bytes date)
      CENCRC: 16,
      // uncompressed file crc-32 value
      CENSIZ: 20,
      // compressed size
      CENLEN: 24,
      // uncompressed size
      CENNAM: 28,
      // filename length
      CENEXT: 30,
      // extra field length
      CENCOM: 32,
      // file comment length
      CENDSK: 34,
      // volume number start
      CENATT: 36,
      // internal file attributes
      CENATX: 38,
      // external file attributes (host system dependent)
      CENOFF: 42,
      // LOC header offset
      /* The entries in the end of central directory */
      ENDHDR: 22,
      // END header size
      ENDSIG: 101010256,
      // "PK\005\006"
      ENDSUB: 8,
      // number of entries on this disk
      ENDTOT: 10,
      // total number of entries
      ENDSIZ: 12,
      // central directory size in bytes
      ENDOFF: 16,
      // offset of first CEN header
      ENDCOM: 20,
      // zip file comment length
      END64HDR: 20,
      // zip64 END header size
      END64SIG: 117853008,
      // zip64 Locator signature, "PK\006\007"
      END64START: 4,
      // number of the disk with the start of the zip64
      END64OFF: 8,
      // relative offset of the zip64 end of central directory
      END64NUMDISKS: 16,
      // total number of disks
      ZIP64SIG: 101075792,
      // zip64 signature, "PK\006\006"
      ZIP64HDR: 56,
      // zip64 record minimum size
      ZIP64LEAD: 12,
      // leading bytes at the start of the record, not counted by the value stored in ZIP64SIZE
      ZIP64SIZE: 4,
      // zip64 size of the central directory record
      ZIP64VEM: 12,
      // zip64 version made by
      ZIP64VER: 14,
      // zip64 version needed to extract
      ZIP64DSK: 16,
      // zip64 number of this disk
      ZIP64DSKDIR: 20,
      // number of the disk with the start of the record directory
      ZIP64SUB: 24,
      // number of entries on this disk
      ZIP64TOT: 32,
      // total number of entries
      ZIP64SIZB: 40,
      // zip64 central directory size in bytes
      ZIP64OFF: 48,
      // offset of start of central directory with respect to the starting disk number
      ZIP64EXTRA: 56,
      // extensible data sector
      /* Compression methods */
      STORED: 0,
      // no compression
      SHRUNK: 1,
      // shrunk
      REDUCED1: 2,
      // reduced with compression factor 1
      REDUCED2: 3,
      // reduced with compression factor 2
      REDUCED3: 4,
      // reduced with compression factor 3
      REDUCED4: 5,
      // reduced with compression factor 4
      IMPLODED: 6,
      // imploded
      // 7 reserved for Tokenizing compression algorithm
      DEFLATED: 8,
      // deflated
      ENHANCED_DEFLATED: 9,
      // enhanced deflated
      PKWARE: 10,
      // PKWare DCL imploded
      // 11 reserved by PKWARE
      BZIP2: 12,
      //  compressed using BZIP2
      // 13 reserved by PKWARE
      LZMA: 14,
      // LZMA
      // 15-17 reserved by PKWARE
      IBM_TERSE: 18,
      // compressed using IBM TERSE
      IBM_LZ77: 19,
      // IBM LZ77 z
      AES_ENCRYPT: 99,
      // WinZIP AES encryption method
      /* General purpose bit flag */
      // values can obtained with expression 2**bitnr
      FLG_ENC: 1,
      // Bit 0: encrypted file
      FLG_COMP1: 2,
      // Bit 1, compression option
      FLG_COMP2: 4,
      // Bit 2, compression option
      FLG_DESC: 8,
      // Bit 3, data descriptor
      FLG_ENH: 16,
      // Bit 4, enhanced deflating
      FLG_PATCH: 32,
      // Bit 5, indicates that the file is compressed patched data.
      FLG_STR: 64,
      // Bit 6, strong encryption (patented)
      // Bits 7-10: Currently unused.
      FLG_EFS: 2048,
      // Bit 11: Language encoding flag (EFS)
      // Bit 12: Reserved by PKWARE for enhanced compression.
      // Bit 13: encrypted the Central Directory (patented).
      // Bits 14-15: Reserved by PKWARE.
      FLG_MSK: 4096,
      // mask header values
      /* Load type */
      FILE: 2,
      BUFFER: 1,
      NONE: 0,
      /* 4.5 Extensible data fields */
      EF_ID: 0,
      EF_SIZE: 2,
      /* Header IDs */
      ID_ZIP64: 1,
      ID_AVINFO: 7,
      ID_PFS: 8,
      ID_OS2: 9,
      ID_NTFS: 10,
      ID_OPENVMS: 12,
      ID_UNIX: 13,
      ID_FORK: 14,
      ID_PATCH: 15,
      ID_X509_PKCS7: 20,
      ID_X509_CERTID_F: 21,
      ID_X509_CERTID_C: 22,
      ID_STRONGENC: 23,
      ID_RECORD_MGT: 24,
      ID_X509_PKCS7_RL: 25,
      ID_IBM1: 101,
      ID_IBM2: 102,
      ID_POSZIP: 18064,
      EF_ZIP64_OR_32: 4294967295,
      EF_ZIP64_OR_16: 65535,
      EF_ZIP64_SUNCOMP: 0,
      EF_ZIP64_SCOMP: 8,
      EF_ZIP64_RHO: 16,
      EF_ZIP64_DSN: 24
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/errors.js
var require_errors5 = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/errors.js"(exports2) {
    var errors = {
      /* Header error messages */
      INVALID_LOC: "Invalid LOC header (bad signature)",
      INVALID_CEN: "Invalid CEN header (bad signature)",
      INVALID_END: "Invalid END header (bad signature)",
      /* Descriptor */
      DESCRIPTOR_NOT_EXIST: "No descriptor present",
      DESCRIPTOR_UNKNOWN: "Unknown descriptor format",
      DESCRIPTOR_FAULTY: "Descriptor data is malformed",
      /* ZipEntry error messages*/
      NO_DATA: "Nothing to decompress",
      BAD_CRC: "CRC32 checksum failed {0}",
      FILE_IN_THE_WAY: "There is a file in the way: {0}",
      UNKNOWN_METHOD: "Invalid/unsupported compression method",
      /* Inflater error messages */
      AVAIL_DATA: "inflate::Available inflate data did not terminate",
      INVALID_DISTANCE: "inflate::Invalid literal/length or distance code in fixed or dynamic block",
      TO_MANY_CODES: "inflate::Dynamic block code description: too many length or distance codes",
      INVALID_REPEAT_LEN: "inflate::Dynamic block code description: repeat more than specified lengths",
      INVALID_REPEAT_FIRST: "inflate::Dynamic block code description: repeat lengths with no first length",
      INCOMPLETE_CODES: "inflate::Dynamic block code description: code lengths codes incomplete",
      INVALID_DYN_DISTANCE: "inflate::Dynamic block code description: invalid distance code lengths",
      INVALID_CODES_LEN: "inflate::Dynamic block code description: invalid literal/length code lengths",
      INVALID_STORE_BLOCK: "inflate::Stored block length did not match one's complement",
      INVALID_BLOCK_TYPE: "inflate::Invalid block type (type == 3)",
      /* ADM-ZIP error messages */
      CANT_EXTRACT_FILE: "Could not extract the file",
      CANT_OVERRIDE: "Target file already exists",
      DISK_ENTRY_TOO_LARGE: "Number of disk entries is too large",
      NO_ZIP: "No zip file was loaded",
      NO_ENTRY: "Entry doesn't exist",
      DIRECTORY_CONTENT_ERROR: "A directory cannot have content",
      FILE_NOT_FOUND: 'File not found: "{0}"',
      NOT_IMPLEMENTED: "Not implemented",
      INVALID_FILENAME: "Invalid filename",
      INVALID_FORMAT: "Invalid or unsupported zip format. No END header found",
      INVALID_PASS_PARAM: "Incompatible password parameter",
      WRONG_PASSWORD: "Wrong Password",
      /* ADM-ZIP */
      COMMENT_TOO_LONG: "Comment is too long",
      // Comment can be max 65535 bytes long (NOTE: some non-US characters may take more space)
      EXTRA_FIELD_PARSE_ERROR: "Extra field parsing error"
    };
    function E(message) {
      return function(...args) {
        if (args.length) {
          message = message.replace(/\{(\d)\}/g, (_, n) => args[n] || "");
        }
        return new Error("ADM-ZIP: " + message);
      };
    }
    for (const msg of Object.keys(errors)) {
      exports2[msg] = E(errors[msg]);
    }
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/utils.js
var require_utils12 = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/utils.js"(exports2, module2) {
    var fsystem = require("fs");
    var pth = require("path");
    var Constants = require_constants13();
    var Errors = require_errors5();
    var isWin = typeof process === "object" && "win32" === process.platform;
    var is_Obj = (obj) => typeof obj === "object" && obj !== null;
    var crcTable = new Uint32Array(256).map((t, c) => {
      for (let k = 0; k < 8; k++) {
        if ((c & 1) !== 0) {
          c = 3988292384 ^ c >>> 1;
        } else {
          c >>>= 1;
        }
      }
      return c >>> 0;
    });
    function Utils(opts) {
      this.sep = pth.sep;
      this.fs = fsystem;
      if (is_Obj(opts)) {
        if (is_Obj(opts.fs) && typeof opts.fs.statSync === "function") {
          this.fs = opts.fs;
        }
      }
    }
    module2.exports = Utils;
    Utils.prototype.makeDir = function(folder) {
      const self2 = this;
      function mkdirSync(fpath) {
        let resolvedPath = fpath.split(self2.sep)[0];
        fpath.split(self2.sep).forEach(function(name) {
          if (!name || name.substr(-1, 1) === ":") return;
          resolvedPath += self2.sep + name;
          var stat;
          try {
            stat = self2.fs.statSync(resolvedPath);
          } catch (e) {
            self2.fs.mkdirSync(resolvedPath);
          }
          if (stat && stat.isFile()) throw Errors.FILE_IN_THE_WAY(`"${resolvedPath}"`);
        });
      }
      mkdirSync(folder);
    };
    Utils.prototype.writeFileTo = function(path2, content, overwrite, attr) {
      const self2 = this;
      if (self2.fs.existsSync(path2)) {
        if (!overwrite) return false;
        var stat = self2.fs.statSync(path2);
        if (stat.isDirectory()) {
          return false;
        }
      }
      var folder = pth.dirname(path2);
      if (!self2.fs.existsSync(folder)) {
        self2.makeDir(folder);
      }
      var fd;
      try {
        fd = self2.fs.openSync(path2, "w", 438);
      } catch (e) {
        self2.fs.chmodSync(path2, 438);
        fd = self2.fs.openSync(path2, "w", 438);
      }
      if (fd) {
        try {
          self2.fs.writeSync(fd, content, 0, content.length, 0);
        } finally {
          self2.fs.closeSync(fd);
        }
      }
      self2.fs.chmodSync(path2, attr || 438);
      return true;
    };
    Utils.prototype.writeFileToAsync = function(path2, content, overwrite, attr, callback) {
      if (typeof attr === "function") {
        callback = attr;
        attr = void 0;
      }
      const self2 = this;
      self2.fs.exists(path2, function(exist) {
        if (exist && !overwrite) return callback(false);
        self2.fs.stat(path2, function(err, stat) {
          if (exist && stat.isDirectory()) {
            return callback(false);
          }
          var folder = pth.dirname(path2);
          self2.fs.exists(folder, function(exists) {
            if (!exists) self2.makeDir(folder);
            self2.fs.open(path2, "w", 438, function(err2, fd) {
              if (err2) {
                self2.fs.chmod(path2, 438, function() {
                  self2.fs.open(path2, "w", 438, function(err3, fd2) {
                    self2.fs.write(fd2, content, 0, content.length, 0, function() {
                      self2.fs.close(fd2, function() {
                        self2.fs.chmod(path2, attr || 438, function() {
                          callback(true);
                        });
                      });
                    });
                  });
                });
              } else if (fd) {
                self2.fs.write(fd, content, 0, content.length, 0, function() {
                  self2.fs.close(fd, function() {
                    self2.fs.chmod(path2, attr || 438, function() {
                      callback(true);
                    });
                  });
                });
              } else {
                self2.fs.chmod(path2, attr || 438, function() {
                  callback(true);
                });
              }
            });
          });
        });
      });
    };
    Utils.prototype.findFiles = function(path2) {
      const self2 = this;
      function findSync(dir, pattern, recursive) {
        if (typeof pattern === "boolean") {
          recursive = pattern;
          pattern = void 0;
        }
        let files = [];
        self2.fs.readdirSync(dir).forEach(function(file) {
          const path3 = pth.join(dir, file);
          const stat = self2.fs.statSync(path3);
          if (!pattern || pattern.test(path3)) {
            files.push(pth.normalize(path3) + (stat.isDirectory() ? self2.sep : ""));
          }
          if (stat.isDirectory() && recursive) files = files.concat(findSync(path3, pattern, recursive));
        });
        return files;
      }
      return findSync(path2, void 0, true);
    };
    Utils.prototype.findFilesAsync = function(dir, cb) {
      const self2 = this;
      let results = [];
      self2.fs.readdir(dir, function(err, list) {
        if (err) return cb(err);
        let list_length = list.length;
        if (!list_length) return cb(null, results);
        list.forEach(function(file) {
          file = pth.join(dir, file);
          self2.fs.stat(file, function(err2, stat) {
            if (err2) return cb(err2);
            if (stat) {
              results.push(pth.normalize(file) + (stat.isDirectory() ? self2.sep : ""));
              if (stat.isDirectory()) {
                self2.findFilesAsync(file, function(err3, res) {
                  if (err3) return cb(err3);
                  results = results.concat(res);
                  if (!--list_length) cb(null, results);
                });
              } else {
                if (!--list_length) cb(null, results);
              }
            }
          });
        });
      });
    };
    Utils.prototype.getAttributes = function() {
    };
    Utils.prototype.setAttributes = function() {
    };
    Utils.crc32update = function(crc, byte) {
      return crcTable[(crc ^ byte) & 255] ^ crc >>> 8;
    };
    Utils.crc32 = function(buf) {
      if (typeof buf === "string") {
        buf = Buffer.from(buf, "utf8");
      }
      let len = buf.length;
      let crc = ~0;
      for (let off = 0; off < len; ) crc = Utils.crc32update(crc, buf[off++]);
      return ~crc >>> 0;
    };
    Utils.methodToString = function(method) {
      switch (method) {
        case Constants.STORED:
          return "STORED (" + method + ")";
        case Constants.DEFLATED:
          return "DEFLATED (" + method + ")";
        default:
          return "UNSUPPORTED (" + method + ")";
      }
    };
    Utils.canonical = function(path2) {
      if (!path2) return "";
      const safeSuffix = pth.posix.normalize("/" + path2.split("\\").join("/"));
      return pth.join(".", safeSuffix);
    };
    Utils.zipnamefix = function(path2) {
      if (!path2) return "";
      const safeSuffix = pth.posix.normalize("/" + path2.split("\\").join("/"));
      return pth.posix.join(".", safeSuffix);
    };
    Utils.findLast = function(arr, callback) {
      if (!Array.isArray(arr)) throw new TypeError("arr is not array");
      const len = arr.length >>> 0;
      for (let i = len - 1; i >= 0; i--) {
        if (callback(arr[i], i, arr)) {
          return arr[i];
        }
      }
      return void 0;
    };
    Utils.sanitize = function(prefix, name) {
      prefix = pth.resolve(pth.normalize(prefix));
      var parts = name.split("/");
      for (var i = 0, l = parts.length; i < l; i++) {
        var path2 = pth.normalize(pth.join(prefix, parts.slice(i, l).join(pth.sep)));
        if (path2.indexOf(prefix) === 0) {
          return path2;
        }
      }
      return pth.normalize(pth.join(prefix, pth.basename(name)));
    };
    Utils.toBuffer = function toBuffer(input, encoder) {
      if (Buffer.isBuffer(input)) {
        return input;
      } else if (input instanceof Uint8Array) {
        return Buffer.from(input);
      } else {
        return typeof input === "string" ? encoder(input) : Buffer.alloc(0);
      }
    };
    Utils.readBigUInt64LE = function(buffer, index) {
      var slice = Buffer.from(buffer.slice(index, index + 8));
      slice.swap64();
      return parseInt(`0x${slice.toString("hex")}`);
    };
    Utils.fromDOS2Date = function(val) {
      return new Date((val >> 25 & 127) + 1980, Math.max((val >> 21 & 15) - 1, 0), Math.max(val >> 16 & 31, 1), val >> 11 & 31, val >> 5 & 63, (val & 31) << 1);
    };
    Utils.fromDate2DOS = function(val) {
      let date = 0;
      let time = 0;
      if (val.getFullYear() > 1979) {
        date = (val.getFullYear() - 1980 & 127) << 9 | val.getMonth() + 1 << 5 | val.getDate();
        time = val.getHours() << 11 | val.getMinutes() << 5 | val.getSeconds() >> 1;
      }
      return date << 16 | time;
    };
    Utils.isWin = isWin;
    Utils.crcTable = crcTable;
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/fattr.js
var require_fattr = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/fattr.js"(exports2, module2) {
    var pth = require("path");
    module2.exports = function(path2, { fs }) {
      var _path = path2 || "", _obj = newAttr(), _stat = null;
      function newAttr() {
        return {
          directory: false,
          readonly: false,
          hidden: false,
          executable: false,
          mtime: 0,
          atime: 0
        };
      }
      if (_path && fs.existsSync(_path)) {
        _stat = fs.statSync(_path);
        _obj.directory = _stat.isDirectory();
        _obj.mtime = _stat.mtime;
        _obj.atime = _stat.atime;
        _obj.executable = (73 & _stat.mode) !== 0;
        _obj.readonly = (128 & _stat.mode) === 0;
        _obj.hidden = pth.basename(_path)[0] === ".";
      } else {
        console.warn("Invalid path: " + _path);
      }
      return {
        get directory() {
          return _obj.directory;
        },
        get readOnly() {
          return _obj.readonly;
        },
        get hidden() {
          return _obj.hidden;
        },
        get mtime() {
          return _obj.mtime;
        },
        get atime() {
          return _obj.atime;
        },
        get executable() {
          return _obj.executable;
        },
        decodeAttributes: function() {
        },
        encodeAttributes: function() {
        },
        toJSON: function() {
          return {
            path: _path,
            isDirectory: _obj.directory,
            isReadOnly: _obj.readonly,
            isHidden: _obj.hidden,
            isExecutable: _obj.executable,
            mTime: _obj.mtime,
            aTime: _obj.atime
          };
        },
        toString: function() {
          return JSON.stringify(this.toJSON(), null, "	");
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/decoder.js
var require_decoder = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/decoder.js"(exports2, module2) {
    module2.exports = {
      efs: true,
      encode: (data) => Buffer.from(data, "utf8"),
      decode: (data) => data.toString("utf8")
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/index.js
var require_util7 = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/util/index.js"(exports2, module2) {
    module2.exports = require_utils12();
    module2.exports.Constants = require_constants13();
    module2.exports.Errors = require_errors5();
    module2.exports.FileAttr = require_fattr();
    module2.exports.decoder = require_decoder();
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/entryHeader.js
var require_entryHeader = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/entryHeader.js"(exports2, module2) {
    var Utils = require_util7();
    var Constants = Utils.Constants;
    module2.exports = function() {
      var _verMade = 20, _version = 10, _flags = 0, _method = 0, _time = 0, _crc = 0, _compressedSize = 0, _size = 0, _fnameLen = 0, _extraLen = 0, _comLen = 0, _diskStart = 0, _inattr = 0, _attr = 0, _offset = 0;
      _verMade |= Utils.isWin ? 2560 : 768;
      _flags |= Constants.FLG_EFS;
      const _localHeader = {
        extraLen: 0
      };
      const uint32 = (val) => Math.max(0, val) >>> 0;
      const uint16 = (val) => Math.max(0, val) & 65535;
      const uint8 = (val) => Math.max(0, val) & 255;
      _time = Utils.fromDate2DOS(/* @__PURE__ */ new Date());
      return {
        get made() {
          return _verMade;
        },
        set made(val) {
          _verMade = val;
        },
        get version() {
          return _version;
        },
        set version(val) {
          _version = val;
        },
        get flags() {
          return _flags;
        },
        set flags(val) {
          _flags = val;
        },
        get flags_efs() {
          return (_flags & Constants.FLG_EFS) > 0;
        },
        set flags_efs(val) {
          if (val) {
            _flags |= Constants.FLG_EFS;
          } else {
            _flags &= ~Constants.FLG_EFS;
          }
        },
        get flags_desc() {
          return (_flags & Constants.FLG_DESC) > 0;
        },
        set flags_desc(val) {
          if (val) {
            _flags |= Constants.FLG_DESC;
          } else {
            _flags &= ~Constants.FLG_DESC;
          }
        },
        get method() {
          return _method;
        },
        set method(val) {
          switch (val) {
            case Constants.STORED:
              this.version = 10;
            case Constants.DEFLATED:
            default:
              this.version = 20;
          }
          _method = val;
        },
        get time() {
          return Utils.fromDOS2Date(this.timeval);
        },
        set time(val) {
          this.timeval = Utils.fromDate2DOS(val);
        },
        get timeval() {
          return _time;
        },
        set timeval(val) {
          _time = uint32(val);
        },
        get timeHighByte() {
          return uint8(_time >>> 8);
        },
        get crc() {
          return _crc;
        },
        set crc(val) {
          _crc = uint32(val);
        },
        get compressedSize() {
          return _compressedSize;
        },
        set compressedSize(val) {
          _compressedSize = uint32(val);
        },
        get size() {
          return _size;
        },
        set size(val) {
          _size = uint32(val);
        },
        get fileNameLength() {
          return _fnameLen;
        },
        set fileNameLength(val) {
          _fnameLen = val;
        },
        get extraLength() {
          return _extraLen;
        },
        set extraLength(val) {
          _extraLen = val;
        },
        get extraLocalLength() {
          return _localHeader.extraLen;
        },
        set extraLocalLength(val) {
          _localHeader.extraLen = val;
        },
        get commentLength() {
          return _comLen;
        },
        set commentLength(val) {
          _comLen = val;
        },
        get diskNumStart() {
          return _diskStart;
        },
        set diskNumStart(val) {
          _diskStart = uint32(val);
        },
        get inAttr() {
          return _inattr;
        },
        set inAttr(val) {
          _inattr = uint32(val);
        },
        get attr() {
          return _attr;
        },
        set attr(val) {
          _attr = uint32(val);
        },
        // get Unix file permissions
        get fileAttr() {
          return (_attr || 0) >> 16 & 4095;
        },
        get offset() {
          return _offset;
        },
        set offset(val) {
          _offset = uint32(val);
        },
        get encrypted() {
          return (_flags & Constants.FLG_ENC) === Constants.FLG_ENC;
        },
        get centralHeaderSize() {
          return Constants.CENHDR + _fnameLen + _extraLen + _comLen;
        },
        get realDataOffset() {
          return _offset + Constants.LOCHDR + _localHeader.fnameLen + _localHeader.extraLen;
        },
        get localHeader() {
          return _localHeader;
        },
        loadLocalHeaderFromBinary: function(input) {
          var data = input.slice(_offset, _offset + Constants.LOCHDR);
          if (data.readUInt32LE(0) !== Constants.LOCSIG) {
            throw Utils.Errors.INVALID_LOC();
          }
          _localHeader.version = data.readUInt16LE(Constants.LOCVER);
          _localHeader.flags = data.readUInt16LE(Constants.LOCFLG);
          _localHeader.method = data.readUInt16LE(Constants.LOCHOW);
          _localHeader.time = data.readUInt32LE(Constants.LOCTIM);
          _localHeader.crc = data.readUInt32LE(Constants.LOCCRC);
          _localHeader.compressedSize = data.readUInt32LE(Constants.LOCSIZ);
          _localHeader.size = data.readUInt32LE(Constants.LOCLEN);
          _localHeader.fnameLen = data.readUInt16LE(Constants.LOCNAM);
          _localHeader.extraLen = data.readUInt16LE(Constants.LOCEXT);
          const extraStart = _offset + Constants.LOCHDR + _localHeader.fnameLen;
          const extraEnd = extraStart + _localHeader.extraLen;
          return input.slice(extraStart, extraEnd);
        },
        loadFromBinary: function(data) {
          if (data.length !== Constants.CENHDR || data.readUInt32LE(0) !== Constants.CENSIG) {
            throw Utils.Errors.INVALID_CEN();
          }
          _verMade = data.readUInt16LE(Constants.CENVEM);
          _version = data.readUInt16LE(Constants.CENVER);
          _flags = data.readUInt16LE(Constants.CENFLG);
          _method = data.readUInt16LE(Constants.CENHOW);
          _time = data.readUInt32LE(Constants.CENTIM);
          _crc = data.readUInt32LE(Constants.CENCRC);
          _compressedSize = data.readUInt32LE(Constants.CENSIZ);
          _size = data.readUInt32LE(Constants.CENLEN);
          _fnameLen = data.readUInt16LE(Constants.CENNAM);
          _extraLen = data.readUInt16LE(Constants.CENEXT);
          _comLen = data.readUInt16LE(Constants.CENCOM);
          _diskStart = data.readUInt16LE(Constants.CENDSK);
          _inattr = data.readUInt16LE(Constants.CENATT);
          _attr = data.readUInt32LE(Constants.CENATX);
          _offset = data.readUInt32LE(Constants.CENOFF);
        },
        localHeaderToBinary: function() {
          var data = Buffer.alloc(Constants.LOCHDR);
          data.writeUInt32LE(Constants.LOCSIG, 0);
          data.writeUInt16LE(_version, Constants.LOCVER);
          data.writeUInt16LE(_flags, Constants.LOCFLG);
          data.writeUInt16LE(_method, Constants.LOCHOW);
          data.writeUInt32LE(_time, Constants.LOCTIM);
          data.writeUInt32LE(_crc, Constants.LOCCRC);
          data.writeUInt32LE(_compressedSize, Constants.LOCSIZ);
          data.writeUInt32LE(_size, Constants.LOCLEN);
          data.writeUInt16LE(_fnameLen, Constants.LOCNAM);
          data.writeUInt16LE(_localHeader.extraLen, Constants.LOCEXT);
          return data;
        },
        centralHeaderToBinary: function() {
          var data = Buffer.alloc(Constants.CENHDR + _fnameLen + _extraLen + _comLen);
          data.writeUInt32LE(Constants.CENSIG, 0);
          data.writeUInt16LE(_verMade, Constants.CENVEM);
          data.writeUInt16LE(_version, Constants.CENVER);
          data.writeUInt16LE(_flags, Constants.CENFLG);
          data.writeUInt16LE(_method, Constants.CENHOW);
          data.writeUInt32LE(_time, Constants.CENTIM);
          data.writeUInt32LE(_crc, Constants.CENCRC);
          data.writeUInt32LE(_compressedSize, Constants.CENSIZ);
          data.writeUInt32LE(_size, Constants.CENLEN);
          data.writeUInt16LE(_fnameLen, Constants.CENNAM);
          data.writeUInt16LE(_extraLen, Constants.CENEXT);
          data.writeUInt16LE(_comLen, Constants.CENCOM);
          data.writeUInt16LE(_diskStart, Constants.CENDSK);
          data.writeUInt16LE(_inattr, Constants.CENATT);
          data.writeUInt32LE(_attr, Constants.CENATX);
          data.writeUInt32LE(_offset, Constants.CENOFF);
          return data;
        },
        toJSON: function() {
          const bytes = function(nr) {
            return nr + " bytes";
          };
          return {
            made: _verMade,
            version: _version,
            flags: _flags,
            method: Utils.methodToString(_method),
            time: this.time,
            crc: "0x" + _crc.toString(16).toUpperCase(),
            compressedSize: bytes(_compressedSize),
            size: bytes(_size),
            fileNameLength: bytes(_fnameLen),
            extraLength: bytes(_extraLen),
            commentLength: bytes(_comLen),
            diskNumStart: _diskStart,
            inAttr: _inattr,
            attr: _attr,
            offset: _offset,
            centralHeaderSize: bytes(Constants.CENHDR + _fnameLen + _extraLen + _comLen)
          };
        },
        toString: function() {
          return JSON.stringify(this.toJSON(), null, "	");
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/mainHeader.js
var require_mainHeader = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/mainHeader.js"(exports2, module2) {
    var Utils = require_util7();
    var Constants = Utils.Constants;
    module2.exports = function() {
      var _volumeEntries = 0, _totalEntries = 0, _size = 0, _offset = 0, _commentLength = 0;
      return {
        get diskEntries() {
          return _volumeEntries;
        },
        set diskEntries(val) {
          _volumeEntries = _totalEntries = val;
        },
        get totalEntries() {
          return _totalEntries;
        },
        set totalEntries(val) {
          _totalEntries = _volumeEntries = val;
        },
        get size() {
          return _size;
        },
        set size(val) {
          _size = val;
        },
        get offset() {
          return _offset;
        },
        set offset(val) {
          _offset = val;
        },
        get commentLength() {
          return _commentLength;
        },
        set commentLength(val) {
          _commentLength = val;
        },
        get mainHeaderSize() {
          return Constants.ENDHDR + _commentLength;
        },
        loadFromBinary: function(data) {
          if ((data.length !== Constants.ENDHDR || data.readUInt32LE(0) !== Constants.ENDSIG) && (data.length < Constants.ZIP64HDR || data.readUInt32LE(0) !== Constants.ZIP64SIG)) {
            throw Utils.Errors.INVALID_END();
          }
          if (data.readUInt32LE(0) === Constants.ENDSIG) {
            _volumeEntries = data.readUInt16LE(Constants.ENDSUB);
            _totalEntries = data.readUInt16LE(Constants.ENDTOT);
            _size = data.readUInt32LE(Constants.ENDSIZ);
            _offset = data.readUInt32LE(Constants.ENDOFF);
            _commentLength = data.readUInt16LE(Constants.ENDCOM);
          } else {
            _volumeEntries = Utils.readBigUInt64LE(data, Constants.ZIP64SUB);
            _totalEntries = Utils.readBigUInt64LE(data, Constants.ZIP64TOT);
            _size = Utils.readBigUInt64LE(data, Constants.ZIP64SIZE);
            _offset = Utils.readBigUInt64LE(data, Constants.ZIP64OFF);
            _commentLength = 0;
          }
        },
        toBinary: function() {
          var b = Buffer.alloc(Constants.ENDHDR + _commentLength);
          b.writeUInt32LE(Constants.ENDSIG, 0);
          b.writeUInt32LE(0, 4);
          b.writeUInt16LE(_volumeEntries, Constants.ENDSUB);
          b.writeUInt16LE(_totalEntries, Constants.ENDTOT);
          b.writeUInt32LE(_size, Constants.ENDSIZ);
          b.writeUInt32LE(_offset, Constants.ENDOFF);
          b.writeUInt16LE(_commentLength, Constants.ENDCOM);
          b.fill(" ", Constants.ENDHDR);
          return b;
        },
        toJSON: function() {
          const offset = function(nr, len) {
            let offs = nr.toString(16).toUpperCase();
            while (offs.length < len) offs = "0" + offs;
            return "0x" + offs;
          };
          return {
            diskEntries: _volumeEntries,
            totalEntries: _totalEntries,
            size: _size + " bytes",
            offset: offset(_offset, 4),
            commentLength: _commentLength
          };
        },
        toString: function() {
          return JSON.stringify(this.toJSON(), null, "	");
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/index.js
var require_headers = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/headers/index.js"(exports2) {
    exports2.EntryHeader = require_entryHeader();
    exports2.MainHeader = require_mainHeader();
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/deflater.js
var require_deflater = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/deflater.js"(exports2, module2) {
    module2.exports = function(inbuf) {
      var zlib = require("zlib");
      var opts = { chunkSize: (parseInt(inbuf.length / 1024) + 1) * 1024 };
      return {
        deflate: function() {
          return zlib.deflateRawSync(inbuf, opts);
        },
        deflateAsync: function(callback) {
          var tmp = zlib.createDeflateRaw(opts), parts = [], total = 0;
          tmp.on("data", function(data) {
            parts.push(data);
            total += data.length;
          });
          tmp.on("end", function() {
            var buf = Buffer.alloc(total), written = 0;
            buf.fill(0);
            for (var i = 0; i < parts.length; i++) {
              var part = parts[i];
              part.copy(buf, written);
              written += part.length;
            }
            callback && callback(buf);
          });
          tmp.end(inbuf);
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/inflater.js
var require_inflater = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/inflater.js"(exports2, module2) {
    var version2 = +(process.versions ? process.versions.node : "").split(".")[0] || 0;
    module2.exports = function(inbuf, expectedLength) {
      var zlib = require("zlib");
      const option = version2 >= 15 && expectedLength > 0 ? { maxOutputLength: expectedLength } : {};
      return {
        inflate: function() {
          return zlib.inflateRawSync(inbuf, option);
        },
        inflateAsync: function(callback) {
          var tmp = zlib.createInflateRaw(option), parts = [], total = 0;
          tmp.on("data", function(data) {
            parts.push(data);
            total += data.length;
          });
          tmp.on("end", function() {
            var buf = Buffer.alloc(total), written = 0;
            buf.fill(0);
            for (var i = 0; i < parts.length; i++) {
              var part = parts[i];
              part.copy(buf, written);
              written += part.length;
            }
            callback && callback(buf);
          });
          tmp.end(inbuf);
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/zipcrypto.js
var require_zipcrypto = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/zipcrypto.js"(exports2, module2) {
    "use strict";
    var { randomFillSync } = require("crypto");
    var Errors = require_errors5();
    var crctable = new Uint32Array(256).map((t, crc) => {
      for (let j = 0; j < 8; j++) {
        if (0 !== (crc & 1)) {
          crc = crc >>> 1 ^ 3988292384;
        } else {
          crc >>>= 1;
        }
      }
      return crc >>> 0;
    });
    var uMul = (a, b) => Math.imul(a, b) >>> 0;
    var crc32update = (pCrc32, bval) => {
      return crctable[(pCrc32 ^ bval) & 255] ^ pCrc32 >>> 8;
    };
    var genSalt = () => {
      if ("function" === typeof randomFillSync) {
        return randomFillSync(Buffer.alloc(12));
      } else {
        return genSalt.node();
      }
    };
    genSalt.node = () => {
      const salt = Buffer.alloc(12);
      const len = salt.length;
      for (let i = 0; i < len; i++) salt[i] = Math.random() * 256 & 255;
      return salt;
    };
    var config = {
      genSalt
    };
    function Initkeys(pw) {
      const pass = Buffer.isBuffer(pw) ? pw : Buffer.from(pw);
      this.keys = new Uint32Array([305419896, 591751049, 878082192]);
      for (let i = 0; i < pass.length; i++) {
        this.updateKeys(pass[i]);
      }
    }
    Initkeys.prototype.updateKeys = function(byteValue) {
      const keys = this.keys;
      keys[0] = crc32update(keys[0], byteValue);
      keys[1] += keys[0] & 255;
      keys[1] = uMul(keys[1], 134775813) + 1;
      keys[2] = crc32update(keys[2], keys[1] >>> 24);
      return byteValue;
    };
    Initkeys.prototype.next = function() {
      const k = (this.keys[2] | 2) >>> 0;
      return uMul(k, k ^ 1) >> 8 & 255;
    };
    function make_decrypter(pwd) {
      const keys = new Initkeys(pwd);
      return function(data) {
        const result2 = Buffer.alloc(data.length);
        let pos = 0;
        for (let c of data) {
          result2[pos++] = keys.updateKeys(c ^ keys.next());
        }
        return result2;
      };
    }
    function make_encrypter(pwd) {
      const keys = new Initkeys(pwd);
      return function(data, result2, pos = 0) {
        if (!result2) result2 = Buffer.alloc(data.length);
        for (let c of data) {
          const k = keys.next();
          result2[pos++] = c ^ k;
          keys.updateKeys(c);
        }
        return result2;
      };
    }
    function decrypt(data, header, pwd) {
      if (!data || !Buffer.isBuffer(data) || data.length < 12) {
        return Buffer.alloc(0);
      }
      const decrypter = make_decrypter(pwd);
      const salt = decrypter(data.slice(0, 12));
      const verifyByte = (header.flags & 8) === 8 ? header.timeHighByte : header.crc >>> 24;
      if (salt[11] !== verifyByte) {
        throw Errors.WRONG_PASSWORD();
      }
      return decrypter(data.slice(12));
    }
    function _salter(data) {
      if (Buffer.isBuffer(data) && data.length >= 12) {
        config.genSalt = function() {
          return data.slice(0, 12);
        };
      } else if (data === "node") {
        config.genSalt = genSalt.node;
      } else {
        config.genSalt = genSalt;
      }
    }
    function encrypt(data, header, pwd, oldlike = false) {
      if (data == null) data = Buffer.alloc(0);
      if (!Buffer.isBuffer(data)) data = Buffer.from(data.toString());
      const encrypter = make_encrypter(pwd);
      const salt = config.genSalt();
      salt[11] = header.crc >>> 24 & 255;
      if (oldlike) salt[10] = header.crc >>> 16 & 255;
      const result2 = Buffer.alloc(data.length + 12);
      encrypter(salt, result2);
      return encrypter(data, result2, 12);
    }
    module2.exports = { decrypt, encrypt, _salter };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/index.js
var require_methods = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/methods/index.js"(exports2) {
    exports2.Deflater = require_deflater();
    exports2.Inflater = require_inflater();
    exports2.ZipCrypto = require_zipcrypto();
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipEntry.js
var require_zipEntry = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipEntry.js"(exports2, module2) {
    var Utils = require_util7();
    var Headers = require_headers();
    var Constants = Utils.Constants;
    var Methods = require_methods();
    module2.exports = function(options, input) {
      var _centralHeader = new Headers.EntryHeader(), _entryName = Buffer.alloc(0), _comment = Buffer.alloc(0), _isDirectory = false, uncompressedData = null, _extra = Buffer.alloc(0), _extralocal = Buffer.alloc(0), _efs = true;
      const opts = options;
      const decoder = typeof opts.decoder === "object" ? opts.decoder : Utils.decoder;
      _efs = decoder.hasOwnProperty("efs") ? decoder.efs : false;
      function getCompressedDataFromZip() {
        if (!input || !(input instanceof Uint8Array)) {
          return Buffer.alloc(0);
        }
        _extralocal = _centralHeader.loadLocalHeaderFromBinary(input);
        return input.slice(_centralHeader.realDataOffset, _centralHeader.realDataOffset + _centralHeader.compressedSize);
      }
      function crc32OK(data) {
        if (!_centralHeader.flags_desc) {
          if (Utils.crc32(data) !== _centralHeader.localHeader.crc) {
            return false;
          }
        } else {
          const descriptor = {};
          const dataEndOffset = _centralHeader.realDataOffset + _centralHeader.compressedSize;
          if (input.readUInt32LE(dataEndOffset) == Constants.LOCSIG || input.readUInt32LE(dataEndOffset) == Constants.CENSIG) {
            throw Utils.Errors.DESCRIPTOR_NOT_EXIST();
          }
          if (input.readUInt32LE(dataEndOffset) == Constants.EXTSIG) {
            descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC);
            descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ);
            descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN);
          } else if (input.readUInt16LE(dataEndOffset + 12) === 19280) {
            descriptor.crc = input.readUInt32LE(dataEndOffset + Constants.EXTCRC - 4);
            descriptor.compressedSize = input.readUInt32LE(dataEndOffset + Constants.EXTSIZ - 4);
            descriptor.size = input.readUInt32LE(dataEndOffset + Constants.EXTLEN - 4);
          } else {
            throw Utils.Errors.DESCRIPTOR_UNKNOWN();
          }
          if (descriptor.compressedSize !== _centralHeader.compressedSize || descriptor.size !== _centralHeader.size || descriptor.crc !== _centralHeader.crc) {
            throw Utils.Errors.DESCRIPTOR_FAULTY();
          }
          if (Utils.crc32(data) !== descriptor.crc) {
            return false;
          }
        }
        return true;
      }
      function decompress(async, callback, pass) {
        if (typeof callback === "undefined" && typeof async === "string") {
          pass = async;
          async = void 0;
        }
        if (_isDirectory) {
          if (async && callback) {
            callback(Buffer.alloc(0), Utils.Errors.DIRECTORY_CONTENT_ERROR());
          }
          return Buffer.alloc(0);
        }
        var compressedData = getCompressedDataFromZip();
        if (compressedData.length === 0) {
          if (async && callback) callback(compressedData);
          return compressedData;
        }
        if (_centralHeader.encrypted) {
          if ("string" !== typeof pass && !Buffer.isBuffer(pass)) {
            throw Utils.Errors.INVALID_PASS_PARAM();
          }
          compressedData = Methods.ZipCrypto.decrypt(compressedData, _centralHeader, pass);
        }
        var data = Buffer.alloc(_centralHeader.size);
        switch (_centralHeader.method) {
          case Utils.Constants.STORED:
            compressedData.copy(data);
            if (!crc32OK(data)) {
              if (async && callback) callback(data, Utils.Errors.BAD_CRC());
              throw Utils.Errors.BAD_CRC();
            } else {
              if (async && callback) callback(data);
              return data;
            }
          case Utils.Constants.DEFLATED:
            var inflater = new Methods.Inflater(compressedData, _centralHeader.size);
            if (!async) {
              const result2 = inflater.inflate(data);
              result2.copy(data, 0);
              if (!crc32OK(data)) {
                throw Utils.Errors.BAD_CRC(`"${decoder.decode(_entryName)}"`);
              }
              return data;
            } else {
              inflater.inflateAsync(function(result2) {
                result2.copy(result2, 0);
                if (callback) {
                  if (!crc32OK(result2)) {
                    callback(result2, Utils.Errors.BAD_CRC());
                  } else {
                    callback(result2);
                  }
                }
              });
            }
            break;
          default:
            if (async && callback) callback(Buffer.alloc(0), Utils.Errors.UNKNOWN_METHOD());
            throw Utils.Errors.UNKNOWN_METHOD();
        }
      }
      function compress(async, callback) {
        if ((!uncompressedData || !uncompressedData.length) && Buffer.isBuffer(input)) {
          if (async && callback) callback(getCompressedDataFromZip());
          return getCompressedDataFromZip();
        }
        if (uncompressedData.length && !_isDirectory) {
          var compressedData;
          switch (_centralHeader.method) {
            case Utils.Constants.STORED:
              _centralHeader.compressedSize = _centralHeader.size;
              compressedData = Buffer.alloc(uncompressedData.length);
              uncompressedData.copy(compressedData);
              if (async && callback) callback(compressedData);
              return compressedData;
            default:
            case Utils.Constants.DEFLATED:
              var deflater = new Methods.Deflater(uncompressedData);
              if (!async) {
                var deflated = deflater.deflate();
                _centralHeader.compressedSize = deflated.length;
                return deflated;
              } else {
                deflater.deflateAsync(function(data) {
                  compressedData = Buffer.alloc(data.length);
                  _centralHeader.compressedSize = data.length;
                  data.copy(compressedData);
                  callback && callback(compressedData);
                });
              }
              deflater = null;
              break;
          }
        } else if (async && callback) {
          callback(Buffer.alloc(0));
        } else {
          return Buffer.alloc(0);
        }
      }
      function readUInt64LE(buffer, offset) {
        return (buffer.readUInt32LE(offset + 4) << 4) + buffer.readUInt32LE(offset);
      }
      function parseExtra(data) {
        try {
          var offset = 0;
          var signature, size, part;
          while (offset + 4 < data.length) {
            signature = data.readUInt16LE(offset);
            offset += 2;
            size = data.readUInt16LE(offset);
            offset += 2;
            part = data.slice(offset, offset + size);
            offset += size;
            if (Constants.ID_ZIP64 === signature) {
              parseZip64ExtendedInformation(part);
            }
          }
        } catch (error) {
          throw Utils.Errors.EXTRA_FIELD_PARSE_ERROR();
        }
      }
      function parseZip64ExtendedInformation(data) {
        var size, compressedSize, offset, diskNumStart;
        if (data.length >= Constants.EF_ZIP64_SCOMP) {
          size = readUInt64LE(data, Constants.EF_ZIP64_SUNCOMP);
          if (_centralHeader.size === Constants.EF_ZIP64_OR_32) {
            _centralHeader.size = size;
          }
        }
        if (data.length >= Constants.EF_ZIP64_RHO) {
          compressedSize = readUInt64LE(data, Constants.EF_ZIP64_SCOMP);
          if (_centralHeader.compressedSize === Constants.EF_ZIP64_OR_32) {
            _centralHeader.compressedSize = compressedSize;
          }
        }
        if (data.length >= Constants.EF_ZIP64_DSN) {
          offset = readUInt64LE(data, Constants.EF_ZIP64_RHO);
          if (_centralHeader.offset === Constants.EF_ZIP64_OR_32) {
            _centralHeader.offset = offset;
          }
        }
        if (data.length >= Constants.EF_ZIP64_DSN + 4) {
          diskNumStart = data.readUInt32LE(Constants.EF_ZIP64_DSN);
          if (_centralHeader.diskNumStart === Constants.EF_ZIP64_OR_16) {
            _centralHeader.diskNumStart = diskNumStart;
          }
        }
      }
      return {
        get entryName() {
          return decoder.decode(_entryName);
        },
        get rawEntryName() {
          return _entryName;
        },
        set entryName(val) {
          _entryName = Utils.toBuffer(val, decoder.encode);
          var lastChar = _entryName[_entryName.length - 1];
          _isDirectory = lastChar === 47 || lastChar === 92;
          _centralHeader.fileNameLength = _entryName.length;
        },
        get efs() {
          if (typeof _efs === "function") {
            return _efs(this.entryName);
          } else {
            return _efs;
          }
        },
        get extra() {
          return _extra;
        },
        set extra(val) {
          _extra = val;
          _centralHeader.extraLength = val.length;
          parseExtra(val);
        },
        get comment() {
          return decoder.decode(_comment);
        },
        set comment(val) {
          _comment = Utils.toBuffer(val, decoder.encode);
          _centralHeader.commentLength = _comment.length;
          if (_comment.length > 65535) throw Utils.Errors.COMMENT_TOO_LONG();
        },
        get name() {
          var n = decoder.decode(_entryName);
          return _isDirectory ? n.substr(n.length - 1).split("/").pop() : n.split("/").pop();
        },
        get isDirectory() {
          return _isDirectory;
        },
        getCompressedData: function() {
          return compress(false, null);
        },
        getCompressedDataAsync: function(callback) {
          compress(true, callback);
        },
        setData: function(value) {
          uncompressedData = Utils.toBuffer(value, Utils.decoder.encode);
          if (!_isDirectory && uncompressedData.length) {
            _centralHeader.size = uncompressedData.length;
            _centralHeader.method = Utils.Constants.DEFLATED;
            _centralHeader.crc = Utils.crc32(value);
            _centralHeader.changed = true;
          } else {
            _centralHeader.method = Utils.Constants.STORED;
          }
        },
        getData: function(pass) {
          if (_centralHeader.changed) {
            return uncompressedData;
          } else {
            return decompress(false, null, pass);
          }
        },
        getDataAsync: function(callback, pass) {
          if (_centralHeader.changed) {
            callback(uncompressedData);
          } else {
            decompress(true, callback, pass);
          }
        },
        set attr(attr) {
          _centralHeader.attr = attr;
        },
        get attr() {
          return _centralHeader.attr;
        },
        set header(data) {
          _centralHeader.loadFromBinary(data);
        },
        get header() {
          return _centralHeader;
        },
        packCentralHeader: function() {
          _centralHeader.flags_efs = this.efs;
          _centralHeader.extraLength = _extra.length;
          var header = _centralHeader.centralHeaderToBinary();
          var addpos = Utils.Constants.CENHDR;
          _entryName.copy(header, addpos);
          addpos += _entryName.length;
          _extra.copy(header, addpos);
          addpos += _centralHeader.extraLength;
          _comment.copy(header, addpos);
          return header;
        },
        packLocalHeader: function() {
          let addpos = 0;
          _centralHeader.flags_efs = this.efs;
          _centralHeader.extraLocalLength = _extralocal.length;
          const localHeaderBuf = _centralHeader.localHeaderToBinary();
          const localHeader = Buffer.alloc(localHeaderBuf.length + _entryName.length + _centralHeader.extraLocalLength);
          localHeaderBuf.copy(localHeader, addpos);
          addpos += localHeaderBuf.length;
          _entryName.copy(localHeader, addpos);
          addpos += _entryName.length;
          _extralocal.copy(localHeader, addpos);
          addpos += _extralocal.length;
          return localHeader;
        },
        toJSON: function() {
          const bytes = function(nr) {
            return "<" + (nr && nr.length + " bytes buffer" || "null") + ">";
          };
          return {
            entryName: this.entryName,
            name: this.name,
            comment: this.comment,
            isDirectory: this.isDirectory,
            header: _centralHeader.toJSON(),
            compressedData: bytes(input),
            data: bytes(uncompressedData)
          };
        },
        toString: function() {
          return JSON.stringify(this.toJSON(), null, "	");
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipFile.js
var require_zipFile = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/zipFile.js"(exports2, module2) {
    var ZipEntry = require_zipEntry();
    var Headers = require_headers();
    var Utils = require_util7();
    module2.exports = function(inBuffer, options) {
      var entryList = [], entryTable = {}, _comment = Buffer.alloc(0), mainHeader = new Headers.MainHeader(), loadedEntries = false;
      var password = null;
      const temporary = /* @__PURE__ */ new Set();
      const opts = options;
      const { noSort, decoder } = opts;
      if (inBuffer) {
        readMainHeader(opts.readEntries);
      } else {
        loadedEntries = true;
      }
      function makeTemporaryFolders() {
        const foldersList = /* @__PURE__ */ new Set();
        for (const elem of Object.keys(entryTable)) {
          const elements = elem.split("/");
          elements.pop();
          if (!elements.length) continue;
          for (let i = 0; i < elements.length; i++) {
            const sub = elements.slice(0, i + 1).join("/") + "/";
            foldersList.add(sub);
          }
        }
        for (const elem of foldersList) {
          if (!(elem in entryTable)) {
            const tempfolder = new ZipEntry(opts);
            tempfolder.entryName = elem;
            tempfolder.attr = 16;
            tempfolder.temporary = true;
            entryList.push(tempfolder);
            entryTable[tempfolder.entryName] = tempfolder;
            temporary.add(tempfolder);
          }
        }
      }
      function readEntries() {
        loadedEntries = true;
        entryTable = {};
        if (mainHeader.diskEntries > (inBuffer.length - mainHeader.offset) / Utils.Constants.CENHDR) {
          throw Utils.Errors.DISK_ENTRY_TOO_LARGE();
        }
        entryList = new Array(mainHeader.diskEntries);
        var index = mainHeader.offset;
        for (var i = 0; i < entryList.length; i++) {
          var tmp = index, entry = new ZipEntry(opts, inBuffer);
          entry.header = inBuffer.slice(tmp, tmp += Utils.Constants.CENHDR);
          entry.entryName = inBuffer.slice(tmp, tmp += entry.header.fileNameLength);
          if (entry.header.extraLength) {
            entry.extra = inBuffer.slice(tmp, tmp += entry.header.extraLength);
          }
          if (entry.header.commentLength) entry.comment = inBuffer.slice(tmp, tmp + entry.header.commentLength);
          index += entry.header.centralHeaderSize;
          entryList[i] = entry;
          entryTable[entry.entryName] = entry;
        }
        temporary.clear();
        makeTemporaryFolders();
      }
      function readMainHeader(readNow) {
        var i = inBuffer.length - Utils.Constants.ENDHDR, max = Math.max(0, i - 65535), n = max, endStart = inBuffer.length, endOffset = -1, commentEnd = 0;
        const trailingSpace = typeof opts.trailingSpace === "boolean" ? opts.trailingSpace : false;
        if (trailingSpace) max = 0;
        for (i; i >= n; i--) {
          if (inBuffer[i] !== 80) continue;
          if (inBuffer.readUInt32LE(i) === Utils.Constants.ENDSIG) {
            endOffset = i;
            commentEnd = i;
            endStart = i + Utils.Constants.ENDHDR;
            n = i - Utils.Constants.END64HDR;
            continue;
          }
          if (inBuffer.readUInt32LE(i) === Utils.Constants.END64SIG) {
            n = max;
            continue;
          }
          if (inBuffer.readUInt32LE(i) === Utils.Constants.ZIP64SIG) {
            endOffset = i;
            endStart = i + Utils.readBigUInt64LE(inBuffer, i + Utils.Constants.ZIP64SIZE) + Utils.Constants.ZIP64LEAD;
            break;
          }
        }
        if (endOffset == -1) throw Utils.Errors.INVALID_FORMAT();
        mainHeader.loadFromBinary(inBuffer.slice(endOffset, endStart));
        if (mainHeader.commentLength) {
          _comment = inBuffer.slice(commentEnd + Utils.Constants.ENDHDR);
        }
        if (readNow) readEntries();
      }
      function sortEntries() {
        if (entryList.length > 1 && !noSort) {
          entryList.sort((a, b) => a.entryName.toLowerCase().localeCompare(b.entryName.toLowerCase()));
        }
      }
      return {
        /**
         * Returns an array of ZipEntry objects existent in the current opened archive
         * @return Array
         */
        get entries() {
          if (!loadedEntries) {
            readEntries();
          }
          return entryList.filter((e) => !temporary.has(e));
        },
        /**
         * Archive comment
         * @return {String}
         */
        get comment() {
          return decoder.decode(_comment);
        },
        set comment(val) {
          _comment = Utils.toBuffer(val, decoder.encode);
          mainHeader.commentLength = _comment.length;
        },
        getEntryCount: function() {
          if (!loadedEntries) {
            return mainHeader.diskEntries;
          }
          return entryList.length;
        },
        forEach: function(callback) {
          this.entries.forEach(callback);
        },
        /**
         * Returns a reference to the entry with the given name or null if entry is inexistent
         *
         * @param entryName
         * @return ZipEntry
         */
        getEntry: function(entryName) {
          if (!loadedEntries) {
            readEntries();
          }
          return entryTable[entryName] || null;
        },
        /**
         * Adds the given entry to the entry list
         *
         * @param entry
         */
        setEntry: function(entry) {
          if (!loadedEntries) {
            readEntries();
          }
          entryList.push(entry);
          entryTable[entry.entryName] = entry;
          mainHeader.totalEntries = entryList.length;
        },
        /**
         * Removes the file with the given name from the entry list.
         *
         * If the entry is a directory, then all nested files and directories will be removed
         * @param entryName
         * @returns {void}
         */
        deleteFile: function(entryName, withsubfolders = true) {
          if (!loadedEntries) {
            readEntries();
          }
          const entry = entryTable[entryName];
          const list = this.getEntryChildren(entry, withsubfolders).map((child) => child.entryName);
          list.forEach(this.deleteEntry);
        },
        /**
         * Removes the entry with the given name from the entry list.
         *
         * @param {string} entryName
         * @returns {void}
         */
        deleteEntry: function(entryName) {
          if (!loadedEntries) {
            readEntries();
          }
          const entry = entryTable[entryName];
          const index = entryList.indexOf(entry);
          if (index >= 0) {
            entryList.splice(index, 1);
            delete entryTable[entryName];
            mainHeader.totalEntries = entryList.length;
          }
        },
        /**
         *  Iterates and returns all nested files and directories of the given entry
         *
         * @param entry
         * @return Array
         */
        getEntryChildren: function(entry, subfolders = true) {
          if (!loadedEntries) {
            readEntries();
          }
          if (typeof entry === "object") {
            if (entry.isDirectory && subfolders) {
              const list = [];
              const name = entry.entryName;
              for (const zipEntry of entryList) {
                if (zipEntry.entryName.startsWith(name)) {
                  list.push(zipEntry);
                }
              }
              return list;
            } else {
              return [entry];
            }
          }
          return [];
        },
        /**
         *  How many child elements entry has
         *
         * @param {ZipEntry} entry
         * @return {integer}
         */
        getChildCount: function(entry) {
          if (entry && entry.isDirectory) {
            const list = this.getEntryChildren(entry);
            return list.includes(entry) ? list.length - 1 : list.length;
          }
          return 0;
        },
        /**
         * Returns the zip file
         *
         * @return Buffer
         */
        compressToBuffer: function() {
          if (!loadedEntries) {
            readEntries();
          }
          sortEntries();
          const dataBlock = [];
          const headerBlocks = [];
          let totalSize = 0;
          let dindex = 0;
          mainHeader.size = 0;
          mainHeader.offset = 0;
          let totalEntries = 0;
          for (const entry of this.entries) {
            const compressedData = entry.getCompressedData();
            entry.header.offset = dindex;
            const localHeader = entry.packLocalHeader();
            const dataLength = localHeader.length + compressedData.length;
            dindex += dataLength;
            dataBlock.push(localHeader);
            dataBlock.push(compressedData);
            const centralHeader = entry.packCentralHeader();
            headerBlocks.push(centralHeader);
            mainHeader.size += centralHeader.length;
            totalSize += dataLength + centralHeader.length;
            totalEntries++;
          }
          totalSize += mainHeader.mainHeaderSize;
          mainHeader.offset = dindex;
          mainHeader.totalEntries = totalEntries;
          dindex = 0;
          const outBuffer = Buffer.alloc(totalSize);
          for (const content of dataBlock) {
            content.copy(outBuffer, dindex);
            dindex += content.length;
          }
          for (const content of headerBlocks) {
            content.copy(outBuffer, dindex);
            dindex += content.length;
          }
          const mh = mainHeader.toBinary();
          if (_comment) {
            _comment.copy(mh, Utils.Constants.ENDHDR);
          }
          mh.copy(outBuffer, dindex);
          inBuffer = outBuffer;
          loadedEntries = false;
          return outBuffer;
        },
        toAsyncBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) {
          try {
            if (!loadedEntries) {
              readEntries();
            }
            sortEntries();
            const dataBlock = [];
            const centralHeaders = [];
            let totalSize = 0;
            let dindex = 0;
            let totalEntries = 0;
            mainHeader.size = 0;
            mainHeader.offset = 0;
            const compress2Buffer = function(entryLists) {
              if (entryLists.length > 0) {
                const entry = entryLists.shift();
                const name = entry.entryName + entry.extra.toString();
                if (onItemStart) onItemStart(name);
                entry.getCompressedDataAsync(function(compressedData) {
                  if (onItemEnd) onItemEnd(name);
                  entry.header.offset = dindex;
                  const localHeader = entry.packLocalHeader();
                  const dataLength = localHeader.length + compressedData.length;
                  dindex += dataLength;
                  dataBlock.push(localHeader);
                  dataBlock.push(compressedData);
                  const centalHeader = entry.packCentralHeader();
                  centralHeaders.push(centalHeader);
                  mainHeader.size += centalHeader.length;
                  totalSize += dataLength + centalHeader.length;
                  totalEntries++;
                  compress2Buffer(entryLists);
                });
              } else {
                totalSize += mainHeader.mainHeaderSize;
                mainHeader.offset = dindex;
                mainHeader.totalEntries = totalEntries;
                dindex = 0;
                const outBuffer = Buffer.alloc(totalSize);
                dataBlock.forEach(function(content) {
                  content.copy(outBuffer, dindex);
                  dindex += content.length;
                });
                centralHeaders.forEach(function(content) {
                  content.copy(outBuffer, dindex);
                  dindex += content.length;
                });
                const mh = mainHeader.toBinary();
                if (_comment) {
                  _comment.copy(mh, Utils.Constants.ENDHDR);
                }
                mh.copy(outBuffer, dindex);
                inBuffer = outBuffer;
                loadedEntries = false;
                onSuccess(outBuffer);
              }
            };
            compress2Buffer(Array.from(this.entries));
          } catch (e) {
            onFail(e);
          }
        }
      };
    };
  }
});

// ../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/adm-zip.js
var require_adm_zip = __commonJS({
  "../node_modules/.pnpm/adm-zip@0.5.16/node_modules/adm-zip/adm-zip.js"(exports2, module2) {
    var Utils = require_util7();
    var pth = require("path");
    var ZipEntry = require_zipEntry();
    var ZipFile = require_zipFile();
    var get_Bool = (...val) => Utils.findLast(val, (c) => typeof c === "boolean");
    var get_Str = (...val) => Utils.findLast(val, (c) => typeof c === "string");
    var get_Fun = (...val) => Utils.findLast(val, (c) => typeof c === "function");
    var defaultOptions = {
      // option "noSort" : if true it disables files sorting
      noSort: false,
      // read entries during load (initial loading may be slower)
      readEntries: false,
      // default method is none
      method: Utils.Constants.NONE,
      // file system
      fs: null
    };
    module2.exports = function(input, options) {
      let inBuffer = null;
      const opts = Object.assign(/* @__PURE__ */ Object.create(null), defaultOptions);
      if (input && "object" === typeof input) {
        if (!(input instanceof Uint8Array)) {
          Object.assign(opts, input);
          input = opts.input ? opts.input : void 0;
          if (opts.input) delete opts.input;
        }
        if (Buffer.isBuffer(input)) {
          inBuffer = input;
          opts.method = Utils.Constants.BUFFER;
          input = void 0;
        }
      }
      Object.assign(opts, options);
      const filetools = new Utils(opts);
      if (typeof opts.decoder !== "object" || typeof opts.decoder.encode !== "function" || typeof opts.decoder.decode !== "function") {
        opts.decoder = Utils.decoder;
      }
      if (input && "string" === typeof input) {
        if (filetools.fs.existsSync(input)) {
          opts.method = Utils.Constants.FILE;
          opts.filename = input;
          inBuffer = filetools.fs.readFileSync(input);
        } else {
          throw Utils.Errors.INVALID_FILENAME();
        }
      }
      const _zip = new ZipFile(inBuffer, opts);
      const { canonical, sanitize, zipnamefix } = Utils;
      function getEntry(entry) {
        if (entry && _zip) {
          var item;
          if (typeof entry === "string") item = _zip.getEntry(pth.posix.normalize(entry));
          if (typeof entry === "object" && typeof entry.entryName !== "undefined" && typeof entry.header !== "undefined") item = _zip.getEntry(entry.entryName);
          if (item) {
            return item;
          }
        }
        return null;
      }
      function fixPath(zipPath) {
        const { join, normalize, sep } = pth.posix;
        return join(".", normalize(sep + zipPath.split("\\").join(sep) + sep));
      }
      function filenameFilter(filterfn) {
        if (filterfn instanceof RegExp) {
          return /* @__PURE__ */ function(rx) {
            return function(filename) {
              return rx.test(filename);
            };
          }(filterfn);
        } else if ("function" !== typeof filterfn) {
          return () => true;
        }
        return filterfn;
      }
      const relativePath = (local, entry) => {
        let lastChar = entry.slice(-1);
        lastChar = lastChar === filetools.sep ? filetools.sep : "";
        return pth.relative(local, entry) + lastChar;
      };
      return {
        /**
         * Extracts the given entry from the archive and returns the content as a Buffer object
         * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
         * @param {Buffer|string} [pass] - password
         * @return Buffer or Null in case of error
         */
        readFile: function(entry, pass) {
          var item = getEntry(entry);
          return item && item.getData(pass) || null;
        },
        /**
         * Returns how many child elements has on entry (directories) on files it is always 0
         * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
         * @returns {integer}
         */
        childCount: function(entry) {
          const item = getEntry(entry);
          if (item) {
            return _zip.getChildCount(item);
          }
        },
        /**
         * Asynchronous readFile
         * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
         * @param {callback} callback
         *
         * @return Buffer or Null in case of error
         */
        readFileAsync: function(entry, callback) {
          var item = getEntry(entry);
          if (item) {
            item.getDataAsync(callback);
          } else {
            callback(null, "getEntry failed for:" + entry);
          }
        },
        /**
         * Extracts the given entry from the archive and returns the content as plain text in the given encoding
         * @param {ZipEntry|string} entry - ZipEntry object or String with the full path of the entry
         * @param {string} encoding - Optional. If no encoding is specified utf8 is used
         *
         * @return String
         */
        readAsText: function(entry, encoding) {
          var item = getEntry(entry);
          if (item) {
            var data = item.getData();
            if (data && data.length) {
              return data.toString(encoding || "utf8");
            }
          }
          return "";
        },
        /**
         * Asynchronous readAsText
         * @param {ZipEntry|string} entry ZipEntry object or String with the full path of the entry
         * @param {callback} callback
         * @param {string} [encoding] - Optional. If no encoding is specified utf8 is used
         *
         * @return String
         */
        readAsTextAsync: function(entry, callback, encoding) {
          var item = getEntry(entry);
          if (item) {
            item.getDataAsync(function(data, err) {
              if (err) {
                callback(data, err);
                return;
              }
              if (data && data.length) {
                callback(data.toString(encoding || "utf8"));
              } else {
                callback("");
              }
            });
          } else {
            callback("");
          }
        },
        /**
         * Remove the entry from the file or the entry and all it's nested directories and files if the given entry is a directory
         *
         * @param {ZipEntry|string} entry
         * @returns {void}
         */
        deleteFile: function(entry, withsubfolders = true) {
          var item = getEntry(entry);
          if (item) {
            _zip.deleteFile(item.entryName, withsubfolders);
          }
        },
        /**
         * Remove the entry from the file or directory without affecting any nested entries
         *
         * @param {ZipEntry|string} entry
         * @returns {void}
         */
        deleteEntry: function(entry) {
          var item = getEntry(entry);
          if (item) {
            _zip.deleteEntry(item.entryName);
          }
        },
        /**
         * Adds a comment to the zip. The zip must be rewritten after adding the comment.
         *
         * @param {string} comment
         */
        addZipComment: function(comment) {
          _zip.comment = comment;
        },
        /**
         * Returns the zip comment
         *
         * @return String
         */
        getZipComment: function() {
          return _zip.comment || "";
        },
        /**
         * Adds a comment to a specified zipEntry. The zip must be rewritten after adding the comment
         * The comment cannot exceed 65535 characters in length
         *
         * @param {ZipEntry} entry
         * @param {string} comment
         */
        addZipEntryComment: function(entry, comment) {
          var item = getEntry(entry);
          if (item) {
            item.comment = comment;
          }
        },
        /**
         * Returns the comment of the specified entry
         *
         * @param {ZipEntry} entry
         * @return String
         */
        getZipEntryComment: function(entry) {
          var item = getEntry(entry);
          if (item) {
            return item.comment || "";
          }
          return "";
        },
        /**
         * Updates the content of an existing entry inside the archive. The zip must be rewritten after updating the content
         *
         * @param {ZipEntry} entry
         * @param {Buffer} content
         */
        updateFile: function(entry, content) {
          var item = getEntry(entry);
          if (item) {
            item.setData(content);
          }
        },
        /**
         * Adds a file from the disk to the archive
         *
         * @param {string} localPath File to add to zip
         * @param {string} [zipPath] Optional path inside the zip
         * @param {string} [zipName] Optional name for the file
         * @param {string} [comment] Optional file comment
         */
        addLocalFile: function(localPath2, zipPath, zipName, comment) {
          if (filetools.fs.existsSync(localPath2)) {
            zipPath = zipPath ? fixPath(zipPath) : "";
            const p = pth.win32.basename(pth.win32.normalize(localPath2));
            zipPath += zipName ? zipName : p;
            const _attr = filetools.fs.statSync(localPath2);
            const data = _attr.isFile() ? filetools.fs.readFileSync(localPath2) : Buffer.alloc(0);
            if (_attr.isDirectory()) zipPath += filetools.sep;
            this.addFile(zipPath, data, comment, _attr);
          } else {
            throw Utils.Errors.FILE_NOT_FOUND(localPath2);
          }
        },
        /**
         * Callback for showing if everything was done.
         *
         * @callback doneCallback
         * @param {Error} err - Error object
         * @param {boolean} done - was request fully completed
         */
        /**
         * Adds a file from the disk to the archive
         *
         * @param {(object|string)} options - options object, if it is string it us used as localPath.
         * @param {string} options.localPath - Local path to the file.
         * @param {string} [options.comment] - Optional file comment.
         * @param {string} [options.zipPath] - Optional path inside the zip
         * @param {string} [options.zipName] - Optional name for the file
         * @param {doneCallback} callback - The callback that handles the response.
         */
        addLocalFileAsync: function(options2, callback) {
          options2 = typeof options2 === "object" ? options2 : { localPath: options2 };
          const localPath2 = pth.resolve(options2.localPath);
          const { comment } = options2;
          let { zipPath, zipName } = options2;
          const self2 = this;
          filetools.fs.stat(localPath2, function(err, stats) {
            if (err) return callback(err, false);
            zipPath = zipPath ? fixPath(zipPath) : "";
            const p = pth.win32.basename(pth.win32.normalize(localPath2));
            zipPath += zipName ? zipName : p;
            if (stats.isFile()) {
              filetools.fs.readFile(localPath2, function(err2, data) {
                if (err2) return callback(err2, false);
                self2.addFile(zipPath, data, comment, stats);
                return setImmediate(callback, void 0, true);
              });
            } else if (stats.isDirectory()) {
              zipPath += filetools.sep;
              self2.addFile(zipPath, Buffer.alloc(0), comment, stats);
              return setImmediate(callback, void 0, true);
            }
          });
        },
        /**
         * Adds a local directory and all its nested files and directories to the archive
         *
         * @param {string} localPath - local path to the folder
         * @param {string} [zipPath] - optional path inside zip
         * @param {(RegExp|function)} [filter] - optional RegExp or Function if files match will be included.
         */
        addLocalFolder: function(localPath2, zipPath, filter) {
          filter = filenameFilter(filter);
          zipPath = zipPath ? fixPath(zipPath) : "";
          localPath2 = pth.normalize(localPath2);
          if (filetools.fs.existsSync(localPath2)) {
            const items = filetools.findFiles(localPath2);
            const self2 = this;
            if (items.length) {
              for (const filepath of items) {
                const p = pth.join(zipPath, relativePath(localPath2, filepath));
                if (filter(p)) {
                  self2.addLocalFile(filepath, pth.dirname(p));
                }
              }
            }
          } else {
            throw Utils.Errors.FILE_NOT_FOUND(localPath2);
          }
        },
        /**
         * Asynchronous addLocalFolder
         * @param {string} localPath
         * @param {callback} callback
         * @param {string} [zipPath] optional path inside zip
         * @param {RegExp|function} [filter] optional RegExp or Function if files match will
         *               be included.
         */
        addLocalFolderAsync: function(localPath2, callback, zipPath, filter) {
          filter = filenameFilter(filter);
          zipPath = zipPath ? fixPath(zipPath) : "";
          localPath2 = pth.normalize(localPath2);
          var self2 = this;
          filetools.fs.open(localPath2, "r", function(err) {
            if (err && err.code === "ENOENT") {
              callback(void 0, Utils.Errors.FILE_NOT_FOUND(localPath2));
            } else if (err) {
              callback(void 0, err);
            } else {
              var items = filetools.findFiles(localPath2);
              var i = -1;
              var next = function() {
                i += 1;
                if (i < items.length) {
                  var filepath = items[i];
                  var p = relativePath(localPath2, filepath).split("\\").join("/");
                  p = p.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, "");
                  if (filter(p)) {
                    filetools.fs.stat(filepath, function(er0, stats) {
                      if (er0) callback(void 0, er0);
                      if (stats.isFile()) {
                        filetools.fs.readFile(filepath, function(er1, data) {
                          if (er1) {
                            callback(void 0, er1);
                          } else {
                            self2.addFile(zipPath + p, data, "", stats);
                            next();
                          }
                        });
                      } else {
                        self2.addFile(zipPath + p + "/", Buffer.alloc(0), "", stats);
                        next();
                      }
                    });
                  } else {
                    process.nextTick(() => {
                      next();
                    });
                  }
                } else {
                  callback(true, void 0);
                }
              };
              next();
            }
          });
        },
        /**
         * Adds a local directory and all its nested files and directories to the archive
         *
         * @param {object | string} options - options object, if it is string it us used as localPath.
         * @param {string} options.localPath - Local path to the folder.
         * @param {string} [options.zipPath] - optional path inside zip.
         * @param {RegExp|function} [options.filter] - optional RegExp or Function if files match will be included.
         * @param {function|string} [options.namefix] - optional function to help fix filename
         * @param {doneCallback} callback - The callback that handles the response.
         *
         */
        addLocalFolderAsync2: function(options2, callback) {
          const self2 = this;
          options2 = typeof options2 === "object" ? options2 : { localPath: options2 };
          localPath = pth.resolve(fixPath(options2.localPath));
          let { zipPath, filter, namefix } = options2;
          if (filter instanceof RegExp) {
            filter = /* @__PURE__ */ function(rx) {
              return function(filename) {
                return rx.test(filename);
              };
            }(filter);
          } else if ("function" !== typeof filter) {
            filter = function() {
              return true;
            };
          }
          zipPath = zipPath ? fixPath(zipPath) : "";
          if (namefix == "latin1") {
            namefix = (str) => str.normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^\x20-\x7E]/g, "");
          }
          if (typeof namefix !== "function") namefix = (str) => str;
          const relPathFix = (entry) => pth.join(zipPath, namefix(relativePath(localPath, entry)));
          const fileNameFix = (entry) => pth.win32.basename(pth.win32.normalize(namefix(entry)));
          filetools.fs.open(localPath, "r", function(err) {
            if (err && err.code === "ENOENT") {
              callback(void 0, Utils.Errors.FILE_NOT_FOUND(localPath));
            } else if (err) {
              callback(void 0, err);
            } else {
              filetools.findFilesAsync(localPath, function(err2, fileEntries) {
                if (err2) return callback(err2);
                fileEntries = fileEntries.filter((dir) => filter(relPathFix(dir)));
                if (!fileEntries.length) callback(void 0, false);
                setImmediate(
                  fileEntries.reverse().reduce(function(next, entry) {
                    return function(err3, done) {
                      if (err3 || done === false) return setImmediate(next, err3, false);
                      self2.addLocalFileAsync(
                        {
                          localPath: entry,
                          zipPath: pth.dirname(relPathFix(entry)),
                          zipName: fileNameFix(entry)
                        },
                        next
                      );
                    };
                  }, callback)
                );
              });
            }
          });
        },
        /**
         * Adds a local directory and all its nested files and directories to the archive
         *
         * @param {string} localPath - path where files will be extracted
         * @param {object} props - optional properties
         * @param {string} [props.zipPath] - optional path inside zip
         * @param {RegExp|function} [props.filter] - optional RegExp or Function if files match will be included.
         * @param {function|string} [props.namefix] - optional function to help fix filename
         */
        addLocalFolderPromise: function(localPath2, props) {
          return new Promise((resolve, reject) => {
            this.addLocalFolderAsync2(Object.assign({ localPath: localPath2 }, props), (err, done) => {
              if (err) reject(err);
              if (done) resolve(this);
            });
          });
        },
        /**
         * Allows you to create a entry (file or directory) in the zip file.
         * If you want to create a directory the entryName must end in / and a null buffer should be provided.
         * Comment and attributes are optional
         *
         * @param {string} entryName
         * @param {Buffer | string} content - file content as buffer or utf8 coded string
         * @param {string} [comment] - file comment
         * @param {number | object} [attr] - number as unix file permissions, object as filesystem Stats object
         */
        addFile: function(entryName, content, comment, attr) {
          entryName = zipnamefix(entryName);
          let entry = getEntry(entryName);
          const update = entry != null;
          if (!update) {
            entry = new ZipEntry(opts);
            entry.entryName = entryName;
          }
          entry.comment = comment || "";
          const isStat = "object" === typeof attr && attr instanceof filetools.fs.Stats;
          if (isStat) {
            entry.header.time = attr.mtime;
          }
          var fileattr = entry.isDirectory ? 16 : 0;
          let unix = entry.isDirectory ? 16384 : 32768;
          if (isStat) {
            unix |= 4095 & attr.mode;
          } else if ("number" === typeof attr) {
            unix |= 4095 & attr;
          } else {
            unix |= entry.isDirectory ? 493 : 420;
          }
          fileattr = (fileattr | unix << 16) >>> 0;
          entry.attr = fileattr;
          entry.setData(content);
          if (!update) _zip.setEntry(entry);
          return entry;
        },
        /**
         * Returns an array of ZipEntry objects representing the files and folders inside the archive
         *
         * @param {string} [password]
         * @returns Array
         */
        getEntries: function(password) {
          _zip.password = password;
          return _zip ? _zip.entries : [];
        },
        /**
         * Returns a ZipEntry object representing the file or folder specified by ``name``.
         *
         * @param {string} name
         * @return ZipEntry
         */
        getEntry: function(name) {
          return getEntry(name);
        },
        getEntryCount: function() {
          return _zip.getEntryCount();
        },
        forEach: function(callback) {
          return _zip.forEach(callback);
        },
        /**
         * Extracts the given entry to the given targetPath
         * If the entry is a directory inside the archive, the entire directory and it's subdirectories will be extracted
         *
         * @param {string|ZipEntry} entry - ZipEntry object or String with the full path of the entry
         * @param {string} targetPath - Target folder where to write the file
         * @param {boolean} [maintainEntryPath=true] - If maintainEntryPath is true and the entry is inside a folder, the entry folder will be created in targetPath as well. Default is TRUE
         * @param {boolean} [overwrite=false] - If the file already exists at the target path, the file will be overwriten if this is true.
         * @param {boolean} [keepOriginalPermission=false] - The file will be set as the permission from the entry if this is true.
         * @param {string} [outFileName] - String If set will override the filename of the extracted file (Only works if the entry is a file)
         *
         * @return Boolean
         */
        extractEntryTo: function(entry, targetPath, maintainEntryPath, overwrite, keepOriginalPermission, outFileName) {
          overwrite = get_Bool(false, overwrite);
          keepOriginalPermission = get_Bool(false, keepOriginalPermission);
          maintainEntryPath = get_Bool(true, maintainEntryPath);
          outFileName = get_Str(keepOriginalPermission, outFileName);
          var item = getEntry(entry);
          if (!item) {
            throw Utils.Errors.NO_ENTRY();
          }
          var entryName = canonical(item.entryName);
          var target = sanitize(targetPath, outFileName && !item.isDirectory ? outFileName : maintainEntryPath ? entryName : pth.basename(entryName));
          if (item.isDirectory) {
            var children = _zip.getEntryChildren(item);
            children.forEach(function(child) {
              if (child.isDirectory) return;
              var content2 = child.getData();
              if (!content2) {
                throw Utils.Errors.CANT_EXTRACT_FILE();
              }
              var name = canonical(child.entryName);
              var childName = sanitize(targetPath, maintainEntryPath ? name : pth.basename(name));
              const fileAttr2 = keepOriginalPermission ? child.header.fileAttr : void 0;
              filetools.writeFileTo(childName, content2, overwrite, fileAttr2);
            });
            return true;
          }
          var content = item.getData(_zip.password);
          if (!content) throw Utils.Errors.CANT_EXTRACT_FILE();
          if (filetools.fs.existsSync(target) && !overwrite) {
            throw Utils.Errors.CANT_OVERRIDE();
          }
          const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
          filetools.writeFileTo(target, content, overwrite, fileAttr);
          return true;
        },
        /**
         * Test the archive
         * @param {string} [pass]
         */
        test: function(pass) {
          if (!_zip) {
            return false;
          }
          for (var entry in _zip.entries) {
            try {
              if (entry.isDirectory) {
                continue;
              }
              var content = _zip.entries[entry].getData(pass);
              if (!content) {
                return false;
              }
            } catch (err) {
              return false;
            }
          }
          return true;
        },
        /**
         * Extracts the entire archive to the given location
         *
         * @param {string} targetPath Target location
         * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true.
         *                  Default is FALSE
         * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true.
         *                  Default is FALSE
         * @param {string|Buffer} [pass] password
         */
        extractAllTo: function(targetPath, overwrite, keepOriginalPermission, pass) {
          keepOriginalPermission = get_Bool(false, keepOriginalPermission);
          pass = get_Str(keepOriginalPermission, pass);
          overwrite = get_Bool(false, overwrite);
          if (!_zip) throw Utils.Errors.NO_ZIP();
          _zip.entries.forEach(function(entry) {
            var entryName = sanitize(targetPath, canonical(entry.entryName));
            if (entry.isDirectory) {
              filetools.makeDir(entryName);
              return;
            }
            var content = entry.getData(pass);
            if (!content) {
              throw Utils.Errors.CANT_EXTRACT_FILE();
            }
            const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
            filetools.writeFileTo(entryName, content, overwrite, fileAttr);
            try {
              filetools.fs.utimesSync(entryName, entry.header.time, entry.header.time);
            } catch (err) {
              throw Utils.Errors.CANT_EXTRACT_FILE();
            }
          });
        },
        /**
         * Asynchronous extractAllTo
         *
         * @param {string} targetPath Target location
         * @param {boolean} [overwrite=false] If the file already exists at the target path, the file will be overwriten if this is true.
         *                  Default is FALSE
         * @param {boolean} [keepOriginalPermission=false] The file will be set as the permission from the entry if this is true.
         *                  Default is FALSE
         * @param {function} callback The callback will be executed when all entries are extracted successfully or any error is thrown.
         */
        extractAllToAsync: function(targetPath, overwrite, keepOriginalPermission, callback) {
          callback = get_Fun(overwrite, keepOriginalPermission, callback);
          keepOriginalPermission = get_Bool(false, keepOriginalPermission);
          overwrite = get_Bool(false, overwrite);
          if (!callback) {
            return new Promise((resolve, reject) => {
              this.extractAllToAsync(targetPath, overwrite, keepOriginalPermission, function(err) {
                if (err) {
                  reject(err);
                } else {
                  resolve(this);
                }
              });
            });
          }
          if (!_zip) {
            callback(Utils.Errors.NO_ZIP());
            return;
          }
          targetPath = pth.resolve(targetPath);
          const getPath = (entry) => sanitize(targetPath, pth.normalize(canonical(entry.entryName)));
          const getError = (msg, file) => new Error(msg + ': "' + file + '"');
          const dirEntries = [];
          const fileEntries = [];
          _zip.entries.forEach((e) => {
            if (e.isDirectory) {
              dirEntries.push(e);
            } else {
              fileEntries.push(e);
            }
          });
          for (const entry of dirEntries) {
            const dirPath = getPath(entry);
            const dirAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
            try {
              filetools.makeDir(dirPath);
              if (dirAttr) filetools.fs.chmodSync(dirPath, dirAttr);
              filetools.fs.utimesSync(dirPath, entry.header.time, entry.header.time);
            } catch (er) {
              callback(getError("Unable to create folder", dirPath));
            }
          }
          fileEntries.reverse().reduce(function(next, entry) {
            return function(err) {
              if (err) {
                next(err);
              } else {
                const entryName = pth.normalize(canonical(entry.entryName));
                const filePath = sanitize(targetPath, entryName);
                entry.getDataAsync(function(content, err_1) {
                  if (err_1) {
                    next(err_1);
                  } else if (!content) {
                    next(Utils.Errors.CANT_EXTRACT_FILE());
                  } else {
                    const fileAttr = keepOriginalPermission ? entry.header.fileAttr : void 0;
                    filetools.writeFileToAsync(filePath, content, overwrite, fileAttr, function(succ) {
                      if (!succ) {
                        next(getError("Unable to write file", filePath));
                      }
                      filetools.fs.utimes(filePath, entry.header.time, entry.header.time, function(err_2) {
                        if (err_2) {
                          next(getError("Unable to set times", filePath));
                        } else {
                          next();
                        }
                      });
                    });
                  }
                });
              }
            };
          }, callback)();
        },
        /**
         * Writes the newly created zip file to disk at the specified location or if a zip was opened and no ``targetFileName`` is provided, it will overwrite the opened zip
         *
         * @param {string} targetFileName
         * @param {function} callback
         */
        writeZip: function(targetFileName, callback) {
          if (arguments.length === 1) {
            if (typeof targetFileName === "function") {
              callback = targetFileName;
              targetFileName = "";
            }
          }
          if (!targetFileName && opts.filename) {
            targetFileName = opts.filename;
          }
          if (!targetFileName) return;
          var zipData = _zip.compressToBuffer();
          if (zipData) {
            var ok = filetools.writeFileTo(targetFileName, zipData, true);
            if (typeof callback === "function") callback(!ok ? new Error("failed") : null, "");
          }
        },
        /**
                 *
                 * @param {string} targetFileName
                 * @param {object} [props]
                 * @param {boolean} [props.overwrite=true] If the file already exists at the target path, the file will be overwriten if this is true.
                 * @param {boolean} [props.perm] The file will be set as the permission from the entry if this is true.
        
                 * @returns {Promise<void>}
                 */
        writeZipPromise: function(targetFileName, props) {
          const { overwrite, perm } = Object.assign({ overwrite: true }, props);
          return new Promise((resolve, reject) => {
            if (!targetFileName && opts.filename) targetFileName = opts.filename;
            if (!targetFileName) reject("ADM-ZIP: ZIP File Name Missing");
            this.toBufferPromise().then((zipData) => {
              const ret2 = (done) => done ? resolve(done) : reject("ADM-ZIP: Wasn't able to write zip file");
              filetools.writeFileToAsync(targetFileName, zipData, overwrite, perm, ret2);
            }, reject);
          });
        },
        /**
         * @returns {Promise<Buffer>} A promise to the Buffer.
         */
        toBufferPromise: function() {
          return new Promise((resolve, reject) => {
            _zip.toAsyncBuffer(resolve, reject);
          });
        },
        /**
         * Returns the content of the entire zip file as a Buffer object
         *
         * @prop {function} [onSuccess]
         * @prop {function} [onFail]
         * @prop {function} [onItemStart]
         * @prop {function} [onItemEnd]
         * @returns {Buffer}
         */
        toBuffer: function(onSuccess, onFail, onItemStart, onItemEnd) {
          if (typeof onSuccess === "function") {
            _zip.toAsyncBuffer(onSuccess, onFail, onItemStart, onItemEnd);
            return null;
          }
          return _zip.compressToBuffer();
        }
      };
    };
  }
});

// ../node_modules/.pnpm/temp-dir@2.0.0/node_modules/temp-dir/index.js
var require_temp_dir = __commonJS({
  "../node_modules/.pnpm/temp-dir@2.0.0/node_modules/temp-dir/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var os = require("os");
    var tempDirectorySymbol = Symbol.for("__RESOLVED_TEMP_DIRECTORY__");
    if (!global[tempDirectorySymbol]) {
      Object.defineProperty(global, tempDirectorySymbol, {
        value: fs.realpathSync(os.tmpdir())
      });
    }
    module2.exports = global[tempDirectorySymbol];
  }
});

// ../node_modules/.pnpm/array-union@2.1.0/node_modules/array-union/index.js
var require_array_union = __commonJS({
  "../node_modules/.pnpm/array-union@2.1.0/node_modules/array-union/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (...arguments_) => {
      return [...new Set([].concat(...arguments_))];
    };
  }
});

// ../node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.js
var require_path_type = __commonJS({
  "../node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.js"(exports2) {
    "use strict";
    var { promisify } = require("util");
    var fs = require("fs");
    async function isType(fsStatType, statsMethodName, filePath) {
      if (typeof filePath !== "string") {
        throw new TypeError(`Expected a string, got ${typeof filePath}`);
      }
      try {
        const stats = await promisify(fs[fsStatType])(filePath);
        return stats[statsMethodName]();
      } catch (error) {
        if (error.code === "ENOENT") {
          return false;
        }
        throw error;
      }
    }
    function isTypeSync(fsStatType, statsMethodName, filePath) {
      if (typeof filePath !== "string") {
        throw new TypeError(`Expected a string, got ${typeof filePath}`);
      }
      try {
        return fs[fsStatType](filePath)[statsMethodName]();
      } catch (error) {
        if (error.code === "ENOENT") {
          return false;
        }
        throw error;
      }
    }
    exports2.isFile = isType.bind(null, "stat", "isFile");
    exports2.isDirectory = isType.bind(null, "stat", "isDirectory");
    exports2.isSymlink = isType.bind(null, "lstat", "isSymbolicLink");
    exports2.isFileSync = isTypeSync.bind(null, "statSync", "isFile");
    exports2.isDirectorySync = isTypeSync.bind(null, "statSync", "isDirectory");
    exports2.isSymlinkSync = isTypeSync.bind(null, "lstatSync", "isSymbolicLink");
  }
});

// ../node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.js
var require_dir_glob = __commonJS({
  "../node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var pathType = require_path_type();
    var getExtensions = (extensions) => extensions.length > 1 ? `{${extensions.join(",")}}` : extensions[0];
    var getPath = (filepath, cwd) => {
      const pth = filepath[0] === "!" ? filepath.slice(1) : filepath;
      return path2.isAbsolute(pth) ? pth : path2.join(cwd, pth);
    };
    var addExtensions = (file, extensions) => {
      if (path2.extname(file)) {
        return `**/${file}`;
      }
      return `**/${file}.${getExtensions(extensions)}`;
    };
    var getGlob = (directory, options) => {
      if (options.files && !Array.isArray(options.files)) {
        throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof options.files}\``);
      }
      if (options.extensions && !Array.isArray(options.extensions)) {
        throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof options.extensions}\``);
      }
      if (options.files && options.extensions) {
        return options.files.map((x) => path2.posix.join(directory, addExtensions(x, options.extensions)));
      }
      if (options.files) {
        return options.files.map((x) => path2.posix.join(directory, `**/${x}`));
      }
      if (options.extensions) {
        return [path2.posix.join(directory, `**/*.${getExtensions(options.extensions)}`)];
      }
      return [path2.posix.join(directory, "**")];
    };
    module2.exports = async (input, options) => {
      options = {
        cwd: process.cwd(),
        ...options
      };
      if (typeof options.cwd !== "string") {
        throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``);
      }
      const globs = await Promise.all([].concat(input).map(async (x) => {
        const isDirectory = await pathType.isDirectory(getPath(x, options.cwd));
        return isDirectory ? getGlob(x, options) : x;
      }));
      return [].concat.apply([], globs);
    };
    module2.exports.sync = (input, options) => {
      options = {
        cwd: process.cwd(),
        ...options
      };
      if (typeof options.cwd !== "string") {
        throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof options.cwd}\``);
      }
      const globs = [].concat(input).map((x) => pathType.isDirectorySync(getPath(x, options.cwd)) ? getGlob(x, options) : x);
      return [].concat.apply([], globs);
    };
  }
});

// ../node_modules/.pnpm/ignore@5.3.2/node_modules/ignore/index.js
var require_ignore = __commonJS({
  "../node_modules/.pnpm/ignore@5.3.2/node_modules/ignore/index.js"(exports2, module2) {
    function makeArray(subject) {
      return Array.isArray(subject) ? subject : [subject];
    }
    var EMPTY = "";
    var SPACE = " ";
    var ESCAPE = "\\";
    var REGEX_TEST_BLANK_LINE = /^\s+$/;
    var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
    var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
    var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
    var REGEX_SPLITALL_CRLF = /\r?\n/g;
    var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
    var SLASH = "/";
    var TMP_KEY_IGNORE = "node-ignore";
    if (typeof Symbol !== "undefined") {
      TMP_KEY_IGNORE = Symbol.for("node-ignore");
    }
    var KEY_IGNORE = TMP_KEY_IGNORE;
    var define2 = (object, key, value) => Object.defineProperty(object, key, { value });
    var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
    var RETURN_FALSE = () => false;
    var sanitizeRange = (range) => range.replace(
      REGEX_REGEXP_RANGE,
      (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY
    );
    var cleanRangeBackSlash = (slashes) => {
      const { length } = slashes;
      return slashes.slice(0, length - length % 2);
    };
    var REPLACERS = [
      [
        // remove BOM
        // TODO:
        // Other similar zero-width characters?
        /^\uFEFF/,
        () => EMPTY
      ],
      // > Trailing spaces are ignored unless they are quoted with backslash ("\")
      [
        // (a\ ) -> (a )
        // (a  ) -> (a)
        // (a ) -> (a)
        // (a \ ) -> (a  )
        /((?:\\\\)*?)(\\?\s+)$/,
        (_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY)
      ],
      // replace (\ ) with ' '
      // (\ ) -> ' '
      // (\\ ) -> '\\ '
      // (\\\ ) -> '\\ '
      [
        /(\\+?)\s/g,
        (_, m1) => {
          const { length } = m1;
          return m1.slice(0, length - length % 2) + SPACE;
        }
      ],
      // Escape metacharacters
      // which is written down by users but means special for regular expressions.
      // > There are 12 characters with special meanings:
      // > - the backslash \,
      // > - the caret ^,
      // > - the dollar sign $,
      // > - the period or dot .,
      // > - the vertical bar or pipe symbol |,
      // > - the question mark ?,
      // > - the asterisk or star *,
      // > - the plus sign +,
      // > - the opening parenthesis (,
      // > - the closing parenthesis ),
      // > - and the opening square bracket [,
      // > - the opening curly brace {,
      // > These special characters are often called "metacharacters".
      [
        /[\\$.|*+(){^]/g,
        (match) => `\\${match}`
      ],
      [
        // > a question mark (?) matches a single character
        /(?!\\)\?/g,
        () => "[^/]"
      ],
      // leading slash
      [
        // > A leading slash matches the beginning of the pathname.
        // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
        // A leading slash matches the beginning of the pathname
        /^\//,
        () => "^"
      ],
      // replace special metacharacter slash after the leading slash
      [
        /\//g,
        () => "\\/"
      ],
      [
        // > A leading "**" followed by a slash means match in all directories.
        // > For example, "**/foo" matches file or directory "foo" anywhere,
        // > the same as pattern "foo".
        // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
        // >   under directory "foo".
        // Notice that the '*'s have been replaced as '\\*'
        /^\^*\\\*\\\*\\\//,
        // '**/foo' <-> 'foo'
        () => "^(?:.*\\/)?"
      ],
      // starting
      [
        // there will be no leading '/'
        //   (which has been replaced by section "leading slash")
        // If starts with '**', adding a '^' to the regular expression also works
        /^(?=[^^])/,
        function startingReplacer() {
          return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
        }
      ],
      // two globstars
      [
        // Use lookahead assertions so that we could match more than one `'/**'`
        /\\\/\\\*\\\*(?=\\\/|$)/g,
        // Zero, one or several directories
        // should not use '*', or it will be replaced by the next replacer
        // Check if it is not the last `'/**'`
        (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
      ],
      // normal intermediate wildcards
      [
        // Never replace escaped '*'
        // ignore rule '\*' will match the path '*'
        // 'abc.*/' -> go
        // 'abc.*'  -> skip this rule,
        //    coz trailing single wildcard will be handed by [trailing wildcard]
        /(^|[^\\]+)(\\\*)+(?=.+)/g,
        // '*.js' matches '.js'
        // '*.js' doesn't match 'abc'
        (_, p1, p2) => {
          const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
          return p1 + unescaped;
        }
      ],
      [
        // unescape, revert step 3 except for back slash
        // For example, if a user escape a '\\*',
        // after step 3, the result will be '\\\\\\*'
        /\\\\\\(?=[$.|*+(){^])/g,
        () => ESCAPE
      ],
      [
        // '\\\\' -> '\\'
        /\\\\/g,
        () => ESCAPE
      ],
      [
        // > The range notation, e.g. [a-zA-Z],
        // > can be used to match one of the characters in a range.
        // `\` is escaped by step 3
        /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
        (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
      ],
      // ending
      [
        // 'js' will not match 'js.'
        // 'ab' will not match 'abc'
        /(?:[^*])$/,
        // WTF!
        // https://git-scm.com/docs/gitignore
        // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
        // which re-fixes #24, #38
        // > If there is a separator at the end of the pattern then the pattern
        // > will only match directories, otherwise the pattern can match both
        // > files and directories.
        // 'js*' will not match 'a.js'
        // 'js/' will not match 'a.js'
        // 'js' will match 'a.js' and 'a.js/'
        (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
      ],
      // trailing wildcard
      [
        /(\^|\\\/)?\\\*$/,
        (_, p1) => {
          const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
          return `${prefix}(?=$|\\/$)`;
        }
      ]
    ];
    var regexCache = /* @__PURE__ */ Object.create(null);
    var makeRegex = (pattern, ignoreCase) => {
      let source = regexCache[pattern];
      if (!source) {
        source = REPLACERS.reduce(
          (prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)),
          pattern
        );
        regexCache[pattern] = source;
      }
      return ignoreCase ? new RegExp(source, "i") : new RegExp(source);
    };
    var isString = (subject) => typeof subject === "string";
    var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
    var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF);
    var IgnoreRule = class {
      constructor(origin, pattern, negative, regex) {
        this.origin = origin;
        this.pattern = pattern;
        this.negative = negative;
        this.regex = regex;
      }
    };
    var createRule = (pattern, ignoreCase) => {
      const origin = pattern;
      let negative = false;
      if (pattern.indexOf("!") === 0) {
        negative = true;
        pattern = pattern.substr(1);
      }
      pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
      const regex = makeRegex(pattern, ignoreCase);
      return new IgnoreRule(
        origin,
        pattern,
        negative,
        regex
      );
    };
    var throwError = (message, Ctor) => {
      throw new Ctor(message);
    };
    var checkPath = (path2, originalPath, doThrow) => {
      if (!isString(path2)) {
        return doThrow(
          `path must be a string, but got \`${originalPath}\``,
          TypeError
        );
      }
      if (!path2) {
        return doThrow(`path must not be empty`, TypeError);
      }
      if (checkPath.isNotRelative(path2)) {
        const r = "`path.relative()`d";
        return doThrow(
          `path should be a ${r} string, but got "${originalPath}"`,
          RangeError
        );
      }
      return true;
    };
    var isNotRelative = (path2) => REGEX_TEST_INVALID_PATH.test(path2);
    checkPath.isNotRelative = isNotRelative;
    checkPath.convert = (p) => p;
    var Ignore = class {
      constructor({
        ignorecase = true,
        ignoreCase = ignorecase,
        allowRelativePaths = false
      } = {}) {
        define2(this, KEY_IGNORE, true);
        this._rules = [];
        this._ignoreCase = ignoreCase;
        this._allowRelativePaths = allowRelativePaths;
        this._initCache();
      }
      _initCache() {
        this._ignoreCache = /* @__PURE__ */ Object.create(null);
        this._testCache = /* @__PURE__ */ Object.create(null);
      }
      _addPattern(pattern) {
        if (pattern && pattern[KEY_IGNORE]) {
          this._rules = this._rules.concat(pattern._rules);
          this._added = true;
          return;
        }
        if (checkPattern(pattern)) {
          const rule = createRule(pattern, this._ignoreCase);
          this._added = true;
          this._rules.push(rule);
        }
      }
      // @param {Array<string> | string | Ignore} pattern
      add(pattern) {
        this._added = false;
        makeArray(
          isString(pattern) ? splitPattern(pattern) : pattern
        ).forEach(this._addPattern, this);
        if (this._added) {
          this._initCache();
        }
        return this;
      }
      // legacy
      addPattern(pattern) {
        return this.add(pattern);
      }
      //          |           ignored : unignored
      // negative |   0:0   |   0:1   |   1:0   |   1:1
      // -------- | ------- | ------- | ------- | --------
      //     0    |  TEST   |  TEST   |  SKIP   |    X
      //     1    |  TESTIF |  SKIP   |  TEST   |    X
      // - SKIP: always skip
      // - TEST: always test
      // - TESTIF: only test if checkUnignored
      // - X: that never happen
      // @param {boolean} whether should check if the path is unignored,
      //   setting `checkUnignored` to `false` could reduce additional
      //   path matching.
      // @returns {TestResult} true if a file is ignored
      _testOne(path2, checkUnignored) {
        let ignored = false;
        let unignored = false;
        this._rules.forEach((rule) => {
          const { negative } = rule;
          if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
            return;
          }
          const matched = rule.regex.test(path2);
          if (matched) {
            ignored = !negative;
            unignored = negative;
          }
        });
        return {
          ignored,
          unignored
        };
      }
      // @returns {TestResult}
      _test(originalPath, cache, checkUnignored, slices) {
        const path2 = originalPath && checkPath.convert(originalPath);
        checkPath(
          path2,
          originalPath,
          this._allowRelativePaths ? RETURN_FALSE : throwError
        );
        return this._t(path2, cache, checkUnignored, slices);
      }
      _t(path2, cache, checkUnignored, slices) {
        if (path2 in cache) {
          return cache[path2];
        }
        if (!slices) {
          slices = path2.split(SLASH);
        }
        slices.pop();
        if (!slices.length) {
          return cache[path2] = this._testOne(path2, checkUnignored);
        }
        const parent = this._t(
          slices.join(SLASH) + SLASH,
          cache,
          checkUnignored,
          slices
        );
        return cache[path2] = parent.ignored ? parent : this._testOne(path2, checkUnignored);
      }
      ignores(path2) {
        return this._test(path2, this._ignoreCache, false).ignored;
      }
      createFilter() {
        return (path2) => !this.ignores(path2);
      }
      filter(paths) {
        return makeArray(paths).filter(this.createFilter());
      }
      // @returns {TestResult}
      test(path2) {
        return this._test(path2, this._testCache, true);
      }
    };
    var factory = (options) => new Ignore(options);
    var isPathValid = (path2) => checkPath(path2 && checkPath.convert(path2), path2, RETURN_FALSE);
    factory.isPathValid = isPathValid;
    factory.default = factory;
    module2.exports = factory;
    if (
      // Detect `process` so that it can run in browsers.
      typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")
    ) {
      const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
      checkPath.convert = makePosix;
      const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
      checkPath.isNotRelative = (path2) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path2) || isNotRelative(path2);
    }
  }
});

// ../node_modules/.pnpm/slash@3.0.0/node_modules/slash/index.js
var require_slash = __commonJS({
  "../node_modules/.pnpm/slash@3.0.0/node_modules/slash/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (path2) => {
      const isExtendedLengthPath = /^\\\\\?\\/.test(path2);
      const hasNonAscii = /[^\u0000-\u0080]+/.test(path2);
      if (isExtendedLengthPath || hasNonAscii) {
        return path2;
      }
      return path2.replace(/\\/g, "/");
    };
  }
});

// ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/gitignore.js
var require_gitignore = __commonJS({
  "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/gitignore.js"(exports2, module2) {
    "use strict";
    var { promisify } = require("util");
    var fs = require("fs");
    var path2 = require("path");
    var fastGlob = require_out4();
    var gitIgnore = require_ignore();
    var slash = require_slash();
    var DEFAULT_IGNORE = [
      "**/node_modules/**",
      "**/flow-typed/**",
      "**/coverage/**",
      "**/.git"
    ];
    var readFileP = promisify(fs.readFile);
    var mapGitIgnorePatternTo = (base) => (ignore) => {
      if (ignore.startsWith("!")) {
        return "!" + path2.posix.join(base, ignore.slice(1));
      }
      return path2.posix.join(base, ignore);
    };
    var parseGitIgnore = (content, options) => {
      const base = slash(path2.relative(options.cwd, path2.dirname(options.fileName)));
      return content.split(/\r?\n/).filter(Boolean).filter((line) => !line.startsWith("#")).map(mapGitIgnorePatternTo(base));
    };
    var reduceIgnore = (files) => {
      const ignores = gitIgnore();
      for (const file of files) {
        ignores.add(parseGitIgnore(file.content, {
          cwd: file.cwd,
          fileName: file.filePath
        }));
      }
      return ignores;
    };
    var ensureAbsolutePathForCwd = (cwd, p) => {
      cwd = slash(cwd);
      if (path2.isAbsolute(p)) {
        if (slash(p).startsWith(cwd)) {
          return p;
        }
        throw new Error(`Path ${p} is not in cwd ${cwd}`);
      }
      return path2.join(cwd, p);
    };
    var getIsIgnoredPredecate = (ignores, cwd) => {
      return (p) => ignores.ignores(slash(path2.relative(cwd, ensureAbsolutePathForCwd(cwd, p.path || p))));
    };
    var getFile = async (file, cwd) => {
      const filePath = path2.join(cwd, file);
      const content = await readFileP(filePath, "utf8");
      return {
        cwd,
        filePath,
        content
      };
    };
    var getFileSync = (file, cwd) => {
      const filePath = path2.join(cwd, file);
      const content = fs.readFileSync(filePath, "utf8");
      return {
        cwd,
        filePath,
        content
      };
    };
    var normalizeOptions = ({
      ignore = [],
      cwd = slash(process.cwd())
    } = {}) => {
      return { ignore, cwd };
    };
    module2.exports = async (options) => {
      options = normalizeOptions(options);
      const paths = await fastGlob("**/.gitignore", {
        ignore: DEFAULT_IGNORE.concat(options.ignore),
        cwd: options.cwd
      });
      const files = await Promise.all(paths.map((file) => getFile(file, options.cwd)));
      const ignores = reduceIgnore(files);
      return getIsIgnoredPredecate(ignores, options.cwd);
    };
    module2.exports.sync = (options) => {
      options = normalizeOptions(options);
      const paths = fastGlob.sync("**/.gitignore", {
        ignore: DEFAULT_IGNORE.concat(options.ignore),
        cwd: options.cwd
      });
      const files = paths.map((file) => getFileSync(file, options.cwd));
      const ignores = reduceIgnore(files);
      return getIsIgnoredPredecate(ignores, options.cwd);
    };
  }
});

// ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/stream-utils.js
var require_stream_utils = __commonJS({
  "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/stream-utils.js"(exports2, module2) {
    "use strict";
    var { Transform } = require("stream");
    var ObjectTransform = class extends Transform {
      constructor() {
        super({
          objectMode: true
        });
      }
    };
    var FilterStream = class extends ObjectTransform {
      constructor(filter) {
        super();
        this._filter = filter;
      }
      _transform(data, encoding, callback) {
        if (this._filter(data)) {
          this.push(data);
        }
        callback();
      }
    };
    var UniqueStream = class extends ObjectTransform {
      constructor() {
        super();
        this._pushed = /* @__PURE__ */ new Set();
      }
      _transform(data, encoding, callback) {
        if (!this._pushed.has(data)) {
          this.push(data);
          this._pushed.add(data);
        }
        callback();
      }
    };
    module2.exports = {
      FilterStream,
      UniqueStream
    };
  }
});

// ../node_modules/.pnpm/globby@11.1.0/node_modules/globby/index.js
var require_globby = __commonJS({
  "../node_modules/.pnpm/globby@11.1.0/node_modules/globby/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var arrayUnion = require_array_union();
    var merge2 = require_merge22();
    var fastGlob = require_out4();
    var dirGlob = require_dir_glob();
    var gitignore = require_gitignore();
    var { FilterStream, UniqueStream } = require_stream_utils();
    var DEFAULT_FILTER = () => false;
    var isNegative = (pattern) => pattern[0] === "!";
    var assertPatternsInput = (patterns) => {
      if (!patterns.every((pattern) => typeof pattern === "string")) {
        throw new TypeError("Patterns must be a string or an array of strings");
      }
    };
    var checkCwdOption = (options = {}) => {
      if (!options.cwd) {
        return;
      }
      let stat;
      try {
        stat = fs.statSync(options.cwd);
      } catch {
        return;
      }
      if (!stat.isDirectory()) {
        throw new Error("The `cwd` option must be a path to a directory");
      }
    };
    var getPathString = (p) => p.stats instanceof fs.Stats ? p.path : p;
    var generateGlobTasks = (patterns, taskOptions) => {
      patterns = arrayUnion([].concat(patterns));
      assertPatternsInput(patterns);
      checkCwdOption(taskOptions);
      const globTasks = [];
      taskOptions = {
        ignore: [],
        expandDirectories: true,
        ...taskOptions
      };
      for (const [index, pattern] of patterns.entries()) {
        if (isNegative(pattern)) {
          continue;
        }
        const ignore = patterns.slice(index).filter((pattern2) => isNegative(pattern2)).map((pattern2) => pattern2.slice(1));
        const options = {
          ...taskOptions,
          ignore: taskOptions.ignore.concat(ignore)
        };
        globTasks.push({ pattern, options });
      }
      return globTasks;
    };
    var globDirs = (task, fn) => {
      let options = {};
      if (task.options.cwd) {
        options.cwd = task.options.cwd;
      }
      if (Array.isArray(task.options.expandDirectories)) {
        options = {
          ...options,
          files: task.options.expandDirectories
        };
      } else if (typeof task.options.expandDirectories === "object") {
        options = {
          ...options,
          ...task.options.expandDirectories
        };
      }
      return fn(task.pattern, options);
    };
    var getPattern = (task, fn) => task.options.expandDirectories ? globDirs(task, fn) : [task.pattern];
    var getFilterSync = (options) => {
      return options && options.gitignore ? gitignore.sync({ cwd: options.cwd, ignore: options.ignore }) : DEFAULT_FILTER;
    };
    var globToTask = (task) => (glob) => {
      const { options } = task;
      if (options.ignore && Array.isArray(options.ignore) && options.expandDirectories) {
        options.ignore = dirGlob.sync(options.ignore);
      }
      return {
        pattern: glob,
        options
      };
    };
    module2.exports = async (patterns, options) => {
      const globTasks = generateGlobTasks(patterns, options);
      const getFilter = async () => {
        return options && options.gitignore ? gitignore({ cwd: options.cwd, ignore: options.ignore }) : DEFAULT_FILTER;
      };
      const getTasks = async () => {
        const tasks2 = await Promise.all(globTasks.map(async (task) => {
          const globs = await getPattern(task, dirGlob);
          return Promise.all(globs.map(globToTask(task)));
        }));
        return arrayUnion(...tasks2);
      };
      const [filter, tasks] = await Promise.all([getFilter(), getTasks()]);
      const paths = await Promise.all(tasks.map((task) => fastGlob(task.pattern, task.options)));
      return arrayUnion(...paths).filter((path_) => !filter(getPathString(path_)));
    };
    module2.exports.sync = (patterns, options) => {
      const globTasks = generateGlobTasks(patterns, options);
      const tasks = [];
      for (const task of globTasks) {
        const newTask = getPattern(task, dirGlob.sync).map(globToTask(task));
        tasks.push(...newTask);
      }
      const filter = getFilterSync(options);
      let matches = [];
      for (const task of tasks) {
        matches = arrayUnion(matches, fastGlob.sync(task.pattern, task.options));
      }
      return matches.filter((path_) => !filter(path_));
    };
    module2.exports.stream = (patterns, options) => {
      const globTasks = generateGlobTasks(patterns, options);
      const tasks = [];
      for (const task of globTasks) {
        const newTask = getPattern(task, dirGlob.sync).map(globToTask(task));
        tasks.push(...newTask);
      }
      const filter = getFilterSync(options);
      const filterStream = new FilterStream((p) => !filter(p));
      const uniqueStream = new UniqueStream();
      return merge2(tasks.map((task) => fastGlob.stream(task.pattern, task.options))).pipe(filterStream).pipe(uniqueStream);
    };
    module2.exports.generateGlobTasks = generateGlobTasks;
    module2.exports.hasMagic = (patterns, options) => [].concat(patterns).some((pattern) => fastGlob.isDynamicPattern(pattern, options));
    module2.exports.gitignore = gitignore;
  }
});

// ../node_modules/.pnpm/is-path-cwd@2.2.0/node_modules/is-path-cwd/index.js
var require_is_path_cwd = __commonJS({
  "../node_modules/.pnpm/is-path-cwd@2.2.0/node_modules/is-path-cwd/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    module2.exports = (path_) => {
      let cwd = process.cwd();
      path_ = path2.resolve(path_);
      if (process.platform === "win32") {
        cwd = cwd.toLowerCase();
        path_ = path_.toLowerCase();
      }
      return path_ === cwd;
    };
  }
});

// ../node_modules/.pnpm/is-path-inside@3.0.3/node_modules/is-path-inside/index.js
var require_is_path_inside = __commonJS({
  "../node_modules/.pnpm/is-path-inside@3.0.3/node_modules/is-path-inside/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    module2.exports = (childPath, parentPath) => {
      const relation = path2.relative(parentPath, childPath);
      return Boolean(
        relation && relation !== ".." && !relation.startsWith(`..${path2.sep}`) && relation !== path2.resolve(childPath)
      );
    };
  }
});

// ../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js
var require_concat_map = __commonJS({
  "../node_modules/.pnpm/concat-map@0.0.1/node_modules/concat-map/index.js"(exports2, module2) {
    module2.exports = function(xs, fn) {
      var res = [];
      for (var i = 0; i < xs.length; i++) {
        var x = fn(xs[i], i);
        if (isArray(x)) res.push.apply(res, x);
        else res.push(x);
      }
      return res;
    };
    var isArray = Array.isArray || function(xs) {
      return Object.prototype.toString.call(xs) === "[object Array]";
    };
  }
});

// ../node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js
var require_brace_expansion2 = __commonJS({
  "../node_modules/.pnpm/brace-expansion@1.1.11/node_modules/brace-expansion/index.js"(exports2, module2) {
    var concatMap = require_concat_map();
    var balanced = require_balanced_match();
    module2.exports = expandTop;
    var escSlash = "\0SLASH" + Math.random() + "\0";
    var escOpen = "\0OPEN" + Math.random() + "\0";
    var escClose = "\0CLOSE" + Math.random() + "\0";
    var escComma = "\0COMMA" + Math.random() + "\0";
    var escPeriod = "\0PERIOD" + Math.random() + "\0";
    function numeric(str) {
      return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
    }
    function escapeBraces(str) {
      return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
    }
    function unescapeBraces(str) {
      return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
    }
    function parseCommaParts(str) {
      if (!str)
        return [""];
      var parts = [];
      var m = balanced("{", "}", str);
      if (!m)
        return str.split(",");
      var pre = m.pre;
      var body = m.body;
      var post = m.post;
      var p = pre.split(",");
      p[p.length - 1] += "{" + body + "}";
      var postParts = parseCommaParts(post);
      if (post.length) {
        p[p.length - 1] += postParts.shift();
        p.push.apply(p, postParts);
      }
      parts.push.apply(parts, p);
      return parts;
    }
    function expandTop(str) {
      if (!str)
        return [];
      if (str.substr(0, 2) === "{}") {
        str = "\\{\\}" + str.substr(2);
      }
      return expand(escapeBraces(str), true).map(unescapeBraces);
    }
    function embrace(str) {
      return "{" + str + "}";
    }
    function isPadded(el) {
      return /^-?0\d/.test(el);
    }
    function lte(i, y) {
      return i <= y;
    }
    function gte(i, y) {
      return i >= y;
    }
    function expand(str, isTop) {
      var expansions = [];
      var m = balanced("{", "}", str);
      if (!m || /\$$/.test(m.pre)) return [str];
      var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
      var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
      var isSequence = isNumericSequence || isAlphaSequence;
      var isOptions = m.body.indexOf(",") >= 0;
      if (!isSequence && !isOptions) {
        if (m.post.match(/,.*\}/)) {
          str = m.pre + "{" + m.body + escClose + m.post;
          return expand(str);
        }
        return [str];
      }
      var n;
      if (isSequence) {
        n = m.body.split(/\.\./);
      } else {
        n = parseCommaParts(m.body);
        if (n.length === 1) {
          n = expand(n[0], false).map(embrace);
          if (n.length === 1) {
            var post = m.post.length ? expand(m.post, false) : [""];
            return post.map(function(p) {
              return m.pre + n[0] + p;
            });
          }
        }
      }
      var pre = m.pre;
      var post = m.post.length ? expand(m.post, false) : [""];
      var N;
      if (isSequence) {
        var x = numeric(n[0]);
        var y = numeric(n[1]);
        var width = Math.max(n[0].length, n[1].length);
        var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
        var test = lte;
        var reverse = y < x;
        if (reverse) {
          incr *= -1;
          test = gte;
        }
        var pad = n.some(isPadded);
        N = [];
        for (var i = x; test(i, y); i += incr) {
          var c;
          if (isAlphaSequence) {
            c = String.fromCharCode(i);
            if (c === "\\")
              c = "";
          } else {
            c = String(i);
            if (pad) {
              var need = width - c.length;
              if (need > 0) {
                var z = new Array(need + 1).join("0");
                if (i < 0)
                  c = "-" + z + c.slice(1);
                else
                  c = z + c;
              }
            }
          }
          N.push(c);
        }
      } else {
        N = concatMap(n, function(el) {
          return expand(el, false);
        });
      }
      for (var j = 0; j < N.length; j++) {
        for (var k = 0; k < post.length; k++) {
          var expansion = pre + N[j] + post[k];
          if (!isTop || isSequence || expansion)
            expansions.push(expansion);
        }
      }
      return expansions;
    }
  }
});

// ../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js
var require_minimatch2 = __commonJS({
  "../node_modules/.pnpm/minimatch@3.1.2/node_modules/minimatch/minimatch.js"(exports2, module2) {
    module2.exports = minimatch;
    minimatch.Minimatch = Minimatch;
    var path2 = function() {
      try {
        return require("path");
      } catch (e) {
      }
    }() || {
      sep: "/"
    };
    minimatch.sep = path2.sep;
    var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
    var expand = require_brace_expansion2();
    var plTypes = {
      "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
      "?": { open: "(?:", close: ")?" },
      "+": { open: "(?:", close: ")+" },
      "*": { open: "(?:", close: ")*" },
      "@": { open: "(?:", close: ")" }
    };
    var qmark = "[^/]";
    var star = qmark + "*?";
    var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
    var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
    var reSpecials = charSet("().*{}+?[]^$\\!");
    function charSet(s) {
      return s.split("").reduce(function(set, c) {
        set[c] = true;
        return set;
      }, {});
    }
    var slashSplit = /\/+/;
    minimatch.filter = filter;
    function filter(pattern, options) {
      options = options || {};
      return function(p, i, list) {
        return minimatch(p, pattern, options);
      };
    }
    function ext(a, b) {
      b = b || {};
      var t = {};
      Object.keys(a).forEach(function(k) {
        t[k] = a[k];
      });
      Object.keys(b).forEach(function(k) {
        t[k] = b[k];
      });
      return t;
    }
    minimatch.defaults = function(def) {
      if (!def || typeof def !== "object" || !Object.keys(def).length) {
        return minimatch;
      }
      var orig = minimatch;
      var m = function minimatch2(p, pattern, options) {
        return orig(p, pattern, ext(def, options));
      };
      m.Minimatch = function Minimatch2(pattern, options) {
        return new orig.Minimatch(pattern, ext(def, options));
      };
      m.Minimatch.defaults = function defaults(options) {
        return orig.defaults(ext(def, options)).Minimatch;
      };
      m.filter = function filter2(pattern, options) {
        return orig.filter(pattern, ext(def, options));
      };
      m.defaults = function defaults(options) {
        return orig.defaults(ext(def, options));
      };
      m.makeRe = function makeRe2(pattern, options) {
        return orig.makeRe(pattern, ext(def, options));
      };
      m.braceExpand = function braceExpand2(pattern, options) {
        return orig.braceExpand(pattern, ext(def, options));
      };
      m.match = function(list, pattern, options) {
        return orig.match(list, pattern, ext(def, options));
      };
      return m;
    };
    Minimatch.defaults = function(def) {
      return minimatch.defaults(def).Minimatch;
    };
    function minimatch(p, pattern, options) {
      assertValidPattern(pattern);
      if (!options) options = {};
      if (!options.nocomment && pattern.charAt(0) === "#") {
        return false;
      }
      return new Minimatch(pattern, options).match(p);
    }
    function Minimatch(pattern, options) {
      if (!(this instanceof Minimatch)) {
        return new Minimatch(pattern, options);
      }
      assertValidPattern(pattern);
      if (!options) options = {};
      pattern = pattern.trim();
      if (!options.allowWindowsEscape && path2.sep !== "/") {
        pattern = pattern.split(path2.sep).join("/");
      }
      this.options = options;
      this.set = [];
      this.pattern = pattern;
      this.regexp = null;
      this.negate = false;
      this.comment = false;
      this.empty = false;
      this.partial = !!options.partial;
      this.make();
    }
    Minimatch.prototype.debug = function() {
    };
    Minimatch.prototype.make = make;
    function make() {
      var pattern = this.pattern;
      var options = this.options;
      if (!options.nocomment && pattern.charAt(0) === "#") {
        this.comment = true;
        return;
      }
      if (!pattern) {
        this.empty = true;
        return;
      }
      this.parseNegate();
      var set = this.globSet = this.braceExpand();
      if (options.debug) this.debug = function debug() {
        console.error.apply(console, arguments);
      };
      this.debug(this.pattern, set);
      set = this.globParts = set.map(function(s) {
        return s.split(slashSplit);
      });
      this.debug(this.pattern, set);
      set = set.map(function(s, si, set2) {
        return s.map(this.parse, this);
      }, this);
      this.debug(this.pattern, set);
      set = set.filter(function(s) {
        return s.indexOf(false) === -1;
      });
      this.debug(this.pattern, set);
      this.set = set;
    }
    Minimatch.prototype.parseNegate = parseNegate;
    function parseNegate() {
      var pattern = this.pattern;
      var negate = false;
      var options = this.options;
      var negateOffset = 0;
      if (options.nonegate) return;
      for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
        negate = !negate;
        negateOffset++;
      }
      if (negateOffset) this.pattern = pattern.substr(negateOffset);
      this.negate = negate;
    }
    minimatch.braceExpand = function(pattern, options) {
      return braceExpand(pattern, options);
    };
    Minimatch.prototype.braceExpand = braceExpand;
    function braceExpand(pattern, options) {
      if (!options) {
        if (this instanceof Minimatch) {
          options = this.options;
        } else {
          options = {};
        }
      }
      pattern = typeof pattern === "undefined" ? this.pattern : pattern;
      assertValidPattern(pattern);
      if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
        return [pattern];
      }
      return expand(pattern);
    }
    var MAX_PATTERN_LENGTH = 1024 * 64;
    var assertValidPattern = function(pattern) {
      if (typeof pattern !== "string") {
        throw new TypeError("invalid pattern");
      }
      if (pattern.length > MAX_PATTERN_LENGTH) {
        throw new TypeError("pattern is too long");
      }
    };
    Minimatch.prototype.parse = parse2;
    var SUBPARSE = {};
    function parse2(pattern, isSub) {
      assertValidPattern(pattern);
      var options = this.options;
      if (pattern === "**") {
        if (!options.noglobstar)
          return GLOBSTAR;
        else
          pattern = "*";
      }
      if (pattern === "") return "";
      var re = "";
      var hasMagic = !!options.nocase;
      var escaping = false;
      var patternListStack = [];
      var negativeLists = [];
      var stateChar;
      var inClass = false;
      var reClassStart = -1;
      var classStart = -1;
      var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
      var self2 = this;
      function clearStateChar() {
        if (stateChar) {
          switch (stateChar) {
            case "*":
              re += star;
              hasMagic = true;
              break;
            case "?":
              re += qmark;
              hasMagic = true;
              break;
            default:
              re += "\\" + stateChar;
              break;
          }
          self2.debug("clearStateChar %j %j", stateChar, re);
          stateChar = false;
        }
      }
      for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
        this.debug("%s	%s %s %j", pattern, i, re, c);
        if (escaping && reSpecials[c]) {
          re += "\\" + c;
          escaping = false;
          continue;
        }
        switch (c) {
          /* istanbul ignore next */
          case "/": {
            return false;
          }
          case "\\":
            clearStateChar();
            escaping = true;
            continue;
          // the various stateChar values
          // for the "extglob" stuff.
          case "?":
          case "*":
          case "+":
          case "@":
          case "!":
            this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
            if (inClass) {
              this.debug("  in class");
              if (c === "!" && i === classStart + 1) c = "^";
              re += c;
              continue;
            }
            self2.debug("call clearStateChar %j", stateChar);
            clearStateChar();
            stateChar = c;
            if (options.noext) clearStateChar();
            continue;
          case "(":
            if (inClass) {
              re += "(";
              continue;
            }
            if (!stateChar) {
              re += "\\(";
              continue;
            }
            patternListStack.push({
              type: stateChar,
              start: i - 1,
              reStart: re.length,
              open: plTypes[stateChar].open,
              close: plTypes[stateChar].close
            });
            re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
            this.debug("plType %j %j", stateChar, re);
            stateChar = false;
            continue;
          case ")":
            if (inClass || !patternListStack.length) {
              re += "\\)";
              continue;
            }
            clearStateChar();
            hasMagic = true;
            var pl = patternListStack.pop();
            re += pl.close;
            if (pl.type === "!") {
              negativeLists.push(pl);
            }
            pl.reEnd = re.length;
            continue;
          case "|":
            if (inClass || !patternListStack.length || escaping) {
              re += "\\|";
              escaping = false;
              continue;
            }
            clearStateChar();
            re += "|";
            continue;
          // these are mostly the same in regexp and glob
          case "[":
            clearStateChar();
            if (inClass) {
              re += "\\" + c;
              continue;
            }
            inClass = true;
            classStart = i;
            reClassStart = re.length;
            re += c;
            continue;
          case "]":
            if (i === classStart + 1 || !inClass) {
              re += "\\" + c;
              escaping = false;
              continue;
            }
            var cs = pattern.substring(classStart + 1, i);
            try {
              RegExp("[" + cs + "]");
            } catch (er) {
              var sp = this.parse(cs, SUBPARSE);
              re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
              hasMagic = hasMagic || sp[1];
              inClass = false;
              continue;
            }
            hasMagic = true;
            inClass = false;
            re += c;
            continue;
          default:
            clearStateChar();
            if (escaping) {
              escaping = false;
            } else if (reSpecials[c] && !(c === "^" && inClass)) {
              re += "\\";
            }
            re += c;
        }
      }
      if (inClass) {
        cs = pattern.substr(classStart + 1);
        sp = this.parse(cs, SUBPARSE);
        re = re.substr(0, reClassStart) + "\\[" + sp[0];
        hasMagic = hasMagic || sp[1];
      }
      for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
        var tail = re.slice(pl.reStart + pl.open.length);
        this.debug("setting tail", re, pl);
        tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
          if (!$2) {
            $2 = "\\";
          }
          return $1 + $1 + $2 + "|";
        });
        this.debug("tail=%j\n   %s", tail, tail, pl, re);
        var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
        hasMagic = true;
        re = re.slice(0, pl.reStart) + t + "\\(" + tail;
      }
      clearStateChar();
      if (escaping) {
        re += "\\\\";
      }
      var addPatternStart = false;
      switch (re.charAt(0)) {
        case "[":
        case ".":
        case "(":
          addPatternStart = true;
      }
      for (var n = negativeLists.length - 1; n > -1; n--) {
        var nl = negativeLists[n];
        var nlBefore = re.slice(0, nl.reStart);
        var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
        var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
        var nlAfter = re.slice(nl.reEnd);
        nlLast += nlAfter;
        var openParensBefore = nlBefore.split("(").length - 1;
        var cleanAfter = nlAfter;
        for (i = 0; i < openParensBefore; i++) {
          cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
        }
        nlAfter = cleanAfter;
        var dollar = "";
        if (nlAfter === "" && isSub !== SUBPARSE) {
          dollar = "$";
        }
        var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
        re = newRe;
      }
      if (re !== "" && hasMagic) {
        re = "(?=.)" + re;
      }
      if (addPatternStart) {
        re = patternStart + re;
      }
      if (isSub === SUBPARSE) {
        return [re, hasMagic];
      }
      if (!hasMagic) {
        return globUnescape(pattern);
      }
      var flags = options.nocase ? "i" : "";
      try {
        var regExp = new RegExp("^" + re + "$", flags);
      } catch (er) {
        return new RegExp("$.");
      }
      regExp._glob = pattern;
      regExp._src = re;
      return regExp;
    }
    minimatch.makeRe = function(pattern, options) {
      return new Minimatch(pattern, options || {}).makeRe();
    };
    Minimatch.prototype.makeRe = makeRe;
    function makeRe() {
      if (this.regexp || this.regexp === false) return this.regexp;
      var set = this.set;
      if (!set.length) {
        this.regexp = false;
        return this.regexp;
      }
      var options = this.options;
      var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
      var flags = options.nocase ? "i" : "";
      var re = set.map(function(pattern) {
        return pattern.map(function(p) {
          return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
        }).join("\\/");
      }).join("|");
      re = "^(?:" + re + ")$";
      if (this.negate) re = "^(?!" + re + ").*$";
      try {
        this.regexp = new RegExp(re, flags);
      } catch (ex) {
        this.regexp = false;
      }
      return this.regexp;
    }
    minimatch.match = function(list, pattern, options) {
      options = options || {};
      var mm = new Minimatch(pattern, options);
      list = list.filter(function(f) {
        return mm.match(f);
      });
      if (mm.options.nonull && !list.length) {
        list.push(pattern);
      }
      return list;
    };
    Minimatch.prototype.match = function match(f, partial) {
      if (typeof partial === "undefined") partial = this.partial;
      this.debug("match", f, this.pattern);
      if (this.comment) return false;
      if (this.empty) return f === "";
      if (f === "/" && partial) return true;
      var options = this.options;
      if (path2.sep !== "/") {
        f = f.split(path2.sep).join("/");
      }
      f = f.split(slashSplit);
      this.debug(this.pattern, "split", f);
      var set = this.set;
      this.debug(this.pattern, "set", set);
      var filename;
      var i;
      for (i = f.length - 1; i >= 0; i--) {
        filename = f[i];
        if (filename) break;
      }
      for (i = 0; i < set.length; i++) {
        var pattern = set[i];
        var file = f;
        if (options.matchBase && pattern.length === 1) {
          file = [filename];
        }
        var hit = this.matchOne(file, pattern, partial);
        if (hit) {
          if (options.flipNegate) return true;
          return !this.negate;
        }
      }
      if (options.flipNegate) return false;
      return this.negate;
    };
    Minimatch.prototype.matchOne = function(file, pattern, partial) {
      var options = this.options;
      this.debug(
        "matchOne",
        { "this": this, file, pattern }
      );
      this.debug("matchOne", file.length, pattern.length);
      for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
        this.debug("matchOne loop");
        var p = pattern[pi];
        var f = file[fi];
        this.debug(pattern, p, f);
        if (p === false) return false;
        if (p === GLOBSTAR) {
          this.debug("GLOBSTAR", [pattern, p, f]);
          var fr = fi;
          var pr = pi + 1;
          if (pr === pl) {
            this.debug("** at the end");
            for (; fi < fl; fi++) {
              if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
            }
            return true;
          }
          while (fr < fl) {
            var swallowee = file[fr];
            this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
            if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
              this.debug("globstar found match!", fr, fl, swallowee);
              return true;
            } else {
              if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
                this.debug("dot detected!", file, fr, pattern, pr);
                break;
              }
              this.debug("globstar swallow a segment, and continue");
              fr++;
            }
          }
          if (partial) {
            this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
            if (fr === fl) return true;
          }
          return false;
        }
        var hit;
        if (typeof p === "string") {
          hit = f === p;
          this.debug("string match", p, f, hit);
        } else {
          hit = f.match(p);
          this.debug("pattern match", p, f, hit);
        }
        if (!hit) return false;
      }
      if (fi === fl && pi === pl) {
        return true;
      } else if (fi === fl) {
        return partial;
      } else if (pi === pl) {
        return fi === fl - 1 && file[fi] === "";
      }
      throw new Error("wtf?");
    };
    function globUnescape(s) {
      return s.replace(/\\(.)/g, "$1");
    }
    function regExpEscape(s) {
      return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
    }
  }
});

// ../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js
var require_path_is_absolute = __commonJS({
  "../node_modules/.pnpm/path-is-absolute@1.0.1/node_modules/path-is-absolute/index.js"(exports2, module2) {
    "use strict";
    function posix(path2) {
      return path2.charAt(0) === "/";
    }
    function win32(path2) {
      var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
      var result2 = splitDeviceRe.exec(path2);
      var device = result2[1] || "";
      var isUnc = Boolean(device && device.charAt(1) !== ":");
      return Boolean(result2[2] || isUnc);
    }
    module2.exports = process.platform === "win32" ? win32 : posix;
    module2.exports.posix = posix;
    module2.exports.win32 = win32;
  }
});

// ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js
var require_common8 = __commonJS({
  "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/common.js"(exports2) {
    exports2.setopts = setopts;
    exports2.ownProp = ownProp;
    exports2.makeAbs = makeAbs;
    exports2.finish = finish;
    exports2.mark = mark;
    exports2.isIgnored = isIgnored;
    exports2.childrenIgnored = childrenIgnored;
    function ownProp(obj, field) {
      return Object.prototype.hasOwnProperty.call(obj, field);
    }
    var fs = require("fs");
    var path2 = require("path");
    var minimatch = require_minimatch2();
    var isAbsolute = require_path_is_absolute();
    var Minimatch = minimatch.Minimatch;
    function alphasort(a, b) {
      return a.localeCompare(b, "en");
    }
    function setupIgnores(self2, options) {
      self2.ignore = options.ignore || [];
      if (!Array.isArray(self2.ignore))
        self2.ignore = [self2.ignore];
      if (self2.ignore.length) {
        self2.ignore = self2.ignore.map(ignoreMap);
      }
    }
    function ignoreMap(pattern) {
      var gmatcher = null;
      if (pattern.slice(-3) === "/**") {
        var gpattern = pattern.replace(/(\/\*\*)+$/, "");
        gmatcher = new Minimatch(gpattern, { dot: true });
      }
      return {
        matcher: new Minimatch(pattern, { dot: true }),
        gmatcher
      };
    }
    function setopts(self2, pattern, options) {
      if (!options)
        options = {};
      if (options.matchBase && -1 === pattern.indexOf("/")) {
        if (options.noglobstar) {
          throw new Error("base matching requires globstar");
        }
        pattern = "**/" + pattern;
      }
      self2.silent = !!options.silent;
      self2.pattern = pattern;
      self2.strict = options.strict !== false;
      self2.realpath = !!options.realpath;
      self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null);
      self2.follow = !!options.follow;
      self2.dot = !!options.dot;
      self2.mark = !!options.mark;
      self2.nodir = !!options.nodir;
      if (self2.nodir)
        self2.mark = true;
      self2.sync = !!options.sync;
      self2.nounique = !!options.nounique;
      self2.nonull = !!options.nonull;
      self2.nosort = !!options.nosort;
      self2.nocase = !!options.nocase;
      self2.stat = !!options.stat;
      self2.noprocess = !!options.noprocess;
      self2.absolute = !!options.absolute;
      self2.fs = options.fs || fs;
      self2.maxLength = options.maxLength || Infinity;
      self2.cache = options.cache || /* @__PURE__ */ Object.create(null);
      self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null);
      self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null);
      setupIgnores(self2, options);
      self2.changedCwd = false;
      var cwd = process.cwd();
      if (!ownProp(options, "cwd"))
        self2.cwd = cwd;
      else {
        self2.cwd = path2.resolve(options.cwd);
        self2.changedCwd = self2.cwd !== cwd;
      }
      self2.root = options.root || path2.resolve(self2.cwd, "/");
      self2.root = path2.resolve(self2.root);
      if (process.platform === "win32")
        self2.root = self2.root.replace(/\\/g, "/");
      self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
      if (process.platform === "win32")
        self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/");
      self2.nomount = !!options.nomount;
      options.nonegate = true;
      options.nocomment = true;
      options.allowWindowsEscape = false;
      self2.minimatch = new Minimatch(pattern, options);
      self2.options = self2.minimatch.options;
    }
    function finish(self2) {
      var nou = self2.nounique;
      var all = nou ? [] : /* @__PURE__ */ Object.create(null);
      for (var i = 0, l = self2.matches.length; i < l; i++) {
        var matches = self2.matches[i];
        if (!matches || Object.keys(matches).length === 0) {
          if (self2.nonull) {
            var literal = self2.minimatch.globSet[i];
            if (nou)
              all.push(literal);
            else
              all[literal] = true;
          }
        } else {
          var m = Object.keys(matches);
          if (nou)
            all.push.apply(all, m);
          else
            m.forEach(function(m2) {
              all[m2] = true;
            });
        }
      }
      if (!nou)
        all = Object.keys(all);
      if (!self2.nosort)
        all = all.sort(alphasort);
      if (self2.mark) {
        for (var i = 0; i < all.length; i++) {
          all[i] = self2._mark(all[i]);
        }
        if (self2.nodir) {
          all = all.filter(function(e) {
            var notDir = !/\/$/.test(e);
            var c = self2.cache[e] || self2.cache[makeAbs(self2, e)];
            if (notDir && c)
              notDir = c !== "DIR" && !Array.isArray(c);
            return notDir;
          });
        }
      }
      if (self2.ignore.length)
        all = all.filter(function(m2) {
          return !isIgnored(self2, m2);
        });
      self2.found = all;
    }
    function mark(self2, p) {
      var abs = makeAbs(self2, p);
      var c = self2.cache[abs];
      var m = p;
      if (c) {
        var isDir = c === "DIR" || Array.isArray(c);
        var slash = p.slice(-1) === "/";
        if (isDir && !slash)
          m += "/";
        else if (!isDir && slash)
          m = m.slice(0, -1);
        if (m !== p) {
          var mabs = makeAbs(self2, m);
          self2.statCache[mabs] = self2.statCache[abs];
          self2.cache[mabs] = self2.cache[abs];
        }
      }
      return m;
    }
    function makeAbs(self2, f) {
      var abs = f;
      if (f.charAt(0) === "/") {
        abs = path2.join(self2.root, f);
      } else if (isAbsolute(f) || f === "") {
        abs = f;
      } else if (self2.changedCwd) {
        abs = path2.resolve(self2.cwd, f);
      } else {
        abs = path2.resolve(f);
      }
      if (process.platform === "win32")
        abs = abs.replace(/\\/g, "/");
      return abs;
    }
    function isIgnored(self2, path3) {
      if (!self2.ignore.length)
        return false;
      return self2.ignore.some(function(item) {
        return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3));
      });
    }
    function childrenIgnored(self2, path3) {
      if (!self2.ignore.length)
        return false;
      return self2.ignore.some(function(item) {
        return !!(item.gmatcher && item.gmatcher.match(path3));
      });
    }
  }
});

// ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js
var require_sync9 = __commonJS({
  "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/sync.js"(exports2, module2) {
    module2.exports = globSync;
    globSync.GlobSync = GlobSync;
    var rp = require_fs2();
    var minimatch = require_minimatch2();
    var Minimatch = minimatch.Minimatch;
    var Glob = require_glob2().Glob;
    var util = require("util");
    var path2 = require("path");
    var assert = require("assert");
    var isAbsolute = require_path_is_absolute();
    var common = require_common8();
    var setopts = common.setopts;
    var ownProp = common.ownProp;
    var childrenIgnored = common.childrenIgnored;
    var isIgnored = common.isIgnored;
    function globSync(pattern, options) {
      if (typeof options === "function" || arguments.length === 3)
        throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
      return new GlobSync(pattern, options).found;
    }
    function GlobSync(pattern, options) {
      if (!pattern)
        throw new Error("must provide pattern");
      if (typeof options === "function" || arguments.length === 3)
        throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
      if (!(this instanceof GlobSync))
        return new GlobSync(pattern, options);
      setopts(this, pattern, options);
      if (this.noprocess)
        return this;
      var n = this.minimatch.set.length;
      this.matches = new Array(n);
      for (var i = 0; i < n; i++) {
        this._process(this.minimatch.set[i], i, false);
      }
      this._finish();
    }
    GlobSync.prototype._finish = function() {
      assert.ok(this instanceof GlobSync);
      if (this.realpath) {
        var self2 = this;
        this.matches.forEach(function(matchset, index) {
          var set = self2.matches[index] = /* @__PURE__ */ Object.create(null);
          for (var p in matchset) {
            try {
              p = self2._makeAbs(p);
              var real = rp.realpathSync(p, self2.realpathCache);
              set[real] = true;
            } catch (er) {
              if (er.syscall === "stat")
                set[self2._makeAbs(p)] = true;
              else
                throw er;
            }
          }
        });
      }
      common.finish(this);
    };
    GlobSync.prototype._process = function(pattern, index, inGlobStar) {
      assert.ok(this instanceof GlobSync);
      var n = 0;
      while (typeof pattern[n] === "string") {
        n++;
      }
      var prefix;
      switch (n) {
        // if not, then this is rather simple
        case pattern.length:
          this._processSimple(pattern.join("/"), index);
          return;
        case 0:
          prefix = null;
          break;
        default:
          prefix = pattern.slice(0, n).join("/");
          break;
      }
      var remain = pattern.slice(n);
      var read;
      if (prefix === null)
        read = ".";
      else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) {
        return typeof p === "string" ? p : "[*]";
      }).join("/"))) {
        if (!prefix || !isAbsolute(prefix))
          prefix = "/" + prefix;
        read = prefix;
      } else
        read = prefix;
      var abs = this._makeAbs(read);
      if (childrenIgnored(this, read))
        return;
      var isGlobStar = remain[0] === minimatch.GLOBSTAR;
      if (isGlobStar)
        this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
      else
        this._processReaddir(prefix, read, abs, remain, index, inGlobStar);
    };
    GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) {
      var entries = this._readdir(abs, inGlobStar);
      if (!entries)
        return;
      var pn = remain[0];
      var negate = !!this.minimatch.negate;
      var rawGlob = pn._glob;
      var dotOk = this.dot || rawGlob.charAt(0) === ".";
      var matchedEntries = [];
      for (var i = 0; i < entries.length; i++) {
        var e = entries[i];
        if (e.charAt(0) !== "." || dotOk) {
          var m;
          if (negate && !prefix) {
            m = !e.match(pn);
          } else {
            m = e.match(pn);
          }
          if (m)
            matchedEntries.push(e);
        }
      }
      var len = matchedEntries.length;
      if (len === 0)
        return;
      if (remain.length === 1 && !this.mark && !this.stat) {
        if (!this.matches[index])
          this.matches[index] = /* @__PURE__ */ Object.create(null);
        for (var i = 0; i < len; i++) {
          var e = matchedEntries[i];
          if (prefix) {
            if (prefix.slice(-1) !== "/")
              e = prefix + "/" + e;
            else
              e = prefix + e;
          }
          if (e.charAt(0) === "/" && !this.nomount) {
            e = path2.join(this.root, e);
          }
          this._emitMatch(index, e);
        }
        return;
      }
      remain.shift();
      for (var i = 0; i < len; i++) {
        var e = matchedEntries[i];
        var newPattern;
        if (prefix)
          newPattern = [prefix, e];
        else
          newPattern = [e];
        this._process(newPattern.concat(remain), index, inGlobStar);
      }
    };
    GlobSync.prototype._emitMatch = function(index, e) {
      if (isIgnored(this, e))
        return;
      var abs = this._makeAbs(e);
      if (this.mark)
        e = this._mark(e);
      if (this.absolute) {
        e = abs;
      }
      if (this.matches[index][e])
        return;
      if (this.nodir) {
        var c = this.cache[abs];
        if (c === "DIR" || Array.isArray(c))
          return;
      }
      this.matches[index][e] = true;
      if (this.stat)
        this._stat(e);
    };
    GlobSync.prototype._readdirInGlobStar = function(abs) {
      if (this.follow)
        return this._readdir(abs, false);
      var entries;
      var lstat;
      var stat;
      try {
        lstat = this.fs.lstatSync(abs);
      } catch (er) {
        if (er.code === "ENOENT") {
          return null;
        }
      }
      var isSym = lstat && lstat.isSymbolicLink();
      this.symlinks[abs] = isSym;
      if (!isSym && lstat && !lstat.isDirectory())
        this.cache[abs] = "FILE";
      else
        entries = this._readdir(abs, false);
      return entries;
    };
    GlobSync.prototype._readdir = function(abs, inGlobStar) {
      var entries;
      if (inGlobStar && !ownProp(this.symlinks, abs))
        return this._readdirInGlobStar(abs);
      if (ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (!c || c === "FILE")
          return null;
        if (Array.isArray(c))
          return c;
      }
      try {
        return this._readdirEntries(abs, this.fs.readdirSync(abs));
      } catch (er) {
        this._readdirError(abs, er);
        return null;
      }
    };
    GlobSync.prototype._readdirEntries = function(abs, entries) {
      if (!this.mark && !this.stat) {
        for (var i = 0; i < entries.length; i++) {
          var e = entries[i];
          if (abs === "/")
            e = abs + e;
          else
            e = abs + "/" + e;
          this.cache[e] = true;
        }
      }
      this.cache[abs] = entries;
      return entries;
    };
    GlobSync.prototype._readdirError = function(f, er) {
      switch (er.code) {
        case "ENOTSUP":
        // https://github.com/isaacs/node-glob/issues/205
        case "ENOTDIR":
          var abs = this._makeAbs(f);
          this.cache[abs] = "FILE";
          if (abs === this.cwdAbs) {
            var error = new Error(er.code + " invalid cwd " + this.cwd);
            error.path = this.cwd;
            error.code = er.code;
            throw error;
          }
          break;
        case "ENOENT":
        // not terribly unusual
        case "ELOOP":
        case "ENAMETOOLONG":
        case "UNKNOWN":
          this.cache[this._makeAbs(f)] = false;
          break;
        default:
          this.cache[this._makeAbs(f)] = false;
          if (this.strict)
            throw er;
          if (!this.silent)
            console.error("glob error", er);
          break;
      }
    };
    GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) {
      var entries = this._readdir(abs, inGlobStar);
      if (!entries)
        return;
      var remainWithoutGlobStar = remain.slice(1);
      var gspref = prefix ? [prefix] : [];
      var noGlobStar = gspref.concat(remainWithoutGlobStar);
      this._process(noGlobStar, index, false);
      var len = entries.length;
      var isSym = this.symlinks[abs];
      if (isSym && inGlobStar)
        return;
      for (var i = 0; i < len; i++) {
        var e = entries[i];
        if (e.charAt(0) === "." && !this.dot)
          continue;
        var instead = gspref.concat(entries[i], remainWithoutGlobStar);
        this._process(instead, index, true);
        var below = gspref.concat(entries[i], remain);
        this._process(below, index, true);
      }
    };
    GlobSync.prototype._processSimple = function(prefix, index) {
      var exists = this._stat(prefix);
      if (!this.matches[index])
        this.matches[index] = /* @__PURE__ */ Object.create(null);
      if (!exists)
        return;
      if (prefix && isAbsolute(prefix) && !this.nomount) {
        var trail = /[\/\\]$/.test(prefix);
        if (prefix.charAt(0) === "/") {
          prefix = path2.join(this.root, prefix);
        } else {
          prefix = path2.resolve(this.root, prefix);
          if (trail)
            prefix += "/";
        }
      }
      if (process.platform === "win32")
        prefix = prefix.replace(/\\/g, "/");
      this._emitMatch(index, prefix);
    };
    GlobSync.prototype._stat = function(f) {
      var abs = this._makeAbs(f);
      var needDir = f.slice(-1) === "/";
      if (f.length > this.maxLength)
        return false;
      if (!this.stat && ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (Array.isArray(c))
          c = "DIR";
        if (!needDir || c === "DIR")
          return c;
        if (needDir && c === "FILE")
          return false;
      }
      var exists;
      var stat = this.statCache[abs];
      if (!stat) {
        var lstat;
        try {
          lstat = this.fs.lstatSync(abs);
        } catch (er) {
          if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
            this.statCache[abs] = false;
            return false;
          }
        }
        if (lstat && lstat.isSymbolicLink()) {
          try {
            stat = this.fs.statSync(abs);
          } catch (er) {
            stat = lstat;
          }
        } else {
          stat = lstat;
        }
      }
      this.statCache[abs] = stat;
      var c = true;
      if (stat)
        c = stat.isDirectory() ? "DIR" : "FILE";
      this.cache[abs] = this.cache[abs] || c;
      if (needDir && c === "FILE")
        return false;
      return c;
    };
    GlobSync.prototype._mark = function(p) {
      return common.mark(this, p);
    };
    GlobSync.prototype._makeAbs = function(f) {
      return common.makeAbs(this, f);
    };
  }
});

// ../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js
var require_glob2 = __commonJS({
  "../node_modules/.pnpm/glob@7.2.3/node_modules/glob/glob.js"(exports2, module2) {
    module2.exports = glob;
    var rp = require_fs2();
    var minimatch = require_minimatch2();
    var Minimatch = minimatch.Minimatch;
    var inherits = require_inherits();
    var EE = require("events").EventEmitter;
    var path2 = require("path");
    var assert = require("assert");
    var isAbsolute = require_path_is_absolute();
    var globSync = require_sync9();
    var common = require_common8();
    var setopts = common.setopts;
    var ownProp = common.ownProp;
    var inflight = require_inflight();
    var util = require("util");
    var childrenIgnored = common.childrenIgnored;
    var isIgnored = common.isIgnored;
    var once = require_once();
    function glob(pattern, options, cb) {
      if (typeof options === "function") cb = options, options = {};
      if (!options) options = {};
      if (options.sync) {
        if (cb)
          throw new TypeError("callback provided to sync glob");
        return globSync(pattern, options);
      }
      return new Glob(pattern, options, cb);
    }
    glob.sync = globSync;
    var GlobSync = glob.GlobSync = globSync.GlobSync;
    glob.glob = glob;
    function extend(origin, add) {
      if (add === null || typeof add !== "object") {
        return origin;
      }
      var keys = Object.keys(add);
      var i = keys.length;
      while (i--) {
        origin[keys[i]] = add[keys[i]];
      }
      return origin;
    }
    glob.hasMagic = function(pattern, options_) {
      var options = extend({}, options_);
      options.noprocess = true;
      var g = new Glob(pattern, options);
      var set = g.minimatch.set;
      if (!pattern)
        return false;
      if (set.length > 1)
        return true;
      for (var j = 0; j < set[0].length; j++) {
        if (typeof set[0][j] !== "string")
          return true;
      }
      return false;
    };
    glob.Glob = Glob;
    inherits(Glob, EE);
    function Glob(pattern, options, cb) {
      if (typeof options === "function") {
        cb = options;
        options = null;
      }
      if (options && options.sync) {
        if (cb)
          throw new TypeError("callback provided to sync glob");
        return new GlobSync(pattern, options);
      }
      if (!(this instanceof Glob))
        return new Glob(pattern, options, cb);
      setopts(this, pattern, options);
      this._didRealPath = false;
      var n = this.minimatch.set.length;
      this.matches = new Array(n);
      if (typeof cb === "function") {
        cb = once(cb);
        this.on("error", cb);
        this.on("end", function(matches) {
          cb(null, matches);
        });
      }
      var self2 = this;
      this._processing = 0;
      this._emitQueue = [];
      this._processQueue = [];
      this.paused = false;
      if (this.noprocess)
        return this;
      if (n === 0)
        return done();
      var sync = true;
      for (var i = 0; i < n; i++) {
        this._process(this.minimatch.set[i], i, false, done);
      }
      sync = false;
      function done() {
        --self2._processing;
        if (self2._processing <= 0) {
          if (sync) {
            process.nextTick(function() {
              self2._finish();
            });
          } else {
            self2._finish();
          }
        }
      }
    }
    Glob.prototype._finish = function() {
      assert(this instanceof Glob);
      if (this.aborted)
        return;
      if (this.realpath && !this._didRealpath)
        return this._realpath();
      common.finish(this);
      this.emit("end", this.found);
    };
    Glob.prototype._realpath = function() {
      if (this._didRealpath)
        return;
      this._didRealpath = true;
      var n = this.matches.length;
      if (n === 0)
        return this._finish();
      var self2 = this;
      for (var i = 0; i < this.matches.length; i++)
        this._realpathSet(i, next);
      function next() {
        if (--n === 0)
          self2._finish();
      }
    };
    Glob.prototype._realpathSet = function(index, cb) {
      var matchset = this.matches[index];
      if (!matchset)
        return cb();
      var found = Object.keys(matchset);
      var self2 = this;
      var n = found.length;
      if (n === 0)
        return cb();
      var set = this.matches[index] = /* @__PURE__ */ Object.create(null);
      found.forEach(function(p, i) {
        p = self2._makeAbs(p);
        rp.realpath(p, self2.realpathCache, function(er, real) {
          if (!er)
            set[real] = true;
          else if (er.syscall === "stat")
            set[p] = true;
          else
            self2.emit("error", er);
          if (--n === 0) {
            self2.matches[index] = set;
            cb();
          }
        });
      });
    };
    Glob.prototype._mark = function(p) {
      return common.mark(this, p);
    };
    Glob.prototype._makeAbs = function(f) {
      return common.makeAbs(this, f);
    };
    Glob.prototype.abort = function() {
      this.aborted = true;
      this.emit("abort");
    };
    Glob.prototype.pause = function() {
      if (!this.paused) {
        this.paused = true;
        this.emit("pause");
      }
    };
    Glob.prototype.resume = function() {
      if (this.paused) {
        this.emit("resume");
        this.paused = false;
        if (this._emitQueue.length) {
          var eq = this._emitQueue.slice(0);
          this._emitQueue.length = 0;
          for (var i = 0; i < eq.length; i++) {
            var e = eq[i];
            this._emitMatch(e[0], e[1]);
          }
        }
        if (this._processQueue.length) {
          var pq = this._processQueue.slice(0);
          this._processQueue.length = 0;
          for (var i = 0; i < pq.length; i++) {
            var p = pq[i];
            this._processing--;
            this._process(p[0], p[1], p[2], p[3]);
          }
        }
      }
    };
    Glob.prototype._process = function(pattern, index, inGlobStar, cb) {
      assert(this instanceof Glob);
      assert(typeof cb === "function");
      if (this.aborted)
        return;
      this._processing++;
      if (this.paused) {
        this._processQueue.push([pattern, index, inGlobStar, cb]);
        return;
      }
      var n = 0;
      while (typeof pattern[n] === "string") {
        n++;
      }
      var prefix;
      switch (n) {
        // if not, then this is rather simple
        case pattern.length:
          this._processSimple(pattern.join("/"), index, cb);
          return;
        case 0:
          prefix = null;
          break;
        default:
          prefix = pattern.slice(0, n).join("/");
          break;
      }
      var remain = pattern.slice(n);
      var read;
      if (prefix === null)
        read = ".";
      else if (isAbsolute(prefix) || isAbsolute(pattern.map(function(p) {
        return typeof p === "string" ? p : "[*]";
      }).join("/"))) {
        if (!prefix || !isAbsolute(prefix))
          prefix = "/" + prefix;
        read = prefix;
      } else
        read = prefix;
      var abs = this._makeAbs(read);
      if (childrenIgnored(this, read))
        return cb();
      var isGlobStar = remain[0] === minimatch.GLOBSTAR;
      if (isGlobStar)
        this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
      else
        this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb);
    };
    Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) {
      var self2 = this;
      this._readdir(abs, inGlobStar, function(er, entries) {
        return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
      });
    };
    Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
      if (!entries)
        return cb();
      var pn = remain[0];
      var negate = !!this.minimatch.negate;
      var rawGlob = pn._glob;
      var dotOk = this.dot || rawGlob.charAt(0) === ".";
      var matchedEntries = [];
      for (var i = 0; i < entries.length; i++) {
        var e = entries[i];
        if (e.charAt(0) !== "." || dotOk) {
          var m;
          if (negate && !prefix) {
            m = !e.match(pn);
          } else {
            m = e.match(pn);
          }
          if (m)
            matchedEntries.push(e);
        }
      }
      var len = matchedEntries.length;
      if (len === 0)
        return cb();
      if (remain.length === 1 && !this.mark && !this.stat) {
        if (!this.matches[index])
          this.matches[index] = /* @__PURE__ */ Object.create(null);
        for (var i = 0; i < len; i++) {
          var e = matchedEntries[i];
          if (prefix) {
            if (prefix !== "/")
              e = prefix + "/" + e;
            else
              e = prefix + e;
          }
          if (e.charAt(0) === "/" && !this.nomount) {
            e = path2.join(this.root, e);
          }
          this._emitMatch(index, e);
        }
        return cb();
      }
      remain.shift();
      for (var i = 0; i < len; i++) {
        var e = matchedEntries[i];
        var newPattern;
        if (prefix) {
          if (prefix !== "/")
            e = prefix + "/" + e;
          else
            e = prefix + e;
        }
        this._process([e].concat(remain), index, inGlobStar, cb);
      }
      cb();
    };
    Glob.prototype._emitMatch = function(index, e) {
      if (this.aborted)
        return;
      if (isIgnored(this, e))
        return;
      if (this.paused) {
        this._emitQueue.push([index, e]);
        return;
      }
      var abs = isAbsolute(e) ? e : this._makeAbs(e);
      if (this.mark)
        e = this._mark(e);
      if (this.absolute)
        e = abs;
      if (this.matches[index][e])
        return;
      if (this.nodir) {
        var c = this.cache[abs];
        if (c === "DIR" || Array.isArray(c))
          return;
      }
      this.matches[index][e] = true;
      var st = this.statCache[abs];
      if (st)
        this.emit("stat", e, st);
      this.emit("match", e);
    };
    Glob.prototype._readdirInGlobStar = function(abs, cb) {
      if (this.aborted)
        return;
      if (this.follow)
        return this._readdir(abs, false, cb);
      var lstatkey = "lstat\0" + abs;
      var self2 = this;
      var lstatcb = inflight(lstatkey, lstatcb_);
      if (lstatcb)
        self2.fs.lstat(abs, lstatcb);
      function lstatcb_(er, lstat) {
        if (er && er.code === "ENOENT")
          return cb();
        var isSym = lstat && lstat.isSymbolicLink();
        self2.symlinks[abs] = isSym;
        if (!isSym && lstat && !lstat.isDirectory()) {
          self2.cache[abs] = "FILE";
          cb();
        } else
          self2._readdir(abs, false, cb);
      }
    };
    Glob.prototype._readdir = function(abs, inGlobStar, cb) {
      if (this.aborted)
        return;
      cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb);
      if (!cb)
        return;
      if (inGlobStar && !ownProp(this.symlinks, abs))
        return this._readdirInGlobStar(abs, cb);
      if (ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (!c || c === "FILE")
          return cb();
        if (Array.isArray(c))
          return cb(null, c);
      }
      var self2 = this;
      self2.fs.readdir(abs, readdirCb(this, abs, cb));
    };
    function readdirCb(self2, abs, cb) {
      return function(er, entries) {
        if (er)
          self2._readdirError(abs, er, cb);
        else
          self2._readdirEntries(abs, entries, cb);
      };
    }
    Glob.prototype._readdirEntries = function(abs, entries, cb) {
      if (this.aborted)
        return;
      if (!this.mark && !this.stat) {
        for (var i = 0; i < entries.length; i++) {
          var e = entries[i];
          if (abs === "/")
            e = abs + e;
          else
            e = abs + "/" + e;
          this.cache[e] = true;
        }
      }
      this.cache[abs] = entries;
      return cb(null, entries);
    };
    Glob.prototype._readdirError = function(f, er, cb) {
      if (this.aborted)
        return;
      switch (er.code) {
        case "ENOTSUP":
        // https://github.com/isaacs/node-glob/issues/205
        case "ENOTDIR":
          var abs = this._makeAbs(f);
          this.cache[abs] = "FILE";
          if (abs === this.cwdAbs) {
            var error = new Error(er.code + " invalid cwd " + this.cwd);
            error.path = this.cwd;
            error.code = er.code;
            this.emit("error", error);
            this.abort();
          }
          break;
        case "ENOENT":
        // not terribly unusual
        case "ELOOP":
        case "ENAMETOOLONG":
        case "UNKNOWN":
          this.cache[this._makeAbs(f)] = false;
          break;
        default:
          this.cache[this._makeAbs(f)] = false;
          if (this.strict) {
            this.emit("error", er);
            this.abort();
          }
          if (!this.silent)
            console.error("glob error", er);
          break;
      }
      return cb();
    };
    Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) {
      var self2 = this;
      this._readdir(abs, inGlobStar, function(er, entries) {
        self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
      });
    };
    Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
      if (!entries)
        return cb();
      var remainWithoutGlobStar = remain.slice(1);
      var gspref = prefix ? [prefix] : [];
      var noGlobStar = gspref.concat(remainWithoutGlobStar);
      this._process(noGlobStar, index, false, cb);
      var isSym = this.symlinks[abs];
      var len = entries.length;
      if (isSym && inGlobStar)
        return cb();
      for (var i = 0; i < len; i++) {
        var e = entries[i];
        if (e.charAt(0) === "." && !this.dot)
          continue;
        var instead = gspref.concat(entries[i], remainWithoutGlobStar);
        this._process(instead, index, true, cb);
        var below = gspref.concat(entries[i], remain);
        this._process(below, index, true, cb);
      }
      cb();
    };
    Glob.prototype._processSimple = function(prefix, index, cb) {
      var self2 = this;
      this._stat(prefix, function(er, exists) {
        self2._processSimple2(prefix, index, er, exists, cb);
      });
    };
    Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) {
      if (!this.matches[index])
        this.matches[index] = /* @__PURE__ */ Object.create(null);
      if (!exists)
        return cb();
      if (prefix && isAbsolute(prefix) && !this.nomount) {
        var trail = /[\/\\]$/.test(prefix);
        if (prefix.charAt(0) === "/") {
          prefix = path2.join(this.root, prefix);
        } else {
          prefix = path2.resolve(this.root, prefix);
          if (trail)
            prefix += "/";
        }
      }
      if (process.platform === "win32")
        prefix = prefix.replace(/\\/g, "/");
      this._emitMatch(index, prefix);
      cb();
    };
    Glob.prototype._stat = function(f, cb) {
      var abs = this._makeAbs(f);
      var needDir = f.slice(-1) === "/";
      if (f.length > this.maxLength)
        return cb();
      if (!this.stat && ownProp(this.cache, abs)) {
        var c = this.cache[abs];
        if (Array.isArray(c))
          c = "DIR";
        if (!needDir || c === "DIR")
          return cb(null, c);
        if (needDir && c === "FILE")
          return cb();
      }
      var exists;
      var stat = this.statCache[abs];
      if (stat !== void 0) {
        if (stat === false)
          return cb(null, stat);
        else {
          var type = stat.isDirectory() ? "DIR" : "FILE";
          if (needDir && type === "FILE")
            return cb();
          else
            return cb(null, type, stat);
        }
      }
      var self2 = this;
      var statcb = inflight("stat\0" + abs, lstatcb_);
      if (statcb)
        self2.fs.lstat(abs, statcb);
      function lstatcb_(er, lstat) {
        if (lstat && lstat.isSymbolicLink()) {
          return self2.fs.stat(abs, function(er2, stat2) {
            if (er2)
              self2._stat2(f, abs, null, lstat, cb);
            else
              self2._stat2(f, abs, er2, stat2, cb);
          });
        } else {
          self2._stat2(f, abs, er, lstat, cb);
        }
      }
    };
    Glob.prototype._stat2 = function(f, abs, er, stat, cb) {
      if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
        this.statCache[abs] = false;
        return cb();
      }
      var needDir = f.slice(-1) === "/";
      this.statCache[abs] = stat;
      if (abs.slice(-1) === "/" && stat && !stat.isDirectory())
        return cb(null, false, stat);
      var c = true;
      if (stat)
        c = stat.isDirectory() ? "DIR" : "FILE";
      this.cache[abs] = this.cache[abs] || c;
      if (needDir && c === "FILE")
        return cb();
      return cb(null, c, stat);
    };
  }
});

// ../node_modules/.pnpm/rimraf@3.0.2/node_modules/rimraf/rimraf.js
var require_rimraf2 = __commonJS({
  "../node_modules/.pnpm/rimraf@3.0.2/node_modules/rimraf/rimraf.js"(exports2, module2) {
    var assert = require("assert");
    var path2 = require("path");
    var fs = require("fs");
    var glob = void 0;
    try {
      glob = require_glob2();
    } catch (_err) {
    }
    var defaultGlobOpts = {
      nosort: true,
      silent: true
    };
    var timeout = 0;
    var isWindows = process.platform === "win32";
    var defaults = (options) => {
      const methods = [
        "unlink",
        "chmod",
        "stat",
        "lstat",
        "rmdir",
        "readdir"
      ];
      methods.forEach((m) => {
        options[m] = options[m] || fs[m];
        m = m + "Sync";
        options[m] = options[m] || fs[m];
      });
      options.maxBusyTries = options.maxBusyTries || 3;
      options.emfileWait = options.emfileWait || 1e3;
      if (options.glob === false) {
        options.disableGlob = true;
      }
      if (options.disableGlob !== true && glob === void 0) {
        throw Error("glob dependency not found, set `options.disableGlob = true` if intentional");
      }
      options.disableGlob = options.disableGlob || false;
      options.glob = options.glob || defaultGlobOpts;
    };
    var rimraf = (p, options, cb) => {
      if (typeof options === "function") {
        cb = options;
        options = {};
      }
      assert(p, "rimraf: missing path");
      assert.equal(typeof p, "string", "rimraf: path should be a string");
      assert.equal(typeof cb, "function", "rimraf: callback function required");
      assert(options, "rimraf: invalid options argument provided");
      assert.equal(typeof options, "object", "rimraf: options should be object");
      defaults(options);
      let busyTries = 0;
      let errState = null;
      let n = 0;
      const next = (er) => {
        errState = errState || er;
        if (--n === 0)
          cb(errState);
      };
      const afterGlob = (er, results) => {
        if (er)
          return cb(er);
        n = results.length;
        if (n === 0)
          return cb();
        results.forEach((p2) => {
          const CB = (er2) => {
            if (er2) {
              if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) {
                busyTries++;
                return setTimeout(() => rimraf_(p2, options, CB), busyTries * 100);
              }
              if (er2.code === "EMFILE" && timeout < options.emfileWait) {
                return setTimeout(() => rimraf_(p2, options, CB), timeout++);
              }
              if (er2.code === "ENOENT") er2 = null;
            }
            timeout = 0;
            next(er2);
          };
          rimraf_(p2, options, CB);
        });
      };
      if (options.disableGlob || !glob.hasMagic(p))
        return afterGlob(null, [p]);
      options.lstat(p, (er, stat) => {
        if (!er)
          return afterGlob(null, [p]);
        glob(p, options.glob, afterGlob);
      });
    };
    var rimraf_ = (p, options, cb) => {
      assert(p);
      assert(options);
      assert(typeof cb === "function");
      options.lstat(p, (er, st) => {
        if (er && er.code === "ENOENT")
          return cb(null);
        if (er && er.code === "EPERM" && isWindows)
          fixWinEPERM(p, options, er, cb);
        if (st && st.isDirectory())
          return rmdir(p, options, er, cb);
        options.unlink(p, (er2) => {
          if (er2) {
            if (er2.code === "ENOENT")
              return cb(null);
            if (er2.code === "EPERM")
              return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
            if (er2.code === "EISDIR")
              return rmdir(p, options, er2, cb);
          }
          return cb(er2);
        });
      });
    };
    var fixWinEPERM = (p, options, er, cb) => {
      assert(p);
      assert(options);
      assert(typeof cb === "function");
      options.chmod(p, 438, (er2) => {
        if (er2)
          cb(er2.code === "ENOENT" ? null : er);
        else
          options.stat(p, (er3, stats) => {
            if (er3)
              cb(er3.code === "ENOENT" ? null : er);
            else if (stats.isDirectory())
              rmdir(p, options, er, cb);
            else
              options.unlink(p, cb);
          });
      });
    };
    var fixWinEPERMSync = (p, options, er) => {
      assert(p);
      assert(options);
      try {
        options.chmodSync(p, 438);
      } catch (er2) {
        if (er2.code === "ENOENT")
          return;
        else
          throw er;
      }
      let stats;
      try {
        stats = options.statSync(p);
      } catch (er3) {
        if (er3.code === "ENOENT")
          return;
        else
          throw er;
      }
      if (stats.isDirectory())
        rmdirSync(p, options, er);
      else
        options.unlinkSync(p);
    };
    var rmdir = (p, options, originalEr, cb) => {
      assert(p);
      assert(options);
      assert(typeof cb === "function");
      options.rmdir(p, (er) => {
        if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM"))
          rmkids(p, options, cb);
        else if (er && er.code === "ENOTDIR")
          cb(originalEr);
        else
          cb(er);
      });
    };
    var rmkids = (p, options, cb) => {
      assert(p);
      assert(options);
      assert(typeof cb === "function");
      options.readdir(p, (er, files) => {
        if (er)
          return cb(er);
        let n = files.length;
        if (n === 0)
          return options.rmdir(p, cb);
        let errState;
        files.forEach((f) => {
          rimraf(path2.join(p, f), options, (er2) => {
            if (errState)
              return;
            if (er2)
              return cb(errState = er2);
            if (--n === 0)
              options.rmdir(p, cb);
          });
        });
      });
    };
    var rimrafSync = (p, options) => {
      options = options || {};
      defaults(options);
      assert(p, "rimraf: missing path");
      assert.equal(typeof p, "string", "rimraf: path should be a string");
      assert(options, "rimraf: missing options");
      assert.equal(typeof options, "object", "rimraf: options should be object");
      let results;
      if (options.disableGlob || !glob.hasMagic(p)) {
        results = [p];
      } else {
        try {
          options.lstatSync(p);
          results = [p];
        } catch (er) {
          results = glob.sync(p, options.glob);
        }
      }
      if (!results.length)
        return;
      for (let i = 0; i < results.length; i++) {
        const p2 = results[i];
        let st;
        try {
          st = options.lstatSync(p2);
        } catch (er) {
          if (er.code === "ENOENT")
            return;
          if (er.code === "EPERM" && isWindows)
            fixWinEPERMSync(p2, options, er);
        }
        try {
          if (st && st.isDirectory())
            rmdirSync(p2, options, null);
          else
            options.unlinkSync(p2);
        } catch (er) {
          if (er.code === "ENOENT")
            return;
          if (er.code === "EPERM")
            return isWindows ? fixWinEPERMSync(p2, options, er) : rmdirSync(p2, options, er);
          if (er.code !== "EISDIR")
            throw er;
          rmdirSync(p2, options, er);
        }
      }
    };
    var rmdirSync = (p, options, originalEr) => {
      assert(p);
      assert(options);
      try {
        options.rmdirSync(p);
      } catch (er) {
        if (er.code === "ENOENT")
          return;
        if (er.code === "ENOTDIR")
          throw originalEr;
        if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")
          rmkidsSync(p, options);
      }
    };
    var rmkidsSync = (p, options) => {
      assert(p);
      assert(options);
      options.readdirSync(p).forEach((f) => rimrafSync(path2.join(p, f), options));
      const retries = isWindows ? 100 : 1;
      let i = 0;
      do {
        let threw = true;
        try {
          const ret2 = options.rmdirSync(p, options);
          threw = false;
          return ret2;
        } finally {
          if (++i < retries && threw)
            continue;
        }
      } while (true);
    };
    module2.exports = rimraf;
    rimraf.sync = rimrafSync;
  }
});

// ../node_modules/.pnpm/indent-string@4.0.0/node_modules/indent-string/index.js
var require_indent_string = __commonJS({
  "../node_modules/.pnpm/indent-string@4.0.0/node_modules/indent-string/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (string, count = 1, options) => {
      options = {
        indent: " ",
        includeEmptyLines: false,
        ...options
      };
      if (typeof string !== "string") {
        throw new TypeError(
          `Expected \`input\` to be a \`string\`, got \`${typeof string}\``
        );
      }
      if (typeof count !== "number") {
        throw new TypeError(
          `Expected \`count\` to be a \`number\`, got \`${typeof count}\``
        );
      }
      if (typeof options.indent !== "string") {
        throw new TypeError(
          `Expected \`options.indent\` to be a \`string\`, got \`${typeof options.indent}\``
        );
      }
      if (count === 0) {
        return string;
      }
      const regex = options.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm;
      return string.replace(regex, options.indent.repeat(count));
    };
  }
});

// ../node_modules/.pnpm/clean-stack@2.2.0/node_modules/clean-stack/index.js
var require_clean_stack = __commonJS({
  "../node_modules/.pnpm/clean-stack@2.2.0/node_modules/clean-stack/index.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/;
    var pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/;
    var homeDir = typeof os.homedir === "undefined" ? "" : os.homedir();
    module2.exports = (stack, options) => {
      options = Object.assign({ pretty: false }, options);
      return stack.replace(/\\/g, "/").split("\n").filter((line) => {
        const pathMatches = line.match(extractPathRegex);
        if (pathMatches === null || !pathMatches[1]) {
          return true;
        }
        const match = pathMatches[1];
        if (match.includes(".app/Contents/Resources/electron.asar") || match.includes(".app/Contents/Resources/default_app.asar")) {
          return false;
        }
        return !pathRegex.test(match);
      }).filter((line) => line.trim() !== "").map((line) => {
        if (options.pretty) {
          return line.replace(extractPathRegex, (m, p1) => m.replace(p1, p1.replace(homeDir, "~")));
        }
        return line;
      }).join("\n");
    };
  }
});

// ../node_modules/.pnpm/aggregate-error@3.1.0/node_modules/aggregate-error/index.js
var require_aggregate_error = __commonJS({
  "../node_modules/.pnpm/aggregate-error@3.1.0/node_modules/aggregate-error/index.js"(exports2, module2) {
    "use strict";
    var indentString = require_indent_string();
    var cleanStack = require_clean_stack();
    var cleanInternalStack = (stack) => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, "");
    var AggregateError2 = class extends Error {
      constructor(errors) {
        if (!Array.isArray(errors)) {
          throw new TypeError(`Expected input to be an Array, got ${typeof errors}`);
        }
        errors = [...errors].map((error) => {
          if (error instanceof Error) {
            return error;
          }
          if (error !== null && typeof error === "object") {
            return Object.assign(new Error(error.message), error);
          }
          return new Error(error);
        });
        let message = errors.map((error) => {
          return typeof error.stack === "string" ? cleanInternalStack(cleanStack(error.stack)) : String(error);
        }).join("\n");
        message = "\n" + indentString(message, 4);
        super(message);
        this.name = "AggregateError";
        Object.defineProperty(this, "_errors", { value: errors });
      }
      *[Symbol.iterator]() {
        for (const error of this._errors) {
          yield error;
        }
      }
    };
    module2.exports = AggregateError2;
  }
});

// ../node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js
var require_p_map2 = __commonJS({
  "../node_modules/.pnpm/p-map@4.0.0/node_modules/p-map/index.js"(exports2, module2) {
    "use strict";
    var AggregateError2 = require_aggregate_error();
    module2.exports = async (iterable, mapper, {
      concurrency = Infinity,
      stopOnError = true
    } = {}) => {
      return new Promise((resolve, reject) => {
        if (typeof mapper !== "function") {
          throw new TypeError("Mapper function is required");
        }
        if (!((Number.isSafeInteger(concurrency) || concurrency === Infinity) && concurrency >= 1)) {
          throw new TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${concurrency}\` (${typeof concurrency})`);
        }
        const result2 = [];
        const errors = [];
        const iterator = iterable[Symbol.iterator]();
        let isRejected = false;
        let isIterableDone = false;
        let resolvingCount = 0;
        let currentIndex = 0;
        const next = () => {
          if (isRejected) {
            return;
          }
          const nextItem = iterator.next();
          const index = currentIndex;
          currentIndex++;
          if (nextItem.done) {
            isIterableDone = true;
            if (resolvingCount === 0) {
              if (!stopOnError && errors.length !== 0) {
                reject(new AggregateError2(errors));
              } else {
                resolve(result2);
              }
            }
            return;
          }
          resolvingCount++;
          (async () => {
            try {
              const element = await nextItem.value;
              result2[index] = await mapper(element, index);
              resolvingCount--;
              next();
            } catch (error) {
              if (stopOnError) {
                isRejected = true;
                reject(error);
              } else {
                errors.push(error);
                resolvingCount--;
                next();
              }
            }
          })();
        };
        for (let i = 0; i < concurrency; i++) {
          next();
          if (isIterableDone) {
            break;
          }
        }
      });
    };
  }
});

// ../node_modules/.pnpm/del@6.1.1/node_modules/del/index.js
var require_del = __commonJS({
  "../node_modules/.pnpm/del@6.1.1/node_modules/del/index.js"(exports2, module2) {
    "use strict";
    var { promisify } = require("util");
    var path2 = require("path");
    var globby = require_globby();
    var isGlob = require_is_glob();
    var slash = require_slash();
    var gracefulFs = require_graceful_fs();
    var isPathCwd = require_is_path_cwd();
    var isPathInside = require_is_path_inside();
    var rimraf = require_rimraf2();
    var pMap = require_p_map2();
    var rimrafP = promisify(rimraf);
    var rimrafOptions = {
      glob: false,
      unlink: gracefulFs.unlink,
      unlinkSync: gracefulFs.unlinkSync,
      chmod: gracefulFs.chmod,
      chmodSync: gracefulFs.chmodSync,
      stat: gracefulFs.stat,
      statSync: gracefulFs.statSync,
      lstat: gracefulFs.lstat,
      lstatSync: gracefulFs.lstatSync,
      rmdir: gracefulFs.rmdir,
      rmdirSync: gracefulFs.rmdirSync,
      readdir: gracefulFs.readdir,
      readdirSync: gracefulFs.readdirSync
    };
    function safeCheck(file, cwd) {
      if (isPathCwd(file)) {
        throw new Error("Cannot delete the current working directory. Can be overridden with the `force` option.");
      }
      if (!isPathInside(file, cwd)) {
        throw new Error("Cannot delete files/directories outside the current working directory. Can be overridden with the `force` option.");
      }
    }
    function normalizePatterns(patterns) {
      patterns = Array.isArray(patterns) ? patterns : [patterns];
      patterns = patterns.map((pattern) => {
        if (process.platform === "win32" && isGlob(pattern) === false) {
          return slash(pattern);
        }
        return pattern;
      });
      return patterns;
    }
    module2.exports = async (patterns, { force, dryRun, cwd = process.cwd(), onProgress = () => {
    }, ...options } = {}) => {
      options = {
        expandDirectories: false,
        onlyFiles: false,
        followSymbolicLinks: false,
        cwd,
        ...options
      };
      patterns = normalizePatterns(patterns);
      const files = (await globby(patterns, options)).sort((a, b) => b.localeCompare(a));
      if (files.length === 0) {
        onProgress({
          totalCount: 0,
          deletedCount: 0,
          percent: 1
        });
      }
      let deletedCount = 0;
      const mapper = async (file) => {
        file = path2.resolve(cwd, file);
        if (!force) {
          safeCheck(file, cwd);
        }
        if (!dryRun) {
          await rimrafP(file, rimrafOptions);
        }
        deletedCount += 1;
        onProgress({
          totalCount: files.length,
          deletedCount,
          percent: deletedCount / files.length
        });
        return file;
      };
      const removedFiles = await pMap(files, mapper, options);
      removedFiles.sort((a, b) => a.localeCompare(b));
      return removedFiles;
    };
    module2.exports.sync = (patterns, { force, dryRun, cwd = process.cwd(), ...options } = {}) => {
      options = {
        expandDirectories: false,
        onlyFiles: false,
        followSymbolicLinks: false,
        cwd,
        ...options
      };
      patterns = normalizePatterns(patterns);
      const files = globby.sync(patterns, options).sort((a, b) => b.localeCompare(a));
      const removedFiles = files.map((file) => {
        file = path2.resolve(cwd, file);
        if (!force) {
          safeCheck(file, cwd);
        }
        if (!dryRun) {
          rimraf.sync(file, rimrafOptions);
        }
        return file;
      });
      removedFiles.sort((a, b) => a.localeCompare(b));
      return removedFiles;
    };
  }
});

// ../node_modules/.pnpm/tempy@1.0.1/node_modules/tempy/index.js
var require_tempy = __commonJS({
  "../node_modules/.pnpm/tempy@1.0.1/node_modules/tempy/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var uniqueString = require_unique_string();
    var tempDir = require_temp_dir();
    var isStream = require_is_stream();
    var del = require_del();
    var stream = require("stream");
    var { promisify } = require("util");
    var pipeline = promisify(stream.pipeline);
    var { writeFile } = fs.promises;
    var getPath = (prefix = "") => path2.join(tempDir, prefix + uniqueString());
    var writeStream = async (filePath, data) => pipeline(data, fs.createWriteStream(filePath));
    var createTask = (tempyFunction, { extraArguments = 0 } = {}) => async (...arguments_) => {
      const [callback, options] = arguments_.slice(extraArguments);
      const result2 = await tempyFunction(...arguments_.slice(0, extraArguments), options);
      try {
        return await callback(result2);
      } finally {
        await del(result2, { force: true });
      }
    };
    module2.exports.file = (options) => {
      options = {
        ...options
      };
      if (options.name) {
        if (options.extension !== void 0 && options.extension !== null) {
          throw new Error("The `name` and `extension` options are mutually exclusive");
        }
        return path2.join(module2.exports.directory(), options.name);
      }
      return getPath() + (options.extension === void 0 || options.extension === null ? "" : "." + options.extension.replace(/^\./, ""));
    };
    module2.exports.file.task = createTask(module2.exports.file);
    module2.exports.directory = ({ prefix = "" } = {}) => {
      const directory = getPath(prefix);
      fs.mkdirSync(directory);
      return directory;
    };
    module2.exports.directory.task = createTask(module2.exports.directory);
    module2.exports.write = async (data, options) => {
      const filename = module2.exports.file(options);
      const write = isStream(data) ? writeStream : writeFile;
      await write(filename, data);
      return filename;
    };
    module2.exports.write.task = createTask(module2.exports.write, { extraArguments: 1 });
    module2.exports.writeSync = (data, options) => {
      const filename = module2.exports.file(options);
      fs.writeFileSync(filename, data);
      return filename;
    };
    Object.defineProperty(module2.exports, "root", {
      get() {
        return tempDir;
      }
    });
  }
});

// ../env/node.fetcher/lib/normalizeArch.js
var require_normalizeArch = __commonJS({
  "../env/node.fetcher/lib/normalizeArch.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNormalizedArch = getNormalizedArch;
    function getNormalizedArch(platform, arch, nodeVersion) {
      if (nodeVersion) {
        const nodeMajorVersion = +nodeVersion.split(".")[0];
        if (platform === "darwin" && arch === "arm64" && nodeMajorVersion < 16) {
          return "x64";
        }
      }
      if (platform === "win32" && arch === "ia32") {
        return "x86";
      }
      if (arch === "arm") {
        return "armv7l";
      }
      return arch;
    }
  }
});

// ../env/node.fetcher/lib/getNodeTarball.js
var require_getNodeTarball = __commonJS({
  "../env/node.fetcher/lib/getNodeTarball.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNodeTarball = getNodeTarball;
    var normalizeArch_1 = require_normalizeArch();
    function getNodeTarball(nodeVersion, nodeMirror, processPlatform, processArch) {
      const platform = processPlatform === "win32" ? "win" : processPlatform;
      const arch = (0, normalizeArch_1.getNormalizedArch)(processPlatform, processArch, nodeVersion);
      const extension = platform === "win" ? "zip" : "tar.gz";
      const pkgName = `node-v${nodeVersion}-${platform}-${arch}`;
      return {
        pkgName,
        tarball: `${nodeMirror}v${nodeVersion}/${pkgName}.${extension}`
      };
    }
  }
});

// ../env/node.fetcher/lib/index.js
var require_lib80 = __commonJS({
  "../env/node.fetcher/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fetchNode = fetchNode;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var pick_fetcher_1 = require_lib56();
    var create_cafs_store_1 = require_lib59();
    var tarball_fetcher_1 = require_lib79();
    var adm_zip_1 = __importDefault2(require_adm_zip());
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    var tempy_1 = __importDefault2(require_tempy());
    var detect_libc_1 = require_detect_libc();
    var getNodeTarball_1 = require_getNodeTarball();
    async function fetchNode(fetch, version2, targetDir, opts) {
      if (await (0, detect_libc_1.isNonGlibcLinux)()) {
        throw new error_1.PnpmError("MUSL", 'The current system uses the "MUSL" C standard library. Node.js currently has prebuilt artifacts only for the "glibc" libc, so we can install Node.js only for glibc');
      }
      const nodeMirrorBaseUrl = opts.nodeMirrorBaseUrl ?? "https://nodejs.org/download/release/";
      const { tarball, pkgName } = (0, getNodeTarball_1.getNodeTarball)(version2, nodeMirrorBaseUrl, process.platform, process.arch);
      if (tarball.endsWith(".zip")) {
        await downloadAndUnpackZip(fetch, tarball, targetDir, pkgName);
        return;
      }
      const getAuthHeader = () => void 0;
      const fetchers = (0, tarball_fetcher_1.createTarballFetcher)(fetch, getAuthHeader, {
        retry: opts.retry,
        timeout: opts.fetchTimeout,
        // These are not needed for fetching Node.js
        rawConfig: {},
        unsafePerm: false
      });
      const cafs = (0, create_cafs_store_1.createCafsStore)(opts.storeDir);
      const fetchTarball = (0, pick_fetcher_1.pickFetcher)(fetchers, { tarball });
      const { filesIndex } = await fetchTarball(cafs, { tarball }, {
        filesIndexFile: path_1.default.join(opts.storeDir, encodeURIComponent(tarball)),
        // TODO: change the name or don't save an index file for node.js tarballs
        lockfileDir: process.cwd(),
        pkg: {}
      });
      cafs.importPackage(targetDir, {
        filesResponse: {
          filesIndex,
          resolvedFrom: "remote",
          requiresBuild: false
        },
        force: true
      });
    }
    async function downloadAndUnpackZip(fetchFromRegistry, zipUrl, targetDir, pkgName) {
      const response = await fetchFromRegistry(zipUrl);
      const tmp = path_1.default.join(tempy_1.default.directory(), "pnpm.zip");
      const dest = fs_1.default.createWriteStream(tmp);
      await new Promise((resolve, reject) => {
        response.body.pipe(dest).on("error", reject).on("close", resolve);
      });
      const zip = new adm_zip_1.default(tmp);
      const nodeDir = path_1.default.dirname(targetDir);
      zip.extractAllTo(nodeDir, true);
      await (0, rename_overwrite_1.default)(path_1.default.join(nodeDir, pkgName), targetDir);
      await fs_1.default.promises.unlink(tmp);
    }
  }
});

// ../node_modules/.pnpm/can-link@2.0.0/node_modules/can-link/index.js
var require_can_link = __commonJS({
  "../node_modules/.pnpm/can-link@2.0.0/node_modules/can-link/index.js"(exports2, module2) {
    "use strict";
    var defaultFS = require("fs");
    module2.exports = async (existingPath, newPath, customFS) => {
      const fs = customFS || defaultFS;
      try {
        await fs.promises.link(existingPath, newPath);
        fs.promises.unlink(newPath).catch(() => {
        });
        return true;
      } catch (err) {
        if (err.code === "EXDEV" || err.code === "EACCES" || err.code === "EPERM") {
          return false;
        }
        throw err;
      }
    };
    module2.exports.sync = (existingPath, newPath, customFS) => {
      const fs = customFS || defaultFS;
      try {
        fs.linkSync(existingPath, newPath);
        fs.unlinkSync(newPath);
        return true;
      } catch (err) {
        if (err.code === "EXDEV" || err.code === "EACCES" || err.code === "EPERM") {
          return false;
        }
        throw err;
      }
    };
  }
});

// ../node_modules/.pnpm/path-temp@2.0.0/node_modules/path-temp/index.js
var require_path_temp2 = __commonJS({
  "../node_modules/.pnpm/path-temp@2.0.0/node_modules/path-temp/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var uniqueString = require_unique_string();
    module2.exports = function pathTemp(folder) {
      return path2.join(folder, `_tmp_${process.pid}_${uniqueString()}`);
    };
  }
});

// ../node_modules/.pnpm/next-path@1.0.0/node_modules/next-path/index.js
var require_next_path = __commonJS({
  "../node_modules/.pnpm/next-path@1.0.0/node_modules/next-path/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var nextPath = (from, to) => {
      const diff = path2.relative(from, to);
      const sepIndex = diff.indexOf(path2.sep);
      const next = sepIndex >= 0 ? diff.substring(0, sepIndex) : diff;
      return path2.join(from, next);
    };
    module2.exports = nextPath;
  }
});

// ../node_modules/.pnpm/root-link-target@3.1.0/node_modules/root-link-target/index.js
var require_root_link_target = __commonJS({
  "../node_modules/.pnpm/root-link-target@3.1.0/node_modules/root-link-target/index.js"(exports2, module2) {
    "use strict";
    var canLink = require_can_link();
    var path2 = require("path");
    var pathTemp = require_path_temp2();
    var nextPath = require_next_path();
    module2.exports = async (filePath) => {
      filePath = path2.resolve(filePath);
      const end = path2.dirname(filePath);
      let dir = path2.parse(end).root;
      while (true) {
        const result2 = await canLink(filePath, pathTemp(dir));
        if (result2) {
          return dir;
        } else if (dir === end) {
          throw new Error(`${filePath} cannot be linked to anywhere`);
        } else {
          dir = nextPath(dir, end);
        }
      }
    };
    module2.exports.sync = (filePath) => {
      filePath = path2.resolve(filePath);
      const end = path2.dirname(filePath);
      let dir = path2.parse(end).root;
      while (true) {
        const result2 = canLink.sync(filePath, pathTemp(dir));
        if (result2) {
          return dir;
        } else if (dir === end) {
          throw new Error(`${filePath} cannot be linked to anywhere`);
        } else {
          dir = nextPath(dir, end);
        }
      }
    };
  }
});

// ../node_modules/.pnpm/touch@3.1.0/node_modules/touch/index.js
var require_touch = __commonJS({
  "../node_modules/.pnpm/touch@3.1.0/node_modules/touch/index.js"(exports2, module2) {
    "use strict";
    var EE = require("events").EventEmitter;
    var cons = require("constants");
    var fs = require("fs");
    module2.exports = (f, options, cb) => {
      if (typeof options === "function")
        cb = options, options = {};
      const p = new Promise((res, rej) => {
        new Touch(validOpts(options, f, null)).on("done", res).on("error", rej);
      });
      return cb ? p.then((res) => cb(null, res), cb) : p;
    };
    module2.exports.sync = module2.exports.touchSync = (f, options) => (new TouchSync(validOpts(options, f, null)), void 0);
    module2.exports.ftouch = (fd, options, cb) => {
      if (typeof options === "function")
        cb = options, options = {};
      const p = new Promise((res, rej) => {
        new Touch(validOpts(options, null, fd)).on("done", res).on("error", rej);
      });
      return cb ? p.then((res) => cb(null, res), cb) : p;
    };
    module2.exports.ftouchSync = (fd, opt) => (new TouchSync(validOpts(opt, null, fd)), void 0);
    var validOpts = (options, path2, fd) => {
      options = Object.create(options || {});
      options.fd = fd;
      options.path = path2;
      const now = parseInt(new Date(options.time || Date.now()).getTime() / 1e3);
      if (!options.atime && !options.mtime)
        options.atime = options.mtime = now;
      else {
        if (true === options.atime)
          options.atime = now;
        if (true === options.mtime)
          options.mtime = now;
      }
      let oflags = 0;
      if (!options.force)
        oflags = oflags | cons.O_RDWR;
      if (!options.nocreate)
        oflags = oflags | cons.O_CREAT;
      options.oflags = oflags;
      return options;
    };
    var Touch = class extends EE {
      constructor(options) {
        super(options);
        this.fd = options.fd;
        this.path = options.path;
        this.atime = options.atime;
        this.mtime = options.mtime;
        this.ref = options.ref;
        this.nocreate = !!options.nocreate;
        this.force = !!options.force;
        this.closeAfter = options.closeAfter;
        this.oflags = options.oflags;
        this.options = options;
        if (typeof this.fd !== "number") {
          this.closeAfter = true;
          this.open();
        } else
          this.onopen(null, this.fd);
      }
      emit(ev, data) {
        this.close();
        return super.emit(ev, data);
      }
      close() {
        if (typeof this.fd === "number" && this.closeAfter)
          fs.close(this.fd, () => {
          });
      }
      open() {
        fs.open(this.path, this.oflags, (er, fd) => this.onopen(er, fd));
      }
      onopen(er, fd) {
        if (er) {
          if (er.code === "EISDIR")
            this.onopen(null, null);
          else if (er.code === "ENOENT" && this.nocreate)
            this.emit("done");
          else
            this.emit("error", er);
        } else {
          this.fd = fd;
          if (this.ref)
            this.statref();
          else if (!this.atime || !this.mtime)
            this.fstat();
          else
            this.futimes();
        }
      }
      statref() {
        fs.stat(this.ref, (er, st) => {
          if (er)
            this.emit("error", er);
          else
            this.onstatref(st);
        });
      }
      onstatref(st) {
        this.atime = this.atime && parseInt(st.atime.getTime() / 1e3, 10);
        this.mtime = this.mtime && parseInt(st.mtime.getTime() / 1e3, 10);
        if (!this.atime || !this.mtime)
          this.fstat();
        else
          this.futimes();
      }
      fstat() {
        const stat = this.fd ? "fstat" : "stat";
        const target = this.fd || this.path;
        fs[stat](target, (er, st) => {
          if (er)
            this.emit("error", er);
          else
            this.onfstat(st);
        });
      }
      onfstat(st) {
        if (typeof this.atime !== "number")
          this.atime = parseInt(st.atime.getTime() / 1e3, 10);
        if (typeof this.mtime !== "number")
          this.mtime = parseInt(st.mtime.getTime() / 1e3, 10);
        this.futimes();
      }
      futimes() {
        const utimes = this.fd ? "futimes" : "utimes";
        const target = this.fd || this.path;
        fs[utimes](target, "" + this.atime, "" + this.mtime, (er) => {
          if (er)
            this.emit("error", er);
          else
            this.emit("done");
        });
      }
    };
    var TouchSync = class extends Touch {
      open() {
        try {
          this.onopen(null, fs.openSync(this.path, this.oflags));
        } catch (er) {
          this.onopen(er);
        }
      }
      statref() {
        let threw = true;
        try {
          this.onstatref(fs.statSync(this.ref));
          threw = false;
        } finally {
          if (threw)
            this.close();
        }
      }
      fstat() {
        let threw = true;
        const stat = this.fd ? "fstatSync" : "statSync";
        const target = this.fd || this.path;
        try {
          this.onfstat(fs[stat](target));
          threw = false;
        } finally {
          if (threw)
            this.close();
        }
      }
      futimes() {
        let threw = true;
        const utimes = this.fd ? "futimesSync" : "utimesSync";
        const target = this.fd || this.path;
        try {
          fs[utimes](target, this.atime, this.mtime);
          threw = false;
        } finally {
          if (threw)
            this.close();
        }
        this.emit("done");
      }
      close() {
        if (typeof this.fd === "number" && this.closeAfter)
          try {
            fs.closeSync(this.fd);
          } catch (er) {
          }
      }
    };
  }
});

// ../store/store-path/lib/index.js
var require_lib81 = __commonJS({
  "../store/store-path/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getStorePath = getStorePath;
    var fs_1 = require("fs");
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var rimraf_1 = __importDefault2(require_rimraf());
    var can_link_1 = __importDefault2(require_can_link());
    var os_1 = __importDefault2(require("os"));
    var path_1 = __importDefault2(require("path"));
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var path_temp_1 = __importDefault2(require_path_temp());
    var root_link_target_1 = __importDefault2(require_root_link_target());
    var touch_1 = __importDefault2(require_touch());
    function getStorePath({ pkgRoot, storePath, pnpmHomeDir }) {
      if (!storePath) {
        if (!pnpmHomeDir) {
          throw new error_1.PnpmError("NO_PNPM_HOME_DIR", "The pnpm home directory is unknown. Cannot calculate the store directory location.");
        }
        return storePathRelativeToHome(pkgRoot, "store", pnpmHomeDir);
      }
      if (isHomepath(storePath)) {
        const homedir = getHomedir();
        return storePathRelativeToHome(pkgRoot, storePath.substring(2), homedir);
      }
      const storeBasePath = (0, path_absolute_1.default)(storePath, pkgRoot);
      if (storeBasePath.endsWith(`${path_1.default.sep}${constants_1.STORE_VERSION}`)) {
        return storeBasePath;
      }
      return path_1.default.join(storeBasePath, constants_1.STORE_VERSION);
    }
    async function storePathRelativeToHome(pkgRoot, relStore, homedir) {
      const tempFile = (0, path_temp_1.default)(pkgRoot);
      if (path_1.default.parse(pkgRoot).root !== pkgRoot)
        await fs_1.promises.mkdir(path_1.default.dirname(tempFile), { recursive: true });
      await (0, touch_1.default)(tempFile);
      const storeInHomeDir = path_1.default.join(homedir, relStore, constants_1.STORE_VERSION);
      if (await canLinkToSubdir(tempFile, homedir)) {
        await fs_1.promises.unlink(tempFile);
        return storeInHomeDir;
      }
      try {
        let mountpoint = await (0, root_link_target_1.default)(tempFile);
        const mountpointParent = path_1.default.join(mountpoint, "..");
        if (!dirsAreEqual(mountpointParent, mountpoint) && await canLinkToSubdir(tempFile, mountpointParent)) {
          mountpoint = mountpointParent;
        }
        if (dirsAreEqual(pkgRoot, mountpoint)) {
          return storeInHomeDir;
        }
        return path_1.default.join(mountpoint, ".pnpm-store", constants_1.STORE_VERSION);
      } catch {
        return storeInHomeDir;
      } finally {
        await fs_1.promises.unlink(tempFile);
      }
    }
    async function canLinkToSubdir(fileToLink, dir) {
      let result2 = false;
      const tmpDir = (0, path_temp_1.default)(dir);
      try {
        await fs_1.promises.mkdir(tmpDir, { recursive: true });
        result2 = await (0, can_link_1.default)(fileToLink, (0, path_temp_1.default)(tmpDir));
      } catch {
        result2 = false;
      } finally {
        await safeRmdir(tmpDir);
      }
      return result2;
    }
    async function safeRmdir(dir) {
      try {
        await (0, rimraf_1.default)(dir);
      } catch {
      }
    }
    function dirsAreEqual(dir1, dir2) {
      return path_1.default.relative(dir1, dir2) === ".";
    }
    function getHomedir() {
      const home = os_1.default.homedir();
      if (!home)
        throw new Error("Could not find the homedir");
      return home;
    }
    function isHomepath(filepath) {
      return filepath.indexOf("~/") === 0 || filepath.indexOf("~\\") === 0;
    }
  }
});

// ../node_modules/.pnpm/is-typedarray@1.0.0/node_modules/is-typedarray/index.js
var require_is_typedarray = __commonJS({
  "../node_modules/.pnpm/is-typedarray@1.0.0/node_modules/is-typedarray/index.js"(exports2, module2) {
    module2.exports = isTypedArray;
    isTypedArray.strict = isStrictTypedArray;
    isTypedArray.loose = isLooseTypedArray;
    var toString = Object.prototype.toString;
    var names = {
      "[object Int8Array]": true,
      "[object Int16Array]": true,
      "[object Int32Array]": true,
      "[object Uint8Array]": true,
      "[object Uint8ClampedArray]": true,
      "[object Uint16Array]": true,
      "[object Uint32Array]": true,
      "[object Float32Array]": true,
      "[object Float64Array]": true
    };
    function isTypedArray(arr) {
      return isStrictTypedArray(arr) || isLooseTypedArray(arr);
    }
    function isStrictTypedArray(arr) {
      return arr instanceof Int8Array || arr instanceof Int16Array || arr instanceof Int32Array || arr instanceof Uint8Array || arr instanceof Uint8ClampedArray || arr instanceof Uint16Array || arr instanceof Uint32Array || arr instanceof Float32Array || arr instanceof Float64Array;
    }
    function isLooseTypedArray(arr) {
      return names[toString.call(arr)];
    }
  }
});

// ../node_modules/.pnpm/typedarray-to-buffer@3.1.5/node_modules/typedarray-to-buffer/index.js
var require_typedarray_to_buffer = __commonJS({
  "../node_modules/.pnpm/typedarray-to-buffer@3.1.5/node_modules/typedarray-to-buffer/index.js"(exports2, module2) {
    var isTypedArray = require_is_typedarray().strict;
    module2.exports = function typedarrayToBuffer(arr) {
      if (isTypedArray(arr)) {
        var buf = Buffer.from(arr.buffer);
        if (arr.byteLength !== arr.buffer.byteLength) {
          buf = buf.slice(arr.byteOffset, arr.byteOffset + arr.byteLength);
        }
        return buf;
      } else {
        return Buffer.from(arr);
      }
    };
  }
});

// ../node_modules/.pnpm/write-file-atomic@3.0.3/node_modules/write-file-atomic/index.js
var require_write_file_atomic = __commonJS({
  "../node_modules/.pnpm/write-file-atomic@3.0.3/node_modules/write-file-atomic/index.js"(exports2, module2) {
    "use strict";
    module2.exports = writeFile;
    module2.exports.sync = writeFileSync;
    module2.exports._getTmpname = getTmpname;
    module2.exports._cleanupOnExit = cleanupOnExit;
    var fs = require("fs");
    var MurmurHash3 = require_imurmurhash();
    var onExit = require_signal_exit();
    var path2 = require("path");
    var isTypedArray = require_is_typedarray();
    var typedArrayToBuffer = require_typedarray_to_buffer();
    var { promisify } = require("util");
    var activeFiles = {};
    var threadId = function getId() {
      try {
        const workerThreads = require("worker_threads");
        return workerThreads.threadId;
      } catch (e) {
        return 0;
      }
    }();
    var invocations = 0;
    function getTmpname(filename) {
      return filename + "." + MurmurHash3(__filename).hash(String(process.pid)).hash(String(threadId)).hash(String(++invocations)).result();
    }
    function cleanupOnExit(tmpfile) {
      return () => {
        try {
          fs.unlinkSync(typeof tmpfile === "function" ? tmpfile() : tmpfile);
        } catch (_) {
        }
      };
    }
    function serializeActiveFile(absoluteName) {
      return new Promise((resolve) => {
        if (!activeFiles[absoluteName]) activeFiles[absoluteName] = [];
        activeFiles[absoluteName].push(resolve);
        if (activeFiles[absoluteName].length === 1) resolve();
      });
    }
    function isChownErrOk(err) {
      if (err.code === "ENOSYS") {
        return true;
      }
      const nonroot = !process.getuid || process.getuid() !== 0;
      if (nonroot) {
        if (err.code === "EINVAL" || err.code === "EPERM") {
          return true;
        }
      }
      return false;
    }
    async function writeFileAsync(filename, data, options = {}) {
      if (typeof options === "string") {
        options = { encoding: options };
      }
      let fd;
      let tmpfile;
      const removeOnExitHandler = onExit(cleanupOnExit(() => tmpfile));
      const absoluteName = path2.resolve(filename);
      try {
        await serializeActiveFile(absoluteName);
        const truename = await promisify(fs.realpath)(filename).catch(() => filename);
        tmpfile = getTmpname(truename);
        if (!options.mode || !options.chown) {
          const stats = await promisify(fs.stat)(truename).catch(() => {
          });
          if (stats) {
            if (options.mode == null) {
              options.mode = stats.mode;
            }
            if (options.chown == null && process.getuid) {
              options.chown = { uid: stats.uid, gid: stats.gid };
            }
          }
        }
        fd = await promisify(fs.open)(tmpfile, "w", options.mode);
        if (options.tmpfileCreated) {
          await options.tmpfileCreated(tmpfile);
        }
        if (isTypedArray(data)) {
          data = typedArrayToBuffer(data);
        }
        if (Buffer.isBuffer(data)) {
          await promisify(fs.write)(fd, data, 0, data.length, 0);
        } else if (data != null) {
          await promisify(fs.write)(fd, String(data), 0, String(options.encoding || "utf8"));
        }
        if (options.fsync !== false) {
          await promisify(fs.fsync)(fd);
        }
        await promisify(fs.close)(fd);
        fd = null;
        if (options.chown) {
          await promisify(fs.chown)(tmpfile, options.chown.uid, options.chown.gid).catch((err) => {
            if (!isChownErrOk(err)) {
              throw err;
            }
          });
        }
        if (options.mode) {
          await promisify(fs.chmod)(tmpfile, options.mode).catch((err) => {
            if (!isChownErrOk(err)) {
              throw err;
            }
          });
        }
        await promisify(fs.rename)(tmpfile, truename);
      } finally {
        if (fd) {
          await promisify(fs.close)(fd).catch(
            /* istanbul ignore next */
            () => {
            }
          );
        }
        removeOnExitHandler();
        await promisify(fs.unlink)(tmpfile).catch(() => {
        });
        activeFiles[absoluteName].shift();
        if (activeFiles[absoluteName].length > 0) {
          activeFiles[absoluteName][0]();
        } else delete activeFiles[absoluteName];
      }
    }
    function writeFile(filename, data, options, callback) {
      if (options instanceof Function) {
        callback = options;
        options = {};
      }
      const promise = writeFileAsync(filename, data, options);
      if (callback) {
        promise.then(callback, callback);
      }
      return promise;
    }
    function writeFileSync(filename, data, options) {
      if (typeof options === "string") options = { encoding: options };
      else if (!options) options = {};
      try {
        filename = fs.realpathSync(filename);
      } catch (ex) {
      }
      const tmpfile = getTmpname(filename);
      if (!options.mode || !options.chown) {
        try {
          const stats = fs.statSync(filename);
          options = Object.assign({}, options);
          if (!options.mode) {
            options.mode = stats.mode;
          }
          if (!options.chown && process.getuid) {
            options.chown = { uid: stats.uid, gid: stats.gid };
          }
        } catch (ex) {
        }
      }
      let fd;
      const cleanup = cleanupOnExit(tmpfile);
      const removeOnExitHandler = onExit(cleanup);
      let threw = true;
      try {
        fd = fs.openSync(tmpfile, "w", options.mode || 438);
        if (options.tmpfileCreated) {
          options.tmpfileCreated(tmpfile);
        }
        if (isTypedArray(data)) {
          data = typedArrayToBuffer(data);
        }
        if (Buffer.isBuffer(data)) {
          fs.writeSync(fd, data, 0, data.length, 0);
        } else if (data != null) {
          fs.writeSync(fd, String(data), 0, String(options.encoding || "utf8"));
        }
        if (options.fsync !== false) {
          fs.fsyncSync(fd);
        }
        fs.closeSync(fd);
        fd = null;
        if (options.chown) {
          try {
            fs.chownSync(tmpfile, options.chown.uid, options.chown.gid);
          } catch (err) {
            if (!isChownErrOk(err)) {
              throw err;
            }
          }
        }
        if (options.mode) {
          try {
            fs.chmodSync(tmpfile, options.mode);
          } catch (err) {
            if (!isChownErrOk(err)) {
              throw err;
            }
          }
        }
        fs.renameSync(tmpfile, filename);
        threw = false;
      } finally {
        if (fd) {
          try {
            fs.closeSync(fd);
          } catch (ex) {
          }
        }
        removeOnExitHandler();
        if (threw) {
          cleanup();
        }
      }
    }
  }
});

// ../node_modules/.pnpm/is-plain-obj@2.1.0/node_modules/is-plain-obj/index.js
var require_is_plain_obj = __commonJS({
  "../node_modules/.pnpm/is-plain-obj@2.1.0/node_modules/is-plain-obj/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (value) => {
      if (Object.prototype.toString.call(value) !== "[object Object]") {
        return false;
      }
      const prototype = Object.getPrototypeOf(value);
      return prototype === null || prototype === Object.prototype;
    };
  }
});

// ../node_modules/.pnpm/sort-keys@4.2.0/node_modules/sort-keys/index.js
var require_sort_keys = __commonJS({
  "../node_modules/.pnpm/sort-keys@4.2.0/node_modules/sort-keys/index.js"(exports2, module2) {
    "use strict";
    var isPlainObject = require_is_plain_obj();
    module2.exports = (object, options = {}) => {
      if (!isPlainObject(object) && !Array.isArray(object)) {
        throw new TypeError("Expected a plain object or array");
      }
      const { deep } = options;
      const seenInput = [];
      const seenOutput = [];
      const deepSortArray = (array) => {
        const seenIndex = seenInput.indexOf(array);
        if (seenIndex !== -1) {
          return seenOutput[seenIndex];
        }
        const result2 = [];
        seenInput.push(array);
        seenOutput.push(result2);
        result2.push(...array.map((item) => {
          if (Array.isArray(item)) {
            return deepSortArray(item);
          }
          if (isPlainObject(item)) {
            return sortKeys(item);
          }
          return item;
        }));
        return result2;
      };
      const sortKeys = (object2) => {
        const seenIndex = seenInput.indexOf(object2);
        if (seenIndex !== -1) {
          return seenOutput[seenIndex];
        }
        const result2 = {};
        const keys = Object.keys(object2).sort(options.compare);
        seenInput.push(object2);
        seenOutput.push(result2);
        for (const key of keys) {
          const value = object2[key];
          let newValue;
          if (deep && Array.isArray(value)) {
            newValue = deepSortArray(value);
          } else {
            newValue = deep && isPlainObject(value) ? sortKeys(value) : value;
          }
          Object.defineProperty(result2, key, {
            ...Object.getOwnPropertyDescriptor(object2, key),
            value: newValue
          });
        }
        return result2;
      };
      if (Array.isArray(object)) {
        return deep ? deepSortArray(object) : object.slice();
      }
      return sortKeys(object);
    };
  }
});

// ../node_modules/.pnpm/make-dir@3.1.0/node_modules/make-dir/index.js
var require_make_dir2 = __commonJS({
  "../node_modules/.pnpm/make-dir@3.1.0/node_modules/make-dir/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var { promisify } = require("util");
    var semver = require_semver2();
    var useNativeRecursiveOption = semver.satisfies(process.version, ">=10.12.0");
    var checkPath = (pth) => {
      if (process.platform === "win32") {
        const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path2.parse(pth).root, ""));
        if (pathHasInvalidWinCharacters) {
          const error = new Error(`Path contains invalid characters: ${pth}`);
          error.code = "EINVAL";
          throw error;
        }
      }
    };
    var processOptions = (options) => {
      const defaults = {
        mode: 511,
        fs
      };
      return {
        ...defaults,
        ...options
      };
    };
    var permissionError = (pth) => {
      const error = new Error(`operation not permitted, mkdir '${pth}'`);
      error.code = "EPERM";
      error.errno = -4048;
      error.path = pth;
      error.syscall = "mkdir";
      return error;
    };
    var makeDir = async (input, options) => {
      checkPath(input);
      options = processOptions(options);
      const mkdir = promisify(options.fs.mkdir);
      const stat = promisify(options.fs.stat);
      if (useNativeRecursiveOption && options.fs.mkdir === fs.mkdir) {
        const pth = path2.resolve(input);
        await mkdir(pth, {
          mode: options.mode,
          recursive: true
        });
        return pth;
      }
      const make = async (pth) => {
        try {
          await mkdir(pth, options.mode);
          return pth;
        } catch (error) {
          if (error.code === "EPERM") {
            throw error;
          }
          if (error.code === "ENOENT") {
            if (path2.dirname(pth) === pth) {
              throw permissionError(pth);
            }
            if (error.message.includes("null bytes")) {
              throw error;
            }
            await make(path2.dirname(pth));
            return make(pth);
          }
          try {
            const stats = await stat(pth);
            if (!stats.isDirectory()) {
              throw new Error("The path is not a directory");
            }
          } catch (_) {
            throw error;
          }
          return pth;
        }
      };
      return make(path2.resolve(input));
    };
    module2.exports = makeDir;
    module2.exports.sync = (input, options) => {
      checkPath(input);
      options = processOptions(options);
      if (useNativeRecursiveOption && options.fs.mkdirSync === fs.mkdirSync) {
        const pth = path2.resolve(input);
        fs.mkdirSync(pth, {
          mode: options.mode,
          recursive: true
        });
        return pth;
      }
      const make = (pth) => {
        try {
          options.fs.mkdirSync(pth, options.mode);
        } catch (error) {
          if (error.code === "EPERM") {
            throw error;
          }
          if (error.code === "ENOENT") {
            if (path2.dirname(pth) === pth) {
              throw permissionError(pth);
            }
            if (error.message.includes("null bytes")) {
              throw error;
            }
            make(path2.dirname(pth));
            return make(pth);
          }
          try {
            if (!options.fs.statSync(pth).isDirectory()) {
              throw new Error("The path is not a directory");
            }
          } catch (_) {
            throw error;
          }
        }
        return pth;
      };
      return make(path2.resolve(input));
    };
  }
});

// ../node_modules/.pnpm/detect-indent@6.1.0/node_modules/detect-indent/index.js
var require_detect_indent2 = __commonJS({
  "../node_modules/.pnpm/detect-indent@6.1.0/node_modules/detect-indent/index.js"(exports2, module2) {
    "use strict";
    var INDENT_REGEX = /^(?:( )+|\t+)/;
    var INDENT_TYPE_SPACE = "space";
    var INDENT_TYPE_TAB = "tab";
    function makeIndentsMap(string, ignoreSingleSpaces) {
      const indents = /* @__PURE__ */ new Map();
      let previousSize = 0;
      let previousIndentType;
      let key;
      for (const line of string.split(/\n/g)) {
        if (!line) {
          continue;
        }
        let indent;
        let indentType;
        let weight;
        let entry;
        const matches = line.match(INDENT_REGEX);
        if (matches === null) {
          previousSize = 0;
          previousIndentType = "";
        } else {
          indent = matches[0].length;
          if (matches[1]) {
            indentType = INDENT_TYPE_SPACE;
          } else {
            indentType = INDENT_TYPE_TAB;
          }
          if (ignoreSingleSpaces && indentType === INDENT_TYPE_SPACE && indent === 1) {
            continue;
          }
          if (indentType !== previousIndentType) {
            previousSize = 0;
          }
          previousIndentType = indentType;
          weight = 0;
          const indentDifference = indent - previousSize;
          previousSize = indent;
          if (indentDifference === 0) {
            weight++;
          } else {
            const absoluteIndentDifference = indentDifference > 0 ? indentDifference : -indentDifference;
            key = encodeIndentsKey(indentType, absoluteIndentDifference);
          }
          entry = indents.get(key);
          if (entry === void 0) {
            entry = [1, 0];
          } else {
            entry = [++entry[0], entry[1] + weight];
          }
          indents.set(key, entry);
        }
      }
      return indents;
    }
    function encodeIndentsKey(indentType, indentAmount) {
      const typeCharacter = indentType === INDENT_TYPE_SPACE ? "s" : "t";
      return typeCharacter + String(indentAmount);
    }
    function decodeIndentsKey(indentsKey) {
      const keyHasTypeSpace = indentsKey[0] === "s";
      const type = keyHasTypeSpace ? INDENT_TYPE_SPACE : INDENT_TYPE_TAB;
      const amount = Number(indentsKey.slice(1));
      return { type, amount };
    }
    function getMostUsedKey(indents) {
      let result2;
      let maxUsed = 0;
      let maxWeight = 0;
      for (const [key, [usedCount, weight]] of indents) {
        if (usedCount > maxUsed || usedCount === maxUsed && weight > maxWeight) {
          maxUsed = usedCount;
          maxWeight = weight;
          result2 = key;
        }
      }
      return result2;
    }
    function makeIndentString(type, amount) {
      const indentCharacter = type === INDENT_TYPE_SPACE ? " " : "	";
      return indentCharacter.repeat(amount);
    }
    module2.exports = (string) => {
      if (typeof string !== "string") {
        throw new TypeError("Expected a string");
      }
      let indents = makeIndentsMap(string, true);
      if (indents.size === 0) {
        indents = makeIndentsMap(string, false);
      }
      const keyOfMostUsedIndent = getMostUsedKey(indents);
      let type;
      let amount = 0;
      let indent = "";
      if (keyOfMostUsedIndent !== void 0) {
        ({ type, amount } = decodeIndentsKey(keyOfMostUsedIndent));
        indent = makeIndentString(type, amount);
      }
      return {
        amount,
        type,
        indent
      };
    };
  }
});

// ../node_modules/.pnpm/write-json-file@4.3.0/node_modules/write-json-file/index.js
var require_write_json_file = __commonJS({
  "../node_modules/.pnpm/write-json-file@4.3.0/node_modules/write-json-file/index.js"(exports2, module2) {
    "use strict";
    var { promisify } = require("util");
    var path2 = require("path");
    var fs = require_graceful_fs();
    var writeFileAtomic = require_write_file_atomic();
    var sortKeys = require_sort_keys();
    var makeDir = require_make_dir2();
    var detectIndent = require_detect_indent2();
    var isPlainObj = require_is_plain_obj();
    var readFile = promisify(fs.readFile);
    var init = (fn, filePath, data, options) => {
      if (!filePath) {
        throw new TypeError("Expected a filepath");
      }
      if (data === void 0) {
        throw new TypeError("Expected data to stringify");
      }
      options = {
        indent: "	",
        sortKeys: false,
        ...options
      };
      if (options.sortKeys && isPlainObj(data)) {
        data = sortKeys(data, {
          deep: true,
          compare: typeof options.sortKeys === "function" ? options.sortKeys : void 0
        });
      }
      return fn(filePath, data, options);
    };
    var main = async (filePath, data, options) => {
      let { indent } = options;
      let trailingNewline = "\n";
      try {
        const file = await readFile(filePath, "utf8");
        if (!file.endsWith("\n")) {
          trailingNewline = "";
        }
        if (options.detectIndent) {
          indent = detectIndent(file).indent;
        }
      } catch (error) {
        if (error.code !== "ENOENT") {
          throw error;
        }
      }
      const json = JSON.stringify(data, options.replacer, indent);
      return writeFileAtomic(filePath, `${json}${trailingNewline}`, { mode: options.mode, chown: false });
    };
    var mainSync = (filePath, data, options) => {
      let { indent } = options;
      let trailingNewline = "\n";
      try {
        const file = fs.readFileSync(filePath, "utf8");
        if (!file.endsWith("\n")) {
          trailingNewline = "";
        }
        if (options.detectIndent) {
          indent = detectIndent(file).indent;
        }
      } catch (error) {
        if (error.code !== "ENOENT") {
          throw error;
        }
      }
      const json = JSON.stringify(data, options.replacer, indent);
      return writeFileAtomic.sync(filePath, `${json}${trailingNewline}`, { mode: options.mode, chown: false });
    };
    module2.exports = async (filePath, data, options) => {
      await makeDir(path2.dirname(filePath), { fs });
      return init(main, filePath, data, options);
    };
    module2.exports.sync = (filePath, data, options) => {
      makeDir.sync(path2.dirname(filePath), { fs });
      init(mainSync, filePath, data, options);
    };
  }
});

// ../env/plugin-commands-env/lib/parseNodeSpecifier.js
var require_parseNodeSpecifier = __commonJS({
  "../env/plugin-commands-env/lib/parseNodeSpecifier.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isValidVersion = isValidVersion;
    exports2.parseNodeSpecifier = parseNodeSpecifier;
    var error_1 = require_lib6();
    var isStableVersion = (version2) => /^\d+\.\d+\.\d+$/.test(version2);
    var matchPrereleaseVersion = (version2) => version2.match(/^\d+\.\d+\.\d+-((rc)(\..+)|(test|v8-canary|nightly)(.+))$/);
    var STABLE_RELEASE_ERROR_HINT = "The correct syntax for stable release is strictly X.Y.Z or release/X.Y.Z";
    function isValidVersion(specifier) {
      if (specifier.includes("/")) {
        const [releaseChannel, useNodeVersion] = specifier.split("/");
        if (releaseChannel === "release") {
          return isStableVersion(useNodeVersion);
        }
        return useNodeVersion.includes(releaseChannel);
      }
      return isStableVersion(specifier) || matchPrereleaseVersion(specifier) != null;
    }
    function parseNodeSpecifier(specifier) {
      if (specifier.includes("/")) {
        const [releaseChannel, useNodeVersion] = specifier.split("/");
        if (releaseChannel === "release") {
          if (!isStableVersion(useNodeVersion)) {
            throw new error_1.PnpmError("INVALID_NODE_VERSION", `"${specifier}" is not a valid Node.js version`, {
              hint: STABLE_RELEASE_ERROR_HINT
            });
          }
        } else if (!useNodeVersion.includes(releaseChannel)) {
          throw new error_1.PnpmError("MISMATCHED_RELEASE_CHANNEL", `Node.js version (${useNodeVersion}) must contain the release channel (${releaseChannel})`);
        }
        return { releaseChannel, useNodeVersion };
      }
      const prereleaseMatch = matchPrereleaseVersion(specifier);
      if (prereleaseMatch != null) {
        return { releaseChannel: prereleaseMatch[2], useNodeVersion: specifier };
      }
      if (isStableVersion(specifier)) {
        return { releaseChannel: "release", useNodeVersion: specifier };
      }
      let hint;
      if (["nightly", "rc", "test", "v8-canary"].includes(specifier)) {
        hint = `The correct syntax for ${specifier} release is strictly X.Y.Z-${specifier}.W`;
      } else if (/^\d+\.\d+$/.test(specifier) || /^\d+$/.test(specifier) || ["release", "stable", "latest"].includes(specifier)) {
        hint = STABLE_RELEASE_ERROR_HINT;
      }
      throw new error_1.PnpmError("INVALID_NODE_VERSION", `"${specifier}" is not a valid Node.js version`, { hint });
    }
  }
});

// ../env/plugin-commands-env/lib/node.js
var require_node3 = __commonJS({
  "../env/plugin-commands-env/lib/node.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prepareExecutionEnv = prepareExecutionEnv;
    exports2.getNodeBinDir = getNodeBinDir;
    exports2.getNodeVersionsBaseDir = getNodeVersionsBaseDir;
    exports2.getNodeDir = getNodeDir;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var env_system_node_version_1 = require_lib29();
    var fetch_1 = require_lib55();
    var logger_1 = require_lib();
    var node_fetcher_1 = require_lib80();
    var store_path_1 = require_lib81();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var write_json_file_1 = __importDefault2(require_write_json_file());
    var getNodeMirror_1 = require_getNodeMirror();
    var parseNodeSpecifier_1 = require_parseNodeSpecifier();
    var nodeFetchPromises = {};
    async function prepareExecutionEnv(config, { extraBinPaths, executionEnv }) {
      if (!executionEnv?.nodeVersion || `v${executionEnv.nodeVersion}` === (0, env_system_node_version_1.getSystemNodeVersion)()) {
        return { extraBinPaths: extraBinPaths ?? [] };
      }
      let nodePathPromise = nodeFetchPromises[executionEnv.nodeVersion];
      if (!nodePathPromise) {
        nodePathPromise = getNodeBinDir({
          ...config,
          useNodeVersion: executionEnv.nodeVersion
        });
        nodeFetchPromises[executionEnv.nodeVersion] = nodePathPromise;
      }
      return {
        extraBinPaths: [await nodePathPromise, ...extraBinPaths ?? []]
      };
    }
    async function getNodeBinDir(opts) {
      const fetch = (0, fetch_1.createFetchFromRegistry)(opts);
      const nodesDir = getNodeVersionsBaseDir(opts.pnpmHomeDir);
      const manifestNodeVersion = (await readNodeVersionsManifest(nodesDir))?.default;
      let wantedNodeVersion = opts.useNodeVersion ?? manifestNodeVersion;
      if (opts.useNodeVersion != null) {
        if (!(0, parseNodeSpecifier_1.isValidVersion)(opts.useNodeVersion)) {
          (0, logger_1.globalWarn)(`"${opts.useNodeVersion}" is not a valid Node.js version.`);
          wantedNodeVersion = manifestNodeVersion;
        }
      }
      if (wantedNodeVersion == null) {
        const response = await fetch("https://registry.npmjs.org/node");
        wantedNodeVersion = (await response.json())["dist-tags"].lts;
        if (wantedNodeVersion == null) {
          throw new Error("Could not resolve LTS version of Node.js");
        }
        await (0, write_json_file_1.default)(path_1.default.join(nodesDir, "versions.json"), {
          default: wantedNodeVersion
        });
      }
      const { useNodeVersion, releaseChannel } = (0, parseNodeSpecifier_1.parseNodeSpecifier)(wantedNodeVersion);
      const nodeMirrorBaseUrl = (0, getNodeMirror_1.getNodeMirror)(opts.rawConfig, releaseChannel);
      const nodeDir = await getNodeDir(fetch, {
        ...opts,
        useNodeVersion,
        nodeMirrorBaseUrl
      });
      return process.platform === "win32" ? nodeDir : path_1.default.join(nodeDir, "bin");
    }
    function getNodeVersionsBaseDir(pnpmHomeDir) {
      return path_1.default.join(pnpmHomeDir, "nodejs");
    }
    async function getNodeDir(fetch, opts) {
      const nodesDir = getNodeVersionsBaseDir(opts.pnpmHomeDir);
      await fs_1.default.promises.mkdir(nodesDir, { recursive: true });
      const versionDir = path_1.default.join(nodesDir, opts.useNodeVersion);
      if (!fs_1.default.existsSync(versionDir)) {
        const storeDir = await (0, store_path_1.getStorePath)({
          pkgRoot: process.cwd(),
          storePath: opts.storeDir,
          pnpmHomeDir: opts.pnpmHomeDir
        });
        (0, logger_1.globalInfo)(`Fetching Node.js ${opts.useNodeVersion} ...`);
        await (0, node_fetcher_1.fetchNode)(fetch, opts.useNodeVersion, versionDir, {
          ...opts,
          storeDir,
          retry: {
            maxTimeout: opts.fetchRetryMaxtimeout,
            minTimeout: opts.fetchRetryMintimeout,
            retries: opts.fetchRetries,
            factor: opts.fetchRetryFactor
          }
        });
      }
      return versionDir;
    }
    async function readNodeVersionsManifest(nodesDir) {
      try {
        return await (0, load_json_file_1.default)(path_1.default.join(nodesDir, "versions.json"));
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return {};
        }
        throw err;
      }
    }
  }
});

// ../env/plugin-commands-env/lib/parseEnvSpecifier.js
var require_parseEnvSpecifier = __commonJS({
  "../env/plugin-commands-env/lib/parseEnvSpecifier.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseEnvSpecifier = parseEnvSpecifier;
    function parseEnvSpecifier(specifier) {
      if (specifier.includes("/")) {
        const [releaseChannel, versionSpecifier] = specifier.split("/");
        return { releaseChannel, versionSpecifier };
      }
      const prereleaseMatch = specifier.match(/-(nightly|rc|test|v8-canary)/);
      if (prereleaseMatch != null) {
        return { releaseChannel: prereleaseMatch[1], versionSpecifier: specifier };
      }
      if (["nightly", "rc", "test", "release", "v8-canary"].includes(specifier)) {
        return { releaseChannel: specifier, versionSpecifier: "latest" };
      }
      return { releaseChannel: "release", versionSpecifier: specifier };
    }
  }
});

// ../env/plugin-commands-env/lib/downloadNodeVersion.js
var require_downloadNodeVersion = __commonJS({
  "../env/plugin-commands-env/lib/downloadNodeVersion.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNodeVersion = getNodeVersion;
    exports2.downloadNodeVersion = downloadNodeVersion;
    var node_resolver_1 = require_lib52();
    var getNodeMirror_1 = require_getNodeMirror();
    var node_1 = require_node3();
    var parseEnvSpecifier_1 = require_parseEnvSpecifier();
    var fetch_1 = require_lib55();
    var logger_1 = require_lib();
    async function getNodeVersion(opts, envSpecifier) {
      const fetch = (0, fetch_1.createFetchFromRegistry)(opts);
      const { releaseChannel, versionSpecifier } = (0, parseEnvSpecifier_1.parseEnvSpecifier)(envSpecifier);
      const nodeMirrorBaseUrl = (0, getNodeMirror_1.getNodeMirror)(opts.rawConfig, releaseChannel);
      const nodeVersion = await (0, node_resolver_1.resolveNodeVersion)(fetch, versionSpecifier, nodeMirrorBaseUrl);
      return { nodeVersion, nodeMirrorBaseUrl, releaseChannel, versionSpecifier };
    }
    async function downloadNodeVersion(opts, envSpecifier) {
      const fetch = (0, fetch_1.createFetchFromRegistry)(opts);
      const { nodeVersion, nodeMirrorBaseUrl } = await getNodeVersion(opts, envSpecifier);
      if (!nodeVersion) {
        return null;
      }
      const nodeDir = await (0, node_1.getNodeDir)(fetch, {
        ...opts,
        useNodeVersion: nodeVersion,
        nodeMirrorBaseUrl
      });
      (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was installed
  ${nodeDir}`);
      return { nodeVersion, nodeDir, nodeMirrorBaseUrl };
    }
  }
});

// ../env/plugin-commands-env/lib/utils.js
var require_utils13 = __commonJS({
  "../env/plugin-commands-env/lib/utils.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CURRENT_NODE_DIRNAME = void 0;
    exports2.getNodeExecPathAndTargetDir = getNodeExecPathAndTargetDir;
    exports2.getNodeExecPathInBinDir = getNodeExecPathInBinDir;
    exports2.getNodeExecPathInNodeDir = getNodeExecPathInNodeDir;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    exports2.CURRENT_NODE_DIRNAME = "nodejs_current";
    async function getNodeExecPathAndTargetDir(pnpmHomeDir) {
      const nodePath = getNodeExecPathInBinDir(pnpmHomeDir);
      const nodeCurrentDirLink = path_1.default.join(pnpmHomeDir, exports2.CURRENT_NODE_DIRNAME);
      let nodeCurrentDir;
      try {
        nodeCurrentDir = await fs_1.promises.readlink(nodeCurrentDirLink);
      } catch {
        nodeCurrentDir = void 0;
      }
      return { nodePath, nodeLink: nodeCurrentDir ? getNodeExecPathInNodeDir(nodeCurrentDir) : void 0 };
    }
    function getNodeExecPathInBinDir(pnpmHomeDir) {
      return path_1.default.resolve(pnpmHomeDir, process.platform === "win32" ? "node.exe" : "node");
    }
    function getNodeExecPathInNodeDir(nodeDir) {
      return path_1.default.join(nodeDir, process.platform === "win32" ? "node.exe" : "bin/node");
    }
  }
});

// ../env/plugin-commands-env/lib/envRemove.js
var require_envRemove = __commonJS({
  "../env/plugin-commands-env/lib/envRemove.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envRemove = envRemove;
    var util_1 = __importDefault2(require("util"));
    var assert_1 = __importDefault2(require("assert"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var remove_bins_1 = require_lib51();
    var rimraf_1 = __importDefault2(require_rimraf());
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var downloadNodeVersion_1 = require_downloadNodeVersion();
    var node_1 = require_node3();
    var utils_1 = require_utils13();
    async function envRemove(opts, params) {
      if (!opts.global) {
        throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env remove <version>" can only be used with the "--global" option currently');
      }
      let failed = false;
      for (const version2 of params) {
        const err = await removeNodeVersion(opts, version2);
        if (err) {
          logger_1.logger.error(err);
          failed = true;
        }
      }
      return { exitCode: failed ? 1 : 0 };
    }
    async function removeNodeVersion(opts, version2) {
      const { nodeVersion } = await (0, downloadNodeVersion_1.getNodeVersion)(opts, version2);
      const nodeDir = (0, node_1.getNodeVersionsBaseDir)(opts.pnpmHomeDir);
      if (!nodeVersion) {
        return new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${version2}`);
      }
      const versionDir = path_1.default.resolve(nodeDir, nodeVersion);
      if (!(0, fs_1.existsSync)(versionDir)) {
        return new error_1.PnpmError("ENV_NO_NODE_DIRECTORY", `Couldn't find Node.js directory in ${versionDir}`);
      }
      const { nodePath, nodeLink } = await (0, utils_1.getNodeExecPathAndTargetDir)(opts.pnpmHomeDir);
      if (nodeLink?.includes(versionDir)) {
        (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was detected as the default one, removing ...`);
        const npmPath = path_1.default.resolve(opts.pnpmHomeDir, "npm");
        const npxPath = path_1.default.resolve(opts.pnpmHomeDir, "npx");
        try {
          await Promise.all([
            (0, remove_bins_1.removeBin)(nodePath),
            (0, remove_bins_1.removeBin)(npmPath),
            (0, remove_bins_1.removeBin)(npxPath)
          ]);
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          if (!("code" in err && err.code === "ENOENT"))
            return err;
        }
      }
      await (0, rimraf_1.default)(versionDir);
      (0, logger_1.globalInfo)(`Node.js ${nodeVersion} was removed
${versionDir}`);
      return void 0;
    }
  }
});

// ../env/plugin-commands-env/lib/envUse.js
var require_envUse = __commonJS({
  "../env/plugin-commands-env/lib/envUse.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envUse = envUse;
    var fs_1 = require("fs");
    var util_1 = __importDefault2(require("util"));
    var graceful_fs_1 = __importDefault2(require_graceful_fs());
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var cmd_shim_1 = __importDefault2(require_cmd_shim());
    var is_windows_1 = __importDefault2(require_is_windows());
    var symlink_dir_1 = __importDefault2(require_dist17());
    var utils_1 = require_utils13();
    var downloadNodeVersion_1 = require_downloadNodeVersion();
    async function envUse(opts, params) {
      if (!opts.global) {
        throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env use <version>" can only be used with the "--global" option currently');
      }
      const nodeInfo = await (0, downloadNodeVersion_1.downloadNodeVersion)(opts, params[0]);
      if (!nodeInfo) {
        throw new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${params[0]}`);
      }
      const { nodeDir, nodeVersion } = nodeInfo;
      const src = (0, utils_1.getNodeExecPathInNodeDir)(nodeDir);
      const dest = (0, utils_1.getNodeExecPathInBinDir)(opts.bin);
      await (0, symlink_dir_1.default)(nodeDir, path_1.default.join(opts.pnpmHomeDir, utils_1.CURRENT_NODE_DIRNAME));
      try {
        graceful_fs_1.default.unlinkSync(dest);
      } catch (err) {
        if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT"))
          throw err;
      }
      await symlinkOrHardLink(src, dest);
      try {
        let npmDir = nodeDir;
        if (process.platform !== "win32") {
          npmDir = path_1.default.join(npmDir, "lib");
        }
        npmDir = path_1.default.join(npmDir, "node_modules/npm");
        if (opts.configDir) {
          await fs_1.promises.writeFile(path_1.default.join(npmDir, "npmrc"), `globalconfig=${path_1.default.join(opts.configDir, "npmrc")}`, "utf-8");
        }
        const npmBinDir = path_1.default.join(npmDir, "bin");
        const cmdShimOpts = { createPwshFile: false };
        await (0, cmd_shim_1.default)(path_1.default.join(npmBinDir, "npm-cli.js"), path_1.default.join(opts.bin, "npm"), cmdShimOpts);
        await (0, cmd_shim_1.default)(path_1.default.join(npmBinDir, "npx-cli.js"), path_1.default.join(opts.bin, "npx"), cmdShimOpts);
      } catch {
      }
      return `Node.js ${nodeVersion} was activated
${dest} -> ${src}`;
    }
    async function symlinkOrHardLink(existingPath, newPath) {
      if ((0, is_windows_1.default)()) {
        return fs_1.promises.link(existingPath, newPath);
      }
      return fs_1.promises.symlink(existingPath, newPath, "file");
    }
  }
});

// ../env/plugin-commands-env/lib/envList.js
var require_envList = __commonJS({
  "../env/plugin-commands-env/lib/envList.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envList = envList;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var fetch_1 = require_lib55();
    var node_resolver_1 = require_lib52();
    var error_1 = require_lib6();
    var semver_12 = __importDefault2(require_semver2());
    var getNodeMirror_1 = require_getNodeMirror();
    var node_1 = require_node3();
    var parseEnvSpecifier_1 = require_parseEnvSpecifier();
    var utils_1 = require_utils13();
    async function envList(opts, params) {
      if (opts.remote) {
        const nodeVersionList = await listRemoteVersions(opts, params[0]);
        return nodeVersionList.reverse().join("\n");
      }
      const { currentVersion, versions } = await listLocalVersions(opts);
      return versions.map((nodeVersion) => `${nodeVersion === currentVersion ? "*" : " "} ${nodeVersion}`).join("\n");
    }
    async function listLocalVersions(opts) {
      const nodeBaseDir = (0, node_1.getNodeVersionsBaseDir)(opts.pnpmHomeDir);
      if (!(0, fs_1.existsSync)(nodeBaseDir)) {
        throw new error_1.PnpmError("ENV_NO_NODE_DIRECTORY", `Couldn't find Node.js directory in ${nodeBaseDir}`);
      }
      const { nodeLink } = await (0, utils_1.getNodeExecPathAndTargetDir)(opts.pnpmHomeDir);
      const nodeVersionDirs = await fs_1.promises.readdir(nodeBaseDir);
      let currentVersion;
      const versions = [];
      for (const nodeVersion of nodeVersionDirs) {
        const nodeVersionDir = path_1.default.join(nodeBaseDir, nodeVersion);
        const nodeExec = (0, utils_1.getNodeExecPathInNodeDir)(nodeVersionDir);
        if (nodeLink?.startsWith(nodeVersionDir)) {
          currentVersion = nodeVersion;
        }
        if (semver_12.default.valid(nodeVersion) && (0, fs_1.existsSync)(nodeExec)) {
          versions.push(nodeVersion);
        }
      }
      return { currentVersion, versions };
    }
    async function listRemoteVersions(opts, versionSpec) {
      const fetch = (0, fetch_1.createFetchFromRegistry)(opts);
      const { releaseChannel, versionSpecifier } = (0, parseEnvSpecifier_1.parseEnvSpecifier)(versionSpec ?? "");
      const nodeMirrorBaseUrl = (0, getNodeMirror_1.getNodeMirror)(opts.rawConfig, releaseChannel);
      const nodeVersionList = await (0, node_resolver_1.resolveNodeVersions)(fetch, versionSpecifier, nodeMirrorBaseUrl);
      return nodeVersionList;
    }
  }
});

// ../env/plugin-commands-env/lib/envAdd.js
var require_envAdd = __commonJS({
  "../env/plugin-commands-env/lib/envAdd.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.envAdd = envAdd;
    var error_1 = require_lib6();
    var downloadNodeVersion_1 = require_downloadNodeVersion();
    async function envAdd(opts, params) {
      if (!opts.global) {
        throw new error_1.PnpmError("NOT_IMPLEMENTED_YET", '"pnpm env add <version>" can only be used with the "--global" option currently');
      }
      const failed = [];
      for (const envSpecifier of params) {
        const result2 = await (0, downloadNodeVersion_1.downloadNodeVersion)(opts, envSpecifier);
        if (!result2) {
          failed.push(envSpecifier);
        }
      }
      if (failed.length > 0) {
        throw new error_1.PnpmError("COULD_NOT_RESOLVE_NODEJS", `Couldn't find Node.js version matching ${failed.join(", ")}`);
      }
      return "All specified Node.js versions were installed";
    }
  }
});

// ../env/plugin-commands-env/lib/env.js
var require_env2 = __commonJS({
  "../env/plugin-commands-env/lib/env.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.skipPackageManagerCheck = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var error_1 = require_lib6();
    var render_help_1 = __importDefault2(require_lib47());
    var envRemove_1 = require_envRemove();
    var envUse_1 = require_envUse();
    var envList_1 = require_envList();
    var envAdd_1 = require_envAdd();
    exports2.skipPackageManagerCheck = true;
    function rcOptionsTypes() {
      return {};
    }
    function cliOptionsTypes() {
      return {
        global: Boolean,
        remote: Boolean
      };
    }
    exports2.commandNames = ["env"];
    function help() {
      return (0, render_help_1.default)({
        description: "Manage Node.js versions.",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                description: "Installs the specified version of Node.js. The npm CLI bundled with the given Node.js version gets installed as well. This sets this version of Node.js as the current version.",
                name: "use"
              },
              {
                description: "Installs the specified version(s) of Node.js without activating them as the current version.",
                name: "add"
              },
              {
                description: "Removes the specified version(s) of Node.js.",
                name: "remove",
                shortAlias: "rm"
              },
              {
                description: "List Node.js versions available locally or remotely",
                name: "list",
                shortAlias: "ls"
              }
            ]
          },
          {
            title: "Options",
            list: [
              {
                description: "Manages Node.js versions globally",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: "List the remote versions of Node.js",
                name: "--remote"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("env"),
        usages: [
          "pnpm env [command] [options] <version> [<additional-versions>...]",
          "pnpm env use --global 18",
          "pnpm env use --global lts",
          "pnpm env use --global argon",
          "pnpm env use --global latest",
          "pnpm env use --global rc/18",
          "pnpm env add --global 18",
          "pnpm env add --global 18 19 20.6.0",
          "pnpm env remove --global 18 lts",
          "pnpm env remove --global argon",
          "pnpm env remove --global latest",
          "pnpm env remove --global rc/18 18 20.6.0",
          "pnpm env list",
          "pnpm env list --remote",
          "pnpm env list --remote 18",
          "pnpm env list --remote lts",
          "pnpm env list --remote argon",
          "pnpm env list --remote latest",
          "pnpm env list --remote rc/18"
        ]
      });
    }
    async function handler(opts, params) {
      if (params.length === 0) {
        throw new error_1.PnpmError("ENV_NO_SUBCOMMAND", "Please specify the subcommand", {
          hint: help()
        });
      }
      if (opts.global && !opts.bin) {
        throw new error_1.PnpmError("CANNOT_MANAGE_NODE", "Unable to manage Node.js because pnpm was not installed using the standalone installation script", {
          hint: "If you want to manage Node.js with pnpm, you need to remove any Node.js that was installed by other tools, then install pnpm using one of the standalone scripts that are provided on the installation page: https://pnpm.io/installation"
        });
      }
      switch (params[0]) {
        case "add": {
          return (0, envAdd_1.envAdd)(opts, params.slice(1));
        }
        case "use": {
          return (0, envUse_1.envUse)(opts, params.slice(1));
        }
        case "remove":
        case "rm":
        case "uninstall":
        case "un": {
          return (0, envRemove_1.envRemove)(opts, params.slice(1));
        }
        case "list":
        case "ls": {
          return (0, envList_1.envList)(opts, params.slice(1));
        }
        default: {
          throw new error_1.PnpmError("ENV_UNKNOWN_SUBCOMMAND", "This subcommand is not known");
        }
      }
    }
  }
});

// ../env/plugin-commands-env/lib/index.js
var require_lib82 = __commonJS({
  "../env/plugin-commands-env/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prepareExecutionEnv = exports2.env = void 0;
    var env = __importStar3(require_env2());
    exports2.env = env;
    var node_1 = require_node3();
    Object.defineProperty(exports2, "prepareExecutionEnv", { enumerable: true, get: function() {
      return node_1.prepareExecutionEnv;
    } });
  }
});

// ../node_modules/.pnpm/ci-info@3.9.0/node_modules/ci-info/vendors.json
var require_vendors = __commonJS({
  "../node_modules/.pnpm/ci-info@3.9.0/node_modules/ci-info/vendors.json"(exports2, module2) {
    module2.exports = [
      {
        name: "Appcircle",
        constant: "APPCIRCLE",
        env: "AC_APPCIRCLE"
      },
      {
        name: "AppVeyor",
        constant: "APPVEYOR",
        env: "APPVEYOR",
        pr: "APPVEYOR_PULL_REQUEST_NUMBER"
      },
      {
        name: "AWS CodeBuild",
        constant: "CODEBUILD",
        env: "CODEBUILD_BUILD_ARN"
      },
      {
        name: "Azure Pipelines",
        constant: "AZURE_PIPELINES",
        env: "TF_BUILD",
        pr: {
          BUILD_REASON: "PullRequest"
        }
      },
      {
        name: "Bamboo",
        constant: "BAMBOO",
        env: "bamboo_planKey"
      },
      {
        name: "Bitbucket Pipelines",
        constant: "BITBUCKET",
        env: "BITBUCKET_COMMIT",
        pr: "BITBUCKET_PR_ID"
      },
      {
        name: "Bitrise",
        constant: "BITRISE",
        env: "BITRISE_IO",
        pr: "BITRISE_PULL_REQUEST"
      },
      {
        name: "Buddy",
        constant: "BUDDY",
        env: "BUDDY_WORKSPACE_ID",
        pr: "BUDDY_EXECUTION_PULL_REQUEST_ID"
      },
      {
        name: "Buildkite",
        constant: "BUILDKITE",
        env: "BUILDKITE",
        pr: {
          env: "BUILDKITE_PULL_REQUEST",
          ne: "false"
        }
      },
      {
        name: "CircleCI",
        constant: "CIRCLE",
        env: "CIRCLECI",
        pr: "CIRCLE_PULL_REQUEST"
      },
      {
        name: "Cirrus CI",
        constant: "CIRRUS",
        env: "CIRRUS_CI",
        pr: "CIRRUS_PR"
      },
      {
        name: "Codefresh",
        constant: "CODEFRESH",
        env: "CF_BUILD_ID",
        pr: {
          any: [
            "CF_PULL_REQUEST_NUMBER",
            "CF_PULL_REQUEST_ID"
          ]
        }
      },
      {
        name: "Codemagic",
        constant: "CODEMAGIC",
        env: "CM_BUILD_ID",
        pr: "CM_PULL_REQUEST"
      },
      {
        name: "Codeship",
        constant: "CODESHIP",
        env: {
          CI_NAME: "codeship"
        }
      },
      {
        name: "Drone",
        constant: "DRONE",
        env: "DRONE",
        pr: {
          DRONE_BUILD_EVENT: "pull_request"
        }
      },
      {
        name: "dsari",
        constant: "DSARI",
        env: "DSARI"
      },
      {
        name: "Expo Application Services",
        constant: "EAS",
        env: "EAS_BUILD"
      },
      {
        name: "Gerrit",
        constant: "GERRIT",
        env: "GERRIT_PROJECT"
      },
      {
        name: "GitHub Actions",
        constant: "GITHUB_ACTIONS",
        env: "GITHUB_ACTIONS",
        pr: {
          GITHUB_EVENT_NAME: "pull_request"
        }
      },
      {
        name: "GitLab CI",
        constant: "GITLAB",
        env: "GITLAB_CI",
        pr: "CI_MERGE_REQUEST_ID"
      },
      {
        name: "GoCD",
        constant: "GOCD",
        env: "GO_PIPELINE_LABEL"
      },
      {
        name: "Google Cloud Build",
        constant: "GOOGLE_CLOUD_BUILD",
        env: "BUILDER_OUTPUT"
      },
      {
        name: "Harness CI",
        constant: "HARNESS",
        env: "HARNESS_BUILD_ID"
      },
      {
        name: "Heroku",
        constant: "HEROKU",
        env: {
          env: "NODE",
          includes: "/app/.heroku/node/bin/node"
        }
      },
      {
        name: "Hudson",
        constant: "HUDSON",
        env: "HUDSON_URL"
      },
      {
        name: "Jenkins",
        constant: "JENKINS",
        env: [
          "JENKINS_URL",
          "BUILD_ID"
        ],
        pr: {
          any: [
            "ghprbPullId",
            "CHANGE_ID"
          ]
        }
      },
      {
        name: "LayerCI",
        constant: "LAYERCI",
        env: "LAYERCI",
        pr: "LAYERCI_PULL_REQUEST"
      },
      {
        name: "Magnum CI",
        constant: "MAGNUM",
        env: "MAGNUM"
      },
      {
        name: "Netlify CI",
        constant: "NETLIFY",
        env: "NETLIFY",
        pr: {
          env: "PULL_REQUEST",
          ne: "false"
        }
      },
      {
        name: "Nevercode",
        constant: "NEVERCODE",
        env: "NEVERCODE",
        pr: {
          env: "NEVERCODE_PULL_REQUEST",
          ne: "false"
        }
      },
      {
        name: "ReleaseHub",
        constant: "RELEASEHUB",
        env: "RELEASE_BUILD_ID"
      },
      {
        name: "Render",
        constant: "RENDER",
        env: "RENDER",
        pr: {
          IS_PULL_REQUEST: "true"
        }
      },
      {
        name: "Sail CI",
        constant: "SAIL",
        env: "SAILCI",
        pr: "SAIL_PULL_REQUEST_NUMBER"
      },
      {
        name: "Screwdriver",
        constant: "SCREWDRIVER",
        env: "SCREWDRIVER",
        pr: {
          env: "SD_PULL_REQUEST",
          ne: "false"
        }
      },
      {
        name: "Semaphore",
        constant: "SEMAPHORE",
        env: "SEMAPHORE",
        pr: "PULL_REQUEST_NUMBER"
      },
      {
        name: "Shippable",
        constant: "SHIPPABLE",
        env: "SHIPPABLE",
        pr: {
          IS_PULL_REQUEST: "true"
        }
      },
      {
        name: "Solano CI",
        constant: "SOLANO",
        env: "TDDIUM",
        pr: "TDDIUM_PR_ID"
      },
      {
        name: "Sourcehut",
        constant: "SOURCEHUT",
        env: {
          CI_NAME: "sourcehut"
        }
      },
      {
        name: "Strider CD",
        constant: "STRIDER",
        env: "STRIDER"
      },
      {
        name: "TaskCluster",
        constant: "TASKCLUSTER",
        env: [
          "TASK_ID",
          "RUN_ID"
        ]
      },
      {
        name: "TeamCity",
        constant: "TEAMCITY",
        env: "TEAMCITY_VERSION"
      },
      {
        name: "Travis CI",
        constant: "TRAVIS",
        env: "TRAVIS",
        pr: {
          env: "TRAVIS_PULL_REQUEST",
          ne: "false"
        }
      },
      {
        name: "Vercel",
        constant: "VERCEL",
        env: {
          any: [
            "NOW_BUILDER",
            "VERCEL"
          ]
        },
        pr: "VERCEL_GIT_PULL_REQUEST_ID"
      },
      {
        name: "Visual Studio App Center",
        constant: "APPCENTER",
        env: "APPCENTER_BUILD_ID"
      },
      {
        name: "Woodpecker",
        constant: "WOODPECKER",
        env: {
          CI: "woodpecker"
        },
        pr: {
          CI_BUILD_EVENT: "pull_request"
        }
      },
      {
        name: "Xcode Cloud",
        constant: "XCODE_CLOUD",
        env: "CI_XCODE_PROJECT",
        pr: "CI_PULL_REQUEST_NUMBER"
      },
      {
        name: "Xcode Server",
        constant: "XCODE_SERVER",
        env: "XCS"
      }
    ];
  }
});

// ../node_modules/.pnpm/ci-info@3.9.0/node_modules/ci-info/index.js
var require_ci_info = __commonJS({
  "../node_modules/.pnpm/ci-info@3.9.0/node_modules/ci-info/index.js"(exports2) {
    "use strict";
    var vendors = require_vendors();
    var env = process.env;
    Object.defineProperty(exports2, "_vendors", {
      value: vendors.map(function(v) {
        return v.constant;
      })
    });
    exports2.name = null;
    exports2.isPR = null;
    vendors.forEach(function(vendor) {
      const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];
      const isCI = envs.every(function(obj) {
        return checkEnv(obj);
      });
      exports2[vendor.constant] = isCI;
      if (!isCI) {
        return;
      }
      exports2.name = vendor.name;
      switch (typeof vendor.pr) {
        case "string":
          exports2.isPR = !!env[vendor.pr];
          break;
        case "object":
          if ("env" in vendor.pr) {
            exports2.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne;
          } else if ("any" in vendor.pr) {
            exports2.isPR = vendor.pr.any.some(function(key) {
              return !!env[key];
            });
          } else {
            exports2.isPR = checkEnv(vendor.pr);
          }
          break;
        default:
          exports2.isPR = null;
      }
    });
    exports2.isCI = !!(env.CI !== "false" && // Bypass all checks if CI env is explicitly set to 'false'
    (env.BUILD_ID || // Jenkins, Cloudbees
    env.BUILD_NUMBER || // Jenkins, TeamCity
    env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari
    env.CI_APP_ID || // Appflow
    env.CI_BUILD_ID || // Appflow
    env.CI_BUILD_NUMBER || // Appflow
    env.CI_NAME || // Codeship and others
    env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI
    env.RUN_ID || // TaskCluster, dsari
    exports2.name || false));
    function checkEnv(obj) {
      if (typeof obj === "string") return !!env[obj];
      if ("env" in obj) {
        return env[obj.env] && env[obj.env].includes(obj.includes);
      }
      if ("any" in obj) {
        return obj.any.some(function(k) {
          return !!env[k];
        });
      }
      return Object.keys(obj).every(function(k) {
        return env[k] === obj[k];
      });
    }
  }
});

// ../node_modules/.pnpm/safe-execa@0.1.4/node_modules/safe-execa/lib/index.js
var require_lib83 = __commonJS({
  "../node_modules/.pnpm/safe-execa@0.1.4/node_modules/safe-execa/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sync = void 0;
    var which_1 = __importDefault2(require_which());
    var execa_1 = __importDefault2(require_execa());
    var path_name_1 = __importDefault2(require_path_name());
    var pathCache = /* @__PURE__ */ new Map();
    function sync(file, args, options) {
      var _a;
      try {
        which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd() });
      } catch (err) {
        if (err.code === "ENOENT") {
          return execa_1.default.sync(file, args, options);
        }
      }
      const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
      return execa_1.default.sync(fileAbsolutePath, args, options);
    }
    exports2.sync = sync;
    function getCommandAbsolutePathSync(file, options) {
      var _a, _b;
      if (file.includes("\\") || file.includes("/"))
        return file;
      const path2 = (_b = (_a = options === null || options === void 0 ? void 0 : options.env) === null || _a === void 0 ? void 0 : _a[path_name_1.default]) !== null && _b !== void 0 ? _b : process.env[path_name_1.default];
      const key = JSON.stringify([path2, file]);
      let fileAbsolutePath = pathCache.get(key);
      if (fileAbsolutePath == null) {
        fileAbsolutePath = which_1.default.sync(file, { path: path2 });
        pathCache.set(key, fileAbsolutePath);
      }
      if (fileAbsolutePath == null) {
        throw new Error(`Couldn't find ${file}`);
      }
      return fileAbsolutePath;
    }
    function default_1(file, args, options) {
      var _a;
      try {
        which_1.default.sync(file, { path: (_a = options === null || options === void 0 ? void 0 : options.cwd) !== null && _a !== void 0 ? _a : process.cwd() });
      } catch (err) {
        if (err.code === "ENOENT") {
          return (0, execa_1.default)(file, args, options);
        }
      }
      const fileAbsolutePath = getCommandAbsolutePathSync(file, options);
      return (0, execa_1.default)(fileAbsolutePath, args, options);
    }
    exports2.default = default_1;
  }
});

// ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js
var require_retry_operation2 = __commonJS({
  "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js"(exports2, module2) {
    function RetryOperation(timeouts, options) {
      if (typeof options === "boolean") {
        options = { forever: options };
      }
      this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));
      this._timeouts = timeouts;
      this._options = options || {};
      this._maxRetryTime = options && options.maxRetryTime || Infinity;
      this._fn = null;
      this._errors = [];
      this._attempts = 1;
      this._operationTimeout = null;
      this._operationTimeoutCb = null;
      this._timeout = null;
      this._operationStart = null;
      this._timer = null;
      if (this._options.forever) {
        this._cachedTimeouts = this._timeouts.slice(0);
      }
    }
    module2.exports = RetryOperation;
    RetryOperation.prototype.reset = function() {
      this._attempts = 1;
      this._timeouts = this._originalTimeouts.slice(0);
    };
    RetryOperation.prototype.stop = function() {
      if (this._timeout) {
        clearTimeout(this._timeout);
      }
      if (this._timer) {
        clearTimeout(this._timer);
      }
      this._timeouts = [];
      this._cachedTimeouts = null;
    };
    RetryOperation.prototype.retry = function(err) {
      if (this._timeout) {
        clearTimeout(this._timeout);
      }
      if (!err) {
        return false;
      }
      var currentTime = (/* @__PURE__ */ new Date()).getTime();
      if (err && currentTime - this._operationStart >= this._maxRetryTime) {
        this._errors.push(err);
        this._errors.unshift(new Error("RetryOperation timeout occurred"));
        return false;
      }
      this._errors.push(err);
      var timeout = this._timeouts.shift();
      if (timeout === void 0) {
        if (this._cachedTimeouts) {
          this._errors.splice(0, this._errors.length - 1);
          timeout = this._cachedTimeouts.slice(-1);
        } else {
          return false;
        }
      }
      var self2 = this;
      this._timer = setTimeout(function() {
        self2._attempts++;
        if (self2._operationTimeoutCb) {
          self2._timeout = setTimeout(function() {
            self2._operationTimeoutCb(self2._attempts);
          }, self2._operationTimeout);
          if (self2._options.unref) {
            self2._timeout.unref();
          }
        }
        self2._fn(self2._attempts);
      }, timeout);
      if (this._options.unref) {
        this._timer.unref();
      }
      return true;
    };
    RetryOperation.prototype.attempt = function(fn, timeoutOps) {
      this._fn = fn;
      if (timeoutOps) {
        if (timeoutOps.timeout) {
          this._operationTimeout = timeoutOps.timeout;
        }
        if (timeoutOps.cb) {
          this._operationTimeoutCb = timeoutOps.cb;
        }
      }
      var self2 = this;
      if (this._operationTimeoutCb) {
        this._timeout = setTimeout(function() {
          self2._operationTimeoutCb();
        }, self2._operationTimeout);
      }
      this._operationStart = (/* @__PURE__ */ new Date()).getTime();
      this._fn(this._attempts);
    };
    RetryOperation.prototype.try = function(fn) {
      console.log("Using RetryOperation.try() is deprecated");
      this.attempt(fn);
    };
    RetryOperation.prototype.start = function(fn) {
      console.log("Using RetryOperation.start() is deprecated");
      this.attempt(fn);
    };
    RetryOperation.prototype.start = RetryOperation.prototype.try;
    RetryOperation.prototype.errors = function() {
      return this._errors;
    };
    RetryOperation.prototype.attempts = function() {
      return this._attempts;
    };
    RetryOperation.prototype.mainError = function() {
      if (this._errors.length === 0) {
        return null;
      }
      var counts = {};
      var mainError = null;
      var mainErrorCount = 0;
      for (var i = 0; i < this._errors.length; i++) {
        var error = this._errors[i];
        var message = error.message;
        var count = (counts[message] || 0) + 1;
        counts[message] = count;
        if (count >= mainErrorCount) {
          mainError = error;
          mainErrorCount = count;
        }
      }
      return mainError;
    };
  }
});

// ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js
var require_retry3 = __commonJS({
  "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js"(exports2) {
    var RetryOperation = require_retry_operation2();
    exports2.operation = function(options) {
      var timeouts = exports2.timeouts(options);
      return new RetryOperation(timeouts, {
        forever: options && (options.forever || options.retries === Infinity),
        unref: options && options.unref,
        maxRetryTime: options && options.maxRetryTime
      });
    };
    exports2.timeouts = function(options) {
      if (options instanceof Array) {
        return [].concat(options);
      }
      var opts = {
        retries: 10,
        factor: 2,
        minTimeout: 1 * 1e3,
        maxTimeout: Infinity,
        randomize: false
      };
      for (var key in options) {
        opts[key] = options[key];
      }
      if (opts.minTimeout > opts.maxTimeout) {
        throw new Error("minTimeout is greater than maxTimeout");
      }
      var timeouts = [];
      for (var i = 0; i < opts.retries; i++) {
        timeouts.push(this.createTimeout(i, opts));
      }
      if (options && options.forever && !timeouts.length) {
        timeouts.push(this.createTimeout(i, opts));
      }
      timeouts.sort(function(a, b) {
        return a - b;
      });
      return timeouts;
    };
    exports2.createTimeout = function(attempt, opts) {
      var random = opts.randomize ? Math.random() + 1 : 1;
      var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));
      timeout = Math.min(timeout, opts.maxTimeout);
      return timeout;
    };
    exports2.wrap = function(obj, options, methods) {
      if (options instanceof Array) {
        methods = options;
        options = null;
      }
      if (!methods) {
        methods = [];
        for (var key in obj) {
          if (typeof obj[key] === "function") {
            methods.push(key);
          }
        }
      }
      for (var i = 0; i < methods.length; i++) {
        var method = methods[i];
        var original = obj[method];
        obj[method] = function retryWrapper(original2) {
          var op = exports2.operation(options);
          var args = Array.prototype.slice.call(arguments, 1);
          var callback = args.pop();
          args.push(function(err) {
            if (op.retry(err)) {
              return;
            }
            if (err) {
              arguments[0] = op.mainError();
            }
            callback.apply(this, arguments);
          });
          op.attempt(function() {
            original2.apply(obj, args);
          });
        }.bind(obj, original);
        obj[method].options = options;
      }
    };
  }
});

// ../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js
var require_retry4 = __commonJS({
  "../node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js"(exports2, module2) {
    module2.exports = require_retry3();
  }
});

// ../node_modules/.pnpm/graceful-git@4.0.0/node_modules/graceful-git/index.js
var require_graceful_git = __commonJS({
  "../node_modules/.pnpm/graceful-git@4.0.0/node_modules/graceful-git/index.js"(exports2, module2) {
    "use strict";
    var execa = require_lib83().default;
    var retry = require_retry4();
    var RETRY_OPTIONS = {
      retries: 3,
      minTimeout: 1 * 1e3,
      maxTimeout: 10 * 1e3,
      randomize: true
    };
    module2.exports = gracefulGit;
    module2.exports.noRetry = noRetry;
    async function gracefulGit(args, opts) {
      opts = opts || {};
      const operation = retry.operation(Object.assign({}, RETRY_OPTIONS, opts));
      return new Promise((resolve, reject) => {
        operation.attempt((currentAttempt) => {
          noRetry(args, opts).then(resolve).catch((err) => {
            if (operation.retry(err)) {
              return;
            }
            reject(operation.mainError());
          });
        });
      });
    }
    async function noRetry(args, opts) {
      opts = opts || {};
      return execa("git", args, { cwd: opts.cwd || process.cwd() });
    }
  }
});

// ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host-info.js
var require_git_host_info2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host-info.js"(exports2, module2) {
    "use strict";
    var maybeJoin = (...args) => args.every((arg) => arg) ? args.join("") : "";
    var maybeEncode = (arg) => arg ? encodeURIComponent(arg) : "";
    var defaults = {
      sshtemplate: ({ domain, user, project, committish }) => `git@${domain}:${user}/${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, user, project, committish }) => `git+ssh://git@${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      browsetemplate: ({ domain, user, project, committish, treepath }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}`,
      browsefiletemplate: ({ domain, user, project, committish, treepath, path: path2, fragment, hashformat }) => `https://${domain}/${user}/${project}/${treepath}/${maybeEncode(committish || "master")}/${path2}${maybeJoin("#", hashformat(fragment || ""))}`,
      docstemplate: ({ domain, user, project, treepath, committish }) => `https://${domain}/${user}/${project}${maybeJoin("/", treepath, "/", maybeEncode(committish))}#readme`,
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ domain, user, project, committish, path: path2 }) => `https://${domain}/${user}/${project}/raw/${maybeEncode(committish) || "master"}/${path2}`,
      shortcuttemplate: ({ type, user, project, committish }) => `${type}:${user}/${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ user, project, committish }) => `${user}/${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, user, project }) => `https://${domain}/${user}/${project}/issues`,
      hashformat: formatHashFragment
    };
    var gitHosts = {};
    gitHosts.github = Object.assign({}, defaults, {
      // First two are insecure and generally shouldn't be used any more, but
      // they are still supported.
      protocols: ["git:", "http:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "github.com",
      treepath: "tree",
      filetemplate: ({ auth, user, project, committish, path: path2 }) => `https://${maybeJoin(auth, "@")}raw.githubusercontent.com/${user}/${project}/${maybeEncode(committish) || "master"}/${path2}`,
      gittemplate: ({ auth, domain, user, project, committish }) => `git://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://codeload.${domain}/${user}/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        let [, user, project, type, committish] = url.pathname.split("/", 5);
        if (type && type !== "tree") {
          return;
        }
        if (!type) {
          committish = url.hash.slice(1);
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish };
      }
    });
    gitHosts.bitbucket = Object.assign({}, defaults, {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "bitbucket.org",
      treepath: "src",
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/${user}/${project}/get/${maybeEncode(committish) || "master"}.tar.gz`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (["get"].includes(aux)) {
          return;
        }
        if (project && project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    });
    gitHosts.gitlab = Object.assign({}, defaults, {
      protocols: ["git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gitlab.com",
      treepath: "tree",
      httpstemplate: ({ auth, domain, user, project, committish }) => `git+https://${maybeJoin(auth, "@")}${domain}/${user}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ domain, user, project, committish }) => `https://${domain}/api/v4/projects/${user}%2F${project}/repository/archive.tar.gz?sha=${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        const path2 = url.pathname.slice(1);
        if (path2.includes("/-/") || path2.includes("/archive.tar.gz")) {
          return;
        }
        const segments = path2.split("/");
        let project = segments.pop();
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        const user = segments.join("/");
        if (!user || !project) {
          return;
        }
        return { user, project, committish: url.hash.slice(1) };
      }
    });
    gitHosts.gist = Object.assign({}, defaults, {
      protocols: ["git:", "git+ssh:", "git+https:", "ssh:", "https:"],
      domain: "gist.github.com",
      sshtemplate: ({ domain, project, committish }) => `git@${domain}:${project}.git${maybeJoin("#", committish)}`,
      sshurltemplate: ({ domain, project, committish }) => `git+ssh://git@${domain}/${project}.git${maybeJoin("#", committish)}`,
      browsetemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      browsefiletemplate: ({ domain, project, committish, path: path2, hashformat }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}${maybeJoin("#", hashformat(path2))}`,
      docstemplate: ({ domain, project, committish }) => `https://${domain}/${project}${maybeJoin("/", maybeEncode(committish))}`,
      httpstemplate: ({ domain, project, committish }) => `git+https://${domain}/${project}.git${maybeJoin("#", committish)}`,
      filetemplate: ({ user, project, committish, path: path2 }) => `https://gist.githubusercontent.com/${user}/${project}/raw${maybeJoin("/", maybeEncode(committish))}/${path2}`,
      shortcuttemplate: ({ type, project, committish }) => `${type}:${project}${maybeJoin("#", committish)}`,
      pathtemplate: ({ project, committish }) => `${project}${maybeJoin("#", committish)}`,
      bugstemplate: ({ domain, project }) => `https://${domain}/${project}`,
      gittemplate: ({ domain, project, committish }) => `git://${domain}/${project}.git${maybeJoin("#", committish)}`,
      tarballtemplate: ({ project, committish }) => `https://codeload.github.com/gist/${project}/tar.gz/${maybeEncode(committish) || "master"}`,
      extract: (url) => {
        let [, user, project, aux] = url.pathname.split("/", 4);
        if (aux === "raw") {
          return;
        }
        if (!project) {
          if (!user) {
            return;
          }
          project = user;
          user = null;
        }
        if (project.endsWith(".git")) {
          project = project.slice(0, -4);
        }
        return { user, project, committish: url.hash.slice(1) };
      },
      hashformat: function(fragment) {
        return fragment && "file-" + formatHashFragment(fragment);
      }
    });
    var names = Object.keys(gitHosts);
    gitHosts.byShortcut = {};
    gitHosts.byDomain = {};
    for (const name of names) {
      gitHosts.byShortcut[`${name}:`] = name;
      gitHosts.byDomain[gitHosts[name].domain] = name;
    }
    function formatHashFragment(fragment) {
      return fragment.toLowerCase().replace(/^\W+|\/|\W+$/g, "").replace(/\W+/g, "-");
    }
    module2.exports = gitHosts;
  }
});

// ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host.js
var require_git_host2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/git-host.js"(exports2, module2) {
    "use strict";
    var gitHosts = require_git_host_info2();
    var GitHost = class {
      constructor(type, user, auth, project, committish, defaultRepresentation, opts = {}) {
        Object.assign(this, gitHosts[type]);
        this.type = type;
        this.user = user;
        this.auth = auth;
        this.project = project;
        this.committish = committish;
        this.default = defaultRepresentation;
        this.opts = opts;
      }
      hash() {
        return this.committish ? `#${this.committish}` : "";
      }
      ssh(opts) {
        return this._fill(this.sshtemplate, opts);
      }
      _fill(template, opts) {
        if (typeof template === "function") {
          const options = { ...this, ...this.opts, ...opts };
          if (!options.path) {
            options.path = "";
          }
          if (options.path.startsWith("/")) {
            options.path = options.path.slice(1);
          }
          if (options.noCommittish) {
            options.committish = null;
          }
          const result2 = template(options);
          return options.noGitPlus && result2.startsWith("git+") ? result2.slice(4) : result2;
        }
        return null;
      }
      sshurl(opts) {
        return this._fill(this.sshurltemplate, opts);
      }
      browse(path2, fragment, opts) {
        if (typeof path2 !== "string") {
          return this._fill(this.browsetemplate, path2);
        }
        if (typeof fragment !== "string") {
          opts = fragment;
          fragment = null;
        }
        return this._fill(this.browsefiletemplate, { ...opts, fragment, path: path2 });
      }
      docs(opts) {
        return this._fill(this.docstemplate, opts);
      }
      bugs(opts) {
        return this._fill(this.bugstemplate, opts);
      }
      https(opts) {
        return this._fill(this.httpstemplate, opts);
      }
      git(opts) {
        return this._fill(this.gittemplate, opts);
      }
      shortcut(opts) {
        return this._fill(this.shortcuttemplate, opts);
      }
      path(opts) {
        return this._fill(this.pathtemplate, opts);
      }
      tarball(opts) {
        return this._fill(this.tarballtemplate, { ...opts, noCommittish: false });
      }
      file(path2, opts) {
        return this._fill(this.filetemplate, { ...opts, path: path2 });
      }
      getDefaultRepresentation() {
        return this.default;
      }
      toString(opts) {
        if (this.default && typeof this[this.default] === "function") {
          return this[this.default](opts);
        }
        return this.sshurl(opts);
      }
    };
    module2.exports = GitHost;
  }
});

// ../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/index.js
var require_hosted_git_info2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+hosted-git-info@1.0.0/node_modules/@pnpm/hosted-git-info/index.js"(exports2, module2) {
    "use strict";
    var url = require("url");
    var gitHosts = require_git_host_info2();
    var GitHost = module2.exports = require_git_host2();
    var LRU = require_lru_cache();
    var cache = new LRU({ max: 1e3 });
    var protocolToRepresentationMap = {
      "git+ssh:": "sshurl",
      "git+https:": "https",
      "ssh:": "sshurl",
      "git:": "git"
    };
    function protocolToRepresentation(protocol) {
      return protocolToRepresentationMap[protocol] || protocol.slice(0, -1);
    }
    var authProtocols = {
      "git:": true,
      "https:": true,
      "git+https:": true,
      "http:": true,
      "git+http:": true
    };
    var knownProtocols = Object.keys(gitHosts.byShortcut).concat(["http:", "https:", "git:", "git+ssh:", "git+https:", "ssh:"]);
    module2.exports.fromUrl = function(giturl, opts) {
      if (typeof giturl !== "string") {
        return;
      }
      const key = giturl + JSON.stringify(opts || {});
      if (!cache.has(key)) {
        cache.set(key, fromUrl(giturl, opts));
      }
      return cache.get(key);
    };
    function fromUrl(giturl, opts) {
      if (!giturl) {
        return;
      }
      const url2 = isGitHubShorthand(giturl) ? "github:" + giturl : correctProtocol(giturl);
      const parsed = parseGitUrl(url2);
      if (!parsed) {
        return parsed;
      }
      const gitHostShortcut = gitHosts.byShortcut[parsed.protocol];
      const gitHostDomain = gitHosts.byDomain[parsed.hostname.startsWith("www.") ? parsed.hostname.slice(4) : parsed.hostname];
      const gitHostName = gitHostShortcut || gitHostDomain;
      if (!gitHostName) {
        return;
      }
      const gitHostInfo = gitHosts[gitHostShortcut || gitHostDomain];
      let auth = null;
      if (authProtocols[parsed.protocol] && (parsed.username || parsed.password)) {
        auth = `${parsed.username}${parsed.password ? ":" + parsed.password : ""}`;
      }
      let committish = null;
      let user = null;
      let project = null;
      let defaultRepresentation = null;
      try {
        if (gitHostShortcut) {
          let pathname = parsed.pathname.startsWith("/") ? parsed.pathname.slice(1) : parsed.pathname;
          const firstAt = pathname.indexOf("@");
          if (firstAt > -1) {
            pathname = pathname.slice(firstAt + 1);
          }
          const lastSlash = pathname.lastIndexOf("/");
          if (lastSlash > -1) {
            user = decodeURIComponent(pathname.slice(0, lastSlash));
            if (!user) {
              user = null;
            }
            project = decodeURIComponent(pathname.slice(lastSlash + 1));
          } else {
            project = decodeURIComponent(pathname);
          }
          if (project.endsWith(".git")) {
            project = project.slice(0, -4);
          }
          if (parsed.hash) {
            committish = decodeURIComponent(parsed.hash.slice(1));
          }
          defaultRepresentation = "shortcut";
        } else {
          if (!gitHostInfo.protocols.includes(parsed.protocol)) {
            return;
          }
          const segments = gitHostInfo.extract(parsed);
          if (!segments) {
            return;
          }
          user = segments.user && decodeURIComponent(segments.user);
          project = decodeURIComponent(segments.project);
          committish = decodeURIComponent(segments.committish);
          defaultRepresentation = protocolToRepresentation(parsed.protocol);
        }
      } catch (err) {
        if (err instanceof URIError) {
          return;
        } else {
          throw err;
        }
      }
      return new GitHost(gitHostName, user, auth, project, committish, defaultRepresentation, opts);
    }
    var correctProtocol = (arg) => {
      const firstColon = arg.indexOf(":");
      const proto = arg.slice(0, firstColon + 1);
      if (knownProtocols.includes(proto)) {
        return arg;
      }
      const firstAt = arg.indexOf("@");
      if (firstAt > -1) {
        if (firstAt > firstColon) {
          return `git+ssh://${arg}`;
        } else {
          return arg;
        }
      }
      const doubleSlash = arg.indexOf("//");
      if (doubleSlash === firstColon + 1) {
        return arg;
      }
      return arg.slice(0, firstColon + 1) + "//" + arg.slice(firstColon + 1);
    };
    var isGitHubShorthand = (arg) => {
      const firstHash = arg.indexOf("#");
      const firstSlash = arg.indexOf("/");
      const secondSlash = arg.indexOf("/", firstSlash + 1);
      const firstColon = arg.indexOf(":");
      const firstSpace = /\s/.exec(arg);
      const firstAt = arg.indexOf("@");
      const spaceOnlyAfterHash = !firstSpace || firstHash > -1 && firstSpace.index > firstHash;
      const atOnlyAfterHash = firstAt === -1 || firstHash > -1 && firstAt > firstHash;
      const colonOnlyAfterHash = firstColon === -1 || firstHash > -1 && firstColon > firstHash;
      const secondSlashOnlyAfterHash = secondSlash === -1 || firstHash > -1 && secondSlash > firstHash;
      const hasSlash = firstSlash > 0;
      const doesNotEndWithSlash = firstHash > -1 ? arg[firstHash - 1] !== "/" : !arg.endsWith("/");
      const doesNotStartWithDot = !arg.startsWith(".");
      return spaceOnlyAfterHash && hasSlash && doesNotEndWithSlash && doesNotStartWithDot && atOnlyAfterHash && colonOnlyAfterHash && secondSlashOnlyAfterHash;
    };
    var correctUrl = (giturl) => {
      const firstAt = giturl.indexOf("@");
      const lastHash = giturl.lastIndexOf("#");
      let firstColon = giturl.indexOf(":");
      let lastColon = giturl.lastIndexOf(":", lastHash > -1 ? lastHash : Infinity);
      let corrected;
      if (lastColon > firstAt) {
        corrected = giturl.slice(0, lastColon) + "/" + giturl.slice(lastColon + 1);
        firstColon = corrected.indexOf(":");
        lastColon = corrected.lastIndexOf(":");
      }
      if (firstColon === -1 && giturl.indexOf("//") === -1) {
        corrected = `git+ssh://${corrected}`;
      }
      return corrected;
    };
    var parseGitUrl = (giturl) => {
      let result2;
      try {
        result2 = new url.URL(giturl);
      } catch (err) {
      }
      if (result2) {
        return result2;
      }
      const correctedUrl = correctUrl(giturl);
      try {
        result2 = new url.URL(correctedUrl);
      } catch (err) {
      }
      return result2;
    };
  }
});

// ../resolving/git-resolver/lib/parsePref.js
var require_parsePref2 = __commonJS({
  "../resolving/git-resolver/lib/parsePref.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parsePref = parsePref;
    var url_1 = __importStar3(require("url"));
    var fetch_1 = require_lib55();
    var graceful_git_1 = __importDefault2(require_graceful_git());
    var hosted_git_info_1 = __importDefault2(require_hosted_git_info2());
    var gitProtocols = /* @__PURE__ */ new Set([
      "git",
      "git+http",
      "git+https",
      "git+rsync",
      "git+ftp",
      "git+file",
      "git+ssh",
      "ssh"
    ]);
    async function parsePref(pref, opts) {
      const hosted = hosted_git_info_1.default.fromUrl(pref);
      if (hosted != null) {
        return fromHostedGit(hosted, opts);
      }
      const colonsPos = pref.indexOf(":");
      if (colonsPos === -1)
        return null;
      const protocol = pref.slice(0, colonsPos);
      if (protocol && gitProtocols.has(protocol.toLocaleLowerCase())) {
        const correctPref = correctUrl(pref);
        const url = new url_1.URL(correctPref);
        if (!url?.protocol)
          return null;
        const hash = url.hash?.length > 1 ? decodeURIComponent(url.hash.slice(1)) : null;
        return {
          fetchSpec: urlToFetchSpec(url),
          normalizedPref: pref,
          ...parseGitParams(hash)
        };
      }
      return null;
    }
    function urlToFetchSpec(url) {
      url.hash = "";
      const fetchSpec = url_1.default.format(url);
      if (fetchSpec.startsWith("git+")) {
        return fetchSpec.slice(4);
      }
      return fetchSpec;
    }
    async function fromHostedGit(hosted, agentOptions) {
      let fetchSpec = null;
      const gitHttpsUrl = hosted.https({ noCommittish: true, noGitPlus: true });
      if (gitHttpsUrl && await isRepoPublic(gitHttpsUrl, agentOptions) && await accessRepository(gitHttpsUrl)) {
        fetchSpec = gitHttpsUrl;
      } else {
        const gitSshUrl = hosted.ssh({ noCommittish: true });
        if (gitSshUrl && await accessRepository(gitSshUrl)) {
          fetchSpec = gitSshUrl;
        }
      }
      if (!fetchSpec) {
        const httpsUrl = hosted.https({ noGitPlus: true, noCommittish: true });
        if (httpsUrl) {
          if ((hosted.auth || !await isRepoPublic(httpsUrl, agentOptions)) && await accessRepository(httpsUrl)) {
            return {
              fetchSpec: httpsUrl,
              hosted: {
                ...hosted,
                _fill: hosted._fill,
                tarball: void 0
              },
              normalizedPref: `git+${httpsUrl}`,
              ...parseGitParams(hosted.committish)
            };
          } else {
            try {
              const response = await (0, fetch_1.fetchWithAgent)(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", follow: 0, retry: { retries: 0 }, agentOptions });
              if (response.ok) {
                fetchSpec = httpsUrl;
              }
            } catch {
            }
          }
        }
      }
      if (!fetchSpec) {
        fetchSpec = hosted.sshurl({ noCommittish: true });
      }
      return {
        fetchSpec,
        hosted: {
          ...hosted,
          _fill: hosted._fill,
          tarball: hosted.tarball
        },
        normalizedPref: hosted.shortcut(),
        ...parseGitParams(hosted.committish)
      };
    }
    async function isRepoPublic(httpsUrl, agentOptions) {
      try {
        const response = await (0, fetch_1.fetchWithAgent)(httpsUrl.replace(/\.git$/, ""), { method: "HEAD", follow: 0, retry: { retries: 0 }, agentOptions });
        return response.ok;
      } catch {
        return false;
      }
    }
    async function accessRepository(repository) {
      try {
        await (0, graceful_git_1.default)(["ls-remote", "--exit-code", repository, "HEAD"], { retries: 0 });
        return true;
      } catch {
        return false;
      }
    }
    function parseGitParams(committish) {
      const result2 = { gitCommittish: null };
      if (!committish) {
        return result2;
      }
      const params = committish.split("&");
      for (const param of params) {
        if (param.length >= 7 && param.slice(0, 7) === "semver:") {
          result2.gitRange = param.slice(7);
        } else if (param.slice(0, 5) === "path:") {
          result2.path = param.slice(5);
        } else {
          result2.gitCommittish = param;
        }
      }
      return result2;
    }
    function correctUrl(gitUrl) {
      const parsed = url_1.default.parse(gitUrl.replace(/^git\+/, ""));
      if (parsed.protocol === "ssh:" && parsed.hostname && parsed.pathname && parsed.pathname.startsWith("/:") && parsed.port === null) {
        parsed.pathname = parsed.pathname.replace(/^\/:/, "");
        return url_1.default.format(parsed);
      }
      return gitUrl;
    }
  }
});

// ../resolving/git-resolver/lib/createGitHostedPkgId.js
var require_createGitHostedPkgId = __commonJS({
  "../resolving/git-resolver/lib/createGitHostedPkgId.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createGitHostedPkgId = createGitHostedPkgId;
    function createGitHostedPkgId({ repo, commit, path: path2 }) {
      let id = `${repo.includes("://") ? "" : "https://"}${repo}#${commit}`;
      if (!id.startsWith("git+"))
        id = `git+${id}`;
      if (path2) {
        id += `&path:${path2}`;
      }
      return id;
    }
  }
});

// ../resolving/git-resolver/lib/index.js
var require_lib84 = __commonJS({
  "../resolving/git-resolver/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createGitHostedPkgId = void 0;
    exports2.createGitResolver = createGitResolver;
    var graceful_git_1 = __importDefault2(require_graceful_git());
    var semver_12 = __importDefault2(require_semver2());
    var parsePref_1 = require_parsePref2();
    var createGitHostedPkgId_1 = require_createGitHostedPkgId();
    Object.defineProperty(exports2, "createGitHostedPkgId", { enumerable: true, get: function() {
      return createGitHostedPkgId_1.createGitHostedPkgId;
    } });
    function createGitResolver(opts) {
      return async function resolveGit(wantedDependency) {
        const parsedSpec = await (0, parsePref_1.parsePref)(wantedDependency.pref, opts);
        if (parsedSpec == null)
          return null;
        const pref = parsedSpec.gitCommittish == null || parsedSpec.gitCommittish === "" ? "HEAD" : parsedSpec.gitCommittish;
        const commit = await resolveRef(parsedSpec.fetchSpec, pref, parsedSpec.gitRange);
        let resolution;
        if (parsedSpec.hosted != null && !isSsh(parsedSpec.fetchSpec)) {
          const hosted = parsedSpec.hosted;
          hosted.committish = commit;
          const tarball = hosted.tarball?.();
          if (tarball) {
            resolution = { tarball };
          }
        }
        if (resolution == null) {
          resolution = {
            commit,
            repo: parsedSpec.fetchSpec,
            type: "git"
          };
        }
        if (parsedSpec.path) {
          resolution.path = parsedSpec.path;
        }
        let id;
        if ("tarball" in resolution) {
          id = resolution.tarball;
          if (resolution.path) {
            id = `${id}#path:${resolution.path}`;
          }
        } else {
          id = (0, createGitHostedPkgId_1.createGitHostedPkgId)(resolution);
        }
        return {
          id,
          normalizedPref: parsedSpec.normalizedPref,
          resolution,
          resolvedVia: "git-repository"
        };
      };
    }
    function resolveVTags(vTags, range) {
      return semver_12.default.maxSatisfying(vTags, range, true);
    }
    async function getRepoRefs(repo, ref) {
      const gitArgs = [repo];
      if (ref !== "HEAD") {
        gitArgs.unshift("--refs");
      }
      if (ref) {
        gitArgs.push(ref);
      }
      const result2 = await (0, graceful_git_1.default)(["ls-remote", ...gitArgs], { retries: 1 });
      const refs = {};
      for (const line of result2.stdout.split("\n")) {
        const [commit, refName] = line.split("	");
        refs[refName] = commit;
      }
      return refs;
    }
    async function resolveRef(repo, ref, range) {
      if (ref.match(/^[0-9a-f]{7,40}$/) != null) {
        return ref;
      }
      const refs = await getRepoRefs(repo, range ? null : ref);
      return resolveRefFromRefs(refs, repo, ref, range);
    }
    function resolveRefFromRefs(refs, repo, ref, range) {
      if (!range) {
        const commitId = refs[ref] || refs[`refs/${ref}`] || refs[`refs/tags/${ref}^{}`] || // prefer annotated tags
        refs[`refs/tags/${ref}`] || refs[`refs/heads/${ref}`];
        if (!commitId) {
          throw new Error(`Could not resolve ${ref} to a commit of ${repo}.`);
        }
        return commitId;
      } else {
        const vTags = Object.keys(refs).filter((key) => /^refs\/tags\/v?\d+\.\d+\.\d+(?:[-+].+)?(?:\^\{\})?$/.test(key)).map((key) => {
          return key.replace(/^refs\/tags\//, "").replace(/\^\{\}$/, "");
        }).filter((key) => semver_12.default.valid(key, true));
        const refVTag = resolveVTags(vTags, range);
        const commitId = refVTag && (refs[`refs/tags/${refVTag}^{}`] || // prefer annotated tags
        refs[`refs/tags/${refVTag}`]);
        if (!commitId) {
          throw new Error(`Could not resolve ${range} to a commit of ${repo}. Available versions are: ${vTags.join(", ")}`);
        }
        return commitId;
      }
    }
    function isSsh(gitSpec) {
      return gitSpec.slice(0, 10) === "git+ssh://" || gitSpec.slice(0, 4) === "git@";
    }
  }
});

// ../resolving/local-resolver/lib/parsePref.js
var require_parsePref3 = __commonJS({
  "../resolving/local-resolver/lib/parsePref.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parsePref = parsePref;
    var os_1 = __importDefault2(require("os"));
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var isWindows = process.platform === "win32" || global["FAKE_WINDOWS"];
    var isFilespec = isWindows ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i;
    var isFilename = /\.(?:tgz|tar.gz|tar)$/i;
    var isAbsolutePath = /^\/|^[A-Z]:/i;
    function parsePref(wd, projectDir, lockfileDir) {
      if (wd.pref.startsWith("link:") || wd.pref.startsWith("workspace:")) {
        return fromLocal(wd, projectDir, lockfileDir, "directory");
      }
      if (wd.pref.endsWith(".tgz") || wd.pref.endsWith(".tar.gz") || wd.pref.endsWith(".tar") || wd.pref.includes(path_1.default.sep) || wd.pref.startsWith("file:") || isFilespec.test(wd.pref)) {
        const type = isFilename.test(wd.pref) ? "file" : "directory";
        return fromLocal(wd, projectDir, lockfileDir, type);
      }
      if (wd.pref.startsWith("path:")) {
        const err = new error_1.PnpmError("PATH_IS_UNSUPPORTED_PROTOCOL", "Local dependencies via `path:` protocol are not supported. Use the `link:` protocol for folder dependencies and `file:` for local tarballs");
        err["pref"] = wd.pref;
        err["protocol"] = "path:";
        throw err;
      }
      return null;
    }
    function fromLocal({ pref, injected }, projectDir, lockfileDir, type) {
      const spec = pref.replace(/\\/g, "/").replace(/^(?:file|link|workspace):\/*([A-Z]:)/i, "$1").replace(/^(?:file|link|workspace):(?:\/*([~./]))?/, "$1");
      let protocol;
      if (pref.startsWith("file:")) {
        protocol = "file:";
      } else if (pref.startsWith("link:")) {
        protocol = "link:";
      } else {
        protocol = type === "directory" && !injected ? "link:" : "file:";
      }
      let fetchSpec;
      let normalizedPref;
      if (/^~\//.test(spec)) {
        fetchSpec = resolvePath(os_1.default.homedir(), spec.slice(2));
        normalizedPref = `${protocol}${spec}`;
      } else {
        fetchSpec = resolvePath(projectDir, spec);
        if (isAbsolute(spec)) {
          normalizedPref = `${protocol}${spec}`;
        } else {
          normalizedPref = `${protocol}${path_1.default.relative(projectDir, fetchSpec)}`;
        }
      }
      injected = protocol === "file:";
      const dependencyPath = injected ? (0, normalize_path_1.default)(path_1.default.relative(lockfileDir, fetchSpec)) : (0, normalize_path_1.default)(path_1.default.resolve(fetchSpec));
      const id = !injected && (type === "directory" || projectDir === lockfileDir) ? `${protocol}${(0, normalize_path_1.default)(path_1.default.relative(projectDir, fetchSpec))}` : `${protocol}${(0, normalize_path_1.default)(path_1.default.relative(lockfileDir, fetchSpec))}`;
      return {
        dependencyPath,
        fetchSpec,
        id,
        normalizedPref,
        type
      };
    }
    function resolvePath(where, spec) {
      if (isAbsolutePath.test(spec))
        return spec;
      return path_1.default.resolve(where, spec);
    }
    function isAbsolute(dir) {
      if (dir[0] === "/")
        return true;
      if (/^[A-Z]:/i.test(dir))
        return true;
      return false;
    }
  }
});

// ../resolving/local-resolver/lib/index.js
var require_lib85 = __commonJS({
  "../resolving/local-resolver/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveFromLocal = resolveFromLocal;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var crypto_hash_1 = require_lib40();
    var error_1 = require_lib6();
    var read_project_manifest_1 = require_lib13();
    var logger_1 = require_lib();
    var parsePref_1 = require_parsePref3();
    async function resolveFromLocal(wantedDependency, opts) {
      const spec = (0, parsePref_1.parsePref)(wantedDependency, opts.projectDir, opts.lockfileDir ?? opts.projectDir);
      if (spec == null)
        return null;
      if (spec.type === "file") {
        return {
          id: spec.id,
          normalizedPref: spec.normalizedPref,
          resolution: {
            integrity: await (0, crypto_hash_1.getTarballIntegrity)(spec.fetchSpec),
            tarball: spec.id
          },
          resolvedVia: "local-filesystem"
        };
      }
      let localDependencyManifest;
      try {
        localDependencyManifest = await (0, read_project_manifest_1.readProjectManifestOnly)(spec.fetchSpec);
      } catch (internalErr) {
        if (!(0, fs_1.existsSync)(spec.fetchSpec)) {
          if (spec.id.startsWith("file:")) {
            throw new error_1.PnpmError("LINKED_PKG_DIR_NOT_FOUND", `Could not install from "${spec.fetchSpec}" as it does not exist.`);
          }
          logger_1.logger.warn({
            message: `Installing a dependency from a non-existent directory: ${spec.fetchSpec}`,
            prefix: opts.projectDir
          });
          localDependencyManifest = {
            name: path_1.default.basename(spec.fetchSpec),
            version: "0.0.0"
          };
        } else {
          switch (internalErr.code) {
            case "ENOTDIR": {
              throw new error_1.PnpmError("NOT_PACKAGE_DIRECTORY", `Could not install from "${spec.fetchSpec}" as it is not a directory.`);
            }
            case "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND":
            case "ENOENT": {
              localDependencyManifest = {
                name: path_1.default.basename(spec.fetchSpec),
                version: "0.0.0"
              };
              break;
            }
            default: {
              throw internalErr;
            }
          }
        }
      }
      return {
        id: spec.id,
        manifest: localDependencyManifest,
        normalizedPref: spec.normalizedPref,
        resolution: {
          directory: spec.dependencyPath,
          type: "directory"
        },
        resolvedVia: "local-filesystem"
      };
    }
  }
});

// ../resolving/tarball-resolver/lib/index.js
var require_lib86 = __commonJS({
  "../resolving/tarball-resolver/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveFromTarball = resolveFromTarball;
    async function resolveFromTarball(fetchFromRegistry, wantedDependency) {
      if (!wantedDependency.pref.startsWith("http:") && !wantedDependency.pref.startsWith("https:")) {
        return null;
      }
      if (isRepository(wantedDependency.pref))
        return null;
      const { url: resolvedUrl } = await fetchFromRegistry(wantedDependency.pref, { method: "HEAD" });
      return {
        id: resolvedUrl,
        normalizedPref: resolvedUrl,
        resolution: {
          tarball: resolvedUrl
        },
        resolvedVia: "url"
      };
    }
    var GIT_HOSTERS = /* @__PURE__ */ new Set([
      "github.com",
      "gitlab.com",
      "bitbucket.org"
    ]);
    function isRepository(pref) {
      const url = new URL(pref);
      if (url.hash && url.hash.includes("/")) {
        url.hash = encodeURIComponent(url.hash.substring(1));
        pref = url.href;
      }
      if (pref.endsWith("/")) {
        pref = pref.slice(0, -1);
      }
      const parts = pref.split("/");
      return parts.length === 5 && GIT_HOSTERS.has(parts[2]);
    }
  }
});

// ../resolving/default-resolver/lib/index.js
var require_lib87 = __commonJS({
  "../resolving/default-resolver/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createResolver = createResolver;
    var error_1 = require_lib6();
    var git_resolver_1 = require_lib84();
    var local_resolver_1 = require_lib85();
    var npm_resolver_1 = require_lib44();
    var tarball_resolver_1 = require_lib86();
    function createResolver(fetchFromRegistry, getAuthHeader, pnpmOpts) {
      const { resolveFromNpm, clearCache } = (0, npm_resolver_1.createNpmResolver)(fetchFromRegistry, getAuthHeader, pnpmOpts);
      const resolveFromGit = (0, git_resolver_1.createGitResolver)(pnpmOpts);
      return {
        resolve: async (wantedDependency, opts) => {
          const resolution = await resolveFromNpm(wantedDependency, opts) ?? (wantedDependency.pref && (await (0, tarball_resolver_1.resolveFromTarball)(fetchFromRegistry, wantedDependency) ?? await resolveFromGit(wantedDependency) ?? await (0, local_resolver_1.resolveFromLocal)(wantedDependency, opts)));
          if (!resolution) {
            throw new error_1.PnpmError("SPEC_NOT_SUPPORTED_BY_ANY_RESOLVER", `${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.pref ?? ""} isn't supported by any available resolver.`);
          }
          return resolution;
        },
        clearCache
      };
    }
  }
});

// ../fetching/git-fetcher/lib/index.js
var require_lib88 = __commonJS({
  "../fetching/git-fetcher/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createGitFetcher = createGitFetcher;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var fs_packlist_1 = require_lib65();
    var logger_1 = require_lib();
    var prepare_package_1 = require_lib78();
    var worker_1 = require_lib60();
    var rimraf_1 = __importDefault2(require_rimraf());
    var execa_1 = __importDefault2(require_lib14());
    var url_1 = require("url");
    function createGitFetcher(createOpts) {
      const allowedHosts = new Set(createOpts?.gitShallowHosts ?? []);
      const ignoreScripts = createOpts.ignoreScripts ?? false;
      const preparePkg = prepare_package_1.preparePackage.bind(null, {
        ignoreScripts: createOpts.ignoreScripts,
        rawConfig: createOpts.rawConfig,
        unsafePerm: createOpts.unsafePerm
      });
      const gitFetcher = async (cafs, resolution, opts) => {
        const tempLocation = await cafs.tempDir();
        if (allowedHosts.size > 0 && shouldUseShallow(resolution.repo, allowedHosts)) {
          await execGit(["init"], { cwd: tempLocation });
          await execGit(["remote", "add", "origin", resolution.repo], { cwd: tempLocation });
          await execGit(["fetch", "--depth", "1", "origin", resolution.commit], { cwd: tempLocation });
        } else {
          await execGit(["clone", resolution.repo, tempLocation]);
        }
        await execGit(["checkout", resolution.commit], { cwd: tempLocation });
        let pkgDir;
        try {
          const prepareResult = await preparePkg(tempLocation, resolution.path ?? "");
          pkgDir = prepareResult.pkgDir;
          if (ignoreScripts && prepareResult.shouldBeBuilt) {
            (0, logger_1.globalWarn)(`The git-hosted package fetched from "${resolution.repo}" has to be built but the build scripts were ignored.`);
          }
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          err.message = `Failed to prepare git-hosted package fetched from "${resolution.repo}": ${err.message}`;
          throw err;
        }
        await (0, rimraf_1.default)(path_1.default.join(tempLocation, ".git"));
        const files = await (0, fs_packlist_1.packlist)(pkgDir);
        return (0, worker_1.addFilesFromDir)({
          storeDir: cafs.storeDir,
          dir: pkgDir,
          files,
          filesIndexFile: opts.filesIndexFile,
          readManifest: opts.readManifest,
          pkg: opts.pkg
        });
      };
      return {
        git: gitFetcher
      };
    }
    function shouldUseShallow(repoUrl, allowedHosts) {
      try {
        const { host } = new url_1.URL(repoUrl);
        if (allowedHosts.has(host)) {
          return true;
        }
      } catch {
      }
      return false;
    }
    function prefixGitArgs() {
      return process.platform === "win32" ? ["-c", "core.longpaths=true"] : [];
    }
    async function execGit(args, opts) {
      const fullArgs = prefixGitArgs().concat(args || []);
      await (0, execa_1.default)("git", fullArgs, opts);
    }
  }
});

// ../network/auth-header/lib/getAuthHeadersFromConfig.js
var require_getAuthHeadersFromConfig = __commonJS({
  "../network/auth-header/lib/getAuthHeadersFromConfig.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAuthHeadersFromConfig = getAuthHeadersFromConfig;
    exports2.loadToken = loadToken;
    var error_1 = require_lib6();
    var child_process_1 = require("child_process");
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var nerf_dart_1 = __importDefault2(require_nerf_dart());
    function getAuthHeadersFromConfig({ allSettings, userSettings }) {
      const authHeaderValueByURI = {};
      for (const [key, value] of Object.entries(allSettings)) {
        const [uri, authType] = splitKey(key);
        switch (authType) {
          case "_authToken": {
            authHeaderValueByURI[uri] = `Bearer ${value}`;
            continue;
          }
          case "_auth": {
            authHeaderValueByURI[uri] = `Basic ${value}`;
            continue;
          }
          case "username": {
            if (`${uri}:_password` in allSettings) {
              const password = Buffer.from(allSettings[`${uri}:_password`], "base64").toString("utf8");
              authHeaderValueByURI[uri] = `Basic ${Buffer.from(`${value}:${password}`).toString("base64")}`;
            }
          }
        }
      }
      for (const [key, value] of Object.entries(userSettings)) {
        const [uri, authType] = splitKey(key);
        if (authType === "tokenHelper") {
          authHeaderValueByURI[uri] = loadToken(value, key);
        }
      }
      const registry = allSettings["registry"] ? (0, nerf_dart_1.default)(allSettings["registry"]) : "//registry.npmjs.org/";
      if (userSettings["tokenHelper"]) {
        authHeaderValueByURI[registry] = loadToken(userSettings["tokenHelper"], "tokenHelper");
      } else if (allSettings["_authToken"]) {
        authHeaderValueByURI[registry] = `Bearer ${allSettings["_authToken"]}`;
      } else if (allSettings["_auth"]) {
        authHeaderValueByURI[registry] = `Basic ${allSettings["_auth"]}`;
      } else if (allSettings["_password"] && allSettings["username"]) {
        authHeaderValueByURI[registry] = `Basic ${Buffer.from(`${allSettings["username"]}:${allSettings["_password"]}`).toString("base64")}`;
      }
      return authHeaderValueByURI;
    }
    function splitKey(key) {
      const index = key.lastIndexOf(":");
      if (index === -1) {
        return [key, ""];
      }
      return [key.slice(0, index), key.slice(index + 1)];
    }
    function loadToken(helperPath, settingName) {
      if (!path_1.default.isAbsolute(helperPath) || !fs_1.default.existsSync(helperPath)) {
        throw new error_1.PnpmError("BAD_TOKEN_HELPER_PATH", `${settingName} must be an absolute path, without arguments`);
      }
      const spawnResult = (0, child_process_1.spawnSync)(helperPath, { shell: true });
      if (spawnResult.status !== 0) {
        throw new error_1.PnpmError("TOKEN_HELPER_ERROR_STATUS", `Error running "${helperPath}" as a token helper, configured as ${settingName}. Exit code ${spawnResult.status?.toString() ?? ""}`);
      }
      return spawnResult.stdout.toString("utf8").trimEnd();
    }
  }
});

// ../network/auth-header/lib/helpers/removePort.js
var require_removePort = __commonJS({
  "../network/auth-header/lib/helpers/removePort.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removePort = removePort;
    function removePort(urlObj) {
      if (urlObj.port === "")
        return urlObj.href;
      urlObj.port = "";
      return urlObj.toString();
    }
  }
});

// ../network/auth-header/lib/index.js
var require_lib89 = __commonJS({
  "../network/auth-header/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.loadToken = void 0;
    exports2.createGetAuthHeaderByURI = createGetAuthHeaderByURI;
    var nerf_dart_1 = __importDefault2(require_nerf_dart());
    var getAuthHeadersFromConfig_1 = require_getAuthHeadersFromConfig();
    Object.defineProperty(exports2, "loadToken", { enumerable: true, get: function() {
      return getAuthHeadersFromConfig_1.loadToken;
    } });
    var removePort_1 = require_removePort();
    function createGetAuthHeaderByURI(opts) {
      const authHeaders = (0, getAuthHeadersFromConfig_1.getAuthHeadersFromConfig)({
        allSettings: opts.allSettings,
        userSettings: opts.userSettings ?? {}
      });
      if (Object.keys(authHeaders).length === 0)
        return (uri) => basicAuth(new URL(uri));
      return getAuthHeaderByURI.bind(null, authHeaders, getMaxParts(Object.keys(authHeaders)));
    }
    function getMaxParts(uris) {
      return uris.reduce((max, uri) => {
        const parts = uri.split("/").length;
        return parts > max ? parts : max;
      }, 0);
    }
    function getAuthHeaderByURI(authHeaders, maxParts, uri) {
      if (!uri.endsWith("/")) {
        uri += "/";
      }
      const parsedUri = new URL(uri);
      const basic = basicAuth(parsedUri);
      if (basic)
        return basic;
      const nerfed = (0, nerf_dart_1.default)(uri);
      const parts = nerfed.split("/");
      for (let i = Math.min(parts.length, maxParts) - 1; i >= 3; i--) {
        const key = `${parts.slice(0, i).join("/")}/`;
        if (authHeaders[key])
          return authHeaders[key];
      }
      const urlWithoutPort = (0, removePort_1.removePort)(parsedUri);
      if (urlWithoutPort !== uri) {
        return getAuthHeaderByURI(authHeaders, maxParts, urlWithoutPort);
      }
      return void 0;
    }
    function basicAuth(uri) {
      if (!uri.username && !uri.password)
        return void 0;
      const auth64 = btoa(`${uri.username}:${uri.password}`);
      return `Basic ${auth64}`;
    }
  }
});

// ../pkg-manager/client/lib/index.js
var require_lib90 = __commonJS({
  "../pkg-manager/client/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createClient = createClient;
    exports2.createResolver = createResolver;
    var default_resolver_1 = require_lib87();
    var fetch_1 = require_lib55();
    var directory_fetcher_1 = require_lib75();
    var git_fetcher_1 = require_lib88();
    var tarball_fetcher_1 = require_lib79();
    var network_auth_header_1 = require_lib89();
    var map_1 = __importDefault2(require_map3());
    function createClient(opts) {
      const fetchFromRegistry = (0, fetch_1.createFetchFromRegistry)(opts);
      const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.authConfig, userSettings: opts.userConfig });
      const { resolve, clearCache: clearResolutionCache } = (0, default_resolver_1.createResolver)(fetchFromRegistry, getAuthHeader, opts);
      return {
        fetchers: createFetchers(fetchFromRegistry, getAuthHeader, opts, opts.customFetchers),
        resolve,
        clearResolutionCache
      };
    }
    function createResolver(opts) {
      const fetchFromRegistry = (0, fetch_1.createFetchFromRegistry)(opts);
      const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.authConfig, userSettings: opts.userConfig });
      return (0, default_resolver_1.createResolver)(fetchFromRegistry, getAuthHeader, opts);
    }
    function createFetchers(fetchFromRegistry, getAuthHeader, opts, customFetchers) {
      const defaultFetchers = {
        ...(0, tarball_fetcher_1.createTarballFetcher)(fetchFromRegistry, getAuthHeader, opts),
        ...(0, git_fetcher_1.createGitFetcher)(opts),
        ...(0, directory_fetcher_1.createDirectoryFetcher)({ resolveSymlinks: opts.resolveSymlinksInInjectedDirs, includeOnlyPackageFiles: opts.includeOnlyPackageFiles })
      };
      const overwrites = (0, map_1.default)(
        (factory) => factory({ defaultFetchers }),
        // eslint-disable-line @typescript-eslint/no-explicit-any
        customFetchers ?? {}
        // eslint-disable-line @typescript-eslint/no-explicit-any
      );
      return {
        ...defaultFetchers,
        ...overwrites
      };
    }
  }
});

// ../config/pick-registry-for-package/lib/index.js
var require_lib91 = __commonJS({
  "../config/pick-registry-for-package/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pickRegistryForPackage = pickRegistryForPackage;
    function pickRegistryForPackage(registries, packageName, pref) {
      const scope = getScope(packageName, pref);
      return (scope && registries[scope]) ?? registries.default;
    }
    function getScope(pkgName, pref) {
      if (pref?.startsWith("npm:")) {
        pref = pref.slice(4);
        if (pref[0] === "@") {
          return pref.substring(0, pref.indexOf("/"));
        }
      }
      if (pkgName[0] === "@") {
        return pkgName.substring(0, pkgName.indexOf("/"));
      }
      return null;
    }
  }
});

// lib/checkForUpdates.js
var require_checkForUpdates = __commonJS({
  "lib/checkForUpdates.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkForUpdates = checkForUpdates;
    var path_1 = __importDefault2(require("path"));
    var cli_meta_1 = require_lib4();
    var client_1 = require_lib90();
    var pick_registry_for_package_1 = require_lib91();
    var core_loggers_1 = require_lib28();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var write_json_file_1 = __importDefault2(require_write_json_file());
    var UPDATE_CHECK_FREQUENCY = 24 * 60 * 60 * 1e3;
    async function checkForUpdates(config) {
      const stateFile = path_1.default.join(config.stateDir, "pnpm-state.json");
      let state;
      try {
        state = await (0, load_json_file_1.default)(stateFile);
      } catch {
      }
      if (state?.lastUpdateCheck && Date.now() - new Date(state.lastUpdateCheck).valueOf() < UPDATE_CHECK_FREQUENCY)
        return;
      const { resolve } = (0, client_1.createResolver)({
        ...config,
        authConfig: config.rawConfig,
        retry: {
          retries: 0
        }
      });
      const resolution = await resolve({ alias: cli_meta_1.packageManager.name, pref: "latest" }, {
        lockfileDir: config.lockfileDir ?? config.dir,
        preferredVersions: {},
        projectDir: config.dir,
        registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(config.registries, cli_meta_1.packageManager.name, "latest")
      });
      if (resolution?.manifest?.version) {
        core_loggers_1.updateCheckLogger.debug({
          currentVersion: cli_meta_1.packageManager.version,
          latestVersion: resolution?.manifest.version
        });
      }
      await (0, write_json_file_1.default)(stateFile, {
        ...state,
        lastUpdateCheck: (/* @__PURE__ */ new Date()).toUTCString()
      });
    }
  }
});

// ../cache/api/lib/cacheList.js
var require_cacheList = __commonJS({
  "../cache/api/lib/cacheList.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cacheListRegistries = cacheListRegistries;
    exports2.cacheList = cacheList;
    exports2.findMetadataFiles = findMetadataFiles;
    var fs_1 = __importDefault2(require("fs"));
    var encode_registry_1 = __importDefault2(require_encode_registry());
    var tinyglobby_1 = require_dist8();
    async function cacheListRegistries(opts) {
      return fs_1.default.readdirSync(opts.cacheDir).sort().join("\n");
    }
    async function cacheList(opts, filter) {
      const metaFiles = await findMetadataFiles(opts, filter);
      return metaFiles.sort().join("\n");
    }
    async function findMetadataFiles(opts, filter) {
      const prefix = opts.registry ? `${(0, encode_registry_1.default)(opts.registry)}` : "*";
      const patterns = filter.length ? filter.map((filter2) => `${prefix}/${filter2}.json`) : [`${prefix}/**`];
      const metaFiles = await (0, tinyglobby_1.glob)(patterns, {
        cwd: opts.cacheDir,
        expandDirectories: false
      });
      return metaFiles;
    }
  }
});

// ../cache/api/lib/cacheDelete.js
var require_cacheDelete = __commonJS({
  "../cache/api/lib/cacheDelete.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cacheDelete = cacheDelete;
    var path_1 = __importDefault2(require("path"));
    var fs_1 = __importDefault2(require("fs"));
    var cacheList_1 = require_cacheList();
    async function cacheDelete(opts, filter) {
      const metaFiles = await (0, cacheList_1.findMetadataFiles)(opts, filter);
      for (const metaFile of metaFiles) {
        fs_1.default.unlinkSync(path_1.default.join(opts.cacheDir, metaFile));
      }
      return metaFiles.sort().join("\n");
    }
  }
});

// ../cache/api/lib/cacheView.js
var require_cacheView = __commonJS({
  "../cache/api/lib/cacheView.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cacheView = cacheView;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var tinyglobby_1 = require_dist8();
    var store_cafs_1 = require_lib57();
    var encode_registry_1 = __importDefault2(require_encode_registry());
    async function cacheView(opts, packageName) {
      const prefix = opts.registry ? `${(0, encode_registry_1.default)(opts.registry)}` : "*";
      const metaFilePaths = (await (0, tinyglobby_1.glob)(`${prefix}/${packageName}.json`, {
        cwd: opts.cacheDir,
        expandDirectories: false
      })).sort();
      const metaFilesByPath = {};
      for (const filePath of metaFilePaths) {
        const metaObject = JSON.parse(fs_1.default.readFileSync(path_1.default.join(opts.cacheDir, filePath), "utf8"));
        const cachedVersions = [];
        const nonCachedVersions = [];
        for (const [version2, manifest] of Object.entries(metaObject.versions)) {
          if (!manifest.dist.integrity)
            continue;
          const indexFilePath = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, manifest.dist.integrity, `${manifest.name}@${manifest.version}`);
          if (fs_1.default.existsSync(indexFilePath)) {
            cachedVersions.push(version2);
          } else {
            nonCachedVersions.push(version2);
          }
        }
        let registryName = filePath;
        while (path_1.default.dirname(registryName) !== ".") {
          registryName = path_1.default.dirname(registryName);
        }
        metaFilesByPath[registryName.replaceAll("+", ":")] = {
          cachedVersions,
          nonCachedVersions,
          cachedAt: metaObject.cachedAt ? new Date(metaObject.cachedAt).toString() : void 0,
          distTags: metaObject["dist-tags"]
        };
      }
      return JSON.stringify(metaFilesByPath, null, 2);
    }
  }
});

// ../cache/api/lib/index.js
var require_lib92 = __commonJS({
  "../cache/api/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_cacheList(), exports2);
    __exportStar2(require_cacheDelete(), exports2);
    __exportStar2(require_cacheView(), exports2);
  }
});

// ../cache/commands/lib/cache.cmd.js
var require_cache_cmd = __commonJS({
  "../cache/commands/lib/cache.cmd.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var constants_1 = require_lib5();
    var store_path_1 = require_lib81();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var cache_api_1 = require_lib92();
    var error_1 = require_lib6();
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "registry",
          "store-dir"
        ], config_1.types)
      };
    }
    exports2.commandNames = ["cache"];
    function help() {
      return (0, render_help_1.default)({
        description: "Inspect and manage the metadata cache",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                description: "Lists the available packages metadata cache. Supports filtering by glob",
                name: "list"
              },
              {
                description: "Lists all registries that have their metadata cache locally",
                name: "list-registries"
              },
              {
                description: "Views information from the specified package's cache",
                name: "view"
              },
              {
                description: "Deletes metadata cache for the specified package(s). Supports patterns",
                name: "delete"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("cache"),
        usages: ["pnpm cache <command>"]
      });
    }
    async function handler(opts, params) {
      const cacheType = opts.resolutionMode === "time-based" && !opts.registrySupportsTimeField ? constants_1.FULL_FILTERED_META_DIR : constants_1.ABBREVIATED_META_DIR;
      const cacheDir = path_1.default.join(opts.cacheDir, cacheType);
      switch (params[0]) {
        case "list-registries":
          return (0, cache_api_1.cacheListRegistries)({
            ...opts,
            cacheDir
          });
        case "list":
          return (0, cache_api_1.cacheList)({
            ...opts,
            cacheDir,
            registry: opts.cliOptions["registry"]
          }, params.slice(1));
        case "delete":
          return (0, cache_api_1.cacheDelete)({
            ...opts,
            cacheDir,
            registry: opts.cliOptions["registry"]
          }, params.slice(1));
        case "view": {
          if (!params[1]) {
            throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm cache view` requires the package name");
          }
          if (params.length > 2) {
            throw new error_1.PnpmError("TOO_MANY_PARAMS", "`pnpm cache view` only accepts one package name");
          }
          const storeDir = await (0, store_path_1.getStorePath)({
            pkgRoot: process.cwd(),
            storePath: opts.storeDir,
            pnpmHomeDir: opts.pnpmHomeDir
          });
          return (0, cache_api_1.cacheView)({
            ...opts,
            cacheDir,
            storeDir,
            registry: opts.cliOptions["registry"]
          }, params[1]);
        }
        default:
          return help();
      }
    }
  }
});

// ../cache/commands/lib/index.js
var require_lib93 = __commonJS({
  "../cache/commands/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cache = void 0;
    var cache = __importStar3(require_cache_cmd());
    exports2.cache = cache;
  }
});

// ../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/logger.js
var require_logger2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/logger.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.logger = void 0;
    exports2.globalWarn = globalWarn;
    exports2.globalInfo = globalInfo;
    var bole_1 = __importDefault2(require_bole());
    bole_1.default.setFastTime();
    exports2.logger = (0, bole_1.default)("pnpm");
    var globalLogger = (0, bole_1.default)("pnpm:global");
    function globalWarn(message) {
      globalLogger.warn(message);
    }
    function globalInfo(message) {
      globalLogger.info(message);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/streamParser.js
var require_streamParser2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/streamParser.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.streamParser = void 0;
    exports2.createStreamParser = createStreamParser;
    var bole_1 = __importDefault2(require_bole());
    var ndjson_1 = __importDefault2(require_ndjson());
    exports2.streamParser = createStreamParser();
    function createStreamParser() {
      const sp = ndjson_1.default.parse();
      bole_1.default.output([
        {
          level: "debug",
          stream: sp
        }
      ]);
      return sp;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/writeToConsole.js
var require_writeToConsole2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/writeToConsole.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeToConsole = writeToConsole;
    var bole_1 = __importDefault2(require_bole());
    function writeToConsole() {
      bole_1.default.output([
        {
          level: "debug",
          stream: process.stdout
        }
      ]);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/index.js
var require_lib94 = __commonJS({
  "../node_modules/.pnpm/@pnpm+logger@1000.0.0/node_modules/@pnpm/logger/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeToConsole = exports2.streamParser = exports2.createStreamParser = exports2.globalWarn = exports2.globalInfo = exports2.logger = void 0;
    var logger_1 = require_logger2();
    Object.defineProperty(exports2, "logger", { enumerable: true, get: function() {
      return logger_1.logger;
    } });
    Object.defineProperty(exports2, "globalInfo", { enumerable: true, get: function() {
      return logger_1.globalInfo;
    } });
    Object.defineProperty(exports2, "globalWarn", { enumerable: true, get: function() {
      return logger_1.globalWarn;
    } });
    var streamParser_1 = require_streamParser2();
    Object.defineProperty(exports2, "createStreamParser", { enumerable: true, get: function() {
      return streamParser_1.createStreamParser;
    } });
    Object.defineProperty(exports2, "streamParser", { enumerable: true, get: function() {
      return streamParser_1.streamParser;
    } });
    var writeToConsole_1 = require_writeToConsole2();
    Object.defineProperty(exports2, "writeToConsole", { enumerable: true, get: function() {
      return writeToConsole_1.writeToConsole;
    } });
  }
});

// ../pkg-manager/modules-yaml/lib/index.js
var require_lib95 = __commonJS({
  "../pkg-manager/modules-yaml/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readModulesManifest = readModulesManifest;
    exports2.writeModulesManifest = writeModulesManifest;
    var path_1 = __importDefault2(require("path"));
    var read_yaml_file_1 = __importDefault2(require_read_yaml_file());
    var map_1 = __importDefault2(require_map3());
    var is_windows_1 = __importDefault2(require_is_windows());
    var write_yaml_file_1 = __importDefault2(require_write_yaml_file());
    var MODULES_FILENAME = ".modules.yaml";
    async function readModulesManifest(modulesDir) {
      const modulesYamlPath = path_1.default.join(modulesDir, MODULES_FILENAME);
      let modules;
      try {
        modules = await (0, read_yaml_file_1.default)(modulesYamlPath);
        if (!modules)
          return modules;
      } catch (err) {
        if (err.code !== "ENOENT") {
          throw err;
        }
        return null;
      }
      if (!modules.virtualStoreDir) {
        modules.virtualStoreDir = path_1.default.join(modulesDir, ".pnpm");
      } else if (!path_1.default.isAbsolute(modules.virtualStoreDir)) {
        modules.virtualStoreDir = path_1.default.join(modulesDir, modules.virtualStoreDir);
      }
      switch (modules.shamefullyHoist) {
        case true:
          if (modules.publicHoistPattern == null) {
            modules.publicHoistPattern = ["*"];
          }
          if (modules.hoistedAliases != null && !modules.hoistedDependencies) {
            modules.hoistedDependencies = (0, map_1.default)((aliases) => Object.fromEntries(aliases.map((alias) => [alias, "public"])), modules.hoistedAliases);
          }
          break;
        case false:
          if (modules.publicHoistPattern == null) {
            modules.publicHoistPattern = [];
          }
          if (modules.hoistedAliases != null && !modules.hoistedDependencies) {
            modules.hoistedDependencies = {};
            for (const depPath of Object.keys(modules.hoistedAliases)) {
              modules.hoistedDependencies[depPath] = {};
              for (const alias of modules.hoistedAliases[depPath]) {
                modules.hoistedDependencies[depPath][alias] = "private";
              }
            }
          }
          break;
      }
      if (!modules.prunedAt) {
        modules.prunedAt = (/* @__PURE__ */ new Date()).toUTCString();
      }
      if (!modules.virtualStoreDirMaxLength) {
        modules.virtualStoreDirMaxLength = 120;
      }
      return modules;
    }
    var YAML_OPTS = {
      lineWidth: 1e3,
      noCompatMode: true,
      noRefs: true,
      sortKeys: true
    };
    async function writeModulesManifest(modulesDir, modules, opts) {
      const modulesYamlPath = path_1.default.join(modulesDir, MODULES_FILENAME);
      const saveModules = { ...modules };
      if (saveModules.skipped)
        saveModules.skipped.sort();
      if (saveModules.hoistPattern == null || saveModules.hoistPattern === "") {
        delete saveModules.hoistPattern;
      }
      if (saveModules.publicHoistPattern == null) {
        delete saveModules.publicHoistPattern;
      }
      if (saveModules.hoistedAliases == null || saveModules.hoistPattern == null && saveModules.publicHoistPattern == null) {
        delete saveModules.hoistedAliases;
      }
      if (!(0, is_windows_1.default)()) {
        saveModules.virtualStoreDir = path_1.default.relative(modulesDir, saveModules.virtualStoreDir);
      }
      try {
        await (0, write_yaml_file_1.default)(modulesYamlPath, saveModules, {
          ...YAML_OPTS,
          makeDir: opts?.makeModulesDir ?? false
        });
      } catch (err) {
        if (err.code !== "ENOENT")
          throw err;
      }
    }
  }
});

// ../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/symbols.js
var require_symbols = __commonJS({
  "../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/symbols.js"(exports2, module2) {
    "use strict";
    var isHyper = typeof process !== "undefined" && process.env.TERM_PROGRAM === "Hyper";
    var isWindows = typeof process !== "undefined" && process.platform === "win32";
    var isLinux = typeof process !== "undefined" && process.platform === "linux";
    var common = {
      ballotDisabled: "\u2612",
      ballotOff: "\u2610",
      ballotOn: "\u2611",
      bullet: "\u2022",
      bulletWhite: "\u25E6",
      fullBlock: "\u2588",
      heart: "\u2764",
      identicalTo: "\u2261",
      line: "\u2500",
      mark: "\u203B",
      middot: "\xB7",
      minus: "\uFF0D",
      multiplication: "\xD7",
      obelus: "\xF7",
      pencilDownRight: "\u270E",
      pencilRight: "\u270F",
      pencilUpRight: "\u2710",
      percent: "%",
      pilcrow2: "\u2761",
      pilcrow: "\xB6",
      plusMinus: "\xB1",
      question: "?",
      section: "\xA7",
      starsOff: "\u2606",
      starsOn: "\u2605",
      upDownArrow: "\u2195"
    };
    var windows = Object.assign({}, common, {
      check: "\u221A",
      cross: "\xD7",
      ellipsisLarge: "...",
      ellipsis: "...",
      info: "i",
      questionSmall: "?",
      pointer: ">",
      pointerSmall: "\xBB",
      radioOff: "( )",
      radioOn: "(*)",
      warning: "\u203C"
    });
    var other = Object.assign({}, common, {
      ballotCross: "\u2718",
      check: "\u2714",
      cross: "\u2716",
      ellipsisLarge: "\u22EF",
      ellipsis: "\u2026",
      info: "\u2139",
      questionFull: "\uFF1F",
      questionSmall: "\uFE56",
      pointer: isLinux ? "\u25B8" : "\u276F",
      pointerSmall: isLinux ? "\u2023" : "\u203A",
      radioOff: "\u25EF",
      radioOn: "\u25C9",
      warning: "\u26A0"
    });
    module2.exports = isWindows && !isHyper ? windows : other;
    Reflect.defineProperty(module2.exports, "common", { enumerable: false, value: common });
    Reflect.defineProperty(module2.exports, "windows", { enumerable: false, value: windows });
    Reflect.defineProperty(module2.exports, "other", { enumerable: false, value: other });
  }
});

// ../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/index.js
var require_ansi_colors = __commonJS({
  "../node_modules/.pnpm/ansi-colors@4.1.3/node_modules/ansi-colors/index.js"(exports2, module2) {
    "use strict";
    var isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
    var ANSI_REGEX = /[\u001b\u009b][[\]#;?()]*(?:(?:(?:[^\W_]*;?[^\W_]*)\u0007)|(?:(?:[0-9]{1,4}(;[0-9]{0,4})*)?[~0-9=<>cf-nqrtyA-PRZ]))/g;
    var hasColor = () => {
      if (typeof process !== "undefined") {
        return process.env.FORCE_COLOR !== "0";
      }
      return false;
    };
    var create = () => {
      const colors = {
        enabled: hasColor(),
        visible: true,
        styles: {},
        keys: {}
      };
      const ansi = (style2) => {
        let open = style2.open = `\x1B[${style2.codes[0]}m`;
        let close = style2.close = `\x1B[${style2.codes[1]}m`;
        let regex = style2.regex = new RegExp(`\\u001b\\[${style2.codes[1]}m`, "g");
        style2.wrap = (input, newline) => {
          if (input.includes(close)) input = input.replace(regex, close + open);
          let output = open + input + close;
          return newline ? output.replace(/\r*\n/g, `${close}$&${open}`) : output;
        };
        return style2;
      };
      const wrap = (style2, input, newline) => {
        return typeof style2 === "function" ? style2(input) : style2.wrap(input, newline);
      };
      const style = (input, stack) => {
        if (input === "" || input == null) return "";
        if (colors.enabled === false) return input;
        if (colors.visible === false) return "";
        let str = "" + input;
        let nl = str.includes("\n");
        let n = stack.length;
        if (n > 0 && stack.includes("unstyle")) {
          stack = [.../* @__PURE__ */ new Set(["unstyle", ...stack])].reverse();
        }
        while (n-- > 0) str = wrap(colors.styles[stack[n]], str, nl);
        return str;
      };
      const define2 = (name, codes, type) => {
        colors.styles[name] = ansi({ name, codes });
        let keys = colors.keys[type] || (colors.keys[type] = []);
        keys.push(name);
        Reflect.defineProperty(colors, name, {
          configurable: true,
          enumerable: true,
          set(value) {
            colors.alias(name, value);
          },
          get() {
            let color = (input) => style(input, color.stack);
            Reflect.setPrototypeOf(color, colors);
            color.stack = this.stack ? this.stack.concat(name) : [name];
            return color;
          }
        });
      };
      define2("reset", [0, 0], "modifier");
      define2("bold", [1, 22], "modifier");
      define2("dim", [2, 22], "modifier");
      define2("italic", [3, 23], "modifier");
      define2("underline", [4, 24], "modifier");
      define2("inverse", [7, 27], "modifier");
      define2("hidden", [8, 28], "modifier");
      define2("strikethrough", [9, 29], "modifier");
      define2("black", [30, 39], "color");
      define2("red", [31, 39], "color");
      define2("green", [32, 39], "color");
      define2("yellow", [33, 39], "color");
      define2("blue", [34, 39], "color");
      define2("magenta", [35, 39], "color");
      define2("cyan", [36, 39], "color");
      define2("white", [37, 39], "color");
      define2("gray", [90, 39], "color");
      define2("grey", [90, 39], "color");
      define2("bgBlack", [40, 49], "bg");
      define2("bgRed", [41, 49], "bg");
      define2("bgGreen", [42, 49], "bg");
      define2("bgYellow", [43, 49], "bg");
      define2("bgBlue", [44, 49], "bg");
      define2("bgMagenta", [45, 49], "bg");
      define2("bgCyan", [46, 49], "bg");
      define2("bgWhite", [47, 49], "bg");
      define2("blackBright", [90, 39], "bright");
      define2("redBright", [91, 39], "bright");
      define2("greenBright", [92, 39], "bright");
      define2("yellowBright", [93, 39], "bright");
      define2("blueBright", [94, 39], "bright");
      define2("magentaBright", [95, 39], "bright");
      define2("cyanBright", [96, 39], "bright");
      define2("whiteBright", [97, 39], "bright");
      define2("bgBlackBright", [100, 49], "bgBright");
      define2("bgRedBright", [101, 49], "bgBright");
      define2("bgGreenBright", [102, 49], "bgBright");
      define2("bgYellowBright", [103, 49], "bgBright");
      define2("bgBlueBright", [104, 49], "bgBright");
      define2("bgMagentaBright", [105, 49], "bgBright");
      define2("bgCyanBright", [106, 49], "bgBright");
      define2("bgWhiteBright", [107, 49], "bgBright");
      colors.ansiRegex = ANSI_REGEX;
      colors.hasColor = colors.hasAnsi = (str) => {
        colors.ansiRegex.lastIndex = 0;
        return typeof str === "string" && str !== "" && colors.ansiRegex.test(str);
      };
      colors.alias = (name, color) => {
        let fn = typeof color === "string" ? colors[color] : color;
        if (typeof fn !== "function") {
          throw new TypeError("Expected alias to be the name of an existing color (string) or a function");
        }
        if (!fn.stack) {
          Reflect.defineProperty(fn, "name", { value: name });
          colors.styles[name] = fn;
          fn.stack = [name];
        }
        Reflect.defineProperty(colors, name, {
          configurable: true,
          enumerable: true,
          set(value) {
            colors.alias(name, value);
          },
          get() {
            let color2 = (input) => style(input, color2.stack);
            Reflect.setPrototypeOf(color2, colors);
            color2.stack = this.stack ? this.stack.concat(fn.stack) : fn.stack;
            return color2;
          }
        });
      };
      colors.theme = (custom) => {
        if (!isObject(custom)) throw new TypeError("Expected theme to be an object");
        for (let name of Object.keys(custom)) {
          colors.alias(name, custom[name]);
        }
        return colors;
      };
      colors.alias("unstyle", (str) => {
        if (typeof str === "string" && str !== "") {
          colors.ansiRegex.lastIndex = 0;
          return str.replace(colors.ansiRegex, "");
        }
        return "";
      });
      colors.alias("noop", (str) => str);
      colors.none = colors.clear = colors.noop;
      colors.stripColor = colors.unstyle;
      colors.symbols = require_symbols();
      colors.define = define2;
      return colors;
    };
    module2.exports = create();
    module2.exports.create = create;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/utils.js
var require_utils14 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/utils.js"(exports2) {
    "use strict";
    var toString = Object.prototype.toString;
    var colors = require_ansi_colors();
    var onExitCalled = false;
    var onExitCallbacks = /* @__PURE__ */ new Set();
    var complements = {
      "yellow": "blue",
      "cyan": "red",
      "green": "magenta",
      "black": "white",
      "blue": "yellow",
      "red": "cyan",
      "magenta": "green",
      "white": "black"
    };
    exports2.longest = (arr, prop) => {
      return arr.reduce((a, v) => Math.max(a, prop ? v[prop].length : v.length), 0);
    };
    exports2.hasColor = (str) => !!str && colors.hasColor(str);
    var isObject = exports2.isObject = (val) => {
      return val !== null && typeof val === "object" && !Array.isArray(val);
    };
    exports2.nativeType = (val) => {
      return toString.call(val).slice(8, -1).toLowerCase().replace(/\s/g, "");
    };
    exports2.isAsyncFn = (val) => {
      return exports2.nativeType(val) === "asyncfunction";
    };
    exports2.isPrimitive = (val) => {
      return val != null && typeof val !== "object" && typeof val !== "function";
    };
    exports2.resolve = (context, value, ...rest) => {
      if (typeof value === "function") {
        return value.call(context, ...rest);
      }
      return value;
    };
    exports2.scrollDown = (choices = []) => [...choices.slice(1), choices[0]];
    exports2.scrollUp = (choices = []) => [choices.pop(), ...choices];
    exports2.reorder = (arr = []) => {
      let res = arr.slice();
      res.sort((a, b) => {
        if (a.index > b.index) return 1;
        if (a.index < b.index) return -1;
        return 0;
      });
      return res;
    };
    exports2.swap = (arr, index, pos) => {
      let len = arr.length;
      let idx = pos === len ? 0 : pos < 0 ? len - 1 : pos;
      let choice = arr[index];
      arr[index] = arr[idx];
      arr[idx] = choice;
    };
    exports2.width = (stream, fallback = 80) => {
      let columns = stream && stream.columns ? stream.columns : fallback;
      if (stream && typeof stream.getWindowSize === "function") {
        columns = stream.getWindowSize()[0];
      }
      if (process.platform === "win32") {
        return columns - 1;
      }
      return columns;
    };
    exports2.height = (stream, fallback = 20) => {
      let rows = stream && stream.rows ? stream.rows : fallback;
      if (stream && typeof stream.getWindowSize === "function") {
        rows = stream.getWindowSize()[1];
      }
      return rows;
    };
    exports2.wordWrap = (str, options = {}) => {
      if (!str) return str;
      if (typeof options === "number") {
        options = { width: options };
      }
      let { indent = "", newline = "\n" + indent, width = 80 } = options;
      let spaces = (newline + indent).match(/[^\S\n]/g) || [];
      width -= spaces.length;
      let source = `.{1,${width}}([\\s\\u200B]+|$)|[^\\s\\u200B]+?([\\s\\u200B]+|$)`;
      let output = str.trim();
      let regex = new RegExp(source, "g");
      let lines = output.match(regex) || [];
      lines = lines.map((line) => line.replace(/\n$/, ""));
      if (options.padEnd) lines = lines.map((line) => line.padEnd(width, " "));
      if (options.padStart) lines = lines.map((line) => line.padStart(width, " "));
      return indent + lines.join(newline);
    };
    exports2.unmute = (color) => {
      let name = color.stack.find((n) => colors.keys.color.includes(n));
      if (name) {
        return colors[name];
      }
      let bg = color.stack.find((n) => n.slice(2) === "bg");
      if (bg) {
        return colors[name.slice(2)];
      }
      return (str) => str;
    };
    exports2.pascal = (str) => str ? str[0].toUpperCase() + str.slice(1) : "";
    exports2.inverse = (color) => {
      if (!color || !color.stack) return color;
      let name = color.stack.find((n) => colors.keys.color.includes(n));
      if (name) {
        let col = colors["bg" + exports2.pascal(name)];
        return col ? col.black : color;
      }
      let bg = color.stack.find((n) => n.slice(0, 2) === "bg");
      if (bg) {
        return colors[bg.slice(2).toLowerCase()] || color;
      }
      return colors.none;
    };
    exports2.complement = (color) => {
      if (!color || !color.stack) return color;
      let name = color.stack.find((n) => colors.keys.color.includes(n));
      let bg = color.stack.find((n) => n.slice(0, 2) === "bg");
      if (name && !bg) {
        return colors[complements[name] || name];
      }
      if (bg) {
        let lower = bg.slice(2).toLowerCase();
        let comp = complements[lower];
        if (!comp) return color;
        return colors["bg" + exports2.pascal(comp)] || color;
      }
      return colors.none;
    };
    exports2.meridiem = (date) => {
      let hours = date.getHours();
      let minutes = date.getMinutes();
      let ampm = hours >= 12 ? "pm" : "am";
      hours = hours % 12;
      let hrs = hours === 0 ? 12 : hours;
      let min = minutes < 10 ? "0" + minutes : minutes;
      return hrs + ":" + min + " " + ampm;
    };
    exports2.set = (obj = {}, prop = "", val) => {
      return prop.split(".").reduce((acc, k, i, arr) => {
        let value = arr.length - 1 > i ? acc[k] || {} : val;
        if (!exports2.isObject(value) && i < arr.length - 1) value = {};
        return acc[k] = value;
      }, obj);
    };
    exports2.get = (obj = {}, prop = "", fallback) => {
      let value = obj[prop] == null ? prop.split(".").reduce((acc, k) => acc && acc[k], obj) : obj[prop];
      return value == null ? fallback : value;
    };
    exports2.mixin = (target, b) => {
      if (!isObject(target)) return b;
      if (!isObject(b)) return target;
      for (let key of Object.keys(b)) {
        let desc = Object.getOwnPropertyDescriptor(b, key);
        if (hasOwnProperty.call(desc, "value")) {
          if (hasOwnProperty.call(target, key) && isObject(desc.value)) {
            let existing = Object.getOwnPropertyDescriptor(target, key);
            if (isObject(existing.value) && existing.value !== desc.value) {
              target[key] = exports2.merge({}, target[key], b[key]);
            } else {
              Reflect.defineProperty(target, key, desc);
            }
          } else {
            Reflect.defineProperty(target, key, desc);
          }
        } else {
          Reflect.defineProperty(target, key, desc);
        }
      }
      return target;
    };
    exports2.merge = (...args) => {
      let target = {};
      for (let ele of args) exports2.mixin(target, ele);
      return target;
    };
    exports2.mixinEmitter = (obj, emitter) => {
      let proto = emitter.constructor.prototype;
      for (let key of Object.keys(proto)) {
        let val = proto[key];
        if (typeof val === "function") {
          exports2.define(obj, key, val.bind(emitter));
        } else {
          exports2.define(obj, key, val);
        }
      }
    };
    var onExit = (quit, code) => {
      if (onExitCalled) return;
      onExitCalled = true;
      onExitCallbacks.forEach((fn) => fn());
      if (quit === true) {
        process.exit(128 + code);
      }
    };
    var onSigTerm = onExit.bind(null, true, 15);
    var onSigInt = onExit.bind(null, true, 2);
    exports2.onExit = (callback) => {
      if (onExitCallbacks.size === 0) {
        process.once("SIGTERM", onSigTerm);
        process.once("SIGINT", onSigInt);
        process.once("exit", onExit);
      }
      onExitCallbacks.add(callback);
      return () => {
        onExitCallbacks.delete(callback);
        if (onExitCallbacks.size === 0) {
          process.off("SIGTERM", onSigTerm);
          process.off("SIGINT", onSigInt);
          process.off("exit", onExit);
        }
      };
    };
    exports2.define = (obj, key, value) => {
      Reflect.defineProperty(obj, key, { value });
    };
    exports2.defineExport = (obj, key, fn) => {
      let custom;
      Reflect.defineProperty(obj, key, {
        enumerable: true,
        configurable: true,
        set(val) {
          custom = val;
        },
        get() {
          return custom ? custom() : fn();
        }
      });
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/combos.js
var require_combos = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/combos.js"(exports2) {
    "use strict";
    exports2.ctrl = {
      a: "first",
      b: "backward",
      c: "cancel",
      d: "deleteForward",
      e: "last",
      f: "forward",
      g: "reset",
      i: "tab",
      k: "cutForward",
      l: "reset",
      n: "newItem",
      m: "cancel",
      j: "submit",
      p: "search",
      r: "remove",
      s: "save",
      u: "undo",
      w: "cutLeft",
      x: "toggleCursor",
      v: "paste"
    };
    exports2.shift = {
      up: "shiftUp",
      down: "shiftDown",
      left: "shiftLeft",
      right: "shiftRight",
      tab: "prev"
    };
    exports2.fn = {
      up: "pageUp",
      down: "pageDown",
      left: "pageLeft",
      right: "pageRight",
      delete: "deleteForward"
    };
    exports2.option = {
      b: "backward",
      f: "forward",
      d: "cutRight",
      left: "cutLeft",
      up: "altUp",
      down: "altDown"
    };
    exports2.keys = {
      pageup: "pageUp",
      // <fn>+<up> (mac), <Page Up> (windows)
      pagedown: "pageDown",
      // <fn>+<down> (mac), <Page Down> (windows)
      home: "home",
      // <fn>+<left> (mac), <home> (windows)
      end: "end",
      // <fn>+<right> (mac), <end> (windows)
      cancel: "cancel",
      delete: "deleteForward",
      backspace: "delete",
      down: "down",
      enter: "submit",
      escape: "cancel",
      left: "left",
      space: "space",
      number: "number",
      return: "submit",
      right: "right",
      tab: "next",
      up: "up"
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/queue.js
var require_queue4 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/queue.js"(exports2, module2) {
    "use strict";
    module2.exports = class Queue {
      _queue = [];
      _executing = false;
      _jobRunner = null;
      constructor(jobRunner) {
        this._jobRunner = jobRunner;
      }
      enqueue = (...args) => {
        this._queue.push(args);
        this._dequeue();
      };
      destroy() {
        this._queue.length = 0;
        this._jobRunner = null;
      }
      _dequeue() {
        if (this._executing || !this._queue.length) return;
        this._executing = true;
        this._jobRunner(...this._queue.shift());
        setTimeout(() => {
          this._executing = false;
          this._dequeue();
        });
      }
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/keypress.js
var require_keypress = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/keypress.js"(exports2, module2) {
    "use strict";
    var readline = require("readline");
    var combos = require_combos();
    var Queue = require_queue4();
    var metaKeyCodeRe = /^(?:\x1b)([a-zA-Z0-9])$/;
    var fnKeyRe = /^(?:\x1b+)(O|N|\[|\[\[)(?:(\d+)(?:;(\d+))?([~^$])|(?:1;)?(\d+)?([a-zA-Z]))/;
    var keyName = {
      /* xterm/gnome ESC O letter */
      "OP": "f1",
      "OQ": "f2",
      "OR": "f3",
      "OS": "f4",
      /* xterm/rxvt ESC [ number ~ */
      "[11~": "f1",
      "[12~": "f2",
      "[13~": "f3",
      "[14~": "f4",
      /* from Cygwin and used in libuv */
      "[[A": "f1",
      "[[B": "f2",
      "[[C": "f3",
      "[[D": "f4",
      "[[E": "f5",
      /* common */
      "[15~": "f5",
      "[17~": "f6",
      "[18~": "f7",
      "[19~": "f8",
      "[20~": "f9",
      "[21~": "f10",
      "[23~": "f11",
      "[24~": "f12",
      /* xterm ESC [ letter */
      "[A": "up",
      "[B": "down",
      "[C": "right",
      "[D": "left",
      "[E": "clear",
      "[F": "end",
      "[H": "home",
      /* xterm/gnome ESC O letter */
      "OA": "up",
      "OB": "down",
      "OC": "right",
      "OD": "left",
      "OE": "clear",
      "OF": "end",
      "OH": "home",
      /* xterm/rxvt ESC [ number ~ */
      "[1~": "home",
      "[2~": "insert",
      "[3~": "delete",
      "[4~": "end",
      "[5~": "pageup",
      "[6~": "pagedown",
      /* putty */
      "[[5~": "pageup",
      "[[6~": "pagedown",
      /* rxvt */
      "[7~": "home",
      "[8~": "end",
      /* rxvt keys with modifiers */
      "[a": "up",
      "[b": "down",
      "[c": "right",
      "[d": "left",
      "[e": "clear",
      "[2$": "insert",
      "[3$": "delete",
      "[5$": "pageup",
      "[6$": "pagedown",
      "[7$": "home",
      "[8$": "end",
      "Oa": "up",
      "Ob": "down",
      "Oc": "right",
      "Od": "left",
      "Oe": "clear",
      "[2^": "insert",
      "[3^": "delete",
      "[5^": "pageup",
      "[6^": "pagedown",
      "[7^": "home",
      "[8^": "end",
      /* misc. */
      "[Z": "tab"
    };
    function isShiftKey(code) {
      return ["[a", "[b", "[c", "[d", "[e", "[2$", "[3$", "[5$", "[6$", "[7$", "[8$", "[Z"].includes(code);
    }
    function isCtrlKey(code) {
      return ["Oa", "Ob", "Oc", "Od", "Oe", "[2^", "[3^", "[5^", "[6^", "[7^", "[8^"].includes(code);
    }
    var keypress = (s = "", event = {}) => {
      let parts;
      let key = {
        name: event.name,
        ctrl: false,
        meta: false,
        shift: false,
        option: false,
        sequence: s,
        raw: s,
        ...event
      };
      if (Buffer.isBuffer(s)) {
        if (s[0] > 127 && s[1] === void 0) {
          s[0] -= 128;
          s = "\x1B" + String(s);
        } else {
          s = String(s);
        }
      } else if (s !== void 0 && typeof s !== "string") {
        s = String(s);
      } else if (!s) {
        s = key.sequence || "";
      }
      key.sequence = key.sequence || s || key.name;
      if (s === "\r") {
        key.raw = void 0;
        key.name = "return";
      } else if (s === "\n") {
        key.name = "enter";
      } else if (s === "	") {
        key.name = "tab";
      } else if (s === "\b" || s === "\x7F" || s === "\x1B\x7F" || s === "\x1B\b") {
        key.name = "backspace";
        key.meta = s.charAt(0) === "\x1B";
      } else if (s === "\x1B" || s === "\x1B\x1B") {
        key.name = "escape";
        key.meta = s.length === 2;
      } else if (s === " " || s === "\x1B ") {
        key.name = "space";
        key.meta = s.length === 2;
      } else if (s <= "") {
        key.name = String.fromCharCode(s.charCodeAt(0) + "a".charCodeAt(0) - 1);
        key.ctrl = true;
      } else if (s.length === 1 && s >= "0" && s <= "9") {
        key.name = "number";
      } else if (s.length === 1 && s >= "a" && s <= "z") {
        key.name = s;
      } else if (s.length === 1 && s >= "A" && s <= "Z") {
        key.name = s.toLowerCase();
        key.shift = true;
      } else if (parts = metaKeyCodeRe.exec(s)) {
        key.meta = true;
        key.shift = /^[A-Z]$/.test(parts[1]);
      } else if (parts = fnKeyRe.exec(s)) {
        let segs = [...s];
        if (segs[0] === "\x1B" && segs[1] === "\x1B") {
          key.option = true;
        }
        let code = [parts[1], parts[2], parts[4], parts[6]].filter(Boolean).join("");
        let modifier = (parts[3] || parts[5] || 1) - 1;
        key.ctrl = !!(modifier & 4);
        key.meta = !!(modifier & 10);
        key.shift = !!(modifier & 1);
        key.code = code;
        key.name = keyName[code];
        key.shift = isShiftKey(code) || key.shift;
        key.ctrl = isCtrlKey(code) || key.ctrl;
      }
      return key;
    };
    keypress.listen = (options = {}, onKeypress) => {
      let { stdin } = options;
      if (!stdin || stdin !== process.stdin && !stdin.isTTY) {
        throw new Error("Invalid stream passed");
      }
      let rl = readline.createInterface({ terminal: true, input: stdin });
      readline.emitKeypressEvents(stdin, rl);
      const queue = new Queue((buf, key) => onKeypress(buf, keypress(buf, key), rl));
      let isRaw = stdin.isRaw;
      if (stdin.isTTY) stdin.setRawMode(true);
      stdin.on("keypress", queue.enqueue);
      rl.resume();
      let off = () => {
        if (stdin.isTTY) stdin.setRawMode(isRaw);
        stdin.removeListener("keypress", queue.enqueue);
        queue.destroy();
        rl.pause();
        rl.close();
      };
      return off;
    };
    keypress.action = (buf, key, customActions) => {
      let obj = { ...combos, ...customActions };
      if (key.ctrl) {
        key.action = obj.ctrl[key.name];
        return key;
      }
      if (key.option && obj.option) {
        key.action = obj.option[key.name];
        return key;
      }
      if (key.shift) {
        key.action = obj.shift[key.name];
        return key;
      }
      key.action = obj.keys[key.name];
      return key;
    };
    module2.exports = keypress;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/timer.js
var require_timer2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/timer.js"(exports2, module2) {
    "use strict";
    module2.exports = (prompt) => {
      prompt.timers = prompt.timers || {};
      let timers = prompt.options.timers;
      if (!timers) return;
      for (let key of Object.keys(timers)) {
        let opts = timers[key];
        if (typeof opts === "number") {
          opts = { interval: opts };
        }
        create(prompt, key, opts);
      }
    };
    function create(prompt, name, options = {}) {
      let timer = prompt.timers[name] = { name, start: Date.now(), ms: 0, tick: 0 };
      let ms = options.interval || 120;
      timer.frames = options.frames || [];
      timer.loading = true;
      let interval = setInterval(() => {
        timer.ms = Date.now() - timer.start;
        timer.tick++;
        prompt.render();
      }, ms);
      timer.stop = () => {
        timer.loading = false;
        clearInterval(interval);
      };
      Reflect.defineProperty(timer, "interval", { value: interval });
      prompt.once("close", () => timer.stop());
      return timer.stop;
    }
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/state.js
var require_state2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/state.js"(exports2, module2) {
    "use strict";
    var { define: define2, width } = require_utils14();
    var State = class {
      constructor(prompt) {
        let options = prompt.options;
        define2(this, "_prompt", prompt);
        this.type = prompt.type;
        this.name = prompt.name;
        this.message = "";
        this.header = "";
        this.footer = "";
        this.error = "";
        this.hint = "";
        this.input = "";
        this.cursor = 0;
        this.index = 0;
        this.lines = 0;
        this.tick = 0;
        this.prompt = "";
        this.buffer = "";
        this.width = width(options.stdout || process.stdout);
        Object.assign(this, options);
        this.name = this.name || this.message;
        this.message = this.message || this.name;
        this.symbols = prompt.symbols;
        this.styles = prompt.styles;
        this.required = /* @__PURE__ */ new Set();
        this.cancelled = false;
        this.submitted = false;
      }
      clone() {
        let state = { ...this };
        state.status = this.status;
        state.buffer = Buffer.from(state.buffer);
        delete state.clone;
        return state;
      }
      set color(val) {
        this._color = val;
      }
      get color() {
        let styles = this.prompt.styles;
        if (this.cancelled) return styles.cancelled;
        if (this.submitted) return styles.submitted;
        let color = this._color || styles[this.status];
        return typeof color === "function" ? color : styles.pending;
      }
      set loading(value) {
        this._loading = value;
      }
      get loading() {
        if (typeof this._loading === "boolean") return this._loading;
        if (this.loadingChoices) return "choices";
        return false;
      }
      get status() {
        if (this.cancelled) return "cancelled";
        if (this.submitted) return "submitted";
        return "pending";
      }
    };
    module2.exports = State;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/styles.js
var require_styles = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/styles.js"(exports2, module2) {
    "use strict";
    var utils = require_utils14();
    var colors = require_ansi_colors();
    var styles = {
      default: colors.noop,
      noop: colors.noop,
      /**
       * Modifiers
       */
      set inverse(custom) {
        this._inverse = custom;
      },
      get inverse() {
        return this._inverse || utils.inverse(this.primary);
      },
      set complement(custom) {
        this._complement = custom;
      },
      get complement() {
        return this._complement || utils.complement(this.primary);
      },
      /**
       * Main color
       */
      primary: colors.cyan,
      /**
       * Main palette
       */
      success: colors.green,
      danger: colors.magenta,
      strong: colors.bold,
      warning: colors.yellow,
      muted: colors.dim,
      disabled: colors.gray,
      dark: colors.dim.gray,
      underline: colors.underline,
      set info(custom) {
        this._info = custom;
      },
      get info() {
        return this._info || this.primary;
      },
      set em(custom) {
        this._em = custom;
      },
      get em() {
        return this._em || this.primary.underline;
      },
      set heading(custom) {
        this._heading = custom;
      },
      get heading() {
        return this._heading || this.muted.underline;
      },
      /**
       * Statuses
       */
      set pending(custom) {
        this._pending = custom;
      },
      get pending() {
        return this._pending || this.primary;
      },
      set submitted(custom) {
        this._submitted = custom;
      },
      get submitted() {
        return this._submitted || this.success;
      },
      set cancelled(custom) {
        this._cancelled = custom;
      },
      get cancelled() {
        return this._cancelled || this.danger;
      },
      /**
       * Special styling
       */
      set typing(custom) {
        this._typing = custom;
      },
      get typing() {
        return this._typing || this.dim;
      },
      set placeholder(custom) {
        this._placeholder = custom;
      },
      get placeholder() {
        return this._placeholder || this.primary.dim;
      },
      set highlight(custom) {
        this._highlight = custom;
      },
      get highlight() {
        return this._highlight || this.inverse;
      }
    };
    styles.merge = (options = {}) => {
      if (options.styles && typeof options.styles.enabled === "boolean") {
        colors.enabled = options.styles.enabled;
      }
      if (options.styles && typeof options.styles.visible === "boolean") {
        colors.visible = options.styles.visible;
      }
      let result2 = utils.merge({}, styles, options.styles);
      delete result2.merge;
      for (let key of Object.keys(colors)) {
        if (!hasOwnProperty.call(result2, key)) {
          Reflect.defineProperty(result2, key, { get: () => colors[key] });
        }
      }
      for (let key of Object.keys(colors.styles)) {
        if (!hasOwnProperty.call(result2, key)) {
          Reflect.defineProperty(result2, key, { get: () => colors[key] });
        }
      }
      return result2;
    };
    module2.exports = styles;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/symbols.js
var require_symbols2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/symbols.js"(exports2, module2) {
    "use strict";
    var isWindows = process.platform === "win32";
    var colors = require_ansi_colors();
    var utils = require_utils14();
    var symbols = {
      ...colors.symbols,
      upDownDoubleArrow: "\u21D5",
      upDownDoubleArrow2: "\u2B0D",
      upDownArrow: "\u2195",
      asterisk: "*",
      asterism: "\u2042",
      bulletWhite: "\u25E6",
      electricArrow: "\u2301",
      ellipsisLarge: "\u22EF",
      ellipsisSmall: "\u2026",
      fullBlock: "\u2588",
      identicalTo: "\u2261",
      indicator: colors.symbols.check,
      leftAngle: "\u2039",
      mark: "\u203B",
      minus: "\u2212",
      multiplication: "\xD7",
      obelus: "\xF7",
      percent: "%",
      pilcrow: "\xB6",
      pilcrow2: "\u2761",
      pencilUpRight: "\u2710",
      pencilDownRight: "\u270E",
      pencilRight: "\u270F",
      plus: "+",
      plusMinus: "\xB1",
      pointRight: "\u261E",
      rightAngle: "\u203A",
      section: "\xA7",
      hexagon: { off: "\u2B21", on: "\u2B22", disabled: "\u2B22" },
      ballot: { on: "\u2611", off: "\u2610", disabled: "\u2612" },
      stars: { on: "\u2605", off: "\u2606", disabled: "\u2606" },
      folder: { on: "\u25BC", off: "\u25B6", disabled: "\u25B6" },
      prefix: {
        pending: colors.symbols.question,
        submitted: colors.symbols.check,
        cancelled: colors.symbols.cross
      },
      separator: {
        pending: colors.symbols.pointerSmall,
        submitted: colors.symbols.middot,
        cancelled: colors.symbols.middot
      },
      radio: {
        off: isWindows ? "( )" : "\u25EF",
        on: isWindows ? "(*)" : "\u25C9",
        disabled: isWindows ? "(|)" : "\u24BE"
      },
      numbers: ["\u24EA", "\u2460", "\u2461", "\u2462", "\u2463", "\u2464", "\u2465", "\u2466", "\u2467", "\u2468", "\u2469", "\u246A", "\u246B", "\u246C", "\u246D", "\u246E", "\u246F", "\u2470", "\u2471", "\u2472", "\u2473", "\u3251", "\u3252", "\u3253", "\u3254", "\u3255", "\u3256", "\u3257", "\u3258", "\u3259", "\u325A", "\u325B", "\u325C", "\u325D", "\u325E", "\u325F", "\u32B1", "\u32B2", "\u32B3", "\u32B4", "\u32B5", "\u32B6", "\u32B7", "\u32B8", "\u32B9", "\u32BA", "\u32BB", "\u32BC", "\u32BD", "\u32BE", "\u32BF"]
    };
    symbols.merge = (options) => {
      let result2 = utils.merge({}, colors.symbols, symbols, options.symbols);
      delete result2.merge;
      return result2;
    };
    module2.exports = symbols;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/theme.js
var require_theme = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/theme.js"(exports2, module2) {
    "use strict";
    var styles = require_styles();
    var symbols = require_symbols2();
    var utils = require_utils14();
    module2.exports = (prompt) => {
      prompt.options = utils.merge({}, prompt.options.theme, prompt.options);
      prompt.symbols = symbols.merge(prompt.options);
      prompt.styles = styles.merge(prompt.options);
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/ansi.js
var require_ansi = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/ansi.js"(exports2, module2) {
    "use strict";
    var isTerm = process.env.TERM_PROGRAM === "Apple_Terminal";
    var stripAnsi = require_strip_ansi();
    var utils = require_utils14();
    var ansi = module2.exports = exports2;
    var ESC = "\x1B[";
    var BEL = "\x07";
    var hidden = false;
    var code = ansi.code = {
      bell: BEL,
      beep: BEL,
      beginning: `${ESC}G`,
      down: `${ESC}J`,
      esc: ESC,
      getPosition: `${ESC}6n`,
      hide: `${ESC}?25l`,
      line: `${ESC}2K`,
      lineEnd: `${ESC}K`,
      lineStart: `${ESC}1K`,
      restorePosition: ESC + (isTerm ? "8" : "u"),
      savePosition: ESC + (isTerm ? "7" : "s"),
      screen: `${ESC}2J`,
      show: `${ESC}?25h`,
      up: `${ESC}1J`
    };
    var cursor = ansi.cursor = {
      get hidden() {
        return hidden;
      },
      hide() {
        hidden = true;
        return code.hide;
      },
      show() {
        hidden = false;
        return code.show;
      },
      forward: (count = 1) => `${ESC}${count}C`,
      backward: (count = 1) => `${ESC}${count}D`,
      nextLine: (count = 1) => `${ESC}E`.repeat(count),
      prevLine: (count = 1) => `${ESC}F`.repeat(count),
      up: (count = 1) => count ? `${ESC}${count}A` : "",
      down: (count = 1) => count ? `${ESC}${count}B` : "",
      right: (count = 1) => count ? `${ESC}${count}C` : "",
      left: (count = 1) => count ? `${ESC}${count}D` : "",
      to(x, y) {
        return y ? `${ESC}${y + 1};${x + 1}H` : `${ESC}${x + 1}G`;
      },
      move(x = 0, y = 0) {
        let res = "";
        res += x < 0 ? cursor.left(-x) : x > 0 ? cursor.right(x) : "";
        res += y < 0 ? cursor.up(-y) : y > 0 ? cursor.down(y) : "";
        return res;
      },
      strLen(str) {
        var realLength = 0, len = str.length, charCode = -1;
        for (var i = 0; i < len; i++) {
          charCode = str.charCodeAt(i);
          if (charCode >= 0 && charCode <= 128) realLength += 1;
          else realLength += 2;
        }
        return realLength;
      },
      restore(state = {}) {
        let { after, cursor: cursor2, initial, input, prompt, size, value } = state;
        initial = utils.isPrimitive(initial) ? String(initial) : "";
        input = utils.isPrimitive(input) ? String(input) : "";
        value = utils.isPrimitive(value) ? String(value) : "";
        if (size) {
          let codes = ansi.cursor.up(size) + ansi.cursor.to(this.strLen(prompt));
          let diff = input.length - cursor2;
          if (diff > 0) {
            codes += ansi.cursor.left(diff);
          }
          return codes;
        }
        if (value || after) {
          let pos = !input && !!initial ? -this.strLen(initial) : -this.strLen(input) + cursor2;
          if (after) pos -= this.strLen(after);
          if (input === "" && initial && !prompt.includes(initial)) {
            pos += this.strLen(initial);
          }
          return ansi.cursor.move(pos);
        }
      }
    };
    var erase = ansi.erase = {
      screen: code.screen,
      up: code.up,
      down: code.down,
      line: code.line,
      lineEnd: code.lineEnd,
      lineStart: code.lineStart,
      lines(n) {
        let str = "";
        for (let i = 0; i < n; i++) {
          str += ansi.erase.line + (i < n - 1 ? ansi.cursor.up(1) : "");
        }
        if (n) str += ansi.code.beginning;
        return str;
      }
    };
    ansi.clear = (input = "", columns = process.stdout.columns) => {
      if (!columns) return erase.line + cursor.to(0);
      let width = (str) => [...stripAnsi(str)].length;
      let lines = input.split(/\r?\n/);
      let rows = 0;
      for (let line of lines) {
        rows += 1 + Math.floor(Math.max(width(line) - 1, 0) / columns);
      }
      return (erase.line + cursor.prevLine()).repeat(rows - 1) + erase.line + cursor.to(0);
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompt.js
var require_prompt = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompt.js"(exports2, module2) {
    "use strict";
    var Events = require("events");
    var stripAnsi = require_strip_ansi();
    var keypress = require_keypress();
    var timer = require_timer2();
    var State = require_state2();
    var theme = require_theme();
    var utils = require_utils14();
    var ansi = require_ansi();
    var Prompt = class _Prompt extends Events {
      constructor(options = {}) {
        super();
        this.name = options.name;
        this.type = options.type;
        this.options = options;
        theme(this);
        timer(this);
        this.state = new State(this);
        this.initial = [options.initial, options.default].find((v) => v != null);
        this.stdout = options.stdout || process.stdout;
        this.stdin = options.stdin || process.stdin;
        this.scale = options.scale || 1;
        this.term = this.options.term || process.env.TERM_PROGRAM;
        this.margin = margin(this.options.margin);
        this.setMaxListeners(0);
        setOptions(this);
      }
      async keypress(input, event = {}) {
        this.keypressed = true;
        let key = keypress.action(input, keypress(input, event), this.options.actions);
        this.state.keypress = key;
        this.emit("keypress", input, key);
        this.emit("state", this.state.clone());
        const fn = this.options[key.action] || this[key.action] || this.dispatch;
        if (typeof fn === "function") {
          return await fn.call(this, input, key);
        }
        this.alert();
      }
      alert() {
        delete this.state.alert;
        if (this.options.show === false) {
          this.emit("alert");
        } else {
          this.stdout.write(ansi.code.beep);
        }
      }
      cursorHide() {
        this.stdout.write(ansi.cursor.hide());
        const releaseOnExit = utils.onExit(() => this.cursorShow());
        this.on("close", () => {
          this.cursorShow();
          releaseOnExit();
        });
      }
      cursorShow() {
        this.stdout.write(ansi.cursor.show());
      }
      write(str) {
        if (!str) return;
        if (this.stdout && this.state.show !== false) {
          this.stdout.write(str);
        }
        this.state.buffer += str;
      }
      clear(lines = 0) {
        let buffer = this.state.buffer;
        this.state.buffer = "";
        if (!buffer && !lines || this.options.show === false) return;
        this.stdout.write(ansi.cursor.down(lines) + ansi.clear(buffer, this.width));
      }
      restore() {
        if (this.state.closed || this.options.show === false) return;
        let { prompt, after, rest } = this.sections();
        let { cursor, initial = "", input = "", value = "" } = this;
        let size = this.state.size = rest.length;
        let state = { after, cursor, initial, input, prompt, size, value };
        let codes = ansi.cursor.restore(state);
        if (codes) {
          this.stdout.write(codes);
        }
      }
      sections() {
        let { buffer, input, prompt } = this.state;
        prompt = stripAnsi(prompt);
        let buf = stripAnsi(buffer);
        let idx = buf.indexOf(prompt);
        let header = buf.slice(0, idx);
        let rest = buf.slice(idx);
        let lines = rest.split("\n");
        let first = lines[0];
        let last = lines[lines.length - 1];
        let promptLine = prompt + (input ? " " + input : "");
        let len = promptLine.length;
        let after = len < first.length ? first.slice(len + 1) : "";
        return { header, prompt: first, after, rest: lines.slice(1), last };
      }
      async submit() {
        this.state.submitted = true;
        this.state.validating = true;
        if (this.options.onSubmit) {
          await this.options.onSubmit.call(this, this.name, this.value, this);
        }
        let result2 = this.state.error || await this.validate(this.value, this.state);
        if (result2 !== true) {
          let error = "\n" + this.symbols.pointer + " ";
          if (typeof result2 === "string") {
            error += result2.trim();
          } else {
            error += "Invalid input";
          }
          this.state.error = "\n" + this.styles.danger(error);
          this.state.submitted = false;
          await this.render();
          await this.alert();
          this.state.validating = false;
          this.state.error = void 0;
          return;
        }
        this.state.validating = false;
        await this.render();
        await this.close();
        this.value = await this.result(this.value);
        this.emit("submit", this.value);
      }
      async cancel(err) {
        this.state.cancelled = this.state.submitted = true;
        await this.render();
        await this.close();
        if (typeof this.options.onCancel === "function") {
          await this.options.onCancel.call(this, this.name, this.value, this);
        }
        this.emit("cancel", await this.error(err));
      }
      async close() {
        this.state.closed = true;
        try {
          let sections = this.sections();
          let lines = Math.ceil(sections.prompt.length / this.width);
          if (sections.rest) {
            this.write(ansi.cursor.down(sections.rest.length));
          }
          this.write("\n".repeat(lines));
        } catch (err) {
        }
        this.emit("close");
      }
      start() {
        if (!this.stop && this.options.show !== false) {
          this.stop = keypress.listen(this, this.keypress.bind(this));
          this.once("close", this.stop);
          this.emit("start", this);
        }
      }
      async skip() {
        this.skipped = this.options.skip === true;
        if (typeof this.options.skip === "function") {
          this.skipped = await this.options.skip.call(this, this.name, this.value);
        }
        return this.skipped;
      }
      async initialize() {
        let { format, options, result: result2 } = this;
        this.format = () => format.call(this, this.value);
        this.result = () => result2.call(this, this.value);
        if (typeof options.initial === "function") {
          this.initial = await options.initial.call(this, this);
        }
        if (typeof options.onRun === "function") {
          await options.onRun.call(this, this);
        }
        if (typeof options.onSubmit === "function") {
          let onSubmit = options.onSubmit.bind(this);
          let submit = this.submit.bind(this);
          delete this.options.onSubmit;
          this.submit = async () => {
            await onSubmit(this.name, this.value, this);
            return submit();
          };
        }
        await this.start();
        await this.render();
      }
      render() {
        throw new Error("expected prompt to have a custom render method");
      }
      run() {
        return new Promise(async (resolve, reject) => {
          this.once("submit", resolve);
          this.once("cancel", reject);
          if (await this.skip()) {
            this.render = () => {
            };
            return this.submit();
          }
          await this.initialize();
          this.emit("run");
        });
      }
      async element(name, choice, i) {
        let { options, state, symbols, timers } = this;
        let timer2 = timers && timers[name];
        state.timer = timer2;
        let value = options[name] || state[name] || symbols[name];
        let val = choice && choice[name] != null ? choice[name] : await value;
        if (val === "") return val;
        let res = await this.resolve(val, state, choice, i);
        if (!res && choice && choice[name]) {
          return this.resolve(value, state, choice, i);
        }
        return res;
      }
      async prefix() {
        let element = await this.element("prefix") || this.symbols;
        let timer2 = this.timers && this.timers.prefix;
        let state = this.state;
        state.timer = timer2;
        if (utils.isObject(element)) element = element[state.status] || element.pending;
        if (!utils.hasColor(element)) {
          let style = this.styles[state.status] || this.styles.pending;
          return style(element);
        }
        return element;
      }
      async message() {
        let message = await this.element("message");
        if (!utils.hasColor(message)) {
          return this.styles.strong(message);
        }
        return message;
      }
      async separator() {
        let element = await this.element("separator") || this.symbols;
        let timer2 = this.timers && this.timers.separator;
        let state = this.state;
        state.timer = timer2;
        let value = element[state.status] || element.pending || state.separator;
        let ele = await this.resolve(value, state);
        if (utils.isObject(ele)) ele = ele[state.status] || ele.pending;
        if (!utils.hasColor(ele)) {
          return this.styles.muted(ele);
        }
        return ele;
      }
      async pointer(choice, i) {
        let val = await this.element("pointer", choice, i);
        if (typeof val === "string" && utils.hasColor(val)) {
          return val;
        }
        if (val) {
          let styles = this.styles;
          let focused = this.index === i;
          let style = focused ? styles.primary : (val2) => val2;
          let ele = await this.resolve(val[focused ? "on" : "off"] || val, this.state);
          let styled = !utils.hasColor(ele) ? style(ele) : ele;
          return focused ? styled : " ".repeat(ele.length);
        }
      }
      async indicator(choice, i) {
        let val = await this.element("indicator", choice, i);
        if (typeof val === "string" && utils.hasColor(val)) {
          return val;
        }
        if (val) {
          let styles = this.styles;
          let enabled = choice.enabled === true;
          let style = enabled ? styles.success : styles.dark;
          let ele = val[enabled ? "on" : "off"] || val;
          return !utils.hasColor(ele) ? style(ele) : ele;
        }
        return "";
      }
      body() {
        return null;
      }
      footer() {
        if (this.state.status === "pending") {
          return this.element("footer");
        }
      }
      header() {
        if (this.state.status === "pending") {
          return this.element("header");
        }
      }
      async hint() {
        if (this.state.status === "pending" && !this.isValue(this.state.input)) {
          let hint = await this.element("hint");
          if (!utils.hasColor(hint)) {
            return this.styles.muted(hint);
          }
          return hint;
        }
      }
      error(err) {
        return !this.state.submitted ? err || this.state.error : "";
      }
      format(value) {
        return value;
      }
      result(value) {
        return value;
      }
      validate(value) {
        if (this.options.required === true) {
          return this.isValue(value);
        }
        return true;
      }
      isValue(value) {
        return value != null && value !== "";
      }
      resolve(value, ...args) {
        return utils.resolve(this, value, ...args);
      }
      get base() {
        return _Prompt.prototype;
      }
      get style() {
        return this.styles[this.state.status];
      }
      get height() {
        return this.options.rows || utils.height(this.stdout, 25);
      }
      get width() {
        return this.options.columns || utils.width(this.stdout, 80);
      }
      get size() {
        return { width: this.width, height: this.height };
      }
      set cursor(value) {
        this.state.cursor = value;
      }
      get cursor() {
        return this.state.cursor;
      }
      set input(value) {
        this.state.input = value;
      }
      get input() {
        return this.state.input;
      }
      set value(value) {
        this.state.value = value;
      }
      get value() {
        let { input, value } = this.state;
        let result2 = [value, input].find(this.isValue.bind(this));
        return this.isValue(result2) ? result2 : this.initial;
      }
      static get prompt() {
        return (options) => new this(options).run();
      }
    };
    function setOptions(prompt) {
      let isValidKey = (key) => {
        return prompt[key] === void 0 || typeof prompt[key] === "function";
      };
      let ignore = [
        "actions",
        "choices",
        "initial",
        "margin",
        "roles",
        "styles",
        "symbols",
        "theme",
        "timers",
        "value"
      ];
      let ignoreFn = [
        "body",
        "footer",
        "error",
        "header",
        "hint",
        "indicator",
        "message",
        "prefix",
        "separator",
        "skip"
      ];
      for (let key of Object.keys(prompt.options)) {
        if (ignore.includes(key)) continue;
        if (/^on[A-Z]/.test(key)) continue;
        let option = prompt.options[key];
        if (typeof option === "function" && isValidKey(key)) {
          if (!ignoreFn.includes(key)) {
            prompt[key] = option.bind(prompt);
          }
        } else if (typeof prompt[key] !== "function") {
          prompt[key] = option;
        }
      }
    }
    function margin(value) {
      if (typeof value === "number") {
        value = [value, value, value, value];
      }
      let arr = [].concat(value || []);
      let pad = (i) => i % 2 === 0 ? "\n" : " ";
      let res = [];
      for (let i = 0; i < 4; i++) {
        let char = pad(i);
        if (arr[i]) {
          res.push(char.repeat(arr[i]));
        } else {
          res.push("");
        }
      }
      return res;
    }
    module2.exports = Prompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/roles.js
var require_roles = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/roles.js"(exports2, module2) {
    "use strict";
    var utils = require_utils14();
    var roles = {
      default(prompt, choice) {
        return choice;
      },
      checkbox(prompt, choice) {
        throw new Error("checkbox role is not implemented yet");
      },
      editable(prompt, choice) {
        throw new Error("editable role is not implemented yet");
      },
      expandable(prompt, choice) {
        throw new Error("expandable role is not implemented yet");
      },
      heading(prompt, choice) {
        choice.disabled = "";
        choice.indicator = [choice.indicator, " "].find((v) => v != null);
        choice.message = choice.message || "";
        return choice;
      },
      input(prompt, choice) {
        throw new Error("input role is not implemented yet");
      },
      option(prompt, choice) {
        return roles.default(prompt, choice);
      },
      radio(prompt, choice) {
        throw new Error("radio role is not implemented yet");
      },
      separator(prompt, choice) {
        choice.disabled = "";
        choice.indicator = [choice.indicator, " "].find((v) => v != null);
        choice.message = choice.message || prompt.symbols.line.repeat(5);
        return choice;
      },
      spacer(prompt, choice) {
        return choice;
      }
    };
    module2.exports = (name, options = {}) => {
      let role = utils.merge({}, roles, options.roles);
      return role[name] || role.default;
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/array.js
var require_array2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/array.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var Prompt = require_prompt();
    var roles = require_roles();
    var utils = require_utils14();
    var { reorder, scrollUp, scrollDown, isObject, swap } = utils;
    var ArrayPrompt = class extends Prompt {
      constructor(options) {
        super(options);
        this.cursorHide();
        this.maxSelected = options.maxSelected || Infinity;
        this.multiple = options.multiple || false;
        this.initial = options.initial || 0;
        this.delay = options.delay || 0;
        this.longest = 0;
        this.num = "";
      }
      async initialize() {
        if (typeof this.options.initial === "function") {
          this.initial = await this.options.initial.call(this);
        }
        await this.reset(true);
        await super.initialize();
      }
      async reset() {
        let { choices, initial, autofocus, suggest } = this.options;
        this.state._choices = [];
        this.state.choices = [];
        this.choices = await Promise.all(await this.toChoices(choices));
        this.choices.forEach((ch) => ch.enabled = false);
        if (typeof suggest !== "function" && this.selectable.length === 0) {
          throw new Error("At least one choice must be selectable");
        }
        if (isObject(initial)) initial = Object.keys(initial);
        if (Array.isArray(initial)) {
          if (autofocus != null) this.index = this.findIndex(autofocus);
          initial.forEach((v) => this.enable(this.find(v)));
          await this.render();
        } else {
          if (autofocus != null) initial = autofocus;
          if (typeof initial === "string") initial = this.findIndex(initial);
          if (typeof initial === "number" && initial > -1) {
            this.index = Math.max(0, Math.min(initial, this.choices.length));
            this.enable(this.find(this.index));
          }
        }
        if (this.isDisabled(this.focused)) {
          await this.down();
        }
      }
      async toChoices(value, parent) {
        this.state.loadingChoices = true;
        let choices = [];
        let index = 0;
        let toChoices = async (items, parent2) => {
          if (typeof items === "function") items = await items.call(this);
          if (items instanceof Promise) items = await items;
          for (let i = 0; i < items.length; i++) {
            let choice = items[i] = await this.toChoice(items[i], index++, parent2);
            choices.push(choice);
            if (choice.choices) {
              await toChoices(choice.choices, choice);
            }
          }
          return choices;
        };
        return toChoices(value, parent).then((choices2) => {
          this.state.loadingChoices = false;
          return choices2;
        });
      }
      async toChoice(ele, i, parent) {
        if (typeof ele === "function") ele = await ele.call(this, this);
        if (ele instanceof Promise) ele = await ele;
        if (typeof ele === "string") ele = { name: ele };
        if (ele.normalized) return ele;
        ele.normalized = true;
        let origVal = ele.value;
        let role = roles(ele.role, this.options);
        ele = role(this, ele);
        if (typeof ele.disabled === "string" && !ele.hint) {
          ele.hint = ele.disabled;
          ele.disabled = true;
        }
        if (ele.disabled === true && ele.hint == null) {
          ele.hint = "(disabled)";
        }
        if (ele.index != null) return ele;
        ele.name = ele.name || ele.key || ele.title || ele.value || ele.message;
        ele.message = ele.message || ele.name || "";
        ele.value = [ele.value, ele.name].find(this.isValue.bind(this));
        ele.input = "";
        ele.index = i;
        ele.cursor = 0;
        utils.define(ele, "parent", parent);
        ele.level = parent ? parent.level + 1 : 1;
        if (ele.indent == null) {
          ele.indent = parent ? parent.indent + "  " : ele.indent || "";
        }
        ele.path = parent ? parent.path + "." + ele.name : ele.name;
        ele.enabled = !!(this.multiple && !this.isDisabled(ele) && (ele.enabled || this.isSelected(ele)));
        if (!this.isDisabled(ele)) {
          this.longest = Math.max(this.longest, stripAnsi(ele.message).length);
        }
        let choice = { ...ele };
        ele.reset = (input = choice.input, value = choice.value) => {
          for (let key of Object.keys(choice)) ele[key] = choice[key];
          ele.input = input;
          ele.value = value;
        };
        if (origVal == null && typeof ele.initial === "function") {
          ele.input = await ele.initial.call(this, this.state, ele, i);
        }
        return ele;
      }
      async onChoice(choice, i) {
        this.emit("choice", choice, i, this);
        if (typeof choice.onChoice === "function") {
          await choice.onChoice.call(this, this.state, choice, i);
        }
      }
      async addChoice(ele, i, parent) {
        let choice = await this.toChoice(ele, i, parent);
        this.choices.push(choice);
        this.index = this.choices.length - 1;
        this.limit = this.choices.length;
        return choice;
      }
      async newItem(item, i, parent) {
        let ele = { name: "New choice name?", editable: true, newChoice: true, ...item };
        let choice = await this.addChoice(ele, i, parent);
        choice.updateChoice = () => {
          delete choice.newChoice;
          choice.name = choice.message = choice.input;
          choice.input = "";
          choice.cursor = 0;
        };
        return this.render();
      }
      indent(choice) {
        if (choice.indent == null) {
          return choice.level > 1 ? "  ".repeat(choice.level - 1) : "";
        }
        return choice.indent;
      }
      dispatch(s, key) {
        if (this.multiple && this[key.name]) return this[key.name]();
        this.alert();
      }
      focus(choice, enabled) {
        if (typeof enabled !== "boolean") enabled = choice.enabled;
        if (enabled && !choice.enabled && this.selected.length >= this.maxSelected) {
          return this.alert();
        }
        this.index = choice.index;
        choice.enabled = enabled && !this.isDisabled(choice);
        return choice;
      }
      space() {
        if (!this.multiple) return this.alert();
        if (!this.focused) return;
        this.toggle(this.focused);
        return this.render();
      }
      a() {
        if (this.maxSelected < this.choices.length) return this.alert();
        let enabled = this.selectable.every((ch) => ch.enabled);
        this.choices.forEach((ch) => ch.enabled = !enabled);
        return this.render();
      }
      i() {
        if (this.choices.length - this.selected.length > this.maxSelected) {
          return this.alert();
        }
        this.choices.forEach((ch) => ch.enabled = !ch.enabled);
        return this.render();
      }
      g() {
        if (!this.choices.some((ch) => !!ch.parent)) return this.a();
        const focused = this.focused;
        this.toggle(focused.parent && !focused.choices ? focused.parent : focused);
        return this.render();
      }
      toggle(choice, enabled) {
        if (!choice.enabled && this.selected.length >= this.maxSelected) {
          return this.alert();
        }
        if (typeof enabled !== "boolean") enabled = !choice.enabled;
        choice.enabled = enabled;
        if (choice.choices) {
          choice.choices.forEach((ch) => this.toggle(ch, enabled));
        }
        let parent = choice.parent;
        while (parent) {
          let choices = parent.choices.filter((ch) => this.isDisabled(ch));
          parent.enabled = choices.every((ch) => ch.enabled === true);
          parent = parent.parent;
        }
        reset(this, this.choices);
        this.emit("toggle", choice, this);
        return choice;
      }
      enable(choice) {
        if (this.selected.length >= this.maxSelected) return this.alert();
        choice.enabled = !this.isDisabled(choice);
        choice.choices && choice.choices.forEach(this.enable.bind(this));
        return choice;
      }
      disable(choice) {
        choice.enabled = false;
        choice.choices && choice.choices.forEach(this.disable.bind(this));
        return choice;
      }
      number(n) {
        this.num += n;
        let number = (num) => {
          let i = Number(num);
          if (i > this.choices.length - 1) return this.alert();
          let focused = this.focused;
          let choice = this.choices.find((ch) => i === ch.index);
          if (!choice.enabled && this.selected.length >= this.maxSelected) {
            return this.alert();
          }
          if (this.visible.indexOf(choice) === -1) {
            let choices = reorder(this.choices);
            let actualIdx = choices.indexOf(choice);
            if (focused.index > actualIdx) {
              let start = choices.slice(actualIdx, actualIdx + this.limit);
              let end = choices.filter((ch) => !start.includes(ch));
              this.choices = start.concat(end);
            } else {
              let pos = actualIdx - this.limit + 1;
              this.choices = choices.slice(pos).concat(choices.slice(0, pos));
            }
          }
          this.index = this.choices.indexOf(choice);
          this.toggle(this.focused);
          return this.render();
        };
        clearTimeout(this.numberTimeout);
        return new Promise((resolve) => {
          let len = this.choices.length;
          let num = this.num;
          let handle = (val = false, res) => {
            clearTimeout(this.numberTimeout);
            if (val) res = number(num);
            this.num = "";
            resolve(res);
          };
          if (num === "0" || num.length === 1 && Number(num + "0") > len) {
            return handle(true);
          }
          if (Number(num) > len) {
            return handle(false, this.alert());
          }
          this.numberTimeout = setTimeout(() => handle(true), this.delay);
        });
      }
      home() {
        this.choices = reorder(this.choices);
        this.index = 0;
        return this.render();
      }
      end() {
        let pos = this.choices.length - this.limit;
        let choices = reorder(this.choices);
        this.choices = choices.slice(pos).concat(choices.slice(0, pos));
        this.index = this.limit - 1;
        return this.render();
      }
      first() {
        this.index = 0;
        return this.render();
      }
      last() {
        this.index = this.visible.length - 1;
        return this.render();
      }
      prev() {
        if (this.visible.length <= 1) return this.alert();
        return this.up();
      }
      next() {
        if (this.visible.length <= 1) return this.alert();
        return this.down();
      }
      right() {
        if (this.cursor >= this.input.length) return this.alert();
        this.cursor++;
        return this.render();
      }
      left() {
        if (this.cursor <= 0) return this.alert();
        this.cursor--;
        return this.render();
      }
      up() {
        let len = this.choices.length;
        let vis = this.visible.length;
        let idx = this.index;
        if (this.options.scroll === false && idx === 0) {
          return this.alert();
        }
        if (len > vis && idx === 0) {
          return this.scrollUp();
        }
        this.index = (idx - 1 % len + len) % len;
        if (this.isDisabled() && !this.allChoicesAreDisabled()) {
          return this.up();
        }
        return this.render();
      }
      down() {
        let len = this.choices.length;
        let vis = this.visible.length;
        let idx = this.index;
        if (this.options.scroll === false && idx === vis - 1) {
          return this.alert();
        }
        if (len > vis && idx === vis - 1) {
          return this.scrollDown();
        }
        this.index = (idx + 1) % len;
        if (this.isDisabled() && !this.allChoicesAreDisabled()) {
          return this.down();
        }
        return this.render();
      }
      scrollUp(i = 0) {
        this.choices = scrollUp(this.choices);
        this.index = i;
        if (this.isDisabled()) {
          return this.up();
        }
        return this.render();
      }
      scrollDown(i = this.visible.length - 1) {
        this.choices = scrollDown(this.choices);
        this.index = i;
        if (this.isDisabled()) {
          return this.down();
        }
        return this.render();
      }
      async shiftUp() {
        if (this.options.sort === true) {
          this.sorting = true;
          this.swap(this.index - 1);
          await this.up();
          this.sorting = false;
          return;
        }
        return this.scrollUp(this.index);
      }
      async shiftDown() {
        if (this.options.sort === true) {
          this.sorting = true;
          this.swap(this.index + 1);
          await this.down();
          this.sorting = false;
          return;
        }
        return this.scrollDown(this.index);
      }
      pageUp() {
        if (this.visible.length <= 1) return this.alert();
        this.limit = Math.max(this.limit - 1, 0);
        this.index = Math.min(this.limit - 1, this.index);
        this._limit = this.limit;
        if (this.isDisabled()) {
          return this.up();
        }
        return this.render();
      }
      pageDown() {
        if (this.visible.length >= this.choices.length) return this.alert();
        this.index = Math.max(0, this.index);
        this.limit = Math.min(this.limit + 1, this.choices.length);
        this._limit = this.limit;
        if (this.isDisabled()) {
          return this.down();
        }
        return this.render();
      }
      swap(pos) {
        swap(this.choices, this.index, pos);
      }
      allChoicesAreDisabled(choices = this.choices) {
        return choices.every((choice) => this.isDisabled(choice));
      }
      isDisabled(choice = this.focused) {
        let keys = ["disabled", "collapsed", "hidden", "completing", "readonly"];
        if (choice && keys.some((key) => choice[key] === true)) {
          return true;
        }
        return choice && choice.role === "heading";
      }
      isEnabled(choice = this.focused) {
        if (Array.isArray(choice)) return choice.every((ch) => this.isEnabled(ch));
        if (choice.choices) {
          let choices = choice.choices.filter((ch) => !this.isDisabled(ch));
          return choice.enabled && choices.every((ch) => this.isEnabled(ch));
        }
        return choice.enabled && !this.isDisabled(choice);
      }
      isChoice(choice, value) {
        return choice.name === value || choice.index === Number(value);
      }
      isSelected(choice) {
        if (Array.isArray(this.initial)) {
          return this.initial.some((value) => this.isChoice(choice, value));
        }
        return this.isChoice(choice, this.initial);
      }
      map(names = [], prop = "value") {
        return [].concat(names || []).reduce((acc, name) => {
          acc[name] = this.find(name, prop);
          return acc;
        }, {});
      }
      filter(value, prop) {
        let isChoice = (ele, i) => [ele.name, i].includes(value);
        let fn = typeof value === "function" ? value : isChoice;
        let choices = this.options.multiple ? this.state._choices : this.choices;
        let result2 = choices.filter(fn);
        if (prop) {
          return result2.map((ch) => ch[prop]);
        }
        return result2;
      }
      find(value, prop) {
        if (isObject(value)) return prop ? value[prop] : value;
        let isChoice = (ele, i) => [ele.name, i].includes(value);
        let fn = typeof value === "function" ? value : isChoice;
        let choice = this.choices.find(fn);
        if (choice) {
          return prop ? choice[prop] : choice;
        }
      }
      findIndex(value) {
        return this.choices.indexOf(this.find(value));
      }
      async submit() {
        let choice = this.focused;
        if (!choice) return this.alert();
        if (choice.newChoice) {
          if (!choice.input) return this.alert();
          choice.updateChoice();
          return this.render();
        }
        if (this.choices.some((ch) => ch.newChoice)) {
          return this.alert();
        }
        let { reorder: reorder2, sort } = this.options;
        let multi = this.multiple === true;
        let value = this.selected;
        if (value === void 0) {
          return this.alert();
        }
        if (Array.isArray(value) && reorder2 !== false && sort !== true) {
          value = utils.reorder(value);
        }
        this.value = multi ? value.map((ch) => ch.name) : value.name;
        return super.submit();
      }
      set choices(choices = []) {
        this.state._choices = this.state._choices || [];
        this.state.choices = choices;
        for (let choice of choices) {
          if (!this.state._choices.some((ch) => ch.name === choice.name)) {
            this.state._choices.push(choice);
          }
        }
        if (!this._initial && this.options.initial) {
          this._initial = true;
          let init = this.initial;
          if (typeof init === "string" || typeof init === "number") {
            let choice = this.find(init);
            if (choice) {
              this.initial = choice.index;
              this.focus(choice, true);
            }
          }
        }
      }
      get choices() {
        return reset(this, this.state.choices || []);
      }
      set visible(visible) {
        this.state.visible = visible;
      }
      get visible() {
        return (this.state.visible || this.choices).slice(0, this.limit);
      }
      set limit(num) {
        this.state.limit = num;
      }
      get limit() {
        let { state, options, choices } = this;
        let limit = state.limit || this._limit || options.limit || choices.length;
        return Math.min(limit, this.height);
      }
      set value(value) {
        super.value = value;
      }
      get value() {
        if (typeof super.value !== "string" && super.value === this.initial) {
          return this.input;
        }
        return super.value;
      }
      set index(i) {
        this.state.index = i;
      }
      get index() {
        return Math.max(0, this.state ? this.state.index : 0);
      }
      get enabled() {
        return this.filter(this.isEnabled.bind(this));
      }
      get focused() {
        let choice = this.choices[this.index];
        if (choice && this.state.submitted && this.multiple !== true) {
          choice.enabled = true;
        }
        return choice;
      }
      get selectable() {
        return this.choices.filter((choice) => !this.isDisabled(choice));
      }
      get selected() {
        return this.multiple ? this.enabled : this.focused;
      }
    };
    function reset(prompt, choices) {
      if (choices instanceof Promise) return choices;
      if (typeof choices === "function") {
        if (utils.isAsyncFn(choices)) return choices;
        choices = choices.call(prompt, prompt);
      }
      for (let choice of choices) {
        if (Array.isArray(choice.choices)) {
          let items = choice.choices.filter((ch) => !prompt.isDisabled(ch));
          choice.enabled = items.every((ch) => ch.enabled === true);
        }
        if (prompt.isDisabled(choice) === true) {
          delete choice.enabled;
        }
      }
      return choices;
    }
    module2.exports = ArrayPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/select.js
var require_select = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/select.js"(exports2, module2) {
    "use strict";
    var ArrayPrompt = require_array2();
    var utils = require_utils14();
    var SelectPrompt = class extends ArrayPrompt {
      constructor(options) {
        super(options);
        this.emptyError = this.options.emptyError || "No items were selected";
      }
      async dispatch(s, key) {
        if (this.multiple) {
          return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key);
        }
        this.alert();
      }
      separator() {
        if (this.options.separator) return super.separator();
        let sep = this.styles.muted(this.symbols.ellipsis);
        return this.state.submitted ? super.separator() : sep;
      }
      pointer(choice, i) {
        return !this.multiple || this.options.pointer ? super.pointer(choice, i) : "";
      }
      indicator(choice, i) {
        return this.multiple ? super.indicator(choice, i) : "";
      }
      choiceMessage(choice, i) {
        let message = this.resolve(choice.message, this.state, choice, i);
        if (choice.role === "heading" && !utils.hasColor(message)) {
          message = this.styles.strong(message);
        }
        return this.resolve(message, this.state, choice, i);
      }
      choiceSeparator() {
        return ":";
      }
      async renderChoice(choice, i) {
        await this.onChoice(choice, i);
        let focused = this.index === i;
        let pointer = await this.pointer(choice, i);
        let check = await this.indicator(choice, i) + (choice.pad || "");
        let hint = await this.resolve(choice.hint, this.state, choice, i);
        if (hint && !utils.hasColor(hint)) {
          hint = this.styles.muted(hint);
        }
        let ind = this.indent(choice);
        let msg = await this.choiceMessage(choice, i);
        let line = () => [this.margin[3], ind + pointer + check, msg, this.margin[1], hint].filter(Boolean).join(" ");
        if (choice.role === "heading") {
          return line();
        }
        if (choice.disabled) {
          if (!utils.hasColor(msg)) {
            msg = this.styles.disabled(msg);
          }
          return line();
        }
        if (focused) {
          msg = this.styles.em(msg);
        }
        return line();
      }
      async renderChoices() {
        if (this.state.loading === "choices") {
          return this.styles.warning("Loading choices");
        }
        if (this.state.submitted) return "";
        let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i));
        let visible = await Promise.all(choices);
        if (!visible.length) visible.push(this.styles.danger("No matching choices"));
        let result2 = this.margin[0] + visible.join("\n");
        let header;
        if (this.options.choicesHeader) {
          header = await this.resolve(this.options.choicesHeader, this.state);
        }
        return [header, result2].filter(Boolean).join("\n");
      }
      format() {
        if (!this.state.submitted || this.state.cancelled) return "";
        if (Array.isArray(this.selected)) {
          return this.selected.map((choice) => this.styles.primary(choice.name)).join(", ");
        }
        return this.styles.primary(this.selected.name);
      }
      async render() {
        let { submitted, size } = this.state;
        let prompt = "";
        let header = await this.header();
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        if (this.options.promptLine !== false) {
          prompt = [prefix, message, separator, ""].join(" ");
          this.state.prompt = prompt;
        }
        let output = await this.format();
        let help = await this.error() || await this.hint();
        let body = await this.renderChoices();
        let footer = await this.footer();
        if (output) prompt += output;
        if (help && !prompt.includes(help)) prompt += " " + help;
        if (submitted && !output && !body.trim() && this.multiple && this.emptyError != null) {
          prompt += this.styles.danger(this.emptyError);
        }
        this.clear(size);
        this.write([header, prompt, body, footer].filter(Boolean).join("\n"));
        this.write(this.margin[2]);
        this.restore();
      }
    };
    module2.exports = SelectPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/autocomplete.js
var require_autocomplete = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/autocomplete.js"(exports2, module2) {
    "use strict";
    var Select = require_select();
    var highlight = (input, color) => {
      const regex = input ? new RegExp(input, "ig") : /$^/;
      return (str) => {
        return input ? str.replace(regex, (match) => color(match)) : str;
      };
    };
    var AutoComplete = class extends Select {
      constructor(options) {
        super(options);
        this.cursorShow();
      }
      moveCursor(n) {
        this.state.cursor += n;
      }
      dispatch(ch) {
        return this.append(ch);
      }
      space(ch) {
        return this.options.multiple ? super.space(ch) : this.append(ch);
      }
      append(ch) {
        let { cursor, input } = this.state;
        this.input = input.slice(0, cursor) + ch + input.slice(cursor);
        this.moveCursor(1);
        return this.complete();
      }
      delete() {
        let { cursor, input } = this.state;
        if (!input) return this.alert();
        this.input = input.slice(0, cursor - 1) + input.slice(cursor);
        this.moveCursor(-1);
        return this.complete();
      }
      deleteForward() {
        let { cursor, input } = this.state;
        if (input[cursor] === void 0) return this.alert();
        this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
        return this.complete();
      }
      number(ch) {
        return this.append(ch);
      }
      async complete() {
        this.completing = true;
        this.choices = await this.suggest(this.input, this.state._choices);
        this.state.limit = void 0;
        this.index = Math.min(Math.max(this.visible.length - 1, 0), this.index);
        await this.render();
        this.completing = false;
      }
      suggest(input = this.input, choices = this.state._choices) {
        if (typeof this.options.suggest === "function") {
          return this.options.suggest.call(this, input, choices);
        }
        let str = input.toLowerCase();
        return choices.filter((ch) => ch.message.toLowerCase().includes(str));
      }
      pointer() {
        return "";
      }
      format() {
        if (!this.focused) return this.input;
        if (this.options.multiple && this.state.submitted) {
          return this.selected.map((ch) => this.styles.primary(ch.message)).join(", ");
        }
        if (this.state.submitted) {
          let value = this.value = this.input = this.focused.value;
          return this.styles.primary(value);
        }
        return this.input;
      }
      async render() {
        if (this.state.status !== "pending") return super.render();
        const hl = this.options.highlight || this.styles.complement;
        const style = (input, color2) => {
          if (!input) return input;
          if (hl.stack) return hl(input);
          return hl.call(this, input);
        };
        const color = highlight(this.input, style);
        const choices = this.choices;
        this.choices = choices.map((ch) => ({ ...ch, message: color(ch.message) }));
        await super.render();
        this.choices = choices;
      }
      submit() {
        if (this.options.multiple) {
          this.value = this.selected.map((ch) => ch.name);
        }
        return super.submit();
      }
    };
    module2.exports = AutoComplete;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/placeholder.js
var require_placeholder = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/placeholder.js"(exports2, module2) {
    "use strict";
    var utils = require_utils14();
    module2.exports = (prompt, options = {}) => {
      prompt.cursorHide();
      let { input = "", initial = "", pos, showCursor = true, color } = options;
      let style = color || prompt.styles.placeholder;
      let inverse = utils.inverse(prompt.styles.primary);
      let blinker = (str) => inverse(prompt.styles.black(str));
      let output = input;
      let char = " ";
      let reverse = blinker(char);
      if (prompt.blink && prompt.blink.off === true) {
        blinker = (str) => str;
        reverse = "";
      }
      if (showCursor && pos === 0 && initial === "" && input === "") {
        return blinker(char);
      }
      if (showCursor && pos === 0 && (input === initial || input === "")) {
        return blinker(initial[0]) + style(initial.slice(1));
      }
      initial = utils.isPrimitive(initial) ? `${initial}` : "";
      input = utils.isPrimitive(input) ? `${input}` : "";
      let placeholder = initial && initial.startsWith(input) && initial !== input;
      let cursor = placeholder ? blinker(initial[input.length]) : reverse;
      if (pos !== input.length && showCursor === true) {
        output = input.slice(0, pos) + blinker(input[pos]) + input.slice(pos + 1);
        cursor = "";
      }
      if (showCursor === false) {
        cursor = "";
      }
      if (placeholder) {
        let raw = prompt.styles.unstyle(output + cursor);
        return output + cursor + style(initial.slice(raw.length));
      }
      return output + cursor;
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/form.js
var require_form = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/form.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var SelectPrompt = require_select();
    var placeholder = require_placeholder();
    var FormPrompt = class extends SelectPrompt {
      constructor(options) {
        super({ ...options, multiple: true });
        this.type = "form";
        this.initial = this.options.initial;
        this.align = [this.options.align, "right"].find((v) => v != null);
        this.emptyError = "";
        this.values = {};
      }
      async reset(first) {
        await super.reset();
        if (first === true) this._index = this.index;
        this.index = this._index;
        this.values = {};
        this.choices.forEach((choice) => choice.reset && choice.reset());
        return this.render();
      }
      dispatch(char) {
        return !!char && this.append(char);
      }
      append(char) {
        let choice = this.focused;
        if (!choice) return this.alert();
        let { cursor, input } = choice;
        choice.value = choice.input = input.slice(0, cursor) + char + input.slice(cursor);
        choice.cursor++;
        return this.render();
      }
      delete() {
        let choice = this.focused;
        if (!choice || choice.cursor <= 0) return this.alert();
        let { cursor, input } = choice;
        choice.value = choice.input = input.slice(0, cursor - 1) + input.slice(cursor);
        choice.cursor--;
        return this.render();
      }
      deleteForward() {
        let choice = this.focused;
        if (!choice) return this.alert();
        let { cursor, input } = choice;
        if (input[cursor] === void 0) return this.alert();
        let str = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
        choice.value = choice.input = str;
        return this.render();
      }
      right() {
        let choice = this.focused;
        if (!choice) return this.alert();
        if (choice.cursor >= choice.input.length) return this.alert();
        choice.cursor++;
        return this.render();
      }
      left() {
        let choice = this.focused;
        if (!choice) return this.alert();
        if (choice.cursor <= 0) return this.alert();
        choice.cursor--;
        return this.render();
      }
      space(ch, key) {
        return this.dispatch(ch, key);
      }
      number(ch, key) {
        return this.dispatch(ch, key);
      }
      next() {
        let ch = this.focused;
        if (!ch) return this.alert();
        let { initial, input } = ch;
        if (initial && initial.startsWith(input) && input !== initial) {
          ch.value = ch.input = initial;
          ch.cursor = ch.value.length;
          return this.render();
        }
        return super.next();
      }
      prev() {
        let ch = this.focused;
        if (!ch) return this.alert();
        if (ch.cursor === 0) return super.prev();
        ch.value = ch.input = "";
        ch.cursor = 0;
        return this.render();
      }
      separator() {
        return "";
      }
      format(value) {
        return !this.state.submitted ? super.format(value) : "";
      }
      pointer() {
        return "";
      }
      indicator(choice) {
        return choice.input ? "\u29BF" : "\u2299";
      }
      async choiceSeparator(choice, i) {
        let sep = await this.resolve(choice.separator, this.state, choice, i) || ":";
        return sep ? " " + this.styles.disabled(sep) : "";
      }
      async renderChoice(choice, i) {
        await this.onChoice(choice, i);
        let { state, styles } = this;
        let { cursor, initial = "", name, input = "" } = choice;
        let { muted, submitted, primary, danger } = styles;
        let focused = this.index === i;
        let validate2 = choice.validate || (() => true);
        let sep = await this.choiceSeparator(choice, i);
        let msg = choice.message;
        if (this.align === "right") msg = msg.padStart(this.longest + 1, " ");
        if (this.align === "left") msg = msg.padEnd(this.longest + 1, " ");
        let value = this.values[name] = input || initial;
        let color = input ? "success" : "dark";
        if (await validate2.call(choice, value, this.state) !== true) {
          color = "danger";
        }
        let style = styles[color];
        let indicator = style(await this.indicator(choice, i)) + (choice.pad || "");
        let indent = this.indent(choice);
        let line = () => [indent, indicator, msg + sep, input].filter(Boolean).join(" ");
        if (state.submitted) {
          msg = stripAnsi(msg);
          input = submitted(input);
          return line();
        }
        if (choice.format) {
          input = await choice.format.call(this, input, choice, i);
        } else {
          let color2 = this.styles.muted;
          let options = { input, initial, pos: cursor, showCursor: focused, color: color2 };
          input = placeholder(this, options);
        }
        if (!this.isValue(input)) {
          input = this.styles.muted(this.symbols.ellipsis);
        }
        if (choice.result) {
          this.values[name] = await choice.result.call(this, value, choice, i);
        }
        if (focused) {
          msg = primary(msg);
        }
        if (choice.error) {
          input += (input ? " " : "") + danger(choice.error.trim());
        } else if (choice.hint) {
          input += (input ? " " : "") + muted(choice.hint.trim());
        }
        return line();
      }
      async submit() {
        this.value = this.values;
        return super.base.submit.call(this);
      }
    };
    module2.exports = FormPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/auth.js
var require_auth2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/auth.js"(exports2, module2) {
    "use strict";
    var FormPrompt = require_form();
    var defaultAuthenticate = () => {
      throw new Error("expected prompt to have a custom authenticate method");
    };
    var factory = (authenticate = defaultAuthenticate) => {
      class AuthPrompt extends FormPrompt {
        constructor(options) {
          super(options);
        }
        async submit() {
          this.value = await authenticate.call(this, this.values, this.state);
          super.base.submit.call(this);
        }
        static create(authenticate2) {
          return factory(authenticate2);
        }
      }
      return AuthPrompt;
    };
    module2.exports = factory();
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/basicauth.js
var require_basicauth = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/basicauth.js"(exports2, module2) {
    "use strict";
    var AuthPrompt = require_auth2();
    function defaultAuthenticate(value, state) {
      if (value.username === this.options.username && value.password === this.options.password) {
        return true;
      }
      return false;
    }
    var factory = (authenticate = defaultAuthenticate) => {
      const choices = [
        { name: "username", message: "username" },
        {
          name: "password",
          message: "password",
          format(input) {
            if (this.options.showPassword) {
              return input;
            }
            let color = this.state.submitted ? this.styles.primary : this.styles.muted;
            return color(this.symbols.asterisk.repeat(input.length));
          }
        }
      ];
      class BasicAuthPrompt extends AuthPrompt.create(authenticate) {
        constructor(options) {
          super({ ...options, choices });
        }
        static create(authenticate2) {
          return factory(authenticate2);
        }
      }
      return BasicAuthPrompt;
    };
    module2.exports = factory();
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/boolean.js
var require_boolean = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/boolean.js"(exports2, module2) {
    "use strict";
    var Prompt = require_prompt();
    var { isPrimitive, hasColor } = require_utils14();
    var BooleanPrompt = class extends Prompt {
      constructor(options) {
        super(options);
        this.cursorHide();
      }
      async initialize() {
        let initial = await this.resolve(this.initial, this.state);
        this.input = await this.cast(initial);
        await super.initialize();
      }
      dispatch(ch) {
        if (!this.isValue(ch)) return this.alert();
        this.input = ch;
        return this.submit();
      }
      format(value) {
        let { styles, state } = this;
        return !state.submitted ? styles.primary(value) : styles.success(value);
      }
      cast(input) {
        return this.isTrue(input);
      }
      isTrue(input) {
        return /^[ty1]/i.test(input);
      }
      isFalse(input) {
        return /^[fn0]/i.test(input);
      }
      isValue(value) {
        return isPrimitive(value) && (this.isTrue(value) || this.isFalse(value));
      }
      async hint() {
        if (this.state.status === "pending") {
          let hint = await this.element("hint");
          if (!hasColor(hint)) {
            return this.styles.muted(hint);
          }
          return hint;
        }
      }
      async render() {
        let { input, size } = this.state;
        let prefix = await this.prefix();
        let sep = await this.separator();
        let msg = await this.message();
        let hint = this.styles.muted(this.default);
        let promptLine = [prefix, msg, hint, sep].filter(Boolean).join(" ");
        this.state.prompt = promptLine;
        let header = await this.header();
        let value = this.value = this.cast(input);
        let output = await this.format(value);
        let help = await this.error() || await this.hint();
        let footer = await this.footer();
        if (help && !promptLine.includes(help)) output += " " + help;
        promptLine += " " + output;
        this.clear(size);
        this.write([header, promptLine, footer].filter(Boolean).join("\n"));
        this.restore();
      }
      set value(value) {
        super.value = value;
      }
      get value() {
        return this.cast(super.value);
      }
    };
    module2.exports = BooleanPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/confirm.js
var require_confirm = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/confirm.js"(exports2, module2) {
    "use strict";
    var BooleanPrompt = require_boolean();
    var ConfirmPrompt = class extends BooleanPrompt {
      constructor(options) {
        super(options);
        this.default = this.options.default || (this.initial ? "(Y/n)" : "(y/N)");
      }
    };
    module2.exports = ConfirmPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/editable.js
var require_editable = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/editable.js"(exports2, module2) {
    "use strict";
    var Select = require_select();
    var Form = require_form();
    var form = Form.prototype;
    var Editable = class extends Select {
      constructor(options) {
        super({ ...options, multiple: true });
        this.align = [this.options.align, "left"].find((v) => v != null);
        this.emptyError = "";
        this.values = {};
      }
      dispatch(char, key) {
        let choice = this.focused;
        let parent = choice.parent || {};
        if (!choice.editable && !parent.editable) {
          if (char === "a" || char === "i") return super[char]();
        }
        return form.dispatch.call(this, char, key);
      }
      append(char, key) {
        return form.append.call(this, char, key);
      }
      delete(char, key) {
        return form.delete.call(this, char, key);
      }
      space(char) {
        return this.focused.editable ? this.append(char) : super.space();
      }
      number(char) {
        return this.focused.editable ? this.append(char) : super.number(char);
      }
      next() {
        return this.focused.editable ? form.next.call(this) : super.next();
      }
      prev() {
        return this.focused.editable ? form.prev.call(this) : super.prev();
      }
      async indicator(choice, i) {
        let symbol = choice.indicator || "";
        let value = choice.editable ? symbol : super.indicator(choice, i);
        return await this.resolve(value, this.state, choice, i) || "";
      }
      indent(choice) {
        return choice.role === "heading" ? "" : choice.editable ? " " : "  ";
      }
      async renderChoice(choice, i) {
        choice.indent = "";
        if (choice.editable) return form.renderChoice.call(this, choice, i);
        return super.renderChoice(choice, i);
      }
      error() {
        return "";
      }
      footer() {
        return this.state.error;
      }
      async validate() {
        let result2 = true;
        for (let choice of this.choices) {
          if (typeof choice.validate !== "function") {
            continue;
          }
          if (choice.role === "heading") {
            continue;
          }
          let val = choice.parent ? this.value[choice.parent.name] : this.value;
          if (choice.editable) {
            val = choice.value === choice.name ? choice.initial || "" : choice.value;
          } else if (!this.isDisabled(choice)) {
            val = choice.enabled === true;
          }
          result2 = await choice.validate(val, this.state);
          if (result2 !== true) {
            break;
          }
        }
        if (result2 !== true) {
          this.state.error = typeof result2 === "string" ? result2 : "Invalid Input";
        }
        return result2;
      }
      submit() {
        if (this.focused.newChoice === true) return super.submit();
        if (this.choices.some((ch) => ch.newChoice)) {
          return this.alert();
        }
        this.value = {};
        for (let choice of this.choices) {
          let val = choice.parent ? this.value[choice.parent.name] : this.value;
          if (choice.role === "heading") {
            this.value[choice.name] = {};
            continue;
          }
          if (choice.editable) {
            val[choice.name] = choice.value === choice.name ? choice.initial || "" : choice.value;
          } else if (!this.isDisabled(choice)) {
            val[choice.name] = choice.enabled === true;
          }
        }
        return this.base.submit.call(this);
      }
    };
    module2.exports = Editable;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/string.js
var require_string2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/string.js"(exports2, module2) {
    "use strict";
    var Prompt = require_prompt();
    var keypress = require_keypress();
    var placeholder = require_placeholder();
    var { isPrimitive } = require_utils14();
    var StringPrompt = class extends Prompt {
      constructor(options) {
        super(options);
        this.initial = isPrimitive(this.initial) ? String(this.initial) : "";
        if (this.initial) this.cursorHide();
        this.state.prevCursor = 0;
        this.state.clipboard = [];
        this.keypressTimeout = this.options.keypressTimeout !== void 0 ? this.options.keypressTimeout : null;
      }
      async keypress(input, key = input ? keypress(input, {}) : {}) {
        const now = Date.now();
        const elapsed = now - this.lastKeypress;
        this.lastKeypress = now;
        const isEnterKey = key.name === "return" || key.name === "enter";
        let prev = this.state.prevKeypress;
        let append;
        this.state.prevKeypress = key;
        if (this.keypressTimeout != null && isEnterKey) {
          if (elapsed < this.keypressTimeout) {
            return this.submit();
          }
          this.state.multilineBuffer = this.state.multilineBuffer || "";
          this.state.multilineBuffer += input;
          append = true;
          prev = null;
        }
        if (append || this.options.multiline && isEnterKey) {
          if (!prev || prev.name !== "return") {
            return this.append("\n", key);
          }
        }
        return super.keypress(input, key);
      }
      moveCursor(n) {
        this.cursor += n;
      }
      reset() {
        this.input = this.value = "";
        this.cursor = 0;
        return this.render();
      }
      dispatch(ch, key) {
        if (!ch || key.ctrl || key.code) return this.alert();
        this.append(ch);
      }
      append(ch) {
        let { cursor, input } = this.state;
        this.input = `${input}`.slice(0, cursor) + ch + `${input}`.slice(cursor);
        this.moveCursor(String(ch).length);
        this.render();
      }
      insert(str) {
        this.append(str);
      }
      delete() {
        let { cursor, input } = this.state;
        if (cursor <= 0) return this.alert();
        this.input = `${input}`.slice(0, cursor - 1) + `${input}`.slice(cursor);
        this.moveCursor(-1);
        this.render();
      }
      deleteForward() {
        let { cursor, input } = this.state;
        if (input[cursor] === void 0) return this.alert();
        this.input = `${input}`.slice(0, cursor) + `${input}`.slice(cursor + 1);
        this.render();
      }
      cutForward() {
        let pos = this.cursor;
        if (this.input.length <= pos) return this.alert();
        this.state.clipboard.push(this.input.slice(pos));
        this.input = this.input.slice(0, pos);
        this.render();
      }
      cutLeft() {
        let pos = this.cursor;
        if (pos === 0) return this.alert();
        let before = this.input.slice(0, pos);
        let after = this.input.slice(pos);
        let words = before.split(" ");
        this.state.clipboard.push(words.pop());
        this.input = words.join(" ");
        this.cursor = this.input.length;
        this.input += after;
        this.render();
      }
      paste() {
        if (!this.state.clipboard.length) return this.alert();
        this.insert(this.state.clipboard.pop());
        this.render();
      }
      toggleCursor() {
        if (this.state.prevCursor) {
          this.cursor = this.state.prevCursor;
          this.state.prevCursor = 0;
        } else {
          this.state.prevCursor = this.cursor;
          this.cursor = 0;
        }
        this.render();
      }
      first() {
        this.cursor = 0;
        this.render();
      }
      last() {
        this.cursor = this.input.length - 1;
        this.render();
      }
      next() {
        let init = this.initial != null ? String(this.initial) : "";
        if (!init || !init.startsWith(this.input)) return this.alert();
        this.input = this.initial;
        this.cursor = this.initial.length;
        this.render();
      }
      prev() {
        if (!this.input) return this.alert();
        this.reset();
      }
      backward() {
        return this.left();
      }
      forward() {
        return this.right();
      }
      right() {
        if (this.cursor >= this.input.length) return this.alert();
        this.moveCursor(1);
        return this.render();
      }
      left() {
        if (this.cursor <= 0) return this.alert();
        this.moveCursor(-1);
        return this.render();
      }
      isValue(value) {
        return !!value;
      }
      async format(input = this.value) {
        let initial = await this.resolve(this.initial, this.state);
        if (!this.state.submitted) {
          return placeholder(this, { input, initial, pos: this.cursor });
        }
        return this.styles.submitted(input || initial);
      }
      async render() {
        let size = this.state.size;
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        let prompt = [prefix, message, separator].filter(Boolean).join(" ");
        this.state.prompt = prompt;
        let header = await this.header();
        let output = await this.format();
        let help = await this.error() || await this.hint();
        let footer = await this.footer();
        if (help && !output.includes(help)) output += " " + help;
        prompt += " " + output;
        this.clear(size);
        this.write([header, prompt, footer].filter(Boolean).join("\n"));
        this.restore();
      }
    };
    module2.exports = StringPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/completer.js
var require_completer = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/completer.js"(exports2, module2) {
    "use strict";
    var unique = (arr) => arr.filter((v, i) => arr.lastIndexOf(v) === i);
    var compact = (arr) => unique(arr).filter(Boolean);
    module2.exports = (action, data = {}, value = "") => {
      let { past = [], present = "" } = data;
      let rest, prev;
      switch (action) {
        case "prev":
        case "undo":
          rest = past.slice(0, past.length - 1);
          prev = past[past.length - 1] || "";
          return {
            past: compact([value, ...rest]),
            present: prev
          };
        case "next":
        case "redo":
          rest = past.slice(1);
          prev = past[0] || "";
          return {
            past: compact([...rest, value]),
            present: prev
          };
        case "save":
          return {
            past: compact([...past, value]),
            present: ""
          };
        case "remove":
          prev = compact(past.filter((v) => v !== value));
          present = "";
          if (prev.length) {
            present = prev.pop();
          }
          return {
            past: prev,
            present
          };
        default: {
          throw new Error(`Invalid action: "${action}"`);
        }
      }
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/input.js
var require_input = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/input.js"(exports2, module2) {
    "use strict";
    var Prompt = require_string2();
    var completer = require_completer();
    var Input = class extends Prompt {
      constructor(options) {
        super(options);
        let history = this.options.history;
        if (history && history.store) {
          let initial = history.values || this.initial;
          this.autosave = !!history.autosave;
          this.store = history.store;
          this.data = this.store.get("values") || { past: [], present: initial };
          this.initial = this.data.present || this.data.past[this.data.past.length - 1];
        }
      }
      completion(action) {
        if (!this.store) return this.alert();
        this.data = completer(action, this.data, this.input);
        if (!this.data.present) return this.alert();
        this.input = this.data.present;
        this.cursor = this.input.length;
        return this.render();
      }
      altUp() {
        return this.completion("prev");
      }
      altDown() {
        return this.completion("next");
      }
      prev() {
        this.save();
        return super.prev();
      }
      save() {
        if (!this.store) return;
        this.data = completer("save", this.data, this.input);
        this.store.set("values", this.data);
      }
      submit() {
        if (this.store && this.autosave === true) {
          this.save();
        }
        return super.submit();
      }
    };
    module2.exports = Input;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/invisible.js
var require_invisible = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/invisible.js"(exports2, module2) {
    "use strict";
    var StringPrompt = require_string2();
    var InvisiblePrompt = class extends StringPrompt {
      format() {
        return "";
      }
    };
    module2.exports = InvisiblePrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/list.js
var require_list = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/list.js"(exports2, module2) {
    "use strict";
    var StringPrompt = require_string2();
    var ListPrompt = class extends StringPrompt {
      constructor(options = {}) {
        super(options);
        this.sep = this.options.separator || /, */;
        this.initial = options.initial || "";
      }
      split(input = this.value) {
        return input ? String(input).split(this.sep) : [];
      }
      format() {
        let style = this.state.submitted ? this.styles.primary : (val) => val;
        return this.list.map(style).join(", ");
      }
      async submit(value) {
        let result2 = this.state.error || await this.validate(this.list, this.state);
        if (result2 !== true) {
          this.state.error = result2;
          return super.submit();
        }
        this.value = this.list;
        return super.submit();
      }
      get list() {
        return this.split();
      }
    };
    module2.exports = ListPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/multiselect.js
var require_multiselect = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/multiselect.js"(exports2, module2) {
    "use strict";
    var Select = require_select();
    var MultiSelect = class extends Select {
      constructor(options) {
        super({ ...options, multiple: true });
      }
    };
    module2.exports = MultiSelect;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/number.js
var require_number = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/number.js"(exports2, module2) {
    "use strict";
    var StringPrompt = require_string2();
    var NumberPrompt = class extends StringPrompt {
      constructor(options = {}) {
        super({ style: "number", ...options });
        this.min = this.isValue(options.min) ? this.toNumber(options.min) : -Infinity;
        this.max = this.isValue(options.max) ? this.toNumber(options.max) : Infinity;
        this.delay = options.delay != null ? options.delay : 1e3;
        this.float = options.float !== false;
        this.round = options.round === true || options.float === false;
        this.major = options.major || 10;
        this.minor = options.minor || 1;
        this.initial = options.initial != null ? options.initial : "";
        this.input = String(this.initial);
        this.cursor = this.input.length;
        this.cursorShow();
      }
      append(ch) {
        if (!/[-+.]/.test(ch) || ch === "." && this.input.includes(".")) {
          return this.alert("invalid number");
        }
        return super.append(ch);
      }
      number(ch) {
        return super.append(ch);
      }
      next() {
        if (this.input && this.input !== this.initial) return this.alert();
        if (!this.isValue(this.initial)) return this.alert();
        this.input = this.initial;
        this.cursor = String(this.initial).length;
        return this.render();
      }
      up(number) {
        let step = number || this.minor;
        let num = this.toNumber(this.input);
        if (num > this.max + step) return this.alert();
        this.input = `${num + step}`;
        return this.render();
      }
      down(number) {
        let step = number || this.minor;
        let num = this.toNumber(this.input);
        if (num < this.min - step) return this.alert();
        this.input = `${num - step}`;
        return this.render();
      }
      shiftDown() {
        return this.down(this.major);
      }
      shiftUp() {
        return this.up(this.major);
      }
      format(input = this.input) {
        if (typeof this.options.format === "function") {
          return this.options.format.call(this, input);
        }
        return this.styles.info(input);
      }
      toNumber(value = "") {
        return this.float ? +value : Math.round(+value);
      }
      isValue(value) {
        return /^[-+]?[0-9]+((\.)|(\.[0-9]+))?$/.test(value);
      }
      submit() {
        let value = [this.input, this.initial].find((v) => this.isValue(v));
        this.value = this.toNumber(value || 0);
        return super.submit();
      }
    };
    module2.exports = NumberPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/numeral.js
var require_numeral = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/numeral.js"(exports2, module2) {
    module2.exports = require_number();
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/password.js
var require_password = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/password.js"(exports2, module2) {
    "use strict";
    var StringPrompt = require_string2();
    var PasswordPrompt = class extends StringPrompt {
      constructor(options) {
        super(options);
        this.cursorShow();
      }
      format(input = this.input) {
        if (!this.keypressed) return "";
        let color = this.state.submitted ? this.styles.primary : this.styles.muted;
        return color(this.symbols.asterisk.repeat(input.length));
      }
    };
    module2.exports = PasswordPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/scale.js
var require_scale = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/scale.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var ArrayPrompt = require_array2();
    var utils = require_utils14();
    var LikertScale = class extends ArrayPrompt {
      constructor(options = {}) {
        super(options);
        this.widths = [].concat(options.messageWidth || 50);
        this.align = [].concat(options.align || "left");
        this.linebreak = options.linebreak || false;
        this.edgeLength = options.edgeLength || 3;
        this.newline = options.newline || "\n   ";
        let start = options.startNumber || 1;
        if (typeof this.scale === "number") {
          this.scaleKey = false;
          this.scale = Array(this.scale).fill(0).map((v, i) => ({ name: i + start }));
        }
      }
      async reset() {
        this.tableized = false;
        await super.reset();
        return this.render();
      }
      tableize() {
        if (this.tableized === true) return;
        this.tableized = true;
        let longest = 0;
        for (let ch of this.choices) {
          longest = Math.max(longest, ch.message.length);
          ch.scaleIndex = ch.initial || 2;
          ch.scale = [];
          for (let i = 0; i < this.scale.length; i++) {
            ch.scale.push({ index: i });
          }
        }
        this.widths[0] = Math.min(this.widths[0], longest + 3);
      }
      async dispatch(s, key) {
        if (this.multiple) {
          return this[key.name] ? await this[key.name](s, key) : await super.dispatch(s, key);
        }
        this.alert();
      }
      heading(msg, item, i) {
        return this.styles.strong(msg);
      }
      separator() {
        return this.styles.muted(this.symbols.ellipsis);
      }
      right() {
        let choice = this.focused;
        if (choice.scaleIndex >= this.scale.length - 1) return this.alert();
        choice.scaleIndex++;
        return this.render();
      }
      left() {
        let choice = this.focused;
        if (choice.scaleIndex <= 0) return this.alert();
        choice.scaleIndex--;
        return this.render();
      }
      indent() {
        return "";
      }
      format() {
        if (this.state.submitted) {
          let values = this.choices.map((ch) => this.styles.info(ch.index));
          return values.join(", ");
        }
        return "";
      }
      pointer() {
        return "";
      }
      /**
       * Render the scale "Key". Something like:
       * @return {String}
       */
      renderScaleKey() {
        if (this.scaleKey === false) return "";
        if (this.state.submitted) return "";
        let scale = this.scale.map((item) => `   ${item.name} - ${item.message}`);
        let key = ["", ...scale].map((item) => this.styles.muted(item));
        return key.join("\n");
      }
      /**
       * Render the heading row for the scale.
       * @return {String}
       */
      renderScaleHeading(max) {
        let keys = this.scale.map((ele) => ele.name);
        if (typeof this.options.renderScaleHeading === "function") {
          keys = this.options.renderScaleHeading.call(this, max);
        }
        let diff = this.scaleLength - keys.join("").length;
        let spacing = Math.round(diff / (keys.length - 1));
        let names = keys.map((key) => this.styles.strong(key));
        let headings = names.join(" ".repeat(spacing));
        let padding = " ".repeat(this.widths[0]);
        return this.margin[3] + padding + this.margin[1] + headings;
      }
      /**
       * Render a scale indicator => ◯ or ◉ by default
       */
      scaleIndicator(choice, item, i) {
        if (typeof this.options.scaleIndicator === "function") {
          return this.options.scaleIndicator.call(this, choice, item, i);
        }
        let enabled = choice.scaleIndex === item.index;
        if (item.disabled) return this.styles.hint(this.symbols.radio.disabled);
        if (enabled) return this.styles.success(this.symbols.radio.on);
        return this.symbols.radio.off;
      }
      /**
       * Render the actual scale => ◯────◯────◉────◯────◯
       */
      renderScale(choice, i) {
        let scale = choice.scale.map((item) => this.scaleIndicator(choice, item, i));
        let padding = this.term === "Hyper" ? "" : " ";
        return scale.join(padding + this.symbols.line.repeat(this.edgeLength));
      }
      /**
       * Render a choice, including scale =>
       *   "The website is easy to navigate. ◯───◯───◉───◯───◯"
       */
      async renderChoice(choice, i) {
        await this.onChoice(choice, i);
        let focused = this.index === i;
        let pointer = await this.pointer(choice, i);
        let hint = await choice.hint;
        if (hint && !utils.hasColor(hint)) {
          hint = this.styles.muted(hint);
        }
        let pad = (str) => this.margin[3] + str.replace(/\s+$/, "").padEnd(this.widths[0], " ");
        let newline = this.newline;
        let ind = this.indent(choice);
        let message = await this.resolve(choice.message, this.state, choice, i);
        let scale = await this.renderScale(choice, i);
        let margin = this.margin[1] + this.margin[3];
        this.scaleLength = stripAnsi(scale).length;
        this.widths[0] = Math.min(this.widths[0], this.width - this.scaleLength - margin.length);
        let msg = utils.wordWrap(message, { width: this.widths[0], newline });
        let lines = msg.split("\n").map((line) => pad(line) + this.margin[1]);
        if (focused) {
          scale = this.styles.info(scale);
          lines = lines.map((line) => this.styles.info(line));
        }
        lines[0] += scale;
        if (this.linebreak) lines.push("");
        return [ind + pointer, lines.join("\n")].filter(Boolean);
      }
      async renderChoices() {
        if (this.state.submitted) return "";
        this.tableize();
        let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i));
        let visible = await Promise.all(choices);
        let heading = await this.renderScaleHeading();
        return this.margin[0] + [heading, ...visible.map((v) => v.join(" "))].join("\n");
      }
      async render() {
        let { submitted, size } = this.state;
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        let prompt = "";
        if (this.options.promptLine !== false) {
          prompt = [prefix, message, separator, ""].join(" ");
          this.state.prompt = prompt;
        }
        let header = await this.header();
        let output = await this.format();
        let key = await this.renderScaleKey();
        let help = await this.error() || await this.hint();
        let body = await this.renderChoices();
        let footer = await this.footer();
        let err = this.emptyError;
        if (output) prompt += output;
        if (help && !prompt.includes(help)) prompt += " " + help;
        if (submitted && !output && !body.trim() && this.multiple && err != null) {
          prompt += this.styles.danger(err);
        }
        this.clear(size);
        this.write([header, prompt, key, body, footer].filter(Boolean).join("\n"));
        if (!this.state.submitted) {
          this.write(this.margin[2]);
        }
        this.restore();
      }
      submit() {
        this.value = {};
        for (let choice of this.choices) {
          this.value[choice.name] = choice.scaleIndex;
        }
        return this.base.submit.call(this);
      }
    };
    module2.exports = LikertScale;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/interpolate.js
var require_interpolate = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/interpolate.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var clean = (str = "") => {
      return typeof str === "string" ? str.replace(/^['"]|['"]$/g, "") : "";
    };
    var Item = class {
      constructor(token) {
        this.name = token.key;
        this.field = token.field || {};
        this.value = clean(token.initial || this.field.initial || "");
        this.message = token.message || this.name;
        this.cursor = 0;
        this.input = "";
        this.lines = [];
      }
    };
    var tokenize = async (options = {}, defaults = {}, fn = (token) => token) => {
      let unique = /* @__PURE__ */ new Set();
      let fields = options.fields || [];
      let input = options.template;
      let tabstops = [];
      let items = [];
      let keys = [];
      let line = 1;
      if (typeof input === "function") {
        input = await input();
      }
      let i = -1;
      let next = () => input[++i];
      let peek = () => input[i + 1];
      let push = (token) => {
        token.line = line;
        tabstops.push(token);
      };
      push({ type: "bos", value: "" });
      while (i < input.length - 1) {
        let value = next();
        if (/^[^\S\n ]$/.test(value)) {
          push({ type: "text", value });
          continue;
        }
        if (value === "\n") {
          push({ type: "newline", value });
          line++;
          continue;
        }
        if (value === "\\") {
          value += next();
          push({ type: "text", value });
          continue;
        }
        if ((value === "$" || value === "#" || value === "{") && peek() === "{") {
          let n = next();
          value += n;
          let token = { type: "template", open: value, inner: "", close: "", value };
          let ch;
          while (ch = next()) {
            if (ch === "}") {
              if (peek() === "}") ch += next();
              token.value += ch;
              token.close = ch;
              break;
            }
            if (ch === ":") {
              token.initial = "";
              token.key = token.inner;
            } else if (token.initial !== void 0) {
              token.initial += ch;
            }
            token.value += ch;
            token.inner += ch;
          }
          token.template = token.open + (token.initial || token.inner) + token.close;
          token.key = token.key || token.inner;
          if (hasOwnProperty.call(defaults, token.key)) {
            token.initial = defaults[token.key];
          }
          token = fn(token);
          push(token);
          keys.push(token.key);
          unique.add(token.key);
          let item = items.find((item2) => item2.name === token.key);
          token.field = fields.find((ch2) => ch2.name === token.key);
          if (!item) {
            item = new Item(token);
            items.push(item);
          }
          item.lines.push(token.line - 1);
          continue;
        }
        let last = tabstops[tabstops.length - 1];
        if (last.type === "text" && last.line === line) {
          last.value += value;
        } else {
          push({ type: "text", value });
        }
      }
      push({ type: "eos", value: "" });
      return { input, tabstops, unique, keys, items };
    };
    module2.exports = async (prompt) => {
      let options = prompt.options;
      let required = new Set(options.required === true ? [] : options.required || []);
      let defaults = { ...options.values, ...options.initial };
      let { tabstops, items, keys } = await tokenize(options, defaults);
      let result2 = createFn("result", prompt, options);
      let format = createFn("format", prompt, options);
      let isValid = createFn("validate", prompt, options, true);
      let isVal = prompt.isValue.bind(prompt);
      return async (state = {}, submitted = false) => {
        let index = 0;
        state.required = required;
        state.items = items;
        state.keys = keys;
        state.output = "";
        let validate2 = async (value, state2, item, index2) => {
          let error = await isValid(value, state2, item, index2);
          if (error === false) {
            return "Invalid field " + item.name;
          }
          return error;
        };
        for (let token of tabstops) {
          let value = token.value;
          let key = token.key;
          if (token.type !== "template") {
            if (value) state.output += value;
            continue;
          }
          if (token.type === "template") {
            let item = items.find((ch) => ch.name === key);
            if (options.required === true) {
              state.required.add(item.name);
            }
            let val = [item.input, state.values[item.value], item.value, value].find(isVal);
            let field = item.field || {};
            let message = field.message || token.inner;
            if (submitted) {
              let error = await validate2(state.values[key], state, item, index);
              if (error && typeof error === "string" || error === false) {
                state.invalid.set(key, error);
                continue;
              }
              state.invalid.delete(key);
              let res = await result2(state.values[key], state, item, index);
              state.output += stripAnsi(res);
              continue;
            }
            item.placeholder = false;
            let before = value;
            value = await format(value, state, item, index);
            if (val !== value) {
              state.values[key] = val;
              value = prompt.styles.typing(val);
              state.missing.delete(message);
            } else {
              state.values[key] = void 0;
              val = `<${message}>`;
              value = prompt.styles.primary(val);
              item.placeholder = true;
              if (state.required.has(key)) {
                state.missing.add(message);
              }
            }
            if (state.missing.has(message) && state.validating) {
              value = prompt.styles.warning(val);
            }
            if (state.invalid.has(key) && state.validating) {
              value = prompt.styles.danger(val);
            }
            if (index === state.index) {
              if (before !== value) {
                value = prompt.styles.underline(value);
              } else {
                value = prompt.styles.heading(stripAnsi(value));
              }
            }
            index++;
          }
          if (value) {
            state.output += value;
          }
        }
        let lines = state.output.split("\n").map((l) => " " + l);
        let len = items.length;
        let done = 0;
        for (let item of items) {
          if (state.invalid.has(item.name)) {
            item.lines.forEach((i) => {
              if (lines[i][0] !== " ") return;
              lines[i] = state.styles.danger(state.symbols.bullet) + lines[i].slice(1);
            });
          }
          if (prompt.isValue(state.values[item.name])) {
            done++;
          }
        }
        state.completed = (done / len * 100).toFixed(0);
        state.output = lines.join("\n");
        return state.output;
      };
    };
    function createFn(prop, prompt, options, fallback) {
      return (value, state, item, index) => {
        if (typeof item.field[prop] === "function") {
          return item.field[prop].call(prompt, value, state, item, index);
        }
        return [fallback, value].find((v) => prompt.isValue(v));
      };
    }
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/snippet.js
var require_snippet2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/snippet.js"(exports2, module2) {
    "use strict";
    var stripAnsi = require_strip_ansi();
    var interpolate = require_interpolate();
    var Prompt = require_prompt();
    var SnippetPrompt = class extends Prompt {
      constructor(options) {
        super(options);
        this.cursorHide();
        this.reset(true);
      }
      async initialize() {
        this.interpolate = await interpolate(this);
        await super.initialize();
      }
      async reset(first) {
        this.state.keys = [];
        this.state.invalid = /* @__PURE__ */ new Map();
        this.state.missing = /* @__PURE__ */ new Set();
        this.state.completed = 0;
        this.state.values = {};
        if (first !== true) {
          await this.initialize();
          await this.render();
        }
      }
      moveCursor(n) {
        let item = this.getItem();
        this.cursor += n;
        item.cursor += n;
      }
      dispatch(ch, key) {
        if (!key.code && !key.ctrl && ch != null && this.getItem()) {
          this.append(ch, key);
          return;
        }
        this.alert();
      }
      append(ch, key) {
        let item = this.getItem();
        let prefix = item.input.slice(0, this.cursor);
        let suffix = item.input.slice(this.cursor);
        this.input = item.input = `${prefix}${ch}${suffix}`;
        this.moveCursor(1);
        this.render();
      }
      delete() {
        let item = this.getItem();
        if (this.cursor <= 0 || !item.input) return this.alert();
        let suffix = item.input.slice(this.cursor);
        let prefix = item.input.slice(0, this.cursor - 1);
        this.input = item.input = `${prefix}${suffix}`;
        this.moveCursor(-1);
        this.render();
      }
      increment(i) {
        return i >= this.state.keys.length - 1 ? 0 : i + 1;
      }
      decrement(i) {
        return i <= 0 ? this.state.keys.length - 1 : i - 1;
      }
      first() {
        this.state.index = 0;
        this.render();
      }
      last() {
        this.state.index = this.state.keys.length - 1;
        this.render();
      }
      right() {
        if (this.cursor >= this.input.length) return this.alert();
        this.moveCursor(1);
        this.render();
      }
      left() {
        if (this.cursor <= 0) return this.alert();
        this.moveCursor(-1);
        this.render();
      }
      prev() {
        this.state.index = this.decrement(this.state.index);
        this.getItem();
        this.render();
      }
      next() {
        this.state.index = this.increment(this.state.index);
        this.getItem();
        this.render();
      }
      up() {
        this.prev();
      }
      down() {
        this.next();
      }
      format(value) {
        let color = this.state.completed < 100 ? this.styles.warning : this.styles.success;
        if (this.state.submitted === true && this.state.completed !== 100) {
          color = this.styles.danger;
        }
        return color(`${this.state.completed}% completed`);
      }
      async render() {
        let { index, keys = [], submitted, size } = this.state;
        let newline = [this.options.newline, "\n"].find((v) => v != null);
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        let prompt = [prefix, message, separator].filter(Boolean).join(" ");
        this.state.prompt = prompt;
        let header = await this.header();
        let error = await this.error() || "";
        let hint = await this.hint() || "";
        let body = submitted ? "" : await this.interpolate(this.state);
        let key = this.state.key = keys[index] || "";
        let input = await this.format(key);
        let footer = await this.footer();
        if (input) prompt += " " + input;
        if (hint && !input && this.state.completed === 0) prompt += " " + hint;
        this.clear(size);
        let lines = [header, prompt, body, footer, error.trim()];
        this.write(lines.filter(Boolean).join(newline));
        this.restore();
      }
      getItem(name) {
        let { items, keys, index } = this.state;
        let item = items.find((ch) => ch.name === keys[index]);
        if (item && item.input != null) {
          this.input = item.input;
          this.cursor = item.cursor;
        }
        return item;
      }
      async submit() {
        if (typeof this.interpolate !== "function") await this.initialize();
        await this.interpolate(this.state, true);
        let { invalid, missing, output, values } = this.state;
        if (invalid.size) {
          let err = "";
          for (let [key, value] of invalid) err += `Invalid ${key}: ${value}
`;
          this.state.error = err;
          return super.submit();
        }
        if (missing.size) {
          this.state.error = "Required: " + [...missing.keys()].join(", ");
          return super.submit();
        }
        let lines = stripAnsi(output).split("\n");
        let result2 = lines.map((v) => v.slice(1)).join("\n");
        this.value = { values, result: result2 };
        return super.submit();
      }
    };
    module2.exports = SnippetPrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/sort.js
var require_sort2 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/sort.js"(exports2, module2) {
    "use strict";
    var hint = "(Use <shift>+<up/down> to sort)";
    var Prompt = require_select();
    var Sort = class extends Prompt {
      constructor(options) {
        super({ ...options, reorder: false, sort: true, multiple: true });
        this.state.hint = [this.options.hint, hint].find(this.isValue.bind(this));
      }
      indicator() {
        return "";
      }
      async renderChoice(choice, i) {
        let str = await super.renderChoice(choice, i);
        let sym = this.symbols.identicalTo + " ";
        let pre = this.index === i && this.sorting ? this.styles.muted(sym) : "  ";
        if (this.options.drag === false) pre = "";
        if (this.options.numbered === true) {
          return pre + `${i + 1} - ` + str;
        }
        return pre + str;
      }
      get selected() {
        return this.choices;
      }
      submit() {
        this.value = this.choices.map((choice) => choice.value);
        return super.submit();
      }
    };
    module2.exports = Sort;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/survey.js
var require_survey = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/survey.js"(exports2, module2) {
    "use strict";
    var ArrayPrompt = require_array2();
    var Survey = class extends ArrayPrompt {
      constructor(options = {}) {
        super(options);
        this.emptyError = options.emptyError || "No items were selected";
        this.term = process.env.TERM_PROGRAM;
        if (!this.options.header) {
          let header = ["", "4 - Strongly Agree", "3 - Agree", "2 - Neutral", "1 - Disagree", "0 - Strongly Disagree", ""];
          header = header.map((ele) => this.styles.muted(ele));
          this.state.header = header.join("\n   ");
        }
      }
      async toChoices(...args) {
        if (this.createdScales) return false;
        this.createdScales = true;
        let choices = await super.toChoices(...args);
        for (let choice of choices) {
          choice.scale = createScale(5, this.options);
          choice.scaleIdx = 2;
        }
        return choices;
      }
      dispatch() {
        this.alert();
      }
      space() {
        let choice = this.focused;
        let ele = choice.scale[choice.scaleIdx];
        let selected = ele.selected;
        choice.scale.forEach((e) => e.selected = false);
        ele.selected = !selected;
        return this.render();
      }
      indicator() {
        return "";
      }
      pointer() {
        return "";
      }
      separator() {
        return this.styles.muted(this.symbols.ellipsis);
      }
      right() {
        let choice = this.focused;
        if (choice.scaleIdx >= choice.scale.length - 1) return this.alert();
        choice.scaleIdx++;
        return this.render();
      }
      left() {
        let choice = this.focused;
        if (choice.scaleIdx <= 0) return this.alert();
        choice.scaleIdx--;
        return this.render();
      }
      indent() {
        return "   ";
      }
      async renderChoice(item, i) {
        await this.onChoice(item, i);
        let focused = this.index === i;
        let isHyper = this.term === "Hyper";
        let n = !isHyper ? 8 : 9;
        let s = !isHyper ? " " : "";
        let ln = this.symbols.line.repeat(n);
        let sp = " ".repeat(n + (isHyper ? 0 : 1));
        let dot = (enabled) => (enabled ? this.styles.success("\u25C9") : "\u25EF") + s;
        let num = i + 1 + ".";
        let color = focused ? this.styles.heading : this.styles.noop;
        let msg = await this.resolve(item.message, this.state, item, i);
        let indent = this.indent(item);
        let scale = indent + item.scale.map((e, i2) => dot(i2 === item.scaleIdx)).join(ln);
        let val = (i2) => i2 === item.scaleIdx ? color(i2) : i2;
        let next = indent + item.scale.map((e, i2) => val(i2)).join(sp);
        let line = () => [num, msg].filter(Boolean).join(" ");
        let lines = () => [line(), scale, next, " "].filter(Boolean).join("\n");
        if (focused) {
          scale = this.styles.cyan(scale);
          next = this.styles.cyan(next);
        }
        return lines();
      }
      async renderChoices() {
        if (this.state.submitted) return "";
        let choices = this.visible.map(async (ch, i) => await this.renderChoice(ch, i));
        let visible = await Promise.all(choices);
        if (!visible.length) visible.push(this.styles.danger("No matching choices"));
        return visible.join("\n");
      }
      format() {
        if (this.state.submitted) {
          let values = this.choices.map((ch) => this.styles.info(ch.scaleIdx));
          return values.join(", ");
        }
        return "";
      }
      async render() {
        let { submitted, size } = this.state;
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        let prompt = [prefix, message, separator].filter(Boolean).join(" ");
        this.state.prompt = prompt;
        let header = await this.header();
        let output = await this.format();
        let help = await this.error() || await this.hint();
        let body = await this.renderChoices();
        let footer = await this.footer();
        if (output || !help) prompt += " " + output;
        if (help && !prompt.includes(help)) prompt += " " + help;
        if (submitted && !output && !body && this.multiple && this.type !== "form") {
          prompt += this.styles.danger(this.emptyError);
        }
        this.clear(size);
        this.write([prompt, header, body, footer].filter(Boolean).join("\n"));
        this.restore();
      }
      submit() {
        this.value = {};
        for (let choice of this.choices) {
          this.value[choice.name] = choice.scaleIdx;
        }
        return this.base.submit.call(this);
      }
    };
    function createScale(n, options = {}) {
      if (Array.isArray(options.scale)) {
        return options.scale.map((ele) => ({ ...ele }));
      }
      let scale = [];
      for (let i = 1; i < n + 1; i++) scale.push({ i, selected: false });
      return scale;
    }
    module2.exports = Survey;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/text.js
var require_text = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/text.js"(exports2, module2) {
    module2.exports = require_input();
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/toggle.js
var require_toggle = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/toggle.js"(exports2, module2) {
    "use strict";
    var BooleanPrompt = require_boolean();
    var TogglePrompt = class extends BooleanPrompt {
      async initialize() {
        await super.initialize();
        this.value = this.initial = this.resolve(this.options.initial);
        this.disabled = this.options.disabled || "no";
        this.enabled = this.options.enabled || "yes";
        await this.render();
      }
      reset() {
        this.value = this.initial;
        this.render();
      }
      delete() {
        this.alert();
      }
      toggle() {
        this.value = !this.value;
        this.render();
      }
      enable() {
        if (this.value === true) return this.alert();
        this.value = true;
        this.render();
      }
      disable() {
        if (this.value === false) return this.alert();
        this.value = false;
        this.render();
      }
      up() {
        this.toggle();
      }
      down() {
        this.toggle();
      }
      right() {
        this.toggle();
      }
      left() {
        this.toggle();
      }
      next() {
        this.toggle();
      }
      prev() {
        this.toggle();
      }
      dispatch(ch = "", key) {
        switch (ch.toLowerCase()) {
          case " ":
            return this.toggle();
          case "1":
          case "y":
          case "t":
            return this.enable();
          case "0":
          case "n":
          case "f":
            return this.disable();
          default: {
            return this.alert();
          }
        }
      }
      format() {
        let active = (str) => this.styles.primary.underline(str);
        let value = [
          this.value ? this.disabled : active(this.disabled),
          this.value ? active(this.enabled) : this.enabled
        ];
        return value.join(this.styles.muted(" / "));
      }
      async render() {
        let { size } = this.state;
        let header = await this.header();
        let prefix = await this.prefix();
        let separator = await this.separator();
        let message = await this.message();
        let output = await this.format();
        let help = await this.error() || await this.hint();
        let footer = await this.footer();
        let prompt = [prefix, message, separator, output].join(" ");
        this.state.prompt = prompt;
        if (help && !prompt.includes(help)) prompt += " " + help;
        this.clear(size);
        this.write([header, prompt, footer].filter(Boolean).join("\n"));
        this.write(this.margin[2]);
        this.restore();
      }
    };
    module2.exports = TogglePrompt;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/quiz.js
var require_quiz = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/quiz.js"(exports2, module2) {
    "use strict";
    var SelectPrompt = require_select();
    var Quiz = class extends SelectPrompt {
      constructor(options) {
        super(options);
        if (typeof this.options.correctChoice !== "number" || this.options.correctChoice < 0) {
          throw new Error("Please specify the index of the correct answer from the list of choices");
        }
      }
      async toChoices(value, parent) {
        let choices = await super.toChoices(value, parent);
        if (choices.length < 2) {
          throw new Error("Please give at least two choices to the user");
        }
        if (this.options.correctChoice > choices.length) {
          throw new Error("Please specify the index of the correct answer from the list of choices");
        }
        return choices;
      }
      check(state) {
        return state.index === this.options.correctChoice;
      }
      async result(selected) {
        return {
          selectedAnswer: selected,
          correctAnswer: this.options.choices[this.options.correctChoice].value,
          correct: await this.check(this.state)
        };
      }
    };
    module2.exports = Quiz;
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/index.js
var require_prompts = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/prompts/index.js"(exports2) {
    "use strict";
    var utils = require_utils14();
    var define2 = (key, fn) => {
      utils.defineExport(exports2, key, fn);
      utils.defineExport(exports2, key.toLowerCase(), fn);
    };
    define2("AutoComplete", () => require_autocomplete());
    define2("BasicAuth", () => require_basicauth());
    define2("Confirm", () => require_confirm());
    define2("Editable", () => require_editable());
    define2("Form", () => require_form());
    define2("Input", () => require_input());
    define2("Invisible", () => require_invisible());
    define2("List", () => require_list());
    define2("MultiSelect", () => require_multiselect());
    define2("Numeral", () => require_numeral());
    define2("Password", () => require_password());
    define2("Scale", () => require_scale());
    define2("Select", () => require_select());
    define2("Snippet", () => require_snippet2());
    define2("Sort", () => require_sort2());
    define2("Survey", () => require_survey());
    define2("Text", () => require_text());
    define2("Toggle", () => require_toggle());
    define2("Quiz", () => require_quiz());
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/index.js
var require_types5 = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/lib/types/index.js"(exports2, module2) {
    module2.exports = {
      ArrayPrompt: require_array2(),
      AuthPrompt: require_auth2(),
      BooleanPrompt: require_boolean(),
      NumberPrompt: require_number(),
      StringPrompt: require_string2()
    };
  }
});

// ../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/index.js
var require_enquirer = __commonJS({
  "../node_modules/.pnpm/enquirer@2.4.1/node_modules/enquirer/index.js"(exports2, module2) {
    "use strict";
    var assert = require("assert");
    var Events = require("events");
    var utils = require_utils14();
    var Enquirer = class extends Events {
      constructor(options, answers) {
        super();
        this.options = utils.merge({}, options);
        this.answers = { ...answers };
      }
      /**
       * Register a custom prompt type.
       *
       * ```js
       * const Enquirer = require('enquirer');
       * const enquirer = new Enquirer();
       * enquirer.register('customType', require('./custom-prompt'));
       * ```
       * @name register()
       * @param {String} `type`
       * @param {Function|Prompt} `fn` `Prompt` class, or a function that returns a `Prompt` class.
       * @return {Object} Returns the Enquirer instance
       * @api public
       */
      register(type, fn) {
        if (utils.isObject(type)) {
          for (let key of Object.keys(type)) this.register(key, type[key]);
          return this;
        }
        assert.equal(typeof fn, "function", "expected a function");
        const name = type.toLowerCase();
        if (fn.prototype instanceof this.Prompt) {
          this.prompts[name] = fn;
        } else {
          this.prompts[name] = fn(this.Prompt, this);
        }
        return this;
      }
      /**
       * Prompt function that takes a "question" object or array of question objects,
       * and returns an object with responses from the user.
       *
       * ```js
       * const Enquirer = require('enquirer');
       * const enquirer = new Enquirer();
       *
       * const response = await enquirer.prompt({
       *   type: 'input',
       *   name: 'username',
       *   message: 'What is your username?'
       * });
       * console.log(response);
       * ```
       * @name prompt()
       * @param {Array|Object} `questions` Options objects for one or more prompts to run.
       * @return {Promise} Promise that returns an "answers" object with the user's responses.
       * @api public
       */
      async prompt(questions = []) {
        for (let question of [].concat(questions)) {
          try {
            if (typeof question === "function") question = await question.call(this);
            await this.ask(utils.merge({}, this.options, question));
          } catch (err) {
            return Promise.reject(err);
          }
        }
        return this.answers;
      }
      async ask(question) {
        if (typeof question === "function") {
          question = await question.call(this);
        }
        let opts = utils.merge({}, this.options, question);
        let { type, name } = question;
        let { set, get } = utils;
        if (typeof type === "function") {
          type = await type.call(this, question, this.answers);
        }
        if (!type) return this.answers[name];
        if (type === "number") type = "numeral";
        assert(this.prompts[type], `Prompt "${type}" is not registered`);
        let prompt = new this.prompts[type](opts);
        let value = get(this.answers, name);
        prompt.state.answers = this.answers;
        prompt.enquirer = this;
        if (name) {
          prompt.on("submit", (value2) => {
            this.emit("answer", name, value2, prompt);
            set(this.answers, name, value2);
          });
        }
        let emit = prompt.emit.bind(prompt);
        prompt.emit = (...args) => {
          this.emit.call(this, ...args);
          return emit(...args);
        };
        this.emit("prompt", prompt, this);
        if (opts.autofill && value != null) {
          prompt.value = prompt.input = value;
          if (opts.autofill === "show") {
            await prompt.submit();
          }
        } else {
          value = prompt.value = await prompt.run();
        }
        return value;
      }
      /**
       * Use an enquirer plugin.
       *
       * ```js
       * const Enquirer = require('enquirer');
       * const enquirer = new Enquirer();
       * const plugin = enquirer => {
       *   // do stuff to enquire instance
       * };
       * enquirer.use(plugin);
       * ```
       * @name use()
       * @param {Function} `plugin` Plugin function that takes an instance of Enquirer.
       * @return {Object} Returns the Enquirer instance.
       * @api public
       */
      use(plugin) {
        plugin.call(this, this);
        return this;
      }
      set Prompt(value) {
        this._Prompt = value;
      }
      get Prompt() {
        return this._Prompt || this.constructor.Prompt;
      }
      get prompts() {
        return this.constructor.prompts;
      }
      static set Prompt(value) {
        this._Prompt = value;
      }
      static get Prompt() {
        return this._Prompt || require_prompt();
      }
      static get prompts() {
        return require_prompts();
      }
      static get types() {
        return require_types5();
      }
      /**
       * Prompt function that takes a "question" object or array of question objects,
       * and returns an object with responses from the user.
       *
       * ```js
       * const { prompt } = require('enquirer');
       * const response = await prompt({
       *   type: 'input',
       *   name: 'username',
       *   message: 'What is your username?'
       * });
       * console.log(response);
       * ```
       * @name Enquirer#prompt
       * @param {Array|Object} `questions` Options objects for one or more prompts to run.
       * @return {Promise} Promise that returns an "answers" object with the user's responses.
       * @api public
       */
      static get prompt() {
        const fn = (questions, ...rest) => {
          let enquirer = new this(...rest);
          let emit = enquirer.emit.bind(enquirer);
          enquirer.emit = (...args) => {
            fn.emit(...args);
            return emit(...args);
          };
          return enquirer.prompt(questions);
        };
        utils.mixinEmitter(fn, new Events());
        return fn;
      }
    };
    utils.mixinEmitter(Enquirer, new Events());
    var prompts = Enquirer.prompts;
    for (let name of Object.keys(prompts)) {
      let key = name.toLowerCase();
      let run = (options) => new prompts[name](options).run();
      Enquirer.prompt[key] = run;
      Enquirer[key] = run;
      if (!Enquirer[name]) {
        Reflect.defineProperty(Enquirer, name, { get: () => prompts[name] });
      }
    }
    var define2 = (name) => {
      utils.defineExport(Enquirer, name, () => Enquirer.types[name]);
    };
    define2("ArrayPrompt");
    define2("AuthPrompt");
    define2("BooleanPrompt");
    define2("NumberPrompt");
    define2("StringPrompt");
    module2.exports = Enquirer;
  }
});

// ../cli/common-cli-options-help/lib/index.js
var require_lib96 = __commonJS({
  "../cli/common-cli-options-help/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.OUTPUT_OPTIONS = exports2.FILTERING = exports2.UNIVERSAL_OPTIONS = exports2.OPTIONS = void 0;
    exports2.OPTIONS = {
      globalDir: {
        description: "Specify a custom directory to store global packages",
        name: "--global-dir"
      },
      ignoreScripts: {
        description: "Don't run lifecycle scripts",
        name: "--ignore-scripts"
      },
      offline: {
        description: "Trigger an error if any required dependencies are not available in local store",
        name: "--offline"
      },
      preferOffline: {
        description: "Skip staleness checks for cached data, but request missing data from the server",
        name: "--prefer-offline"
      },
      storeDir: {
        description: "The directory in which all the packages are saved on the disk",
        name: "--store-dir <dir>"
      },
      virtualStoreDir: {
        description: "The directory with links to the store (default is node_modules/.pnpm). All direct and indirect dependencies of the project are linked into this directory",
        name: "--virtual-store-dir <dir>"
      }
    };
    exports2.UNIVERSAL_OPTIONS = [
      {
        description: "Controls colors in the output. By default, output is always colored when it goes directly to a terminal",
        name: "--[no-]color"
      },
      {
        description: "Output usage information",
        name: "--help",
        shortAlias: "-h"
      },
      {
        description: `Change to directory <dir> (default: ${process.cwd()})`,
        name: "--dir <dir>",
        shortAlias: "-C"
      },
      {
        description: "Run the command on the root workspace project",
        name: "--workspace-root",
        shortAlias: "-w"
      },
      {
        description: 'What level of logs to report. Any logs at or higher than the given level will be shown. Levels (lowest to highest): debug, info, warn, error. Or use "--silent" to turn off all logging.',
        name: "--loglevel <level>"
      },
      {
        description: "Stream output from child processes immediately, prefixed with the originating package directory. This allows output from different packages to be interleaved.",
        name: "--stream"
      },
      {
        description: "Aggregate output from child processes that are run in parallel, and only print output when child process is finished. It makes reading large logs after running `pnpm recursive` with `--parallel` or with `--workspace-concurrency` much easier (especially on CI). Only `--reporter=append-only` is supported.",
        name: "--aggregate-output"
      },
      {
        description: "Divert all output to stderr",
        name: "--use-stderr"
      }
    ];
    exports2.FILTERING = {
      list: [
        {
          description: 'Restricts the scope to package names matching the given pattern. E.g.: foo, "@bar/*"',
          name: "--filter <pattern>"
        },
        {
          description: "Includes all direct and indirect dependencies of the matched packages. E.g.: foo...",
          name: "--filter <pattern>..."
        },
        {
          description: "Includes only the direct and indirect dependencies of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: foo^... (foo^^... in Command Prompt)",
          name: "--filter <pattern>^..."
        },
        {
          description: 'Includes all direct and indirect dependents of the matched packages. E.g.: ...foo, "...@bar/*"',
          name: "--filter ...<pattern>"
        },
        {
          description: "Includes only the direct and indirect dependents of the matched packages without including the matched packages themselves. ^ must be doubled at the Windows Command Prompt. E.g.: ...^foo (...^^foo in Command Prompt)",
          name: "--filter ...^<pattern>"
        },
        {
          description: "Includes all packages that are inside a given subdirectory. E.g.: ./components",
          name: "--filter ./<dir>"
        },
        {
          description: "Includes all packages that are under the current working directory",
          name: "--filter ."
        },
        {
          description: 'Includes all projects that are under the specified directory. It may be used with "..." to select dependents/dependencies as well. It also may be combined with "[<since>]". For instance, all changed projects inside a directory: "{packages}[origin/master]"',
          name: "--filter {<dir>}"
        },
        {
          description: 'Includes all packages changed since the specified commit/branch. E.g.: "[master]", "[HEAD~2]". It may be used together with "...". So, for instance, "...[HEAD~1]" selects all packages changed in the last commit and their dependents',
          name: '--filter "[<since>]"'
        },
        {
          description: 'If a selector starts with ! (or \\! in zsh), it means the packages matching the selector must be excluded. E.g., "pnpm --filter !foo" selects all packages except "foo"',
          name: "--filter !<selector>"
        },
        {
          description: 'Defines files related to tests. Useful with the changed since filter. When selecting only changed packages and their dependent packages, the dependent packages will be ignored in case a package has changes only in tests. Usage example: pnpm --filter="...[origin/master]" --test-pattern="test/*" test',
          name: "--test-pattern <pattern>"
        },
        {
          description: 'Defines files to ignore when filtering for changed projects since the specified commit/branch. Usage example: pnpm --filter="...[origin/master]" --changed-files-ignore-pattern="**/README.md" build',
          name: "--changed-files-ignore-pattern <pattern>"
        },
        {
          description: "Restricts the scope to package names matching the given pattern similar to --filter, but it ignores devDependencies when searching for dependencies and dependents.",
          name: "--filter-prod <pattern>"
        },
        {
          description: "If no projects are matched by the command, exit with exit code 1 (fail)",
          name: "--fail-if-no-match"
        }
      ],
      title: "Filtering options (run the command only on packages that satisfy at least one of the selectors)"
    };
    exports2.OUTPUT_OPTIONS = {
      title: "Output",
      list: [
        {
          description: "No output is logged to the console, except fatal errors",
          name: "--silent, --reporter silent",
          shortAlias: "-s"
        },
        {
          description: "The default reporter when the stdout is TTY",
          name: "--reporter default"
        },
        {
          description: "The output is always appended to the end. No cursor manipulations are performed",
          name: "--reporter append-only"
        },
        {
          description: "The most verbose reporter. Prints all logs in ndjson format",
          name: "--reporter ndjson"
        }
      ]
    };
  }
});

// ../node_modules/.pnpm/promise-share@1.0.0/node_modules/promise-share/index.js
var require_promise_share = __commonJS({
  "../node_modules/.pnpm/promise-share@1.0.0/node_modules/promise-share/index.js"(exports2, module2) {
    "use strict";
    var pReflect = require_p_reflect();
    module2.exports = function pShare(p) {
      const reflected = pReflect(p);
      return async () => {
        const reflection = await reflected;
        if (reflection.isRejected) throw reflection.reason;
        return reflection.value;
      };
    };
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js
function rng() {
  if (poolPtr > rnds8Pool.length - 16) {
    import_crypto.default.randomFillSync(rnds8Pool);
    poolPtr = 0;
  }
  return rnds8Pool.slice(poolPtr, poolPtr += 16);
}
var import_crypto, rnds8Pool, poolPtr;
var init_rng = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/rng.js"() {
    import_crypto = __toESM(require("crypto"));
    rnds8Pool = new Uint8Array(256);
    poolPtr = rnds8Pool.length;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/regex.js
var regex_default;
var init_regex = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/regex.js"() {
    regex_default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/validate.js
function validate(uuid) {
  return typeof uuid === "string" && regex_default.test(uuid);
}
var validate_default;
var init_validate = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/validate.js"() {
    init_regex();
    validate_default = validate;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js
function unsafeStringify(arr, offset = 0) {
  return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
}
function stringify(arr, offset = 0) {
  const uuid = unsafeStringify(arr, offset);
  if (!validate_default(uuid)) {
    throw TypeError("Stringified UUID is invalid");
  }
  return uuid;
}
var byteToHex, stringify_default;
var init_stringify = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/stringify.js"() {
    init_validate();
    byteToHex = [];
    for (let i = 0; i < 256; ++i) {
      byteToHex.push((i + 256).toString(16).slice(1));
    }
    stringify_default = stringify;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v1.js
function v1(options, buf, offset) {
  let i = buf && offset || 0;
  const b = buf || new Array(16);
  options = options || {};
  let node = options.node || _nodeId;
  let clockseq = options.clockseq !== void 0 ? options.clockseq : _clockseq;
  if (node == null || clockseq == null) {
    const seedBytes = options.random || (options.rng || rng)();
    if (node == null) {
      node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
    }
    if (clockseq == null) {
      clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
    }
  }
  let msecs = options.msecs !== void 0 ? options.msecs : Date.now();
  let nsecs = options.nsecs !== void 0 ? options.nsecs : _lastNSecs + 1;
  const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
  if (dt < 0 && options.clockseq === void 0) {
    clockseq = clockseq + 1 & 16383;
  }
  if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === void 0) {
    nsecs = 0;
  }
  if (nsecs >= 1e4) {
    throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
  }
  _lastMSecs = msecs;
  _lastNSecs = nsecs;
  _clockseq = clockseq;
  msecs += 122192928e5;
  const tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
  b[i++] = tl >>> 24 & 255;
  b[i++] = tl >>> 16 & 255;
  b[i++] = tl >>> 8 & 255;
  b[i++] = tl & 255;
  const tmh = msecs / 4294967296 * 1e4 & 268435455;
  b[i++] = tmh >>> 8 & 255;
  b[i++] = tmh & 255;
  b[i++] = tmh >>> 24 & 15 | 16;
  b[i++] = tmh >>> 16 & 255;
  b[i++] = clockseq >>> 8 | 128;
  b[i++] = clockseq & 255;
  for (let n = 0; n < 6; ++n) {
    b[i + n] = node[n];
  }
  return buf || unsafeStringify(b);
}
var _nodeId, _clockseq, _lastMSecs, _lastNSecs, v1_default;
var init_v1 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v1.js"() {
    init_rng();
    init_stringify();
    _lastMSecs = 0;
    _lastNSecs = 0;
    v1_default = v1;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/parse.js
function parse(uuid) {
  if (!validate_default(uuid)) {
    throw TypeError("Invalid UUID");
  }
  let v;
  const arr = new Uint8Array(16);
  arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
  arr[1] = v >>> 16 & 255;
  arr[2] = v >>> 8 & 255;
  arr[3] = v & 255;
  arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
  arr[5] = v & 255;
  arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
  arr[7] = v & 255;
  arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
  arr[9] = v & 255;
  arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 1099511627776 & 255;
  arr[11] = v / 4294967296 & 255;
  arr[12] = v >>> 24 & 255;
  arr[13] = v >>> 16 & 255;
  arr[14] = v >>> 8 & 255;
  arr[15] = v & 255;
  return arr;
}
var parse_default;
var init_parse = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/parse.js"() {
    init_validate();
    parse_default = parse;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v35.js
function stringToBytes(str) {
  str = unescape(encodeURIComponent(str));
  const bytes = [];
  for (let i = 0; i < str.length; ++i) {
    bytes.push(str.charCodeAt(i));
  }
  return bytes;
}
function v35(name, version2, hashfunc) {
  function generateUUID(value, namespace, buf, offset) {
    var _namespace;
    if (typeof value === "string") {
      value = stringToBytes(value);
    }
    if (typeof namespace === "string") {
      namespace = parse_default(namespace);
    }
    if (((_namespace = namespace) === null || _namespace === void 0 ? void 0 : _namespace.length) !== 16) {
      throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");
    }
    let bytes = new Uint8Array(16 + value.length);
    bytes.set(namespace);
    bytes.set(value, namespace.length);
    bytes = hashfunc(bytes);
    bytes[6] = bytes[6] & 15 | version2;
    bytes[8] = bytes[8] & 63 | 128;
    if (buf) {
      offset = offset || 0;
      for (let i = 0; i < 16; ++i) {
        buf[offset + i] = bytes[i];
      }
      return buf;
    }
    return unsafeStringify(bytes);
  }
  try {
    generateUUID.name = name;
  } catch (err) {
  }
  generateUUID.DNS = DNS;
  generateUUID.URL = URL2;
  return generateUUID;
}
var DNS, URL2;
var init_v35 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v35.js"() {
    init_stringify();
    init_parse();
    DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
    URL2 = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/md5.js
function md5(bytes) {
  if (Array.isArray(bytes)) {
    bytes = Buffer.from(bytes);
  } else if (typeof bytes === "string") {
    bytes = Buffer.from(bytes, "utf8");
  }
  return import_crypto2.default.createHash("md5").update(bytes).digest();
}
var import_crypto2, md5_default;
var init_md5 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/md5.js"() {
    import_crypto2 = __toESM(require("crypto"));
    md5_default = md5;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v3.js
var v3, v3_default;
var init_v3 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v3.js"() {
    init_v35();
    init_md5();
    v3 = v35("v3", 48, md5_default);
    v3_default = v3;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js
var import_crypto3, native_default;
var init_native = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/native.js"() {
    import_crypto3 = __toESM(require("crypto"));
    native_default = {
      randomUUID: import_crypto3.default.randomUUID
    };
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js
function v4(options, buf, offset) {
  if (native_default.randomUUID && !buf && !options) {
    return native_default.randomUUID();
  }
  options = options || {};
  const rnds = options.random || (options.rng || rng)();
  rnds[6] = rnds[6] & 15 | 64;
  rnds[8] = rnds[8] & 63 | 128;
  if (buf) {
    offset = offset || 0;
    for (let i = 0; i < 16; ++i) {
      buf[offset + i] = rnds[i];
    }
    return buf;
  }
  return unsafeStringify(rnds);
}
var v4_default;
var init_v4 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v4.js"() {
    init_native();
    init_rng();
    init_stringify();
    v4_default = v4;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/sha1.js
function sha1(bytes) {
  if (Array.isArray(bytes)) {
    bytes = Buffer.from(bytes);
  } else if (typeof bytes === "string") {
    bytes = Buffer.from(bytes, "utf8");
  }
  return import_crypto4.default.createHash("sha1").update(bytes).digest();
}
var import_crypto4, sha1_default;
var init_sha1 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/sha1.js"() {
    import_crypto4 = __toESM(require("crypto"));
    sha1_default = sha1;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v5.js
var v5, v5_default;
var init_v5 = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/v5.js"() {
    init_v35();
    init_sha1();
    v5 = v35("v5", 80, sha1_default);
    v5_default = v5;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/nil.js
var nil_default;
var init_nil = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/nil.js"() {
    nil_default = "00000000-0000-0000-0000-000000000000";
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/version.js
function version(uuid) {
  if (!validate_default(uuid)) {
    throw TypeError("Invalid UUID");
  }
  return parseInt(uuid.slice(14, 15), 16);
}
var version_default;
var init_version = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/version.js"() {
    init_validate();
    version_default = version;
  }
});

// ../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js
var esm_node_exports = {};
__export(esm_node_exports, {
  NIL: () => nil_default,
  parse: () => parse_default,
  stringify: () => stringify_default,
  v1: () => v1_default,
  v3: () => v3_default,
  v4: () => v4_default,
  v5: () => v5_default,
  validate: () => validate_default,
  version: () => version_default
});
var init_esm_node = __esm({
  "../node_modules/.pnpm/uuid@9.0.1/node_modules/uuid/dist/esm-node/index.js"() {
    init_v1();
    init_v3();
    init_v4();
    init_v5();
    init_nil();
    init_version();
    init_validate();
    init_stringify();
    init_parse();
  }
});

// ../store/server/lib/connectStoreController.js
var require_connectStoreController = __commonJS({
  "../store/server/lib/connectStoreController.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.connectStoreController = connectStoreController;
    var fetch_1 = require_lib55();
    var p_limit_12 = __importDefault2(require_p_limit());
    var promise_share_1 = __importDefault2(require_promise_share());
    var uuid_1 = (init_esm_node(), __toCommonJS(esm_node_exports));
    async function connectStoreController(initOpts) {
      const remotePrefix = initOpts.remotePrefix;
      const limitedFetch = limitFetch.bind(null, (0, p_limit_12.default)(initOpts.concurrency ?? 100));
      return new Promise((resolve, reject) => {
        resolve({
          close: async () => {
          },
          fetchPackage: fetchPackage.bind(null, remotePrefix, limitedFetch),
          getFilesIndexFilePath: () => ({ filesIndexFile: "", target: "" }),
          // NOT IMPLEMENTED
          importPackage: async (to, opts) => {
            return limitedFetch(`${remotePrefix}/importPackage`, {
              opts,
              to
            });
          },
          prune: async () => {
            await limitedFetch(`${remotePrefix}/prune`, {});
          },
          requestPackage: requestPackage.bind(null, remotePrefix, limitedFetch),
          stop: async () => {
            await limitedFetch(`${remotePrefix}/stop`, {});
          },
          upload: async (builtPkgLocation, opts) => {
            await limitedFetch(`${remotePrefix}/upload`, {
              builtPkgLocation,
              opts
            });
          },
          clearResolutionCache: () => {
          }
        });
      });
    }
    function limitFetch(limit, url, body) {
      return limit(async () => {
        if (url.startsWith("http://unix:")) {
          url = url.replace("http://unix:", "unix:");
        }
        const response = await (0, fetch_1.fetch)(url, {
          body: JSON.stringify(body),
          headers: { "Content-Type": "application/json" },
          method: "POST",
          retry: {
            retries: 100
          }
        });
        if (!response.ok) {
          throw await response.json();
        }
        const json = await response.json();
        if (json.error) {
          throw json.error;
        }
        return json;
      });
    }
    async function requestPackage(remotePrefix, limitedFetch, wantedDependency, options) {
      const msgId = (0, uuid_1.v4)();
      const packageResponseBody = await limitedFetch(`${remotePrefix}/requestPackage`, {
        msgId,
        options,
        wantedDependency
      });
      if (options.skipFetch === true) {
        return { body: packageResponseBody };
      }
      const fetchingFiles = limitedFetch(`${remotePrefix}/packageFilesResponse`, {
        msgId
      });
      return {
        body: packageResponseBody,
        fetching: (0, promise_share_1.default)(fetchingFiles)
      };
    }
    async function fetchPackage(remotePrefix, limitedFetch, options) {
      const msgId = (0, uuid_1.v4)();
      const fetchResponseBody = await limitedFetch(`${remotePrefix}/fetchPackage`, {
        msgId,
        options
      });
      const fetching = limitedFetch(`${remotePrefix}/packageFilesResponse`, {
        msgId
      });
      return {
        fetching: (0, promise_share_1.default)(fetching),
        filesIndexFile: fetchResponseBody.filesIndexFile,
        inStoreLocation: fetchResponseBody.inStoreLocation
      };
    }
  }
});

// ../store/server/lib/lock.js
var require_lock = __commonJS({
  "../store/server/lib/lock.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.locking = locking;
    function locking() {
      const locks = {};
      return async (key, fn) => {
        if (locks[key] != null)
          return locks[key];
        locks[key] = fn();
        fn().then(() => delete locks[key], () => delete locks[key]);
        return locks[key];
      };
    }
  }
});

// ../store/server/lib/createServer.js
var require_createServer = __commonJS({
  "../store/server/lib/createServer.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createServer = createServer;
    var assert_1 = __importDefault2(require("assert"));
    var http_1 = __importDefault2(require("http"));
    var util_1 = __importDefault2(require("util"));
    var logger_1 = require_lib();
    var lock_1 = require_lock();
    function createServer(store, opts) {
      const filesPromises = {};
      const lock = (0, lock_1.locking)();
      const server = http_1.default.createServer(async (req, res) => {
        if (req.method !== "POST") {
          res.statusCode = 405;
          const responseError = { error: `Only POST is allowed, received ${req.method ?? "unknown"}` };
          res.setHeader("Allow", "POST");
          res.end(JSON.stringify(responseError));
          return;
        }
        const bodyPromise = new Promise((resolve, reject) => {
          let body = "";
          req.on("data", (data) => {
            body += data;
          });
          req.on("end", async () => {
            try {
              if (body.length > 0) {
                body = JSON.parse(body);
              } else {
                body = {};
              }
              resolve(body);
            } catch (e) {
              reject(e);
            }
          });
        });
        try {
          let body;
          switch (req.url) {
            case "/requestPackage": {
              try {
                body = await bodyPromise;
                const pkgResponse = await store.requestPackage(body.wantedDependency, body.options);
                if (pkgResponse.fetching) {
                  filesPromises[body.msgId] = pkgResponse.fetching;
                }
                res.end(JSON.stringify(pkgResponse.body));
              } catch (err) {
                (0, assert_1.default)(util_1.default.types.isNativeError(err));
                res.end(JSON.stringify({
                  error: {
                    message: err.message,
                    ...JSON.parse(JSON.stringify(err))
                  }
                }));
              }
              break;
            }
            case "/fetchPackage": {
              try {
                body = await bodyPromise;
                const pkgResponse = store.fetchPackage(body.options);
                filesPromises[body.msgId] = pkgResponse.fetching;
                res.end(JSON.stringify({ filesIndexFile: pkgResponse.filesIndexFile }));
              } catch (err) {
                (0, assert_1.default)(util_1.default.types.isNativeError(err));
                res.end(JSON.stringify({
                  error: {
                    message: err.message,
                    ...JSON.parse(JSON.stringify(err))
                  }
                }));
              }
              break;
            }
            case "/packageFilesResponse": {
              body = await bodyPromise;
              const filesResponse = await filesPromises[body.msgId]();
              delete filesPromises[body.msgId];
              res.end(JSON.stringify(filesResponse));
              break;
            }
            case "/prune":
              res.statusCode = 403;
              res.end();
              break;
            case "/importPackage": {
              const importPackageBody = await bodyPromise;
              await store.importPackage(importPackageBody.to, importPackageBody.opts);
              res.end(JSON.stringify("OK"));
              break;
            }
            case "/upload": {
              if (opts.ignoreUploadRequests) {
                res.statusCode = 403;
                res.end();
                break;
              }
              const uploadBody = await bodyPromise;
              await lock(uploadBody.builtPkgLocation, async () => store.upload(uploadBody.builtPkgLocation, uploadBody.opts));
              res.end(JSON.stringify("OK"));
              break;
            }
            case "/stop":
              if (opts.ignoreStopRequests) {
                res.statusCode = 403;
                res.end();
                break;
              }
              (0, logger_1.globalInfo)("Got request to stop the server");
              await close();
              res.end(JSON.stringify("OK"));
              (0, logger_1.globalInfo)("Server stopped");
              break;
            default: {
              res.statusCode = 404;
              const error = { error: `${req.url} does not match any route` };
              res.end(JSON.stringify(error));
            }
          }
        } catch (e) {
          res.statusCode = 503;
          const jsonErr = JSON.parse(JSON.stringify(e));
          jsonErr.message = e.message;
          res.end(JSON.stringify(jsonErr));
        }
      });
      let listener;
      if (opts.path) {
        listener = server.listen(opts.path);
      } else {
        listener = server.listen(opts.port, opts.hostname);
      }
      const waitForClose = new Promise((resolve) => listener.once("close", () => {
        resolve();
      }));
      return { close, waitForClose };
      async function close() {
        listener.close();
        return store.close();
      }
    }
  }
});

// ../store/server/lib/index.js
var require_lib97 = __commonJS({
  "../store/server/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createServer = exports2.connectStoreController = void 0;
    var connectStoreController_1 = require_connectStoreController();
    Object.defineProperty(exports2, "connectStoreController", { enumerable: true, get: function() {
      return connectStoreController_1.connectStoreController;
    } });
    var createServer_1 = require_createServer();
    Object.defineProperty(exports2, "createServer", { enumerable: true, get: function() {
      return createServer_1.createServer;
    } });
  }
});

// ../node_modules/.pnpm/delay@5.0.0/node_modules/delay/index.js
var require_delay2 = __commonJS({
  "../node_modules/.pnpm/delay@5.0.0/node_modules/delay/index.js"(exports2, module2) {
    "use strict";
    var randomInteger = (minimum, maximum) => Math.floor(Math.random() * (maximum - minimum + 1) + minimum);
    var createAbortError = () => {
      const error = new Error("Delay aborted");
      error.name = "AbortError";
      return error;
    };
    var createDelay = ({ clearTimeout: defaultClear, setTimeout: set, willResolve }) => (ms, { value, signal } = {}) => {
      if (signal && signal.aborted) {
        return Promise.reject(createAbortError());
      }
      let timeoutId;
      let settle;
      let rejectFn;
      const clear = defaultClear || clearTimeout;
      const signalListener = () => {
        clear(timeoutId);
        rejectFn(createAbortError());
      };
      const cleanup = () => {
        if (signal) {
          signal.removeEventListener("abort", signalListener);
        }
      };
      const delayPromise = new Promise((resolve, reject) => {
        settle = () => {
          cleanup();
          if (willResolve) {
            resolve(value);
          } else {
            reject(value);
          }
        };
        rejectFn = reject;
        timeoutId = (set || setTimeout)(settle, ms);
      });
      if (signal) {
        signal.addEventListener("abort", signalListener, { once: true });
      }
      delayPromise.clear = () => {
        clear(timeoutId);
        timeoutId = null;
        settle();
      };
      return delayPromise;
    };
    var createWithTimers = (clearAndSet) => {
      const delay2 = createDelay({ ...clearAndSet, willResolve: true });
      delay2.reject = createDelay({ ...clearAndSet, willResolve: false });
      delay2.range = (minimum, maximum, options) => delay2(randomInteger(minimum, maximum), options);
      return delay2;
    };
    var delay = createWithTimers();
    delay.createWithTimers = createWithTimers;
    module2.exports = delay;
    module2.exports.default = delay;
  }
});

// ../packages/dependency-path/lib/index.js
var require_lib98 = __commonJS({
  "../packages/dependency-path/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isAbsolute = isAbsolute;
    exports2.indexOfPeersSuffix = indexOfPeersSuffix;
    exports2.parseDepPath = parseDepPath;
    exports2.removeSuffix = removeSuffix;
    exports2.getPkgIdWithPatchHash = getPkgIdWithPatchHash;
    exports2.tryGetPackageId = tryGetPackageId;
    exports2.getRegistryByPackageName = getRegistryByPackageName;
    exports2.refToRelative = refToRelative;
    exports2.parse = parse2;
    exports2.depPathToFilename = depPathToFilename;
    exports2.createPeersDirSuffix = createPeersDirSuffix;
    var crypto_hash_1 = require_lib40();
    var semver_12 = __importDefault2(require_semver2());
    function isAbsolute(dependencyPath) {
      return dependencyPath[0] !== "/";
    }
    function indexOfPeersSuffix(depPath) {
      if (!depPath.endsWith(")"))
        return { peersIndex: -1, patchHashIndex: -1 };
      let open = 1;
      for (let i = depPath.length - 2; i >= 0; i--) {
        if (depPath[i] === "(") {
          open--;
        } else if (depPath[i] === ")") {
          open++;
        } else if (!open) {
          if (depPath.substring(i + 1).startsWith("(patch_hash=")) {
            return {
              patchHashIndex: i + 1,
              peersIndex: depPath.indexOf("(", i + 2)
            };
          }
          return {
            patchHashIndex: -1,
            peersIndex: i + 1
          };
        }
      }
      return { peersIndex: -1, patchHashIndex: -1 };
    }
    function parseDepPath(relDepPath) {
      const { peersIndex } = indexOfPeersSuffix(relDepPath);
      if (peersIndex !== -1) {
        return {
          id: relDepPath.substring(0, peersIndex),
          peersSuffix: relDepPath.substring(peersIndex)
        };
      }
      return {
        id: relDepPath,
        peersSuffix: ""
      };
    }
    function removeSuffix(relDepPath) {
      const { peersIndex, patchHashIndex } = indexOfPeersSuffix(relDepPath);
      if (patchHashIndex !== -1) {
        return relDepPath.substring(0, patchHashIndex);
      }
      if (peersIndex !== -1) {
        return relDepPath.substring(0, peersIndex);
      }
      return relDepPath;
    }
    function getPkgIdWithPatchHash(depPath) {
      let pkgId = depPath;
      const { peersIndex: sepIndex } = indexOfPeersSuffix(pkgId);
      if (sepIndex !== -1) {
        pkgId = pkgId.substring(0, sepIndex);
      }
      if (pkgId.includes(":")) {
        pkgId = pkgId.substring(pkgId.indexOf("@", 1) + 1);
      }
      return pkgId;
    }
    function tryGetPackageId(relDepPath) {
      let pkgId = relDepPath;
      const { peersIndex, patchHashIndex } = indexOfPeersSuffix(pkgId);
      const sepIndex = patchHashIndex === -1 ? peersIndex : patchHashIndex;
      if (sepIndex !== -1) {
        pkgId = pkgId.substring(0, sepIndex);
      }
      if (pkgId.includes(":")) {
        pkgId = pkgId.substring(pkgId.indexOf("@", 1) + 1);
      }
      return pkgId;
    }
    function getRegistryByPackageName(registries, packageName) {
      if (packageName[0] !== "@")
        return registries.default;
      const scope = packageName.substring(0, packageName.indexOf("/"));
      return registries[scope] || registries.default;
    }
    function refToRelative(reference, pkgName) {
      if (reference.startsWith("link:")) {
        return null;
      }
      if (reference.startsWith("@"))
        return reference;
      const atIndex = reference.indexOf("@");
      if (atIndex === -1)
        return `${pkgName}@${reference}`;
      const colonIndex = reference.indexOf(":");
      const bracketIndex = reference.indexOf("(");
      if ((colonIndex === -1 || atIndex < colonIndex) && (bracketIndex === -1 || atIndex < bracketIndex))
        return reference;
      return `${pkgName}@${reference}`;
    }
    function parse2(dependencyPath) {
      if (typeof dependencyPath !== "string") {
        throw new TypeError(`Expected \`dependencyPath\` to be of type \`string\`, got \`${// eslint-disable-next-line: strict-type-predicates
        dependencyPath === null ? "null" : typeof dependencyPath}\``);
      }
      const sepIndex = dependencyPath.indexOf("@", 1);
      if (sepIndex === -1) {
        return {};
      }
      const name = dependencyPath.substring(0, sepIndex);
      let version2 = dependencyPath.substring(sepIndex + 1);
      if (version2) {
        let peersSuffix;
        let patchHash;
        const { peersIndex, patchHashIndex } = indexOfPeersSuffix(version2);
        if (peersIndex !== -1 || patchHashIndex !== -1) {
          if (peersIndex === -1) {
            patchHash = version2.substring(patchHashIndex);
            version2 = version2.substring(0, patchHashIndex);
          } else if (patchHashIndex === -1) {
            peersSuffix = version2.substring(peersIndex);
            version2 = version2.substring(0, peersIndex);
          } else {
            patchHash = version2.substring(patchHashIndex, peersIndex);
            peersSuffix = version2.substring(peersIndex);
            version2 = version2.substring(0, patchHashIndex);
          }
        }
        if (semver_12.default.valid(version2)) {
          return {
            name,
            peersSuffix,
            version: version2,
            patchHash
          };
        }
        return {
          name,
          nonSemverVersion: version2,
          peersSuffix,
          patchHash
        };
      }
      return {};
    }
    function depPathToFilename(depPath, maxLengthWithoutHash) {
      let filename = depPathToFilenameUnescaped(depPath).replace(/[\\/:*?"<>|#]/g, "+");
      if (filename.includes("(")) {
        filename = filename.replace(/\)$/, "").replace(/\)\(|\(|\)/g, "_");
      }
      if (filename.length > maxLengthWithoutHash || filename !== filename.toLowerCase() && !filename.startsWith("file+")) {
        return `${filename.substring(0, maxLengthWithoutHash - 33)}_${(0, crypto_hash_1.createShortHash)(filename)}`;
      }
      return filename;
    }
    function depPathToFilenameUnescaped(depPath) {
      if (depPath.indexOf("file:") !== 0) {
        if (depPath[0] === "/") {
          depPath = depPath.substring(1);
        }
        const index = depPath.indexOf("@", 1);
        if (index === -1)
          return depPath;
        return `${depPath.substring(0, index)}@${depPath.slice(index + 1)}`;
      }
      return depPath.replace(":", "+");
    }
    function createPeersDirSuffix(peerIds, maxLength = 1e3) {
      let dirName = peerIds.map((peerId) => {
        if (typeof peerId !== "string") {
          return `${peerId.name}@${peerId.version}`;
        }
        if (peerId.startsWith("/")) {
          return peerId.substring(1);
        }
        return peerId;
      }).sort().join(")(");
      if (dirName.length > maxLength) {
        dirName = (0, crypto_hash_1.createShortHash)(dirName);
      }
      return `(${dirName})`;
    }
  }
});

// ../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js
var require_eventemitter3 = __commonJS({
  "../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(exports2, module2) {
    "use strict";
    var has = Object.prototype.hasOwnProperty;
    var prefix = "~";
    function Events() {
    }
    if (Object.create) {
      Events.prototype = /* @__PURE__ */ Object.create(null);
      if (!new Events().__proto__) prefix = false;
    }
    function EE(fn, context, once) {
      this.fn = fn;
      this.context = context;
      this.once = once || false;
    }
    function addListener(emitter, event, fn, context, once) {
      if (typeof fn !== "function") {
        throw new TypeError("The listener must be a function");
      }
      var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
      if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
      else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
      else emitter._events[evt] = [emitter._events[evt], listener];
      return emitter;
    }
    function clearEvent(emitter, evt) {
      if (--emitter._eventsCount === 0) emitter._events = new Events();
      else delete emitter._events[evt];
    }
    function EventEmitter() {
      this._events = new Events();
      this._eventsCount = 0;
    }
    EventEmitter.prototype.eventNames = function eventNames() {
      var names = [], events, name;
      if (this._eventsCount === 0) return names;
      for (name in events = this._events) {
        if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
      }
      if (Object.getOwnPropertySymbols) {
        return names.concat(Object.getOwnPropertySymbols(events));
      }
      return names;
    };
    EventEmitter.prototype.listeners = function listeners(event) {
      var evt = prefix ? prefix + event : event, handlers = this._events[evt];
      if (!handlers) return [];
      if (handlers.fn) return [handlers.fn];
      for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
        ee[i] = handlers[i].fn;
      }
      return ee;
    };
    EventEmitter.prototype.listenerCount = function listenerCount(event) {
      var evt = prefix ? prefix + event : event, listeners = this._events[evt];
      if (!listeners) return 0;
      if (listeners.fn) return 1;
      return listeners.length;
    };
    EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
      var evt = prefix ? prefix + event : event;
      if (!this._events[evt]) return false;
      var listeners = this._events[evt], len = arguments.length, args, i;
      if (listeners.fn) {
        if (listeners.once) this.removeListener(event, listeners.fn, void 0, true);
        switch (len) {
          case 1:
            return listeners.fn.call(listeners.context), true;
          case 2:
            return listeners.fn.call(listeners.context, a1), true;
          case 3:
            return listeners.fn.call(listeners.context, a1, a2), true;
          case 4:
            return listeners.fn.call(listeners.context, a1, a2, a3), true;
          case 5:
            return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;
          case 6:
            return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;
        }
        for (i = 1, args = new Array(len - 1); i < len; i++) {
          args[i - 1] = arguments[i];
        }
        listeners.fn.apply(listeners.context, args);
      } else {
        var length = listeners.length, j;
        for (i = 0; i < length; i++) {
          if (listeners[i].once) this.removeListener(event, listeners[i].fn, void 0, true);
          switch (len) {
            case 1:
              listeners[i].fn.call(listeners[i].context);
              break;
            case 2:
              listeners[i].fn.call(listeners[i].context, a1);
              break;
            case 3:
              listeners[i].fn.call(listeners[i].context, a1, a2);
              break;
            case 4:
              listeners[i].fn.call(listeners[i].context, a1, a2, a3);
              break;
            default:
              if (!args) for (j = 1, args = new Array(len - 1); j < len; j++) {
                args[j - 1] = arguments[j];
              }
              listeners[i].fn.apply(listeners[i].context, args);
          }
        }
      }
      return true;
    };
    EventEmitter.prototype.on = function on(event, fn, context) {
      return addListener(this, event, fn, context, false);
    };
    EventEmitter.prototype.once = function once(event, fn, context) {
      return addListener(this, event, fn, context, true);
    };
    EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {
      var evt = prefix ? prefix + event : event;
      if (!this._events[evt]) return this;
      if (!fn) {
        clearEvent(this, evt);
        return this;
      }
      var listeners = this._events[evt];
      if (listeners.fn) {
        if (listeners.fn === fn && (!once || listeners.once) && (!context || listeners.context === context)) {
          clearEvent(this, evt);
        }
      } else {
        for (var i = 0, events = [], length = listeners.length; i < length; i++) {
          if (listeners[i].fn !== fn || once && !listeners[i].once || context && listeners[i].context !== context) {
            events.push(listeners[i]);
          }
        }
        if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;
        else clearEvent(this, evt);
      }
      return this;
    };
    EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {
      var evt;
      if (event) {
        evt = prefix ? prefix + event : event;
        if (this._events[evt]) clearEvent(this, evt);
      } else {
        this._events = new Events();
        this._eventsCount = 0;
      }
      return this;
    };
    EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
    EventEmitter.prototype.addListener = EventEmitter.prototype.on;
    EventEmitter.prefixed = prefix;
    EventEmitter.EventEmitter = EventEmitter;
    if ("undefined" !== typeof module2) {
      module2.exports = EventEmitter;
    }
  }
});

// ../node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.js
var require_p_finally = __commonJS({
  "../node_modules/.pnpm/p-finally@1.0.0/node_modules/p-finally/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (promise, onFinally) => {
      onFinally = onFinally || (() => {
      });
      return promise.then(
        (val) => new Promise((resolve) => {
          resolve(onFinally());
        }).then(() => val),
        (err) => new Promise((resolve) => {
          resolve(onFinally());
        }).then(() => {
          throw err;
        })
      );
    };
  }
});

// ../node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.js
var require_p_timeout = __commonJS({
  "../node_modules/.pnpm/p-timeout@3.2.0/node_modules/p-timeout/index.js"(exports2, module2) {
    "use strict";
    var pFinally = require_p_finally();
    var TimeoutError = class extends Error {
      constructor(message) {
        super(message);
        this.name = "TimeoutError";
      }
    };
    var pTimeout = (promise, milliseconds, fallback) => new Promise((resolve, reject) => {
      if (typeof milliseconds !== "number" || milliseconds < 0) {
        throw new TypeError("Expected `milliseconds` to be a positive number");
      }
      if (milliseconds === Infinity) {
        resolve(promise);
        return;
      }
      const timer = setTimeout(() => {
        if (typeof fallback === "function") {
          try {
            resolve(fallback());
          } catch (error) {
            reject(error);
          }
          return;
        }
        const message = typeof fallback === "string" ? fallback : `Promise timed out after ${milliseconds} milliseconds`;
        const timeoutError = fallback instanceof Error ? fallback : new TimeoutError(message);
        if (typeof promise.cancel === "function") {
          promise.cancel();
        }
        reject(timeoutError);
      }, milliseconds);
      pFinally(
        // eslint-disable-next-line promise/prefer-await-to-then
        promise.then(resolve, reject),
        () => {
          clearTimeout(timer);
        }
      );
    });
    module2.exports = pTimeout;
    module2.exports.default = pTimeout;
    module2.exports.TimeoutError = TimeoutError;
  }
});

// ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.js
var require_lower_bound = __commonJS({
  "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/lower-bound.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    function lowerBound(array, value, comparator) {
      let first = 0;
      let count = array.length;
      while (count > 0) {
        const step = count / 2 | 0;
        let it = first + step;
        if (comparator(array[it], value) <= 0) {
          first = ++it;
          count -= step + 1;
        } else {
          count = step;
        }
      }
      return first;
    }
    exports2.default = lowerBound;
  }
});

// ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.js
var require_priority_queue = __commonJS({
  "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/priority-queue.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var lower_bound_1 = require_lower_bound();
    var PriorityQueue = class {
      constructor() {
        this._queue = [];
      }
      enqueue(run, options) {
        options = Object.assign({ priority: 0 }, options);
        const element = {
          priority: options.priority,
          run
        };
        if (this.size && this._queue[this.size - 1].priority >= options.priority) {
          this._queue.push(element);
          return;
        }
        const index = lower_bound_1.default(this._queue, element, (a, b) => b.priority - a.priority);
        this._queue.splice(index, 0, element);
      }
      dequeue() {
        const item = this._queue.shift();
        return item === null || item === void 0 ? void 0 : item.run;
      }
      filter(options) {
        return this._queue.filter((element) => element.priority === options.priority).map((element) => element.run);
      }
      get size() {
        return this._queue.length;
      }
    };
    exports2.default = PriorityQueue;
  }
});

// ../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js
var require_dist18 = __commonJS({
  "../node_modules/.pnpm/p-queue@6.6.2/node_modules/p-queue/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var EventEmitter = require_eventemitter3();
    var p_timeout_1 = require_p_timeout();
    var priority_queue_1 = require_priority_queue();
    var empty = () => {
    };
    var timeoutError = new p_timeout_1.TimeoutError();
    var PQueue = class extends EventEmitter {
      constructor(options) {
        var _a, _b, _c, _d;
        super();
        this._intervalCount = 0;
        this._intervalEnd = 0;
        this._pendingCount = 0;
        this._resolveEmpty = empty;
        this._resolveIdle = empty;
        options = Object.assign({ carryoverConcurrencyCount: false, intervalCap: Infinity, interval: 0, concurrency: Infinity, autoStart: true, queueClass: priority_queue_1.default }, options);
        if (!(typeof options.intervalCap === "number" && options.intervalCap >= 1)) {
          throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(_b = (_a = options.intervalCap) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : ""}\` (${typeof options.intervalCap})`);
        }
        if (options.interval === void 0 || !(Number.isFinite(options.interval) && options.interval >= 0)) {
          throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(_d = (_c = options.interval) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : ""}\` (${typeof options.interval})`);
        }
        this._carryoverConcurrencyCount = options.carryoverConcurrencyCount;
        this._isIntervalIgnored = options.intervalCap === Infinity || options.interval === 0;
        this._intervalCap = options.intervalCap;
        this._interval = options.interval;
        this._queue = new options.queueClass();
        this._queueClass = options.queueClass;
        this.concurrency = options.concurrency;
        this._timeout = options.timeout;
        this._throwOnTimeout = options.throwOnTimeout === true;
        this._isPaused = options.autoStart === false;
      }
      get _doesIntervalAllowAnother() {
        return this._isIntervalIgnored || this._intervalCount < this._intervalCap;
      }
      get _doesConcurrentAllowAnother() {
        return this._pendingCount < this._concurrency;
      }
      _next() {
        this._pendingCount--;
        this._tryToStartAnother();
        this.emit("next");
      }
      _resolvePromises() {
        this._resolveEmpty();
        this._resolveEmpty = empty;
        if (this._pendingCount === 0) {
          this._resolveIdle();
          this._resolveIdle = empty;
          this.emit("idle");
        }
      }
      _onResumeInterval() {
        this._onInterval();
        this._initializeIntervalIfNeeded();
        this._timeoutId = void 0;
      }
      _isIntervalPaused() {
        const now = Date.now();
        if (this._intervalId === void 0) {
          const delay = this._intervalEnd - now;
          if (delay < 0) {
            this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;
          } else {
            if (this._timeoutId === void 0) {
              this._timeoutId = setTimeout(() => {
                this._onResumeInterval();
              }, delay);
            }
            return true;
          }
        }
        return false;
      }
      _tryToStartAnother() {
        if (this._queue.size === 0) {
          if (this._intervalId) {
            clearInterval(this._intervalId);
          }
          this._intervalId = void 0;
          this._resolvePromises();
          return false;
        }
        if (!this._isPaused) {
          const canInitializeInterval = !this._isIntervalPaused();
          if (this._doesIntervalAllowAnother && this._doesConcurrentAllowAnother) {
            const job = this._queue.dequeue();
            if (!job) {
              return false;
            }
            this.emit("active");
            job();
            if (canInitializeInterval) {
              this._initializeIntervalIfNeeded();
            }
            return true;
          }
        }
        return false;
      }
      _initializeIntervalIfNeeded() {
        if (this._isIntervalIgnored || this._intervalId !== void 0) {
          return;
        }
        this._intervalId = setInterval(() => {
          this._onInterval();
        }, this._interval);
        this._intervalEnd = Date.now() + this._interval;
      }
      _onInterval() {
        if (this._intervalCount === 0 && this._pendingCount === 0 && this._intervalId) {
          clearInterval(this._intervalId);
          this._intervalId = void 0;
        }
        this._intervalCount = this._carryoverConcurrencyCount ? this._pendingCount : 0;
        this._processQueue();
      }
      /**
      Executes all queued functions until it reaches the limit.
      */
      _processQueue() {
        while (this._tryToStartAnother()) {
        }
      }
      get concurrency() {
        return this._concurrency;
      }
      set concurrency(newConcurrency) {
        if (!(typeof newConcurrency === "number" && newConcurrency >= 1)) {
          throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${newConcurrency}\` (${typeof newConcurrency})`);
        }
        this._concurrency = newConcurrency;
        this._processQueue();
      }
      /**
      Adds a sync or async task to the queue. Always returns a promise.
      */
      async add(fn, options = {}) {
        return new Promise((resolve, reject) => {
          const run = async () => {
            this._pendingCount++;
            this._intervalCount++;
            try {
              const operation = this._timeout === void 0 && options.timeout === void 0 ? fn() : p_timeout_1.default(Promise.resolve(fn()), options.timeout === void 0 ? this._timeout : options.timeout, () => {
                if (options.throwOnTimeout === void 0 ? this._throwOnTimeout : options.throwOnTimeout) {
                  reject(timeoutError);
                }
                return void 0;
              });
              resolve(await operation);
            } catch (error) {
              reject(error);
            }
            this._next();
          };
          this._queue.enqueue(run, options);
          this._tryToStartAnother();
          this.emit("add");
        });
      }
      /**
          Same as `.add()`, but accepts an array of sync or async functions.
      
          @returns A promise that resolves when all functions are resolved.
          */
      async addAll(functions, options) {
        return Promise.all(functions.map(async (function_) => this.add(function_, options)));
      }
      /**
      Start (or resume) executing enqueued tasks within concurrency limit. No need to call this if queue is not paused (via `options.autoStart = false` or by `.pause()` method.)
      */
      start() {
        if (!this._isPaused) {
          return this;
        }
        this._isPaused = false;
        this._processQueue();
        return this;
      }
      /**
      Put queue execution on hold.
      */
      pause() {
        this._isPaused = true;
      }
      /**
      Clear the queue.
      */
      clear() {
        this._queue = new this._queueClass();
      }
      /**
          Can be called multiple times. Useful if you for example add additional items at a later time.
      
          @returns A promise that settles when the queue becomes empty.
          */
      async onEmpty() {
        if (this._queue.size === 0) {
          return;
        }
        return new Promise((resolve) => {
          const existingResolve = this._resolveEmpty;
          this._resolveEmpty = () => {
            existingResolve();
            resolve();
          };
        });
      }
      /**
          The difference with `.onEmpty` is that `.onIdle` guarantees that all work from the queue has finished. `.onEmpty` merely signals that the queue is empty, but it could mean that some promises haven't completed yet.
      
          @returns A promise that settles when the queue becomes empty, and all promises have completed; `queue.size === 0 && queue.pending === 0`.
          */
      async onIdle() {
        if (this._pendingCount === 0 && this._queue.size === 0) {
          return;
        }
        return new Promise((resolve) => {
          const existingResolve = this._resolveIdle;
          this._resolveIdle = () => {
            existingResolve();
            resolve();
          };
        });
      }
      /**
      Size of the queue.
      */
      get size() {
        return this._queue.size;
      }
      /**
          Size of the queue, filtered by the given options.
      
          For example, this can be used to find the number of items remaining in the queue with a specific priority level.
          */
      sizeBy(options) {
        return this._queue.filter(options).length;
      }
      /**
      Number of pending promises.
      */
      get pending() {
        return this._pendingCount;
      }
      /**
      Whether the queue is currently paused.
      */
      get isPaused() {
        return this._isPaused;
      }
      get timeout() {
        return this._timeout;
      }
      /**
      Set the timeout for future operations.
      */
      set timeout(milliseconds) {
        this._timeout = milliseconds;
      }
    };
    exports2.default = PQueue;
  }
});

// ../node_modules/.pnpm/p-defer@3.0.0/node_modules/p-defer/index.js
var require_p_defer2 = __commonJS({
  "../node_modules/.pnpm/p-defer@3.0.0/node_modules/p-defer/index.js"(exports2, module2) {
    "use strict";
    var pDefer = () => {
      const deferred = {};
      deferred.promise = new Promise((resolve, reject) => {
        deferred.resolve = resolve;
        deferred.reject = reject;
      });
      return deferred;
    };
    module2.exports = pDefer;
  }
});

// ../pkg-manager/package-requester/lib/equalOrSemverEqual.js
var require_equalOrSemverEqual = __commonJS({
  "../pkg-manager/package-requester/lib/equalOrSemverEqual.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.equalOrSemverEqual = equalOrSemverEqual;
    var semver_12 = __importDefault2(require_semver2());
    function equalOrSemverEqual(version1, version2) {
      if (version1 === version2)
        return true;
      try {
        return semver_12.default.eq(version1, version2, { loose: true });
      } catch {
        return false;
      }
    }
  }
});

// ../pkg-manager/package-requester/lib/packageRequester.js
var require_packageRequester = __commonJS({
  "../pkg-manager/package-requester/lib/packageRequester.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageRequester = createPackageRequester;
    var fs_1 = require("fs");
    var os_1 = __importDefault2(require("os"));
    var path_1 = __importDefault2(require("path"));
    var store_cafs_1 = require_lib57();
    var core_loggers_1 = require_lib28();
    var pick_fetcher_1 = require_lib56();
    var error_1 = require_lib6();
    var graceful_fs_1 = __importDefault2(require_lib12());
    var logger_1 = require_lib();
    var package_is_installable_1 = require_lib30();
    var read_package_json_1 = require_lib50();
    var dependency_path_1 = require_lib98();
    var worker_1 = require_lib60();
    var p_queue_1 = __importDefault2(require_dist18());
    var p_defer_1 = __importDefault2(require_p_defer2());
    var promise_share_1 = __importDefault2(require_promise_share());
    var pick_1 = __importDefault2(require_pick());
    var semver_12 = __importDefault2(require_semver2());
    var ssri_1 = __importDefault2(require_lib38());
    var equalOrSemverEqual_1 = require_equalOrSemverEqual();
    var TARBALL_INTEGRITY_FILENAME = "tarball-integrity";
    var packageRequestLogger = (0, logger_1.logger)("package-requester");
    var pickBundledManifest = (0, pick_1.default)([
      "bin",
      "bundledDependencies",
      "bundleDependencies",
      "dependencies",
      "directories",
      "engines",
      "name",
      "optionalDependencies",
      "os",
      "peerDependencies",
      "peerDependenciesMeta",
      "scripts",
      "version"
    ]);
    function normalizeBundledManifest(manifest) {
      return {
        ...pickBundledManifest(manifest),
        version: semver_12.default.clean(manifest.version ?? "0.0.0", { loose: true }) ?? manifest.version
      };
    }
    function createPackageRequester(opts) {
      opts = opts || {};
      const networkConcurrency = opts.networkConcurrency ?? Math.max(os_1.default.availableParallelism?.() ?? os_1.default.cpus().length, 16);
      const requestsQueue = new p_queue_1.default({
        concurrency: networkConcurrency
      });
      const getIndexFilePathInCafs = store_cafs_1.getIndexFilePathInCafs.bind(null, opts.storeDir);
      const fetch = fetcher.bind(null, opts.fetchers, opts.cafs);
      const fetchPackageToStore = fetchToStore.bind(null, {
        readPkgFromCafs: worker_1.readPkgFromCafs.bind(null, opts.storeDir, opts.verifyStoreIntegrity),
        fetch,
        fetchingLocker: /* @__PURE__ */ new Map(),
        getFilePathByModeInCafs: store_cafs_1.getFilePathByModeInCafs.bind(null, opts.storeDir),
        getIndexFilePathInCafs,
        requestsQueue: Object.assign(requestsQueue, {
          counter: 0,
          concurrency: networkConcurrency
        }),
        storeDir: opts.storeDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        strictStorePkgContentCheck: opts.strictStorePkgContentCheck
      });
      const requestPackage = resolveAndFetch.bind(null, {
        engineStrict: opts.engineStrict,
        nodeVersion: opts.nodeVersion,
        pnpmVersion: opts.pnpmVersion,
        force: opts.force,
        fetchPackageToStore,
        requestsQueue,
        resolve: opts.resolve,
        storeDir: opts.storeDir
      });
      return Object.assign(requestPackage, {
        fetchPackageToStore,
        getFilesIndexFilePath: getFilesIndexFilePath.bind(null, {
          getIndexFilePathInCafs,
          storeDir: opts.storeDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        }),
        requestPackage
      });
    }
    async function resolveAndFetch(ctx, wantedDependency, options) {
      let latest;
      let manifest;
      let normalizedPref;
      let resolution = options.currentPkg?.resolution;
      let pkgId = options.currentPkg?.id;
      const skipResolution = resolution && !options.update;
      let forceFetch = false;
      let updated = false;
      let resolvedVia;
      let publishedAt;
      if (!skipResolution || options.skipFetch === true || Boolean(pkgId?.startsWith("file:")) || wantedDependency.optional === true) {
        const resolveResult = await ctx.requestsQueue.add(async () => ctx.resolve(wantedDependency, {
          alwaysTryWorkspacePackages: options.alwaysTryWorkspacePackages,
          defaultTag: options.defaultTag,
          publishedBy: options.publishedBy,
          pickLowestVersion: options.pickLowestVersion,
          lockfileDir: options.lockfileDir,
          preferredVersions: options.preferredVersions,
          preferWorkspacePackages: options.preferWorkspacePackages,
          projectDir: options.projectDir,
          registry: options.registry,
          workspacePackages: options.workspacePackages,
          updateToLatest: options.update === "latest",
          injectWorkspacePackages: options.injectWorkspacePackages
        }), { priority: options.downloadPriority });
        manifest = resolveResult.manifest;
        latest = resolveResult.latest;
        resolvedVia = resolveResult.resolvedVia;
        publishedAt = resolveResult.publishedAt;
        forceFetch = Boolean(options.currentPkg?.resolution != null && pkgId?.startsWith("file:") && (options.currentPkg?.resolution).integrity !== resolveResult.resolution.integrity);
        updated = pkgId !== resolveResult.id || !resolution || forceFetch;
        resolution = resolveResult.resolution;
        pkgId = resolveResult.id;
        normalizedPref = resolveResult.normalizedPref;
      }
      const id = pkgId;
      if (resolution.type === "directory" && !id.startsWith("file:")) {
        if (manifest == null) {
          throw new Error(`Couldn't read package.json of local dependency ${wantedDependency.alias ? wantedDependency.alias + "@" : ""}${wantedDependency.pref ?? ""}`);
        }
        return {
          body: {
            id,
            isLocal: true,
            manifest,
            normalizedPref,
            resolution,
            resolvedVia,
            updated
          }
        };
      }
      const isInstallable = ctx.force === true || (manifest == null ? void 0 : (0, package_is_installable_1.packageIsInstallable)(id, manifest, {
        engineStrict: ctx.engineStrict,
        lockfileDir: options.lockfileDir,
        nodeVersion: ctx.nodeVersion,
        optional: wantedDependency.optional === true,
        supportedArchitectures: options.supportedArchitectures
      }));
      if ((options.skipFetch === true || isInstallable === false) && manifest != null) {
        return {
          body: {
            id,
            isLocal: false,
            isInstallable: isInstallable ?? void 0,
            latest,
            manifest,
            normalizedPref,
            resolution,
            resolvedVia,
            updated,
            publishedAt
          }
        };
      }
      const pkg = manifest != null ? (0, pick_1.default)(["name", "version"], manifest) : {};
      const fetchResult = ctx.fetchPackageToStore({
        fetchRawManifest: true,
        force: forceFetch,
        ignoreScripts: options.ignoreScripts,
        lockfileDir: options.lockfileDir,
        pkg: {
          ...pkg,
          id,
          resolution
        },
        expectedPkg: options.expectedPkg?.name != null ? updated ? { name: options.expectedPkg.name, version: pkg.version } : options.expectedPkg : pkg,
        onFetchError: options.onFetchError
      });
      if (!manifest) {
        manifest = (await fetchResult.fetching()).bundledManifest;
      }
      return {
        body: {
          id,
          isLocal: false,
          isInstallable: isInstallable ?? void 0,
          latest,
          manifest,
          normalizedPref,
          resolution,
          resolvedVia,
          updated,
          publishedAt
        },
        fetching: fetchResult.fetching,
        filesIndexFile: fetchResult.filesIndexFile
      };
    }
    function getFilesIndexFilePath(ctx, opts) {
      const targetRelative = (0, dependency_path_1.depPathToFilename)(opts.pkg.id, ctx.virtualStoreDirMaxLength);
      const target = path_1.default.join(ctx.storeDir, targetRelative);
      const filesIndexFile = opts.pkg.resolution.integrity ? ctx.getIndexFilePathInCafs(opts.pkg.resolution.integrity, opts.pkg.id) : path_1.default.join(target, opts.ignoreScripts ? "integrity-not-built.json" : "integrity.json");
      return { filesIndexFile, target };
    }
    function fetchToStore(ctx, opts) {
      if (!opts.pkg.name) {
        opts.fetchRawManifest = true;
      }
      if (!ctx.fetchingLocker.has(opts.pkg.id)) {
        const fetching = (0, p_defer_1.default)();
        const { filesIndexFile, target } = getFilesIndexFilePath(ctx, opts);
        doFetchToStore(filesIndexFile, fetching, target);
        ctx.fetchingLocker.set(opts.pkg.id, {
          fetching: removeKeyOnFail(fetching.promise),
          filesIndexFile,
          fetchRawManifest: opts.fetchRawManifest
        });
        fetching.promise.then((cache) => {
          core_loggers_1.progressLogger.debug({
            packageId: opts.pkg.id,
            requester: opts.lockfileDir,
            status: cache.files.resolvedFrom === "remote" ? "fetched" : "found_in_store"
          });
          if (cache.files.resolvedFrom !== "remote") {
            return;
          }
          const tmp = ctx.fetchingLocker.get(opts.pkg.id);
          if (tmp == null)
            return;
          ctx.fetchingLocker.set(opts.pkg.id, {
            ...tmp,
            fetching: Promise.resolve({
              ...cache,
              files: {
                ...cache.files,
                resolvedFrom: "store"
              }
            })
          });
        }).catch(() => {
          ctx.fetchingLocker.delete(opts.pkg.id);
        });
      }
      const result2 = ctx.fetchingLocker.get(opts.pkg.id);
      if (opts.fetchRawManifest && !result2.fetchRawManifest) {
        result2.fetching = removeKeyOnFail(result2.fetching.then(async ({ files }) => {
          if (!files.filesIndex["package.json"])
            return {
              files,
              bundledManifest: void 0
            };
          if (files.unprocessed) {
            const { integrity, mode } = files.filesIndex["package.json"];
            const manifestPath = ctx.getFilePathByModeInCafs(integrity, mode);
            return {
              files,
              bundledManifest: await readBundledManifest(manifestPath)
            };
          }
          return {
            files,
            bundledManifest: await readBundledManifest(files.filesIndex["package.json"])
          };
        }));
        result2.fetchRawManifest = true;
      }
      return {
        fetching: (0, promise_share_1.default)(result2.fetching),
        filesIndexFile: result2.filesIndexFile
      };
      async function removeKeyOnFail(p) {
        try {
          return await p;
        } catch (err) {
          ctx.fetchingLocker.delete(opts.pkg.id);
          if (opts.onFetchError) {
            throw opts.onFetchError(err);
          }
          throw err;
        }
      }
      async function doFetchToStore(filesIndexFile, fetching, target) {
        try {
          const isLocalTarballDep = opts.pkg.id.startsWith("file:");
          const isLocalPkg = opts.pkg.resolution.type === "directory";
          if (!opts.force && (!isLocalTarballDep || await tarballIsUpToDate(opts.pkg.resolution, target, opts.lockfileDir)) && !isLocalPkg) {
            const { verified, pkgFilesIndex, manifest, requiresBuild } = await ctx.readPkgFromCafs(filesIndexFile, opts.fetchRawManifest);
            if (verified) {
              if (pkgFilesIndex.name != null && opts.expectedPkg?.name != null && pkgFilesIndex.name.toLowerCase() !== opts.expectedPkg.name.toLowerCase() || pkgFilesIndex.version != null && opts.expectedPkg?.version != null && // We used to not normalize the package versions before writing them to the lockfile and store.
              // So it may happen that the version will be in different formats.
              // For instance, v1.0.0 and 1.0.0
              // Hence, we need to use semver.eq() to compare them.
              !(0, equalOrSemverEqual_1.equalOrSemverEqual)(pkgFilesIndex.version, opts.expectedPkg.version)) {
                const msg = `Package name mismatch found while reading ${JSON.stringify(opts.pkg.resolution)} from the store.`;
                const hint = `This means that either the lockfile is broken or the package metadata (name and version) inside the package's package.json file doesn't match the metadata in the registry. Expected package: ${opts.expectedPkg.name}@${opts.expectedPkg.version}. Actual package in the store with the given integrity: ${pkgFilesIndex.name}@${pkgFilesIndex.version}.`;
                if (ctx.strictStorePkgContentCheck ?? true) {
                  throw new error_1.PnpmError("UNEXPECTED_PKG_CONTENT_IN_STORE", msg, {
                    hint: `${hint}

If you want to ignore this issue, set the strict-store-pkg-content-check to false.`
                  });
                } else {
                  (0, logger_1.globalWarn)(`${msg} ${hint}`);
                }
              }
              fetching.resolve({
                files: {
                  unprocessed: true,
                  filesIndex: pkgFilesIndex.files,
                  resolvedFrom: "store",
                  sideEffects: pkgFilesIndex.sideEffects,
                  requiresBuild
                },
                bundledManifest: manifest == null ? manifest : normalizeBundledManifest(manifest)
              });
              return;
            }
            if (pkgFilesIndex?.files != null) {
              packageRequestLogger.warn({
                message: `Refetching ${target} to store. It was either modified or had no integrity checksums`,
                prefix: opts.lockfileDir
              });
            }
          }
          const priority = (++ctx.requestsQueue.counter % ctx.requestsQueue.concurrency === 0 ? -1 : 1) * 1e3;
          const fetchedPackage = await ctx.requestsQueue.add(async () => ctx.fetch(opts.pkg.id, opts.pkg.resolution, {
            filesIndexFile,
            lockfileDir: opts.lockfileDir,
            readManifest: opts.fetchRawManifest,
            onProgress: (downloaded) => {
              core_loggers_1.fetchingProgressLogger.debug({
                downloaded,
                packageId: opts.pkg.id,
                status: "in_progress"
              });
            },
            onStart: (size, attempt) => {
              core_loggers_1.fetchingProgressLogger.debug({
                attempt,
                packageId: opts.pkg.id,
                size,
                status: "started"
              });
            },
            pkg: {
              name: opts.pkg.name,
              version: opts.pkg.version
            }
          }), { priority });
          if (isLocalTarballDep && opts.pkg.resolution.integrity) {
            await fs_1.promises.mkdir(target, { recursive: true });
            await graceful_fs_1.default.writeFile(path_1.default.join(target, TARBALL_INTEGRITY_FILENAME), opts.pkg.resolution.integrity, "utf8");
          }
          fetching.resolve({
            files: {
              resolvedFrom: fetchedPackage.local ? "local-dir" : "remote",
              filesIndex: fetchedPackage.filesIndex,
              packageImportMethod: fetchedPackage.packageImportMethod,
              requiresBuild: fetchedPackage.requiresBuild
            },
            bundledManifest: fetchedPackage.manifest == null ? fetchedPackage.manifest : normalizeBundledManifest(fetchedPackage.manifest)
          });
        } catch (err) {
          fetching.reject(err);
        }
      }
    }
    async function readBundledManifest(pkgJsonPath) {
      return pickBundledManifest(await (0, read_package_json_1.readPackageJson)(pkgJsonPath));
    }
    async function tarballIsUpToDate(resolution, pkgInStoreLocation, lockfileDir) {
      let currentIntegrity;
      try {
        currentIntegrity = await graceful_fs_1.default.readFile(path_1.default.join(pkgInStoreLocation, TARBALL_INTEGRITY_FILENAME), "utf8");
      } catch (err) {
        return false;
      }
      if (resolution.integrity && currentIntegrity !== resolution.integrity)
        return false;
      const tarball = path_1.default.join(lockfileDir, resolution.tarball.slice(5));
      const tarballStream = (0, fs_1.createReadStream)(tarball);
      try {
        return Boolean(await ssri_1.default.checkStream(tarballStream, currentIntegrity));
      } catch (err) {
        return false;
      }
    }
    async function fetcher(fetcherByHostingType, cafs, packageId, resolution, opts) {
      const fetch = (0, pick_fetcher_1.pickFetcher)(fetcherByHostingType, resolution);
      try {
        return await fetch(cafs, resolution, opts);
      } catch (err) {
        packageRequestLogger.warn({
          message: `Fetching ${packageId} failed!`,
          prefix: opts.lockfileDir
        });
        throw err;
      }
    }
  }
});

// ../pkg-manager/package-requester/lib/index.js
var require_lib99 = __commonJS({
  "../pkg-manager/package-requester/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageRequester = void 0;
    var packageRequester_1 = require_packageRequester();
    Object.defineProperty(exports2, "createPackageRequester", { enumerable: true, get: function() {
      return packageRequester_1.createPackageRequester;
    } });
  }
});

// ../store/package-store/lib/storeController/prune.js
var require_prune = __commonJS({
  "../store/package-store/lib/storeController/prune.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prune = prune;
    var fs_1 = require("fs");
    var util_1 = __importDefault2(require("util"));
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var rimraf_1 = __importDefault2(require_rimraf());
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var ssri_1 = __importDefault2(require_lib38());
    var BIG_ONE = BigInt(1);
    async function prune({ cacheDir, storeDir }, removeAlienFiles) {
      const cafsDir = path_1.default.join(storeDir, "files");
      const metadataDirs = await getSubdirsSafely(cacheDir);
      await Promise.all(metadataDirs.map(async (metadataDir) => {
        if (!metadataDir.startsWith("metadata"))
          return;
        try {
          await (0, rimraf_1.default)(path_1.default.join(cacheDir, metadataDir));
        } catch (err) {
          if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) {
            throw err;
          }
        }
      }));
      await (0, rimraf_1.default)(path_1.default.join(storeDir, "tmp"));
      (0, logger_1.globalInfo)("Removed all cached metadata files");
      const pkgIndexFiles = [];
      const indexDir = path_1.default.join(storeDir, "index");
      await Promise.all((await getSubdirsSafely(indexDir)).map(async (dir) => {
        const subdir = path_1.default.join(indexDir, dir);
        await Promise.all((await fs_1.promises.readdir(subdir)).map(async (fileName) => {
          const filePath = path_1.default.join(subdir, fileName);
          if (fileName.endsWith(".json")) {
            pkgIndexFiles.push(filePath);
          }
        }));
      }));
      const removedHashes = /* @__PURE__ */ new Set();
      const dirs = await getSubdirsSafely(cafsDir);
      let fileCounter = 0;
      await Promise.all(dirs.map(async (dir) => {
        const subdir = path_1.default.join(cafsDir, dir);
        await Promise.all((await fs_1.promises.readdir(subdir)).map(async (fileName) => {
          const filePath = path_1.default.join(subdir, fileName);
          if (fileName.endsWith(".json")) {
            pkgIndexFiles.push(filePath);
            return;
          }
          const stat = await fs_1.promises.stat(filePath);
          if (stat.isDirectory()) {
            if (removeAlienFiles) {
              await (0, rimraf_1.default)(filePath);
              (0, logger_1.globalWarn)(`An alien directory has been removed from the store: ${filePath}`);
              fileCounter++;
              return;
            } else {
              (0, logger_1.globalWarn)(`An alien directory is present in the store: ${filePath}`);
              return;
            }
          }
          if (stat.nlink === 1 || stat.nlink === BIG_ONE) {
            await fs_1.promises.unlink(filePath);
            fileCounter++;
            removedHashes.add(ssri_1.default.fromHex(`${dir}${fileName}`, "sha512").toString());
          }
        }));
      }));
      (0, logger_1.globalInfo)(`Removed ${fileCounter} file${fileCounter === 1 ? "" : "s"}`);
      let pkgCounter = 0;
      await Promise.all(pkgIndexFiles.map(async (pkgIndexFilePath) => {
        const { files: pkgFilesIndex } = await (0, load_json_file_1.default)(pkgIndexFilePath);
        if (removedHashes.has(pkgFilesIndex["package.json"].integrity)) {
          await fs_1.promises.unlink(pkgIndexFilePath);
          pkgCounter++;
        }
      }));
      (0, logger_1.globalInfo)(`Removed ${pkgCounter} package${pkgCounter === 1 ? "" : "s"}`);
    }
    async function getSubdirsSafely(dir) {
      let entries;
      try {
        entries = await fs_1.promises.readdir(dir, { withFileTypes: true });
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return [];
        }
        throw err;
      }
      return entries.filter((entry) => entry.isDirectory()).map((dir2) => dir2.name);
    }
  }
});

// ../store/package-store/lib/storeController/index.js
var require_storeController = __commonJS({
  "../store/package-store/lib/storeController/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageStore = createPackageStore;
    var path_1 = __importDefault2(require("path"));
    var fs_1 = __importDefault2(require("fs"));
    var create_cafs_store_1 = require_lib59();
    var package_requester_1 = require_lib99();
    var worker_1 = require_lib60();
    var prune_1 = require_prune();
    function createPackageStore(resolve, fetchers, initOpts) {
      const storeDir = initOpts.storeDir;
      if (!fs_1.default.existsSync(path_1.default.join(storeDir, "files"))) {
        (0, worker_1.initStoreDir)(storeDir).catch();
      }
      const cafs = (0, create_cafs_store_1.createCafsStore)(storeDir, {
        cafsLocker: initOpts.cafsLocker,
        packageImportMethod: initOpts.packageImportMethod
      });
      const packageRequester = (0, package_requester_1.createPackageRequester)({
        force: initOpts.force,
        engineStrict: initOpts.engineStrict,
        nodeVersion: initOpts.nodeVersion,
        pnpmVersion: initOpts.pnpmVersion,
        resolve,
        fetchers,
        cafs,
        ignoreFile: initOpts.ignoreFile,
        networkConcurrency: initOpts.networkConcurrency,
        storeDir: initOpts.storeDir,
        verifyStoreIntegrity: initOpts.verifyStoreIntegrity,
        virtualStoreDirMaxLength: initOpts.virtualStoreDirMaxLength,
        strictStorePkgContentCheck: initOpts.strictStorePkgContentCheck
      });
      return {
        close: async () => {
        },
        // eslint-disable-line:no-empty
        fetchPackage: packageRequester.fetchPackageToStore,
        getFilesIndexFilePath: packageRequester.getFilesIndexFilePath,
        importPackage: initOpts.importPackage ? (0, create_cafs_store_1.createPackageImporterAsync)({ importIndexedPackage: initOpts.importPackage, storeDir: cafs.storeDir }) : (targetDir, opts) => (0, worker_1.importPackage)({
          ...opts,
          packageImportMethod: initOpts.packageImportMethod,
          storeDir: initOpts.storeDir,
          targetDir
        }),
        prune: prune_1.prune.bind(null, { storeDir, cacheDir: initOpts.cacheDir }),
        requestPackage: packageRequester.requestPackage,
        upload,
        clearResolutionCache: initOpts.clearResolutionCache
      };
      async function upload(builtPkgLocation, opts) {
        await (0, worker_1.addFilesFromDir)({
          storeDir: cafs.storeDir,
          dir: builtPkgLocation,
          sideEffectsCacheKey: opts.sideEffectsCacheKey,
          filesIndexFile: opts.filesIndexFile,
          pkg: {}
        });
      }
    }
  }
});

// ../resolving/resolver-base/lib/index.js
var require_lib100 = __commonJS({
  "../resolving/resolver-base/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DIRECT_DEP_SELECTOR_WEIGHT = void 0;
    exports2.DIRECT_DEP_SELECTOR_WEIGHT = 1e3;
  }
});

// ../store/store-controller-types/lib/index.js
var require_lib101 = __commonJS({
  "../store/store-controller-types/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_lib100(), exports2);
  }
});

// ../store/package-store/lib/index.js
var require_lib102 = __commonJS({
  "../store/package-store/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageStore = void 0;
    var storeController_1 = require_storeController();
    Object.defineProperty(exports2, "createPackageStore", { enumerable: true, get: function() {
      return storeController_1.createPackageStore;
    } });
    __exportStar2(require_lib101(), exports2);
  }
});

// ../store/store-connection-manager/lib/createNewStoreController.js
var require_createNewStoreController = __commonJS({
  "../store/store-connection-manager/lib/createNewStoreController.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createNewStoreController = createNewStoreController;
    var fs_1 = require("fs");
    var client_1 = require_lib90();
    var package_store_1 = require_lib102();
    var cli_meta_1 = require_lib4();
    async function createNewStoreController(opts) {
      const fullMetadata = opts.fetchFullMetadata ?? (opts.resolutionMode === "time-based" && !opts.registrySupportsTimeField);
      const { resolve, fetchers, clearResolutionCache } = (0, client_1.createClient)({
        customFetchers: opts.hooks?.fetchers,
        userConfig: opts.userConfig,
        unsafePerm: opts.unsafePerm,
        authConfig: opts.rawConfig,
        ca: opts.ca,
        cacheDir: opts.cacheDir,
        cert: opts.cert,
        fullMetadata,
        filterMetadata: fullMetadata,
        httpProxy: opts.httpProxy,
        httpsProxy: opts.httpsProxy,
        ignoreScripts: opts.ignoreScripts,
        key: opts.key,
        localAddress: opts.localAddress,
        noProxy: opts.noProxy,
        offline: opts.offline,
        preferOffline: opts.preferOffline,
        rawConfig: opts.rawConfig,
        sslConfigs: opts.sslConfigs,
        retry: {
          factor: opts.fetchRetryFactor,
          maxTimeout: opts.fetchRetryMaxtimeout,
          minTimeout: opts.fetchRetryMintimeout,
          retries: opts.fetchRetries
        },
        strictSsl: opts.strictSsl ?? true,
        timeout: opts.fetchTimeout,
        userAgent: opts.userAgent,
        maxSockets: opts.maxSockets ?? (opts.networkConcurrency != null ? opts.networkConcurrency * 3 : void 0),
        gitShallowHosts: opts.gitShallowHosts,
        resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs,
        includeOnlyPackageFiles: !opts.deployAllFiles
      });
      await fs_1.promises.mkdir(opts.storeDir, { recursive: true });
      return {
        ctrl: (0, package_store_1.createPackageStore)(resolve, fetchers, {
          cafsLocker: opts.cafsLocker,
          engineStrict: opts.engineStrict,
          force: opts.force,
          nodeVersion: opts.nodeVersion,
          pnpmVersion: cli_meta_1.packageManager.version,
          ignoreFile: opts.ignoreFile,
          importPackage: opts.hooks?.importPackage,
          networkConcurrency: opts.networkConcurrency,
          packageImportMethod: opts.packageImportMethod,
          cacheDir: opts.cacheDir,
          storeDir: opts.storeDir,
          verifyStoreIntegrity: typeof opts.verifyStoreIntegrity === "boolean" ? opts.verifyStoreIntegrity : true,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
          strictStorePkgContentCheck: opts.strictStorePkgContentCheck,
          clearResolutionCache
        }),
        dir: opts.storeDir
      };
    }
  }
});

// ../node_modules/.pnpm/proc-output@1.0.9/node_modules/proc-output/lib/index.js
var require_lib103 = __commonJS({
  "../node_modules/.pnpm/proc-output@1.0.9/node_modules/proc-output/lib/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function procOutput(proc, cb) {
      var stdout = "", stderr = "";
      proc.on("error", function(err) {
        cb(err);
      });
      proc.stdout.on("data", function(chunk) {
        return stdout += chunk;
      });
      proc.stderr.on("data", function(chunk) {
        return stderr += chunk;
      });
      proc.on("close", function(code) {
        return cb(null, stdout, stderr, code);
      });
      return proc;
    };
  }
});

// ../node_modules/.pnpm/spawno@2.1.2/node_modules/spawno/lib/index.js
var require_lib104 = __commonJS({
  "../node_modules/.pnpm/spawno@2.1.2/node_modules/spawno/lib/index.js"(exports2, module2) {
    "use strict";
    var spawn = require("child_process").spawn;
    var procOutput = require_lib103();
    module2.exports = function spawno(command, args, options, cb) {
      if (typeof args === "function") {
        cb = args;
        args = [];
        options = {};
      }
      if (typeof options === "function") {
        cb = options;
        if (!Array.isArray(args)) {
          options = args;
          args = [];
        } else {
          options = {};
        }
      }
      options = options || {};
      if (options.input !== false) {
        options.input = options.input || "";
      }
      var showOutput = options.output, inputData = options.input;
      delete options.output;
      delete options.input;
      var proc = spawn(command, args, options);
      if (showOutput) {
        proc.stdout.pipe(process.stdout);
        proc.stderr.pipe(process.stderr);
      }
      if (inputData !== false) {
        proc.stdin && proc.stdin.end(inputData);
      }
      if (cb) {
        procOutput(proc, cb);
      }
      return proc;
    };
    module2.exports.promise = function(command, args, options) {
      return new Promise(function(resolve, reject) {
        module2.exports(command, args, options, function(err, stdout, stderr, code) {
          if (err) {
            return reject(err);
          }
          resolve({
            code,
            stdout,
            stderr
          });
        });
      });
    };
  }
});

// ../node_modules/.pnpm/@zkochan+diable@1.0.2/node_modules/@zkochan/diable/lib/index.js
var require_lib105 = __commonJS({
  "../node_modules/.pnpm/@zkochan+diable@1.0.2/node_modules/@zkochan/diable/lib/index.js"(exports2, module2) {
    "use strict";
    var spawn = require_lib104();
    function Diable(opts) {
      if (Diable.isDaemon()) {
        return false;
      }
      opts = opts || {};
      const args = [].concat(process.argv);
      args.shift();
      const script = args.shift(), env = opts.env || process.env;
      Diable.daemonize(script, args, opts);
      return process.exit();
    }
    Diable.isDaemon = function() {
      return !!process.env.__is_daemon;
    };
    Diable.daemonize = function(script, args, opts) {
      opts = opts || {};
      const stdout = opts.stdout || "ignore", stderr = opts.stderr || "ignore", env = opts.env || process.env, cwd = opts.cwd || process.cwd();
      env.__is_daemon = true;
      const spawnOptions = {
        stdio: ["inherit", stdout, stderr],
        env,
        cwd,
        detached: true,
        input: false
      };
      const cmd = opts.command || process.execPath;
      delete opts.command;
      const child = spawn(cmd, [script].concat(args).filter(Boolean), spawnOptions);
      child.unref();
      return child;
    };
    module2.exports = Diable;
  }
});

// ../store/store-connection-manager/lib/runServerInBackground.js
var require_runServerInBackground = __commonJS({
  "../store/store-connection-manager/lib/runServerInBackground.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runServerInBackground = runServerInBackground;
    var error_1 = require_lib6();
    var diable_1 = __importDefault2(require_lib105());
    function runServerInBackground(storePath) {
      if (require.main == null) {
        throw new error_1.PnpmError("CANNOT_START_SERVER", "pnpm server cannot be started when pnpm is streamed to Node.js");
      }
      return diable_1.default.daemonize(require.main.filename, ["server", "start", "--store-dir", storePath], { stdio: "inherit" });
    }
  }
});

// ../store/store-connection-manager/lib/serverConnectionInfoDir.js
var require_serverConnectionInfoDir = __commonJS({
  "../store/store-connection-manager/lib/serverConnectionInfoDir.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.serverConnectionInfoDir = serverConnectionInfoDir;
    var path_1 = __importDefault2(require("path"));
    function serverConnectionInfoDir(storePath) {
      return path_1.default.join(storePath, "server");
    }
  }
});

// ../store/store-connection-manager/lib/index.js
var require_lib106 = __commonJS({
  "../store/store-connection-manager/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.serverConnectionInfoDir = exports2.createNewStoreController = void 0;
    exports2.createOrConnectStoreControllerCached = createOrConnectStoreControllerCached;
    exports2.createOrConnectStoreController = createOrConnectStoreController;
    exports2.tryLoadServerJson = tryLoadServerJson;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var cli_meta_1 = require_lib4();
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var server_1 = require_lib97();
    var store_path_1 = require_lib81();
    var delay_1 = __importDefault2(require_delay2());
    var createNewStoreController_1 = require_createNewStoreController();
    Object.defineProperty(exports2, "createNewStoreController", { enumerable: true, get: function() {
      return createNewStoreController_1.createNewStoreController;
    } });
    var runServerInBackground_1 = require_runServerInBackground();
    var serverConnectionInfoDir_1 = require_serverConnectionInfoDir();
    Object.defineProperty(exports2, "serverConnectionInfoDir", { enumerable: true, get: function() {
      return serverConnectionInfoDir_1.serverConnectionInfoDir;
    } });
    async function createOrConnectStoreControllerCached(storeControllerCache, opts) {
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      if (!storeControllerCache.has(storeDir)) {
        storeControllerCache.set(storeDir, createOrConnectStoreController(opts));
      }
      return await storeControllerCache.get(storeDir);
    }
    async function createOrConnectStoreController(opts) {
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.workspaceDir ?? opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const connectionInfoDir = (0, serverConnectionInfoDir_1.serverConnectionInfoDir)(storeDir);
      const serverJsonPath = path_1.default.join(connectionInfoDir, "server.json");
      let serverJson = await tryLoadServerJson({ serverJsonPath, shouldRetryOnNoent: false });
      if (serverJson !== null) {
        if (serverJson.pnpmVersion !== cli_meta_1.packageManager.version) {
          logger_1.logger.warn({
            message: `The store server runs on pnpm v${serverJson.pnpmVersion}. It is recommended to connect with the same version (current is v${cli_meta_1.packageManager.version})`,
            prefix: opts.dir
          });
        }
        logger_1.logger.info({
          message: "A store server is running. All store manipulations are delegated to it.",
          prefix: opts.dir
        });
        return {
          ctrl: await (0, server_1.connectStoreController)(serverJson.connectionOptions),
          dir: storeDir
        };
      }
      if (opts.useRunningStoreServer) {
        throw new error_1.PnpmError("NO_STORE_SERVER", "No store server is running.");
      }
      if (opts.useStoreServer) {
        (0, runServerInBackground_1.runServerInBackground)(storeDir);
        serverJson = await tryLoadServerJson({ serverJsonPath, shouldRetryOnNoent: true });
        logger_1.logger.info({
          message: "A store server has been started. To stop it, use `pnpm server stop`",
          prefix: opts.dir
        });
        return {
          ctrl: await (0, server_1.connectStoreController)(serverJson.connectionOptions),
          dir: storeDir
        };
      }
      return (0, createNewStoreController_1.createNewStoreController)(Object.assign(opts, {
        storeDir
      }));
    }
    async function tryLoadServerJson(options) {
      let beforeFirstAttempt = true;
      const startHRTime = process.hrtime();
      while (true) {
        if (!beforeFirstAttempt) {
          const elapsedHRTime = process.hrtime(startHRTime);
          if (elapsedHRTime[0] >= 10) {
            try {
              await fs_1.promises.unlink(options.serverJsonPath);
            } catch (error) {
              if (error.code !== "ENOENT") {
                throw error;
              }
            }
            return null;
          }
          await (0, delay_1.default)(200);
        }
        beforeFirstAttempt = false;
        let serverJsonStr;
        try {
          serverJsonStr = await fs_1.promises.readFile(options.serverJsonPath, "utf8");
        } catch (error) {
          if (error.code !== "ENOENT") {
            throw error;
          }
          if (!options.shouldRetryOnNoent) {
            return null;
          }
          continue;
        }
        let serverJson;
        try {
          serverJson = JSON.parse(serverJsonStr);
        } catch (error) {
          continue;
        }
        if (serverJson === null) {
          throw new Error("server.json was modified by a third party");
        }
        return serverJson;
      }
    }
  }
});

// ../node_modules/.pnpm/object-hash@3.0.0/node_modules/object-hash/index.js
var require_object_hash = __commonJS({
  "../node_modules/.pnpm/object-hash@3.0.0/node_modules/object-hash/index.js"(exports2, module2) {
    "use strict";
    var crypto5 = require("crypto");
    exports2 = module2.exports = objectHash;
    function objectHash(object, options) {
      options = applyDefaults(object, options);
      return hash(object, options);
    }
    exports2.sha1 = function(object) {
      return objectHash(object);
    };
    exports2.keys = function(object) {
      return objectHash(object, { excludeValues: true, algorithm: "sha1", encoding: "hex" });
    };
    exports2.MD5 = function(object) {
      return objectHash(object, { algorithm: "md5", encoding: "hex" });
    };
    exports2.keysMD5 = function(object) {
      return objectHash(object, { algorithm: "md5", encoding: "hex", excludeValues: true });
    };
    var hashes = crypto5.getHashes ? crypto5.getHashes().slice() : ["sha1", "md5"];
    hashes.push("passthrough");
    var encodings = ["buffer", "hex", "binary", "base64"];
    function applyDefaults(object, sourceOptions) {
      sourceOptions = sourceOptions || {};
      var options = {};
      options.algorithm = sourceOptions.algorithm || "sha1";
      options.encoding = sourceOptions.encoding || "hex";
      options.excludeValues = sourceOptions.excludeValues ? true : false;
      options.algorithm = options.algorithm.toLowerCase();
      options.encoding = options.encoding.toLowerCase();
      options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true;
      options.respectType = sourceOptions.respectType === false ? false : true;
      options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;
      options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;
      options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true;
      options.unorderedSets = sourceOptions.unorderedSets === false ? false : true;
      options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true;
      options.replacer = sourceOptions.replacer || void 0;
      options.excludeKeys = sourceOptions.excludeKeys || void 0;
      if (typeof object === "undefined") {
        throw new Error("Object argument required.");
      }
      for (var i = 0; i < hashes.length; ++i) {
        if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {
          options.algorithm = hashes[i];
        }
      }
      if (hashes.indexOf(options.algorithm) === -1) {
        throw new Error('Algorithm "' + options.algorithm + '"  not supported. supported values: ' + hashes.join(", "));
      }
      if (encodings.indexOf(options.encoding) === -1 && options.algorithm !== "passthrough") {
        throw new Error('Encoding "' + options.encoding + '"  not supported. supported values: ' + encodings.join(", "));
      }
      return options;
    }
    function isNativeFunction(f) {
      if (typeof f !== "function") {
        return false;
      }
      var exp = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;
      return exp.exec(Function.prototype.toString.call(f)) != null;
    }
    function hash(object, options) {
      var hashingStream;
      if (options.algorithm !== "passthrough") {
        hashingStream = crypto5.createHash(options.algorithm);
      } else {
        hashingStream = new PassThrough();
      }
      if (typeof hashingStream.write === "undefined") {
        hashingStream.write = hashingStream.update;
        hashingStream.end = hashingStream.update;
      }
      var hasher = typeHasher(options, hashingStream);
      hasher.dispatch(object);
      if (!hashingStream.update) {
        hashingStream.end("");
      }
      if (hashingStream.digest) {
        return hashingStream.digest(options.encoding === "buffer" ? void 0 : options.encoding);
      }
      var buf = hashingStream.read();
      if (options.encoding === "buffer") {
        return buf;
      }
      return buf.toString(options.encoding);
    }
    exports2.writeToStream = function(object, options, stream) {
      if (typeof stream === "undefined") {
        stream = options;
        options = {};
      }
      options = applyDefaults(object, options);
      return typeHasher(options, stream).dispatch(object);
    };
    function typeHasher(options, writeTo, context) {
      context = context || [];
      var write = function(str) {
        if (writeTo.update) {
          return writeTo.update(str, "utf8");
        } else {
          return writeTo.write(str, "utf8");
        }
      };
      return {
        dispatch: function(value) {
          if (options.replacer) {
            value = options.replacer(value);
          }
          var type = typeof value;
          if (value === null) {
            type = "null";
          }
          return this["_" + type](value);
        },
        _object: function(object) {
          var pattern = /\[object (.*)\]/i;
          var objString = Object.prototype.toString.call(object);
          var objType = pattern.exec(objString);
          if (!objType) {
            objType = "unknown:[" + objString + "]";
          } else {
            objType = objType[1];
          }
          objType = objType.toLowerCase();
          var objectNumber = null;
          if ((objectNumber = context.indexOf(object)) >= 0) {
            return this.dispatch("[CIRCULAR:" + objectNumber + "]");
          } else {
            context.push(object);
          }
          if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) {
            write("buffer:");
            return write(object);
          }
          if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") {
            if (this["_" + objType]) {
              this["_" + objType](object);
            } else if (options.ignoreUnknown) {
              return write("[" + objType + "]");
            } else {
              throw new Error('Unknown object type "' + objType + '"');
            }
          } else {
            var keys = Object.keys(object);
            if (options.unorderedObjects) {
              keys = keys.sort();
            }
            if (options.respectType !== false && !isNativeFunction(object)) {
              keys.splice(0, 0, "prototype", "__proto__", "constructor");
            }
            if (options.excludeKeys) {
              keys = keys.filter(function(key) {
                return !options.excludeKeys(key);
              });
            }
            write("object:" + keys.length + ":");
            var self2 = this;
            return keys.forEach(function(key) {
              self2.dispatch(key);
              write(":");
              if (!options.excludeValues) {
                self2.dispatch(object[key]);
              }
              write(",");
            });
          }
        },
        _array: function(arr, unordered) {
          unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false;
          var self2 = this;
          write("array:" + arr.length + ":");
          if (!unordered || arr.length <= 1) {
            return arr.forEach(function(entry) {
              return self2.dispatch(entry);
            });
          }
          var contextAdditions = [];
          var entries = arr.map(function(entry) {
            var strm = new PassThrough();
            var localContext = context.slice();
            var hasher = typeHasher(options, strm, localContext);
            hasher.dispatch(entry);
            contextAdditions = contextAdditions.concat(localContext.slice(context.length));
            return strm.read().toString();
          });
          context = context.concat(contextAdditions);
          entries.sort();
          return this._array(entries, false);
        },
        _date: function(date) {
          return write("date:" + date.toJSON());
        },
        _symbol: function(sym) {
          return write("symbol:" + sym.toString());
        },
        _error: function(err) {
          return write("error:" + err.toString());
        },
        _boolean: function(bool) {
          return write("bool:" + bool.toString());
        },
        _string: function(string) {
          write("string:" + string.length + ":");
          write(string.toString());
        },
        _function: function(fn) {
          write("fn:");
          if (isNativeFunction(fn)) {
            this.dispatch("[native]");
          } else {
            this.dispatch(fn.toString());
          }
          if (options.respectFunctionNames !== false) {
            this.dispatch("function-name:" + String(fn.name));
          }
          if (options.respectFunctionProperties) {
            this._object(fn);
          }
        },
        _number: function(number) {
          return write("number:" + number.toString());
        },
        _xml: function(xml) {
          return write("xml:" + xml.toString());
        },
        _null: function() {
          return write("Null");
        },
        _undefined: function() {
          return write("Undefined");
        },
        _regexp: function(regex) {
          return write("regex:" + regex.toString());
        },
        _uint8array: function(arr) {
          write("uint8array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _uint8clampedarray: function(arr) {
          write("uint8clampedarray:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _int8array: function(arr) {
          write("int8array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _uint16array: function(arr) {
          write("uint16array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _int16array: function(arr) {
          write("int16array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _uint32array: function(arr) {
          write("uint32array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _int32array: function(arr) {
          write("int32array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _float32array: function(arr) {
          write("float32array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _float64array: function(arr) {
          write("float64array:");
          return this.dispatch(Array.prototype.slice.call(arr));
        },
        _arraybuffer: function(arr) {
          write("arraybuffer:");
          return this.dispatch(new Uint8Array(arr));
        },
        _url: function(url) {
          return write("url:" + url.toString(), "utf8");
        },
        _map: function(map) {
          write("map:");
          var arr = Array.from(map);
          return this._array(arr, options.unorderedSets !== false);
        },
        _set: function(set) {
          write("set:");
          var arr = Array.from(set);
          return this._array(arr, options.unorderedSets !== false);
        },
        _file: function(file) {
          write("file:");
          return this.dispatch([file.name, file.size, file.type, file.lastModfied]);
        },
        _blob: function() {
          if (options.ignoreUnknown) {
            return write("[blob]");
          }
          throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n');
        },
        _domwindow: function() {
          return write("domwindow");
        },
        _bigint: function(number) {
          return write("bigint:" + number.toString());
        },
        /* Node.js standard native objects */
        _process: function() {
          return write("process");
        },
        _timer: function() {
          return write("timer");
        },
        _pipe: function() {
          return write("pipe");
        },
        _tcp: function() {
          return write("tcp");
        },
        _udp: function() {
          return write("udp");
        },
        _tty: function() {
          return write("tty");
        },
        _statwatcher: function() {
          return write("statwatcher");
        },
        _securecontext: function() {
          return write("securecontext");
        },
        _connection: function() {
          return write("connection");
        },
        _zlib: function() {
          return write("zlib");
        },
        _context: function() {
          return write("context");
        },
        _nodescript: function() {
          return write("nodescript");
        },
        _httpparser: function() {
          return write("httpparser");
        },
        _dataview: function() {
          return write("dataview");
        },
        _signal: function() {
          return write("signal");
        },
        _fsevent: function() {
          return write("fsevent");
        },
        _tlswrap: function() {
          return write("tlswrap");
        }
      };
    }
    function PassThrough() {
      return {
        buf: "",
        write: function(b) {
          this.buf += b;
        },
        end: function(b) {
          this.buf += b;
        },
        read: function() {
          return this.buf;
        }
      };
    }
  }
});

// ../crypto/object-hasher/lib/index.js
var require_lib107 = __commonJS({
  "../crypto/object-hasher/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hashObject = exports2.hashObjectWithoutSorting = void 0;
    exports2.hashObjectNullableWithPrefix = hashObjectNullableWithPrefix;
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var object_hash_1 = __importDefault2(require_object_hash());
    var defaultOptions = {
      respectType: false,
      algorithm: "sha256",
      encoding: "base64"
    };
    var withoutSortingOptions = {
      ...defaultOptions,
      unorderedArrays: false,
      unorderedObjects: false,
      unorderedSets: false
    };
    var withSortingOptions = {
      ...defaultOptions,
      unorderedArrays: true,
      unorderedObjects: true,
      unorderedSets: true
    };
    function hashUnknown(object, options) {
      if (object === void 0) {
        return "00000000000000000000000000000000000000000000";
      }
      return (0, object_hash_1.default)(object, options);
    }
    var hashObjectWithoutSorting = (object) => hashUnknown(object, withoutSortingOptions);
    exports2.hashObjectWithoutSorting = hashObjectWithoutSorting;
    var hashObject = (object) => hashUnknown(object, withSortingOptions);
    exports2.hashObject = hashObject;
    function hashObjectNullableWithPrefix(object) {
      if (!object || (0, isEmpty_1.default)(object))
        return void 0;
      const packageExtensionsChecksum = (0, object_hash_1.default)(object, withSortingOptions);
      return `sha256-${packageExtensionsChecksum}`;
    }
  }
});

// ../object/key-sorting/lib/index.js
var require_lib108 = __commonJS({
  "../object/key-sorting/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sortDirectKeys = sortDirectKeys;
    exports2.sortDeepKeys = sortDeepKeys;
    exports2.sortKeysByPriority = sortKeysByPriority;
    var util_lex_comparator_1 = require_dist4();
    var sort_keys_1 = __importDefault2(require_sort_keys());
    function sortDirectKeys(obj) {
      return (0, sort_keys_1.default)(obj, {
        compare: util_lex_comparator_1.lexCompare,
        deep: false
      });
    }
    function sortDeepKeys(obj) {
      return (0, sort_keys_1.default)(obj, {
        compare: util_lex_comparator_1.lexCompare,
        deep: true
      });
    }
    function sortKeysByPriority(opts, obj) {
      const compare = compareWithPriority.bind(null, opts.priority);
      return (0, sort_keys_1.default)(obj, {
        compare,
        deep: opts.deep
      });
    }
    function compareWithPriority(priority, left, right) {
      const leftPriority = priority[left];
      const rightPriority = priority[right];
      if (leftPriority != null && rightPriority != null)
        return leftPriority - rightPriority;
      if (leftPriority != null)
        return -1;
      if (rightPriority != null)
        return 1;
      return (0, util_lex_comparator_1.lexCompare)(left, right);
    }
  }
});

// ../packages/calc-dep-state/lib/index.js
var require_lib109 = __commonJS({
  "../packages/calc-dep-state/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calcDepState = calcDepState;
    exports2.lockfileToDepGraph = lockfileToDepGraph;
    var constants_1 = require_lib5();
    var dependency_path_1 = require_lib98();
    var crypto_object_hasher_1 = require_lib107();
    var object_key_sorting_1 = require_lib108();
    function calcDepState(depsGraph, cache, depPath, opts) {
      let result2 = constants_1.ENGINE_NAME;
      if (opts.isBuilt) {
        const depStateObj = calcDepStateObj(depPath, depsGraph, cache, /* @__PURE__ */ new Set());
        result2 += `;deps=${(0, crypto_object_hasher_1.hashObjectWithoutSorting)(depStateObj)}`;
      }
      if (opts.patchFileHash) {
        result2 += `;patch=${opts.patchFileHash}`;
      }
      return result2;
    }
    function calcDepStateObj(depPath, depsGraph, cache, parents) {
      if (cache[depPath])
        return cache[depPath];
      const node = depsGraph[depPath];
      if (!node)
        return {};
      const nextParents = /* @__PURE__ */ new Set([...Array.from(parents), node.pkgIdWithPatchHash]);
      const state = {};
      for (const childId of Object.values(node.children)) {
        const child = depsGraph[childId];
        if (!child)
          continue;
        if (parents.has(child.pkgIdWithPatchHash)) {
          state[child.pkgIdWithPatchHash] = {};
          continue;
        }
        state[child.pkgIdWithPatchHash] = calcDepStateObj(childId, depsGraph, cache, nextParents);
      }
      cache[depPath] = (0, object_key_sorting_1.sortDirectKeys)(state);
      return cache[depPath];
    }
    function lockfileToDepGraph(lockfile) {
      const graph = {};
      if (lockfile.packages != null) {
        for (const [depPath, pkgSnapshot] of Object.entries(lockfile.packages)) {
          const children = lockfileDepsToGraphChildren({
            ...pkgSnapshot.dependencies,
            ...pkgSnapshot.optionalDependencies
          });
          graph[depPath] = {
            children,
            pkgIdWithPatchHash: (0, dependency_path_1.getPkgIdWithPatchHash)(depPath)
          };
        }
      }
      return graph;
    }
    function lockfileDepsToGraphChildren(deps) {
      const children = {};
      for (const [alias, reference] of Object.entries(deps)) {
        const depPath = (0, dependency_path_1.refToRelative)(reference, alias);
        if (depPath) {
          children[alias] = depPath;
        }
      }
      return children;
    }
  }
});

// ../lockfile/fs/lib/logger.js
var require_logger3 = __commonJS({
  "../lockfile/fs/lib/logger.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileLogger = void 0;
    var logger_1 = require_lib();
    exports2.lockfileLogger = (0, logger_1.logger)("lockfile");
  }
});

// ../lockfile/fs/lib/sortLockfileKeys.js
var require_sortLockfileKeys = __commonJS({
  "../lockfile/fs/lib/sortLockfileKeys.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sortLockfileKeys = sortLockfileKeys;
    var object_key_sorting_1 = require_lib108();
    var ORDERED_KEYS = {
      resolution: 1,
      id: 2,
      name: 3,
      version: 4,
      engines: 5,
      cpu: 6,
      os: 7,
      libc: 8,
      deprecated: 9,
      hasBin: 10,
      prepare: 11,
      requiresBuild: 12,
      bundleDependencies: 13,
      peerDependencies: 14,
      peerDependenciesMeta: 15,
      dependencies: 16,
      optionalDependencies: 17,
      transitivePeerDependencies: 18,
      dev: 19,
      optional: 20
    };
    var ROOT_KEYS = [
      "lockfileVersion",
      "settings",
      "catalogs",
      "overrides",
      "packageExtensionsChecksum",
      "pnpmfileChecksum",
      "patchedDependencies",
      "importers",
      "packages"
    ];
    var ROOT_KEYS_ORDER = Object.fromEntries(ROOT_KEYS.map((key, index) => [key, index]));
    function sortLockfileKeys(lockfile) {
      if (lockfile.importers != null) {
        lockfile.importers = (0, object_key_sorting_1.sortDirectKeys)(lockfile.importers);
        for (const [importerId, importer] of Object.entries(lockfile.importers)) {
          lockfile.importers[importerId] = (0, object_key_sorting_1.sortKeysByPriority)({
            priority: ROOT_KEYS_ORDER,
            deep: true
          }, importer);
        }
      }
      if (lockfile.packages != null) {
        lockfile.packages = (0, object_key_sorting_1.sortDirectKeys)(lockfile.packages);
        for (const [pkgId, pkg] of Object.entries(lockfile.packages)) {
          lockfile.packages[pkgId] = (0, object_key_sorting_1.sortKeysByPriority)({
            priority: ORDERED_KEYS,
            deep: true
          }, pkg);
        }
      }
      if (lockfile.snapshots != null) {
        lockfile.snapshots = (0, object_key_sorting_1.sortDirectKeys)(lockfile.snapshots);
        for (const [pkgId, pkg] of Object.entries(lockfile.snapshots)) {
          lockfile.snapshots[pkgId] = (0, object_key_sorting_1.sortKeysByPriority)({
            priority: ORDERED_KEYS,
            deep: true
          }, pkg);
        }
      }
      if (lockfile.catalogs != null) {
        lockfile.catalogs = (0, object_key_sorting_1.sortDirectKeys)(lockfile.catalogs);
        for (const [catalogName, catalog] of Object.entries(lockfile.catalogs)) {
          lockfile.catalogs[catalogName] = (0, object_key_sorting_1.sortDeepKeys)(catalog);
        }
      }
      for (const key of ["time", "patchedDependencies"]) {
        if (!lockfile[key])
          continue;
        lockfile[key] = (0, object_key_sorting_1.sortDirectKeys)(lockfile[key]);
      }
      return (0, object_key_sorting_1.sortKeysByPriority)({ priority: ROOT_KEYS_ORDER }, lockfile);
    }
  }
});

// ../lockfile/fs/lib/lockfileName.js
var require_lockfileName = __commonJS({
  "../lockfile/fs/lib/lockfileName.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getWantedLockfileName = getWantedLockfileName;
    var constants_1 = require_lib5();
    var git_utils_1 = require_lib15();
    async function getWantedLockfileName(opts = { useGitBranchLockfile: false, mergeGitBranchLockfiles: false }) {
      if (opts.useGitBranchLockfile && !opts.mergeGitBranchLockfiles) {
        const currentBranchName = await (0, git_utils_1.getCurrentBranch)();
        if (currentBranchName) {
          return constants_1.WANTED_LOCKFILE.replace(".yaml", `.${stringifyBranchName(currentBranchName)}.yaml`);
        }
      }
      return constants_1.WANTED_LOCKFILE;
    }
    function stringifyBranchName(branchName = "") {
      return branchName.replace(/[^\w.-]/g, "!").toLowerCase();
    }
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickBy.js
var require_pickBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickBy.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var pickBy = /* @__PURE__ */ _curry2(function pickBy2(test, obj) {
      var result2 = {};
      for (var prop in obj) {
        if (test(obj[prop], prop, obj)) {
          result2[prop] = obj[prop];
        }
      }
      return result2;
    });
    module2.exports = pickBy;
  }
});

// ../lockfile/fs/lib/lockfileFormatConverters.js
var require_lockfileFormatConverters = __commonJS({
  "../lockfile/fs/lib/lockfileFormatConverters.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.convertToLockfileFile = convertToLockfileFile;
    exports2.convertToLockfileObject = convertToLockfileObject;
    var dependency_path_1 = require_lib98();
    var types_1 = require_lib31();
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var map_1 = __importDefault2(require_map3());
    var omit_1 = __importDefault2(require_omit());
    var pickBy_1 = __importDefault2(require_pickBy());
    var pick_1 = __importDefault2(require_pick());
    var constants_1 = require_lib5();
    function convertToLockfileFile(lockfile) {
      const packages = {};
      const snapshots = {};
      for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) {
        snapshots[depPath] = (0, pick_1.default)([
          "dependencies",
          "optionalDependencies",
          "transitivePeerDependencies",
          "optional",
          "id"
        ], pkg);
        const pkgId = (0, dependency_path_1.removeSuffix)(depPath);
        if (!packages[pkgId]) {
          packages[pkgId] = (0, pick_1.default)([
            "bundledDependencies",
            "cpu",
            "deprecated",
            "engines",
            "hasBin",
            "libc",
            "name",
            "os",
            "peerDependencies",
            "peerDependenciesMeta",
            "resolution",
            "version"
          ], pkg);
        }
      }
      const newLockfile = {
        ...lockfile,
        snapshots,
        packages,
        lockfileVersion: constants_1.LOCKFILE_VERSION,
        importers: mapValues(lockfile.importers, convertProjectSnapshotToInlineSpecifiersFormat)
      };
      if (newLockfile.settings?.peersSuffixMaxLength === 1e3) {
        newLockfile.settings = (0, omit_1.default)(["peersSuffixMaxLength"], newLockfile.settings);
      }
      if (newLockfile.settings?.injectWorkspacePackages === false) {
        delete newLockfile.settings.injectWorkspacePackages;
      }
      return normalizeLockfile(newLockfile);
    }
    function normalizeLockfile(lockfile) {
      const lockfileToSave = {
        ...lockfile,
        importers: (0, map_1.default)((importer) => {
          const normalizedImporter = {};
          if (importer.dependenciesMeta != null && !(0, isEmpty_1.default)(importer.dependenciesMeta)) {
            normalizedImporter.dependenciesMeta = importer.dependenciesMeta;
          }
          for (const depType of types_1.DEPENDENCIES_FIELDS) {
            if (!(0, isEmpty_1.default)(importer[depType] ?? {})) {
              normalizedImporter[depType] = importer[depType];
            }
          }
          if (importer.publishDirectory) {
            normalizedImporter.publishDirectory = importer.publishDirectory;
          }
          return normalizedImporter;
        }, lockfile.importers ?? {})
      };
      if ((0, isEmpty_1.default)(lockfileToSave.packages) || lockfileToSave.packages == null) {
        delete lockfileToSave.packages;
      }
      if ((0, isEmpty_1.default)(lockfileToSave.snapshots) || lockfileToSave.snapshots == null) {
        delete lockfileToSave.snapshots;
      }
      if (lockfileToSave.time) {
        lockfileToSave.time = pruneTimeInLockfile(lockfileToSave.time, lockfile.importers ?? {});
      }
      if (lockfileToSave.catalogs != null && (0, isEmpty_1.default)(lockfileToSave.catalogs)) {
        delete lockfileToSave.catalogs;
      }
      if (lockfileToSave.overrides != null && (0, isEmpty_1.default)(lockfileToSave.overrides)) {
        delete lockfileToSave.overrides;
      }
      if (lockfileToSave.patchedDependencies != null && (0, isEmpty_1.default)(lockfileToSave.patchedDependencies)) {
        delete lockfileToSave.patchedDependencies;
      }
      if (!lockfileToSave.packageExtensionsChecksum) {
        delete lockfileToSave.packageExtensionsChecksum;
      }
      if (!lockfileToSave.ignoredOptionalDependencies?.length) {
        delete lockfileToSave.ignoredOptionalDependencies;
      }
      if (!lockfileToSave.pnpmfileChecksum) {
        delete lockfileToSave.pnpmfileChecksum;
      }
      return lockfileToSave;
    }
    function pruneTimeInLockfile(time, importers) {
      const rootDepPaths = /* @__PURE__ */ new Set();
      for (const importer of Object.values(importers)) {
        for (const depType of types_1.DEPENDENCIES_FIELDS) {
          for (const [depName, ref] of Object.entries(importer[depType] ?? {})) {
            const suffixStart = ref.version.indexOf("(");
            const refWithoutPeerSuffix = suffixStart === -1 ? ref.version : ref.version.slice(0, suffixStart);
            const depPath = refToRelative(refWithoutPeerSuffix, depName);
            if (!depPath)
              continue;
            rootDepPaths.add(depPath);
          }
        }
      }
      return (0, pickBy_1.default)((_, depPath) => rootDepPaths.has(depPath), time);
    }
    function refToRelative(reference, pkgName) {
      if (reference.startsWith("link:")) {
        return null;
      }
      if (reference.startsWith("file:")) {
        return reference;
      }
      if (!reference.includes("/") || !reference.replace(/(?:\([^)]+\))+$/, "").includes("/")) {
        return `/${pkgName}@${reference}`;
      }
      return reference;
    }
    function convertToLockfileObject(lockfile) {
      const { importers, ...rest } = lockfile;
      const packages = {};
      for (const [depPath, pkg] of Object.entries(lockfile.snapshots ?? {})) {
        const pkgId = (0, dependency_path_1.removeSuffix)(depPath);
        packages[depPath] = Object.assign(pkg, lockfile.packages?.[pkgId]);
      }
      return {
        ...(0, omit_1.default)(["snapshots"], rest),
        packages,
        importers: mapValues(importers ?? {}, revertProjectSnapshot)
      };
    }
    function convertProjectSnapshotToInlineSpecifiersFormat(projectSnapshot) {
      const { specifiers, ...rest } = projectSnapshot;
      if (specifiers == null)
        return projectSnapshot;
      const convertBlock = (block) => block != null ? convertResolvedDependenciesToInlineSpecifiersFormat(block, { specifiers }) : block;
      return {
        ...rest,
        dependencies: convertBlock(projectSnapshot.dependencies ?? {}),
        optionalDependencies: convertBlock(projectSnapshot.optionalDependencies ?? {}),
        devDependencies: convertBlock(projectSnapshot.devDependencies ?? {})
      };
    }
    function convertResolvedDependenciesToInlineSpecifiersFormat(resolvedDependencies, { specifiers }) {
      return mapValues(resolvedDependencies, (version2, depName) => ({
        specifier: specifiers[depName],
        version: version2
      }));
    }
    function revertProjectSnapshot(from) {
      const specifiers = {};
      function moveSpecifiers(from2) {
        const resolvedDependencies = {};
        for (const [depName, { specifier, version: version2 }] of Object.entries(from2)) {
          const existingValue = specifiers[depName];
          if (existingValue != null && existingValue !== specifier) {
            throw new Error(`Project snapshot lists the same dependency more than once with conflicting versions: ${depName}`);
          }
          specifiers[depName] = specifier;
          resolvedDependencies[depName] = version2;
        }
        return resolvedDependencies;
      }
      const dependencies = from.dependencies == null ? from.dependencies : moveSpecifiers(from.dependencies);
      const devDependencies = from.devDependencies == null ? from.devDependencies : moveSpecifiers(from.devDependencies);
      const optionalDependencies = from.optionalDependencies == null ? from.optionalDependencies : moveSpecifiers(from.optionalDependencies);
      return {
        ...from,
        specifiers,
        dependencies,
        devDependencies,
        optionalDependencies
      };
    }
    function mapValues(obj, mapper) {
      const result2 = {};
      for (const [key, value] of Object.entries(obj)) {
        result2[key] = mapper(value, key);
      }
      return result2;
    }
  }
});

// ../lockfile/fs/lib/write.js
var require_write = __commonJS({
  "../lockfile/fs/lib/write.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writeWantedLockfile = writeWantedLockfile;
    exports2.writeCurrentLockfile = writeCurrentLockfile;
    exports2.writeLockfileFile = writeLockfileFile;
    exports2.isEmptyLockfile = isEmptyLockfile;
    exports2.writeLockfiles = writeLockfiles;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var constants_1 = require_lib5();
    var rimraf_1 = __importDefault2(require_rimraf());
    var js_yaml_1 = __importDefault2(require_js_yaml());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var write_file_atomic_1 = __importDefault2(require_lib10());
    var logger_1 = require_logger3();
    var sortLockfileKeys_1 = require_sortLockfileKeys();
    var lockfileName_1 = require_lockfileName();
    var lockfileFormatConverters_1 = require_lockfileFormatConverters();
    async function writeFileAtomic(filename, data) {
      return new Promise((resolve, reject) => {
        (0, write_file_atomic_1.default)(filename, data, {}, (err) => {
          err != null ? reject(err) : resolve();
        });
      });
    }
    var LOCKFILE_YAML_FORMAT = {
      blankLines: true,
      lineWidth: -1,
      // This is setting line width to never wrap
      noCompatMode: true,
      noRefs: true,
      sortKeys: false
    };
    async function writeWantedLockfile(pkgPath, wantedLockfile, opts) {
      const wantedLockfileName = await (0, lockfileName_1.getWantedLockfileName)(opts);
      return writeLockfile(wantedLockfileName, pkgPath, wantedLockfile);
    }
    async function writeCurrentLockfile(virtualStoreDir, currentLockfile) {
      if (isEmptyLockfile(currentLockfile)) {
        await (0, rimraf_1.default)(path_1.default.join(virtualStoreDir, "lock.yaml"));
        return;
      }
      await fs_1.promises.mkdir(virtualStoreDir, { recursive: true });
      return writeLockfile("lock.yaml", virtualStoreDir, currentLockfile);
    }
    async function writeLockfile(lockfileFilename, pkgPath, wantedLockfile) {
      const lockfilePath = path_1.default.join(pkgPath, lockfileFilename);
      const lockfileToStringify = (0, lockfileFormatConverters_1.convertToLockfileFile)(wantedLockfile);
      return writeLockfileFile(lockfilePath, lockfileToStringify);
    }
    function writeLockfileFile(lockfilePath, wantedLockfile) {
      const yamlDoc = yamlStringify(wantedLockfile);
      return writeFileAtomic(lockfilePath, yamlDoc);
    }
    function yamlStringify(lockfile) {
      const sortedLockfile = (0, sortLockfileKeys_1.sortLockfileKeys)(lockfile);
      return js_yaml_1.default.dump(sortedLockfile, LOCKFILE_YAML_FORMAT);
    }
    function isEmptyLockfile(lockfile) {
      return Object.values(lockfile.importers).every((importer) => (0, isEmpty_1.default)(importer.specifiers ?? {}) && (0, isEmpty_1.default)(importer.dependencies ?? {}));
    }
    async function writeLockfiles(opts) {
      const wantedLockfileName = await (0, lockfileName_1.getWantedLockfileName)(opts);
      const wantedLockfilePath = path_1.default.join(opts.wantedLockfileDir, wantedLockfileName);
      const currentLockfilePath = path_1.default.join(opts.currentLockfileDir, "lock.yaml");
      const wantedLockfileToStringify = (0, lockfileFormatConverters_1.convertToLockfileFile)(opts.wantedLockfile);
      const yamlDoc = yamlStringify(wantedLockfileToStringify);
      if (opts.wantedLockfile === opts.currentLockfile) {
        await Promise.all([
          writeFileAtomic(wantedLockfilePath, yamlDoc),
          (async () => {
            if (isEmptyLockfile(opts.wantedLockfile)) {
              await (0, rimraf_1.default)(currentLockfilePath);
            } else {
              await fs_1.promises.mkdir(path_1.default.dirname(currentLockfilePath), { recursive: true });
              await writeFileAtomic(currentLockfilePath, yamlDoc);
            }
          })()
        ]);
        return;
      }
      logger_1.lockfileLogger.debug({
        message: `\`${constants_1.WANTED_LOCKFILE}\` differs from \`${path_1.default.relative(opts.wantedLockfileDir, currentLockfilePath)}\``,
        prefix: opts.wantedLockfileDir
      });
      const currentLockfileToStringify = (0, lockfileFormatConverters_1.convertToLockfileFile)(opts.currentLockfile);
      const currentYamlDoc = yamlStringify(currentLockfileToStringify);
      await Promise.all([
        writeFileAtomic(wantedLockfilePath, yamlDoc),
        (async () => {
          if (isEmptyLockfile(opts.wantedLockfile)) {
            await (0, rimraf_1.default)(currentLockfilePath);
          } else {
            await fs_1.promises.mkdir(path_1.default.dirname(currentLockfilePath), { recursive: true });
            await writeFileAtomic(currentLockfilePath, currentYamlDoc);
          }
        })()
      ]);
    }
  }
});

// ../lockfile/fs/lib/existsWantedLockfile.js
var require_existsWantedLockfile = __commonJS({
  "../lockfile/fs/lib/existsWantedLockfile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.existsNonEmptyWantedLockfile = existsNonEmptyWantedLockfile;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var lockfileName_1 = require_lockfileName();
    async function existsNonEmptyWantedLockfile(pkgPath, opts = {
      useGitBranchLockfile: false,
      mergeGitBranchLockfiles: false
    }) {
      const wantedLockfile = await (0, lockfileName_1.getWantedLockfileName)(opts);
      return new Promise((resolve, reject) => {
        fs_1.default.access(path_1.default.join(pkgPath, wantedLockfile), (err) => {
          if (err == null) {
            resolve(true);
            return;
          }
          if (err.code === "ENOENT") {
            resolve(false);
            return;
          }
          reject(err);
        });
      });
    }
  }
});

// ../lockfile/fs/lib/getLockfileImporterId.js
var require_getLockfileImporterId = __commonJS({
  "../lockfile/fs/lib/getLockfileImporterId.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getLockfileImporterId = getLockfileImporterId;
    var path_1 = __importDefault2(require("path"));
    var normalize_path_1 = __importDefault2(require_normalize_path());
    function getLockfileImporterId(lockfileDir, prefix) {
      return (0, normalize_path_1.default)(path_1.default.relative(lockfileDir, prefix)) || ".";
    }
  }
});

// ../lockfile/types/lib/lockfileFileTypes.js
var require_lockfileFileTypes = __commonJS({
  "../lockfile/types/lib/lockfileFileTypes.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../lockfile/types/lib/index.js
var require_lib110 = __commonJS({
  "../lockfile/types/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_lockfileFileTypes(), exports2);
  }
});

// ../node_modules/.pnpm/comver-to-semver@1.0.0/node_modules/comver-to-semver/index.js
var require_comver_to_semver = __commonJS({
  "../node_modules/.pnpm/comver-to-semver@1.0.0/node_modules/comver-to-semver/index.js"(exports2, module2) {
    "use strict";
    module2.exports = function comverToSemver(comver) {
      if (!comver.includes(".")) return `${comver}.0.0`;
      return `${comver}.0`;
    };
  }
});

// ../lockfile/merger/lib/index.js
var require_lib111 = __commonJS({
  "../lockfile/merger/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergeLockfileChanges = mergeLockfileChanges;
    var comver_to_semver_1 = __importDefault2(require_comver_to_semver());
    var semver_12 = __importDefault2(require_semver2());
    function mergeLockfileChanges(ours, theirs) {
      const newLockfile = {
        importers: {},
        lockfileVersion: semver_12.default.gt((0, comver_to_semver_1.default)(theirs.lockfileVersion.toString()), (0, comver_to_semver_1.default)(ours.lockfileVersion.toString())) ? theirs.lockfileVersion : ours.lockfileVersion
      };
      const pnpmfileChecksum = ours.pnpmfileChecksum ?? theirs.pnpmfileChecksum;
      if (pnpmfileChecksum) {
        newLockfile.pnpmfileChecksum = pnpmfileChecksum;
      }
      const ignoredOptionalDependencies = [.../* @__PURE__ */ new Set([
        ...ours.ignoredOptionalDependencies ?? [],
        ...theirs.ignoredOptionalDependencies ?? []
      ])];
      if (ignoredOptionalDependencies.length) {
        newLockfile.ignoredOptionalDependencies = ignoredOptionalDependencies;
      }
      for (const importerId of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.importers), ...Object.keys(theirs.importers)]))) {
        newLockfile.importers[importerId] = {
          specifiers: {}
        };
        for (const key of ["dependencies", "devDependencies", "optionalDependencies"]) {
          newLockfile.importers[importerId][key] = mergeDict(ours.importers[importerId]?.[key] ?? {}, theirs.importers[importerId]?.[key] ?? {}, mergeVersions);
          if (Object.keys(newLockfile.importers[importerId][key] ?? {}).length === 0) {
            delete newLockfile.importers[importerId][key];
          }
        }
        newLockfile.importers[importerId].specifiers = mergeDict(ours.importers[importerId]?.specifiers ?? {}, theirs.importers[importerId]?.specifiers ?? {}, takeChangedValue);
      }
      const packages = {};
      for (const depPath of Array.from(/* @__PURE__ */ new Set([...Object.keys(ours.packages ?? {}), ...Object.keys(theirs.packages ?? {})]))) {
        const ourPkg = ours.packages?.[depPath];
        const theirPkg = theirs.packages?.[depPath];
        const pkg = {
          ...ourPkg,
          ...theirPkg
        };
        for (const key of ["dependencies", "optionalDependencies"]) {
          pkg[key] = mergeDict(ourPkg?.[key] ?? {}, theirPkg?.[key] ?? {}, mergeVersions);
          if (Object.keys(pkg[key] ?? {}).length === 0) {
            delete pkg[key];
          }
        }
        packages[depPath] = pkg;
      }
      newLockfile.packages = packages;
      return newLockfile;
    }
    function mergeDict(ourDict, theirDict, valueMerger) {
      const newDict = {};
      for (const key of Object.keys(ourDict).concat(Object.keys(theirDict))) {
        const changedValue = valueMerger(ourDict[key], theirDict[key]);
        if (changedValue) {
          newDict[key] = changedValue;
        }
      }
      return newDict;
    }
    function takeChangedValue(ourValue, theirValue) {
      if (ourValue === theirValue || theirValue == null)
        return ourValue;
      return theirValue;
    }
    function mergeVersions(ourValue, theirValue) {
      if (ourValue === theirValue || !theirValue)
        return ourValue;
      if (!ourValue)
        return theirValue;
      const [ourVersion] = ourValue.split("(");
      const [theirVersion] = theirValue.split("(");
      if (semver_12.default.gt(ourVersion, theirVersion)) {
        return ourValue;
      }
      return theirValue;
    }
  }
});

// ../lockfile/fs/lib/errors/LockfileBreakingChangeError.js
var require_LockfileBreakingChangeError = __commonJS({
  "../lockfile/fs/lib/errors/LockfileBreakingChangeError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LockfileBreakingChangeError = void 0;
    var error_1 = require_lib6();
    var LockfileBreakingChangeError = class extends error_1.PnpmError {
      constructor(filename) {
        super("LOCKFILE_BREAKING_CHANGE", `Lockfile ${filename} not compatible with current pnpm`);
        this.filename = filename;
      }
    };
    exports2.LockfileBreakingChangeError = LockfileBreakingChangeError;
  }
});

// ../lockfile/fs/lib/errors/index.js
var require_errors6 = __commonJS({
  "../lockfile/fs/lib/errors/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LockfileBreakingChangeError = void 0;
    var LockfileBreakingChangeError_1 = require_LockfileBreakingChangeError();
    Object.defineProperty(exports2, "LockfileBreakingChangeError", { enumerable: true, get: function() {
      return LockfileBreakingChangeError_1.LockfileBreakingChangeError;
    } });
  }
});

// ../lockfile/fs/lib/gitMergeFile.js
var require_gitMergeFile = __commonJS({
  "../lockfile/fs/lib/gitMergeFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.autofixMergeConflicts = autofixMergeConflicts;
    exports2.isDiff = isDiff;
    var lockfile_merger_1 = require_lib111();
    var js_yaml_1 = __importDefault2(require_js_yaml());
    var lockfileFormatConverters_1 = require_lockfileFormatConverters();
    var MERGE_CONFLICT_PARENT = "|||||||";
    var MERGE_CONFLICT_END = ">>>>>>>";
    var MERGE_CONFLICT_THEIRS = "=======";
    var MERGE_CONFLICT_OURS = "<<<<<<<";
    function autofixMergeConflicts(fileContent) {
      const { ours, theirs } = parseMergeFile(fileContent);
      return (0, lockfile_merger_1.mergeLockfileChanges)((0, lockfileFormatConverters_1.convertToLockfileObject)(js_yaml_1.default.load(ours)), (0, lockfileFormatConverters_1.convertToLockfileObject)(js_yaml_1.default.load(theirs)));
    }
    function parseMergeFile(fileContent) {
      const lines = fileContent.split(/[\n\r]+/);
      let state = "top";
      const ours = [];
      const theirs = [];
      while (lines.length > 0) {
        const line = lines.shift();
        if (line.startsWith(MERGE_CONFLICT_PARENT)) {
          state = "parent";
          continue;
        }
        if (line.startsWith(MERGE_CONFLICT_OURS)) {
          state = "ours";
          continue;
        }
        if (line === MERGE_CONFLICT_THEIRS) {
          state = "theirs";
          continue;
        }
        if (line.startsWith(MERGE_CONFLICT_END)) {
          state = "top";
          continue;
        }
        if (state === "top" || state === "ours")
          ours.push(line);
        if (state === "top" || state === "theirs")
          theirs.push(line);
      }
      return { ours: ours.join("\n"), theirs: theirs.join("\n") };
    }
    function isDiff(fileContent) {
      return fileContent.includes(MERGE_CONFLICT_OURS) && fileContent.includes(MERGE_CONFLICT_THEIRS) && fileContent.includes(MERGE_CONFLICT_END);
    }
  }
});

// ../lockfile/fs/lib/gitBranchLockfile.js
var require_gitBranchLockfile = __commonJS({
  "../lockfile/fs/lib/gitBranchLockfile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getGitBranchLockfileNames = getGitBranchLockfileNames;
    exports2.cleanGitBranchLockfiles = cleanGitBranchLockfiles;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    async function getGitBranchLockfileNames(lockfileDir) {
      const files = await fs_1.promises.readdir(lockfileDir);
      const gitBranchLockfileNames = files.filter((file) => file.match(/^pnpm-lock.(?:.*).yaml$/));
      return gitBranchLockfileNames;
    }
    async function cleanGitBranchLockfiles(lockfileDir) {
      const gitBranchLockfiles = await getGitBranchLockfileNames(lockfileDir);
      await Promise.all(gitBranchLockfiles.map(async (file) => {
        const filepath = path_1.default.join(lockfileDir, file);
        await fs_1.promises.unlink(filepath);
      }));
    }
  }
});

// ../lockfile/fs/lib/read.js
var require_read = __commonJS({
  "../lockfile/fs/lib/read.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readCurrentLockfile = readCurrentLockfile;
    exports2.readWantedLockfileAndAutofixConflicts = readWantedLockfileAndAutofixConflicts;
    exports2.readWantedLockfile = readWantedLockfile;
    exports2.createLockfileObject = createLockfileObject;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var lockfile_merger_1 = require_lib111();
    var comver_to_semver_1 = __importDefault2(require_comver_to_semver());
    var js_yaml_1 = __importDefault2(require_js_yaml());
    var semver_12 = __importDefault2(require_semver2());
    var strip_bom_1 = __importDefault2(require_strip_bom());
    var errors_1 = require_errors6();
    var gitMergeFile_1 = require_gitMergeFile();
    var logger_1 = require_logger3();
    var lockfileName_1 = require_lockfileName();
    var gitBranchLockfile_1 = require_gitBranchLockfile();
    var lockfileFormatConverters_1 = require_lockfileFormatConverters();
    async function readCurrentLockfile(virtualStoreDir, opts) {
      const lockfilePath = path_1.default.join(virtualStoreDir, "lock.yaml");
      return (await _read(lockfilePath, virtualStoreDir, opts)).lockfile;
    }
    async function readWantedLockfileAndAutofixConflicts(pkgPath, opts) {
      return _readWantedLockfile(pkgPath, {
        ...opts,
        autofixMergeConflicts: true
      });
    }
    async function readWantedLockfile(pkgPath, opts) {
      return (await _readWantedLockfile(pkgPath, opts)).lockfile;
    }
    async function _read(lockfilePath, prefix, opts) {
      let lockfileRawContent;
      try {
        lockfileRawContent = (0, strip_bom_1.default)(await fs_1.promises.readFile(lockfilePath, "utf8"));
      } catch (err) {
        if (!(util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")) {
          throw err;
        }
        return {
          lockfile: null,
          hadConflicts: false
        };
      }
      let lockfile;
      let hadConflicts;
      try {
        lockfile = (0, lockfileFormatConverters_1.convertToLockfileObject)(js_yaml_1.default.load(lockfileRawContent));
        hadConflicts = false;
      } catch (err) {
        if (!opts.autofixMergeConflicts || !(0, gitMergeFile_1.isDiff)(lockfileRawContent)) {
          throw new error_1.PnpmError("BROKEN_LOCKFILE", `The lockfile at "${lockfilePath}" is broken: ${err.message}`);
        }
        hadConflicts = true;
        lockfile = (0, gitMergeFile_1.autofixMergeConflicts)(lockfileRawContent);
        logger_1.lockfileLogger.info({
          message: `Merge conflict detected in ${constants_1.WANTED_LOCKFILE} and successfully merged`,
          prefix
        });
      }
      if (lockfile) {
        const lockfileSemver = (0, comver_to_semver_1.default)((lockfile.lockfileVersion ?? 0).toString());
        if (!opts.wantedVersions || opts.wantedVersions.length === 0 || opts.wantedVersions.some((wantedVersion) => {
          if (semver_12.default.major(lockfileSemver) !== semver_12.default.major((0, comver_to_semver_1.default)(wantedVersion)))
            return false;
          if (lockfile.lockfileVersion !== "6.1" && semver_12.default.gt(lockfileSemver, (0, comver_to_semver_1.default)(wantedVersion))) {
            logger_1.lockfileLogger.warn({
              message: `Your ${constants_1.WANTED_LOCKFILE} was generated by a newer version of pnpm. It is a compatible version but it might get downgraded to version ${wantedVersion}`,
              prefix
            });
          }
          return true;
        })) {
          return { lockfile, hadConflicts };
        }
      }
      if (opts.ignoreIncompatible) {
        logger_1.lockfileLogger.warn({
          message: `Ignoring not compatible lockfile at ${lockfilePath}`,
          prefix
        });
        return { lockfile: null, hadConflicts: false };
      }
      throw new errors_1.LockfileBreakingChangeError(lockfilePath);
    }
    function createLockfileObject(importerIds, opts) {
      const importers = {};
      for (const importerId of importerIds) {
        importers[importerId] = {
          dependencies: {},
          specifiers: {}
        };
      }
      return {
        importers,
        lockfileVersion: opts.lockfileVersion || constants_1.LOCKFILE_VERSION,
        settings: {
          autoInstallPeers: opts.autoInstallPeers,
          excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
          peersSuffixMaxLength: opts.peersSuffixMaxLength
        }
      };
    }
    async function _readWantedLockfile(pkgPath, opts) {
      const lockfileNames = [constants_1.WANTED_LOCKFILE];
      if (opts.useGitBranchLockfile) {
        const gitBranchLockfileName = await (0, lockfileName_1.getWantedLockfileName)(opts);
        if (gitBranchLockfileName !== constants_1.WANTED_LOCKFILE) {
          lockfileNames.unshift(gitBranchLockfileName);
        }
      }
      let result2 = { lockfile: null, hadConflicts: false };
      for (const lockfileName of lockfileNames) {
        result2 = await _read(path_1.default.join(pkgPath, lockfileName), pkgPath, { ...opts, autofixMergeConflicts: true });
        if (result2.lockfile) {
          if (opts.mergeGitBranchLockfiles) {
            result2.lockfile = await _mergeGitBranchLockfiles(result2.lockfile, pkgPath, pkgPath, opts);
          }
          break;
        }
      }
      return result2;
    }
    async function _mergeGitBranchLockfiles(lockfile, lockfileDir, prefix, opts) {
      if (!lockfile) {
        return lockfile;
      }
      const gitBranchLockfiles = (await _readGitBranchLockfiles(lockfileDir, prefix, opts)).map(({ lockfile: lockfile2 }) => lockfile2);
      let mergedLockfile = lockfile;
      for (const gitBranchLockfile of gitBranchLockfiles) {
        if (!gitBranchLockfile) {
          continue;
        }
        mergedLockfile = (0, lockfile_merger_1.mergeLockfileChanges)(mergedLockfile, gitBranchLockfile);
      }
      return mergedLockfile;
    }
    async function _readGitBranchLockfiles(lockfileDir, prefix, opts) {
      const files = await (0, gitBranchLockfile_1.getGitBranchLockfileNames)(lockfileDir);
      return Promise.all(files.map((file) => _read(path_1.default.join(lockfileDir, file), prefix, opts)));
    }
  }
});

// ../lockfile/fs/lib/index.js
var require_lib112 = __commonJS({
  "../lockfile/fs/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.convertToLockfileFile = exports2.cleanGitBranchLockfiles = exports2.getLockfileImporterId = exports2.existsNonEmptyWantedLockfile = exports2.writeLockfileFile = exports2.writeWantedLockfile = exports2.writeCurrentLockfile = exports2.writeLockfiles = exports2.isEmptyLockfile = void 0;
    var write_1 = require_write();
    Object.defineProperty(exports2, "isEmptyLockfile", { enumerable: true, get: function() {
      return write_1.isEmptyLockfile;
    } });
    Object.defineProperty(exports2, "writeLockfiles", { enumerable: true, get: function() {
      return write_1.writeLockfiles;
    } });
    Object.defineProperty(exports2, "writeCurrentLockfile", { enumerable: true, get: function() {
      return write_1.writeCurrentLockfile;
    } });
    Object.defineProperty(exports2, "writeWantedLockfile", { enumerable: true, get: function() {
      return write_1.writeWantedLockfile;
    } });
    Object.defineProperty(exports2, "writeLockfileFile", { enumerable: true, get: function() {
      return write_1.writeLockfileFile;
    } });
    var existsWantedLockfile_1 = require_existsWantedLockfile();
    Object.defineProperty(exports2, "existsNonEmptyWantedLockfile", { enumerable: true, get: function() {
      return existsWantedLockfile_1.existsNonEmptyWantedLockfile;
    } });
    var getLockfileImporterId_1 = require_getLockfileImporterId();
    Object.defineProperty(exports2, "getLockfileImporterId", { enumerable: true, get: function() {
      return getLockfileImporterId_1.getLockfileImporterId;
    } });
    __exportStar2(require_lib110(), exports2);
    __exportStar2(require_read(), exports2);
    var gitBranchLockfile_1 = require_gitBranchLockfile();
    Object.defineProperty(exports2, "cleanGitBranchLockfiles", { enumerable: true, get: function() {
      return gitBranchLockfile_1.cleanGitBranchLockfiles;
    } });
    var lockfileFormatConverters_1 = require_lockfileFormatConverters();
    Object.defineProperty(exports2, "convertToLockfileFile", { enumerable: true, get: function() {
      return lockfileFormatConverters_1.convertToLockfileFile;
    } });
  }
});

// ../config/normalize-registries/lib/index.js
var require_lib113 = __commonJS({
  "../config/normalize-registries/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DEFAULT_REGISTRIES = void 0;
    exports2.normalizeRegistries = normalizeRegistries;
    var normalize_registry_url_1 = __importDefault2(require_normalize_registry_url());
    var map_1 = __importDefault2(require_map3());
    exports2.DEFAULT_REGISTRIES = {
      default: "https://registry.npmjs.org/"
    };
    function normalizeRegistries(registries) {
      if (registries == null)
        return exports2.DEFAULT_REGISTRIES;
      const normalizeRegistries2 = (0, map_1.default)(normalize_registry_url_1.default, registries);
      return {
        ...exports2.DEFAULT_REGISTRIES,
        ...normalizeRegistries2
      };
    }
  }
});

// ../pkg-manager/read-projects-context/lib/index.js
var require_lib114 = __commonJS({
  "../pkg-manager/read-projects-context/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readProjectsContext = readProjectsContext;
    var fs_1 = require("fs");
    var util_1 = __importDefault2(require("util"));
    var path_1 = __importDefault2(require("path"));
    var lockfile_fs_1 = require_lib112();
    var modules_yaml_1 = require_lib95();
    var normalize_registries_1 = require_lib113();
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    async function readProjectsContext(projects, opts) {
      const relativeModulesDir = opts.modulesDir ?? "node_modules";
      const rootModulesDir = await (0, realpath_missing_1.default)(path_1.default.join(opts.lockfileDir, relativeModulesDir));
      const modules = await (0, modules_yaml_1.readModulesManifest)(rootModulesDir);
      return {
        currentHoistPattern: modules?.hoistPattern,
        currentPublicHoistPattern: modules?.publicHoistPattern,
        hoist: modules == null ? void 0 : Boolean(modules.hoistPattern),
        hoistedDependencies: modules?.hoistedDependencies ?? {},
        include: modules?.included ?? { dependencies: true, devDependencies: true, optionalDependencies: true },
        modules,
        pendingBuilds: modules?.pendingBuilds ?? [],
        projects: await Promise.all(projects.map(async (project) => {
          const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(project.rootDir, project.modulesDir ?? relativeModulesDir));
          const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, project.rootDir);
          return {
            ...project,
            binsDir: project.binsDir ?? path_1.default.join(project.rootDir, relativeModulesDir, ".bin"),
            id: importerId,
            modulesDir,
            rootDirRealPath: project.rootDirRealPath ?? await realpath(project.rootDir)
          };
        })),
        registries: modules?.registries != null ? (0, normalize_registries_1.normalizeRegistries)(modules.registries) : void 0,
        rootModulesDir,
        skipped: new Set(modules?.skipped ?? []),
        virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength
      };
    }
    async function realpath(path2) {
      try {
        return await fs_1.promises.realpath(path2);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return path2;
        }
        throw err;
      }
    }
  }
});

// ../pkg-manager/get-context/lib/readLockfiles.js
var require_readLockfiles = __commonJS({
  "../pkg-manager/get-context/lib/readLockfiles.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readLockfiles = readLockfiles;
    var constants_1 = require_lib5();
    var lockfile_fs_1 = require_lib112();
    var logger_1 = require_lib();
    var ci_info_1 = require_ci_info();
    var clone_1 = __importDefault2(require_clone5());
    var equals_1 = __importDefault2(require_equals2());
    async function readLockfiles(opts) {
      const wantedLockfileVersion = constants_1.LOCKFILE_VERSION;
      const lockfileOpts = {
        ignoreIncompatible: opts.force || ci_info_1.isCI,
        wantedVersions: [constants_1.LOCKFILE_VERSION],
        useGitBranchLockfile: opts.useGitBranchLockfile,
        mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles
      };
      const fileReads = [];
      let lockfileHadConflicts = false;
      if (opts.useLockfile) {
        if (!opts.frozenLockfile) {
          fileReads.push((async () => {
            try {
              const { lockfile, hadConflicts } = await (0, lockfile_fs_1.readWantedLockfileAndAutofixConflicts)(opts.lockfileDir, lockfileOpts);
              lockfileHadConflicts = hadConflicts;
              return lockfile;
            } catch (err) {
              logger_1.logger.warn({
                message: `Ignoring broken lockfile at ${opts.lockfileDir}: ${err.message}`,
                prefix: opts.lockfileDir
              });
              return void 0;
            }
          })());
        } else {
          fileReads.push((0, lockfile_fs_1.readWantedLockfile)(opts.lockfileDir, lockfileOpts));
        }
      } else {
        if (await (0, lockfile_fs_1.existsNonEmptyWantedLockfile)(opts.lockfileDir, lockfileOpts)) {
          logger_1.logger.warn({
            message: `A ${constants_1.WANTED_LOCKFILE} file exists. The current configuration prohibits to read or write a lockfile`,
            prefix: opts.lockfileDir
          });
        }
        fileReads.push(Promise.resolve(void 0));
      }
      fileReads.push((async () => {
        try {
          return await (0, lockfile_fs_1.readCurrentLockfile)(opts.virtualStoreDir, lockfileOpts);
        } catch (err) {
          logger_1.logger.warn({
            message: `Ignoring broken lockfile at ${opts.virtualStoreDir}: ${err.message}`,
            prefix: opts.lockfileDir
          });
          return void 0;
        }
      })());
      const files = await Promise.all(fileReads);
      const sopts = {
        autoInstallPeers: opts.autoInstallPeers,
        excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
        lockfileVersion: wantedLockfileVersion,
        peersSuffixMaxLength: opts.peersSuffixMaxLength
      };
      const importerIds = opts.projects.map((importer) => importer.id);
      const currentLockfile = files[1] ?? (0, lockfile_fs_1.createLockfileObject)(importerIds, sopts);
      for (const importerId of importerIds) {
        if (!currentLockfile.importers[importerId]) {
          currentLockfile.importers[importerId] = {
            specifiers: {}
          };
        }
      }
      const wantedLockfile = files[0] ?? (currentLockfile && (0, clone_1.default)(currentLockfile)) ?? (0, lockfile_fs_1.createLockfileObject)(importerIds, sopts);
      let wantedLockfileIsModified = false;
      for (const importerId of importerIds) {
        if (!wantedLockfile.importers[importerId]) {
          wantedLockfileIsModified = true;
          wantedLockfile.importers[importerId] = {
            specifiers: {}
          };
        }
      }
      const existsWantedLockfile = files[0] != null;
      return {
        currentLockfile,
        currentLockfileIsUpToDate: (0, equals_1.default)(currentLockfile, wantedLockfile),
        existsCurrentLockfile: files[1] != null,
        existsWantedLockfile,
        existsNonEmptyWantedLockfile: existsWantedLockfile && !(0, lockfile_fs_1.isEmptyLockfile)(wantedLockfile),
        wantedLockfile,
        wantedLockfileIsModified,
        lockfileHadConflicts
      };
    }
  }
});

// ../pkg-manager/get-context/lib/index.js
var require_lib115 = __commonJS({
  "../pkg-manager/get-context/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getContext = getContext;
    exports2.getContextForSingleImporter = getContextForSingleImporter;
    exports2.arrayOfWorkspacePackagesToMap = arrayOfWorkspacePackagesToMap;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var read_projects_context_1 = require_lib114();
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var clone_1 = __importDefault2(require_clone5());
    var readLockfiles_1 = require_readLockfiles();
    async function getContext(opts) {
      const modulesDir = opts.modulesDir ?? "node_modules";
      const importersContext = await (0, read_projects_context_1.readProjectsContext)(opts.allProjects, { lockfileDir: opts.lockfileDir, modulesDir });
      const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(modulesDir, ".pnpm"), opts.lockfileDir);
      await fs_1.promises.mkdir(opts.storeDir, { recursive: true });
      for (const project of opts.allProjects) {
        core_loggers_1.packageManifestLogger.debug({
          initial: project.manifest,
          prefix: project.rootDir
        });
      }
      if (opts.readPackageHook != null) {
        await Promise.all(importersContext.projects.map(async (project) => {
          project.originalManifest = project.manifest;
          project.manifest = await opts.readPackageHook((0, clone_1.default)(project.manifest), project.rootDir);
        }));
      }
      const extraBinPaths = [
        ...opts.extraBinPaths || []
      ];
      const hoistedModulesDir = path_1.default.join(virtualStoreDir, "node_modules");
      if (opts.hoistPattern?.length) {
        extraBinPaths.unshift(path_1.default.join(hoistedModulesDir, ".bin"));
      }
      const ctx = {
        extraBinPaths,
        extraNodePaths: getExtraNodePaths({ extendNodePath: opts.extendNodePath, nodeLinker: opts.nodeLinker, hoistPattern: importersContext.currentHoistPattern ?? opts.hoistPattern, virtualStoreDir }),
        hoistedDependencies: importersContext.hoistedDependencies,
        hoistedModulesDir,
        hoistPattern: opts.hoistPattern,
        currentHoistPattern: importersContext.currentHoistPattern,
        include: opts.include ?? importersContext.include,
        lockfileDir: opts.lockfileDir,
        modulesFile: importersContext.modules,
        pendingBuilds: importersContext.pendingBuilds,
        projects: Object.fromEntries(importersContext.projects.map((project) => [project.rootDir, project])),
        publicHoistPattern: opts.publicHoistPattern,
        currentPublicHoistPattern: importersContext.currentPublicHoistPattern,
        registries: opts.registries,
        rootModulesDir: importersContext.rootModulesDir,
        skipped: importersContext.skipped,
        storeDir: opts.storeDir,
        virtualStoreDir,
        virtualStoreDirMaxLength: importersContext.virtualStoreDirMaxLength ?? opts.virtualStoreDirMaxLength,
        workspacePackages: opts.workspacePackages ?? arrayOfWorkspacePackagesToMap(opts.allProjects),
        ...await (0, readLockfiles_1.readLockfiles)({
          autoInstallPeers: opts.autoInstallPeers,
          excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
          peersSuffixMaxLength: opts.peersSuffixMaxLength,
          force: opts.force,
          frozenLockfile: opts.frozenLockfile === true,
          lockfileDir: opts.lockfileDir,
          projects: importersContext.projects,
          registry: opts.registries.default,
          useLockfile: opts.useLockfile,
          useGitBranchLockfile: opts.useGitBranchLockfile,
          mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles,
          virtualStoreDir
        })
      };
      core_loggers_1.contextLogger.debug({
        currentLockfileExists: ctx.existsCurrentLockfile,
        storeDir: opts.storeDir,
        virtualStoreDir
      });
      return ctx;
    }
    async function getContextForSingleImporter(manifest, opts) {
      const { currentHoistPattern, hoistedDependencies, projects, include, modules, pendingBuilds, registries, skipped, rootModulesDir } = await (0, read_projects_context_1.readProjectsContext)([
        {
          rootDir: opts.dir
        }
      ], {
        lockfileDir: opts.lockfileDir,
        modulesDir: opts.modulesDir
      });
      const storeDir = opts.storeDir;
      const importer = projects[0];
      const modulesDir = importer.modulesDir;
      const importerId = importer.id;
      const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? "node_modules/.pnpm", opts.lockfileDir);
      await fs_1.promises.mkdir(storeDir, { recursive: true });
      const extraBinPaths = [
        ...opts.extraBinPaths || []
      ];
      const hoistedModulesDir = path_1.default.join(virtualStoreDir, "node_modules");
      if (opts.hoistPattern?.length) {
        extraBinPaths.unshift(path_1.default.join(hoistedModulesDir, ".bin"));
      }
      const ctx = {
        extraBinPaths,
        extraNodePaths: getExtraNodePaths({ extendNodePath: opts.extendNodePath, nodeLinker: opts.nodeLinker, hoistPattern: currentHoistPattern ?? opts.hoistPattern, virtualStoreDir }),
        hoistedDependencies,
        hoistedModulesDir,
        hoistPattern: opts.hoistPattern,
        importerId,
        include: opts.include ?? include,
        lockfileDir: opts.lockfileDir,
        manifest: await opts.readPackageHook?.(manifest) ?? manifest,
        modulesDir,
        modulesFile: modules,
        pendingBuilds,
        prefix: opts.dir,
        publicHoistPattern: opts.publicHoistPattern,
        registries: {
          ...opts.registries,
          ...registries
        },
        rootModulesDir,
        skipped,
        storeDir,
        virtualStoreDir,
        ...await (0, readLockfiles_1.readLockfiles)({
          autoInstallPeers: opts.autoInstallPeers,
          excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
          peersSuffixMaxLength: opts.peersSuffixMaxLength,
          force: opts.force,
          frozenLockfile: false,
          lockfileDir: opts.lockfileDir,
          projects: [{ id: importerId, rootDir: opts.dir }],
          registry: opts.registries.default,
          useLockfile: opts.useLockfile,
          useGitBranchLockfile: opts.useGitBranchLockfile,
          mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles,
          virtualStoreDir
        })
      };
      core_loggers_1.packageManifestLogger.debug({
        initial: manifest,
        prefix: opts.dir
      });
      core_loggers_1.contextLogger.debug({
        currentLockfileExists: ctx.existsCurrentLockfile,
        storeDir: opts.storeDir,
        virtualStoreDir
      });
      return ctx;
    }
    function getExtraNodePaths({ extendNodePath = true, hoistPattern, nodeLinker, virtualStoreDir }) {
      if (extendNodePath && nodeLinker === "isolated" && hoistPattern?.length) {
        return [path_1.default.join(virtualStoreDir, "node_modules")];
      }
      return [];
    }
    function arrayOfWorkspacePackagesToMap(pkgs) {
      const workspacePkgs = /* @__PURE__ */ new Map();
      for (const { manifest, rootDir } of pkgs) {
        if (!manifest.name)
          continue;
        let workspacePkgsByVersion = workspacePkgs.get(manifest.name);
        if (!workspacePkgsByVersion) {
          workspacePkgsByVersion = /* @__PURE__ */ new Map();
          workspacePkgs.set(manifest.name, workspacePkgsByVersion);
        }
        workspacePkgsByVersion.set(manifest.version ?? "0.0.0", {
          manifest,
          rootDir
        });
      }
      return workspacePkgs;
    }
  }
});

// ../lockfile/utils/lib/packageIdFromSnapshot.js
var require_packageIdFromSnapshot = __commonJS({
  "../lockfile/utils/lib/packageIdFromSnapshot.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageIdFromSnapshot = packageIdFromSnapshot;
    var dp = __importStar3(require_lib98());
    function packageIdFromSnapshot(depPath, pkgSnapshot) {
      if (pkgSnapshot.id)
        return pkgSnapshot.id;
      return dp.tryGetPackageId(depPath) ?? depPath;
    }
  }
});

// ../lockfile/utils/lib/nameVerFromPkgSnapshot.js
var require_nameVerFromPkgSnapshot = __commonJS({
  "../lockfile/utils/lib/nameVerFromPkgSnapshot.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.nameVerFromPkgSnapshot = nameVerFromPkgSnapshot;
    var dp = __importStar3(require_lib98());
    function nameVerFromPkgSnapshot(depPath, pkgSnapshot) {
      const pkgInfo = dp.parse(depPath);
      return {
        name: pkgInfo.name,
        peersSuffix: pkgInfo.peersSuffix,
        version: pkgSnapshot.version ?? pkgInfo.version,
        nonSemverVersion: pkgInfo.nonSemverVersion
      };
    }
  }
});

// ../lockfile/utils/lib/extendProjectsWithTargetDirs.js
var require_extendProjectsWithTargetDirs = __commonJS({
  "../lockfile/utils/lib/extendProjectsWithTargetDirs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.extendProjectsWithTargetDirs = extendProjectsWithTargetDirs;
    var path_1 = __importDefault2(require("path"));
    var dependency_path_1 = require_lib98();
    var packageIdFromSnapshot_1 = require_packageIdFromSnapshot();
    var nameVerFromPkgSnapshot_1 = require_nameVerFromPkgSnapshot();
    function extendProjectsWithTargetDirs(projects, lockfile, ctx) {
      const getLocalLocations = ctx.pkgLocationsByDepPath != null ? (depPath) => ctx.pkgLocationsByDepPath[depPath] : (depPath, pkgName) => [path_1.default.join(ctx.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(depPath, ctx.virtualStoreDirMaxLength), "node_modules", pkgName)];
      const projectsById = Object.fromEntries(projects.map((project) => [project.id, { ...project, targetDirs: [] }]));
      for (const [depPath, pkg] of Object.entries(lockfile.packages ?? {})) {
        if (pkg.resolution?.type !== "directory")
          continue;
        const pkgId = (0, packageIdFromSnapshot_1.packageIdFromSnapshot)(depPath, pkg);
        const { name: pkgName } = (0, nameVerFromPkgSnapshot_1.nameVerFromPkgSnapshot)(depPath, pkg);
        const importerId = pkgId.replace(/^file:/, "");
        if (projectsById[importerId] == null)
          continue;
        const localLocations = getLocalLocations(depPath, pkgName);
        if (!localLocations)
          continue;
        projectsById[importerId].targetDirs.push(...localLocations);
        projectsById[importerId].stages = ["preinstall", "install", "postinstall", "prepare", "prepublishOnly"];
      }
      return Object.values(projectsById);
    }
  }
});

// ../lockfile/utils/lib/packageIsIndependent.js
var require_packageIsIndependent = __commonJS({
  "../lockfile/utils/lib/packageIsIndependent.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageIsIndependent = packageIsIndependent;
    function packageIsIndependent({ dependencies, optionalDependencies }) {
      return dependencies === void 0 && optionalDependencies === void 0;
    }
  }
});

// ../node_modules/.pnpm/get-npm-tarball-url@2.1.0/node_modules/get-npm-tarball-url/lib/index.js
var require_lib116 = __commonJS({
  "../node_modules/.pnpm/get-npm-tarball-url@2.1.0/node_modules/get-npm-tarball-url/lib/index.js"(exports2, module2) {
    var __defProp2 = Object.defineProperty;
    var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor;
    var __getOwnPropNames2 = Object.getOwnPropertyNames;
    var __hasOwnProp2 = Object.prototype.hasOwnProperty;
    var __export2 = (target, all) => {
      for (var name in all)
        __defProp2(target, name, { get: all[name], enumerable: true });
    };
    var __copyProps2 = (to, from, except, desc) => {
      if (from && typeof from === "object" || typeof from === "function") {
        for (let key of __getOwnPropNames2(from))
          if (!__hasOwnProp2.call(to, key) && key !== except)
            __defProp2(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc2(from, key)) || desc.enumerable });
      }
      return to;
    };
    var __toCommonJS2 = (mod) => __copyProps2(__defProp2({}, "__esModule", { value: true }), mod);
    var src_exports = {};
    __export2(src_exports, {
      default: () => src_default
    });
    module2.exports = __toCommonJS2(src_exports);
    function src_default(pkgName, pkgVersion, opts) {
      let registry;
      if (opts == null ? void 0 : opts.registry) {
        registry = opts.registry.endsWith("/") ? opts.registry : `${opts.registry}/`;
      } else {
        registry = "https://registry.npmjs.org/";
      }
      const scopelessName = getScopelessName(pkgName);
      return `${registry}${pkgName}/-/${scopelessName}-${removeBuildMetadataFromVersion(pkgVersion)}.tgz`;
    }
    function removeBuildMetadataFromVersion(version2) {
      const plusPos = version2.indexOf("+");
      if (plusPos === -1)
        return version2;
      return version2.substring(0, plusPos);
    }
    function getScopelessName(name) {
      if (name[0] !== "@") {
        return name;
      }
      return name.split("/")[1];
    }
  }
});

// ../lockfile/utils/lib/pkgSnapshotToResolution.js
var require_pkgSnapshotToResolution = __commonJS({
  "../lockfile/utils/lib/pkgSnapshotToResolution.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pkgSnapshotToResolution = pkgSnapshotToResolution;
    var url_1 = __importDefault2(require("url"));
    var dp = __importStar3(require_lib98());
    var get_npm_tarball_url_1 = __importDefault2(require_lib116());
    var pick_fetcher_1 = require_lib56();
    var nameVerFromPkgSnapshot_1 = require_nameVerFromPkgSnapshot();
    function pkgSnapshotToResolution(depPath, pkgSnapshot, registries) {
      if (Boolean(pkgSnapshot.resolution.type) || pkgSnapshot.resolution.tarball?.startsWith("file:") || (0, pick_fetcher_1.isGitHostedPkgUrl)(pkgSnapshot.resolution.tarball ?? "")) {
        return pkgSnapshot.resolution;
      }
      const { name } = (0, nameVerFromPkgSnapshot_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
      let registry = "";
      if (name != null) {
        if (name.startsWith("@")) {
          registry = registries[name.split("/")[0]];
        }
      }
      if (!registry) {
        registry = registries.default;
      }
      let tarball;
      if (!pkgSnapshot.resolution.tarball) {
        tarball = getTarball(registry);
      } else {
        tarball = new url_1.default.URL(pkgSnapshot.resolution.tarball, registry.endsWith("/") ? registry : `${registry}/`).toString();
      }
      return {
        ...pkgSnapshot.resolution,
        tarball
      };
      function getTarball(registry2) {
        const { name: name2, version: version2 } = dp.parse(depPath);
        if (!name2 || !version2) {
          throw new Error(`Couldn't get tarball URL from dependency path ${depPath}`);
        }
        return (0, get_npm_tarball_url_1.default)(name2, version2, { registry: registry2 });
      }
    }
  }
});

// ../lockfile/utils/lib/refIsLocalTarball.js
var require_refIsLocalTarball = __commonJS({
  "../lockfile/utils/lib/refIsLocalTarball.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.refIsLocalTarball = refIsLocalTarball;
    exports2.refIsLocalDirectory = refIsLocalDirectory;
    function refIsLocalTarball(ref) {
      return ref.startsWith("file:") && (ref.endsWith(".tgz") || ref.endsWith(".tar.gz") || ref.endsWith(".tar"));
    }
    function refIsLocalDirectory(ref) {
      return ref.startsWith("file:") && !refIsLocalTarball(ref);
    }
  }
});

// ../lockfile/utils/lib/index.js
var require_lib117 = __commonJS({
  "../lockfile/utils/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPkgShortId = exports2.refIsLocalDirectory = exports2.refIsLocalTarball = exports2.pkgSnapshotToResolution = exports2.packageIsIndependent = exports2.packageIdFromSnapshot = exports2.nameVerFromPkgSnapshot = exports2.extendProjectsWithTargetDirs = void 0;
    var dependency_path_1 = require_lib98();
    var extendProjectsWithTargetDirs_1 = require_extendProjectsWithTargetDirs();
    Object.defineProperty(exports2, "extendProjectsWithTargetDirs", { enumerable: true, get: function() {
      return extendProjectsWithTargetDirs_1.extendProjectsWithTargetDirs;
    } });
    var nameVerFromPkgSnapshot_1 = require_nameVerFromPkgSnapshot();
    Object.defineProperty(exports2, "nameVerFromPkgSnapshot", { enumerable: true, get: function() {
      return nameVerFromPkgSnapshot_1.nameVerFromPkgSnapshot;
    } });
    var packageIdFromSnapshot_1 = require_packageIdFromSnapshot();
    Object.defineProperty(exports2, "packageIdFromSnapshot", { enumerable: true, get: function() {
      return packageIdFromSnapshot_1.packageIdFromSnapshot;
    } });
    var packageIsIndependent_1 = require_packageIsIndependent();
    Object.defineProperty(exports2, "packageIsIndependent", { enumerable: true, get: function() {
      return packageIsIndependent_1.packageIsIndependent;
    } });
    var pkgSnapshotToResolution_1 = require_pkgSnapshotToResolution();
    Object.defineProperty(exports2, "pkgSnapshotToResolution", { enumerable: true, get: function() {
      return pkgSnapshotToResolution_1.pkgSnapshotToResolution;
    } });
    var refIsLocalTarball_1 = require_refIsLocalTarball();
    Object.defineProperty(exports2, "refIsLocalTarball", { enumerable: true, get: function() {
      return refIsLocalTarball_1.refIsLocalTarball;
    } });
    Object.defineProperty(exports2, "refIsLocalDirectory", { enumerable: true, get: function() {
      return refIsLocalTarball_1.refIsLocalDirectory;
    } });
    __exportStar2(require_lib110(), exports2);
    exports2.getPkgShortId = dependency_path_1.refToRelative;
  }
});

// ../lockfile/walker/lib/index.js
var require_lib118 = __commonJS({
  "../lockfile/walker/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileWalkerGroupImporterSteps = lockfileWalkerGroupImporterSteps;
    exports2.lockfileWalker = lockfileWalker;
    var dp = __importStar3(require_lib98());
    function lockfileWalkerGroupImporterSteps(lockfile, importerIds, opts) {
      const walked = new Set(opts?.skipped != null ? Array.from(opts?.skipped) : []);
      return importerIds.map((importerId) => {
        const projectSnapshot = lockfile.importers[importerId];
        const entryNodes = Object.entries({
          ...opts?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies,
          ...opts?.include?.dependencies === false ? {} : projectSnapshot.dependencies,
          ...opts?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies
        }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null);
        return {
          importerId,
          step: step({
            includeOptionalDependencies: opts?.include?.optionalDependencies !== false,
            lockfile,
            walked
          }, entryNodes)
        };
      });
    }
    function lockfileWalker(lockfile, importerIds, opts) {
      const walked = new Set(opts?.skipped != null ? Array.from(opts?.skipped) : []);
      const entryNodes = [];
      const directDeps = [];
      for (const importerId of importerIds) {
        const projectSnapshot = lockfile.importers[importerId];
        Object.entries({
          ...opts?.include?.devDependencies === false ? {} : projectSnapshot.devDependencies,
          ...opts?.include?.dependencies === false ? {} : projectSnapshot.dependencies,
          ...opts?.include?.optionalDependencies === false ? {} : projectSnapshot.optionalDependencies
        }).forEach(([pkgName, reference]) => {
          const depPath = dp.refToRelative(reference, pkgName);
          if (depPath === null)
            return;
          entryNodes.push(depPath);
          directDeps.push({ alias: pkgName, depPath });
        });
      }
      return {
        directDeps,
        step: step({
          includeOptionalDependencies: opts?.include?.optionalDependencies !== false,
          lockfile,
          walked
        }, entryNodes)
      };
    }
    function step(ctx, nextDepPaths) {
      const result2 = {
        dependencies: [],
        links: [],
        missing: []
      };
      for (const depPath of nextDepPaths) {
        if (ctx.walked.has(depPath))
          continue;
        ctx.walked.add(depPath);
        const pkgSnapshot = ctx.lockfile.packages?.[depPath];
        if (pkgSnapshot == null) {
          if (depPath.startsWith("link:")) {
            result2.links.push(depPath);
            continue;
          }
          result2.missing.push(depPath);
          continue;
        }
        result2.dependencies.push({
          depPath,
          next: () => step(ctx, next({ includeOptionalDependencies: ctx.includeOptionalDependencies }, pkgSnapshot)),
          pkgSnapshot
        });
      }
      return result2;
    }
    function next(opts, nextPkg) {
      return Object.entries({
        ...nextPkg.dependencies,
        ...opts.includeOptionalDependencies ? nextPkg.optionalDependencies : {}
      }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((nodeId) => nodeId !== null);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+builder.policy@3.0.1/node_modules/@pnpm/builder.policy/dist/policy.js
var require_policy = __commonJS({
  "../node_modules/.pnpm/@pnpm+builder.policy@3.0.1/node_modules/@pnpm/builder.policy/dist/policy.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createAllowBuildFunction = void 0;
    var fs_1 = __importDefault2(require("fs"));
    function createAllowBuildFunction(opts) {
      if (opts.onlyBuiltDependenciesFile || opts.onlyBuiltDependencies != null) {
        const onlyBuiltDeps = opts.onlyBuiltDependencies ?? [];
        if (opts.onlyBuiltDependenciesFile) {
          onlyBuiltDeps.push(...JSON.parse(fs_1.default.readFileSync(opts.onlyBuiltDependenciesFile, "utf8")));
        }
        const onlyBuiltDependencies = new Set(onlyBuiltDeps);
        return (pkgName) => onlyBuiltDependencies.has(pkgName);
      }
      if (opts.neverBuiltDependencies != null && opts.neverBuiltDependencies.length > 0) {
        const neverBuiltDependencies = new Set(opts.neverBuiltDependencies);
        return (pkgName) => !neverBuiltDependencies.has(pkgName);
      }
      return void 0;
    }
    exports2.createAllowBuildFunction = createAllowBuildFunction;
  }
});

// ../node_modules/.pnpm/@pnpm+builder.policy@3.0.1/node_modules/@pnpm/builder.policy/dist/index.js
var require_dist19 = __commonJS({
  "../node_modules/.pnpm/@pnpm+builder.policy@3.0.1/node_modules/@pnpm/builder.policy/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createAllowBuildFunction = void 0;
    var policy_1 = require_policy();
    Object.defineProperty(exports2, "createAllowBuildFunction", { enumerable: true, get: function() {
      return policy_1.createAllowBuildFunction;
    } });
  }
});

// ../deps/graph-sequencer/lib/index.js
var require_lib119 = __commonJS({
  "../deps/graph-sequencer/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.graphSequencer = graphSequencer;
    function graphSequencer(graph, includedNodes = [...graph.keys()]) {
      const reverseGraph = /* @__PURE__ */ new Map();
      for (const key of graph.keys()) {
        reverseGraph.set(key, []);
      }
      const nodes = new Set(includedNodes);
      const visited = /* @__PURE__ */ new Set();
      const outDegree = /* @__PURE__ */ new Map();
      for (const [from, edges] of graph.entries()) {
        outDegree.set(from, 0);
        for (const to of edges) {
          if (nodes.has(from) && nodes.has(to)) {
            changeOutDegree(from, 1);
            reverseGraph.get(to).push(from);
          }
        }
        if (!nodes.has(from)) {
          visited.add(from);
        }
      }
      const chunks = [];
      const cycles = [];
      let safe = true;
      while (nodes.size) {
        const chunk = [];
        let minDegree = Number.MAX_SAFE_INTEGER;
        for (const node of nodes) {
          const degree = outDegree.get(node);
          if (degree === 0) {
            chunk.push(node);
          }
          minDegree = Math.min(minDegree, degree);
        }
        if (minDegree === 0) {
          chunk.forEach(removeNode);
          chunks.push(chunk);
        } else {
          const cycleNodes = [];
          for (const node of nodes) {
            const cycle = findCycle(node);
            if (cycle.length) {
              cycles.push(cycle);
              cycle.forEach(removeNode);
              cycleNodes.push(...cycle);
              if (cycle.length > 1) {
                safe = false;
              }
            }
          }
          chunks.push(cycleNodes);
        }
      }
      return { safe, chunks, cycles };
      function changeOutDegree(node, value) {
        const degree = outDegree.get(node) ?? 0;
        outDegree.set(node, degree + value);
      }
      function removeNode(node) {
        for (const from of reverseGraph.get(node)) {
          changeOutDegree(from, -1);
        }
        visited.add(node);
        nodes.delete(node);
      }
      function findCycle(startNode) {
        const queue = [[startNode, [startNode]]];
        const cycleVisited = /* @__PURE__ */ new Set();
        const cycles2 = [];
        while (queue.length) {
          const [id, cycle] = queue.shift();
          for (const to of graph.get(id)) {
            if (to === startNode) {
              cycleVisited.add(to);
              cycles2.push([...cycle]);
              continue;
            }
            if (visited.has(to) || cycleVisited.has(to)) {
              continue;
            }
            cycleVisited.add(to);
            queue.push([to, [...cycle, to]]);
          }
        }
        if (!cycles2.length) {
          return [];
        }
        cycles2.sort((a, b) => b.length - a.length);
        return cycles2[0];
      }
    }
  }
});

// ../exec/plugin-commands-rebuild/lib/implementation/extendRebuildOptions.js
var require_extendRebuildOptions = __commonJS({
  "../exec/plugin-commands-rebuild/lib/implementation/extendRebuildOptions.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.extendRebuildOptions = extendRebuildOptions;
    var path_1 = __importDefault2(require("path"));
    var config_1 = require_lib19();
    var normalize_registries_1 = require_lib113();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var defaults = async (opts) => {
      const packageManager = opts.packageManager ?? await (0, load_json_file_1.default)(path_1.default.join(__dirname, "../../package.json"));
      const dir = opts.dir ?? process.cwd();
      const lockfileDir = opts.lockfileDir ?? dir;
      return {
        childConcurrency: 5,
        development: true,
        dir,
        force: false,
        lockfileDir,
        nodeLinker: "isolated",
        optional: true,
        packageManager,
        pending: false,
        production: true,
        rawConfig: {},
        registries: normalize_registries_1.DEFAULT_REGISTRIES,
        scriptsPrependNodePath: false,
        shamefullyHoist: false,
        shellEmulator: false,
        sideEffectsCacheRead: false,
        storeDir: opts.storeDir,
        unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0,
        useLockfile: true,
        userAgent: `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}`
      };
    };
    async function extendRebuildOptions(opts) {
      if (opts) {
        for (const key in opts) {
          if (opts[key] === void 0) {
            delete opts[key];
          }
        }
      }
      const defaultOpts = await defaults(opts);
      const extendedOpts = {
        ...defaultOpts,
        ...opts,
        storeDir: defaultOpts.storeDir,
        ...opts.rootProjectManifest ? (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest) : {}
      };
      extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries);
      if (extendedOpts.neverBuiltDependencies == null && extendedOpts.onlyBuiltDependencies == null && extendedOpts.onlyBuiltDependenciesFile == null) {
        extendedOpts.onlyBuiltDependencies = [];
      }
      return extendedOpts;
    }
  }
});

// ../exec/plugin-commands-rebuild/lib/implementation/index.js
var require_implementation2 = __commonJS({
  "../exec/plugin-commands-rebuild/lib/implementation/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rebuildSelectedPkgs = rebuildSelectedPkgs;
    exports2.rebuildProjects = rebuildProjects;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var store_cafs_1 = require_lib57();
    var calc_dep_state_1 = require_lib109();
    var constants_1 = require_lib5();
    var core_loggers_1 = require_lib28();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var lifecycle_1 = require_lib77();
    var link_bins_1 = require_lib72();
    var lockfile_utils_1 = require_lib117();
    var lockfile_walker_1 = require_lib118();
    var logger_1 = require_lib();
    var modules_yaml_1 = require_lib95();
    var store_connection_manager_1 = require_lib106();
    var builder_policy_1 = require_dist19();
    var dp = __importStar3(require_lib98());
    var worker_1 = require_lib60();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var run_groups_1 = __importDefault2(require_lib76());
    var deps_graph_sequencer_1 = require_lib119();
    var npm_package_arg_1 = __importDefault2(require_npa());
    var p_limit_12 = __importDefault2(require_p_limit());
    var semver_12 = __importDefault2(require_semver2());
    var extendRebuildOptions_1 = require_extendRebuildOptions();
    function findPackages(packages, searched, opts) {
      return Object.keys(packages).filter((relativeDepPath) => {
        const pkgLockfile = packages[relativeDepPath];
        const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relativeDepPath, pkgLockfile);
        if (!pkgInfo.name) {
          logger_1.logger.warn({
            message: `Skipping ${relativeDepPath} because cannot get the package name from ${constants_1.WANTED_LOCKFILE}.
            Try to run run \`pnpm update --depth 100\` to create a new ${constants_1.WANTED_LOCKFILE} with all the necessary info.`,
            prefix: opts.prefix
          });
          return false;
        }
        return matches(searched, pkgInfo);
      });
    }
    function matches(searched, manifest) {
      return searched.some((searchedPkg) => {
        if (typeof searchedPkg === "string") {
          return manifest.name === searchedPkg;
        }
        return searchedPkg.name === manifest.name && !!manifest.version && semver_12.default.satisfies(manifest.version, searchedPkg.range);
      });
    }
    async function rebuildSelectedPkgs(projects, pkgSpecs, maybeOpts) {
      const reporter = maybeOpts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const opts = await (0, extendRebuildOptions_1.extendRebuildOptions)(maybeOpts);
      const ctx = await (0, get_context_1.getContext)({ ...opts, allProjects: projects });
      if (ctx.currentLockfile?.packages == null)
        return;
      const packages = ctx.currentLockfile.packages;
      const searched = pkgSpecs.map((arg) => {
        const { fetchSpec, name, raw, type } = (0, npm_package_arg_1.default)(arg);
        if (raw === name) {
          return name;
        }
        if (type !== "version" && type !== "range") {
          throw new Error(`Invalid argument - ${arg}. Rebuild can only select by version or range`);
        }
        return {
          name,
          range: fetchSpec
        };
      });
      let pkgs = [];
      for (const { rootDir } of projects) {
        pkgs = [
          ...pkgs,
          ...findPackages(packages, searched, { prefix: rootDir })
        ];
      }
      const { ignoredPkgs } = await _rebuild({
        pkgsToRebuild: new Set(pkgs),
        ...ctx
      }, opts);
      await (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, {
        prunedAt: (/* @__PURE__ */ new Date()).toUTCString(),
        ...ctx.modulesFile,
        hoistedDependencies: ctx.hoistedDependencies,
        hoistPattern: ctx.hoistPattern,
        included: ctx.include,
        ignoredBuilds: ignoredPkgs,
        layoutVersion: constants_1.LAYOUT_VERSION,
        packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`,
        pendingBuilds: ctx.pendingBuilds,
        publicHoistPattern: ctx.publicHoistPattern,
        registries: ctx.registries,
        skipped: Array.from(ctx.skipped),
        storeDir: ctx.storeDir,
        virtualStoreDir: ctx.virtualStoreDir,
        virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength
      });
    }
    async function rebuildProjects(projects, maybeOpts) {
      const reporter = maybeOpts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const opts = await (0, extendRebuildOptions_1.extendRebuildOptions)(maybeOpts);
      const ctx = await (0, get_context_1.getContext)({ ...opts, allProjects: projects });
      let idsToRebuild = [];
      if (opts.pending) {
        idsToRebuild = ctx.pendingBuilds;
      } else if (ctx.currentLockfile?.packages != null) {
        idsToRebuild = Object.keys(ctx.currentLockfile.packages);
      }
      const { pkgsThatWereRebuilt, ignoredPkgs } = await _rebuild({
        pkgsToRebuild: new Set(idsToRebuild),
        ...ctx
      }, opts);
      ctx.pendingBuilds = ctx.pendingBuilds.filter((depPath) => !pkgsThatWereRebuilt.has(depPath));
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const scriptsOpts = {
        extraBinPaths: ctx.extraBinPaths,
        extraNodePaths: ctx.extraNodePaths,
        extraEnv: opts.extraEnv,
        preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
        rawConfig: opts.rawConfig,
        scriptsPrependNodePath: opts.scriptsPrependNodePath,
        scriptShell: opts.scriptShell,
        shellEmulator: opts.shellEmulator,
        storeController: store.ctrl,
        unsafePerm: opts.unsafePerm || false
      };
      await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "prepublish", "prepare"], Object.values(ctx.projects), opts.childConcurrency || 5, scriptsOpts);
      for (const { id, manifest } of Object.values(ctx.projects)) {
        if (manifest?.scripts != null && (!opts.pending || ctx.pendingBuilds.includes(id))) {
          ctx.pendingBuilds.splice(ctx.pendingBuilds.indexOf(id), 1);
        }
      }
      await (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, {
        prunedAt: (/* @__PURE__ */ new Date()).toUTCString(),
        ...ctx.modulesFile,
        hoistedDependencies: ctx.hoistedDependencies,
        hoistPattern: ctx.hoistPattern,
        included: ctx.include,
        ignoredBuilds: ignoredPkgs,
        layoutVersion: constants_1.LAYOUT_VERSION,
        packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`,
        pendingBuilds: ctx.pendingBuilds,
        publicHoistPattern: ctx.publicHoistPattern,
        registries: ctx.registries,
        skipped: Array.from(ctx.skipped),
        storeDir: ctx.storeDir,
        virtualStoreDir: ctx.virtualStoreDir,
        virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength
      });
    }
    function getSubgraphToBuild(step, nodesToBuildAndTransitive, opts) {
      let currentShouldBeBuilt = false;
      for (const { depPath, next } of step.dependencies) {
        if (nodesToBuildAndTransitive.has(depPath)) {
          currentShouldBeBuilt = true;
        }
        const childShouldBeBuilt = getSubgraphToBuild(next(), nodesToBuildAndTransitive, opts) || opts.pkgsToRebuild.has(depPath);
        if (childShouldBeBuilt) {
          nodesToBuildAndTransitive.add(depPath);
          currentShouldBeBuilt = true;
        }
      }
      for (const depPath of step.missing) {
        logger_1.logger.debug({ message: `No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}` });
      }
      return currentShouldBeBuilt;
    }
    var limitLinking = (0, p_limit_12.default)(16);
    async function _rebuild(ctx, opts) {
      const depGraph = (0, calc_dep_state_1.lockfileToDepGraph)(ctx.currentLockfile);
      const depsStateCache = {};
      const pkgsThatWereRebuilt = /* @__PURE__ */ new Set();
      const graph = /* @__PURE__ */ new Map();
      const pkgSnapshots = ctx.currentLockfile.packages ?? {};
      const nodesToBuildAndTransitive = /* @__PURE__ */ new Set();
      getSubgraphToBuild((0, lockfile_walker_1.lockfileWalker)(ctx.currentLockfile, Object.values(ctx.projects).map(({ id }) => id), {
        include: {
          dependencies: opts.production,
          devDependencies: opts.development,
          optionalDependencies: opts.optional
        }
      }).step, nodesToBuildAndTransitive, { pkgsToRebuild: ctx.pkgsToRebuild });
      const nodesToBuildAndTransitiveArray = Array.from(nodesToBuildAndTransitive);
      for (const depPath of nodesToBuildAndTransitiveArray) {
        const pkgSnapshot = pkgSnapshots[depPath];
        graph.set(depPath, Object.entries({ ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies }).map(([pkgName, reference]) => dp.refToRelative(reference, pkgName)).filter((childRelDepPath) => childRelDepPath && nodesToBuildAndTransitive.has(childRelDepPath)));
      }
      const graphSequencerResult = (0, deps_graph_sequencer_1.graphSequencer)(graph, nodesToBuildAndTransitiveArray);
      const chunks = graphSequencerResult.chunks;
      const warn = (message) => {
        logger_1.logger.info({ message, prefix: opts.dir });
      };
      const ignoredPkgs = [];
      const _allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts) ?? (() => true);
      const allowBuild = (pkgName) => {
        if (_allowBuild(pkgName))
          return true;
        ignoredPkgs.push(pkgName);
        return false;
      };
      const builtDepPaths = /* @__PURE__ */ new Set();
      const groups = chunks.map((chunk) => chunk.filter((depPath) => ctx.pkgsToRebuild.has(depPath) && !ctx.skipped.has(depPath)).map((depPath) => async () => {
        const pkgSnapshot = pkgSnapshots[depPath];
        const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
        const pkgRoots = opts.nodeLinker === "hoisted" ? (ctx.modulesFile?.hoistedLocations?.[depPath] ?? []).map((hoistedLocation) => path_1.default.join(opts.lockfileDir, hoistedLocation)) : [path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules", pkgInfo.name)];
        if (pkgRoots.length === 0) {
          if (pkgSnapshot.optional)
            return;
          throw new error_1.PnpmError("MISSING_HOISTED_LOCATIONS", `${depPath} is not found in hoistedLocations inside node_modules/.modules.yaml`, {
            hint: 'If you installed your node_modules with pnpm older than v7.19.0, you may need to remove it and run "pnpm install"'
          });
        }
        const pkgRoot = pkgRoots[0];
        try {
          const extraBinPaths = ctx.extraBinPaths;
          if (opts.nodeLinker !== "hoisted") {
            const modules = path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules");
            const binPath = path_1.default.join(pkgRoot, "node_modules", ".bin");
            await (0, link_bins_1.linkBins)(modules, binPath, { extraNodePaths: ctx.extraNodePaths, warn });
          } else {
            extraBinPaths.push(...binDirsInAllParentDirs(pkgRoot, opts.lockfileDir));
          }
          const resolution = pkgSnapshot.resolution;
          let sideEffectsCacheKey;
          const pkgId = `${pkgInfo.name}@${pkgInfo.version}`;
          if (opts.skipIfHasSideEffectsCache && resolution.integrity) {
            const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, resolution.integrity.toString(), pkgId);
            const pkgFilesIndex = await (0, load_json_file_1.default)(filesIndexFile);
            sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, depsStateCache, depPath, {
              isBuilt: true
            });
            if (pkgFilesIndex.sideEffects?.[sideEffectsCacheKey]) {
              pkgsThatWereRebuilt.add(depPath);
              return;
            }
          }
          const hasSideEffects = allowBuild(pkgInfo.name) && await (0, lifecycle_1.runPostinstallHooks)({
            depPath,
            extraBinPaths,
            extraEnv: opts.extraEnv,
            optional: pkgSnapshot.optional === true,
            pkgRoot,
            rawConfig: opts.rawConfig,
            rootModulesDir: ctx.rootModulesDir,
            scriptsPrependNodePath: opts.scriptsPrependNodePath,
            shellEmulator: opts.shellEmulator,
            unsafePerm: opts.unsafePerm || false
          });
          if (hasSideEffects && (opts.sideEffectsCacheWrite ?? true) && resolution.integrity) {
            builtDepPaths.add(depPath);
            const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, resolution.integrity.toString(), pkgId);
            try {
              if (!sideEffectsCacheKey) {
                sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, depsStateCache, depPath, {
                  isBuilt: true
                });
              }
              await opts.storeController.upload(pkgRoot, {
                sideEffectsCacheKey,
                filesIndexFile
              });
            } catch (err) {
              (0, assert_1.default)(util_1.default.types.isNativeError(err));
              if ("statusCode" in err && err.statusCode === 403) {
                logger_1.logger.warn({
                  message: `The store server disabled upload requests, could not upload ${pkgRoot}`,
                  prefix: opts.lockfileDir
                });
              } else {
                logger_1.logger.warn({
                  error: err,
                  message: `An error occurred while uploading ${pkgRoot}`,
                  prefix: opts.lockfileDir
                });
              }
            }
          }
          pkgsThatWereRebuilt.add(depPath);
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          if (pkgSnapshot.optional) {
            core_loggers_1.skippedOptionalDependencyLogger.debug({
              details: err.toString(),
              package: {
                id: pkgSnapshot.id ?? depPath,
                name: pkgInfo.name,
                version: pkgInfo.version
              },
              prefix: opts.dir,
              reason: "build_failure"
            });
            return;
          }
          throw err;
        }
        if (pkgRoots.length > 1) {
          await (0, worker_1.hardLinkDir)(pkgRoot, pkgRoots.slice(1));
        }
      }));
      await (0, run_groups_1.default)(opts.childConcurrency || 5, groups);
      if (builtDepPaths.size > 0) {
        await Promise.all(Object.keys(pkgSnapshots).filter((depPath) => !(0, lockfile_utils_1.packageIsIndependent)(pkgSnapshots[depPath])).map(async (depPath) => limitLinking(async () => {
          const pkgSnapshot = pkgSnapshots[depPath];
          const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
          const modules = path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules");
          const binPath = path_1.default.join(modules, pkgInfo.name, "node_modules", ".bin");
          return (0, link_bins_1.linkBins)(modules, binPath, { warn });
        })));
        await Promise.all(Object.values(ctx.projects).map(async ({ rootDir }) => limitLinking(async () => {
          const modules = path_1.default.join(rootDir, "node_modules");
          const binPath = path_1.default.join(modules, ".bin");
          return (0, link_bins_1.linkBins)(modules, binPath, {
            allowExoticManifests: true,
            warn
          });
        })));
      }
      return { pkgsThatWereRebuilt, ignoredPkgs };
    }
    function binDirsInAllParentDirs(pkgRoot, lockfileDir) {
      const binDirs = [];
      let dir = pkgRoot;
      do {
        if (!(path_1.default.dirname(dir)[0] === "@")) {
          binDirs.push(path_1.default.join(dir, "node_modules/.bin"));
        }
        dir = path_1.default.dirname(dir);
      } while (path_1.default.relative(dir, lockfileDir) !== "");
      binDirs.push(path_1.default.join(lockfileDir, "node_modules/.bin"));
      return binDirs;
    }
  }
});

// ../workspace/sort-packages/lib/index.js
var require_lib120 = __commonJS({
  "../workspace/sort-packages/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sequenceGraph = sequenceGraph;
    exports2.sortPackages = sortPackages;
    var deps_graph_sequencer_1 = require_lib119();
    function sequenceGraph(pkgGraph) {
      const keys = Object.keys(pkgGraph);
      const setOfKeys = new Set(keys);
      const graph = new Map(keys.map((pkgPath) => [
        pkgPath,
        pkgGraph[pkgPath].dependencies.filter((d) => d !== pkgPath && setOfKeys.has(d))
      ]));
      return (0, deps_graph_sequencer_1.graphSequencer)(graph, keys);
    }
    function sortPackages(pkgGraph) {
      const graphSequencerResult = sequenceGraph(pkgGraph);
      return graphSequencerResult.chunks;
    }
  }
});

// ../exec/plugin-commands-rebuild/lib/recursive.js
var require_recursive = __commonJS({
  "../exec/plugin-commands-rebuild/lib/recursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.recursiveRebuild = recursiveRebuild;
    var assert_1 = __importDefault2(require("assert"));
    var util_1 = __importDefault2(require("util"));
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var logger_1 = require_lib();
    var sort_packages_1 = require_lib120();
    var store_connection_manager_1 = require_lib106();
    var mem_1 = __importDefault2(require_dist6());
    var p_limit_12 = __importDefault2(require_p_limit());
    var implementation_1 = require_implementation2();
    async function recursiveRebuild(allProjects, params, opts) {
      if (allProjects.length === 0) {
        return;
      }
      const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
      if (pkgs.length === 0) {
        return;
      }
      const manifestsByPath = {};
      for (const { rootDir, manifest, writeProjectManifest } of pkgs) {
        manifestsByPath[rootDir] = { manifest, writeProjectManifest };
      }
      const throwOnFail = cli_utils_1.throwOnCommandFail.bind(null, "pnpm recursive rebuild");
      const chunks = opts.sort !== false ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()];
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const rebuildOpts = Object.assign(opts, {
        ownLifecycleHooksStdio: "pipe",
        pruneLockfileImporters: (opts.ignoredPackages == null || opts.ignoredPackages.size === 0) && pkgs.length === allProjects.length,
        storeController: store.ctrl,
        storeDir: store.dir
      });
      const result2 = {};
      const memReadLocalConfig = (0, mem_1.default)(config_1.readLocalConfig);
      async function getImporters() {
        const importers = [];
        await Promise.all(chunks.map(async (prefixes, buildIndex) => {
          if (opts.ignoredPackages != null) {
            prefixes = prefixes.filter((prefix) => !opts.ignoredPackages.has(prefix));
          }
          return Promise.all(prefixes.map(async (prefix) => {
            importers.push({
              buildIndex,
              manifest: manifestsByPath[prefix].manifest,
              rootDir: prefix
            });
          }));
        }));
        return importers;
      }
      const rebuild = params.length === 0 ? implementation_1.rebuildProjects : (importers, opts2) => (0, implementation_1.rebuildSelectedPkgs)(importers, params, opts2);
      if (opts.lockfileDir) {
        const importers = await getImporters();
        await rebuild(importers, {
          ...rebuildOpts,
          pending: opts.pending === true
        });
        return;
      }
      const limitRebuild = (0, p_limit_12.default)(opts.workspaceConcurrency ?? 4);
      for (const chunk of chunks) {
        await Promise.all(chunk.map(async (rootDir) => limitRebuild(async () => {
          try {
            if (opts.ignoredPackages?.has(rootDir)) {
              return;
            }
            result2[rootDir] = { status: "running" };
            const localConfig = await memReadLocalConfig(rootDir);
            await rebuild([
              {
                buildIndex: 0,
                manifest: manifestsByPath[rootDir].manifest,
                rootDir
              }
            ], {
              ...rebuildOpts,
              ...localConfig,
              dir: rootDir,
              pending: opts.pending === true,
              rawConfig: {
                ...rebuildOpts.rawConfig,
                ...localConfig
              }
            });
            result2[rootDir].status = "passed";
          } catch (err) {
            (0, assert_1.default)(util_1.default.types.isNativeError(err));
            const errWithPrefix = Object.assign(err, {
              prefix: rootDir
            });
            logger_1.logger.info(errWithPrefix);
            if (!opts.bail) {
              result2[rootDir] = {
                status: "failure",
                error: errWithPrefix,
                message: err.message,
                prefix: rootDir
              };
              return;
            }
            throw err;
          }
        })));
      }
      throwOnFail(result2);
    }
  }
});

// ../exec/plugin-commands-rebuild/lib/rebuild.js
var require_rebuild = __commonJS({
  "../exec/plugin-commands-rebuild/lib/rebuild.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var store_connection_manager_1 = require_lib106();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var implementation_1 = require_implementation2();
    var recursive_1 = require_recursive();
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "npm-path",
          "reporter",
          "scripts-prepend-node-path",
          "unsafe-perm",
          "store-dir"
        ], config_1.types)
      };
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        pending: Boolean,
        recursive: Boolean
      };
    }
    exports2.commandNames = ["rebuild", "rb"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["rb"],
        description: "Rebuild a package.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Rebuild every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Rebuild packages that were not build during installation. Packages are not build when installing with the --ignore-scripts flag",
                name: "--pending"
              },
              {
                description: "The directory in which all the packages are saved on the disk",
                name: "--store-dir <dir>"
              },
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("rebuild"),
        usages: ["pnpm rebuild [<pkg> ...]"]
      });
    }
    async function handler(opts, params) {
      if (opts.recursive && opts.allProjects != null && opts.selectedProjectsGraph != null && opts.workspaceDir) {
        await (0, recursive_1.recursiveRebuild)(opts.allProjects, params, { ...opts, selectedProjectsGraph: opts.selectedProjectsGraph, workspaceDir: opts.workspaceDir });
        return;
      }
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const rebuildOpts = Object.assign(opts, {
        sideEffectsCacheRead: opts.sideEffectsCache ?? opts.sideEffectsCacheReadonly,
        sideEffectsCacheWrite: opts.sideEffectsCache,
        storeController: store.ctrl,
        storeDir: store.dir
      });
      if (params.length === 0) {
        await (0, implementation_1.rebuildProjects)([
          {
            buildIndex: 0,
            manifest: await (0, cli_utils_1.readProjectManifestOnly)(rebuildOpts.dir, opts),
            rootDir: rebuildOpts.dir
          }
        ], rebuildOpts);
        return;
      }
      await (0, implementation_1.rebuildSelectedPkgs)([
        {
          buildIndex: 0,
          manifest: await (0, cli_utils_1.readProjectManifestOnly)(rebuildOpts.dir, opts),
          rootDir: rebuildOpts.dir
        }
      ], params, rebuildOpts);
    }
  }
});

// ../exec/plugin-commands-rebuild/lib/index.js
var require_lib121 = __commonJS({
  "../exec/plugin-commands-rebuild/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rebuildSelectedPkgs = exports2.rebuildProjects = exports2.rebuild = void 0;
    var rebuild = __importStar3(require_rebuild());
    exports2.rebuild = rebuild;
    var implementation_1 = require_implementation2();
    Object.defineProperty(exports2, "rebuildProjects", { enumerable: true, get: function() {
      return implementation_1.rebuildProjects;
    } });
    Object.defineProperty(exports2, "rebuildSelectedPkgs", { enumerable: true, get: function() {
      return implementation_1.rebuildSelectedPkgs;
    } });
  }
});

// ../workspace/manifest-writer/lib/index.js
var require_lib122 = __commonJS({
  "../workspace/manifest-writer/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateWorkspaceManifest = updateWorkspaceManifest;
    var path_1 = __importDefault2(require("path"));
    var workspace_read_manifest_1 = require_lib18();
    var constants_1 = require_lib5();
    var write_yaml_file_1 = __importDefault2(require_write_yaml_file());
    async function updateWorkspaceManifest(dir, updatedFields) {
      const manifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(dir);
      await (0, write_yaml_file_1.default)(path_1.default.join(dir, constants_1.WORKSPACE_MANIFEST_FILENAME), {
        ...manifest,
        ...updatedFields
      });
    }
  }
});

// ../exec/build-commands/lib/getAutomaticallyIgnoredBuilds.js
var require_getAutomaticallyIgnoredBuilds = __commonJS({
  "../exec/build-commands/lib/getAutomaticallyIgnoredBuilds.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getAutomaticallyIgnoredBuilds = getAutomaticallyIgnoredBuilds;
    var path_1 = __importDefault2(require("path"));
    var modules_yaml_1 = require_lib95();
    async function getAutomaticallyIgnoredBuilds(opts) {
      const modulesDir = getModulesDir(opts);
      const modulesManifest = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
      return {
        automaticallyIgnoredBuilds: modulesManifest && (modulesManifest.ignoredBuilds ?? []),
        modulesDir,
        modulesManifest
      };
    }
    function getModulesDir(opts) {
      return opts.modulesDir ?? path_1.default.join(opts.lockfileDir ?? opts.dir, "node_modules");
    }
  }
});

// ../exec/build-commands/lib/approveBuilds.js
var require_approveBuilds = __commonJS({
  "../exec/build-commands/lib/approveBuilds.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.help = help;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.handler = handler;
    var logger_1 = require_lib94();
    var modules_yaml_1 = require_lib95();
    var read_project_manifest_1 = require_lib13();
    var util_lex_comparator_1 = require_dist4();
    var render_help_1 = __importDefault2(require_lib47());
    var enquirer_1 = require_enquirer();
    var chalk_1 = __importDefault2(require_source());
    var plugin_commands_rebuild_1 = require_lib121();
    var workspace_manifest_writer_1 = require_lib122();
    var getAutomaticallyIgnoredBuilds_1 = require_getAutomaticallyIgnoredBuilds();
    exports2.commandNames = ["approve-builds"];
    function help() {
      return (0, render_help_1.default)({
        description: "Approve dependencies for running scripts during installation",
        usages: [],
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Approve dependencies of global packages",
                name: "--global",
                shortAlias: "-g"
              }
            ]
          }
        ]
      });
    }
    function cliOptionsTypes() {
      return {
        global: Boolean
      };
    }
    function rcOptionsTypes() {
      return {};
    }
    async function handler(opts) {
      const { automaticallyIgnoredBuilds, modulesDir, modulesManifest } = await (0, getAutomaticallyIgnoredBuilds_1.getAutomaticallyIgnoredBuilds)(opts);
      if (!automaticallyIgnoredBuilds?.length) {
        (0, logger_1.globalInfo)("There are no packages awaiting approval");
        return;
      }
      const { result: result2 } = await (0, enquirer_1.prompt)({
        choices: sortUniqueStrings([...automaticallyIgnoredBuilds]),
        indicator(state, choice) {
          return ` ${choice.enabled ? "\u25CF" : "\u25CB"}`;
        },
        message: `Choose which packages to build (Press ${chalk_1.default.cyan("<space>")} to select, ${chalk_1.default.cyan("<a>")} to toggle all, ${chalk_1.default.cyan("<i>")} to invert selection)`,
        name: "result",
        pointer: "\u276F",
        result() {
          return this.selected;
        },
        styles: {
          dark: chalk_1.default.reset,
          em: chalk_1.default.bgBlack.whiteBright,
          success: chalk_1.default.reset
        },
        type: "multiselect",
        // For Vim users (related: https://github.com/enquirer/enquirer/pull/163)
        j() {
          return this.down();
        },
        k() {
          return this.up();
        },
        cancel() {
          process.exit(0);
        }
      });
      const buildPackages = result2.map(({ value }) => value);
      const ignoredPackages = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !buildPackages.includes(automaticallyIgnoredBuild));
      let updatedIgnoredBuiltDependencies;
      if (ignoredPackages.length) {
        if (opts.ignoredBuiltDependencies == null) {
          updatedIgnoredBuiltDependencies = sortUniqueStrings(ignoredPackages);
        } else {
          updatedIgnoredBuiltDependencies = sortUniqueStrings([
            ...opts.ignoredBuiltDependencies,
            ...ignoredPackages
          ]);
        }
      }
      let updatedOnlyBuiltDependencies;
      if (buildPackages.length) {
        if (opts.onlyBuiltDependencies == null) {
          updatedOnlyBuiltDependencies = sortUniqueStrings(buildPackages);
        } else {
          updatedOnlyBuiltDependencies = sortUniqueStrings([
            ...opts.onlyBuiltDependencies,
            ...buildPackages
          ]);
        }
      }
      if (buildPackages.length) {
        const confirmed = await (0, enquirer_1.prompt)({
          type: "confirm",
          name: "build",
          message: `The next packages will now be built: ${buildPackages.join(", ")}.
Do you approve?`,
          initial: false
        });
        if (!confirmed.build) {
          return;
        }
      }
      let { manifest, writeProjectManifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(opts.rootProjectManifestDir);
      manifest ??= {};
      if (opts.workspaceDir == null || manifest.pnpm?.onlyBuiltDependencies != null || manifest.pnpm?.ignoredBuiltDependencies != null) {
        manifest.pnpm ??= {};
        if (updatedOnlyBuiltDependencies) {
          manifest.pnpm.onlyBuiltDependencies = updatedOnlyBuiltDependencies;
        }
        if (updatedIgnoredBuiltDependencies) {
          manifest.pnpm.ignoredBuiltDependencies = updatedIgnoredBuiltDependencies;
        }
        await writeProjectManifest(manifest);
      } else {
        await (0, workspace_manifest_writer_1.updateWorkspaceManifest)(opts.workspaceDir, {
          onlyBuiltDependencies: updatedOnlyBuiltDependencies,
          ignoredBuiltDependencies: updatedIgnoredBuiltDependencies
        });
      }
      if (buildPackages.length) {
        return plugin_commands_rebuild_1.rebuild.handler({
          ...opts,
          onlyBuiltDependencies: updatedOnlyBuiltDependencies
        }, buildPackages);
      } else if (modulesManifest) {
        delete modulesManifest.ignoredBuilds;
        await (0, modules_yaml_1.writeModulesManifest)(modulesDir, modulesManifest);
      }
    }
    function sortUniqueStrings(array) {
      return Array.from(new Set(array)).sort(util_lex_comparator_1.lexCompare);
    }
  }
});

// ../exec/build-commands/lib/ignoredBuilds.js
var require_ignoredBuilds = __commonJS({
  "../exec/build-commands/lib/ignoredBuilds.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.help = help;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.handler = handler;
    var render_help_1 = __importDefault2(require_lib47());
    var getAutomaticallyIgnoredBuilds_1 = require_getAutomaticallyIgnoredBuilds();
    exports2.commandNames = ["ignored-builds"];
    function help() {
      return (0, render_help_1.default)({
        description: "Print the list of packages with blocked build scripts",
        usages: []
      });
    }
    function cliOptionsTypes() {
      return {};
    }
    function rcOptionsTypes() {
      return {};
    }
    async function handler(opts) {
      const ignoredBuiltDependencies = opts.rootProjectManifest?.pnpm?.ignoredBuiltDependencies ?? [];
      let { automaticallyIgnoredBuilds } = await (0, getAutomaticallyIgnoredBuilds_1.getAutomaticallyIgnoredBuilds)(opts);
      if (automaticallyIgnoredBuilds) {
        automaticallyIgnoredBuilds = automaticallyIgnoredBuilds.filter((automaticallyIgnoredBuild) => !ignoredBuiltDependencies.includes(automaticallyIgnoredBuild));
      }
      let output = "Automatically ignored builds during installation:\n";
      if (automaticallyIgnoredBuilds == null) {
        output += "  Cannot identify as no node_modules found";
      } else if (automaticallyIgnoredBuilds.length === 0) {
        output += "  None";
      } else {
        output += `  ${automaticallyIgnoredBuilds.join("\n  ")}
hint: To allow the execution of build scripts for a package, add its name to "pnpm.onlyBuiltDependencies" in your "package.json", then run "pnpm rebuild".
hint: If you don't want to build a package, add it to the "pnpm.ignoredBuiltDependencies" list.`;
      }
      output += "\n";
      if (ignoredBuiltDependencies.length) {
        output += `
Explicitly ignored package builds (via pnpm.ignoredBuiltDependencies):
  ${ignoredBuiltDependencies.join("\n  ")}
`;
      }
      return output;
    }
  }
});

// ../exec/build-commands/lib/index.js
var require_lib123 = __commonJS({
  "../exec/build-commands/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ignoredBuilds = exports2.approveBuilds = void 0;
    var approveBuilds = __importStar3(require_approveBuilds());
    exports2.approveBuilds = approveBuilds;
    var ignoredBuilds = __importStar3(require_ignoredBuilds());
    exports2.ignoredBuilds = ignoredBuilds;
  }
});

// ../lockfile/detect-dep-types/lib/index.js
var require_lib124 = __commonJS({
  "../lockfile/detect-dep-types/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DepType = void 0;
    exports2.detectDepTypes = detectDepTypes;
    var dp = __importStar3(require_lib98());
    var DepType;
    (function(DepType2) {
      DepType2[DepType2["DevOnly"] = 0] = "DevOnly";
      DepType2[DepType2["DevAndProd"] = 1] = "DevAndProd";
      DepType2[DepType2["ProdOnly"] = 2] = "ProdOnly";
    })(DepType || (exports2.DepType = DepType = {}));
    function detectDepTypes(lockfile) {
      const dev = {};
      const devDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.devDependencies ?? {})).flat();
      const optionalDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.optionalDependencies ?? {})).flat();
      const prodDepPaths = Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.dependencies ?? {})).flat();
      const ctx = {
        packages: lockfile.packages ?? {},
        walked: /* @__PURE__ */ new Set(),
        notProdOnly: /* @__PURE__ */ new Set(),
        dev
      };
      detectDepTypesInSubGraph(ctx, devDepPaths, {
        dev: true
      });
      detectDepTypesInSubGraph(ctx, optionalDepPaths, {
        dev: false
      });
      detectDepTypesInSubGraph(ctx, prodDepPaths, {
        dev: false
      });
      return dev;
    }
    function detectDepTypesInSubGraph(ctx, depPaths, opts) {
      for (const depPath of depPaths) {
        const key = `${depPath}:${opts.dev.toString()}`;
        if (ctx.walked.has(key))
          continue;
        ctx.walked.add(key);
        if (!ctx.packages[depPath]) {
          continue;
        }
        if (opts.dev) {
          ctx.notProdOnly.add(depPath);
          ctx.dev[depPath] = DepType.DevOnly;
        } else if (ctx.dev[depPath] === DepType.DevOnly) {
          ctx.dev[depPath] = DepType.DevAndProd;
        } else if (ctx.dev[depPath] === void 0 && !ctx.notProdOnly.has(depPath)) {
          ctx.dev[depPath] = DepType.ProdOnly;
        }
        const depLockfile = ctx.packages[depPath];
        const newDependencies = resolvedDepsToDepPaths(depLockfile.dependencies ?? {});
        detectDepTypesInSubGraph(ctx, newDependencies, opts);
        const newOptionalDependencies = resolvedDepsToDepPaths(depLockfile.optionalDependencies ?? {});
        detectDepTypesInSubGraph(ctx, newOptionalDependencies, { dev: opts.dev });
      }
    }
    function resolvedDepsToDepPaths(deps) {
      return Object.entries(deps).map(([alias, ref]) => dp.refToRelative(ref, alias)).filter((depPath) => depPath !== null);
    }
  }
});

// ../lockfile/audit/lib/lockfileToAuditTree.js
var require_lockfileToAuditTree = __commonJS({
  "../lockfile/audit/lib/lockfileToAuditTree.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileToAuditTree = lockfileToAuditTree;
    var path_1 = __importDefault2(require("path"));
    var lockfile_utils_1 = require_lib117();
    var lockfile_walker_1 = require_lib118();
    var lockfile_detect_dep_types_1 = require_lib124();
    var read_project_manifest_1 = require_lib13();
    var map_1 = __importDefault2(require_map3());
    async function lockfileToAuditTree(lockfile, opts) {
      const importerWalkers = (0, lockfile_walker_1.lockfileWalkerGroupImporterSteps)(lockfile, Object.keys(lockfile.importers), { include: opts?.include });
      const dependencies = {};
      const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(lockfile);
      await Promise.all(importerWalkers.map(async (importerWalker) => {
        const importerDeps = lockfileToAuditNode(depTypes, importerWalker.step);
        const depName = importerWalker.importerId.replace(/\//g, "__");
        const manifest = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(path_1.default.join(opts.lockfileDir, importerWalker.importerId));
        dependencies[depName] = {
          dependencies: importerDeps,
          dev: false,
          requires: toRequires(importerDeps),
          version: manifest?.version ?? "0.0.0"
        };
      }));
      const auditTree = {
        name: void 0,
        version: void 0,
        dependencies,
        dev: false,
        install: [],
        integrity: void 0,
        metadata: {},
        remove: [],
        requires: toRequires(dependencies)
      };
      return auditTree;
    }
    function lockfileToAuditNode(depTypes, step) {
      const dependencies = {};
      for (const { depPath, pkgSnapshot, next } of step.dependencies) {
        const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
        const subdeps = lockfileToAuditNode(depTypes, next());
        const dep = {
          dev: depTypes[depPath] === lockfile_detect_dep_types_1.DepType.DevOnly,
          integrity: pkgSnapshot.resolution.integrity,
          version: version2
        };
        if (Object.keys(subdeps).length > 0) {
          dep.dependencies = subdeps;
          dep.requires = toRequires(subdeps);
        }
        dependencies[name] = dep;
      }
      return dependencies;
    }
    function toRequires(auditNodesByDepName) {
      return (0, map_1.default)((auditNode) => auditNode.version, auditNodesByDepName);
    }
  }
});

// ../node_modules/.pnpm/resolve-link-target@2.0.0/node_modules/resolve-link-target/index.js
var require_resolve_link_target = __commonJS({
  "../node_modules/.pnpm/resolve-link-target@2.0.0/node_modules/resolve-link-target/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    module2.exports = getLinkTarget;
    module2.exports.sync = getLinkTargetSync;
    async function getLinkTarget(linkPath) {
      linkPath = path2.resolve(linkPath);
      const target = await fs.promises.readlink(linkPath);
      return _resolveLink(linkPath, target);
    }
    function getLinkTargetSync(linkPath) {
      linkPath = path2.resolve(linkPath);
      const target = fs.readlinkSync(linkPath);
      return _resolveLink(linkPath, target);
    }
    function _resolveLink(dest, target) {
      if (path2.isAbsolute(target)) {
        return path2.resolve(target);
      }
      return path2.join(path2.dirname(dest), target);
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/getPkgInfo.js
var require_getPkgInfo = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/getPkgInfo.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPkgInfo = getPkgInfo;
    var path_1 = __importDefault2(require("path"));
    var lockfile_utils_1 = require_lib117();
    var lockfile_detect_dep_types_1 = require_lib124();
    var dependency_path_1 = require_lib98();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    function getPkgInfo(opts) {
      let name;
      let version2;
      let resolved;
      let depType;
      let optional;
      let isSkipped = false;
      let isMissing = false;
      const depPath = (0, dependency_path_1.refToRelative)(opts.ref, opts.alias);
      if (depPath) {
        let pkgSnapshot;
        if (opts.currentPackages[depPath]) {
          pkgSnapshot = opts.currentPackages[depPath];
          const parsed = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
          name = parsed.name;
          version2 = parsed.version;
        } else {
          pkgSnapshot = opts.wantedPackages[depPath];
          if (pkgSnapshot) {
            const parsed = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
            name = parsed.name;
            version2 = parsed.version;
          } else {
            name = opts.alias;
            version2 = opts.ref;
          }
          isMissing = true;
          isSkipped = opts.skipped.has(depPath);
        }
        resolved = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries).tarball;
        depType = opts.depTypes[depPath];
        optional = pkgSnapshot.optional;
      } else {
        name = opts.alias;
        version2 = opts.ref;
      }
      if (!version2) {
        version2 = opts.ref;
      }
      const fullPackagePath = depPath ? path_1.default.join(opts.virtualStoreDir ?? ".pnpm", (0, dependency_path_1.depPathToFilename)(depPath, opts.virtualStoreDirMaxLength), "node_modules", name) : path_1.default.join(opts.linkedPathBaseDir, opts.ref.slice(5));
      if (version2.startsWith("link:") && opts.rewriteLinkVersionDir) {
        version2 = `link:${(0, normalize_path_1.default)(path_1.default.relative(opts.rewriteLinkVersionDir, fullPackagePath))}`;
      }
      const packageInfo = {
        alias: opts.alias,
        isMissing,
        isPeer: Boolean(opts.peers?.has(opts.alias)),
        isSkipped,
        name,
        path: fullPackagePath,
        version: version2
      };
      if (resolved) {
        packageInfo.resolved = resolved;
      }
      if (optional === true) {
        packageInfo.optional = true;
      }
      if (depType === lockfile_detect_dep_types_1.DepType.DevOnly) {
        packageInfo.dev = true;
      } else if (depType === lockfile_detect_dep_types_1.DepType.ProdOnly) {
        packageInfo.dev = false;
      }
      return packageInfo;
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/getTreeNodeChildId.js
var require_getTreeNodeChildId = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/getTreeNodeChildId.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getTreeNodeChildId = getTreeNodeChildId;
    var dependency_path_1 = require_lib98();
    var path_1 = __importDefault2(require("path"));
    var lockfile_fs_1 = require_lib112();
    function getTreeNodeChildId(opts) {
      const depPath = (0, dependency_path_1.refToRelative)(opts.dep.ref, opts.dep.alias);
      if (depPath !== null) {
        return { type: "package", depPath };
      }
      switch (opts.parentId.type) {
        case "importer": {
          const linkValue = opts.dep.ref.slice("link:".length);
          const absoluteLinkedPath = path_1.default.join(opts.lockfileDir, opts.parentId.importerId, linkValue);
          const childImporterId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, absoluteLinkedPath);
          const isLinkOutsideWorkspace = opts.importers[childImporterId] == null;
          return isLinkOutsideWorkspace ? void 0 : { type: "importer", importerId: childImporterId };
        }
        case "package":
          return void 0;
      }
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/TreeNodeId.js
var require_TreeNodeId = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/TreeNodeId.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.serializeTreeNodeId = serializeTreeNodeId;
    function serializeTreeNodeId(treeNodeId) {
      switch (treeNodeId.type) {
        case "importer": {
          const { type, importerId } = treeNodeId;
          return JSON.stringify({ type, importerId });
        }
        case "package": {
          const { type, depPath } = treeNodeId;
          return JSON.stringify({ type, depPath });
        }
      }
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/DependenciesCache.js
var require_DependenciesCache = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/DependenciesCache.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DependenciesCache = void 0;
    var TreeNodeId_1 = require_TreeNodeId();
    var DependenciesCache = class {
      constructor() {
        this.fullyVisitedCache = /* @__PURE__ */ new Map();
        this.partiallyVisitedCache = /* @__PURE__ */ new Map();
      }
      get(args) {
        const cacheKey = (0, TreeNodeId_1.serializeTreeNodeId)(args.parentId);
        const fullyVisitedEntry = this.fullyVisitedCache.get(cacheKey);
        if (fullyVisitedEntry !== void 0 && fullyVisitedEntry.height <= args.requestedDepth) {
          return {
            dependencies: fullyVisitedEntry.dependencies,
            height: fullyVisitedEntry.height,
            circular: false
          };
        }
        const partiallyVisitedEntry = this.partiallyVisitedCache.get(cacheKey)?.get(args.requestedDepth);
        if (partiallyVisitedEntry != null) {
          return {
            dependencies: partiallyVisitedEntry,
            height: "unknown",
            circular: false
          };
        }
        return void 0;
      }
      addFullyVisitedResult(treeNodeId, result2) {
        const cacheKey = (0, TreeNodeId_1.serializeTreeNodeId)(treeNodeId);
        this.fullyVisitedCache.set(cacheKey, result2);
      }
      addPartiallyVisitedResult(treeNodeId, result2) {
        const cacheKey = (0, TreeNodeId_1.serializeTreeNodeId)(treeNodeId);
        const dependenciesByDepth = this.partiallyVisitedCache.get(cacheKey) ?? /* @__PURE__ */ new Map();
        if (!this.partiallyVisitedCache.has(cacheKey)) {
          this.partiallyVisitedCache.set(cacheKey, dependenciesByDepth);
        }
        dependenciesByDepth.set(result2.depth, result2.dependencies);
      }
    };
    exports2.DependenciesCache = DependenciesCache;
  }
});

// ../reviewing/dependencies-hierarchy/lib/getTree.js
var require_getTree = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/getTree.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getTree = getTree;
    var path_1 = __importDefault2(require("path"));
    var getPkgInfo_1 = require_getPkgInfo();
    var getTreeNodeChildId_1 = require_getTreeNodeChildId();
    var DependenciesCache_1 = require_DependenciesCache();
    var TreeNodeId_1 = require_TreeNodeId();
    function getTree(opts, parentId) {
      const dependenciesCache = new DependenciesCache_1.DependenciesCache();
      return getTreeHelper(dependenciesCache, opts, Keypath.initialize(parentId), parentId).dependencies;
    }
    function getTreeHelper(dependenciesCache, opts, keypath, parentId) {
      if (opts.maxDepth <= 0) {
        return { dependencies: [], height: "unknown" };
      }
      function getSnapshot(treeNodeId) {
        switch (treeNodeId.type) {
          case "importer":
            return opts.importers[treeNodeId.importerId];
          case "package":
            return opts.currentPackages[treeNodeId.depPath];
        }
      }
      const snapshot = getSnapshot(parentId);
      if (!snapshot) {
        return { dependencies: [], height: 0 };
      }
      const deps = !opts.includeOptionalDependencies ? snapshot.dependencies : {
        ...snapshot.dependencies,
        ...snapshot.optionalDependencies
      };
      if (deps == null) {
        return { dependencies: [], height: 0 };
      }
      const childTreeMaxDepth = opts.maxDepth - 1;
      const getChildrenTree = getTreeHelper.bind(null, dependenciesCache, {
        ...opts,
        maxDepth: childTreeMaxDepth
      });
      function getPeerDependencies() {
        switch (parentId.type) {
          case "importer":
            return void 0;
          case "package":
            return opts.currentPackages[parentId.depPath]?.peerDependencies;
        }
      }
      const peers = new Set(Object.keys(getPeerDependencies() ?? {}));
      function getLinkedPathBaseDir() {
        switch (parentId.type) {
          case "importer":
            return path_1.default.join(opts.lockfileDir, parentId.importerId);
          case "package":
            return opts.lockfileDir;
        }
      }
      const linkedPathBaseDir = getLinkedPathBaseDir();
      const resultDependencies = [];
      let resultHeight = 0;
      let resultCircular = false;
      for (const alias in deps) {
        const ref = deps[alias];
        const packageInfo = (0, getPkgInfo_1.getPkgInfo)({
          alias,
          currentPackages: opts.currentPackages,
          depTypes: opts.depTypes,
          rewriteLinkVersionDir: opts.rewriteLinkVersionDir,
          linkedPathBaseDir,
          peers,
          ref,
          registries: opts.registries,
          skipped: opts.skipped,
          wantedPackages: opts.wantedPackages,
          virtualStoreDir: opts.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        });
        let circular;
        const matchedSearched = opts.search?.(packageInfo);
        let newEntry = null;
        const nodeId = (0, getTreeNodeChildId_1.getTreeNodeChildId)({
          parentId,
          dep: { alias, ref },
          lockfileDir: opts.lockfileDir,
          importers: opts.importers
        });
        if (opts.onlyProjects && nodeId?.type !== "importer") {
          continue;
        } else if (nodeId == null) {
          circular = false;
          if (opts.search == null || matchedSearched) {
            newEntry = packageInfo;
          }
        } else {
          let dependencies;
          circular = keypath.includes(nodeId);
          if (circular) {
            dependencies = [];
          } else {
            const cacheEntry = dependenciesCache.get({ parentId: nodeId, requestedDepth: childTreeMaxDepth });
            const children = cacheEntry ?? getChildrenTree(keypath.concat(nodeId), nodeId);
            if (cacheEntry == null && !children.circular) {
              if (children.height === "unknown") {
                dependenciesCache.addPartiallyVisitedResult(nodeId, {
                  dependencies: children.dependencies,
                  depth: childTreeMaxDepth
                });
              } else {
                dependenciesCache.addFullyVisitedResult(nodeId, {
                  dependencies: children.dependencies,
                  height: children.height
                });
              }
            }
            const heightOfCurrentDepNode = children.height === "unknown" ? "unknown" : children.height + 1;
            dependencies = children.dependencies;
            resultHeight = resultHeight === "unknown" || heightOfCurrentDepNode === "unknown" ? "unknown" : Math.max(resultHeight, heightOfCurrentDepNode);
            resultCircular = resultCircular || (children.circular ?? false);
          }
          if (dependencies.length > 0) {
            newEntry = {
              ...packageInfo,
              dependencies
            };
          } else if (opts.search == null || matchedSearched) {
            newEntry = packageInfo;
          }
        }
        if (newEntry != null) {
          if (circular) {
            newEntry.circular = true;
            resultCircular = true;
          }
          if (matchedSearched) {
            newEntry.searched = true;
          }
          if (!newEntry.isPeer || !opts.excludePeerDependencies || newEntry.dependencies?.length) {
            resultDependencies.push(newEntry);
          }
        }
      }
      const result2 = {
        dependencies: resultDependencies,
        height: resultHeight
      };
      if (resultCircular) {
        result2.circular = resultCircular;
      }
      return result2;
    }
    var Keypath = class _Keypath {
      constructor(keypath) {
        this.keypath = keypath;
      }
      static initialize(treeNodeId) {
        return new _Keypath([(0, TreeNodeId_1.serializeTreeNodeId)(treeNodeId)]);
      }
      includes(treeNodeId) {
        return this.keypath.includes((0, TreeNodeId_1.serializeTreeNodeId)(treeNodeId));
      }
      concat(treeNodeId) {
        return new _Keypath([...this.keypath, (0, TreeNodeId_1.serializeTreeNodeId)(treeNodeId)]);
      }
    };
  }
});

// ../reviewing/dependencies-hierarchy/lib/buildDependenciesHierarchy.js
var require_buildDependenciesHierarchy = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/buildDependenciesHierarchy.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.buildDependenciesHierarchy = buildDependenciesHierarchy;
    var path_1 = __importDefault2(require("path"));
    var lockfile_fs_1 = require_lib112();
    var lockfile_detect_dep_types_1 = require_lib124();
    var modules_yaml_1 = require_lib95();
    var normalize_registries_1 = require_lib113();
    var read_modules_dir_1 = require_lib71();
    var read_package_json_1 = require_lib50();
    var types_1 = require_lib31();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var resolve_link_target_1 = __importDefault2(require_resolve_link_target());
    var getTree_1 = require_getTree();
    var getTreeNodeChildId_1 = require_getTreeNodeChildId();
    var getPkgInfo_1 = require_getPkgInfo();
    async function buildDependenciesHierarchy(projectPaths, maybeOpts) {
      if (!maybeOpts?.lockfileDir) {
        throw new TypeError("opts.lockfileDir is required");
      }
      const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(maybeOpts.lockfileDir, maybeOpts.modulesDir ?? "node_modules"));
      const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
      const registries = (0, normalize_registries_1.normalizeRegistries)({
        ...maybeOpts?.registries,
        ...modules?.registries
      });
      const currentLockfile = (modules?.virtualStoreDir && await (0, lockfile_fs_1.readCurrentLockfile)(modules.virtualStoreDir, { ignoreIncompatible: false })) ?? null;
      const wantedLockfile = await (0, lockfile_fs_1.readWantedLockfile)(maybeOpts.lockfileDir, { ignoreIncompatible: false });
      if (projectPaths == null) {
        projectPaths = Object.keys(wantedLockfile?.importers ?? {}).map((id) => path_1.default.join(maybeOpts.lockfileDir, id));
      }
      const result2 = {};
      if (!currentLockfile) {
        for (const projectPath of projectPaths) {
          result2[projectPath] = {};
        }
        return result2;
      }
      const opts = {
        depth: maybeOpts.depth || 0,
        excludePeerDependencies: maybeOpts.excludePeerDependencies,
        include: maybeOpts.include ?? {
          dependencies: true,
          devDependencies: true,
          optionalDependencies: true
        },
        lockfileDir: maybeOpts.lockfileDir,
        onlyProjects: maybeOpts.onlyProjects,
        registries,
        search: maybeOpts.search,
        skipped: new Set(modules?.skipped ?? []),
        modulesDir: maybeOpts.modulesDir,
        virtualStoreDir: modules?.virtualStoreDir,
        virtualStoreDirMaxLength: modules?.virtualStoreDirMaxLength ?? maybeOpts.virtualStoreDirMaxLength
      };
      const pairs = await Promise.all(projectPaths.map(async (projectPath) => {
        return [
          projectPath,
          await dependenciesHierarchyForPackage(projectPath, currentLockfile, wantedLockfile, opts)
        ];
      }));
      for (const [projectPath, dependenciesHierarchy] of pairs) {
        result2[projectPath] = dependenciesHierarchy;
      }
      return result2;
    }
    async function dependenciesHierarchyForPackage(projectPath, currentLockfile, wantedLockfile, opts) {
      const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, projectPath);
      if (!currentLockfile.importers[importerId])
        return {};
      const modulesDir = path_1.default.join(projectPath, opts.modulesDir ?? "node_modules");
      const savedDeps = getAllDirectDependencies(currentLockfile.importers[importerId]);
      const allDirectDeps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? [];
      const unsavedDeps = allDirectDeps.filter((directDep) => !savedDeps[directDep]);
      const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(currentLockfile);
      const getChildrenTree = getTree_1.getTree.bind(null, {
        currentPackages: currentLockfile.packages ?? {},
        excludePeerDependencies: opts.excludePeerDependencies,
        importers: currentLockfile.importers,
        includeOptionalDependencies: opts.include.optionalDependencies,
        depTypes,
        lockfileDir: opts.lockfileDir,
        onlyProjects: opts.onlyProjects,
        rewriteLinkVersionDir: projectPath,
        maxDepth: opts.depth,
        registries: opts.registries,
        search: opts.search,
        skipped: opts.skipped,
        wantedPackages: wantedLockfile?.packages ?? {},
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      });
      const parentId = { type: "importer", importerId };
      const result2 = {};
      for (const dependenciesField of types_1.DEPENDENCIES_FIELDS.sort().filter((dependenciesField2) => opts.include[dependenciesField2])) {
        const topDeps = currentLockfile.importers[importerId][dependenciesField] ?? {};
        result2[dependenciesField] = [];
        for (const alias in topDeps) {
          const ref = topDeps[alias];
          const packageInfo = (0, getPkgInfo_1.getPkgInfo)({
            alias,
            currentPackages: currentLockfile.packages ?? {},
            depTypes,
            rewriteLinkVersionDir: projectPath,
            linkedPathBaseDir: projectPath,
            ref,
            registries: opts.registries,
            skipped: opts.skipped,
            wantedPackages: wantedLockfile?.packages ?? {},
            virtualStoreDir: opts.virtualStoreDir,
            virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
          });
          let newEntry = null;
          const matchedSearched = opts.search?.(packageInfo);
          const nodeId = (0, getTreeNodeChildId_1.getTreeNodeChildId)({
            parentId,
            dep: { alias, ref },
            lockfileDir: opts.lockfileDir,
            importers: currentLockfile.importers
          });
          if (opts.onlyProjects && nodeId?.type !== "importer") {
            continue;
          } else if (nodeId == null) {
            if (opts.search != null && !matchedSearched)
              continue;
            newEntry = packageInfo;
          } else {
            const dependencies = getChildrenTree(nodeId);
            if (dependencies.length > 0) {
              newEntry = {
                ...packageInfo,
                dependencies
              };
            } else if (opts.search == null || matchedSearched) {
              newEntry = packageInfo;
            }
          }
          if (newEntry != null) {
            if (matchedSearched) {
              newEntry.searched = true;
            }
            result2[dependenciesField].push(newEntry);
          }
        }
      }
      await Promise.all(unsavedDeps.map(async (unsavedDep) => {
        let pkgPath = path_1.default.join(modulesDir, unsavedDep);
        let version2;
        try {
          pkgPath = await (0, resolve_link_target_1.default)(pkgPath);
          version2 = `link:${(0, normalize_path_1.default)(path_1.default.relative(projectPath, pkgPath))}`;
        } catch {
          const pkg2 = await (0, read_package_json_1.safeReadPackageJsonFromDir)(pkgPath);
          version2 = pkg2?.version ?? "undefined";
        }
        const pkg = {
          alias: unsavedDep,
          isMissing: false,
          isPeer: false,
          isSkipped: false,
          name: unsavedDep,
          path: pkgPath,
          version: version2
        };
        const matchedSearched = opts.search?.(pkg);
        if (opts.search != null && !matchedSearched)
          return;
        const newEntry = pkg;
        if (matchedSearched) {
          newEntry.searched = true;
        }
        result2.unsavedDependencies = result2.unsavedDependencies ?? [];
        result2.unsavedDependencies.push(newEntry);
      }));
      return result2;
    }
    function getAllDirectDependencies(projectSnapshot) {
      return {
        ...projectSnapshot.dependencies,
        ...projectSnapshot.devDependencies,
        ...projectSnapshot.optionalDependencies
      };
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/createPackagesSearcher.js
var require_createPackagesSearcher = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/createPackagesSearcher.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackagesSearcher = createPackagesSearcher;
    var matcher_1 = require_lib16();
    var npm_package_arg_1 = __importDefault2(require_npa());
    var semver_12 = __importDefault2(require_semver2());
    function createPackagesSearcher(queries) {
      const searchers = queries.map(parseSearchQuery).map((packageSelector) => search.bind(null, packageSelector));
      return (pkg) => searchers.some((search2) => search2(pkg));
    }
    function search(packageSelector, pkg) {
      if (!packageSelector.matchName(pkg.name)) {
        return false;
      }
      if (packageSelector.matchVersion == null) {
        return true;
      }
      return !pkg.version.startsWith("link:") && packageSelector.matchVersion(pkg.version);
    }
    function parseSearchQuery(query) {
      const parsed = (0, npm_package_arg_1.default)(query);
      if (parsed.raw === parsed.name) {
        return { matchName: (0, matcher_1.createMatcher)(parsed.name) };
      }
      if (parsed.type !== "version" && parsed.type !== "range") {
        throw new Error(`Invalid query - ${query}. List can search only by version or range`);
      }
      return {
        matchName: (0, matcher_1.createMatcher)(parsed.name),
        matchVersion: (version2) => semver_12.default.satisfies(version2, parsed.fetchSpec)
      };
    }
  }
});

// ../reviewing/dependencies-hierarchy/lib/index.js
var require_lib125 = __commonJS({
  "../reviewing/dependencies-hierarchy/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackagesSearcher = exports2.buildDependenciesHierarchy = void 0;
    var buildDependenciesHierarchy_1 = require_buildDependenciesHierarchy();
    Object.defineProperty(exports2, "buildDependenciesHierarchy", { enumerable: true, get: function() {
      return buildDependenciesHierarchy_1.buildDependenciesHierarchy;
    } });
    var createPackagesSearcher_1 = require_createPackagesSearcher();
    Object.defineProperty(exports2, "createPackagesSearcher", { enumerable: true, get: function() {
      return createPackagesSearcher_1.createPackagesSearcher;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortBy.js
var require_sortBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortBy.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var sortBy = /* @__PURE__ */ _curry2(function sortBy2(fn, list) {
      return Array.prototype.slice.call(list, 0).sort(function(a, b) {
        var aa = fn(a);
        var bb = fn(b);
        return aa < bb ? -1 : aa > bb ? 1 : 0;
      });
    });
    module2.exports = sortBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/paths.js
var require_paths = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/paths.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isInteger = require_isInteger();
    var nth = require_nth();
    var paths = /* @__PURE__ */ _curry2(function paths2(pathsArray, obj) {
      return pathsArray.map(function(paths3) {
        var val = obj;
        var idx = 0;
        var p;
        while (idx < paths3.length) {
          if (val == null) {
            return;
          }
          p = paths3[idx];
          val = _isInteger(p) ? nth(p, val) : val[p];
          idx += 1;
        }
        return val;
      });
    });
    module2.exports = paths;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/path.js
var require_path5 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/path.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var paths = require_paths();
    var path2 = /* @__PURE__ */ _curry2(function path3(pathAr, obj) {
      return paths([pathAr], obj)[0];
    });
    module2.exports = path2;
  }
});

// ../reviewing/list/lib/readPkg.js
var require_readPkg = __commonJS({
  "../reviewing/list/lib/readPkg.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readPkg = readPkg;
    var read_package_json_1 = require_lib50();
    var p_limit_12 = __importDefault2(require_p_limit());
    var limitPkgReads = (0, p_limit_12.default)(4);
    async function readPkg(pkgPath) {
      return limitPkgReads(async () => (0, read_package_json_1.readPackageJson)(pkgPath));
    }
  }
});

// ../reviewing/list/lib/getPkgInfo.js
var require_getPkgInfo2 = __commonJS({
  "../reviewing/list/lib/getPkgInfo.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPkgInfo = getPkgInfo;
    var path_1 = __importDefault2(require("path"));
    var readPkg_1 = require_readPkg();
    async function getPkgInfo(pkg) {
      let manifest;
      try {
        manifest = await (0, readPkg_1.readPkg)(path_1.default.join(pkg.path, "package.json"));
      } catch {
        manifest = {
          description: "[Could not find additional info about this dependency]"
        };
      }
      return {
        alias: pkg.alias,
        from: pkg.name,
        version: pkg.version,
        resolved: pkg.resolved,
        description: manifest.description,
        license: manifest.license,
        author: manifest.author,
        homepage: manifest.homepage,
        repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0,
        path: pkg.path
      };
    }
  }
});

// ../reviewing/list/lib/renderJson.js
var require_renderJson = __commonJS({
  "../reviewing/list/lib/renderJson.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderJson = renderJson;
    exports2.toJsonResult = toJsonResult;
    var types_1 = require_lib31();
    var sortBy_1 = __importDefault2(require_sortBy());
    var path_1 = __importDefault2(require_path5());
    var getPkgInfo_1 = require_getPkgInfo2();
    var sortPackages = (0, sortBy_1.default)((0, path_1.default)(["pkg", "alias"]));
    async function renderJson(pkgs, opts) {
      const jsonArr = await Promise.all(pkgs.map(async (pkg) => {
        const jsonObj = {
          name: pkg.name,
          version: pkg.version,
          path: pkg.path,
          private: !!pkg.private
        };
        Object.assign(jsonObj, Object.fromEntries(await Promise.all([...types_1.DEPENDENCIES_FIELDS.sort(), "unsavedDependencies"].filter((dependenciesField) => pkg[dependenciesField]?.length).map(async (dependenciesField) => [
          dependenciesField,
          await toJsonResult(pkg[dependenciesField], { long: opts.long })
        ]))));
        return jsonObj;
      }));
      return JSON.stringify(jsonArr, null, 2);
    }
    async function toJsonResult(entryNodes, opts) {
      const dependencies = {};
      await Promise.all(sortPackages(entryNodes).map(async (node) => {
        const subDependencies = await toJsonResult(node.dependencies ?? [], opts);
        const dep = opts.long ? await (0, getPkgInfo_1.getPkgInfo)(node) : {
          alias: node.alias,
          from: node.name,
          version: node.version,
          resolved: node.resolved,
          path: node.path
        };
        if (Object.keys(subDependencies).length > 0) {
          dep.dependencies = subDependencies;
        }
        if (!dep.resolved) {
          delete dep.resolved;
        }
        delete dep.alias;
        dependencies[node.alias] = dep;
      }));
      return dependencies;
    }
  }
});

// ../reviewing/list/lib/renderParseable.js
var require_renderParseable = __commonJS({
  "../reviewing/list/lib/renderParseable.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderParseable = renderParseable;
    var sortBy_1 = __importDefault2(require_sortBy());
    var prop_1 = __importDefault2(require_prop());
    var sortPackages = (0, sortBy_1.default)((0, prop_1.default)("name"));
    async function renderParseable(pkgs, opts) {
      const depPaths = /* @__PURE__ */ new Set();
      return pkgs.map(renderParseableForPackage.bind(null, depPaths, opts)).filter((p) => p.length !== 0).join("\n");
    }
    function renderParseableForPackage(depPaths, opts, pkg) {
      const pkgs = sortPackages(flatten(depPaths, [
        ...pkg.optionalDependencies ?? [],
        ...pkg.dependencies ?? [],
        ...pkg.devDependencies ?? [],
        ...pkg.unsavedDependencies ?? []
      ]));
      if (!opts.alwaysPrintRootPackage && pkgs.length === 0)
        return "";
      if (opts.long) {
        let firstLine = pkg.path;
        if (pkg.name) {
          firstLine += `:${pkg.name}`;
          if (pkg.version) {
            firstLine += `@${pkg.version}`;
          }
          if (pkg.private) {
            firstLine += ":PRIVATE";
          }
        }
        return [
          firstLine,
          ...pkgs.map((pkg2) => `${pkg2.path}:${pkg2.name}@${pkg2.version}`)
        ].join("\n");
      }
      return [
        pkg.path,
        ...pkgs.map((pkg2) => pkg2.path)
      ].join("\n");
    }
    function flatten(depPaths, nodes) {
      let packages = [];
      for (const node of nodes) {
        if (!depPaths.has(node.path)) {
          depPaths.add(node.path);
          packages.push(node);
        }
        if (node.dependencies?.length) {
          packages = packages.concat(flatten(depPaths, node.dependencies));
        }
      }
      return packages;
    }
  }
});

// ../reviewing/list/lib/renderTree.js
var require_renderTree = __commonJS({
  "../reviewing/list/lib/renderTree.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderTree = renderTree;
    exports2.toArchyTree = toArchyTree;
    var path_1 = __importDefault2(require("path"));
    var types_1 = require_lib31();
    var archy_1 = __importDefault2(require_archy());
    var chalk_1 = __importDefault2(require_source());
    var cli_columns_1 = __importDefault2(require_cli_columns());
    var sortBy_1 = __importDefault2(require_sortBy());
    var path_2 = __importDefault2(require_path5());
    var getPkgInfo_1 = require_getPkgInfo2();
    var sortPackages = (0, sortBy_1.default)((0, path_2.default)(["name"]));
    var DEV_DEP_ONLY_CLR = chalk_1.default.yellow;
    var PROD_DEP_CLR = (s) => s;
    var OPTIONAL_DEP_CLR = chalk_1.default.blue;
    var NOT_SAVED_DEP_CLR = chalk_1.default.red;
    var LEGEND = `Legend: ${PROD_DEP_CLR("production dependency")}, ${OPTIONAL_DEP_CLR("optional only")}, ${DEV_DEP_ONLY_CLR("dev only")}

`;
    async function renderTree(packages, opts) {
      const output = (await Promise.all(packages.map(async (pkg) => renderTreeForPackage(pkg, opts)))).filter(Boolean).join("\n\n");
      return `${opts.depth > -1 && output ? LEGEND : ""}${output}`;
    }
    async function renderTreeForPackage(pkg, opts) {
      if (!opts.alwaysPrintRootPackage && !pkg.dependencies?.length && !pkg.devDependencies?.length && !pkg.optionalDependencies?.length && (!opts.showExtraneous || !pkg.unsavedDependencies?.length))
        return "";
      let label = "";
      if (pkg.name) {
        label += pkg.name;
        if (pkg.version) {
          label += `@${pkg.version}`;
        }
        label += " ";
      }
      label += pkg.path;
      if (pkg.private) {
        label += " (PRIVATE)";
      }
      const useColumns = opts.depth === 0 && !opts.long && !opts.search;
      const dependenciesFields = [
        ...types_1.DEPENDENCIES_FIELDS.sort()
      ];
      if (opts.showExtraneous) {
        dependenciesFields.push("unsavedDependencies");
      }
      const output = (await Promise.all(dependenciesFields.map(async (dependenciesField) => {
        if (pkg[dependenciesField]?.length) {
          const depsLabel = chalk_1.default.cyanBright(dependenciesField !== "unsavedDependencies" ? `${dependenciesField}:` : "not saved (you should add these dependencies to package.json if you need them):");
          let output2 = `${depsLabel}
`;
          const gPkgColor = dependenciesField === "unsavedDependencies" ? () => NOT_SAVED_DEP_CLR : getPkgColor;
          if (useColumns && pkg[dependenciesField].length > 10) {
            output2 += (0, cli_columns_1.default)(pkg[dependenciesField].map(printLabel.bind(printLabel, gPkgColor))) + "\n";
            return output2;
          }
          const data = await toArchyTree(gPkgColor, pkg[dependenciesField], {
            long: opts.long,
            modules: path_1.default.join(pkg.path, "node_modules")
          });
          for (const d of data) {
            output2 += (0, archy_1.default)(d);
          }
          return output2;
        }
        return null;
      }))).filter(Boolean).join("\n");
      return `${chalk_1.default.bold.underline(label)}

${output}`.replace(/(\n)+$/, "");
    }
    async function toArchyTree(getPkgColor2, entryNodes, opts) {
      return Promise.all(sortPackages(entryNodes).map(async (node) => {
        const nodes = await toArchyTree(getPkgColor2, node.dependencies ?? [], opts);
        if (opts.long) {
          const pkg = await (0, getPkgInfo_1.getPkgInfo)(node);
          const labelLines = [
            printLabel(getPkgColor2, node),
            pkg.description
          ];
          if (pkg.repository) {
            labelLines.push(pkg.repository);
          }
          if (pkg.homepage) {
            labelLines.push(pkg.homepage);
          }
          if (pkg.path) {
            labelLines.push(pkg.path);
          }
          return {
            label: labelLines.join("\n"),
            nodes
          };
        }
        return {
          label: printLabel(getPkgColor2, node),
          nodes
        };
      }));
    }
    function printLabel(getPkgColor2, node) {
      const color = getPkgColor2(node);
      let txt = `${color(node.name)} ${chalk_1.default.gray(node.version)}`;
      if (node.isPeer) {
        txt += " peer";
      }
      if (node.isSkipped) {
        txt += " skipped";
      }
      return node.searched ? chalk_1.default.bold(txt) : txt;
    }
    function getPkgColor(node) {
      if (node.dev === true)
        return DEV_DEP_ONLY_CLR;
      if (node.optional)
        return OPTIONAL_DEP_CLR;
      return PROD_DEP_CLR;
    }
  }
});

// ../reviewing/list/lib/pruneTree.js
var require_pruneTree = __commonJS({
  "../reviewing/list/lib/pruneTree.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pruneDependenciesTrees = pruneDependenciesTrees;
    var crypto5 = __importStar3(require_lib39());
    function pruneDependenciesTrees(trees, limit) {
      if (trees === null) {
        return [];
      }
      return trees.map((tree) => {
        const endLeafPaths = [];
        const visitedNodes = /* @__PURE__ */ new Set();
        function findEndLeaves(node, path2) {
          if (node.circular) {
            return;
          }
          const nodeId = `${node.name}@${node.version}`;
          if (visitedNodes.has(nodeId)) {
            return;
          }
          visitedNodes.add(nodeId);
          const newPath = [...path2, node];
          if (!node.dependencies || node.dependencies.length === 0) {
            endLeafPaths.push(newPath);
            if (endLeafPaths.length >= limit) {
              return;
            }
          }
          for (const child of node.dependencies ?? []) {
            findEndLeaves(child, newPath);
            if (endLeafPaths.length >= limit) {
              return;
            }
          }
          visitedNodes.delete(nodeId);
        }
        if (tree.dependencies) {
          for (const node of tree.dependencies) {
            findEndLeaves(node, []);
          }
        }
        const firstNPaths = endLeafPaths.slice(0, limit);
        const map = /* @__PURE__ */ new Map();
        const newTree = { dependencies: [] };
        for (const path2 of firstNPaths) {
          let currentDependencies = newTree.dependencies;
          let pathSoFar = "";
          for (const node of path2) {
            pathSoFar += `${node.name}@${node.version},`;
            const id = crypto5.hash("sha256", pathSoFar, "hex");
            let existingNode = map.get(id);
            if (!existingNode) {
              existingNode = { ...node, dependencies: [] };
              currentDependencies.push(existingNode);
              map.set(id, existingNode);
            }
            currentDependencies = existingNode.dependencies;
          }
        }
        return {
          ...tree,
          dependencies: newTree.dependencies
        };
      });
    }
  }
});

// ../reviewing/list/lib/index.js
var require_lib126 = __commonJS({
  "../reviewing/list/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderTree = exports2.renderParseable = exports2.renderJson = void 0;
    exports2.flattenSearchedPackages = flattenSearchedPackages;
    exports2.searchForPackages = searchForPackages;
    exports2.listForPackages = listForPackages;
    exports2.list = list;
    var path_1 = __importDefault2(require("path"));
    var read_project_manifest_1 = require_lib13();
    var reviewing_dependencies_hierarchy_1 = require_lib125();
    var renderJson_1 = require_renderJson();
    Object.defineProperty(exports2, "renderJson", { enumerable: true, get: function() {
      return renderJson_1.renderJson;
    } });
    var renderParseable_1 = require_renderParseable();
    Object.defineProperty(exports2, "renderParseable", { enumerable: true, get: function() {
      return renderParseable_1.renderParseable;
    } });
    var renderTree_1 = require_renderTree();
    Object.defineProperty(exports2, "renderTree", { enumerable: true, get: function() {
      return renderTree_1.renderTree;
    } });
    var pruneTree_1 = require_pruneTree();
    var DEFAULTS = {
      alwaysPrintRootPackage: true,
      depth: 0,
      long: false,
      registries: void 0,
      reportAs: "tree",
      showExtraneous: true
    };
    function flattenSearchedPackages(pkgs, opts) {
      const flattedPkgs = [];
      for (const pkg of pkgs) {
        _walker([
          ...pkg.optionalDependencies ?? [],
          ...pkg.dependencies ?? [],
          ...pkg.devDependencies ?? [],
          ...pkg.unsavedDependencies ?? []
        ], path_1.default.relative(opts.lockfileDir, pkg.path) || ".");
      }
      return flattedPkgs;
      function _walker(packages, depPath) {
        for (const pkg of packages) {
          const nextDepPath = `${depPath} > ${pkg.name}@${pkg.version}`;
          if (pkg.dependencies?.length) {
            _walker(pkg.dependencies, nextDepPath);
          } else {
            flattedPkgs.push({
              depPath: nextDepPath,
              ...pkg
            });
          }
        }
      }
    }
    async function searchForPackages(packages, projectPaths, opts) {
      const search = (0, reviewing_dependencies_hierarchy_1.createPackagesSearcher)(packages);
      return Promise.all(Object.entries(await (0, reviewing_dependencies_hierarchy_1.buildDependenciesHierarchy)(projectPaths, {
        depth: opts.depth,
        excludePeerDependencies: opts.excludePeerDependencies,
        include: opts.include,
        lockfileDir: opts.lockfileDir,
        onlyProjects: opts.onlyProjects,
        registries: opts.registries,
        search,
        modulesDir: opts.modulesDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      })).map(async ([projectPath, buildDependenciesHierarchy]) => {
        const entryPkg = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(projectPath) ?? {};
        return {
          name: entryPkg.name,
          version: entryPkg.version,
          private: entryPkg.private,
          path: projectPath,
          ...buildDependenciesHierarchy
        };
      }));
    }
    async function listForPackages(packages, projectPaths, maybeOpts) {
      const opts = { ...DEFAULTS, ...maybeOpts };
      const pkgs = await searchForPackages(packages, projectPaths, opts);
      const prunedPkgs = (0, pruneTree_1.pruneDependenciesTrees)(pkgs ?? null, 10);
      const print = getPrinter(opts.reportAs);
      return print(prunedPkgs, {
        alwaysPrintRootPackage: opts.alwaysPrintRootPackage,
        depth: opts.depth,
        long: opts.long,
        search: Boolean(packages.length),
        showExtraneous: opts.showExtraneous
      });
    }
    async function list(projectPaths, maybeOpts) {
      const opts = { ...DEFAULTS, ...maybeOpts };
      const pkgs = await Promise.all(Object.entries(opts.depth === -1 ? projectPaths.reduce((acc, projectPath) => {
        acc[projectPath] = {};
        return acc;
      }, {}) : await (0, reviewing_dependencies_hierarchy_1.buildDependenciesHierarchy)(projectPaths, {
        depth: opts.depth,
        excludePeerDependencies: maybeOpts?.excludePeerDependencies,
        include: maybeOpts?.include,
        lockfileDir: maybeOpts?.lockfileDir,
        onlyProjects: maybeOpts?.onlyProjects,
        registries: opts.registries,
        modulesDir: opts.modulesDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      })).map(async ([projectPath, dependenciesHierarchy]) => {
        const entryPkg = await (0, read_project_manifest_1.safeReadProjectManifestOnly)(projectPath) ?? {};
        return {
          name: entryPkg.name,
          version: entryPkg.version,
          private: entryPkg.private,
          path: projectPath,
          ...dependenciesHierarchy
        };
      }));
      const print = getPrinter(opts.reportAs);
      return print(pkgs, {
        alwaysPrintRootPackage: opts.alwaysPrintRootPackage,
        depth: opts.depth,
        long: opts.long,
        search: false,
        showExtraneous: opts.showExtraneous
      });
    }
    function getPrinter(reportAs) {
      switch (reportAs) {
        case "parseable":
          return renderParseable_1.renderParseable;
        case "json":
          return renderJson_1.renderJson;
        case "tree":
          return renderTree_1.renderTree;
      }
    }
  }
});

// ../lockfile/audit/lib/types.js
var require_types6 = __commonJS({
  "../lockfile/audit/lib/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../lockfile/audit/lib/index.js
var require_lib127 = __commonJS({
  "../lockfile/audit/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.AuditEndpointNotExistsError = void 0;
    exports2.audit = audit;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var fetch_1 = require_lib55();
    var logger_1 = require_lib();
    var lockfileToAuditTree_1 = require_lockfileToAuditTree();
    var list_1 = require_lib126();
    __exportStar2(require_types6(), exports2);
    async function audit(lockfile, getAuthHeader, opts) {
      const auditTree = await (0, lockfileToAuditTree_1.lockfileToAuditTree)(lockfile, { include: opts.include, lockfileDir: opts.lockfileDir });
      const registry = opts.registry.endsWith("/") ? opts.registry : `${opts.registry}/`;
      const auditUrl = `${registry}-/npm/v1/security/audits`;
      const authHeaderValue = getAuthHeader(registry);
      const res = await (0, fetch_1.fetchWithAgent)(auditUrl, {
        agentOptions: opts.agentOptions ?? {},
        body: JSON.stringify(auditTree),
        headers: {
          "Content-Type": "application/json",
          ...getAuthHeaders(authHeaderValue)
        },
        method: "post",
        retry: opts.retry,
        timeout: opts.timeout
      });
      if (res.status === 404) {
        throw new AuditEndpointNotExistsError(auditUrl);
      }
      if (res.status !== 200) {
        throw new error_1.PnpmError("AUDIT_BAD_RESPONSE", `The audit endpoint (at ${auditUrl}) responded with ${res.status}: ${await res.text()}`);
      }
      const auditReport = await res.json();
      try {
        return await extendWithDependencyPaths(auditReport, {
          lockfile,
          lockfileDir: opts.lockfileDir,
          include: opts.include,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        });
      } catch (err) {
        (0, assert_1.default)(util_1.default.types.isNativeError(err));
        (0, logger_1.globalWarn)(`Failed to extend audit report with dependency paths: ${err.message}`);
        return auditReport;
      }
    }
    function getAuthHeaders(authHeaderValue) {
      const headers = {};
      if (authHeaderValue) {
        headers["authorization"] = authHeaderValue;
      }
      return headers;
    }
    async function extendWithDependencyPaths(auditReport, opts) {
      const { advisories } = auditReport;
      if (!Object.keys(advisories).length)
        return auditReport;
      const projectDirs = Object.keys(opts.lockfile.importers).map((importerId) => path_1.default.join(opts.lockfileDir, importerId));
      const searchOpts = {
        lockfileDir: opts.lockfileDir,
        depth: Infinity,
        include: opts.include,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      };
      const _searchPackagePaths = searchPackagePaths.bind(null, searchOpts, projectDirs);
      await Promise.all(Object.values(advisories).map(async ({ findings, module_name }) => {
        await Promise.all(findings.map(async (finding) => {
          finding.paths = await _searchPackagePaths(`${module_name}@${finding.version}`);
        }));
      }));
      return auditReport;
    }
    async function searchPackagePaths(searchOpts, projectDirs, pkg) {
      const pkgs = await (0, list_1.searchForPackages)([pkg], projectDirs, searchOpts);
      return (0, list_1.flattenSearchedPackages)(pkgs, { lockfileDir: searchOpts.lockfileDir }).map(({ depPath }) => depPath);
    }
    var AuditEndpointNotExistsError = class extends error_1.PnpmError {
      constructor(endpoint) {
        const message = `The audit endpoint (at ${endpoint}) is doesn't exist.`;
        super("AUDIT_ENDPOINT_NOT_EXISTS", message, {
          hint: "This issue is probably because you are using a private npm registry and that endpoint doesn't have an implementation of audit."
        });
      }
    };
    exports2.AuditEndpointNotExistsError = AuditEndpointNotExistsError;
  }
});

// ../node_modules/.pnpm/grapheme-splitter@1.0.4/node_modules/grapheme-splitter/index.js
var require_grapheme_splitter = __commonJS({
  "../node_modules/.pnpm/grapheme-splitter@1.0.4/node_modules/grapheme-splitter/index.js"(exports2, module2) {
    function GraphemeSplitter() {
      var CR = 0, LF = 1, Control = 2, Extend = 3, Regional_Indicator = 4, SpacingMark = 5, L = 6, V = 7, T = 8, LV = 9, LVT = 10, Other = 11, Prepend = 12, E_Base = 13, E_Modifier = 14, ZWJ = 15, Glue_After_Zwj = 16, E_Base_GAZ = 17;
      var NotBreak = 0, BreakStart = 1, Break = 2, BreakLastRegional = 3, BreakPenultimateRegional = 4;
      function isSurrogate(str, pos) {
        return 55296 <= str.charCodeAt(pos) && str.charCodeAt(pos) <= 56319 && 56320 <= str.charCodeAt(pos + 1) && str.charCodeAt(pos + 1) <= 57343;
      }
      function codePointAt(str, idx) {
        if (idx === void 0) {
          idx = 0;
        }
        var code = str.charCodeAt(idx);
        if (55296 <= code && code <= 56319 && idx < str.length - 1) {
          var hi = code;
          var low = str.charCodeAt(idx + 1);
          if (56320 <= low && low <= 57343) {
            return (hi - 55296) * 1024 + (low - 56320) + 65536;
          }
          return hi;
        }
        if (56320 <= code && code <= 57343 && idx >= 1) {
          var hi = str.charCodeAt(idx - 1);
          var low = code;
          if (55296 <= hi && hi <= 56319) {
            return (hi - 55296) * 1024 + (low - 56320) + 65536;
          }
          return low;
        }
        return code;
      }
      function shouldBreak(start, mid, end) {
        var all = [start].concat(mid).concat([end]);
        var previous = all[all.length - 2];
        var next = end;
        var eModifierIndex = all.lastIndexOf(E_Modifier);
        if (eModifierIndex > 1 && all.slice(1, eModifierIndex).every(function(c) {
          return c == Extend;
        }) && [Extend, E_Base, E_Base_GAZ].indexOf(start) == -1) {
          return Break;
        }
        var rIIndex = all.lastIndexOf(Regional_Indicator);
        if (rIIndex > 0 && all.slice(1, rIIndex).every(function(c) {
          return c == Regional_Indicator;
        }) && [Prepend, Regional_Indicator].indexOf(previous) == -1) {
          if (all.filter(function(c) {
            return c == Regional_Indicator;
          }).length % 2 == 1) {
            return BreakLastRegional;
          } else {
            return BreakPenultimateRegional;
          }
        }
        if (previous == CR && next == LF) {
          return NotBreak;
        } else if (previous == Control || previous == CR || previous == LF) {
          if (next == E_Modifier && mid.every(function(c) {
            return c == Extend;
          })) {
            return Break;
          } else {
            return BreakStart;
          }
        } else if (next == Control || next == CR || next == LF) {
          return BreakStart;
        } else if (previous == L && (next == L || next == V || next == LV || next == LVT)) {
          return NotBreak;
        } else if ((previous == LV || previous == V) && (next == V || next == T)) {
          return NotBreak;
        } else if ((previous == LVT || previous == T) && next == T) {
          return NotBreak;
        } else if (next == Extend || next == ZWJ) {
          return NotBreak;
        } else if (next == SpacingMark) {
          return NotBreak;
        } else if (previous == Prepend) {
          return NotBreak;
        }
        var previousNonExtendIndex = all.indexOf(Extend) != -1 ? all.lastIndexOf(Extend) - 1 : all.length - 2;
        if ([E_Base, E_Base_GAZ].indexOf(all[previousNonExtendIndex]) != -1 && all.slice(previousNonExtendIndex + 1, -1).every(function(c) {
          return c == Extend;
        }) && next == E_Modifier) {
          return NotBreak;
        }
        if (previous == ZWJ && [Glue_After_Zwj, E_Base_GAZ].indexOf(next) != -1) {
          return NotBreak;
        }
        if (mid.indexOf(Regional_Indicator) != -1) {
          return Break;
        }
        if (previous == Regional_Indicator && next == Regional_Indicator) {
          return NotBreak;
        }
        return BreakStart;
      }
      this.nextBreak = function(string, index) {
        if (index === void 0) {
          index = 0;
        }
        if (index < 0) {
          return 0;
        }
        if (index >= string.length - 1) {
          return string.length;
        }
        var prev = getGraphemeBreakProperty(codePointAt(string, index));
        var mid = [];
        for (var i = index + 1; i < string.length; i++) {
          if (isSurrogate(string, i - 1)) {
            continue;
          }
          var next = getGraphemeBreakProperty(codePointAt(string, i));
          if (shouldBreak(prev, mid, next)) {
            return i;
          }
          mid.push(next);
        }
        return string.length;
      };
      this.splitGraphemes = function(str) {
        var res = [];
        var index = 0;
        var brk;
        while ((brk = this.nextBreak(str, index)) < str.length) {
          res.push(str.slice(index, brk));
          index = brk;
        }
        if (index < str.length) {
          res.push(str.slice(index));
        }
        return res;
      };
      this.iterateGraphemes = function(str) {
        var index = 0;
        var res = {
          next: function() {
            var value;
            var brk;
            if ((brk = this.nextBreak(str, index)) < str.length) {
              value = str.slice(index, brk);
              index = brk;
              return { value, done: false };
            }
            if (index < str.length) {
              value = str.slice(index);
              index = str.length;
              return { value, done: false };
            }
            return { value: void 0, done: true };
          }.bind(this)
        };
        if (typeof Symbol !== "undefined" && Symbol.iterator) {
          res[Symbol.iterator] = function() {
            return res;
          };
        }
        return res;
      };
      this.countGraphemes = function(str) {
        var count = 0;
        var index = 0;
        var brk;
        while ((brk = this.nextBreak(str, index)) < str.length) {
          index = brk;
          count++;
        }
        if (index < str.length) {
          count++;
        }
        return count;
      };
      function getGraphemeBreakProperty(code) {
        if (1536 <= code && code <= 1541 || // Cf   [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE
        1757 == code || // Cf       ARABIC END OF AYAH
        1807 == code || // Cf       SYRIAC ABBREVIATION MARK
        2274 == code || // Cf       ARABIC DISPUTED END OF AYAH
        3406 == code || // Lo       MALAYALAM LETTER DOT REPH
        69821 == code || // Cf       KAITHI NUMBER SIGN
        70082 <= code && code <= 70083 || // Lo   [2] SHARADA SIGN JIHVAMULIYA..SHARADA SIGN UPADHMANIYA
        72250 == code || // Lo       ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA
        72326 <= code && code <= 72329 || // Lo   [4] SOYOMBO CLUSTER-INITIAL LETTER RA..SOYOMBO CLUSTER-INITIAL LETTER SA
        73030 == code) {
          return Prepend;
        }
        if (13 == code) {
          return CR;
        }
        if (10 == code) {
          return LF;
        }
        if (0 <= code && code <= 9 || // Cc  [10] <control-0000>..<control-0009>
        11 <= code && code <= 12 || // Cc   [2] <control-000B>..<control-000C>
        14 <= code && code <= 31 || // Cc  [18] <control-000E>..<control-001F>
        127 <= code && code <= 159 || // Cc  [33] <control-007F>..<control-009F>
        173 == code || // Cf       SOFT HYPHEN
        1564 == code || // Cf       ARABIC LETTER MARK
        6158 == code || // Cf       MONGOLIAN VOWEL SEPARATOR
        8203 == code || // Cf       ZERO WIDTH SPACE
        8206 <= code && code <= 8207 || // Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
        8232 == code || // Zl       LINE SEPARATOR
        8233 == code || // Zp       PARAGRAPH SEPARATOR
        8234 <= code && code <= 8238 || // Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
        8288 <= code && code <= 8292 || // Cf   [5] WORD JOINER..INVISIBLE PLUS
        8293 == code || // Cn       <reserved-2065>
        8294 <= code && code <= 8303 || // Cf  [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES
        55296 <= code && code <= 57343 || // Cs [2048] <surrogate-D800>..<surrogate-DFFF>
        65279 == code || // Cf       ZERO WIDTH NO-BREAK SPACE
        65520 <= code && code <= 65528 || // Cn   [9] <reserved-FFF0>..<reserved-FFF8>
        65529 <= code && code <= 65531 || // Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
        113824 <= code && code <= 113827 || // Cf   [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP
        119155 <= code && code <= 119162 || // Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
        917504 == code || // Cn       <reserved-E0000>
        917505 == code || // Cf       LANGUAGE TAG
        917506 <= code && code <= 917535 || // Cn  [30] <reserved-E0002>..<reserved-E001F>
        917632 <= code && code <= 917759 || // Cn [128] <reserved-E0080>..<reserved-E00FF>
        918e3 <= code && code <= 921599) {
          return Control;
        }
        if (768 <= code && code <= 879 || // Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
        1155 <= code && code <= 1159 || // Mn   [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE
        1160 <= code && code <= 1161 || // Me   [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN
        1425 <= code && code <= 1469 || // Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
        1471 == code || // Mn       HEBREW POINT RAFE
        1473 <= code && code <= 1474 || // Mn   [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT
        1476 <= code && code <= 1477 || // Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
        1479 == code || // Mn       HEBREW POINT QAMATS QATAN
        1552 <= code && code <= 1562 || // Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
        1611 <= code && code <= 1631 || // Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
        1648 == code || // Mn       ARABIC LETTER SUPERSCRIPT ALEF
        1750 <= code && code <= 1756 || // Mn   [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN
        1759 <= code && code <= 1764 || // Mn   [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA
        1767 <= code && code <= 1768 || // Mn   [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON
        1770 <= code && code <= 1773 || // Mn   [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM
        1809 == code || // Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
        1840 <= code && code <= 1866 || // Mn  [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH
        1958 <= code && code <= 1968 || // Mn  [11] THAANA ABAFILI..THAANA SUKUN
        2027 <= code && code <= 2035 || // Mn   [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE
        2070 <= code && code <= 2073 || // Mn   [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH
        2075 <= code && code <= 2083 || // Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
        2085 <= code && code <= 2087 || // Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
        2089 <= code && code <= 2093 || // Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
        2137 <= code && code <= 2139 || // Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
        2260 <= code && code <= 2273 || // Mn  [14] ARABIC SMALL HIGH WORD AR-RUB..ARABIC SMALL HIGH SIGN SAFHA
        2275 <= code && code <= 2306 || // Mn  [32] ARABIC TURNED DAMMA BELOW..DEVANAGARI SIGN ANUSVARA
        2362 == code || // Mn       DEVANAGARI VOWEL SIGN OE
        2364 == code || // Mn       DEVANAGARI SIGN NUKTA
        2369 <= code && code <= 2376 || // Mn   [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI
        2381 == code || // Mn       DEVANAGARI SIGN VIRAMA
        2385 <= code && code <= 2391 || // Mn   [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE
        2402 <= code && code <= 2403 || // Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
        2433 == code || // Mn       BENGALI SIGN CANDRABINDU
        2492 == code || // Mn       BENGALI SIGN NUKTA
        2494 == code || // Mc       BENGALI VOWEL SIGN AA
        2497 <= code && code <= 2500 || // Mn   [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR
        2509 == code || // Mn       BENGALI SIGN VIRAMA
        2519 == code || // Mc       BENGALI AU LENGTH MARK
        2530 <= code && code <= 2531 || // Mn   [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL
        2561 <= code && code <= 2562 || // Mn   [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
        2620 == code || // Mn       GURMUKHI SIGN NUKTA
        2625 <= code && code <= 2626 || // Mn   [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU
        2631 <= code && code <= 2632 || // Mn   [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI
        2635 <= code && code <= 2637 || // Mn   [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA
        2641 == code || // Mn       GURMUKHI SIGN UDAAT
        2672 <= code && code <= 2673 || // Mn   [2] GURMUKHI TIPPI..GURMUKHI ADDAK
        2677 == code || // Mn       GURMUKHI SIGN YAKASH
        2689 <= code && code <= 2690 || // Mn   [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA
        2748 == code || // Mn       GUJARATI SIGN NUKTA
        2753 <= code && code <= 2757 || // Mn   [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E
        2759 <= code && code <= 2760 || // Mn   [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI
        2765 == code || // Mn       GUJARATI SIGN VIRAMA
        2786 <= code && code <= 2787 || // Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
        2810 <= code && code <= 2815 || // Mn   [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE
        2817 == code || // Mn       ORIYA SIGN CANDRABINDU
        2876 == code || // Mn       ORIYA SIGN NUKTA
        2878 == code || // Mc       ORIYA VOWEL SIGN AA
        2879 == code || // Mn       ORIYA VOWEL SIGN I
        2881 <= code && code <= 2884 || // Mn   [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR
        2893 == code || // Mn       ORIYA SIGN VIRAMA
        2902 == code || // Mn       ORIYA AI LENGTH MARK
        2903 == code || // Mc       ORIYA AU LENGTH MARK
        2914 <= code && code <= 2915 || // Mn   [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL
        2946 == code || // Mn       TAMIL SIGN ANUSVARA
        3006 == code || // Mc       TAMIL VOWEL SIGN AA
        3008 == code || // Mn       TAMIL VOWEL SIGN II
        3021 == code || // Mn       TAMIL SIGN VIRAMA
        3031 == code || // Mc       TAMIL AU LENGTH MARK
        3072 == code || // Mn       TELUGU SIGN COMBINING CANDRABINDU ABOVE
        3134 <= code && code <= 3136 || // Mn   [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II
        3142 <= code && code <= 3144 || // Mn   [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI
        3146 <= code && code <= 3149 || // Mn   [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA
        3157 <= code && code <= 3158 || // Mn   [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK
        3170 <= code && code <= 3171 || // Mn   [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL
        3201 == code || // Mn       KANNADA SIGN CANDRABINDU
        3260 == code || // Mn       KANNADA SIGN NUKTA
        3263 == code || // Mn       KANNADA VOWEL SIGN I
        3266 == code || // Mc       KANNADA VOWEL SIGN UU
        3270 == code || // Mn       KANNADA VOWEL SIGN E
        3276 <= code && code <= 3277 || // Mn   [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA
        3285 <= code && code <= 3286 || // Mc   [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK
        3298 <= code && code <= 3299 || // Mn   [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL
        3328 <= code && code <= 3329 || // Mn   [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU
        3387 <= code && code <= 3388 || // Mn   [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA
        3390 == code || // Mc       MALAYALAM VOWEL SIGN AA
        3393 <= code && code <= 3396 || // Mn   [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR
        3405 == code || // Mn       MALAYALAM SIGN VIRAMA
        3415 == code || // Mc       MALAYALAM AU LENGTH MARK
        3426 <= code && code <= 3427 || // Mn   [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL
        3530 == code || // Mn       SINHALA SIGN AL-LAKUNA
        3535 == code || // Mc       SINHALA VOWEL SIGN AELA-PILLA
        3538 <= code && code <= 3540 || // Mn   [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA
        3542 == code || // Mn       SINHALA VOWEL SIGN DIGA PAA-PILLA
        3551 == code || // Mc       SINHALA VOWEL SIGN GAYANUKITTA
        3633 == code || // Mn       THAI CHARACTER MAI HAN-AKAT
        3636 <= code && code <= 3642 || // Mn   [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU
        3655 <= code && code <= 3662 || // Mn   [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
        3761 == code || // Mn       LAO VOWEL SIGN MAI KAN
        3764 <= code && code <= 3769 || // Mn   [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU
        3771 <= code && code <= 3772 || // Mn   [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO
        3784 <= code && code <= 3789 || // Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
        3864 <= code && code <= 3865 || // Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
        3893 == code || // Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
        3895 == code || // Mn       TIBETAN MARK NGAS BZUNG SGOR RTAGS
        3897 == code || // Mn       TIBETAN MARK TSA -PHRU
        3953 <= code && code <= 3966 || // Mn  [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO
        3968 <= code && code <= 3972 || // Mn   [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA
        3974 <= code && code <= 3975 || // Mn   [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS
        3981 <= code && code <= 3991 || // Mn  [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA
        3993 <= code && code <= 4028 || // Mn  [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA
        4038 == code || // Mn       TIBETAN SYMBOL PADMA GDAN
        4141 <= code && code <= 4144 || // Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
        4146 <= code && code <= 4151 || // Mn   [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW
        4153 <= code && code <= 4154 || // Mn   [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT
        4157 <= code && code <= 4158 || // Mn   [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA
        4184 <= code && code <= 4185 || // Mn   [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL
        4190 <= code && code <= 4192 || // Mn   [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA
        4209 <= code && code <= 4212 || // Mn   [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE
        4226 == code || // Mn       MYANMAR CONSONANT SIGN SHAN MEDIAL WA
        4229 <= code && code <= 4230 || // Mn   [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y
        4237 == code || // Mn       MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
        4253 == code || // Mn       MYANMAR VOWEL SIGN AITON AI
        4957 <= code && code <= 4959 || // Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
        5906 <= code && code <= 5908 || // Mn   [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA
        5938 <= code && code <= 5940 || // Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
        5970 <= code && code <= 5971 || // Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
        6002 <= code && code <= 6003 || // Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
        6068 <= code && code <= 6069 || // Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
        6071 <= code && code <= 6077 || // Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
        6086 == code || // Mn       KHMER SIGN NIKAHIT
        6089 <= code && code <= 6099 || // Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
        6109 == code || // Mn       KHMER SIGN ATTHACAN
        6155 <= code && code <= 6157 || // Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
        6277 <= code && code <= 6278 || // Mn   [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA
        6313 == code || // Mn       MONGOLIAN LETTER ALI GALI DAGALGA
        6432 <= code && code <= 6434 || // Mn   [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U
        6439 <= code && code <= 6440 || // Mn   [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O
        6450 == code || // Mn       LIMBU SMALL LETTER ANUSVARA
        6457 <= code && code <= 6459 || // Mn   [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I
        6679 <= code && code <= 6680 || // Mn   [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U
        6683 == code || // Mn       BUGINESE VOWEL SIGN AE
        6742 == code || // Mn       TAI THAM CONSONANT SIGN MEDIAL LA
        6744 <= code && code <= 6750 || // Mn   [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA
        6752 == code || // Mn       TAI THAM SIGN SAKOT
        6754 == code || // Mn       TAI THAM VOWEL SIGN MAI SAT
        6757 <= code && code <= 6764 || // Mn   [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW
        6771 <= code && code <= 6780 || // Mn  [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN
        6783 == code || // Mn       TAI THAM COMBINING CRYPTOGRAMMIC DOT
        6832 <= code && code <= 6845 || // Mn  [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW
        6846 == code || // Me       COMBINING PARENTHESES OVERLAY
        6912 <= code && code <= 6915 || // Mn   [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG
        6964 == code || // Mn       BALINESE SIGN REREKAN
        6966 <= code && code <= 6970 || // Mn   [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA
        6972 == code || // Mn       BALINESE VOWEL SIGN LA LENGA
        6978 == code || // Mn       BALINESE VOWEL SIGN PEPET
        7019 <= code && code <= 7027 || // Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
        7040 <= code && code <= 7041 || // Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
        7074 <= code && code <= 7077 || // Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
        7080 <= code && code <= 7081 || // Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
        7083 <= code && code <= 7085 || // Mn   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
        7142 == code || // Mn       BATAK SIGN TOMPI
        7144 <= code && code <= 7145 || // Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
        7149 == code || // Mn       BATAK VOWEL SIGN KARO O
        7151 <= code && code <= 7153 || // Mn   [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H
        7212 <= code && code <= 7219 || // Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
        7222 <= code && code <= 7223 || // Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
        7376 <= code && code <= 7378 || // Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
        7380 <= code && code <= 7392 || // Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
        7394 <= code && code <= 7400 || // Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
        7405 == code || // Mn       VEDIC SIGN TIRYAK
        7412 == code || // Mn       VEDIC TONE CANDRA ABOVE
        7416 <= code && code <= 7417 || // Mn   [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE
        7616 <= code && code <= 7673 || // Mn  [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW
        7675 <= code && code <= 7679 || // Mn   [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
        8204 == code || // Cf       ZERO WIDTH NON-JOINER
        8400 <= code && code <= 8412 || // Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
        8413 <= code && code <= 8416 || // Me   [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH
        8417 == code || // Mn       COMBINING LEFT RIGHT ARROW ABOVE
        8418 <= code && code <= 8420 || // Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
        8421 <= code && code <= 8432 || // Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
        11503 <= code && code <= 11505 || // Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
        11647 == code || // Mn       TIFINAGH CONSONANT JOINER
        11744 <= code && code <= 11775 || // Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
        12330 <= code && code <= 12333 || // Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
        12334 <= code && code <= 12335 || // Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
        12441 <= code && code <= 12442 || // Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
        42607 == code || // Mn       COMBINING CYRILLIC VZMET
        42608 <= code && code <= 42610 || // Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
        42612 <= code && code <= 42621 || // Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
        42654 <= code && code <= 42655 || // Mn   [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E
        42736 <= code && code <= 42737 || // Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
        43010 == code || // Mn       SYLOTI NAGRI SIGN DVISVARA
        43014 == code || // Mn       SYLOTI NAGRI SIGN HASANTA
        43019 == code || // Mn       SYLOTI NAGRI SIGN ANUSVARA
        43045 <= code && code <= 43046 || // Mn   [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E
        43204 <= code && code <= 43205 || // Mn   [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU
        43232 <= code && code <= 43249 || // Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
        43302 <= code && code <= 43309 || // Mn   [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU
        43335 <= code && code <= 43345 || // Mn  [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R
        43392 <= code && code <= 43394 || // Mn   [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR
        43443 == code || // Mn       JAVANESE SIGN CECAK TELU
        43446 <= code && code <= 43449 || // Mn   [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT
        43452 == code || // Mn       JAVANESE VOWEL SIGN PEPET
        43493 == code || // Mn       MYANMAR SIGN SHAN SAW
        43561 <= code && code <= 43566 || // Mn   [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE
        43569 <= code && code <= 43570 || // Mn   [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE
        43573 <= code && code <= 43574 || // Mn   [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA
        43587 == code || // Mn       CHAM CONSONANT SIGN FINAL NG
        43596 == code || // Mn       CHAM CONSONANT SIGN FINAL M
        43644 == code || // Mn       MYANMAR SIGN TAI LAING TONE-2
        43696 == code || // Mn       TAI VIET MAI KANG
        43698 <= code && code <= 43700 || // Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
        43703 <= code && code <= 43704 || // Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
        43710 <= code && code <= 43711 || // Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
        43713 == code || // Mn       TAI VIET TONE MAI THO
        43756 <= code && code <= 43757 || // Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
        43766 == code || // Mn       MEETEI MAYEK VIRAMA
        44005 == code || // Mn       MEETEI MAYEK VOWEL SIGN ANAP
        44008 == code || // Mn       MEETEI MAYEK VOWEL SIGN UNAP
        44013 == code || // Mn       MEETEI MAYEK APUN IYEK
        64286 == code || // Mn       HEBREW POINT JUDEO-SPANISH VARIKA
        65024 <= code && code <= 65039 || // Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
        65056 <= code && code <= 65071 || // Mn  [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF
        65438 <= code && code <= 65439 || // Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
        66045 == code || // Mn       PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
        66272 == code || // Mn       COPTIC EPACT THOUSANDS MARK
        66422 <= code && code <= 66426 || // Mn   [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII
        68097 <= code && code <= 68099 || // Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
        68101 <= code && code <= 68102 || // Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
        68108 <= code && code <= 68111 || // Mn   [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA
        68152 <= code && code <= 68154 || // Mn   [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW
        68159 == code || // Mn       KHAROSHTHI VIRAMA
        68325 <= code && code <= 68326 || // Mn   [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW
        69633 == code || // Mn       BRAHMI SIGN ANUSVARA
        69688 <= code && code <= 69702 || // Mn  [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA
        69759 <= code && code <= 69761 || // Mn   [3] BRAHMI NUMBER JOINER..KAITHI SIGN ANUSVARA
        69811 <= code && code <= 69814 || // Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
        69817 <= code && code <= 69818 || // Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
        69888 <= code && code <= 69890 || // Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
        69927 <= code && code <= 69931 || // Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
        69933 <= code && code <= 69940 || // Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
        70003 == code || // Mn       MAHAJANI SIGN NUKTA
        70016 <= code && code <= 70017 || // Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
        70070 <= code && code <= 70078 || // Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
        70090 <= code && code <= 70092 || // Mn   [3] SHARADA SIGN NUKTA..SHARADA EXTRA SHORT VOWEL MARK
        70191 <= code && code <= 70193 || // Mn   [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI
        70196 == code || // Mn       KHOJKI SIGN ANUSVARA
        70198 <= code && code <= 70199 || // Mn   [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA
        70206 == code || // Mn       KHOJKI SIGN SUKUN
        70367 == code || // Mn       KHUDAWADI SIGN ANUSVARA
        70371 <= code && code <= 70378 || // Mn   [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA
        70400 <= code && code <= 70401 || // Mn   [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU
        70460 == code || // Mn       GRANTHA SIGN NUKTA
        70462 == code || // Mc       GRANTHA VOWEL SIGN AA
        70464 == code || // Mn       GRANTHA VOWEL SIGN II
        70487 == code || // Mc       GRANTHA AU LENGTH MARK
        70502 <= code && code <= 70508 || // Mn   [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX
        70512 <= code && code <= 70516 || // Mn   [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA
        70712 <= code && code <= 70719 || // Mn   [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI
        70722 <= code && code <= 70724 || // Mn   [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA
        70726 == code || // Mn       NEWA SIGN NUKTA
        70832 == code || // Mc       TIRHUTA VOWEL SIGN AA
        70835 <= code && code <= 70840 || // Mn   [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL
        70842 == code || // Mn       TIRHUTA VOWEL SIGN SHORT E
        70845 == code || // Mc       TIRHUTA VOWEL SIGN SHORT O
        70847 <= code && code <= 70848 || // Mn   [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA
        70850 <= code && code <= 70851 || // Mn   [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA
        71087 == code || // Mc       SIDDHAM VOWEL SIGN AA
        71090 <= code && code <= 71093 || // Mn   [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR
        71100 <= code && code <= 71101 || // Mn   [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA
        71103 <= code && code <= 71104 || // Mn   [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA
        71132 <= code && code <= 71133 || // Mn   [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU
        71219 <= code && code <= 71226 || // Mn   [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI
        71229 == code || // Mn       MODI SIGN ANUSVARA
        71231 <= code && code <= 71232 || // Mn   [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA
        71339 == code || // Mn       TAKRI SIGN ANUSVARA
        71341 == code || // Mn       TAKRI VOWEL SIGN AA
        71344 <= code && code <= 71349 || // Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
        71351 == code || // Mn       TAKRI SIGN NUKTA
        71453 <= code && code <= 71455 || // Mn   [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA
        71458 <= code && code <= 71461 || // Mn   [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU
        71463 <= code && code <= 71467 || // Mn   [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER
        72193 <= code && code <= 72198 || // Mn   [6] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL SIGN O
        72201 <= code && code <= 72202 || // Mn   [2] ZANABAZAR SQUARE VOWEL SIGN REVERSED I..ZANABAZAR SQUARE VOWEL LENGTH MARK
        72243 <= code && code <= 72248 || // Mn   [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA
        72251 <= code && code <= 72254 || // Mn   [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA
        72263 == code || // Mn       ZANABAZAR SQUARE SUBJOINER
        72273 <= code && code <= 72278 || // Mn   [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE
        72281 <= code && code <= 72283 || // Mn   [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK
        72330 <= code && code <= 72342 || // Mn  [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA
        72344 <= code && code <= 72345 || // Mn   [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER
        72752 <= code && code <= 72758 || // Mn   [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L
        72760 <= code && code <= 72765 || // Mn   [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA
        72767 == code || // Mn       BHAIKSUKI SIGN VIRAMA
        72850 <= code && code <= 72871 || // Mn  [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA
        72874 <= code && code <= 72880 || // Mn   [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA
        72882 <= code && code <= 72883 || // Mn   [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E
        72885 <= code && code <= 72886 || // Mn   [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU
        73009 <= code && code <= 73014 || // Mn   [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R
        73018 == code || // Mn       MASARAM GONDI VOWEL SIGN E
        73020 <= code && code <= 73021 || // Mn   [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O
        73023 <= code && code <= 73029 || // Mn   [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA
        73031 == code || // Mn       MASARAM GONDI RA-KARA
        92912 <= code && code <= 92916 || // Mn   [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE
        92976 <= code && code <= 92982 || // Mn   [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM
        94095 <= code && code <= 94098 || // Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
        113821 <= code && code <= 113822 || // Mn   [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK
        119141 == code || // Mc       MUSICAL SYMBOL COMBINING STEM
        119143 <= code && code <= 119145 || // Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
        119150 <= code && code <= 119154 || // Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
        119163 <= code && code <= 119170 || // Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
        119173 <= code && code <= 119179 || // Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
        119210 <= code && code <= 119213 || // Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
        119362 <= code && code <= 119364 || // Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
        121344 <= code && code <= 121398 || // Mn  [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN
        121403 <= code && code <= 121452 || // Mn  [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT
        121461 == code || // Mn       SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS
        121476 == code || // Mn       SIGNWRITING LOCATION HEAD NECK
        121499 <= code && code <= 121503 || // Mn   [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6
        121505 <= code && code <= 121519 || // Mn  [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16
        122880 <= code && code <= 122886 || // Mn   [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE
        122888 <= code && code <= 122904 || // Mn  [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU
        122907 <= code && code <= 122913 || // Mn   [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI
        122915 <= code && code <= 122916 || // Mn   [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS
        122918 <= code && code <= 122922 || // Mn   [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA
        125136 <= code && code <= 125142 || // Mn   [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS
        125252 <= code && code <= 125258 || // Mn   [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA
        917536 <= code && code <= 917631 || // Cf  [96] TAG SPACE..CANCEL TAG
        917760 <= code && code <= 917999) {
          return Extend;
        }
        if (127462 <= code && code <= 127487) {
          return Regional_Indicator;
        }
        if (2307 == code || // Mc       DEVANAGARI SIGN VISARGA
        2363 == code || // Mc       DEVANAGARI VOWEL SIGN OOE
        2366 <= code && code <= 2368 || // Mc   [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II
        2377 <= code && code <= 2380 || // Mc   [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU
        2382 <= code && code <= 2383 || // Mc   [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW
        2434 <= code && code <= 2435 || // Mc   [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA
        2495 <= code && code <= 2496 || // Mc   [2] BENGALI VOWEL SIGN I..BENGALI VOWEL SIGN II
        2503 <= code && code <= 2504 || // Mc   [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI
        2507 <= code && code <= 2508 || // Mc   [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU
        2563 == code || // Mc       GURMUKHI SIGN VISARGA
        2622 <= code && code <= 2624 || // Mc   [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II
        2691 == code || // Mc       GUJARATI SIGN VISARGA
        2750 <= code && code <= 2752 || // Mc   [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II
        2761 == code || // Mc       GUJARATI VOWEL SIGN CANDRA O
        2763 <= code && code <= 2764 || // Mc   [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU
        2818 <= code && code <= 2819 || // Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
        2880 == code || // Mc       ORIYA VOWEL SIGN II
        2887 <= code && code <= 2888 || // Mc   [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI
        2891 <= code && code <= 2892 || // Mc   [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU
        3007 == code || // Mc       TAMIL VOWEL SIGN I
        3009 <= code && code <= 3010 || // Mc   [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU
        3014 <= code && code <= 3016 || // Mc   [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI
        3018 <= code && code <= 3020 || // Mc   [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU
        3073 <= code && code <= 3075 || // Mc   [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA
        3137 <= code && code <= 3140 || // Mc   [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR
        3202 <= code && code <= 3203 || // Mc   [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA
        3262 == code || // Mc       KANNADA VOWEL SIGN AA
        3264 <= code && code <= 3265 || // Mc   [2] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN U
        3267 <= code && code <= 3268 || // Mc   [2] KANNADA VOWEL SIGN VOCALIC R..KANNADA VOWEL SIGN VOCALIC RR
        3271 <= code && code <= 3272 || // Mc   [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI
        3274 <= code && code <= 3275 || // Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
        3330 <= code && code <= 3331 || // Mc   [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA
        3391 <= code && code <= 3392 || // Mc   [2] MALAYALAM VOWEL SIGN I..MALAYALAM VOWEL SIGN II
        3398 <= code && code <= 3400 || // Mc   [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI
        3402 <= code && code <= 3404 || // Mc   [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU
        3458 <= code && code <= 3459 || // Mc   [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA
        3536 <= code && code <= 3537 || // Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
        3544 <= code && code <= 3550 || // Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
        3570 <= code && code <= 3571 || // Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
        3635 == code || // Lo       THAI CHARACTER SARA AM
        3763 == code || // Lo       LAO VOWEL SIGN AM
        3902 <= code && code <= 3903 || // Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
        3967 == code || // Mc       TIBETAN SIGN RNAM BCAD
        4145 == code || // Mc       MYANMAR VOWEL SIGN E
        4155 <= code && code <= 4156 || // Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
        4182 <= code && code <= 4183 || // Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
        4228 == code || // Mc       MYANMAR VOWEL SIGN SHAN E
        6070 == code || // Mc       KHMER VOWEL SIGN AA
        6078 <= code && code <= 6085 || // Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
        6087 <= code && code <= 6088 || // Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
        6435 <= code && code <= 6438 || // Mc   [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU
        6441 <= code && code <= 6443 || // Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
        6448 <= code && code <= 6449 || // Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
        6451 <= code && code <= 6456 || // Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
        6681 <= code && code <= 6682 || // Mc   [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O
        6741 == code || // Mc       TAI THAM CONSONANT SIGN MEDIAL RA
        6743 == code || // Mc       TAI THAM CONSONANT SIGN LA TANG LAI
        6765 <= code && code <= 6770 || // Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
        6916 == code || // Mc       BALINESE SIGN BISAH
        6965 == code || // Mc       BALINESE VOWEL SIGN TEDUNG
        6971 == code || // Mc       BALINESE VOWEL SIGN RA REPA TEDUNG
        6973 <= code && code <= 6977 || // Mc   [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG
        6979 <= code && code <= 6980 || // Mc   [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG
        7042 == code || // Mc       SUNDANESE SIGN PANGWISAD
        7073 == code || // Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
        7078 <= code && code <= 7079 || // Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
        7082 == code || // Mc       SUNDANESE SIGN PAMAAEH
        7143 == code || // Mc       BATAK VOWEL SIGN E
        7146 <= code && code <= 7148 || // Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
        7150 == code || // Mc       BATAK VOWEL SIGN U
        7154 <= code && code <= 7155 || // Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
        7204 <= code && code <= 7211 || // Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
        7220 <= code && code <= 7221 || // Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
        7393 == code || // Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
        7410 <= code && code <= 7411 || // Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
        7415 == code || // Mc       VEDIC SIGN ATIKRAMA
        43043 <= code && code <= 43044 || // Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
        43047 == code || // Mc       SYLOTI NAGRI VOWEL SIGN OO
        43136 <= code && code <= 43137 || // Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
        43188 <= code && code <= 43203 || // Mc  [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU
        43346 <= code && code <= 43347 || // Mc   [2] REJANG CONSONANT SIGN H..REJANG VIRAMA
        43395 == code || // Mc       JAVANESE SIGN WIGNYAN
        43444 <= code && code <= 43445 || // Mc   [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG
        43450 <= code && code <= 43451 || // Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
        43453 <= code && code <= 43456 || // Mc   [4] JAVANESE CONSONANT SIGN KERET..JAVANESE PANGKON
        43567 <= code && code <= 43568 || // Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
        43571 <= code && code <= 43572 || // Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
        43597 == code || // Mc       CHAM CONSONANT SIGN FINAL H
        43755 == code || // Mc       MEETEI MAYEK VOWEL SIGN II
        43758 <= code && code <= 43759 || // Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
        43765 == code || // Mc       MEETEI MAYEK VOWEL SIGN VISARGA
        44003 <= code && code <= 44004 || // Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
        44006 <= code && code <= 44007 || // Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
        44009 <= code && code <= 44010 || // Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
        44012 == code || // Mc       MEETEI MAYEK LUM IYEK
        69632 == code || // Mc       BRAHMI SIGN CANDRABINDU
        69634 == code || // Mc       BRAHMI SIGN VISARGA
        69762 == code || // Mc       KAITHI SIGN VISARGA
        69808 <= code && code <= 69810 || // Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
        69815 <= code && code <= 69816 || // Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
        69932 == code || // Mc       CHAKMA VOWEL SIGN E
        70018 == code || // Mc       SHARADA SIGN VISARGA
        70067 <= code && code <= 70069 || // Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
        70079 <= code && code <= 70080 || // Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
        70188 <= code && code <= 70190 || // Mc   [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II
        70194 <= code && code <= 70195 || // Mc   [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU
        70197 == code || // Mc       KHOJKI SIGN VIRAMA
        70368 <= code && code <= 70370 || // Mc   [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II
        70402 <= code && code <= 70403 || // Mc   [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA
        70463 == code || // Mc       GRANTHA VOWEL SIGN I
        70465 <= code && code <= 70468 || // Mc   [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR
        70471 <= code && code <= 70472 || // Mc   [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI
        70475 <= code && code <= 70477 || // Mc   [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA
        70498 <= code && code <= 70499 || // Mc   [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL
        70709 <= code && code <= 70711 || // Mc   [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II
        70720 <= code && code <= 70721 || // Mc   [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU
        70725 == code || // Mc       NEWA SIGN VISARGA
        70833 <= code && code <= 70834 || // Mc   [2] TIRHUTA VOWEL SIGN I..TIRHUTA VOWEL SIGN II
        70841 == code || // Mc       TIRHUTA VOWEL SIGN E
        70843 <= code && code <= 70844 || // Mc   [2] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN O
        70846 == code || // Mc       TIRHUTA VOWEL SIGN AU
        70849 == code || // Mc       TIRHUTA SIGN VISARGA
        71088 <= code && code <= 71089 || // Mc   [2] SIDDHAM VOWEL SIGN I..SIDDHAM VOWEL SIGN II
        71096 <= code && code <= 71099 || // Mc   [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU
        71102 == code || // Mc       SIDDHAM SIGN VISARGA
        71216 <= code && code <= 71218 || // Mc   [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II
        71227 <= code && code <= 71228 || // Mc   [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU
        71230 == code || // Mc       MODI SIGN VISARGA
        71340 == code || // Mc       TAKRI SIGN VISARGA
        71342 <= code && code <= 71343 || // Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
        71350 == code || // Mc       TAKRI SIGN VIRAMA
        71456 <= code && code <= 71457 || // Mc   [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA
        71462 == code || // Mc       AHOM VOWEL SIGN E
        72199 <= code && code <= 72200 || // Mc   [2] ZANABAZAR SQUARE VOWEL SIGN AI..ZANABAZAR SQUARE VOWEL SIGN AU
        72249 == code || // Mc       ZANABAZAR SQUARE SIGN VISARGA
        72279 <= code && code <= 72280 || // Mc   [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU
        72343 == code || // Mc       SOYOMBO SIGN VISARGA
        72751 == code || // Mc       BHAIKSUKI VOWEL SIGN AA
        72766 == code || // Mc       BHAIKSUKI SIGN VISARGA
        72873 == code || // Mc       MARCHEN SUBJOINED LETTER YA
        72881 == code || // Mc       MARCHEN VOWEL SIGN I
        72884 == code || // Mc       MARCHEN VOWEL SIGN O
        94033 <= code && code <= 94078 || // Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
        119142 == code || // Mc       MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
        119149 == code) {
          return SpacingMark;
        }
        if (4352 <= code && code <= 4447 || // Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
        43360 <= code && code <= 43388) {
          return L;
        }
        if (4448 <= code && code <= 4519 || // Lo  [72] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG O-YAE
        55216 <= code && code <= 55238) {
          return V;
        }
        if (4520 <= code && code <= 4607 || // Lo  [88] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
        55243 <= code && code <= 55291) {
          return T;
        }
        if (44032 == code || // Lo       HANGUL SYLLABLE GA
        44060 == code || // Lo       HANGUL SYLLABLE GAE
        44088 == code || // Lo       HANGUL SYLLABLE GYA
        44116 == code || // Lo       HANGUL SYLLABLE GYAE
        44144 == code || // Lo       HANGUL SYLLABLE GEO
        44172 == code || // Lo       HANGUL SYLLABLE GE
        44200 == code || // Lo       HANGUL SYLLABLE GYEO
        44228 == code || // Lo       HANGUL SYLLABLE GYE
        44256 == code || // Lo       HANGUL SYLLABLE GO
        44284 == code || // Lo       HANGUL SYLLABLE GWA
        44312 == code || // Lo       HANGUL SYLLABLE GWAE
        44340 == code || // Lo       HANGUL SYLLABLE GOE
        44368 == code || // Lo       HANGUL SYLLABLE GYO
        44396 == code || // Lo       HANGUL SYLLABLE GU
        44424 == code || // Lo       HANGUL SYLLABLE GWEO
        44452 == code || // Lo       HANGUL SYLLABLE GWE
        44480 == code || // Lo       HANGUL SYLLABLE GWI
        44508 == code || // Lo       HANGUL SYLLABLE GYU
        44536 == code || // Lo       HANGUL SYLLABLE GEU
        44564 == code || // Lo       HANGUL SYLLABLE GYI
        44592 == code || // Lo       HANGUL SYLLABLE GI
        44620 == code || // Lo       HANGUL SYLLABLE GGA
        44648 == code || // Lo       HANGUL SYLLABLE GGAE
        44676 == code || // Lo       HANGUL SYLLABLE GGYA
        44704 == code || // Lo       HANGUL SYLLABLE GGYAE
        44732 == code || // Lo       HANGUL SYLLABLE GGEO
        44760 == code || // Lo       HANGUL SYLLABLE GGE
        44788 == code || // Lo       HANGUL SYLLABLE GGYEO
        44816 == code || // Lo       HANGUL SYLLABLE GGYE
        44844 == code || // Lo       HANGUL SYLLABLE GGO
        44872 == code || // Lo       HANGUL SYLLABLE GGWA
        44900 == code || // Lo       HANGUL SYLLABLE GGWAE
        44928 == code || // Lo       HANGUL SYLLABLE GGOE
        44956 == code || // Lo       HANGUL SYLLABLE GGYO
        44984 == code || // Lo       HANGUL SYLLABLE GGU
        45012 == code || // Lo       HANGUL SYLLABLE GGWEO
        45040 == code || // Lo       HANGUL SYLLABLE GGWE
        45068 == code || // Lo       HANGUL SYLLABLE GGWI
        45096 == code || // Lo       HANGUL SYLLABLE GGYU
        45124 == code || // Lo       HANGUL SYLLABLE GGEU
        45152 == code || // Lo       HANGUL SYLLABLE GGYI
        45180 == code || // Lo       HANGUL SYLLABLE GGI
        45208 == code || // Lo       HANGUL SYLLABLE NA
        45236 == code || // Lo       HANGUL SYLLABLE NAE
        45264 == code || // Lo       HANGUL SYLLABLE NYA
        45292 == code || // Lo       HANGUL SYLLABLE NYAE
        45320 == code || // Lo       HANGUL SYLLABLE NEO
        45348 == code || // Lo       HANGUL SYLLABLE NE
        45376 == code || // Lo       HANGUL SYLLABLE NYEO
        45404 == code || // Lo       HANGUL SYLLABLE NYE
        45432 == code || // Lo       HANGUL SYLLABLE NO
        45460 == code || // Lo       HANGUL SYLLABLE NWA
        45488 == code || // Lo       HANGUL SYLLABLE NWAE
        45516 == code || // Lo       HANGUL SYLLABLE NOE
        45544 == code || // Lo       HANGUL SYLLABLE NYO
        45572 == code || // Lo       HANGUL SYLLABLE NU
        45600 == code || // Lo       HANGUL SYLLABLE NWEO
        45628 == code || // Lo       HANGUL SYLLABLE NWE
        45656 == code || // Lo       HANGUL SYLLABLE NWI
        45684 == code || // Lo       HANGUL SYLLABLE NYU
        45712 == code || // Lo       HANGUL SYLLABLE NEU
        45740 == code || // Lo       HANGUL SYLLABLE NYI
        45768 == code || // Lo       HANGUL SYLLABLE NI
        45796 == code || // Lo       HANGUL SYLLABLE DA
        45824 == code || // Lo       HANGUL SYLLABLE DAE
        45852 == code || // Lo       HANGUL SYLLABLE DYA
        45880 == code || // Lo       HANGUL SYLLABLE DYAE
        45908 == code || // Lo       HANGUL SYLLABLE DEO
        45936 == code || // Lo       HANGUL SYLLABLE DE
        45964 == code || // Lo       HANGUL SYLLABLE DYEO
        45992 == code || // Lo       HANGUL SYLLABLE DYE
        46020 == code || // Lo       HANGUL SYLLABLE DO
        46048 == code || // Lo       HANGUL SYLLABLE DWA
        46076 == code || // Lo       HANGUL SYLLABLE DWAE
        46104 == code || // Lo       HANGUL SYLLABLE DOE
        46132 == code || // Lo       HANGUL SYLLABLE DYO
        46160 == code || // Lo       HANGUL SYLLABLE DU
        46188 == code || // Lo       HANGUL SYLLABLE DWEO
        46216 == code || // Lo       HANGUL SYLLABLE DWE
        46244 == code || // Lo       HANGUL SYLLABLE DWI
        46272 == code || // Lo       HANGUL SYLLABLE DYU
        46300 == code || // Lo       HANGUL SYLLABLE DEU
        46328 == code || // Lo       HANGUL SYLLABLE DYI
        46356 == code || // Lo       HANGUL SYLLABLE DI
        46384 == code || // Lo       HANGUL SYLLABLE DDA
        46412 == code || // Lo       HANGUL SYLLABLE DDAE
        46440 == code || // Lo       HANGUL SYLLABLE DDYA
        46468 == code || // Lo       HANGUL SYLLABLE DDYAE
        46496 == code || // Lo       HANGUL SYLLABLE DDEO
        46524 == code || // Lo       HANGUL SYLLABLE DDE
        46552 == code || // Lo       HANGUL SYLLABLE DDYEO
        46580 == code || // Lo       HANGUL SYLLABLE DDYE
        46608 == code || // Lo       HANGUL SYLLABLE DDO
        46636 == code || // Lo       HANGUL SYLLABLE DDWA
        46664 == code || // Lo       HANGUL SYLLABLE DDWAE
        46692 == code || // Lo       HANGUL SYLLABLE DDOE
        46720 == code || // Lo       HANGUL SYLLABLE DDYO
        46748 == code || // Lo       HANGUL SYLLABLE DDU
        46776 == code || // Lo       HANGUL SYLLABLE DDWEO
        46804 == code || // Lo       HANGUL SYLLABLE DDWE
        46832 == code || // Lo       HANGUL SYLLABLE DDWI
        46860 == code || // Lo       HANGUL SYLLABLE DDYU
        46888 == code || // Lo       HANGUL SYLLABLE DDEU
        46916 == code || // Lo       HANGUL SYLLABLE DDYI
        46944 == code || // Lo       HANGUL SYLLABLE DDI
        46972 == code || // Lo       HANGUL SYLLABLE RA
        47e3 == code || // Lo       HANGUL SYLLABLE RAE
        47028 == code || // Lo       HANGUL SYLLABLE RYA
        47056 == code || // Lo       HANGUL SYLLABLE RYAE
        47084 == code || // Lo       HANGUL SYLLABLE REO
        47112 == code || // Lo       HANGUL SYLLABLE RE
        47140 == code || // Lo       HANGUL SYLLABLE RYEO
        47168 == code || // Lo       HANGUL SYLLABLE RYE
        47196 == code || // Lo       HANGUL SYLLABLE RO
        47224 == code || // Lo       HANGUL SYLLABLE RWA
        47252 == code || // Lo       HANGUL SYLLABLE RWAE
        47280 == code || // Lo       HANGUL SYLLABLE ROE
        47308 == code || // Lo       HANGUL SYLLABLE RYO
        47336 == code || // Lo       HANGUL SYLLABLE RU
        47364 == code || // Lo       HANGUL SYLLABLE RWEO
        47392 == code || // Lo       HANGUL SYLLABLE RWE
        47420 == code || // Lo       HANGUL SYLLABLE RWI
        47448 == code || // Lo       HANGUL SYLLABLE RYU
        47476 == code || // Lo       HANGUL SYLLABLE REU
        47504 == code || // Lo       HANGUL SYLLABLE RYI
        47532 == code || // Lo       HANGUL SYLLABLE RI
        47560 == code || // Lo       HANGUL SYLLABLE MA
        47588 == code || // Lo       HANGUL SYLLABLE MAE
        47616 == code || // Lo       HANGUL SYLLABLE MYA
        47644 == code || // Lo       HANGUL SYLLABLE MYAE
        47672 == code || // Lo       HANGUL SYLLABLE MEO
        47700 == code || // Lo       HANGUL SYLLABLE ME
        47728 == code || // Lo       HANGUL SYLLABLE MYEO
        47756 == code || // Lo       HANGUL SYLLABLE MYE
        47784 == code || // Lo       HANGUL SYLLABLE MO
        47812 == code || // Lo       HANGUL SYLLABLE MWA
        47840 == code || // Lo       HANGUL SYLLABLE MWAE
        47868 == code || // Lo       HANGUL SYLLABLE MOE
        47896 == code || // Lo       HANGUL SYLLABLE MYO
        47924 == code || // Lo       HANGUL SYLLABLE MU
        47952 == code || // Lo       HANGUL SYLLABLE MWEO
        47980 == code || // Lo       HANGUL SYLLABLE MWE
        48008 == code || // Lo       HANGUL SYLLABLE MWI
        48036 == code || // Lo       HANGUL SYLLABLE MYU
        48064 == code || // Lo       HANGUL SYLLABLE MEU
        48092 == code || // Lo       HANGUL SYLLABLE MYI
        48120 == code || // Lo       HANGUL SYLLABLE MI
        48148 == code || // Lo       HANGUL SYLLABLE BA
        48176 == code || // Lo       HANGUL SYLLABLE BAE
        48204 == code || // Lo       HANGUL SYLLABLE BYA
        48232 == code || // Lo       HANGUL SYLLABLE BYAE
        48260 == code || // Lo       HANGUL SYLLABLE BEO
        48288 == code || // Lo       HANGUL SYLLABLE BE
        48316 == code || // Lo       HANGUL SYLLABLE BYEO
        48344 == code || // Lo       HANGUL SYLLABLE BYE
        48372 == code || // Lo       HANGUL SYLLABLE BO
        48400 == code || // Lo       HANGUL SYLLABLE BWA
        48428 == code || // Lo       HANGUL SYLLABLE BWAE
        48456 == code || // Lo       HANGUL SYLLABLE BOE
        48484 == code || // Lo       HANGUL SYLLABLE BYO
        48512 == code || // Lo       HANGUL SYLLABLE BU
        48540 == code || // Lo       HANGUL SYLLABLE BWEO
        48568 == code || // Lo       HANGUL SYLLABLE BWE
        48596 == code || // Lo       HANGUL SYLLABLE BWI
        48624 == code || // Lo       HANGUL SYLLABLE BYU
        48652 == code || // Lo       HANGUL SYLLABLE BEU
        48680 == code || // Lo       HANGUL SYLLABLE BYI
        48708 == code || // Lo       HANGUL SYLLABLE BI
        48736 == code || // Lo       HANGUL SYLLABLE BBA
        48764 == code || // Lo       HANGUL SYLLABLE BBAE
        48792 == code || // Lo       HANGUL SYLLABLE BBYA
        48820 == code || // Lo       HANGUL SYLLABLE BBYAE
        48848 == code || // Lo       HANGUL SYLLABLE BBEO
        48876 == code || // Lo       HANGUL SYLLABLE BBE
        48904 == code || // Lo       HANGUL SYLLABLE BBYEO
        48932 == code || // Lo       HANGUL SYLLABLE BBYE
        48960 == code || // Lo       HANGUL SYLLABLE BBO
        48988 == code || // Lo       HANGUL SYLLABLE BBWA
        49016 == code || // Lo       HANGUL SYLLABLE BBWAE
        49044 == code || // Lo       HANGUL SYLLABLE BBOE
        49072 == code || // Lo       HANGUL SYLLABLE BBYO
        49100 == code || // Lo       HANGUL SYLLABLE BBU
        49128 == code || // Lo       HANGUL SYLLABLE BBWEO
        49156 == code || // Lo       HANGUL SYLLABLE BBWE
        49184 == code || // Lo       HANGUL SYLLABLE BBWI
        49212 == code || // Lo       HANGUL SYLLABLE BBYU
        49240 == code || // Lo       HANGUL SYLLABLE BBEU
        49268 == code || // Lo       HANGUL SYLLABLE BBYI
        49296 == code || // Lo       HANGUL SYLLABLE BBI
        49324 == code || // Lo       HANGUL SYLLABLE SA
        49352 == code || // Lo       HANGUL SYLLABLE SAE
        49380 == code || // Lo       HANGUL SYLLABLE SYA
        49408 == code || // Lo       HANGUL SYLLABLE SYAE
        49436 == code || // Lo       HANGUL SYLLABLE SEO
        49464 == code || // Lo       HANGUL SYLLABLE SE
        49492 == code || // Lo       HANGUL SYLLABLE SYEO
        49520 == code || // Lo       HANGUL SYLLABLE SYE
        49548 == code || // Lo       HANGUL SYLLABLE SO
        49576 == code || // Lo       HANGUL SYLLABLE SWA
        49604 == code || // Lo       HANGUL SYLLABLE SWAE
        49632 == code || // Lo       HANGUL SYLLABLE SOE
        49660 == code || // Lo       HANGUL SYLLABLE SYO
        49688 == code || // Lo       HANGUL SYLLABLE SU
        49716 == code || // Lo       HANGUL SYLLABLE SWEO
        49744 == code || // Lo       HANGUL SYLLABLE SWE
        49772 == code || // Lo       HANGUL SYLLABLE SWI
        49800 == code || // Lo       HANGUL SYLLABLE SYU
        49828 == code || // Lo       HANGUL SYLLABLE SEU
        49856 == code || // Lo       HANGUL SYLLABLE SYI
        49884 == code || // Lo       HANGUL SYLLABLE SI
        49912 == code || // Lo       HANGUL SYLLABLE SSA
        49940 == code || // Lo       HANGUL SYLLABLE SSAE
        49968 == code || // Lo       HANGUL SYLLABLE SSYA
        49996 == code || // Lo       HANGUL SYLLABLE SSYAE
        50024 == code || // Lo       HANGUL SYLLABLE SSEO
        50052 == code || // Lo       HANGUL SYLLABLE SSE
        50080 == code || // Lo       HANGUL SYLLABLE SSYEO
        50108 == code || // Lo       HANGUL SYLLABLE SSYE
        50136 == code || // Lo       HANGUL SYLLABLE SSO
        50164 == code || // Lo       HANGUL SYLLABLE SSWA
        50192 == code || // Lo       HANGUL SYLLABLE SSWAE
        50220 == code || // Lo       HANGUL SYLLABLE SSOE
        50248 == code || // Lo       HANGUL SYLLABLE SSYO
        50276 == code || // Lo       HANGUL SYLLABLE SSU
        50304 == code || // Lo       HANGUL SYLLABLE SSWEO
        50332 == code || // Lo       HANGUL SYLLABLE SSWE
        50360 == code || // Lo       HANGUL SYLLABLE SSWI
        50388 == code || // Lo       HANGUL SYLLABLE SSYU
        50416 == code || // Lo       HANGUL SYLLABLE SSEU
        50444 == code || // Lo       HANGUL SYLLABLE SSYI
        50472 == code || // Lo       HANGUL SYLLABLE SSI
        50500 == code || // Lo       HANGUL SYLLABLE A
        50528 == code || // Lo       HANGUL SYLLABLE AE
        50556 == code || // Lo       HANGUL SYLLABLE YA
        50584 == code || // Lo       HANGUL SYLLABLE YAE
        50612 == code || // Lo       HANGUL SYLLABLE EO
        50640 == code || // Lo       HANGUL SYLLABLE E
        50668 == code || // Lo       HANGUL SYLLABLE YEO
        50696 == code || // Lo       HANGUL SYLLABLE YE
        50724 == code || // Lo       HANGUL SYLLABLE O
        50752 == code || // Lo       HANGUL SYLLABLE WA
        50780 == code || // Lo       HANGUL SYLLABLE WAE
        50808 == code || // Lo       HANGUL SYLLABLE OE
        50836 == code || // Lo       HANGUL SYLLABLE YO
        50864 == code || // Lo       HANGUL SYLLABLE U
        50892 == code || // Lo       HANGUL SYLLABLE WEO
        50920 == code || // Lo       HANGUL SYLLABLE WE
        50948 == code || // Lo       HANGUL SYLLABLE WI
        50976 == code || // Lo       HANGUL SYLLABLE YU
        51004 == code || // Lo       HANGUL SYLLABLE EU
        51032 == code || // Lo       HANGUL SYLLABLE YI
        51060 == code || // Lo       HANGUL SYLLABLE I
        51088 == code || // Lo       HANGUL SYLLABLE JA
        51116 == code || // Lo       HANGUL SYLLABLE JAE
        51144 == code || // Lo       HANGUL SYLLABLE JYA
        51172 == code || // Lo       HANGUL SYLLABLE JYAE
        51200 == code || // Lo       HANGUL SYLLABLE JEO
        51228 == code || // Lo       HANGUL SYLLABLE JE
        51256 == code || // Lo       HANGUL SYLLABLE JYEO
        51284 == code || // Lo       HANGUL SYLLABLE JYE
        51312 == code || // Lo       HANGUL SYLLABLE JO
        51340 == code || // Lo       HANGUL SYLLABLE JWA
        51368 == code || // Lo       HANGUL SYLLABLE JWAE
        51396 == code || // Lo       HANGUL SYLLABLE JOE
        51424 == code || // Lo       HANGUL SYLLABLE JYO
        51452 == code || // Lo       HANGUL SYLLABLE JU
        51480 == code || // Lo       HANGUL SYLLABLE JWEO
        51508 == code || // Lo       HANGUL SYLLABLE JWE
        51536 == code || // Lo       HANGUL SYLLABLE JWI
        51564 == code || // Lo       HANGUL SYLLABLE JYU
        51592 == code || // Lo       HANGUL SYLLABLE JEU
        51620 == code || // Lo       HANGUL SYLLABLE JYI
        51648 == code || // Lo       HANGUL SYLLABLE JI
        51676 == code || // Lo       HANGUL SYLLABLE JJA
        51704 == code || // Lo       HANGUL SYLLABLE JJAE
        51732 == code || // Lo       HANGUL SYLLABLE JJYA
        51760 == code || // Lo       HANGUL SYLLABLE JJYAE
        51788 == code || // Lo       HANGUL SYLLABLE JJEO
        51816 == code || // Lo       HANGUL SYLLABLE JJE
        51844 == code || // Lo       HANGUL SYLLABLE JJYEO
        51872 == code || // Lo       HANGUL SYLLABLE JJYE
        51900 == code || // Lo       HANGUL SYLLABLE JJO
        51928 == code || // Lo       HANGUL SYLLABLE JJWA
        51956 == code || // Lo       HANGUL SYLLABLE JJWAE
        51984 == code || // Lo       HANGUL SYLLABLE JJOE
        52012 == code || // Lo       HANGUL SYLLABLE JJYO
        52040 == code || // Lo       HANGUL SYLLABLE JJU
        52068 == code || // Lo       HANGUL SYLLABLE JJWEO
        52096 == code || // Lo       HANGUL SYLLABLE JJWE
        52124 == code || // Lo       HANGUL SYLLABLE JJWI
        52152 == code || // Lo       HANGUL SYLLABLE JJYU
        52180 == code || // Lo       HANGUL SYLLABLE JJEU
        52208 == code || // Lo       HANGUL SYLLABLE JJYI
        52236 == code || // Lo       HANGUL SYLLABLE JJI
        52264 == code || // Lo       HANGUL SYLLABLE CA
        52292 == code || // Lo       HANGUL SYLLABLE CAE
        52320 == code || // Lo       HANGUL SYLLABLE CYA
        52348 == code || // Lo       HANGUL SYLLABLE CYAE
        52376 == code || // Lo       HANGUL SYLLABLE CEO
        52404 == code || // Lo       HANGUL SYLLABLE CE
        52432 == code || // Lo       HANGUL SYLLABLE CYEO
        52460 == code || // Lo       HANGUL SYLLABLE CYE
        52488 == code || // Lo       HANGUL SYLLABLE CO
        52516 == code || // Lo       HANGUL SYLLABLE CWA
        52544 == code || // Lo       HANGUL SYLLABLE CWAE
        52572 == code || // Lo       HANGUL SYLLABLE COE
        52600 == code || // Lo       HANGUL SYLLABLE CYO
        52628 == code || // Lo       HANGUL SYLLABLE CU
        52656 == code || // Lo       HANGUL SYLLABLE CWEO
        52684 == code || // Lo       HANGUL SYLLABLE CWE
        52712 == code || // Lo       HANGUL SYLLABLE CWI
        52740 == code || // Lo       HANGUL SYLLABLE CYU
        52768 == code || // Lo       HANGUL SYLLABLE CEU
        52796 == code || // Lo       HANGUL SYLLABLE CYI
        52824 == code || // Lo       HANGUL SYLLABLE CI
        52852 == code || // Lo       HANGUL SYLLABLE KA
        52880 == code || // Lo       HANGUL SYLLABLE KAE
        52908 == code || // Lo       HANGUL SYLLABLE KYA
        52936 == code || // Lo       HANGUL SYLLABLE KYAE
        52964 == code || // Lo       HANGUL SYLLABLE KEO
        52992 == code || // Lo       HANGUL SYLLABLE KE
        53020 == code || // Lo       HANGUL SYLLABLE KYEO
        53048 == code || // Lo       HANGUL SYLLABLE KYE
        53076 == code || // Lo       HANGUL SYLLABLE KO
        53104 == code || // Lo       HANGUL SYLLABLE KWA
        53132 == code || // Lo       HANGUL SYLLABLE KWAE
        53160 == code || // Lo       HANGUL SYLLABLE KOE
        53188 == code || // Lo       HANGUL SYLLABLE KYO
        53216 == code || // Lo       HANGUL SYLLABLE KU
        53244 == code || // Lo       HANGUL SYLLABLE KWEO
        53272 == code || // Lo       HANGUL SYLLABLE KWE
        53300 == code || // Lo       HANGUL SYLLABLE KWI
        53328 == code || // Lo       HANGUL SYLLABLE KYU
        53356 == code || // Lo       HANGUL SYLLABLE KEU
        53384 == code || // Lo       HANGUL SYLLABLE KYI
        53412 == code || // Lo       HANGUL SYLLABLE KI
        53440 == code || // Lo       HANGUL SYLLABLE TA
        53468 == code || // Lo       HANGUL SYLLABLE TAE
        53496 == code || // Lo       HANGUL SYLLABLE TYA
        53524 == code || // Lo       HANGUL SYLLABLE TYAE
        53552 == code || // Lo       HANGUL SYLLABLE TEO
        53580 == code || // Lo       HANGUL SYLLABLE TE
        53608 == code || // Lo       HANGUL SYLLABLE TYEO
        53636 == code || // Lo       HANGUL SYLLABLE TYE
        53664 == code || // Lo       HANGUL SYLLABLE TO
        53692 == code || // Lo       HANGUL SYLLABLE TWA
        53720 == code || // Lo       HANGUL SYLLABLE TWAE
        53748 == code || // Lo       HANGUL SYLLABLE TOE
        53776 == code || // Lo       HANGUL SYLLABLE TYO
        53804 == code || // Lo       HANGUL SYLLABLE TU
        53832 == code || // Lo       HANGUL SYLLABLE TWEO
        53860 == code || // Lo       HANGUL SYLLABLE TWE
        53888 == code || // Lo       HANGUL SYLLABLE TWI
        53916 == code || // Lo       HANGUL SYLLABLE TYU
        53944 == code || // Lo       HANGUL SYLLABLE TEU
        53972 == code || // Lo       HANGUL SYLLABLE TYI
        54e3 == code || // Lo       HANGUL SYLLABLE TI
        54028 == code || // Lo       HANGUL SYLLABLE PA
        54056 == code || // Lo       HANGUL SYLLABLE PAE
        54084 == code || // Lo       HANGUL SYLLABLE PYA
        54112 == code || // Lo       HANGUL SYLLABLE PYAE
        54140 == code || // Lo       HANGUL SYLLABLE PEO
        54168 == code || // Lo       HANGUL SYLLABLE PE
        54196 == code || // Lo       HANGUL SYLLABLE PYEO
        54224 == code || // Lo       HANGUL SYLLABLE PYE
        54252 == code || // Lo       HANGUL SYLLABLE PO
        54280 == code || // Lo       HANGUL SYLLABLE PWA
        54308 == code || // Lo       HANGUL SYLLABLE PWAE
        54336 == code || // Lo       HANGUL SYLLABLE POE
        54364 == code || // Lo       HANGUL SYLLABLE PYO
        54392 == code || // Lo       HANGUL SYLLABLE PU
        54420 == code || // Lo       HANGUL SYLLABLE PWEO
        54448 == code || // Lo       HANGUL SYLLABLE PWE
        54476 == code || // Lo       HANGUL SYLLABLE PWI
        54504 == code || // Lo       HANGUL SYLLABLE PYU
        54532 == code || // Lo       HANGUL SYLLABLE PEU
        54560 == code || // Lo       HANGUL SYLLABLE PYI
        54588 == code || // Lo       HANGUL SYLLABLE PI
        54616 == code || // Lo       HANGUL SYLLABLE HA
        54644 == code || // Lo       HANGUL SYLLABLE HAE
        54672 == code || // Lo       HANGUL SYLLABLE HYA
        54700 == code || // Lo       HANGUL SYLLABLE HYAE
        54728 == code || // Lo       HANGUL SYLLABLE HEO
        54756 == code || // Lo       HANGUL SYLLABLE HE
        54784 == code || // Lo       HANGUL SYLLABLE HYEO
        54812 == code || // Lo       HANGUL SYLLABLE HYE
        54840 == code || // Lo       HANGUL SYLLABLE HO
        54868 == code || // Lo       HANGUL SYLLABLE HWA
        54896 == code || // Lo       HANGUL SYLLABLE HWAE
        54924 == code || // Lo       HANGUL SYLLABLE HOE
        54952 == code || // Lo       HANGUL SYLLABLE HYO
        54980 == code || // Lo       HANGUL SYLLABLE HU
        55008 == code || // Lo       HANGUL SYLLABLE HWEO
        55036 == code || // Lo       HANGUL SYLLABLE HWE
        55064 == code || // Lo       HANGUL SYLLABLE HWI
        55092 == code || // Lo       HANGUL SYLLABLE HYU
        55120 == code || // Lo       HANGUL SYLLABLE HEU
        55148 == code || // Lo       HANGUL SYLLABLE HYI
        55176 == code) {
          return LV;
        }
        if (44033 <= code && code <= 44059 || // Lo  [27] HANGUL SYLLABLE GAG..HANGUL SYLLABLE GAH
        44061 <= code && code <= 44087 || // Lo  [27] HANGUL SYLLABLE GAEG..HANGUL SYLLABLE GAEH
        44089 <= code && code <= 44115 || // Lo  [27] HANGUL SYLLABLE GYAG..HANGUL SYLLABLE GYAH
        44117 <= code && code <= 44143 || // Lo  [27] HANGUL SYLLABLE GYAEG..HANGUL SYLLABLE GYAEH
        44145 <= code && code <= 44171 || // Lo  [27] HANGUL SYLLABLE GEOG..HANGUL SYLLABLE GEOH
        44173 <= code && code <= 44199 || // Lo  [27] HANGUL SYLLABLE GEG..HANGUL SYLLABLE GEH
        44201 <= code && code <= 44227 || // Lo  [27] HANGUL SYLLABLE GYEOG..HANGUL SYLLABLE GYEOH
        44229 <= code && code <= 44255 || // Lo  [27] HANGUL SYLLABLE GYEG..HANGUL SYLLABLE GYEH
        44257 <= code && code <= 44283 || // Lo  [27] HANGUL SYLLABLE GOG..HANGUL SYLLABLE GOH
        44285 <= code && code <= 44311 || // Lo  [27] HANGUL SYLLABLE GWAG..HANGUL SYLLABLE GWAH
        44313 <= code && code <= 44339 || // Lo  [27] HANGUL SYLLABLE GWAEG..HANGUL SYLLABLE GWAEH
        44341 <= code && code <= 44367 || // Lo  [27] HANGUL SYLLABLE GOEG..HANGUL SYLLABLE GOEH
        44369 <= code && code <= 44395 || // Lo  [27] HANGUL SYLLABLE GYOG..HANGUL SYLLABLE GYOH
        44397 <= code && code <= 44423 || // Lo  [27] HANGUL SYLLABLE GUG..HANGUL SYLLABLE GUH
        44425 <= code && code <= 44451 || // Lo  [27] HANGUL SYLLABLE GWEOG..HANGUL SYLLABLE GWEOH
        44453 <= code && code <= 44479 || // Lo  [27] HANGUL SYLLABLE GWEG..HANGUL SYLLABLE GWEH
        44481 <= code && code <= 44507 || // Lo  [27] HANGUL SYLLABLE GWIG..HANGUL SYLLABLE GWIH
        44509 <= code && code <= 44535 || // Lo  [27] HANGUL SYLLABLE GYUG..HANGUL SYLLABLE GYUH
        44537 <= code && code <= 44563 || // Lo  [27] HANGUL SYLLABLE GEUG..HANGUL SYLLABLE GEUH
        44565 <= code && code <= 44591 || // Lo  [27] HANGUL SYLLABLE GYIG..HANGUL SYLLABLE GYIH
        44593 <= code && code <= 44619 || // Lo  [27] HANGUL SYLLABLE GIG..HANGUL SYLLABLE GIH
        44621 <= code && code <= 44647 || // Lo  [27] HANGUL SYLLABLE GGAG..HANGUL SYLLABLE GGAH
        44649 <= code && code <= 44675 || // Lo  [27] HANGUL SYLLABLE GGAEG..HANGUL SYLLABLE GGAEH
        44677 <= code && code <= 44703 || // Lo  [27] HANGUL SYLLABLE GGYAG..HANGUL SYLLABLE GGYAH
        44705 <= code && code <= 44731 || // Lo  [27] HANGUL SYLLABLE GGYAEG..HANGUL SYLLABLE GGYAEH
        44733 <= code && code <= 44759 || // Lo  [27] HANGUL SYLLABLE GGEOG..HANGUL SYLLABLE GGEOH
        44761 <= code && code <= 44787 || // Lo  [27] HANGUL SYLLABLE GGEG..HANGUL SYLLABLE GGEH
        44789 <= code && code <= 44815 || // Lo  [27] HANGUL SYLLABLE GGYEOG..HANGUL SYLLABLE GGYEOH
        44817 <= code && code <= 44843 || // Lo  [27] HANGUL SYLLABLE GGYEG..HANGUL SYLLABLE GGYEH
        44845 <= code && code <= 44871 || // Lo  [27] HANGUL SYLLABLE GGOG..HANGUL SYLLABLE GGOH
        44873 <= code && code <= 44899 || // Lo  [27] HANGUL SYLLABLE GGWAG..HANGUL SYLLABLE GGWAH
        44901 <= code && code <= 44927 || // Lo  [27] HANGUL SYLLABLE GGWAEG..HANGUL SYLLABLE GGWAEH
        44929 <= code && code <= 44955 || // Lo  [27] HANGUL SYLLABLE GGOEG..HANGUL SYLLABLE GGOEH
        44957 <= code && code <= 44983 || // Lo  [27] HANGUL SYLLABLE GGYOG..HANGUL SYLLABLE GGYOH
        44985 <= code && code <= 45011 || // Lo  [27] HANGUL SYLLABLE GGUG..HANGUL SYLLABLE GGUH
        45013 <= code && code <= 45039 || // Lo  [27] HANGUL SYLLABLE GGWEOG..HANGUL SYLLABLE GGWEOH
        45041 <= code && code <= 45067 || // Lo  [27] HANGUL SYLLABLE GGWEG..HANGUL SYLLABLE GGWEH
        45069 <= code && code <= 45095 || // Lo  [27] HANGUL SYLLABLE GGWIG..HANGUL SYLLABLE GGWIH
        45097 <= code && code <= 45123 || // Lo  [27] HANGUL SYLLABLE GGYUG..HANGUL SYLLABLE GGYUH
        45125 <= code && code <= 45151 || // Lo  [27] HANGUL SYLLABLE GGEUG..HANGUL SYLLABLE GGEUH
        45153 <= code && code <= 45179 || // Lo  [27] HANGUL SYLLABLE GGYIG..HANGUL SYLLABLE GGYIH
        45181 <= code && code <= 45207 || // Lo  [27] HANGUL SYLLABLE GGIG..HANGUL SYLLABLE GGIH
        45209 <= code && code <= 45235 || // Lo  [27] HANGUL SYLLABLE NAG..HANGUL SYLLABLE NAH
        45237 <= code && code <= 45263 || // Lo  [27] HANGUL SYLLABLE NAEG..HANGUL SYLLABLE NAEH
        45265 <= code && code <= 45291 || // Lo  [27] HANGUL SYLLABLE NYAG..HANGUL SYLLABLE NYAH
        45293 <= code && code <= 45319 || // Lo  [27] HANGUL SYLLABLE NYAEG..HANGUL SYLLABLE NYAEH
        45321 <= code && code <= 45347 || // Lo  [27] HANGUL SYLLABLE NEOG..HANGUL SYLLABLE NEOH
        45349 <= code && code <= 45375 || // Lo  [27] HANGUL SYLLABLE NEG..HANGUL SYLLABLE NEH
        45377 <= code && code <= 45403 || // Lo  [27] HANGUL SYLLABLE NYEOG..HANGUL SYLLABLE NYEOH
        45405 <= code && code <= 45431 || // Lo  [27] HANGUL SYLLABLE NYEG..HANGUL SYLLABLE NYEH
        45433 <= code && code <= 45459 || // Lo  [27] HANGUL SYLLABLE NOG..HANGUL SYLLABLE NOH
        45461 <= code && code <= 45487 || // Lo  [27] HANGUL SYLLABLE NWAG..HANGUL SYLLABLE NWAH
        45489 <= code && code <= 45515 || // Lo  [27] HANGUL SYLLABLE NWAEG..HANGUL SYLLABLE NWAEH
        45517 <= code && code <= 45543 || // Lo  [27] HANGUL SYLLABLE NOEG..HANGUL SYLLABLE NOEH
        45545 <= code && code <= 45571 || // Lo  [27] HANGUL SYLLABLE NYOG..HANGUL SYLLABLE NYOH
        45573 <= code && code <= 45599 || // Lo  [27] HANGUL SYLLABLE NUG..HANGUL SYLLABLE NUH
        45601 <= code && code <= 45627 || // Lo  [27] HANGUL SYLLABLE NWEOG..HANGUL SYLLABLE NWEOH
        45629 <= code && code <= 45655 || // Lo  [27] HANGUL SYLLABLE NWEG..HANGUL SYLLABLE NWEH
        45657 <= code && code <= 45683 || // Lo  [27] HANGUL SYLLABLE NWIG..HANGUL SYLLABLE NWIH
        45685 <= code && code <= 45711 || // Lo  [27] HANGUL SYLLABLE NYUG..HANGUL SYLLABLE NYUH
        45713 <= code && code <= 45739 || // Lo  [27] HANGUL SYLLABLE NEUG..HANGUL SYLLABLE NEUH
        45741 <= code && code <= 45767 || // Lo  [27] HANGUL SYLLABLE NYIG..HANGUL SYLLABLE NYIH
        45769 <= code && code <= 45795 || // Lo  [27] HANGUL SYLLABLE NIG..HANGUL SYLLABLE NIH
        45797 <= code && code <= 45823 || // Lo  [27] HANGUL SYLLABLE DAG..HANGUL SYLLABLE DAH
        45825 <= code && code <= 45851 || // Lo  [27] HANGUL SYLLABLE DAEG..HANGUL SYLLABLE DAEH
        45853 <= code && code <= 45879 || // Lo  [27] HANGUL SYLLABLE DYAG..HANGUL SYLLABLE DYAH
        45881 <= code && code <= 45907 || // Lo  [27] HANGUL SYLLABLE DYAEG..HANGUL SYLLABLE DYAEH
        45909 <= code && code <= 45935 || // Lo  [27] HANGUL SYLLABLE DEOG..HANGUL SYLLABLE DEOH
        45937 <= code && code <= 45963 || // Lo  [27] HANGUL SYLLABLE DEG..HANGUL SYLLABLE DEH
        45965 <= code && code <= 45991 || // Lo  [27] HANGUL SYLLABLE DYEOG..HANGUL SYLLABLE DYEOH
        45993 <= code && code <= 46019 || // Lo  [27] HANGUL SYLLABLE DYEG..HANGUL SYLLABLE DYEH
        46021 <= code && code <= 46047 || // Lo  [27] HANGUL SYLLABLE DOG..HANGUL SYLLABLE DOH
        46049 <= code && code <= 46075 || // Lo  [27] HANGUL SYLLABLE DWAG..HANGUL SYLLABLE DWAH
        46077 <= code && code <= 46103 || // Lo  [27] HANGUL SYLLABLE DWAEG..HANGUL SYLLABLE DWAEH
        46105 <= code && code <= 46131 || // Lo  [27] HANGUL SYLLABLE DOEG..HANGUL SYLLABLE DOEH
        46133 <= code && code <= 46159 || // Lo  [27] HANGUL SYLLABLE DYOG..HANGUL SYLLABLE DYOH
        46161 <= code && code <= 46187 || // Lo  [27] HANGUL SYLLABLE DUG..HANGUL SYLLABLE DUH
        46189 <= code && code <= 46215 || // Lo  [27] HANGUL SYLLABLE DWEOG..HANGUL SYLLABLE DWEOH
        46217 <= code && code <= 46243 || // Lo  [27] HANGUL SYLLABLE DWEG..HANGUL SYLLABLE DWEH
        46245 <= code && code <= 46271 || // Lo  [27] HANGUL SYLLABLE DWIG..HANGUL SYLLABLE DWIH
        46273 <= code && code <= 46299 || // Lo  [27] HANGUL SYLLABLE DYUG..HANGUL SYLLABLE DYUH
        46301 <= code && code <= 46327 || // Lo  [27] HANGUL SYLLABLE DEUG..HANGUL SYLLABLE DEUH
        46329 <= code && code <= 46355 || // Lo  [27] HANGUL SYLLABLE DYIG..HANGUL SYLLABLE DYIH
        46357 <= code && code <= 46383 || // Lo  [27] HANGUL SYLLABLE DIG..HANGUL SYLLABLE DIH
        46385 <= code && code <= 46411 || // Lo  [27] HANGUL SYLLABLE DDAG..HANGUL SYLLABLE DDAH
        46413 <= code && code <= 46439 || // Lo  [27] HANGUL SYLLABLE DDAEG..HANGUL SYLLABLE DDAEH
        46441 <= code && code <= 46467 || // Lo  [27] HANGUL SYLLABLE DDYAG..HANGUL SYLLABLE DDYAH
        46469 <= code && code <= 46495 || // Lo  [27] HANGUL SYLLABLE DDYAEG..HANGUL SYLLABLE DDYAEH
        46497 <= code && code <= 46523 || // Lo  [27] HANGUL SYLLABLE DDEOG..HANGUL SYLLABLE DDEOH
        46525 <= code && code <= 46551 || // Lo  [27] HANGUL SYLLABLE DDEG..HANGUL SYLLABLE DDEH
        46553 <= code && code <= 46579 || // Lo  [27] HANGUL SYLLABLE DDYEOG..HANGUL SYLLABLE DDYEOH
        46581 <= code && code <= 46607 || // Lo  [27] HANGUL SYLLABLE DDYEG..HANGUL SYLLABLE DDYEH
        46609 <= code && code <= 46635 || // Lo  [27] HANGUL SYLLABLE DDOG..HANGUL SYLLABLE DDOH
        46637 <= code && code <= 46663 || // Lo  [27] HANGUL SYLLABLE DDWAG..HANGUL SYLLABLE DDWAH
        46665 <= code && code <= 46691 || // Lo  [27] HANGUL SYLLABLE DDWAEG..HANGUL SYLLABLE DDWAEH
        46693 <= code && code <= 46719 || // Lo  [27] HANGUL SYLLABLE DDOEG..HANGUL SYLLABLE DDOEH
        46721 <= code && code <= 46747 || // Lo  [27] HANGUL SYLLABLE DDYOG..HANGUL SYLLABLE DDYOH
        46749 <= code && code <= 46775 || // Lo  [27] HANGUL SYLLABLE DDUG..HANGUL SYLLABLE DDUH
        46777 <= code && code <= 46803 || // Lo  [27] HANGUL SYLLABLE DDWEOG..HANGUL SYLLABLE DDWEOH
        46805 <= code && code <= 46831 || // Lo  [27] HANGUL SYLLABLE DDWEG..HANGUL SYLLABLE DDWEH
        46833 <= code && code <= 46859 || // Lo  [27] HANGUL SYLLABLE DDWIG..HANGUL SYLLABLE DDWIH
        46861 <= code && code <= 46887 || // Lo  [27] HANGUL SYLLABLE DDYUG..HANGUL SYLLABLE DDYUH
        46889 <= code && code <= 46915 || // Lo  [27] HANGUL SYLLABLE DDEUG..HANGUL SYLLABLE DDEUH
        46917 <= code && code <= 46943 || // Lo  [27] HANGUL SYLLABLE DDYIG..HANGUL SYLLABLE DDYIH
        46945 <= code && code <= 46971 || // Lo  [27] HANGUL SYLLABLE DDIG..HANGUL SYLLABLE DDIH
        46973 <= code && code <= 46999 || // Lo  [27] HANGUL SYLLABLE RAG..HANGUL SYLLABLE RAH
        47001 <= code && code <= 47027 || // Lo  [27] HANGUL SYLLABLE RAEG..HANGUL SYLLABLE RAEH
        47029 <= code && code <= 47055 || // Lo  [27] HANGUL SYLLABLE RYAG..HANGUL SYLLABLE RYAH
        47057 <= code && code <= 47083 || // Lo  [27] HANGUL SYLLABLE RYAEG..HANGUL SYLLABLE RYAEH
        47085 <= code && code <= 47111 || // Lo  [27] HANGUL SYLLABLE REOG..HANGUL SYLLABLE REOH
        47113 <= code && code <= 47139 || // Lo  [27] HANGUL SYLLABLE REG..HANGUL SYLLABLE REH
        47141 <= code && code <= 47167 || // Lo  [27] HANGUL SYLLABLE RYEOG..HANGUL SYLLABLE RYEOH
        47169 <= code && code <= 47195 || // Lo  [27] HANGUL SYLLABLE RYEG..HANGUL SYLLABLE RYEH
        47197 <= code && code <= 47223 || // Lo  [27] HANGUL SYLLABLE ROG..HANGUL SYLLABLE ROH
        47225 <= code && code <= 47251 || // Lo  [27] HANGUL SYLLABLE RWAG..HANGUL SYLLABLE RWAH
        47253 <= code && code <= 47279 || // Lo  [27] HANGUL SYLLABLE RWAEG..HANGUL SYLLABLE RWAEH
        47281 <= code && code <= 47307 || // Lo  [27] HANGUL SYLLABLE ROEG..HANGUL SYLLABLE ROEH
        47309 <= code && code <= 47335 || // Lo  [27] HANGUL SYLLABLE RYOG..HANGUL SYLLABLE RYOH
        47337 <= code && code <= 47363 || // Lo  [27] HANGUL SYLLABLE RUG..HANGUL SYLLABLE RUH
        47365 <= code && code <= 47391 || // Lo  [27] HANGUL SYLLABLE RWEOG..HANGUL SYLLABLE RWEOH
        47393 <= code && code <= 47419 || // Lo  [27] HANGUL SYLLABLE RWEG..HANGUL SYLLABLE RWEH
        47421 <= code && code <= 47447 || // Lo  [27] HANGUL SYLLABLE RWIG..HANGUL SYLLABLE RWIH
        47449 <= code && code <= 47475 || // Lo  [27] HANGUL SYLLABLE RYUG..HANGUL SYLLABLE RYUH
        47477 <= code && code <= 47503 || // Lo  [27] HANGUL SYLLABLE REUG..HANGUL SYLLABLE REUH
        47505 <= code && code <= 47531 || // Lo  [27] HANGUL SYLLABLE RYIG..HANGUL SYLLABLE RYIH
        47533 <= code && code <= 47559 || // Lo  [27] HANGUL SYLLABLE RIG..HANGUL SYLLABLE RIH
        47561 <= code && code <= 47587 || // Lo  [27] HANGUL SYLLABLE MAG..HANGUL SYLLABLE MAH
        47589 <= code && code <= 47615 || // Lo  [27] HANGUL SYLLABLE MAEG..HANGUL SYLLABLE MAEH
        47617 <= code && code <= 47643 || // Lo  [27] HANGUL SYLLABLE MYAG..HANGUL SYLLABLE MYAH
        47645 <= code && code <= 47671 || // Lo  [27] HANGUL SYLLABLE MYAEG..HANGUL SYLLABLE MYAEH
        47673 <= code && code <= 47699 || // Lo  [27] HANGUL SYLLABLE MEOG..HANGUL SYLLABLE MEOH
        47701 <= code && code <= 47727 || // Lo  [27] HANGUL SYLLABLE MEG..HANGUL SYLLABLE MEH
        47729 <= code && code <= 47755 || // Lo  [27] HANGUL SYLLABLE MYEOG..HANGUL SYLLABLE MYEOH
        47757 <= code && code <= 47783 || // Lo  [27] HANGUL SYLLABLE MYEG..HANGUL SYLLABLE MYEH
        47785 <= code && code <= 47811 || // Lo  [27] HANGUL SYLLABLE MOG..HANGUL SYLLABLE MOH
        47813 <= code && code <= 47839 || // Lo  [27] HANGUL SYLLABLE MWAG..HANGUL SYLLABLE MWAH
        47841 <= code && code <= 47867 || // Lo  [27] HANGUL SYLLABLE MWAEG..HANGUL SYLLABLE MWAEH
        47869 <= code && code <= 47895 || // Lo  [27] HANGUL SYLLABLE MOEG..HANGUL SYLLABLE MOEH
        47897 <= code && code <= 47923 || // Lo  [27] HANGUL SYLLABLE MYOG..HANGUL SYLLABLE MYOH
        47925 <= code && code <= 47951 || // Lo  [27] HANGUL SYLLABLE MUG..HANGUL SYLLABLE MUH
        47953 <= code && code <= 47979 || // Lo  [27] HANGUL SYLLABLE MWEOG..HANGUL SYLLABLE MWEOH
        47981 <= code && code <= 48007 || // Lo  [27] HANGUL SYLLABLE MWEG..HANGUL SYLLABLE MWEH
        48009 <= code && code <= 48035 || // Lo  [27] HANGUL SYLLABLE MWIG..HANGUL SYLLABLE MWIH
        48037 <= code && code <= 48063 || // Lo  [27] HANGUL SYLLABLE MYUG..HANGUL SYLLABLE MYUH
        48065 <= code && code <= 48091 || // Lo  [27] HANGUL SYLLABLE MEUG..HANGUL SYLLABLE MEUH
        48093 <= code && code <= 48119 || // Lo  [27] HANGUL SYLLABLE MYIG..HANGUL SYLLABLE MYIH
        48121 <= code && code <= 48147 || // Lo  [27] HANGUL SYLLABLE MIG..HANGUL SYLLABLE MIH
        48149 <= code && code <= 48175 || // Lo  [27] HANGUL SYLLABLE BAG..HANGUL SYLLABLE BAH
        48177 <= code && code <= 48203 || // Lo  [27] HANGUL SYLLABLE BAEG..HANGUL SYLLABLE BAEH
        48205 <= code && code <= 48231 || // Lo  [27] HANGUL SYLLABLE BYAG..HANGUL SYLLABLE BYAH
        48233 <= code && code <= 48259 || // Lo  [27] HANGUL SYLLABLE BYAEG..HANGUL SYLLABLE BYAEH
        48261 <= code && code <= 48287 || // Lo  [27] HANGUL SYLLABLE BEOG..HANGUL SYLLABLE BEOH
        48289 <= code && code <= 48315 || // Lo  [27] HANGUL SYLLABLE BEG..HANGUL SYLLABLE BEH
        48317 <= code && code <= 48343 || // Lo  [27] HANGUL SYLLABLE BYEOG..HANGUL SYLLABLE BYEOH
        48345 <= code && code <= 48371 || // Lo  [27] HANGUL SYLLABLE BYEG..HANGUL SYLLABLE BYEH
        48373 <= code && code <= 48399 || // Lo  [27] HANGUL SYLLABLE BOG..HANGUL SYLLABLE BOH
        48401 <= code && code <= 48427 || // Lo  [27] HANGUL SYLLABLE BWAG..HANGUL SYLLABLE BWAH
        48429 <= code && code <= 48455 || // Lo  [27] HANGUL SYLLABLE BWAEG..HANGUL SYLLABLE BWAEH
        48457 <= code && code <= 48483 || // Lo  [27] HANGUL SYLLABLE BOEG..HANGUL SYLLABLE BOEH
        48485 <= code && code <= 48511 || // Lo  [27] HANGUL SYLLABLE BYOG..HANGUL SYLLABLE BYOH
        48513 <= code && code <= 48539 || // Lo  [27] HANGUL SYLLABLE BUG..HANGUL SYLLABLE BUH
        48541 <= code && code <= 48567 || // Lo  [27] HANGUL SYLLABLE BWEOG..HANGUL SYLLABLE BWEOH
        48569 <= code && code <= 48595 || // Lo  [27] HANGUL SYLLABLE BWEG..HANGUL SYLLABLE BWEH
        48597 <= code && code <= 48623 || // Lo  [27] HANGUL SYLLABLE BWIG..HANGUL SYLLABLE BWIH
        48625 <= code && code <= 48651 || // Lo  [27] HANGUL SYLLABLE BYUG..HANGUL SYLLABLE BYUH
        48653 <= code && code <= 48679 || // Lo  [27] HANGUL SYLLABLE BEUG..HANGUL SYLLABLE BEUH
        48681 <= code && code <= 48707 || // Lo  [27] HANGUL SYLLABLE BYIG..HANGUL SYLLABLE BYIH
        48709 <= code && code <= 48735 || // Lo  [27] HANGUL SYLLABLE BIG..HANGUL SYLLABLE BIH
        48737 <= code && code <= 48763 || // Lo  [27] HANGUL SYLLABLE BBAG..HANGUL SYLLABLE BBAH
        48765 <= code && code <= 48791 || // Lo  [27] HANGUL SYLLABLE BBAEG..HANGUL SYLLABLE BBAEH
        48793 <= code && code <= 48819 || // Lo  [27] HANGUL SYLLABLE BBYAG..HANGUL SYLLABLE BBYAH
        48821 <= code && code <= 48847 || // Lo  [27] HANGUL SYLLABLE BBYAEG..HANGUL SYLLABLE BBYAEH
        48849 <= code && code <= 48875 || // Lo  [27] HANGUL SYLLABLE BBEOG..HANGUL SYLLABLE BBEOH
        48877 <= code && code <= 48903 || // Lo  [27] HANGUL SYLLABLE BBEG..HANGUL SYLLABLE BBEH
        48905 <= code && code <= 48931 || // Lo  [27] HANGUL SYLLABLE BBYEOG..HANGUL SYLLABLE BBYEOH
        48933 <= code && code <= 48959 || // Lo  [27] HANGUL SYLLABLE BBYEG..HANGUL SYLLABLE BBYEH
        48961 <= code && code <= 48987 || // Lo  [27] HANGUL SYLLABLE BBOG..HANGUL SYLLABLE BBOH
        48989 <= code && code <= 49015 || // Lo  [27] HANGUL SYLLABLE BBWAG..HANGUL SYLLABLE BBWAH
        49017 <= code && code <= 49043 || // Lo  [27] HANGUL SYLLABLE BBWAEG..HANGUL SYLLABLE BBWAEH
        49045 <= code && code <= 49071 || // Lo  [27] HANGUL SYLLABLE BBOEG..HANGUL SYLLABLE BBOEH
        49073 <= code && code <= 49099 || // Lo  [27] HANGUL SYLLABLE BBYOG..HANGUL SYLLABLE BBYOH
        49101 <= code && code <= 49127 || // Lo  [27] HANGUL SYLLABLE BBUG..HANGUL SYLLABLE BBUH
        49129 <= code && code <= 49155 || // Lo  [27] HANGUL SYLLABLE BBWEOG..HANGUL SYLLABLE BBWEOH
        49157 <= code && code <= 49183 || // Lo  [27] HANGUL SYLLABLE BBWEG..HANGUL SYLLABLE BBWEH
        49185 <= code && code <= 49211 || // Lo  [27] HANGUL SYLLABLE BBWIG..HANGUL SYLLABLE BBWIH
        49213 <= code && code <= 49239 || // Lo  [27] HANGUL SYLLABLE BBYUG..HANGUL SYLLABLE BBYUH
        49241 <= code && code <= 49267 || // Lo  [27] HANGUL SYLLABLE BBEUG..HANGUL SYLLABLE BBEUH
        49269 <= code && code <= 49295 || // Lo  [27] HANGUL SYLLABLE BBYIG..HANGUL SYLLABLE BBYIH
        49297 <= code && code <= 49323 || // Lo  [27] HANGUL SYLLABLE BBIG..HANGUL SYLLABLE BBIH
        49325 <= code && code <= 49351 || // Lo  [27] HANGUL SYLLABLE SAG..HANGUL SYLLABLE SAH
        49353 <= code && code <= 49379 || // Lo  [27] HANGUL SYLLABLE SAEG..HANGUL SYLLABLE SAEH
        49381 <= code && code <= 49407 || // Lo  [27] HANGUL SYLLABLE SYAG..HANGUL SYLLABLE SYAH
        49409 <= code && code <= 49435 || // Lo  [27] HANGUL SYLLABLE SYAEG..HANGUL SYLLABLE SYAEH
        49437 <= code && code <= 49463 || // Lo  [27] HANGUL SYLLABLE SEOG..HANGUL SYLLABLE SEOH
        49465 <= code && code <= 49491 || // Lo  [27] HANGUL SYLLABLE SEG..HANGUL SYLLABLE SEH
        49493 <= code && code <= 49519 || // Lo  [27] HANGUL SYLLABLE SYEOG..HANGUL SYLLABLE SYEOH
        49521 <= code && code <= 49547 || // Lo  [27] HANGUL SYLLABLE SYEG..HANGUL SYLLABLE SYEH
        49549 <= code && code <= 49575 || // Lo  [27] HANGUL SYLLABLE SOG..HANGUL SYLLABLE SOH
        49577 <= code && code <= 49603 || // Lo  [27] HANGUL SYLLABLE SWAG..HANGUL SYLLABLE SWAH
        49605 <= code && code <= 49631 || // Lo  [27] HANGUL SYLLABLE SWAEG..HANGUL SYLLABLE SWAEH
        49633 <= code && code <= 49659 || // Lo  [27] HANGUL SYLLABLE SOEG..HANGUL SYLLABLE SOEH
        49661 <= code && code <= 49687 || // Lo  [27] HANGUL SYLLABLE SYOG..HANGUL SYLLABLE SYOH
        49689 <= code && code <= 49715 || // Lo  [27] HANGUL SYLLABLE SUG..HANGUL SYLLABLE SUH
        49717 <= code && code <= 49743 || // Lo  [27] HANGUL SYLLABLE SWEOG..HANGUL SYLLABLE SWEOH
        49745 <= code && code <= 49771 || // Lo  [27] HANGUL SYLLABLE SWEG..HANGUL SYLLABLE SWEH
        49773 <= code && code <= 49799 || // Lo  [27] HANGUL SYLLABLE SWIG..HANGUL SYLLABLE SWIH
        49801 <= code && code <= 49827 || // Lo  [27] HANGUL SYLLABLE SYUG..HANGUL SYLLABLE SYUH
        49829 <= code && code <= 49855 || // Lo  [27] HANGUL SYLLABLE SEUG..HANGUL SYLLABLE SEUH
        49857 <= code && code <= 49883 || // Lo  [27] HANGUL SYLLABLE SYIG..HANGUL SYLLABLE SYIH
        49885 <= code && code <= 49911 || // Lo  [27] HANGUL SYLLABLE SIG..HANGUL SYLLABLE SIH
        49913 <= code && code <= 49939 || // Lo  [27] HANGUL SYLLABLE SSAG..HANGUL SYLLABLE SSAH
        49941 <= code && code <= 49967 || // Lo  [27] HANGUL SYLLABLE SSAEG..HANGUL SYLLABLE SSAEH
        49969 <= code && code <= 49995 || // Lo  [27] HANGUL SYLLABLE SSYAG..HANGUL SYLLABLE SSYAH
        49997 <= code && code <= 50023 || // Lo  [27] HANGUL SYLLABLE SSYAEG..HANGUL SYLLABLE SSYAEH
        50025 <= code && code <= 50051 || // Lo  [27] HANGUL SYLLABLE SSEOG..HANGUL SYLLABLE SSEOH
        50053 <= code && code <= 50079 || // Lo  [27] HANGUL SYLLABLE SSEG..HANGUL SYLLABLE SSEH
        50081 <= code && code <= 50107 || // Lo  [27] HANGUL SYLLABLE SSYEOG..HANGUL SYLLABLE SSYEOH
        50109 <= code && code <= 50135 || // Lo  [27] HANGUL SYLLABLE SSYEG..HANGUL SYLLABLE SSYEH
        50137 <= code && code <= 50163 || // Lo  [27] HANGUL SYLLABLE SSOG..HANGUL SYLLABLE SSOH
        50165 <= code && code <= 50191 || // Lo  [27] HANGUL SYLLABLE SSWAG..HANGUL SYLLABLE SSWAH
        50193 <= code && code <= 50219 || // Lo  [27] HANGUL SYLLABLE SSWAEG..HANGUL SYLLABLE SSWAEH
        50221 <= code && code <= 50247 || // Lo  [27] HANGUL SYLLABLE SSOEG..HANGUL SYLLABLE SSOEH
        50249 <= code && code <= 50275 || // Lo  [27] HANGUL SYLLABLE SSYOG..HANGUL SYLLABLE SSYOH
        50277 <= code && code <= 50303 || // Lo  [27] HANGUL SYLLABLE SSUG..HANGUL SYLLABLE SSUH
        50305 <= code && code <= 50331 || // Lo  [27] HANGUL SYLLABLE SSWEOG..HANGUL SYLLABLE SSWEOH
        50333 <= code && code <= 50359 || // Lo  [27] HANGUL SYLLABLE SSWEG..HANGUL SYLLABLE SSWEH
        50361 <= code && code <= 50387 || // Lo  [27] HANGUL SYLLABLE SSWIG..HANGUL SYLLABLE SSWIH
        50389 <= code && code <= 50415 || // Lo  [27] HANGUL SYLLABLE SSYUG..HANGUL SYLLABLE SSYUH
        50417 <= code && code <= 50443 || // Lo  [27] HANGUL SYLLABLE SSEUG..HANGUL SYLLABLE SSEUH
        50445 <= code && code <= 50471 || // Lo  [27] HANGUL SYLLABLE SSYIG..HANGUL SYLLABLE SSYIH
        50473 <= code && code <= 50499 || // Lo  [27] HANGUL SYLLABLE SSIG..HANGUL SYLLABLE SSIH
        50501 <= code && code <= 50527 || // Lo  [27] HANGUL SYLLABLE AG..HANGUL SYLLABLE AH
        50529 <= code && code <= 50555 || // Lo  [27] HANGUL SYLLABLE AEG..HANGUL SYLLABLE AEH
        50557 <= code && code <= 50583 || // Lo  [27] HANGUL SYLLABLE YAG..HANGUL SYLLABLE YAH
        50585 <= code && code <= 50611 || // Lo  [27] HANGUL SYLLABLE YAEG..HANGUL SYLLABLE YAEH
        50613 <= code && code <= 50639 || // Lo  [27] HANGUL SYLLABLE EOG..HANGUL SYLLABLE EOH
        50641 <= code && code <= 50667 || // Lo  [27] HANGUL SYLLABLE EG..HANGUL SYLLABLE EH
        50669 <= code && code <= 50695 || // Lo  [27] HANGUL SYLLABLE YEOG..HANGUL SYLLABLE YEOH
        50697 <= code && code <= 50723 || // Lo  [27] HANGUL SYLLABLE YEG..HANGUL SYLLABLE YEH
        50725 <= code && code <= 50751 || // Lo  [27] HANGUL SYLLABLE OG..HANGUL SYLLABLE OH
        50753 <= code && code <= 50779 || // Lo  [27] HANGUL SYLLABLE WAG..HANGUL SYLLABLE WAH
        50781 <= code && code <= 50807 || // Lo  [27] HANGUL SYLLABLE WAEG..HANGUL SYLLABLE WAEH
        50809 <= code && code <= 50835 || // Lo  [27] HANGUL SYLLABLE OEG..HANGUL SYLLABLE OEH
        50837 <= code && code <= 50863 || // Lo  [27] HANGUL SYLLABLE YOG..HANGUL SYLLABLE YOH
        50865 <= code && code <= 50891 || // Lo  [27] HANGUL SYLLABLE UG..HANGUL SYLLABLE UH
        50893 <= code && code <= 50919 || // Lo  [27] HANGUL SYLLABLE WEOG..HANGUL SYLLABLE WEOH
        50921 <= code && code <= 50947 || // Lo  [27] HANGUL SYLLABLE WEG..HANGUL SYLLABLE WEH
        50949 <= code && code <= 50975 || // Lo  [27] HANGUL SYLLABLE WIG..HANGUL SYLLABLE WIH
        50977 <= code && code <= 51003 || // Lo  [27] HANGUL SYLLABLE YUG..HANGUL SYLLABLE YUH
        51005 <= code && code <= 51031 || // Lo  [27] HANGUL SYLLABLE EUG..HANGUL SYLLABLE EUH
        51033 <= code && code <= 51059 || // Lo  [27] HANGUL SYLLABLE YIG..HANGUL SYLLABLE YIH
        51061 <= code && code <= 51087 || // Lo  [27] HANGUL SYLLABLE IG..HANGUL SYLLABLE IH
        51089 <= code && code <= 51115 || // Lo  [27] HANGUL SYLLABLE JAG..HANGUL SYLLABLE JAH
        51117 <= code && code <= 51143 || // Lo  [27] HANGUL SYLLABLE JAEG..HANGUL SYLLABLE JAEH
        51145 <= code && code <= 51171 || // Lo  [27] HANGUL SYLLABLE JYAG..HANGUL SYLLABLE JYAH
        51173 <= code && code <= 51199 || // Lo  [27] HANGUL SYLLABLE JYAEG..HANGUL SYLLABLE JYAEH
        51201 <= code && code <= 51227 || // Lo  [27] HANGUL SYLLABLE JEOG..HANGUL SYLLABLE JEOH
        51229 <= code && code <= 51255 || // Lo  [27] HANGUL SYLLABLE JEG..HANGUL SYLLABLE JEH
        51257 <= code && code <= 51283 || // Lo  [27] HANGUL SYLLABLE JYEOG..HANGUL SYLLABLE JYEOH
        51285 <= code && code <= 51311 || // Lo  [27] HANGUL SYLLABLE JYEG..HANGUL SYLLABLE JYEH
        51313 <= code && code <= 51339 || // Lo  [27] HANGUL SYLLABLE JOG..HANGUL SYLLABLE JOH
        51341 <= code && code <= 51367 || // Lo  [27] HANGUL SYLLABLE JWAG..HANGUL SYLLABLE JWAH
        51369 <= code && code <= 51395 || // Lo  [27] HANGUL SYLLABLE JWAEG..HANGUL SYLLABLE JWAEH
        51397 <= code && code <= 51423 || // Lo  [27] HANGUL SYLLABLE JOEG..HANGUL SYLLABLE JOEH
        51425 <= code && code <= 51451 || // Lo  [27] HANGUL SYLLABLE JYOG..HANGUL SYLLABLE JYOH
        51453 <= code && code <= 51479 || // Lo  [27] HANGUL SYLLABLE JUG..HANGUL SYLLABLE JUH
        51481 <= code && code <= 51507 || // Lo  [27] HANGUL SYLLABLE JWEOG..HANGUL SYLLABLE JWEOH
        51509 <= code && code <= 51535 || // Lo  [27] HANGUL SYLLABLE JWEG..HANGUL SYLLABLE JWEH
        51537 <= code && code <= 51563 || // Lo  [27] HANGUL SYLLABLE JWIG..HANGUL SYLLABLE JWIH
        51565 <= code && code <= 51591 || // Lo  [27] HANGUL SYLLABLE JYUG..HANGUL SYLLABLE JYUH
        51593 <= code && code <= 51619 || // Lo  [27] HANGUL SYLLABLE JEUG..HANGUL SYLLABLE JEUH
        51621 <= code && code <= 51647 || // Lo  [27] HANGUL SYLLABLE JYIG..HANGUL SYLLABLE JYIH
        51649 <= code && code <= 51675 || // Lo  [27] HANGUL SYLLABLE JIG..HANGUL SYLLABLE JIH
        51677 <= code && code <= 51703 || // Lo  [27] HANGUL SYLLABLE JJAG..HANGUL SYLLABLE JJAH
        51705 <= code && code <= 51731 || // Lo  [27] HANGUL SYLLABLE JJAEG..HANGUL SYLLABLE JJAEH
        51733 <= code && code <= 51759 || // Lo  [27] HANGUL SYLLABLE JJYAG..HANGUL SYLLABLE JJYAH
        51761 <= code && code <= 51787 || // Lo  [27] HANGUL SYLLABLE JJYAEG..HANGUL SYLLABLE JJYAEH
        51789 <= code && code <= 51815 || // Lo  [27] HANGUL SYLLABLE JJEOG..HANGUL SYLLABLE JJEOH
        51817 <= code && code <= 51843 || // Lo  [27] HANGUL SYLLABLE JJEG..HANGUL SYLLABLE JJEH
        51845 <= code && code <= 51871 || // Lo  [27] HANGUL SYLLABLE JJYEOG..HANGUL SYLLABLE JJYEOH
        51873 <= code && code <= 51899 || // Lo  [27] HANGUL SYLLABLE JJYEG..HANGUL SYLLABLE JJYEH
        51901 <= code && code <= 51927 || // Lo  [27] HANGUL SYLLABLE JJOG..HANGUL SYLLABLE JJOH
        51929 <= code && code <= 51955 || // Lo  [27] HANGUL SYLLABLE JJWAG..HANGUL SYLLABLE JJWAH
        51957 <= code && code <= 51983 || // Lo  [27] HANGUL SYLLABLE JJWAEG..HANGUL SYLLABLE JJWAEH
        51985 <= code && code <= 52011 || // Lo  [27] HANGUL SYLLABLE JJOEG..HANGUL SYLLABLE JJOEH
        52013 <= code && code <= 52039 || // Lo  [27] HANGUL SYLLABLE JJYOG..HANGUL SYLLABLE JJYOH
        52041 <= code && code <= 52067 || // Lo  [27] HANGUL SYLLABLE JJUG..HANGUL SYLLABLE JJUH
        52069 <= code && code <= 52095 || // Lo  [27] HANGUL SYLLABLE JJWEOG..HANGUL SYLLABLE JJWEOH
        52097 <= code && code <= 52123 || // Lo  [27] HANGUL SYLLABLE JJWEG..HANGUL SYLLABLE JJWEH
        52125 <= code && code <= 52151 || // Lo  [27] HANGUL SYLLABLE JJWIG..HANGUL SYLLABLE JJWIH
        52153 <= code && code <= 52179 || // Lo  [27] HANGUL SYLLABLE JJYUG..HANGUL SYLLABLE JJYUH
        52181 <= code && code <= 52207 || // Lo  [27] HANGUL SYLLABLE JJEUG..HANGUL SYLLABLE JJEUH
        52209 <= code && code <= 52235 || // Lo  [27] HANGUL SYLLABLE JJYIG..HANGUL SYLLABLE JJYIH
        52237 <= code && code <= 52263 || // Lo  [27] HANGUL SYLLABLE JJIG..HANGUL SYLLABLE JJIH
        52265 <= code && code <= 52291 || // Lo  [27] HANGUL SYLLABLE CAG..HANGUL SYLLABLE CAH
        52293 <= code && code <= 52319 || // Lo  [27] HANGUL SYLLABLE CAEG..HANGUL SYLLABLE CAEH
        52321 <= code && code <= 52347 || // Lo  [27] HANGUL SYLLABLE CYAG..HANGUL SYLLABLE CYAH
        52349 <= code && code <= 52375 || // Lo  [27] HANGUL SYLLABLE CYAEG..HANGUL SYLLABLE CYAEH
        52377 <= code && code <= 52403 || // Lo  [27] HANGUL SYLLABLE CEOG..HANGUL SYLLABLE CEOH
        52405 <= code && code <= 52431 || // Lo  [27] HANGUL SYLLABLE CEG..HANGUL SYLLABLE CEH
        52433 <= code && code <= 52459 || // Lo  [27] HANGUL SYLLABLE CYEOG..HANGUL SYLLABLE CYEOH
        52461 <= code && code <= 52487 || // Lo  [27] HANGUL SYLLABLE CYEG..HANGUL SYLLABLE CYEH
        52489 <= code && code <= 52515 || // Lo  [27] HANGUL SYLLABLE COG..HANGUL SYLLABLE COH
        52517 <= code && code <= 52543 || // Lo  [27] HANGUL SYLLABLE CWAG..HANGUL SYLLABLE CWAH
        52545 <= code && code <= 52571 || // Lo  [27] HANGUL SYLLABLE CWAEG..HANGUL SYLLABLE CWAEH
        52573 <= code && code <= 52599 || // Lo  [27] HANGUL SYLLABLE COEG..HANGUL SYLLABLE COEH
        52601 <= code && code <= 52627 || // Lo  [27] HANGUL SYLLABLE CYOG..HANGUL SYLLABLE CYOH
        52629 <= code && code <= 52655 || // Lo  [27] HANGUL SYLLABLE CUG..HANGUL SYLLABLE CUH
        52657 <= code && code <= 52683 || // Lo  [27] HANGUL SYLLABLE CWEOG..HANGUL SYLLABLE CWEOH
        52685 <= code && code <= 52711 || // Lo  [27] HANGUL SYLLABLE CWEG..HANGUL SYLLABLE CWEH
        52713 <= code && code <= 52739 || // Lo  [27] HANGUL SYLLABLE CWIG..HANGUL SYLLABLE CWIH
        52741 <= code && code <= 52767 || // Lo  [27] HANGUL SYLLABLE CYUG..HANGUL SYLLABLE CYUH
        52769 <= code && code <= 52795 || // Lo  [27] HANGUL SYLLABLE CEUG..HANGUL SYLLABLE CEUH
        52797 <= code && code <= 52823 || // Lo  [27] HANGUL SYLLABLE CYIG..HANGUL SYLLABLE CYIH
        52825 <= code && code <= 52851 || // Lo  [27] HANGUL SYLLABLE CIG..HANGUL SYLLABLE CIH
        52853 <= code && code <= 52879 || // Lo  [27] HANGUL SYLLABLE KAG..HANGUL SYLLABLE KAH
        52881 <= code && code <= 52907 || // Lo  [27] HANGUL SYLLABLE KAEG..HANGUL SYLLABLE KAEH
        52909 <= code && code <= 52935 || // Lo  [27] HANGUL SYLLABLE KYAG..HANGUL SYLLABLE KYAH
        52937 <= code && code <= 52963 || // Lo  [27] HANGUL SYLLABLE KYAEG..HANGUL SYLLABLE KYAEH
        52965 <= code && code <= 52991 || // Lo  [27] HANGUL SYLLABLE KEOG..HANGUL SYLLABLE KEOH
        52993 <= code && code <= 53019 || // Lo  [27] HANGUL SYLLABLE KEG..HANGUL SYLLABLE KEH
        53021 <= code && code <= 53047 || // Lo  [27] HANGUL SYLLABLE KYEOG..HANGUL SYLLABLE KYEOH
        53049 <= code && code <= 53075 || // Lo  [27] HANGUL SYLLABLE KYEG..HANGUL SYLLABLE KYEH
        53077 <= code && code <= 53103 || // Lo  [27] HANGUL SYLLABLE KOG..HANGUL SYLLABLE KOH
        53105 <= code && code <= 53131 || // Lo  [27] HANGUL SYLLABLE KWAG..HANGUL SYLLABLE KWAH
        53133 <= code && code <= 53159 || // Lo  [27] HANGUL SYLLABLE KWAEG..HANGUL SYLLABLE KWAEH
        53161 <= code && code <= 53187 || // Lo  [27] HANGUL SYLLABLE KOEG..HANGUL SYLLABLE KOEH
        53189 <= code && code <= 53215 || // Lo  [27] HANGUL SYLLABLE KYOG..HANGUL SYLLABLE KYOH
        53217 <= code && code <= 53243 || // Lo  [27] HANGUL SYLLABLE KUG..HANGUL SYLLABLE KUH
        53245 <= code && code <= 53271 || // Lo  [27] HANGUL SYLLABLE KWEOG..HANGUL SYLLABLE KWEOH
        53273 <= code && code <= 53299 || // Lo  [27] HANGUL SYLLABLE KWEG..HANGUL SYLLABLE KWEH
        53301 <= code && code <= 53327 || // Lo  [27] HANGUL SYLLABLE KWIG..HANGUL SYLLABLE KWIH
        53329 <= code && code <= 53355 || // Lo  [27] HANGUL SYLLABLE KYUG..HANGUL SYLLABLE KYUH
        53357 <= code && code <= 53383 || // Lo  [27] HANGUL SYLLABLE KEUG..HANGUL SYLLABLE KEUH
        53385 <= code && code <= 53411 || // Lo  [27] HANGUL SYLLABLE KYIG..HANGUL SYLLABLE KYIH
        53413 <= code && code <= 53439 || // Lo  [27] HANGUL SYLLABLE KIG..HANGUL SYLLABLE KIH
        53441 <= code && code <= 53467 || // Lo  [27] HANGUL SYLLABLE TAG..HANGUL SYLLABLE TAH
        53469 <= code && code <= 53495 || // Lo  [27] HANGUL SYLLABLE TAEG..HANGUL SYLLABLE TAEH
        53497 <= code && code <= 53523 || // Lo  [27] HANGUL SYLLABLE TYAG..HANGUL SYLLABLE TYAH
        53525 <= code && code <= 53551 || // Lo  [27] HANGUL SYLLABLE TYAEG..HANGUL SYLLABLE TYAEH
        53553 <= code && code <= 53579 || // Lo  [27] HANGUL SYLLABLE TEOG..HANGUL SYLLABLE TEOH
        53581 <= code && code <= 53607 || // Lo  [27] HANGUL SYLLABLE TEG..HANGUL SYLLABLE TEH
        53609 <= code && code <= 53635 || // Lo  [27] HANGUL SYLLABLE TYEOG..HANGUL SYLLABLE TYEOH
        53637 <= code && code <= 53663 || // Lo  [27] HANGUL SYLLABLE TYEG..HANGUL SYLLABLE TYEH
        53665 <= code && code <= 53691 || // Lo  [27] HANGUL SYLLABLE TOG..HANGUL SYLLABLE TOH
        53693 <= code && code <= 53719 || // Lo  [27] HANGUL SYLLABLE TWAG..HANGUL SYLLABLE TWAH
        53721 <= code && code <= 53747 || // Lo  [27] HANGUL SYLLABLE TWAEG..HANGUL SYLLABLE TWAEH
        53749 <= code && code <= 53775 || // Lo  [27] HANGUL SYLLABLE TOEG..HANGUL SYLLABLE TOEH
        53777 <= code && code <= 53803 || // Lo  [27] HANGUL SYLLABLE TYOG..HANGUL SYLLABLE TYOH
        53805 <= code && code <= 53831 || // Lo  [27] HANGUL SYLLABLE TUG..HANGUL SYLLABLE TUH
        53833 <= code && code <= 53859 || // Lo  [27] HANGUL SYLLABLE TWEOG..HANGUL SYLLABLE TWEOH
        53861 <= code && code <= 53887 || // Lo  [27] HANGUL SYLLABLE TWEG..HANGUL SYLLABLE TWEH
        53889 <= code && code <= 53915 || // Lo  [27] HANGUL SYLLABLE TWIG..HANGUL SYLLABLE TWIH
        53917 <= code && code <= 53943 || // Lo  [27] HANGUL SYLLABLE TYUG..HANGUL SYLLABLE TYUH
        53945 <= code && code <= 53971 || // Lo  [27] HANGUL SYLLABLE TEUG..HANGUL SYLLABLE TEUH
        53973 <= code && code <= 53999 || // Lo  [27] HANGUL SYLLABLE TYIG..HANGUL SYLLABLE TYIH
        54001 <= code && code <= 54027 || // Lo  [27] HANGUL SYLLABLE TIG..HANGUL SYLLABLE TIH
        54029 <= code && code <= 54055 || // Lo  [27] HANGUL SYLLABLE PAG..HANGUL SYLLABLE PAH
        54057 <= code && code <= 54083 || // Lo  [27] HANGUL SYLLABLE PAEG..HANGUL SYLLABLE PAEH
        54085 <= code && code <= 54111 || // Lo  [27] HANGUL SYLLABLE PYAG..HANGUL SYLLABLE PYAH
        54113 <= code && code <= 54139 || // Lo  [27] HANGUL SYLLABLE PYAEG..HANGUL SYLLABLE PYAEH
        54141 <= code && code <= 54167 || // Lo  [27] HANGUL SYLLABLE PEOG..HANGUL SYLLABLE PEOH
        54169 <= code && code <= 54195 || // Lo  [27] HANGUL SYLLABLE PEG..HANGUL SYLLABLE PEH
        54197 <= code && code <= 54223 || // Lo  [27] HANGUL SYLLABLE PYEOG..HANGUL SYLLABLE PYEOH
        54225 <= code && code <= 54251 || // Lo  [27] HANGUL SYLLABLE PYEG..HANGUL SYLLABLE PYEH
        54253 <= code && code <= 54279 || // Lo  [27] HANGUL SYLLABLE POG..HANGUL SYLLABLE POH
        54281 <= code && code <= 54307 || // Lo  [27] HANGUL SYLLABLE PWAG..HANGUL SYLLABLE PWAH
        54309 <= code && code <= 54335 || // Lo  [27] HANGUL SYLLABLE PWAEG..HANGUL SYLLABLE PWAEH
        54337 <= code && code <= 54363 || // Lo  [27] HANGUL SYLLABLE POEG..HANGUL SYLLABLE POEH
        54365 <= code && code <= 54391 || // Lo  [27] HANGUL SYLLABLE PYOG..HANGUL SYLLABLE PYOH
        54393 <= code && code <= 54419 || // Lo  [27] HANGUL SYLLABLE PUG..HANGUL SYLLABLE PUH
        54421 <= code && code <= 54447 || // Lo  [27] HANGUL SYLLABLE PWEOG..HANGUL SYLLABLE PWEOH
        54449 <= code && code <= 54475 || // Lo  [27] HANGUL SYLLABLE PWEG..HANGUL SYLLABLE PWEH
        54477 <= code && code <= 54503 || // Lo  [27] HANGUL SYLLABLE PWIG..HANGUL SYLLABLE PWIH
        54505 <= code && code <= 54531 || // Lo  [27] HANGUL SYLLABLE PYUG..HANGUL SYLLABLE PYUH
        54533 <= code && code <= 54559 || // Lo  [27] HANGUL SYLLABLE PEUG..HANGUL SYLLABLE PEUH
        54561 <= code && code <= 54587 || // Lo  [27] HANGUL SYLLABLE PYIG..HANGUL SYLLABLE PYIH
        54589 <= code && code <= 54615 || // Lo  [27] HANGUL SYLLABLE PIG..HANGUL SYLLABLE PIH
        54617 <= code && code <= 54643 || // Lo  [27] HANGUL SYLLABLE HAG..HANGUL SYLLABLE HAH
        54645 <= code && code <= 54671 || // Lo  [27] HANGUL SYLLABLE HAEG..HANGUL SYLLABLE HAEH
        54673 <= code && code <= 54699 || // Lo  [27] HANGUL SYLLABLE HYAG..HANGUL SYLLABLE HYAH
        54701 <= code && code <= 54727 || // Lo  [27] HANGUL SYLLABLE HYAEG..HANGUL SYLLABLE HYAEH
        54729 <= code && code <= 54755 || // Lo  [27] HANGUL SYLLABLE HEOG..HANGUL SYLLABLE HEOH
        54757 <= code && code <= 54783 || // Lo  [27] HANGUL SYLLABLE HEG..HANGUL SYLLABLE HEH
        54785 <= code && code <= 54811 || // Lo  [27] HANGUL SYLLABLE HYEOG..HANGUL SYLLABLE HYEOH
        54813 <= code && code <= 54839 || // Lo  [27] HANGUL SYLLABLE HYEG..HANGUL SYLLABLE HYEH
        54841 <= code && code <= 54867 || // Lo  [27] HANGUL SYLLABLE HOG..HANGUL SYLLABLE HOH
        54869 <= code && code <= 54895 || // Lo  [27] HANGUL SYLLABLE HWAG..HANGUL SYLLABLE HWAH
        54897 <= code && code <= 54923 || // Lo  [27] HANGUL SYLLABLE HWAEG..HANGUL SYLLABLE HWAEH
        54925 <= code && code <= 54951 || // Lo  [27] HANGUL SYLLABLE HOEG..HANGUL SYLLABLE HOEH
        54953 <= code && code <= 54979 || // Lo  [27] HANGUL SYLLABLE HYOG..HANGUL SYLLABLE HYOH
        54981 <= code && code <= 55007 || // Lo  [27] HANGUL SYLLABLE HUG..HANGUL SYLLABLE HUH
        55009 <= code && code <= 55035 || // Lo  [27] HANGUL SYLLABLE HWEOG..HANGUL SYLLABLE HWEOH
        55037 <= code && code <= 55063 || // Lo  [27] HANGUL SYLLABLE HWEG..HANGUL SYLLABLE HWEH
        55065 <= code && code <= 55091 || // Lo  [27] HANGUL SYLLABLE HWIG..HANGUL SYLLABLE HWIH
        55093 <= code && code <= 55119 || // Lo  [27] HANGUL SYLLABLE HYUG..HANGUL SYLLABLE HYUH
        55121 <= code && code <= 55147 || // Lo  [27] HANGUL SYLLABLE HEUG..HANGUL SYLLABLE HEUH
        55149 <= code && code <= 55175 || // Lo  [27] HANGUL SYLLABLE HYIG..HANGUL SYLLABLE HYIH
        55177 <= code && code <= 55203) {
          return LVT;
        }
        if (9757 == code || // So       WHITE UP POINTING INDEX
        9977 == code || // So       PERSON WITH BALL
        9994 <= code && code <= 9997 || // So   [4] RAISED FIST..WRITING HAND
        127877 == code || // So       FATHER CHRISTMAS
        127938 <= code && code <= 127940 || // So   [3] SNOWBOARDER..SURFER
        127943 == code || // So       HORSE RACING
        127946 <= code && code <= 127948 || // So   [3] SWIMMER..GOLFER
        128066 <= code && code <= 128067 || // So   [2] EAR..NOSE
        128070 <= code && code <= 128080 || // So  [11] WHITE UP POINTING BACKHAND INDEX..OPEN HANDS SIGN
        128110 == code || // So       POLICE OFFICER
        128112 <= code && code <= 128120 || // So   [9] BRIDE WITH VEIL..PRINCESS
        128124 == code || // So       BABY ANGEL
        128129 <= code && code <= 128131 || // So   [3] INFORMATION DESK PERSON..DANCER
        128133 <= code && code <= 128135 || // So   [3] NAIL POLISH..HAIRCUT
        128170 == code || // So       FLEXED BICEPS
        128372 <= code && code <= 128373 || // So   [2] MAN IN BUSINESS SUIT LEVITATING..SLEUTH OR SPY
        128378 == code || // So       MAN DANCING
        128400 == code || // So       RAISED HAND WITH FINGERS SPLAYED
        128405 <= code && code <= 128406 || // So   [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
        128581 <= code && code <= 128583 || // So   [3] FACE WITH NO GOOD GESTURE..PERSON BOWING DEEPLY
        128587 <= code && code <= 128591 || // So   [5] HAPPY PERSON RAISING ONE HAND..PERSON WITH FOLDED HANDS
        128675 == code || // So       ROWBOAT
        128692 <= code && code <= 128694 || // So   [3] BICYCLIST..PEDESTRIAN
        128704 == code || // So       BATH
        128716 == code || // So       SLEEPING ACCOMMODATION
        129304 <= code && code <= 129308 || // So   [5] SIGN OF THE HORNS..RIGHT-FACING FIST
        129310 <= code && code <= 129311 || // So   [2] HAND WITH INDEX AND MIDDLE FINGERS CROSSED..I LOVE YOU HAND SIGN
        129318 == code || // So       FACE PALM
        129328 <= code && code <= 129337 || // So  [10] PREGNANT WOMAN..JUGGLING
        129341 <= code && code <= 129342 || // So   [2] WATER POLO..HANDBALL
        129489 <= code && code <= 129501) {
          return E_Base;
        }
        if (127995 <= code && code <= 127999) {
          return E_Modifier;
        }
        if (8205 == code) {
          return ZWJ;
        }
        if (9792 == code || // So       FEMALE SIGN
        9794 == code || // So       MALE SIGN
        9877 <= code && code <= 9878 || // So   [2] STAFF OF AESCULAPIUS..SCALES
        9992 == code || // So       AIRPLANE
        10084 == code || // So       HEAVY BLACK HEART
        127752 == code || // So       RAINBOW
        127806 == code || // So       EAR OF RICE
        127859 == code || // So       COOKING
        127891 == code || // So       GRADUATION CAP
        127908 == code || // So       MICROPHONE
        127912 == code || // So       ARTIST PALETTE
        127979 == code || // So       SCHOOL
        127981 == code || // So       FACTORY
        128139 == code || // So       KISS MARK
        128187 <= code && code <= 128188 || // So   [2] PERSONAL COMPUTER..BRIEFCASE
        128295 == code || // So       WRENCH
        128300 == code || // So       MICROSCOPE
        128488 == code || // So       LEFT SPEECH BUBBLE
        128640 == code || // So       ROCKET
        128658 == code) {
          return Glue_After_Zwj;
        }
        if (128102 <= code && code <= 128105) {
          return E_Base_GAZ;
        }
        return Other;
      }
      return this;
    }
    if (typeof module2 != "undefined" && module2.exports) {
      module2.exports = GraphemeSplitter;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+slice-ansi@1.1.2/node_modules/@pnpm/slice-ansi/index.js
var require_slice_ansi3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+slice-ansi@1.1.2/node_modules/@pnpm/slice-ansi/index.js"(exports2, module2) {
    var ANSI_SEQUENCE = /^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/;
    var splitGraphemes;
    function getSplitter() {
      if (splitGraphemes)
        return splitGraphemes;
      const GraphemeSplitter = require_grapheme_splitter();
      const splitter = new GraphemeSplitter();
      return splitGraphemes = (text) => splitter.splitGraphemes(text);
    }
    module2.exports = (orig, at = 0, until = orig.length) => {
      if (at < 0 || until < 0)
        throw new RangeError(`Negative indices aren't supported by this implementation`);
      const length = until - at;
      let output = ``;
      let skipped = 0;
      let visible = 0;
      while (orig.length > 0) {
        const lookup = orig.match(ANSI_SEQUENCE) || [orig, orig, void 0];
        let graphemes = getSplitter()(lookup[1]);
        const skipping = Math.min(at - skipped, graphemes.length);
        graphemes = graphemes.slice(skipping);
        const displaying = Math.min(length - visible, graphemes.length);
        output += graphemes.slice(0, displaying).join(``);
        skipped += skipping;
        visible += displaying;
        if (typeof lookup[2] !== `undefined`)
          output += lookup[2];
        orig = orig.slice(lookup[0].length);
      }
      return output;
    };
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/getBorderCharacters.js
var require_getBorderCharacters2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/getBorderCharacters.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getBorderCharacters = void 0;
    var getBorderCharacters = (name) => {
      if (name === "honeywell") {
        return {
          topBody: "\u2550",
          topJoin: "\u2564",
          topLeft: "\u2554",
          topRight: "\u2557",
          bottomBody: "\u2550",
          bottomJoin: "\u2567",
          bottomLeft: "\u255A",
          bottomRight: "\u255D",
          bodyLeft: "\u2551",
          bodyRight: "\u2551",
          bodyJoin: "\u2502",
          headerJoin: "\u252C",
          joinBody: "\u2500",
          joinLeft: "\u255F",
          joinRight: "\u2562",
          joinJoin: "\u253C",
          joinMiddleDown: "\u252C",
          joinMiddleUp: "\u2534",
          joinMiddleLeft: "\u2524",
          joinMiddleRight: "\u251C"
        };
      }
      if (name === "norc") {
        return {
          topBody: "\u2500",
          topJoin: "\u252C",
          topLeft: "\u250C",
          topRight: "\u2510",
          bottomBody: "\u2500",
          bottomJoin: "\u2534",
          bottomLeft: "\u2514",
          bottomRight: "\u2518",
          bodyLeft: "\u2502",
          bodyRight: "\u2502",
          bodyJoin: "\u2502",
          headerJoin: "\u252C",
          joinBody: "\u2500",
          joinLeft: "\u251C",
          joinRight: "\u2524",
          joinJoin: "\u253C",
          joinMiddleDown: "\u252C",
          joinMiddleUp: "\u2534",
          joinMiddleLeft: "\u2524",
          joinMiddleRight: "\u251C"
        };
      }
      if (name === "ramac") {
        return {
          topBody: "-",
          topJoin: "+",
          topLeft: "+",
          topRight: "+",
          bottomBody: "-",
          bottomJoin: "+",
          bottomLeft: "+",
          bottomRight: "+",
          bodyLeft: "|",
          bodyRight: "|",
          bodyJoin: "|",
          headerJoin: "+",
          joinBody: "-",
          joinLeft: "|",
          joinRight: "|",
          joinJoin: "|",
          joinMiddleDown: "+",
          joinMiddleUp: "+",
          joinMiddleLeft: "+",
          joinMiddleRight: "+"
        };
      }
      if (name === "void") {
        return {
          topBody: "",
          topJoin: "",
          topLeft: "",
          topRight: "",
          bottomBody: "",
          bottomJoin: "",
          bottomLeft: "",
          bottomRight: "",
          bodyLeft: "",
          bodyRight: "",
          bodyJoin: "",
          headerJoin: "",
          joinBody: "",
          joinLeft: "",
          joinRight: "",
          joinJoin: "",
          joinMiddleDown: "",
          joinMiddleUp: "",
          joinMiddleLeft: "",
          joinMiddleRight: ""
        };
      }
      throw new Error('Unknown border template "' + name + '".');
    };
    exports2.getBorderCharacters = getBorderCharacters;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/utils.js
var require_utils15 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/utils.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isCellInRange = exports2.areCellEqual = exports2.calculateRangeCoordinate = exports2.findOriginalRowIndex = exports2.flatten = exports2.extractTruncates = exports2.sumArray = exports2.sequence = exports2.distributeUnevenly = exports2.countSpaceSequence = exports2.groupBySizes = exports2.makeBorderConfig = exports2.splitAnsi = exports2.normalizeString = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi3());
    var string_width_1 = __importDefault2(require_string_width());
    var strip_ansi_1 = __importDefault2(require_strip_ansi());
    var getBorderCharacters_1 = require_getBorderCharacters2();
    var normalizeString = (input) => {
      return input.replace(/\r\n/g, "\n");
    };
    exports2.normalizeString = normalizeString;
    var splitAnsi = (input) => {
      const lengths = (0, strip_ansi_1.default)(input).split("\n").map(string_width_1.default);
      const result2 = [];
      let startIndex = 0;
      lengths.forEach((length) => {
        result2.push(length === 0 ? "" : (0, slice_ansi_1.default)(input, startIndex, startIndex + length));
        startIndex += length + 1;
      });
      return result2;
    };
    exports2.splitAnsi = splitAnsi;
    var makeBorderConfig = (border) => {
      return {
        ...(0, getBorderCharacters_1.getBorderCharacters)("honeywell"),
        ...border
      };
    };
    exports2.makeBorderConfig = makeBorderConfig;
    var groupBySizes = (array, sizes) => {
      let startIndex = 0;
      return sizes.map((size) => {
        const group = array.slice(startIndex, startIndex + size);
        startIndex += size;
        return group;
      });
    };
    exports2.groupBySizes = groupBySizes;
    var countSpaceSequence = (input) => {
      return input.match(/\s+/g)?.length ?? 0;
    };
    exports2.countSpaceSequence = countSpaceSequence;
    var distributeUnevenly = (sum, length) => {
      const result2 = Array.from({ length }).fill(Math.floor(sum / length));
      return result2.map((element, index) => {
        return element + (index < sum % length ? 1 : 0);
      });
    };
    exports2.distributeUnevenly = distributeUnevenly;
    var sequence = (start, end) => {
      return Array.from({ length: end - start + 1 }, (_, index) => {
        return index + start;
      });
    };
    exports2.sequence = sequence;
    var sumArray = (array) => {
      return array.reduce((accumulator, element) => {
        return accumulator + element;
      }, 0);
    };
    exports2.sumArray = sumArray;
    var extractTruncates = (config) => {
      return config.columns.map(({ truncate }) => {
        return truncate;
      });
    };
    exports2.extractTruncates = extractTruncates;
    var flatten = (array) => {
      return [].concat(...array);
    };
    exports2.flatten = flatten;
    var findOriginalRowIndex = (mappedRowHeights, mappedRowIndex) => {
      const rowIndexMapping = (0, exports2.flatten)(mappedRowHeights.map((height, index) => {
        return Array.from({ length: height }, () => {
          return index;
        });
      }));
      return rowIndexMapping[mappedRowIndex];
    };
    exports2.findOriginalRowIndex = findOriginalRowIndex;
    var calculateRangeCoordinate = (spanningCellConfig) => {
      const { row, col, colSpan = 1, rowSpan = 1 } = spanningCellConfig;
      return {
        bottomRight: {
          col: col + colSpan - 1,
          row: row + rowSpan - 1
        },
        topLeft: {
          col,
          row
        }
      };
    };
    exports2.calculateRangeCoordinate = calculateRangeCoordinate;
    var areCellEqual = (cell1, cell2) => {
      return cell1.row === cell2.row && cell1.col === cell2.col;
    };
    exports2.areCellEqual = areCellEqual;
    var isCellInRange = (cell, { topLeft, bottomRight }) => {
      return topLeft.row <= cell.row && cell.row <= bottomRight.row && topLeft.col <= cell.col && cell.col <= bottomRight.col;
    };
    exports2.isCellInRange = isCellInRange;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignString.js
var require_alignString2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignString.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignString = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var utils_1 = require_utils15();
    var alignLeft = (subject, width) => {
      return subject + " ".repeat(width);
    };
    var alignRight = (subject, width) => {
      return " ".repeat(width) + subject;
    };
    var alignCenter = (subject, width) => {
      return " ".repeat(Math.floor(width / 2)) + subject + " ".repeat(Math.ceil(width / 2));
    };
    var alignJustify = (subject, width) => {
      const spaceSequenceCount = (0, utils_1.countSpaceSequence)(subject);
      if (spaceSequenceCount === 0) {
        return alignLeft(subject, width);
      }
      const addingSpaces = (0, utils_1.distributeUnevenly)(width, spaceSequenceCount);
      if (Math.max(...addingSpaces) > 3) {
        return alignLeft(subject, width);
      }
      let spaceSequenceIndex = 0;
      return subject.replace(/\s+/g, (groupSpace) => {
        return groupSpace + " ".repeat(addingSpaces[spaceSequenceIndex++]);
      });
    };
    var alignString = (subject, containerWidth, alignment) => {
      const subjectWidth = (0, string_width_1.default)(subject);
      if (subjectWidth === containerWidth) {
        return subject;
      }
      if (subjectWidth > containerWidth) {
        throw new Error("Subject parameter value width cannot be greater than the container width.");
      }
      if (subjectWidth === 0) {
        return " ".repeat(containerWidth);
      }
      const availableWidth = containerWidth - subjectWidth;
      if (alignment === "left") {
        return alignLeft(subject, availableWidth);
      }
      if (alignment === "right") {
        return alignRight(subject, availableWidth);
      }
      if (alignment === "justify") {
        return alignJustify(subject, availableWidth);
      }
      return alignCenter(subject, availableWidth);
    };
    exports2.alignString = alignString;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignTableData.js
var require_alignTableData2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignTableData = void 0;
    var alignString_1 = require_alignString2();
    var alignTableData = (rows, config) => {
      return rows.map((row, rowIndex) => {
        return row.map((cell, cellIndex) => {
          const { width, alignment } = config.columns[cellIndex];
          const containingRange = config.spanningCellManager?.getContainingRange({
            col: cellIndex,
            row: rowIndex
          }, { mapped: true });
          if (containingRange) {
            return cell;
          }
          return (0, alignString_1.alignString)(cell, width, alignment);
        });
      });
    };
    exports2.alignTableData = alignTableData;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapString.js
var require_wrapString2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapString.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapString = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi3());
    var string_width_1 = __importDefault2(require_string_width());
    var wrapString = (subject, size) => {
      let subjectSlice = subject;
      const chunks = [];
      do {
        chunks.push((0, slice_ansi_1.default)(subjectSlice, 0, size));
        subjectSlice = (0, slice_ansi_1.default)(subjectSlice, size).trim();
      } while ((0, string_width_1.default)(subjectSlice));
      return chunks;
    };
    exports2.wrapString = wrapString;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapWord.js
var require_wrapWord2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapWord.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapWord = void 0;
    var slice_ansi_1 = __importDefault2(require_slice_ansi3());
    var strip_ansi_1 = __importDefault2(require_strip_ansi());
    var calculateStringLengths = (input, size) => {
      let subject = (0, strip_ansi_1.default)(input);
      const chunks = [];
      const re = new RegExp("(^.{1," + String(Math.max(size, 1)) + "}(\\s+|$))|(^.{1," + String(Math.max(size - 1, 1)) + "}(\\\\|/|_|\\.|,|;|-))");
      do {
        let chunk;
        const match = re.exec(subject);
        if (match) {
          chunk = match[0];
          subject = subject.slice(chunk.length);
          const trimmedLength = chunk.trim().length;
          const offset = chunk.length - trimmedLength;
          chunks.push([trimmedLength, offset]);
        } else {
          chunk = subject.slice(0, size);
          subject = subject.slice(size);
          chunks.push([chunk.length, 0]);
        }
      } while (subject.length);
      return chunks;
    };
    var wrapWord = (input, size) => {
      const result2 = [];
      let startIndex = 0;
      calculateStringLengths(input, size).forEach(([length, offset]) => {
        result2.push((0, slice_ansi_1.default)(input, startIndex, startIndex + length));
        startIndex += length + offset;
      });
      return result2;
    };
    exports2.wrapWord = wrapWord;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapCell.js
var require_wrapCell2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/wrapCell.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wrapCell = void 0;
    var utils_1 = require_utils15();
    var wrapString_1 = require_wrapString2();
    var wrapWord_1 = require_wrapWord2();
    var wrapCell = (cellValue, cellWidth, useWrapWord) => {
      const cellLines = (0, utils_1.splitAnsi)(cellValue);
      for (let lineNr = 0; lineNr < cellLines.length; ) {
        let lineChunks;
        if (useWrapWord) {
          lineChunks = (0, wrapWord_1.wrapWord)(cellLines[lineNr], cellWidth);
        } else {
          lineChunks = (0, wrapString_1.wrapString)(cellLines[lineNr], cellWidth);
        }
        cellLines.splice(lineNr, 1, ...lineChunks);
        lineNr += lineChunks.length;
      }
      return cellLines;
    };
    exports2.wrapCell = wrapCell;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateCellHeight.js
var require_calculateCellHeight2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateCellHeight.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateCellHeight = void 0;
    var wrapCell_1 = require_wrapCell2();
    var calculateCellHeight = (value, columnWidth, useWrapWord = false) => {
      return (0, wrapCell_1.wrapCell)(value, columnWidth, useWrapWord).length;
    };
    exports2.calculateCellHeight = calculateCellHeight;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateRowHeights.js
var require_calculateRowHeights2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateRowHeights.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateRowHeights = void 0;
    var calculateCellHeight_1 = require_calculateCellHeight2();
    var utils_1 = require_utils15();
    var calculateRowHeights = (rows, config) => {
      const rowHeights = [];
      for (const [rowIndex, row] of rows.entries()) {
        let rowHeight = 1;
        row.forEach((cell, cellIndex) => {
          const containingRange = config.spanningCellManager?.getContainingRange({
            col: cellIndex,
            row: rowIndex
          });
          if (!containingRange) {
            const cellHeight = (0, calculateCellHeight_1.calculateCellHeight)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord);
            rowHeight = Math.max(rowHeight, cellHeight);
            return;
          }
          const { topLeft, bottomRight, height } = containingRange;
          if (rowIndex === bottomRight.row) {
            const totalOccupiedSpanningCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row));
            const totalHorizontalBorderHeight = bottomRight.row - topLeft.row;
            const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
              return !config.drawHorizontalLine?.(horizontalBorderIndex, rows.length);
            }).length;
            const cellHeight = height - totalOccupiedSpanningCellHeight - totalHorizontalBorderHeight + totalHiddenHorizontalBorderHeight;
            rowHeight = Math.max(rowHeight, cellHeight);
          }
        });
        rowHeights.push(rowHeight);
      }
      return rowHeights;
    };
    exports2.calculateRowHeights = calculateRowHeights;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawContent.js
var require_drawContent2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawContent.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawContent = void 0;
    var drawContent = (parameters) => {
      const { contents, separatorGetter, drawSeparator, spanningCellManager, rowIndex, elementType } = parameters;
      const contentSize = contents.length;
      const result2 = [];
      if (drawSeparator(0, contentSize)) {
        result2.push(separatorGetter(0, contentSize));
      }
      contents.forEach((content, contentIndex) => {
        if (!elementType || elementType === "border" || elementType === "row") {
          result2.push(content);
        }
        if (elementType === "cell" && rowIndex === void 0) {
          result2.push(content);
        }
        if (elementType === "cell" && rowIndex !== void 0) {
          const containingRange = spanningCellManager?.getContainingRange({
            col: contentIndex,
            row: rowIndex
          });
          if (!containingRange || contentIndex === containingRange.topLeft.col) {
            result2.push(content);
          }
        }
        if (contentIndex + 1 < contentSize && drawSeparator(contentIndex + 1, contentSize)) {
          const separator = separatorGetter(contentIndex + 1, contentSize);
          if (elementType === "cell" && rowIndex !== void 0) {
            const currentCell = {
              col: contentIndex + 1,
              row: rowIndex
            };
            const containingRange = spanningCellManager?.getContainingRange(currentCell);
            if (!containingRange || containingRange.topLeft.col === currentCell.col) {
              result2.push(separator);
            }
          } else {
            result2.push(separator);
          }
        }
      });
      if (drawSeparator(contentSize, contentSize)) {
        result2.push(separatorGetter(contentSize, contentSize));
      }
      return result2.join("");
    };
    exports2.drawContent = drawContent;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawBorder.js
var require_drawBorder2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawBorder.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createTableBorderGetter = exports2.drawBorderBottom = exports2.drawBorderJoin = exports2.drawBorderTop = exports2.drawBorder = exports2.createSeparatorGetter = exports2.drawBorderSegments = void 0;
    var drawContent_1 = require_drawContent2();
    var drawBorderSegments = (columnWidths, parameters) => {
      const { separator, horizontalBorderIndex, spanningCellManager } = parameters;
      return columnWidths.map((columnWidth, columnIndex) => {
        const normalSegment = separator.body.repeat(columnWidth);
        if (horizontalBorderIndex === void 0) {
          return normalSegment;
        }
        const range = spanningCellManager?.getContainingRange({
          col: columnIndex,
          row: horizontalBorderIndex
        });
        if (!range) {
          return normalSegment;
        }
        const { topLeft } = range;
        if (horizontalBorderIndex === topLeft.row) {
          return normalSegment;
        }
        if (columnIndex !== topLeft.col) {
          return "";
        }
        return range.extractBorderContent(horizontalBorderIndex);
      });
    };
    exports2.drawBorderSegments = drawBorderSegments;
    var createSeparatorGetter = (dependencies) => {
      const { separator, spanningCellManager, horizontalBorderIndex, rowCount } = dependencies;
      return (verticalBorderIndex, columnCount) => {
        const inSameRange = spanningCellManager?.inSameRange;
        if (horizontalBorderIndex !== void 0 && inSameRange) {
          const topCell = {
            col: verticalBorderIndex,
            row: horizontalBorderIndex - 1
          };
          const leftCell = {
            col: verticalBorderIndex - 1,
            row: horizontalBorderIndex
          };
          const oppositeCell = {
            col: verticalBorderIndex - 1,
            row: horizontalBorderIndex - 1
          };
          const currentCell = {
            col: verticalBorderIndex,
            row: horizontalBorderIndex
          };
          const pairs = [
            [oppositeCell, topCell],
            [topCell, currentCell],
            [currentCell, leftCell],
            [leftCell, oppositeCell]
          ];
          if (verticalBorderIndex === 0) {
            if (inSameRange(currentCell, topCell) && separator.bodyJoinOuter) {
              return separator.bodyJoinOuter;
            }
            return separator.left;
          }
          if (verticalBorderIndex === columnCount) {
            if (inSameRange(oppositeCell, leftCell) && separator.bodyJoinOuter) {
              return separator.bodyJoinOuter;
            }
            return separator.right;
          }
          if (horizontalBorderIndex === 0) {
            if (inSameRange(currentCell, leftCell)) {
              return separator.body;
            }
            return separator.join;
          }
          if (horizontalBorderIndex === rowCount) {
            if (inSameRange(topCell, oppositeCell)) {
              return separator.body;
            }
            return separator.join;
          }
          const sameRangeCount = pairs.map((pair) => {
            return inSameRange(...pair);
          }).filter(Boolean).length;
          if (sameRangeCount === 0) {
            return separator.join;
          }
          if (sameRangeCount === 4) {
            return "";
          }
          if (sameRangeCount === 2) {
            if (inSameRange(...pairs[1]) && inSameRange(...pairs[3]) && separator.bodyJoinInner) {
              return separator.bodyJoinInner;
            }
            return separator.body;
          }
          if (sameRangeCount === 1) {
            if (!separator.joinRight || !separator.joinLeft || !separator.joinUp || !separator.joinDown) {
              throw new Error(`Can not get border separator for position [${horizontalBorderIndex}, ${verticalBorderIndex}]`);
            }
            if (inSameRange(...pairs[0])) {
              return separator.joinDown;
            }
            if (inSameRange(...pairs[1])) {
              return separator.joinLeft;
            }
            if (inSameRange(...pairs[2])) {
              return separator.joinUp;
            }
            return separator.joinRight;
          }
          throw new Error("Invalid case");
        }
        if (verticalBorderIndex === 0) {
          return separator.left;
        }
        if (verticalBorderIndex === columnCount) {
          return separator.right;
        }
        return separator.join;
      };
    };
    exports2.createSeparatorGetter = createSeparatorGetter;
    var drawBorder = (columnWidths, parameters) => {
      const borderSegments = (0, exports2.drawBorderSegments)(columnWidths, parameters);
      const { drawVerticalLine, horizontalBorderIndex, spanningCellManager } = parameters;
      return (0, drawContent_1.drawContent)({
        contents: borderSegments,
        drawSeparator: drawVerticalLine,
        elementType: "border",
        rowIndex: horizontalBorderIndex,
        separatorGetter: (0, exports2.createSeparatorGetter)(parameters),
        spanningCellManager
      }) + "\n";
    };
    exports2.drawBorder = drawBorder;
    var drawBorderTop = (columnWidths, parameters) => {
      const { border } = parameters;
      const result2 = (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.topBody,
          join: border.topJoin,
          left: border.topLeft,
          right: border.topRight
        }
      });
      if (result2 === "\n") {
        return "";
      }
      return result2;
    };
    exports2.drawBorderTop = drawBorderTop;
    var drawBorderJoin = (columnWidths, parameters) => {
      const { border } = parameters;
      return (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.joinBody,
          bodyJoinInner: border.bodyJoin,
          bodyJoinOuter: border.bodyLeft,
          join: border.joinJoin,
          joinDown: border.joinMiddleDown,
          joinLeft: border.joinMiddleLeft,
          joinRight: border.joinMiddleRight,
          joinUp: border.joinMiddleUp,
          left: border.joinLeft,
          right: border.joinRight
        }
      });
    };
    exports2.drawBorderJoin = drawBorderJoin;
    var drawBorderBottom = (columnWidths, parameters) => {
      const { border } = parameters;
      return (0, exports2.drawBorder)(columnWidths, {
        ...parameters,
        separator: {
          body: border.bottomBody,
          join: border.bottomJoin,
          left: border.bottomLeft,
          right: border.bottomRight
        }
      });
    };
    exports2.drawBorderBottom = drawBorderBottom;
    var createTableBorderGetter = (columnWidths, parameters) => {
      return (index, size) => {
        const drawBorderParameters = {
          ...parameters,
          horizontalBorderIndex: index
        };
        if (index === 0) {
          return (0, exports2.drawBorderTop)(columnWidths, drawBorderParameters);
        } else if (index === size) {
          return (0, exports2.drawBorderBottom)(columnWidths, drawBorderParameters);
        }
        return (0, exports2.drawBorderJoin)(columnWidths, drawBorderParameters);
      };
    };
    exports2.createTableBorderGetter = createTableBorderGetter;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawRow.js
var require_drawRow2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawRow.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawRow = void 0;
    var drawContent_1 = require_drawContent2();
    var drawRow = (row, config) => {
      const { border, drawVerticalLine, rowIndex, spanningCellManager } = config;
      return (0, drawContent_1.drawContent)({
        contents: row,
        drawSeparator: drawVerticalLine,
        elementType: "cell",
        rowIndex,
        separatorGetter: (index, columnCount) => {
          if (index === 0) {
            return border.bodyLeft;
          }
          if (index === columnCount) {
            return border.bodyRight;
          }
          return border.bodyJoin;
        },
        spanningCellManager
      }) + "\n";
    };
    exports2.drawRow = drawRow;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/generated/validators.js
var require_validators2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/generated/validators.js"(exports2) {
    "use strict";
    exports2["config.json"] = validate43;
    var schema13 = {
      "$id": "config.json",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "border": {
          "$ref": "shared.json#/definitions/borders"
        },
        "header": {
          "type": "object",
          "properties": {
            "content": {
              "type": "string"
            },
            "alignment": {
              "$ref": "shared.json#/definitions/alignment"
            },
            "wrapWord": {
              "type": "boolean"
            },
            "truncate": {
              "type": "integer"
            },
            "paddingLeft": {
              "type": "integer"
            },
            "paddingRight": {
              "type": "integer"
            }
          },
          "required": ["content"],
          "additionalProperties": false
        },
        "columns": {
          "$ref": "shared.json#/definitions/columns"
        },
        "columnDefault": {
          "$ref": "shared.json#/definitions/column"
        },
        "drawVerticalLine": {
          "typeof": "function"
        },
        "drawHorizontalLine": {
          "typeof": "function"
        },
        "singleLine": {
          "typeof": "boolean"
        },
        "spanningCells": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "col": {
                "type": "integer",
                "minimum": 0
              },
              "row": {
                "type": "integer",
                "minimum": 0
              },
              "colSpan": {
                "type": "integer",
                "minimum": 1
              },
              "rowSpan": {
                "type": "integer",
                "minimum": 1
              },
              "alignment": {
                "$ref": "shared.json#/definitions/alignment"
              },
              "verticalAlignment": {
                "$ref": "shared.json#/definitions/verticalAlignment"
              },
              "wrapWord": {
                "type": "boolean"
              },
              "truncate": {
                "type": "integer"
              },
              "paddingLeft": {
                "type": "integer"
              },
              "paddingRight": {
                "type": "integer"
              }
            },
            "required": ["row", "col"],
            "additionalProperties": false
          }
        }
      },
      "additionalProperties": false
    };
    var schema15 = {
      "type": "object",
      "properties": {
        "topBody": {
          "$ref": "#/definitions/border"
        },
        "topJoin": {
          "$ref": "#/definitions/border"
        },
        "topLeft": {
          "$ref": "#/definitions/border"
        },
        "topRight": {
          "$ref": "#/definitions/border"
        },
        "bottomBody": {
          "$ref": "#/definitions/border"
        },
        "bottomJoin": {
          "$ref": "#/definitions/border"
        },
        "bottomLeft": {
          "$ref": "#/definitions/border"
        },
        "bottomRight": {
          "$ref": "#/definitions/border"
        },
        "bodyLeft": {
          "$ref": "#/definitions/border"
        },
        "bodyRight": {
          "$ref": "#/definitions/border"
        },
        "bodyJoin": {
          "$ref": "#/definitions/border"
        },
        "headerJoin": {
          "$ref": "#/definitions/border"
        },
        "joinBody": {
          "$ref": "#/definitions/border"
        },
        "joinLeft": {
          "$ref": "#/definitions/border"
        },
        "joinRight": {
          "$ref": "#/definitions/border"
        },
        "joinJoin": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleUp": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleDown": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleLeft": {
          "$ref": "#/definitions/border"
        },
        "joinMiddleRight": {
          "$ref": "#/definitions/border"
        }
      },
      "additionalProperties": false
    };
    var func4 = Object.prototype.hasOwnProperty;
    function validate46(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      validate46.errors = vErrors;
      return errors === 0;
    }
    function validate45(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!func4.call(schema15.properties, key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.topBody !== void 0) {
          if (!validate46(data.topBody, {
            instancePath: instancePath + "/topBody",
            parentData: data,
            parentDataProperty: "topBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topJoin !== void 0) {
          if (!validate46(data.topJoin, {
            instancePath: instancePath + "/topJoin",
            parentData: data,
            parentDataProperty: "topJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topLeft !== void 0) {
          if (!validate46(data.topLeft, {
            instancePath: instancePath + "/topLeft",
            parentData: data,
            parentDataProperty: "topLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topRight !== void 0) {
          if (!validate46(data.topRight, {
            instancePath: instancePath + "/topRight",
            parentData: data,
            parentDataProperty: "topRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomBody !== void 0) {
          if (!validate46(data.bottomBody, {
            instancePath: instancePath + "/bottomBody",
            parentData: data,
            parentDataProperty: "bottomBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomJoin !== void 0) {
          if (!validate46(data.bottomJoin, {
            instancePath: instancePath + "/bottomJoin",
            parentData: data,
            parentDataProperty: "bottomJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomLeft !== void 0) {
          if (!validate46(data.bottomLeft, {
            instancePath: instancePath + "/bottomLeft",
            parentData: data,
            parentDataProperty: "bottomLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomRight !== void 0) {
          if (!validate46(data.bottomRight, {
            instancePath: instancePath + "/bottomRight",
            parentData: data,
            parentDataProperty: "bottomRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyLeft !== void 0) {
          if (!validate46(data.bodyLeft, {
            instancePath: instancePath + "/bodyLeft",
            parentData: data,
            parentDataProperty: "bodyLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyRight !== void 0) {
          if (!validate46(data.bodyRight, {
            instancePath: instancePath + "/bodyRight",
            parentData: data,
            parentDataProperty: "bodyRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyJoin !== void 0) {
          if (!validate46(data.bodyJoin, {
            instancePath: instancePath + "/bodyJoin",
            parentData: data,
            parentDataProperty: "bodyJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.headerJoin !== void 0) {
          if (!validate46(data.headerJoin, {
            instancePath: instancePath + "/headerJoin",
            parentData: data,
            parentDataProperty: "headerJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinBody !== void 0) {
          if (!validate46(data.joinBody, {
            instancePath: instancePath + "/joinBody",
            parentData: data,
            parentDataProperty: "joinBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinLeft !== void 0) {
          if (!validate46(data.joinLeft, {
            instancePath: instancePath + "/joinLeft",
            parentData: data,
            parentDataProperty: "joinLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinRight !== void 0) {
          if (!validate46(data.joinRight, {
            instancePath: instancePath + "/joinRight",
            parentData: data,
            parentDataProperty: "joinRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinJoin !== void 0) {
          if (!validate46(data.joinJoin, {
            instancePath: instancePath + "/joinJoin",
            parentData: data,
            parentDataProperty: "joinJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleUp !== void 0) {
          if (!validate46(data.joinMiddleUp, {
            instancePath: instancePath + "/joinMiddleUp",
            parentData: data,
            parentDataProperty: "joinMiddleUp",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleDown !== void 0) {
          if (!validate46(data.joinMiddleDown, {
            instancePath: instancePath + "/joinMiddleDown",
            parentData: data,
            parentDataProperty: "joinMiddleDown",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleLeft !== void 0) {
          if (!validate46(data.joinMiddleLeft, {
            instancePath: instancePath + "/joinMiddleLeft",
            parentData: data,
            parentDataProperty: "joinMiddleLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleRight !== void 0) {
          if (!validate46(data.joinMiddleRight, {
            instancePath: instancePath + "/joinMiddleRight",
            parentData: data,
            parentDataProperty: "joinMiddleRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate45.errors = vErrors;
      return errors === 0;
    }
    var schema17 = {
      "type": "string",
      "enum": ["left", "right", "center", "justify"]
    };
    function validate68(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema17.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate68.errors = vErrors;
      return errors === 0;
    }
    var pattern0 = new RegExp("^[0-9]+$", "u");
    function validate72(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "left" || data === "right" || data === "center" || data === "justify")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema17.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate72.errors = vErrors;
      return errors === 0;
    }
    var schema21 = {
      "type": "string",
      "enum": ["top", "middle", "bottom"]
    };
    function validate74(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "top" || data === "middle" || data === "bottom")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema21.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate74.errors = vErrors;
      return errors === 0;
    }
    function validate71(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate71.errors = vErrors;
      return errors === 0;
    }
    function validate70(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      const _errs0 = errors;
      let valid0 = false;
      let passing0 = null;
      const _errs1 = errors;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!pattern0.test(key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/oneOf/0/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        for (const key1 in data) {
          if (pattern0.test(key1)) {
            if (!validate71(data[key1], {
              instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
              parentData: data,
              parentDataProperty: key1,
              rootData
            })) {
              vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
              errors = vErrors.length;
            }
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/oneOf/0/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      var _valid0 = _errs1 === errors;
      if (_valid0) {
        valid0 = true;
        passing0 = 0;
      }
      const _errs5 = errors;
      if (Array.isArray(data)) {
        const len0 = data.length;
        for (let i0 = 0; i0 < len0; i0++) {
          if (!validate71(data[i0], {
            instancePath: instancePath + "/" + i0,
            parentData: data,
            parentDataProperty: i0,
            rootData
          })) {
            vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err2 = {
          instancePath,
          schemaPath: "#/oneOf/1/type",
          keyword: "type",
          params: {
            type: "array"
          },
          message: "must be array"
        };
        if (vErrors === null) {
          vErrors = [err2];
        } else {
          vErrors.push(err2);
        }
        errors++;
      }
      var _valid0 = _errs5 === errors;
      if (_valid0 && valid0) {
        valid0 = false;
        passing0 = [passing0, 1];
      } else {
        if (_valid0) {
          valid0 = true;
          passing0 = 1;
        }
      }
      if (!valid0) {
        const err3 = {
          instancePath,
          schemaPath: "#/oneOf",
          keyword: "oneOf",
          params: {
            passingSchemas: passing0
          },
          message: "must match exactly one schema in oneOf"
        };
        if (vErrors === null) {
          vErrors = [err3];
        } else {
          vErrors.push(err3);
        }
        errors++;
      } else {
        errors = _errs0;
        if (vErrors !== null) {
          if (_errs0) {
            vErrors.length = _errs0;
          } else {
            vErrors = null;
          }
        }
      }
      validate70.errors = vErrors;
      return errors === 0;
    }
    function validate79(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate79.errors = vErrors;
      return errors === 0;
    }
    function validate84(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (typeof data !== "string") {
        const err0 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "string"
          },
          message: "must be string"
        };
        if (vErrors === null) {
          vErrors = [err0];
        } else {
          vErrors.push(err0);
        }
        errors++;
      }
      if (!(data === "top" || data === "middle" || data === "bottom")) {
        const err1 = {
          instancePath,
          schemaPath: "#/enum",
          keyword: "enum",
          params: {
            allowedValues: schema21.enum
          },
          message: "must be equal to one of the allowed values"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate84.errors = vErrors;
      return errors === 0;
    }
    function validate43(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      ;
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "border" || key0 === "header" || key0 === "columns" || key0 === "columnDefault" || key0 === "drawVerticalLine" || key0 === "drawHorizontalLine" || key0 === "singleLine" || key0 === "spanningCells")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.border !== void 0) {
          if (!validate45(data.border, {
            instancePath: instancePath + "/border",
            parentData: data,
            parentDataProperty: "border",
            rootData
          })) {
            vErrors = vErrors === null ? validate45.errors : vErrors.concat(validate45.errors);
            errors = vErrors.length;
          }
        }
        if (data.header !== void 0) {
          let data1 = data.header;
          if (data1 && typeof data1 == "object" && !Array.isArray(data1)) {
            if (data1.content === void 0) {
              const err1 = {
                instancePath: instancePath + "/header",
                schemaPath: "#/properties/header/required",
                keyword: "required",
                params: {
                  missingProperty: "content"
                },
                message: "must have required property 'content'"
              };
              if (vErrors === null) {
                vErrors = [err1];
              } else {
                vErrors.push(err1);
              }
              errors++;
            }
            for (const key1 in data1) {
              if (!(key1 === "content" || key1 === "alignment" || key1 === "wrapWord" || key1 === "truncate" || key1 === "paddingLeft" || key1 === "paddingRight")) {
                const err2 = {
                  instancePath: instancePath + "/header",
                  schemaPath: "#/properties/header/additionalProperties",
                  keyword: "additionalProperties",
                  params: {
                    additionalProperty: key1
                  },
                  message: "must NOT have additional properties"
                };
                if (vErrors === null) {
                  vErrors = [err2];
                } else {
                  vErrors.push(err2);
                }
                errors++;
              }
            }
            if (data1.content !== void 0) {
              if (typeof data1.content !== "string") {
                const err3 = {
                  instancePath: instancePath + "/header/content",
                  schemaPath: "#/properties/header/properties/content/type",
                  keyword: "type",
                  params: {
                    type: "string"
                  },
                  message: "must be string"
                };
                if (vErrors === null) {
                  vErrors = [err3];
                } else {
                  vErrors.push(err3);
                }
                errors++;
              }
            }
            if (data1.alignment !== void 0) {
              if (!validate68(data1.alignment, {
                instancePath: instancePath + "/header/alignment",
                parentData: data1,
                parentDataProperty: "alignment",
                rootData
              })) {
                vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
                errors = vErrors.length;
              }
            }
            if (data1.wrapWord !== void 0) {
              if (typeof data1.wrapWord !== "boolean") {
                const err4 = {
                  instancePath: instancePath + "/header/wrapWord",
                  schemaPath: "#/properties/header/properties/wrapWord/type",
                  keyword: "type",
                  params: {
                    type: "boolean"
                  },
                  message: "must be boolean"
                };
                if (vErrors === null) {
                  vErrors = [err4];
                } else {
                  vErrors.push(err4);
                }
                errors++;
              }
            }
            if (data1.truncate !== void 0) {
              let data5 = data1.truncate;
              if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
                const err5 = {
                  instancePath: instancePath + "/header/truncate",
                  schemaPath: "#/properties/header/properties/truncate/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err5];
                } else {
                  vErrors.push(err5);
                }
                errors++;
              }
            }
            if (data1.paddingLeft !== void 0) {
              let data6 = data1.paddingLeft;
              if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
                const err6 = {
                  instancePath: instancePath + "/header/paddingLeft",
                  schemaPath: "#/properties/header/properties/paddingLeft/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err6];
                } else {
                  vErrors.push(err6);
                }
                errors++;
              }
            }
            if (data1.paddingRight !== void 0) {
              let data7 = data1.paddingRight;
              if (!(typeof data7 == "number" && (!(data7 % 1) && !isNaN(data7)) && isFinite(data7))) {
                const err7 = {
                  instancePath: instancePath + "/header/paddingRight",
                  schemaPath: "#/properties/header/properties/paddingRight/type",
                  keyword: "type",
                  params: {
                    type: "integer"
                  },
                  message: "must be integer"
                };
                if (vErrors === null) {
                  vErrors = [err7];
                } else {
                  vErrors.push(err7);
                }
                errors++;
              }
            }
          } else {
            const err8 = {
              instancePath: instancePath + "/header",
              schemaPath: "#/properties/header/type",
              keyword: "type",
              params: {
                type: "object"
              },
              message: "must be object"
            };
            if (vErrors === null) {
              vErrors = [err8];
            } else {
              vErrors.push(err8);
            }
            errors++;
          }
        }
        if (data.columns !== void 0) {
          if (!validate70(data.columns, {
            instancePath: instancePath + "/columns",
            parentData: data,
            parentDataProperty: "columns",
            rootData
          })) {
            vErrors = vErrors === null ? validate70.errors : vErrors.concat(validate70.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnDefault !== void 0) {
          if (!validate79(data.columnDefault, {
            instancePath: instancePath + "/columnDefault",
            parentData: data,
            parentDataProperty: "columnDefault",
            rootData
          })) {
            vErrors = vErrors === null ? validate79.errors : vErrors.concat(validate79.errors);
            errors = vErrors.length;
          }
        }
        if (data.drawVerticalLine !== void 0) {
          if (typeof data.drawVerticalLine != "function") {
            const err9 = {
              instancePath: instancePath + "/drawVerticalLine",
              schemaPath: "#/properties/drawVerticalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err9];
            } else {
              vErrors.push(err9);
            }
            errors++;
          }
        }
        if (data.drawHorizontalLine !== void 0) {
          if (typeof data.drawHorizontalLine != "function") {
            const err10 = {
              instancePath: instancePath + "/drawHorizontalLine",
              schemaPath: "#/properties/drawHorizontalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err10];
            } else {
              vErrors.push(err10);
            }
            errors++;
          }
        }
        if (data.singleLine !== void 0) {
          if (typeof data.singleLine != "boolean") {
            const err11 = {
              instancePath: instancePath + "/singleLine",
              schemaPath: "#/properties/singleLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err11];
            } else {
              vErrors.push(err11);
            }
            errors++;
          }
        }
        if (data.spanningCells !== void 0) {
          let data13 = data.spanningCells;
          if (Array.isArray(data13)) {
            const len0 = data13.length;
            for (let i0 = 0; i0 < len0; i0++) {
              let data14 = data13[i0];
              if (data14 && typeof data14 == "object" && !Array.isArray(data14)) {
                if (data14.row === void 0) {
                  const err12 = {
                    instancePath: instancePath + "/spanningCells/" + i0,
                    schemaPath: "#/properties/spanningCells/items/required",
                    keyword: "required",
                    params: {
                      missingProperty: "row"
                    },
                    message: "must have required property 'row'"
                  };
                  if (vErrors === null) {
                    vErrors = [err12];
                  } else {
                    vErrors.push(err12);
                  }
                  errors++;
                }
                if (data14.col === void 0) {
                  const err13 = {
                    instancePath: instancePath + "/spanningCells/" + i0,
                    schemaPath: "#/properties/spanningCells/items/required",
                    keyword: "required",
                    params: {
                      missingProperty: "col"
                    },
                    message: "must have required property 'col'"
                  };
                  if (vErrors === null) {
                    vErrors = [err13];
                  } else {
                    vErrors.push(err13);
                  }
                  errors++;
                }
                for (const key2 in data14) {
                  if (!func4.call(schema13.properties.spanningCells.items.properties, key2)) {
                    const err14 = {
                      instancePath: instancePath + "/spanningCells/" + i0,
                      schemaPath: "#/properties/spanningCells/items/additionalProperties",
                      keyword: "additionalProperties",
                      params: {
                        additionalProperty: key2
                      },
                      message: "must NOT have additional properties"
                    };
                    if (vErrors === null) {
                      vErrors = [err14];
                    } else {
                      vErrors.push(err14);
                    }
                    errors++;
                  }
                }
                if (data14.col !== void 0) {
                  let data15 = data14.col;
                  if (!(typeof data15 == "number" && (!(data15 % 1) && !isNaN(data15)) && isFinite(data15))) {
                    const err15 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/col",
                      schemaPath: "#/properties/spanningCells/items/properties/col/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err15];
                    } else {
                      vErrors.push(err15);
                    }
                    errors++;
                  }
                  if (typeof data15 == "number" && isFinite(data15)) {
                    if (data15 < 0 || isNaN(data15)) {
                      const err16 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/col",
                        schemaPath: "#/properties/spanningCells/items/properties/col/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 0
                        },
                        message: "must be >= 0"
                      };
                      if (vErrors === null) {
                        vErrors = [err16];
                      } else {
                        vErrors.push(err16);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.row !== void 0) {
                  let data16 = data14.row;
                  if (!(typeof data16 == "number" && (!(data16 % 1) && !isNaN(data16)) && isFinite(data16))) {
                    const err17 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/row",
                      schemaPath: "#/properties/spanningCells/items/properties/row/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err17];
                    } else {
                      vErrors.push(err17);
                    }
                    errors++;
                  }
                  if (typeof data16 == "number" && isFinite(data16)) {
                    if (data16 < 0 || isNaN(data16)) {
                      const err18 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/row",
                        schemaPath: "#/properties/spanningCells/items/properties/row/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 0
                        },
                        message: "must be >= 0"
                      };
                      if (vErrors === null) {
                        vErrors = [err18];
                      } else {
                        vErrors.push(err18);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.colSpan !== void 0) {
                  let data17 = data14.colSpan;
                  if (!(typeof data17 == "number" && (!(data17 % 1) && !isNaN(data17)) && isFinite(data17))) {
                    const err19 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
                      schemaPath: "#/properties/spanningCells/items/properties/colSpan/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err19];
                    } else {
                      vErrors.push(err19);
                    }
                    errors++;
                  }
                  if (typeof data17 == "number" && isFinite(data17)) {
                    if (data17 < 1 || isNaN(data17)) {
                      const err20 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/colSpan",
                        schemaPath: "#/properties/spanningCells/items/properties/colSpan/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 1
                        },
                        message: "must be >= 1"
                      };
                      if (vErrors === null) {
                        vErrors = [err20];
                      } else {
                        vErrors.push(err20);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.rowSpan !== void 0) {
                  let data18 = data14.rowSpan;
                  if (!(typeof data18 == "number" && (!(data18 % 1) && !isNaN(data18)) && isFinite(data18))) {
                    const err21 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
                      schemaPath: "#/properties/spanningCells/items/properties/rowSpan/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err21];
                    } else {
                      vErrors.push(err21);
                    }
                    errors++;
                  }
                  if (typeof data18 == "number" && isFinite(data18)) {
                    if (data18 < 1 || isNaN(data18)) {
                      const err22 = {
                        instancePath: instancePath + "/spanningCells/" + i0 + "/rowSpan",
                        schemaPath: "#/properties/spanningCells/items/properties/rowSpan/minimum",
                        keyword: "minimum",
                        params: {
                          comparison: ">=",
                          limit: 1
                        },
                        message: "must be >= 1"
                      };
                      if (vErrors === null) {
                        vErrors = [err22];
                      } else {
                        vErrors.push(err22);
                      }
                      errors++;
                    }
                  }
                }
                if (data14.alignment !== void 0) {
                  if (!validate68(data14.alignment, {
                    instancePath: instancePath + "/spanningCells/" + i0 + "/alignment",
                    parentData: data14,
                    parentDataProperty: "alignment",
                    rootData
                  })) {
                    vErrors = vErrors === null ? validate68.errors : vErrors.concat(validate68.errors);
                    errors = vErrors.length;
                  }
                }
                if (data14.verticalAlignment !== void 0) {
                  if (!validate84(data14.verticalAlignment, {
                    instancePath: instancePath + "/spanningCells/" + i0 + "/verticalAlignment",
                    parentData: data14,
                    parentDataProperty: "verticalAlignment",
                    rootData
                  })) {
                    vErrors = vErrors === null ? validate84.errors : vErrors.concat(validate84.errors);
                    errors = vErrors.length;
                  }
                }
                if (data14.wrapWord !== void 0) {
                  if (typeof data14.wrapWord !== "boolean") {
                    const err23 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/wrapWord",
                      schemaPath: "#/properties/spanningCells/items/properties/wrapWord/type",
                      keyword: "type",
                      params: {
                        type: "boolean"
                      },
                      message: "must be boolean"
                    };
                    if (vErrors === null) {
                      vErrors = [err23];
                    } else {
                      vErrors.push(err23);
                    }
                    errors++;
                  }
                }
                if (data14.truncate !== void 0) {
                  let data22 = data14.truncate;
                  if (!(typeof data22 == "number" && (!(data22 % 1) && !isNaN(data22)) && isFinite(data22))) {
                    const err24 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/truncate",
                      schemaPath: "#/properties/spanningCells/items/properties/truncate/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err24];
                    } else {
                      vErrors.push(err24);
                    }
                    errors++;
                  }
                }
                if (data14.paddingLeft !== void 0) {
                  let data23 = data14.paddingLeft;
                  if (!(typeof data23 == "number" && (!(data23 % 1) && !isNaN(data23)) && isFinite(data23))) {
                    const err25 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/paddingLeft",
                      schemaPath: "#/properties/spanningCells/items/properties/paddingLeft/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err25];
                    } else {
                      vErrors.push(err25);
                    }
                    errors++;
                  }
                }
                if (data14.paddingRight !== void 0) {
                  let data24 = data14.paddingRight;
                  if (!(typeof data24 == "number" && (!(data24 % 1) && !isNaN(data24)) && isFinite(data24))) {
                    const err26 = {
                      instancePath: instancePath + "/spanningCells/" + i0 + "/paddingRight",
                      schemaPath: "#/properties/spanningCells/items/properties/paddingRight/type",
                      keyword: "type",
                      params: {
                        type: "integer"
                      },
                      message: "must be integer"
                    };
                    if (vErrors === null) {
                      vErrors = [err26];
                    } else {
                      vErrors.push(err26);
                    }
                    errors++;
                  }
                }
              } else {
                const err27 = {
                  instancePath: instancePath + "/spanningCells/" + i0,
                  schemaPath: "#/properties/spanningCells/items/type",
                  keyword: "type",
                  params: {
                    type: "object"
                  },
                  message: "must be object"
                };
                if (vErrors === null) {
                  vErrors = [err27];
                } else {
                  vErrors.push(err27);
                }
                errors++;
              }
            }
          } else {
            const err28 = {
              instancePath: instancePath + "/spanningCells",
              schemaPath: "#/properties/spanningCells/type",
              keyword: "type",
              params: {
                type: "array"
              },
              message: "must be array"
            };
            if (vErrors === null) {
              vErrors = [err28];
            } else {
              vErrors.push(err28);
            }
            errors++;
          }
        }
      } else {
        const err29 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err29];
        } else {
          vErrors.push(err29);
        }
        errors++;
      }
      validate43.errors = vErrors;
      return errors === 0;
    }
    exports2["streamConfig.json"] = validate86;
    function validate87(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!func4.call(schema15.properties, key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.topBody !== void 0) {
          if (!validate46(data.topBody, {
            instancePath: instancePath + "/topBody",
            parentData: data,
            parentDataProperty: "topBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topJoin !== void 0) {
          if (!validate46(data.topJoin, {
            instancePath: instancePath + "/topJoin",
            parentData: data,
            parentDataProperty: "topJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topLeft !== void 0) {
          if (!validate46(data.topLeft, {
            instancePath: instancePath + "/topLeft",
            parentData: data,
            parentDataProperty: "topLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.topRight !== void 0) {
          if (!validate46(data.topRight, {
            instancePath: instancePath + "/topRight",
            parentData: data,
            parentDataProperty: "topRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomBody !== void 0) {
          if (!validate46(data.bottomBody, {
            instancePath: instancePath + "/bottomBody",
            parentData: data,
            parentDataProperty: "bottomBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomJoin !== void 0) {
          if (!validate46(data.bottomJoin, {
            instancePath: instancePath + "/bottomJoin",
            parentData: data,
            parentDataProperty: "bottomJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomLeft !== void 0) {
          if (!validate46(data.bottomLeft, {
            instancePath: instancePath + "/bottomLeft",
            parentData: data,
            parentDataProperty: "bottomLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bottomRight !== void 0) {
          if (!validate46(data.bottomRight, {
            instancePath: instancePath + "/bottomRight",
            parentData: data,
            parentDataProperty: "bottomRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyLeft !== void 0) {
          if (!validate46(data.bodyLeft, {
            instancePath: instancePath + "/bodyLeft",
            parentData: data,
            parentDataProperty: "bodyLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyRight !== void 0) {
          if (!validate46(data.bodyRight, {
            instancePath: instancePath + "/bodyRight",
            parentData: data,
            parentDataProperty: "bodyRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.bodyJoin !== void 0) {
          if (!validate46(data.bodyJoin, {
            instancePath: instancePath + "/bodyJoin",
            parentData: data,
            parentDataProperty: "bodyJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.headerJoin !== void 0) {
          if (!validate46(data.headerJoin, {
            instancePath: instancePath + "/headerJoin",
            parentData: data,
            parentDataProperty: "headerJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinBody !== void 0) {
          if (!validate46(data.joinBody, {
            instancePath: instancePath + "/joinBody",
            parentData: data,
            parentDataProperty: "joinBody",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinLeft !== void 0) {
          if (!validate46(data.joinLeft, {
            instancePath: instancePath + "/joinLeft",
            parentData: data,
            parentDataProperty: "joinLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinRight !== void 0) {
          if (!validate46(data.joinRight, {
            instancePath: instancePath + "/joinRight",
            parentData: data,
            parentDataProperty: "joinRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinJoin !== void 0) {
          if (!validate46(data.joinJoin, {
            instancePath: instancePath + "/joinJoin",
            parentData: data,
            parentDataProperty: "joinJoin",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleUp !== void 0) {
          if (!validate46(data.joinMiddleUp, {
            instancePath: instancePath + "/joinMiddleUp",
            parentData: data,
            parentDataProperty: "joinMiddleUp",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleDown !== void 0) {
          if (!validate46(data.joinMiddleDown, {
            instancePath: instancePath + "/joinMiddleDown",
            parentData: data,
            parentDataProperty: "joinMiddleDown",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleLeft !== void 0) {
          if (!validate46(data.joinMiddleLeft, {
            instancePath: instancePath + "/joinMiddleLeft",
            parentData: data,
            parentDataProperty: "joinMiddleLeft",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
        if (data.joinMiddleRight !== void 0) {
          if (!validate46(data.joinMiddleRight, {
            instancePath: instancePath + "/joinMiddleRight",
            parentData: data,
            parentDataProperty: "joinMiddleRight",
            rootData
          })) {
            vErrors = vErrors === null ? validate46.errors : vErrors.concat(validate46.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      validate87.errors = vErrors;
      return errors === 0;
    }
    function validate109(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      const _errs0 = errors;
      let valid0 = false;
      let passing0 = null;
      const _errs1 = errors;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!pattern0.test(key0)) {
            const err0 = {
              instancePath,
              schemaPath: "#/oneOf/0/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        for (const key1 in data) {
          if (pattern0.test(key1)) {
            if (!validate71(data[key1], {
              instancePath: instancePath + "/" + key1.replace(/~/g, "~0").replace(/\//g, "~1"),
              parentData: data,
              parentDataProperty: key1,
              rootData
            })) {
              vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
              errors = vErrors.length;
            }
          }
        }
      } else {
        const err1 = {
          instancePath,
          schemaPath: "#/oneOf/0/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err1];
        } else {
          vErrors.push(err1);
        }
        errors++;
      }
      var _valid0 = _errs1 === errors;
      if (_valid0) {
        valid0 = true;
        passing0 = 0;
      }
      const _errs5 = errors;
      if (Array.isArray(data)) {
        const len0 = data.length;
        for (let i0 = 0; i0 < len0; i0++) {
          if (!validate71(data[i0], {
            instancePath: instancePath + "/" + i0,
            parentData: data,
            parentDataProperty: i0,
            rootData
          })) {
            vErrors = vErrors === null ? validate71.errors : vErrors.concat(validate71.errors);
            errors = vErrors.length;
          }
        }
      } else {
        const err2 = {
          instancePath,
          schemaPath: "#/oneOf/1/type",
          keyword: "type",
          params: {
            type: "array"
          },
          message: "must be array"
        };
        if (vErrors === null) {
          vErrors = [err2];
        } else {
          vErrors.push(err2);
        }
        errors++;
      }
      var _valid0 = _errs5 === errors;
      if (_valid0 && valid0) {
        valid0 = false;
        passing0 = [passing0, 1];
      } else {
        if (_valid0) {
          valid0 = true;
          passing0 = 1;
        }
      }
      if (!valid0) {
        const err3 = {
          instancePath,
          schemaPath: "#/oneOf",
          keyword: "oneOf",
          params: {
            passingSchemas: passing0
          },
          message: "must match exactly one schema in oneOf"
        };
        if (vErrors === null) {
          vErrors = [err3];
        } else {
          vErrors.push(err3);
        }
        errors++;
      } else {
        errors = _errs0;
        if (vErrors !== null) {
          if (_errs0) {
            vErrors.length = _errs0;
          } else {
            vErrors = null;
          }
        }
      }
      validate109.errors = vErrors;
      return errors === 0;
    }
    function validate113(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        for (const key0 in data) {
          if (!(key0 === "alignment" || key0 === "verticalAlignment" || key0 === "width" || key0 === "wrapWord" || key0 === "truncate" || key0 === "paddingLeft" || key0 === "paddingRight")) {
            const err0 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err0];
            } else {
              vErrors.push(err0);
            }
            errors++;
          }
        }
        if (data.alignment !== void 0) {
          if (!validate72(data.alignment, {
            instancePath: instancePath + "/alignment",
            parentData: data,
            parentDataProperty: "alignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate72.errors : vErrors.concat(validate72.errors);
            errors = vErrors.length;
          }
        }
        if (data.verticalAlignment !== void 0) {
          if (!validate74(data.verticalAlignment, {
            instancePath: instancePath + "/verticalAlignment",
            parentData: data,
            parentDataProperty: "verticalAlignment",
            rootData
          })) {
            vErrors = vErrors === null ? validate74.errors : vErrors.concat(validate74.errors);
            errors = vErrors.length;
          }
        }
        if (data.width !== void 0) {
          let data2 = data.width;
          if (!(typeof data2 == "number" && (!(data2 % 1) && !isNaN(data2)) && isFinite(data2))) {
            const err1 = {
              instancePath: instancePath + "/width",
              schemaPath: "#/properties/width/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err1];
            } else {
              vErrors.push(err1);
            }
            errors++;
          }
          if (typeof data2 == "number" && isFinite(data2)) {
            if (data2 < 1 || isNaN(data2)) {
              const err2 = {
                instancePath: instancePath + "/width",
                schemaPath: "#/properties/width/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err2];
              } else {
                vErrors.push(err2);
              }
              errors++;
            }
          }
        }
        if (data.wrapWord !== void 0) {
          if (typeof data.wrapWord !== "boolean") {
            const err3 = {
              instancePath: instancePath + "/wrapWord",
              schemaPath: "#/properties/wrapWord/type",
              keyword: "type",
              params: {
                type: "boolean"
              },
              message: "must be boolean"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
        }
        if (data.truncate !== void 0) {
          let data4 = data.truncate;
          if (!(typeof data4 == "number" && (!(data4 % 1) && !isNaN(data4)) && isFinite(data4))) {
            const err4 = {
              instancePath: instancePath + "/truncate",
              schemaPath: "#/properties/truncate/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err4];
            } else {
              vErrors.push(err4);
            }
            errors++;
          }
        }
        if (data.paddingLeft !== void 0) {
          let data5 = data.paddingLeft;
          if (!(typeof data5 == "number" && (!(data5 % 1) && !isNaN(data5)) && isFinite(data5))) {
            const err5 = {
              instancePath: instancePath + "/paddingLeft",
              schemaPath: "#/properties/paddingLeft/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
        if (data.paddingRight !== void 0) {
          let data6 = data.paddingRight;
          if (!(typeof data6 == "number" && (!(data6 % 1) && !isNaN(data6)) && isFinite(data6))) {
            const err6 = {
              instancePath: instancePath + "/paddingRight",
              schemaPath: "#/properties/paddingRight/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err6];
            } else {
              vErrors.push(err6);
            }
            errors++;
          }
        }
      } else {
        const err7 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err7];
        } else {
          vErrors.push(err7);
        }
        errors++;
      }
      validate113.errors = vErrors;
      return errors === 0;
    }
    function validate86(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) {
      ;
      let vErrors = null;
      let errors = 0;
      if (data && typeof data == "object" && !Array.isArray(data)) {
        if (data.columnDefault === void 0) {
          const err0 = {
            instancePath,
            schemaPath: "#/required",
            keyword: "required",
            params: {
              missingProperty: "columnDefault"
            },
            message: "must have required property 'columnDefault'"
          };
          if (vErrors === null) {
            vErrors = [err0];
          } else {
            vErrors.push(err0);
          }
          errors++;
        }
        if (data.columnCount === void 0) {
          const err1 = {
            instancePath,
            schemaPath: "#/required",
            keyword: "required",
            params: {
              missingProperty: "columnCount"
            },
            message: "must have required property 'columnCount'"
          };
          if (vErrors === null) {
            vErrors = [err1];
          } else {
            vErrors.push(err1);
          }
          errors++;
        }
        for (const key0 in data) {
          if (!(key0 === "border" || key0 === "columns" || key0 === "columnDefault" || key0 === "columnCount" || key0 === "drawVerticalLine")) {
            const err2 = {
              instancePath,
              schemaPath: "#/additionalProperties",
              keyword: "additionalProperties",
              params: {
                additionalProperty: key0
              },
              message: "must NOT have additional properties"
            };
            if (vErrors === null) {
              vErrors = [err2];
            } else {
              vErrors.push(err2);
            }
            errors++;
          }
        }
        if (data.border !== void 0) {
          if (!validate87(data.border, {
            instancePath: instancePath + "/border",
            parentData: data,
            parentDataProperty: "border",
            rootData
          })) {
            vErrors = vErrors === null ? validate87.errors : vErrors.concat(validate87.errors);
            errors = vErrors.length;
          }
        }
        if (data.columns !== void 0) {
          if (!validate109(data.columns, {
            instancePath: instancePath + "/columns",
            parentData: data,
            parentDataProperty: "columns",
            rootData
          })) {
            vErrors = vErrors === null ? validate109.errors : vErrors.concat(validate109.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnDefault !== void 0) {
          if (!validate113(data.columnDefault, {
            instancePath: instancePath + "/columnDefault",
            parentData: data,
            parentDataProperty: "columnDefault",
            rootData
          })) {
            vErrors = vErrors === null ? validate113.errors : vErrors.concat(validate113.errors);
            errors = vErrors.length;
          }
        }
        if (data.columnCount !== void 0) {
          let data3 = data.columnCount;
          if (!(typeof data3 == "number" && (!(data3 % 1) && !isNaN(data3)) && isFinite(data3))) {
            const err3 = {
              instancePath: instancePath + "/columnCount",
              schemaPath: "#/properties/columnCount/type",
              keyword: "type",
              params: {
                type: "integer"
              },
              message: "must be integer"
            };
            if (vErrors === null) {
              vErrors = [err3];
            } else {
              vErrors.push(err3);
            }
            errors++;
          }
          if (typeof data3 == "number" && isFinite(data3)) {
            if (data3 < 1 || isNaN(data3)) {
              const err4 = {
                instancePath: instancePath + "/columnCount",
                schemaPath: "#/properties/columnCount/minimum",
                keyword: "minimum",
                params: {
                  comparison: ">=",
                  limit: 1
                },
                message: "must be >= 1"
              };
              if (vErrors === null) {
                vErrors = [err4];
              } else {
                vErrors.push(err4);
              }
              errors++;
            }
          }
        }
        if (data.drawVerticalLine !== void 0) {
          if (typeof data.drawVerticalLine != "function") {
            const err5 = {
              instancePath: instancePath + "/drawVerticalLine",
              schemaPath: "#/properties/drawVerticalLine/typeof",
              keyword: "typeof",
              params: {},
              message: 'must pass "typeof" keyword validation'
            };
            if (vErrors === null) {
              vErrors = [err5];
            } else {
              vErrors.push(err5);
            }
            errors++;
          }
        }
      } else {
        const err6 = {
          instancePath,
          schemaPath: "#/type",
          keyword: "type",
          params: {
            type: "object"
          },
          message: "must be object"
        };
        if (vErrors === null) {
          vErrors = [err6];
        } else {
          vErrors.push(err6);
        }
        errors++;
      }
      validate86.errors = vErrors;
      return errors === 0;
    }
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateConfig.js
var require_validateConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateConfig.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateConfig = void 0;
    var validators_1 = __importDefault2(require_validators2());
    var validateConfig = (schemaId, config) => {
      const validate2 = validators_1.default[schemaId];
      if (!validate2(config) && validate2.errors) {
        const errors = validate2.errors.map((error) => {
          return {
            message: error.message,
            params: error.params,
            schemaPath: error.schemaPath
          };
        });
        console.log("config", config);
        console.log("errors", errors);
        throw new Error("Invalid config.");
      }
    };
    exports2.validateConfig = validateConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeStreamConfig.js
var require_makeStreamConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeStreamConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeStreamConfig = void 0;
    var utils_1 = require_utils15();
    var validateConfig_1 = require_validateConfig2();
    var makeColumnsConfig = (columnCount, columns = {}, columnDefault) => {
      return Array.from({ length: columnCount }).map((_, index) => {
        return {
          alignment: "left",
          paddingLeft: 1,
          paddingRight: 1,
          truncate: Number.POSITIVE_INFINITY,
          verticalAlignment: "top",
          wrapWord: false,
          ...columnDefault,
          ...columns[index]
        };
      });
    };
    var makeStreamConfig = (config) => {
      (0, validateConfig_1.validateConfig)("streamConfig.json", config);
      if (config.columnDefault.width === void 0) {
        throw new Error("Must provide config.columnDefault.width when creating a stream.");
      }
      return {
        drawVerticalLine: () => {
          return true;
        },
        ...config,
        border: (0, utils_1.makeBorderConfig)(config.border),
        columns: makeColumnsConfig(config.columnCount, config.columns, config.columnDefault)
      };
    };
    exports2.makeStreamConfig = makeStreamConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js
var require_mapDataUsingRowHeights2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/mapDataUsingRowHeights.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mapDataUsingRowHeights = exports2.padCellVertically = void 0;
    var utils_1 = require_utils15();
    var wrapCell_1 = require_wrapCell2();
    var createEmptyStrings = (length) => {
      return new Array(length).fill("");
    };
    var padCellVertically = (lines, rowHeight, verticalAlignment) => {
      const availableLines = rowHeight - lines.length;
      if (verticalAlignment === "top") {
        return [...lines, ...createEmptyStrings(availableLines)];
      }
      if (verticalAlignment === "bottom") {
        return [...createEmptyStrings(availableLines), ...lines];
      }
      return [
        ...createEmptyStrings(Math.floor(availableLines / 2)),
        ...lines,
        ...createEmptyStrings(Math.ceil(availableLines / 2))
      ];
    };
    exports2.padCellVertically = padCellVertically;
    var mapDataUsingRowHeights = (unmappedRows, rowHeights, config) => {
      const nColumns = unmappedRows[0].length;
      const mappedRows = unmappedRows.map((unmappedRow, unmappedRowIndex) => {
        const outputRowHeight = rowHeights[unmappedRowIndex];
        const outputRow = Array.from({ length: outputRowHeight }, () => {
          return new Array(nColumns).fill("");
        });
        unmappedRow.forEach((cell, cellIndex) => {
          const containingRange = config.spanningCellManager?.getContainingRange({
            col: cellIndex,
            row: unmappedRowIndex
          });
          if (containingRange) {
            containingRange.extractCellContent(unmappedRowIndex).forEach((cellLine, cellLineIndex) => {
              outputRow[cellLineIndex][cellIndex] = cellLine;
            });
            return;
          }
          const cellLines = (0, wrapCell_1.wrapCell)(cell, config.columns[cellIndex].width, config.columns[cellIndex].wrapWord);
          const paddedCellLines = (0, exports2.padCellVertically)(cellLines, outputRowHeight, config.columns[cellIndex].verticalAlignment);
          paddedCellLines.forEach((cellLine, cellLineIndex) => {
            outputRow[cellLineIndex][cellIndex] = cellLine;
          });
        });
        return outputRow;
      });
      return (0, utils_1.flatten)(mappedRows);
    };
    exports2.mapDataUsingRowHeights = mapDataUsingRowHeights;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/padTableData.js
var require_padTableData2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/padTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.padTableData = exports2.padString = void 0;
    var padString = (input, paddingLeft, paddingRight) => {
      return " ".repeat(paddingLeft) + input + " ".repeat(paddingRight);
    };
    exports2.padString = padString;
    var padTableData = (rows, config) => {
      return rows.map((cells, rowIndex) => {
        return cells.map((cell, cellIndex) => {
          const containingRange = config.spanningCellManager?.getContainingRange({
            col: cellIndex,
            row: rowIndex
          }, { mapped: true });
          if (containingRange) {
            return cell;
          }
          const { paddingLeft, paddingRight } = config.columns[cellIndex];
          return (0, exports2.padString)(cell, paddingLeft, paddingRight);
        });
      });
    };
    exports2.padTableData = padTableData;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/stringifyTableData.js
var require_stringifyTableData2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/stringifyTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifyTableData = void 0;
    var utils_1 = require_utils15();
    var stringifyTableData = (rows) => {
      return rows.map((cells) => {
        return cells.map((cell) => {
          return (0, utils_1.normalizeString)(String(cell));
        });
      });
    };
    exports2.stringifyTableData = stringifyTableData;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/truncateTableData.js
var require_truncateTableData2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/truncateTableData.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.truncateTableData = exports2.truncateString = void 0;
    var lodash_truncate_1 = __importDefault2(require_lodash());
    var truncateString = (input, length) => {
      return (0, lodash_truncate_1.default)(input, {
        length,
        omission: "\u2026"
      });
    };
    exports2.truncateString = truncateString;
    var truncateTableData = (rows, truncates) => {
      return rows.map((cells) => {
        return cells.map((cell, cellIndex) => {
          return (0, exports2.truncateString)(cell, truncates[cellIndex]);
        });
      });
    };
    exports2.truncateTableData = truncateTableData;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/createStream.js
var require_createStream2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/createStream.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createStream = void 0;
    var alignTableData_1 = require_alignTableData2();
    var calculateRowHeights_1 = require_calculateRowHeights2();
    var drawBorder_1 = require_drawBorder2();
    var drawRow_1 = require_drawRow2();
    var makeStreamConfig_1 = require_makeStreamConfig2();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
    var padTableData_1 = require_padTableData2();
    var stringifyTableData_1 = require_stringifyTableData2();
    var truncateTableData_1 = require_truncateTableData2();
    var utils_1 = require_utils15();
    var prepareData = (data, config) => {
      let rows = (0, stringifyTableData_1.stringifyTableData)(data);
      rows = (0, truncateTableData_1.truncateTableData)(rows, (0, utils_1.extractTruncates)(config));
      const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
      rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
      rows = (0, alignTableData_1.alignTableData)(rows, config);
      rows = (0, padTableData_1.padTableData)(rows, config);
      return rows;
    };
    var create = (row, columnWidths, config) => {
      const rows = prepareData([row], config);
      const body = rows.map((literalRow) => {
        return (0, drawRow_1.drawRow)(literalRow, config);
      }).join("");
      let output;
      output = "";
      output += (0, drawBorder_1.drawBorderTop)(columnWidths, config);
      output += body;
      output += (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
      output = output.trimEnd();
      process.stdout.write(output);
    };
    var append = (row, columnWidths, config) => {
      const rows = prepareData([row], config);
      const body = rows.map((literalRow) => {
        return (0, drawRow_1.drawRow)(literalRow, config);
      }).join("");
      let output = "";
      const bottom = (0, drawBorder_1.drawBorderBottom)(columnWidths, config);
      if (bottom !== "\n") {
        output = "\r\x1B[K";
      }
      output += (0, drawBorder_1.drawBorderJoin)(columnWidths, config);
      output += body;
      output += bottom;
      output = output.trimEnd();
      process.stdout.write(output);
    };
    var createStream = (userConfig) => {
      const config = (0, makeStreamConfig_1.makeStreamConfig)(userConfig);
      const columnWidths = Object.values(config.columns).map((column) => {
        return column.width + column.paddingLeft + column.paddingRight;
      });
      let empty = true;
      return {
        write: (row) => {
          if (row.length !== config.columnCount) {
            throw new Error("Row cell count does not match the config.columnCount.");
          }
          if (empty) {
            empty = false;
            create(row, columnWidths, config);
          } else {
            append(row, columnWidths, config);
          }
        }
      };
    };
    exports2.createStream = createStream;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js
var require_calculateOutputColumnWidths2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateOutputColumnWidths.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateOutputColumnWidths = void 0;
    var calculateOutputColumnWidths = (config) => {
      return config.columns.map((col) => {
        return col.paddingLeft + col.width + col.paddingRight;
      });
    };
    exports2.calculateOutputColumnWidths = calculateOutputColumnWidths;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawTable.js
var require_drawTable2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/drawTable.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.drawTable = void 0;
    var drawBorder_1 = require_drawBorder2();
    var drawContent_1 = require_drawContent2();
    var drawRow_1 = require_drawRow2();
    var utils_1 = require_utils15();
    var drawTable = (rows, outputColumnWidths, rowHeights, config) => {
      const { drawHorizontalLine, singleLine } = config;
      const contents = (0, utils_1.groupBySizes)(rows, rowHeights).map((group, groupIndex) => {
        return group.map((row) => {
          return (0, drawRow_1.drawRow)(row, {
            ...config,
            rowIndex: groupIndex
          });
        }).join("");
      });
      return (0, drawContent_1.drawContent)({
        contents,
        drawSeparator: (index, size) => {
          if (index === 0 || index === size) {
            return drawHorizontalLine(index, size);
          }
          return !singleLine && drawHorizontalLine(index, size);
        },
        elementType: "row",
        rowIndex: -1,
        separatorGetter: (0, drawBorder_1.createTableBorderGetter)(outputColumnWidths, {
          ...config,
          rowCount: contents.length
        }),
        spanningCellManager: config.spanningCellManager
      });
    };
    exports2.drawTable = drawTable;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js
var require_injectHeaderConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/injectHeaderConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.injectHeaderConfig = void 0;
    var injectHeaderConfig = (rows, config) => {
      let spanningCellConfig = config.spanningCells ?? [];
      const headerConfig = config.header;
      const adjustedRows = [...rows];
      if (headerConfig) {
        spanningCellConfig = spanningCellConfig.map(({ row, ...rest }) => {
          return {
            ...rest,
            row: row + 1
          };
        });
        const { content, ...headerStyles } = headerConfig;
        spanningCellConfig.unshift({
          alignment: "center",
          col: 0,
          colSpan: rows[0].length,
          paddingLeft: 1,
          paddingRight: 1,
          row: 0,
          wrapWord: false,
          ...headerStyles
        });
        adjustedRows.unshift([content, ...Array.from({ length: rows[0].length - 1 }).fill("")]);
      }
      return [
        adjustedRows,
        spanningCellConfig
      ];
    };
    exports2.injectHeaderConfig = injectHeaderConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js
var require_calculateMaximumColumnWidths2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateMaximumColumnWidths.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateMaximumColumnWidths = exports2.calculateMaximumCellWidth = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var utils_1 = require_utils15();
    var calculateMaximumCellWidth = (cell) => {
      return Math.max(...cell.split("\n").map(string_width_1.default));
    };
    exports2.calculateMaximumCellWidth = calculateMaximumCellWidth;
    var calculateMaximumColumnWidths = (rows, spanningCellConfigs = []) => {
      const columnWidths = new Array(rows[0].length).fill(0);
      const rangeCoordinates = spanningCellConfigs.map(utils_1.calculateRangeCoordinate);
      const isSpanningCell = (rowIndex, columnIndex) => {
        return rangeCoordinates.some((rangeCoordinate) => {
          return (0, utils_1.isCellInRange)({
            col: columnIndex,
            row: rowIndex
          }, rangeCoordinate);
        });
      };
      rows.forEach((row, rowIndex) => {
        row.forEach((cell, cellIndex) => {
          if (isSpanningCell(rowIndex, cellIndex)) {
            return;
          }
          columnWidths[cellIndex] = Math.max(columnWidths[cellIndex], (0, exports2.calculateMaximumCellWidth)(cell));
        });
      });
      return columnWidths;
    };
    exports2.calculateMaximumColumnWidths = calculateMaximumColumnWidths;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignSpanningCell.js
var require_alignSpanningCell2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/alignSpanningCell.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.alignVerticalRangeContent = exports2.wrapRangeContent = void 0;
    var string_width_1 = __importDefault2(require_string_width());
    var alignString_1 = require_alignString2();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
    var padTableData_1 = require_padTableData2();
    var truncateTableData_1 = require_truncateTableData2();
    var utils_1 = require_utils15();
    var wrapCell_1 = require_wrapCell2();
    var wrapRangeContent = (rangeConfig, rangeWidth, context) => {
      const { topLeft, paddingRight, paddingLeft, truncate, wrapWord, alignment } = rangeConfig;
      const originalContent = context.rows[topLeft.row][topLeft.col];
      const contentWidth = rangeWidth - paddingLeft - paddingRight;
      return (0, wrapCell_1.wrapCell)((0, truncateTableData_1.truncateString)(originalContent, truncate), contentWidth, wrapWord).map((line) => {
        const alignedLine = (0, alignString_1.alignString)(line, contentWidth, alignment);
        return (0, padTableData_1.padString)(alignedLine, paddingLeft, paddingRight);
      });
    };
    exports2.wrapRangeContent = wrapRangeContent;
    var alignVerticalRangeContent = (range, content, context) => {
      const { rows, drawHorizontalLine, rowHeights } = context;
      const { topLeft, bottomRight, verticalAlignment } = range;
      if (rowHeights.length === 0) {
        return [];
      }
      const totalCellHeight = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, bottomRight.row + 1));
      const totalBorderHeight = bottomRight.row - topLeft.row;
      const hiddenHorizontalBorderCount = (0, utils_1.sequence)(topLeft.row + 1, bottomRight.row).filter((horizontalBorderIndex) => {
        return !drawHorizontalLine(horizontalBorderIndex, rows.length);
      }).length;
      const availableRangeHeight = totalCellHeight + totalBorderHeight - hiddenHorizontalBorderCount;
      return (0, mapDataUsingRowHeights_1.padCellVertically)(content, availableRangeHeight, verticalAlignment).map((line) => {
        if (line.length === 0) {
          return " ".repeat((0, string_width_1.default)(content[0]));
        }
        return line;
      });
    };
    exports2.alignVerticalRangeContent = alignVerticalRangeContent;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js
var require_calculateSpanningCellWidth2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/calculateSpanningCellWidth.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calculateSpanningCellWidth = void 0;
    var utils_1 = require_utils15();
    var calculateSpanningCellWidth = (rangeConfig, dependencies) => {
      const { columnsConfig, drawVerticalLine } = dependencies;
      const { topLeft, bottomRight } = rangeConfig;
      const totalWidth = (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ width }) => {
        return width;
      }));
      const totalPadding = topLeft.col === bottomRight.col ? columnsConfig[topLeft.col].paddingRight + columnsConfig[bottomRight.col].paddingLeft : (0, utils_1.sumArray)(columnsConfig.slice(topLeft.col, bottomRight.col + 1).map(({ paddingLeft, paddingRight }) => {
        return paddingLeft + paddingRight;
      }));
      const totalBorderWidths = bottomRight.col - topLeft.col;
      const totalHiddenVerticalBorders = (0, utils_1.sequence)(topLeft.col + 1, bottomRight.col).filter((verticalBorderIndex) => {
        return !drawVerticalLine(verticalBorderIndex, columnsConfig.length);
      }).length;
      return totalWidth + totalPadding + totalBorderWidths - totalHiddenVerticalBorders;
    };
    exports2.calculateSpanningCellWidth = calculateSpanningCellWidth;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeRangeConfig.js
var require_makeRangeConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeRangeConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeRangeConfig = void 0;
    var utils_1 = require_utils15();
    var makeRangeConfig = (spanningCellConfig, columnsConfig) => {
      const { topLeft, bottomRight } = (0, utils_1.calculateRangeCoordinate)(spanningCellConfig);
      const cellConfig = {
        ...columnsConfig[topLeft.col],
        ...spanningCellConfig,
        paddingRight: spanningCellConfig.paddingRight ?? columnsConfig[bottomRight.col].paddingRight
      };
      return {
        ...cellConfig,
        bottomRight,
        topLeft
      };
    };
    exports2.makeRangeConfig = makeRangeConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/spanningCellManager.js
var require_spanningCellManager2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/spanningCellManager.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createSpanningCellManager = void 0;
    var alignSpanningCell_1 = require_alignSpanningCell2();
    var calculateSpanningCellWidth_1 = require_calculateSpanningCellWidth2();
    var makeRangeConfig_1 = require_makeRangeConfig2();
    var utils_1 = require_utils15();
    var findRangeConfig = (cell, rangeConfigs) => {
      return rangeConfigs.find((rangeCoordinate) => {
        return (0, utils_1.isCellInRange)(cell, rangeCoordinate);
      });
    };
    var getContainingRange = (rangeConfig, context) => {
      const width = (0, calculateSpanningCellWidth_1.calculateSpanningCellWidth)(rangeConfig, context);
      const wrappedContent = (0, alignSpanningCell_1.wrapRangeContent)(rangeConfig, width, context);
      const alignedContent = (0, alignSpanningCell_1.alignVerticalRangeContent)(rangeConfig, wrappedContent, context);
      const getCellContent = (rowIndex) => {
        const { topLeft } = rangeConfig;
        const { drawHorizontalLine, rowHeights } = context;
        const totalWithinHorizontalBorderHeight = rowIndex - topLeft.row;
        const totalHiddenHorizontalBorderHeight = (0, utils_1.sequence)(topLeft.row + 1, rowIndex).filter((index) => {
          return !drawHorizontalLine?.(index, rowHeights.length);
        }).length;
        const offset = (0, utils_1.sumArray)(rowHeights.slice(topLeft.row, rowIndex)) + totalWithinHorizontalBorderHeight - totalHiddenHorizontalBorderHeight;
        return alignedContent.slice(offset, offset + rowHeights[rowIndex]);
      };
      const getBorderContent = (borderIndex) => {
        const { topLeft } = rangeConfig;
        const offset = (0, utils_1.sumArray)(context.rowHeights.slice(topLeft.row, borderIndex)) + (borderIndex - topLeft.row - 1);
        return alignedContent[offset];
      };
      return {
        ...rangeConfig,
        extractBorderContent: getBorderContent,
        extractCellContent: getCellContent,
        height: wrappedContent.length,
        width
      };
    };
    var inSameRange = (cell1, cell2, ranges) => {
      const range1 = findRangeConfig(cell1, ranges);
      const range2 = findRangeConfig(cell2, ranges);
      if (range1 && range2) {
        return (0, utils_1.areCellEqual)(range1.topLeft, range2.topLeft);
      }
      return false;
    };
    var hashRange = (range) => {
      const { row, col } = range.topLeft;
      return `${row}/${col}`;
    };
    var createSpanningCellManager = (parameters) => {
      const { spanningCellConfigs, columnsConfig } = parameters;
      const ranges = spanningCellConfigs.map((config) => {
        return (0, makeRangeConfig_1.makeRangeConfig)(config, columnsConfig);
      });
      const rangeCache = {};
      let rowHeights = [];
      return {
        getContainingRange: (cell, options) => {
          const originalRow = options?.mapped ? (0, utils_1.findOriginalRowIndex)(rowHeights, cell.row) : cell.row;
          const range = findRangeConfig({
            ...cell,
            row: originalRow
          }, ranges);
          if (!range) {
            return void 0;
          }
          if (rowHeights.length === 0) {
            return getContainingRange(range, {
              ...parameters,
              rowHeights
            });
          }
          const hash = hashRange(range);
          rangeCache[hash] ?? (rangeCache[hash] = getContainingRange(range, {
            ...parameters,
            rowHeights
          }));
          return rangeCache[hash];
        },
        inSameRange: (cell1, cell2) => {
          return inSameRange(cell1, cell2, ranges);
        },
        rowHeights,
        setRowHeights: (_rowHeights) => {
          rowHeights = _rowHeights;
        }
      };
    };
    exports2.createSpanningCellManager = createSpanningCellManager;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js
var require_validateSpanningCellConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateSpanningCellConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateSpanningCellConfig = void 0;
    var utils_1 = require_utils15();
    var inRange = (start, end, value) => {
      return start <= value && value <= end;
    };
    var validateSpanningCellConfig = (rows, configs) => {
      const [nRow, nCol] = [rows.length, rows[0].length];
      configs.forEach((config, configIndex) => {
        const { colSpan, rowSpan } = config;
        if (colSpan === void 0 && rowSpan === void 0) {
          throw new Error(`Expect at least colSpan or rowSpan is provided in config.spanningCells[${configIndex}]`);
        }
        if (colSpan !== void 0 && colSpan < 1) {
          throw new Error(`Expect colSpan is not equal zero, instead got: ${colSpan} in config.spanningCells[${configIndex}]`);
        }
        if (rowSpan !== void 0 && rowSpan < 1) {
          throw new Error(`Expect rowSpan is not equal zero, instead got: ${rowSpan} in config.spanningCells[${configIndex}]`);
        }
      });
      const rangeCoordinates = configs.map(utils_1.calculateRangeCoordinate);
      rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
        if (!inRange(0, nCol - 1, topLeft.col) || !inRange(0, nRow - 1, topLeft.row) || !inRange(0, nCol - 1, bottomRight.col) || !inRange(0, nRow - 1, bottomRight.row)) {
          throw new Error(`Some cells in config.spanningCells[${rangeIndex}] are out of the table`);
        }
      });
      const configOccupy = Array.from({ length: nRow }, () => {
        return Array.from({ length: nCol });
      });
      rangeCoordinates.forEach(({ topLeft, bottomRight }, rangeIndex) => {
        (0, utils_1.sequence)(topLeft.row, bottomRight.row).forEach((row) => {
          (0, utils_1.sequence)(topLeft.col, bottomRight.col).forEach((col) => {
            if (configOccupy[row][col] !== void 0) {
              throw new Error(`Spanning cells in config.spanningCells[${configOccupy[row][col]}] and config.spanningCells[${rangeIndex}] are overlap each other`);
            }
            configOccupy[row][col] = rangeIndex;
          });
        });
      });
    };
    exports2.validateSpanningCellConfig = validateSpanningCellConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeTableConfig.js
var require_makeTableConfig2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/makeTableConfig.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeTableConfig = void 0;
    var calculateMaximumColumnWidths_1 = require_calculateMaximumColumnWidths2();
    var spanningCellManager_1 = require_spanningCellManager2();
    var utils_1 = require_utils15();
    var validateConfig_1 = require_validateConfig2();
    var validateSpanningCellConfig_1 = require_validateSpanningCellConfig2();
    var makeColumnsConfig = (rows, columns, columnDefault, spanningCellConfigs) => {
      const columnWidths = (0, calculateMaximumColumnWidths_1.calculateMaximumColumnWidths)(rows, spanningCellConfigs);
      return rows[0].map((_, columnIndex) => {
        return {
          alignment: "left",
          paddingLeft: 1,
          paddingRight: 1,
          truncate: Number.POSITIVE_INFINITY,
          verticalAlignment: "top",
          width: columnWidths[columnIndex],
          wrapWord: false,
          ...columnDefault,
          ...columns?.[columnIndex]
        };
      });
    };
    var makeTableConfig = (rows, config = {}, injectedSpanningCellConfig) => {
      (0, validateConfig_1.validateConfig)("config.json", config);
      (0, validateSpanningCellConfig_1.validateSpanningCellConfig)(rows, config.spanningCells ?? []);
      const spanningCellConfigs = injectedSpanningCellConfig ?? config.spanningCells ?? [];
      const columnsConfig = makeColumnsConfig(rows, config.columns, config.columnDefault, spanningCellConfigs);
      const drawVerticalLine = config.drawVerticalLine ?? (() => {
        return true;
      });
      const drawHorizontalLine = config.drawHorizontalLine ?? (() => {
        return true;
      });
      return {
        ...config,
        border: (0, utils_1.makeBorderConfig)(config.border),
        columns: columnsConfig,
        drawHorizontalLine,
        drawVerticalLine,
        singleLine: config.singleLine ?? false,
        spanningCellManager: (0, spanningCellManager_1.createSpanningCellManager)({
          columnsConfig,
          drawHorizontalLine,
          drawVerticalLine,
          rows,
          spanningCellConfigs
        })
      };
    };
    exports2.makeTableConfig = makeTableConfig;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateTableData.js
var require_validateTableData2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/validateTableData.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateTableData = void 0;
    var utils_1 = require_utils15();
    var validateTableData = (rows) => {
      if (!Array.isArray(rows)) {
        throw new TypeError("Table data must be an array.");
      }
      if (rows.length === 0) {
        throw new Error("Table must define at least one row.");
      }
      if (rows[0].length === 0) {
        throw new Error("Table must define at least one column.");
      }
      const columnNumber = rows[0].length;
      for (const row of rows) {
        if (!Array.isArray(row)) {
          throw new TypeError("Table row data must be an array.");
        }
        if (row.length !== columnNumber) {
          throw new Error("Table must have a consistent number of cells.");
        }
        for (const cell of row) {
          if (/[\u0001-\u0006\u0008\u0009\u000B-\u001A]/.test((0, utils_1.normalizeString)(String(cell)))) {
            throw new Error("Table data must not contain control characters.");
          }
        }
      }
    };
    exports2.validateTableData = validateTableData;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/table.js
var require_table2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/table.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.table = void 0;
    var alignTableData_1 = require_alignTableData2();
    var calculateOutputColumnWidths_1 = require_calculateOutputColumnWidths2();
    var calculateRowHeights_1 = require_calculateRowHeights2();
    var drawTable_1 = require_drawTable2();
    var injectHeaderConfig_1 = require_injectHeaderConfig2();
    var makeTableConfig_1 = require_makeTableConfig2();
    var mapDataUsingRowHeights_1 = require_mapDataUsingRowHeights2();
    var padTableData_1 = require_padTableData2();
    var stringifyTableData_1 = require_stringifyTableData2();
    var truncateTableData_1 = require_truncateTableData2();
    var utils_1 = require_utils15();
    var validateTableData_1 = require_validateTableData2();
    var table = (data, userConfig = {}) => {
      (0, validateTableData_1.validateTableData)(data);
      let rows = (0, stringifyTableData_1.stringifyTableData)(data);
      const [injectedRows, injectedSpanningCellConfig] = (0, injectHeaderConfig_1.injectHeaderConfig)(rows, userConfig);
      const config = (0, makeTableConfig_1.makeTableConfig)(injectedRows, userConfig, injectedSpanningCellConfig);
      rows = (0, truncateTableData_1.truncateTableData)(injectedRows, (0, utils_1.extractTruncates)(config));
      const rowHeights = (0, calculateRowHeights_1.calculateRowHeights)(rows, config);
      config.spanningCellManager.setRowHeights(rowHeights);
      rows = (0, mapDataUsingRowHeights_1.mapDataUsingRowHeights)(rows, rowHeights, config);
      rows = (0, alignTableData_1.alignTableData)(rows, config);
      rows = (0, padTableData_1.padTableData)(rows, config);
      const outputColumnWidths = (0, calculateOutputColumnWidths_1.calculateOutputColumnWidths)(config);
      return (0, drawTable_1.drawTable)(rows, outputColumnWidths, rowHeights, config);
    };
    exports2.table = table;
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/types/api.js
var require_api2 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/types/api.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/index.js
var require_src4 = __commonJS({
  "../node_modules/.pnpm/@zkochan+table@2.0.1/node_modules/@zkochan/table/dist/src/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getBorderCharacters = exports2.createStream = exports2.table = void 0;
    var createStream_1 = require_createStream2();
    Object.defineProperty(exports2, "createStream", { enumerable: true, get: function() {
      return createStream_1.createStream;
    } });
    var getBorderCharacters_1 = require_getBorderCharacters2();
    Object.defineProperty(exports2, "getBorderCharacters", { enumerable: true, get: function() {
      return getBorderCharacters_1.getBorderCharacters;
    } });
    var table_1 = require_table2();
    Object.defineProperty(exports2, "table", { enumerable: true, get: function() {
      return table_1.table;
    } });
    __exportStar2(require_api2(), exports2);
  }
});

// ../lockfile/plugin-commands-audit/lib/fix.js
var require_fix = __commonJS({
  "../lockfile/plugin-commands-audit/lib/fix.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fix = fix;
    var read_project_manifest_1 = require_lib13();
    var difference_1 = __importDefault2(require_difference());
    async function fix(dir, auditReport) {
      const { manifest, writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(dir);
      const vulnOverrides = createOverrides(Object.values(auditReport.advisories), manifest.pnpm?.auditConfig?.ignoreCves);
      if (Object.values(vulnOverrides).length === 0)
        return vulnOverrides;
      await writeProjectManifest({
        ...manifest,
        pnpm: {
          ...manifest.pnpm,
          overrides: {
            ...manifest.pnpm?.overrides,
            ...vulnOverrides
          }
        }
      });
      return vulnOverrides;
    }
    function createOverrides(advisories, ignoreCves) {
      if (ignoreCves) {
        advisories = advisories.filter(({ cves }) => (0, difference_1.default)(cves, ignoreCves).length > 0);
      }
      return Object.fromEntries(advisories.filter(({ vulnerable_versions, patched_versions }) => vulnerable_versions !== ">=0.0.0" && patched_versions !== "<0.0.0").map((advisory) => [
        `${advisory.module_name}@${advisory.vulnerable_versions}`,
        advisory.patched_versions
      ]));
    }
  }
});

// ../lockfile/plugin-commands-audit/lib/audit.js
var require_audit2 = __commonJS({
  "../lockfile/plugin-commands-audit/lib/audit.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var audit_1 = require_lib127();
    var network_auth_header_1 = require_lib89();
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var lockfile_fs_1 = require_lib112();
    var table_1 = require_src4();
    var chalk_1 = __importDefault2(require_source());
    var difference_1 = __importDefault2(require_difference());
    var pick_1 = __importDefault2(require_pick());
    var pickBy_1 = __importDefault2(require_pickBy());
    var render_help_1 = __importDefault2(require_lib47());
    var fix_1 = require_fix();
    var AUDIT_LEVEL_NUMBER = {
      low: 0,
      moderate: 1,
      high: 2,
      critical: 3
    };
    var AUDIT_COLOR = {
      low: chalk_1.default.bold,
      moderate: chalk_1.default.bold.yellow,
      high: chalk_1.default.bold.red,
      critical: chalk_1.default.bold.red
    };
    var AUDIT_TABLE_OPTIONS = {
      ...cli_utils_1.TABLE_OPTIONS,
      columns: {
        1: {
          width: 54,
          // = table width of 80
          wrapWord: true
        }
      }
    };
    var MAX_PATHS_COUNT = 3;
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "dev",
          "json",
          "only",
          "optional",
          "production",
          "registry"
        ], config_1.types),
        "audit-level": ["low", "moderate", "high", "critical"],
        fix: Boolean,
        "ignore-registry-errors": Boolean
      };
    }
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["audit"];
    function help() {
      return (0, render_help_1.default)({
        description: "Checks for known security issues with the installed packages.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Add overrides to the package.json file in order to force non-vulnerable versions of the dependencies",
                name: "--fix"
              },
              {
                description: "Output audit report in JSON format",
                name: "--json"
              },
              {
                description: "Only print advisories with severity greater than or equal to one of the following: low|moderate|high|critical. Default: low",
                name: "--audit-level <severity>"
              },
              {
                description: 'Only audit "devDependencies"',
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: 'Only audit "dependencies" and "optionalDependencies"',
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: `Don't audit "optionalDependencies"`,
                name: "--no-optional"
              },
              {
                description: "Use exit code 0 if the registry responds with an error. Useful when audit checks are used in CI. A build should fail because the registry has issues.",
                name: "--ignore-registry-errors"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("audit"),
        usages: ["pnpm audit [options]"]
      });
    }
    async function handler(opts) {
      const lockfileDir = opts.lockfileDir ?? opts.dir;
      const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: true });
      if (lockfile == null) {
        throw new error_1.PnpmError("AUDIT_NO_LOCKFILE", `No ${constants_1.WANTED_LOCKFILE} found: Cannot audit a project without a lockfile`);
      }
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      let auditReport;
      const getAuthHeader = (0, network_auth_header_1.createGetAuthHeaderByURI)({ allSettings: opts.rawConfig, userSettings: opts.userConfig });
      try {
        auditReport = await (0, audit_1.audit)(lockfile, getAuthHeader, {
          agentOptions: {
            ca: opts.ca,
            cert: opts.cert,
            httpProxy: opts.httpProxy,
            httpsProxy: opts.httpsProxy,
            key: opts.key,
            localAddress: opts.localAddress,
            maxSockets: opts.maxSockets,
            noProxy: opts.noProxy,
            strictSsl: opts.strictSsl,
            timeout: opts.fetchTimeout
          },
          include,
          lockfileDir,
          registry: opts.registries.default,
          retry: {
            factor: opts.fetchRetryFactor,
            maxTimeout: opts.fetchRetryMaxtimeout,
            minTimeout: opts.fetchRetryMintimeout,
            retries: opts.fetchRetries
          },
          timeout: opts.fetchTimeout,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        });
      } catch (err) {
        if (opts.ignoreRegistryErrors) {
          return {
            exitCode: 0,
            output: err.message
          };
        }
        throw err;
      }
      if (opts.fix) {
        const newOverrides = await (0, fix_1.fix)(opts.dir, auditReport);
        if (Object.values(newOverrides).length === 0) {
          return {
            exitCode: 0,
            output: "No fixes were made"
          };
        }
        return {
          exitCode: 0,
          output: `${Object.values(newOverrides).length} overrides were added to package.json to fix vulnerabilities.
Run "pnpm install" to apply the fixes.

The added overrides:
${JSON.stringify(newOverrides, null, 2)}`
        };
      }
      const vulnerabilities = auditReport.metadata.vulnerabilities;
      const ignoredVulnerabilities = {
        low: 0,
        moderate: 0,
        high: 0,
        critical: 0
      };
      const totalVulnerabilityCount = Object.values(vulnerabilities).reduce((sum, vulnerabilitiesCount) => sum + vulnerabilitiesCount, 0);
      const ignoreGhsas = opts.rootProjectManifest?.pnpm?.auditConfig?.ignoreGhsas;
      if (ignoreGhsas) {
        auditReport.advisories = (0, pickBy_1.default)(({ github_advisory_id, severity }) => {
          if (!ignoreGhsas.includes(github_advisory_id)) {
            return true;
          }
          ignoredVulnerabilities[severity] += 1;
          return false;
        }, auditReport.advisories);
      }
      const ignoreCves = opts.rootProjectManifest?.pnpm?.auditConfig?.ignoreCves;
      if (ignoreCves) {
        auditReport.advisories = (0, pickBy_1.default)(({ cves, severity }) => {
          if (cves.length === 0 || (0, difference_1.default)(cves, ignoreCves).length > 0) {
            return true;
          }
          ignoredVulnerabilities[severity] += 1;
          return false;
        }, auditReport.advisories);
      }
      if (opts.json) {
        return {
          exitCode: totalVulnerabilityCount > 0 ? 1 : 0,
          output: JSON.stringify(auditReport, null, 2)
        };
      }
      let output = "";
      const auditLevel = AUDIT_LEVEL_NUMBER[opts.auditLevel ?? "low"];
      let advisories = Object.values(auditReport.advisories);
      advisories = advisories.filter(({ severity }) => AUDIT_LEVEL_NUMBER[severity] >= auditLevel).sort((a1, a2) => AUDIT_LEVEL_NUMBER[a2.severity] - AUDIT_LEVEL_NUMBER[a1.severity]);
      for (const advisory of advisories) {
        const paths = advisory.findings.map(({ paths: paths2 }) => paths2).flat();
        output += (0, table_1.table)([
          [AUDIT_COLOR[advisory.severity](advisory.severity), chalk_1.default.bold(advisory.title)],
          ["Package", advisory.module_name],
          ["Vulnerable versions", advisory.vulnerable_versions],
          ["Patched versions", advisory.patched_versions],
          [
            "Paths",
            (paths.length > MAX_PATHS_COUNT ? paths.slice(0, MAX_PATHS_COUNT).concat([
              `... Found ${paths.length} paths, run \`pnpm why ${advisory.module_name}\` for more information`
            ]) : paths).join("\n\n")
          ],
          ["More info", advisory.url]
        ], AUDIT_TABLE_OPTIONS);
      }
      return {
        exitCode: output ? 1 : 0,
        output: `${output}${reportSummary(auditReport.metadata.vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities)}`
      };
    }
    function reportSummary(vulnerabilities, totalVulnerabilityCount, ignoredVulnerabilities) {
      if (totalVulnerabilityCount === 0)
        return "No known vulnerabilities found\n";
      return `${chalk_1.default.red(totalVulnerabilityCount)} vulnerabilities found
Severity: ${Object.entries(vulnerabilities).filter(([auditLevel, vulnerabilitiesCount]) => vulnerabilitiesCount > 0).map(([auditLevel, vulnerabilitiesCount]) => AUDIT_COLOR[auditLevel](`${vulnerabilitiesCount} ${auditLevel}${ignoredVulnerabilities[auditLevel] > 0 ? ` (${ignoredVulnerabilities[auditLevel]} ignored)` : ""}`)).join(" | ")}`;
    }
  }
});

// ../lockfile/plugin-commands-audit/lib/index.js
var require_lib128 = __commonJS({
  "../lockfile/plugin-commands-audit/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.audit = void 0;
    var audit = __importStar3(require_audit2());
    exports2.audit = audit;
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/constants.js
var require_constants14 = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/constants.js"(exports2, module2) {
    var COMPLETION_DIR = "~/.config/tabtab";
    var SUPPORTED_SHELLS = (
      /** @type {const} */
      ["bash", "fish", "pwsh", "zsh"]
    );
    var SHELL_LOCATIONS = (
      /** @type {const} */
      {
        bash: "~/.bashrc",
        zsh: "~/.zshrc",
        fish: "~/.config/fish/config.fish",
        pwsh: "~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1"
      }
    );
    var COMPLETION_FILE_EXT = (
      /** @type {const} */
      {
        bash: "bash",
        fish: "fish",
        pwsh: "ps1",
        zsh: "zsh"
      }
    );
    module2.exports = {
      COMPLETION_DIR,
      SUPPORTED_SHELLS,
      SHELL_LOCATIONS,
      COMPLETION_FILE_EXT
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js
var require_tabtabDebug = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/tabtabDebug.js"(exports2, module2) {
    var fs = require("fs");
    var util = require("util");
    var tabtabDebug = (name) => {
      let debug = require_src3()(name);
      if (process.env.TABTAB_DEBUG) {
        const file = process.env.TABTAB_DEBUG;
        const stream = fs.createWriteStream(file, {
          flags: "a+"
        });
        const log = (...args) => {
          args = args.map((arg) => {
            if (typeof arg === "string") return arg;
            return JSON.stringify(arg);
          });
          const str = `${util.format(...args)}
`;
          stream.write(str);
        };
        if (process.env.COMP_LINE) {
          debug = log;
        } else {
          debug.log = log;
        }
      }
      return debug;
    };
    module2.exports = tabtabDebug;
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/prompt.js
var require_prompt2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/prompt.js"(exports2, module2) {
    var enquirer = require_enquirer();
    var path2 = require("path");
    var { SUPPORTED_SHELLS, SHELL_LOCATIONS } = require_constants14();
    var debug = require_tabtabDebug()("tabtab:prompt");
    var prompt = async () => {
      const questions = [
        {
          type: "select",
          name: "shell",
          message: "Which Shell do you use ?",
          choices: SUPPORTED_SHELLS,
          default: "bash"
        }
      ];
      const { shell } = (
        /** @type {{ shell: SupportedShell }} */
        await enquirer.prompt(questions)
      );
      debug("answers", shell);
      if (!(shell in SHELL_LOCATIONS)) {
        throw new Error(`Unsupported shell: ${shell}`);
      }
      const location = SHELL_LOCATIONS[
        /** @type {SupportedShell} */
        shell
      ];
      debug(`Will install completion to ${location}`);
      const initialAnswer = { location, shell };
      const { locationOK } = (
        /** @type {{ locationOK: Boolean }} */
        await enquirer.prompt({
          type: "confirm",
          name: "locationOK",
          message: `We will install completion to ${location}, is it ok ?`
        })
      );
      if (locationOK) {
        debug("location is ok, return", initialAnswer);
        return initialAnswer;
      }
      const { userLocation } = (
        /** @type {{ userLocation: String }} */
        await enquirer.prompt({
          name: "userLocation",
          message: "Which path then ? Must be absolute.",
          type: "input",
          validate: (input) => {
            debug("Validating input", input);
            return path2.isAbsolute(input);
          }
        })
      );
      console.log(`Very well, we will install using ${userLocation}`);
      return { shell, location: userLocation };
    };
    module2.exports = prompt;
  }
});

// ../node_modules/.pnpm/untildify@4.0.0/node_modules/untildify/index.js
var require_untildify = __commonJS({
  "../node_modules/.pnpm/untildify@4.0.0/node_modules/untildify/index.js"(exports2, module2) {
    "use strict";
    var os = require("os");
    var homeDirectory = os.homedir();
    module2.exports = (pathWithTilde) => {
      if (typeof pathWithTilde !== "string") {
        throw new TypeError(`Expected a string, got ${typeof pathWithTilde}`);
      }
      return homeDirectory ? pathWithTilde.replace(/^~(?=$|\/|\\)/, homeDirectory) : pathWithTilde;
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/exists.js
var require_exists = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/exists.js"(exports2, module2) {
    var fs = require("fs");
    var untildify = require_untildify();
    var { promisify } = require("util");
    var readFile = promisify(fs.readFile);
    module2.exports = async (file) => {
      let fileExists;
      try {
        await readFile(untildify(file));
        fileExists = true;
      } catch (err) {
        fileExists = false;
      }
      return fileExists;
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/index.js
var require_utils16 = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/utils/index.js"(exports2, module2) {
    var tabtabDebug = require_tabtabDebug();
    var exists = require_exists();
    module2.exports = {
      tabtabDebug,
      exists
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/filename.js
var require_filename = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/filename.js"(exports2, module2) {
    var { COMPLETION_FILE_EXT } = require_constants14();
    var templateFileName = (shell) => {
      const ext = COMPLETION_FILE_EXT[shell];
      if (!ext) {
        throw new Error(`Unsupported shell: ${shell}`);
      }
      return `completion.${ext}`;
    };
    var completionFileName = (name, shell) => {
      const ext = COMPLETION_FILE_EXT[shell];
      if (!ext) {
        throw new Error(`Unsupported shell: ${shell}`);
      }
      return `${name}.${ext}`;
    };
    var tabtabFileName = (shell) => {
      const ext = COMPLETION_FILE_EXT[shell];
      if (!ext) {
        throw new Error(`Unsupported shell: ${shell}`);
      }
      return `__tabtab.${ext}`;
    };
    module2.exports = {
      templateFileName,
      completionFileName,
      tabtabFileName
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/installer.js
var require_installer = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/installer.js"(exports2, module2) {
    var fs = require("fs");
    var path2 = require("path");
    var untildify = require_untildify();
    var { promisify } = require("util");
    var { tabtabDebug, exists } = require_utils16();
    var { SUPPORTED_SHELLS } = require_constants14();
    var debug = tabtabDebug("tabtab:installer");
    var readFile = promisify(fs.readFile);
    var writeFile = promisify(fs.writeFile);
    var unlink = promisify(fs.unlink);
    var mkdir = promisify(fs.mkdir);
    var {
      SHELL_LOCATIONS,
      COMPLETION_DIR
    } = require_constants14();
    var {
      templateFileName,
      completionFileName,
      tabtabFileName
    } = require_filename();
    var scriptFromShell = (shell) => path2.join(__dirname, "templates", templateFileName(shell));
    var locationFromShell = (shell) => {
      const location = SHELL_LOCATIONS[shell];
      if (!location) {
        throw new Error(`Unsupported shell: ${shell}`);
      }
      return untildify(location);
    };
    var sourceLineForShell = (scriptname, shell) => {
      scriptname = scriptname.replaceAll("\\", "/");
      if (shell === "fish") {
        return `[ -f ${scriptname} ]; and . ${scriptname}; or true`;
      }
      if (shell === "zsh") {
        return `[[ -f ${scriptname} ]] && . ${scriptname} || true`;
      }
      if (shell === "pwsh") {
        return `if (Test-Path ${scriptname}) { . ${scriptname} }`;
      }
      if (shell === "bash") {
        return `[ -f ${scriptname} ] && . ${scriptname} || true`;
      }
      throw new Error(`Unsupported shell: ${shell}`);
    };
    var isInShellConfig = (filename) => [
      SHELL_LOCATIONS.bash,
      SHELL_LOCATIONS.zsh,
      SHELL_LOCATIONS.fish,
      SHELL_LOCATIONS.pwsh,
      untildify(SHELL_LOCATIONS.bash),
      untildify(SHELL_LOCATIONS.zsh),
      untildify(SHELL_LOCATIONS.fish),
      untildify(SHELL_LOCATIONS.pwsh)
    ].includes(filename);
    var checkFilenameForLine = async (filename, line) => {
      debug('Check filename (%s) for "%s"', filename, line);
      let filecontent = "";
      try {
        filecontent = await readFile(untildify(filename), "utf8");
      } catch (err) {
        if (err.code !== "ENOENT") {
          console.error(
            "Got an error while trying to read from %s file",
            filename,
            err
          );
          return false;
        }
      }
      return !!filecontent.match(`${line}`);
    };
    var writeLineToFilename = ({ filename, scriptname, name, shell }) => new Promise((resolve, reject) => {
      const filepath = untildify(filename);
      debug("Creating directory for %s file", filepath);
      mkdir(path2.dirname(filepath), { recursive: true }).then(() => {
        const stream = fs.createWriteStream(filepath, { flags: "a" });
        stream.on("error", reject);
        stream.on("finish", () => resolve());
        debug("Writing to shell configuration file (%s)", filename);
        debug("scriptname:", scriptname);
        const inShellConfig = isInShellConfig(filename);
        if (inShellConfig) {
          stream.write(`
# tabtab source for packages`);
        } else {
          stream.write(`
# tabtab source for ${name} package`);
        }
        stream.write("\n# uninstall by removing these lines");
        stream.write(`
${sourceLineForShell(scriptname, shell)}`);
        stream.end("\n");
        console.log('=> Added tabtab source line in "%s" file', filename);
      }).catch((err) => {
        console.error("mkdirp ERROR", err);
        reject(err);
      });
    });
    var writeToShellConfig = async ({ location, name, shell }) => {
      const scriptname = path2.join(
        COMPLETION_DIR,
        shell,
        tabtabFileName(shell)
      );
      const filename = location;
      const existing = await checkFilenameForLine(filename, scriptname);
      if (existing) {
        return console.log("=> Tabtab line already exists in %s file", filename);
      }
      return writeLineToFilename({
        filename,
        scriptname,
        name,
        shell
      });
    };
    var writeToTabtabScript = async ({ name, shell }) => {
      const filename = path2.join(
        COMPLETION_DIR,
        shell,
        tabtabFileName(shell)
      );
      const scriptname = path2.join(
        COMPLETION_DIR,
        shell,
        completionFileName(name, shell)
      );
      const existing = await checkFilenameForLine(filename, scriptname);
      if (existing) {
        return console.log("=> Tabtab line already exists in %s file", filename);
      }
      return writeLineToFilename({ filename, scriptname, name, shell });
    };
    var getCompletionScript = async ({ name, completer, shell }) => {
      const templatePath = scriptFromShell(shell);
      const templateContent = await readFile(templatePath, "utf8");
      const scriptContent = templateContent.replaceAll("{pkgname}", name).replaceAll("{completer}", completer).replaceAll(/\r?\n/g, "\n");
      return scriptContent;
    };
    var writeToCompletionScript = async ({ name, completer, shell }) => {
      const filename = untildify(
        path2.join(COMPLETION_DIR, shell, completionFileName(name, shell))
      );
      try {
        const filecontent = await getCompletionScript({ name, completer, shell });
        debug("Writing completion script to", filename);
        await mkdir(path2.dirname(filename), { recursive: true });
        await writeFile(filename, filecontent);
        console.log("=> Wrote completion script to %s file", filename);
      } catch (err) {
        console.error("ERROR:", err);
      }
    };
    var install = async (options) => {
      debug("Install with options", options);
      if (!options) {
        throw new Error("options is required");
      }
      if (!options.name) {
        throw new Error("options.name is required");
      }
      if (!options.completer) {
        throw new Error("options.completer is required");
      }
      if (!options.location) {
        throw new Error("options.location is required");
      }
      await Promise.all([
        writeToShellConfig(options),
        writeToTabtabScript(options),
        writeToCompletionScript(options)
      ]);
      const { location, name } = options;
      console.log(`
    => Tabtab source line added to ${location} for ${name} package.

    Make sure to reload your SHELL.
  `);
    };
    var removeLinesFromFilename = async (filename, name) => {
      debug("Removing lines from %s file, looking for %s package", filename, name);
      if (!await exists(filename)) {
        return debug("File %s does not exist", filename);
      }
      const filecontent = await readFile(filename, "utf8");
      const lines = filecontent.split(/\r?\n/);
      const sourceLine1 = `# tabtab source for packages`;
      const sourceLine2 = `# tabtab source for ${name} package`;
      const hasLine1 = filecontent.includes(sourceLine1);
      if (!hasLine1) {
        debug("File %s does not include the line: %s", filename, sourceLine1);
      }
      const hasLine2 = filecontent.includes(sourceLine2);
      if (!hasLine2) {
        debug("File %s does not include the line: %s", filename, sourceLine2);
      }
      const hasLine = hasLine1 || hasLine2;
      if (!hasLine) {
        return debug("File %s does not include either line", filename);
      }
      let lineIndex = -1;
      const buffer = lines.map((line, index) => {
        const match = line.match(sourceLine1) ?? line.match(sourceLine2);
        if (match) {
          lineIndex = index;
        } else if (lineIndex + 3 <= index) {
          lineIndex = -1;
        }
        return lineIndex === -1 ? line : "";
      }).map((line, index, array) => {
        const next = array[index + 1];
        if (line === "" && next === "") {
          return;
        }
        return line;
      }).filter((line) => line !== void 0).join("\n").trim();
      await writeFile(filename, buffer);
      console.log("=> Removed tabtab source lines from %s file", filename);
    };
    var uninstall = async (options) => {
      debug("Uninstall with options", options);
      if (!options) {
        throw new Error("options is required");
      }
      const { name, shell } = options;
      if (!name) {
        throw new Error("Unable to uninstall if options.name is missing");
      }
      if (!shell) {
        await Promise.all(SUPPORTED_SHELLS.map((shell2) => uninstall({ name, shell: shell2 })));
        return;
      }
      const completionScript = untildify(
        path2.join(COMPLETION_DIR, shell, completionFileName(name, shell))
      );
      if (await exists(completionScript)) {
        await unlink(completionScript);
        console.log("=> Removed completion script (%s)", completionScript);
      }
      const tabtabScript = untildify(
        path2.join(
          COMPLETION_DIR,
          shell,
          tabtabFileName(shell)
        )
      );
      await removeLinesFromFilename(tabtabScript, name);
      const isEmpty = (await readFile(tabtabScript, "utf8")).trim() === "";
      if (isEmpty) {
        const shellScript = locationFromShell(shell);
        debug(
          "File %s is empty. Removing source line from %s file",
          tabtabScript,
          shellScript
        );
        await removeLinesFromFilename(shellScript, name);
      }
      console.log("=> Uninstalled completion for %s package", name);
    };
    module2.exports = {
      install,
      uninstall,
      checkFilenameForLine,
      getCompletionScript,
      writeToShellConfig,
      writeToTabtabScript,
      writeToCompletionScript,
      writeLineToFilename
    };
  }
});

// ../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/index.js
var require_lib129 = __commonJS({
  "../node_modules/.pnpm/@pnpm+tabtab@0.5.4/node_modules/@pnpm/tabtab/lib/index.js"(exports2, module2) {
    var path2 = require("path");
    var { SUPPORTED_SHELLS, SHELL_LOCATIONS } = require_constants14();
    var prompt = require_prompt2();
    var installer = require_installer();
    var { tabtabDebug } = require_utils16();
    var debug = tabtabDebug("tabtab");
    var isShellSupported = (shell) => (
      /** @type {ReadonlyArray.<String>} */
      SUPPORTED_SHELLS.includes(shell)
    );
    var getShellFromEnv = (env) => {
      if (!env.SHELL) {
        throw new TypeError("SHELL cannot be empty");
      }
      const shell = path2.basename(env.SHELL);
      if (!isShellSupported(shell)) {
        const supportedValues = SUPPORTED_SHELLS.map((x) => `'${x}'`).join(", ");
        throw new TypeError(`SHELL was set to an invalid value (${env.SHELL}). Supported values are: ${supportedValues}`);
      }
      return shell;
    };
    var getCompletionScript = async ({ name, completer, shell }) => {
      if (!name) throw new TypeError("options.name is required");
      if (!completer) throw new TypeError("options.completer is required");
      if (!shell) throw new TypeError("options.shell is required");
      const completionScriptContent = await installer.getCompletionScript({ name, completer, shell });
      return completionScriptContent;
    };
    var install = async (options) => {
      const { name, completer } = options;
      if (!name) throw new TypeError("options.name is required");
      if (!completer) throw new TypeError("options.completer is required");
      if (options.shell) {
        const location2 = SHELL_LOCATIONS[options.shell];
        if (!location2) {
          throw new Error(`Couldn't find shell location for ${options.shell}`);
        }
        await installer.install({
          name,
          completer,
          location: location2,
          shell: options.shell
        });
        return;
      }
      const { location, shell } = await prompt();
      await installer.install({
        name,
        completer,
        location,
        shell
      });
    };
    var uninstall = async (options) => {
      const { name, shell } = options;
      if (!name) throw new TypeError("options.name is required");
      try {
        await installer.uninstall({ name, shell });
      } catch (err) {
        console.error("ERROR while uninstalling", err);
      }
    };
    var parseEnv = (env) => {
      if (!env) {
        throw new Error("parseEnv: You must pass in an environment object.");
      }
      debug(
        "Parsing env. CWORD: %s, COMP_POINT: %s, COMP_LINE: %s",
        env.COMP_CWORD,
        env.COMP_POINT,
        env.COMP_LINE
      );
      let cword = Number(env.COMP_CWORD);
      let point = Number(env.COMP_POINT);
      const line = env.COMP_LINE || "";
      if (Number.isNaN(cword)) cword = 0;
      if (Number.isNaN(point)) point = 0;
      const partial = line.slice(0, point);
      const parts = line.split(" ");
      const prev = parts.slice(0, -1).slice(-1)[0];
      const last = parts.slice(-1).join("");
      const lastPartial = partial.split(" ").slice(-1).join("");
      let complete = true;
      if (!env.COMP_CWORD || !env.COMP_POINT || !env.COMP_LINE) {
        complete = false;
      }
      return {
        complete,
        words: cword,
        point,
        line,
        partial,
        last,
        lastPartial,
        prev
      };
    };
    var completionItem = (item, shell) => {
      debug("completion item", item);
      if (typeof item === "object") return item;
      let name = item;
      let description = "";
      const matching = /^(.*?)(\\)?:(.*)$/.exec(item);
      if (matching) {
        [, name, , description] = matching;
      }
      if (shell === "zsh" && /\\/.test(item)) {
        name += "\\";
      }
      return {
        name,
        description
      };
    };
    var log = (args, shell, logToConsole = console.log) => {
      if (!Array.isArray(args)) {
        throw new Error("log: Invalid arguments, must be an array");
      }
      let lines = args.map((item) => completionItem(item, shell)).map((item) => {
        const { name: rawName, description: rawDescription } = item;
        const name = shell === "zsh" ? rawName?.replaceAll(":", "\\:") : rawName;
        const description = shell === "zsh" ? rawDescription?.replaceAll(":", "\\:") : rawDescription;
        let str = name;
        if (shell === "zsh" && description) {
          str = `${name}:${description}`;
        } else if ((shell === "fish" || shell === "pwsh") && description) {
          str = `${name}	${description}`;
        }
        return str;
      });
      if (shell === "bash") {
        const env = parseEnv(process.env);
        lines = lines.filter((arg) => arg.indexOf(env.last) === 0);
      }
      for (const line of lines) {
        logToConsole(`${line}`);
      }
    };
    var logFiles = () => {
      console.log("__tabtab_complete_files__");
    };
    module2.exports = {
      SUPPORTED_SHELLS,
      getShellFromEnv,
      isShellSupported,
      getCompletionScript,
      install,
      uninstall,
      parseEnv,
      log,
      logFiles
    };
  }
});

// ../completion/plugin-commands-completion/lib/getShell.js
var require_getShell = __commonJS({
  "../completion/plugin-commands-completion/lib/getShell.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getShellFromString = getShellFromString;
    exports2.getShellFromParams = getShellFromParams;
    var error_1 = require_lib6();
    var tabtab_1 = require_lib129();
    function getShellFromString(shell) {
      shell = shell?.trim();
      if (!shell) {
        throw new error_1.PnpmError("MISSING_SHELL_NAME", "`pnpm completion` requires a shell name");
      }
      if (!(0, tabtab_1.isShellSupported)(shell)) {
        throw new error_1.PnpmError("UNSUPPORTED_SHELL", `'${shell}' is not supported`, {
          hint: `Supported shells are: ${tabtab_1.SUPPORTED_SHELLS.join(", ")}`
        });
      }
      return shell;
    }
    function getShellFromParams(params) {
      const [shell, ...rest] = params;
      if (rest.length) {
        throw new error_1.PnpmError("REDUNDANT_PARAMETERS", `The ${rest.length} parameters after shell is not necessary`);
      }
      return getShellFromString(shell);
    }
  }
});

// ../completion/plugin-commands-completion/lib/generateCompletion.js
var require_generateCompletion = __commonJS({
  "../completion/plugin-commands-completion/lib/generateCompletion.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.handler = exports2.cliOptionsTypes = exports2.rcOptionsTypes = exports2.skipPackageManagerCheck = exports2.commandNames = void 0;
    exports2.help = help;
    exports2.createCompletionGenerator = createCompletionGenerator;
    var render_help_1 = __importDefault2(require_lib47());
    var cli_utils_1 = require_lib33();
    var tabtab_1 = require_lib129();
    var getShell_1 = require_getShell();
    exports2.commandNames = ["completion"];
    exports2.skipPackageManagerCheck = true;
    var rcOptionsTypes = () => ({});
    exports2.rcOptionsTypes = rcOptionsTypes;
    var cliOptionsTypes = () => ({});
    exports2.cliOptionsTypes = cliOptionsTypes;
    function help() {
      return (0, render_help_1.default)({
        description: "Print shell completion code to stdout",
        url: (0, cli_utils_1.docsUrl)("completion"),
        usages: tabtab_1.SUPPORTED_SHELLS.map((shell) => `pnpm completion ${shell}`)
      });
    }
    function createCompletionGenerator(ctx) {
      return async function handler(_opts, params) {
        const shell = (0, getShell_1.getShellFromParams)(params);
        const output = await (0, tabtab_1.getCompletionScript)({ name: "pnpm", completer: "pnpm", shell });
        ctx.log(output);
      };
    }
    exports2.handler = createCompletionGenerator({
      log: console.log
    });
  }
});

// ../node_modules/.pnpm/split-cmd@1.1.0/node_modules/split-cmd/index.js
var require_split_cmd = __commonJS({
  "../node_modules/.pnpm/split-cmd@1.1.0/node_modules/split-cmd/index.js"(exports2) {
    function t(t2) {
      if ("string" != typeof t2) throw new Error("Command must be a string");
      var r = t2.match(/[^"\s]+|"(?:\\"|[^"])*"/g);
      return r ? r.map(function(t3) {
        return '"' === t3.charAt(0) && '"' === t3.charAt(t3.length - 1) ? t3.slice(1, -1) : t3;
      }) : [];
    }
    exports2.split = t, exports2.splitToObject = function(r) {
      var n = t(r);
      switch (n.length) {
        case 0:
          return {};
        case 1:
          return { command: n[0] };
        default:
          var e = n[0];
          return n.shift(), { command: e, args: n };
      }
    };
  }
});

// ../node_modules/.pnpm/abbrev@1.1.1/node_modules/abbrev/abbrev.js
var require_abbrev = __commonJS({
  "../node_modules/.pnpm/abbrev@1.1.1/node_modules/abbrev/abbrev.js"(exports2, module2) {
    module2.exports = exports2 = abbrev.abbrev = abbrev;
    abbrev.monkeyPatch = monkeyPatch;
    function monkeyPatch() {
      Object.defineProperty(Array.prototype, "abbrev", {
        value: function() {
          return abbrev(this);
        },
        enumerable: false,
        configurable: true,
        writable: true
      });
      Object.defineProperty(Object.prototype, "abbrev", {
        value: function() {
          return abbrev(Object.keys(this));
        },
        enumerable: false,
        configurable: true,
        writable: true
      });
    }
    function abbrev(list) {
      if (arguments.length !== 1 || !Array.isArray(list)) {
        list = Array.prototype.slice.call(arguments, 0);
      }
      for (var i = 0, l = list.length, args = []; i < l; i++) {
        args[i] = typeof list[i] === "string" ? list[i] : String(list[i]);
      }
      args = args.sort(lexSort);
      var abbrevs = {}, prev = "";
      for (var i = 0, l = args.length; i < l; i++) {
        var current = args[i], next = args[i + 1] || "", nextMatches = true, prevMatches = true;
        if (current === next) continue;
        for (var j = 0, cl = current.length; j < cl; j++) {
          var curChar = current.charAt(j);
          nextMatches = nextMatches && curChar === next.charAt(j);
          prevMatches = prevMatches && curChar === prev.charAt(j);
          if (!nextMatches && !prevMatches) {
            j++;
            break;
          }
        }
        prev = current;
        if (j === cl) {
          abbrevs[current] = current;
          continue;
        }
        for (var a = current.substr(0, j); j <= cl; j++) {
          abbrevs[a] = current;
          a += current.charAt(j);
        }
      }
      return abbrevs;
    }
    function lexSort(a, b) {
      return a === b ? 0 : a > b ? 1 : -1;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+nopt@0.2.1/node_modules/@pnpm/nopt/lib/nopt.js
var require_nopt = __commonJS({
  "../node_modules/.pnpm/@pnpm+nopt@0.2.1/node_modules/@pnpm/nopt/lib/nopt.js"(exports2, module2) {
    var debug = process.env.DEBUG_NOPT || process.env.NOPT_DEBUG ? function() {
      console.error.apply(console, arguments);
    } : function() {
    };
    var url = require("url");
    var path2 = require("path");
    var Stream = require("stream").Stream;
    var abbrev = require_abbrev();
    var os = require("os");
    module2.exports = exports2 = nopt;
    exports2.clean = clean;
    exports2.typeDefs = {
      String: { type: String, validate: validateString },
      Boolean: { type: Boolean, validate: validateBoolean },
      url: { type: url, validate: validateUrl },
      Number: { type: Number, validate: validateNumber },
      path: { type: path2, validate: validatePath },
      Stream: { type: Stream, validate: validateStream },
      Date: { type: Date, validate: validateDate }
    };
    function nopt(types, shorthands, args, slice, opts) {
      args = args || process.argv;
      types = types || {};
      shorthands = shorthands || {};
      if (typeof slice !== "number") slice = 2;
      debug(types, shorthands, args, slice);
      args = args.slice(slice);
      var data = {}, key, argv2 = {
        remain: [],
        cooked: args,
        original: args.slice(0)
      };
      parse2(args, data, argv2.remain, types, shorthands, opts);
      clean(data, types, exports2.typeDefs);
      data.argv = argv2;
      Object.defineProperty(data.argv, "toString", { value: function() {
        return this.original.map(JSON.stringify).join(" ");
      }, enumerable: false });
      return data;
    }
    function clean(data, types, typeDefs) {
      typeDefs = typeDefs || exports2.typeDefs;
      var remove = {}, typeDefault = [false, true, null, String, Array];
      Object.keys(data).forEach(function(k) {
        if (k === "argv") return;
        var val = data[k], isArray = Array.isArray(val), type = types[k];
        if (!isArray) val = [val];
        if (!type) type = typeDefault;
        if (type === Array) type = typeDefault.concat(Array);
        if (!Array.isArray(type)) type = [type];
        debug("val=%j", val);
        debug("types=", type);
        val = val.map(function(val2) {
          if (typeof val2 === "string") {
            debug("string %j", val2);
            val2 = val2.trim();
            if (val2 === "null" && ~type.indexOf(null) || val2 === "true" && (~type.indexOf(true) || ~type.indexOf(Boolean)) || val2 === "false" && (~type.indexOf(false) || ~type.indexOf(Boolean))) {
              val2 = JSON.parse(val2);
              debug("jsonable %j", val2);
            } else if (~type.indexOf(Number) && !isNaN(val2)) {
              debug("convert to number", val2);
              val2 = +val2;
            } else if (~type.indexOf(Date) && !isNaN(Date.parse(val2))) {
              debug("convert to date", val2);
              val2 = new Date(val2);
            }
          }
          if (!types.hasOwnProperty(k)) {
            return val2;
          }
          if (val2 === false && ~type.indexOf(null) && !(~type.indexOf(false) || ~type.indexOf(Boolean))) {
            val2 = null;
          }
          var d = {};
          d[k] = val2;
          debug("prevalidated val", d, val2, types[k]);
          if (!validate2(d, k, val2, types[k], typeDefs)) {
            if (exports2.invalidHandler) {
              exports2.invalidHandler(k, val2, types[k], data);
            } else if (exports2.invalidHandler !== false) {
              debug("invalid: " + k + "=" + val2, types[k]);
            }
            return remove;
          }
          debug("validated val", d, val2, types[k]);
          return d[k];
        }).filter(function(val2) {
          return val2 !== remove;
        });
        if (!val.length && type.indexOf(Array) === -1) {
          debug("VAL HAS NO LENGTH, DELETE IT", val, k, type.indexOf(Array));
          delete data[k];
        } else if (isArray) {
          debug(isArray, data[k], val);
          data[k] = val;
        } else data[k] = val[0];
        debug("k=%s val=%j", k, val, data[k]);
      });
    }
    function validateString(data, k, val) {
      data[k] = String(val);
    }
    function validatePath(data, k, val) {
      if (val === true) return false;
      if (val === null) return true;
      val = String(val);
      var isWin = process.platform === "win32", homePattern = isWin ? /^~(\/|\\)/ : /^~\//, home = os.homedir();
      if (home && val.match(homePattern)) {
        data[k] = path2.resolve(home, val.substr(2));
      } else {
        data[k] = path2.resolve(val);
      }
      return true;
    }
    function validateNumber(data, k, val) {
      debug("validate Number %j %j %j", k, val, isNaN(val));
      if (isNaN(val)) return false;
      data[k] = +val;
    }
    function validateDate(data, k, val) {
      var s = Date.parse(val);
      debug("validate Date %j %j %j", k, val, s);
      if (isNaN(s)) return false;
      data[k] = new Date(val);
    }
    function validateBoolean(data, k, val) {
      if (val instanceof Boolean) val = val.valueOf();
      else if (typeof val === "string") {
        if (!isNaN(val)) val = !!+val;
        else if (val === "null" || val === "false") val = false;
        else val = true;
      } else val = !!val;
      data[k] = val;
    }
    function validateUrl(data, k, val) {
      val = url.parse(String(val));
      if (!val.host) return false;
      data[k] = val.href;
    }
    function validateStream(data, k, val) {
      if (!(val instanceof Stream)) return false;
      data[k] = val;
    }
    function validate2(data, k, val, type, typeDefs) {
      if (Array.isArray(type)) {
        for (var i = 0, l = type.length; i < l; i++) {
          if (type[i] === Array) continue;
          if (validate2(data, k, val, type[i], typeDefs)) return true;
        }
        delete data[k];
        return false;
      }
      if (type === Array) return true;
      if (type !== type) {
        debug("Poison NaN", k, val, type);
        delete data[k];
        return false;
      }
      if (val === type) {
        debug("Explicitly allowed %j", val);
        data[k] = val;
        return true;
      }
      var ok = false, types = Object.keys(typeDefs);
      for (var i = 0, l = types.length; i < l; i++) {
        debug("test type %j %j %j", k, val, types[i]);
        var t = typeDefs[types[i]];
        if (t && (type && type.name && t.type && t.type.name ? type.name === t.type.name : type === t.type)) {
          var d = {};
          ok = false !== t.validate(d, k, val);
          val = d[k];
          if (ok) {
            data[k] = val;
            break;
          }
        }
      }
      debug("OK? %j (%j %j %j)", ok, k, val, types[i]);
      if (!ok) delete data[k];
      return ok;
    }
    function parse2(args, data, remain, types, shorthands, opts) {
      debug("parse", args, data, remain);
      var escapeArgs = new Set(opts && opts.escapeArgs ? opts.escapeArgs : []);
      var key = null, abbrevs = abbrev(Object.keys(types)), shortAbbr = abbrev(Object.keys(shorthands));
      for (var i = 0; i < args.length; i++) {
        var arg = args[i];
        debug("arg", arg);
        if (arg.match(/^-{2,}$/)) {
          remain.push.apply(remain, args.slice(i + 1));
          args[i] = "--";
          break;
        }
        if (escapeArgs.has(arg)) {
          remain.push.apply(remain, args.slice(i));
          break;
        }
        var hadEq = false;
        if (arg.charAt(0) === "-" && arg.length > 1) {
          var at = arg.indexOf("=");
          if (at > -1) {
            hadEq = true;
            var v = arg.substr(at + 1);
            arg = arg.substr(0, at);
            args.splice(i, 1, arg, v);
          }
          var shRes = resolveShort(arg, shorthands, shortAbbr, abbrevs);
          debug("arg=%j shRes=%j", arg, shRes);
          if (shRes) {
            debug(arg, shRes);
            args.splice.apply(args, [i, 1].concat(shRes));
            if (arg !== shRes[0]) {
              i--;
              continue;
            }
          }
          arg = arg.replace(/^-+/, "");
          var no = null;
          while (arg.toLowerCase().indexOf("no-") === 0) {
            no = !no;
            arg = arg.substr(3);
          }
          if (abbrevs[arg]) arg = abbrevs[arg];
          var argType = types[arg];
          var isTypeArray = Array.isArray(argType);
          if (isTypeArray && argType.length === 1) {
            isTypeArray = false;
            argType = argType[0];
          }
          var isArray = argType === Array || isTypeArray && argType.indexOf(Array) !== -1;
          if (!types.hasOwnProperty(arg) && data.hasOwnProperty(arg)) {
            if (!Array.isArray(data[arg]))
              data[arg] = [data[arg]];
            isArray = true;
          }
          var val, la = args[i + 1];
          var isBool = typeof no === "boolean" || argType === Boolean || isTypeArray && argType.indexOf(Boolean) !== -1 || typeof argType === "undefined" && !hadEq || la === "false" && (argType === null || isTypeArray && ~argType.indexOf(null));
          if (isBool) {
            val = !no;
            if (la === "true" || la === "false") {
              val = JSON.parse(la);
              la = null;
              if (no) val = !val;
              i++;
            }
            if (isTypeArray && la) {
              if (~argType.indexOf(la)) {
                val = la;
                i++;
              } else if (la === "null" && ~argType.indexOf(null)) {
                val = null;
                i++;
              } else if (!la.match(/^-{2,}[^-]/) && !isNaN(la) && ~argType.indexOf(Number)) {
                val = +la;
                i++;
              } else if (!la.match(/^-[^-]/) && ~argType.indexOf(String)) {
                val = la;
                i++;
              }
            }
            if (isArray) (data[arg] = data[arg] || []).push(val);
            else data[arg] = val;
            continue;
          }
          if (argType === String) {
            if (la === void 0) {
              la = "";
            } else if (la.match(/^-{1,2}[^-]+/)) {
              la = "";
              i--;
            }
          }
          if (la && la.match(/^-{2,}$/)) {
            la = void 0;
            i--;
          }
          val = la === void 0 ? true : la;
          if (isArray) (data[arg] = data[arg] || []).push(val);
          else data[arg] = val;
          i++;
          continue;
        }
        remain.push(arg);
      }
    }
    function resolveShort(arg, shorthands, shortAbbr, abbrevs) {
      arg = arg.replace(/^-+/, "");
      if (abbrevs[arg] === arg)
        return null;
      if (shorthands[arg]) {
        if (shorthands[arg] && !Array.isArray(shorthands[arg]))
          shorthands[arg] = shorthands[arg].split(/\s+/);
        return shorthands[arg];
      }
      var singles = shorthands.___singles;
      if (!singles) {
        singles = Object.keys(shorthands).filter(function(s) {
          return s.length === 1;
        }).reduce(function(l, r) {
          l[r] = true;
          return l;
        }, {});
        shorthands.___singles = singles;
        debug("shorthand singles", singles);
      }
      var chrs = arg.split("").filter(function(c) {
        return singles[c];
      });
      if (chrs.join("") === arg) return chrs.map(function(c) {
        return shorthands[c];
      }).reduce(function(l, r) {
        return l.concat(r);
      }, []);
      if (abbrevs[arg] && !shorthands[arg])
        return null;
      if (shortAbbr[arg])
        arg = shortAbbr[arg];
      if (shorthands[arg] && !Array.isArray(shorthands[arg]))
        shorthands[arg] = shorthands[arg].split(/\s+/);
      return shorthands[arg];
    }
  }
});

// ../completion/plugin-commands-completion/lib/getOptionType.js
var require_getOptionType = __commonJS({
  "../completion/plugin-commands-completion/lib/getOptionType.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getOptionCompletions = getOptionCompletions;
    exports2.getLastOption = getLastOption;
    exports2.currentTypedWordType = currentTypedWordType;
    var nopt_1 = __importDefault2(require_nopt());
    var omit_1 = __importDefault2(require_omit());
    function getOptionCompletions(optionTypes, shorthands, option) {
      const optionType = getOptionType(optionTypes, shorthands, option);
      return optionTypeToCompletion(optionType);
    }
    function optionTypeToCompletion(optionType) {
      switch (optionType) {
        // In this case the option is complete
        case void 0:
        case Boolean:
          return void 0;
        // In this case, anything may be the option value
        case String:
        case Number:
          return [];
      }
      if (!Array.isArray(optionType))
        return [];
      if (optionType.length === 1) {
        return optionTypeToCompletion(optionType);
      }
      return optionType.filter((ot) => typeof ot === "string");
    }
    function getOptionType(optionTypes, shorthands, option) {
      const allBools = Object.fromEntries(Object.keys(optionTypes).map((optionName) => [optionName, Boolean]));
      const result2 = (0, omit_1.default)(["argv"], (0, nopt_1.default)(allBools, shorthands, [option], 0));
      return optionTypes[Object.entries(result2)[0]?.[0]];
    }
    function getLastOption(completionCtx) {
      if (isOption(completionCtx.prev))
        return completionCtx.prev;
      if (completionCtx.lastPartial === "" || completionCtx.words <= 1)
        return null;
      const words = completionCtx.line.slice(0, completionCtx.point).trim().split(/\s+/);
      const lastWord = words[words.length - 2];
      return isOption(lastWord) ? lastWord : null;
    }
    function isOption(word) {
      return word.startsWith("--") && word.length >= 3 || word.startsWith("-") && word.length >= 2;
    }
    function currentTypedWordType(completionCtx) {
      if (completionCtx.partial.endsWith(" "))
        return null;
      return completionCtx.lastPartial.startsWith("-") ? "option" : "value";
    }
  }
});

// ../workspace/find-workspace-dir/lib/index.js
var require_lib130 = __commonJS({
  "../workspace/find-workspace-dir/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findWorkspaceDir = findWorkspaceDir;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var find_up_1 = __importDefault2(require_find_up());
    var WORKSPACE_DIR_ENV_VAR = "NPM_CONFIG_WORKSPACE_DIR";
    var WORKSPACE_MANIFEST_FILENAME = "pnpm-workspace.yaml";
    var INVALID_WORKSPACE_MANIFEST_FILENAME = ["pnpm-workspaces.yaml", "pnpm-workspaces.yml", "pnpm-workspace.yml"];
    async function findWorkspaceDir(cwd) {
      const workspaceManifestDirEnvVar = process.env[WORKSPACE_DIR_ENV_VAR] ?? process.env[WORKSPACE_DIR_ENV_VAR.toLowerCase()];
      const workspaceManifestLocation = workspaceManifestDirEnvVar ? path_1.default.join(workspaceManifestDirEnvVar, WORKSPACE_MANIFEST_FILENAME) : await (0, find_up_1.default)([WORKSPACE_MANIFEST_FILENAME, ...INVALID_WORKSPACE_MANIFEST_FILENAME], { cwd: await getRealPath(cwd) });
      if (workspaceManifestLocation && path_1.default.basename(workspaceManifestLocation) !== WORKSPACE_MANIFEST_FILENAME) {
        throw new error_1.PnpmError("BAD_WORKSPACE_MANIFEST_NAME", `The workspace manifest file should be named "pnpm-workspace.yaml". File found: ${workspaceManifestLocation}`);
      }
      return workspaceManifestLocation && path_1.default.dirname(workspaceManifestLocation);
    }
    async function getRealPath(path2) {
      return new Promise((resolve) => {
        fs_1.default.realpath.native(path2, function(err, resolvedPath) {
          resolve(err !== null ? path2 : resolvedPath);
        });
      });
    }
  }
});

// ../completion/plugin-commands-completion/lib/optionTypesToCompletions.js
var require_optionTypesToCompletions = __commonJS({
  "../completion/plugin-commands-completion/lib/optionTypesToCompletions.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.optionTypesToCompletions = optionTypesToCompletions;
    function optionTypesToCompletions(optionTypes) {
      const completions = [];
      for (const [name, typeObj] of Object.entries(optionTypes)) {
        if (typeObj === Boolean) {
          completions.push({ name: `--${name}` });
          completions.push({ name: `--no-${name}` });
        } else {
          completions.push({ name: `--${name}` });
        }
      }
      return completions;
    }
  }
});

// ../completion/plugin-commands-completion/lib/complete.js
var require_complete = __commonJS({
  "../completion/plugin-commands-completion/lib/complete.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.complete = complete;
    var find_workspace_dir_1 = require_lib130();
    var workspace_find_packages_1 = require_lib35();
    var workspace_read_manifest_1 = require_lib18();
    var getOptionType_1 = require_getOptionType();
    var optionTypesToCompletions_1 = require_optionTypesToCompletions();
    async function complete(ctx, input) {
      if (input.options.version)
        return [];
      const optionTypes = {
        ...ctx.universalOptionsTypes,
        ...(input.cmd && ctx.cliOptionsTypesByCommandName[input.cmd]?.()) ?? {}
      };
      if (input.currentTypedWordType !== "option") {
        if (input.lastOption === "--filter") {
          const workspaceDir = await (0, find_workspace_dir_1.findWorkspaceDir)(process.cwd()) ?? process.cwd();
          const workspaceManifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(workspaceDir);
          const allProjects = await (0, workspace_find_packages_1.findWorkspacePackages)(workspaceDir, {
            patterns: workspaceManifest?.packages,
            supportedArchitectures: {
              os: ["current"],
              cpu: ["current"],
              libc: ["current"]
            }
          });
          return allProjects.map(({ manifest }) => ({ name: manifest.name })).filter((item) => !!item.name);
        } else if (input.lastOption) {
          const optionCompletions = (0, getOptionType_1.getOptionCompletions)(
            optionTypes,
            // eslint-disable-line
            {
              ...ctx.universalShorthands,
              ...input.cmd ? ctx.shorthandsByCommandName[input.cmd] : {}
            },
            input.lastOption
          );
          if (optionCompletions !== void 0) {
            return optionCompletions.map((name) => ({ name }));
          }
        }
      }
      let completions = [];
      if (input.currentTypedWordType !== "option") {
        if (!input.cmd || input.currentTypedWordType === "value" && !ctx.completionByCommandName[input.cmd]) {
          completions = ctx.initialCompletion();
        } else if (ctx.completionByCommandName[input.cmd]) {
          try {
            completions = await ctx.completionByCommandName[input.cmd](input.options, input.params);
          } catch {
          }
        }
      }
      if (input.currentTypedWordType === "value") {
        return completions;
      }
      if (!input.cmd) {
        return [
          ...completions,
          ...(0, optionTypesToCompletions_1.optionTypesToCompletions)(optionTypes),
          { name: "--version" }
        ];
      }
      return [
        ...completions,
        ...(0, optionTypesToCompletions_1.optionTypesToCompletions)(optionTypes)
        // eslint-disable-line
      ];
    }
  }
});

// ../completion/plugin-commands-completion/lib/completionServer.js
var require_completionServer = __commonJS({
  "../completion/plugin-commands-completion/lib/completionServer.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createCompletionServer = createCompletionServer;
    var tabtab_1 = require_lib129();
    var split_cmd_1 = require_split_cmd();
    var tabtab_2 = __importDefault2(require_lib129());
    var getOptionType_1 = require_getOptionType();
    var complete_1 = require_complete();
    function createCompletionServer(opts) {
      return async () => {
        const shell = (0, tabtab_1.getShellFromEnv)(process.env);
        const env = tabtab_2.default.parseEnv(process.env);
        if (!env.complete)
          return;
        const finishedArgv = env.partial.slice(0, -env.lastPartial.length);
        const inputArgv = (0, split_cmd_1.split)(finishedArgv).slice(1);
        if (inputArgv.includes("--"))
          return;
        const { params, options, cmd } = await opts.parseCliArgs(inputArgv);
        tabtab_2.default.log(await (0, complete_1.complete)(opts, {
          cmd,
          currentTypedWordType: (0, getOptionType_1.currentTypedWordType)(env),
          lastOption: (0, getOptionType_1.getLastOption)(env),
          options,
          params
        }), shell);
      };
    }
  }
});

// ../completion/plugin-commands-completion/lib/index.js
var require_lib131 = __commonJS({
  "../completion/plugin-commands-completion/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createCompletionServer = exports2.generateCompletion = void 0;
    exports2.generateCompletion = __importStar3(require_generateCompletion());
    var completionServer_1 = require_completionServer();
    Object.defineProperty(exports2, "createCompletionServer", { enumerable: true, get: function() {
      return completionServer_1.createCompletionServer;
    } });
  }
});

// ../config/plugin-commands-config/lib/configGet.js
var require_configGet = __commonJS({
  "../config/plugin-commands-config/lib/configGet.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.configGet = configGet;
    function configGet(opts, key) {
      const config = opts.rawConfig[key];
      return Array.isArray(config) ? config.join(",") : String(config);
    }
  }
});

// ../exec/run-npm/lib/index.js
var require_lib132 = __commonJS({
  "../exec/run-npm/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runNpm = runNpm;
    exports2.runScriptSync = runScriptSync;
    var path_1 = __importDefault2(require("path"));
    var cross_spawn_1 = __importDefault2(require_cross_spawn());
    var path_name_1 = __importDefault2(require_path_name());
    function runNpm(npmPath, args, options) {
      const npm = npmPath ?? "npm";
      return runScriptSync(npm, args, {
        cwd: options?.cwd ?? process.cwd(),
        stdio: "inherit",
        userAgent: void 0,
        env: { ...options?.env, COREPACK_ENABLE_STRICT: "0" }
      });
    }
    function runScriptSync(command, args, opts) {
      const env = {
        ...createEnv(opts),
        ...opts.env
      };
      const result2 = cross_spawn_1.default.sync(command, args, {
        ...opts,
        env
      });
      if (result2.error)
        throw result2.error;
      return result2;
    }
    function createEnv(opts) {
      const env = { ...process.env };
      env[path_name_1.default] = [
        path_1.default.join(opts.cwd, "node_modules", ".bin"),
        path_1.default.dirname(process.execPath),
        process.env[path_name_1.default]
      ].join(path_1.default.delimiter);
      if (opts.userAgent) {
        env.npm_config_user_agent = opts.userAgent;
      }
      return env;
    }
  }
});

// ../node_modules/.pnpm/write-ini-file@4.0.1/node_modules/write-ini-file/index.js
var require_write_ini_file = __commonJS({
  "../node_modules/.pnpm/write-ini-file@4.0.1/node_modules/write-ini-file/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var writeFileAtomic = require_lib10();
    var fs = require("fs");
    var ini = require_ini2();
    var main = (fn, fp, data, opts) => {
      if (!fp) {
        throw new TypeError("Expected a filepath");
      }
      if (data === void 0) {
        throw new TypeError("Expected data to stringify");
      }
      opts = opts || {};
      const encodedData = ini.encode(data, opts);
      return fn(fp, encodedData, { mode: opts.mode });
    };
    module2.exports.writeIniFile = async (fp, data, opts) => {
      await fs.promises.mkdir(path2.dirname(fp), { recursive: true });
      return main(writeFileAtomic, fp, data, opts);
    };
    module2.exports.writeIniFileSync = (fp, data, opts) => {
      fs.mkdirSync(path2.dirname(fp), { recursive: true });
      main(writeFileAtomic.sync, fp, data, opts);
    };
  }
});

// ../config/plugin-commands-config/lib/configSet.js
var require_configSet = __commonJS({
  "../config/plugin-commands-config/lib/configSet.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.configSet = configSet;
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var run_npm_1 = require_lib132();
    var read_ini_file_1 = require_read_ini_file();
    var write_ini_file_1 = require_write_ini_file();
    async function configSet(opts, key, value) {
      const configPath = opts.global ? path_1.default.join(opts.configDir, "rc") : path_1.default.join(opts.dir, ".npmrc");
      if (opts.global && settingShouldFallBackToNpm(key)) {
        const _runNpm = run_npm_1.runNpm.bind(null, opts.npmPath);
        if (value == null) {
          _runNpm(["config", "delete", key]);
        } else {
          _runNpm(["config", "set", `${key}=${value}`]);
        }
        return;
      }
      const settings = await safeReadIniFile(configPath);
      if (value == null) {
        if (settings[key] == null)
          return;
        delete settings[key];
      } else {
        settings[key] = value;
      }
      await (0, write_ini_file_1.writeIniFile)(configPath, settings);
    }
    function settingShouldFallBackToNpm(key) {
      return ["registry", "_auth", "_authToken", "username", "_password"].includes(key) || key[0] === "@" || key.startsWith("//");
    }
    async function safeReadIniFile(configPath) {
      try {
        return await (0, read_ini_file_1.readIniFile)(configPath);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT")
          return {};
        throw err;
      }
    }
  }
});

// ../node_modules/.pnpm/ini@4.1.1/node_modules/ini/lib/ini.js
var require_ini3 = __commonJS({
  "../node_modules/.pnpm/ini@4.1.1/node_modules/ini/lib/ini.js"(exports2, module2) {
    var { hasOwnProperty: hasOwnProperty2 } = Object.prototype;
    var encode = (obj, opt = {}) => {
      if (typeof opt === "string") {
        opt = { section: opt };
      }
      opt.align = opt.align === true;
      opt.newline = opt.newline === true;
      opt.sort = opt.sort === true;
      opt.whitespace = opt.whitespace === true || opt.align === true;
      opt.platform = opt.platform || typeof process !== "undefined" && process.platform;
      opt.bracketedArray = opt.bracketedArray !== false;
      const eol = opt.platform === "win32" ? "\r\n" : "\n";
      const separator = opt.whitespace ? " = " : "=";
      const children = [];
      const keys = opt.sort ? Object.keys(obj).sort() : Object.keys(obj);
      let padToChars = 0;
      if (opt.align) {
        padToChars = safe(
          keys.filter((k) => obj[k] === null || Array.isArray(obj[k]) || typeof obj[k] !== "object").map((k) => Array.isArray(obj[k]) ? `${k}[]` : k).concat([""]).reduce((a, b) => safe(a).length >= safe(b).length ? a : b)
        ).length;
      }
      let out = "";
      const arraySuffix = opt.bracketedArray ? "[]" : "";
      for (const k of keys) {
        const val = obj[k];
        if (val && Array.isArray(val)) {
          for (const item of val) {
            out += safe(`${k}${arraySuffix}`).padEnd(padToChars, " ") + separator + safe(item) + eol;
          }
        } else if (val && typeof val === "object") {
          children.push(k);
        } else {
          out += safe(k).padEnd(padToChars, " ") + separator + safe(val) + eol;
        }
      }
      if (opt.section && out.length) {
        out = "[" + safe(opt.section) + "]" + (opt.newline ? eol + eol : eol) + out;
      }
      for (const k of children) {
        const nk = splitSections(k, ".").join("\\.");
        const section = (opt.section ? opt.section + "." : "") + nk;
        const child = encode(obj[k], {
          ...opt,
          section
        });
        if (out.length && child.length) {
          out += eol;
        }
        out += child;
      }
      return out;
    };
    function splitSections(str, separator) {
      var lastMatchIndex = 0;
      var lastSeparatorIndex = 0;
      var nextIndex = 0;
      var sections = [];
      do {
        nextIndex = str.indexOf(separator, lastMatchIndex);
        if (nextIndex !== -1) {
          lastMatchIndex = nextIndex + separator.length;
          if (nextIndex > 0 && str[nextIndex - 1] === "\\") {
            continue;
          }
          sections.push(str.slice(lastSeparatorIndex, nextIndex));
          lastSeparatorIndex = nextIndex + separator.length;
        }
      } while (nextIndex !== -1);
      sections.push(str.slice(lastSeparatorIndex));
      return sections;
    }
    var decode = (str, opt = {}) => {
      opt.bracketedArray = opt.bracketedArray !== false;
      const out = /* @__PURE__ */ Object.create(null);
      let p = out;
      let section = null;
      const re = /^\[([^\]]*)\]\s*$|^([^=]+)(=(.*))?$/i;
      const lines = str.split(/[\r\n]+/g);
      const duplicates = {};
      for (const line of lines) {
        if (!line || line.match(/^\s*[;#]/) || line.match(/^\s*$/)) {
          continue;
        }
        const match = line.match(re);
        if (!match) {
          continue;
        }
        if (match[1] !== void 0) {
          section = unsafe(match[1]);
          if (section === "__proto__") {
            p = /* @__PURE__ */ Object.create(null);
            continue;
          }
          p = out[section] = out[section] || /* @__PURE__ */ Object.create(null);
          continue;
        }
        const keyRaw = unsafe(match[2]);
        let isArray;
        if (opt.bracketedArray) {
          isArray = keyRaw.length > 2 && keyRaw.slice(-2) === "[]";
        } else {
          duplicates[keyRaw] = (duplicates?.[keyRaw] || 0) + 1;
          isArray = duplicates[keyRaw] > 1;
        }
        const key = isArray ? keyRaw.slice(0, -2) : keyRaw;
        if (key === "__proto__") {
          continue;
        }
        const valueRaw = match[3] ? unsafe(match[4]) : true;
        const value = valueRaw === "true" || valueRaw === "false" || valueRaw === "null" ? JSON.parse(valueRaw) : valueRaw;
        if (isArray) {
          if (!hasOwnProperty2.call(p, key)) {
            p[key] = [];
          } else if (!Array.isArray(p[key])) {
            p[key] = [p[key]];
          }
        }
        if (Array.isArray(p[key])) {
          p[key].push(value);
        } else {
          p[key] = value;
        }
      }
      const remove = [];
      for (const k of Object.keys(out)) {
        if (!hasOwnProperty2.call(out, k) || typeof out[k] !== "object" || Array.isArray(out[k])) {
          continue;
        }
        const parts = splitSections(k, ".");
        p = out;
        const l = parts.pop();
        const nl = l.replace(/\\\./g, ".");
        for (const part of parts) {
          if (part === "__proto__") {
            continue;
          }
          if (!hasOwnProperty2.call(p, part) || typeof p[part] !== "object") {
            p[part] = /* @__PURE__ */ Object.create(null);
          }
          p = p[part];
        }
        if (p === out && nl === l) {
          continue;
        }
        p[nl] = out[k];
        remove.push(k);
      }
      for (const del of remove) {
        delete out[del];
      }
      return out;
    };
    var isQuoted = (val) => {
      return val.startsWith('"') && val.endsWith('"') || val.startsWith("'") && val.endsWith("'");
    };
    var safe = (val) => {
      if (typeof val !== "string" || val.match(/[=\r\n]/) || val.match(/^\[/) || val.length > 1 && isQuoted(val) || val !== val.trim()) {
        return JSON.stringify(val);
      }
      return val.split(";").join("\\;").split("#").join("\\#");
    };
    var unsafe = (val, doUnesc) => {
      val = (val || "").trim();
      if (isQuoted(val)) {
        if (val.charAt(0) === "'") {
          val = val.slice(1, -1);
        }
        try {
          val = JSON.parse(val);
        } catch {
        }
      } else {
        let esc = false;
        let unesc = "";
        for (let i = 0, l = val.length; i < l; i++) {
          const c = val.charAt(i);
          if (esc) {
            if ("\\;#".indexOf(c) !== -1) {
              unesc += c;
            } else {
              unesc += "\\" + c;
            }
            esc = false;
          } else if (";#".indexOf(c) !== -1) {
            break;
          } else if (c === "\\") {
            esc = true;
          } else {
            unesc += c;
          }
        }
        if (esc) {
          unesc += "\\";
        }
        return unesc.trim();
      }
      return val;
    };
    module2.exports = {
      parse: decode,
      decode,
      stringify: encode,
      encode,
      safe,
      unsafe
    };
  }
});

// ../config/plugin-commands-config/lib/configList.js
var require_configList = __commonJS({
  "../config/plugin-commands-config/lib/configList.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.configList = configList;
    var ini_1 = require_ini3();
    var object_key_sorting_1 = require_lib108();
    async function configList(opts) {
      const sortedConfig = (0, object_key_sorting_1.sortDirectKeys)(opts.rawConfig);
      if (opts.json) {
        return JSON.stringify(sortedConfig, null, 2);
      }
      return (0, ini_1.encode)(sortedConfig);
    }
  }
});

// ../config/plugin-commands-config/lib/config.js
var require_config3 = __commonJS({
  "../config/plugin-commands-config/lib/config.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var error_1 = require_lib6();
    var render_help_1 = __importDefault2(require_lib47());
    var configGet_1 = require_configGet();
    var configSet_1 = require_configSet();
    var configList_1 = require_configList();
    function rcOptionsTypes() {
      return {};
    }
    function cliOptionsTypes() {
      return {
        global: Boolean,
        location: ["global", "project"],
        json: Boolean
      };
    }
    exports2.commandNames = ["config", "c"];
    function help() {
      return (0, render_help_1.default)({
        description: "Manage the pnpm configuration files.",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                description: "Set the config key to the value provided",
                name: "set"
              },
              {
                description: "Print the config value for the provided key",
                name: "get"
              },
              {
                description: "Remove the config key from the config file",
                name: "delete"
              },
              {
                description: "Show all the config settings",
                name: "list"
              }
            ]
          },
          {
            title: "Options",
            list: [
              {
                description: "Sets the configuration in the global config file",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: 'When set to "project", the .npmrc file at the nearest package.json will be used',
                name: "--location <project|global>"
              },
              {
                description: "Show all the config settings in JSON format",
                name: "--json"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("config"),
        usages: [
          "pnpm config set <key> <value>",
          "pnpm config get <key>",
          "pnpm config delete <key>",
          "pnpm config list",
          "pnpm config list --json"
        ]
      });
    }
    async function handler(opts, params) {
      if (params.length === 0) {
        throw new error_1.PnpmError("CONFIG_NO_SUBCOMMAND", "Please specify the subcommand", {
          hint: help()
        });
      }
      if (opts.location) {
        opts.global = opts.location === "global";
      } else if (opts.cliOptions["global"] == null) {
        opts.global = true;
      }
      switch (params[0]) {
        case "set":
        case "delete": {
          if (!params[1]) {
            throw new error_1.PnpmError("CONFIG_NO_PARAMS", `\`pnpm config ${params[0]}\` requires the config key`);
          }
          if (params[0] === "set") {
            let [key, value] = params.slice(1);
            if (value == null) {
              const parts = key.split("=");
              key = parts.shift();
              value = parts.join("=");
            }
            return (0, configSet_1.configSet)(opts, key, value ?? "");
          } else {
            return (0, configSet_1.configSet)(opts, params[1], null);
          }
        }
        case "get": {
          if (params[1]) {
            return (0, configGet_1.configGet)(opts, params[1]);
          } else {
            return (0, configList_1.configList)(opts);
          }
        }
        case "list": {
          return (0, configList_1.configList)(opts);
        }
        default: {
          throw new error_1.PnpmError("CONFIG_UNKNOWN_SUBCOMMAND", "This subcommand is not known");
        }
      }
    }
  }
});

// ../config/plugin-commands-config/lib/get.js
var require_get2 = __commonJS({
  "../config/plugin-commands-config/lib/get.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.help = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.handler = handler;
    var configCmd = __importStar3(require_config3());
    exports2.rcOptionsTypes = configCmd.rcOptionsTypes;
    exports2.cliOptionsTypes = configCmd.cliOptionsTypes;
    exports2.help = configCmd.help;
    exports2.commandNames = ["get"];
    async function handler(opts, params) {
      return configCmd.handler(opts, ["get", ...params]);
    }
  }
});

// ../config/plugin-commands-config/lib/set.js
var require_set3 = __commonJS({
  "../config/plugin-commands-config/lib/set.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.help = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.handler = handler;
    var configCmd = __importStar3(require_config3());
    exports2.rcOptionsTypes = configCmd.rcOptionsTypes;
    exports2.cliOptionsTypes = configCmd.cliOptionsTypes;
    exports2.help = configCmd.help;
    exports2.commandNames = ["set"];
    async function handler(opts, params) {
      return configCmd.handler(opts, ["set", ...params]);
    }
  }
});

// ../config/plugin-commands-config/lib/index.js
var require_lib133 = __commonJS({
  "../config/plugin-commands-config/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.setCommand = exports2.getCommand = exports2.config = void 0;
    var config = __importStar3(require_config3());
    exports2.config = config;
    var getCommand = __importStar3(require_get2());
    exports2.getCommand = getCommand;
    var setCommand = __importStar3(require_set3());
    exports2.setCommand = setCommand;
  }
});

// ../packages/plugin-commands-doctor/lib/doctor.js
var require_doctor = __commonJS({
  "../packages/plugin-commands-doctor/lib/doctor.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var render_help_1 = __importDefault2(require_lib47());
    var cli_utils_1 = require_lib33();
    var logger_1 = require_lib();
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    exports2.shorthands = {};
    exports2.commandNames = ["doctor"];
    function help() {
      return (0, render_help_1.default)({
        description: "Checks for known common issues.",
        url: (0, cli_utils_1.docsUrl)("doctor"),
        usages: ["pnpm doctor [options]"]
      });
    }
    async function handler(opts) {
      const { failedToLoadBuiltInConfig } = opts;
      if (failedToLoadBuiltInConfig) {
        logger_1.logger.warn({
          message: 'Load npm builtin configs failed. If the prefix builtin config does not work, you can use "pnpm config list" to show builtin configs. And then use "pnpm config --global set <key> <value>" to migrate configs from builtin to global.',
          prefix: process.cwd()
        });
      }
    }
  }
});

// ../packages/plugin-commands-doctor/lib/index.js
var require_lib134 = __commonJS({
  "../packages/plugin-commands-doctor/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.doctor = void 0;
    var doctor = __importStar3(require_doctor());
    exports2.doctor = doctor;
  }
});

// ../fs/is-empty-dir-or-nothing/lib/index.js
var require_lib135 = __commonJS({
  "../fs/is-empty-dir-or-nothing/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isEmptyDirOrNothing = isEmptyDirOrNothing;
    var node_fs_1 = __importDefault2(require("node:fs"));
    function isEmptyDirOrNothing(path2) {
      try {
        const pathStat = node_fs_1.default.statSync(path2);
        if (pathStat.isFile()) {
          return pathStat.size === 0;
        }
        return isDirEmpty(path2);
      } catch (error) {
        if (error && typeof error === "object" && "code" in error && error.code === "ENOENT") {
          return true;
        }
        return false;
      }
    }
    function isDirEmpty(path2) {
      const files = node_fs_1.default.readdirSync(path2);
      return files.length === 0;
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/createProjectManifestWriter.js
var require_createProjectManifestWriter = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/createProjectManifestWriter.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createProjectManifestWriter = createProjectManifestWriter;
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var read_project_manifest_1 = require_lib13();
    var write_project_manifest_1 = require_lib11();
    async function createProjectManifestWriter(projectDir) {
      try {
        const { writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(projectDir);
        return writeProjectManifest;
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND") {
          return write_project_manifest_1.writeProjectManifest.bind(null, path_1.default.join(projectDir, "package.json"));
        }
        throw err;
      }
    }
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/once.js
var require_once2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/once.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry1 = require_curry1();
    var once = /* @__PURE__ */ _curry1(function once2(fn) {
      var called = false;
      var result2;
      return _arity(fn.length, function() {
        if (called) {
          return result2;
        }
        called = true;
        result2 = fn.apply(this, arguments);
        return result2;
      });
    });
    module2.exports = once;
  }
});

// ../node_modules/.pnpm/p-map-values@1.0.0/node_modules/p-map-values/lib/index.js
var require_lib136 = __commonJS({
  "../node_modules/.pnpm/p-map-values@1.0.0/node_modules/p-map-values/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    async function pMapValue(mapper, obj) {
      const result2 = {};
      await Promise.all(Object.entries(obj).map(async ([key, value]) => {
        result2[key] = await mapper(value, key, obj);
      }));
      return result2;
    }
    exports2.default = pMapValue;
  }
});

// ../lockfile/settings-checker/lib/calcPatchHashes.js
var require_calcPatchHashes = __commonJS({
  "../lockfile/settings-checker/lib/calcPatchHashes.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.calcPatchHashes = calcPatchHashes;
    var path_1 = __importDefault2(require("path"));
    var p_map_values_1 = __importDefault2(require_lib136());
    var crypto_hash_1 = require_lib40();
    async function calcPatchHashes(patches, lockfileDir) {
      return (0, p_map_values_1.default)(async (patchFilePath) => {
        return {
          hash: await (0, crypto_hash_1.createHexHashFromFile)(patchFilePath),
          path: path_1.default.relative(lockfileDir, patchFilePath).replaceAll("\\", "/")
        };
      }, patches);
    }
  }
});

// ../lockfile/settings-checker/lib/createOverridesMapFromParsed.js
var require_createOverridesMapFromParsed = __commonJS({
  "../lockfile/settings-checker/lib/createOverridesMapFromParsed.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createOverridesMapFromParsed = createOverridesMapFromParsed;
    function createOverridesMapFromParsed(parsedOverrides) {
      if (!parsedOverrides)
        return {};
      const overridesMap = {};
      for (const { selector, newPref } of parsedOverrides) {
        overridesMap[selector] = newPref;
      }
      return overridesMap;
    }
  }
});

// ../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js
var require_getOutdatedLockfileSetting = __commonJS({
  "../lockfile/settings-checker/lib/getOutdatedLockfileSetting.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getOutdatedLockfileSetting = getOutdatedLockfileSetting;
    var equals_1 = __importDefault2(require_equals2());
    function getOutdatedLockfileSetting(lockfile, { overrides, packageExtensionsChecksum, ignoredOptionalDependencies, patchedDependencies, autoInstallPeers, excludeLinksFromLockfile, peersSuffixMaxLength, pnpmfileChecksum, injectWorkspacePackages }) {
      if (!(0, equals_1.default)(lockfile.overrides ?? {}, overrides ?? {})) {
        return "overrides";
      }
      if (lockfile.packageExtensionsChecksum !== packageExtensionsChecksum) {
        return "packageExtensionsChecksum";
      }
      if (!(0, equals_1.default)(lockfile.ignoredOptionalDependencies?.sort() ?? [], ignoredOptionalDependencies?.sort() ?? [])) {
        return "ignoredOptionalDependencies";
      }
      if (!(0, equals_1.default)(lockfile.patchedDependencies ?? {}, patchedDependencies ?? {})) {
        return "patchedDependencies";
      }
      if (lockfile.settings?.autoInstallPeers != null && lockfile.settings.autoInstallPeers !== autoInstallPeers) {
        return "settings.autoInstallPeers";
      }
      if (lockfile.settings?.excludeLinksFromLockfile != null && lockfile.settings.excludeLinksFromLockfile !== excludeLinksFromLockfile) {
        return "settings.excludeLinksFromLockfile";
      }
      if (lockfile.settings?.peersSuffixMaxLength != null && lockfile.settings.peersSuffixMaxLength !== peersSuffixMaxLength || lockfile.settings?.peersSuffixMaxLength == null && peersSuffixMaxLength !== 1e3) {
        return "settings.peersSuffixMaxLength";
      }
      if (lockfile.pnpmfileChecksum !== pnpmfileChecksum) {
        return "pnpmfileChecksum";
      }
      if (Boolean(lockfile.settings?.injectWorkspacePackages) !== Boolean(injectWorkspacePackages)) {
        return "settings.injectWorkspacePackages";
      }
      return null;
    }
  }
});

// ../lockfile/settings-checker/lib/index.js
var require_lib137 = __commonJS({
  "../lockfile/settings-checker/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getOutdatedLockfileSetting = exports2.createOverridesMapFromParsed = exports2.calcPatchHashes = void 0;
    var calcPatchHashes_1 = require_calcPatchHashes();
    Object.defineProperty(exports2, "calcPatchHashes", { enumerable: true, get: function() {
      return calcPatchHashes_1.calcPatchHashes;
    } });
    var createOverridesMapFromParsed_1 = require_createOverridesMapFromParsed();
    Object.defineProperty(exports2, "createOverridesMapFromParsed", { enumerable: true, get: function() {
      return createOverridesMapFromParsed_1.createOverridesMapFromParsed;
    } });
    var getOutdatedLockfileSetting_1 = require_getOutdatedLockfileSetting();
    Object.defineProperty(exports2, "getOutdatedLockfileSetting", { enumerable: true, get: function() {
      return getOutdatedLockfileSetting_1.getOutdatedLockfileSetting;
    } });
  }
});

// ../node_modules/.pnpm/p-every@2.0.0/node_modules/p-every/index.js
var require_p_every = __commonJS({
  "../node_modules/.pnpm/p-every@2.0.0/node_modules/p-every/index.js"(exports2, module2) {
    "use strict";
    var pMap = require_p_map();
    var EndError = class extends Error {
    };
    var test = (testFunction) => async (element, index) => {
      const result2 = await testFunction(element, index);
      if (!result2) {
        throw new EndError();
      }
      return result2;
    };
    var pEvery = async (iterable, testFunction, opts) => {
      try {
        await pMap(iterable, test(testFunction), opts);
        return true;
      } catch (error) {
        if (error instanceof EndError) {
          return false;
        }
        throw error;
      }
    };
    module2.exports = pEvery;
    module2.exports.default = pEvery;
  }
});

// ../lockfile/verification/lib/allCatalogsAreUpToDate.js
var require_allCatalogsAreUpToDate = __commonJS({
  "../lockfile/verification/lib/allCatalogsAreUpToDate.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.allCatalogsAreUpToDate = allCatalogsAreUpToDate;
    function allCatalogsAreUpToDate(catalogsConfig, snapshot) {
      return Object.entries(snapshot ?? {}).every(([catalogName, catalog]) => Object.entries(catalog ?? {}).every(([alias, entry]) => entry.specifier === catalogsConfig[catalogName]?.[alias]));
    }
  }
});

// ../lockfile/verification/lib/getWorkspacePackagesByDirectory.js
var require_getWorkspacePackagesByDirectory = __commonJS({
  "../lockfile/verification/lib/getWorkspacePackagesByDirectory.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getWorkspacePackagesByDirectory = getWorkspacePackagesByDirectory;
    function getWorkspacePackagesByDirectory(workspacePackages) {
      const workspacePackagesByDirectory = {};
      if (workspacePackages) {
        for (const pkgVersions of workspacePackages.values()) {
          for (const { rootDir, manifest } of pkgVersions.values()) {
            workspacePackagesByDirectory[rootDir] = manifest;
          }
        }
      }
      return workspacePackagesByDirectory;
    }
  }
});

// ../lockfile/verification/lib/linkedPackagesAreUpToDate.js
var require_linkedPackagesAreUpToDate = __commonJS({
  "../lockfile/verification/lib/linkedPackagesAreUpToDate.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkedPackagesAreUpToDate = linkedPackagesAreUpToDate;
    var path_1 = __importDefault2(require("path"));
    var lockfile_utils_1 = require_lib117();
    var read_package_json_1 = require_lib50();
    var dependency_path_1 = require_lib98();
    var types_1 = require_lib31();
    var p_every_1 = __importDefault2(require_p_every());
    var semver_12 = __importDefault2(require_semver2());
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    async function linkedPackagesAreUpToDate({ linkWorkspacePackages, manifestsByDir, workspacePackages, lockfilePackages, lockfileDir }, project) {
      return (0, p_every_1.default)(types_1.DEPENDENCIES_FIELDS, (depField) => {
        const lockfileDeps = project.snapshot[depField];
        const manifestDeps = project.manifest[depField];
        if (lockfileDeps == null || manifestDeps == null)
          return true;
        const depNames = Object.keys(lockfileDeps);
        return (0, p_every_1.default)(depNames, async (depName) => {
          const currentSpec = manifestDeps[depName];
          if (!currentSpec)
            return true;
          const lockfileRef = lockfileDeps[depName];
          if ((0, lockfile_utils_1.refIsLocalDirectory)(project.snapshot.specifiers[depName])) {
            const depPath = (0, dependency_path_1.refToRelative)(lockfileRef, depName);
            return depPath != null && isLocalFileDepUpdated(lockfileDir, lockfilePackages?.[depPath]);
          }
          const isLinked = lockfileRef.startsWith("link:");
          if (isLinked && (currentSpec.startsWith("link:") || currentSpec.startsWith("file:") || currentSpec.startsWith("workspace:."))) {
            return true;
          }
          if (isLinked && (0, version_selector_type_1.default)(currentSpec)?.type === "tag") {
            return true;
          }
          const linkedDir = isLinked ? path_1.default.join(project.dir, lockfileRef.slice(5)) : workspacePackages?.get(depName)?.get(lockfileRef)?.rootDir;
          if (!linkedDir)
            return true;
          if (!linkWorkspacePackages && !currentSpec.startsWith("workspace:")) {
            return true;
          }
          const linkedPkg = manifestsByDir[linkedDir] ?? await (0, read_package_json_1.safeReadPackageJsonFromDir)(linkedDir);
          const availableRange = getVersionRange(currentSpec);
          const localPackageSatisfiesRange = availableRange === "*" || availableRange === "^" || availableRange === "~" || linkedPkg && semver_12.default.satisfies(linkedPkg.version, availableRange, { loose: true });
          if (isLinked !== localPackageSatisfiesRange)
            return false;
          return true;
        });
      });
    }
    async function isLocalFileDepUpdated(lockfileDir, pkgSnapshot) {
      if (!pkgSnapshot)
        return false;
      const localDepDir = path_1.default.join(lockfileDir, pkgSnapshot.resolution.directory);
      const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(localDepDir);
      if (!manifest)
        return false;
      for (const depField of types_1.DEPENDENCIES_OR_PEER_FIELDS) {
        if (depField === "devDependencies")
          continue;
        const manifestDeps = manifest[depField] ?? {};
        const lockfileDeps = pkgSnapshot[depField] ?? {};
        if (Object.keys(lockfileDeps).some((depName) => !manifestDeps[depName])) {
          return false;
        }
        for (const depName of Object.keys(manifestDeps)) {
          if (!lockfileDeps[depName]) {
            return false;
          }
          const currentSpec = manifestDeps[depName];
          if (currentSpec.startsWith("file:") || currentSpec.startsWith("link:") || currentSpec.startsWith("workspace:"))
            continue;
          if (semver_12.default.satisfies(lockfileDeps[depName], getVersionRange(currentSpec), { loose: true })) {
            continue;
          } else {
            return false;
          }
        }
      }
      return true;
    }
    function getVersionRange(spec) {
      if (spec.startsWith("workspace:"))
        return spec.slice(10);
      if (spec.startsWith("npm:")) {
        spec = spec.slice(4);
        const index = spec.indexOf("@", 1);
        if (index === -1)
          return "*";
        return spec.slice(index + 1) || "*";
      }
      return spec;
    }
  }
});

// ../lockfile/verification/lib/satisfiesPackageManifest.js
var require_satisfiesPackageManifest = __commonJS({
  "../lockfile/verification/lib/satisfiesPackageManifest.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.satisfiesPackageManifest = satisfiesPackageManifest;
    var types_1 = require_lib31();
    var equals_1 = __importDefault2(require_equals2());
    var pickBy_1 = __importDefault2(require_pickBy());
    var omit_1 = __importDefault2(require_omit());
    function satisfiesPackageManifest(opts, importer, pkg) {
      if (!importer)
        return { satisfies: false, detailedReason: "no importer" };
      let existingDeps = { ...pkg.devDependencies, ...pkg.dependencies, ...pkg.optionalDependencies };
      if (opts?.autoInstallPeers) {
        pkg = {
          ...pkg,
          dependencies: {
            ...pkg.peerDependencies && (0, omit_1.default)(Object.keys(existingDeps), pkg.peerDependencies),
            ...pkg.dependencies
          }
        };
        existingDeps = {
          ...pkg.peerDependencies,
          ...existingDeps
        };
      }
      const pickNonLinkedDeps = (0, pickBy_1.default)((spec) => !spec.startsWith("link:"));
      let specs = importer.specifiers;
      if (opts?.excludeLinksFromLockfile) {
        existingDeps = pickNonLinkedDeps(existingDeps);
        specs = pickNonLinkedDeps(specs);
      }
      if (!(0, equals_1.default)(existingDeps, specs)) {
        return {
          satisfies: false,
          detailedReason: `specifiers in the lockfile (${JSON.stringify(specs)}) don't match specs in package.json (${JSON.stringify(existingDeps)})`
        };
      }
      if (importer.publishDirectory !== pkg.publishConfig?.directory) {
        return {
          satisfies: false,
          detailedReason: `"publishDirectory" in the lockfile (${importer.publishDirectory ?? "undefined"}) doesn't match "publishConfig.directory" in package.json (${pkg.publishConfig?.directory ?? "undefined"})`
        };
      }
      if (!(0, equals_1.default)(pkg.dependenciesMeta ?? {}, importer.dependenciesMeta ?? {})) {
        return {
          satisfies: false,
          detailedReason: `importer dependencies meta (${JSON.stringify(importer.dependenciesMeta)}) doesn't match package manifest dependencies meta (${JSON.stringify(pkg.dependenciesMeta)})`
        };
      }
      for (const depField of types_1.DEPENDENCIES_FIELDS) {
        const importerDeps = importer[depField] ?? {};
        let pkgDeps = pkg[depField] ?? {};
        if (opts?.excludeLinksFromLockfile) {
          pkgDeps = pickNonLinkedDeps(pkgDeps);
        }
        let pkgDepNames;
        switch (depField) {
          case "optionalDependencies":
            pkgDepNames = Object.keys(pkgDeps);
            break;
          case "devDependencies":
            pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName] && !pkg.dependencies?.[depName]);
            break;
          case "dependencies":
            pkgDepNames = Object.keys(pkgDeps).filter((depName) => !pkg.optionalDependencies?.[depName]);
            break;
          default:
            throw new Error(`Unknown dependency type "${depField}"`);
        }
        if (pkgDepNames.length !== Object.keys(importerDeps).length && pkgDepNames.length !== countOfNonLinkedDeps(importerDeps)) {
          return {
            satisfies: false,
            detailedReason: `"${depField}" in the lockfile (${JSON.stringify(importerDeps)}) doesn't match the same field in package.json (${JSON.stringify(pkgDeps)})`
          };
        }
        for (const depName of pkgDepNames) {
          if (!importerDeps[depName] || importer.specifiers?.[depName] !== pkgDeps[depName]) {
            return {
              satisfies: false,
              detailedReason: `importer ${depField}.${depName} specifier ${importer.specifiers[depName]} don't match package manifest specifier (${pkgDeps[depName]})`
            };
          }
        }
      }
      return { satisfies: true };
    }
    function countOfNonLinkedDeps(lockfileDeps) {
      return Object.values(lockfileDeps).filter((ref) => !ref.includes("link:") && !ref.includes("file:")).length;
    }
  }
});

// ../lockfile/verification/lib/localTarballDepsAreUpToDate.js
var require_localTarballDepsAreUpToDate = __commonJS({
  "../lockfile/verification/lib/localTarballDepsAreUpToDate.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.localTarballDepsAreUpToDate = localTarballDepsAreUpToDate;
    var crypto_hash_1 = require_lib40();
    var dependency_path_1 = require_lib98();
    var lockfile_utils_1 = require_lib117();
    var types_1 = require_lib31();
    var node_path_1 = __importDefault2(require("node:path"));
    var p_every_1 = __importDefault2(require_p_every());
    async function localTarballDepsAreUpToDate({ fileIntegrityCache, lockfilePackages, lockfileDir }, project) {
      return (0, p_every_1.default)(types_1.DEPENDENCIES_FIELDS, (depField) => {
        const lockfileDeps = project.snapshot[depField];
        if (lockfileDeps == null) {
          return true;
        }
        return (0, p_every_1.default)(Object.entries(lockfileDeps), async ([depName, ref]) => {
          if (!(0, lockfile_utils_1.refIsLocalTarball)(ref)) {
            return true;
          }
          const depPath = (0, dependency_path_1.refToRelative)(ref, depName);
          const packageSnapshot = depPath != null ? lockfilePackages?.[depPath] : null;
          if (packageSnapshot == null) {
            return false;
          }
          const filePath = node_path_1.default.join(lockfileDir, ref.slice("file:".length));
          const fileIntegrityPromise = fileIntegrityCache.get(filePath) ?? (0, crypto_hash_1.getTarballIntegrity)(filePath);
          if (!fileIntegrityCache.has(filePath)) {
            fileIntegrityCache.set(filePath, fileIntegrityPromise);
          }
          let fileIntegrity;
          try {
            fileIntegrity = await fileIntegrityPromise;
          } catch (err) {
            return false;
          }
          return packageSnapshot.resolution.integrity === fileIntegrity;
        });
      });
    }
  }
});

// ../lockfile/verification/lib/allProjectsAreUpToDate.js
var require_allProjectsAreUpToDate = __commonJS({
  "../lockfile/verification/lib/allProjectsAreUpToDate.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.allProjectsAreUpToDate = allProjectsAreUpToDate;
    var types_1 = require_lib31();
    var p_every_1 = __importDefault2(require_p_every());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var allCatalogsAreUpToDate_1 = require_allCatalogsAreUpToDate();
    var getWorkspacePackagesByDirectory_1 = require_getWorkspacePackagesByDirectory();
    var linkedPackagesAreUpToDate_1 = require_linkedPackagesAreUpToDate();
    var satisfiesPackageManifest_1 = require_satisfiesPackageManifest();
    var localTarballDepsAreUpToDate_1 = require_localTarballDepsAreUpToDate();
    async function allProjectsAreUpToDate(projects, opts) {
      if (!(0, allCatalogsAreUpToDate_1.allCatalogsAreUpToDate)(opts.catalogs, opts.wantedLockfile.catalogs)) {
        return false;
      }
      const manifestsByDir = opts.workspacePackages ? (0, getWorkspacePackagesByDirectory_1.getWorkspacePackagesByDirectory)(opts.workspacePackages) : {};
      const _satisfiesPackageManifest = satisfiesPackageManifest_1.satisfiesPackageManifest.bind(null, {
        autoInstallPeers: opts.autoInstallPeers,
        excludeLinksFromLockfile: opts.excludeLinksFromLockfile
      });
      const _linkedPackagesAreUpToDate = linkedPackagesAreUpToDate_1.linkedPackagesAreUpToDate.bind(null, {
        linkWorkspacePackages: opts.linkWorkspacePackages,
        manifestsByDir,
        workspacePackages: opts.workspacePackages,
        lockfilePackages: opts.wantedLockfile.packages,
        lockfileDir: opts.lockfileDir
      });
      const _localTarballDepsAreUpToDate = localTarballDepsAreUpToDate_1.localTarballDepsAreUpToDate.bind(null, {
        fileIntegrityCache: /* @__PURE__ */ new Map(),
        lockfilePackages: opts.wantedLockfile.packages,
        lockfileDir: opts.lockfileDir
      });
      return (0, p_every_1.default)(projects, async (project) => {
        const importer = opts.wantedLockfile.importers[project.id];
        if (importer == null) {
          return types_1.DEPENDENCIES_FIELDS.every((depType) => project.manifest[depType] == null || (0, isEmpty_1.default)(project.manifest[depType]));
        }
        const projectInfo = {
          dir: project.rootDir,
          manifest: project.manifest,
          snapshot: importer
        };
        return importer != null && _satisfiesPackageManifest(importer, project.manifest).satisfies && await _localTarballDepsAreUpToDate(projectInfo) && _linkedPackagesAreUpToDate(projectInfo);
      });
    }
  }
});

// ../lockfile/verification/lib/index.js
var require_lib138 = __commonJS({
  "../lockfile/verification/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.satisfiesPackageManifest = exports2.linkedPackagesAreUpToDate = exports2.localTarballDepsAreUpToDate = exports2.getWorkspacePackagesByDirectory = exports2.allProjectsAreUpToDate = void 0;
    var allProjectsAreUpToDate_1 = require_allProjectsAreUpToDate();
    Object.defineProperty(exports2, "allProjectsAreUpToDate", { enumerable: true, get: function() {
      return allProjectsAreUpToDate_1.allProjectsAreUpToDate;
    } });
    var getWorkspacePackagesByDirectory_1 = require_getWorkspacePackagesByDirectory();
    Object.defineProperty(exports2, "getWorkspacePackagesByDirectory", { enumerable: true, get: function() {
      return getWorkspacePackagesByDirectory_1.getWorkspacePackagesByDirectory;
    } });
    var localTarballDepsAreUpToDate_1 = require_localTarballDepsAreUpToDate();
    Object.defineProperty(exports2, "localTarballDepsAreUpToDate", { enumerable: true, get: function() {
      return localTarballDepsAreUpToDate_1.localTarballDepsAreUpToDate;
    } });
    var linkedPackagesAreUpToDate_1 = require_linkedPackagesAreUpToDate();
    Object.defineProperty(exports2, "linkedPackagesAreUpToDate", { enumerable: true, get: function() {
      return linkedPackagesAreUpToDate_1.linkedPackagesAreUpToDate;
    } });
    var satisfiesPackageManifest_1 = require_satisfiesPackageManifest();
    Object.defineProperty(exports2, "satisfiesPackageManifest", { enumerable: true, get: function() {
      return satisfiesPackageManifest_1.satisfiesPackageManifest;
    } });
  }
});

// ../hooks/pnpmfile/lib/getPnpmfilePath.js
var require_getPnpmfilePath = __commonJS({
  "../hooks/pnpmfile/lib/getPnpmfilePath.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPnpmfilePath = getPnpmfilePath;
    var path_1 = __importDefault2(require("path"));
    function getPnpmfilePath(prefix, pnpmfile) {
      if (!pnpmfile) {
        pnpmfile = ".pnpmfile.cjs";
      } else if (path_1.default.isAbsolute(pnpmfile)) {
        return pnpmfile;
      }
      return path_1.default.join(prefix, pnpmfile);
    }
  }
});

// ../hooks/pnpmfile/lib/requirePnpmfile.js
var require_requirePnpmfile = __commonJS({
  "../hooks/pnpmfile/lib/requirePnpmfile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BadReadPackageHookError = void 0;
    exports2.requirePnpmfile = requirePnpmfile;
    var assert_1 = __importDefault2(require("assert"));
    var fs_1 = __importDefault2(require("fs"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var chalk_1 = __importDefault2(require_source());
    var BadReadPackageHookError = class extends error_1.PnpmError {
      constructor(pnpmfile, message) {
        super("BAD_READ_PACKAGE_HOOK_RESULT", `${message} Hook imported via ${pnpmfile}`);
        this.pnpmfile = pnpmfile;
      }
    };
    exports2.BadReadPackageHookError = BadReadPackageHookError;
    var PnpmFileFailError = class extends error_1.PnpmError {
      constructor(pnpmfile, originalError) {
        super("PNPMFILE_FAIL", `Error during pnpmfile execution. pnpmfile: "${pnpmfile}". Error: "${originalError.message}".`);
        this.pnpmfile = pnpmfile;
        this.originalError = originalError;
      }
    };
    function requirePnpmfile(pnpmFilePath, prefix) {
      try {
        const pnpmfile = require(pnpmFilePath);
        if (typeof pnpmfile === "undefined") {
          logger_1.logger.warn({
            message: `Ignoring the pnpmfile at "${pnpmFilePath}". It exports "undefined".`,
            prefix
          });
          return void 0;
        }
        if (pnpmfile?.hooks?.readPackage && typeof pnpmfile.hooks.readPackage !== "function") {
          throw new TypeError("hooks.readPackage should be a function");
        }
        if (pnpmfile?.hooks?.readPackage) {
          const readPackage = pnpmfile.hooks.readPackage;
          pnpmfile.hooks.readPackage = async function(pkg, ...args) {
            pkg.dependencies = pkg.dependencies ?? {};
            pkg.devDependencies = pkg.devDependencies ?? {};
            pkg.optionalDependencies = pkg.optionalDependencies ?? {};
            pkg.peerDependencies = pkg.peerDependencies ?? {};
            const newPkg = await readPackage(pkg, ...args);
            if (!newPkg) {
              throw new BadReadPackageHookError(pnpmFilePath, "readPackage hook did not return a package manifest object.");
            }
            const dependencies = ["dependencies", "optionalDependencies", "peerDependencies"];
            for (const dep of dependencies) {
              if (newPkg[dep] && typeof newPkg[dep] !== "object") {
                throw new BadReadPackageHookError(pnpmFilePath, `readPackage hook returned package manifest object's property '${dep}' must be an object.`);
              }
            }
            return newPkg;
          };
        }
        pnpmfile.filename = pnpmFilePath;
        return pnpmfile;
      } catch (err) {
        if (err instanceof SyntaxError) {
          console.error(chalk_1.default.red("A syntax error in the .pnpmfile.cjs\n"));
          console.error(err);
          process.exit(1);
        }
        (0, assert_1.default)(util_1.default.types.isNativeError(err));
        if (!("code" in err && err.code === "MODULE_NOT_FOUND") || pnpmFileExistsSync(pnpmFilePath)) {
          throw new PnpmFileFailError(pnpmFilePath, err);
        }
        return void 0;
      }
    }
    function pnpmFileExistsSync(pnpmFilePath) {
      const pnpmFileRealName = pnpmFilePath.endsWith(".cjs") ? pnpmFilePath : `${pnpmFilePath}.cjs`;
      return fs_1.default.existsSync(pnpmFileRealName);
    }
  }
});

// ../hooks/pnpmfile/lib/requireHooks.js
var require_requireHooks = __commonJS({
  "../hooks/pnpmfile/lib/requireHooks.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.requireHooks = requireHooks;
    var core_loggers_1 = require_lib28();
    var crypto_hash_1 = require_lib40();
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var getPnpmfilePath_1 = require_getPnpmfilePath();
    var requirePnpmfile_1 = require_requirePnpmfile();
    function requireHooks(prefix, opts) {
      const globalPnpmfile = opts.globalPnpmfile ? (0, requirePnpmfile_1.requirePnpmfile)((0, path_absolute_1.default)(opts.globalPnpmfile, prefix), prefix) : void 0;
      let globalHooks = globalPnpmfile?.hooks;
      const pnpmfilePath = (0, getPnpmfilePath_1.getPnpmfilePath)(prefix, opts.pnpmfile);
      const pnpmFile = (0, requirePnpmfile_1.requirePnpmfile)(pnpmfilePath, prefix);
      let hooks = pnpmFile?.hooks;
      if (!globalHooks && !hooks)
        return { afterAllResolved: [], filterLog: [], readPackage: [] };
      const calculatePnpmfileChecksum = hooks ? () => (0, crypto_hash_1.createHashFromFile)(pnpmfilePath) : void 0;
      globalHooks = globalHooks ?? {};
      hooks = hooks ?? {};
      const cookedHooks = {
        afterAllResolved: [],
        filterLog: [],
        readPackage: [],
        calculatePnpmfileChecksum
      };
      for (const hookName of ["readPackage", "afterAllResolved"]) {
        if (globalHooks[hookName]) {
          const globalHook = globalHooks[hookName];
          const context = createReadPackageHookContext(globalPnpmfile.filename, prefix, hookName);
          cookedHooks[hookName].push((pkg) => globalHook(pkg, context));
        }
        if (hooks[hookName]) {
          const hook = hooks[hookName];
          const context = createReadPackageHookContext(pnpmFile.filename, prefix, hookName);
          cookedHooks[hookName].push((pkg) => hook(pkg, context));
        }
      }
      if (globalHooks.filterLog != null) {
        cookedHooks.filterLog.push(globalHooks.filterLog);
      }
      if (hooks.filterLog != null) {
        cookedHooks.filterLog.push(hooks.filterLog);
      }
      cookedHooks.importPackage = globalHooks.importPackage;
      const preResolutionHook = globalHooks.preResolution;
      cookedHooks.preResolution = preResolutionHook ? (ctx) => preResolutionHook(ctx, createPreResolutionHookLogger(prefix)) : void 0;
      cookedHooks.fetchers = globalHooks.fetchers;
      return cookedHooks;
    }
    function createReadPackageHookContext(calledFrom, prefix, hook) {
      return {
        log: (message) => {
          core_loggers_1.hookLogger.debug({
            from: calledFrom,
            hook,
            message,
            prefix
          });
        }
      };
    }
    function createPreResolutionHookLogger(prefix) {
      const hook = "preResolution";
      return {
        info: (message) => core_loggers_1.hookLogger.info({ message, prefix, hook }),
        // eslint-disable-line
        warn: (message) => core_loggers_1.hookLogger.warn({ message, prefix, hook })
        // eslint-disable-line
      };
    }
  }
});

// ../hooks/pnpmfile/lib/index.js
var require_lib139 = __commonJS({
  "../hooks/pnpmfile/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BadReadPackageHookError = exports2.requirePnpmfile = exports2.requireHooks = exports2.getPnpmfilePath = void 0;
    var getPnpmfilePath_1 = require_getPnpmfilePath();
    Object.defineProperty(exports2, "getPnpmfilePath", { enumerable: true, get: function() {
      return getPnpmfilePath_1.getPnpmfilePath;
    } });
    var requireHooks_1 = require_requireHooks();
    Object.defineProperty(exports2, "requireHooks", { enumerable: true, get: function() {
      return requireHooks_1.requireHooks;
    } });
    var requirePnpmfile_1 = require_requirePnpmfile();
    Object.defineProperty(exports2, "requirePnpmfile", { enumerable: true, get: function() {
      return requirePnpmfile_1.requirePnpmfile;
    } });
    Object.defineProperty(exports2, "BadReadPackageHookError", { enumerable: true, get: function() {
      return requirePnpmfile_1.BadReadPackageHookError;
    } });
  }
});

// ../workspace/state/lib/filePath.js
var require_filePath = __commonJS({
  "../workspace/state/lib/filePath.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getFilePath = void 0;
    var path_1 = __importDefault2(require("path"));
    var getFilePath = (workspaceDir) => path_1.default.join(workspaceDir, "node_modules", ".pnpm-workspace-state.json");
    exports2.getFilePath = getFilePath;
  }
});

// ../workspace/state/lib/loadWorkspaceState.js
var require_loadWorkspaceState = __commonJS({
  "../workspace/state/lib/loadWorkspaceState.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.loadWorkspaceState = loadWorkspaceState;
    var fs_1 = __importDefault2(require("fs"));
    var util_1 = __importDefault2(require("util"));
    var logger_1 = require_lib();
    var filePath_1 = require_filePath();
    function loadWorkspaceState(workspaceDir) {
      logger_1.logger.debug({ msg: "loading workspace state" });
      const cacheFile = (0, filePath_1.getFilePath)(workspaceDir);
      let cacheFileContent;
      try {
        cacheFileContent = fs_1.default.readFileSync(cacheFile, "utf-8");
      } catch (error) {
        if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
          return void 0;
        }
        throw error;
      }
      return JSON.parse(cacheFileContent);
    }
  }
});

// ../workspace/state/lib/createWorkspaceState.js
var require_createWorkspaceState = __commonJS({
  "../workspace/state/lib/createWorkspaceState.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createWorkspaceState = void 0;
    var pick_1 = __importDefault2(require_pick());
    var createWorkspaceState = (opts) => ({
      lastValidatedTimestamp: Date.now(),
      projects: Object.fromEntries(opts.allProjects.map((project) => [
        project.rootDir,
        {
          name: project.manifest.name,
          version: project.manifest.version
        }
      ])),
      pnpmfileExists: opts.pnpmfileExists,
      settings: (0, pick_1.default)([
        "autoInstallPeers",
        "catalogs",
        "dedupeDirectDeps",
        "dedupeInjectedDeps",
        "dedupePeerDependents",
        "dev",
        "excludeLinksFromLockfile",
        "hoistPattern",
        "hoistWorkspacePackages",
        "injectWorkspacePackages",
        "linkWorkspacePackages",
        "nodeLinker",
        "optional",
        "preferWorkspacePackages",
        "production",
        "publicHoistPattern",
        "workspacePackagePatterns"
      ], opts.settings),
      filteredInstall: opts.filteredInstall,
      configDependencies: opts.configDependencies
    });
    exports2.createWorkspaceState = createWorkspaceState;
  }
});

// ../workspace/state/lib/updateWorkspaceState.js
var require_updateWorkspaceState = __commonJS({
  "../workspace/state/lib/updateWorkspaceState.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateWorkspaceState = updateWorkspaceState;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var filePath_1 = require_filePath();
    var createWorkspaceState_1 = require_createWorkspaceState();
    async function updateWorkspaceState(opts) {
      logger_1.logger.debug({ msg: "updating workspace state" });
      const workspaceState = (0, createWorkspaceState_1.createWorkspaceState)(opts);
      const workspaceStateJSON = JSON.stringify(workspaceState, void 0, 2) + "\n";
      const cacheFile = (0, filePath_1.getFilePath)(opts.workspaceDir);
      await fs_1.default.promises.mkdir(path_1.default.dirname(cacheFile), { recursive: true });
      await fs_1.default.promises.writeFile(cacheFile, workspaceStateJSON);
    }
  }
});

// ../workspace/state/lib/index.js
var require_lib140 = __commonJS({
  "../workspace/state/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateWorkspaceState = exports2.loadWorkspaceState = void 0;
    var loadWorkspaceState_1 = require_loadWorkspaceState();
    Object.defineProperty(exports2, "loadWorkspaceState", { enumerable: true, get: function() {
      return loadWorkspaceState_1.loadWorkspaceState;
    } });
    var updateWorkspaceState_1 = require_updateWorkspaceState();
    Object.defineProperty(exports2, "updateWorkspaceState", { enumerable: true, get: function() {
      return updateWorkspaceState_1.updateWorkspaceState;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/F.js
var require_F = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/F.js"(exports2, module2) {
    var F = function() {
      return false;
    };
    module2.exports = F;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/T.js
var require_T = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/T.js"(exports2, module2) {
    var T = function() {
      return true;
    };
    module2.exports = T;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/__.js
var require__ = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/__.js"(exports2, module2) {
    module2.exports = {
      "@@functional/placeholder": true
    };
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/add.js
var require_add = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/add.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var add = /* @__PURE__ */ _curry2(function add2(a, b) {
      return Number(a) + Number(b);
    });
    module2.exports = add;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_concat.js
var require_concat3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_concat.js"(exports2, module2) {
    function _concat(set1, set2) {
      set1 = set1 || [];
      set2 = set2 || [];
      var idx;
      var len1 = set1.length;
      var len2 = set2.length;
      var result2 = [];
      idx = 0;
      while (idx < len1) {
        result2[result2.length] = set1[idx];
        idx += 1;
      }
      idx = 0;
      while (idx < len2) {
        result2[result2.length] = set2[idx];
        idx += 1;
      }
      return result2;
    }
    module2.exports = _concat;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/addIndex.js
var require_addIndex = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/addIndex.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var addIndex = /* @__PURE__ */ _curry1(function addIndex2(fn) {
      return curryN(fn.length, function() {
        var idx = 0;
        var origFn = arguments[0];
        var list = arguments[arguments.length - 1];
        var args = Array.prototype.slice.call(arguments, 0);
        args[0] = function() {
          var result2 = origFn.apply(this, _concat(arguments, [idx, list]));
          idx += 1;
          return result2;
        };
        return fn.apply(this, args);
      });
    });
    module2.exports = addIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/adjust.js
var require_adjust = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/adjust.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry3 = require_curry3();
    var adjust = /* @__PURE__ */ _curry3(function adjust2(idx, fn, list) {
      var len = list.length;
      if (idx >= len || idx < -len) {
        return list;
      }
      var _idx = (len + idx) % len;
      var _list = _concat(list);
      _list[_idx] = fn(list[_idx]);
      return _list;
    });
    module2.exports = adjust;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xall.js
var require_xall = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xall.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XAll = /* @__PURE__ */ function() {
      function XAll2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.all = true;
      }
      XAll2.prototype["@@transducer/init"] = _xfBase.init;
      XAll2.prototype["@@transducer/result"] = function(result2) {
        if (this.all) {
          result2 = this.xf["@@transducer/step"](result2, true);
        }
        return this.xf["@@transducer/result"](result2);
      };
      XAll2.prototype["@@transducer/step"] = function(result2, input) {
        if (!this.f(input)) {
          this.all = false;
          result2 = _reduced(this.xf["@@transducer/step"](result2, false));
        }
        return result2;
      };
      return XAll2;
    }();
    var _xall = /* @__PURE__ */ _curry2(function _xall2(f, xf) {
      return new XAll(f, xf);
    });
    module2.exports = _xall;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/all.js
var require_all2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/all.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xall = require_xall();
    var all = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["all"], _xall, function all2(fn, list) {
        var idx = 0;
        while (idx < list.length) {
          if (!fn(list[idx])) {
            return false;
          }
          idx += 1;
        }
        return true;
      })
    );
    module2.exports = all;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/allPass.js
var require_allPass = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/allPass.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var max = require_max2();
    var pluck = require_pluck2();
    var reduce = require_reduce3();
    var allPass = /* @__PURE__ */ _curry1(function allPass2(preds) {
      return curryN(reduce(max, 0, pluck("length", preds)), function() {
        var idx = 0;
        var len = preds.length;
        while (idx < len) {
          if (!preds[idx].apply(this, arguments)) {
            return false;
          }
          idx += 1;
        }
        return true;
      });
    });
    module2.exports = allPass;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/and.js
var require_and = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/and.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var and = /* @__PURE__ */ _curry2(function and2(a, b) {
      return a && b;
    });
    module2.exports = and;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xany.js
var require_xany = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xany.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XAny = /* @__PURE__ */ function() {
      function XAny2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.any = false;
      }
      XAny2.prototype["@@transducer/init"] = _xfBase.init;
      XAny2.prototype["@@transducer/result"] = function(result2) {
        if (!this.any) {
          result2 = this.xf["@@transducer/step"](result2, false);
        }
        return this.xf["@@transducer/result"](result2);
      };
      XAny2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.f(input)) {
          this.any = true;
          result2 = _reduced(this.xf["@@transducer/step"](result2, true));
        }
        return result2;
      };
      return XAny2;
    }();
    var _xany = /* @__PURE__ */ _curry2(function _xany2(f, xf) {
      return new XAny(f, xf);
    });
    module2.exports = _xany;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/any.js
var require_any = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/any.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xany = require_xany();
    var any = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["any"], _xany, function any2(fn, list) {
        var idx = 0;
        while (idx < list.length) {
          if (fn(list[idx])) {
            return true;
          }
          idx += 1;
        }
        return false;
      })
    );
    module2.exports = any;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/anyPass.js
var require_anyPass = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/anyPass.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var max = require_max2();
    var pluck = require_pluck2();
    var reduce = require_reduce3();
    var anyPass = /* @__PURE__ */ _curry1(function anyPass2(preds) {
      return curryN(reduce(max, 0, pluck("length", preds)), function() {
        var idx = 0;
        var len = preds.length;
        while (idx < len) {
          if (preds[idx].apply(this, arguments)) {
            return true;
          }
          idx += 1;
        }
        return false;
      });
    });
    module2.exports = anyPass;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ap.js
var require_ap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ap.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var _reduce = require_reduce();
    var map = require_map3();
    var ap = /* @__PURE__ */ _curry2(function ap2(applyF, applyX) {
      return typeof applyX["fantasy-land/ap"] === "function" ? applyX["fantasy-land/ap"](applyF) : typeof applyF.ap === "function" ? applyF.ap(applyX) : typeof applyF === "function" ? function(x) {
        return applyF(x)(applyX(x));
      } : _reduce(function(acc, f) {
        return _concat(acc, map(f, applyX));
      }, [], applyF);
    });
    module2.exports = ap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_aperture.js
var require_aperture = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_aperture.js"(exports2, module2) {
    function _aperture(n, list) {
      var idx = 0;
      var limit = list.length - (n - 1);
      var acc = new Array(limit >= 0 ? limit : 0);
      while (idx < limit) {
        acc[idx] = Array.prototype.slice.call(list, idx, idx + n);
        idx += 1;
      }
      return acc;
    }
    module2.exports = _aperture;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xaperture.js
var require_xaperture = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xaperture.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XAperture = /* @__PURE__ */ function() {
      function XAperture2(n, xf) {
        this.xf = xf;
        this.pos = 0;
        this.full = false;
        this.acc = new Array(n);
      }
      XAperture2.prototype["@@transducer/init"] = _xfBase.init;
      XAperture2.prototype["@@transducer/result"] = function(result2) {
        this.acc = null;
        return this.xf["@@transducer/result"](result2);
      };
      XAperture2.prototype["@@transducer/step"] = function(result2, input) {
        this.store(input);
        return this.full ? this.xf["@@transducer/step"](result2, this.getCopy()) : result2;
      };
      XAperture2.prototype.store = function(input) {
        this.acc[this.pos] = input;
        this.pos += 1;
        if (this.pos === this.acc.length) {
          this.pos = 0;
          this.full = true;
        }
      };
      XAperture2.prototype.getCopy = function() {
        return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));
      };
      return XAperture2;
    }();
    var _xaperture = /* @__PURE__ */ _curry2(function _xaperture2(n, xf) {
      return new XAperture(n, xf);
    });
    module2.exports = _xaperture;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/aperture.js
var require_aperture2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/aperture.js"(exports2, module2) {
    var _aperture = require_aperture();
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xaperture = require_xaperture();
    var aperture = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xaperture, _aperture)
    );
    module2.exports = aperture;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/append.js
var require_append = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/append.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var append = /* @__PURE__ */ _curry2(function append2(el, list) {
      return _concat(list, [el]);
    });
    module2.exports = append;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/apply.js
var require_apply = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/apply.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var apply = /* @__PURE__ */ _curry2(function apply2(fn, args) {
      return fn.apply(this, args);
    });
    module2.exports = apply;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/values.js
var require_values = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/values.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var keys = require_keys();
    var values = /* @__PURE__ */ _curry1(function values2(obj) {
      var props = keys(obj);
      var len = props.length;
      var vals = [];
      var idx = 0;
      while (idx < len) {
        vals[idx] = obj[props[idx]];
        idx += 1;
      }
      return vals;
    });
    module2.exports = values;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applySpec.js
var require_applySpec = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applySpec.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isArray = require_isArray();
    var apply = require_apply();
    var curryN = require_curryN2();
    var max = require_max2();
    var pluck = require_pluck2();
    var reduce = require_reduce3();
    var keys = require_keys();
    var values = require_values();
    function mapValues(fn, obj) {
      return _isArray(obj) ? obj.map(fn) : keys(obj).reduce(function(acc, key) {
        acc[key] = fn(obj[key]);
        return acc;
      }, {});
    }
    var applySpec = /* @__PURE__ */ _curry1(function applySpec2(spec) {
      spec = mapValues(function(v) {
        return typeof v == "function" ? v : applySpec2(v);
      }, spec);
      return curryN(reduce(max, 0, pluck("length", values(spec))), function() {
        var args = arguments;
        return mapValues(function(f) {
          return apply(f, args);
        }, spec);
      });
    });
    module2.exports = applySpec;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applyTo.js
var require_applyTo = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/applyTo.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var applyTo = /* @__PURE__ */ _curry2(function applyTo2(x, f) {
      return f(x);
    });
    module2.exports = applyTo;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ascend.js
var require_ascend = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ascend.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var ascend = /* @__PURE__ */ _curry3(function ascend2(fn, a, b) {
      var aa = fn(a);
      var bb = fn(b);
      return aa < bb ? -1 : aa > bb ? 1 : 0;
    });
    module2.exports = ascend;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assoc.js
var require_assoc = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assoc.js"(exports2, module2) {
    var _isArray = require_isArray();
    var _isInteger = require_isInteger();
    function _assoc(prop, val, obj) {
      if (_isInteger(prop) && _isArray(obj)) {
        var arr = [].concat(obj);
        arr[prop] = val;
        return arr;
      }
      var result2 = {};
      for (var p in obj) {
        result2[p] = obj[p];
      }
      result2[prop] = val;
      return result2;
    }
    module2.exports = _assoc;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isNil.js
var require_isNil = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/isNil.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var isNil = /* @__PURE__ */ _curry1(function isNil2(x) {
      return x == null;
    });
    module2.exports = isNil;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assocPath.js
var require_assocPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assocPath.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _has = require_has();
    var _isInteger = require_isInteger();
    var _assoc = require_assoc();
    var isNil = require_isNil();
    var assocPath = /* @__PURE__ */ _curry3(function assocPath2(path2, val, obj) {
      if (path2.length === 0) {
        return val;
      }
      var idx = path2[0];
      if (path2.length > 1) {
        var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path2[1]) ? [] : {};
        val = assocPath2(Array.prototype.slice.call(path2, 1), val, nextObj);
      }
      return _assoc(idx, val, obj);
    });
    module2.exports = assocPath;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assoc.js
var require_assoc2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/assoc.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var assocPath = require_assocPath();
    var assoc = /* @__PURE__ */ _curry3(function assoc2(prop, val, obj) {
      return assocPath([prop], val, obj);
    });
    module2.exports = assoc;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nAry.js
var require_nAry = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nAry.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var nAry = /* @__PURE__ */ _curry2(function nAry2(n, fn) {
      switch (n) {
        case 0:
          return function() {
            return fn.call(this);
          };
        case 1:
          return function(a0) {
            return fn.call(this, a0);
          };
        case 2:
          return function(a0, a1) {
            return fn.call(this, a0, a1);
          };
        case 3:
          return function(a0, a1, a2) {
            return fn.call(this, a0, a1, a2);
          };
        case 4:
          return function(a0, a1, a2, a3) {
            return fn.call(this, a0, a1, a2, a3);
          };
        case 5:
          return function(a0, a1, a2, a3, a4) {
            return fn.call(this, a0, a1, a2, a3, a4);
          };
        case 6:
          return function(a0, a1, a2, a3, a4, a5) {
            return fn.call(this, a0, a1, a2, a3, a4, a5);
          };
        case 7:
          return function(a0, a1, a2, a3, a4, a5, a6) {
            return fn.call(this, a0, a1, a2, a3, a4, a5, a6);
          };
        case 8:
          return function(a0, a1, a2, a3, a4, a5, a6, a7) {
            return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);
          };
        case 9:
          return function(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
            return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);
          };
        case 10:
          return function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {
            return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);
          };
        default:
          throw new Error("First argument to nAry must be a non-negative integer no greater than ten");
      }
    });
    module2.exports = nAry;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/binary.js
var require_binary3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/binary.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var nAry = require_nAry();
    var binary = /* @__PURE__ */ _curry1(function binary2(fn) {
      return nAry(2, fn);
    });
    module2.exports = binary;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isFunction.js
var require_isFunction2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isFunction.js"(exports2, module2) {
    function _isFunction(x) {
      var type = Object.prototype.toString.call(x);
      return type === "[object Function]" || type === "[object AsyncFunction]" || type === "[object GeneratorFunction]" || type === "[object AsyncGeneratorFunction]";
    }
    module2.exports = _isFunction;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/liftN.js
var require_liftN = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/liftN.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduce = require_reduce();
    var ap = require_ap();
    var curryN = require_curryN2();
    var map = require_map3();
    var liftN = /* @__PURE__ */ _curry2(function liftN2(arity, fn) {
      var lifted = curryN(arity, fn);
      return curryN(arity, function() {
        return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));
      });
    });
    module2.exports = liftN;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lift.js
var require_lift2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lift.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var liftN = require_liftN();
    var lift = /* @__PURE__ */ _curry1(function lift2(fn) {
      return liftN(fn.length, fn);
    });
    module2.exports = lift;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/both.js
var require_both = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/both.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isFunction = require_isFunction2();
    var and = require_and();
    var lift = require_lift2();
    var both = /* @__PURE__ */ _curry2(function both2(f, g) {
      return _isFunction(f) ? function _both() {
        return f.apply(this, arguments) && g.apply(this, arguments);
      } : lift(and)(f, g);
    });
    module2.exports = both;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/call.js
var require_call = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/call.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var call = /* @__PURE__ */ _curry1(function call2(fn) {
      return fn.apply(this, Array.prototype.slice.call(arguments, 1));
    });
    module2.exports = call;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clamp.js
var require_clamp = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/clamp.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var clamp = /* @__PURE__ */ _curry3(function clamp2(min, max, value) {
      if (min > max) {
        throw new Error("min must not be greater than max in clamp(min, max, value)");
      }
      return value < min ? min : value > max ? max : value;
    });
    module2.exports = clamp;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/collectBy.js
var require_collectBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/collectBy.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduce = require_reduce();
    var collectBy = /* @__PURE__ */ _curry2(function collectBy2(fn, list) {
      var group = _reduce(function(o, x) {
        var tag2 = fn(x);
        if (o[tag2] === void 0) {
          o[tag2] = [];
        }
        o[tag2].push(x);
        return o;
      }, {}, list);
      var newList = [];
      for (var tag in group) {
        newList.push(group[tag]);
      }
      return newList;
    });
    module2.exports = collectBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/comparator.js
var require_comparator2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/comparator.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var comparator = /* @__PURE__ */ _curry1(function comparator2(pred) {
      return function(a, b) {
        return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;
      };
    });
    module2.exports = comparator;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/not.js
var require_not2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/not.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var not = /* @__PURE__ */ _curry1(function not2(a) {
      return !a;
    });
    module2.exports = not;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/complement.js
var require_complement2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/complement.js"(exports2, module2) {
    var lift = require_lift2();
    var not = require_not2();
    var complement = /* @__PURE__ */ lift(not);
    module2.exports = complement;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_pipe.js
var require_pipe3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_pipe.js"(exports2, module2) {
    function _pipe(f, g) {
      return function() {
        return g.call(this, f.apply(this, arguments));
      };
    }
    module2.exports = _pipe;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/slice.js
var require_slice = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/slice.js"(exports2, module2) {
    var _checkForMethod = require_checkForMethod();
    var _curry3 = require_curry3();
    var slice = /* @__PURE__ */ _curry3(
      /* @__PURE__ */ _checkForMethod("slice", function slice2(fromIndex, toIndex, list) {
        return Array.prototype.slice.call(list, fromIndex, toIndex);
      })
    );
    module2.exports = slice;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tail.js
var require_tail = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tail.js"(exports2, module2) {
    var _checkForMethod = require_checkForMethod();
    var _curry1 = require_curry1();
    var slice = require_slice();
    var tail = /* @__PURE__ */ _curry1(
      /* @__PURE__ */ _checkForMethod(
        "tail",
        /* @__PURE__ */ slice(1, Infinity)
      )
    );
    module2.exports = tail;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipe.js
var require_pipe4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipe.js"(exports2, module2) {
    var _arity = require_arity();
    var _pipe = require_pipe3();
    var reduce = require_reduce3();
    var tail = require_tail();
    function pipe() {
      if (arguments.length === 0) {
        throw new Error("pipe requires at least one argument");
      }
      return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));
    }
    module2.exports = pipe;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reverse.js
var require_reverse = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reverse.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isString = require_isString();
    var reverse = /* @__PURE__ */ _curry1(function reverse2(list) {
      return _isString(list) ? list.split("").reverse().join("") : Array.prototype.slice.call(list, 0).reverse();
    });
    module2.exports = reverse;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/compose.js
var require_compose = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/compose.js"(exports2, module2) {
    var pipe = require_pipe4();
    var reverse = require_reverse();
    function compose() {
      if (arguments.length === 0) {
        throw new Error("compose requires at least one argument");
      }
      return pipe.apply(this, reverse(arguments));
    }
    module2.exports = compose;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/head.js
var require_head = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/head.js"(exports2, module2) {
    var nth = require_nth();
    var head = /* @__PURE__ */ nth(0);
    module2.exports = head;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identity.js
var require_identity3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identity.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _identity = require_identity2();
    var identity = /* @__PURE__ */ _curry1(_identity);
    module2.exports = identity;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipeWith.js
var require_pipeWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pipeWith.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry2 = require_curry2();
    var head = require_head();
    var _reduce = require_reduce();
    var tail = require_tail();
    var identity = require_identity3();
    var pipeWith = /* @__PURE__ */ _curry2(function pipeWith2(xf, list) {
      if (list.length <= 0) {
        return identity;
      }
      var headList = head(list);
      var tailList = tail(list);
      return _arity(headList.length, function() {
        return _reduce(function(result2, f) {
          return xf.call(this, f, result2);
        }, headList.apply(this, arguments), tailList);
      });
    });
    module2.exports = pipeWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/composeWith.js
var require_composeWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/composeWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var pipeWith = require_pipeWith();
    var reverse = require_reverse();
    var composeWith = /* @__PURE__ */ _curry2(function composeWith2(xf, list) {
      return pipeWith.apply(this, [xf, reverse(list)]);
    });
    module2.exports = composeWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_quote.js
var require_quote2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_quote.js"(exports2, module2) {
    function _quote(s) {
      var escaped = s.replace(/\\/g, "\\\\").replace(/[\b]/g, "\\b").replace(/\f/g, "\\f").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t").replace(/\v/g, "\\v").replace(/\0/g, "\\0");
      return '"' + escaped.replace(/"/g, '\\"') + '"';
    }
    module2.exports = _quote;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toISOString.js
var require_toISOString = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toISOString.js"(exports2, module2) {
    var pad = function pad2(n) {
      return (n < 10 ? "0" : "") + n;
    };
    var _toISOString = typeof Date.prototype.toISOString === "function" ? function _toISOString2(d) {
      return d.toISOString();
    } : function _toISOString2(d) {
      return d.getUTCFullYear() + "-" + pad(d.getUTCMonth() + 1) + "-" + pad(d.getUTCDate()) + "T" + pad(d.getUTCHours()) + ":" + pad(d.getUTCMinutes()) + ":" + pad(d.getUTCSeconds()) + "." + (d.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z";
    };
    module2.exports = _toISOString;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toString.js
var require_toString = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_toString.js"(exports2, module2) {
    var _includes = require_includes();
    var _map = require_map2();
    var _quote = require_quote2();
    var _toISOString = require_toISOString();
    var keys = require_keys();
    var reject = require_reject();
    function _toString(x, seen) {
      var recur = function recur2(y) {
        var xs = seen.concat([x]);
        return _includes(y, xs) ? "<Circular>" : _toString(y, xs);
      };
      var mapPairs = function(obj, keys2) {
        return _map(function(k) {
          return _quote(k) + ": " + recur(obj[k]);
        }, keys2.slice().sort());
      };
      switch (Object.prototype.toString.call(x)) {
        case "[object Arguments]":
          return "(function() { return arguments; }(" + _map(recur, x).join(", ") + "))";
        case "[object Array]":
          return "[" + _map(recur, x).concat(mapPairs(x, reject(function(k) {
            return /^\d+$/.test(k);
          }, keys(x)))).join(", ") + "]";
        case "[object Boolean]":
          return typeof x === "object" ? "new Boolean(" + recur(x.valueOf()) + ")" : x.toString();
        case "[object Date]":
          return "new Date(" + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ")";
        case "[object Null]":
          return "null";
        case "[object Number]":
          return typeof x === "object" ? "new Number(" + recur(x.valueOf()) + ")" : 1 / x === -Infinity ? "-0" : x.toString(10);
        case "[object String]":
          return typeof x === "object" ? "new String(" + recur(x.valueOf()) + ")" : _quote(x);
        case "[object Undefined]":
          return "undefined";
        default:
          if (typeof x.toString === "function") {
            var repr = x.toString();
            if (repr !== "[object Object]") {
              return repr;
            }
          }
          return "{" + mapPairs(x, keys(x)).join(", ") + "}";
      }
    }
    module2.exports = _toString;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toString.js
var require_toString2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toString.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _toString = require_toString();
    var toString = /* @__PURE__ */ _curry1(function toString2(val) {
      return _toString(val, []);
    });
    module2.exports = toString;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/concat.js
var require_concat4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/concat.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isArray = require_isArray();
    var _isFunction = require_isFunction2();
    var _isString = require_isString();
    var toString = require_toString2();
    var concat = /* @__PURE__ */ _curry2(function concat2(a, b) {
      if (_isArray(a)) {
        if (_isArray(b)) {
          return a.concat(b);
        }
        throw new TypeError(toString(b) + " is not an array");
      }
      if (_isString(a)) {
        if (_isString(b)) {
          return a + b;
        }
        throw new TypeError(toString(b) + " is not a string");
      }
      if (a != null && _isFunction(a["fantasy-land/concat"])) {
        return a["fantasy-land/concat"](b);
      }
      if (a != null && _isFunction(a.concat)) {
        return a.concat(b);
      }
      throw new TypeError(toString(a) + ' does not have a method named "concat" or "fantasy-land/concat"');
    });
    module2.exports = concat;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/cond.js
var require_cond = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/cond.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry1 = require_curry1();
    var map = require_map3();
    var max = require_max2();
    var reduce = require_reduce3();
    var cond = /* @__PURE__ */ _curry1(function cond2(pairs) {
      var arity = reduce(max, 0, map(function(pair) {
        return pair[0].length;
      }, pairs));
      return _arity(arity, function() {
        var idx = 0;
        while (idx < pairs.length) {
          if (pairs[idx][0].apply(this, arguments)) {
            return pairs[idx][1].apply(this, arguments);
          }
          idx += 1;
        }
      });
    });
    module2.exports = cond;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curry.js
var require_curry = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/curry.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var curry = /* @__PURE__ */ _curry1(function curry2(fn) {
      return curryN(fn.length, fn);
    });
    module2.exports = curry;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/constructN.js
var require_constructN = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/constructN.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var curry = require_curry();
    var nAry = require_nAry();
    var constructN = /* @__PURE__ */ _curry2(function constructN2(n, Fn) {
      if (n > 10) {
        throw new Error("Constructor with greater than ten arguments");
      }
      if (n === 0) {
        return function() {
          return new Fn();
        };
      }
      return curry(nAry(n, function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {
        switch (arguments.length) {
          case 1:
            return new Fn($0);
          case 2:
            return new Fn($0, $1);
          case 3:
            return new Fn($0, $1, $2);
          case 4:
            return new Fn($0, $1, $2, $3);
          case 5:
            return new Fn($0, $1, $2, $3, $4);
          case 6:
            return new Fn($0, $1, $2, $3, $4, $5);
          case 7:
            return new Fn($0, $1, $2, $3, $4, $5, $6);
          case 8:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7);
          case 9:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);
          case 10:
            return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);
        }
      }));
    });
    module2.exports = constructN;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/construct.js
var require_construct = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/construct.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var constructN = require_constructN();
    var construct = /* @__PURE__ */ _curry1(function construct2(Fn) {
      return constructN(Fn.length, Fn);
    });
    module2.exports = construct;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/count.js
var require_count2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/count.js"(exports2, module2) {
    var _reduce = require_reduce();
    var curry = require_curry();
    var count = /* @__PURE__ */ curry(function(pred, list) {
      return _reduce(function(a, e) {
        return pred(e) ? a + 1 : a;
      }, 0, list);
    });
    module2.exports = count;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/countBy.js
var require_countBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/countBy.js"(exports2, module2) {
    var reduceBy = require_reduceBy();
    var countBy = /* @__PURE__ */ reduceBy(function(acc, elem) {
      return acc + 1;
    }, 0);
    module2.exports = countBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dec.js
var require_dec = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dec.js"(exports2, module2) {
    var add = require_add();
    var dec = /* @__PURE__ */ add(-1);
    module2.exports = dec;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/defaultTo.js
var require_defaultTo = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/defaultTo.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var defaultTo = /* @__PURE__ */ _curry2(function defaultTo2(d, v) {
      return v == null || v !== v ? d : v;
    });
    module2.exports = defaultTo;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/descend.js
var require_descend = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/descend.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var descend = /* @__PURE__ */ _curry3(function descend2(fn, a, b) {
      var aa = fn(a);
      var bb = fn(b);
      return aa > bb ? -1 : aa < bb ? 1 : 0;
    });
    module2.exports = descend;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/differenceWith.js
var require_differenceWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/differenceWith.js"(exports2, module2) {
    var _includesWith = require_includesWith();
    var _curry3 = require_curry3();
    var differenceWith = /* @__PURE__ */ _curry3(function differenceWith2(pred, first, second) {
      var out = [];
      var idx = 0;
      var firstLen = first.length;
      while (idx < firstLen) {
        if (!_includesWith(pred, first[idx], second) && !_includesWith(pred, first[idx], out)) {
          out.push(first[idx]);
        }
        idx += 1;
      }
      return out;
    });
    module2.exports = differenceWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/remove.js
var require_remove2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/remove.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var remove = /* @__PURE__ */ _curry3(function remove2(start, count, list) {
      var result2 = Array.prototype.slice.call(list, 0);
      result2.splice(start, count);
      return result2;
    });
    module2.exports = remove;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dissoc.js
var require_dissoc = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dissoc.js"(exports2, module2) {
    var _isInteger = require_isInteger();
    var _isArray = require_isArray();
    var remove = require_remove2();
    function _dissoc(prop, obj) {
      if (obj == null) {
        return obj;
      }
      if (_isInteger(prop) && _isArray(obj)) {
        return remove(prop, 1, obj);
      }
      var result2 = {};
      for (var p in obj) {
        result2[p] = obj[p];
      }
      delete result2[prop];
      return result2;
    }
    module2.exports = _dissoc;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissocPath.js
var require_dissocPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissocPath.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dissoc = require_dissoc();
    var _isInteger = require_isInteger();
    var _isArray = require_isArray();
    var assoc = require_assoc2();
    function _shallowCloneObject(prop, obj) {
      if (_isInteger(prop) && _isArray(obj)) {
        return [].concat(obj);
      }
      var result2 = {};
      for (var p in obj) {
        result2[p] = obj[p];
      }
      return result2;
    }
    var dissocPath = /* @__PURE__ */ _curry2(function dissocPath2(path2, obj) {
      if (obj == null) {
        return obj;
      }
      switch (path2.length) {
        case 0:
          return obj;
        case 1:
          return _dissoc(path2[0], obj);
        default:
          var head = path2[0];
          var tail = Array.prototype.slice.call(path2, 1);
          if (obj[head] == null) {
            return _shallowCloneObject(head, obj);
          } else {
            return assoc(head, dissocPath2(tail, obj[head]), obj);
          }
      }
    });
    module2.exports = dissocPath;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissoc.js
var require_dissoc2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dissoc.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var dissocPath = require_dissocPath();
    var dissoc = /* @__PURE__ */ _curry2(function dissoc2(prop, obj) {
      return dissocPath([prop], obj);
    });
    module2.exports = dissoc;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/divide.js
var require_divide = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/divide.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var divide = /* @__PURE__ */ _curry2(function divide2(a, b) {
      return a / b;
    });
    module2.exports = divide;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdrop.js
var require_xdrop = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdrop.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XDrop = /* @__PURE__ */ function() {
      function XDrop2(n, xf) {
        this.xf = xf;
        this.n = n;
      }
      XDrop2.prototype["@@transducer/init"] = _xfBase.init;
      XDrop2.prototype["@@transducer/result"] = _xfBase.result;
      XDrop2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.n > 0) {
          this.n -= 1;
          return result2;
        }
        return this.xf["@@transducer/step"](result2, input);
      };
      return XDrop2;
    }();
    var _xdrop = /* @__PURE__ */ _curry2(function _xdrop2(n, xf) {
      return new XDrop(n, xf);
    });
    module2.exports = _xdrop;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/drop.js
var require_drop = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/drop.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xdrop = require_xdrop();
    var slice = require_slice();
    var drop = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["drop"], _xdrop, function drop2(n, xs) {
        return slice(Math.max(0, n), Infinity, xs);
      })
    );
    module2.exports = drop;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtake.js
var require_xtake = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtake.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XTake = /* @__PURE__ */ function() {
      function XTake2(n, xf) {
        this.xf = xf;
        this.n = n;
        this.i = 0;
      }
      XTake2.prototype["@@transducer/init"] = _xfBase.init;
      XTake2.prototype["@@transducer/result"] = _xfBase.result;
      XTake2.prototype["@@transducer/step"] = function(result2, input) {
        this.i += 1;
        var ret2 = this.n === 0 ? result2 : this.xf["@@transducer/step"](result2, input);
        return this.n >= 0 && this.i >= this.n ? _reduced(ret2) : ret2;
      };
      return XTake2;
    }();
    var _xtake = /* @__PURE__ */ _curry2(function _xtake2(n, xf) {
      return new XTake(n, xf);
    });
    module2.exports = _xtake;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/take.js
var require_take2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/take.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xtake = require_xtake();
    var slice = require_slice();
    var take = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["take"], _xtake, function take2(n, xs) {
        return slice(0, n < 0 ? Infinity : n, xs);
      })
    );
    module2.exports = take;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLast.js
var require_dropLast = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLast.js"(exports2, module2) {
    var take = require_take2();
    function dropLast(n, xs) {
      return take(n < xs.length ? xs.length - n : 0, xs);
    }
    module2.exports = dropLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLast.js
var require_xdropLast = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLast.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XDropLast = /* @__PURE__ */ function() {
      function XDropLast2(n, xf) {
        this.xf = xf;
        this.pos = 0;
        this.full = false;
        this.acc = new Array(n);
      }
      XDropLast2.prototype["@@transducer/init"] = _xfBase.init;
      XDropLast2.prototype["@@transducer/result"] = function(result2) {
        this.acc = null;
        return this.xf["@@transducer/result"](result2);
      };
      XDropLast2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.full) {
          result2 = this.xf["@@transducer/step"](result2, this.acc[this.pos]);
        }
        this.store(input);
        return result2;
      };
      XDropLast2.prototype.store = function(input) {
        this.acc[this.pos] = input;
        this.pos += 1;
        if (this.pos === this.acc.length) {
          this.pos = 0;
          this.full = true;
        }
      };
      return XDropLast2;
    }();
    var _xdropLast = /* @__PURE__ */ _curry2(function _xdropLast2(n, xf) {
      return new XDropLast(n, xf);
    });
    module2.exports = _xdropLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLast.js
var require_dropLast2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLast.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _dropLast = require_dropLast();
    var _xdropLast = require_xdropLast();
    var dropLast = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xdropLast, _dropLast)
    );
    module2.exports = dropLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLastWhile.js
var require_dropLastWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_dropLastWhile.js"(exports2, module2) {
    var slice = require_slice();
    function dropLastWhile(pred, xs) {
      var idx = xs.length - 1;
      while (idx >= 0 && pred(xs[idx])) {
        idx -= 1;
      }
      return slice(0, idx + 1, xs);
    }
    module2.exports = dropLastWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLastWhile.js
var require_xdropLastWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropLastWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduce = require_reduce();
    var _xfBase = require_xfBase();
    var XDropLastWhile = /* @__PURE__ */ function() {
      function XDropLastWhile2(fn, xf) {
        this.f = fn;
        this.retained = [];
        this.xf = xf;
      }
      XDropLastWhile2.prototype["@@transducer/init"] = _xfBase.init;
      XDropLastWhile2.prototype["@@transducer/result"] = function(result2) {
        this.retained = null;
        return this.xf["@@transducer/result"](result2);
      };
      XDropLastWhile2.prototype["@@transducer/step"] = function(result2, input) {
        return this.f(input) ? this.retain(result2, input) : this.flush(result2, input);
      };
      XDropLastWhile2.prototype.flush = function(result2, input) {
        result2 = _reduce(this.xf["@@transducer/step"], result2, this.retained);
        this.retained = [];
        return this.xf["@@transducer/step"](result2, input);
      };
      XDropLastWhile2.prototype.retain = function(result2, input) {
        this.retained.push(input);
        return result2;
      };
      return XDropLastWhile2;
    }();
    var _xdropLastWhile = /* @__PURE__ */ _curry2(function _xdropLastWhile2(fn, xf) {
      return new XDropLastWhile(fn, xf);
    });
    module2.exports = _xdropLastWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLastWhile.js
var require_dropLastWhile2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropLastWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _dropLastWhile = require_dropLastWhile();
    var _xdropLastWhile = require_xdropLastWhile();
    var dropLastWhile = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xdropLastWhile, _dropLastWhile)
    );
    module2.exports = dropLastWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropRepeatsWith.js
var require_xdropRepeatsWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropRepeatsWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XDropRepeatsWith = /* @__PURE__ */ function() {
      function XDropRepeatsWith2(pred, xf) {
        this.xf = xf;
        this.pred = pred;
        this.lastValue = void 0;
        this.seenFirstValue = false;
      }
      XDropRepeatsWith2.prototype["@@transducer/init"] = _xfBase.init;
      XDropRepeatsWith2.prototype["@@transducer/result"] = _xfBase.result;
      XDropRepeatsWith2.prototype["@@transducer/step"] = function(result2, input) {
        var sameAsLast = false;
        if (!this.seenFirstValue) {
          this.seenFirstValue = true;
        } else if (this.pred(this.lastValue, input)) {
          sameAsLast = true;
        }
        this.lastValue = input;
        return sameAsLast ? result2 : this.xf["@@transducer/step"](result2, input);
      };
      return XDropRepeatsWith2;
    }();
    var _xdropRepeatsWith = /* @__PURE__ */ _curry2(function _xdropRepeatsWith2(pred, xf) {
      return new XDropRepeatsWith(pred, xf);
    });
    module2.exports = _xdropRepeatsWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/last.js
var require_last2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/last.js"(exports2, module2) {
    var nth = require_nth();
    var last = /* @__PURE__ */ nth(-1);
    module2.exports = last;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeatsWith.js
var require_dropRepeatsWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeatsWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xdropRepeatsWith = require_xdropRepeatsWith();
    var last = require_last2();
    var dropRepeatsWith = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xdropRepeatsWith, function dropRepeatsWith2(pred, list) {
        var result2 = [];
        var idx = 1;
        var len = list.length;
        if (len !== 0) {
          result2[0] = list[0];
          while (idx < len) {
            if (!pred(last(result2), list[idx])) {
              result2[result2.length] = list[idx];
            }
            idx += 1;
          }
        }
        return result2;
      })
    );
    module2.exports = dropRepeatsWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeats.js
var require_dropRepeats = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropRepeats.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _dispatchable = require_dispatchable();
    var _xdropRepeatsWith = require_xdropRepeatsWith();
    var dropRepeatsWith = require_dropRepeatsWith();
    var equals = require_equals2();
    var dropRepeats = /* @__PURE__ */ _curry1(
      /* @__PURE__ */ _dispatchable(
        [],
        /* @__PURE__ */ _xdropRepeatsWith(equals),
        /* @__PURE__ */ dropRepeatsWith(equals)
      )
    );
    module2.exports = dropRepeats;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropWhile.js
var require_xdropWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xdropWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XDropWhile = /* @__PURE__ */ function() {
      function XDropWhile2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XDropWhile2.prototype["@@transducer/init"] = _xfBase.init;
      XDropWhile2.prototype["@@transducer/result"] = _xfBase.result;
      XDropWhile2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.f) {
          if (this.f(input)) {
            return result2;
          }
          this.f = null;
        }
        return this.xf["@@transducer/step"](result2, input);
      };
      return XDropWhile2;
    }();
    var _xdropWhile = /* @__PURE__ */ _curry2(function _xdropWhile2(f, xf) {
      return new XDropWhile(f, xf);
    });
    module2.exports = _xdropWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropWhile.js
var require_dropWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/dropWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xdropWhile = require_xdropWhile();
    var slice = require_slice();
    var dropWhile = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["dropWhile"], _xdropWhile, function dropWhile2(pred, xs) {
        var idx = 0;
        var len = xs.length;
        while (idx < len && pred(xs[idx])) {
          idx += 1;
        }
        return slice(idx, Infinity, xs);
      })
    );
    module2.exports = dropWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/or.js
var require_or = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/or.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var or = /* @__PURE__ */ _curry2(function or2(a, b) {
      return a || b;
    });
    module2.exports = or;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/either.js
var require_either = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/either.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isFunction = require_isFunction2();
    var lift = require_lift2();
    var or = require_or();
    var either = /* @__PURE__ */ _curry2(function either2(f, g) {
      return _isFunction(f) ? function _either() {
        return f.apply(this, arguments) || g.apply(this, arguments);
      } : lift(or)(f, g);
    });
    module2.exports = either;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLast.js
var require_takeLast2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLast.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var drop = require_drop();
    var takeLast = /* @__PURE__ */ _curry2(function takeLast2(n, xs) {
      return drop(n >= 0 ? xs.length - n : 0, xs);
    });
    module2.exports = takeLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/endsWith.js
var require_endsWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/endsWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var equals = require_equals2();
    var takeLast = require_takeLast2();
    var endsWith = /* @__PURE__ */ _curry2(function(suffix, list) {
      return equals(takeLast(suffix.length, list), suffix);
    });
    module2.exports = endsWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqBy.js
var require_eqBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqBy.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var equals = require_equals2();
    var eqBy = /* @__PURE__ */ _curry3(function eqBy2(f, x, y) {
      return equals(f(x), f(y));
    });
    module2.exports = eqBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqProps.js
var require_eqProps = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/eqProps.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var equals = require_equals2();
    var eqProps = /* @__PURE__ */ _curry3(function eqProps2(prop, obj1, obj2) {
      return equals(obj1[prop], obj2[prop]);
    });
    module2.exports = eqProps;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/evolve.js
var require_evolve = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/evolve.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isArray = require_isArray();
    var _isObject = require_isObject();
    var evolve = /* @__PURE__ */ _curry2(function evolve2(transformations, object) {
      if (!_isObject(object) && !_isArray(object)) {
        return object;
      }
      var result2 = object instanceof Array ? [] : {};
      var transformation, key, type;
      for (key in object) {
        transformation = transformations[key];
        type = typeof transformation;
        result2[key] = type === "function" ? transformation(object[key]) : transformation && type === "object" ? evolve2(transformation, object[key]) : object[key];
      }
      return result2;
    });
    module2.exports = evolve;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfind.js
var require_xfind = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfind.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XFind = /* @__PURE__ */ function() {
      function XFind2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.found = false;
      }
      XFind2.prototype["@@transducer/init"] = _xfBase.init;
      XFind2.prototype["@@transducer/result"] = function(result2) {
        if (!this.found) {
          result2 = this.xf["@@transducer/step"](result2, void 0);
        }
        return this.xf["@@transducer/result"](result2);
      };
      XFind2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.f(input)) {
          this.found = true;
          result2 = _reduced(this.xf["@@transducer/step"](result2, input));
        }
        return result2;
      };
      return XFind2;
    }();
    var _xfind = /* @__PURE__ */ _curry2(function _xfind2(f, xf) {
      return new XFind(f, xf);
    });
    module2.exports = _xfind;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/find.js
var require_find2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/find.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xfind = require_xfind();
    var find = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["find"], _xfind, function find2(fn, list) {
        var idx = 0;
        var len = list.length;
        while (idx < len) {
          if (fn(list[idx])) {
            return list[idx];
          }
          idx += 1;
        }
      })
    );
    module2.exports = find;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindIndex.js
var require_xfindIndex = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindIndex.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XFindIndex = /* @__PURE__ */ function() {
      function XFindIndex2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.idx = -1;
        this.found = false;
      }
      XFindIndex2.prototype["@@transducer/init"] = _xfBase.init;
      XFindIndex2.prototype["@@transducer/result"] = function(result2) {
        if (!this.found) {
          result2 = this.xf["@@transducer/step"](result2, -1);
        }
        return this.xf["@@transducer/result"](result2);
      };
      XFindIndex2.prototype["@@transducer/step"] = function(result2, input) {
        this.idx += 1;
        if (this.f(input)) {
          this.found = true;
          result2 = _reduced(this.xf["@@transducer/step"](result2, this.idx));
        }
        return result2;
      };
      return XFindIndex2;
    }();
    var _xfindIndex = /* @__PURE__ */ _curry2(function _xfindIndex2(f, xf) {
      return new XFindIndex(f, xf);
    });
    module2.exports = _xfindIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findIndex.js
var require_findIndex2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findIndex.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xfindIndex = require_xfindIndex();
    var findIndex = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xfindIndex, function findIndex2(fn, list) {
        var idx = 0;
        var len = list.length;
        while (idx < len) {
          if (fn(list[idx])) {
            return idx;
          }
          idx += 1;
        }
        return -1;
      })
    );
    module2.exports = findIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLast.js
var require_xfindLast = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLast.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XFindLast = /* @__PURE__ */ function() {
      function XFindLast2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XFindLast2.prototype["@@transducer/init"] = _xfBase.init;
      XFindLast2.prototype["@@transducer/result"] = function(result2) {
        return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result2, this.last));
      };
      XFindLast2.prototype["@@transducer/step"] = function(result2, input) {
        if (this.f(input)) {
          this.last = input;
        }
        return result2;
      };
      return XFindLast2;
    }();
    var _xfindLast = /* @__PURE__ */ _curry2(function _xfindLast2(f, xf) {
      return new XFindLast(f, xf);
    });
    module2.exports = _xfindLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLast.js
var require_findLast = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLast.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xfindLast = require_xfindLast();
    var findLast = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xfindLast, function findLast2(fn, list) {
        var idx = list.length - 1;
        while (idx >= 0) {
          if (fn(list[idx])) {
            return list[idx];
          }
          idx -= 1;
        }
      })
    );
    module2.exports = findLast;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLastIndex.js
var require_xfindLastIndex = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xfindLastIndex.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XFindLastIndex = /* @__PURE__ */ function() {
      function XFindLastIndex2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.idx = -1;
        this.lastIdx = -1;
      }
      XFindLastIndex2.prototype["@@transducer/init"] = _xfBase.init;
      XFindLastIndex2.prototype["@@transducer/result"] = function(result2) {
        return this.xf["@@transducer/result"](this.xf["@@transducer/step"](result2, this.lastIdx));
      };
      XFindLastIndex2.prototype["@@transducer/step"] = function(result2, input) {
        this.idx += 1;
        if (this.f(input)) {
          this.lastIdx = this.idx;
        }
        return result2;
      };
      return XFindLastIndex2;
    }();
    var _xfindLastIndex = /* @__PURE__ */ _curry2(function _xfindLastIndex2(f, xf) {
      return new XFindLastIndex(f, xf);
    });
    module2.exports = _xfindLastIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLastIndex.js
var require_findLastIndex = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/findLastIndex.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xfindLastIndex = require_xfindLastIndex();
    var findLastIndex = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xfindLastIndex, function findLastIndex2(fn, list) {
        var idx = list.length - 1;
        while (idx >= 0) {
          if (fn(list[idx])) {
            return idx;
          }
          idx -= 1;
        }
        return -1;
      })
    );
    module2.exports = findLastIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flatten.js
var require_flatten = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flatten.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _makeFlat = require_makeFlat();
    var flatten = /* @__PURE__ */ _curry1(
      /* @__PURE__ */ _makeFlat(true)
    );
    module2.exports = flatten;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flip.js
var require_flip = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/flip.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var flip = /* @__PURE__ */ _curry1(function flip2(fn) {
      return curryN(fn.length, function(a, b) {
        var args = Array.prototype.slice.call(arguments, 0);
        args[0] = b;
        args[1] = a;
        return fn.apply(this, args);
      });
    });
    module2.exports = flip;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEach.js
var require_forEach = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEach.js"(exports2, module2) {
    var _checkForMethod = require_checkForMethod();
    var _curry2 = require_curry2();
    var forEach = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _checkForMethod("forEach", function forEach2(fn, list) {
        var len = list.length;
        var idx = 0;
        while (idx < len) {
          fn(list[idx]);
          idx += 1;
        }
        return list;
      })
    );
    module2.exports = forEach;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEachObjIndexed.js
var require_forEachObjIndexed = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/forEachObjIndexed.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var keys = require_keys();
    var forEachObjIndexed = /* @__PURE__ */ _curry2(function forEachObjIndexed2(fn, obj) {
      var keyList = keys(obj);
      var idx = 0;
      while (idx < keyList.length) {
        var key = keyList[idx];
        fn(obj[key], key, obj);
        idx += 1;
      }
      return obj;
    });
    module2.exports = forEachObjIndexed;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/fromPairs.js
var require_fromPairs = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/fromPairs.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var fromPairs = /* @__PURE__ */ _curry1(function fromPairs2(pairs) {
      var result2 = {};
      var idx = 0;
      while (idx < pairs.length) {
        result2[pairs[idx][0]] = pairs[idx][1];
        idx += 1;
      }
      return result2;
    });
    module2.exports = fromPairs;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupWith.js
var require_groupWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/groupWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var groupWith = /* @__PURE__ */ _curry2(function(fn, list) {
      var res = [];
      var idx = 0;
      var len = list.length;
      while (idx < len) {
        var nextidx = idx + 1;
        while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {
          nextidx += 1;
        }
        res.push(list.slice(idx, nextidx));
        idx = nextidx;
      }
      return res;
    });
    module2.exports = groupWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gt.js
var require_gt2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gt.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var gt = /* @__PURE__ */ _curry2(function gt2(a, b) {
      return a > b;
    });
    module2.exports = gt;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gte.js
var require_gte2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/gte.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var gte = /* @__PURE__ */ _curry2(function gte2(a, b) {
      return a >= b;
    });
    module2.exports = gte;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasPath.js
var require_hasPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasPath.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _has = require_has();
    var isNil = require_isNil();
    var hasPath = /* @__PURE__ */ _curry2(function hasPath2(_path, obj) {
      if (_path.length === 0 || isNil(obj)) {
        return false;
      }
      var val = obj;
      var idx = 0;
      while (idx < _path.length) {
        if (!isNil(val) && _has(_path[idx], val)) {
          val = val[_path[idx]];
          idx += 1;
        } else {
          return false;
        }
      }
      return true;
    });
    module2.exports = hasPath;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/has.js
var require_has2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/has.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var hasPath = require_hasPath();
    var has = /* @__PURE__ */ _curry2(function has2(prop, obj) {
      return hasPath([prop], obj);
    });
    module2.exports = has;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasIn.js
var require_hasIn = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/hasIn.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var isNil = require_isNil();
    var hasIn = /* @__PURE__ */ _curry2(function hasIn2(prop, obj) {
      if (isNil(obj)) {
        return false;
      }
      return prop in obj;
    });
    module2.exports = hasIn;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identical.js
var require_identical = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/identical.js"(exports2, module2) {
    var _objectIs = require_objectIs();
    var _curry2 = require_curry2();
    var identical = /* @__PURE__ */ _curry2(_objectIs);
    module2.exports = identical;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ifElse.js
var require_ifElse = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/ifElse.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var curryN = require_curryN2();
    var ifElse = /* @__PURE__ */ _curry3(function ifElse2(condition, onTrue, onFalse) {
      return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {
        return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);
      });
    });
    module2.exports = ifElse;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/inc.js
var require_inc2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/inc.js"(exports2, module2) {
    var add = require_add();
    var inc = /* @__PURE__ */ add(1);
    module2.exports = inc;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/includes.js
var require_includes2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/includes.js"(exports2, module2) {
    var _includes = require_includes();
    var _curry2 = require_curry2();
    var includes = /* @__PURE__ */ _curry2(_includes);
    module2.exports = includes;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexBy.js
var require_indexBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexBy.js"(exports2, module2) {
    var reduceBy = require_reduceBy();
    var indexBy = /* @__PURE__ */ reduceBy(function(acc, elem) {
      return elem;
    }, null);
    module2.exports = indexBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexOf.js
var require_indexOf2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/indexOf.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _indexOf = require_indexOf();
    var _isArray = require_isArray();
    var indexOf = /* @__PURE__ */ _curry2(function indexOf2(target, xs) {
      return typeof xs.indexOf === "function" && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0);
    });
    module2.exports = indexOf;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/init.js
var require_init = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/init.js"(exports2, module2) {
    var slice = require_slice();
    var init = /* @__PURE__ */ slice(0, -1);
    module2.exports = init;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/innerJoin.js
var require_innerJoin = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/innerJoin.js"(exports2, module2) {
    var _includesWith = require_includesWith();
    var _curry3 = require_curry3();
    var _filter = require_filter2();
    var innerJoin = /* @__PURE__ */ _curry3(function innerJoin2(pred, xs, ys) {
      return _filter(function(x) {
        return _includesWith(pred, x, ys);
      }, xs);
    });
    module2.exports = innerJoin;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insert.js
var require_insert = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insert.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var insert = /* @__PURE__ */ _curry3(function insert2(idx, elt, list) {
      idx = idx < list.length && idx >= 0 ? idx : list.length;
      var result2 = Array.prototype.slice.call(list, 0);
      result2.splice(idx, 0, elt);
      return result2;
    });
    module2.exports = insert;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insertAll.js
var require_insertAll = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/insertAll.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var insertAll = /* @__PURE__ */ _curry3(function insertAll2(idx, elts, list) {
      idx = idx < list.length && idx >= 0 ? idx : list.length;
      return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));
    });
    module2.exports = insertAll;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqBy.js
var require_xuniqBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqBy.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _Set = require_Set();
    var _xfBase = require_xfBase();
    var XUniqBy = /* @__PURE__ */ function() {
      function XUniqBy2(f, xf) {
        this.xf = xf;
        this.f = f;
        this.set = new _Set();
      }
      XUniqBy2.prototype["@@transducer/init"] = _xfBase.init;
      XUniqBy2.prototype["@@transducer/result"] = _xfBase.result;
      XUniqBy2.prototype["@@transducer/step"] = function(result2, input) {
        return this.set.add(this.f(input)) ? this.xf["@@transducer/step"](result2, input) : result2;
      };
      return XUniqBy2;
    }();
    var _xuniqBy = /* @__PURE__ */ _curry2(function _xuniqBy2(f, xf) {
      return new XUniqBy(f, xf);
    });
    module2.exports = _xuniqBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqBy.js
var require_uniqBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqBy.js"(exports2, module2) {
    var _Set = require_Set();
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xuniqBy = require_xuniqBy();
    var uniqBy = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xuniqBy, function(fn, list) {
        var set = new _Set();
        var result2 = [];
        var idx = 0;
        var appliedItem, item;
        while (idx < list.length) {
          item = list[idx];
          appliedItem = fn(item);
          if (set.add(appliedItem)) {
            result2.push(item);
          }
          idx += 1;
        }
        return result2;
      })
    );
    module2.exports = uniqBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniq.js
var require_uniq = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniq.js"(exports2, module2) {
    var identity = require_identity3();
    var uniqBy = require_uniqBy();
    var uniq = /* @__PURE__ */ uniqBy(identity);
    module2.exports = uniq;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersection.js
var require_intersection = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersection.js"(exports2, module2) {
    var _includes = require_includes();
    var _curry2 = require_curry2();
    var _filter = require_filter2();
    var flip = require_flip();
    var uniq = require_uniq();
    var intersection = /* @__PURE__ */ _curry2(function intersection2(list1, list2) {
      var lookupList, filteredList;
      if (list1.length > list2.length) {
        lookupList = list1;
        filteredList = list2;
      } else {
        lookupList = list2;
        filteredList = list1;
      }
      return uniq(_filter(flip(_includes)(lookupList), filteredList));
    });
    module2.exports = intersection;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersperse.js
var require_intersperse = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/intersperse.js"(exports2, module2) {
    var _checkForMethod = require_checkForMethod();
    var _curry2 = require_curry2();
    var intersperse = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _checkForMethod("intersperse", function intersperse2(separator, list) {
        var out = [];
        var idx = 0;
        var length = list.length;
        while (idx < length) {
          if (idx === length - 1) {
            out.push(list[idx]);
          } else {
            out.push(list[idx], separator);
          }
          idx += 1;
        }
        return out;
      })
    );
    module2.exports = intersperse;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/objOf.js
var require_objOf = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/objOf.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var objOf = /* @__PURE__ */ _curry2(function objOf2(key, val) {
      var obj = {};
      obj[key] = val;
      return obj;
    });
    module2.exports = objOf;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_stepCat.js
var require_stepCat = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_stepCat.js"(exports2, module2) {
    var _objectAssign = require_objectAssign();
    var _identity = require_identity2();
    var _isArrayLike = require_isArrayLike();
    var _isTransformer = require_isTransformer();
    var objOf = require_objOf();
    var _stepCatArray = {
      "@@transducer/init": Array,
      "@@transducer/step": function(xs, x) {
        xs.push(x);
        return xs;
      },
      "@@transducer/result": _identity
    };
    var _stepCatString = {
      "@@transducer/init": String,
      "@@transducer/step": function(a, b) {
        return a + b;
      },
      "@@transducer/result": _identity
    };
    var _stepCatObject = {
      "@@transducer/init": Object,
      "@@transducer/step": function(result2, input) {
        return _objectAssign(result2, _isArrayLike(input) ? objOf(input[0], input[1]) : input);
      },
      "@@transducer/result": _identity
    };
    function _stepCat(obj) {
      if (_isTransformer(obj)) {
        return obj;
      }
      if (_isArrayLike(obj)) {
        return _stepCatArray;
      }
      if (typeof obj === "string") {
        return _stepCatString;
      }
      if (typeof obj === "object") {
        return _stepCatObject;
      }
      throw new Error("Cannot create transformer for " + obj);
    }
    module2.exports = _stepCat;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/into.js
var require_into = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/into.js"(exports2, module2) {
    var _clone = require_clone4();
    var _curry3 = require_curry3();
    var _isTransformer = require_isTransformer();
    var _reduce = require_reduce();
    var _stepCat = require_stepCat();
    var into = /* @__PURE__ */ _curry3(function into2(acc, xf, list) {
      return _isTransformer(acc) ? _reduce(xf(acc), acc["@@transducer/init"](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);
    });
    module2.exports = into;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invert.js
var require_invert = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invert.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _has = require_has();
    var keys = require_keys();
    var invert = /* @__PURE__ */ _curry1(function invert2(obj) {
      var props = keys(obj);
      var len = props.length;
      var idx = 0;
      var out = {};
      while (idx < len) {
        var key = props[idx];
        var val = obj[key];
        var list = _has(val, out) ? out[val] : out[val] = [];
        list[list.length] = key;
        idx += 1;
      }
      return out;
    });
    module2.exports = invert;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invertObj.js
var require_invertObj = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invertObj.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var keys = require_keys();
    var invertObj = /* @__PURE__ */ _curry1(function invertObj2(obj) {
      var props = keys(obj);
      var len = props.length;
      var idx = 0;
      var out = {};
      while (idx < len) {
        var key = props[idx];
        out[obj[key]] = key;
        idx += 1;
      }
      return out;
    });
    module2.exports = invertObj;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invoker.js
var require_invoker = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/invoker.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isFunction = require_isFunction2();
    var curryN = require_curryN2();
    var toString = require_toString2();
    var invoker = /* @__PURE__ */ _curry2(function invoker2(arity, method) {
      return curryN(arity + 1, function() {
        var target = arguments[arity];
        if (target != null && _isFunction(target[method])) {
          return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));
        }
        throw new TypeError(toString(target) + ' does not have a method named "' + method + '"');
      });
    });
    module2.exports = invoker;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/is.js
var require_is = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/is.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var is = /* @__PURE__ */ _curry2(function is2(Ctor, val) {
      return val instanceof Ctor || val != null && (val.constructor === Ctor || Ctor.name === "Object" && typeof val === "object");
    });
    module2.exports = is;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/join.js
var require_join = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/join.js"(exports2, module2) {
    var invoker = require_invoker();
    var join = /* @__PURE__ */ invoker(1, "join");
    module2.exports = join;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keysIn.js
var require_keysIn = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/keysIn.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var keysIn = /* @__PURE__ */ _curry1(function keysIn2(obj) {
      var prop;
      var ks = [];
      for (prop in obj) {
        ks[ks.length] = prop;
      }
      return ks;
    });
    module2.exports = keysIn;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lastIndexOf.js
var require_lastIndexOf = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lastIndexOf.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isArray = require_isArray();
    var equals = require_equals2();
    var lastIndexOf = /* @__PURE__ */ _curry2(function lastIndexOf2(target, xs) {
      if (typeof xs.lastIndexOf === "function" && !_isArray(xs)) {
        return xs.lastIndexOf(target);
      } else {
        var idx = xs.length - 1;
        while (idx >= 0) {
          if (equals(xs[idx], target)) {
            return idx;
          }
          idx -= 1;
        }
        return -1;
      }
    });
    module2.exports = lastIndexOf;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isNumber.js
var require_isNumber = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isNumber.js"(exports2, module2) {
    function _isNumber(x) {
      return Object.prototype.toString.call(x) === "[object Number]";
    }
    module2.exports = _isNumber;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/length.js
var require_length = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/length.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _isNumber = require_isNumber();
    var length = /* @__PURE__ */ _curry1(function length2(list) {
      return list != null && _isNumber(list.length) ? list.length : NaN;
    });
    module2.exports = length;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lens.js
var require_lens = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lens.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var map = require_map3();
    var lens = /* @__PURE__ */ _curry2(function lens2(getter, setter) {
      return function(toFunctorFn) {
        return function(target) {
          return map(function(focus) {
            return setter(focus, target);
          }, toFunctorFn(getter(target)));
        };
      };
    });
    module2.exports = lens;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/update.js
var require_update = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/update.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var adjust = require_adjust();
    var always = require_always();
    var update = /* @__PURE__ */ _curry3(function update2(idx, x, list) {
      return adjust(idx, always(x), list);
    });
    module2.exports = update;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensIndex.js
var require_lensIndex = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensIndex.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var lens = require_lens();
    var nth = require_nth();
    var update = require_update();
    var lensIndex = /* @__PURE__ */ _curry1(function lensIndex2(n) {
      return lens(nth(n), update(n));
    });
    module2.exports = lensIndex;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensPath.js
var require_lensPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensPath.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var assocPath = require_assocPath();
    var lens = require_lens();
    var path2 = require_path5();
    var lensPath = /* @__PURE__ */ _curry1(function lensPath2(p) {
      return lens(path2(p), assocPath(p));
    });
    module2.exports = lensPath;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensProp.js
var require_lensProp = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lensProp.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var assoc = require_assoc2();
    var lens = require_lens();
    var prop = require_prop();
    var lensProp = /* @__PURE__ */ _curry1(function lensProp2(k) {
      return lens(prop(k), assoc(k));
    });
    module2.exports = lensProp;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lt.js
var require_lt2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lt.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var lt = /* @__PURE__ */ _curry2(function lt2(a, b) {
      return a < b;
    });
    module2.exports = lt;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lte.js
var require_lte2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/lte.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var lte = /* @__PURE__ */ _curry2(function lte2(a, b) {
      return a <= b;
    });
    module2.exports = lte;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccum.js
var require_mapAccum = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccum.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var mapAccum = /* @__PURE__ */ _curry3(function mapAccum2(fn, acc, list) {
      var idx = 0;
      var len = list.length;
      var result2 = [];
      var tuple = [acc];
      while (idx < len) {
        tuple = fn(tuple[0], list[idx]);
        result2[idx] = tuple[1];
        idx += 1;
      }
      return [tuple[0], result2];
    });
    module2.exports = mapAccum;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccumRight.js
var require_mapAccumRight = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapAccumRight.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var mapAccumRight = /* @__PURE__ */ _curry3(function mapAccumRight2(fn, acc, list) {
      var idx = list.length - 1;
      var result2 = [];
      var tuple = [acc];
      while (idx >= 0) {
        tuple = fn(tuple[0], list[idx]);
        result2[idx] = tuple[1];
        idx -= 1;
      }
      return [tuple[0], result2];
    });
    module2.exports = mapAccumRight;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapObjIndexed.js
var require_mapObjIndexed = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mapObjIndexed.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduce = require_reduce();
    var keys = require_keys();
    var mapObjIndexed = /* @__PURE__ */ _curry2(function mapObjIndexed2(fn, obj) {
      return _reduce(function(acc, key) {
        acc[key] = fn(obj[key], key, obj);
        return acc;
      }, {}, keys(obj));
    });
    module2.exports = mapObjIndexed;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/match.js
var require_match = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/match.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var match = /* @__PURE__ */ _curry2(function match2(rx, str) {
      return str.match(rx) || [];
    });
    module2.exports = match;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mathMod.js
var require_mathMod = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mathMod.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isInteger = require_isInteger();
    var mathMod = /* @__PURE__ */ _curry2(function mathMod2(m, p) {
      if (!_isInteger(m)) {
        return NaN;
      }
      if (!_isInteger(p) || p < 1) {
        return NaN;
      }
      return (m % p + p) % p;
    });
    module2.exports = mathMod;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/maxBy.js
var require_maxBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/maxBy.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var maxBy = /* @__PURE__ */ _curry3(function maxBy2(f, a, b) {
      return f(b) > f(a) ? b : a;
    });
    module2.exports = maxBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sum.js
var require_sum = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sum.js"(exports2, module2) {
    var add = require_add();
    var reduce = require_reduce3();
    var sum = /* @__PURE__ */ reduce(add, 0);
    module2.exports = sum;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mean.js
var require_mean = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mean.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var sum = require_sum();
    var mean = /* @__PURE__ */ _curry1(function mean2(list) {
      return sum(list) / list.length;
    });
    module2.exports = mean;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/median.js
var require_median = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/median.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var mean = require_mean();
    var median = /* @__PURE__ */ _curry1(function median2(list) {
      var len = list.length;
      if (len === 0) {
        return NaN;
      }
      var width = 2 - len % 2;
      var idx = (len - width) / 2;
      return mean(Array.prototype.slice.call(list, 0).sort(function(a, b) {
        return a < b ? -1 : a > b ? 1 : 0;
      }).slice(idx, idx + width));
    });
    module2.exports = median;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/memoizeWith.js
var require_memoizeWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/memoizeWith.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry2 = require_curry2();
    var _has = require_has();
    var memoizeWith = /* @__PURE__ */ _curry2(function memoizeWith2(mFn, fn) {
      var cache = {};
      return _arity(fn.length, function() {
        var key = mFn.apply(this, arguments);
        if (!_has(key, cache)) {
          cache[key] = fn.apply(this, arguments);
        }
        return cache[key];
      });
    });
    module2.exports = memoizeWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeAll.js
var require_mergeAll2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeAll.js"(exports2, module2) {
    var _objectAssign = require_objectAssign();
    var _curry1 = require_curry1();
    var mergeAll = /* @__PURE__ */ _curry1(function mergeAll2(list) {
      return _objectAssign.apply(null, [{}].concat(list));
    });
    module2.exports = mergeAll;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWithKey.js
var require_mergeWithKey = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWithKey.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _has = require_has();
    var mergeWithKey = /* @__PURE__ */ _curry3(function mergeWithKey2(fn, l, r) {
      var result2 = {};
      var k;
      for (k in l) {
        if (_has(k, l)) {
          result2[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];
        }
      }
      for (k in r) {
        if (_has(k, r) && !_has(k, result2)) {
          result2[k] = r[k];
        }
      }
      return result2;
    });
    module2.exports = mergeWithKey;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWithKey.js
var require_mergeDeepWithKey = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWithKey.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _isObject = require_isObject();
    var mergeWithKey = require_mergeWithKey();
    var mergeDeepWithKey = /* @__PURE__ */ _curry3(function mergeDeepWithKey2(fn, lObj, rObj) {
      return mergeWithKey(function(k, lVal, rVal) {
        if (_isObject(lVal) && _isObject(rVal)) {
          return mergeDeepWithKey2(fn, lVal, rVal);
        } else {
          return fn(k, lVal, rVal);
        }
      }, lObj, rObj);
    });
    module2.exports = mergeDeepWithKey;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepLeft.js
var require_mergeDeepLeft = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepLeft.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var mergeDeepWithKey = require_mergeDeepWithKey();
    var mergeDeepLeft = /* @__PURE__ */ _curry2(function mergeDeepLeft2(lObj, rObj) {
      return mergeDeepWithKey(function(k, lVal, rVal) {
        return lVal;
      }, lObj, rObj);
    });
    module2.exports = mergeDeepLeft;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepRight.js
var require_mergeDeepRight = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepRight.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var mergeDeepWithKey = require_mergeDeepWithKey();
    var mergeDeepRight = /* @__PURE__ */ _curry2(function mergeDeepRight2(lObj, rObj) {
      return mergeDeepWithKey(function(k, lVal, rVal) {
        return rVal;
      }, lObj, rObj);
    });
    module2.exports = mergeDeepRight;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWith.js
var require_mergeDeepWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeDeepWith.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var mergeDeepWithKey = require_mergeDeepWithKey();
    var mergeDeepWith = /* @__PURE__ */ _curry3(function mergeDeepWith2(fn, lObj, rObj) {
      return mergeDeepWithKey(function(k, lVal, rVal) {
        return fn(lVal, rVal);
      }, lObj, rObj);
    });
    module2.exports = mergeDeepWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeLeft.js
var require_mergeLeft = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeLeft.js"(exports2, module2) {
    var _objectAssign = require_objectAssign();
    var _curry2 = require_curry2();
    var mergeLeft = /* @__PURE__ */ _curry2(function mergeLeft2(l, r) {
      return _objectAssign({}, r, l);
    });
    module2.exports = mergeLeft;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWith.js
var require_mergeWith2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/mergeWith.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var mergeWithKey = require_mergeWithKey();
    var mergeWith = /* @__PURE__ */ _curry3(function mergeWith2(fn, l, r) {
      return mergeWithKey(function(_, _l, _r) {
        return fn(_l, _r);
      }, l, r);
    });
    module2.exports = mergeWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/min.js
var require_min2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/min.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var min = /* @__PURE__ */ _curry2(function min2(a, b) {
      return b < a ? b : a;
    });
    module2.exports = min;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/minBy.js
var require_minBy = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/minBy.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var minBy = /* @__PURE__ */ _curry3(function minBy2(f, a, b) {
      return f(b) < f(a) ? b : a;
    });
    module2.exports = minBy;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_modify.js
var require_modify = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_modify.js"(exports2, module2) {
    var _isArray = require_isArray();
    var _isInteger = require_isInteger();
    function _modify(prop, fn, obj) {
      if (_isInteger(prop) && _isArray(obj)) {
        var arr = [].concat(obj);
        arr[prop] = fn(arr[prop]);
        return arr;
      }
      var result2 = {};
      for (var p in obj) {
        result2[p] = obj[p];
      }
      result2[prop] = fn(result2[prop]);
      return result2;
    }
    module2.exports = _modify;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modifyPath.js
var require_modifyPath = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modifyPath.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _isArray = require_isArray();
    var _isObject = require_isObject();
    var _has = require_has();
    var _assoc = require_assoc();
    var _modify = require_modify();
    var modifyPath = /* @__PURE__ */ _curry3(function modifyPath2(path2, fn, object) {
      if (!_isObject(object) && !_isArray(object) || path2.length === 0) {
        return object;
      }
      var idx = path2[0];
      if (!_has(idx, object)) {
        return object;
      }
      if (path2.length === 1) {
        return _modify(idx, fn, object);
      }
      var val = modifyPath2(Array.prototype.slice.call(path2, 1), fn, object[idx]);
      if (val === object[idx]) {
        return object;
      }
      return _assoc(idx, val, object);
    });
    module2.exports = modifyPath;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modify.js
var require_modify2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modify.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var modifyPath = require_modifyPath();
    var modify = /* @__PURE__ */ _curry3(function modify2(prop, fn, object) {
      return modifyPath([prop], fn, object);
    });
    module2.exports = modify;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modulo.js
var require_modulo = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/modulo.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var modulo = /* @__PURE__ */ _curry2(function modulo2(a, b) {
      return a % b;
    });
    module2.exports = modulo;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/move.js
var require_move3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/move.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var move = /* @__PURE__ */ _curry3(function(from, to, list) {
      var length = list.length;
      var result2 = list.slice();
      var positiveFrom = from < 0 ? length + from : from;
      var positiveTo = to < 0 ? length + to : to;
      var item = result2.splice(positiveFrom, 1);
      return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result2.slice(0, positiveTo)).concat(item).concat(result2.slice(positiveTo, list.length));
    });
    module2.exports = move;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/multiply.js
var require_multiply = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/multiply.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var multiply = /* @__PURE__ */ _curry2(function multiply2(a, b) {
      return a * b;
    });
    module2.exports = multiply;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialObject.js
var require_partialObject = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialObject.js"(exports2, module2) {
    var mergeDeepRight = require_mergeDeepRight();
    var _curry2 = require_curry2();
    module2.exports = /* @__PURE__ */ _curry2((f, o) => (props) => f.call(exports2, mergeDeepRight(o, props)));
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/negate.js
var require_negate = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/negate.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var negate = /* @__PURE__ */ _curry1(function negate2(n) {
      return -n;
    });
    module2.exports = negate;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/none.js
var require_none = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/none.js"(exports2, module2) {
    var _complement = require_complement();
    var _curry2 = require_curry2();
    var all = require_all2();
    var none = /* @__PURE__ */ _curry2(function none2(fn, input) {
      return all(_complement(fn), input);
    });
    module2.exports = none;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nthArg.js
var require_nthArg = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/nthArg.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var curryN = require_curryN2();
    var nth = require_nth();
    var nthArg = /* @__PURE__ */ _curry1(function nthArg2(n) {
      var arity = n < 0 ? 1 : n + 1;
      return curryN(arity, function() {
        return nth(n, arguments);
      });
    });
    module2.exports = nthArg;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/o.js
var require_o = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/o.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var o = /* @__PURE__ */ _curry3(function o2(f, g, x) {
      return f(g(x));
    });
    module2.exports = o;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_of.js
var require_of2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_of.js"(exports2, module2) {
    function _of(x) {
      return [x];
    }
    module2.exports = _of;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/of.js
var require_of3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/of.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _of = require_of2();
    var of = /* @__PURE__ */ _curry1(_of);
    module2.exports = of;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/on.js
var require_on = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/on.js"(exports2, module2) {
    var curryN = require_curryN();
    var on = /* @__PURE__ */ curryN(4, [], function on2(f, g, a, b) {
      return f(g(a), g(b));
    });
    module2.exports = on;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assertPromise.js
var require_assertPromise = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_assertPromise.js"(exports2, module2) {
    var _isFunction = require_isFunction2();
    var _toString = require_toString();
    function _assertPromise(name, p) {
      if (p == null || !_isFunction(p.then)) {
        throw new TypeError("`" + name + "` expected a Promise, received " + _toString(p, []));
      }
    }
    module2.exports = _assertPromise;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/otherwise.js
var require_otherwise = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/otherwise.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _assertPromise = require_assertPromise();
    var otherwise = /* @__PURE__ */ _curry2(function otherwise2(f, p) {
      _assertPromise("otherwise", p);
      return p.then(null, f);
    });
    module2.exports = otherwise;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/over.js
var require_over = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/over.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var Identity = function(x) {
      return {
        value: x,
        map: function(f) {
          return Identity(f(x));
        }
      };
    };
    var over = /* @__PURE__ */ _curry3(function over2(lens, f, x) {
      return lens(function(y) {
        return Identity(f(y));
      })(x).value;
    });
    module2.exports = over;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pair.js
var require_pair = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pair.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var pair = /* @__PURE__ */ _curry2(function pair2(fst, snd) {
      return [fst, snd];
    });
    module2.exports = pair;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_createPartialApplicator.js
var require_createPartialApplicator = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_createPartialApplicator.js"(exports2, module2) {
    var _arity = require_arity();
    var _curry2 = require_curry2();
    function _createPartialApplicator(concat) {
      return _curry2(function(fn, args) {
        return _arity(Math.max(0, fn.length - args.length), function() {
          return fn.apply(this, concat(args, arguments));
        });
      });
    }
    module2.exports = _createPartialApplicator;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partial.js
var require_partial2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partial.js"(exports2, module2) {
    var _concat = require_concat3();
    var _createPartialApplicator = require_createPartialApplicator();
    var partial = /* @__PURE__ */ _createPartialApplicator(_concat);
    module2.exports = partial;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialRight.js
var require_partialRight = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/partialRight.js"(exports2, module2) {
    var _concat = require_concat3();
    var _createPartialApplicator = require_createPartialApplicator();
    var flip = require_flip();
    var partialRight = /* @__PURE__ */ _createPartialApplicator(
      /* @__PURE__ */ flip(_concat)
    );
    module2.exports = partialRight;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathEq.js
var require_pathEq = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathEq.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var equals = require_equals2();
    var path2 = require_path5();
    var pathEq = /* @__PURE__ */ _curry3(function pathEq2(_path, val, obj) {
      return equals(path2(_path, obj), val);
    });
    module2.exports = pathEq;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathOr.js
var require_pathOr = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathOr.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var defaultTo = require_defaultTo();
    var path2 = require_path5();
    var pathOr = /* @__PURE__ */ _curry3(function pathOr2(d, p, obj) {
      return defaultTo(d, path2(p, obj));
    });
    module2.exports = pathOr;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathSatisfies.js
var require_pathSatisfies = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pathSatisfies.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var path2 = require_path5();
    var pathSatisfies = /* @__PURE__ */ _curry3(function pathSatisfies2(pred, propPath, obj) {
      return pred(path2(propPath, obj));
    });
    module2.exports = pathSatisfies;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickAll.js
var require_pickAll = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/pickAll.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var pickAll = /* @__PURE__ */ _curry2(function pickAll2(names, obj) {
      var result2 = {};
      var idx = 0;
      var len = names.length;
      while (idx < len) {
        var name = names[idx];
        result2[name] = obj[name];
        idx += 1;
      }
      return result2;
    });
    module2.exports = pickAll;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prepend.js
var require_prepend = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/prepend.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var prepend = /* @__PURE__ */ _curry2(function prepend2(el, list) {
      return _concat([el], list);
    });
    module2.exports = prepend;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/product.js
var require_product = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/product.js"(exports2, module2) {
    var multiply = require_multiply();
    var reduce = require_reduce3();
    var product = /* @__PURE__ */ reduce(multiply, 1);
    module2.exports = product;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/useWith.js
var require_useWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/useWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var curryN = require_curryN2();
    var useWith = /* @__PURE__ */ _curry2(function useWith2(fn, transformers) {
      return curryN(transformers.length, function() {
        var args = [];
        var idx = 0;
        while (idx < transformers.length) {
          args.push(transformers[idx].call(this, arguments[idx]));
          idx += 1;
        }
        return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));
      });
    });
    module2.exports = useWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/project.js
var require_project2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/project.js"(exports2, module2) {
    var _map = require_map2();
    var identity = require_identity3();
    var pickAll = require_pickAll();
    var useWith = require_useWith();
    var project = /* @__PURE__ */ useWith(_map, [pickAll, identity]);
    module2.exports = project;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_promap.js
var require_promap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_promap.js"(exports2, module2) {
    function _promap(f, g, profunctor) {
      return function(x) {
        return g(profunctor(f(x)));
      };
    }
    module2.exports = _promap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xpromap.js
var require_xpromap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xpromap.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _xfBase = require_xfBase();
    var _promap = require_promap();
    var XPromap = /* @__PURE__ */ function() {
      function XPromap2(f, g, xf) {
        this.xf = xf;
        this.f = f;
        this.g = g;
      }
      XPromap2.prototype["@@transducer/init"] = _xfBase.init;
      XPromap2.prototype["@@transducer/result"] = _xfBase.result;
      XPromap2.prototype["@@transducer/step"] = function(result2, input) {
        return this.xf["@@transducer/step"](result2, _promap(this.f, this.g, input));
      };
      return XPromap2;
    }();
    var _xpromap = /* @__PURE__ */ _curry3(function _xpromap2(f, g, xf) {
      return new XPromap(f, g, xf);
    });
    module2.exports = _xpromap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/promap.js
var require_promap2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/promap.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var _dispatchable = require_dispatchable();
    var _promap = require_promap();
    var _xpromap = require_xpromap();
    var promap = /* @__PURE__ */ _curry3(
      /* @__PURE__ */ _dispatchable(["fantasy-land/promap", "promap"], _xpromap, _promap)
    );
    module2.exports = promap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propEq.js
var require_propEq = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propEq.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var prop = require_prop();
    var equals = require_equals2();
    var propEq = /* @__PURE__ */ _curry3(function propEq2(name, val, obj) {
      return equals(val, prop(name, obj));
    });
    module2.exports = propEq;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propIs.js
var require_propIs = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propIs.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var prop = require_prop();
    var is = require_is();
    var propIs = /* @__PURE__ */ _curry3(function propIs2(type, name, obj) {
      return is(type, prop(name, obj));
    });
    module2.exports = propIs;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propOr.js
var require_propOr = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propOr.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var defaultTo = require_defaultTo();
    var prop = require_prop();
    var propOr = /* @__PURE__ */ _curry3(function propOr2(val, p, obj) {
      return defaultTo(val, prop(p, obj));
    });
    module2.exports = propOr;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propSatisfies.js
var require_propSatisfies = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/propSatisfies.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var prop = require_prop();
    var propSatisfies = /* @__PURE__ */ _curry3(function propSatisfies2(pred, name, obj) {
      return pred(prop(name, obj));
    });
    module2.exports = propSatisfies;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/props.js
var require_props = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/props.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var path2 = require_path5();
    var props = /* @__PURE__ */ _curry2(function props2(ps, obj) {
      return ps.map(function(p) {
        return path2([p], obj);
      });
    });
    module2.exports = props;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/range.js
var require_range3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/range.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isNumber = require_isNumber();
    var range = /* @__PURE__ */ _curry2(function range2(from, to) {
      if (!(_isNumber(from) && _isNumber(to))) {
        throw new TypeError("Both arguments to range must be numbers");
      }
      var result2 = [];
      var n = from;
      while (n < to) {
        result2.push(n);
        n += 1;
      }
      return result2;
    });
    module2.exports = range;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceRight.js
var require_reduceRight = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceRight.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var reduceRight = /* @__PURE__ */ _curry3(function reduceRight2(fn, acc, list) {
      var idx = list.length - 1;
      while (idx >= 0) {
        acc = fn(list[idx], acc);
        if (acc && acc["@@transducer/reduced"]) {
          acc = acc["@@transducer/value"];
          break;
        }
        idx -= 1;
      }
      return acc;
    });
    module2.exports = reduceRight;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceWhile.js
var require_reduceWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduceWhile.js"(exports2, module2) {
    var _curryN = require_curryN();
    var _reduce = require_reduce();
    var _reduced = require_reduced();
    var reduceWhile = /* @__PURE__ */ _curryN(4, [], function _reduceWhile(pred, fn, a, list) {
      return _reduce(function(acc, x) {
        return pred(acc, x) ? fn(acc, x) : _reduced(acc);
      }, a, list);
    });
    module2.exports = reduceWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduced.js
var require_reduced2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/reduced.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _reduced = require_reduced();
    var reduced = /* @__PURE__ */ _curry1(_reduced);
    module2.exports = reduced;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/replace.js
var require_replace = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/replace.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var replace = /* @__PURE__ */ _curry3(function replace2(regex, replacement, str) {
      return str.replace(regex, replacement);
    });
    module2.exports = replace;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/scan.js
var require_scan5 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/scan.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var scan = /* @__PURE__ */ _curry3(function scan2(fn, acc, list) {
      var idx = 0;
      var len = list.length;
      var result2 = [acc];
      while (idx < len) {
        acc = fn(acc, list[idx]);
        result2[idx + 1] = acc;
        idx += 1;
      }
      return result2;
    });
    module2.exports = scan;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sequence.js
var require_sequence = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sequence.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var ap = require_ap();
    var map = require_map3();
    var prepend = require_prepend();
    var reduceRight = require_reduceRight();
    var sequence = /* @__PURE__ */ _curry2(function sequence2(of, traversable) {
      return typeof traversable.sequence === "function" ? traversable.sequence(of) : reduceRight(function(x, acc) {
        return ap(map(prepend, x), acc);
      }, of([]), traversable);
    });
    module2.exports = sequence;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/set.js
var require_set4 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/set.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var always = require_always();
    var over = require_over();
    var set = /* @__PURE__ */ _curry3(function set2(lens, v, x) {
      return over(lens, always(v), x);
    });
    module2.exports = set;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sort.js
var require_sort3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sort.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var sort = /* @__PURE__ */ _curry2(function sort2(comparator, list) {
      return Array.prototype.slice.call(list, 0).sort(comparator);
    });
    module2.exports = sort;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortWith.js
var require_sortWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/sortWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var sortWith = /* @__PURE__ */ _curry2(function sortWith2(fns, list) {
      return Array.prototype.slice.call(list, 0).sort(function(a, b) {
        var result2 = 0;
        var i = 0;
        while (result2 === 0 && i < fns.length) {
          result2 = fns[i](a, b);
          i += 1;
        }
        return result2;
      });
    });
    module2.exports = sortWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/split.js
var require_split = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/split.js"(exports2, module2) {
    var invoker = require_invoker();
    var split = /* @__PURE__ */ invoker(1, "split");
    module2.exports = split;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitAt.js
var require_splitAt = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitAt.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var length = require_length();
    var slice = require_slice();
    var splitAt = /* @__PURE__ */ _curry2(function splitAt2(index, array) {
      return [slice(0, index, array), slice(index, length(array), array)];
    });
    module2.exports = splitAt;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitEvery.js
var require_splitEvery = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitEvery.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var slice = require_slice();
    var splitEvery = /* @__PURE__ */ _curry2(function splitEvery2(n, list) {
      if (n <= 0) {
        throw new Error("First argument to splitEvery must be a positive integer");
      }
      var result2 = [];
      var idx = 0;
      while (idx < list.length) {
        result2.push(slice(idx, idx += n, list));
      }
      return result2;
    });
    module2.exports = splitEvery;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhen.js
var require_splitWhen = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhen.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var splitWhen = /* @__PURE__ */ _curry2(function splitWhen2(pred, list) {
      var idx = 0;
      var len = list.length;
      var prefix = [];
      while (idx < len && !pred(list[idx])) {
        prefix.push(list[idx]);
        idx += 1;
      }
      return [prefix, Array.prototype.slice.call(list, idx)];
    });
    module2.exports = splitWhen;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhenever.js
var require_splitWhenever = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/splitWhenever.js"(exports2, module2) {
    var _curryN = require_curryN();
    var splitWhenever = /* @__PURE__ */ _curryN(2, [], function splitWhenever2(pred, list) {
      var acc = [];
      var curr = [];
      for (var i = 0; i < list.length; i = i + 1) {
        if (!pred(list[i])) {
          curr.push(list[i]);
        }
        if ((i < list.length - 1 && pred(list[i + 1]) || i === list.length - 1) && curr.length > 0) {
          acc.push(curr);
          curr = [];
        }
      }
      return acc;
    });
    module2.exports = splitWhenever;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/startsWith.js
var require_startsWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/startsWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var equals = require_equals2();
    var take = require_take2();
    var startsWith = /* @__PURE__ */ _curry2(function(prefix, list) {
      return equals(take(prefix.length, list), prefix);
    });
    module2.exports = startsWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/subtract.js
var require_subtract = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/subtract.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var subtract = /* @__PURE__ */ _curry2(function subtract2(a, b) {
      return Number(a) - Number(b);
    });
    module2.exports = subtract;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifference.js
var require_symmetricDifference = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifference.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var concat = require_concat4();
    var difference = require_difference();
    var symmetricDifference = /* @__PURE__ */ _curry2(function symmetricDifference2(list1, list2) {
      return concat(difference(list1, list2), difference(list2, list1));
    });
    module2.exports = symmetricDifference;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifferenceWith.js
var require_symmetricDifferenceWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/symmetricDifferenceWith.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var concat = require_concat4();
    var differenceWith = require_differenceWith();
    var symmetricDifferenceWith = /* @__PURE__ */ _curry3(function symmetricDifferenceWith2(pred, list1, list2) {
      return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));
    });
    module2.exports = symmetricDifferenceWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLastWhile.js
var require_takeLastWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeLastWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var slice = require_slice();
    var takeLastWhile = /* @__PURE__ */ _curry2(function takeLastWhile2(fn, xs) {
      var idx = xs.length - 1;
      while (idx >= 0 && fn(xs[idx])) {
        idx -= 1;
      }
      return slice(idx + 1, Infinity, xs);
    });
    module2.exports = takeLastWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtakeWhile.js
var require_xtakeWhile = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtakeWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _reduced = require_reduced();
    var _xfBase = require_xfBase();
    var XTakeWhile = /* @__PURE__ */ function() {
      function XTakeWhile2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XTakeWhile2.prototype["@@transducer/init"] = _xfBase.init;
      XTakeWhile2.prototype["@@transducer/result"] = _xfBase.result;
      XTakeWhile2.prototype["@@transducer/step"] = function(result2, input) {
        return this.f(input) ? this.xf["@@transducer/step"](result2, input) : _reduced(result2);
      };
      return XTakeWhile2;
    }();
    var _xtakeWhile = /* @__PURE__ */ _curry2(function _xtakeWhile2(f, xf) {
      return new XTakeWhile(f, xf);
    });
    module2.exports = _xtakeWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeWhile.js
var require_takeWhile2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/takeWhile.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xtakeWhile = require_xtakeWhile();
    var slice = require_slice();
    var takeWhile = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable(["takeWhile"], _xtakeWhile, function takeWhile2(fn, xs) {
        var idx = 0;
        var len = xs.length;
        while (idx < len && fn(xs[idx])) {
          idx += 1;
        }
        return slice(0, idx, xs);
      })
    );
    module2.exports = takeWhile;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtap.js
var require_xtap = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xtap.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _xfBase = require_xfBase();
    var XTap = /* @__PURE__ */ function() {
      function XTap2(f, xf) {
        this.xf = xf;
        this.f = f;
      }
      XTap2.prototype["@@transducer/init"] = _xfBase.init;
      XTap2.prototype["@@transducer/result"] = _xfBase.result;
      XTap2.prototype["@@transducer/step"] = function(result2, input) {
        this.f(input);
        return this.xf["@@transducer/step"](result2, input);
      };
      return XTap2;
    }();
    var _xtap = /* @__PURE__ */ _curry2(function _xtap2(f, xf) {
      return new XTap(f, xf);
    });
    module2.exports = _xtap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tap.js
var require_tap2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tap.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _xtap = require_xtap();
    var tap = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xtap, function tap2(fn, x) {
        fn(x);
        return x;
      })
    );
    module2.exports = tap;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isRegExp.js
var require_isRegExp = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_isRegExp.js"(exports2, module2) {
    function _isRegExp(x) {
      return Object.prototype.toString.call(x) === "[object RegExp]";
    }
    module2.exports = _isRegExp;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/test.js
var require_test = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/test.js"(exports2, module2) {
    var _cloneRegExp = require_cloneRegExp();
    var _curry2 = require_curry2();
    var _isRegExp = require_isRegExp();
    var toString = require_toString2();
    var test = /* @__PURE__ */ _curry2(function test2(pattern, str) {
      if (!_isRegExp(pattern)) {
        throw new TypeError("\u2018test\u2019 requires a value of type RegExp as its first argument; received " + toString(pattern));
      }
      return _cloneRegExp(pattern).test(str);
    });
    module2.exports = test;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/andThen.js
var require_andThen = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/andThen.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _assertPromise = require_assertPromise();
    var andThen = /* @__PURE__ */ _curry2(function andThen2(f, p) {
      _assertPromise("andThen", p);
      return p.then(f);
    });
    module2.exports = andThen;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toLower.js
var require_toLower = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toLower.js"(exports2, module2) {
    var invoker = require_invoker();
    var toLower = /* @__PURE__ */ invoker(0, "toLowerCase");
    module2.exports = toLower;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairs.js
var require_toPairs = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairs.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var _has = require_has();
    var toPairs = /* @__PURE__ */ _curry1(function toPairs2(obj) {
      var pairs = [];
      for (var prop in obj) {
        if (_has(prop, obj)) {
          pairs[pairs.length] = [prop, obj[prop]];
        }
      }
      return pairs;
    });
    module2.exports = toPairs;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairsIn.js
var require_toPairsIn = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toPairsIn.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var toPairsIn = /* @__PURE__ */ _curry1(function toPairsIn2(obj) {
      var pairs = [];
      for (var prop in obj) {
        pairs[pairs.length] = [prop, obj[prop]];
      }
      return pairs;
    });
    module2.exports = toPairsIn;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toUpper.js
var require_toUpper = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/toUpper.js"(exports2, module2) {
    var invoker = require_invoker();
    var toUpper = /* @__PURE__ */ invoker(0, "toUpperCase");
    module2.exports = toUpper;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transduce.js
var require_transduce = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transduce.js"(exports2, module2) {
    var _reduce = require_reduce();
    var _xwrap = require_xwrap();
    var curryN = require_curryN2();
    var transduce = /* @__PURE__ */ curryN(4, function transduce2(xf, fn, acc, list) {
      return _reduce(xf(typeof fn === "function" ? _xwrap(fn) : fn), acc, list);
    });
    module2.exports = transduce;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transpose.js
var require_transpose = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/transpose.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var transpose = /* @__PURE__ */ _curry1(function transpose2(outerlist) {
      var i = 0;
      var result2 = [];
      while (i < outerlist.length) {
        var innerlist = outerlist[i];
        var j = 0;
        while (j < innerlist.length) {
          if (typeof result2[j] === "undefined") {
            result2[j] = [];
          }
          result2[j].push(innerlist[j]);
          j += 1;
        }
        i += 1;
      }
      return result2;
    });
    module2.exports = transpose;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/traverse.js
var require_traverse = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/traverse.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var map = require_map3();
    var sequence = require_sequence();
    var traverse = /* @__PURE__ */ _curry3(function traverse2(of, f, traversable) {
      return typeof traversable["fantasy-land/traverse"] === "function" ? traversable["fantasy-land/traverse"](f, of) : typeof traversable.traverse === "function" ? traversable.traverse(f, of) : sequence(of, map(f, traversable));
    });
    module2.exports = traverse;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/trim.js
var require_trim = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/trim.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var ws = "	\n\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
    var zeroWidth = "\u200B";
    var hasProtoTrim = typeof String.prototype.trim === "function";
    var trim = !hasProtoTrim || /* @__PURE__ */ ws.trim() || !/* @__PURE__ */ zeroWidth.trim() ? /* @__PURE__ */ _curry1(function trim2(str) {
      var beginRx = new RegExp("^[" + ws + "][" + ws + "]*");
      var endRx = new RegExp("[" + ws + "][" + ws + "]*$");
      return str.replace(beginRx, "").replace(endRx, "");
    }) : /* @__PURE__ */ _curry1(function trim2(str) {
      return str.trim();
    });
    module2.exports = trim;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tryCatch.js
var require_tryCatch = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/tryCatch.js"(exports2, module2) {
    var _arity = require_arity();
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var tryCatch = /* @__PURE__ */ _curry2(function _tryCatch(tryer, catcher) {
      return _arity(tryer.length, function() {
        try {
          return tryer.apply(this, arguments);
        } catch (e) {
          return catcher.apply(this, _concat([e], arguments));
        }
      });
    });
    module2.exports = tryCatch;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unapply.js
var require_unapply = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unapply.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var unapply = /* @__PURE__ */ _curry1(function unapply2(fn) {
      return function() {
        return fn(Array.prototype.slice.call(arguments, 0));
      };
    });
    module2.exports = unapply;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unary.js
var require_unary = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unary.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var nAry = require_nAry();
    var unary = /* @__PURE__ */ _curry1(function unary2(fn) {
      return nAry(1, fn);
    });
    module2.exports = unary;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uncurryN.js
var require_uncurryN = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uncurryN.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var curryN = require_curryN2();
    var uncurryN = /* @__PURE__ */ _curry2(function uncurryN2(depth, fn) {
      return curryN(depth, function() {
        var currentDepth = 1;
        var value = fn;
        var idx = 0;
        var endIdx;
        while (currentDepth <= depth && typeof value === "function") {
          endIdx = currentDepth === depth ? arguments.length : idx + value.length;
          value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));
          currentDepth += 1;
          idx = endIdx;
        }
        return value;
      });
    });
    module2.exports = uncurryN;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unfold.js
var require_unfold = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unfold.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var unfold = /* @__PURE__ */ _curry2(function unfold2(fn, seed) {
      var pair = fn(seed);
      var result2 = [];
      while (pair && pair.length) {
        result2[result2.length] = pair[0];
        pair = fn(pair[1]);
      }
      return result2;
    });
    module2.exports = unfold;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/union.js
var require_union = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/union.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry2 = require_curry2();
    var compose = require_compose();
    var uniq = require_uniq();
    var union = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ compose(uniq, _concat)
    );
    module2.exports = union;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqWith.js
var require_xuniqWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/internal/_xuniqWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _includesWith = require_includesWith();
    var _xfBase = require_xfBase();
    var XUniqWith = /* @__PURE__ */ function() {
      function XUniqWith2(pred, xf) {
        this.xf = xf;
        this.pred = pred;
        this.items = [];
      }
      XUniqWith2.prototype["@@transducer/init"] = _xfBase.init;
      XUniqWith2.prototype["@@transducer/result"] = _xfBase.result;
      XUniqWith2.prototype["@@transducer/step"] = function(result2, input) {
        if (_includesWith(this.pred, input, this.items)) {
          return result2;
        } else {
          this.items.push(input);
          return this.xf["@@transducer/step"](result2, input);
        }
      };
      return XUniqWith2;
    }();
    var _xuniqWith = /* @__PURE__ */ _curry2(function _xuniqWith2(pred, xf) {
      return new XUniqWith(pred, xf);
    });
    module2.exports = _xuniqWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqWith.js
var require_uniqWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/uniqWith.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _dispatchable = require_dispatchable();
    var _includesWith = require_includesWith();
    var _xuniqWith = require_xuniqWith();
    var uniqWith = /* @__PURE__ */ _curry2(
      /* @__PURE__ */ _dispatchable([], _xuniqWith, function(pred, list) {
        var idx = 0;
        var len = list.length;
        var result2 = [];
        var item;
        while (idx < len) {
          item = list[idx];
          if (!_includesWith(pred, item, result2)) {
            result2[result2.length] = item;
          }
          idx += 1;
        }
        return result2;
      })
    );
    module2.exports = uniqWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unionWith.js
var require_unionWith = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unionWith.js"(exports2, module2) {
    var _concat = require_concat3();
    var _curry3 = require_curry3();
    var uniqWith = require_uniqWith();
    var unionWith = /* @__PURE__ */ _curry3(function unionWith2(pred, list1, list2) {
      return uniqWith(pred, _concat(list1, list2));
    });
    module2.exports = unionWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unless.js
var require_unless = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unless.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var unless = /* @__PURE__ */ _curry3(function unless2(pred, whenFalseFn, x) {
      return pred(x) ? x : whenFalseFn(x);
    });
    module2.exports = unless;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/until.js
var require_until = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/until.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var until = /* @__PURE__ */ _curry3(function until2(pred, fn, init) {
      var val = init;
      while (!pred(val)) {
        val = fn(val);
      }
      return val;
    });
    module2.exports = until;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unwind.js
var require_unwind = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/unwind.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _isArray = require_isArray();
    var _map = require_map2();
    var _assoc = require_assoc();
    var unwind = /* @__PURE__ */ _curry2(function(key, object) {
      if (!(key in object && _isArray(object[key]))) {
        return [object];
      }
      return _map(function(item) {
        return _assoc(key, item, object);
      }, object[key]);
    });
    module2.exports = unwind;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/valuesIn.js
var require_valuesIn = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/valuesIn.js"(exports2, module2) {
    var _curry1 = require_curry1();
    var valuesIn = /* @__PURE__ */ _curry1(function valuesIn2(obj) {
      var prop;
      var vs = [];
      for (prop in obj) {
        vs[vs.length] = obj[prop];
      }
      return vs;
    });
    module2.exports = valuesIn;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/view.js
var require_view = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/view.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var Const = function(x) {
      return {
        value: x,
        "fantasy-land/map": function() {
          return this;
        }
      };
    };
    var view = /* @__PURE__ */ _curry2(function view2(lens, x) {
      return lens(Const)(x).value;
    });
    module2.exports = view;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/when.js
var require_when = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/when.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var when = /* @__PURE__ */ _curry3(function when2(pred, whenTrueFn, x) {
      return pred(x) ? whenTrueFn(x) : x;
    });
    module2.exports = when;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/where.js
var require_where = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/where.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _has = require_has();
    var where = /* @__PURE__ */ _curry2(function where2(spec, testObj) {
      for (var prop in spec) {
        if (_has(prop, spec) && !spec[prop](testObj[prop])) {
          return false;
        }
      }
      return true;
    });
    module2.exports = where;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereAny.js
var require_whereAny = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereAny.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var _has = require_has();
    var whereAny = /* @__PURE__ */ _curry2(function whereAny2(spec, testObj) {
      for (var prop in spec) {
        if (_has(prop, spec) && spec[prop](testObj[prop])) {
          return true;
        }
      }
      return false;
    });
    module2.exports = whereAny;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereEq.js
var require_whereEq = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/whereEq.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var equals = require_equals2();
    var map = require_map3();
    var where = require_where();
    var whereEq = /* @__PURE__ */ _curry2(function whereEq2(spec, testObj) {
      return where(map(equals, spec), testObj);
    });
    module2.exports = whereEq;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/without.js
var require_without = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/without.js"(exports2, module2) {
    var _includes = require_includes();
    var _curry2 = require_curry2();
    var flip = require_flip();
    var reject = require_reject();
    var without = /* @__PURE__ */ _curry2(function(xs, list) {
      return reject(flip(_includes)(xs), list);
    });
    module2.exports = without;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xor.js
var require_xor = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xor.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var xor = /* @__PURE__ */ _curry2(function xor2(a, b) {
      return Boolean(!a ^ !b);
    });
    module2.exports = xor;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xprod.js
var require_xprod = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/xprod.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var xprod = /* @__PURE__ */ _curry2(function xprod2(a, b) {
      var idx = 0;
      var ilen = a.length;
      var j;
      var jlen = b.length;
      var result2 = [];
      while (idx < ilen) {
        j = 0;
        while (j < jlen) {
          result2[result2.length] = [a[idx], b[j]];
          j += 1;
        }
        idx += 1;
      }
      return result2;
    });
    module2.exports = xprod;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zip.js
var require_zip3 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zip.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var zip = /* @__PURE__ */ _curry2(function zip2(a, b) {
      var rv = [];
      var idx = 0;
      var len = Math.min(a.length, b.length);
      while (idx < len) {
        rv[idx] = [a[idx], b[idx]];
        idx += 1;
      }
      return rv;
    });
    module2.exports = zip;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipObj.js
var require_zipObj = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipObj.js"(exports2, module2) {
    var _curry2 = require_curry2();
    var zipObj = /* @__PURE__ */ _curry2(function zipObj2(keys, values) {
      var idx = 0;
      var len = Math.min(keys.length, values.length);
      var out = {};
      while (idx < len) {
        out[keys[idx]] = values[idx];
        idx += 1;
      }
      return out;
    });
    module2.exports = zipObj;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipWith.js
var require_zipWith2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/zipWith.js"(exports2, module2) {
    var _curry3 = require_curry3();
    var zipWith = /* @__PURE__ */ _curry3(function zipWith2(fn, a, b) {
      var rv = [];
      var idx = 0;
      var len = Math.min(a.length, b.length);
      while (idx < len) {
        rv[idx] = fn(a[idx], b[idx]);
        idx += 1;
      }
      return rv;
    });
    module2.exports = zipWith;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/thunkify.js
var require_thunkify = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/thunkify.js"(exports2, module2) {
    var curryN = require_curryN2();
    var _curry1 = require_curry1();
    var thunkify = /* @__PURE__ */ _curry1(function thunkify2(fn) {
      return curryN(fn.length, function createThunk() {
        var fnArgs = arguments;
        return function invokeThunk() {
          return fn.apply(this, fnArgs);
        };
      });
    });
    module2.exports = thunkify;
  }
});

// ../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/index.js
var require_src5 = __commonJS({
  "../node_modules/.pnpm/@pnpm+ramda@0.28.1/node_modules/@pnpm/ramda/src/index.js"(exports2, module2) {
    module2.exports = {};
    module2.exports.F = require_F();
    module2.exports.T = require_T();
    module2.exports.__ = require__();
    module2.exports.add = require_add();
    module2.exports.addIndex = require_addIndex();
    module2.exports.adjust = require_adjust();
    module2.exports.all = require_all2();
    module2.exports.allPass = require_allPass();
    module2.exports.always = require_always();
    module2.exports.and = require_and();
    module2.exports.any = require_any();
    module2.exports.anyPass = require_anyPass();
    module2.exports.ap = require_ap();
    module2.exports.aperture = require_aperture2();
    module2.exports.append = require_append();
    module2.exports.apply = require_apply();
    module2.exports.applySpec = require_applySpec();
    module2.exports.applyTo = require_applyTo();
    module2.exports.ascend = require_ascend();
    module2.exports.assoc = require_assoc2();
    module2.exports.assocPath = require_assocPath();
    module2.exports.binary = require_binary3();
    module2.exports.bind = require_bind();
    module2.exports.both = require_both();
    module2.exports.call = require_call();
    module2.exports.chain = require_chain2();
    module2.exports.clamp = require_clamp();
    module2.exports.clone = require_clone5();
    module2.exports.collectBy = require_collectBy();
    module2.exports.comparator = require_comparator2();
    module2.exports.complement = require_complement2();
    module2.exports.compose = require_compose();
    module2.exports.composeWith = require_composeWith();
    module2.exports.concat = require_concat4();
    module2.exports.cond = require_cond();
    module2.exports.construct = require_construct();
    module2.exports.constructN = require_constructN();
    module2.exports.converge = require_converge();
    module2.exports.count = require_count2();
    module2.exports.countBy = require_countBy();
    module2.exports.curry = require_curry();
    module2.exports.curryN = require_curryN2();
    module2.exports.dec = require_dec();
    module2.exports.defaultTo = require_defaultTo();
    module2.exports.descend = require_descend();
    module2.exports.difference = require_difference();
    module2.exports.differenceWith = require_differenceWith();
    module2.exports.dissoc = require_dissoc2();
    module2.exports.dissocPath = require_dissocPath();
    module2.exports.divide = require_divide();
    module2.exports.drop = require_drop();
    module2.exports.dropLast = require_dropLast2();
    module2.exports.dropLastWhile = require_dropLastWhile2();
    module2.exports.dropRepeats = require_dropRepeats();
    module2.exports.dropRepeatsWith = require_dropRepeatsWith();
    module2.exports.dropWhile = require_dropWhile();
    module2.exports.either = require_either();
    module2.exports.empty = require_empty3();
    module2.exports.endsWith = require_endsWith();
    module2.exports.eqBy = require_eqBy();
    module2.exports.eqProps = require_eqProps();
    module2.exports.equals = require_equals2();
    module2.exports.evolve = require_evolve();
    module2.exports.filter = require_filter3();
    module2.exports.find = require_find2();
    module2.exports.findIndex = require_findIndex2();
    module2.exports.findLast = require_findLast();
    module2.exports.findLastIndex = require_findLastIndex();
    module2.exports.flatten = require_flatten();
    module2.exports.flip = require_flip();
    module2.exports.forEach = require_forEach();
    module2.exports.forEachObjIndexed = require_forEachObjIndexed();
    module2.exports.fromPairs = require_fromPairs();
    module2.exports.groupBy = require_groupBy2();
    module2.exports.groupWith = require_groupWith();
    module2.exports.gt = require_gt2();
    module2.exports.gte = require_gte2();
    module2.exports.has = require_has2();
    module2.exports.hasIn = require_hasIn();
    module2.exports.hasPath = require_hasPath();
    module2.exports.head = require_head();
    module2.exports.identical = require_identical();
    module2.exports.identity = require_identity3();
    module2.exports.ifElse = require_ifElse();
    module2.exports.inc = require_inc2();
    module2.exports.includes = require_includes2();
    module2.exports.indexBy = require_indexBy();
    module2.exports.indexOf = require_indexOf2();
    module2.exports.init = require_init();
    module2.exports.innerJoin = require_innerJoin();
    module2.exports.insert = require_insert();
    module2.exports.insertAll = require_insertAll();
    module2.exports.intersection = require_intersection();
    module2.exports.intersperse = require_intersperse();
    module2.exports.into = require_into();
    module2.exports.invert = require_invert();
    module2.exports.invertObj = require_invertObj();
    module2.exports.invoker = require_invoker();
    module2.exports.is = require_is();
    module2.exports.isEmpty = require_isEmpty2();
    module2.exports.isNil = require_isNil();
    module2.exports.join = require_join();
    module2.exports.juxt = require_juxt();
    module2.exports.keys = require_keys();
    module2.exports.keysIn = require_keysIn();
    module2.exports.last = require_last2();
    module2.exports.lastIndexOf = require_lastIndexOf();
    module2.exports.length = require_length();
    module2.exports.lens = require_lens();
    module2.exports.lensIndex = require_lensIndex();
    module2.exports.lensPath = require_lensPath();
    module2.exports.lensProp = require_lensProp();
    module2.exports.lift = require_lift2();
    module2.exports.liftN = require_liftN();
    module2.exports.lt = require_lt2();
    module2.exports.lte = require_lte2();
    module2.exports.map = require_map3();
    module2.exports.mapAccum = require_mapAccum();
    module2.exports.mapAccumRight = require_mapAccumRight();
    module2.exports.mapObjIndexed = require_mapObjIndexed();
    module2.exports.match = require_match();
    module2.exports.mathMod = require_mathMod();
    module2.exports.max = require_max2();
    module2.exports.maxBy = require_maxBy();
    module2.exports.mean = require_mean();
    module2.exports.median = require_median();
    module2.exports.memoizeWith = require_memoizeWith();
    module2.exports.mergeAll = require_mergeAll2();
    module2.exports.mergeDeepLeft = require_mergeDeepLeft();
    module2.exports.mergeDeepRight = require_mergeDeepRight();
    module2.exports.mergeDeepWith = require_mergeDeepWith();
    module2.exports.mergeDeepWithKey = require_mergeDeepWithKey();
    module2.exports.mergeLeft = require_mergeLeft();
    module2.exports.mergeRight = require_mergeRight();
    module2.exports.mergeWith = require_mergeWith2();
    module2.exports.mergeWithKey = require_mergeWithKey();
    module2.exports.min = require_min2();
    module2.exports.minBy = require_minBy();
    module2.exports.modify = require_modify2();
    module2.exports.modifyPath = require_modifyPath();
    module2.exports.modulo = require_modulo();
    module2.exports.move = require_move3();
    module2.exports.multiply = require_multiply();
    module2.exports.nAry = require_nAry();
    module2.exports.partialObject = require_partialObject();
    module2.exports.negate = require_negate();
    module2.exports.none = require_none();
    module2.exports.not = require_not2();
    module2.exports.nth = require_nth();
    module2.exports.nthArg = require_nthArg();
    module2.exports.o = require_o();
    module2.exports.objOf = require_objOf();
    module2.exports.of = require_of3();
    module2.exports.omit = require_omit();
    module2.exports.on = require_on();
    module2.exports.once = require_once2();
    module2.exports.or = require_or();
    module2.exports.otherwise = require_otherwise();
    module2.exports.over = require_over();
    module2.exports.pair = require_pair();
    module2.exports.partial = require_partial2();
    module2.exports.partialRight = require_partialRight();
    module2.exports.partition = require_partition4();
    module2.exports.path = require_path5();
    module2.exports.paths = require_paths();
    module2.exports.pathEq = require_pathEq();
    module2.exports.pathOr = require_pathOr();
    module2.exports.pathSatisfies = require_pathSatisfies();
    module2.exports.pick = require_pick();
    module2.exports.pickAll = require_pickAll();
    module2.exports.pickBy = require_pickBy();
    module2.exports.pipe = require_pipe4();
    module2.exports.pipeWith = require_pipeWith();
    module2.exports.pluck = require_pluck2();
    module2.exports.prepend = require_prepend();
    module2.exports.product = require_product();
    module2.exports.project = require_project2();
    module2.exports.promap = require_promap2();
    module2.exports.prop = require_prop();
    module2.exports.propEq = require_propEq();
    module2.exports.propIs = require_propIs();
    module2.exports.propOr = require_propOr();
    module2.exports.propSatisfies = require_propSatisfies();
    module2.exports.props = require_props();
    module2.exports.range = require_range3();
    module2.exports.reduce = require_reduce3();
    module2.exports.reduceBy = require_reduceBy();
    module2.exports.reduceRight = require_reduceRight();
    module2.exports.reduceWhile = require_reduceWhile();
    module2.exports.reduced = require_reduced2();
    module2.exports.reject = require_reject();
    module2.exports.remove = require_remove2();
    module2.exports.repeat = require_repeat2();
    module2.exports.replace = require_replace();
    module2.exports.reverse = require_reverse();
    module2.exports.scan = require_scan5();
    module2.exports.sequence = require_sequence();
    module2.exports.set = require_set4();
    module2.exports.slice = require_slice();
    module2.exports.sort = require_sort3();
    module2.exports.sortBy = require_sortBy();
    module2.exports.sortWith = require_sortWith();
    module2.exports.split = require_split();
    module2.exports.splitAt = require_splitAt();
    module2.exports.splitEvery = require_splitEvery();
    module2.exports.splitWhen = require_splitWhen();
    module2.exports.splitWhenever = require_splitWhenever();
    module2.exports.startsWith = require_startsWith();
    module2.exports.subtract = require_subtract();
    module2.exports.sum = require_sum();
    module2.exports.symmetricDifference = require_symmetricDifference();
    module2.exports.symmetricDifferenceWith = require_symmetricDifferenceWith();
    module2.exports.tail = require_tail();
    module2.exports.take = require_take2();
    module2.exports.takeLast = require_takeLast2();
    module2.exports.takeLastWhile = require_takeLastWhile();
    module2.exports.takeWhile = require_takeWhile2();
    module2.exports.tap = require_tap2();
    module2.exports.test = require_test();
    module2.exports.andThen = require_andThen();
    module2.exports.times = require_times();
    module2.exports.toLower = require_toLower();
    module2.exports.toPairs = require_toPairs();
    module2.exports.toPairsIn = require_toPairsIn();
    module2.exports.toString = require_toString2();
    module2.exports.toUpper = require_toUpper();
    module2.exports.transduce = require_transduce();
    module2.exports.transpose = require_transpose();
    module2.exports.traverse = require_traverse();
    module2.exports.trim = require_trim();
    module2.exports.tryCatch = require_tryCatch();
    module2.exports.type = require_type2();
    module2.exports.unapply = require_unapply();
    module2.exports.unary = require_unary();
    module2.exports.uncurryN = require_uncurryN();
    module2.exports.unfold = require_unfold();
    module2.exports.union = require_union();
    module2.exports.unionWith = require_unionWith();
    module2.exports.uniq = require_uniq();
    module2.exports.uniqBy = require_uniqBy();
    module2.exports.uniqWith = require_uniqWith();
    module2.exports.unless = require_unless();
    module2.exports.unnest = require_unnest();
    module2.exports.until = require_until();
    module2.exports.unwind = require_unwind();
    module2.exports.update = require_update();
    module2.exports.useWith = require_useWith();
    module2.exports.values = require_values();
    module2.exports.valuesIn = require_valuesIn();
    module2.exports.view = require_view();
    module2.exports.when = require_when();
    module2.exports.where = require_where();
    module2.exports.whereAny = require_whereAny();
    module2.exports.whereEq = require_whereEq();
    module2.exports.without = require_without();
    module2.exports.xor = require_xor();
    module2.exports.xprod = require_xprod();
    module2.exports.zip = require_zip3();
    module2.exports.zipObj = require_zipObj();
    module2.exports.zipWith = require_zipWith2();
    module2.exports.thunkify = require_thunkify();
  }
});

// ../deps/status/lib/assertLockfilesEqual.js
var require_assertLockfilesEqual = __commonJS({
  "../deps/status/lib/assertLockfilesEqual.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.assertLockfilesEqual = assertLockfilesEqual;
    var error_1 = require_lib6();
    var ramda_1 = require_src5();
    function assertLockfilesEqual(currentLockfile, wantedLockfile, wantedLockfileDir) {
      if (!currentLockfile) {
        for (const [name, snapshot] of Object.entries(wantedLockfile.importers)) {
          if (!(0, ramda_1.equals)(snapshot.specifiers, {})) {
            throw new error_1.PnpmError("RUN_CHECK_DEPS_NO_DEPS", `Project ${name} requires dependencies but none was installed.`, {
              hint: "Run `pnpm install` to install dependencies"
            });
          }
        }
      } else if (!(0, ramda_1.equals)(currentLockfile, wantedLockfile)) {
        throw new error_1.PnpmError("RUN_CHECK_DEPS_OUTDATED_DEPS", `The installed dependencies in the modules directory is not up-to-date with the lockfile in ${wantedLockfileDir}.`, {
          hint: "Run `pnpm install` to update dependencies."
        });
      }
    }
  }
});

// ../deps/status/lib/safeStat.js
var require_safeStat = __commonJS({
  "../deps/status/lib/safeStat.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.safeStat = safeStat;
    exports2.safeStatSync = safeStatSync;
    var fs_1 = __importDefault2(require("fs"));
    var util_1 = __importDefault2(require("util"));
    async function safeStat(filePath) {
      try {
        return await fs_1.default.promises.stat(filePath);
      } catch (error) {
        if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
          return void 0;
        }
        throw error;
      }
    }
    function safeStatSync(filePath) {
      try {
        return fs_1.default.statSync(filePath);
      } catch (error) {
        if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
          return void 0;
        }
        throw error;
      }
    }
  }
});

// ../deps/status/lib/statManifestFile.js
var require_statManifestFile = __commonJS({
  "../deps/status/lib/statManifestFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.statManifestFile = statManifestFile;
    var path_1 = __importDefault2(require("path"));
    var constants_1 = require_lib5();
    var safeStat_1 = require_safeStat();
    async function statManifestFile(projectRootDir) {
      const attempts = await Promise.all(constants_1.MANIFEST_BASE_NAMES.map((baseName) => {
        const manifestPath = path_1.default.join(projectRootDir, baseName);
        return (0, safeStat_1.safeStat)(manifestPath);
      }));
      return attempts.find((stats) => stats != null);
    }
  }
});

// ../deps/status/lib/checkDepsStatus.js
var require_checkDepsStatus = __commonJS({
  "../deps/status/lib/checkDepsStatus.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkDepsStatus = checkDepsStatus;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var equals_1 = __importDefault2(require_equals2());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var filter_1 = __importDefault2(require_filter3());
    var once_1 = __importDefault2(require_once2());
    var config_1 = require_lib19();
    var constants_1 = require_lib5();
    var crypto_object_hasher_1 = require_lib107();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var lockfile_fs_1 = require_lib112();
    var lockfile_settings_checker_1 = require_lib137();
    var lockfile_verification_1 = require_lib138();
    var logger_1 = require_lib94();
    var parse_overrides_1 = require_lib25();
    var pnpmfile_1 = require_lib139();
    var workspace_find_packages_1 = require_lib35();
    var workspace_read_manifest_1 = require_lib18();
    var workspace_state_1 = require_lib140();
    var assertLockfilesEqual_1 = require_assertLockfilesEqual();
    var safeStat_1 = require_safeStat();
    var statManifestFile_1 = require_statManifestFile();
    async function checkDepsStatus(opts) {
      const workspaceState = (0, workspace_state_1.loadWorkspaceState)(opts.workspaceDir ?? opts.rootProjectManifestDir);
      if (!workspaceState) {
        return {
          upToDate: false,
          issue: "Cannot check whether dependencies are outdated",
          workspaceState
        };
      }
      try {
        return await _checkDepsStatus(opts, workspaceState);
      } catch (error) {
        if (util_1.default.types.isNativeError(error) && "code" in error && String(error.code).startsWith("ERR_PNPM_RUN_CHECK_DEPS_")) {
          return {
            upToDate: false,
            issue: error.message,
            workspaceState
          };
        }
        return {
          upToDate: void 0,
          issue: util_1.default.types.isNativeError(error) ? error.message : void 0,
          workspaceState
        };
      }
    }
    async function _checkDepsStatus(opts, workspaceState) {
      const { allProjects, autoInstallPeers, injectWorkspacePackages, catalogs, excludeLinksFromLockfile, linkWorkspacePackages, rootProjectManifest, rootProjectManifestDir, sharedWorkspaceLockfile, workspaceDir } = opts;
      const rootManifestOptions = rootProjectManifest && rootProjectManifestDir ? (0, config_1.getOptionsFromRootManifest)(rootProjectManifestDir, rootProjectManifest) : void 0;
      if (opts.ignoreFilteredInstallCache && workspaceState.filteredInstall) {
        return { upToDate: void 0, workspaceState };
      }
      if (workspaceState.settings) {
        const ignoredSettings = new Set(opts.ignoredWorkspaceStateSettings);
        ignoredSettings.add("catalogs");
        for (const [settingName, settingValue] of Object.entries(workspaceState.settings)) {
          if (ignoredSettings.has(settingName))
            continue;
          if (!(0, equals_1.default)(settingValue, opts[settingName])) {
            return {
              upToDate: false,
              issue: `The value of the ${settingName} setting has changed`,
              workspaceState
            };
          }
        }
      }
      if ((opts.configDependencies != null || workspaceState.configDependencies != null) && !(0, equals_1.default)(opts.configDependencies ?? {}, workspaceState.configDependencies ?? {})) {
        return {
          upToDate: false,
          issue: "Configuration dependencies are not up to date",
          workspaceState
        };
      }
      if (allProjects && workspaceDir) {
        if (!(0, equals_1.default)((0, filter_1.default)((value) => value != null, workspaceState.settings.catalogs ?? {}), (0, filter_1.default)((value) => value != null, catalogs ?? {}))) {
          return {
            upToDate: false,
            issue: "Catalogs cache outdated",
            workspaceState
          };
        }
        if (allProjects.length !== Object.keys(workspaceState.projects).length || !allProjects.every((currentProject) => {
          const prevProject = workspaceState.projects[currentProject.rootDir];
          if (!prevProject)
            return false;
          return prevProject.name === currentProject.manifest.name && (prevProject.version ?? "0.0.0") === (currentProject.manifest.version ?? "0.0.0");
        })) {
          return {
            upToDate: false,
            issue: "The workspace structure has changed since last install",
            workspaceState
          };
        }
        const allManifestStats = await Promise.all(allProjects.map(async (project) => {
          const modulesDirStatsPromise = (0, safeStat_1.safeStat)(path_1.default.join(project.rootDir, "node_modules"));
          const manifestStats = await (0, statManifestFile_1.statManifestFile)(project.rootDir);
          if (!manifestStats) {
            throw new Error(`Cannot find one of ${constants_1.MANIFEST_BASE_NAMES.join(", ")} in ${project.rootDir}`);
          }
          return {
            project,
            manifestStats,
            modulesDirStats: await modulesDirStatsPromise
          };
        }));
        if (!workspaceState.filteredInstall) {
          for (const { modulesDirStats, project } of allManifestStats) {
            if (modulesDirStats)
              continue;
            if ((0, isEmpty_1.default)({
              ...project.manifest.dependencies,
              ...project.manifest.devDependencies
            }))
              continue;
            const id = project.manifest.name ?? project.rootDir;
            return {
              upToDate: false,
              issue: `Workspace package ${id} has dependencies but does not have a modules directory`,
              workspaceState
            };
          }
        }
        const modifiedProjects = allManifestStats.filter(({ manifestStats }) => manifestStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp);
        if (modifiedProjects.length === 0) {
          logger_1.logger.debug({ msg: "No manifest files were modified since the last validation. Exiting check." });
          return { upToDate: true, workspaceState };
        }
        const issue = await patchesAreModified({
          rootManifestOptions,
          rootDir: rootProjectManifestDir,
          lastValidatedTimestamp: workspaceState.lastValidatedTimestamp,
          pnpmfile: opts.pnpmfile,
          hadPnpmfile: workspaceState.pnpmfileExists
        });
        if (issue) {
          return { upToDate: false, issue, workspaceState };
        }
        logger_1.logger.debug({ msg: "Some manifest files were modified since the last validation. Continuing check." });
        let readWantedLockfileAndDir;
        if (sharedWorkspaceLockfile) {
          let wantedLockfileStats;
          try {
            wantedLockfileStats = fs_1.default.statSync(path_1.default.join(workspaceDir, constants_1.WANTED_LOCKFILE));
          } catch (error) {
            if (util_1.default.types.isNativeError(error) && "code" in error && error.code === "ENOENT") {
              return throwLockfileNotFound(workspaceDir);
            } else {
              throw error;
            }
          }
          const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(workspaceDir, { ignoreIncompatible: false });
          if (wantedLockfileStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp) {
            const virtualStoreDir = opts.virtualStoreDir ?? path_1.default.join(workspaceDir, "node_modules", ".pnpm");
            const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(virtualStoreDir, { ignoreIncompatible: false });
            const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir);
            (0, assertLockfilesEqual_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, workspaceDir);
          }
          readWantedLockfileAndDir = async () => ({
            wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(workspaceDir),
            wantedLockfileDir: workspaceDir
          });
        } else {
          readWantedLockfileAndDir = async (wantedLockfileDir) => {
            const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(wantedLockfileDir, { ignoreIncompatible: false });
            const wantedLockfileStats = await (0, safeStat_1.safeStat)(path_1.default.join(wantedLockfileDir, constants_1.WANTED_LOCKFILE));
            if (!wantedLockfileStats)
              return throwLockfileNotFound(wantedLockfileDir);
            if (wantedLockfileStats.mtime.valueOf() > workspaceState.lastValidatedTimestamp) {
              const virtualStoreDir = opts.virtualStoreDir ?? path_1.default.join(wantedLockfileDir, "node_modules", ".pnpm");
              const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(virtualStoreDir, { ignoreIncompatible: false });
              const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir);
              (0, assertLockfilesEqual_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, wantedLockfileDir);
            }
            return {
              wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(wantedLockfileDir),
              wantedLockfileDir
            };
          };
        }
        const getProjectId = sharedWorkspaceLockfile ? (project) => (0, lockfile_fs_1.getLockfileImporterId)(workspaceDir, project.rootDir) : () => ".";
        const getWorkspacePackages = (0, once_1.default)(get_context_1.arrayOfWorkspacePackagesToMap.bind(null, allProjects));
        const getManifestsByDir = (0, once_1.default)(() => (0, lockfile_verification_1.getWorkspacePackagesByDirectory)(getWorkspacePackages()));
        const assertCtx = {
          autoInstallPeers,
          injectWorkspacePackages,
          config: opts,
          excludeLinksFromLockfile,
          linkWorkspacePackages,
          getManifestsByDir,
          getWorkspacePackages,
          rootDir: workspaceDir,
          rootManifestOptions
        };
        try {
          await Promise.all(modifiedProjects.map(async ({ project }) => {
            const { wantedLockfile, wantedLockfileDir } = await readWantedLockfileAndDir(project.rootDir);
            await assertWantedLockfileUpToDate(assertCtx, {
              projectDir: project.rootDir,
              projectId: getProjectId(project),
              projectManifest: project.manifest,
              wantedLockfile,
              wantedLockfileDir
            });
          }));
        } catch (err) {
          return {
            upToDate: false,
            issue: util_1.default.types.isNativeError(err) && "message" in err ? err.message : void 0,
            workspaceState
          };
        }
        await (0, workspace_state_1.updateWorkspaceState)({
          allProjects,
          workspaceDir,
          pnpmfileExists: workspaceState.pnpmfileExists,
          settings: opts,
          filteredInstall: workspaceState.filteredInstall
        });
        return { upToDate: true, workspaceState };
      }
      if (!allProjects) {
        const workspaceRoot = workspaceDir ?? rootProjectManifestDir;
        const workspaceManifest = await (0, workspace_read_manifest_1.readWorkspaceManifest)(workspaceRoot);
        if (workspaceManifest ?? workspaceDir) {
          const allProjects2 = await (0, workspace_find_packages_1.findWorkspacePackages)(rootProjectManifestDir, {
            patterns: workspaceManifest?.packages,
            sharedWorkspaceLockfile
          });
          return checkDepsStatus({
            ...opts,
            allProjects: allProjects2
          });
        }
      } else {
        throw new Error("Impossible variant: allProjects is defined but workspaceDir is undefined");
      }
      if (rootProjectManifest && rootProjectManifestDir) {
        const virtualStoreDir = path_1.default.join(rootProjectManifestDir, "node_modules", ".pnpm");
        const currentLockfilePromise = (0, lockfile_fs_1.readCurrentLockfile)(virtualStoreDir, { ignoreIncompatible: false });
        const wantedLockfilePromise = (0, lockfile_fs_1.readWantedLockfile)(rootProjectManifestDir, { ignoreIncompatible: false });
        const [currentLockfileStats, wantedLockfileStats, manifestStats] = await Promise.all([
          (0, safeStat_1.safeStat)(path_1.default.join(virtualStoreDir, "lock.yaml")),
          (0, safeStat_1.safeStat)(path_1.default.join(rootProjectManifestDir, constants_1.WANTED_LOCKFILE)),
          (0, statManifestFile_1.statManifestFile)(rootProjectManifestDir)
        ]);
        if (!wantedLockfileStats)
          return throwLockfileNotFound(rootProjectManifestDir);
        const issue = await patchesAreModified({
          rootManifestOptions,
          rootDir: rootProjectManifestDir,
          lastValidatedTimestamp: wantedLockfileStats.mtime.valueOf(),
          pnpmfile: opts.pnpmfile,
          hadPnpmfile: workspaceState.pnpmfileExists
        });
        if (issue) {
          return { upToDate: false, issue, workspaceState };
        }
        if (currentLockfileStats && wantedLockfileStats.mtime.valueOf() > currentLockfileStats.mtime.valueOf()) {
          const currentLockfile = await currentLockfilePromise;
          const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir);
          (0, assertLockfilesEqual_1.assertLockfilesEqual)(currentLockfile, wantedLockfile, rootProjectManifestDir);
        }
        if (!manifestStats) {
          throw new Error(`Cannot find one of ${constants_1.MANIFEST_BASE_NAMES.join(", ")} in ${rootProjectManifestDir}`);
        }
        if (manifestStats.mtime.valueOf() > wantedLockfileStats.mtime.valueOf()) {
          logger_1.logger.debug({ msg: "The manifest is newer than the lockfile. Continuing check." });
          try {
            await assertWantedLockfileUpToDate({
              autoInstallPeers,
              injectWorkspacePackages,
              config: opts,
              excludeLinksFromLockfile,
              linkWorkspacePackages,
              getManifestsByDir: () => ({}),
              getWorkspacePackages: () => void 0,
              rootDir: rootProjectManifestDir,
              rootManifestOptions
            }, {
              projectDir: rootProjectManifestDir,
              projectId: ".",
              projectManifest: rootProjectManifest,
              wantedLockfile: await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir),
              wantedLockfileDir: rootProjectManifestDir
            });
          } catch (err) {
            return {
              upToDate: false,
              issue: util_1.default.types.isNativeError(err) && "message" in err ? err.message : void 0,
              workspaceState
            };
          }
        } else if (currentLockfileStats) {
          logger_1.logger.debug({ msg: "The manifest file is not newer than the lockfile. Exiting check." });
        } else {
          const wantedLockfile = await wantedLockfilePromise ?? throwLockfileNotFound(rootProjectManifestDir);
          if (!(0, isEmpty_1.default)(wantedLockfile.packages ?? {})) {
            throw new error_1.PnpmError("RUN_CHECK_DEPS_NO_DEPS", "The lockfile requires dependencies but none were installed", {
              hint: "Run `pnpm install` to install dependencies"
            });
          }
        }
        return { upToDate: true, workspaceState };
      }
      (0, logger_1.globalWarn)("Skipping check.");
      return { upToDate: void 0, workspaceState };
    }
    async function assertWantedLockfileUpToDate(ctx, opts) {
      const { autoInstallPeers, config, excludeLinksFromLockfile, linkWorkspacePackages, getManifestsByDir, getWorkspacePackages, rootDir, rootManifestOptions } = ctx;
      const { projectDir, projectId, projectManifest, wantedLockfile, wantedLockfileDir } = opts;
      const [patchedDependencies, pnpmfileChecksum] = await Promise.all([
        (0, lockfile_settings_checker_1.calcPatchHashes)(rootManifestOptions?.patchedDependencies ?? {}, rootDir),
        config.hooks?.calculatePnpmfileChecksum?.()
      ]);
      const outdatedLockfileSettingName = (0, lockfile_settings_checker_1.getOutdatedLockfileSetting)(wantedLockfile, {
        autoInstallPeers: config.autoInstallPeers,
        injectWorkspacePackages: config.injectWorkspacePackages,
        excludeLinksFromLockfile: config.excludeLinksFromLockfile,
        peersSuffixMaxLength: config.peersSuffixMaxLength,
        overrides: (0, lockfile_settings_checker_1.createOverridesMapFromParsed)((0, parse_overrides_1.parseOverrides)(rootManifestOptions?.overrides ?? {}, config.catalogs)),
        ignoredOptionalDependencies: rootManifestOptions?.ignoredOptionalDependencies?.sort(),
        packageExtensionsChecksum: (0, crypto_object_hasher_1.hashObjectNullableWithPrefix)(rootManifestOptions?.packageExtensions),
        patchedDependencies,
        pnpmfileChecksum
      });
      if (outdatedLockfileSettingName) {
        throw new error_1.PnpmError("RUN_CHECK_DEPS_OUTDATED_LOCKFILE", `Setting ${outdatedLockfileSettingName} of lockfile in ${wantedLockfileDir} is outdated`, {
          hint: "Run `pnpm install` to update the lockfile"
        });
      }
      if (!(0, lockfile_verification_1.satisfiesPackageManifest)({
        autoInstallPeers,
        excludeLinksFromLockfile
      }, wantedLockfile.importers[projectId], projectManifest).satisfies) {
        throw new error_1.PnpmError("RUN_CHECK_DEPS_UNSATISFIED_PKG_MANIFEST", `The lockfile in ${wantedLockfileDir} does not satisfy project of id ${projectId}`, {
          hint: "Run `pnpm install` to update the lockfile"
        });
      }
      if (!await (0, lockfile_verification_1.linkedPackagesAreUpToDate)({
        linkWorkspacePackages: !!linkWorkspacePackages,
        lockfileDir: wantedLockfileDir,
        manifestsByDir: getManifestsByDir(),
        workspacePackages: getWorkspacePackages(),
        lockfilePackages: wantedLockfile.packages
      }, {
        dir: projectDir,
        manifest: projectManifest,
        snapshot: wantedLockfile.importers[projectId]
      })) {
        throw new error_1.PnpmError("RUN_CHECK_DEPS_LINKED_PKGS_OUTDATED", `The linked packages by ${projectDir} is outdated`, {
          hint: "Run `pnpm install` to update the packages"
        });
      }
    }
    function throwLockfileNotFound(wantedLockfileDir) {
      throw new error_1.PnpmError("RUN_CHECK_DEPS_LOCKFILE_NOT_FOUND", `Cannot find a lockfile in ${wantedLockfileDir}`, {
        hint: "Run `pnpm install` to create the lockfile"
      });
    }
    async function patchesAreModified(opts) {
      if (opts.rootManifestOptions?.patchedDependencies) {
        const allPatchStats = await Promise.all(Object.values(opts.rootManifestOptions.patchedDependencies).map((patchFile) => {
          return (0, safeStat_1.safeStat)(path_1.default.relative(opts.rootDir, patchFile));
        }));
        if (allPatchStats.some((patch) => patch && patch.mtime.valueOf() > opts.lastValidatedTimestamp)) {
          return "Patches were modified";
        }
      }
      const pnpmfilePath = (0, pnpmfile_1.getPnpmfilePath)(opts.rootDir, opts.pnpmfile);
      const pnpmfileStats = (0, safeStat_1.safeStatSync)(pnpmfilePath);
      if (pnpmfileStats != null && pnpmfileStats.mtime.valueOf() > opts.lastValidatedTimestamp) {
        return `pnpmfile at "${pnpmfilePath}" was modified`;
      }
      if (opts.hadPnpmfile && pnpmfileStats == null) {
        return `pnpmfile at "${pnpmfilePath}" was removed`;
      }
      if (!opts.hadPnpmfile && pnpmfileStats != null) {
        return `pnpmfile at "${pnpmfilePath}" was added`;
      }
      return void 0;
    }
  }
});

// ../deps/status/lib/index.js
var require_lib141 = __commonJS({
  "../deps/status/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkDepsStatus = void 0;
    var checkDepsStatus_1 = require_checkDepsStatus();
    Object.defineProperty(exports2, "checkDepsStatus", { enumerable: true, get: function() {
      return checkDepsStatus_1.checkDepsStatus;
    } });
  }
});

// ../node_modules/.pnpm/slash@2.0.0/node_modules/slash/index.js
var require_slash2 = __commonJS({
  "../node_modules/.pnpm/slash@2.0.0/node_modules/slash/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (input) => {
      const isExtendedLengthPath = /^\\\\\?\\/.test(input);
      const hasNonAscii = /[^\u0000-\u0080]+/.test(input);
      if (isExtendedLengthPath || hasNonAscii) {
        return input;
      }
      return input.replace(/\\/g, "/");
    };
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/path.js
var require_path6 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/path.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.relative = exports2.resolve = exports2.dirname = exports2.join = void 0;
    var slash_1 = __importDefault2(require_slash2());
    var path_1 = __importDefault2(require("path"));
    var join = (...args) => (0, slash_1.default)(path_1.default.join(...args));
    exports2.join = join;
    var path_2 = require("path");
    Object.defineProperty(exports2, "dirname", { enumerable: true, get: function() {
      return path_2.dirname;
    } });
    var resolve = (...args) => (0, slash_1.default)(path_1.default.resolve(...args));
    exports2.resolve = resolve;
    var relative = (...args) => (0, slash_1.default)(path_1.default.relative(...args));
    exports2.relative = relative;
  }
});

// ../node_modules/.pnpm/klaw-sync@6.0.0/node_modules/klaw-sync/klaw-sync.js
var require_klaw_sync = __commonJS({
  "../node_modules/.pnpm/klaw-sync@6.0.0/node_modules/klaw-sync/klaw-sync.js"(exports2, module2) {
    "use strict";
    var fs = require_graceful_fs();
    var path2 = require("path");
    function klawSync(dir, opts, ls) {
      if (!ls) {
        ls = [];
        dir = path2.resolve(dir);
        opts = opts || {};
        opts.fs = opts.fs || fs;
        if (opts.depthLimit > -1) opts.rootDepth = dir.split(path2.sep).length + 1;
      }
      const paths = opts.fs.readdirSync(dir).map((p) => dir + path2.sep + p);
      for (var i = 0; i < paths.length; i += 1) {
        const pi = paths[i];
        const st = opts.fs.statSync(pi);
        const item = { path: pi, stats: st };
        const isUnderDepthLimit = !opts.rootDepth || pi.split(path2.sep).length - opts.rootDepth < opts.depthLimit;
        const filterResult = opts.filter ? opts.filter(item) : true;
        const isDir = st.isDirectory();
        const shouldAdd = filterResult && (isDir ? !opts.nodir : !opts.nofile);
        const shouldTraverse = isDir && isUnderDepthLimit && (opts.traverseAll || filterResult);
        if (shouldAdd) ls.push(item);
        if (shouldTraverse) ls = klawSync(pi, opts, ls);
      }
      return ls;
    }
    module2.exports = klawSync;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patchFs.js
var require_patchFs2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patchFs.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPatchFiles = void 0;
    var path_1 = require_path6();
    var klaw_sync_1 = __importDefault2(require_klaw_sync());
    var getPatchFiles = (patchesDir) => {
      try {
        return (0, klaw_sync_1.default)(patchesDir, { nodir: true }).map(({ path: path2 }) => (0, path_1.relative)(patchesDir, path2)).filter((path2) => path2.endsWith(".patch"));
      } catch (e) {
        return [];
      }
    };
    exports2.getPatchFiles = getPatchFiles;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/assertNever.js
var require_assertNever = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/assertNever.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.assertNever = void 0;
    function assertNever2(x) {
      throw new Error("Unexpected object: " + x);
    }
    exports2.assertNever = assertNever2;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/apply.js
var require_apply2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/apply.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.executeEffects = void 0;
    var fs_extra_1 = __importDefault2(require_lib41());
    var path_1 = require("path");
    var assertNever_1 = require_assertNever();
    var executeEffects = (effects, { dryRun }) => {
      effects.forEach((eff) => {
        switch (eff.type) {
          case "file deletion":
            if (dryRun) {
              if (!fs_extra_1.default.existsSync(eff.path)) {
                throw new Error("Trying to delete file that doesn't exist: " + eff.path);
              }
            } else {
              fs_extra_1.default.unlinkSync(eff.path);
            }
            break;
          case "rename":
            if (dryRun) {
              if (!fs_extra_1.default.existsSync(eff.fromPath)) {
                throw new Error("Trying to move file that doesn't exist: " + eff.fromPath);
              }
            } else {
              fs_extra_1.default.moveSync(eff.fromPath, eff.toPath);
            }
            break;
          case "file creation":
            if (dryRun) {
              if (fs_extra_1.default.existsSync(eff.path)) {
                throw new Error("Trying to create file that already exists: " + eff.path);
              }
            } else {
              const fileContents = eff.hunk ? eff.hunk.parts[0].lines.join("\n") + (eff.hunk.parts[0].noNewlineAtEndOfFile ? "" : "\n") : "";
              fs_extra_1.default.ensureDirSync((0, path_1.dirname)(eff.path));
              fs_extra_1.default.writeFileSync(eff.path, fileContents, { mode: eff.mode });
            }
            break;
          case "patch":
            applyPatch(eff, { dryRun });
            break;
          case "mode change":
            const currentMode = fs_extra_1.default.statSync(eff.path).mode;
            if ((isExecutable(eff.newMode) && isExecutable(currentMode) || !isExecutable(eff.newMode) && !isExecutable(currentMode)) && dryRun) {
              console.warn(`Mode change is not required for file ${eff.path}`);
            }
            fs_extra_1.default.chmodSync(eff.path, eff.newMode);
            break;
          default:
            (0, assertNever_1.assertNever)(eff);
        }
      });
    };
    exports2.executeEffects = executeEffects;
    function isExecutable(fileMode) {
      return (fileMode & 64) > 0;
    }
    var trimRight = (s) => s.replace(/\s+$/, "");
    function linesAreEqual(a, b) {
      return trimRight(a) === trimRight(b);
    }
    function applyPatch({ hunks, path: path2 }, { dryRun }) {
      const fileContents = fs_extra_1.default.readFileSync(path2).toString();
      const mode = fs_extra_1.default.statSync(path2).mode;
      const fileLines = fileContents.split(/\n/);
      const result2 = [];
      for (const hunk of hunks) {
        let fuzzingOffset = 0;
        while (true) {
          const modifications = evaluateHunk(hunk, fileLines, fuzzingOffset);
          if (modifications) {
            result2.push(modifications);
            break;
          }
          fuzzingOffset = fuzzingOffset < 0 ? fuzzingOffset * -1 : fuzzingOffset * -1 - 1;
          if (Math.abs(fuzzingOffset) > 20) {
            throw new Error(`Cant apply hunk ${hunks.indexOf(hunk)} for file ${path2}`);
          }
        }
      }
      if (dryRun) {
        return;
      }
      let diffOffset = 0;
      for (const modifications of result2) {
        for (const modification of modifications) {
          switch (modification.type) {
            case "splice":
              fileLines.splice(modification.index + diffOffset, modification.numToDelete, ...modification.linesToInsert);
              diffOffset += modification.linesToInsert.length - modification.numToDelete;
              break;
            case "pop":
              fileLines.pop();
              break;
            case "push":
              fileLines.push(modification.line);
              break;
            default:
              (0, assertNever_1.assertNever)(modification);
          }
        }
      }
      fs_extra_1.default.writeFileSync(path2, fileLines.join("\n"), { mode });
    }
    function evaluateHunk(hunk, fileLines, fuzzingOffset) {
      const result2 = [];
      let contextIndex = hunk.header.original.start - 1 + fuzzingOffset;
      if (contextIndex < 0) {
        return null;
      }
      if (fileLines.length - contextIndex < hunk.header.original.length) {
        return null;
      }
      for (const part of hunk.parts) {
        switch (part.type) {
          case "deletion":
          case "context":
            for (const line of part.lines) {
              const originalLine = fileLines[contextIndex];
              if (!linesAreEqual(originalLine, line)) {
                return null;
              }
              contextIndex++;
            }
            if (part.type === "deletion") {
              result2.push({
                type: "splice",
                index: contextIndex - part.lines.length,
                numToDelete: part.lines.length,
                linesToInsert: []
              });
              if (part.noNewlineAtEndOfFile) {
                result2.push({
                  type: "push",
                  line: ""
                });
              }
            }
            break;
          case "insertion":
            result2.push({
              type: "splice",
              index: contextIndex,
              numToDelete: 0,
              linesToInsert: part.lines
            });
            if (part.noNewlineAtEndOfFile) {
              result2.push({ type: "pop" });
            }
            break;
          default:
            (0, assertNever_1.assertNever)(part.type);
        }
      }
      return result2;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/PackageDetails.js
var require_PackageDetails = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/PackageDetails.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPatchDetailsFromCliString = exports2.getPackageDetailsFromPatchFilename = void 0;
    var path_1 = require_path6();
    function parseNameAndVersion(s) {
      const parts = s.split("+");
      switch (parts.length) {
        case 1: {
          return { name: parts[0] };
        }
        case 2: {
          const [nameOrScope, versionOrName] = parts;
          if (versionOrName.match(/^\d+/)) {
            return {
              name: nameOrScope,
              version: versionOrName
            };
          }
          return { name: `${nameOrScope}/${versionOrName}` };
        }
        case 3: {
          const [scope, name, version2] = parts;
          return { name: `${scope}/${name}`, version: version2 };
        }
      }
      return null;
    }
    function getPackageDetailsFromPatchFilename(patchFilename) {
      const legacyMatch = patchFilename.match(/^([^+=]+?)(:|\+)(\d+\.\d+\.\d+.*?)(\.dev)?\.patch$/);
      if (legacyMatch) {
        const name = legacyMatch[1];
        const version2 = legacyMatch[3];
        return {
          packageNames: [name],
          pathSpecifier: name,
          humanReadablePathSpecifier: name,
          path: (0, path_1.join)("node_modules", name),
          name,
          version: version2,
          isNested: false,
          patchFilename,
          isDevOnly: patchFilename.endsWith(".dev.patch")
        };
      }
      const parts = patchFilename.replace(/(\.dev)?\.patch$/, "").split("++").map(parseNameAndVersion).filter((x) => x !== null);
      if (parts.length === 0) {
        return null;
      }
      const lastPart = parts[parts.length - 1];
      if (!lastPart.version) {
        return null;
      }
      return {
        name: lastPart.name,
        version: lastPart.version,
        path: (0, path_1.join)("node_modules", parts.map(({ name }) => name).join("/node_modules/")),
        patchFilename,
        pathSpecifier: parts.map(({ name }) => name).join("/"),
        humanReadablePathSpecifier: parts.map(({ name }) => name).join(" => "),
        isNested: parts.length > 1,
        packageNames: parts.map(({ name }) => name),
        isDevOnly: patchFilename.endsWith(".dev.patch")
      };
    }
    exports2.getPackageDetailsFromPatchFilename = getPackageDetailsFromPatchFilename;
    function getPatchDetailsFromCliString(specifier) {
      const parts = specifier.split("/");
      const packageNames = [];
      let scope = null;
      for (let i = 0; i < parts.length; i++) {
        if (parts[i].startsWith("@")) {
          if (scope) {
            return null;
          }
          scope = parts[i];
        } else {
          if (scope) {
            packageNames.push(`${scope}/${parts[i]}`);
            scope = null;
          } else {
            packageNames.push(parts[i]);
          }
        }
      }
      const path2 = (0, path_1.join)("node_modules", packageNames.join("/node_modules/"));
      return {
        packageNames,
        path: path2,
        name: packageNames[packageNames.length - 1],
        humanReadablePathSpecifier: packageNames.join(" => "),
        isNested: packageNames.length > 1,
        pathSpecifier: specifier
      };
    }
    exports2.getPatchDetailsFromCliString = getPatchDetailsFromCliString;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/parse.js
var require_parse9 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/parse.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.verifyHunkIntegrity = exports2.parsePatchFile = exports2.interpretParsedPatchFile = exports2.EXECUTABLE_FILE_MODE = exports2.NON_EXECUTABLE_FILE_MODE = exports2.parseHunkHeaderLine = void 0;
    var assertNever_1 = require_assertNever();
    var parseHunkHeaderLine = (headerLine) => {
      const match = headerLine.trim().match(/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/);
      if (!match) {
        throw new Error(`Bad header line: '${headerLine}'`);
      }
      return {
        original: {
          start: Math.max(Number(match[1]), 1),
          length: Number(match[3] || 1)
        },
        patched: {
          start: Math.max(Number(match[4]), 1),
          length: Number(match[6] || 1)
        }
      };
    };
    exports2.parseHunkHeaderLine = parseHunkHeaderLine;
    exports2.NON_EXECUTABLE_FILE_MODE = 420;
    exports2.EXECUTABLE_FILE_MODE = 493;
    var emptyFilePatch = () => ({
      diffLineFromPath: null,
      diffLineToPath: null,
      oldMode: null,
      newMode: null,
      deletedFileMode: null,
      newFileMode: null,
      renameFrom: null,
      renameTo: null,
      beforeHash: null,
      afterHash: null,
      fromPath: null,
      toPath: null,
      hunks: null
    });
    var emptyHunk = (headerLine) => ({
      header: (0, exports2.parseHunkHeaderLine)(headerLine),
      parts: []
    });
    var hunkLinetypes = {
      "@": "header",
      "-": "deletion",
      "+": "insertion",
      " ": "context",
      "\\": "pragma",
      // Treat blank lines as context
      undefined: "context",
      "\r": "context"
    };
    function parsePatchLines(lines, { supportLegacyDiffs }) {
      const result2 = [];
      let currentFilePatch = emptyFilePatch();
      let state = "parsing header";
      let currentHunk = null;
      let currentHunkMutationPart = null;
      function commitHunk() {
        if (currentHunk) {
          if (currentHunkMutationPart) {
            currentHunk.parts.push(currentHunkMutationPart);
            currentHunkMutationPart = null;
          }
          currentFilePatch.hunks.push(currentHunk);
          currentHunk = null;
        }
      }
      function commitFilePatch() {
        commitHunk();
        result2.push(currentFilePatch);
        currentFilePatch = emptyFilePatch();
      }
      for (let i = 0; i < lines.length; i++) {
        const line = lines[i];
        if (state === "parsing header") {
          if (line.startsWith("@@")) {
            state = "parsing hunks";
            currentFilePatch.hunks = [];
            i--;
          } else if (line.startsWith("diff --git ")) {
            if (currentFilePatch && currentFilePatch.diffLineFromPath) {
              commitFilePatch();
            }
            const match = line.match(/^diff --git a\/(.*?) b\/(.*?)\s*$/);
            if (!match) {
              throw new Error("Bad diff line: " + line);
            }
            currentFilePatch.diffLineFromPath = match[1];
            currentFilePatch.diffLineToPath = match[2];
          } else if (line.startsWith("old mode ")) {
            currentFilePatch.oldMode = line.slice("old mode ".length).trim();
          } else if (line.startsWith("new mode ")) {
            currentFilePatch.newMode = line.slice("new mode ".length).trim();
          } else if (line.startsWith("deleted file mode ")) {
            currentFilePatch.deletedFileMode = line.slice("deleted file mode ".length).trim();
          } else if (line.startsWith("new file mode ")) {
            currentFilePatch.newFileMode = line.slice("new file mode ".length).trim();
          } else if (line.startsWith("rename from ")) {
            currentFilePatch.renameFrom = line.slice("rename from ".length).trim();
          } else if (line.startsWith("rename to ")) {
            currentFilePatch.renameTo = line.slice("rename to ".length).trim();
          } else if (line.startsWith("index ")) {
            const match = line.match(/(\w+)\.\.(\w+)/);
            if (!match) {
              continue;
            }
            currentFilePatch.beforeHash = match[1];
            currentFilePatch.afterHash = match[2];
          } else if (line.startsWith("--- ")) {
            currentFilePatch.fromPath = line.slice("--- a/".length).trim();
          } else if (line.startsWith("+++ ")) {
            currentFilePatch.toPath = line.slice("+++ b/".length).trim();
          }
        } else {
          if (supportLegacyDiffs && line.startsWith("--- a/")) {
            state = "parsing header";
            commitFilePatch();
            i--;
            continue;
          }
          const lineType = hunkLinetypes[line[0]] || null;
          switch (lineType) {
            case "header":
              commitHunk();
              currentHunk = emptyHunk(line);
              break;
            case null:
              state = "parsing header";
              commitFilePatch();
              i--;
              break;
            case "pragma":
              if (!line.startsWith("\\ No newline at end of file")) {
                throw new Error("Unrecognized pragma in patch file: " + line);
              }
              if (!currentHunkMutationPart) {
                throw new Error("Bad parser state: No newline at EOF pragma encountered without context");
              }
              currentHunkMutationPart.noNewlineAtEndOfFile = true;
              break;
            case "insertion":
            case "deletion":
            case "context":
              if (!currentHunk) {
                throw new Error("Bad parser state: Hunk lines encountered before hunk header");
              }
              if (currentHunkMutationPart && currentHunkMutationPart.type !== lineType) {
                currentHunk.parts.push(currentHunkMutationPart);
                currentHunkMutationPart = null;
              }
              if (!currentHunkMutationPart) {
                currentHunkMutationPart = {
                  type: lineType,
                  lines: [],
                  noNewlineAtEndOfFile: false
                };
              }
              currentHunkMutationPart.lines.push(line.slice(1));
              break;
            default:
              (0, assertNever_1.assertNever)(lineType);
          }
        }
      }
      commitFilePatch();
      for (const { hunks } of result2) {
        if (hunks) {
          for (const hunk of hunks) {
            verifyHunkIntegrity(hunk);
          }
        }
      }
      return result2;
    }
    function interpretParsedPatchFile(files) {
      const result2 = [];
      for (const file of files) {
        const { diffLineFromPath, diffLineToPath, oldMode, newMode, deletedFileMode, newFileMode, renameFrom, renameTo, beforeHash, afterHash, fromPath, toPath, hunks } = file;
        const type = renameFrom ? "rename" : deletedFileMode ? "file deletion" : newFileMode ? "file creation" : hunks && hunks.length > 0 ? "patch" : "mode change";
        let destinationFilePath = null;
        switch (type) {
          case "rename":
            if (!renameFrom || !renameTo) {
              throw new Error("Bad parser state: rename from & to not given");
            }
            result2.push({
              type: "rename",
              fromPath: renameFrom,
              toPath: renameTo
            });
            destinationFilePath = renameTo;
            break;
          case "file deletion": {
            const path2 = diffLineFromPath || fromPath;
            if (!path2) {
              throw new Error("Bad parse state: no path given for file deletion");
            }
            result2.push({
              type: "file deletion",
              hunk: hunks && hunks[0] || null,
              path: path2,
              mode: parseFileMode(deletedFileMode),
              hash: beforeHash
            });
            break;
          }
          case "file creation": {
            const path2 = diffLineToPath || toPath;
            if (!path2) {
              throw new Error("Bad parse state: no path given for file creation");
            }
            result2.push({
              type: "file creation",
              hunk: hunks && hunks[0] || null,
              path: path2,
              mode: parseFileMode(newFileMode),
              hash: afterHash
            });
            break;
          }
          case "patch":
          case "mode change":
            destinationFilePath = toPath || diffLineToPath;
            break;
          default:
            (0, assertNever_1.assertNever)(type);
        }
        if (destinationFilePath && oldMode && newMode && oldMode !== newMode) {
          result2.push({
            type: "mode change",
            path: destinationFilePath,
            oldMode: parseFileMode(oldMode),
            newMode: parseFileMode(newMode)
          });
        }
        if (destinationFilePath && hunks && hunks.length) {
          result2.push({
            type: "patch",
            path: destinationFilePath,
            hunks,
            beforeHash,
            afterHash
          });
        }
      }
      return result2;
    }
    exports2.interpretParsedPatchFile = interpretParsedPatchFile;
    function parseFileMode(mode) {
      const parsedMode = parseInt(mode, 8) & 511;
      if (parsedMode !== exports2.NON_EXECUTABLE_FILE_MODE && parsedMode !== exports2.EXECUTABLE_FILE_MODE) {
        throw new Error("Unexpected file mode string: " + mode);
      }
      return parsedMode;
    }
    function parsePatchFile(file) {
      const lines = file.split(/\n/g);
      if (lines[lines.length - 1] === "") {
        lines.pop();
      }
      try {
        return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: false }));
      } catch (e) {
        if (e instanceof Error && e.message === "hunk header integrity check failed") {
          return interpretParsedPatchFile(parsePatchLines(lines, { supportLegacyDiffs: true }));
        }
        throw e;
      }
    }
    exports2.parsePatchFile = parsePatchFile;
    function verifyHunkIntegrity(hunk) {
      let originalLength = 0;
      let patchedLength = 0;
      for (const { type, lines } of hunk.parts) {
        switch (type) {
          case "context":
            patchedLength += lines.length;
            originalLength += lines.length;
            break;
          case "deletion":
            originalLength += lines.length;
            break;
          case "insertion":
            patchedLength += lines.length;
            break;
          default:
            (0, assertNever_1.assertNever)(type);
        }
      }
      if (originalLength !== hunk.header.original.length || patchedLength !== hunk.header.patched.length) {
        throw new Error("hunk header integrity check failed");
      }
    }
    exports2.verifyHunkIntegrity = verifyHunkIntegrity;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/reverse.js
var require_reverse2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/reverse.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.reversePatch = void 0;
    var parse_1 = require_parse9();
    var assertNever_1 = require_assertNever();
    function reverseHunk(hunk) {
      const header = {
        original: hunk.header.patched,
        patched: hunk.header.original
      };
      const parts = [];
      for (const part of hunk.parts) {
        switch (part.type) {
          case "context":
            parts.push(part);
            break;
          case "deletion":
            parts.push({
              type: "insertion",
              lines: part.lines,
              noNewlineAtEndOfFile: part.noNewlineAtEndOfFile
            });
            break;
          case "insertion":
            parts.push({
              type: "deletion",
              lines: part.lines,
              noNewlineAtEndOfFile: part.noNewlineAtEndOfFile
            });
            break;
          default:
            (0, assertNever_1.assertNever)(part.type);
        }
      }
      for (let i = 0; i < parts.length - 1; i++) {
        if (parts[i].type === "insertion" && parts[i + 1].type === "deletion") {
          const tmp = parts[i];
          parts[i] = parts[i + 1];
          parts[i + 1] = tmp;
          i += 1;
        }
      }
      const result2 = {
        header,
        parts
      };
      (0, parse_1.verifyHunkIntegrity)(result2);
      return result2;
    }
    function reversePatchPart(part) {
      switch (part.type) {
        case "file creation":
          return {
            type: "file deletion",
            path: part.path,
            hash: part.hash,
            hunk: part.hunk && reverseHunk(part.hunk),
            mode: part.mode
          };
        case "file deletion":
          return {
            type: "file creation",
            path: part.path,
            hunk: part.hunk && reverseHunk(part.hunk),
            mode: part.mode,
            hash: part.hash
          };
        case "rename":
          return {
            type: "rename",
            fromPath: part.toPath,
            toPath: part.fromPath
          };
        case "patch":
          return {
            type: "patch",
            path: part.path,
            hunks: part.hunks.map(reverseHunk),
            beforeHash: part.afterHash,
            afterHash: part.beforeHash
          };
        case "mode change":
          return {
            type: "mode change",
            path: part.path,
            newMode: part.oldMode,
            oldMode: part.newMode
          };
      }
    }
    var reversePatch = (patch) => {
      return patch.map(reversePatchPart).reverse();
    };
    exports2.reversePatch = reversePatch;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/read.js
var require_read2 = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/patch/read.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readPatch = void 0;
    var chalk_1 = __importDefault2(require_source());
    var fs_extra_1 = require_lib41();
    var path_1 = require_path6();
    var path_2 = require("path");
    var parse_1 = require_parse9();
    function readPatch({ patchFilePath, packageDetails, patchDir }) {
      try {
        return (0, parse_1.parsePatchFile)((0, fs_extra_1.readFileSync)(patchFilePath).toString());
      } catch (e) {
        if (packageDetails == null || patchDir == null) {
          throw e;
        }
        const fixupSteps = [];
        const relativePatchFilePath = (0, path_2.normalize)((0, path_1.relative)(process.cwd(), patchFilePath));
        const patchBaseDir = relativePatchFilePath.slice(0, relativePatchFilePath.indexOf(patchDir));
        if (patchBaseDir) {
          fixupSteps.push(`cd ${patchBaseDir}`);
        }
        fixupSteps.push(`patch -p1 -i ${relativePatchFilePath.slice(relativePatchFilePath.indexOf(patchDir))}`);
        fixupSteps.push(`npx patch-package ${packageDetails.pathSpecifier}`);
        if (patchBaseDir) {
          fixupSteps.push(`cd ${(0, path_1.relative)((0, path_1.resolve)(process.cwd(), patchBaseDir), process.cwd())}`);
        }
        console.error(`
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageDetails.humanReadablePathSpecifier)}`)}
    
  This happened because the patch file ${relativePatchFilePath} could not be parsed.
   
  If you just upgraded patch-package, you can try running:
  
    ${fixupSteps.join("\n    ")}
    
  Otherwise, try manually creating the patch file again.
  
  If the problem persists, please submit a bug report:
  
    https://github.com/ds300/patch-package/issues/new?title=Patch+file+parse+error&body=%3CPlease+attach+the+patch+file+in+question%3E

`);
        process.exit(1);
      }
      return [];
    }
    exports2.readPatch = readPatch;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js
var require_packageIsDevDependency = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/packageIsDevDependency.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageIsDevDependency = void 0;
    var path_1 = require_path6();
    var fs_1 = require("fs");
    function packageIsDevDependency({ appPath, packageDetails }) {
      const packageJsonPath = (0, path_1.join)(appPath, "package.json");
      if (!(0, fs_1.existsSync)(packageJsonPath)) {
        return false;
      }
      const { devDependencies } = require(packageJsonPath);
      return Boolean(devDependencies && devDependencies[packageDetails.packageNames[0]]);
    }
    exports2.packageIsDevDependency = packageIsDevDependency;
  }
});

// ../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/applyPatches.js
var require_applyPatches = __commonJS({
  "../node_modules/.pnpm/@pnpm+patch-package@0.0.1/node_modules/@pnpm/patch-package/dist/applyPatches.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.applyPatch = exports2.applyPatchesForApp = void 0;
    var chalk_1 = __importDefault2(require_source());
    var patchFs_1 = require_patchFs2();
    var apply_1 = require_apply2();
    var fs_extra_1 = require_lib41();
    var path_1 = require_path6();
    var path_2 = require("path");
    var PackageDetails_1 = require_PackageDetails();
    var reverse_1 = require_reverse2();
    var semver_12 = __importDefault2(require_semver2());
    var read_1 = require_read2();
    var packageIsDevDependency_1 = require_packageIsDevDependency();
    var PatchApplicationError = class extends Error {
      constructor(msg) {
        super(msg);
      }
    };
    function findPatchFiles(patchesDirectory) {
      if (!(0, fs_extra_1.existsSync)(patchesDirectory)) {
        return [];
      }
      return (0, patchFs_1.getPatchFiles)(patchesDirectory);
    }
    function getInstalledPackageVersion({ appPath, path: path2, pathSpecifier, isDevOnly, patchFilename }) {
      const packageDir = (0, path_1.join)(appPath, path2);
      if (!(0, fs_extra_1.existsSync)(packageDir)) {
        if (process.env.NODE_ENV === "production" && isDevOnly) {
          return null;
        }
        let err = `${chalk_1.default.red("Error:")} Patch file found for package ${path_2.posix.basename(pathSpecifier)} which is not present at ${(0, path_1.relative)(".", packageDir)}`;
        if (!isDevOnly && process.env.NODE_ENV === "production") {
          err += `

  If this package is a dev dependency, rename the patch file to
  
    ${chalk_1.default.bold(patchFilename.replace(".patch", ".dev.patch"))}
`;
        }
        throw new PatchApplicationError(err);
      }
      const { version: version2 } = require((0, path_1.join)(packageDir, "package.json"));
      const result2 = semver_12.default.valid(version2);
      if (result2 === null) {
        throw new PatchApplicationError(`${chalk_1.default.red("Error:")} Version string '${version2}' cannot be parsed from ${(0, path_1.join)(packageDir, "package.json")}`);
      }
      return result2;
    }
    function applyPatchesForApp({ appPath, reverse, patchDir, shouldExitWithError, shouldExitWithWarning }) {
      const patchesDirectory = (0, path_1.join)(appPath, patchDir);
      const files = findPatchFiles(patchesDirectory);
      if (files.length === 0) {
        console.error(chalk_1.default.blueBright("No patch files found"));
        return;
      }
      const errors = [];
      const warnings = [];
      for (const filename of files) {
        try {
          const packageDetails = (0, PackageDetails_1.getPackageDetailsFromPatchFilename)(filename);
          if (!packageDetails) {
            warnings.push(`Unrecognized patch file in patches directory ${filename}`);
            continue;
          }
          const { name, version: version2, path: path2, pathSpecifier, isDevOnly, patchFilename } = packageDetails;
          const installedPackageVersion = getInstalledPackageVersion({
            appPath,
            path: path2,
            pathSpecifier,
            isDevOnly: isDevOnly || // check for direct-dependents in prod
            process.env.NODE_ENV === "production" && (0, packageIsDevDependency_1.packageIsDevDependency)({ appPath, packageDetails }),
            patchFilename
          });
          if (!installedPackageVersion) {
            console.log(`Skipping dev-only ${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.blue("\u2714")}`);
            continue;
          }
          if (applyPatch({
            patchFilePath: (0, path_1.resolve)(patchesDirectory, filename),
            reverse,
            packageDetails,
            patchDir
          })) {
            if (installedPackageVersion !== version2) {
              warnings.push(createVersionMismatchWarning({
                packageName: name,
                actualVersion: installedPackageVersion,
                originalVersion: version2,
                pathSpecifier,
                path: path2
              }));
            }
            console.log(`${chalk_1.default.bold(pathSpecifier)}@${version2} ${chalk_1.default.green("\u2714")}`);
          } else if (installedPackageVersion === version2) {
            errors.push(createBrokenPatchFileError({
              packageName: name,
              patchFileName: filename,
              pathSpecifier,
              path: path2
            }));
          } else {
            errors.push(createPatchApplictionFailureError({
              packageName: name,
              actualVersion: installedPackageVersion,
              originalVersion: version2,
              patchFileName: filename,
              path: path2,
              pathSpecifier
            }));
          }
        } catch (error) {
          if (error instanceof PatchApplicationError) {
            errors.push(error.message);
          } else {
            errors.push(createUnexpectedError({ filename, error }));
          }
        }
      }
      for (const warning of warnings) {
        console.warn(warning);
      }
      for (const error of errors) {
        console.error(error);
      }
      const problemsSummary = [];
      if (warnings.length) {
        problemsSummary.push(chalk_1.default.yellow(`${warnings.length} warning(s)`));
      }
      if (errors.length) {
        problemsSummary.push(chalk_1.default.red(`${errors.length} error(s)`));
      }
      if (problemsSummary.length) {
        console.error("---");
        console.error("patch-package finished with", problemsSummary.join(", ") + ".");
      }
      if (errors.length && shouldExitWithError) {
        process.exit(1);
      }
      if (warnings.length && shouldExitWithWarning) {
        process.exit(1);
      }
      process.exit(0);
    }
    exports2.applyPatchesForApp = applyPatchesForApp;
    function applyPatch({ patchFilePath, reverse, packageDetails, patchDir }) {
      const patch = (0, read_1.readPatch)({ patchFilePath, packageDetails, patchDir });
      try {
        (0, apply_1.executeEffects)(reverse ? (0, reverse_1.reversePatch)(patch) : patch, { dryRun: false });
      } catch (e) {
        try {
          (0, apply_1.executeEffects)(reverse ? patch : (0, reverse_1.reversePatch)(patch), { dryRun: true });
        } catch (e2) {
          return false;
        }
      }
      return true;
    }
    exports2.applyPatch = applyPatch;
    function createVersionMismatchWarning({ packageName, actualVersion, originalVersion, pathSpecifier, path: path2 }) {
      return `
${chalk_1.default.yellow("Warning:")} patch-package detected a patch file version mismatch

  Don't worry! This is probably fine. The patch was still applied
  successfully. Here's the deets:

  Patch file created for

    ${packageName}@${chalk_1.default.bold(originalVersion)}

  applied to

    ${packageName}@${chalk_1.default.bold(actualVersion)}
  
  At path
  
    ${path2}

  This warning is just to give you a heads-up. There is a small chance of
  breakage even though the patch was applied successfully. Make sure the package
  still behaves like you expect (you wrote tests, right?) and then run

    ${chalk_1.default.bold(`patch-package ${pathSpecifier}`)}

  to update the version in the patch file name and make this warning go away.
`;
    }
    function createBrokenPatchFileError({ packageName, patchFileName, path: path2, pathSpecifier }) {
      return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)}
  
    ${path2}

  This error was caused because patch-package cannot apply the following patch file:

    patches/${patchFileName}

  Try removing node_modules and trying again. If that doesn't work, maybe there was
  an accidental change made to the patch file? Try recreating it by manually
  editing the appropriate files and running:
  
    patch-package ${pathSpecifier}
  
  If that doesn't work, then it's a bug in patch-package, so please submit a bug
  report. Thanks!

    https://github.com/ds300/patch-package/issues
    
`;
    }
    function createPatchApplictionFailureError({ packageName, actualVersion, originalVersion, patchFileName, path: path2, pathSpecifier }) {
      return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch for package ${chalk_1.default.bold(packageName)} at path`)}
  
    ${path2}

  This error was caused because ${chalk_1.default.bold(packageName)} has changed since you
  made the patch file for it. This introduced conflicts with your patch,
  just like a merge conflict in Git when separate incompatible changes are
  made to the same piece of code.

  Maybe this means your patch file is no longer necessary, in which case
  hooray! Just delete it!

  Otherwise, you need to generate a new patch file.

  To generate a new one, just repeat the steps you made to generate the first
  one.

  i.e. manually make the appropriate file changes, then run 

    patch-package ${pathSpecifier}

  Info:
    Patch file: patches/${patchFileName}
    Patch was made for version: ${chalk_1.default.green.bold(originalVersion)}
    Installed version: ${chalk_1.default.red.bold(actualVersion)}
`;
    }
    function createUnexpectedError({ filename, error }) {
      return `
${chalk_1.default.red.bold("**ERROR**")} ${chalk_1.default.red(`Failed to apply patch file ${chalk_1.default.bold(filename)}`)}
  
${error.stack}

  `;
    }
  }
});

// ../patching/apply-patch/lib/index.js
var require_lib142 = __commonJS({
  "../patching/apply-patch/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.applyPatchToDir = applyPatchToDir;
    var error_1 = require_lib6();
    var applyPatches_1 = require_applyPatches();
    var logger_1 = require_lib();
    function applyPatchToDir(opts) {
      const cwd = process.cwd();
      process.chdir(opts.patchedDir);
      let success = false;
      try {
        success = (0, applyPatches_1.applyPatch)({
          patchFilePath: opts.patchFilePath
        });
      } catch (err) {
        if (err.code === "ENOENT") {
          throw new error_1.PnpmError("PATCH_NOT_FOUND", `Patch file not found: ${opts.patchFilePath}`);
        }
        throw new error_1.PnpmError("INVALID_PATCH", `Applying patch "${opts.patchFilePath}" failed: ${err.message}`);
      } finally {
        process.chdir(cwd);
      }
      if (!success) {
        const message = `Could not apply patch ${opts.patchFilePath} to ${opts.patchedDir}`;
        if (opts.allowFailure) {
          (0, logger_1.globalWarn)(message);
        } else {
          throw new error_1.PnpmError("PATCH_FAILED", message);
        }
      }
      return success;
    }
  }
});

// ../exec/build-modules/lib/buildSequence.js
var require_buildSequence = __commonJS({
  "../exec/build-modules/lib/buildSequence.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.buildSequence = buildSequence;
    var deps_graph_sequencer_1 = require_lib119();
    var filter_1 = __importDefault2(require_filter3());
    function buildSequence(depGraph, rootDepPaths) {
      const nodesToBuild = /* @__PURE__ */ new Set();
      getSubgraphToBuild(depGraph, rootDepPaths, nodesToBuild, /* @__PURE__ */ new Set());
      const onlyFromBuildGraph = (0, filter_1.default)((depPath) => nodesToBuild.has(depPath));
      const nodesToBuildArray = Array.from(nodesToBuild);
      const graph = new Map(nodesToBuildArray.map((depPath) => [depPath, onlyFromBuildGraph(Object.values(depGraph[depPath].children))]));
      const graphSequencerResult = (0, deps_graph_sequencer_1.graphSequencer)(graph, nodesToBuildArray);
      const chunks = graphSequencerResult.chunks;
      return chunks;
    }
    function getSubgraphToBuild(graph, entryNodes, nodesToBuild, walked) {
      let currentShouldBeBuilt = false;
      for (const depPath of entryNodes) {
        const node = graph[depPath];
        if (!node)
          continue;
        if (walked.has(depPath))
          continue;
        walked.add(depPath);
        const childShouldBeBuilt = getSubgraphToBuild(graph, Object.values(node.children), nodesToBuild, walked) || node.requiresBuild || node.patch != null;
        if (childShouldBeBuilt) {
          nodesToBuild.add(depPath);
          currentShouldBeBuilt = true;
        }
      }
      return currentShouldBeBuilt;
    }
  }
});

// ../exec/build-modules/lib/index.js
var require_lib143 = __commonJS({
  "../exec/build-modules/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.buildModules = buildModules;
    exports2.linkBinsOfDependencies = linkBinsOfDependencies;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var calc_dep_state_1 = require_lib109();
    var core_loggers_1 = require_lib28();
    var lifecycle_1 = require_lib77();
    var link_bins_1 = require_lib72();
    var logger_1 = require_lib();
    var worker_1 = require_lib60();
    var read_package_json_1 = require_lib50();
    var patching_apply_patch_1 = require_lib142();
    var p_defer_1 = __importDefault2(require_p_defer2());
    var pickBy_1 = __importDefault2(require_pickBy());
    var run_groups_1 = __importDefault2(require_lib76());
    var buildSequence_1 = require_buildSequence();
    async function buildModules(depGraph, rootDepPaths, opts) {
      if (!rootDepPaths.length)
        return {};
      const warn = (message) => {
        logger_1.logger.warn({ message, prefix: opts.lockfileDir });
      };
      const buildDepOpts = {
        ...opts,
        builtHoistedDeps: opts.hoistedLocations ? {} : void 0,
        warn
      };
      const chunks = (0, buildSequence_1.buildSequence)(depGraph, rootDepPaths);
      if (!chunks.length)
        return {};
      const ignoredPkgs = /* @__PURE__ */ new Set();
      const allowBuild = opts.allowBuild ?? (() => true);
      const groups = chunks.map((chunk) => {
        chunk = chunk.filter((depPath) => {
          const node = depGraph[depPath];
          return (node.requiresBuild || node.patch != null) && !node.isBuilt;
        });
        if (opts.depsToBuild != null) {
          chunk = chunk.filter((depPath) => opts.depsToBuild.has(depPath));
        }
        return chunk.map((depPath) => () => {
          let ignoreScripts = Boolean(buildDepOpts.ignoreScripts);
          if (!ignoreScripts) {
            if (depGraph[depPath].requiresBuild && !allowBuild(depGraph[depPath].name)) {
              ignoredPkgs.add(depGraph[depPath].name);
              ignoreScripts = true;
            }
          }
          return buildDependency(depPath, depGraph, {
            ...buildDepOpts,
            ignoreScripts
          });
        });
      });
      await (0, run_groups_1.default)(opts.childConcurrency ?? 4, groups);
      if (opts.ignoredBuiltDependencies?.length) {
        for (const ignoredBuild of opts.ignoredBuiltDependencies) {
          ignoredPkgs.delete(ignoredBuild);
        }
      }
      const packageNames = Array.from(ignoredPkgs);
      core_loggers_1.ignoredScriptsLogger.debug({ packageNames });
      return { ignoredBuilds: packageNames };
    }
    async function buildDependency(depPath, depGraph, opts) {
      const depNode = depGraph[depPath];
      if (!depNode.filesIndexFile)
        return;
      if (opts.builtHoistedDeps) {
        if (opts.builtHoistedDeps[depNode.depPath]) {
          await opts.builtHoistedDeps[depNode.depPath].promise;
          return;
        }
        opts.builtHoistedDeps[depNode.depPath] = (0, p_defer_1.default)();
      }
      try {
        await linkBinsOfDependencies(depNode, depGraph, opts);
        let isPatched = false;
        if (depNode.patch) {
          const { file, strict } = depNode.patch;
          isPatched = (0, patching_apply_patch_1.applyPatchToDir)({ allowFailure: !strict, patchedDir: depNode.dir, patchFilePath: file.path });
        }
        const hasSideEffects = !opts.ignoreScripts && await (0, lifecycle_1.runPostinstallHooks)({
          depPath,
          extraBinPaths: opts.extraBinPaths,
          extraEnv: opts.extraEnv,
          initCwd: opts.lockfileDir,
          optional: depNode.optional,
          pkgRoot: depNode.dir,
          rawConfig: opts.rawConfig,
          rootModulesDir: opts.rootModulesDir,
          scriptsPrependNodePath: opts.scriptsPrependNodePath,
          scriptShell: opts.scriptShell,
          shellEmulator: opts.shellEmulator,
          unsafePerm: opts.unsafePerm || false
        });
        if ((isPatched || hasSideEffects) && opts.sideEffectsCacheWrite) {
          try {
            const sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(depGraph, opts.depsStateCache, depPath, {
              patchFileHash: depNode.patch?.file.hash,
              isBuilt: hasSideEffects
            });
            await opts.storeController.upload(depNode.dir, {
              sideEffectsCacheKey,
              filesIndexFile: depNode.filesIndexFile
            });
          } catch (err) {
            (0, assert_1.default)(util_1.default.types.isNativeError(err));
            if (err && "statusCode" in err && err.statusCode === 403) {
              logger_1.logger.warn({
                message: `The store server disabled upload requests, could not upload ${depNode.dir}`,
                prefix: opts.lockfileDir
              });
            } else {
              logger_1.logger.warn({
                error: err,
                message: `An error occurred while uploading ${depNode.dir}`,
                prefix: opts.lockfileDir
              });
            }
          }
        }
      } catch (err) {
        (0, assert_1.default)(util_1.default.types.isNativeError(err));
        if (depNode.optional) {
          const pkg = await (0, read_package_json_1.readPackageJsonFromDir)(path_1.default.join(depNode.dir));
          core_loggers_1.skippedOptionalDependencyLogger.debug({
            details: err.toString(),
            package: {
              id: depNode.dir,
              name: pkg.name,
              version: pkg.version
            },
            prefix: opts.lockfileDir,
            reason: "build_failure"
          });
          return;
        }
        throw err;
      } finally {
        const hoistedLocationsOfDep = opts.hoistedLocations?.[depNode.depPath];
        if (hoistedLocationsOfDep) {
          const currentHoistedLocation = path_1.default.relative(opts.lockfileDir, depNode.dir);
          const nonBuiltHoistedDeps = hoistedLocationsOfDep?.filter((hoistedLocation) => hoistedLocation !== currentHoistedLocation);
          await (0, worker_1.hardLinkDir)(depNode.dir, nonBuiltHoistedDeps);
        }
        if (opts.builtHoistedDeps) {
          opts.builtHoistedDeps[depNode.depPath].resolve();
        }
      }
    }
    async function linkBinsOfDependencies(depNode, depGraph, opts) {
      const childrenToLink = opts.optional ? depNode.children : (0, pickBy_1.default)((child, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
      const binPath = path_1.default.join(depNode.dir, "node_modules/.bin");
      const pkgNodes = [
        ...Object.entries(childrenToLink).map(([alias, childDepPath]) => ({ alias, dep: depGraph[childDepPath] })).filter(({ alias, dep }) => {
          if (!dep) {
            logger_1.logger.debug({ message: `Failed to link bins of "${alias}" to "${binPath}". This is probably not an issue.` });
            return false;
          }
          return dep.hasBin && dep.installable !== false;
        }).map(({ dep }) => dep),
        depNode
      ];
      const pkgs = await Promise.all(pkgNodes.map(async (dep) => ({
        location: dep.dir,
        manifest: await dep.fetchingBundledManifest?.() ?? await (0, read_package_json_1.safeReadPackageJsonFromDir)(dep.dir) ?? {}
      })));
      await (0, link_bins_1.linkBinsOfPackages)(pkgs, binPath, {
        extraNodePaths: opts.extraNodePaths,
        preferSymlinkedExecutables: opts.preferSymlinkedExecutables
      });
      if (depNode.hasBundledDependencies) {
        const bundledModules = path_1.default.join(depNode.dir, "node_modules");
        await (0, link_bins_1.linkBins)(bundledModules, binPath, {
          extraNodePaths: opts.extraNodePaths,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          warn: opts.warn
        });
      }
    }
  }
});

// ../lockfile/filtering/lib/filterImporter.js
var require_filterImporter = __commonJS({
  "../lockfile/filtering/lib/filterImporter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filterImporter = filterImporter;
    function filterImporter(importer, include) {
      return {
        dependencies: !include.dependencies ? {} : importer.dependencies ?? {},
        devDependencies: !include.devDependencies ? {} : importer.devDependencies ?? {},
        optionalDependencies: !include.optionalDependencies ? {} : importer.optionalDependencies ?? {},
        specifiers: importer.specifiers
      };
    }
  }
});

// ../lockfile/filtering/lib/filterLockfileByImporters.js
var require_filterLockfileByImporters = __commonJS({
  "../lockfile/filtering/lib/filterLockfileByImporters.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filterLockfileByImporters = filterLockfileByImporters;
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var lockfile_walker_1 = require_lib118();
    var logger_1 = require_lib();
    var filterImporter_1 = require_filterImporter();
    var lockfileLogger = (0, logger_1.logger)("lockfile");
    function filterLockfileByImporters(lockfile, importerIds, opts) {
      const packages = {};
      if (lockfile.packages != null) {
        pkgAllDeps((0, lockfile_walker_1.lockfileWalker)(lockfile, importerIds, { include: opts.include, skipped: opts.skipped }).step, packages, {
          failOnMissingDependencies: opts.failOnMissingDependencies
        });
      }
      const importers = { ...lockfile.importers };
      for (const importerId of importerIds) {
        importers[importerId] = (0, filterImporter_1.filterImporter)(lockfile.importers[importerId], opts.include);
      }
      return {
        ...lockfile,
        importers,
        packages
      };
    }
    function pkgAllDeps(step, pickedPackages, opts) {
      for (const { pkgSnapshot, depPath, next } of step.dependencies) {
        pickedPackages[depPath] = pkgSnapshot;
        pkgAllDeps(next(), pickedPackages, opts);
      }
      for (const depPath of step.missing) {
        if (opts.failOnMissingDependencies) {
          throw new error_1.LockfileMissingDependencyError(depPath);
        }
        lockfileLogger.debug(`No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}`);
      }
    }
  }
});

// ../lockfile/filtering/lib/filterLockfile.js
var require_filterLockfile = __commonJS({
  "../lockfile/filtering/lib/filterLockfile.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filterLockfile = filterLockfile;
    var filterLockfileByImporters_1 = require_filterLockfileByImporters();
    function filterLockfile(lockfile, opts) {
      return (0, filterLockfileByImporters_1.filterLockfileByImporters)(lockfile, Object.keys(lockfile.importers), {
        ...opts,
        failOnMissingDependencies: false
      });
    }
  }
});

// ../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js
var require_filterLockfileByImportersAndEngine = __commonJS({
  "../lockfile/filtering/lib/filterLockfileByImportersAndEngine.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filterLockfileByEngine = filterLockfileByEngine;
    exports2.filterLockfileByImportersAndEngine = filterLockfileByImportersAndEngine;
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var package_is_installable_1 = require_lib30();
    var dp = __importStar3(require_lib98());
    var map_1 = __importDefault2(require_map3());
    var pickBy_1 = __importDefault2(require_pickBy());
    var unnest_1 = __importDefault2(require_unnest());
    var filterImporter_1 = require_filterImporter();
    var lockfileLogger = (0, logger_1.logger)("lockfile");
    function filterLockfileByEngine(lockfile, opts) {
      const importerIds = Object.keys(lockfile.importers);
      return filterLockfileByImportersAndEngine(lockfile, importerIds, opts);
    }
    function filterLockfileByImportersAndEngine(lockfile, importerIds, opts) {
      const importerIdSet = new Set(importerIds);
      const directDepPaths = toImporterDepPaths(lockfile, importerIds, {
        include: opts.include,
        importerIdSet
      });
      const packages = lockfile.packages != null ? pickPkgsWithAllDeps(lockfile, directDepPaths, importerIdSet, {
        currentEngine: opts.currentEngine,
        engineStrict: opts.engineStrict,
        failOnMissingDependencies: opts.failOnMissingDependencies,
        include: opts.include,
        includeIncompatiblePackages: opts.includeIncompatiblePackages === true,
        lockfileDir: opts.lockfileDir,
        skipped: opts.skipped,
        supportedArchitectures: opts.supportedArchitectures
      }) : {};
      const importers = (0, map_1.default)((importer) => {
        const newImporter = (0, filterImporter_1.filterImporter)(importer, opts.include);
        if (newImporter.optionalDependencies != null) {
          newImporter.optionalDependencies = (0, pickBy_1.default)((ref, depName) => {
            const depPath = dp.refToRelative(ref, depName);
            return !depPath || packages[depPath] != null;
          }, newImporter.optionalDependencies);
        }
        return newImporter;
      }, lockfile.importers);
      return {
        lockfile: {
          ...lockfile,
          importers,
          packages
        },
        selectedImporterIds: Array.from(importerIdSet)
      };
    }
    function pickPkgsWithAllDeps(lockfile, depPaths, importerIdSet, opts) {
      const pickedPackages = {};
      pkgAllDeps({ lockfile, pickedPackages, importerIdSet }, depPaths, true, opts);
      return pickedPackages;
    }
    function pkgAllDeps(ctx, depPaths, parentIsInstallable, opts) {
      for (const depPath of depPaths) {
        if (ctx.pickedPackages[depPath])
          continue;
        const pkgSnapshot = ctx.lockfile.packages[depPath];
        if (!pkgSnapshot && !depPath.startsWith("link:")) {
          if (opts.failOnMissingDependencies) {
            throw new error_1.LockfileMissingDependencyError(depPath);
          }
          lockfileLogger.debug(`No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}`);
          continue;
        }
        let installable;
        if (!parentIsInstallable) {
          installable = false;
          if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) {
            opts.skipped.add(depPath);
          }
        } else {
          const pkg = {
            ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot),
            cpu: pkgSnapshot.cpu,
            engines: pkgSnapshot.engines,
            os: pkgSnapshot.os,
            libc: pkgSnapshot.libc
          };
          installable = opts.includeIncompatiblePackages || (0, package_is_installable_1.packageIsInstallable)(pkgSnapshot.id ?? depPath, pkg, {
            engineStrict: opts.engineStrict,
            lockfileDir: opts.lockfileDir,
            nodeVersion: opts.currentEngine.nodeVersion,
            optional: pkgSnapshot.optional === true,
            supportedArchitectures: opts.supportedArchitectures
          }) !== false;
          if (!installable) {
            if (!ctx.pickedPackages[depPath] && pkgSnapshot.optional === true) {
              opts.skipped.add(depPath);
            }
          } else {
            opts.skipped.delete(depPath);
          }
        }
        ctx.pickedPackages[depPath] = pkgSnapshot;
        const { depPaths: nextRelDepPaths, importerIds: additionalImporterIds } = parseDepRefs(Object.entries({
          ...pkgSnapshot.dependencies,
          ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
        }), ctx.lockfile);
        additionalImporterIds.forEach((importerId) => ctx.importerIdSet.add(importerId));
        nextRelDepPaths.push(...toImporterDepPaths(ctx.lockfile, additionalImporterIds, {
          include: opts.include,
          importerIdSet: ctx.importerIdSet
        }));
        pkgAllDeps(ctx, nextRelDepPaths, installable, opts);
      }
    }
    function toImporterDepPaths(lockfile, importerIds, opts) {
      const importerDeps = importerIds.map((importerId) => lockfile.importers[importerId]).map((importer) => ({
        ...opts.include.dependencies ? importer.dependencies : {},
        ...opts.include.devDependencies ? importer.devDependencies : {},
        ...opts.include.optionalDependencies ? importer.optionalDependencies : {}
      })).map(Object.entries);
      let { depPaths, importerIds: nextImporterIds } = parseDepRefs((0, unnest_1.default)(importerDeps), lockfile);
      if (!nextImporterIds.length) {
        return depPaths;
      }
      nextImporterIds = nextImporterIds.filter((importerId) => !opts.importerIdSet.has(importerId));
      for (const importerId of nextImporterIds) {
        opts.importerIdSet.add(importerId);
      }
      return [
        ...depPaths,
        ...toImporterDepPaths(lockfile, nextImporterIds, opts)
      ];
    }
    function parseDepRefs(refsByPkgNames, lockfile) {
      const acc = {
        depPaths: [],
        importerIds: []
      };
      for (const [pkgName, ref] of refsByPkgNames) {
        if (ref.startsWith("link:")) {
          const importerId = ref.substring(5);
          if (lockfile.importers[importerId]) {
            acc.importerIds.push(importerId);
          }
          continue;
        }
        const depPath = dp.refToRelative(ref, pkgName);
        if (depPath == null)
          continue;
        acc.depPaths.push(depPath);
      }
      return acc;
    }
  }
});

// ../lockfile/filtering/lib/index.js
var require_lib144 = __commonJS({
  "../lockfile/filtering/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.filterLockfileByEngine = exports2.filterLockfileByImportersAndEngine = exports2.filterLockfileByImporters = exports2.filterLockfile = void 0;
    var filterLockfile_1 = require_filterLockfile();
    Object.defineProperty(exports2, "filterLockfile", { enumerable: true, get: function() {
      return filterLockfile_1.filterLockfile;
    } });
    var filterLockfileByImporters_1 = require_filterLockfileByImporters();
    Object.defineProperty(exports2, "filterLockfileByImporters", { enumerable: true, get: function() {
      return filterLockfileByImporters_1.filterLockfileByImporters;
    } });
    var filterLockfileByImportersAndEngine_1 = require_filterLockfileByImportersAndEngine();
    Object.defineProperty(exports2, "filterLockfileByImportersAndEngine", { enumerable: true, get: function() {
      return filterLockfileByImportersAndEngine_1.filterLockfileByImportersAndEngine;
    } });
    Object.defineProperty(exports2, "filterLockfileByEngine", { enumerable: true, get: function() {
      return filterLockfileByImportersAndEngine_1.filterLockfileByEngine;
    } });
  }
});

// ../pkg-manager/hoist/lib/index.js
var require_lib145 = __commonJS({
  "../pkg-manager/hoist/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hoist = hoist;
    exports2.getHoistedDependencies = getHoistedDependencies;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var constants_1 = require_lib5();
    var link_bins_1 = require_lib72();
    var lockfile_utils_1 = require_lib117();
    var lockfile_walker_1 = require_lib118();
    var logger_1 = require_lib();
    var matcher_1 = require_lib16();
    var util_lex_comparator_1 = require_dist4();
    var dp = __importStar3(require_lib98());
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var mapObjIndexed_1 = __importDefault2(require_mapObjIndexed());
    var resolve_link_target_1 = __importDefault2(require_resolve_link_target());
    var symlink_dir_1 = __importDefault2(require_dist17());
    var hoistLogger = (0, logger_1.logger)("hoist");
    async function hoist(opts) {
      const result2 = getHoistedDependencies(opts);
      if (!result2)
        return {};
      const { hoistedDependencies, hoistedAliasesWithBins } = result2;
      await symlinkHoistedDependencies(hoistedDependencies, {
        lockfile: opts.lockfile,
        privateHoistedModulesDir: opts.privateHoistedModulesDir,
        publicHoistedModulesDir: opts.publicHoistedModulesDir,
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        hoistedWorkspacePackages: opts.hoistedWorkspacePackages
      });
      await linkAllBins(opts.privateHoistedModulesDir, {
        extraNodePaths: opts.extraNodePath,
        hoistedAliasesWithBins,
        preferSymlinkedExecutables: opts.preferSymlinkedExecutables
      });
      return hoistedDependencies;
    }
    function getHoistedDependencies(opts) {
      if (opts.lockfile.packages == null)
        return null;
      const { directDeps, step } = (0, lockfile_walker_1.lockfileWalker)(opts.lockfile, opts.importerIds ?? Object.keys(opts.lockfile.importers));
      const hoistedWorkspaceDeps = Object.fromEntries(Object.entries(opts.hoistedWorkspacePackages ?? {}).map(([id, { name }]) => [name, id]));
      const deps = [
        {
          children: {
            ...hoistedWorkspaceDeps,
            ...directDeps.reduce((acc, { alias, depPath }) => {
              if (!acc[alias]) {
                acc[alias] = depPath;
              }
              return acc;
            }, {})
          },
          depPath: "",
          depth: -1
        },
        ...getDependencies(0, step)
      ];
      const getAliasHoistType = createGetAliasHoistType(opts.publicHoistPattern, opts.privateHoistPattern);
      return hoistGraph(deps, opts.lockfile.importers["."]?.specifiers ?? {}, {
        getAliasHoistType,
        lockfile: opts.lockfile
      });
    }
    function createGetAliasHoistType(publicHoistPattern, privateHoistPattern) {
      const publicMatcher = (0, matcher_1.createMatcher)(publicHoistPattern);
      const privateMatcher = (0, matcher_1.createMatcher)(privateHoistPattern);
      return (alias) => {
        if (publicMatcher(alias))
          return "public";
        if (privateMatcher(alias))
          return "private";
        return false;
      };
    }
    async function linkAllBins(modulesDir, opts) {
      const bin = path_1.default.join(modulesDir, ".bin");
      const warn = (message, code) => {
        if (code === "BINARIES_CONFLICT")
          return;
        logger_1.logger.info({ message, prefix: path_1.default.join(modulesDir, "../..") });
      };
      try {
        await (0, link_bins_1.linkBinsOfPkgsByAliases)(opts.hoistedAliasesWithBins, bin, {
          allowExoticManifests: true,
          extraNodePaths: opts.extraNodePaths,
          modulesDir,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          warn
        });
      } catch (err) {
      }
    }
    function getDependencies(depth, step) {
      const deps = [];
      const nextSteps = [];
      for (const { pkgSnapshot, depPath, next } of step.dependencies) {
        const allDeps = {
          ...pkgSnapshot.dependencies,
          ...pkgSnapshot.optionalDependencies
        };
        deps.push({
          children: (0, mapObjIndexed_1.default)(dp.refToRelative, allDeps),
          depPath,
          depth
        });
        nextSteps.push(next());
      }
      for (const depPath of step.missing) {
        logger_1.logger.debug({ message: `No entry for "${depPath}" in ${constants_1.WANTED_LOCKFILE}` });
      }
      return [
        ...deps,
        ...nextSteps.flatMap(getDependencies.bind(null, depth + 1))
      ];
    }
    function hoistGraph(depNodes, currentSpecifiers, opts) {
      const hoistedAliases = new Set(Object.keys(currentSpecifiers));
      const hoistedDependencies = {};
      const hoistedAliasesWithBins = /* @__PURE__ */ new Set();
      depNodes.sort((a, b) => {
        const depthDiff = a.depth - b.depth;
        return depthDiff === 0 ? (0, util_lex_comparator_1.lexCompare)(a.depPath, b.depPath) : depthDiff;
      }).forEach((depNode) => {
        for (const [childAlias, childPath] of Object.entries(depNode.children)) {
          const hoist2 = opts.getAliasHoistType(childAlias);
          if (!hoist2)
            continue;
          const childAliasNormalized = childAlias.toLowerCase();
          if (hoistedAliases.has(childAliasNormalized)) {
            continue;
          }
          if (opts.lockfile.packages?.[childPath]?.hasBin) {
            hoistedAliasesWithBins.add(childAlias);
          }
          hoistedAliases.add(childAliasNormalized);
          if (!hoistedDependencies[childPath]) {
            hoistedDependencies[childPath] = {};
          }
          hoistedDependencies[childPath][childAlias] = hoist2;
        }
      });
      return { hoistedDependencies, hoistedAliasesWithBins: Array.from(hoistedAliasesWithBins) };
    }
    async function symlinkHoistedDependencies(hoistedDependencies, opts) {
      const symlink = symlinkHoistedDependency.bind(null, opts);
      await Promise.all(Object.entries(hoistedDependencies).map(async ([hoistedDepId, pkgAliases]) => {
        const pkgSnapshot = opts.lockfile.packages[hoistedDepId];
        let depLocation;
        if (pkgSnapshot) {
          const pkgName = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(hoistedDepId, pkgSnapshot).name;
          const modules = path_1.default.join(opts.virtualStoreDir, dp.depPathToFilename(hoistedDepId, opts.virtualStoreDirMaxLength), "node_modules");
          depLocation = path_1.default.join(modules, pkgName);
        } else {
          if (!opts.lockfile.importers[hoistedDepId]) {
            hoistLogger.debug({ hoistFailedFor: hoistedDepId });
            return;
          }
          depLocation = opts.hoistedWorkspacePackages[hoistedDepId].dir;
        }
        await Promise.all(Object.entries(pkgAliases).map(async ([pkgAlias, hoistType]) => {
          const targetDir = hoistType === "public" ? opts.publicHoistedModulesDir : opts.privateHoistedModulesDir;
          const dest = path_1.default.join(targetDir, pkgAlias);
          return symlink(depLocation, dest);
        }));
      }));
    }
    async function symlinkHoistedDependency(opts, depLocation, dest) {
      try {
        await (0, symlink_dir_1.default)(depLocation, dest, { overwrite: false });
        core_loggers_1.linkLogger.debug({ target: dest, link: depLocation });
        return;
      } catch (err) {
        if (err.code !== "EEXIST" && err.code !== "EISDIR")
          throw err;
      }
      let existingSymlink;
      try {
        existingSymlink = await (0, resolve_link_target_1.default)(dest);
      } catch {
        hoistLogger.debug({
          skipped: dest,
          reason: "a directory is present at the target location"
        });
        return;
      }
      if (!(0, is_subdir_1.default)(opts.virtualStoreDir, existingSymlink)) {
        hoistLogger.debug({
          skipped: dest,
          existingSymlink,
          reason: "an external symlink is present at the target location"
        });
        return;
      }
      await fs_1.default.promises.unlink(dest);
      await (0, symlink_dir_1.default)(depLocation, dest);
      core_loggers_1.linkLogger.debug({ target: dest, link: depLocation });
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js
var require_lib146 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+pnp@4.0.8/node_modules/@yarnpkg/pnp/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var require$$0 = require("zlib");
    var path2 = require("path");
    var module$1 = require("module");
    var url = require("url");
    var nodeUtils = require("util");
    var assert = require("assert");
    var fs = require("fs");
    var crypto5 = require("crypto");
    var os = require("os");
    var _interopDefaultLegacy = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
    var require$$0__default = /* @__PURE__ */ _interopDefaultLegacy(require$$0);
    var path__default = /* @__PURE__ */ _interopDefaultLegacy(path2);
    var assert__default = /* @__PURE__ */ _interopDefaultLegacy(assert);
    var fs__default = /* @__PURE__ */ _interopDefaultLegacy(fs);
    var LinkType = /* @__PURE__ */ ((LinkType2) => {
      LinkType2["HARD"] = `HARD`;
      LinkType2["SOFT"] = `SOFT`;
      return LinkType2;
    })(LinkType || {});
    var SAFE_TIME = 456789e3;
    var PortablePath = {
      root: `/`,
      dot: `.`,
      parent: `..`
    };
    var Filename = {
      home: `~`,
      nodeModules: `node_modules`,
      manifest: `package.json`,
      lockfile: `yarn.lock`,
      virtual: `__virtual__`,
      /**
       * @deprecated
       */
      pnpJs: `.pnp.js`,
      pnpCjs: `.pnp.cjs`,
      pnpData: `.pnp.data.json`,
      pnpEsmLoader: `.pnp.loader.mjs`,
      rc: `.yarnrc.yml`,
      env: `.env`
    };
    var npath = Object.create(path__default.default);
    var ppath = Object.create(path__default.default.posix);
    npath.cwd = () => process.cwd();
    ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd;
    if (process.platform === `win32`) {
      ppath.resolve = (...segments) => {
        if (segments.length > 0 && ppath.isAbsolute(segments[0])) {
          return path__default.default.posix.resolve(...segments);
        } else {
          return path__default.default.posix.resolve(ppath.cwd(), ...segments);
        }
      };
    }
    var contains = function(pathUtils, from, to) {
      from = pathUtils.normalize(from);
      to = pathUtils.normalize(to);
      if (from === to)
        return `.`;
      if (!from.endsWith(pathUtils.sep))
        from = from + pathUtils.sep;
      if (to.startsWith(from)) {
        return to.slice(from.length);
      } else {
        return null;
      }
    };
    npath.contains = (from, to) => contains(npath, from, to);
    ppath.contains = (from, to) => contains(ppath, from, to);
    var WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/;
    var UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/;
    var PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/;
    var UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/;
    function fromPortablePathWin32(p) {
      let portablePathMatch, uncPortablePathMatch;
      if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP))
        p = portablePathMatch[1];
      else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP))
        p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`;
      else
        return p;
      return p.replace(/\//g, `\\`);
    }
    function toPortablePathWin32(p) {
      p = p.replace(/\\/g, `/`);
      let windowsPathMatch, uncWindowsPathMatch;
      if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP))
        p = `/${windowsPathMatch[1]}`;
      else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP))
        p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`;
      return p;
    }
    var toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p;
    var fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p;
    npath.fromPortablePath = fromPortablePath;
    npath.toPortablePath = toPortablePath;
    function convertPath(targetPathUtils, sourcePath) {
      return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);
    }
    var defaultTime = new Date(SAFE_TIME * 1e3);
    var defaultTimeMs = defaultTime.getTime();
    async function copyPromise(destinationFs, destination, sourceFs, source, opts) {
      const normalizedDestination = destinationFs.pathUtils.normalize(destination);
      const normalizedSource = sourceFs.pathUtils.normalize(source);
      const prelayout = [];
      const postlayout = [];
      const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource);
      await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] });
      await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true });
      for (const operation of prelayout)
        await operation();
      await Promise.all(postlayout.map((operation) => {
        return operation();
      }));
    }
    async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) {
      const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null;
      const sourceStat = await sourceFs.lstatPromise(source);
      const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat;
      let updated;
      switch (true) {
        case sourceStat.isDirectory():
          {
            updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        case sourceStat.isFile():
          {
            updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        case sourceStat.isSymbolicLink():
          {
            updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
          }
          break;
        default: {
          throw new Error(`Unsupported file type (${sourceStat.mode})`);
        }
      }
      if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) {
        if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) {
          postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime));
          updated = true;
        }
        if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) {
          postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511));
          updated = true;
        }
      }
      return updated;
    }
    async function maybeLStat(baseFs, p) {
      try {
        return await baseFs.lstatPromise(p);
      } catch (e) {
        return null;
      }
    }
    async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null && !destinationStat.isDirectory()) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      let updated = false;
      if (destinationStat === null) {
        prelayout.push(async () => {
          try {
            await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode });
          } catch (err) {
            if (err.code !== `EEXIST`) {
              throw err;
            }
          }
        });
        updated = true;
      }
      const entries = await sourceFs.readdirPromise(source);
      const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts;
      if (opts.stableSort) {
        for (const entry of entries.sort()) {
          if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) {
            updated = true;
          }
        }
      } else {
        const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => {
          await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts);
        }));
        if (entriesUpdateStatus.some((status) => status)) {
          updated = true;
        }
      }
      return updated;
    }
    async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) {
      const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` });
      const defaultMode = 420;
      const sourceMode = sourceStat.mode & 511;
      const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`;
      const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`);
      let AtomicBehavior;
      ((AtomicBehavior2) => {
        AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock";
        AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename";
      })(AtomicBehavior || (AtomicBehavior = {}));
      let atomicBehavior = 1;
      let indexStat = await maybeLStat(destinationFs, indexPath);
      if (destinationStat) {
        const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino;
        const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs;
        if (isDestinationHardlinkedFromIndex) {
          if (isIndexModified && linkStrategy.autoRepair) {
            atomicBehavior = 0;
            indexStat = null;
          }
        }
        if (!isDestinationHardlinkedFromIndex) {
          if (opts.overwrite) {
            prelayout.push(async () => destinationFs.removePromise(destination));
            destinationStat = null;
          } else {
            return false;
          }
        }
      }
      const tempPath = !indexStat && atomicBehavior === 1 ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null;
      let tempPathCleaned = false;
      prelayout.push(async () => {
        if (!indexStat) {
          if (atomicBehavior === 0) {
            await destinationFs.lockPromise(indexPath, async () => {
              const content = await sourceFs.readFilePromise(source);
              await destinationFs.writeFilePromise(indexPath, content);
            });
          }
          if (atomicBehavior === 1 && tempPath) {
            const content = await sourceFs.readFilePromise(source);
            await destinationFs.writeFilePromise(tempPath, content);
            try {
              await destinationFs.linkPromise(tempPath, indexPath);
            } catch (err) {
              if (err.code === `EEXIST`) {
                tempPathCleaned = true;
                await destinationFs.unlinkPromise(tempPath);
              } else {
                throw err;
              }
            }
          }
        }
        if (!destinationStat) {
          await destinationFs.linkPromise(indexPath, destination);
        }
      });
      postlayout.push(async () => {
        if (!indexStat) {
          await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime);
          if (sourceMode !== defaultMode) {
            await destinationFs.chmodPromise(indexPath, sourceMode);
          }
        }
        if (tempPath && !tempPathCleaned) {
          await destinationFs.unlinkPromise(tempPath);
        }
      });
      return false;
    }
    async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      prelayout.push(async () => {
        const content = await sourceFs.readFilePromise(source);
        await destinationFs.writeFilePromise(destination, content);
      });
      return true;
    }
    async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (opts.linkStrategy?.type === `HardlinkFromIndex`) {
        return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy);
      } else {
        return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);
      }
    }
    async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {
      if (destinationStat !== null) {
        if (opts.overwrite) {
          prelayout.push(async () => destinationFs.removePromise(destination));
          destinationStat = null;
        } else {
          return false;
        }
      }
      prelayout.push(async () => {
        await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination);
      });
      return true;
    }
    var FakeFS = class {
      pathUtils;
      constructor(pathUtils) {
        this.pathUtils = pathUtils;
      }
      async *genTraversePromise(init, { stableSort = false } = {}) {
        const stack = [init];
        while (stack.length > 0) {
          const p = stack.shift();
          const entry = await this.lstatPromise(p);
          if (entry.isDirectory()) {
            const entries = await this.readdirPromise(p);
            if (stableSort) {
              for (const entry2 of entries.sort()) {
                stack.push(this.pathUtils.join(p, entry2));
              }
            } else {
              throw new Error(`Not supported`);
            }
          } else {
            yield p;
          }
        }
      }
      async checksumFilePromise(path3, { algorithm = `sha512` } = {}) {
        const fd = await this.openPromise(path3, `r`);
        try {
          const CHUNK_SIZE = 65536;
          const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
          const hash = crypto5.createHash(algorithm);
          let bytesRead = 0;
          while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0)
            hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
          return hash.digest(`hex`);
        } finally {
          await this.closePromise(fd);
        }
      }
      async removePromise(p, { recursive = true, maxRetries = 5 } = {}) {
        let stat;
        try {
          stat = await this.lstatPromise(p);
        } catch (error) {
          if (error.code === `ENOENT`) {
            return;
          } else {
            throw error;
          }
        }
        if (stat.isDirectory()) {
          if (recursive) {
            const entries = await this.readdirPromise(p);
            await Promise.all(entries.map((entry) => {
              return this.removePromise(this.pathUtils.resolve(p, entry));
            }));
          }
          for (let t = 0; t <= maxRetries; t++) {
            try {
              await this.rmdirPromise(p);
              break;
            } catch (error) {
              if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) {
                throw error;
              } else if (t < maxRetries) {
                await new Promise((resolve) => setTimeout(resolve, t * 100));
              }
            }
          }
        } else {
          await this.unlinkPromise(p);
        }
      }
      removeSync(p, { recursive = true } = {}) {
        let stat;
        try {
          stat = this.lstatSync(p);
        } catch (error) {
          if (error.code === `ENOENT`) {
            return;
          } else {
            throw error;
          }
        }
        if (stat.isDirectory()) {
          if (recursive)
            for (const entry of this.readdirSync(p))
              this.removeSync(this.pathUtils.resolve(p, entry));
          this.rmdirSync(p);
        } else {
          this.unlinkSync(p);
        }
      }
      async mkdirpPromise(p, { chmod, utimes } = {}) {
        p = this.resolve(p);
        if (p === this.pathUtils.dirname(p))
          return void 0;
        const parts = p.split(this.pathUtils.sep);
        let createdDirectory;
        for (let u = 2; u <= parts.length; ++u) {
          const subPath = parts.slice(0, u).join(this.pathUtils.sep);
          if (!this.existsSync(subPath)) {
            try {
              await this.mkdirPromise(subPath);
            } catch (error) {
              if (error.code === `EEXIST`) {
                continue;
              } else {
                throw error;
              }
            }
            createdDirectory ??= subPath;
            if (chmod != null)
              await this.chmodPromise(subPath, chmod);
            if (utimes != null) {
              await this.utimesPromise(subPath, utimes[0], utimes[1]);
            } else {
              const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));
              await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);
            }
          }
        }
        return createdDirectory;
      }
      mkdirpSync(p, { chmod, utimes } = {}) {
        p = this.resolve(p);
        if (p === this.pathUtils.dirname(p))
          return void 0;
        const parts = p.split(this.pathUtils.sep);
        let createdDirectory;
        for (let u = 2; u <= parts.length; ++u) {
          const subPath = parts.slice(0, u).join(this.pathUtils.sep);
          if (!this.existsSync(subPath)) {
            try {
              this.mkdirSync(subPath);
            } catch (error) {
              if (error.code === `EEXIST`) {
                continue;
              } else {
                throw error;
              }
            }
            createdDirectory ??= subPath;
            if (chmod != null)
              this.chmodSync(subPath, chmod);
            if (utimes != null) {
              this.utimesSync(subPath, utimes[0], utimes[1]);
            } else {
              const parentStat = this.statSync(this.pathUtils.dirname(subPath));
              this.utimesSync(subPath, parentStat.atime, parentStat.mtime);
            }
          }
        }
        return createdDirectory;
      }
      async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) {
        return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy });
      }
      copySync(destination, source, { baseFs = this, overwrite = true } = {}) {
        const stat = baseFs.lstatSync(source);
        const exists = this.existsSync(destination);
        if (stat.isDirectory()) {
          this.mkdirpSync(destination);
          const directoryListing = baseFs.readdirSync(source);
          for (const entry of directoryListing) {
            this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite });
          }
        } else if (stat.isFile()) {
          if (!exists || overwrite) {
            if (exists)
              this.removeSync(destination);
            const content = baseFs.readFileSync(source);
            this.writeFileSync(destination, content);
          }
        } else if (stat.isSymbolicLink()) {
          if (!exists || overwrite) {
            if (exists)
              this.removeSync(destination);
            const target = baseFs.readlinkSync(source);
            this.symlinkSync(convertPath(this.pathUtils, target), destination);
          }
        } else {
          throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`);
        }
        const mode = stat.mode & 511;
        this.chmodSync(destination, mode);
      }
      async changeFilePromise(p, content, opts = {}) {
        if (Buffer.isBuffer(content)) {
          return this.changeFileBufferPromise(p, content, opts);
        } else {
          return this.changeFileTextPromise(p, content, opts);
        }
      }
      async changeFileBufferPromise(p, content, { mode } = {}) {
        let current = Buffer.alloc(0);
        try {
          current = await this.readFilePromise(p);
        } catch (error) {
        }
        if (Buffer.compare(current, content) === 0)
          return;
        await this.writeFilePromise(p, content, { mode });
      }
      async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) {
        let current = ``;
        try {
          current = await this.readFilePromise(p, `utf8`);
        } catch (error) {
        }
        const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
        if (current === normalizedContent)
          return;
        await this.writeFilePromise(p, normalizedContent, { mode });
      }
      changeFileSync(p, content, opts = {}) {
        if (Buffer.isBuffer(content)) {
          return this.changeFileBufferSync(p, content, opts);
        } else {
          return this.changeFileTextSync(p, content, opts);
        }
      }
      changeFileBufferSync(p, content, { mode } = {}) {
        let current = Buffer.alloc(0);
        try {
          current = this.readFileSync(p);
        } catch (error) {
        }
        if (Buffer.compare(current, content) === 0)
          return;
        this.writeFileSync(p, content, { mode });
      }
      changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) {
        let current = ``;
        try {
          current = this.readFileSync(p, `utf8`);
        } catch (error) {
        }
        const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;
        if (current === normalizedContent)
          return;
        this.writeFileSync(p, normalizedContent, { mode });
      }
      async movePromise(fromP, toP) {
        try {
          await this.renamePromise(fromP, toP);
        } catch (error) {
          if (error.code === `EXDEV`) {
            await this.copyPromise(toP, fromP);
            await this.removePromise(fromP);
          } else {
            throw error;
          }
        }
      }
      moveSync(fromP, toP) {
        try {
          this.renameSync(fromP, toP);
        } catch (error) {
          if (error.code === `EXDEV`) {
            this.copySync(toP, fromP);
            this.removeSync(fromP);
          } else {
            throw error;
          }
        }
      }
      async lockPromise(affectedPath, callback) {
        const lockPath = `${affectedPath}.flock`;
        const interval = 1e3 / 60;
        const startTime = Date.now();
        let fd = null;
        const isAlive = async () => {
          let pid;
          try {
            [pid] = await this.readJsonPromise(lockPath);
          } catch (error) {
            return Date.now() - startTime < 500;
          }
          try {
            process.kill(pid, 0);
            return true;
          } catch (error) {
            return false;
          }
        };
        while (fd === null) {
          try {
            fd = await this.openPromise(lockPath, `wx`);
          } catch (error) {
            if (error.code === `EEXIST`) {
              if (!await isAlive()) {
                try {
                  await this.unlinkPromise(lockPath);
                  continue;
                } catch (error2) {
                }
              }
              if (Date.now() - startTime < 60 * 1e3) {
                await new Promise((resolve) => setTimeout(resolve, interval));
              } else {
                throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`);
              }
            } else {
              throw error;
            }
          }
        }
        await this.writePromise(fd, JSON.stringify([process.pid]));
        try {
          return await callback();
        } finally {
          try {
            await this.closePromise(fd);
            await this.unlinkPromise(lockPath);
          } catch (error) {
          }
        }
      }
      async readJsonPromise(p) {
        const content = await this.readFilePromise(p, `utf8`);
        try {
          return JSON.parse(content);
        } catch (error) {
          error.message += ` (in ${p})`;
          throw error;
        }
      }
      readJsonSync(p) {
        const content = this.readFileSync(p, `utf8`);
        try {
          return JSON.parse(content);
        } catch (error) {
          error.message += ` (in ${p})`;
          throw error;
        }
      }
      async writeJsonPromise(p, data, { compact = false } = {}) {
        const space = compact ? 0 : 2;
        return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)}
`);
      }
      writeJsonSync(p, data, { compact = false } = {}) {
        const space = compact ? 0 : 2;
        return this.writeFileSync(p, `${JSON.stringify(data, null, space)}
`);
      }
      async preserveTimePromise(p, cb) {
        const stat = await this.lstatPromise(p);
        const result2 = await cb();
        if (typeof result2 !== `undefined`)
          p = result2;
        await this.lutimesPromise(p, stat.atime, stat.mtime);
      }
      async preserveTimeSync(p, cb) {
        const stat = this.lstatSync(p);
        const result2 = cb();
        if (typeof result2 !== `undefined`)
          p = result2;
        this.lutimesSync(p, stat.atime, stat.mtime);
      }
    };
    var BasePortableFakeFS = class extends FakeFS {
      constructor() {
        super(ppath);
      }
    };
    function getEndOfLine(content) {
      const matches = content.match(/\r?\n/g);
      if (matches === null)
        return os.EOL;
      const crlf = matches.filter((nl) => nl === `\r
`).length;
      const lf = matches.length - crlf;
      return crlf > lf ? `\r
` : `
`;
    }
    function normalizeLineEndings(originalContent, newContent) {
      return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
    }
    var ProxiedFS = class extends FakeFS {
      getExtractHint(hints) {
        return this.baseFs.getExtractHint(hints);
      }
      resolve(path3) {
        return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path3)));
      }
      getRealPath() {
        return this.mapFromBase(this.baseFs.getRealPath());
      }
      async openPromise(p, flags, mode) {
        return this.baseFs.openPromise(this.mapToBase(p), flags, mode);
      }
      openSync(p, flags, mode) {
        return this.baseFs.openSync(this.mapToBase(p), flags, mode);
      }
      async opendirPromise(p, opts) {
        return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p });
      }
      opendirSync(p, opts) {
        return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p });
      }
      async readPromise(fd, buffer, offset, length, position) {
        return await this.baseFs.readPromise(fd, buffer, offset, length, position);
      }
      readSync(fd, buffer, offset, length, position) {
        return this.baseFs.readSync(fd, buffer, offset, length, position);
      }
      async writePromise(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return await this.baseFs.writePromise(fd, buffer, offset);
        } else {
          return await this.baseFs.writePromise(fd, buffer, offset, length, position);
        }
      }
      writeSync(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return this.baseFs.writeSync(fd, buffer, offset);
        } else {
          return this.baseFs.writeSync(fd, buffer, offset, length, position);
        }
      }
      async closePromise(fd) {
        return this.baseFs.closePromise(fd);
      }
      closeSync(fd) {
        this.baseFs.closeSync(fd);
      }
      createReadStream(p, opts) {
        return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts);
      }
      createWriteStream(p, opts) {
        return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts);
      }
      async realpathPromise(p) {
        return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p)));
      }
      realpathSync(p) {
        return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));
      }
      async existsPromise(p) {
        return this.baseFs.existsPromise(this.mapToBase(p));
      }
      existsSync(p) {
        return this.baseFs.existsSync(this.mapToBase(p));
      }
      accessSync(p, mode) {
        return this.baseFs.accessSync(this.mapToBase(p), mode);
      }
      async accessPromise(p, mode) {
        return this.baseFs.accessPromise(this.mapToBase(p), mode);
      }
      async statPromise(p, opts) {
        return this.baseFs.statPromise(this.mapToBase(p), opts);
      }
      statSync(p, opts) {
        return this.baseFs.statSync(this.mapToBase(p), opts);
      }
      async fstatPromise(fd, opts) {
        return this.baseFs.fstatPromise(fd, opts);
      }
      fstatSync(fd, opts) {
        return this.baseFs.fstatSync(fd, opts);
      }
      lstatPromise(p, opts) {
        return this.baseFs.lstatPromise(this.mapToBase(p), opts);
      }
      lstatSync(p, opts) {
        return this.baseFs.lstatSync(this.mapToBase(p), opts);
      }
      async fchmodPromise(fd, mask) {
        return this.baseFs.fchmodPromise(fd, mask);
      }
      fchmodSync(fd, mask) {
        return this.baseFs.fchmodSync(fd, mask);
      }
      async chmodPromise(p, mask) {
        return this.baseFs.chmodPromise(this.mapToBase(p), mask);
      }
      chmodSync(p, mask) {
        return this.baseFs.chmodSync(this.mapToBase(p), mask);
      }
      async fchownPromise(fd, uid, gid) {
        return this.baseFs.fchownPromise(fd, uid, gid);
      }
      fchownSync(fd, uid, gid) {
        return this.baseFs.fchownSync(fd, uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return this.baseFs.chownPromise(this.mapToBase(p), uid, gid);
      }
      chownSync(p, uid, gid) {
        return this.baseFs.chownSync(this.mapToBase(p), uid, gid);
      }
      async renamePromise(oldP, newP) {
        return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));
      }
      renameSync(oldP, newP) {
        return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));
      }
      async copyFilePromise(sourceP, destP, flags = 0) {
        return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);
      }
      copyFileSync(sourceP, destP, flags = 0) {
        return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);
      }
      async appendFilePromise(p, content, opts) {
        return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts);
      }
      appendFileSync(p, content, opts) {
        return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts);
      }
      async writeFilePromise(p, content, opts) {
        return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts);
      }
      writeFileSync(p, content, opts) {
        return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts);
      }
      async unlinkPromise(p) {
        return this.baseFs.unlinkPromise(this.mapToBase(p));
      }
      unlinkSync(p) {
        return this.baseFs.unlinkSync(this.mapToBase(p));
      }
      async utimesPromise(p, atime, mtime) {
        return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);
      }
      utimesSync(p, atime, mtime) {
        return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);
      }
      async lutimesPromise(p, atime, mtime) {
        return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime);
      }
      lutimesSync(p, atime, mtime) {
        return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime);
      }
      async mkdirPromise(p, opts) {
        return this.baseFs.mkdirPromise(this.mapToBase(p), opts);
      }
      mkdirSync(p, opts) {
        return this.baseFs.mkdirSync(this.mapToBase(p), opts);
      }
      async rmdirPromise(p, opts) {
        return this.baseFs.rmdirPromise(this.mapToBase(p), opts);
      }
      rmdirSync(p, opts) {
        return this.baseFs.rmdirSync(this.mapToBase(p), opts);
      }
      async rmPromise(p, opts) {
        return this.baseFs.rmPromise(this.mapToBase(p), opts);
      }
      rmSync(p, opts) {
        return this.baseFs.rmSync(this.mapToBase(p), opts);
      }
      async linkPromise(existingP, newP) {
        return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP));
      }
      linkSync(existingP, newP) {
        return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP));
      }
      async symlinkPromise(target, p, type) {
        const mappedP = this.mapToBase(p);
        if (this.pathUtils.isAbsolute(target))
          return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type);
        const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
        const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
        return this.baseFs.symlinkPromise(mappedTarget, mappedP, type);
      }
      symlinkSync(target, p, type) {
        const mappedP = this.mapToBase(p);
        if (this.pathUtils.isAbsolute(target))
          return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type);
        const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target));
        const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget);
        return this.baseFs.symlinkSync(mappedTarget, mappedP, type);
      }
      async readFilePromise(p, encoding) {
        return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);
      }
      readFileSync(p, encoding) {
        return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);
      }
      readdirPromise(p, opts) {
        return this.baseFs.readdirPromise(this.mapToBase(p), opts);
      }
      readdirSync(p, opts) {
        return this.baseFs.readdirSync(this.mapToBase(p), opts);
      }
      async readlinkPromise(p) {
        return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p)));
      }
      readlinkSync(p) {
        return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));
      }
      async truncatePromise(p, len) {
        return this.baseFs.truncatePromise(this.mapToBase(p), len);
      }
      truncateSync(p, len) {
        return this.baseFs.truncateSync(this.mapToBase(p), len);
      }
      async ftruncatePromise(fd, len) {
        return this.baseFs.ftruncatePromise(fd, len);
      }
      ftruncateSync(fd, len) {
        return this.baseFs.ftruncateSync(fd, len);
      }
      watch(p, a, b) {
        return this.baseFs.watch(
          this.mapToBase(p),
          // @ts-expect-error
          a,
          b
        );
      }
      watchFile(p, a, b) {
        return this.baseFs.watchFile(
          this.mapToBase(p),
          // @ts-expect-error
          a,
          b
        );
      }
      unwatchFile(p, cb) {
        return this.baseFs.unwatchFile(this.mapToBase(p), cb);
      }
      fsMapToBase(p) {
        if (typeof p === `number`) {
          return p;
        } else {
          return this.mapToBase(p);
        }
      }
    };
    function direntToPortable(dirent) {
      const portableDirent = dirent;
      if (typeof dirent.path === `string`)
        portableDirent.path = npath.toPortablePath(dirent.path);
      return portableDirent;
    }
    var NodeFS = class extends BasePortableFakeFS {
      realFs;
      constructor(realFs = fs__default.default) {
        super();
        this.realFs = realFs;
      }
      getExtractHint() {
        return false;
      }
      getRealPath() {
        return PortablePath.root;
      }
      resolve(p) {
        return ppath.resolve(p);
      }
      async openPromise(p, flags, mode) {
        return await new Promise((resolve, reject) => {
          this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject));
        });
      }
      openSync(p, flags, mode) {
        return this.realFs.openSync(npath.fromPortablePath(p), flags, mode);
      }
      async opendirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (typeof opts !== `undefined`) {
            this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        }).then((dir) => {
          const dirWithFixedPath = dir;
          Object.defineProperty(dirWithFixedPath, `path`, {
            value: p,
            configurable: true,
            writable: true
          });
          return dirWithFixedPath;
        });
      }
      opendirSync(p, opts) {
        const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p));
        const dirWithFixedPath = dir;
        Object.defineProperty(dirWithFixedPath, `path`, {
          value: p,
          configurable: true,
          writable: true
        });
        return dirWithFixedPath;
      }
      async readPromise(fd, buffer, offset = 0, length = 0, position = -1) {
        return await new Promise((resolve, reject) => {
          this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => {
            if (error) {
              reject(error);
            } else {
              resolve(bytesRead);
            }
          });
        });
      }
      readSync(fd, buffer, offset, length, position) {
        return this.realFs.readSync(fd, buffer, offset, length, position);
      }
      async writePromise(fd, buffer, offset, length, position) {
        return await new Promise((resolve, reject) => {
          if (typeof buffer === `string`) {
            return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject));
          } else {
            return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject));
          }
        });
      }
      writeSync(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return this.realFs.writeSync(fd, buffer, offset);
        } else {
          return this.realFs.writeSync(fd, buffer, offset, length, position);
        }
      }
      async closePromise(fd) {
        await new Promise((resolve, reject) => {
          this.realFs.close(fd, this.makeCallback(resolve, reject));
        });
      }
      closeSync(fd) {
        this.realFs.closeSync(fd);
      }
      createReadStream(p, opts) {
        const realPath = p !== null ? npath.fromPortablePath(p) : p;
        return this.realFs.createReadStream(realPath, opts);
      }
      createWriteStream(p, opts) {
        const realPath = p !== null ? npath.fromPortablePath(p) : p;
        return this.realFs.createWriteStream(realPath, opts);
      }
      async realpathPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject));
        }).then((path3) => {
          return npath.toPortablePath(path3);
        });
      }
      realpathSync(p) {
        return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {}));
      }
      async existsPromise(p) {
        return await new Promise((resolve) => {
          this.realFs.exists(npath.fromPortablePath(p), resolve);
        });
      }
      accessSync(p, mode) {
        return this.realFs.accessSync(npath.fromPortablePath(p), mode);
      }
      async accessPromise(p, mode) {
        return await new Promise((resolve, reject) => {
          this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject));
        });
      }
      existsSync(p) {
        return this.realFs.existsSync(npath.fromPortablePath(p));
      }
      async statPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      statSync(p, opts) {
        if (opts) {
          return this.realFs.statSync(npath.fromPortablePath(p), opts);
        } else {
          return this.realFs.statSync(npath.fromPortablePath(p));
        }
      }
      async fstatPromise(fd, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.fstat(fd, this.makeCallback(resolve, reject));
          }
        });
      }
      fstatSync(fd, opts) {
        if (opts) {
          return this.realFs.fstatSync(fd, opts);
        } else {
          return this.realFs.fstatSync(fd);
        }
      }
      async lstatPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      lstatSync(p, opts) {
        if (opts) {
          return this.realFs.lstatSync(npath.fromPortablePath(p), opts);
        } else {
          return this.realFs.lstatSync(npath.fromPortablePath(p));
        }
      }
      async fchmodPromise(fd, mask) {
        return await new Promise((resolve, reject) => {
          this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject));
        });
      }
      fchmodSync(fd, mask) {
        return this.realFs.fchmodSync(fd, mask);
      }
      async chmodPromise(p, mask) {
        return await new Promise((resolve, reject) => {
          this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject));
        });
      }
      chmodSync(p, mask) {
        return this.realFs.chmodSync(npath.fromPortablePath(p), mask);
      }
      async fchownPromise(fd, uid, gid) {
        return await new Promise((resolve, reject) => {
          this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject));
        });
      }
      fchownSync(fd, uid, gid) {
        return this.realFs.fchownSync(fd, uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return await new Promise((resolve, reject) => {
          this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject));
        });
      }
      chownSync(p, uid, gid) {
        return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid);
      }
      async renamePromise(oldP, newP) {
        return await new Promise((resolve, reject) => {
          this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
        });
      }
      renameSync(oldP, newP) {
        return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP));
      }
      async copyFilePromise(sourceP, destP, flags = 0) {
        return await new Promise((resolve, reject) => {
          this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject));
        });
      }
      copyFileSync(sourceP, destP, flags = 0) {
        return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags);
      }
      async appendFilePromise(p, content, opts) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
          if (opts) {
            this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject));
          }
        });
      }
      appendFileSync(p, content, opts) {
        const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
        if (opts) {
          this.realFs.appendFileSync(fsNativePath, content, opts);
        } else {
          this.realFs.appendFileSync(fsNativePath, content);
        }
      }
      async writeFilePromise(p, content, opts) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
          if (opts) {
            this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject));
          }
        });
      }
      writeFileSync(p, content, opts) {
        const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
        if (opts) {
          this.realFs.writeFileSync(fsNativePath, content, opts);
        } else {
          this.realFs.writeFileSync(fsNativePath, content);
        }
      }
      async unlinkPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
        });
      }
      unlinkSync(p) {
        return this.realFs.unlinkSync(npath.fromPortablePath(p));
      }
      async utimesPromise(p, atime, mtime) {
        return await new Promise((resolve, reject) => {
          this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
        });
      }
      utimesSync(p, atime, mtime) {
        this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime);
      }
      async lutimesPromise(p, atime, mtime) {
        return await new Promise((resolve, reject) => {
          this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));
        });
      }
      lutimesSync(p, atime, mtime) {
        this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime);
      }
      async mkdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
        });
      }
      mkdirSync(p, opts) {
        return this.realFs.mkdirSync(npath.fromPortablePath(p), opts);
      }
      async rmdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      rmdirSync(p, opts) {
        return this.realFs.rmdirSync(npath.fromPortablePath(p), opts);
      }
      async rmPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            this.realFs.rm(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
          } else {
            this.realFs.rm(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      rmSync(p, opts) {
        return this.realFs.rmSync(npath.fromPortablePath(p), opts);
      }
      async linkPromise(existingP, newP) {
        return await new Promise((resolve, reject) => {
          this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject));
        });
      }
      linkSync(existingP, newP) {
        return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP));
      }
      async symlinkPromise(target, p, type) {
        return await new Promise((resolve, reject) => {
          this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject));
        });
      }
      symlinkSync(target, p, type) {
        return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type);
      }
      async readFilePromise(p, encoding) {
        return await new Promise((resolve, reject) => {
          const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
          this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject));
        });
      }
      readFileSync(p, encoding) {
        const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p;
        return this.realFs.readFileSync(fsNativePath, encoding);
      }
      async readdirPromise(p, opts) {
        return await new Promise((resolve, reject) => {
          if (opts) {
            if (opts.recursive && process.platform === `win32`) {
              if (opts.withFileTypes) {
                this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject));
              } else {
                this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject));
              }
            } else {
              this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));
            }
          } else {
            this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
          }
        });
      }
      readdirSync(p, opts) {
        if (opts) {
          if (opts.recursive && process.platform === `win32`) {
            if (opts.withFileTypes) {
              return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable);
            } else {
              return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath);
            }
          } else {
            return this.realFs.readdirSync(npath.fromPortablePath(p), opts);
          }
        } else {
          return this.realFs.readdirSync(npath.fromPortablePath(p));
        }
      }
      async readlinkPromise(p) {
        return await new Promise((resolve, reject) => {
          this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject));
        }).then((path3) => {
          return npath.toPortablePath(path3);
        });
      }
      readlinkSync(p) {
        return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p)));
      }
      async truncatePromise(p, len) {
        return await new Promise((resolve, reject) => {
          this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject));
        });
      }
      truncateSync(p, len) {
        return this.realFs.truncateSync(npath.fromPortablePath(p), len);
      }
      async ftruncatePromise(fd, len) {
        return await new Promise((resolve, reject) => {
          this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject));
        });
      }
      ftruncateSync(fd, len) {
        return this.realFs.ftruncateSync(fd, len);
      }
      watch(p, a, b) {
        return this.realFs.watch(
          npath.fromPortablePath(p),
          // @ts-expect-error
          a,
          b
        );
      }
      watchFile(p, a, b) {
        return this.realFs.watchFile(
          npath.fromPortablePath(p),
          // @ts-expect-error
          a,
          b
        );
      }
      unwatchFile(p, cb) {
        return this.realFs.unwatchFile(npath.fromPortablePath(p), cb);
      }
      makeCallback(resolve, reject) {
        return (err, result2) => {
          if (err) {
            reject(err);
          } else {
            resolve(result2);
          }
        };
      }
    };
    var NUMBER_REGEXP = /^[0-9]+$/;
    var VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/;
    var VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/;
    var VirtualFS = class _VirtualFS extends ProxiedFS {
      baseFs;
      static makeVirtualPath(base, component, to) {
        if (ppath.basename(base) !== `__virtual__`)
          throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`);
        if (!ppath.basename(component).match(VALID_COMPONENT))
          throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`);
        const target = ppath.relative(ppath.dirname(base), to);
        const segments = target.split(`/`);
        let depth = 0;
        while (depth < segments.length && segments[depth] === `..`)
          depth += 1;
        const finalSegments = segments.slice(depth);
        const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments);
        return fullVirtualPath;
      }
      static resolveVirtual(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match || !match[3] && match[5])
          return p;
        const target = ppath.dirname(match[1]);
        if (!match[3] || !match[4])
          return target;
        const isnum = NUMBER_REGEXP.test(match[4]);
        if (!isnum)
          return p;
        const depth = Number(match[4]);
        const backstep = `../`.repeat(depth);
        const subpath = match[5] || `.`;
        return _VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath));
      }
      constructor({ baseFs = new NodeFS() } = {}) {
        super(ppath);
        this.baseFs = baseFs;
      }
      getExtractHint(hints) {
        return this.baseFs.getExtractHint(hints);
      }
      getRealPath() {
        return this.baseFs.getRealPath();
      }
      realpathSync(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match)
          return this.baseFs.realpathSync(p);
        if (!match[5])
          return p;
        const realpath = this.baseFs.realpathSync(this.mapToBase(p));
        return _VirtualFS.makeVirtualPath(match[1], match[3], realpath);
      }
      async realpathPromise(p) {
        const match = p.match(VIRTUAL_REGEXP);
        if (!match)
          return await this.baseFs.realpathPromise(p);
        if (!match[5])
          return p;
        const realpath = await this.baseFs.realpathPromise(this.mapToBase(p));
        return _VirtualFS.makeVirtualPath(match[1], match[3], realpath);
      }
      mapToBase(p) {
        if (p === ``)
          return p;
        if (this.pathUtils.isAbsolute(p))
          return _VirtualFS.resolveVirtual(p);
        const resolvedRoot = _VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot));
        const resolvedP = _VirtualFS.resolveVirtual(this.baseFs.resolve(p));
        return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot;
      }
      mapFromBase(p) {
        return p;
      }
    };
    var prettyJsonMachine = {
      [
        "DEFAULT"
        /* DEFAULT */
      ]: {
        collapsed: false,
        next: {
          [`*`]: "DEFAULT"
          /* DEFAULT */
        }
      },
      // {
      //   "fallbackExclusionList": ...
      // }
      [
        "TOP_LEVEL"
        /* TOP_LEVEL */
      ]: {
        collapsed: false,
        next: {
          [`fallbackExclusionList`]: "FALLBACK_EXCLUSION_LIST",
          [`packageRegistryData`]: "PACKAGE_REGISTRY_DATA",
          [`*`]: "DEFAULT"
          /* DEFAULT */
        }
      },
      // "fallbackExclusionList": [
      //   ...
      // ]
      [
        "FALLBACK_EXCLUSION_LIST"
        /* FALLBACK_EXCLUSION_LIST */
      ]: {
        collapsed: false,
        next: {
          [`*`]: "FALLBACK_EXCLUSION_ENTRIES"
          /* FALLBACK_EXCLUSION_ENTRIES */
        }
      },
      // "fallbackExclusionList": [
      //   [...]
      // ]
      [
        "FALLBACK_EXCLUSION_ENTRIES"
        /* FALLBACK_EXCLUSION_ENTRIES */
      ]: {
        collapsed: true,
        next: {
          [`*`]: "FALLBACK_EXCLUSION_DATA"
          /* FALLBACK_EXCLUSION_DATA */
        }
      },
      // "fallbackExclusionList": [
      //   [..., [...]]
      // ]
      [
        "FALLBACK_EXCLUSION_DATA"
        /* FALLBACK_EXCLUSION_DATA */
      ]: {
        collapsed: true,
        next: {
          [`*`]: "DEFAULT"
          /* DEFAULT */
        }
      },
      // "packageRegistryData": [
      //   ...
      // ]
      [
        "PACKAGE_REGISTRY_DATA"
        /* PACKAGE_REGISTRY_DATA */
      ]: {
        collapsed: false,
        next: {
          [`*`]: "PACKAGE_REGISTRY_ENTRIES"
          /* PACKAGE_REGISTRY_ENTRIES */
        }
      },
      // "packageRegistryData": [
      //   [...]
      // ]
      [
        "PACKAGE_REGISTRY_ENTRIES"
        /* PACKAGE_REGISTRY_ENTRIES */
      ]: {
        collapsed: true,
        next: {
          [`*`]: "PACKAGE_STORE_DATA"
          /* PACKAGE_STORE_DATA */
        }
      },
      // "packageRegistryData": [
      //   [..., [
      //     ...
      //   ]]
      // ]
      [
        "PACKAGE_STORE_DATA"
        /* PACKAGE_STORE_DATA */
      ]: {
        collapsed: false,
        next: {
          [`*`]: "PACKAGE_STORE_ENTRIES"
          /* PACKAGE_STORE_ENTRIES */
        }
      },
      // "packageRegistryData": [
      //   [..., [
      //     [...]
      //   ]]
      // ]
      [
        "PACKAGE_STORE_ENTRIES"
        /* PACKAGE_STORE_ENTRIES */
      ]: {
        collapsed: true,
        next: {
          [`*`]: "PACKAGE_INFORMATION_DATA"
          /* PACKAGE_INFORMATION_DATA */
        }
      },
      // "packageRegistryData": [
      //   [..., [
      //     [..., {
      //       ...
      //     }]
      //   ]]
      // ]
      [
        "PACKAGE_INFORMATION_DATA"
        /* PACKAGE_INFORMATION_DATA */
      ]: {
        collapsed: false,
        next: {
          [`packageDependencies`]: "PACKAGE_DEPENDENCIES",
          [`*`]: "DEFAULT"
          /* DEFAULT */
        }
      },
      // "packageRegistryData": [
      //   [..., [
      //     [..., {
      //       "packagePeers": [
      //         ...
      //       ]
      //     }]
      //   ]]
      // ]
      [
        "PACKAGE_DEPENDENCIES"
        /* PACKAGE_DEPENDENCIES */
      ]: {
        collapsed: false,
        next: {
          [`*`]: "PACKAGE_DEPENDENCY"
          /* PACKAGE_DEPENDENCY */
        }
      },
      // "packageRegistryData": [
      //   [..., [
      //     [..., {
      //       "packageDependencies": [
      //         [...]
      //       ]
      //     }]
      //   ]]
      // ]
      [
        "PACKAGE_DEPENDENCY"
        /* PACKAGE_DEPENDENCY */
      ]: {
        collapsed: true,
        next: {
          [`*`]: "DEFAULT"
          /* DEFAULT */
        }
      }
    };
    function generateCollapsedArray(data, state, indent) {
      let result2 = ``;
      result2 += `[`;
      for (let t = 0, T = data.length; t < T; ++t) {
        result2 += generateNext(String(t), data[t], state, indent).replace(/^ +/g, ``);
        if (t + 1 < T) {
          result2 += `, `;
        }
      }
      result2 += `]`;
      return result2;
    }
    function generateExpandedArray(data, state, indent) {
      const nextIndent = `${indent}  `;
      let result2 = ``;
      result2 += indent;
      result2 += `[
`;
      for (let t = 0, T = data.length; t < T; ++t) {
        result2 += nextIndent + generateNext(String(t), data[t], state, nextIndent).replace(/^ +/, ``);
        if (t + 1 < T)
          result2 += `,`;
        result2 += `
`;
      }
      result2 += indent;
      result2 += `]`;
      return result2;
    }
    function generateCollapsedObject(data, state, indent) {
      const keys = Object.keys(data);
      let result2 = ``;
      result2 += `{`;
      for (let t = 0, T = keys.length, keysPrinted = 0; t < T; ++t) {
        const key = keys[t];
        const value = data[key];
        if (typeof value === `undefined`)
          continue;
        if (keysPrinted !== 0)
          result2 += `, `;
        result2 += JSON.stringify(key);
        result2 += `: `;
        result2 += generateNext(key, value, state, indent).replace(/^ +/g, ``);
        keysPrinted += 1;
      }
      result2 += `}`;
      return result2;
    }
    function generateExpandedObject(data, state, indent) {
      const keys = Object.keys(data);
      const nextIndent = `${indent}  `;
      let result2 = ``;
      result2 += indent;
      result2 += `{
`;
      let keysPrinted = 0;
      for (let t = 0, T = keys.length; t < T; ++t) {
        const key = keys[t];
        const value = data[key];
        if (typeof value === `undefined`)
          continue;
        if (keysPrinted !== 0) {
          result2 += `,`;
          result2 += `
`;
        }
        result2 += nextIndent;
        result2 += JSON.stringify(key);
        result2 += `: `;
        result2 += generateNext(key, value, state, nextIndent).replace(/^ +/g, ``);
        keysPrinted += 1;
      }
      if (keysPrinted !== 0)
        result2 += `
`;
      result2 += indent;
      result2 += `}`;
      return result2;
    }
    function generateNext(key, data, state, indent) {
      const { next } = prettyJsonMachine[state];
      const nextState = next[key] || next[`*`];
      return generate(data, nextState, indent);
    }
    function generate(data, state, indent) {
      const { collapsed } = prettyJsonMachine[state];
      if (Array.isArray(data)) {
        if (collapsed) {
          return generateCollapsedArray(data, state, indent);
        } else {
          return generateExpandedArray(data, state, indent);
        }
      }
      if (typeof data === `object` && data !== null) {
        if (collapsed) {
          return generateCollapsedObject(data, state, indent);
        } else {
          return generateExpandedObject(data, state, indent);
        }
      }
      return JSON.stringify(data);
    }
    function generatePrettyJson(data) {
      return generate(data, "TOP_LEVEL", ``);
    }
    function sortMap2(values, mappers) {
      const asArray = Array.from(values);
      if (!Array.isArray(mappers))
        mappers = [mappers];
      const stringified = [];
      for (const mapper of mappers)
        stringified.push(asArray.map((value) => mapper(value)));
      const indices = asArray.map((_, index) => index);
      indices.sort((a, b) => {
        for (const layer of stringified) {
          const comparison = layer[a] < layer[b] ? -1 : layer[a] > layer[b] ? 1 : 0;
          if (comparison !== 0) {
            return comparison;
          }
        }
        return 0;
      });
      return indices.map((index) => {
        return asArray[index];
      });
    }
    function generateFallbackExclusionList(settings) {
      const fallbackExclusionList = /* @__PURE__ */ new Map();
      const sortedData = sortMap2(settings.fallbackExclusionList || [], [
        ({ name, reference }) => name,
        ({ name, reference }) => reference
      ]);
      for (const { name, reference } of sortedData) {
        let references = fallbackExclusionList.get(name);
        if (typeof references === `undefined`)
          fallbackExclusionList.set(name, references = /* @__PURE__ */ new Set());
        references.add(reference);
      }
      return Array.from(fallbackExclusionList).map(([name, references]) => {
        return [name, Array.from(references)];
      });
    }
    function generateFallbackPoolData(settings) {
      return sortMap2(settings.fallbackPool || [], ([name]) => name);
    }
    function generatePackageRegistryData(settings) {
      const packageRegistryData = [];
      for (const [packageName, packageStore] of sortMap2(settings.packageRegistry, ([packageName2]) => packageName2 === null ? `0` : `1${packageName2}`)) {
        const packageStoreData = [];
        packageRegistryData.push([packageName, packageStoreData]);
        for (const [packageReference, { packageLocation, packageDependencies, packagePeers, linkType, discardFromLookup }] of sortMap2(packageStore, ([packageReference2]) => packageReference2 === null ? `0` : `1${packageReference2}`)) {
          const normalizedDependencies = [];
          if (packageName !== null && packageReference !== null && !packageDependencies.has(packageName))
            normalizedDependencies.push([packageName, packageReference]);
          for (const [dependencyName, dependencyReference] of sortMap2(packageDependencies.entries(), ([dependencyName2]) => dependencyName2))
            normalizedDependencies.push([dependencyName, dependencyReference]);
          const normalizedPeers = packagePeers && packagePeers.size > 0 ? Array.from(packagePeers) : void 0;
          const normalizedDiscardFromLookup = discardFromLookup ? discardFromLookup : void 0;
          packageStoreData.push([packageReference, {
            packageLocation,
            packageDependencies: normalizedDependencies,
            packagePeers: normalizedPeers,
            linkType,
            discardFromLookup: normalizedDiscardFromLookup
          }]);
        }
      }
      return packageRegistryData;
    }
    function generateSerializedState(settings) {
      return {
        // @eslint-ignore-next-line @typescript-eslint/naming-convention
        __info: [
          `This file is automatically generated. Do not touch it, or risk`,
          `your modifications being lost.`
        ],
        dependencyTreeRoots: settings.dependencyTreeRoots,
        enableTopLevelFallback: settings.enableTopLevelFallback || false,
        ignorePatternData: settings.ignorePattern || null,
        fallbackExclusionList: generateFallbackExclusionList(settings),
        fallbackPool: generateFallbackPoolData(settings),
        packageRegistryData: generatePackageRegistryData(settings)
      };
    }
    var hook$1;
    var hook_1 = () => {
      if (typeof hook$1 === `undefined`)
        hook$1 = require$$0__default.default.brotliDecompressSync(Buffer.from(" ", "base64")).toString();
      return hook$1;
    };
    function generateLoader(shebang, loader) {
      return [
        shebang ? `${shebang}
` : ``,
        `/* eslint-disable */
`,
        `// @ts-nocheck
`,
        `"use strict";
`,
        `
`,
        loader,
        `
`,
        hook_1()
      ].join(``);
    }
    function generateJsonString(data) {
      return JSON.stringify(data, null, 2);
    }
    function generateStringLiteral(value) {
      return `'${value.replace(/\\/g, `\\\\`).replace(/'/g, `\\'`).replace(/\n/g, `\\
`)}'`;
    }
    function generateInlinedSetup(data) {
      return [
        `const RAW_RUNTIME_STATE =
`,
        `${generateStringLiteral(generatePrettyJson(data))};

`,
        `function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,
        `  return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname});
`,
        `}
`
      ].join(``);
    }
    function generateSplitSetup() {
      return [
        `function $$SETUP_STATE(hydrateRuntimeState, basePath) {
`,
        `  const fs = require('fs');
`,
        `  const path = require('path');
`,
        `  const pnpDataFilepath = path.resolve(__dirname, ${JSON.stringify(Filename.pnpData)});
`,
        `  return hydrateRuntimeState(JSON.parse(fs.readFileSync(pnpDataFilepath, 'utf8')), {basePath: basePath || __dirname});
`,
        `}
`
      ].join(``);
    }
    function generateInlinedScript(settings) {
      const data = generateSerializedState(settings);
      const setup = generateInlinedSetup(data);
      const loaderFile = generateLoader(settings.shebang, setup);
      return loaderFile;
    }
    function generateSplitScript(settings) {
      const data = generateSerializedState(settings);
      const setup = generateSplitSetup();
      const loaderFile = generateLoader(settings.shebang, setup);
      return { dataFile: generateJsonString(data), loaderFile };
    }
    function hydrateRuntimeState(data, { basePath }) {
      const portablePath = npath.toPortablePath(basePath);
      const absolutePortablePath = ppath.resolve(portablePath);
      const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null;
      const packageLocatorsByLocations = /* @__PURE__ */ new Map();
      const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => {
        return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => {
          if (packageName === null !== (packageReference === null))
            throw new Error(`Assertion failed: The name and reference should be null, or neither should`);
          const discardFromLookup = packageInformationData.discardFromLookup ?? false;
          const packageLocator = { name: packageName, reference: packageReference };
          const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation);
          if (!entry) {
            packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup });
          } else {
            entry.discardFromLookup = entry.discardFromLookup && discardFromLookup;
            if (!discardFromLookup) {
              entry.locator = packageLocator;
            }
          }
          let resolvedPackageLocation = null;
          return [packageReference, {
            packageDependencies: new Map(packageInformationData.packageDependencies),
            packagePeers: new Set(packageInformationData.packagePeers),
            linkType: packageInformationData.linkType,
            discardFromLookup,
            // we only need this for packages that are used by the currently running script
            // this is a lazy getter because `ppath.join` has some overhead
            get packageLocation() {
              return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation));
            }
          }];
        }))];
      }));
      const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => {
        return [packageName, new Set(packageReferences)];
      }));
      const fallbackPool = new Map(data.fallbackPool);
      const dependencyTreeRoots = data.dependencyTreeRoots;
      const enableTopLevelFallback = data.enableTopLevelFallback;
      return {
        basePath: portablePath,
        dependencyTreeRoots,
        enableTopLevelFallback,
        fallbackExclusionList,
        fallbackPool,
        ignorePattern,
        packageLocatorsByLocations,
        packageRegistry
      };
    }
    var ArrayIsArray = Array.isArray;
    var JSONStringify = JSON.stringify;
    var ObjectGetOwnPropertyNames = Object.getOwnPropertyNames;
    var ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);
    var RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string);
    var RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest);
    var StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest);
    var StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest);
    var StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest);
    var StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest);
    var StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest);
    var StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest);
    var StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest);
    var SafeMap = Map;
    var JSONParse = JSON.parse;
    function createErrorType(code, messageCreator, errorType) {
      return class extends errorType {
        constructor(...args) {
          super(messageCreator(...args));
          this.code = code;
          this.name = `${errorType.name} [${code}]`;
        }
      };
    }
    var ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType(
      `ERR_PACKAGE_IMPORT_NOT_DEFINED`,
      (specifier, packagePath, base) => {
        return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`;
      },
      TypeError
    );
    var ERR_INVALID_MODULE_SPECIFIER = createErrorType(
      `ERR_INVALID_MODULE_SPECIFIER`,
      (request, reason, base = void 0) => {
        return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`;
      },
      TypeError
    );
    var ERR_INVALID_PACKAGE_TARGET = createErrorType(
      `ERR_INVALID_PACKAGE_TARGET`,
      (pkgPath, key, target, isImport = false, base = void 0) => {
        const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`);
        if (key === `.`) {
          assert__default.default(isImport === false);
          return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
        }
        return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify(
          target
        )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`;
      },
      Error
    );
    var ERR_INVALID_PACKAGE_CONFIG = createErrorType(
      `ERR_INVALID_PACKAGE_CONFIG`,
      (path3, base, message) => {
        return `Invalid package config ${path3}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`;
      },
      Error
    );
    var ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType(
      "ERR_PACKAGE_PATH_NOT_EXPORTED",
      (pkgPath, subpath, base = void 0) => {
        if (subpath === ".")
          return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
        return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`;
      },
      Error
    );
    function filterOwnProperties(source, keys) {
      const filtered = /* @__PURE__ */ Object.create(null);
      for (let i = 0; i < keys.length; i++) {
        const key = keys[i];
        if (ObjectPrototypeHasOwnProperty(source, key)) {
          filtered[key] = source[key];
        }
      }
      return filtered;
    }
    var packageJSONCache = new SafeMap();
    function getPackageConfig(path3, specifier, base, readFileSyncFn) {
      const existing = packageJSONCache.get(path3);
      if (existing !== void 0) {
        return existing;
      }
      const source = readFileSyncFn(path3);
      if (source === void 0) {
        const packageConfig2 = {
          pjsonPath: path3,
          exists: false,
          main: void 0,
          name: void 0,
          type: "none",
          exports: void 0,
          imports: void 0
        };
        packageJSONCache.set(path3, packageConfig2);
        return packageConfig2;
      }
      let packageJSON;
      try {
        packageJSON = JSONParse(source);
      } catch (error) {
        throw new ERR_INVALID_PACKAGE_CONFIG(
          path3,
          (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier),
          error.message
        );
      }
      let { imports, main, name, type } = filterOwnProperties(packageJSON, [
        "imports",
        "main",
        "name",
        "type"
      ]);
      const exports3 = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0;
      if (typeof imports !== "object" || imports === null) {
        imports = void 0;
      }
      if (typeof main !== "string") {
        main = void 0;
      }
      if (typeof name !== "string") {
        name = void 0;
      }
      if (type !== "module" && type !== "commonjs") {
        type = "none";
      }
      const packageConfig = {
        pjsonPath: path3,
        exists: true,
        main,
        name,
        type,
        exports: exports3,
        imports
      };
      packageJSONCache.set(path3, packageConfig);
      return packageConfig;
    }
    function getPackageScopeConfig(resolved, readFileSyncFn) {
      let packageJSONUrl = new URL("./package.json", resolved);
      while (true) {
        const packageJSONPath2 = packageJSONUrl.pathname;
        if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) {
          break;
        }
        const packageConfig2 = getPackageConfig(
          url.fileURLToPath(packageJSONUrl),
          resolved,
          void 0,
          readFileSyncFn
        );
        if (packageConfig2.exists) {
          return packageConfig2;
        }
        const lastPackageJSONUrl = packageJSONUrl;
        packageJSONUrl = new URL("../package.json", packageJSONUrl);
        if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) {
          break;
        }
      }
      const packageJSONPath = url.fileURLToPath(packageJSONUrl);
      const packageConfig = {
        pjsonPath: packageJSONPath,
        exists: false,
        main: void 0,
        name: void 0,
        type: "none",
        exports: void 0,
        imports: void 0
      };
      packageJSONCache.set(packageJSONPath, packageConfig);
      return packageConfig;
    }
    function throwImportNotDefined(specifier, packageJSONUrl, base) {
      throw new ERR_PACKAGE_IMPORT_NOT_DEFINED(
        specifier,
        packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)),
        url.fileURLToPath(base)
      );
    }
    function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) {
      const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`;
      throw new ERR_INVALID_MODULE_SPECIFIER(
        subpath,
        reason,
        base && url.fileURLToPath(base)
      );
    }
    function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) {
      if (typeof target === "object" && target !== null) {
        target = JSONStringify(target, null, "");
      } else {
        target = `${target}`;
      }
      throw new ERR_INVALID_PACKAGE_TARGET(
        url.fileURLToPath(new URL(".", packageJSONUrl)),
        subpath,
        target,
        internal,
        base && url.fileURLToPath(base)
      );
    }
    var invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i;
    var patternRegEx = /\*/g;
    function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) {
      if (subpath !== "" && !pattern && target[target.length - 1] !== "/")
        throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
      if (!StringPrototypeStartsWith(target, "./")) {
        if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) {
          let isURL = false;
          try {
            new URL(target);
            isURL = true;
          } catch {
          }
          if (!isURL) {
            const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath;
            return exportTarget;
          }
        }
        throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
      }
      if (RegExpPrototypeExec(
        invalidSegmentRegEx,
        StringPrototypeSlice(target, 2)
      ) !== null)
        throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
      const resolved = new URL(target, packageJSONUrl);
      const resolvedPath = resolved.pathname;
      const packagePath = new URL(".", packageJSONUrl).pathname;
      if (!StringPrototypeStartsWith(resolvedPath, packagePath))
        throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base);
      if (subpath === "") return resolved;
      if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) {
        const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath;
        throwInvalidSubpath(request, packageJSONUrl, internal, base);
      }
      if (pattern) {
        return new URL(
          RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath)
        );
      }
      return new URL(subpath, resolved);
    }
    function isArrayIndex(key) {
      const keyNum = +key;
      if (`${keyNum}` !== key) return false;
      return keyNum >= 0 && keyNum < 4294967295;
    }
    function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) {
      if (typeof target === "string") {
        return resolvePackageTargetString(
          target,
          subpath,
          packageSubpath,
          packageJSONUrl,
          base,
          pattern,
          internal
        );
      } else if (ArrayIsArray(target)) {
        if (target.length === 0) {
          return null;
        }
        let lastException;
        for (let i = 0; i < target.length; i++) {
          const targetItem = target[i];
          let resolveResult;
          try {
            resolveResult = resolvePackageTarget(
              packageJSONUrl,
              targetItem,
              subpath,
              packageSubpath,
              base,
              pattern,
              internal,
              conditions
            );
          } catch (e) {
            lastException = e;
            if (e.code === "ERR_INVALID_PACKAGE_TARGET") {
              continue;
            }
            throw e;
          }
          if (resolveResult === void 0) {
            continue;
          }
          if (resolveResult === null) {
            lastException = null;
            continue;
          }
          return resolveResult;
        }
        if (lastException === void 0 || lastException === null)
          return lastException;
        throw lastException;
      } else if (typeof target === "object" && target !== null) {
        const keys = ObjectGetOwnPropertyNames(target);
        for (let i = 0; i < keys.length; i++) {
          const key = keys[i];
          if (isArrayIndex(key)) {
            throw new ERR_INVALID_PACKAGE_CONFIG(
              url.fileURLToPath(packageJSONUrl),
              base,
              '"exports" cannot contain numeric property keys.'
            );
          }
        }
        for (let i = 0; i < keys.length; i++) {
          const key = keys[i];
          if (key === "default" || conditions.has(key)) {
            const conditionalTarget = target[key];
            const resolveResult = resolvePackageTarget(
              packageJSONUrl,
              conditionalTarget,
              subpath,
              packageSubpath,
              base,
              pattern,
              internal,
              conditions
            );
            if (resolveResult === void 0) continue;
            return resolveResult;
          }
        }
        return void 0;
      } else if (target === null) {
        return null;
      }
      throwInvalidPackageTarget(
        packageSubpath,
        target,
        packageJSONUrl,
        internal,
        base
      );
    }
    function patternKeyCompare(a, b) {
      const aPatternIndex = StringPrototypeIndexOf(a, "*");
      const bPatternIndex = StringPrototypeIndexOf(b, "*");
      const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1;
      const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1;
      if (baseLenA > baseLenB) return -1;
      if (baseLenB > baseLenA) return 1;
      if (aPatternIndex === -1) return 1;
      if (bPatternIndex === -1) return -1;
      if (a.length > b.length) return -1;
      if (b.length > a.length) return 1;
      return 0;
    }
    function isConditionalExportsMainSugar(exports3, packageJSONUrl, base) {
      if (typeof exports3 === "string" || ArrayIsArray(exports3)) return true;
      if (typeof exports3 !== "object" || exports3 === null) return false;
      const keys = ObjectGetOwnPropertyNames(exports3);
      let isConditionalSugar = false;
      let i = 0;
      for (let j = 0; j < keys.length; j++) {
        const key = keys[j];
        const curIsConditionalSugar = key === "" || key[0] !== ".";
        if (i++ === 0) {
          isConditionalSugar = curIsConditionalSugar;
        } else if (isConditionalSugar !== curIsConditionalSugar) {
          throw new ERR_INVALID_PACKAGE_CONFIG(
            url.fileURLToPath(packageJSONUrl),
            base,
            `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.`
          );
        }
      }
      return isConditionalSugar;
    }
    function throwExportsNotFound(subpath, packageJSONUrl, base) {
      throw new ERR_PACKAGE_PATH_NOT_EXPORTED(
        url.fileURLToPath(new URL(".", packageJSONUrl)),
        subpath,
        base && url.fileURLToPath(base)
      );
    }
    var emittedPackageWarnings = /* @__PURE__ */ new Set();
    function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) {
      const pjsonPath = url.fileURLToPath(pjsonUrl);
      if (emittedPackageWarnings.has(pjsonPath + "|" + match)) return;
      emittedPackageWarnings.add(pjsonPath + "|" + match);
      process.emitWarning(
        `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`,
        "DeprecationWarning",
        "DEP0155"
      );
    }
    function packageExportsResolve({
      packageJSONUrl,
      packageSubpath,
      exports: exports3,
      base,
      conditions
    }) {
      if (isConditionalExportsMainSugar(exports3, packageJSONUrl, base))
        exports3 = { ".": exports3 };
      if (ObjectPrototypeHasOwnProperty(exports3, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) {
        const target = exports3[packageSubpath];
        const resolveResult = resolvePackageTarget(
          packageJSONUrl,
          target,
          "",
          packageSubpath,
          base,
          false,
          false,
          conditions
        );
        if (resolveResult == null) {
          throwExportsNotFound(packageSubpath, packageJSONUrl, base);
        }
        return resolveResult;
      }
      let bestMatch = "";
      let bestMatchSubpath;
      const keys = ObjectGetOwnPropertyNames(exports3);
      for (let i = 0; i < keys.length; i++) {
        const key = keys[i];
        const patternIndex = StringPrototypeIndexOf(key, "*");
        if (patternIndex !== -1 && StringPrototypeStartsWith(
          packageSubpath,
          StringPrototypeSlice(key, 0, patternIndex)
        )) {
          if (StringPrototypeEndsWith(packageSubpath, "/"))
            emitTrailingSlashPatternDeprecation(
              packageSubpath,
              packageJSONUrl,
              base
            );
          const patternTrailer = StringPrototypeSlice(key, patternIndex + 1);
          if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) {
            bestMatch = key;
            bestMatchSubpath = StringPrototypeSlice(
              packageSubpath,
              patternIndex,
              packageSubpath.length - patternTrailer.length
            );
          }
        }
      }
      if (bestMatch) {
        const target = exports3[bestMatch];
        const resolveResult = resolvePackageTarget(
          packageJSONUrl,
          target,
          bestMatchSubpath,
          bestMatch,
          base,
          true,
          false,
          conditions
        );
        if (resolveResult == null) {
          throwExportsNotFound(packageSubpath, packageJSONUrl, base);
        }
        return resolveResult;
      }
      throwExportsNotFound(packageSubpath, packageJSONUrl, base);
    }
    function packageImportsResolve({ name, base, conditions, readFileSyncFn }) {
      if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) {
        const reason = "is not a valid internal imports specifier name";
        throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base));
      }
      let packageJSONUrl;
      const packageConfig = getPackageScopeConfig(base, readFileSyncFn);
      if (packageConfig.exists) {
        packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath);
        const imports = packageConfig.imports;
        if (imports) {
          if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) {
            const resolveResult = resolvePackageTarget(
              packageJSONUrl,
              imports[name],
              "",
              name,
              base,
              false,
              true,
              conditions
            );
            if (resolveResult != null) {
              return resolveResult;
            }
          } else {
            let bestMatch = "";
            let bestMatchSubpath;
            const keys = ObjectGetOwnPropertyNames(imports);
            for (let i = 0; i < keys.length; i++) {
              const key = keys[i];
              const patternIndex = StringPrototypeIndexOf(key, "*");
              if (patternIndex !== -1 && StringPrototypeStartsWith(
                name,
                StringPrototypeSlice(key, 0, patternIndex)
              )) {
                const patternTrailer = StringPrototypeSlice(key, patternIndex + 1);
                if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) {
                  bestMatch = key;
                  bestMatchSubpath = StringPrototypeSlice(
                    name,
                    patternIndex,
                    name.length - patternTrailer.length
                  );
                }
              }
            }
            if (bestMatch) {
              const target = imports[bestMatch];
              const resolveResult = resolvePackageTarget(
                packageJSONUrl,
                target,
                bestMatchSubpath,
                bestMatch,
                base,
                true,
                true,
                conditions
              );
              if (resolveResult != null) {
                return resolveResult;
              }
            }
          }
        }
      }
      throwImportNotDefined(name, packageJSONUrl, base);
    }
    var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
      ErrorCode2["API_ERROR"] = `API_ERROR`;
      ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`;
      ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`;
      ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`;
      ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`;
      ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`;
      ErrorCode2["INTERNAL"] = `INTERNAL`;
      ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`;
      ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`;
      return ErrorCode2;
    })(ErrorCode || {});
    var MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([
      "BUILTIN_NODE_RESOLUTION_FAILED",
      "MISSING_DEPENDENCY",
      "MISSING_PEER_DEPENDENCY",
      "QUALIFIED_PATH_RESOLUTION_FAILED",
      "UNDECLARED_DEPENDENCY"
      /* UNDECLARED_DEPENDENCY */
    ]);
    function makeError(pnpCode, message, data = {}, code) {
      code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode;
      const propertySpec = {
        configurable: true,
        writable: true,
        enumerable: false
      };
      return Object.defineProperties(new Error(message), {
        code: {
          ...propertySpec,
          value: code
        },
        pnpCode: {
          ...propertySpec,
          value: pnpCode
        },
        data: {
          ...propertySpec,
          value: data
        }
      });
    }
    function getPathForDisplay(p) {
      return npath.normalize(npath.fromPortablePath(p));
    }
    var flagSymbol = Symbol("arg flag");
    var ArgError = class _ArgError extends Error {
      constructor(msg, code) {
        super(msg);
        this.name = "ArgError";
        this.code = code;
        Object.setPrototypeOf(this, _ArgError.prototype);
      }
    };
    function arg(opts, {
      argv: argv2 = process.argv.slice(2),
      permissive = false,
      stopAtPositional = false
    } = {}) {
      if (!opts) {
        throw new ArgError(
          "argument specification object is required",
          "ARG_CONFIG_NO_SPEC"
        );
      }
      const result2 = { _: [] };
      const aliases = {};
      const handlers = {};
      for (const key of Object.keys(opts)) {
        if (!key) {
          throw new ArgError(
            "argument key cannot be an empty string",
            "ARG_CONFIG_EMPTY_KEY"
          );
        }
        if (key[0] !== "-") {
          throw new ArgError(
            `argument key must start with '-' but found: '${key}'`,
            "ARG_CONFIG_NONOPT_KEY"
          );
        }
        if (key.length === 1) {
          throw new ArgError(
            `argument key must have a name; singular '-' keys are not allowed: ${key}`,
            "ARG_CONFIG_NONAME_KEY"
          );
        }
        if (typeof opts[key] === "string") {
          aliases[key] = opts[key];
          continue;
        }
        let type = opts[key];
        let isFlag = false;
        if (Array.isArray(type) && type.length === 1 && typeof type[0] === "function") {
          const [fn] = type;
          type = (value, name, prev = []) => {
            prev.push(fn(value, name, prev[prev.length - 1]));
            return prev;
          };
          isFlag = fn === Boolean || fn[flagSymbol] === true;
        } else if (typeof type === "function") {
          isFlag = type === Boolean || type[flagSymbol] === true;
        } else {
          throw new ArgError(
            `type missing or not a function or valid array type: ${key}`,
            "ARG_CONFIG_VAD_TYPE"
          );
        }
        if (key[1] !== "-" && key.length > 2) {
          throw new ArgError(
            `short argument keys (with a single hyphen) must have only one character: ${key}`,
            "ARG_CONFIG_SHORTOPT_TOOLONG"
          );
        }
        handlers[key] = [type, isFlag];
      }
      for (let i = 0, len = argv2.length; i < len; i++) {
        const wholeArg = argv2[i];
        if (stopAtPositional && result2._.length > 0) {
          result2._ = result2._.concat(argv2.slice(i));
          break;
        }
        if (wholeArg === "--") {
          result2._ = result2._.concat(argv2.slice(i + 1));
          break;
        }
        if (wholeArg.length > 1 && wholeArg[0] === "-") {
          const separatedArguments = wholeArg[1] === "-" || wholeArg.length === 2 ? [wholeArg] : wholeArg.slice(1).split("").map((a) => `-${a}`);
          for (let j = 0; j < separatedArguments.length; j++) {
            const arg2 = separatedArguments[j];
            const [originalArgName, argStr] = arg2[1] === "-" ? arg2.split(/=(.*)/, 2) : [arg2, void 0];
            let argName = originalArgName;
            while (argName in aliases) {
              argName = aliases[argName];
            }
            if (!(argName in handlers)) {
              if (permissive) {
                result2._.push(arg2);
                continue;
              } else {
                throw new ArgError(
                  `unknown or unexpected option: ${originalArgName}`,
                  "ARG_UNKNOWN_OPTION"
                );
              }
            }
            const [type, isFlag] = handlers[argName];
            if (!isFlag && j + 1 < separatedArguments.length) {
              throw new ArgError(
                `option requires argument (but was followed by another short argument): ${originalArgName}`,
                "ARG_MISSING_REQUIRED_SHORTARG"
              );
            }
            if (isFlag) {
              result2[argName] = type(true, argName, result2[argName]);
            } else if (argStr === void 0) {
              if (argv2.length < i + 2 || argv2[i + 1].length > 1 && argv2[i + 1][0] === "-" && !(argv2[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && (type === Number || // eslint-disable-next-line no-undef
              typeof BigInt !== "undefined" && type === BigInt))) {
                const extended = originalArgName === argName ? "" : ` (alias for ${argName})`;
                throw new ArgError(
                  `option requires argument: ${originalArgName}${extended}`,
                  "ARG_MISSING_REQUIRED_LONGARG"
                );
              }
              result2[argName] = type(argv2[i + 1], argName, result2[argName]);
              ++i;
            } else {
              result2[argName] = type(argStr, argName, result2[argName]);
            }
          }
        } else {
          result2._.push(wholeArg);
        }
      }
      return result2;
    }
    arg.flag = (fn) => {
      fn[flagSymbol] = true;
      return fn;
    };
    arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1);
    arg.ArgError = ArgError;
    var arg_1 = arg;
    function getOptionValue(opt) {
      parseOptions();
      return options[opt];
    }
    var options;
    function parseOptions() {
      if (!options) {
        options = {
          "--conditions": [],
          ...parseArgv(getNodeOptionsEnvArgv()),
          ...parseArgv(process.execArgv)
        };
      }
    }
    function parseArgv(argv2) {
      return arg_1(
        {
          "--conditions": [String],
          "-C": "--conditions"
        },
        {
          argv: argv2,
          permissive: true
        }
      );
    }
    function getNodeOptionsEnvArgv() {
      const errors = [];
      const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors);
      if (errors.length !== 0) ;
      return envArgv;
    }
    function ParseNodeOptionsEnvVar(node_options, errors) {
      const env_argv = [];
      let is_in_string = false;
      let will_start_new_arg = true;
      for (let index = 0; index < node_options.length; ++index) {
        let c = node_options[index];
        if (c === "\\" && is_in_string) {
          if (index + 1 === node_options.length) {
            errors.push("invalid value for NODE_OPTIONS (invalid escape)\n");
            return env_argv;
          } else {
            c = node_options[++index];
          }
        } else if (c === " " && !is_in_string) {
          will_start_new_arg = true;
          continue;
        } else if (c === '"') {
          is_in_string = !is_in_string;
          continue;
        }
        if (will_start_new_arg) {
          env_argv.push(c);
          will_start_new_arg = false;
        } else {
          env_argv[env_argv.length - 1] += c;
        }
      }
      if (is_in_string) {
        errors.push("invalid value for NODE_OPTIONS (unterminated string)\n");
      }
      return env_argv;
    }
    var [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10));
    var WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13;
    function reportRequiredFilesToWatchMode(files) {
      if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) {
        files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))));
        if (WATCH_MODE_MESSAGE_USES_ARRAYS) {
          process.send({ "watch:require": files });
        } else {
          for (const filename of files) {
            process.send({ "watch:require": filename });
          }
        }
      }
    }
    function makeApi(runtimeState, opts) {
      const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0;
      const debugLevel = Number(process.env.PNP_DEBUG_LEVEL);
      const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/;
      const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/;
      const isDirRegExp = /\/$/;
      const isRelativeRegexp = /^\.{0,2}\//;
      const topLevelLocator = { name: null, reference: null };
      const fallbackLocators = [];
      const emittedWarnings = /* @__PURE__ */ new Set();
      if (runtimeState.enableTopLevelFallback === true)
        fallbackLocators.push(topLevelLocator);
      if (opts.compatibilityMode !== false) {
        for (const name of [`react-scripts`, `gatsby`]) {
          const packageStore = runtimeState.packageRegistry.get(name);
          if (packageStore) {
            for (const reference of packageStore.keys()) {
              if (reference === null) {
                throw new Error(`Assertion failed: This reference shouldn't be null`);
              } else {
                fallbackLocators.push({ name, reference });
              }
            }
          }
        }
      }
      const {
        ignorePattern,
        packageRegistry,
        packageLocatorsByLocations
      } = runtimeState;
      function makeLogEntry(name, args) {
        return {
          fn: name,
          args,
          error: null,
          result: null
        };
      }
      function trace(entry) {
        const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY;
        const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`;
        const error = entry.error;
        if (error)
          console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`));
        else
          console.error(c(`33;1`, `\u203C Resolution`));
        if (entry.args.length > 0)
          console.error();
        for (const arg2 of entry.args)
          console.error(`  ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg2, { colors, compact: true })}`);
        if (entry.result) {
          console.error();
          console.error(`  ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`);
        }
        const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? [];
        if (stack.length > 0) {
          console.error();
          for (const line of stack) {
            console.error(`  ${c(`38;5;244`, line)}`);
          }
        }
        console.error();
      }
      function maybeLog(name, fn) {
        if (opts.allowDebug === false)
          return fn;
        if (Number.isFinite(debugLevel)) {
          if (debugLevel >= 2) {
            return (...args) => {
              const logEntry = makeLogEntry(name, args);
              try {
                return logEntry.result = fn(...args);
              } catch (error) {
                throw logEntry.error = error;
              } finally {
                trace(logEntry);
              }
            };
          } else if (debugLevel >= 1) {
            return (...args) => {
              try {
                return fn(...args);
              } catch (error) {
                const logEntry = makeLogEntry(name, args);
                logEntry.error = error;
                trace(logEntry);
                throw error;
              }
            };
          }
        }
        return fn;
      }
      function getPackageInformationSafe(packageLocator) {
        const packageInformation = getPackageInformation(packageLocator);
        if (!packageInformation) {
          throw makeError(
            ErrorCode.INTERNAL,
            `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`
          );
        }
        return packageInformation;
      }
      function isDependencyTreeRoot(packageLocator) {
        if (packageLocator.name === null)
          return true;
        for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots)
          if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference)
            return true;
        return false;
      }
      const defaultExportsConditions = /* @__PURE__ */ new Set([
        `node`,
        `require`,
        ...getOptionValue(`--conditions`)
      ]);
      function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) {
        const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), {
          resolveIgnored: true,
          includeDiscardFromLookup: true
        });
        if (locator === null) {
          throw makeError(
            ErrorCode.INTERNAL,
            `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)`
          );
        }
        const { packageLocation } = getPackageInformationSafe(locator);
        const manifestPath = ppath.join(packageLocation, Filename.manifest);
        if (!opts.fakeFs.existsSync(manifestPath))
          return null;
        const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`));
        if (pkgJson.exports == null)
          return null;
        let subpath = ppath.contains(packageLocation, unqualifiedPath);
        if (subpath === null) {
          throw makeError(
            ErrorCode.INTERNAL,
            `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)`
          );
        }
        if (subpath !== `.` && !isRelativeRegexp.test(subpath))
          subpath = `./${subpath}`;
        try {
          const resolvedExport = packageExportsResolve({
            packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)),
            packageSubpath: subpath,
            exports: pkgJson.exports,
            base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null,
            conditions
          });
          return npath.toPortablePath(url.fileURLToPath(resolvedExport));
        } catch (error) {
          throw makeError(
            ErrorCode.EXPORTS_RESOLUTION_FAILED,
            error.message,
            { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions },
            error.code
          );
        }
      }
      function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) {
        let stat;
        try {
          candidates.push(unqualifiedPath);
          stat = opts.fakeFs.statSync(unqualifiedPath);
        } catch (error) {
        }
        if (stat && !stat.isDirectory())
          return opts.fakeFs.realpathSync(unqualifiedPath);
        if (stat && stat.isDirectory()) {
          let pkgJson;
          try {
            pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`));
          } catch (error) {
          }
          let nextUnqualifiedPath;
          if (pkgJson && pkgJson.main)
            nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main);
          if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) {
            const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions });
            if (resolution !== null) {
              return resolution;
            }
          }
        }
        for (let i = 0, length = extensions.length; i < length; i++) {
          const candidateFile = `${unqualifiedPath}${extensions[i]}`;
          candidates.push(candidateFile);
          if (opts.fakeFs.existsSync(candidateFile)) {
            return candidateFile;
          }
        }
        if (stat && stat.isDirectory()) {
          for (let i = 0, length = extensions.length; i < length; i++) {
            const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] });
            candidates.push(candidateFile);
            if (opts.fakeFs.existsSync(candidateFile)) {
              return candidateFile;
            }
          }
        }
        return null;
      }
      function makeFakeModule(path3) {
        const fakeModule = new module$1.Module(path3, null);
        fakeModule.filename = path3;
        fakeModule.paths = module$1.Module._nodeModulePaths(path3);
        return fakeModule;
      }
      function callNativeResolution(request, issuer) {
        if (issuer.endsWith(`/`))
          issuer = ppath.join(issuer, `internal.js`);
        return module$1.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false });
      }
      function isPathIgnored(path3) {
        if (ignorePattern === null)
          return false;
        const subPath = ppath.contains(runtimeState.basePath, path3);
        if (subPath === null)
          return false;
        if (ignorePattern.test(subPath.replace(/\/$/, ``))) {
          return true;
        } else {
          return false;
        }
      }
      const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 };
      const topLevel = topLevelLocator;
      function getPackageInformation({ name, reference }) {
        const packageInformationStore = packageRegistry.get(name);
        if (!packageInformationStore)
          return null;
        const packageInformation = packageInformationStore.get(reference);
        if (!packageInformation)
          return null;
        return packageInformation;
      }
      function findPackageDependents({ name, reference }) {
        const dependents = [];
        for (const [dependentName, packageInformationStore] of packageRegistry) {
          if (dependentName === null)
            continue;
          for (const [dependentReference, packageInformation] of packageInformationStore) {
            if (dependentReference === null)
              continue;
            const dependencyReference = packageInformation.packageDependencies.get(name);
            if (dependencyReference !== reference)
              continue;
            if (dependentName === name && dependentReference === reference)
              continue;
            dependents.push({
              name: dependentName,
              reference: dependentReference
            });
          }
        }
        return dependents;
      }
      function findBrokenPeerDependencies(dependency, initialPackage) {
        const brokenPackages = /* @__PURE__ */ new Map();
        const alreadyVisited = /* @__PURE__ */ new Set();
        const traversal = (currentPackage) => {
          const identifier = JSON.stringify(currentPackage.name);
          if (alreadyVisited.has(identifier))
            return;
          alreadyVisited.add(identifier);
          const dependents = findPackageDependents(currentPackage);
          for (const dependent of dependents) {
            const dependentInformation = getPackageInformationSafe(dependent);
            if (dependentInformation.packagePeers.has(dependency)) {
              traversal(dependent);
            } else {
              let brokenSet = brokenPackages.get(dependent.name);
              if (typeof brokenSet === `undefined`)
                brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set());
              brokenSet.add(dependent.reference);
            }
          }
        };
        traversal(initialPackage);
        const brokenList = [];
        for (const name of [...brokenPackages.keys()].sort())
          for (const reference of [...brokenPackages.get(name)].sort())
            brokenList.push({ name, reference });
        return brokenList;
      }
      function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) {
        if (isPathIgnored(location) && !resolveIgnored)
          return null;
        let relativeLocation = ppath.relative(runtimeState.basePath, location);
        if (!relativeLocation.match(isStrictRegExp))
          relativeLocation = `./${relativeLocation}`;
        if (!relativeLocation.endsWith(`/`))
          relativeLocation = `${relativeLocation}/`;
        do {
          const entry = packageLocatorsByLocations.get(relativeLocation);
          if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) {
            relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1);
            continue;
          }
          return entry.locator;
        } while (relativeLocation !== ``);
        return null;
      }
      function tryReadFile(filePath) {
        try {
          return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`);
        } catch (err) {
          if (err.code === `ENOENT`)
            return void 0;
          throw err;
        }
      }
      function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) {
        if (request.startsWith(`#`))
          throw new Error(`resolveToUnqualified can not handle private import mappings`);
        if (request === `pnpapi`)
          return npath.toPortablePath(opts.pnpapiResolution);
        if (considerBuiltins && module$1.isBuiltin(request))
          return null;
        const requestForDisplay = getPathForDisplay(request);
        const issuerForDisplay = issuer && getPathForDisplay(issuer);
        if (issuer && isPathIgnored(issuer)) {
          if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) {
            const result2 = callNativeResolution(request, issuer);
            if (result2 === false) {
              throw makeError(
                ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
                `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp)

Require request: "${requestForDisplay}"
Required by: ${issuerForDisplay}
`,
                { request: requestForDisplay, issuer: issuerForDisplay }
              );
            }
            return npath.toPortablePath(result2);
          }
        }
        let unqualifiedPath;
        const dependencyNameMatch = request.match(pathRegExp);
        if (!dependencyNameMatch) {
          if (ppath.isAbsolute(request)) {
            unqualifiedPath = ppath.normalize(request);
          } else {
            if (!issuer) {
              throw makeError(
                ErrorCode.API_ERROR,
                `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
                { request: requestForDisplay, issuer: issuerForDisplay }
              );
            }
            const absoluteIssuer = ppath.resolve(issuer);
            if (issuer.match(isDirRegExp)) {
              unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request));
            } else {
              unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request));
            }
          }
        } else {
          if (!issuer) {
            throw makeError(
              ErrorCode.API_ERROR,
              `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`,
              { request: requestForDisplay, issuer: issuerForDisplay }
            );
          }
          const [, dependencyName, subPath] = dependencyNameMatch;
          const issuerLocator = findPackageLocator(issuer);
          if (!issuerLocator) {
            const result2 = callNativeResolution(request, issuer);
            if (result2 === false) {
              throw makeError(
                ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED,
                `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree).

Require path: "${requestForDisplay}"
Required by: ${issuerForDisplay}
`,
                { request: requestForDisplay, issuer: issuerForDisplay }
              );
            }
            return npath.toPortablePath(result2);
          }
          const issuerInformation = getPackageInformationSafe(issuerLocator);
          let dependencyReference = issuerInformation.packageDependencies.get(dependencyName);
          let fallbackReference = null;
          if (dependencyReference == null) {
            if (issuerLocator.name !== null) {
              const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name);
              const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference);
              if (canUseFallbacks) {
                for (let t = 0, T = fallbackLocators.length; t < T; ++t) {
                  const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]);
                  const reference = fallbackInformation.packageDependencies.get(dependencyName);
                  if (reference == null)
                    continue;
                  if (alwaysWarnOnFallback)
                    fallbackReference = reference;
                  else
                    dependencyReference = reference;
                  break;
                }
                if (runtimeState.enableTopLevelFallback) {
                  if (dependencyReference == null && fallbackReference === null) {
                    const reference = runtimeState.fallbackPool.get(dependencyName);
                    if (reference != null) {
                      fallbackReference = reference;
                    }
                  }
                }
              }
            }
          }
          let error = null;
          if (dependencyReference === null) {
            if (isDependencyTreeRoot(issuerLocator)) {
              error = makeError(
                ErrorCode.MISSING_PEER_DEPENDENCY,
                `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
                { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
              );
            } else {
              const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator);
              if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) {
                error = makeError(
                  ErrorCode.MISSING_PEER_DEPENDENCY,
                  `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
`).join(``)}
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
                );
              } else {
                error = makeError(
                  ErrorCode.MISSING_PEER_DEPENDENCY,
                  `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})

${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference}
`).join(``)}
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors }
                );
              }
            }
          } else if (dependencyReference === void 0) {
            if (!considerBuiltins && module$1.isBuiltin(request)) {
              if (isDependencyTreeRoot(issuerLocator)) {
                error = makeError(
                  ErrorCode.UNDECLARED_DEPENDENCY,
                  `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
                );
              } else {
                error = makeError(
                  ErrorCode.UNDECLARED_DEPENDENCY,
                  `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
                );
              }
            } else {
              if (isDependencyTreeRoot(issuerLocator)) {
                error = makeError(
                  ErrorCode.UNDECLARED_DEPENDENCY,
                  `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerForDisplay}
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, dependencyName }
                );
              } else {
                error = makeError(
                  ErrorCode.UNDECLARED_DEPENDENCY,
                  `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
`,
                  { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName }
                );
              }
            }
          }
          if (dependencyReference == null) {
            if (fallbackReference === null || error === null)
              throw error || new Error(`Assertion failed: Expected an error to have been set`);
            dependencyReference = fallbackReference;
            const message = error.message.replace(/\n.*/g, ``);
            error.message = message;
            if (!emittedWarnings.has(message) && debugLevel !== 0) {
              emittedWarnings.add(message);
              process.emitWarning(error);
            }
          }
          const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference };
          const dependencyInformation = getPackageInformationSafe(dependencyLocator);
          if (!dependencyInformation.packageLocation) {
            throw makeError(
              ErrorCode.MISSING_DEPENDENCY,
              `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod.

Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``}
Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay})
`,
              { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) }
            );
          }
          const dependencyLocation = dependencyInformation.packageLocation;
          if (subPath) {
            unqualifiedPath = ppath.join(dependencyLocation, subPath);
          } else {
            unqualifiedPath = dependencyLocation;
          }
        }
        return ppath.normalize(unqualifiedPath);
      }
      function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) {
        if (isStrictRegExp.test(request))
          return unqualifiedPath;
        const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer);
        if (unqualifiedExportPath) {
          return ppath.normalize(unqualifiedExportPath);
        } else {
          return unqualifiedPath;
        }
      }
      function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(module$1.Module._extensions) } = {}) {
        const candidates = [];
        const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions });
        if (qualifiedPath) {
          return ppath.normalize(qualifiedPath);
        } else {
          reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate)));
          const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath);
          const containingPackage = findPackageLocator(unqualifiedPath);
          if (containingPackage) {
            const { packageLocation } = getPackageInformationSafe(containingPackage);
            let exists = true;
            try {
              opts.fakeFs.accessSync(packageLocation);
            } catch (err) {
              if (err?.code === `ENOENT`) {
                exists = false;
              } else {
                const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase());
                throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}).

Missing package: ${containingPackage.name}@${containingPackage.reference}
Expected package location: ${getPathForDisplay(packageLocation)}
`, { unqualifiedPath: unqualifiedPathForDisplay, extensions });
              }
            }
            if (!exists) {
              const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`;
              throw makeError(
                ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
                `${errorMessage}

Missing package: ${containingPackage.name}@${containingPackage.reference}
Expected package location: ${getPathForDisplay(packageLocation)}
`,
                { unqualifiedPath: unqualifiedPathForDisplay, extensions }
              );
            }
          }
          throw makeError(
            ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,
            `Qualified path resolution failed: we looked for the following paths, but none could be accessed.

Source path: ${unqualifiedPathForDisplay}
${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)}
`).join(``)}`,
            { unqualifiedPath: unqualifiedPathForDisplay, extensions }
          );
        }
      }
      function resolvePrivateRequest(request, issuer, opts2) {
        if (!issuer)
          throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`);
        const resolved = packageImportsResolve({
          name: request,
          base: url.pathToFileURL(npath.fromPortablePath(issuer)),
          conditions: opts2.conditions ?? defaultExportsConditions,
          readFileSyncFn: tryReadFile
        });
        if (resolved instanceof URL) {
          return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions });
        } else {
          if (resolved.startsWith(`#`))
            throw new Error(`Mapping from one private import to another isn't allowed`);
          return resolveRequest(resolved, issuer, opts2);
        }
      }
      function resolveRequest(request, issuer, opts2 = {}) {
        try {
          if (request.startsWith(`#`))
            return resolvePrivateRequest(request, issuer, opts2);
          const { considerBuiltins, extensions, conditions } = opts2;
          const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins });
          if (request === `pnpapi`)
            return unqualifiedPath;
          if (unqualifiedPath === null)
            return null;
          const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false;
          const remappedPath = (!considerBuiltins || !module$1.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath;
          return resolveUnqualified(remappedPath, { extensions });
        } catch (error) {
          if (Object.hasOwn(error, `pnpCode`))
            Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) });
          throw error;
        }
      }
      function resolveVirtual(request) {
        const normalized = ppath.normalize(request);
        const resolved = VirtualFS.resolveVirtual(normalized);
        return resolved !== normalized ? resolved : null;
      }
      return {
        VERSIONS,
        topLevel,
        getLocator: (name, referencish) => {
          if (Array.isArray(referencish)) {
            return { name: referencish[0], reference: referencish[1] };
          } else {
            return { name, reference: referencish };
          }
        },
        getDependencyTreeRoots: () => {
          return [...runtimeState.dependencyTreeRoots];
        },
        getAllLocators() {
          const locators = [];
          for (const [name, entry] of packageRegistry)
            for (const reference of entry.keys())
              if (name !== null && reference !== null)
                locators.push({ name, reference });
          return locators;
        },
        getPackageInformation: (locator) => {
          const info = getPackageInformation(locator);
          if (info === null)
            return null;
          const packageLocation = npath.fromPortablePath(info.packageLocation);
          const nativeInfo = { ...info, packageLocation };
          return nativeInfo;
        },
        findPackageLocator: (path3) => {
          return findPackageLocator(npath.toPortablePath(path3));
        },
        resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => {
          const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null;
          const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2);
          if (resolution === null)
            return null;
          return npath.fromPortablePath(resolution);
        }),
        resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => {
          return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2));
        }),
        resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => {
          const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null;
          const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2);
          if (resolution === null)
            return null;
          return npath.fromPortablePath(resolution);
        }),
        resolveVirtual: maybeLog(`resolveVirtual`, (path3) => {
          const result2 = resolveVirtual(npath.toPortablePath(path3));
          if (result2 !== null) {
            return npath.fromPortablePath(result2);
          } else {
            return null;
          }
        })
      };
    }
    async function hydratePnpFile(location, { fakeFs, pnpapiResolution }) {
      const source = await fakeFs.readFilePromise(location, `utf8`);
      return hydratePnpSource(source, {
        basePath: path2.dirname(location),
        fakeFs,
        pnpapiResolution
      });
    }
    function hydratePnpSource(source, { basePath, fakeFs, pnpapiResolution }) {
      const data = JSON.parse(source);
      const runtimeState = hydrateRuntimeState(data, {
        basePath
      });
      return makeApi(runtimeState, {
        compatibilityMode: true,
        fakeFs,
        pnpapiResolution
      });
    }
    var makeRuntimeApi = (settings, basePath, fakeFs) => {
      const data = generateSerializedState(settings);
      const state = hydrateRuntimeState(data, { basePath });
      const pnpapiResolution = npath.join(basePath, Filename.pnpCjs);
      return makeApi(state, { fakeFs, pnpapiResolution });
    };
    var hook;
    var builtLoader = () => {
      if (typeof hook === `undefined`)
        hook = require$$0__default.default.brotliDecompressSync(Buffer.from(" ", "base64")).toString();
      return hook;
    };
    exports2.LinkType = LinkType;
    exports2.generateInlinedScript = generateInlinedScript;
    exports2.generateLoader = generateLoader;
    exports2.generatePrettyJson = generatePrettyJson;
    exports2.generateSplitScript = generateSplitScript;
    exports2.getESMLoaderTemplate = builtLoader;
    exports2.hydratePnpFile = hydratePnpFile;
    exports2.hydratePnpSource = hydratePnpSource;
    exports2.makeRuntimeApi = makeRuntimeApi;
  }
});

// ../lockfile/lockfile-to-pnp/lib/index.js
var require_lib147 = __commonJS({
  "../lockfile/lockfile-to-pnp/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writePnpFile = writePnpFile;
    exports2.lockfileToPackageRegistry = lockfileToPackageRegistry;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var lockfile_utils_1 = require_lib117();
    var dependency_path_1 = require_lib98();
    var pnp_1 = require_lib146();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    async function writePnpFile(lockfile, opts) {
      const packageRegistry = lockfileToPackageRegistry(lockfile, opts);
      const loaderFile = (0, pnp_1.generateInlinedScript)({
        dependencyTreeRoots: [],
        ignorePattern: void 0,
        packageRegistry,
        shebang: void 0
      });
      await fs_1.promises.writeFile(path_1.default.join(opts.lockfileDir, ".pnp.cjs"), loaderFile, "utf8");
    }
    function lockfileToPackageRegistry(lockfile, opts) {
      const packageRegistry = /* @__PURE__ */ new Map();
      for (const [importerId, importer] of Object.entries(lockfile.importers)) {
        if (importerId === ".") {
          const packageStore = /* @__PURE__ */ new Map([
            [
              null,
              {
                packageDependencies: new Map([
                  ...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies) : [],
                  ...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies) : [],
                  ...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies) : []
                ]),
                packageLocation: "./"
              }
            ]
          ]);
          packageRegistry.set(null, packageStore);
        } else {
          const name = opts.importerNames[importerId];
          const packageStore = /* @__PURE__ */ new Map([
            [
              importerId,
              {
                packageDependencies: new Map([
                  [name, importerId],
                  ...importer.dependencies != null ? toPackageDependenciesMap(lockfile, importer.dependencies, importerId) : [],
                  ...importer.optionalDependencies != null ? toPackageDependenciesMap(lockfile, importer.optionalDependencies, importerId) : [],
                  ...importer.devDependencies != null ? toPackageDependenciesMap(lockfile, importer.devDependencies, importerId) : []
                ]),
                packageLocation: `./${importerId}`
              }
            ]
          ]);
          packageRegistry.set(name, packageStore);
        }
      }
      for (const [relDepPath, pkgSnapshot] of Object.entries(lockfile.packages ?? {})) {
        const { name, version: version2, peersSuffix } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relDepPath, pkgSnapshot);
        const pnpVersion = toPnPVersion(version2, peersSuffix);
        let packageStore = packageRegistry.get(name);
        if (!packageStore) {
          packageStore = /* @__PURE__ */ new Map();
          packageRegistry.set(name, packageStore);
        }
        let packageLocation = (0, normalize_path_1.default)(path_1.default.relative(opts.lockfileDir, path_1.default.join(opts.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(relDepPath, opts.virtualStoreDirMaxLength), "node_modules", name)));
        if (!packageLocation.startsWith("../")) {
          packageLocation = `./${packageLocation}`;
        }
        packageStore.set(pnpVersion, {
          packageDependencies: new Map([
            [name, pnpVersion],
            ...pkgSnapshot.dependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.dependencies) : [],
            ...pkgSnapshot.optionalDependencies != null ? toPackageDependenciesMap(lockfile, pkgSnapshot.optionalDependencies) : []
          ]),
          packageLocation
        });
      }
      return packageRegistry;
    }
    function toPackageDependenciesMap(lockfile, deps, importerId) {
      return Object.entries(deps).map(([depAlias, ref]) => {
        if (importerId && ref.startsWith("link:")) {
          return [depAlias, path_1.default.join(importerId, ref.slice(5))];
        }
        const relDepPath = (0, dependency_path_1.refToRelative)(ref, depAlias);
        if (!relDepPath)
          return [depAlias, ref];
        const { name, version: version2, peersSuffix } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relDepPath, lockfile.packages[relDepPath]);
        const pnpVersion = toPnPVersion(version2, peersSuffix);
        if (depAlias === name) {
          return [depAlias, pnpVersion];
        }
        return [depAlias, [name, pnpVersion]];
      });
    }
    function toPnPVersion(version2, peersSuffix) {
      return peersSuffix ? `virtual:${version2}${peersSuffix}#${version2}` : version2;
    }
  }
});

// ../pkg-manager/modules-cleaner/lib/removeDirectDependency.js
var require_removeDirectDependency = __commonJS({
  "../pkg-manager/modules-cleaner/lib/removeDirectDependency.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removeDirectDependency = removeDirectDependency;
    exports2.removeIfEmpty = removeIfEmpty;
    var path_1 = __importDefault2(require("path"));
    var fs_1 = require("fs");
    var core_loggers_1 = require_lib28();
    var remove_bins_1 = require_lib51();
    var rimraf_1 = __importDefault2(require_rimraf());
    async function removeDirectDependency(dependency, opts) {
      const dependencyDir = path_1.default.join(opts.modulesDir, dependency.name);
      const results = await Promise.all([
        (0, remove_bins_1.removeBinsOfDependency)(dependencyDir, opts),
        !opts.dryRun && (0, remove_bins_1.removeBin)(dependencyDir)
        // eslint-disable-line @typescript-eslint/no-explicit-any
      ]);
      await removeIfEmpty(opts.binsDir);
      const uninstalledPkg = results[0];
      if (!opts.muteLogs) {
        core_loggers_1.rootLogger.debug({
          prefix: opts.rootDir,
          removed: {
            dependencyType: dependency.dependenciesField === "devDependencies" && "dev" || dependency.dependenciesField === "optionalDependencies" && "optional" || dependency.dependenciesField === "dependencies" && "prod" || void 0,
            name: dependency.name,
            version: uninstalledPkg?.version
          }
        });
      }
    }
    async function removeIfEmpty(dir) {
      if (await dirIsEmpty(dir)) {
        await (0, rimraf_1.default)(dir);
      }
    }
    async function dirIsEmpty(dir) {
      try {
        const fileNames = await fs_1.promises.readdir(dir);
        return fileNames.length === 0;
      } catch {
        return false;
      }
    }
  }
});

// ../pkg-manager/modules-cleaner/lib/prune.js
var require_prune2 = __commonJS({
  "../pkg-manager/modules-cleaner/lib/prune.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prune = prune;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var lockfile_filtering_1 = require_lib144();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var read_modules_dir_1 = require_lib71();
    var types_1 = require_lib31();
    var dependency_path_1 = require_lib98();
    var rimraf_1 = __importDefault2(require_rimraf());
    var difference_1 = __importDefault2(require_difference());
    var equals_1 = __importDefault2(require_equals2());
    var mergeAll_1 = __importDefault2(require_mergeAll2());
    var pickAll_1 = __importDefault2(require_pickAll());
    var removeDirectDependency_1 = require_removeDirectDependency();
    async function prune(importers, opts) {
      const wantedLockfile = (0, lockfile_filtering_1.filterLockfile)(opts.wantedLockfile, {
        include: opts.include,
        skipped: opts.skipped
      });
      const rootImporter = wantedLockfile.importers["."] ?? {};
      const wantedRootPkgs = mergeDependencies(rootImporter);
      await Promise.all(importers.map(async ({ binsDir, id, modulesDir, pruneDirectDependencies, removePackages, rootDir }) => {
        const currentImporter = opts.currentLockfile.importers[id] || {};
        const currentPkgs = Object.entries(mergeDependencies(currentImporter));
        const wantedPkgs = mergeDependencies(wantedLockfile.importers[id]);
        const allCurrentPackages = new Set(pruneDirectDependencies === true || removePackages?.length ? await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? [] : []);
        const depsToRemove = new Set((removePackages ?? []).filter((removePackage) => allCurrentPackages.has(removePackage)));
        for (const [depName, depVersion] of currentPkgs) {
          if (!wantedPkgs[depName] || wantedPkgs[depName] !== depVersion || opts.dedupeDirectDeps && id !== "." && wantedPkgs[depName] === wantedRootPkgs[depName]) {
            depsToRemove.add(depName);
          }
        }
        if (pruneDirectDependencies) {
          const publiclyHoistedDeps = getPubliclyHoistedDependencies(opts.hoistedDependencies);
          if (allCurrentPackages.size > 0) {
            for (const currentPackage of allCurrentPackages) {
              if (!wantedPkgs[currentPackage] && !publiclyHoistedDeps.has(currentPackage)) {
                depsToRemove.add(currentPackage);
              }
            }
          }
        }
        const removedFromScopes = /* @__PURE__ */ new Set();
        await Promise.all(Array.from(depsToRemove).map(async (depName) => {
          const scope = getScopeFromPackageName(depName);
          if (scope) {
            removedFromScopes.add(scope);
          }
          return (0, removeDirectDependency_1.removeDirectDependency)({
            dependenciesField: currentImporter.devDependencies?.[depName] != null && "devDependencies" || currentImporter.optionalDependencies?.[depName] != null && "optionalDependencies" || currentImporter.dependencies?.[depName] != null && "dependencies" || void 0,
            name: depName
          }, {
            binsDir,
            dryRun: opts.dryRun,
            modulesDir,
            rootDir
          });
        }));
        await Promise.all(Array.from(removedFromScopes).map((scope) => (0, removeDirectDependency_1.removeIfEmpty)(path_1.default.join(modulesDir, scope))));
        try {
          await (0, removeDirectDependency_1.removeIfEmpty)(modulesDir);
        } catch {
        }
      }));
      const selectedImporterIds = importers.map((importer) => importer.id).sort();
      const currentPkgIdsByDepPaths = (0, equals_1.default)(selectedImporterIds, Object.keys(opts.wantedLockfile.importers)) ? getPkgsDepPaths(opts.currentLockfile.packages ?? {}, opts.skipped) : getPkgsDepPathsOwnedOnlyByImporters(selectedImporterIds, opts.currentLockfile, opts.include, opts.skipped);
      const wantedPkgIdsByDepPaths = getPkgsDepPaths(wantedLockfile.packages ?? {}, opts.skipped);
      const orphanDepPaths = Object.keys(currentPkgIdsByDepPaths).filter((path2) => !wantedPkgIdsByDepPaths[path2]);
      const orphanPkgIds = new Set(orphanDepPaths.map((path2) => currentPkgIdsByDepPaths[path2]));
      core_loggers_1.statsLogger.debug({
        prefix: opts.lockfileDir,
        removed: orphanPkgIds.size
      });
      if (!opts.dryRun) {
        if (orphanDepPaths.length > 0 && opts.currentLockfile.packages != null && (opts.hoistedModulesDir != null || opts.publicHoistedModulesDir != null)) {
          const prefix = path_1.default.join(opts.virtualStoreDir, "../..");
          await Promise.all(orphanDepPaths.map(async (orphanDepPath) => {
            if (opts.hoistedDependencies[orphanDepPath]) {
              await Promise.all(Object.entries(opts.hoistedDependencies[orphanDepPath]).map(([alias, hoistType]) => {
                const modulesDir = hoistType === "public" ? opts.publicHoistedModulesDir : opts.hoistedModulesDir;
                if (!modulesDir)
                  return void 0;
                return (0, removeDirectDependency_1.removeDirectDependency)({
                  name: alias
                }, {
                  binsDir: path_1.default.join(modulesDir, ".bin"),
                  modulesDir,
                  muteLogs: true,
                  rootDir: prefix
                });
              }));
            }
            delete opts.hoistedDependencies[orphanDepPath];
          }));
        }
        if (opts.pruneVirtualStore !== false) {
          const _tryRemovePkg = tryRemovePkg.bind(null, opts.lockfileDir, opts.virtualStoreDir);
          await Promise.all(orphanDepPaths.map((orphanDepPath) => (0, dependency_path_1.depPathToFilename)(orphanDepPath, opts.virtualStoreDirMaxLength)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath)));
          const neededPkgs = /* @__PURE__ */ new Set(["node_modules"]);
          for (const depPath of Object.keys(opts.wantedLockfile.packages ?? {})) {
            if (opts.skipped.has(depPath))
              continue;
            neededPkgs.add((0, dependency_path_1.depPathToFilename)(depPath, opts.virtualStoreDirMaxLength));
          }
          const availablePkgs = await readVirtualStoreDir(opts.virtualStoreDir, opts.lockfileDir);
          await Promise.all(availablePkgs.filter((availablePkg) => !neededPkgs.has(availablePkg)).map(async (orphanDepPath) => _tryRemovePkg(orphanDepPath)));
        }
      }
      return new Set(orphanDepPaths);
    }
    function getScopeFromPackageName(pkgName) {
      if (pkgName[0] === "@") {
        return pkgName.substring(0, pkgName.indexOf("/"));
      }
      return void 0;
    }
    async function readVirtualStoreDir(virtualStoreDir, lockfileDir) {
      try {
        return await fs_1.promises.readdir(virtualStoreDir);
      } catch (err) {
        if (err.code !== "ENOENT") {
          logger_1.logger.warn({
            error: err,
            message: `Failed to read virtualStoreDir at "${virtualStoreDir}"`,
            prefix: lockfileDir
          });
        }
        return [];
      }
    }
    async function tryRemovePkg(lockfileDir, virtualStoreDir, pkgDir) {
      const pathToRemove = path_1.default.join(virtualStoreDir, pkgDir);
      core_loggers_1.removalLogger.debug(pathToRemove);
      try {
        await (0, rimraf_1.default)(pathToRemove);
      } catch (err) {
        logger_1.logger.warn({
          error: err,
          message: `Failed to remove "${pathToRemove}"`,
          prefix: lockfileDir
        });
      }
    }
    function mergeDependencies(projectSnapshot) {
      return (0, mergeAll_1.default)(types_1.DEPENDENCIES_FIELDS.map((depType) => projectSnapshot[depType] ?? {}));
    }
    function getPkgsDepPaths(packages, skipped) {
      const acc = {};
      for (const [depPath, pkg] of Object.entries(packages)) {
        if (skipped.has(depPath))
          return acc;
        acc[depPath] = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkg);
      }
      return acc;
    }
    function getPkgsDepPathsOwnedOnlyByImporters(importerIds, lockfile, include, skipped) {
      const selected = (0, lockfile_filtering_1.filterLockfileByImporters)(lockfile, importerIds, {
        failOnMissingDependencies: false,
        include,
        skipped
      });
      const other = (0, lockfile_filtering_1.filterLockfileByImporters)(lockfile, (0, difference_1.default)(Object.keys(lockfile.importers), importerIds), {
        failOnMissingDependencies: false,
        include,
        skipped
      });
      const packagesOfSelectedOnly = (0, pickAll_1.default)((0, difference_1.default)(Object.keys(selected.packages), Object.keys(other.packages)), selected.packages);
      return getPkgsDepPaths(packagesOfSelectedOnly, skipped);
    }
    function getPubliclyHoistedDependencies(hoistedDependencies) {
      const publiclyHoistedDeps = /* @__PURE__ */ new Set();
      for (const hoistedAliases of Object.values(hoistedDependencies)) {
        for (const [alias, hoistType] of Object.entries(hoistedAliases)) {
          if (hoistType === "public") {
            publiclyHoistedDeps.add(alias);
          }
        }
      }
      return publiclyHoistedDeps;
    }
  }
});

// ../pkg-manager/modules-cleaner/lib/index.js
var require_lib148 = __commonJS({
  "../pkg-manager/modules-cleaner/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prune = void 0;
    var prune_1 = require_prune2();
    Object.defineProperty(exports2, "prune", { enumerable: true, get: function() {
      return prune_1.prune;
    } });
  }
});

// ../fs/symlink-dependency/lib/symlinkDirectRootDependency.js
var require_symlinkDirectRootDependency = __commonJS({
  "../fs/symlink-dependency/lib/symlinkDirectRootDependency.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.symlinkDirectRootDependency = symlinkDirectRootDependency;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var core_loggers_1 = require_lib28();
    var symlink_dir_1 = __importDefault2(require_dist17());
    var DEP_TYPE_BY_DEPS_FIELD_NAME = {
      dependencies: "prod",
      devDependencies: "dev",
      optionalDependencies: "optional"
    };
    async function symlinkDirectRootDependency(dependencyLocation, destModulesDir, importAs, opts) {
      let destModulesDirReal;
      try {
        destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          await fs_1.promises.mkdir(destModulesDir, { recursive: true });
          destModulesDirReal = await fs_1.promises.realpath(destModulesDir);
        } else {
          throw err;
        }
      }
      const dest = path_1.default.join(destModulesDirReal, importAs);
      const { reused } = await (0, symlink_dir_1.default)(dependencyLocation, dest);
      if (reused)
        return;
      core_loggers_1.rootLogger.debug({
        added: {
          dependencyType: opts.fromDependenciesField && DEP_TYPE_BY_DEPS_FIELD_NAME[opts.fromDependenciesField],
          linkedFrom: dependencyLocation,
          name: importAs,
          realName: opts.linkedPackage.name,
          version: opts.linkedPackage.version
        },
        prefix: opts.prefix
      });
    }
  }
});

// ../fs/symlink-dependency/lib/index.js
var require_lib149 = __commonJS({
  "../fs/symlink-dependency/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.symlinkDirectRootDependency = void 0;
    exports2.symlinkDependency = symlinkDependency;
    exports2.symlinkDependencySync = symlinkDependencySync;
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var symlink_dir_1 = __importDefault2(require_dist17());
    var symlinkDirectRootDependency_1 = require_symlinkDirectRootDependency();
    Object.defineProperty(exports2, "symlinkDirectRootDependency", { enumerable: true, get: function() {
      return symlinkDirectRootDependency_1.symlinkDirectRootDependency;
    } });
    async function symlinkDependency(dependencyRealLocation, destModulesDir, importAs) {
      const link = path_1.default.join(destModulesDir, importAs);
      core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
      return (0, symlink_dir_1.default)(dependencyRealLocation, link);
    }
    function symlinkDependencySync(dependencyRealLocation, destModulesDir, importAs) {
      const link = path_1.default.join(destModulesDir, importAs);
      core_loggers_1.linkLogger.debug({ target: dependencyRealLocation, link });
      return symlink_dir_1.default.sync(dependencyRealLocation, link);
    }
  }
});

// ../pkg-manager/headless/lib/linkHoistedModules.js
var require_linkHoistedModules = __commonJS({
  "../pkg-manager/headless/lib/linkHoistedModules.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkHoistedModules = linkHoistedModules;
    var path_1 = __importDefault2(require("path"));
    var calc_dep_state_1 = require_lib109();
    var core_loggers_1 = require_lib28();
    var link_bins_1 = require_lib72();
    var logger_1 = require_lib();
    var p_limit_12 = __importDefault2(require_p_limit());
    var difference_1 = __importDefault2(require_difference());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var rimraf_1 = __importDefault2(require_rimraf());
    var limitLinking = (0, p_limit_12.default)(16);
    async function linkHoistedModules(storeController, graph, prevGraph, hierarchy, opts) {
      const dirsToRemove = (0, difference_1.default)(Object.keys(prevGraph), Object.keys(graph));
      core_loggers_1.statsLogger.debug({
        prefix: opts.lockfileDir,
        removed: dirsToRemove.length
      });
      await Promise.all(dirsToRemove.map((dir) => tryRemoveDir(dir)));
      await Promise.all(Object.entries(hierarchy).map(([parentDir, depsHierarchy]) => {
        function warn(message) {
          logger_1.logger.info({
            message,
            prefix: parentDir
          });
        }
        return linkAllPkgsInOrder(storeController, graph, depsHierarchy, parentDir, {
          ...opts,
          warn
        });
      }));
    }
    async function tryRemoveDir(dir) {
      core_loggers_1.removalLogger.debug(dir);
      try {
        await (0, rimraf_1.default)(dir);
      } catch (err) {
      }
    }
    async function linkAllPkgsInOrder(storeController, graph, hierarchy, parentDir, opts) {
      const _calcDepState = calc_dep_state_1.calcDepState.bind(null, graph, opts.depsStateCache);
      await Promise.all(Object.entries(hierarchy).map(async ([dir, deps]) => {
        const depNode = graph[dir];
        if (depNode.fetching) {
          let filesResponse;
          try {
            filesResponse = (await depNode.fetching()).files;
          } catch (err) {
            if (depNode.optional)
              return;
            throw err;
          }
          depNode.requiresBuild = filesResponse.requiresBuild;
          let sideEffectsCacheKey;
          if (opts.sideEffectsCacheRead && filesResponse.sideEffects && !(0, isEmpty_1.default)(filesResponse.sideEffects)) {
            if (opts?.allowBuild?.(depNode.name) !== false) {
              sideEffectsCacheKey = _calcDepState(dir, {
                isBuilt: !opts.ignoreScripts && depNode.requiresBuild,
                patchFileHash: depNode.patch?.file.hash
              });
            }
          }
          await limitLinking(async () => {
            const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
              filesResponse,
              force: true,
              disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
              keepModulesDir: true,
              requiresBuild: depNode.patch != null || depNode.requiresBuild,
              sideEffectsCacheKey
            });
            if (importMethod) {
              core_loggers_1.progressLogger.debug({
                method: importMethod,
                requester: opts.lockfileDir,
                status: "imported",
                to: depNode.dir
              });
            }
            depNode.isBuilt = isBuilt;
          });
        }
        return linkAllPkgsInOrder(storeController, graph, deps, dir, opts);
      }));
      const modulesDir = path_1.default.join(parentDir, "node_modules");
      const binsDir = path_1.default.join(modulesDir, ".bin");
      await (0, link_bins_1.linkBins)(modulesDir, binsDir, {
        allowExoticManifests: true,
        preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
        warn: opts.warn
      });
    }
  }
});

// ../patching/config/lib/index.js
var require_lib150 = __commonJS({
  "../patching/config/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPatchInfo = getPatchInfo;
    function getPatchInfo(patchedDependencies, pkgName, pkgVersion) {
      if (!patchedDependencies)
        return void 0;
      const pkgNameAndVersion = `${pkgName}@${pkgVersion}`;
      if (patchedDependencies[pkgNameAndVersion]) {
        return {
          file: patchedDependencies[pkgNameAndVersion],
          key: pkgNameAndVersion,
          strict: true
        };
      }
      if (patchedDependencies[pkgName]) {
        return {
          file: patchedDependencies[pkgName],
          key: pkgName,
          strict: false
        };
      }
      return void 0;
    }
  }
});

// ../deps/graph-builder/lib/lockfileToDepGraph.js
var require_lockfileToDepGraph = __commonJS({
  "../deps/graph-builder/lib/lockfileToDepGraph.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileToDepGraph = lockfileToDepGraph;
    var path_1 = __importDefault2(require("path"));
    var constants_1 = require_lib5();
    var core_loggers_1 = require_lib28();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var package_is_installable_1 = require_lib30();
    var patching_config_1 = require_lib150();
    var dp = __importStar3(require_lib98());
    var path_exists_1 = __importDefault2(require_path_exists2());
    var equals_1 = __importDefault2(require_equals2());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var brokenModulesLogger = (0, logger_1.logger)("_broken_node_modules");
    async function lockfileToDepGraph(lockfile, currentLockfile, opts) {
      const currentPackages = currentLockfile?.packages ?? {};
      const graph = {};
      const directDependenciesByImporterId = {};
      if (lockfile.packages != null) {
        const pkgSnapshotByLocation = {};
        const _getPatchInfo = patching_config_1.getPatchInfo.bind(null, opts.patchedDependencies);
        await Promise.all(Object.entries(lockfile.packages).map(async ([depPath, pkgSnapshot]) => {
          if (opts.skipped.has(depPath))
            return;
          const { name: pkgName, version: pkgVersion } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
          const modules = path_1.default.join(opts.virtualStoreDir, dp.depPathToFilename(depPath, opts.virtualStoreDirMaxLength), "node_modules");
          const packageId = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot);
          const pkgIdWithPatchHash = dp.getPkgIdWithPatchHash(depPath);
          const pkg = {
            name: pkgName,
            version: pkgVersion,
            engines: pkgSnapshot.engines,
            cpu: pkgSnapshot.cpu,
            os: pkgSnapshot.os,
            libc: pkgSnapshot.libc
          };
          if (!opts.force && (0, package_is_installable_1.packageIsInstallable)(packageId, pkg, {
            engineStrict: opts.engineStrict,
            lockfileDir: opts.lockfileDir,
            nodeVersion: opts.nodeVersion,
            optional: pkgSnapshot.optional === true,
            supportedArchitectures: opts.supportedArchitectures
          }) === false) {
            opts.skipped.add(depPath);
            return;
          }
          const dir = path_1.default.join(modules, pkgName);
          const depIsPresent = !("directory" in pkgSnapshot.resolution && pkgSnapshot.resolution.directory != null) && currentPackages[depPath] && (0, equals_1.default)(currentPackages[depPath].dependencies, lockfile.packages[depPath].dependencies);
          let dirExists;
          if (depIsPresent && (0, isEmpty_1.default)(currentPackages[depPath].optionalDependencies ?? {}) && (0, isEmpty_1.default)(lockfile.packages[depPath].optionalDependencies ?? {})) {
            dirExists = await (0, path_exists_1.default)(dir);
            if (dirExists) {
              return;
            }
            brokenModulesLogger.debug({
              missing: dir
            });
          }
          let fetchResponse;
          if (depIsPresent && (0, equals_1.default)(currentPackages[depPath].optionalDependencies, lockfile.packages[depPath].optionalDependencies)) {
            if (dirExists ?? await (0, path_exists_1.default)(dir)) {
              fetchResponse = {};
            } else {
              brokenModulesLogger.debug({
                missing: dir
              });
            }
          }
          if (!fetchResponse) {
            const resolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries);
            core_loggers_1.progressLogger.debug({
              packageId,
              requester: opts.lockfileDir,
              status: "resolved"
            });
            try {
              fetchResponse = opts.storeController.fetchPackage({
                force: false,
                lockfileDir: opts.lockfileDir,
                ignoreScripts: opts.ignoreScripts,
                pkg: {
                  id: packageId,
                  resolution
                },
                expectedPkg: {
                  name: pkgName,
                  version: pkgVersion
                }
              });
              if (fetchResponse instanceof Promise)
                fetchResponse = await fetchResponse;
            } catch (err) {
              if (pkgSnapshot.optional)
                return;
              throw err;
            }
          }
          graph[dir] = {
            children: {},
            pkgIdWithPatchHash,
            depPath,
            dir,
            fetching: fetchResponse.fetching,
            filesIndexFile: fetchResponse.filesIndexFile,
            hasBin: pkgSnapshot.hasBin === true,
            hasBundledDependencies: pkgSnapshot.bundledDependencies != null,
            modules,
            name: pkgName,
            optional: !!pkgSnapshot.optional,
            optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})),
            patch: _getPatchInfo(pkgName, pkgVersion)
          };
          pkgSnapshotByLocation[dir] = pkgSnapshot;
        }));
        const ctx = {
          force: opts.force,
          graph,
          lockfileDir: opts.lockfileDir,
          pkgSnapshotsByDepPaths: lockfile.packages,
          registries: opts.registries,
          sideEffectsCacheRead: opts.sideEffectsCacheRead,
          skipped: opts.skipped,
          storeController: opts.storeController,
          storeDir: opts.storeDir,
          virtualStoreDir: opts.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        };
        for (const [dir, node] of Object.entries(graph)) {
          const pkgSnapshot = pkgSnapshotByLocation[dir];
          const allDeps = {
            ...pkgSnapshot.dependencies,
            ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
          };
          const peerDeps = pkgSnapshot.peerDependencies ? new Set(Object.keys(pkgSnapshot.peerDependencies)) : null;
          node.children = getChildrenPaths(ctx, allDeps, peerDeps, ".");
        }
        for (const importerId of opts.importerIds) {
          const projectSnapshot = lockfile.importers[importerId];
          const rootDeps = {
            ...opts.include.devDependencies ? projectSnapshot.devDependencies : {},
            ...opts.include.dependencies ? projectSnapshot.dependencies : {},
            ...opts.include.optionalDependencies ? projectSnapshot.optionalDependencies : {}
          };
          directDependenciesByImporterId[importerId] = getChildrenPaths(ctx, rootDeps, null, importerId);
        }
      }
      return { graph, directDependenciesByImporterId };
    }
    function getChildrenPaths(ctx, allDeps, peerDeps, importerId) {
      const children = {};
      for (const [alias, ref] of Object.entries(allDeps)) {
        const childDepPath = dp.refToRelative(ref, alias);
        if (childDepPath === null) {
          children[alias] = path_1.default.resolve(ctx.lockfileDir, importerId, ref.slice(5));
          continue;
        }
        const childRelDepPath = dp.refToRelative(ref, alias);
        const childPkgSnapshot = ctx.pkgSnapshotsByDepPaths[childRelDepPath];
        if (ctx.graph[childRelDepPath]) {
          children[alias] = ctx.graph[childRelDepPath].dir;
        } else if (childPkgSnapshot) {
          if (ctx.skipped.has(childRelDepPath))
            continue;
          const pkgName = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(childRelDepPath, childPkgSnapshot).name;
          children[alias] = path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(childRelDepPath, ctx.virtualStoreDirMaxLength), "node_modules", pkgName);
        } else if (ref.indexOf("file:") === 0) {
          children[alias] = path_1.default.resolve(ctx.lockfileDir, ref.slice(5));
        } else if (!ctx.skipped.has(childRelDepPath) && (peerDeps == null || !peerDeps.has(alias))) {
          throw new Error(`${childRelDepPath} not found in ${constants_1.WANTED_LOCKFILE}`);
        }
      }
      return children;
    }
  }
});

// ../deps/graph-builder/lib/index.js
var require_lib151 = __commonJS({
  "../deps/graph-builder/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_lockfileToDepGraph(), exports2);
  }
});

// ../node_modules/.pnpm/@yarnpkg+nm@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/nm/lib/hoist.js
var require_hoist = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+nm@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/nm/lib/hoist.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hoist = exports2.HoisterDependencyKind = void 0;
    var HoisterDependencyKind;
    (function(HoisterDependencyKind2) {
      HoisterDependencyKind2[HoisterDependencyKind2["REGULAR"] = 0] = "REGULAR";
      HoisterDependencyKind2[HoisterDependencyKind2["WORKSPACE"] = 1] = "WORKSPACE";
      HoisterDependencyKind2[HoisterDependencyKind2["EXTERNAL_SOFT_LINK"] = 2] = "EXTERNAL_SOFT_LINK";
    })(HoisterDependencyKind || (exports2.HoisterDependencyKind = HoisterDependencyKind = {}));
    var Hoistable;
    (function(Hoistable2) {
      Hoistable2[Hoistable2["YES"] = 0] = "YES";
      Hoistable2[Hoistable2["NO"] = 1] = "NO";
      Hoistable2[Hoistable2["DEPENDS"] = 2] = "DEPENDS";
    })(Hoistable || (Hoistable = {}));
    var makeLocator = (name, reference) => `${name}@${reference}`;
    var makeIdent = (name, reference) => {
      const hashIdx = reference.indexOf(`#`);
      const realReference = hashIdx >= 0 ? reference.substring(hashIdx + 1) : reference;
      return makeLocator(name, realReference);
    };
    var DebugLevel;
    (function(DebugLevel2) {
      DebugLevel2[DebugLevel2["NONE"] = -1] = "NONE";
      DebugLevel2[DebugLevel2["PERF"] = 0] = "PERF";
      DebugLevel2[DebugLevel2["CHECK"] = 1] = "CHECK";
      DebugLevel2[DebugLevel2["REASONS"] = 2] = "REASONS";
      DebugLevel2[DebugLevel2["INTENSIVE_CHECK"] = 9] = "INTENSIVE_CHECK";
    })(DebugLevel || (DebugLevel = {}));
    var hoist = (tree, opts = {}) => {
      const debugLevel = opts.debugLevel || Number(process.env.NM_DEBUG_LEVEL || DebugLevel.NONE);
      const check = opts.check || debugLevel >= DebugLevel.INTENSIVE_CHECK;
      const hoistingLimits = opts.hoistingLimits || /* @__PURE__ */ new Map();
      const options = { check, debugLevel, hoistingLimits, fastLookupPossible: true };
      let startTime;
      if (options.debugLevel >= DebugLevel.PERF)
        startTime = Date.now();
      const treeCopy = cloneTree(tree, options);
      let anotherRoundNeeded = false;
      let round = 0;
      do {
        const result2 = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options);
        anotherRoundNeeded = result2.anotherRoundNeeded || result2.isGraphChanged;
        options.fastLookupPossible = false;
        round++;
      } while (anotherRoundNeeded);
      if (options.debugLevel >= DebugLevel.PERF)
        console.log(`hoist time: ${Date.now() - startTime}ms, rounds: ${round}`);
      if (options.debugLevel >= DebugLevel.CHECK) {
        const prevTreeDump = dumpDepTree(treeCopy);
        const isGraphChanged = hoistTo(treeCopy, [treeCopy], /* @__PURE__ */ new Set([treeCopy.locator]), /* @__PURE__ */ new Map(), options).isGraphChanged;
        if (isGraphChanged)
          throw new Error(`The hoisting result is not terminal, prev tree:
${prevTreeDump}, next tree:
${dumpDepTree(treeCopy)}`);
        const checkLog = selfCheck(treeCopy);
        if (checkLog) {
          throw new Error(`${checkLog}, after hoisting finished:
${dumpDepTree(treeCopy)}`);
        }
      }
      if (options.debugLevel >= DebugLevel.REASONS)
        console.log(dumpDepTree(treeCopy));
      return shrinkTree(treeCopy);
    };
    exports2.hoist = hoist;
    var getZeroRoundUsedDependencies = (rootNodePath) => {
      const rootNode = rootNodePath[rootNodePath.length - 1];
      const usedDependencies = /* @__PURE__ */ new Map();
      const seenNodes = /* @__PURE__ */ new Set();
      const addUsedDependencies = (node) => {
        if (seenNodes.has(node))
          return;
        seenNodes.add(node);
        for (const dep of node.hoistedDependencies.values())
          usedDependencies.set(dep.name, dep);
        for (const dep of node.dependencies.values()) {
          if (!node.peerNames.has(dep.name)) {
            addUsedDependencies(dep);
          }
        }
      };
      addUsedDependencies(rootNode);
      return usedDependencies;
    };
    var getUsedDependencies = (rootNodePath) => {
      const rootNode = rootNodePath[rootNodePath.length - 1];
      const usedDependencies = /* @__PURE__ */ new Map();
      const seenNodes = /* @__PURE__ */ new Set();
      const hiddenDependencies = /* @__PURE__ */ new Set();
      const addUsedDependencies = (node, hiddenDependencies2) => {
        if (seenNodes.has(node))
          return;
        seenNodes.add(node);
        for (const dep of node.hoistedDependencies.values()) {
          if (!hiddenDependencies2.has(dep.name)) {
            let reachableDependency;
            for (const node2 of rootNodePath) {
              reachableDependency = node2.dependencies.get(dep.name);
              if (reachableDependency) {
                usedDependencies.set(reachableDependency.name, reachableDependency);
              }
            }
          }
        }
        const childrenHiddenDependencies = /* @__PURE__ */ new Set();
        for (const dep of node.dependencies.values())
          childrenHiddenDependencies.add(dep.name);
        for (const dep of node.dependencies.values()) {
          if (!node.peerNames.has(dep.name)) {
            addUsedDependencies(dep, childrenHiddenDependencies);
          }
        }
      };
      addUsedDependencies(rootNode, hiddenDependencies);
      return usedDependencies;
    };
    var decoupleGraphNode = (parent, node) => {
      if (node.decoupled)
        return node;
      const { name, references, ident, locator, dependencies, originalDependencies, hoistedDependencies, peerNames, reasons, isHoistBorder, hoistPriority, dependencyKind, hoistedFrom, hoistedTo } = node;
      const clone = {
        name,
        references: new Set(references),
        ident,
        locator,
        dependencies: new Map(dependencies),
        originalDependencies: new Map(originalDependencies),
        hoistedDependencies: new Map(hoistedDependencies),
        peerNames: new Set(peerNames),
        reasons: new Map(reasons),
        decoupled: true,
        isHoistBorder,
        hoistPriority,
        dependencyKind,
        hoistedFrom: new Map(hoistedFrom),
        hoistedTo: new Map(hoistedTo)
      };
      const selfDep = clone.dependencies.get(name);
      if (selfDep && selfDep.ident == clone.ident)
        clone.dependencies.set(name, clone);
      parent.dependencies.set(clone.name, clone);
      return clone;
    };
    var getHoistIdentMap = (rootNode, preferenceMap) => {
      const identMap = /* @__PURE__ */ new Map([[rootNode.name, [rootNode.ident]]]);
      for (const dep of rootNode.dependencies.values()) {
        if (!rootNode.peerNames.has(dep.name)) {
          identMap.set(dep.name, [dep.ident]);
        }
      }
      const keyList = Array.from(preferenceMap.keys());
      keyList.sort((key1, key2) => {
        const entry1 = preferenceMap.get(key1);
        const entry2 = preferenceMap.get(key2);
        if (entry2.hoistPriority !== entry1.hoistPriority) {
          return entry2.hoistPriority - entry1.hoistPriority;
        } else {
          const entry1Usages = entry1.dependents.size + entry1.peerDependents.size;
          const entry2Usages = entry2.dependents.size + entry2.peerDependents.size;
          return entry2Usages - entry1Usages;
        }
      });
      for (const key of keyList) {
        const name = key.substring(0, key.indexOf(`@`, 1));
        const ident = key.substring(name.length + 1);
        if (!rootNode.peerNames.has(name)) {
          let idents = identMap.get(name);
          if (!idents) {
            idents = [];
            identMap.set(name, idents);
          }
          if (idents.indexOf(ident) < 0) {
            idents.push(ident);
          }
        }
      }
      return identMap;
    };
    var getSortedRegularDependencies = (node) => {
      const dependencies = /* @__PURE__ */ new Set();
      const addDep = (dep, seenDeps = /* @__PURE__ */ new Set()) => {
        if (seenDeps.has(dep))
          return;
        seenDeps.add(dep);
        for (const peerName of dep.peerNames) {
          if (!node.peerNames.has(peerName)) {
            const peerDep = node.dependencies.get(peerName);
            if (peerDep && !dependencies.has(peerDep)) {
              addDep(peerDep, seenDeps);
            }
          }
        }
        dependencies.add(dep);
      };
      for (const dep of node.dependencies.values()) {
        if (!node.peerNames.has(dep.name)) {
          addDep(dep);
        }
      }
      return dependencies;
    };
    var hoistTo = (tree, rootNodePath, rootNodePathLocators, parentShadowedNodes, options, seenNodes = /* @__PURE__ */ new Set()) => {
      const rootNode = rootNodePath[rootNodePath.length - 1];
      if (seenNodes.has(rootNode))
        return { anotherRoundNeeded: false, isGraphChanged: false };
      seenNodes.add(rootNode);
      const preferenceMap = buildPreferenceMap(rootNode);
      const hoistIdentMap = getHoistIdentMap(rootNode, preferenceMap);
      const usedDependencies = tree == rootNode ? /* @__PURE__ */ new Map() : options.fastLookupPossible ? getZeroRoundUsedDependencies(rootNodePath) : getUsedDependencies(rootNodePath);
      let wasStateChanged;
      let anotherRoundNeeded = false;
      let isGraphChanged = false;
      const hoistIdents = new Map(Array.from(hoistIdentMap.entries()).map(([k, v]) => [k, v[0]]));
      const shadowedNodes = /* @__PURE__ */ new Map();
      do {
        const result2 = hoistGraph(tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options);
        if (result2.isGraphChanged)
          isGraphChanged = true;
        if (result2.anotherRoundNeeded)
          anotherRoundNeeded = true;
        wasStateChanged = false;
        for (const [name, idents] of hoistIdentMap) {
          if (idents.length > 1 && !rootNode.dependencies.has(name)) {
            hoistIdents.delete(name);
            idents.shift();
            hoistIdents.set(name, idents[0]);
            wasStateChanged = true;
          }
        }
      } while (wasStateChanged);
      for (const dependency of rootNode.dependencies.values()) {
        if (!rootNode.peerNames.has(dependency.name) && !rootNodePathLocators.has(dependency.locator)) {
          rootNodePathLocators.add(dependency.locator);
          const result2 = hoistTo(tree, [...rootNodePath, dependency], rootNodePathLocators, shadowedNodes, options);
          if (result2.isGraphChanged)
            isGraphChanged = true;
          if (result2.anotherRoundNeeded)
            anotherRoundNeeded = true;
          rootNodePathLocators.delete(dependency.locator);
        }
      }
      return { anotherRoundNeeded, isGraphChanged };
    };
    var hasUnhoistedDependencies = (node) => {
      for (const [subName, subDependency] of node.dependencies) {
        if (!node.peerNames.has(subName) && subDependency.ident !== node.ident) {
          return true;
        }
      }
      return false;
    };
    var getNodeHoistInfo = (rootNode, rootNodePathLocators, nodePath, node, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason, fastLookupPossible }) => {
      let reasonRoot;
      let reason = null;
      let dependsOn = /* @__PURE__ */ new Set();
      if (outputReason)
        reasonRoot = `${Array.from(rootNodePathLocators).map((x) => prettyPrintLocator(x)).join(`\u2192`)}`;
      const parentNode = nodePath[nodePath.length - 1];
      const isSelfReference = node.ident === parentNode.ident;
      let isHoistable = !isSelfReference;
      if (outputReason && !isHoistable)
        reason = `- self-reference`;
      if (isHoistable) {
        isHoistable = node.dependencyKind !== HoisterDependencyKind.WORKSPACE;
        if (outputReason && !isHoistable) {
          reason = `- workspace`;
        }
      }
      if (isHoistable && node.dependencyKind === HoisterDependencyKind.EXTERNAL_SOFT_LINK) {
        isHoistable = !hasUnhoistedDependencies(node);
        if (outputReason && !isHoistable) {
          reason = `- external soft link with unhoisted dependencies`;
        }
      }
      if (isHoistable) {
        isHoistable = !rootNode.peerNames.has(node.name);
        if (outputReason && !isHoistable) {
          reason = `- cannot shadow peer: ${prettyPrintLocator(rootNode.originalDependencies.get(node.name).locator)} at ${reasonRoot}`;
        }
      }
      if (isHoistable) {
        let isNameAvailable = false;
        const usedDep = usedDependencies.get(node.name);
        isNameAvailable = !usedDep || usedDep.ident === node.ident;
        if (outputReason && !isNameAvailable)
          reason = `- filled by: ${prettyPrintLocator(usedDep.locator)} at ${reasonRoot}`;
        if (isNameAvailable) {
          for (let idx = nodePath.length - 1; idx >= 1; idx--) {
            const parent = nodePath[idx];
            const parentDep = parent.dependencies.get(node.name);
            if (parentDep && parentDep.ident !== node.ident) {
              isNameAvailable = false;
              let shadowedNames = shadowedNodes.get(parentNode);
              if (!shadowedNames) {
                shadowedNames = /* @__PURE__ */ new Set();
                shadowedNodes.set(parentNode, shadowedNames);
              }
              shadowedNames.add(node.name);
              if (outputReason)
                reason = `- filled by ${prettyPrintLocator(parentDep.locator)} at ${nodePath.slice(0, idx).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}`;
              break;
            }
          }
        }
        isHoistable = isNameAvailable;
      }
      if (isHoistable) {
        const hoistedIdent = hoistIdents.get(node.name);
        isHoistable = hoistedIdent === node.ident;
        if (outputReason && !isHoistable) {
          reason = `- filled by: ${prettyPrintLocator(hoistIdentMap.get(node.name)[0])} at ${reasonRoot}`;
        }
      }
      if (isHoistable) {
        let arePeerDepsSatisfied = true;
        const checkList = new Set(node.peerNames);
        for (let idx = nodePath.length - 1; idx >= 1; idx--) {
          const parent = nodePath[idx];
          for (const name of checkList) {
            if (parent.peerNames.has(name) && parent.originalDependencies.has(name))
              continue;
            const parentDepNode = parent.dependencies.get(name);
            if (parentDepNode && rootNode.dependencies.get(name) !== parentDepNode) {
              if (idx === nodePath.length - 1) {
                dependsOn.add(parentDepNode);
              } else {
                dependsOn = null;
                arePeerDepsSatisfied = false;
                if (outputReason) {
                  reason = `- peer dependency ${prettyPrintLocator(parentDepNode.locator)} from parent ${prettyPrintLocator(parent.locator)} was not hoisted to ${reasonRoot}`;
                }
              }
            }
            checkList.delete(name);
          }
          if (!arePeerDepsSatisfied) {
            break;
          }
        }
        isHoistable = arePeerDepsSatisfied;
      }
      if (isHoistable && !fastLookupPossible) {
        for (const origDep of node.hoistedDependencies.values()) {
          const usedDep = usedDependencies.get(origDep.name) || rootNode.dependencies.get(origDep.name);
          if (!usedDep || origDep.ident !== usedDep.ident) {
            isHoistable = false;
            if (outputReason)
              reason = `- previously hoisted dependency mismatch, needed: ${prettyPrintLocator(origDep.locator)}, available: ${prettyPrintLocator(usedDep?.locator)}`;
            break;
          }
        }
      }
      if (dependsOn !== null && dependsOn.size > 0) {
        return { isHoistable: Hoistable.DEPENDS, dependsOn, reason };
      } else {
        return { isHoistable: isHoistable ? Hoistable.YES : Hoistable.NO, reason };
      }
    };
    var getAliasedLocator = (node) => `${node.name}@${node.locator}`;
    var hoistGraph = (tree, rootNodePath, rootNodePathLocators, usedDependencies, hoistIdents, hoistIdentMap, parentShadowedNodes, shadowedNodes, options) => {
      const rootNode = rootNodePath[rootNodePath.length - 1];
      const seenNodes = /* @__PURE__ */ new Set();
      let anotherRoundNeeded = false;
      let isGraphChanged = false;
      const hoistNodeDependencies = (nodePath, locatorPath, aliasedLocatorPath, parentNode, newNodes2) => {
        if (seenNodes.has(parentNode))
          return;
        const nextLocatorPath = [...locatorPath, getAliasedLocator(parentNode)];
        const nextAliasedLocatorPath = [...aliasedLocatorPath, getAliasedLocator(parentNode)];
        const dependantTree = /* @__PURE__ */ new Map();
        const hoistInfos = /* @__PURE__ */ new Map();
        for (const subDependency of getSortedRegularDependencies(parentNode)) {
          const hoistInfo = getNodeHoistInfo(rootNode, rootNodePathLocators, [rootNode, ...nodePath, parentNode], subDependency, usedDependencies, hoistIdents, hoistIdentMap, shadowedNodes, { outputReason: options.debugLevel >= DebugLevel.REASONS, fastLookupPossible: options.fastLookupPossible });
          hoistInfos.set(subDependency, hoistInfo);
          if (hoistInfo.isHoistable === Hoistable.DEPENDS) {
            for (const node of hoistInfo.dependsOn) {
              const nodeDependants = dependantTree.get(node.name) || /* @__PURE__ */ new Set();
              nodeDependants.add(subDependency.name);
              dependantTree.set(node.name, nodeDependants);
            }
          }
        }
        const unhoistableNodes = /* @__PURE__ */ new Set();
        const addUnhoistableNode = (node, hoistInfo, reason) => {
          if (!unhoistableNodes.has(node)) {
            unhoistableNodes.add(node);
            hoistInfos.set(node, { isHoistable: Hoistable.NO, reason });
            for (const dependantName of dependantTree.get(node.name) || []) {
              addUnhoistableNode(parentNode.dependencies.get(dependantName), hoistInfo, options.debugLevel >= DebugLevel.REASONS ? `- peer dependency ${prettyPrintLocator(node.locator)} from parent ${prettyPrintLocator(parentNode.locator)} was not hoisted` : ``);
            }
          }
        };
        for (const [node, hoistInfo] of hoistInfos)
          if (hoistInfo.isHoistable === Hoistable.NO)
            addUnhoistableNode(node, hoistInfo, hoistInfo.reason);
        let wereNodesHoisted = false;
        for (const node of hoistInfos.keys()) {
          if (!unhoistableNodes.has(node)) {
            isGraphChanged = true;
            const shadowedNames = parentShadowedNodes.get(parentNode);
            if (shadowedNames && shadowedNames.has(node.name))
              anotherRoundNeeded = true;
            wereNodesHoisted = true;
            parentNode.dependencies.delete(node.name);
            parentNode.hoistedDependencies.set(node.name, node);
            parentNode.reasons.delete(node.name);
            const hoistedNode = rootNode.dependencies.get(node.name);
            if (options.debugLevel >= DebugLevel.REASONS) {
              const hoistedFrom = Array.from(locatorPath).concat([parentNode.locator]).map((x) => prettyPrintLocator(x)).join(`\u2192`);
              let hoistedFromArray = rootNode.hoistedFrom.get(node.name);
              if (!hoistedFromArray) {
                hoistedFromArray = [];
                rootNode.hoistedFrom.set(node.name, hoistedFromArray);
              }
              hoistedFromArray.push(hoistedFrom);
              parentNode.hoistedTo.set(node.name, Array.from(rootNodePath).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`));
            }
            if (!hoistedNode) {
              if (rootNode.ident !== node.ident) {
                rootNode.dependencies.set(node.name, node);
                newNodes2.add(node);
              }
            } else {
              for (const reference of node.references) {
                hoistedNode.references.add(reference);
              }
            }
          }
        }
        if (parentNode.dependencyKind === HoisterDependencyKind.EXTERNAL_SOFT_LINK && wereNodesHoisted)
          anotherRoundNeeded = true;
        if (options.check) {
          const checkLog = selfCheck(tree);
          if (checkLog) {
            throw new Error(`${checkLog}, after hoisting dependencies of ${[rootNode, ...nodePath, parentNode].map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}:
${dumpDepTree(tree)}`);
          }
        }
        const children = getSortedRegularDependencies(parentNode);
        for (const node of children) {
          if (unhoistableNodes.has(node)) {
            const hoistInfo = hoistInfos.get(node);
            const hoistableIdent = hoistIdents.get(node.name);
            if ((hoistableIdent === node.ident || !parentNode.reasons.has(node.name)) && hoistInfo.isHoistable !== Hoistable.YES)
              parentNode.reasons.set(node.name, hoistInfo.reason);
            if (!node.isHoistBorder && nextAliasedLocatorPath.indexOf(getAliasedLocator(node)) < 0) {
              seenNodes.add(parentNode);
              const decoupledNode = decoupleGraphNode(parentNode, node);
              hoistNodeDependencies([...nodePath, parentNode], nextLocatorPath, nextAliasedLocatorPath, decoupledNode, nextNewNodes);
              seenNodes.delete(parentNode);
            }
          }
        }
      };
      let newNodes;
      let nextNewNodes = new Set(getSortedRegularDependencies(rootNode));
      const aliasedRootNodePathLocators = Array.from(rootNodePath).map((x) => getAliasedLocator(x));
      do {
        newNodes = nextNewNodes;
        nextNewNodes = /* @__PURE__ */ new Set();
        for (const dep of newNodes) {
          if (dep.locator === rootNode.locator || dep.isHoistBorder)
            continue;
          const decoupledDependency = decoupleGraphNode(rootNode, dep);
          hoistNodeDependencies([], Array.from(rootNodePathLocators), aliasedRootNodePathLocators, decoupledDependency, nextNewNodes);
        }
      } while (nextNewNodes.size > 0);
      return { anotherRoundNeeded, isGraphChanged };
    };
    var selfCheck = (tree) => {
      const log = [];
      const seenNodes = /* @__PURE__ */ new Set();
      const parents = /* @__PURE__ */ new Set();
      const checkNode = (node, parentDeps, parent) => {
        if (seenNodes.has(node))
          return;
        seenNodes.add(node);
        if (parents.has(node))
          return;
        const dependencies = new Map(parentDeps);
        for (const dep of node.dependencies.values())
          if (!node.peerNames.has(dep.name))
            dependencies.set(dep.name, dep);
        for (const origDep of node.originalDependencies.values()) {
          const dep = dependencies.get(origDep.name);
          const prettyPrintTreePath = () => `${Array.from(parents).concat([node]).map((x) => prettyPrintLocator(x.locator)).join(`\u2192`)}`;
          if (node.peerNames.has(origDep.name)) {
            const parentDep = parentDeps.get(origDep.name);
            if (parentDep !== dep || !parentDep || parentDep.ident !== origDep.ident) {
              log.push(`${prettyPrintTreePath()} - broken peer promise: expected ${origDep.ident} but found ${parentDep ? parentDep.ident : parentDep}`);
            }
          } else {
            const hoistedFrom = parent.hoistedFrom.get(node.name);
            const originalHoistedTo = node.hoistedTo.get(origDep.name);
            const prettyHoistedFrom = `${hoistedFrom ? ` hoisted from ${hoistedFrom.join(`, `)}` : ``}`;
            const prettyOriginalHoistedTo = `${originalHoistedTo ? ` hoisted to ${originalHoistedTo}` : ``}`;
            const prettyNodePath = `${prettyPrintTreePath()}${prettyHoistedFrom}`;
            if (!dep) {
              log.push(`${prettyNodePath} - broken require promise: no required dependency ${origDep.name}${prettyOriginalHoistedTo} found`);
            } else if (dep.ident !== origDep.ident) {
              log.push(`${prettyNodePath} - broken require promise for ${origDep.name}${prettyOriginalHoistedTo}: expected ${origDep.ident}, but found: ${dep.ident}`);
            }
          }
        }
        parents.add(node);
        for (const dep of node.dependencies.values()) {
          if (!node.peerNames.has(dep.name)) {
            checkNode(dep, dependencies, node);
          }
        }
        parents.delete(node);
      };
      checkNode(tree, tree.dependencies, tree);
      return log.join(`
`);
    };
    var cloneTree = (tree, options) => {
      const { identName, name, reference, peerNames } = tree;
      const treeCopy = {
        name,
        references: /* @__PURE__ */ new Set([reference]),
        locator: makeLocator(identName, reference),
        ident: makeIdent(identName, reference),
        dependencies: /* @__PURE__ */ new Map(),
        originalDependencies: /* @__PURE__ */ new Map(),
        hoistedDependencies: /* @__PURE__ */ new Map(),
        peerNames: new Set(peerNames),
        reasons: /* @__PURE__ */ new Map(),
        decoupled: true,
        isHoistBorder: true,
        hoistPriority: 0,
        dependencyKind: HoisterDependencyKind.WORKSPACE,
        hoistedFrom: /* @__PURE__ */ new Map(),
        hoistedTo: /* @__PURE__ */ new Map()
      };
      const seenNodes = /* @__PURE__ */ new Map([[tree, treeCopy]]);
      const addNode = (node, parentNode) => {
        let workNode = seenNodes.get(node);
        const isSeen = !!workNode;
        if (!workNode) {
          const { name: name2, identName: identName2, reference: reference2, peerNames: peerNames2, hoistPriority, dependencyKind } = node;
          const dependenciesNmHoistingLimits = options.hoistingLimits.get(parentNode.locator);
          workNode = {
            name: name2,
            references: /* @__PURE__ */ new Set([reference2]),
            locator: makeLocator(identName2, reference2),
            ident: makeIdent(identName2, reference2),
            dependencies: /* @__PURE__ */ new Map(),
            originalDependencies: /* @__PURE__ */ new Map(),
            hoistedDependencies: /* @__PURE__ */ new Map(),
            peerNames: new Set(peerNames2),
            reasons: /* @__PURE__ */ new Map(),
            decoupled: true,
            isHoistBorder: dependenciesNmHoistingLimits ? dependenciesNmHoistingLimits.has(name2) : false,
            hoistPriority: hoistPriority || 0,
            dependencyKind: dependencyKind || HoisterDependencyKind.REGULAR,
            hoistedFrom: /* @__PURE__ */ new Map(),
            hoistedTo: /* @__PURE__ */ new Map()
          };
          seenNodes.set(node, workNode);
        }
        parentNode.dependencies.set(node.name, workNode);
        parentNode.originalDependencies.set(node.name, workNode);
        if (!isSeen) {
          for (const dep of node.dependencies) {
            addNode(dep, workNode);
          }
        } else {
          const seenCoupledNodes = /* @__PURE__ */ new Set();
          const markNodeCoupled = (node2) => {
            if (seenCoupledNodes.has(node2))
              return;
            seenCoupledNodes.add(node2);
            node2.decoupled = false;
            for (const dep of node2.dependencies.values()) {
              if (!node2.peerNames.has(dep.name)) {
                markNodeCoupled(dep);
              }
            }
          };
          markNodeCoupled(workNode);
        }
      };
      for (const dep of tree.dependencies)
        addNode(dep, treeCopy);
      return treeCopy;
    };
    var getIdentName = (locator) => locator.substring(0, locator.indexOf(`@`, 1));
    var shrinkTree = (tree) => {
      const treeCopy = {
        name: tree.name,
        identName: getIdentName(tree.locator),
        references: new Set(tree.references),
        dependencies: /* @__PURE__ */ new Set()
      };
      const seenNodes = /* @__PURE__ */ new Set([tree]);
      const addNode = (node, parentWorkNode, parentNode) => {
        const isSeen = seenNodes.has(node);
        let resultNode;
        if (parentWorkNode === node) {
          resultNode = parentNode;
        } else {
          const { name, references, locator } = node;
          resultNode = {
            name,
            identName: getIdentName(locator),
            references,
            dependencies: /* @__PURE__ */ new Set()
          };
        }
        parentNode.dependencies.add(resultNode);
        if (!isSeen) {
          seenNodes.add(node);
          for (const dep of node.dependencies.values()) {
            if (!node.peerNames.has(dep.name)) {
              addNode(dep, node, resultNode);
            }
          }
          seenNodes.delete(node);
        }
      };
      for (const dep of tree.dependencies.values())
        addNode(dep, tree, treeCopy);
      return treeCopy;
    };
    var buildPreferenceMap = (rootNode) => {
      const preferenceMap = /* @__PURE__ */ new Map();
      const seenNodes = /* @__PURE__ */ new Set([rootNode]);
      const getPreferenceKey = (node) => `${node.name}@${node.ident}`;
      const getOrCreatePreferenceEntry = (node) => {
        const key = getPreferenceKey(node);
        let entry = preferenceMap.get(key);
        if (!entry) {
          entry = { dependents: /* @__PURE__ */ new Set(), peerDependents: /* @__PURE__ */ new Set(), hoistPriority: 0 };
          preferenceMap.set(key, entry);
        }
        return entry;
      };
      const addDependent = (dependent, node) => {
        const isSeen = !!seenNodes.has(node);
        const entry = getOrCreatePreferenceEntry(node);
        entry.dependents.add(dependent.ident);
        if (!isSeen) {
          seenNodes.add(node);
          for (const dep of node.dependencies.values()) {
            const entry2 = getOrCreatePreferenceEntry(dep);
            entry2.hoistPriority = Math.max(entry2.hoistPriority, dep.hoistPriority);
            if (node.peerNames.has(dep.name)) {
              entry2.peerDependents.add(node.ident);
            } else {
              addDependent(node, dep);
            }
          }
        }
      };
      for (const dep of rootNode.dependencies.values())
        if (!rootNode.peerNames.has(dep.name))
          addDependent(rootNode, dep);
      return preferenceMap;
    };
    var prettyPrintLocator = (locator) => {
      if (!locator)
        return `none`;
      const idx = locator.indexOf(`@`, 1);
      let name = locator.substring(0, idx);
      if (name.endsWith(`$wsroot$`))
        name = `wh:${name.replace(`$wsroot$`, ``)}`;
      const reference = locator.substring(idx + 1);
      if (reference === `workspace:.`) {
        return `.`;
      } else if (!reference) {
        return `${name}`;
      } else {
        let version2 = (reference.indexOf(`#`) > 0 ? reference.split(`#`)[1] : reference).replace(`npm:`, ``);
        if (reference.startsWith(`virtual`))
          name = `v:${name}`;
        if (version2.startsWith(`workspace`)) {
          name = `w:${name}`;
          version2 = ``;
        }
        return `${name}${version2 ? `@${version2}` : ``}`;
      }
    };
    var MAX_NODES_TO_DUMP = 5e4;
    var dumpDepTree = (tree) => {
      let nodeCount = 0;
      const dumpPackage = (pkg, parents, prefix = ``) => {
        if (nodeCount > MAX_NODES_TO_DUMP || parents.has(pkg))
          return ``;
        nodeCount++;
        const dependencies = Array.from(pkg.dependencies.values()).sort((n1, n2) => {
          if (n1.name === n2.name) {
            return 0;
          } else {
            return n1.name > n2.name ? 1 : -1;
          }
        });
        let str = ``;
        parents.add(pkg);
        for (let idx = 0; idx < dependencies.length; idx++) {
          const dep = dependencies[idx];
          if (!pkg.peerNames.has(dep.name) && dep !== pkg) {
            const reason = pkg.reasons.get(dep.name);
            const identName = getIdentName(dep.locator);
            str += `${prefix}${idx < dependencies.length - 1 ? `\u251C\u2500` : `\u2514\u2500`}${(parents.has(dep) ? `>` : ``) + (identName !== dep.name ? `a:${dep.name}:` : ``) + prettyPrintLocator(dep.locator) + (reason ? ` ${reason}` : ``)}
`;
            str += dumpPackage(dep, parents, `${prefix}${idx < dependencies.length - 1 ? `\u2502 ` : `  `}`);
          }
        }
        parents.delete(pkg);
        return str;
      };
      const treeDump = dumpPackage(tree, /* @__PURE__ */ new Set());
      return treeDump + (nodeCount > MAX_NODES_TO_DUMP ? `
Tree is too large, part of the tree has been dunped
` : ``);
    };
  }
});

// ../pkg-manager/real-hoist/lib/index.js
var require_lib152 = __commonJS({
  "../pkg-manager/real-hoist/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hoist = hoist;
    var error_1 = require_lib6();
    var lockfile_utils_1 = require_lib117();
    var dp = __importStar3(require_lib98());
    var hoist_1 = require_hoist();
    function hoist(lockfile, opts) {
      const nodes = /* @__PURE__ */ new Map();
      const ctx = {
        autoInstallPeers: opts?.autoInstallPeers,
        nodes,
        lockfile,
        depPathByPkgId: /* @__PURE__ */ new Map()
      };
      const _toTree = toTree.bind(null, ctx);
      const node = {
        name: ".",
        identName: ".",
        reference: "",
        peerNames: /* @__PURE__ */ new Set([]),
        dependencyKind: hoist_1.HoisterDependencyKind.WORKSPACE,
        dependencies: _toTree({
          ...lockfile.importers["."]?.dependencies,
          ...lockfile.importers["."]?.devDependencies,
          ...lockfile.importers["."]?.optionalDependencies,
          ...Array.from(opts?.externalDependencies ?? []).reduce((acc, dep) => {
            acc[dep] = "link:";
            return acc;
          }, {})
        })
      };
      for (const [importerId, importer] of Object.entries(lockfile.importers)) {
        if (importerId === ".")
          continue;
        const importerNode = {
          name: encodeURIComponent(importerId),
          identName: encodeURIComponent(importerId),
          reference: `workspace:${importerId}`,
          peerNames: /* @__PURE__ */ new Set([]),
          dependencyKind: hoist_1.HoisterDependencyKind.WORKSPACE,
          dependencies: _toTree({
            ...importer.dependencies,
            ...importer.devDependencies,
            ...importer.optionalDependencies
          })
        };
        node.dependencies.add(importerNode);
      }
      const hoisterResult = (0, hoist_1.hoist)(node, opts);
      if (opts?.externalDependencies) {
        for (const hoistedDep of hoisterResult.dependencies.values()) {
          if (opts.externalDependencies.has(hoistedDep.name)) {
            hoisterResult.dependencies.delete(hoistedDep);
          }
        }
      }
      return hoisterResult;
    }
    function toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, deps) {
      return new Set(Object.entries(deps).map(([alias, ref]) => {
        const depPath = dp.refToRelative(ref, alias);
        if (!depPath) {
          const key2 = `${alias}:${ref}`;
          let node2 = nodes.get(key2);
          if (!node2) {
            node2 = {
              name: alias,
              identName: alias,
              reference: ref,
              dependencyKind: hoist_1.HoisterDependencyKind.REGULAR,
              dependencies: /* @__PURE__ */ new Set(),
              peerNames: /* @__PURE__ */ new Set()
            };
            nodes.set(key2, node2);
          }
          return node2;
        }
        const key = `${alias}:${depPath}`;
        let node = nodes.get(key);
        if (!node) {
          const pkgSnapshot = lockfile.packages[depPath];
          if (!pkgSnapshot) {
            throw new error_1.LockfileMissingDependencyError(depPath);
          }
          const { name: pkgName, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
          const id = `${pkgName}@${version2}`;
          if (!depPathByPkgId.has(id)) {
            depPathByPkgId.set(id, depPath);
          }
          node = {
            name: alias,
            identName: pkgName,
            reference: depPathByPkgId.get(id),
            dependencyKind: hoist_1.HoisterDependencyKind.REGULAR,
            dependencies: /* @__PURE__ */ new Set(),
            peerNames: new Set(autoInstallPeers ? [] : [
              ...Object.keys(pkgSnapshot.peerDependencies ?? {}),
              ...pkgSnapshot.transitivePeerDependencies ?? []
            ])
          };
          nodes.set(key, node);
          node.dependencies = toTree({ nodes, lockfile, depPathByPkgId, autoInstallPeers }, { ...pkgSnapshot.dependencies, ...pkgSnapshot.optionalDependencies });
        }
        return node;
      }));
    }
  }
});

// ../pkg-manager/headless/lib/lockfileToHoistedDepGraph.js
var require_lockfileToHoistedDepGraph = __commonJS({
  "../pkg-manager/headless/lib/lockfileToHoistedDepGraph.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileToHoistedDepGraph = lockfileToHoistedDepGraph;
    var path_exists_1 = __importDefault2(require_path_exists2());
    var path_1 = __importDefault2(require("path"));
    var lockfile_utils_1 = require_lib117();
    var package_is_installable_1 = require_lib30();
    var patching_config_1 = require_lib150();
    var read_package_json_1 = require_lib50();
    var real_hoist_1 = require_lib152();
    var dp = __importStar3(require_lib98());
    async function lockfileToHoistedDepGraph(lockfile, currentLockfile, opts) {
      let prevGraph;
      if (currentLockfile?.packages != null) {
        prevGraph = (await _lockfileToHoistedDepGraph(currentLockfile, {
          ...opts,
          force: true,
          skipped: /* @__PURE__ */ new Set()
        })).graph;
      } else {
        prevGraph = {};
      }
      return {
        ...await _lockfileToHoistedDepGraph(lockfile, opts),
        prevGraph
      };
    }
    async function _lockfileToHoistedDepGraph(lockfile, opts) {
      const tree = (0, real_hoist_1.hoist)(lockfile, {
        hoistingLimits: opts.hoistingLimits,
        externalDependencies: opts.externalDependencies,
        autoInstallPeers: opts.autoInstallPeers
      });
      const graph = {};
      const modulesDir = path_1.default.join(opts.lockfileDir, opts.modulesDir ?? "node_modules");
      const fetchDepsOpts = {
        ...opts,
        lockfile,
        graph,
        pkgLocationsByDepPath: {},
        hoistedLocations: {}
      };
      const hierarchy = {
        [opts.lockfileDir]: await fetchDeps(fetchDepsOpts, modulesDir, tree.dependencies)
      };
      const directDependenciesByImporterId = {
        ".": directDepsMap(Object.keys(hierarchy[opts.lockfileDir]), graph)
      };
      const symlinkedDirectDependenciesByImporterId = { ".": {} };
      await Promise.all(Array.from(tree.dependencies).map(async (rootDep) => {
        const reference = Array.from(rootDep.references)[0];
        if (reference.startsWith("workspace:")) {
          const importerId = reference.replace("workspace:", "");
          const projectDir = path_1.default.join(opts.lockfileDir, importerId);
          const modulesDir2 = path_1.default.join(projectDir, "node_modules");
          const nextHierarchy = await fetchDeps(fetchDepsOpts, modulesDir2, rootDep.dependencies);
          hierarchy[projectDir] = nextHierarchy;
          const importer = lockfile.importers[importerId];
          const importerDir = path_1.default.join(opts.lockfileDir, importerId);
          symlinkedDirectDependenciesByImporterId[importerId] = pickLinkedDirectDeps(importer, importerDir, opts.include);
          directDependenciesByImporterId[importerId] = directDepsMap(Object.keys(nextHierarchy), graph);
        }
      }));
      return {
        directDependenciesByImporterId,
        graph,
        hierarchy,
        pkgLocationsByDepPath: fetchDepsOpts.pkgLocationsByDepPath,
        symlinkedDirectDependenciesByImporterId,
        hoistedLocations: fetchDepsOpts.hoistedLocations
      };
    }
    function directDepsMap(directDepDirs, graph) {
      const acc = {};
      for (const dir of directDepDirs) {
        acc[graph[dir].alias] = dir;
      }
      return acc;
    }
    function pickLinkedDirectDeps(importer, importerDir, include) {
      const rootDeps = {
        ...include.devDependencies ? importer.devDependencies : {},
        ...include.dependencies ? importer.dependencies : {},
        ...include.optionalDependencies ? importer.optionalDependencies : {}
      };
      const directDeps = {};
      for (const alias in rootDeps) {
        const ref = rootDeps[alias];
        if (ref.startsWith("link:")) {
          directDeps[alias] = path_1.default.resolve(importerDir, ref.slice(5));
        }
      }
      return directDeps;
    }
    async function fetchDeps(opts, modules, deps) {
      const depHierarchy = {};
      await Promise.all(Array.from(deps).map(async (dep) => {
        const depPath = Array.from(dep.references)[0];
        if (opts.skipped.has(depPath) || depPath.startsWith("workspace:"))
          return;
        const pkgSnapshot = opts.lockfile.packages[depPath];
        if (!pkgSnapshot) {
          return;
        }
        const { name: pkgName, version: pkgVersion } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
        const packageId = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot);
        const pkgIdWithPatchHash = dp.getPkgIdWithPatchHash(depPath);
        const pkg = {
          name: pkgName,
          version: pkgVersion,
          engines: pkgSnapshot.engines,
          cpu: pkgSnapshot.cpu,
          os: pkgSnapshot.os,
          libc: pkgSnapshot.libc
        };
        if (!opts.force && (0, package_is_installable_1.packageIsInstallable)(packageId, pkg, {
          engineStrict: opts.engineStrict,
          lockfileDir: opts.lockfileDir,
          nodeVersion: opts.nodeVersion,
          optional: pkgSnapshot.optional === true,
          supportedArchitectures: opts.supportedArchitectures
        }) === false) {
          opts.skipped.add(depPath);
          return;
        }
        const dir = path_1.default.join(modules, dep.name);
        const depLocation = path_1.default.relative(opts.lockfileDir, dir);
        const resolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, pkgSnapshot, opts.registries);
        let fetchResponse;
        const skipFetch = opts.currentHoistedLocations?.[depPath]?.includes(depLocation) && await dirHasPackageJsonWithVersion(path_1.default.join(opts.lockfileDir, depLocation), pkgVersion);
        const pkgResolution = {
          id: packageId,
          resolution
        };
        if (skipFetch) {
          const { filesIndexFile } = opts.storeController.getFilesIndexFilePath({
            ignoreScripts: opts.ignoreScripts,
            pkg: pkgResolution
          });
          fetchResponse = { filesIndexFile };
        } else {
          try {
            fetchResponse = opts.storeController.fetchPackage({
              force: false,
              lockfileDir: opts.lockfileDir,
              ignoreScripts: opts.ignoreScripts,
              pkg: pkgResolution,
              expectedPkg: {
                name: pkgName,
                version: pkgVersion
              }
            });
            if (fetchResponse instanceof Promise)
              fetchResponse = await fetchResponse;
          } catch (err) {
            if (pkgSnapshot.optional)
              return;
            throw err;
          }
        }
        opts.graph[dir] = {
          alias: dep.name,
          children: {},
          depPath,
          pkgIdWithPatchHash,
          dir,
          fetching: fetchResponse.fetching,
          filesIndexFile: fetchResponse.filesIndexFile,
          hasBin: pkgSnapshot.hasBin === true,
          hasBundledDependencies: pkgSnapshot.bundledDependencies != null,
          modules,
          name: pkgName,
          optional: !!pkgSnapshot.optional,
          optionalDependencies: new Set(Object.keys(pkgSnapshot.optionalDependencies ?? {})),
          patch: (0, patching_config_1.getPatchInfo)(opts.patchedDependencies, pkgName, pkgVersion)
        };
        if (!opts.pkgLocationsByDepPath[depPath]) {
          opts.pkgLocationsByDepPath[depPath] = [];
        }
        opts.pkgLocationsByDepPath[depPath].push(dir);
        depHierarchy[dir] = await fetchDeps(opts, path_1.default.join(dir, "node_modules"), dep.dependencies);
        if (!opts.hoistedLocations[depPath]) {
          opts.hoistedLocations[depPath] = [];
        }
        opts.hoistedLocations[depPath].push(depLocation);
        opts.graph[dir].children = getChildren(pkgSnapshot, opts.pkgLocationsByDepPath, opts);
      }));
      return depHierarchy;
    }
    async function dirHasPackageJsonWithVersion(dir, expectedVersion) {
      if (!expectedVersion)
        return (0, path_exists_1.default)(dir);
      try {
        const manifest = await (0, read_package_json_1.safeReadPackageJsonFromDir)(dir);
        return manifest?.version === expectedVersion;
      } catch (err) {
        if (err.code === "ENOENT") {
          return (0, path_exists_1.default)(dir);
        }
        throw err;
      }
    }
    function getChildren(pkgSnapshot, pkgLocationsByDepPath, opts) {
      const allDeps = {
        ...pkgSnapshot.dependencies,
        ...opts.include.optionalDependencies ? pkgSnapshot.optionalDependencies : {}
      };
      const children = {};
      for (const [childName, childRef] of Object.entries(allDeps)) {
        const childDepPath = dp.refToRelative(childRef, childName);
        if (childDepPath && pkgLocationsByDepPath[childDepPath]) {
          children[childName] = pkgLocationsByDepPath[childDepPath][0];
        }
      }
      return children;
    }
  }
});

// ../pkg-manager/direct-dep-linker/lib/linkDirectDeps.js
var require_linkDirectDeps = __commonJS({
  "../pkg-manager/direct-dep-linker/lib/linkDirectDeps.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkDirectDeps = linkDirectDeps;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var core_loggers_1 = require_lib28();
    var symlink_dependency_1 = require_lib149();
    var omit_1 = __importDefault2(require_omit());
    var read_modules_dir_1 = require_lib71();
    var rimraf_1 = __importDefault2(require_rimraf());
    var resolve_link_target_1 = __importDefault2(require_resolve_link_target());
    async function linkDirectDeps(projects, opts) {
      if (opts.dedupe && projects["."] && Object.keys(projects).length > 1) {
        return linkDirectDepsAndDedupe(projects["."], (0, omit_1.default)(["."], projects));
      }
      const numberOfLinkedDeps = await Promise.all(Object.values(projects).map(linkDirectDepsOfProject));
      return numberOfLinkedDeps.reduce((sum, count) => sum + count, 0);
    }
    async function linkDirectDepsAndDedupe(rootProject, projects) {
      const linkedDeps = await linkDirectDepsOfProject(rootProject);
      const pkgsLinkedToRoot = await readLinkedDeps(rootProject.modulesDir);
      await Promise.all(Object.values(projects).map(async (project) => {
        const deletedAll = await deletePkgsPresentInRoot(project.modulesDir, pkgsLinkedToRoot);
        const dependencies = omitDepsFromRoot(project.dependencies, pkgsLinkedToRoot);
        if (dependencies.length > 0) {
          await linkDirectDepsOfProject({
            ...project,
            dependencies
          });
          return;
        }
        if (deletedAll) {
          await (0, rimraf_1.default)(project.modulesDir);
        }
      }));
      return linkedDeps;
    }
    function omitDepsFromRoot(deps, pkgsLinkedToRoot) {
      return deps.filter(({ dir }) => !pkgsLinkedToRoot.some(pathsEqual.bind(null, dir)));
    }
    function pathsEqual(path1, path2) {
      return path_1.default.relative(path1, path2) === "";
    }
    async function readLinkedDeps(modulesDir) {
      const deps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? [];
      return Promise.all(deps.map((alias) => resolveLinkTargetOrFile(path_1.default.join(modulesDir, alias))));
    }
    async function deletePkgsPresentInRoot(modulesDir, pkgsLinkedToRoot) {
      const pkgsLinkedToCurrentProject = await readLinkedDepsWithRealLocations(modulesDir);
      const pkgsToDelete = pkgsLinkedToCurrentProject.filter(({ linkedFrom, linkedTo }) => linkedFrom !== linkedTo && pkgsLinkedToRoot.some(pathsEqual.bind(null, linkedFrom)));
      await Promise.all(pkgsToDelete.map(({ linkedTo }) => fs_1.default.promises.unlink(linkedTo)));
      return pkgsToDelete.length === pkgsLinkedToCurrentProject.length;
    }
    async function readLinkedDepsWithRealLocations(modulesDir) {
      const deps = await (0, read_modules_dir_1.readModulesDir)(modulesDir) ?? [];
      return Promise.all(deps.map(async (alias) => {
        const linkedTo = path_1.default.join(modulesDir, alias);
        return {
          linkedTo,
          linkedFrom: await resolveLinkTargetOrFile(linkedTo)
        };
      }));
    }
    async function resolveLinkTargetOrFile(filePath) {
      try {
        return await (0, resolve_link_target_1.default)(filePath);
      } catch (err) {
        if (err.code !== "EINVAL" && err.code !== "UNKNOWN")
          throw err;
        return filePath;
      }
    }
    async function linkDirectDepsOfProject(project) {
      let linkedDeps = 0;
      await Promise.all(project.dependencies.map(async (dep) => {
        if (dep.isExternalLink) {
          await (0, symlink_dependency_1.symlinkDirectRootDependency)(dep.dir, project.modulesDir, dep.alias, {
            fromDependenciesField: dep.dependencyType === "dev" && "devDependencies" || dep.dependencyType === "optional" && "optionalDependencies" || "dependencies",
            linkedPackage: {
              name: dep.name,
              version: dep.version
            },
            prefix: project.dir
          });
          return;
        }
        if ((await (0, symlink_dependency_1.symlinkDependency)(dep.dir, project.modulesDir, dep.alias)).reused) {
          return;
        }
        core_loggers_1.rootLogger.debug({
          added: {
            dependencyType: dep.dependencyType,
            id: dep.id,
            latest: dep.latest,
            name: dep.alias,
            realName: dep.name,
            version: dep.version
          },
          prefix: project.dir
        });
        linkedDeps++;
      }));
      return linkedDeps;
    }
  }
});

// ../pkg-manager/direct-dep-linker/lib/index.js
var require_lib153 = __commonJS({
  "../pkg-manager/direct-dep-linker/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    __exportStar2(require_linkDirectDeps(), exports2);
  }
});

// ../pkg-manager/headless/lib/index.js
var require_lib154 = __commonJS({
  "../pkg-manager/headless/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.headlessInstall = headlessInstall;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var build_modules_1 = require_lib143();
    var builder_policy_1 = require_dist19();
    var calc_dep_state_1 = require_lib109();
    var constants_1 = require_lib5();
    var core_loggers_1 = require_lib28();
    var lockfile_filtering_1 = require_lib144();
    var hoist_1 = require_lib145();
    var lifecycle_1 = require_lib77();
    var link_bins_1 = require_lib72();
    var lockfile_fs_1 = require_lib112();
    var lockfile_to_pnp_1 = require_lib147();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var modules_cleaner_1 = require_lib148();
    var modules_yaml_1 = require_lib95();
    var read_package_json_1 = require_lib50();
    var read_project_manifest_1 = require_lib13();
    var symlink_dependency_1 = require_lib149();
    var types_1 = require_lib31();
    var dp = __importStar3(require_lib98());
    var worker_1 = require_lib60();
    var p_limit_12 = __importDefault2(require_p_limit());
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var equals_1 = __importDefault2(require_equals2());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var omit_1 = __importDefault2(require_omit());
    var pick_1 = __importDefault2(require_pick());
    var pickBy_1 = __importDefault2(require_pickBy());
    var props_1 = __importDefault2(require_props());
    var union_1 = __importDefault2(require_union());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var linkHoistedModules_1 = require_linkHoistedModules();
    var deps_graph_builder_1 = require_lib151();
    var lockfileToHoistedDepGraph_1 = require_lockfileToHoistedDepGraph();
    var pkg_manager_direct_dep_linker_1 = require_lib153();
    async function headlessInstall(opts) {
      const reporter = opts.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const lockfileDir = opts.lockfileDir;
      const wantedLockfile = opts.wantedLockfile ?? await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, {
        ignoreIncompatible: false,
        useGitBranchLockfile: opts.useGitBranchLockfile,
        // mergeGitBranchLockfiles is intentionally not supported in headless
        mergeGitBranchLockfiles: false
      });
      if (wantedLockfile == null) {
        throw new Error(`Headless installation requires a ${constants_1.WANTED_LOCKFILE} file`);
      }
      const depsStateCache = {};
      const relativeModulesDir = opts.modulesDir ?? "node_modules";
      const rootModulesDir = await (0, realpath_missing_1.default)(path_1.default.join(lockfileDir, relativeModulesDir));
      const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(relativeModulesDir, ".pnpm"), lockfileDir);
      const currentLockfile = opts.currentLockfile ?? await (0, lockfile_fs_1.readCurrentLockfile)(virtualStoreDir, { ignoreIncompatible: false });
      const hoistedModulesDir = path_1.default.join(virtualStoreDir, "node_modules");
      const publicHoistedModulesDir = rootModulesDir;
      const selectedProjects = Object.values((0, pick_1.default)(opts.selectedProjectDirs, opts.allProjects));
      const scriptsOpts = {
        optional: false,
        extraBinPaths: opts.extraBinPaths,
        extraNodePaths: opts.extraNodePaths,
        preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
        extraEnv: opts.extraEnv,
        rawConfig: opts.rawConfig,
        resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs,
        scriptsPrependNodePath: opts.scriptsPrependNodePath,
        scriptShell: opts.scriptShell,
        shellEmulator: opts.shellEmulator,
        stdio: opts.ownLifecycleHooksStdio ?? "inherit",
        storeController: opts.storeController,
        unsafePerm: opts.unsafePerm || false
      };
      const skipped = opts.skipped || /* @__PURE__ */ new Set();
      const filterOpts = {
        include: opts.include,
        registries: opts.registries,
        skipped,
        currentEngine: opts.currentEngine,
        engineStrict: opts.engineStrict,
        failOnMissingDependencies: true,
        includeIncompatiblePackages: opts.force,
        lockfileDir,
        supportedArchitectures: opts.supportedArchitectures
      };
      let removed = 0;
      if (opts.nodeLinker !== "hoisted") {
        if (currentLockfile != null && !opts.ignorePackageManifest) {
          const removedDepPaths = await (0, modules_cleaner_1.prune)(selectedProjects, {
            currentLockfile,
            dedupeDirectDeps: opts.dedupeDirectDeps,
            dryRun: false,
            hoistedDependencies: opts.hoistedDependencies,
            hoistedModulesDir: opts.hoistPattern == null ? void 0 : hoistedModulesDir,
            include: opts.include,
            lockfileDir,
            pruneStore: opts.pruneStore,
            pruneVirtualStore: opts.pruneVirtualStore,
            publicHoistedModulesDir: opts.publicHoistPattern == null ? void 0 : publicHoistedModulesDir,
            skipped,
            storeController: opts.storeController,
            virtualStoreDir,
            virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
            wantedLockfile: (0, lockfile_filtering_1.filterLockfileByEngine)(wantedLockfile, filterOpts).lockfile
          });
          removed = removedDepPaths.size;
        } else {
          core_loggers_1.statsLogger.debug({
            prefix: lockfileDir,
            removed: 0
          });
        }
      }
      core_loggers_1.stageLogger.debug({
        prefix: lockfileDir,
        stage: "importing_started"
      });
      const initialImporterIds = opts.ignorePackageManifest === true || opts.nodeLinker === "hoisted" ? Object.keys(wantedLockfile.importers) : selectedProjects.map(({ id }) => id);
      const { lockfile: filteredLockfile, selectedImporterIds: importerIds } = (0, lockfile_filtering_1.filterLockfileByImportersAndEngine)(wantedLockfile, initialImporterIds, filterOpts);
      if (opts.excludeLinksFromLockfile) {
        for (const { id, manifest, rootDir } of selectedProjects) {
          if (filteredLockfile.importers[id]) {
            for (const depType of types_1.DEPENDENCIES_FIELDS) {
              filteredLockfile.importers[id][depType] = {
                ...filteredLockfile.importers[id][depType],
                ...Object.entries(manifest[depType] ?? {}).filter(([_, spec]) => spec.startsWith("link:")).reduce((acc, [depName, spec]) => {
                  const linkPath = spec.substring(5);
                  acc[depName] = path_1.default.isAbsolute(linkPath) ? `link:${path_1.default.relative(rootDir, spec.substring(5))}` : spec;
                  return acc;
                }, {})
              };
            }
          }
        }
      }
      const initialImporterIdSet = new Set(initialImporterIds);
      const missingIds = importerIds.filter((importerId) => !initialImporterIdSet.has(importerId));
      if (missingIds.length > 0) {
        for (const project of Object.values(opts.allProjects)) {
          if (missingIds.includes(project.id)) {
            selectedProjects.push(project);
          }
        }
      }
      const lockfileToDepGraphOpts = {
        ...opts,
        importerIds,
        lockfileDir,
        skipped,
        virtualStoreDir,
        nodeVersion: opts.currentEngine.nodeVersion,
        pnpmVersion: opts.currentEngine.pnpmVersion,
        supportedArchitectures: opts.supportedArchitectures
      };
      const { directDependenciesByImporterId, graph, hierarchy, hoistedLocations, pkgLocationsByDepPath, prevGraph, symlinkedDirectDependenciesByImporterId } = await (opts.nodeLinker === "hoisted" ? (0, lockfileToHoistedDepGraph_1.lockfileToHoistedDepGraph)(filteredLockfile, currentLockfile, lockfileToDepGraphOpts) : (0, deps_graph_builder_1.lockfileToDepGraph)(filteredLockfile, opts.force ? null : currentLockfile, lockfileToDepGraphOpts));
      if (opts.enablePnp) {
        const importerNames = Object.fromEntries(selectedProjects.map(({ manifest, id }) => [id, manifest.name ?? id]));
        await (0, lockfile_to_pnp_1.writePnpFile)(filteredLockfile, {
          importerNames,
          lockfileDir,
          virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
          registries: opts.registries
        });
      }
      const depNodes = Object.values(graph);
      const added = depNodes.filter(({ fetching }) => fetching).length;
      core_loggers_1.statsLogger.debug({
        added,
        prefix: lockfileDir
      });
      function warn(message) {
        logger_1.logger.info({
          message,
          prefix: lockfileDir
        });
      }
      let newHoistedDependencies;
      let linkedToRoot = 0;
      const allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts);
      if (opts.nodeLinker === "hoisted" && hierarchy && prevGraph) {
        await (0, linkHoistedModules_1.linkHoistedModules)(opts.storeController, graph, prevGraph, hierarchy, {
          allowBuild,
          depsStateCache,
          disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
          force: opts.force,
          ignoreScripts: opts.ignoreScripts,
          lockfileDir: opts.lockfileDir,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          sideEffectsCacheRead: opts.sideEffectsCacheRead
        });
        core_loggers_1.stageLogger.debug({
          prefix: lockfileDir,
          stage: "importing_done"
        });
        linkedToRoot = await symlinkDirectDependencies({
          directDependenciesByImporterId: symlinkedDirectDependenciesByImporterId,
          dedupe: Boolean(opts.dedupeDirectDeps),
          filteredLockfile,
          lockfileDir,
          projects: selectedProjects,
          registries: opts.registries,
          symlink: opts.symlink
        });
      } else if (opts.enableModulesDir !== false) {
        await Promise.all(depNodes.map(async (depNode) => fs_1.promises.mkdir(depNode.modules, { recursive: true })));
        await Promise.all([
          opts.symlink === false ? Promise.resolve() : linkAllModules(depNodes, {
            optional: opts.include.optionalDependencies
          }),
          linkAllPkgs(opts.storeController, depNodes, {
            allowBuild,
            force: opts.force,
            disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
            depGraph: graph,
            depsStateCache,
            ignoreScripts: opts.ignoreScripts,
            lockfileDir: opts.lockfileDir,
            sideEffectsCacheRead: opts.sideEffectsCacheRead
          })
        ]);
        core_loggers_1.stageLogger.debug({
          prefix: lockfileDir,
          stage: "importing_done"
        });
        if (opts.ignorePackageManifest !== true && (opts.hoistPattern != null || opts.publicHoistPattern != null)) {
          const hoistLockfile = {
            ...filteredLockfile,
            packages: filteredLockfile.packages != null ? (0, omit_1.default)(Array.from(skipped), filteredLockfile.packages) : {}
          };
          newHoistedDependencies = await (0, hoist_1.hoist)({
            extraNodePath: opts.extraNodePaths,
            lockfile: hoistLockfile,
            importerIds,
            preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
            privateHoistedModulesDir: hoistedModulesDir,
            privateHoistPattern: opts.hoistPattern ?? [],
            publicHoistedModulesDir,
            publicHoistPattern: opts.publicHoistPattern ?? [],
            virtualStoreDir,
            virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
            hoistedWorkspacePackages: opts.hoistWorkspacePackages ? Object.values(opts.allProjects).reduce((hoistedWorkspacePackages, project) => {
              if (project.manifest.name && project.id !== ".") {
                hoistedWorkspacePackages[project.id] = {
                  dir: project.rootDir,
                  name: project.manifest.name
                };
              }
              return hoistedWorkspacePackages;
            }, {}) : void 0
          });
        } else {
          newHoistedDependencies = {};
        }
        await linkAllBins(graph, {
          extraNodePaths: opts.extraNodePaths,
          optional: opts.include.optionalDependencies,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          warn
        });
        if (currentLockfile != null && !(0, equals_1.default)(importerIds.sort(), Object.keys(filteredLockfile.importers).sort())) {
          Object.assign(filteredLockfile.packages, currentLockfile.packages);
        }
        if (!opts.ignorePackageManifest) {
          linkedToRoot = await symlinkDirectDependencies({
            dedupe: Boolean(opts.dedupeDirectDeps),
            directDependenciesByImporterId,
            filteredLockfile,
            lockfileDir,
            projects: selectedProjects,
            registries: opts.registries,
            symlink: opts.symlink
          });
        }
      }
      if (opts.ignoreScripts) {
        for (const { id, manifest } of selectedProjects) {
          if (opts.ignoreScripts && manifest?.scripts != null && (manifest.scripts.preinstall ?? manifest.scripts.prepublish ?? manifest.scripts.install ?? manifest.scripts.postinstall ?? manifest.scripts.prepare)) {
            opts.pendingBuilds.push(id);
          }
        }
        opts.pendingBuilds = opts.pendingBuilds.concat(depNodes.filter(({ requiresBuild }) => requiresBuild).map(({ depPath }) => depPath));
      }
      let ignoredBuilds;
      if ((!opts.ignoreScripts || Object.keys(opts.patchedDependencies ?? {}).length > 0) && opts.enableModulesDir !== false) {
        const directNodes = /* @__PURE__ */ new Set();
        for (const id of (0, union_1.default)(importerIds, ["."])) {
          const directDependencies = directDependenciesByImporterId[id];
          for (const alias in directDependencies) {
            const loc = directDependencies[alias];
            if (!graph[loc])
              continue;
            directNodes.add(loc);
          }
        }
        const extraBinPaths = [...opts.extraBinPaths ?? []];
        if (opts.hoistPattern != null) {
          extraBinPaths.unshift(path_1.default.join(virtualStoreDir, "node_modules/.bin"));
        }
        let extraEnv = opts.extraEnv;
        if (opts.enablePnp) {
          extraEnv = {
            ...extraEnv,
            ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs"))
          };
        }
        ignoredBuilds = (await (0, build_modules_1.buildModules)(graph, Array.from(directNodes), {
          allowBuild,
          ignoredBuiltDependencies: opts.ignoredBuiltDependencies,
          childConcurrency: opts.childConcurrency,
          extraBinPaths,
          extraEnv,
          depsStateCache,
          ignoreScripts: opts.ignoreScripts || opts.ignoreDepScripts,
          hoistedLocations,
          lockfileDir,
          optional: opts.include.optionalDependencies,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          rawConfig: opts.rawConfig,
          rootModulesDir: virtualStoreDir,
          scriptsPrependNodePath: opts.scriptsPrependNodePath,
          scriptShell: opts.scriptShell,
          shellEmulator: opts.shellEmulator,
          sideEffectsCacheWrite: opts.sideEffectsCacheWrite,
          storeController: opts.storeController,
          unsafePerm: opts.unsafePerm,
          userAgent: opts.userAgent
        })).ignoredBuilds;
        if (ignoredBuilds == null && opts.modulesFile?.ignoredBuilds?.length) {
          ignoredBuilds = opts.modulesFile.ignoredBuilds;
          core_loggers_1.ignoredScriptsLogger.debug({ packageNames: ignoredBuilds });
        }
      }
      const projectsToBeBuilt = (0, lockfile_utils_1.extendProjectsWithTargetDirs)(selectedProjects, wantedLockfile, {
        pkgLocationsByDepPath,
        virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      });
      if (opts.enableModulesDir !== false) {
        const rootProjectDeps = !opts.dedupeDirectDeps ? {} : directDependenciesByImporterId["."] ?? {};
        if (!opts.ignorePackageManifest) {
          await Promise.all(selectedProjects.map(async (project) => {
            if (opts.nodeLinker === "hoisted" || opts.publicHoistPattern?.length && path_1.default.relative(opts.lockfileDir, project.rootDir) === "") {
              await linkBinsOfImporter(project, {
                extraNodePaths: opts.extraNodePaths,
                preferSymlinkedExecutables: opts.preferSymlinkedExecutables
              });
            } else {
              let directPkgDirs;
              if (project.id === ".") {
                directPkgDirs = Object.values(directDependenciesByImporterId[project.id]);
              } else {
                directPkgDirs = [];
                for (const [alias, dir] of Object.entries(directDependenciesByImporterId[project.id])) {
                  if (rootProjectDeps[alias] !== dir) {
                    directPkgDirs.push(dir);
                  }
                }
              }
              await (0, link_bins_1.linkBinsOfPackages)((await Promise.all(directPkgDirs.map(async (dir) => ({
                location: dir,
                manifest: await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dir)
              })))).filter(({ manifest }) => manifest != null), project.binsDir, {
                extraNodePaths: opts.extraNodePaths,
                preferSymlinkedExecutables: opts.preferSymlinkedExecutables
              });
            }
          }));
        }
        const injectedDeps = {};
        for (const project of projectsToBeBuilt) {
          if (project.targetDirs.length > 0) {
            injectedDeps[project.id] = project.targetDirs.map((targetDir) => path_1.default.relative(opts.lockfileDir, targetDir));
          }
        }
        await (0, modules_yaml_1.writeModulesManifest)(rootModulesDir, {
          hoistedDependencies: newHoistedDependencies,
          hoistPattern: opts.hoistPattern,
          included: opts.include,
          injectedDeps,
          ignoredBuilds,
          layoutVersion: constants_1.LAYOUT_VERSION,
          hoistedLocations,
          nodeLinker: opts.nodeLinker,
          packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`,
          pendingBuilds: opts.pendingBuilds,
          publicHoistPattern: opts.publicHoistPattern,
          prunedAt: opts.pruneVirtualStore === true || opts.prunedAt == null ? (/* @__PURE__ */ new Date()).toUTCString() : opts.prunedAt,
          registries: opts.registries,
          skipped: Array.from(skipped),
          storeDir: opts.storeDir,
          virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        }, {
          makeModulesDir: Object.keys(filteredLockfile.packages ?? {}).length > 0
        });
        if (opts.useLockfile) {
          await (0, lockfile_fs_1.writeLockfiles)({
            wantedLockfileDir: opts.lockfileDir,
            currentLockfileDir: virtualStoreDir,
            wantedLockfile,
            currentLockfile: filteredLockfile
          });
        } else {
          await (0, lockfile_fs_1.writeCurrentLockfile)(virtualStoreDir, filteredLockfile);
        }
      }
      await Promise.all(depNodes.map(async ({ fetching }) => {
        try {
          await fetching?.();
        } catch {
        }
      }));
      core_loggers_1.summaryLogger.debug({ prefix: lockfileDir });
      await opts.storeController.close();
      if (!opts.ignoreScripts && !opts.ignorePackageManifest) {
        await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts.childConcurrency ?? 5, scriptsOpts);
      }
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.removeListener("data", reporter);
      }
      return {
        stats: {
          added,
          removed,
          linkedToRoot
        },
        ignoredBuilds
      };
    }
    async function symlinkDirectDependencies({ filteredLockfile, dedupe, directDependenciesByImporterId, lockfileDir, projects, registries, symlink }) {
      for (const { rootDir, manifest } of projects) {
        core_loggers_1.packageManifestLogger.debug({
          prefix: rootDir,
          updated: manifest
        });
      }
      if (symlink === false)
        return 0;
      const importerManifestsByImporterId = {};
      for (const { id, manifest } of projects) {
        importerManifestsByImporterId[id] = manifest;
      }
      const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ rootDir, id, modulesDir }) => [id, {
        dir: rootDir,
        modulesDir,
        dependencies: await getRootPackagesToLink(filteredLockfile, {
          importerId: id,
          importerModulesDir: modulesDir,
          lockfileDir,
          projectDir: rootDir,
          importerManifestsByImporterId,
          registries,
          rootDependencies: directDependenciesByImporterId[id]
        })
      }])));
      const rootProject = projectsToLink["."];
      if (rootProject && dedupe) {
        const rootDeps = Object.fromEntries(rootProject.dependencies.map((dep) => [dep.alias, dep.dir]));
        for (const project of Object.values((0, omit_1.default)(["."], projectsToLink))) {
          project.dependencies = project.dependencies.filter((dep) => dep.dir !== rootDeps[dep.alias]);
        }
      }
      return (0, pkg_manager_direct_dep_linker_1.linkDirectDeps)(projectsToLink, { dedupe: Boolean(dedupe) });
    }
    async function linkBinsOfImporter({ manifest, modulesDir, binsDir, rootDir }, { extraNodePaths, preferSymlinkedExecutables } = {}) {
      const warn = (message) => {
        logger_1.logger.info({ message, prefix: rootDir });
      };
      return (0, link_bins_1.linkBins)(modulesDir, binsDir, {
        extraNodePaths,
        allowExoticManifests: true,
        preferSymlinkedExecutables,
        projectManifest: manifest,
        warn
      });
    }
    async function getRootPackagesToLink(lockfile, opts) {
      const projectSnapshot = lockfile.importers[opts.importerId];
      const allDeps = {
        ...projectSnapshot.devDependencies,
        ...projectSnapshot.dependencies,
        ...projectSnapshot.optionalDependencies
      };
      return (await Promise.all(Object.entries(allDeps).map(async ([alias, ref]) => {
        if (ref.startsWith("link:")) {
          const isDev2 = Boolean(projectSnapshot.devDependencies?.[alias]);
          const isOptional2 = Boolean(projectSnapshot.optionalDependencies?.[alias]);
          const packageDir = path_1.default.join(opts.projectDir, ref.slice(5));
          const linkedPackage = await (async () => {
            const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, packageDir);
            if (opts.importerManifestsByImporterId[importerId]) {
              return opts.importerManifestsByImporterId[importerId];
            }
            try {
              return await (0, read_project_manifest_1.readProjectManifestOnly)(packageDir);
            } catch (err) {
              if (err["code"] !== "ERR_PNPM_NO_IMPORTER_MANIFEST_FOUND")
                throw err;
              return { name: alias, version: "0.0.0" };
            }
          })();
          return {
            alias,
            name: linkedPackage.name,
            version: linkedPackage.version,
            dir: packageDir,
            id: ref,
            isExternalLink: true,
            dependencyType: isDev2 && "dev" || isOptional2 && "optional" || "prod"
          };
        }
        const dir = opts.rootDependencies[alias];
        if (!dir) {
          return;
        }
        const isDev = Boolean(projectSnapshot.devDependencies?.[alias]);
        const isOptional = Boolean(projectSnapshot.optionalDependencies?.[alias]);
        const depPath = dp.refToRelative(ref, alias);
        if (depPath === null)
          return;
        const pkgSnapshot = lockfile.packages?.[depPath];
        if (pkgSnapshot == null)
          return;
        const pkgId = pkgSnapshot.id ?? dp.refToRelative(ref, alias) ?? void 0;
        const pkgInfo = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
        return {
          alias,
          isExternalLink: false,
          name: pkgInfo.name,
          version: pkgInfo.version,
          dependencyType: isDev && "dev" || isOptional && "optional" || "prod",
          dir,
          id: pkgId
        };
      }))).filter(Boolean);
    }
    var limitLinking = (0, p_limit_12.default)(16);
    async function linkAllPkgs(storeController, depNodes, opts) {
      await Promise.all(depNodes.map(async (depNode) => {
        if (!depNode.fetching)
          return;
        let filesResponse;
        try {
          filesResponse = (await depNode.fetching()).files;
        } catch (err) {
          if (depNode.optional)
            return;
          throw err;
        }
        depNode.requiresBuild = filesResponse.requiresBuild;
        let sideEffectsCacheKey;
        if (opts.sideEffectsCacheRead && filesResponse.sideEffects && !(0, isEmpty_1.default)(filesResponse.sideEffects)) {
          if (opts?.allowBuild?.(depNode.name) !== false) {
            sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(opts.depGraph, opts.depsStateCache, depNode.dir, {
              isBuilt: !opts.ignoreScripts && depNode.requiresBuild,
              patchFileHash: depNode.patch?.file.hash
            });
          }
        }
        const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
          filesResponse,
          force: opts.force,
          disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
          requiresBuild: depNode.patch != null || depNode.requiresBuild,
          sideEffectsCacheKey
        });
        if (importMethod) {
          core_loggers_1.progressLogger.debug({
            method: importMethod,
            requester: opts.lockfileDir,
            status: "imported",
            to: depNode.dir
          });
        }
        depNode.isBuilt = isBuilt;
        const selfDep = depNode.children[depNode.name];
        if (selfDep) {
          const pkg = opts.depGraph[selfDep];
          if (!pkg)
            return;
          const targetModulesDir = path_1.default.join(depNode.modules, depNode.name, "node_modules");
          await limitLinking(async () => (0, symlink_dependency_1.symlinkDependency)(pkg.dir, targetModulesDir, depNode.name));
        }
      }));
    }
    async function linkAllBins(depGraph, opts) {
      await Promise.all(Object.values(depGraph).map(async (depNode) => limitLinking(async () => {
        const childrenToLink = opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
        const binPath = path_1.default.join(depNode.dir, "node_modules/.bin");
        const pkgSnapshots = (0, props_1.default)(Object.values(childrenToLink), depGraph);
        if (pkgSnapshots.includes(void 0)) {
          await (0, link_bins_1.linkBins)(depNode.modules, binPath, {
            extraNodePaths: opts.extraNodePaths,
            preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
            warn: opts.warn
          });
        } else {
          const pkgs = await Promise.all(pkgSnapshots.filter(({ hasBin }) => hasBin).map(async ({ dir }) => ({
            location: dir,
            manifest: await (0, read_package_json_1.readPackageJsonFromDir)(dir)
          })));
          await (0, link_bins_1.linkBinsOfPackages)(pkgs, binPath, {
            extraNodePaths: opts.extraNodePaths,
            preferSymlinkedExecutables: opts.preferSymlinkedExecutables
          });
        }
        if (depNode.hasBundledDependencies) {
          const bundledModules = path_1.default.join(depNode.dir, "node_modules");
          await (0, link_bins_1.linkBins)(bundledModules, binPath, {
            extraNodePaths: opts.extraNodePaths,
            preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
            warn: opts.warn
          });
        }
      })));
    }
    async function linkAllModules(depNodes, opts) {
      await (0, worker_1.symlinkAllModules)({
        deps: depNodes.map((depNode) => ({
          children: opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children),
          modules: depNode.modules,
          name: depNode.name
        }))
      });
    }
  }
});

// ../lockfile/preferred-versions/lib/index.js
var require_lib155 = __commonJS({
  "../lockfile/preferred-versions/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPreferredVersionsFromLockfileAndManifests = getPreferredVersionsFromLockfileAndManifests;
    var lockfile_utils_1 = require_lib117();
    var manifest_utils_1 = require_lib32();
    var resolver_base_1 = require_lib100();
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    function getPreferredVersionsFromLockfileAndManifests(snapshots, manifests) {
      const preferredVersions = {};
      for (const manifest of manifests) {
        const specs = (0, manifest_utils_1.getAllDependenciesFromManifest)(manifest);
        for (const [name, spec] of Object.entries(specs)) {
          const selector = (0, version_selector_type_1.default)(spec);
          if (!selector)
            continue;
          preferredVersions[name] = preferredVersions[name] ?? {};
          preferredVersions[name][spec] = {
            selectorType: selector.type,
            weight: resolver_base_1.DIRECT_DEP_SELECTOR_WEIGHT
          };
        }
      }
      if (!snapshots)
        return preferredVersions;
      addPreferredVersionsFromLockfile(snapshots, preferredVersions);
      return preferredVersions;
    }
    function addPreferredVersionsFromLockfile(snapshots, preferredVersions) {
      for (const [depPath, snapshot] of Object.entries(snapshots)) {
        const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, snapshot);
        if (!preferredVersions[name]) {
          preferredVersions[name] = { [version2]: "version" };
        } else if (!preferredVersions[name][version2]) {
          preferredVersions[name][version2] = "version";
        }
      }
    }
  }
});

// ../node_modules/.pnpm/semver-utils@1.1.4/node_modules/semver-utils/semver-utils.js
var require_semver_utils = __commonJS({
  "../node_modules/.pnpm/semver-utils@1.1.4/node_modules/semver-utils/semver-utils.js"(exports2, module2) {
    (function() {
      "use strict";
      var reSemver = /^v?((\d+)\.(\d+)\.(\d+))(?:-([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?(?:\+([\dA-Za-z\-]+(?:\.[\dA-Za-z\-]+)*))?$/, reSemverRange = /\s*((\|\||\-)|(((?:(?:~?[<>]?)|\^?)=?)\s*(v)?([0-9]+)(\.(x|\*|[0-9]+))?(\.(x|\*|[0-9]+))?(([\-+])([a-zA-Z0-9\.-]+))?))\s*/g;
      function pruned(obj) {
        var o = {};
        for (var key in obj) {
          if ("undefined" !== typeof obj[key]) {
            o[key] = obj[key];
          }
        }
        return o;
      }
      function stringifySemver(obj) {
        var str = "";
        str += obj.major || "0";
        str += ".";
        str += obj.minor || "0";
        str += ".";
        str += obj.patch || "0";
        if (obj.release) {
          str += "-" + obj.release;
        }
        if (obj.build) {
          str += "+" + obj.build;
        }
        return str;
      }
      function stringifySemverRange(arr) {
        var str = "";
        function stringify2(ver) {
          if (ver.operator) {
            str += ver.operator + " ";
          }
          if (ver.major) {
            str += ver.toString() + " ";
          }
        }
        arr.forEach(stringify2);
        return str.trim();
      }
      function SemVer(obj) {
        if (!obj) {
          return;
        }
        var me = this;
        Object.keys(obj).forEach(function(key) {
          me[key] = obj[key];
        });
      }
      SemVer.prototype.toString = function() {
        return stringifySemver(this);
      };
      function parseSemver(version2) {
        var m = reSemver.exec(version2) || [], ver = new SemVer(pruned({
          semver: m[0],
          version: m[1],
          major: m[2],
          minor: m[3],
          patch: m[4],
          release: m[5],
          build: m[6]
        }));
        if (0 === m.length) {
          ver = null;
        }
        return ver;
      }
      function parseSemverRange(str) {
        var m, arr = [], obj;
        while (m = reSemverRange.exec(str)) {
          obj = {
            semver: m[3],
            operator: m[4] || m[2],
            major: m[6],
            minor: m[8],
            patch: m[10]
          };
          if ("+" === m[12]) {
            obj.build = m[13];
          }
          if ("-" === m[12]) {
            obj.release = m[13];
          }
          arr.push(new SemVer(pruned(obj)));
        }
        return arr;
      }
      module2.exports.parse = parseSemver;
      module2.exports.stringify = stringifySemver;
      module2.exports.parseRange = parseSemverRange;
      module2.exports.stringifyRange = stringifySemverRange;
    })();
  }
});

// ../packages/which-version-is-pinned/lib/index.js
var require_lib156 = __commonJS({
  "../packages/which-version-is-pinned/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.whichVersionIsPinned = whichVersionIsPinned;
    var semver_utils_1 = require_semver_utils();
    function whichVersionIsPinned(spec) {
      const isWorkspaceProtocol = spec.startsWith("workspace:");
      if (isWorkspaceProtocol)
        spec = spec.slice("workspace:".length);
      if (spec === "*")
        return isWorkspaceProtocol ? "patch" : "none";
      if (spec.startsWith("npm:")) {
        const index = spec.lastIndexOf("@");
        spec = spec.slice(index + 1);
      }
      const parsedRange = (0, semver_utils_1.parseRange)(spec);
      if (parsedRange.length !== 1)
        return void 0;
      const versionObject = parsedRange[0];
      switch (versionObject.operator) {
        case "~":
          return "minor";
        case "^":
          return "major";
        case void 0:
          if (versionObject.patch)
            return "patch";
          if (versionObject.minor)
            return "minor";
      }
      return void 0;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/getWantedDependencies.js
var require_getWantedDependencies = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/getWantedDependencies.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getWantedDependencies = getWantedDependencies;
    var manifest_utils_1 = require_lib32();
    var which_version_is_pinned_1 = require_lib156();
    var workspace_spec_parser_1 = require_lib43();
    function getWantedDependencies(pkg, opts) {
      let depsToInstall = (0, manifest_utils_1.filterDependenciesByType)(pkg, opts?.includeDirect ?? {
        dependencies: true,
        devDependencies: true,
        optionalDependencies: true
      });
      if (opts?.autoInstallPeers) {
        depsToInstall = {
          ...pkg.peerDependencies,
          ...depsToInstall
        };
      }
      return getWantedDependenciesFromGivenSet(depsToInstall, {
        dependencies: pkg.dependencies ?? {},
        devDependencies: pkg.devDependencies ?? {},
        optionalDependencies: pkg.optionalDependencies ?? {},
        dependenciesMeta: pkg.dependenciesMeta ?? {},
        peerDependencies: pkg.peerDependencies ?? {},
        updatePref: opts?.updateWorkspaceDependencies === true ? updateWorkspacePref : (pref) => pref
      });
    }
    function updateWorkspacePref(pref) {
      const spec = workspace_spec_parser_1.WorkspaceSpec.parse(pref);
      if (!spec)
        return pref;
      spec.version = "*";
      return spec.toString();
    }
    function getWantedDependenciesFromGivenSet(deps, opts) {
      if (!deps)
        return [];
      return Object.entries(deps).map(([alias, pref]) => {
        const updatedPref = opts.updatePref(pref);
        let depType;
        if (opts.optionalDependencies[alias] != null)
          depType = "optional";
        else if (opts.dependencies[alias] != null)
          depType = "prod";
        else if (opts.devDependencies[alias] != null)
          depType = "dev";
        else if (opts.peerDependencies[alias] != null)
          depType = "prod";
        return {
          alias,
          dev: depType === "dev",
          injected: opts.dependenciesMeta[alias]?.injected,
          optional: depType === "optional",
          nodeExecPath: opts.nodeExecPath ?? opts.dependenciesMeta[alias]?.node,
          pinnedVersion: (0, which_version_is_pinned_1.whichVersionIsPinned)(pref),
          pref: updatedPref,
          raw: `${alias}@${pref}`
        };
      });
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/depPathToRef.js
var require_depPathToRef = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/depPathToRef.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.depPathToRef = depPathToRef;
    function depPathToRef(depPath, opts) {
      if (opts.alias === opts.realName && depPath.startsWith(`${opts.realName}@`)) {
        return depPath.substring(opts.realName.length + 1);
      }
      return depPath;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/getNonDevWantedDependencies.js
var require_getNonDevWantedDependencies = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/getNonDevWantedDependencies.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNonDevWantedDependencies = getNonDevWantedDependencies;
    var pickBy_1 = __importDefault2(require_pickBy());
    function getNonDevWantedDependencies(pkg) {
      let bd = pkg.bundledDependencies ?? pkg.bundleDependencies;
      if (bd === true) {
        bd = pkg.dependencies != null ? Object.keys(pkg.dependencies) : [];
      }
      const bundledDeps = new Set(Array.isArray(bd) ? bd : []);
      const filterDeps = getNotBundledDeps.bind(null, bundledDeps);
      return getWantedDependenciesFromGivenSet(filterDeps({ ...pkg.optionalDependencies, ...pkg.dependencies }), {
        dependenciesMeta: pkg.dependenciesMeta ?? {},
        devDependencies: {},
        optionalDependencies: pkg.optionalDependencies ?? {}
      });
    }
    function getWantedDependenciesFromGivenSet(deps, opts) {
      if (!deps)
        return [];
      return Object.entries(deps).map(([alias, pref]) => ({
        alias,
        dev: !!opts.devDependencies[alias],
        injected: opts.dependenciesMeta[alias]?.injected,
        optional: !!opts.optionalDependencies[alias],
        pref
      }));
    }
    function getNotBundledDeps(bundledDeps, deps) {
      return (0, pickBy_1.default)((_, depName) => !bundledDeps.has(depName), deps);
    }
  }
});

// ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/utils.js
var require_utils17 = __commonJS({
  "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/utils.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var semver_12 = __importDefault2(require_semver2());
    function isNotNull(value) {
      return value !== null;
    }
    exports2.isNotNull = isNotNull;
    function uniqueArray(array) {
      return [...new Set(array)];
    }
    exports2.uniqueArray = uniqueArray;
    function isNoIncludeNull(value) {
      return value.every(isNotNull);
    }
    exports2.isNoIncludeNull = isNoIncludeNull;
    function isPrerelease(version2) {
      if (version2 instanceof semver_12.default.SemVer) {
        return version2.prerelease.length !== 0;
      } else {
        return false;
      }
    }
    exports2.isPrerelease = isPrerelease;
    function isValidOperator(comparator, operatorList) {
      return operatorList.includes(comparator.operator);
    }
    exports2.isValidOperator = isValidOperator;
    function equalComparator(comparatorA, comparatorB) {
      return comparatorA.value === comparatorB.value;
    }
    exports2.equalComparator = equalComparator;
    function comparator2versionStr(comparator) {
      const compSemver = comparator.semver;
      return compSemver instanceof semver_12.default.SemVer ? compSemver.version : "";
    }
    exports2.comparator2versionStr = comparator2versionStr;
    function isSameVersionEqualsLikeComparator(comparatorA, comparatorB) {
      const compVersionA = comparator2versionStr(comparatorA);
      const compVersionB = comparator2versionStr(comparatorB);
      return compVersionA !== "" && compVersionB !== "" && compVersionA === compVersionB && /=|^$/.test(comparatorA.operator) && /=|^$/.test(comparatorB.operator);
    }
    exports2.isSameVersionEqualsLikeComparator = isSameVersionEqualsLikeComparator;
    function isEqualsComparator(comparator) {
      return comparator.semver instanceof semver_12.default.SemVer && isValidOperator(comparator, ["", "="]);
    }
    exports2.isEqualsComparator = isEqualsComparator;
    function filterUniqueComparator(comparator, index, self2) {
      return self2.findIndex((comp) => equalComparator(comparator, comp)) === index;
    }
    exports2.filterUniqueComparator = filterUniqueComparator;
    function filterOperator(operatorList) {
      return (comparator) => isValidOperator(comparator, operatorList);
    }
    exports2.filterOperator = filterOperator;
    function isIntersectRanges(semverRangeList) {
      return semverRangeList.every((rangeA, index, rangeList) => rangeList.slice(index + 1).every((rangeB) => rangeA.intersects(rangeB)));
    }
    exports2.isIntersectRanges = isIntersectRanges;
    function stripSemVerPrerelease(semverVersion) {
      if (!(semverVersion instanceof semver_12.default.SemVer)) {
        return "";
      }
      if (!semverVersion.prerelease.length) {
        return semverVersion.version;
      }
      const newSemverVersion = new semver_12.default.SemVer(semverVersion.version, semverVersion.options);
      newSemverVersion.prerelease = [];
      return newSemverVersion.format();
    }
    exports2.stripSemVerPrerelease = stripSemVerPrerelease;
    function stripComparatorOperator(comparator) {
      if (!comparator.operator) {
        return comparator;
      }
      const versionStr = comparator2versionStr(comparator);
      return new semver_12.default.Comparator(versionStr, comparator.options);
    }
    exports2.stripComparatorOperator = stripComparatorOperator;
    function getLowerBoundComparator(comparatorList, options = {}) {
      const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, [">", ">="]) || !(comparator.semver instanceof semver_12.default.SemVer));
      const leComparatorVersionList = comparatorList.filter(filterOperator(["<="])).map(comparator2versionStr);
      if (validComparatorList.length >= 1) {
        return validComparatorList.reduce((a, b) => {
          const semverA = a.semver;
          const semverB = b.semver;
          if (!(semverA instanceof semver_12.default.SemVer)) {
            if (!options.singleRange && isPrerelease(semverB) && !(b.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverB)))) {
              return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverB)}`, b.options);
            }
            return b;
          } else if (!(semverB instanceof semver_12.default.SemVer)) {
            if (!options.singleRange && isPrerelease(semverA) && !(a.operator === ">=" && leComparatorVersionList.some((version2) => version2 === String(semverA)))) {
              return new semver_12.default.Comparator(`>=${stripSemVerPrerelease(semverA)}`, a.options);
            }
            return a;
          }
          const semverCmp = semver_12.default.compare(semverA, semverB);
          if (a.operator === b.operator || semverCmp !== 0) {
            if (!options.singleRange) {
              const semverCmpMain = semverA.compareMain(semverB);
              if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) {
                if (semverCmpMain > 0) {
                  return new semver_12.default.Comparator(a.operator + stripSemVerPrerelease(semverA), a.options);
                } else {
                  return new semver_12.default.Comparator(b.operator + stripSemVerPrerelease(semverB), b.options);
                }
              }
            }
            if (semverCmp > 0) {
              return a;
            } else {
              return b;
            }
          } else {
            if (a.operator === ">") {
              return a;
            } else {
              return b;
            }
          }
        });
      } else {
        return new semver_12.default.Comparator("");
      }
    }
    exports2.getLowerBoundComparator = getLowerBoundComparator;
    function getUpperBoundComparator(comparatorList, options = {}) {
      const validComparatorList = comparatorList.filter((comparator) => isValidOperator(comparator, ["<", "<="]) || !(comparator.semver instanceof semver_12.default.SemVer));
      const geComparatorVersionList = comparatorList.filter(filterOperator([">="])).map(comparator2versionStr);
      if (validComparatorList.length >= 1) {
        return validComparatorList.reduce((a, b) => {
          const semverA = a.semver;
          const semverB = b.semver;
          if (!(semverA instanceof semver_12.default.SemVer)) {
            if (!options.singleRange && isPrerelease(semverB) && !(b.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverB)))) {
              return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options);
            }
            return b;
          } else if (!(semverB instanceof semver_12.default.SemVer)) {
            if (!options.singleRange && isPrerelease(semverA) && !(a.operator === "<=" && geComparatorVersionList.some((version2) => version2 === String(semverA)))) {
              return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a.options);
            }
            return a;
          }
          const semverCmp = semver_12.default.compare(semverA, semverB);
          if (a.operator === b.operator || semverCmp !== 0) {
            if (!options.singleRange) {
              const semverCmpMain = semverA.compareMain(semverB);
              if (semverCmpMain !== 0 && semverA.prerelease.length && semverB.prerelease.length) {
                if (semverCmpMain < 0) {
                  return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverA)}`, a.options);
                } else {
                  return new semver_12.default.Comparator(`<${stripSemVerPrerelease(semverB)}`, b.options);
                }
              }
            }
            if (semverCmp < 0) {
              return a;
            } else {
              return b;
            }
          } else {
            if (a.operator === "<") {
              return a;
            } else {
              return b;
            }
          }
        });
      } else {
        return new semver_12.default.Comparator("");
      }
    }
    exports2.getUpperBoundComparator = getUpperBoundComparator;
  }
});

// ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/single-range.js
var require_single_range = __commonJS({
  "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/single-range.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var semver_12 = __importDefault2(require_semver2());
    var utils_1 = require_utils17();
    var SingleVer = class {
      constructor(comp) {
        this.comp = comp;
      }
      toString() {
        return this.comp.value;
      }
      intersect(singleRange) {
        if (semver_12.default.intersects(String(this), String(singleRange))) {
          return this;
        } else {
          return null;
        }
      }
      merge(singleRange) {
        if (semver_12.default.intersects(String(this), String(singleRange))) {
          return singleRange;
        }
        return null;
      }
    };
    exports2.SingleVer = SingleVer;
    var SingleRange = class _SingleRange {
      constructor(lowerBound, upperBound) {
        this.lowerBound = lowerBound;
        this.upperBound = upperBound;
        if (!lowerBound.intersects(upperBound)) {
          throw new Error(`Invalid range; version range does not intersect: ${this}`);
        }
      }
      toString() {
        return [this.lowerBound.value, this.upperBound.value].filter((v) => v !== "").join(" ");
      }
      intersect(singleRange) {
        if (semver_12.default.intersects(String(this), String(singleRange))) {
          if (singleRange instanceof SingleVer) {
            return singleRange;
          } else {
            const lowerBoundComparatorList = [
              this.lowerBound,
              singleRange.lowerBound
            ];
            const upperBoundComparatorList = [
              this.upperBound,
              singleRange.upperBound
            ];
            const lowerBound = utils_1.getLowerBoundComparator([
              ...lowerBoundComparatorList,
              ...upperBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer)
            ]);
            const upperBound = utils_1.getUpperBoundComparator([
              ...upperBoundComparatorList,
              ...lowerBoundComparatorList.filter((comparator) => comparator.semver instanceof semver_12.default.SemVer)
            ]);
            if (utils_1.isSameVersionEqualsLikeComparator(lowerBound, upperBound)) {
              return new SingleVer(utils_1.stripComparatorOperator(lowerBound));
            }
            return new _SingleRange(lowerBound, upperBound);
          }
        } else {
          return null;
        }
      }
      merge(singleRange) {
        if (semver_12.default.intersects(String(this), String(singleRange))) {
          if (singleRange instanceof SingleVer) {
            return this;
          } else {
            const lowerBound = ((a, b) => {
              const semverA = a.semver;
              const semverB = b.semver;
              if (!(semverA instanceof semver_12.default.SemVer)) {
                if (utils_1.isPrerelease(semverB)) {
                  return null;
                }
                return a;
              } else if (!(semverB instanceof semver_12.default.SemVer)) {
                if (utils_1.isPrerelease(semverA)) {
                  return null;
                }
                return b;
              }
              const cmpMain = semverA.compareMain(semverB);
              if (cmpMain < 0 && utils_1.isPrerelease(semverB) || cmpMain > 0 && utils_1.isPrerelease(semverA)) {
                return null;
              }
              const semverCmp = semver_12.default.compare(semverA, semverB);
              if (a.operator === b.operator || semverCmp !== 0) {
                if (semverCmp < 0) {
                  return a;
                } else {
                  return b;
                }
              } else {
                if (a.operator === ">=") {
                  return a;
                } else {
                  return b;
                }
              }
            })(this.lowerBound, singleRange.lowerBound);
            const upperBound = ((a, b) => {
              const semverA = a.semver;
              const semverB = b.semver;
              if (!(semverA instanceof semver_12.default.SemVer)) {
                if (utils_1.isPrerelease(semverB)) {
                  return null;
                }
                return a;
              } else if (!(semverB instanceof semver_12.default.SemVer)) {
                if (utils_1.isPrerelease(semverA)) {
                  return null;
                }
                return b;
              }
              const cmpMain = semverA.compareMain(semverB);
              if (cmpMain > 0 && utils_1.isPrerelease(semverB) || cmpMain < 0 && utils_1.isPrerelease(semverA)) {
                return null;
              }
              const semverCmp = semver_12.default.compare(semverA, semverB);
              if (a.operator === b.operator || semverCmp !== 0) {
                if (semverCmp > 0) {
                  return a;
                } else {
                  return b;
                }
              } else {
                if (a.operator === "<=") {
                  return a;
                } else {
                  return b;
                }
              }
            })(this.upperBound, singleRange.upperBound);
            if (lowerBound && upperBound) {
              return new _SingleRange(lowerBound, upperBound);
            }
          }
        }
        return null;
      }
    };
    exports2.SingleRange = SingleRange;
    function createSingleRange(comparatorList) {
      const equalsComparatorList = comparatorList.filter(utils_1.isEqualsComparator).filter(utils_1.filterUniqueComparator);
      switch (equalsComparatorList.length) {
        case 0: {
          const lowerBound = utils_1.getLowerBoundComparator(comparatorList, {
            singleRange: true
          });
          const upperBound = utils_1.getUpperBoundComparator(comparatorList, {
            singleRange: true
          });
          if (utils_1.isSameVersionEqualsLikeComparator(lowerBound, upperBound)) {
            return new SingleVer(utils_1.stripComparatorOperator(lowerBound));
          }
          try {
            return new SingleRange(lowerBound, upperBound);
          } catch (err) {
            return null;
          }
        }
        case 1:
          return new SingleVer(equalsComparatorList[0]);
        default:
          return null;
      }
    }
    exports2.createSingleRange = createSingleRange;
    function isSingleRange(value) {
      return value instanceof SingleVer || value instanceof SingleRange;
    }
    exports2.isSingleRange = isSingleRange;
  }
});

// ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/multi-range.js
var require_multi_range = __commonJS({
  "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/multi-range.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var single_range_1 = require_single_range();
    var utils_1 = require_utils17();
    function normalizeSingleRangeList(singleRangeList) {
      return singleRangeList.reduce((singleRangeList2, singleRange) => {
        if (!singleRange) {
          return [...singleRangeList2, singleRange];
        }
        let insertFirst = false;
        const removeIndexList = [];
        const appendSingleRange = singleRangeList2.reduce((appendSingleRange2, insertedSingleRange, index) => {
          if (insertedSingleRange && appendSingleRange2) {
            const mergedSingleRange = insertedSingleRange.merge(appendSingleRange2);
            if (mergedSingleRange) {
              if (String(mergedSingleRange) === String(insertedSingleRange)) {
                return;
              } else {
                removeIndexList.push(index);
                if (insertedSingleRange instanceof single_range_1.SingleRange && appendSingleRange2 instanceof single_range_1.SingleRange) {
                  insertFirst = true;
                }
                return mergedSingleRange;
              }
            }
          }
          return appendSingleRange2;
        }, singleRange);
        const removedSingleRangeList = singleRangeList2.filter((_, index) => !removeIndexList.includes(index));
        if (appendSingleRange) {
          if (insertFirst) {
            return [appendSingleRange, ...removedSingleRangeList];
          } else {
            return [...removedSingleRangeList, appendSingleRange];
          }
        }
        return removedSingleRangeList;
      }, []);
    }
    exports2.normalizeSingleRangeList = normalizeSingleRangeList;
    var MultiRange = class _MultiRange {
      get valid() {
        return this.set.length >= 1;
      }
      constructor(rangeList) {
        if (rangeList) {
          const singleRangeList = normalizeSingleRangeList(rangeList.map((singleRangeOrComparatorList) => {
            if (single_range_1.isSingleRange(singleRangeOrComparatorList) || !singleRangeOrComparatorList) {
              return singleRangeOrComparatorList;
            } else {
              return single_range_1.createSingleRange(singleRangeOrComparatorList);
            }
          }));
          this.set = singleRangeList.filter(utils_1.isNotNull);
        } else {
          this.set = [];
        }
      }
      toString() {
        if (!this.valid) {
          throw new Error("Invalid range");
        }
        return utils_1.uniqueArray(this.set.map(String)).join(" || ");
      }
      intersect(multiRange) {
        if (this.valid && multiRange.valid) {
          const singleRangeList = this.set.map((singleRangeA) => multiRange.set.map((singleRangeB) => singleRangeA.intersect(singleRangeB))).reduce((a, b) => [...a, ...b]).filter(utils_1.isNotNull);
          return new _MultiRange(singleRangeList);
        } else if (this.valid) {
          return this;
        } else if (multiRange.valid) {
          return multiRange;
        } else {
          return new _MultiRange(null);
        }
      }
    };
    exports2.MultiRange = MultiRange;
  }
});

// ../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/index.js
var require_dist20 = __commonJS({
  "../node_modules/.pnpm/semver-range-intersect@0.3.1/node_modules/semver-range-intersect/dist/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var semver_12 = __importDefault2(require_semver2());
    var multi_range_1 = require_multi_range();
    var utils_1 = require_utils17();
    function intersect(...ranges) {
      const semverRangeList = (() => {
        try {
          return ranges.map((rangeStr) => new semver_12.default.Range(rangeStr));
        } catch (err) {
          return null;
        }
      })();
      if (!semverRangeList || !utils_1.isIntersectRanges(semverRangeList)) {
        return null;
      }
      const intersectRange = semverRangeList.map((range) => new multi_range_1.MultiRange(range.set)).reduce((multiRangeA, multiRangeB) => multiRangeA.intersect(multiRangeB), new multi_range_1.MultiRange(null));
      return intersectRange.valid ? String(intersectRange) || "*" : null;
    }
    exports2.intersect = intersect;
  }
});

// ../pkg-manager/resolve-dependencies/lib/mergePeers.js
var require_mergePeers = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/mergePeers.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mergePeers = mergePeers;
    exports2.safeIntersect = safeIntersect;
    var semver_range_intersect_1 = require_dist20();
    function mergePeers(missingPeers) {
      const conflicts = [];
      const intersections = {};
      for (const [peerName, ranges] of Object.entries(missingPeers)) {
        if (ranges.every(({ optional }) => optional))
          continue;
        if (ranges.length === 1) {
          intersections[peerName] = ranges[0].wantedRange;
          continue;
        }
        const intersection = safeIntersect(ranges.map(({ wantedRange }) => wantedRange));
        if (intersection === null) {
          conflicts.push(peerName);
        } else {
          intersections[peerName] = intersection;
        }
      }
      return { conflicts, intersections };
    }
    function safeIntersect(ranges) {
      try {
        return (0, semver_range_intersect_1.intersect)(...ranges);
      } catch {
        return null;
      }
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/nextNodeId.js
var require_nextNodeId = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/nextNodeId.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.nextNodeId = nextNodeId;
    var nodeIdCounter = 0;
    function nextNodeId() {
      return ++nodeIdCounter;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/parentIdsContainSequence.js
var require_parentIdsContainSequence = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/parentIdsContainSequence.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parentIdsContainSequence = parentIdsContainSequence;
    function parentIdsContainSequence(pkgIds, pkgId1, pkgId2) {
      const pkg1Index = pkgIds.indexOf(pkgId1);
      if (pkg1Index === -1 || pkg1Index === pkgIds.length - 1) {
        return false;
      }
      const pkg2Index = pkgIds.lastIndexOf(pkgId2);
      return pkg1Index < pkg2Index && pkg2Index !== pkgIds.length - 1;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/hoistPeers.js
var require_hoistPeers = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/hoistPeers.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.hoistPeers = hoistPeers;
    exports2.getHoistableOptionalPeers = getHoistableOptionalPeers;
    var semver_12 = __importDefault2(require_semver2());
    function hoistPeers(missingRequiredPeers, opts) {
      const dependencies = {};
      for (const [peerName, { range }] of missingRequiredPeers) {
        if (opts.allPreferredVersions[peerName]) {
          const versions = [];
          const nonVersions = [];
          for (const [spec, specType] of Object.entries(opts.allPreferredVersions[peerName])) {
            if (specType === "version") {
              versions.push(spec);
            } else {
              nonVersions.push(spec);
            }
          }
          dependencies[peerName] = [semver_12.default.maxSatisfying(versions, "*", { includePrerelease: true }), ...nonVersions].join(" || ");
        } else if (opts.autoInstallPeers) {
          dependencies[peerName] = range;
        }
      }
      return dependencies;
    }
    function getHoistableOptionalPeers(allMissingOptionalPeers, allPreferredVersions) {
      const optionalDependencies = {};
      for (const [missingOptionalPeerName, ranges] of Object.entries(allMissingOptionalPeers)) {
        if (!allPreferredVersions[missingOptionalPeerName])
          continue;
        let maxSatisfyingVersion;
        for (const [version2, specType] of Object.entries(allPreferredVersions[missingOptionalPeerName])) {
          if (specType === "version" && ranges.every((range) => semver_12.default.satisfies(version2, range)) && (!maxSatisfyingVersion || semver_12.default.gt(version2, maxSatisfyingVersion))) {
            maxSatisfyingVersion = version2;
          }
        }
        if (maxSatisfyingVersion) {
          optionalDependencies[missingOptionalPeerName] = maxSatisfyingVersion;
        }
      }
      return optionalDependencies;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js
var require_wantedDepIsLocallyAvailable = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/wantedDepIsLocallyAvailable.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.wantedDepIsLocallyAvailable = wantedDepIsLocallyAvailable;
    var npm_resolver_1 = require_lib44();
    var semver_12 = __importDefault2(require_semver2());
    function wantedDepIsLocallyAvailable(workspacePackages, wantedDependency, opts) {
      const spec = (0, npm_resolver_1.parsePref)(wantedDependency.pref, wantedDependency.alias, opts.defaultTag || "latest", opts.registry);
      if (spec == null || !workspacePackages.has(spec.name))
        return false;
      return pickMatchingLocalVersionOrNull(workspacePackages.get(spec.name), spec) !== null;
    }
    function pickMatchingLocalVersionOrNull(versions, spec) {
      const localVersions = Object.keys(versions);
      switch (spec.type) {
        case "tag":
          return semver_12.default.maxSatisfying(localVersions, "*");
        case "version":
          return versions.has(spec.fetchSpec) ? spec.fetchSpec : null;
        case "range":
          return semver_12.default.maxSatisfying(localVersions, spec.fetchSpec, true);
        default:
          return null;
      }
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/replaceVersionInPref.js
var require_replaceVersionInPref = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/replaceVersionInPref.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.replaceVersionInPref = replaceVersionInPref;
    var semver_12 = __importDefault2(require_semver2());
    function replaceVersionInPref(pref, version2) {
      if (semver_12.default.validRange(pref)) {
        return version2;
      }
      if (!pref.startsWith("npm:")) {
        return pref;
      }
      const versionDelimiter = pref.lastIndexOf("@");
      if (versionDelimiter === -1 || pref.indexOf("/") > versionDelimiter) {
        return `${pref}@${version2}`;
      }
      return `${pref.substring(0, versionDelimiter + 1)}${version2}`;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/resolveDependencies.js
var require_resolveDependencies = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/resolveDependencies.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPkgsInfoFromIds = getPkgsInfoFromIds;
    exports2.resolveRootDependencies = resolveRootDependencies;
    exports2.resolveDependencies = resolveDependencies;
    exports2.createNodeIdForLinkedLocalPkg = createNodeIdForLinkedLocalPkg;
    var path_1 = __importDefault2(require("path"));
    var catalogs_resolver_1 = require_lib24();
    var core_loggers_1 = require_lib28();
    var error_1 = require_lib6();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var patching_config_1 = require_lib150();
    var pick_registry_for_package_1 = require_lib91();
    var resolver_base_1 = require_lib100();
    var dp = __importStar3(require_lib98());
    var lockfile_preferred_versions_1 = require_lib155();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var path_exists_1 = __importDefault2(require_path_exists2());
    var p_defer_1 = __importDefault2(require_p_defer2());
    var promise_share_1 = __importDefault2(require_promise_share());
    var partition_1 = __importDefault2(require_partition4());
    var pickBy_1 = __importDefault2(require_pickBy());
    var omit_1 = __importDefault2(require_omit());
    var zipWith_1 = __importDefault2(require_zipWith2());
    var semver_12 = __importDefault2(require_semver2());
    var getNonDevWantedDependencies_1 = require_getNonDevWantedDependencies();
    var mergePeers_1 = require_mergePeers();
    var nextNodeId_1 = require_nextNodeId();
    var parentIdsContainSequence_1 = require_parentIdsContainSequence();
    var hoistPeers_1 = require_hoistPeers();
    var wantedDepIsLocallyAvailable_1 = require_wantedDepIsLocallyAvailable();
    var replaceVersionInPref_1 = require_replaceVersionInPref();
    var dependencyResolvedLogger = (0, logger_1.logger)("_dependency_resolved");
    var omitDepsFields = (0, omit_1.default)(["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]);
    function getPkgsInfoFromIds(ids, resolvedPkgsById) {
      return ids.slice(1).map((id) => {
        const { name, version: version2 } = resolvedPkgsById[id];
        return { id, name, version: version2 };
      });
    }
    async function resolveRootDependencies(ctx, importers) {
      if (ctx.autoInstallPeers) {
        ctx.allPreferredVersions = (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, []);
      } else if (ctx.hoistPeers) {
        ctx.allPreferredVersions = {};
      }
      const { pkgAddressesByImportersWithoutPeers, publishedBy, time } = await resolveDependenciesOfImporters(ctx, importers);
      if (!ctx.hoistPeers) {
        return {
          pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses),
          time
        };
      }
      while (true) {
        const allMissingOptionalPeersByImporters = await Promise.all(pkgAddressesByImportersWithoutPeers.map(async (importerResolutionResult, index) => {
          const { parentPkgAliases, preferredVersions, options } = importers[index];
          const allMissingOptionalPeers = {};
          while (true) {
            for (const pkgAddress of importerResolutionResult.pkgAddresses) {
              parentPkgAliases[pkgAddress.alias] = true;
            }
            const [missingOptionalPeers, missingRequiredPeers] = (0, partition_1.default)(([, { optional }]) => optional, Object.entries(importerResolutionResult.missingPeers ?? {}));
            for (const missingPeerName of Object.keys(missingRequiredPeers)) {
              parentPkgAliases[missingPeerName] = true;
            }
            if (ctx.autoInstallPeers) {
              for (const [resolvedPeerName, resolvedPeerAddress] of Object.entries(importerResolutionResult.resolvedPeers ?? {})) {
                if (!parentPkgAliases[resolvedPeerName]) {
                  importerResolutionResult.pkgAddresses.push(resolvedPeerAddress);
                }
              }
            }
            for (const [missingOptionalPeerName, { range: missingOptionalPeerRange }] of missingOptionalPeers) {
              if (!allMissingOptionalPeers[missingOptionalPeerName]) {
                allMissingOptionalPeers[missingOptionalPeerName] = [missingOptionalPeerRange];
              } else if (!allMissingOptionalPeers[missingOptionalPeerName].includes(missingOptionalPeerRange)) {
                allMissingOptionalPeers[missingOptionalPeerName].push(missingOptionalPeerRange);
              }
            }
            if (!missingRequiredPeers.length)
              break;
            const dependencies = (0, hoistPeers_1.hoistPeers)(missingRequiredPeers, ctx);
            if (!Object.keys(dependencies).length)
              break;
            const wantedDependencies = (0, getNonDevWantedDependencies_1.getNonDevWantedDependencies)({ dependencies });
            const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
              ...options,
              parentPkgAliases,
              publishedBy,
              updateToLatest: false
            });
            importerResolutionResult.pkgAddresses.push(...resolveDependenciesResult.pkgAddresses);
            Object.assign(importerResolutionResult, filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases));
          }
          return allMissingOptionalPeers;
        }));
        let hasNewMissingPeers = false;
        await Promise.all(allMissingOptionalPeersByImporters.map(async (allMissingOptionalPeers, index) => {
          const { preferredVersions, parentPkgAliases, options } = importers[index];
          if (Object.keys(allMissingOptionalPeers).length && ctx.allPreferredVersions) {
            const optionalDependencies = (0, hoistPeers_1.getHoistableOptionalPeers)(allMissingOptionalPeers, ctx.allPreferredVersions);
            if (Object.keys(optionalDependencies).length) {
              hasNewMissingPeers = true;
              const wantedDependencies = (0, getNonDevWantedDependencies_1.getNonDevWantedDependencies)({ optionalDependencies });
              const resolveDependenciesResult = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
                ...options,
                parentPkgAliases,
                publishedBy,
                updateToLatest: false
              });
              pkgAddressesByImportersWithoutPeers[index].pkgAddresses.push(...resolveDependenciesResult.pkgAddresses);
              Object.assign(pkgAddressesByImportersWithoutPeers[index], filterMissingPeers(await resolveDependenciesResult.resolvingPeers, parentPkgAliases));
            }
          }
        }));
        if (!hasNewMissingPeers)
          break;
      }
      return {
        pkgAddressesByImporters: pkgAddressesByImportersWithoutPeers.map(({ pkgAddresses }) => pkgAddresses),
        time
      };
    }
    async function resolveDependenciesOfImporters(ctx, importers) {
      const pickLowestVersion = ctx.resolutionMode === "time-based" || ctx.resolutionMode === "lowest-direct";
      const resolveResults = await Promise.all(importers.map(async (importer) => {
        const extendedWantedDeps = getDepsToResolve(importer.wantedDependencies, ctx.wantedLockfile, {
          preferredDependencies: importer.options.preferredDependencies,
          prefix: importer.options.prefix,
          proceed: importer.options.proceed || ctx.forceFullResolution,
          registries: ctx.registries,
          resolvedDependencies: importer.options.resolvedDependencies
        });
        const postponedResolutionsQueue = [];
        const postponedPeersResolutionQueue = [];
        const pkgAddresses = [];
        const resolveDependenciesOfImporterWantedDep = resolveDependenciesOfImporterDependency.bind(null, {
          ctx,
          importer,
          pickLowestVersion
        });
        const resolvedDependenciesOfImporter = await Promise.all(extendedWantedDeps.map(resolveDependenciesOfImporterWantedDep));
        for (const { resolveDependencyResult, postponedPeersResolution, postponedResolution } of resolvedDependenciesOfImporter) {
          if (resolveDependencyResult) {
            pkgAddresses.push(resolveDependencyResult);
          }
          if (postponedResolution) {
            postponedResolutionsQueue.push(postponedResolution);
          }
          if (postponedPeersResolution) {
            postponedPeersResolutionQueue.push(postponedPeersResolution);
          }
        }
        return { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue };
      }));
      let publishedBy;
      let time;
      if (ctx.resolutionMode === "time-based") {
        const result2 = getPublishedByDate(resolveResults.map(({ pkgAddresses }) => pkgAddresses).flat(), ctx.wantedLockfile.time);
        if (result2.publishedBy) {
          publishedBy = new Date(result2.publishedBy.getTime() + 60 * 60 * 1e3);
          time = result2.newTime;
        }
      }
      const pkgAddressesByImportersWithoutPeers = await Promise.all((0, zipWith_1.default)(async (importer, { pkgAddresses, postponedResolutionsQueue, postponedPeersResolutionQueue }) => {
        const newPreferredVersions = Object.create(importer.preferredVersions);
        const currentParentPkgAliases = {};
        for (const pkgAddress of pkgAddresses) {
          if (currentParentPkgAliases[pkgAddress.alias] !== true) {
            currentParentPkgAliases[pkgAddress.alias] = pkgAddress;
          }
          if (pkgAddress.updated) {
            ctx.updatedSet.add(pkgAddress.alias);
          }
          const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId];
          if (!resolvedPackage)
            continue;
          if (!Object.prototype.hasOwnProperty.call(newPreferredVersions, resolvedPackage.name)) {
            newPreferredVersions[resolvedPackage.name] = { ...importer.preferredVersions[resolvedPackage.name] };
          }
          if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) {
            newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = {
              selectorType: "version",
              weight: resolver_base_1.DIRECT_DEP_SELECTOR_WEIGHT
            };
          }
        }
        const newParentPkgAliases = { ...importer.parentPkgAliases, ...currentParentPkgAliases };
        const postponedResolutionOpts = {
          preferredVersions: newPreferredVersions,
          parentPkgAliases: newParentPkgAliases,
          publishedBy
        };
        const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts)));
        if (!ctx.hoistPeers) {
          return {
            missingPeers: {},
            pkgAddresses,
            resolvedPeers: {}
          };
        }
        const postponedPeersResolution = await Promise.all(postponedPeersResolutionQueue.map((postponedMissingPeers) => postponedMissingPeers(postponedResolutionOpts.parentPkgAliases)));
        const resolvedPeers = [...childrenResults, ...postponedPeersResolution].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {});
        const allMissingPeers = mergePkgsDeps([
          ...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers),
          ...childrenResults,
          ...postponedPeersResolution
        ].map(({ missingPeers }) => missingPeers).filter(Boolean), {
          autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch
        });
        return {
          missingPeers: allMissingPeers,
          pkgAddresses,
          resolvedPeers
        };
      }, importers, resolveResults));
      return {
        pkgAddressesByImportersWithoutPeers,
        publishedBy,
        time
      };
    }
    async function resolveDependenciesOfImporterDependency({ ctx, importer, pickLowestVersion }, extendedWantedDep) {
      const catalogLookup = (0, catalogs_resolver_1.matchCatalogResolveResult)(ctx.catalogResolver(extendedWantedDep.wantedDependency), {
        found: (result3) => result3.resolution,
        unused: () => void 0,
        misconfiguration: (result3) => {
          throw result3.error;
        }
      });
      const originalPref = extendedWantedDep.wantedDependency.pref;
      if (catalogLookup != null) {
        extendedWantedDep.wantedDependency.pref = getCatalogReplacementPref(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency);
      }
      const result2 = await resolveDependenciesOfDependency(ctx, importer.preferredVersions, {
        ...importer.options,
        parentPkgAliases: importer.parentPkgAliases,
        pickLowestVersion: pickLowestVersion && !importer.updatePackageManifest,
        // Cataloged dependencies cannot be upgraded yet since they require
        // updating the pnpm-workspace.yaml file. This will be handled in a future
        // version of pnpm.
        updateToLatest: catalogLookup != null ? false : importer.options.updateToLatest
      }, extendedWantedDep);
      if (result2.resolveDependencyResult != null && catalogLookup != null) {
        result2.resolveDependencyResult.catalogLookup = {
          ...catalogLookup,
          userSpecifiedPref: originalPref
        };
      }
      return result2;
    }
    function filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers) {
      return pkgAddresses.map((pkgAddress) => ({
        ...pkgAddress,
        missingPeers: (0, pickBy_1.default)((_, peerName) => {
          if (!currentParentPkgAliases[peerName])
            return true;
          if (currentParentPkgAliases[peerName] !== true) {
            resolvedPeers[peerName] = currentParentPkgAliases[peerName];
          }
          return false;
        }, pkgAddress.missingPeers ?? {})
      }));
    }
    function getPublishedByDate(pkgAddresses, timeFromLockfile = {}) {
      const newTime = {};
      for (const pkgAddress of pkgAddresses) {
        if (pkgAddress.publishedAt) {
          newTime[pkgAddress.pkgId] = pkgAddress.publishedAt;
        } else if (timeFromLockfile[pkgAddress.pkgId]) {
          newTime[pkgAddress.pkgId] = timeFromLockfile[pkgAddress.pkgId];
        }
      }
      const sortedDates = Object.values(newTime).map((publishedAt) => new Date(publishedAt)).sort((d1, d2) => d1.getTime() - d2.getTime());
      return { publishedBy: sortedDates[sortedDates.length - 1], newTime };
    }
    async function resolveDependencies(ctx, preferredVersions, wantedDependencies, options) {
      const extendedWantedDeps = getDepsToResolve(wantedDependencies, ctx.wantedLockfile, {
        preferredDependencies: options.preferredDependencies,
        prefix: options.prefix,
        proceed: options.proceed || ctx.forceFullResolution,
        registries: ctx.registries,
        resolvedDependencies: options.resolvedDependencies
      });
      const postponedResolutionsQueue = [];
      const postponedPeersResolutionQueue = [];
      const pkgAddresses = [];
      await Promise.all(extendedWantedDeps.map(async (extendedWantedDep) => {
        const { resolveDependencyResult, postponedResolution, postponedPeersResolution } = await resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep);
        if (resolveDependencyResult) {
          pkgAddresses.push(resolveDependencyResult);
        }
        if (postponedResolution) {
          postponedResolutionsQueue.push(postponedResolution);
        }
        if (postponedPeersResolution) {
          postponedPeersResolutionQueue.push(postponedPeersResolution);
        }
      }));
      const newPreferredVersions = Object.create(preferredVersions);
      const currentParentPkgAliases = {};
      for (const pkgAddress of pkgAddresses) {
        if (currentParentPkgAliases[pkgAddress.alias] !== true) {
          currentParentPkgAliases[pkgAddress.alias] = pkgAddress;
        }
        if (pkgAddress.updated) {
          ctx.updatedSet.add(pkgAddress.alias);
        }
        const resolvedPackage = ctx.resolvedPkgsById[pkgAddress.pkgId];
        if (!resolvedPackage)
          continue;
        if (!Object.prototype.hasOwnProperty.call(newPreferredVersions, resolvedPackage.name)) {
          newPreferredVersions[resolvedPackage.name] = { ...preferredVersions[resolvedPackage.name] };
        }
        if (!newPreferredVersions[resolvedPackage.name][resolvedPackage.version]) {
          newPreferredVersions[resolvedPackage.name][resolvedPackage.version] = "version";
        }
      }
      const newParentPkgAliases = {
        ...options.parentPkgAliases,
        ...currentParentPkgAliases
      };
      const postponedResolutionOpts = {
        preferredVersions: newPreferredVersions,
        parentPkgAliases: newParentPkgAliases,
        publishedBy: options.publishedBy
      };
      const childrenResults = await Promise.all(postponedResolutionsQueue.map((postponedResolution) => postponedResolution(postponedResolutionOpts)));
      if (!ctx.hoistPeers) {
        return {
          resolvingPeers: Promise.resolve({
            missingPeers: {},
            resolvedPeers: {}
          }),
          pkgAddresses
        };
      }
      return {
        pkgAddresses,
        resolvingPeers: startResolvingPeers({
          childrenResults,
          pkgAddresses,
          parentPkgAliases: options.parentPkgAliases,
          currentParentPkgAliases,
          postponedPeersResolutionQueue,
          autoInstallPeersFromHighestMatch: ctx.autoInstallPeersFromHighestMatch
        })
      };
    }
    async function startResolvingPeers({ childrenResults, currentParentPkgAliases, parentPkgAliases, pkgAddresses, postponedPeersResolutionQueue, autoInstallPeersFromHighestMatch }) {
      const results = await Promise.all(postponedPeersResolutionQueue.map((postponedPeersResolution) => postponedPeersResolution(parentPkgAliases)));
      const resolvedPeers = [...childrenResults, ...results].reduce((acc, { resolvedPeers: resolvedPeers2 }) => Object.assign(acc, resolvedPeers2), {});
      const allMissingPeers = mergePkgsDeps([
        ...filterMissingPeersFromPkgAddresses(pkgAddresses, currentParentPkgAliases, resolvedPeers),
        ...childrenResults,
        ...results
      ].map(({ missingPeers }) => missingPeers).filter(Boolean), { autoInstallPeersFromHighestMatch });
      return {
        missingPeers: allMissingPeers,
        resolvedPeers
      };
    }
    function mergePkgsDeps(pkgsDeps, opts) {
      const groupedRanges = {};
      for (const deps of pkgsDeps) {
        for (const [name, { range, optional }] of Object.entries(deps)) {
          if (!groupedRanges[name]) {
            groupedRanges[name] = { ranges: [], optional };
          } else {
            groupedRanges[name].optional &&= optional;
          }
          groupedRanges[name].ranges.push(range);
        }
      }
      const mergedPkgDeps = {};
      for (const [name, { ranges, optional }] of Object.entries(groupedRanges)) {
        const intersection = (0, mergePeers_1.safeIntersect)(ranges);
        if (intersection) {
          mergedPkgDeps[name] = { range: intersection, optional };
        } else if (opts.autoInstallPeersFromHighestMatch) {
          mergedPkgDeps[name] = { range: ranges.join(" || "), optional };
        }
      }
      return mergedPkgDeps;
    }
    async function resolveDependenciesOfDependency(ctx, preferredVersions, options, extendedWantedDep) {
      const updateDepth = typeof extendedWantedDep.wantedDependency.updateDepth === "number" ? extendedWantedDep.wantedDependency.updateDepth : options.updateDepth;
      const updateShouldContinue = options.currentDepth <= updateDepth;
      const update = extendedWantedDep.infoFromLockfile?.dependencyLockfile == null || updateShouldContinue && (options.updateMatching == null || options.updateMatching(extendedWantedDep.infoFromLockfile.name)) || Boolean(ctx.workspacePackages != null && ctx.linkWorkspacePackagesDepth !== -1 && (0, wantedDepIsLocallyAvailable_1.wantedDepIsLocallyAvailable)(ctx.workspacePackages, extendedWantedDep.wantedDependency, { defaultTag: ctx.defaultTag, registry: ctx.registries.default })) || ctx.updatedSet.has(extendedWantedDep.infoFromLockfile.name);
      const resolveDependencyOpts = {
        currentDepth: options.currentDepth,
        parentPkg: options.parentPkg,
        parentPkgAliases: options.parentPkgAliases,
        preferredVersions,
        currentPkg: extendedWantedDep.infoFromLockfile ?? void 0,
        pickLowestVersion: options.pickLowestVersion,
        prefix: options.prefix,
        proceed: extendedWantedDep.proceed || updateShouldContinue || ctx.updatedSet.size > 0,
        publishedBy: options.publishedBy,
        update: update ? options.updateToLatest ? "latest" : "compatible" : false,
        updateDepth,
        updateMatching: options.updateMatching,
        supportedArchitectures: options.supportedArchitectures,
        parentIds: options.parentIds
      };
      const isInjectedWorkspacePackage = options.parentPkg.resolvedVia === "workspace" && options.parentPkg.pkgId.startsWith("file:");
      if (isInjectedWorkspacePackage) {
        const catalogLookup = (0, catalogs_resolver_1.matchCatalogResolveResult)(ctx.catalogResolver(extendedWantedDep.wantedDependency), {
          found: (result2) => result2.resolution,
          unused: () => void 0,
          misconfiguration: (result2) => {
            throw result2.error;
          }
        });
        if (catalogLookup != null) {
          extendedWantedDep.wantedDependency.pref = getCatalogReplacementPref(catalogLookup, ctx.wantedLockfile, extendedWantedDep.wantedDependency);
        }
      }
      const resolveDependencyResult = await resolveDependency(extendedWantedDep.wantedDependency, ctx, resolveDependencyOpts);
      if (resolveDependencyResult == null)
        return { resolveDependencyResult: null };
      if (resolveDependencyResult.isLinkedDependency) {
        ctx.dependenciesTree.set(createNodeIdForLinkedLocalPkg(ctx.lockfileDir, resolveDependencyResult.resolution.directory), {
          children: {},
          depth: -1,
          installable: true,
          resolvedPackage: {
            name: resolveDependencyResult.name,
            version: resolveDependencyResult.version
          }
        });
        return { resolveDependencyResult };
      }
      if (!resolveDependencyResult.isNew) {
        return {
          resolveDependencyResult,
          postponedPeersResolution: resolveDependencyResult.missingPeersOfChildren != null ? async (parentPkgAliases) => {
            const missingPeers = await resolveDependencyResult.missingPeersOfChildren.get();
            return filterMissingPeers({ missingPeers, resolvedPeers: {} }, parentPkgAliases);
          } : void 0
        };
      }
      const postponedResolution = resolveChildren.bind(null, ctx, {
        parentPkg: resolveDependencyResult,
        dependencyLockfile: extendedWantedDep.infoFromLockfile?.dependencyLockfile,
        parentDepth: options.currentDepth,
        parentIds: [...options.parentIds, resolveDependencyResult.pkgId],
        updateDepth,
        prefix: options.prefix,
        updateMatching: options.updateMatching,
        supportedArchitectures: options.supportedArchitectures,
        updateToLatest: options.updateToLatest
      });
      return {
        resolveDependencyResult,
        postponedResolution: async (postponedResolutionOpts) => {
          const { missingPeers, resolvedPeers } = await postponedResolution(postponedResolutionOpts);
          if (resolveDependencyResult.missingPeersOfChildren) {
            resolveDependencyResult.missingPeersOfChildren.resolved = true;
            resolveDependencyResult.missingPeersOfChildren.resolve(missingPeers);
          }
          return filterMissingPeers({ missingPeers, resolvedPeers }, postponedResolutionOpts.parentPkgAliases);
        }
      };
    }
    function createNodeIdForLinkedLocalPkg(lockfileDir, pkgDir) {
      return `link:${(0, normalize_path_1.default)(path_1.default.relative(lockfileDir, pkgDir))}`;
    }
    function filterMissingPeers({ missingPeers, resolvedPeers }, parentPkgAliases) {
      const newMissing = {};
      for (const [peerName, peerVersion] of Object.entries(missingPeers)) {
        if (parentPkgAliases[peerName]) {
          if (parentPkgAliases[peerName] !== true) {
            resolvedPeers[peerName] = parentPkgAliases[peerName];
          }
        } else {
          newMissing[peerName] = peerVersion;
        }
      }
      return {
        resolvedPeers,
        missingPeers: newMissing
      };
    }
    async function resolveChildren(ctx, { parentPkg, parentIds, dependencyLockfile, parentDepth, updateDepth, updateMatching, prefix, supportedArchitectures }, { parentPkgAliases, preferredVersions, publishedBy }) {
      const currentResolvedDependencies = dependencyLockfile != null ? {
        ...dependencyLockfile.dependencies,
        ...dependencyLockfile.optionalDependencies
      } : void 0;
      const resolvedDependencies = parentPkg.updated ? void 0 : currentResolvedDependencies;
      const parentDependsOnPeer = Boolean(Object.keys(dependencyLockfile?.peerDependencies ?? parentPkg.pkg.peerDependencies ?? {}).length);
      const wantedDependencies = (0, getNonDevWantedDependencies_1.getNonDevWantedDependencies)(parentPkg.pkg);
      const { pkgAddresses, resolvingPeers } = await resolveDependencies(ctx, preferredVersions, wantedDependencies, {
        currentDepth: parentDepth + 1,
        parentPkg,
        parentPkgAliases,
        preferredDependencies: currentResolvedDependencies,
        prefix,
        // If the package is not linked, we should also gather information about its dependencies.
        // After linking the package we'll need to symlink its dependencies.
        proceed: !parentPkg.depIsLinked || parentDependsOnPeer,
        publishedBy,
        resolvedDependencies,
        updateDepth,
        updateMatching,
        supportedArchitectures,
        parentIds
      });
      ctx.childrenByParentId[parentPkg.pkgId] = pkgAddresses.map((child) => ({
        alias: child.alias,
        id: child.pkgId
      }));
      ctx.dependenciesTree.set(parentPkg.nodeId, {
        children: pkgAddresses.reduce((chn, child) => {
          chn[child.alias] = child.nodeId ?? child.pkgId;
          return chn;
        }, {}),
        depth: parentDepth,
        installable: parentPkg.installable,
        resolvedPackage: ctx.resolvedPkgsById[parentPkg.pkgId]
      });
      return resolvingPeers;
    }
    function getDepsToResolve(wantedDependencies, wantedLockfile, options) {
      const resolvedDependencies = options.resolvedDependencies ?? {};
      const preferredDependencies = options.preferredDependencies ?? {};
      const extendedWantedDeps = [];
      let proceedAll = options.proceed;
      const satisfiesWanted2Args = referenceSatisfiesWantedSpec.bind(null, {
        lockfile: wantedLockfile,
        prefix: options.prefix
      });
      for (const wantedDependency of wantedDependencies) {
        let reference = void 0;
        let proceed = proceedAll;
        if (wantedDependency.alias) {
          const satisfiesWanted = satisfiesWanted2Args.bind(null, wantedDependency);
          if (resolvedDependencies[wantedDependency.alias] && (satisfiesWanted(resolvedDependencies[wantedDependency.alias]) || resolvedDependencies[wantedDependency.alias].startsWith("file:"))) {
            reference = resolvedDependencies[wantedDependency.alias];
          } else if (
            // If dependencies that were used by the previous version of the package
            // satisfy the newer version's requirements, then pnpm tries to keep
            // the previous dependency.
            // So for example, if foo@1.0.0 had bar@1.0.0 as a dependency
            // and foo was updated to 1.1.0 which depends on bar ^1.0.0
            // then bar@1.0.0 can be reused for foo@1.1.0
            semver_12.default.validRange(wantedDependency.pref) !== null && preferredDependencies[wantedDependency.alias] && satisfiesWanted(preferredDependencies[wantedDependency.alias])
          ) {
            proceed = true;
            reference = preferredDependencies[wantedDependency.alias];
          }
        }
        const infoFromLockfile = getInfoFromLockfile(wantedLockfile, options.registries, reference, wantedDependency.alias);
        if (!proceedAll && (infoFromLockfile == null || infoFromLockfile.dependencyLockfile != null && (infoFromLockfile.dependencyLockfile.peerDependencies != null || infoFromLockfile.dependencyLockfile.transitivePeerDependencies?.length))) {
          proceed = true;
          proceedAll = true;
          for (const extendedWantedDep of extendedWantedDeps) {
            if (!extendedWantedDep.proceed) {
              extendedWantedDep.proceed = true;
            }
          }
        }
        extendedWantedDeps.push({
          infoFromLockfile,
          proceed,
          wantedDependency
        });
      }
      return extendedWantedDeps;
    }
    function referenceSatisfiesWantedSpec(opts, wantedDep, preferredRef) {
      const depPath = dp.refToRelative(preferredRef, wantedDep.alias);
      if (depPath === null)
        return false;
      const pkgSnapshot = opts.lockfile.packages?.[depPath];
      if (pkgSnapshot == null) {
        logger_1.logger.warn({
          message: `Could not find preferred package ${depPath} in lockfile`,
          prefix: opts.prefix
        });
        return false;
      }
      const { version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
      if (!semver_12.default.validRange(wantedDep.pref) && Object.values(opts.lockfile.importers).filter((importer) => importer.specifiers[wantedDep.alias] === wantedDep.pref).length) {
        return true;
      }
      return semver_12.default.satisfies(version2, wantedDep.pref, true);
    }
    function getInfoFromLockfile(lockfile, registries, reference, alias) {
      if (!reference || !alias) {
        return void 0;
      }
      const depPath = dp.refToRelative(reference, alias);
      if (!depPath) {
        return void 0;
      }
      let dependencyLockfile = lockfile.packages?.[depPath];
      if (dependencyLockfile != null) {
        if (dependencyLockfile.peerDependencies != null && dependencyLockfile.dependencies != null) {
          const dependencies = {};
          for (const [depName, ref] of Object.entries(dependencyLockfile.dependencies ?? {})) {
            if (dependencyLockfile.peerDependencies[depName])
              continue;
            dependencies[depName] = ref;
          }
          dependencyLockfile = {
            ...dependencyLockfile,
            dependencies
          };
        }
        const { name, version: version2, nonSemverVersion } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, dependencyLockfile);
        return {
          name,
          version: version2,
          dependencyLockfile,
          pkgId: nonSemverVersion ?? `${name}@${version2}`,
          // resolution may not exist if lockfile is broken, and an unexpected error will be thrown
          // if resolution does not exist, return undefined so it can be autofixed later
          resolution: dependencyLockfile.resolution && (0, lockfile_utils_1.pkgSnapshotToResolution)(depPath, dependencyLockfile, registries)
        };
      } else {
        const parsed = dp.parse(depPath);
        return {
          pkgId: parsed.nonSemverVersion ?? (parsed.name && parsed.version ? `${parsed.name}@${parsed.version}` : depPath)
          // Does it make sense to set pkgId when we're not sure?
        };
      }
    }
    async function resolveDependency(wantedDependency, ctx, options) {
      const currentPkg = options.currentPkg ?? {};
      const currentLockfileContainsTheDep = currentPkg.depPath ? Boolean(ctx.currentLockfile.packages?.[currentPkg.depPath]) : void 0;
      const depIsLinked = Boolean(
        // if package is not in `node_modules/.pnpm-lock.yaml`
        // we can safely assume that it doesn't exist in `node_modules`
        currentLockfileContainsTheDep && currentPkg.depPath && currentPkg.dependencyLockfile && currentPkg.name && await (0, path_exists_1.default)(path_1.default.join(ctx.virtualStoreDir, dp.depPathToFilename(currentPkg.depPath, ctx.virtualStoreDirMaxLength), "node_modules", currentPkg.name, "package.json"))
      );
      if (!options.update && !options.proceed && currentPkg.resolution != null && depIsLinked) {
        return null;
      }
      let pkgResponse;
      if (!options.parentPkg.installable) {
        wantedDependency = {
          ...wantedDependency,
          optional: true
        };
      }
      try {
        if (!options.update && currentPkg.version && currentPkg.pkgId?.endsWith(`@${currentPkg.version}`)) {
          wantedDependency.pref = (0, replaceVersionInPref_1.replaceVersionInPref)(wantedDependency.pref, currentPkg.version);
        }
        pkgResponse = await ctx.storeController.requestPackage(wantedDependency, {
          alwaysTryWorkspacePackages: ctx.linkWorkspacePackagesDepth >= options.currentDepth,
          currentPkg: currentPkg ? {
            id: currentPkg.pkgId,
            resolution: currentPkg.resolution
          } : void 0,
          expectedPkg: currentPkg,
          defaultTag: ctx.defaultTag,
          ignoreScripts: ctx.ignoreScripts,
          publishedBy: options.publishedBy,
          pickLowestVersion: options.pickLowestVersion,
          downloadPriority: -options.currentDepth,
          lockfileDir: ctx.lockfileDir,
          preferredVersions: options.preferredVersions,
          preferWorkspacePackages: ctx.preferWorkspacePackages,
          projectDir: options.currentDepth > 0 && !wantedDependency.pref.startsWith("file:") ? ctx.lockfileDir : options.parentPkg.rootDir,
          registry: wantedDependency.alias && (0, pick_registry_for_package_1.pickRegistryForPackage)(ctx.registries, wantedDependency.alias, wantedDependency.pref) || ctx.registries.default,
          skipFetch: ctx.dryRun,
          update: options.update,
          workspacePackages: ctx.workspacePackages,
          supportedArchitectures: options.supportedArchitectures,
          onFetchError: (err) => {
            err.prefix = options.prefix;
            err.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById);
            return err;
          },
          injectWorkspacePackages: ctx.injectWorkspacePackages
        });
      } catch (err) {
        const wantedDependencyDetails = {
          name: wantedDependency.alias,
          pref: wantedDependency.pref,
          version: wantedDependency.alias ? wantedDependency.pref : void 0
        };
        if (wantedDependency.optional) {
          core_loggers_1.skippedOptionalDependencyLogger.debug({
            details: err.toString(),
            package: wantedDependencyDetails,
            parents: getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById),
            prefix: options.prefix,
            reason: "resolution_failure"
          });
          return null;
        }
        err.package = wantedDependencyDetails;
        err.prefix = options.prefix;
        err.pkgsStack = getPkgsInfoFromIds(options.parentIds, ctx.resolvedPkgsById);
        throw err;
      }
      dependencyResolvedLogger.debug({
        resolution: pkgResponse.body.id,
        wanted: {
          dependentId: options.parentPkg.pkgId,
          name: wantedDependency.alias,
          rawSpec: wantedDependency.pref
        }
      });
      if (ctx.allPreferredVersions && pkgResponse.body.manifest?.version) {
        if (!ctx.allPreferredVersions[pkgResponse.body.manifest.name]) {
          ctx.allPreferredVersions[pkgResponse.body.manifest.name] = {};
        }
        ctx.allPreferredVersions[pkgResponse.body.manifest.name][pkgResponse.body.manifest.version] = "version";
      }
      if (!pkgResponse.body.updated && options.currentDepth === Math.max(0, options.updateDepth) && depIsLinked && !ctx.force && !options.proceed) {
        return null;
      }
      if (pkgResponse.body.isLocal) {
        if (!pkgResponse.body.manifest) {
          throw new error_1.PnpmError("MISSING_PACKAGE_JSON", `Can't install ${wantedDependency.pref}: Missing package.json file`);
        }
        return {
          alias: wantedDependency.alias || pkgResponse.body.manifest.name || path_1.default.basename(pkgResponse.body.resolution.directory),
          dev: wantedDependency.dev,
          isLinkedDependency: true,
          name: pkgResponse.body.manifest.name,
          normalizedPref: pkgResponse.body.normalizedPref,
          optional: wantedDependency.optional,
          pkgId: pkgResponse.body.id,
          resolution: pkgResponse.body.resolution,
          version: pkgResponse.body.manifest.version
        };
      }
      let prepare;
      let hasBin;
      let pkg = getManifestFromResponse(pkgResponse, wantedDependency);
      if (!pkg.dependencies) {
        pkg.dependencies = {};
      }
      if (ctx.readPackageHook != null) {
        pkg = await ctx.readPackageHook(pkg);
      }
      if (pkg.peerDependencies && pkg.dependencies) {
        if (ctx.autoInstallPeers) {
          pkg = {
            ...pkg,
            dependencies: (0, omit_1.default)(Object.keys(pkg.peerDependencies), pkg.dependencies)
          };
        } else {
          pkg = {
            ...pkg,
            dependencies: (0, omit_1.default)(Object.keys(pkg.peerDependencies).filter((peerDep) => options.parentPkgAliases[peerDep]), pkg.dependencies)
          };
        }
      }
      if (!pkg.name) {
        throw new error_1.PnpmError("MISSING_PACKAGE_NAME", `Can't install ${wantedDependency.pref}: Missing package name`);
      }
      let pkgIdWithPatchHash = pkgResponse.body.id.startsWith(`${pkg.name}@`) ? pkgResponse.body.id : `${pkg.name}@${pkgResponse.body.id}`;
      const patch = (0, patching_config_1.getPatchInfo)(ctx.patchedDependencies, pkg.name, pkg.version);
      if (patch) {
        ctx.appliedPatches.add(patch.key);
        pkgIdWithPatchHash = `${pkgIdWithPatchHash}(patch_hash=${patch.file.hash})`;
      }
      if ((0, parentIdsContainSequence_1.parentIdsContainSequence)(options.parentIds, options.parentPkg.pkgId, pkgResponse.body.id) || pkgResponse.body.id === options.parentPkg.pkgId) {
        return null;
      }
      if (!options.update && currentPkg.dependencyLockfile != null && currentPkg.depPath && !pkgResponse.body.updated && // peerDependencies field is also used for transitive peer dependencies which should not be linked
      // That's why we cannot omit reading package.json of such dependencies.
      // This can be removed if we implement something like peerDependenciesMeta.transitive: true
      currentPkg.dependencyLockfile.peerDependencies == null) {
        hasBin = currentPkg.dependencyLockfile.hasBin === true;
        pkg = {
          ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(currentPkg.depPath, currentPkg.dependencyLockfile),
          ...omitDepsFields(currentPkg.dependencyLockfile),
          ...pkg
        };
      } else {
        prepare = Boolean(pkgResponse.body.resolvedVia === "git-repository" && typeof pkg.scripts?.prepare === "string");
        if (currentPkg.dependencyLockfile?.deprecated && !pkgResponse.body.updated && !pkg.deprecated) {
          pkg.deprecated = currentPkg.dependencyLockfile.deprecated;
        }
        hasBin = Boolean((pkg.bin && !(pkg.bin === "" || Object.keys(pkg.bin).length === 0)) ?? pkg.directories?.bin);
      }
      if (options.currentDepth === 0 && pkgResponse.body.latest && pkgResponse.body.latest !== pkg.version) {
        ctx.outdatedDependencies[pkgResponse.body.id] = pkgResponse.body.latest;
      }
      if (pkg.peerDependencies != null) {
        for (const name in pkg.peerDependencies) {
          ctx.allPeerDepNames.add(name);
        }
      }
      if (pkg.peerDependenciesMeta != null) {
        for (const name in pkg.peerDependenciesMeta) {
          ctx.allPeerDepNames.add(name);
        }
      }
      const nodeId = pkgIsLeaf(pkg) ? pkgResponse.body.id : (0, nextNodeId_1.nextNodeId)();
      const parentIsInstallable = options.parentPkg.installable === void 0 || options.parentPkg.installable;
      const installable = parentIsInstallable && pkgResponse.body.isInstallable !== false;
      const isNew = !ctx.resolvedPkgsById[pkgResponse.body.id];
      const parentImporterId = options.parentIds[0];
      const currentIsOptional = wantedDependency.optional || options.parentPkg.optional;
      if (isNew) {
        if (pkg.deprecated && (!ctx.allowedDeprecatedVersions[pkg.name] || !semver_12.default.satisfies(pkg.version, ctx.allowedDeprecatedVersions[pkg.name]))) {
          core_loggers_1.deprecationLogger.debug({
            deprecated: pkg.deprecated,
            depth: options.currentDepth,
            pkgId: pkgResponse.body.id,
            pkgName: pkg.name,
            pkgVersion: pkg.version,
            prefix: options.prefix
          });
        }
        if (pkgResponse.body.isInstallable === false || !parentIsInstallable) {
          ctx.skipped.add(pkgResponse.body.id);
        }
        core_loggers_1.progressLogger.debug({
          packageId: pkgResponse.body.id,
          requester: ctx.lockfileDir,
          status: "resolved"
        });
        ctx.resolvedPkgsById[pkgResponse.body.id] = getResolvedPackage({
          dependencyLockfile: currentPkg.dependencyLockfile,
          pkgIdWithPatchHash,
          force: ctx.force,
          hasBin,
          patch,
          pkg,
          pkgResponse,
          prepare,
          wantedDependency,
          parentImporterId,
          optional: currentIsOptional
        });
      } else {
        ctx.resolvedPkgsById[pkgResponse.body.id].prod = ctx.resolvedPkgsById[pkgResponse.body.id].prod || !wantedDependency.dev && !wantedDependency.optional;
        ctx.resolvedPkgsById[pkgResponse.body.id].dev = ctx.resolvedPkgsById[pkgResponse.body.id].dev || wantedDependency.dev;
        ctx.resolvedPkgsById[pkgResponse.body.id].optional = ctx.resolvedPkgsById[pkgResponse.body.id].optional && currentIsOptional;
        if (ctx.resolvedPkgsById[pkgResponse.body.id].fetching == null && pkgResponse.fetching != null) {
          ctx.resolvedPkgsById[pkgResponse.body.id].fetching = pkgResponse.fetching;
          ctx.resolvedPkgsById[pkgResponse.body.id].filesIndexFile = pkgResponse.filesIndexFile;
        }
        if (ctx.dependenciesTree.has(nodeId)) {
          ctx.dependenciesTree.get(nodeId).depth = Math.min(ctx.dependenciesTree.get(nodeId).depth, options.currentDepth);
        } else {
          ctx.pendingNodes.push({
            alias: wantedDependency.alias || pkg.name,
            depth: options.currentDepth,
            parentIds: options.parentIds,
            installable,
            nodeId,
            resolvedPackage: ctx.resolvedPkgsById[pkgResponse.body.id]
          });
        }
      }
      const rootDir = pkgResponse.body.resolution.type === "directory" ? path_1.default.resolve(ctx.lockfileDir, pkgResponse.body.resolution.directory) : options.prefix;
      let missingPeersOfChildren;
      if (ctx.hoistPeers && !options.parentIds.includes(pkgResponse.body.id)) {
        if (ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id]) {
          if (ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].depth >= options.currentDepth || ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].missingPeersOfChildren.resolved) {
            missingPeersOfChildren = ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id].missingPeersOfChildren;
          }
        } else {
          const p = (0, p_defer_1.default)();
          missingPeersOfChildren = {
            resolve: p.resolve,
            reject: p.reject,
            get: (0, promise_share_1.default)(p.promise)
          };
          ctx.missingPeersOfChildrenByPkgId[pkgResponse.body.id] = {
            depth: options.currentDepth,
            missingPeersOfChildren
          };
        }
      }
      return {
        alias: wantedDependency.alias || pkg.name,
        depIsLinked,
        resolvedVia: pkgResponse.body.resolvedVia,
        isNew,
        nodeId,
        normalizedPref: options.currentDepth === 0 ? pkgResponse.body.normalizedPref : void 0,
        missingPeersOfChildren,
        pkgId: pkgResponse.body.id,
        rootDir,
        missingPeers: getMissingPeers(pkg),
        optional: ctx.resolvedPkgsById[pkgResponse.body.id].optional,
        // Next fields are actually only needed when isNew = true
        installable,
        isLinkedDependency: void 0,
        pkg,
        updated: pkgResponse.body.updated,
        publishedAt: pkgResponse.body.publishedAt
      };
    }
    function getManifestFromResponse(pkgResponse, wantedDependency) {
      if (pkgResponse.body.manifest)
        return pkgResponse.body.manifest;
      return {
        name: wantedDependency.pref.split("/").pop(),
        version: "0.0.0"
      };
    }
    function getMissingPeers(pkg) {
      const missingPeers = {};
      for (const [peerName, peerVersion] of Object.entries(pkg.peerDependencies ?? {})) {
        missingPeers[peerName] = {
          range: peerVersion,
          optional: pkg.peerDependenciesMeta?.[peerName]?.optional === true
        };
      }
      return missingPeers;
    }
    function pkgIsLeaf(pkg) {
      return Object.keys(pkg.dependencies ?? {}).length === 0 && Object.keys(pkg.optionalDependencies ?? {}).length === 0 && Object.keys(pkg.peerDependencies ?? {}).length === 0 && // Package manifests can declare peerDependenciesMeta without declaring
      // peerDependencies. peerDependenciesMeta implies the later.
      Object.keys(pkg.peerDependenciesMeta ?? {}).length === 0;
    }
    function getResolvedPackage(options) {
      const peerDependencies = peerDependenciesWithoutOwn(options.pkg);
      return {
        additionalInfo: {
          bundledDependencies: options.pkg.bundledDependencies,
          bundleDependencies: options.pkg.bundleDependencies,
          cpu: options.pkg.cpu,
          deprecated: options.pkg.deprecated,
          engines: options.pkg.engines,
          os: options.pkg.os,
          libc: options.pkg.libc
        },
        isLeaf: pkgIsLeaf(options.pkg),
        pkgIdWithPatchHash: options.pkgIdWithPatchHash,
        dev: options.wantedDependency.dev,
        fetching: options.pkgResponse.fetching,
        filesIndexFile: options.pkgResponse.filesIndexFile,
        hasBin: options.hasBin,
        hasBundledDependencies: !((options.pkg.bundledDependencies ?? options.pkg.bundleDependencies) == null),
        id: options.pkgResponse.body.id,
        name: options.pkg.name,
        optional: options.optional,
        optionalDependencies: new Set(Object.keys(options.pkg.optionalDependencies ?? {})),
        patch: options.patch,
        peerDependencies,
        prepare: options.prepare,
        prod: !options.wantedDependency.dev && !options.wantedDependency.optional,
        resolution: options.pkgResponse.body.resolution,
        version: options.pkg.version
      };
    }
    function peerDependenciesWithoutOwn(pkg) {
      if (pkg.peerDependencies == null && pkg.peerDependenciesMeta == null)
        return {};
      const ownDeps = /* @__PURE__ */ new Set([
        pkg.name,
        ...Object.keys(pkg.dependencies ?? {}),
        ...Object.keys(pkg.optionalDependencies ?? {})
      ]);
      const result2 = {};
      if (pkg.peerDependencies != null) {
        for (const [peerName, peerRange] of Object.entries(pkg.peerDependencies)) {
          if (ownDeps.has(peerName))
            continue;
          result2[peerName] = {
            version: peerRange
          };
        }
      }
      if (pkg.peerDependenciesMeta != null) {
        for (const [peerName, peerMeta] of Object.entries(pkg.peerDependenciesMeta)) {
          if (ownDeps.has(peerName) || peerMeta.optional !== true)
            continue;
          if (!result2[peerName])
            result2[peerName] = { version: "*" };
          result2[peerName].optional = true;
        }
      }
      return result2;
    }
    function getCatalogReplacementPref(catalogLookup, wantedLockfile, wantedDependency) {
      const existingCatalogResolution = wantedLockfile.catalogs?.[catalogLookup.catalogName]?.[wantedDependency.alias];
      const replacementPref = existingCatalogResolution?.specifier === catalogLookup.specifier ? (0, replaceVersionInPref_1.replaceVersionInPref)(catalogLookup.specifier, existingCatalogResolution.version) : catalogLookup.specifier;
      return replacementPref;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/resolveDependencyTree.js
var require_resolveDependencyTree = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/resolveDependencyTree.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolveDependencyTree = resolveDependencyTree;
    var catalogs_resolver_1 = require_lib24();
    var partition_1 = __importDefault2(require_partition4());
    var zipObj_1 = __importDefault2(require_zipObj());
    var nextNodeId_1 = require_nextNodeId();
    var parentIdsContainSequence_1 = require_parentIdsContainSequence();
    var resolveDependencies_1 = require_resolveDependencies();
    async function resolveDependencyTree(importers, opts) {
      const wantedToBeSkippedPackageIds = /* @__PURE__ */ new Set();
      const autoInstallPeers = opts.autoInstallPeers === true;
      const ctx = {
        autoInstallPeers,
        autoInstallPeersFromHighestMatch: opts.autoInstallPeersFromHighestMatch === true,
        allowedDeprecatedVersions: opts.allowedDeprecatedVersions,
        catalogResolver: catalogs_resolver_1.resolveFromCatalog.bind(null, opts.catalogs ?? {}),
        childrenByParentId: {},
        currentLockfile: opts.currentLockfile,
        defaultTag: opts.tag,
        dependenciesTree: /* @__PURE__ */ new Map(),
        dryRun: opts.dryRun,
        engineStrict: opts.engineStrict,
        force: opts.force,
        forceFullResolution: opts.forceFullResolution,
        ignoreScripts: opts.ignoreScripts,
        injectWorkspacePackages: opts.injectWorkspacePackages,
        linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? -1,
        lockfileDir: opts.lockfileDir,
        nodeVersion: opts.nodeVersion,
        outdatedDependencies: {},
        patchedDependencies: opts.patchedDependencies,
        pendingNodes: [],
        pnpmVersion: opts.pnpmVersion,
        preferWorkspacePackages: opts.preferWorkspacePackages,
        readPackageHook: opts.hooks.readPackage,
        registries: opts.registries,
        resolvedPkgsById: {},
        resolutionMode: opts.resolutionMode,
        skipped: wantedToBeSkippedPackageIds,
        storeController: opts.storeController,
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        wantedLockfile: opts.wantedLockfile,
        appliedPatches: /* @__PURE__ */ new Set(),
        updatedSet: /* @__PURE__ */ new Set(),
        workspacePackages: opts.workspacePackages,
        missingPeersOfChildrenByPkgId: {},
        hoistPeers: autoInstallPeers || opts.dedupePeerDependents,
        allPeerDepNames: /* @__PURE__ */ new Set()
      };
      const resolveArgs = importers.map((importer) => {
        const projectSnapshot = opts.wantedLockfile.importers[importer.id];
        const proceed = importer.id === "." || importer.hasRemovedDependencies === true || importer.wantedDependencies.some((wantedDep) => wantedDep.isNew);
        const resolveOpts = {
          currentDepth: 0,
          parentPkg: {
            installable: true,
            nodeId: importer.id,
            optional: false,
            pkgId: importer.id,
            rootDir: importer.rootDir
          },
          parentIds: [importer.id],
          proceed,
          resolvedDependencies: {
            ...projectSnapshot.dependencies,
            ...projectSnapshot.devDependencies,
            ...projectSnapshot.optionalDependencies
          },
          updateDepth: -1,
          updateMatching: importer.updateMatching,
          updateToLatest: importer.updateToLatest,
          prefix: importer.rootDir,
          supportedArchitectures: opts.supportedArchitectures
        };
        return {
          updatePackageManifest: importer.updatePackageManifest,
          parentPkgAliases: Object.fromEntries(importer.wantedDependencies.filter(({ alias }) => alias).map(({ alias }) => [alias, true])),
          preferredVersions: importer.preferredVersions ?? {},
          wantedDependencies: importer.wantedDependencies,
          options: resolveOpts
        };
      });
      const { pkgAddressesByImporters, time } = await (0, resolveDependencies_1.resolveRootDependencies)(ctx, resolveArgs);
      const directDepsByImporterId = (0, zipObj_1.default)(importers.map(({ id }) => id), pkgAddressesByImporters);
      for (const pendingNode of ctx.pendingNodes) {
        ctx.dependenciesTree.set(pendingNode.nodeId, {
          children: () => buildTree(ctx, pendingNode.resolvedPackage.id, pendingNode.parentIds, ctx.childrenByParentId[pendingNode.resolvedPackage.id], pendingNode.depth + 1, pendingNode.installable),
          depth: pendingNode.depth,
          installable: pendingNode.installable,
          resolvedPackage: pendingNode.resolvedPackage
        });
      }
      const resolvedImporters = {};
      for (const { id, wantedDependencies } of importers) {
        const directDeps = dedupeSameAliasDirectDeps(directDepsByImporterId[id], wantedDependencies);
        const [linkedDependencies, directNonLinkedDeps] = (0, partition_1.default)((dep) => dep.isLinkedDependency === true, directDeps);
        resolvedImporters[id] = {
          directDependencies: directDeps.map((dep) => {
            if (dep.isLinkedDependency === true) {
              return dep;
            }
            const resolvedPackage = ctx.dependenciesTree.get(dep.nodeId).resolvedPackage;
            return {
              alias: dep.alias,
              catalogLookup: dep.catalogLookup,
              dev: resolvedPackage.dev,
              name: resolvedPackage.name,
              normalizedPref: dep.normalizedPref,
              optional: resolvedPackage.optional,
              pkgId: resolvedPackage.id,
              resolution: resolvedPackage.resolution,
              version: resolvedPackage.version
            };
          }),
          directNodeIdsByAlias: new Map(directNonLinkedDeps.map(({ alias, nodeId }) => [alias, nodeId])),
          linkedDependencies
        };
      }
      return {
        dependenciesTree: ctx.dependenciesTree,
        outdatedDependencies: ctx.outdatedDependencies,
        resolvedImporters,
        resolvedPkgsById: ctx.resolvedPkgsById,
        wantedToBeSkippedPackageIds,
        appliedPatches: ctx.appliedPatches,
        time,
        allPeerDepNames: ctx.allPeerDepNames
      };
    }
    function buildTree(ctx, parentId, parentIds, children, depth, installable) {
      const childrenNodeIds = {};
      for (const child of children) {
        if (child.id.startsWith("link:")) {
          childrenNodeIds[child.alias] = child.id;
          continue;
        }
        if ((0, parentIdsContainSequence_1.parentIdsContainSequence)(parentIds, parentId, child.id) || parentId === child.id) {
          continue;
        }
        if (ctx.resolvedPkgsById[child.id].isLeaf) {
          childrenNodeIds[child.alias] = child.id;
          continue;
        }
        const childNodeId = (0, nextNodeId_1.nextNodeId)();
        childrenNodeIds[child.alias] = childNodeId;
        installable = installable || !ctx.skipped.has(child.id);
        ctx.dependenciesTree.set(childNodeId, {
          children: () => buildTree(ctx, child.id, [...parentIds, child.id], ctx.childrenByParentId[child.id], depth + 1, installable),
          depth,
          installable,
          resolvedPackage: ctx.resolvedPkgsById[child.id]
        });
      }
      return childrenNodeIds;
    }
    function dedupeSameAliasDirectDeps(directDeps, wantedDependencies) {
      const deps = /* @__PURE__ */ new Map();
      for (const directDep of directDeps) {
        const { alias, normalizedPref } = directDep;
        if (!deps.has(alias)) {
          deps.set(alias, directDep);
        } else {
          const wantedDep = wantedDependencies.find((dep) => dep.alias ? dep.alias === alias : dep.pref === normalizedPref);
          if (wantedDep?.isNew) {
            deps.set(alias, directDep);
          }
        }
      }
      return Array.from(deps.values());
    }
  }
});

// ../node_modules/.pnpm/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js
var require_escape_string_regexp2 = __commonJS({
  "../node_modules/.pnpm/escape-string-regexp@1.0.5/node_modules/escape-string-regexp/index.js"(exports2, module2) {
    "use strict";
    var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
    module2.exports = function(str) {
      if (typeof str !== "string") {
        throw new TypeError("Expected a string");
      }
      return str.replace(matchOperatorsRe, "\\$&");
    };
  }
});

// ../node_modules/.pnpm/trim-repeated@1.0.0/node_modules/trim-repeated/index.js
var require_trim_repeated = __commonJS({
  "../node_modules/.pnpm/trim-repeated@1.0.0/node_modules/trim-repeated/index.js"(exports2, module2) {
    "use strict";
    var escapeStringRegexp = require_escape_string_regexp2();
    module2.exports = function(str, target) {
      if (typeof str !== "string" || typeof target !== "string") {
        throw new TypeError("Expected a string");
      }
      return str.replace(new RegExp("(?:" + escapeStringRegexp(target) + "){2,}", "g"), target);
    };
  }
});

// ../node_modules/.pnpm/filename-reserved-regex@2.0.0/node_modules/filename-reserved-regex/index.js
var require_filename_reserved_regex = __commonJS({
  "../node_modules/.pnpm/filename-reserved-regex@2.0.0/node_modules/filename-reserved-regex/index.js"(exports2, module2) {
    "use strict";
    module2.exports = () => /[<>:"\/\\|?*\x00-\x1F]/g;
    module2.exports.windowsNames = () => /^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i;
  }
});

// ../node_modules/.pnpm/strip-outer@1.0.1/node_modules/strip-outer/index.js
var require_strip_outer = __commonJS({
  "../node_modules/.pnpm/strip-outer@1.0.1/node_modules/strip-outer/index.js"(exports2, module2) {
    "use strict";
    var escapeStringRegexp = require_escape_string_regexp2();
    module2.exports = function(str, sub) {
      if (typeof str !== "string" || typeof sub !== "string") {
        throw new TypeError();
      }
      sub = escapeStringRegexp(sub);
      return str.replace(new RegExp("^" + sub + "|" + sub + "$", "g"), "");
    };
  }
});

// ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify.js
var require_filenamify = __commonJS({
  "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify.js"(exports2, module2) {
    "use strict";
    var trimRepeated = require_trim_repeated();
    var filenameReservedRegex = require_filename_reserved_regex();
    var stripOuter = require_strip_outer();
    var MAX_FILENAME_LENGTH = 100;
    var reControlChars = /[\u0000-\u001f\u0080-\u009f]/g;
    var reRelativePath = /^\.+/;
    var reTrailingPeriods = /\.+$/;
    var filenamify = (string, options = {}) => {
      if (typeof string !== "string") {
        throw new TypeError("Expected a string");
      }
      const replacement = options.replacement === void 0 ? "!" : options.replacement;
      if (filenameReservedRegex().test(replacement) && reControlChars.test(replacement)) {
        throw new Error("Replacement string cannot contain reserved filename characters");
      }
      string = string.replace(filenameReservedRegex(), replacement);
      string = string.replace(reControlChars, replacement);
      string = string.replace(reRelativePath, replacement);
      string = string.replace(reTrailingPeriods, "");
      if (replacement.length > 0) {
        string = trimRepeated(string, replacement);
        string = string.length > 1 ? stripOuter(string, replacement) : string;
      }
      string = filenameReservedRegex.windowsNames().test(string) ? string + replacement : string;
      string = string.slice(0, typeof options.maxLength === "number" ? options.maxLength : MAX_FILENAME_LENGTH);
      return string;
    };
    module2.exports = filenamify;
  }
});

// ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify-path.js
var require_filenamify_path = __commonJS({
  "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/filenamify-path.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var filenamify = require_filenamify();
    var filenamifyPath = (filePath, options) => {
      filePath = path2.resolve(filePath);
      return path2.join(path2.dirname(filePath), filenamify(path2.basename(filePath), options));
    };
    module2.exports = filenamifyPath;
  }
});

// ../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/index.js
var require_filenamify2 = __commonJS({
  "../node_modules/.pnpm/filenamify@4.3.0/node_modules/filenamify/index.js"(exports2, module2) {
    "use strict";
    var filenamify = require_filenamify();
    var filenamifyPath = require_filenamify_path();
    var filenamifyCombined = filenamify;
    filenamifyCombined.path = filenamifyPath;
    module2.exports = filenamify;
  }
});

// ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/treebase.js
var require_treebase = __commonJS({
  "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/treebase.js"(exports2, module2) {
    function TreeBase() {
    }
    TreeBase.prototype.clear = function() {
      this._root = null;
      this.size = 0;
    };
    TreeBase.prototype.find = function(data) {
      var res = this._root;
      while (res !== null) {
        var c = this._comparator(data, res.data);
        if (c === 0) {
          return res.data;
        } else {
          res = res.get_child(c > 0);
        }
      }
      return null;
    };
    TreeBase.prototype.findIter = function(data) {
      var res = this._root;
      var iter = this.iterator();
      while (res !== null) {
        var c = this._comparator(data, res.data);
        if (c === 0) {
          iter._cursor = res;
          return iter;
        } else {
          iter._ancestors.push(res);
          res = res.get_child(c > 0);
        }
      }
      return null;
    };
    TreeBase.prototype.lowerBound = function(item) {
      var cur = this._root;
      var iter = this.iterator();
      var cmp = this._comparator;
      while (cur !== null) {
        var c = cmp(item, cur.data);
        if (c === 0) {
          iter._cursor = cur;
          return iter;
        }
        iter._ancestors.push(cur);
        cur = cur.get_child(c > 0);
      }
      for (var i = iter._ancestors.length - 1; i >= 0; --i) {
        cur = iter._ancestors[i];
        if (cmp(item, cur.data) < 0) {
          iter._cursor = cur;
          iter._ancestors.length = i;
          return iter;
        }
      }
      iter._ancestors.length = 0;
      return iter;
    };
    TreeBase.prototype.upperBound = function(item) {
      var iter = this.lowerBound(item);
      var cmp = this._comparator;
      while (iter.data() !== null && cmp(iter.data(), item) === 0) {
        iter.next();
      }
      return iter;
    };
    TreeBase.prototype.min = function() {
      var res = this._root;
      if (res === null) {
        return null;
      }
      while (res.left !== null) {
        res = res.left;
      }
      return res.data;
    };
    TreeBase.prototype.max = function() {
      var res = this._root;
      if (res === null) {
        return null;
      }
      while (res.right !== null) {
        res = res.right;
      }
      return res.data;
    };
    TreeBase.prototype.iterator = function() {
      return new Iterator2(this);
    };
    TreeBase.prototype.each = function(cb) {
      var it = this.iterator(), data;
      while ((data = it.next()) !== null) {
        if (cb(data) === false) {
          return;
        }
      }
    };
    TreeBase.prototype.reach = function(cb) {
      var it = this.iterator(), data;
      while ((data = it.prev()) !== null) {
        if (cb(data) === false) {
          return;
        }
      }
    };
    function Iterator2(tree) {
      this._tree = tree;
      this._ancestors = [];
      this._cursor = null;
    }
    Iterator2.prototype.data = function() {
      return this._cursor !== null ? this._cursor.data : null;
    };
    Iterator2.prototype.next = function() {
      if (this._cursor === null) {
        var root = this._tree._root;
        if (root !== null) {
          this._minNode(root);
        }
      } else {
        if (this._cursor.right === null) {
          var save;
          do {
            save = this._cursor;
            if (this._ancestors.length) {
              this._cursor = this._ancestors.pop();
            } else {
              this._cursor = null;
              break;
            }
          } while (this._cursor.right === save);
        } else {
          this._ancestors.push(this._cursor);
          this._minNode(this._cursor.right);
        }
      }
      return this._cursor !== null ? this._cursor.data : null;
    };
    Iterator2.prototype.prev = function() {
      if (this._cursor === null) {
        var root = this._tree._root;
        if (root !== null) {
          this._maxNode(root);
        }
      } else {
        if (this._cursor.left === null) {
          var save;
          do {
            save = this._cursor;
            if (this._ancestors.length) {
              this._cursor = this._ancestors.pop();
            } else {
              this._cursor = null;
              break;
            }
          } while (this._cursor.left === save);
        } else {
          this._ancestors.push(this._cursor);
          this._maxNode(this._cursor.left);
        }
      }
      return this._cursor !== null ? this._cursor.data : null;
    };
    Iterator2.prototype._minNode = function(start) {
      while (start.left !== null) {
        this._ancestors.push(start);
        start = start.left;
      }
      this._cursor = start;
    };
    Iterator2.prototype._maxNode = function(start) {
      while (start.right !== null) {
        this._ancestors.push(start);
        start = start.right;
      }
      this._cursor = start;
    };
    module2.exports = TreeBase;
  }
});

// ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/rbtree.js
var require_rbtree = __commonJS({
  "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/rbtree.js"(exports2, module2) {
    var TreeBase = require_treebase();
    function Node(data) {
      this.data = data;
      this.left = null;
      this.right = null;
      this.red = true;
    }
    Node.prototype.get_child = function(dir) {
      return dir ? this.right : this.left;
    };
    Node.prototype.set_child = function(dir, val) {
      if (dir) {
        this.right = val;
      } else {
        this.left = val;
      }
    };
    function RBTree(comparator) {
      this._root = null;
      this._comparator = comparator;
      this.size = 0;
    }
    RBTree.prototype = new TreeBase();
    RBTree.prototype.insert = function(data) {
      var ret2 = false;
      if (this._root === null) {
        this._root = new Node(data);
        ret2 = true;
        this.size++;
      } else {
        var head = new Node(void 0);
        var dir = 0;
        var last = 0;
        var gp = null;
        var ggp = head;
        var p = null;
        var node = this._root;
        ggp.right = this._root;
        while (true) {
          if (node === null) {
            node = new Node(data);
            p.set_child(dir, node);
            ret2 = true;
            this.size++;
          } else if (is_red(node.left) && is_red(node.right)) {
            node.red = true;
            node.left.red = false;
            node.right.red = false;
          }
          if (is_red(node) && is_red(p)) {
            var dir2 = ggp.right === gp;
            if (node === p.get_child(last)) {
              ggp.set_child(dir2, single_rotate(gp, !last));
            } else {
              ggp.set_child(dir2, double_rotate(gp, !last));
            }
          }
          var cmp = this._comparator(node.data, data);
          if (cmp === 0) {
            break;
          }
          last = dir;
          dir = cmp < 0;
          if (gp !== null) {
            ggp = gp;
          }
          gp = p;
          p = node;
          node = node.get_child(dir);
        }
        this._root = head.right;
      }
      this._root.red = false;
      return ret2;
    };
    RBTree.prototype.remove = function(data) {
      if (this._root === null) {
        return false;
      }
      var head = new Node(void 0);
      var node = head;
      node.right = this._root;
      var p = null;
      var gp = null;
      var found = null;
      var dir = 1;
      while (node.get_child(dir) !== null) {
        var last = dir;
        gp = p;
        p = node;
        node = node.get_child(dir);
        var cmp = this._comparator(data, node.data);
        dir = cmp > 0;
        if (cmp === 0) {
          found = node;
        }
        if (!is_red(node) && !is_red(node.get_child(dir))) {
          if (is_red(node.get_child(!dir))) {
            var sr = single_rotate(node, dir);
            p.set_child(last, sr);
            p = sr;
          } else if (!is_red(node.get_child(!dir))) {
            var sibling = p.get_child(!last);
            if (sibling !== null) {
              if (!is_red(sibling.get_child(!last)) && !is_red(sibling.get_child(last))) {
                p.red = false;
                sibling.red = true;
                node.red = true;
              } else {
                var dir2 = gp.right === p;
                if (is_red(sibling.get_child(last))) {
                  gp.set_child(dir2, double_rotate(p, last));
                } else if (is_red(sibling.get_child(!last))) {
                  gp.set_child(dir2, single_rotate(p, last));
                }
                var gpc = gp.get_child(dir2);
                gpc.red = true;
                node.red = true;
                gpc.left.red = false;
                gpc.right.red = false;
              }
            }
          }
        }
      }
      if (found !== null) {
        found.data = node.data;
        p.set_child(p.right === node, node.get_child(node.left === null));
        this.size--;
      }
      this._root = head.right;
      if (this._root !== null) {
        this._root.red = false;
      }
      return found !== null;
    };
    function is_red(node) {
      return node !== null && node.red;
    }
    function single_rotate(root, dir) {
      var save = root.get_child(!dir);
      root.set_child(!dir, save.get_child(dir));
      save.set_child(dir, root);
      root.red = true;
      save.red = false;
      return save;
    }
    function double_rotate(root, dir) {
      root.set_child(!dir, single_rotate(root.get_child(!dir), !dir));
      return single_rotate(root, dir);
    }
    module2.exports = RBTree;
  }
});

// ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/bintree.js
var require_bintree = __commonJS({
  "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/lib/bintree.js"(exports2, module2) {
    var TreeBase = require_treebase();
    function Node(data) {
      this.data = data;
      this.left = null;
      this.right = null;
    }
    Node.prototype.get_child = function(dir) {
      return dir ? this.right : this.left;
    };
    Node.prototype.set_child = function(dir, val) {
      if (dir) {
        this.right = val;
      } else {
        this.left = val;
      }
    };
    function BinTree(comparator) {
      this._root = null;
      this._comparator = comparator;
      this.size = 0;
    }
    BinTree.prototype = new TreeBase();
    BinTree.prototype.insert = function(data) {
      if (this._root === null) {
        this._root = new Node(data);
        this.size++;
        return true;
      }
      var dir = 0;
      var p = null;
      var node = this._root;
      while (true) {
        if (node === null) {
          node = new Node(data);
          p.set_child(dir, node);
          ret = true;
          this.size++;
          return true;
        }
        if (this._comparator(node.data, data) === 0) {
          return false;
        }
        dir = this._comparator(node.data, data) < 0;
        p = node;
        node = node.get_child(dir);
      }
    };
    BinTree.prototype.remove = function(data) {
      if (this._root === null) {
        return false;
      }
      var head = new Node(void 0);
      var node = head;
      node.right = this._root;
      var p = null;
      var found = null;
      var dir = 1;
      while (node.get_child(dir) !== null) {
        p = node;
        node = node.get_child(dir);
        var cmp = this._comparator(data, node.data);
        dir = cmp > 0;
        if (cmp === 0) {
          found = node;
        }
      }
      if (found !== null) {
        found.data = node.data;
        p.set_child(p.right === node, node.get_child(node.left === null));
        this._root = head.right;
        this.size--;
        return true;
      } else {
        return false;
      }
    };
    module2.exports = BinTree;
  }
});

// ../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/index.js
var require_bintrees = __commonJS({
  "../node_modules/.pnpm/bintrees@1.0.2/node_modules/bintrees/index.js"(exports2, module2) {
    module2.exports = {
      RBTree: require_rbtree(),
      BinTree: require_bintree()
    };
  }
});

// ../node_modules/.pnpm/short-tree@1.0.0/node_modules/short-tree/dist/index.js
var require_dist21 = __commonJS({
  "../node_modules/.pnpm/short-tree@1.0.0/node_modules/short-tree/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ShortTree = void 0;
    var bintrees_1 = require_bintrees();
    function makeArrayCompare(cmp) {
      return function(a, b) {
        const lenA = a.length;
        const lenB = b.length;
        const minLength = Math.min(lenA, lenB);
        for (let i = 0; i < minLength; ++i) {
          const diff = cmp(a[i], b[i]);
          if (diff === 0)
            continue;
          return diff;
        }
        return lenA > lenB ? 1 : lenA < lenB ? -1 : 0;
      };
    }
    function arrayStartsWith(haystack, needle, cmp) {
      if (haystack.length < needle.length)
        return false;
      for (let i = 0; i < needle.length; ++i)
        if (cmp(haystack[i], needle[i]) !== 0)
          return false;
      return true;
    }
    var ShortTree = class extends bintrees_1.RBTree {
      constructor(cmp, arrayCmp = makeArrayCompare(cmp)) {
        super(arrayCmp);
        this.cmp = cmp;
        this.arrayCmp = arrayCmp;
      }
      arrayStartsWith(haystack, needle) {
        return arrayStartsWith(haystack, needle, this.cmp);
      }
      insert(path2) {
        const iter = this.lowerBound(path2);
        const data = iter.data();
        if (data) {
          const cmp = this.arrayCmp(data, path2);
          if (cmp === 0)
            return false;
          else if (this.arrayStartsWith(data, path2))
            this.chopOff(path2);
        }
        const prev = this.lowerBound(path2).prev();
        if (prev && this.arrayStartsWith(path2, prev))
          return false;
        return super.insert(path2);
      }
      chopOff(path2) {
        const iter = this.lowerBound(path2);
        const found = [];
        do {
          const data = iter.data();
          if (data && this.arrayStartsWith(data, path2))
            found.push(data);
          else
            break;
          iter.next();
        } while (true);
        for (const node of found)
          this.remove(node);
        return found.length > 0;
      }
      values() {
        const ret2 = [];
        this.each((node) => ret2.push(node));
        return ret2;
      }
    };
    exports2.ShortTree = ShortTree;
  }
});

// ../node_modules/.pnpm/rotated-array-set@1.0.0/node_modules/rotated-array-set/dist/index.js
var require_dist22 = __commonJS({
  "../node_modules/.pnpm/rotated-array-set@1.0.0/node_modules/rotated-array-set/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RotatedArraySet = exports2.rotatedArrayEqual = exports2.arrayEqual = void 0;
    function arrayEqual(a, b) {
      if (a.length !== b.length)
        return false;
      else if (a.length === 0)
        return true;
      return !a.some((nodeA, i) => nodeA !== b[i]);
    }
    exports2.arrayEqual = arrayEqual;
    function rotatedArrayEqual(a, b) {
      if (a.length !== b.length)
        return false;
      else if (!a.length)
        return true;
      const offset = b.indexOf(a[0]);
      if (offset === -1)
        return false;
      const _b = offset === 0 ? b : [...b.slice(offset), ...b.slice(0, offset)];
      return arrayEqual(a, _b);
    }
    exports2.rotatedArrayEqual = rotatedArrayEqual;
    function simpleHash(text, hashCache) {
      const textLength = text.length;
      if (textLength === 0)
        return 4711;
      const quads = [];
      for (let i = 0; i < textLength; ++i) {
        let byte = text.charCodeAt(i) + i * 13;
        byte = byte % 256;
        const mod = i % 4;
        if (mod === 0)
          quads.push(byte);
        else
          quads[quads.length - 1] |= byte << (mod === 1 ? 8 : mod === 2 ? 16 : 24);
      }
      const hash = quads.reduce((prev, cur) => prev ^ cur, textLength * 13);
      hashCache.set(text, hash);
      return hash;
    }
    function nodeHash(keys, hashCache) {
      if (keys.length === 0)
        return 31415;
      return keys.map((key) => {
        var _a;
        return (_a = hashCache.get(key)) !== null && _a !== void 0 ? _a : simpleHash(key, hashCache);
      }).reduce((prev, cur) => prev ^ cur, keys.length * 13);
    }
    var RotatedArraySet = class {
      constructor(stringify2 = (t) => `${t}`) {
        this.stringify = stringify2;
        this.hashCache = /* @__PURE__ */ new Map();
        this.tree = /* @__PURE__ */ new Map();
      }
      makeNode(arr) {
        const keys = arr.map((t) => this.stringify(t));
        const hash = nodeHash(keys, this.hashCache);
        const node = {
          keys,
          hash,
          value: arr
        };
        return node;
      }
      add(arr) {
        const node = this.makeNode(arr);
        if (this._has(node))
          return false;
        let set = this.tree.get(node.hash);
        if (!set) {
          set = /* @__PURE__ */ new Set();
          this.tree.set(node.hash, set);
        }
        set.add(node);
        return true;
      }
      _has(node) {
        const set = this.tree.get(node.hash);
        if (!set)
          return void 0;
        for (const iter of set.values())
          if (rotatedArrayEqual(iter.keys, node.keys))
            return iter;
        return void 0;
      }
      has(arr) {
        return !!this._has(this.makeNode(arr));
      }
      delete(arr) {
        const node = this._has(this.makeNode(arr));
        if (!node)
          return false;
        const set = this.tree.get(node.hash);
        set.delete(node);
        if (set.size === 0)
          this.tree.delete(node.hash);
        return true;
      }
      values() {
        const set = new Set([...this.tree.values()].flatMap((set2) => [...set2.values()]));
        return [...set].map(({ value }) => value);
      }
    };
    exports2.RotatedArraySet = RotatedArraySet;
  }
});

// ../node_modules/.pnpm/fast-string-compare@1.0.0/node_modules/fast-string-compare/dist/index.js
var require_dist23 = __commonJS({
  "../node_modules/.pnpm/fast-string-compare@1.0.0/node_modules/fast-string-compare/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.compare = void 0;
    function compare(a, b) {
      const lenA = a.length;
      const lenB = b.length;
      const minLen = lenA < lenB ? lenA : lenB;
      var i = 0;
      for (; i < minLen; ++i) {
        const ca = a.charCodeAt(i);
        const cb = b.charCodeAt(i);
        if (ca > cb)
          return 1;
        else if (ca < cb)
          return -1;
      }
      if (lenA === lenB)
        return 0;
      return lenA > lenB ? 1 : -1;
    }
    exports2.compare = compare;
  }
});

// ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/util.js
var require_util8 = __commonJS({
  "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/util.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.sortFastAnalysisResult = exports2.sortFullAnalysisResult = exports2.rotateArray = exports2.arrayCompare = exports2.uniqArrays = exports2.uniq = void 0;
    var fast_string_compare_1 = require_dist23();
    function uniq(arr) {
      return [...new Set(arr)];
    }
    exports2.uniq = uniq;
    function uniqArrays(arrays) {
      const known = [];
      return arrays.filter((array) => {
        const isKnown = known.some((arr) => !arrayCompare(arr, array));
        if (isKnown)
          return false;
        known.push(array);
        return true;
      });
    }
    exports2.uniqArrays = uniqArrays;
    function arrayCompare(a, b) {
      if (a.length !== b.length)
        return a.length > b.length ? 1 : -1;
      else if (a.length === 0)
        return 0;
      for (let i = 0; i < a.length; ++i) {
        const diff = fast_string_compare_1.compare(a[i], b[i]);
        if (diff !== 0)
          return diff;
      }
      return 0;
    }
    exports2.arrayCompare = arrayCompare;
    function sortArrays(arr) {
      return [...arr].sort((a, b) => {
        if (a.length < b.length)
          return -1;
        else if (a.length > b.length)
          return 1;
        else
          return fast_string_compare_1.compare(JSON.stringify(a), JSON.stringify(b));
      });
    }
    function rotateArray(arr, offset) {
      return [...arr.slice(offset), ...arr.slice(0, offset)];
    }
    exports2.rotateArray = rotateArray;
    function rotationSort(arr) {
      const anchor = [...arr].sort(fast_string_compare_1.compare)[0];
      while (arr[0] !== anchor)
        arr = rotateArray(arr, 1);
      return [...arr];
    }
    function rotationSortArrays(arrays) {
      return arrays.map((arr) => rotationSort(arr));
    }
    function sortFullAnalysisResult(result2) {
      return {
        cycles: sortArrays(rotationSortArrays(result2.cycles)),
        entrypoints: sortArrays(result2.entrypoints),
        dependencies: [...result2.dependencies].sort(fast_string_compare_1.compare),
        dependents: [...result2.dependents].sort(fast_string_compare_1.compare),
        all: [...result2.all].sort(fast_string_compare_1.compare)
      };
    }
    exports2.sortFullAnalysisResult = sortFullAnalysisResult;
    function sortFastAnalysisResult(result2) {
      return {
        cyclic: [...result2.cyclic].sort(fast_string_compare_1.compare),
        dependencies: [...result2.dependencies].sort(fast_string_compare_1.compare),
        dependents: [...result2.dependents].sort(fast_string_compare_1.compare)
      };
    }
    exports2.sortFastAnalysisResult = sortFastAnalysisResult;
  }
});

// ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/types.js
var require_types7 = __commonJS({
  "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/index.js
var require_dist24 = __commonJS({
  "../node_modules/.pnpm/graph-cycles@1.2.1/node_modules/graph-cycles/dist/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.analyzeGraphFast = exports2.analyzeGraph = exports2.sortFastAnalysisResult = exports2.sortFullAnalysisResult = void 0;
    var short_tree_1 = require_dist21();
    var rotated_array_set_1 = require_dist22();
    var fast_string_compare_1 = require_dist23();
    var util_1 = require_util8();
    __exportStar2(require_types7(), exports2);
    var util_2 = require_util8();
    Object.defineProperty(exports2, "sortFullAnalysisResult", { enumerable: true, get: function() {
      return util_2.sortFullAnalysisResult;
    } });
    Object.defineProperty(exports2, "sortFastAnalysisResult", { enumerable: true, get: function() {
      return util_2.sortFastAnalysisResult;
    } });
    function buildAndEnsureValidGraph(edges) {
      const fromSet = /* @__PURE__ */ new Set();
      edges.forEach(([from]) => {
        if (fromSet.has(from))
          throw new Error(`Duplicate edge specification from "${from}"`);
        fromSet.add(from);
      });
      return new Map(edges.map(([from, to]) => [from, util_1.uniq(to)]));
    }
    function analyzeGraph(graph) {
      const graphMap = buildAndEnsureValidGraph(graph);
      const entrypoints = new short_tree_1.ShortTree(fast_string_compare_1.compare);
      const cycleNodes = /* @__PURE__ */ new Set();
      const cycles = new rotated_array_set_1.RotatedArraySet();
      const dependencies = /* @__PURE__ */ new Set();
      const allExitPaths = new Array();
      const recordCycleEntrypoint = (path2) => {
        if (path2.length === 0)
          return;
        entrypoints.insert(path2);
      };
      const recordCycle = (path2) => {
        if (cycles.add(path2)) {
          for (const node of path2)
            cycleNodes.add(node);
        }
      };
      const isPartOfCycle = (node) => cycleNodes.has(node);
      for (const [from, _to] of graphMap.entries()) {
        const path2 = [from];
        const visited = /* @__PURE__ */ new Set();
        let foundCycle = false;
        let createdCycle = false;
        const exitPaths = [];
        let to = _to;
        let nodeNextIndex = 0;
        const getLeaf = () => path2[path2.length - 1];
        const testNode = () => {
          const node = getLeaf();
          const shouldCheckCycles = !createdCycle;
          if (shouldCheckCycles && isPartOfCycle(node)) {
            recordCycleEntrypoint(path2.slice(0, -1));
            foundCycle = true;
            return true;
          }
          if (visited.has(node)) {
            const entrypointPath = path2.slice(0, path2.indexOf(node) + 1);
            if (entrypointPath.length > 1)
              recordCycleEntrypoint(entrypointPath.slice(0, -1));
            const cycle = path2.slice(path2.indexOf(node), -1);
            recordCycle(cycle);
            createdCycle = true;
            return true;
          }
          return false;
        };
        const walkDown = () => {
          var _a;
          if (nodeNextIndex >= to.length)
            return false;
          const node = getLeaf();
          visited.add(node);
          const nextLeaf = to[nodeNextIndex];
          path2.push(nextLeaf);
          to = (_a = graphMap.get(nextLeaf)) !== null && _a !== void 0 ? _a : [];
          nodeNextIndex = 0;
          return true;
        };
        const walkUp = () => {
          var _a;
          if (path2.length === 1)
            return true;
          const lastLeaf = getLeaf();
          path2.pop();
          const node = getLeaf();
          visited.delete(node);
          to = (_a = graphMap.get(node)) !== null && _a !== void 0 ? _a : [];
          nodeNextIndex = to.indexOf(lastLeaf) + 1;
          if (nodeNextIndex >= to.length)
            return walkUp();
          else
            walkDown();
          return false;
        };
        while (true) {
          if (testNode()) {
            if (walkUp())
              break;
            else
              continue;
          }
          if (walkDown())
            continue;
          exitPaths.push([...path2]);
          if (walkUp())
            break;
        }
        if (foundCycle || createdCycle)
          exitPaths.forEach((path3) => {
            while (path3.length > 0 && !isPartOfCycle(path3[path3.length - 1])) {
              dependencies.add(path3[path3.length - 1]);
              path3.pop();
            }
          });
        for (const path3 of exitPaths)
          allExitPaths.push(path3);
      }
      const trimmedEntrypoints = util_1.uniqArrays(entrypoints.values().map((path2) => {
        for (let i = 0; i < path2.length; ++i) {
          if (isPartOfCycle(path2[i])) {
            path2 = path2.slice(0, i);
            break;
          }
        }
        return path2;
      }).filter((path2) => path2.length > 0));
      const all = /* @__PURE__ */ new Set([...cycleNodes, ...trimmedEntrypoints.flat()]);
      const dependenciesList = [...dependencies].filter((dep) => !all.has(dep));
      const allInclDeps = /* @__PURE__ */ new Set([...all, ...dependenciesList]);
      const dependents = /* @__PURE__ */ new Set();
      allExitPaths.forEach((path2) => {
        if (path2.length > 0 && allInclDeps.has(path2[path2.length - 1])) {
          const prePath = path2.slice(0, -1);
          if (prePath.some((node) => allInclDeps.has(node)))
            return;
          prePath.forEach((node) => dependents.add(node));
        }
      });
      return {
        cycles: cycles.values(),
        entrypoints: trimmedEntrypoints,
        dependencies: dependenciesList,
        dependents: [...dependents],
        all: [...all]
      };
    }
    exports2.analyzeGraph = analyzeGraph;
    function analyzeGraphFast(graph) {
      const graphMap = buildAndEnsureValidGraph(graph);
      const cycleNodes = /* @__PURE__ */ new Set();
      const dependencies = /* @__PURE__ */ new Set();
      const dependents = /* @__PURE__ */ new Set();
      const exitPaths = [];
      const recordCycle = (path2) => {
        for (const node of path2)
          cycleNodes.add(node);
      };
      const isPartOfCycle = (node) => cycleNodes.has(node);
      for (const [from, _to] of graphMap.entries()) {
        const path2 = [from];
        const visited = /* @__PURE__ */ new Set();
        let to = _to;
        let nodeNextIndex = 0;
        const getLeaf = () => path2[path2.length - 1];
        const testNode = () => {
          const node = getLeaf();
          if (isPartOfCycle(node)) {
            recordCycle(path2.slice(0, -1));
            return true;
          }
          if (visited.has(node)) {
            const cycle = path2.slice(0, -1);
            recordCycle(cycle);
            return true;
          }
          return false;
        };
        const walkDown = () => {
          var _a;
          if (nodeNextIndex >= to.length)
            return false;
          const node = getLeaf();
          visited.add(node);
          const nextLeaf = to[nodeNextIndex];
          path2.push(nextLeaf);
          to = (_a = graphMap.get(nextLeaf)) !== null && _a !== void 0 ? _a : [];
          nodeNextIndex = 0;
          return true;
        };
        const walkUp = () => {
          var _a;
          if (path2.length === 1)
            return true;
          const lastLeaf = getLeaf();
          path2.pop();
          const node = getLeaf();
          visited.delete(node);
          to = (_a = graphMap.get(node)) !== null && _a !== void 0 ? _a : [];
          nodeNextIndex = to.indexOf(lastLeaf) + 1;
          if (nodeNextIndex >= to.length)
            return walkUp();
          else
            walkDown();
          return false;
        };
        while (true) {
          if (testNode()) {
            if (walkUp())
              break;
            else
              continue;
          }
          if (walkDown())
            continue;
          exitPaths.push([...path2]);
          if (walkUp())
            break;
        }
      }
      exitPaths.forEach((origPath) => {
        const path2 = [...origPath];
        const localPath2 = [];
        while (path2.length > 0 && !isPartOfCycle(path2[path2.length - 1])) {
          localPath2.push(path2[path2.length - 1]);
          path2.pop();
        }
        if (path2.length > 0)
          localPath2.forEach((segment) => dependencies.add(segment));
      });
      const all = /* @__PURE__ */ new Set([...dependencies, ...cycleNodes]);
      exitPaths.forEach((path2) => {
        if (path2.length > 0 && all.has(path2[path2.length - 1])) {
          const prePath = path2.slice(0, -1);
          if (prePath.some((node) => all.has(node)))
            return;
          prePath.forEach((node) => dependents.add(node));
        }
      });
      return {
        cyclic: [...cycleNodes],
        dependencies: [...dependencies].filter((dep) => !cycleNodes.has(dep)),
        dependents: [...dependents].filter((dep) => !cycleNodes.has(dep))
      };
    }
    exports2.analyzeGraphFast = analyzeGraphFast;
  }
});

// ../node_modules/.pnpm/dotenv@16.4.7/node_modules/dotenv/package.json
var require_package2 = __commonJS({
  "../node_modules/.pnpm/dotenv@16.4.7/node_modules/dotenv/package.json"(exports2, module2) {
    module2.exports = {
      name: "dotenv",
      version: "16.4.7",
      description: "Loads environment variables from .env file",
      main: "lib/main.js",
      types: "lib/main.d.ts",
      exports: {
        ".": {
          types: "./lib/main.d.ts",
          require: "./lib/main.js",
          default: "./lib/main.js"
        },
        "./config": "./config.js",
        "./config.js": "./config.js",
        "./lib/env-options": "./lib/env-options.js",
        "./lib/env-options.js": "./lib/env-options.js",
        "./lib/cli-options": "./lib/cli-options.js",
        "./lib/cli-options.js": "./lib/cli-options.js",
        "./package.json": "./package.json"
      },
      scripts: {
        "dts-check": "tsc --project tests/types/tsconfig.json",
        lint: "standard",
        pretest: "npm run lint && npm run dts-check",
        test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000",
        "test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",
        prerelease: "npm test",
        release: "standard-version"
      },
      repository: {
        type: "git",
        url: "git://github.com/motdotla/dotenv.git"
      },
      funding: "https://dotenvx.com",
      keywords: [
        "dotenv",
        "env",
        ".env",
        "environment",
        "variables",
        "config",
        "settings"
      ],
      readmeFilename: "README.md",
      license: "BSD-2-Clause",
      devDependencies: {
        "@types/node": "^18.11.3",
        decache: "^4.6.2",
        sinon: "^14.0.1",
        standard: "^17.0.0",
        "standard-version": "^9.5.0",
        tap: "^19.2.0",
        typescript: "^4.8.4"
      },
      engines: {
        node: ">=12"
      },
      browser: {
        fs: false
      }
    };
  }
});

// ../node_modules/.pnpm/dotenv@16.4.7/node_modules/dotenv/lib/main.js
var require_main2 = __commonJS({
  "../node_modules/.pnpm/dotenv@16.4.7/node_modules/dotenv/lib/main.js"(exports2, module2) {
    var fs = require("fs");
    var path2 = require("path");
    var os = require("os");
    var crypto5 = require("crypto");
    var packageJson = require_package2();
    var version2 = packageJson.version;
    var LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;
    function parse2(src) {
      const obj = {};
      let lines = src.toString();
      lines = lines.replace(/\r\n?/mg, "\n");
      let match;
      while ((match = LINE.exec(lines)) != null) {
        const key = match[1];
        let value = match[2] || "";
        value = value.trim();
        const maybeQuote = value[0];
        value = value.replace(/^(['"`])([\s\S]*)\1$/mg, "$2");
        if (maybeQuote === '"') {
          value = value.replace(/\\n/g, "\n");
          value = value.replace(/\\r/g, "\r");
        }
        obj[key] = value;
      }
      return obj;
    }
    function _parseVault(options) {
      const vaultPath = _vaultPath(options);
      const result2 = DotenvModule.configDotenv({ path: vaultPath });
      if (!result2.parsed) {
        const err = new Error(`MISSING_DATA: Cannot parse ${vaultPath} for an unknown reason`);
        err.code = "MISSING_DATA";
        throw err;
      }
      const keys = _dotenvKey(options).split(",");
      const length = keys.length;
      let decrypted;
      for (let i = 0; i < length; i++) {
        try {
          const key = keys[i].trim();
          const attrs = _instructions(result2, key);
          decrypted = DotenvModule.decrypt(attrs.ciphertext, attrs.key);
          break;
        } catch (error) {
          if (i + 1 >= length) {
            throw error;
          }
        }
      }
      return DotenvModule.parse(decrypted);
    }
    function _log(message) {
      console.log(`[dotenv@${version2}][INFO] ${message}`);
    }
    function _warn(message) {
      console.log(`[dotenv@${version2}][WARN] ${message}`);
    }
    function _debug(message) {
      console.log(`[dotenv@${version2}][DEBUG] ${message}`);
    }
    function _dotenvKey(options) {
      if (options && options.DOTENV_KEY && options.DOTENV_KEY.length > 0) {
        return options.DOTENV_KEY;
      }
      if (process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0) {
        return process.env.DOTENV_KEY;
      }
      return "";
    }
    function _instructions(result2, dotenvKey) {
      let uri;
      try {
        uri = new URL(dotenvKey);
      } catch (error) {
        if (error.code === "ERR_INVALID_URL") {
          const err = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");
          err.code = "INVALID_DOTENV_KEY";
          throw err;
        }
        throw error;
      }
      const key = uri.password;
      if (!key) {
        const err = new Error("INVALID_DOTENV_KEY: Missing key part");
        err.code = "INVALID_DOTENV_KEY";
        throw err;
      }
      const environment = uri.searchParams.get("environment");
      if (!environment) {
        const err = new Error("INVALID_DOTENV_KEY: Missing environment part");
        err.code = "INVALID_DOTENV_KEY";
        throw err;
      }
      const environmentKey = `DOTENV_VAULT_${environment.toUpperCase()}`;
      const ciphertext = result2.parsed[environmentKey];
      if (!ciphertext) {
        const err = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${environmentKey} in your .env.vault file.`);
        err.code = "NOT_FOUND_DOTENV_ENVIRONMENT";
        throw err;
      }
      return { ciphertext, key };
    }
    function _vaultPath(options) {
      let possibleVaultPath = null;
      if (options && options.path && options.path.length > 0) {
        if (Array.isArray(options.path)) {
          for (const filepath of options.path) {
            if (fs.existsSync(filepath)) {
              possibleVaultPath = filepath.endsWith(".vault") ? filepath : `${filepath}.vault`;
            }
          }
        } else {
          possibleVaultPath = options.path.endsWith(".vault") ? options.path : `${options.path}.vault`;
        }
      } else {
        possibleVaultPath = path2.resolve(process.cwd(), ".env.vault");
      }
      if (fs.existsSync(possibleVaultPath)) {
        return possibleVaultPath;
      }
      return null;
    }
    function _resolveHome(envPath) {
      return envPath[0] === "~" ? path2.join(os.homedir(), envPath.slice(1)) : envPath;
    }
    function _configVault(options) {
      _log("Loading env from encrypted .env.vault");
      const parsed = DotenvModule._parseVault(options);
      let processEnv = process.env;
      if (options && options.processEnv != null) {
        processEnv = options.processEnv;
      }
      DotenvModule.populate(processEnv, parsed, options);
      return { parsed };
    }
    function configDotenv(options) {
      const dotenvPath = path2.resolve(process.cwd(), ".env");
      let encoding = "utf8";
      const debug = Boolean(options && options.debug);
      if (options && options.encoding) {
        encoding = options.encoding;
      } else {
        if (debug) {
          _debug("No encoding is specified. UTF-8 is used by default");
        }
      }
      let optionPaths = [dotenvPath];
      if (options && options.path) {
        if (!Array.isArray(options.path)) {
          optionPaths = [_resolveHome(options.path)];
        } else {
          optionPaths = [];
          for (const filepath of options.path) {
            optionPaths.push(_resolveHome(filepath));
          }
        }
      }
      let lastError;
      const parsedAll = {};
      for (const path3 of optionPaths) {
        try {
          const parsed = DotenvModule.parse(fs.readFileSync(path3, { encoding }));
          DotenvModule.populate(parsedAll, parsed, options);
        } catch (e) {
          if (debug) {
            _debug(`Failed to load ${path3} ${e.message}`);
          }
          lastError = e;
        }
      }
      let processEnv = process.env;
      if (options && options.processEnv != null) {
        processEnv = options.processEnv;
      }
      DotenvModule.populate(processEnv, parsedAll, options);
      if (lastError) {
        return { parsed: parsedAll, error: lastError };
      } else {
        return { parsed: parsedAll };
      }
    }
    function config(options) {
      if (_dotenvKey(options).length === 0) {
        return DotenvModule.configDotenv(options);
      }
      const vaultPath = _vaultPath(options);
      if (!vaultPath) {
        _warn(`You set DOTENV_KEY but you are missing a .env.vault file at ${vaultPath}. Did you forget to build it?`);
        return DotenvModule.configDotenv(options);
      }
      return DotenvModule._configVault(options);
    }
    function decrypt(encrypted, keyStr) {
      const key = Buffer.from(keyStr.slice(-64), "hex");
      let ciphertext = Buffer.from(encrypted, "base64");
      const nonce = ciphertext.subarray(0, 12);
      const authTag = ciphertext.subarray(-16);
      ciphertext = ciphertext.subarray(12, -16);
      try {
        const aesgcm = crypto5.createDecipheriv("aes-256-gcm", key, nonce);
        aesgcm.setAuthTag(authTag);
        return `${aesgcm.update(ciphertext)}${aesgcm.final()}`;
      } catch (error) {
        const isRange = error instanceof RangeError;
        const invalidKeyLength = error.message === "Invalid key length";
        const decryptionFailed = error.message === "Unsupported state or unable to authenticate data";
        if (isRange || invalidKeyLength) {
          const err = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");
          err.code = "INVALID_DOTENV_KEY";
          throw err;
        } else if (decryptionFailed) {
          const err = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");
          err.code = "DECRYPTION_FAILED";
          throw err;
        } else {
          throw error;
        }
      }
    }
    function populate(processEnv, parsed, options = {}) {
      const debug = Boolean(options && options.debug);
      const override = Boolean(options && options.override);
      if (typeof parsed !== "object") {
        const err = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");
        err.code = "OBJECT_REQUIRED";
        throw err;
      }
      for (const key of Object.keys(parsed)) {
        if (Object.prototype.hasOwnProperty.call(processEnv, key)) {
          if (override === true) {
            processEnv[key] = parsed[key];
          }
          if (debug) {
            if (override === true) {
              _debug(`"${key}" is already defined and WAS overwritten`);
            } else {
              _debug(`"${key}" is already defined and was NOT overwritten`);
            }
          }
        } else {
          processEnv[key] = parsed[key];
        }
      }
    }
    var DotenvModule = {
      configDotenv,
      _configVault,
      _parseVault,
      config,
      decrypt,
      parse: parse2,
      populate
    };
    module2.exports.configDotenv = DotenvModule.configDotenv;
    module2.exports._configVault = DotenvModule._configVault;
    module2.exports._parseVault = DotenvModule._parseVault;
    module2.exports.config = DotenvModule.config;
    module2.exports.decrypt = DotenvModule.decrypt;
    module2.exports.parse = DotenvModule.parse;
    module2.exports.populate = DotenvModule.populate;
    module2.exports = DotenvModule;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MessageName.js
var require_MessageName = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MessageName.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.MessageName = void 0;
    exports2.stringifyMessageName = stringifyMessageName;
    exports2.parseMessageName = parseMessageName;
    var MessageName;
    (function(MessageName2) {
      MessageName2[MessageName2["UNNAMED"] = 0] = "UNNAMED";
      MessageName2[MessageName2["EXCEPTION"] = 1] = "EXCEPTION";
      MessageName2[MessageName2["MISSING_PEER_DEPENDENCY"] = 2] = "MISSING_PEER_DEPENDENCY";
      MessageName2[MessageName2["CYCLIC_DEPENDENCIES"] = 3] = "CYCLIC_DEPENDENCIES";
      MessageName2[MessageName2["DISABLED_BUILD_SCRIPTS"] = 4] = "DISABLED_BUILD_SCRIPTS";
      MessageName2[MessageName2["BUILD_DISABLED"] = 5] = "BUILD_DISABLED";
      MessageName2[MessageName2["SOFT_LINK_BUILD"] = 6] = "SOFT_LINK_BUILD";
      MessageName2[MessageName2["MUST_BUILD"] = 7] = "MUST_BUILD";
      MessageName2[MessageName2["MUST_REBUILD"] = 8] = "MUST_REBUILD";
      MessageName2[MessageName2["BUILD_FAILED"] = 9] = "BUILD_FAILED";
      MessageName2[MessageName2["RESOLVER_NOT_FOUND"] = 10] = "RESOLVER_NOT_FOUND";
      MessageName2[MessageName2["FETCHER_NOT_FOUND"] = 11] = "FETCHER_NOT_FOUND";
      MessageName2[MessageName2["LINKER_NOT_FOUND"] = 12] = "LINKER_NOT_FOUND";
      MessageName2[MessageName2["FETCH_NOT_CACHED"] = 13] = "FETCH_NOT_CACHED";
      MessageName2[MessageName2["YARN_IMPORT_FAILED"] = 14] = "YARN_IMPORT_FAILED";
      MessageName2[MessageName2["REMOTE_INVALID"] = 15] = "REMOTE_INVALID";
      MessageName2[MessageName2["REMOTE_NOT_FOUND"] = 16] = "REMOTE_NOT_FOUND";
      MessageName2[MessageName2["RESOLUTION_PACK"] = 17] = "RESOLUTION_PACK";
      MessageName2[MessageName2["CACHE_CHECKSUM_MISMATCH"] = 18] = "CACHE_CHECKSUM_MISMATCH";
      MessageName2[MessageName2["UNUSED_CACHE_ENTRY"] = 19] = "UNUSED_CACHE_ENTRY";
      MessageName2[MessageName2["MISSING_LOCKFILE_ENTRY"] = 20] = "MISSING_LOCKFILE_ENTRY";
      MessageName2[MessageName2["WORKSPACE_NOT_FOUND"] = 21] = "WORKSPACE_NOT_FOUND";
      MessageName2[MessageName2["TOO_MANY_MATCHING_WORKSPACES"] = 22] = "TOO_MANY_MATCHING_WORKSPACES";
      MessageName2[MessageName2["CONSTRAINTS_MISSING_DEPENDENCY"] = 23] = "CONSTRAINTS_MISSING_DEPENDENCY";
      MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_DEPENDENCY"] = 24] = "CONSTRAINTS_INCOMPATIBLE_DEPENDENCY";
      MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_DEPENDENCY"] = 25] = "CONSTRAINTS_EXTRANEOUS_DEPENDENCY";
      MessageName2[MessageName2["CONSTRAINTS_INVALID_DEPENDENCY"] = 26] = "CONSTRAINTS_INVALID_DEPENDENCY";
      MessageName2[MessageName2["CANT_SUGGEST_RESOLUTIONS"] = 27] = "CANT_SUGGEST_RESOLUTIONS";
      MessageName2[MessageName2["FROZEN_LOCKFILE_EXCEPTION"] = 28] = "FROZEN_LOCKFILE_EXCEPTION";
      MessageName2[MessageName2["CROSS_DRIVE_VIRTUAL_LOCAL"] = 29] = "CROSS_DRIVE_VIRTUAL_LOCAL";
      MessageName2[MessageName2["FETCH_FAILED"] = 30] = "FETCH_FAILED";
      MessageName2[MessageName2["DANGEROUS_NODE_MODULES"] = 31] = "DANGEROUS_NODE_MODULES";
      MessageName2[MessageName2["NODE_GYP_INJECTED"] = 32] = "NODE_GYP_INJECTED";
      MessageName2[MessageName2["AUTHENTICATION_NOT_FOUND"] = 33] = "AUTHENTICATION_NOT_FOUND";
      MessageName2[MessageName2["INVALID_CONFIGURATION_KEY"] = 34] = "INVALID_CONFIGURATION_KEY";
      MessageName2[MessageName2["NETWORK_ERROR"] = 35] = "NETWORK_ERROR";
      MessageName2[MessageName2["LIFECYCLE_SCRIPT"] = 36] = "LIFECYCLE_SCRIPT";
      MessageName2[MessageName2["CONSTRAINTS_MISSING_FIELD"] = 37] = "CONSTRAINTS_MISSING_FIELD";
      MessageName2[MessageName2["CONSTRAINTS_INCOMPATIBLE_FIELD"] = 38] = "CONSTRAINTS_INCOMPATIBLE_FIELD";
      MessageName2[MessageName2["CONSTRAINTS_EXTRANEOUS_FIELD"] = 39] = "CONSTRAINTS_EXTRANEOUS_FIELD";
      MessageName2[MessageName2["CONSTRAINTS_INVALID_FIELD"] = 40] = "CONSTRAINTS_INVALID_FIELD";
      MessageName2[MessageName2["AUTHENTICATION_INVALID"] = 41] = "AUTHENTICATION_INVALID";
      MessageName2[MessageName2["PROLOG_UNKNOWN_ERROR"] = 42] = "PROLOG_UNKNOWN_ERROR";
      MessageName2[MessageName2["PROLOG_SYNTAX_ERROR"] = 43] = "PROLOG_SYNTAX_ERROR";
      MessageName2[MessageName2["PROLOG_EXISTENCE_ERROR"] = 44] = "PROLOG_EXISTENCE_ERROR";
      MessageName2[MessageName2["STACK_OVERFLOW_RESOLUTION"] = 45] = "STACK_OVERFLOW_RESOLUTION";
      MessageName2[MessageName2["AUTOMERGE_FAILED_TO_PARSE"] = 46] = "AUTOMERGE_FAILED_TO_PARSE";
      MessageName2[MessageName2["AUTOMERGE_IMMUTABLE"] = 47] = "AUTOMERGE_IMMUTABLE";
      MessageName2[MessageName2["AUTOMERGE_SUCCESS"] = 48] = "AUTOMERGE_SUCCESS";
      MessageName2[MessageName2["AUTOMERGE_REQUIRED"] = 49] = "AUTOMERGE_REQUIRED";
      MessageName2[MessageName2["DEPRECATED_CLI_SETTINGS"] = 50] = "DEPRECATED_CLI_SETTINGS";
      MessageName2[MessageName2["PLUGIN_NAME_NOT_FOUND"] = 51] = "PLUGIN_NAME_NOT_FOUND";
      MessageName2[MessageName2["INVALID_PLUGIN_REFERENCE"] = 52] = "INVALID_PLUGIN_REFERENCE";
      MessageName2[MessageName2["CONSTRAINTS_AMBIGUITY"] = 53] = "CONSTRAINTS_AMBIGUITY";
      MessageName2[MessageName2["CACHE_OUTSIDE_PROJECT"] = 54] = "CACHE_OUTSIDE_PROJECT";
      MessageName2[MessageName2["IMMUTABLE_INSTALL"] = 55] = "IMMUTABLE_INSTALL";
      MessageName2[MessageName2["IMMUTABLE_CACHE"] = 56] = "IMMUTABLE_CACHE";
      MessageName2[MessageName2["INVALID_MANIFEST"] = 57] = "INVALID_MANIFEST";
      MessageName2[MessageName2["PACKAGE_PREPARATION_FAILED"] = 58] = "PACKAGE_PREPARATION_FAILED";
      MessageName2[MessageName2["INVALID_RANGE_PEER_DEPENDENCY"] = 59] = "INVALID_RANGE_PEER_DEPENDENCY";
      MessageName2[MessageName2["INCOMPATIBLE_PEER_DEPENDENCY"] = 60] = "INCOMPATIBLE_PEER_DEPENDENCY";
      MessageName2[MessageName2["DEPRECATED_PACKAGE"] = 61] = "DEPRECATED_PACKAGE";
      MessageName2[MessageName2["INCOMPATIBLE_OS"] = 62] = "INCOMPATIBLE_OS";
      MessageName2[MessageName2["INCOMPATIBLE_CPU"] = 63] = "INCOMPATIBLE_CPU";
      MessageName2[MessageName2["FROZEN_ARTIFACT_EXCEPTION"] = 64] = "FROZEN_ARTIFACT_EXCEPTION";
      MessageName2[MessageName2["TELEMETRY_NOTICE"] = 65] = "TELEMETRY_NOTICE";
      MessageName2[MessageName2["PATCH_HUNK_FAILED"] = 66] = "PATCH_HUNK_FAILED";
      MessageName2[MessageName2["INVALID_CONFIGURATION_VALUE"] = 67] = "INVALID_CONFIGURATION_VALUE";
      MessageName2[MessageName2["UNUSED_PACKAGE_EXTENSION"] = 68] = "UNUSED_PACKAGE_EXTENSION";
      MessageName2[MessageName2["REDUNDANT_PACKAGE_EXTENSION"] = 69] = "REDUNDANT_PACKAGE_EXTENSION";
      MessageName2[MessageName2["AUTO_NM_SUCCESS"] = 70] = "AUTO_NM_SUCCESS";
      MessageName2[MessageName2["NM_CANT_INSTALL_EXTERNAL_SOFT_LINK"] = 71] = "NM_CANT_INSTALL_EXTERNAL_SOFT_LINK";
      MessageName2[MessageName2["NM_PRESERVE_SYMLINKS_REQUIRED"] = 72] = "NM_PRESERVE_SYMLINKS_REQUIRED";
      MessageName2[MessageName2["UPDATE_LOCKFILE_ONLY_SKIP_LINK"] = 73] = "UPDATE_LOCKFILE_ONLY_SKIP_LINK";
      MessageName2[MessageName2["NM_HARDLINKS_MODE_DOWNGRADED"] = 74] = "NM_HARDLINKS_MODE_DOWNGRADED";
      MessageName2[MessageName2["PROLOG_INSTANTIATION_ERROR"] = 75] = "PROLOG_INSTANTIATION_ERROR";
      MessageName2[MessageName2["INCOMPATIBLE_ARCHITECTURE"] = 76] = "INCOMPATIBLE_ARCHITECTURE";
      MessageName2[MessageName2["GHOST_ARCHITECTURE"] = 77] = "GHOST_ARCHITECTURE";
      MessageName2[MessageName2["RESOLUTION_MISMATCH"] = 78] = "RESOLUTION_MISMATCH";
      MessageName2[MessageName2["PROLOG_LIMIT_EXCEEDED"] = 79] = "PROLOG_LIMIT_EXCEEDED";
      MessageName2[MessageName2["NETWORK_DISABLED"] = 80] = "NETWORK_DISABLED";
      MessageName2[MessageName2["NETWORK_UNSAFE_HTTP"] = 81] = "NETWORK_UNSAFE_HTTP";
      MessageName2[MessageName2["RESOLUTION_FAILED"] = 82] = "RESOLUTION_FAILED";
      MessageName2[MessageName2["AUTOMERGE_GIT_ERROR"] = 83] = "AUTOMERGE_GIT_ERROR";
      MessageName2[MessageName2["CONSTRAINTS_CHECK_FAILED"] = 84] = "CONSTRAINTS_CHECK_FAILED";
      MessageName2[MessageName2["UPDATED_RESOLUTION_RECORD"] = 85] = "UPDATED_RESOLUTION_RECORD";
      MessageName2[MessageName2["EXPLAIN_PEER_DEPENDENCIES_CTA"] = 86] = "EXPLAIN_PEER_DEPENDENCIES_CTA";
      MessageName2[MessageName2["MIGRATION_SUCCESS"] = 87] = "MIGRATION_SUCCESS";
      MessageName2[MessageName2["VERSION_NOTICE"] = 88] = "VERSION_NOTICE";
      MessageName2[MessageName2["TIPS_NOTICE"] = 89] = "TIPS_NOTICE";
      MessageName2[MessageName2["OFFLINE_MODE_ENABLED"] = 90] = "OFFLINE_MODE_ENABLED";
    })(MessageName || (exports2.MessageName = MessageName = {}));
    function stringifyMessageName(name) {
      return `YN${name.toString(10).padStart(4, `0`)}`;
    }
    function parseMessageName(messageName) {
      const parsed = Number(messageName.slice(2));
      if (typeof MessageName[parsed] === `undefined`)
        throw new Error(`Unknown message name: "${messageName}"`);
      return parsed;
    }
  }
});

// ../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/grammar.js
var require_grammar = __commonJS({
  "../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/grammar.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { Expression: peg$parseExpression }, peg$startRuleFunction = peg$parseExpression, peg$c0 = "|", peg$c1 = peg$literalExpectation("|", false), peg$c2 = "&", peg$c3 = peg$literalExpectation("&", false), peg$c4 = "^", peg$c5 = peg$literalExpectation("^", false), peg$c6 = function(head, tail) {
        return !!tail.reduce((result2, element) => {
          switch (element[1]) {
            case "|":
              return result2 | element[3];
            case "&":
              return result2 & element[3];
            case "^":
              return result2 ^ element[3];
          }
        }, head);
      }, peg$c7 = "!", peg$c8 = peg$literalExpectation("!", false), peg$c9 = function(term) {
        return !term;
      }, peg$c10 = "(", peg$c11 = peg$literalExpectation("(", false), peg$c12 = ")", peg$c13 = peg$literalExpectation(")", false), peg$c14 = function(expr) {
        return expr;
      }, peg$c15 = /^[^ \t\n\r()!|&\^]/, peg$c16 = peg$classExpectation([" ", "	", "\n", "\r", "(", ")", "!", "|", "&", "^"], true, false), peg$c17 = function(token) {
        return options.queryPattern.test(token);
      }, peg$c18 = function(token) {
        return options.checkFn(token);
      }, peg$c19 = peg$otherExpectation("whitespace"), peg$c20 = /^[ \t\n\r]/, peg$c21 = peg$classExpectation([" ", "	", "\n", "\r"], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseExpression() {
        var s0, s1, s2, s3, s4, s5, s6, s7;
        s0 = peg$currPos;
        s1 = peg$parseTerm();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = peg$parse_();
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 124) {
              s5 = peg$c0;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c1);
              }
            }
            if (s5 === peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 38) {
                s5 = peg$c2;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c3);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 94) {
                  s5 = peg$c4;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c5);
                  }
                }
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = peg$parse_();
              if (s6 !== peg$FAILED) {
                s7 = peg$parseTerm();
                if (s7 !== peg$FAILED) {
                  s4 = [s4, s5, s6, s7];
                  s3 = s4;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = peg$parse_();
            if (s4 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 124) {
                s5 = peg$c0;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c1);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 38) {
                  s5 = peg$c2;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c3);
                  }
                }
                if (s5 === peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 94) {
                    s5 = peg$c4;
                    peg$currPos++;
                  } else {
                    s5 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c5);
                    }
                  }
                }
              }
              if (s5 !== peg$FAILED) {
                s6 = peg$parse_();
                if (s6 !== peg$FAILED) {
                  s7 = peg$parseTerm();
                  if (s7 !== peg$FAILED) {
                    s4 = [s4, s5, s6, s7];
                    s3 = s4;
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c6(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseTerm() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 33) {
          s1 = peg$c7;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c8);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseTerm();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c9(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 40) {
            s1 = peg$c10;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c11);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parse_();
            if (s2 !== peg$FAILED) {
              s3 = peg$parseExpression();
              if (s3 !== peg$FAILED) {
                s4 = peg$parse_();
                if (s4 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 41) {
                    s5 = peg$c12;
                    peg$currPos++;
                  } else {
                    s5 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c13);
                    }
                  }
                  if (s5 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c14(s3);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$parseToken();
          }
        }
        return s0;
      }
      function peg$parseToken() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = peg$parse_();
        if (s1 !== peg$FAILED) {
          s2 = peg$currPos;
          s3 = [];
          if (peg$c15.test(input.charAt(peg$currPos))) {
            s4 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s4 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c16);
            }
          }
          if (s4 !== peg$FAILED) {
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              if (peg$c15.test(input.charAt(peg$currPos))) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c16);
                }
              }
            }
          } else {
            s3 = peg$FAILED;
          }
          if (s3 !== peg$FAILED) {
            s2 = input.substring(s2, peg$currPos);
          } else {
            s2 = s3;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = peg$currPos;
            s3 = peg$c17(s2);
            if (s3) {
              s3 = void 0;
            } else {
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c18(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parse_() {
        var s0, s1;
        peg$silentFails++;
        s0 = [];
        if (peg$c20.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c21);
          }
        }
        while (s1 !== peg$FAILED) {
          s0.push(s1);
          if (peg$c20.test(input.charAt(peg$currPos))) {
            s1 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c21);
            }
          }
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c19);
          }
        }
        return s0;
      }
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/index.js
var require_tinylogic = __commonJS({
  "../node_modules/.pnpm/tinylogic@2.0.0/node_modules/tinylogic/index.js"(exports2) {
    var { parse: parse2 } = require_grammar();
    exports2.makeParser = (queryPattern = /[a-z]+/) => {
      return (str, checkFn) => parse2(str, { queryPattern, checkFn });
    };
    exports2.parse = exports2.makeParser();
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js
var require_listCacheClear = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js"(exports2, module2) {
    function listCacheClear() {
      this.__data__ = [];
      this.size = 0;
    }
    module2.exports = listCacheClear;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js
var require_eq2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js"(exports2, module2) {
    function eq(value, other) {
      return value === other || value !== value && other !== other;
    }
    module2.exports = eq;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js
var require_assocIndexOf = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js"(exports2, module2) {
    var eq = require_eq2();
    function assocIndexOf(array, key) {
      var length = array.length;
      while (length--) {
        if (eq(array[length][0], key)) {
          return length;
        }
      }
      return -1;
    }
    module2.exports = assocIndexOf;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js
var require_listCacheDelete = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js"(exports2, module2) {
    var assocIndexOf = require_assocIndexOf();
    var arrayProto = Array.prototype;
    var splice = arrayProto.splice;
    function listCacheDelete(key) {
      var data = this.__data__, index = assocIndexOf(data, key);
      if (index < 0) {
        return false;
      }
      var lastIndex = data.length - 1;
      if (index == lastIndex) {
        data.pop();
      } else {
        splice.call(data, index, 1);
      }
      --this.size;
      return true;
    }
    module2.exports = listCacheDelete;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js
var require_listCacheGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js"(exports2, module2) {
    var assocIndexOf = require_assocIndexOf();
    function listCacheGet(key) {
      var data = this.__data__, index = assocIndexOf(data, key);
      return index < 0 ? void 0 : data[index][1];
    }
    module2.exports = listCacheGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js
var require_listCacheHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js"(exports2, module2) {
    var assocIndexOf = require_assocIndexOf();
    function listCacheHas(key) {
      return assocIndexOf(this.__data__, key) > -1;
    }
    module2.exports = listCacheHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js
var require_listCacheSet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js"(exports2, module2) {
    var assocIndexOf = require_assocIndexOf();
    function listCacheSet(key, value) {
      var data = this.__data__, index = assocIndexOf(data, key);
      if (index < 0) {
        ++this.size;
        data.push([key, value]);
      } else {
        data[index][1] = value;
      }
      return this;
    }
    module2.exports = listCacheSet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js
var require_ListCache = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js"(exports2, module2) {
    var listCacheClear = require_listCacheClear();
    var listCacheDelete = require_listCacheDelete();
    var listCacheGet = require_listCacheGet();
    var listCacheHas = require_listCacheHas();
    var listCacheSet = require_listCacheSet();
    function ListCache(entries) {
      var index = -1, length = entries == null ? 0 : entries.length;
      this.clear();
      while (++index < length) {
        var entry = entries[index];
        this.set(entry[0], entry[1]);
      }
    }
    ListCache.prototype.clear = listCacheClear;
    ListCache.prototype["delete"] = listCacheDelete;
    ListCache.prototype.get = listCacheGet;
    ListCache.prototype.has = listCacheHas;
    ListCache.prototype.set = listCacheSet;
    module2.exports = ListCache;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js
var require_stackClear = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js"(exports2, module2) {
    var ListCache = require_ListCache();
    function stackClear() {
      this.__data__ = new ListCache();
      this.size = 0;
    }
    module2.exports = stackClear;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js
var require_stackDelete = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js"(exports2, module2) {
    function stackDelete(key) {
      var data = this.__data__, result2 = data["delete"](key);
      this.size = data.size;
      return result2;
    }
    module2.exports = stackDelete;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js
var require_stackGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js"(exports2, module2) {
    function stackGet(key) {
      return this.__data__.get(key);
    }
    module2.exports = stackGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js
var require_stackHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js"(exports2, module2) {
    function stackHas(key) {
      return this.__data__.has(key);
    }
    module2.exports = stackHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js
var require_freeGlobal = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js"(exports2, module2) {
    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
    module2.exports = freeGlobal;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js
var require_root = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js"(exports2, module2) {
    var freeGlobal = require_freeGlobal();
    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
    var root = freeGlobal || freeSelf || Function("return this")();
    module2.exports = root;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js
var require_Symbol = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js"(exports2, module2) {
    var root = require_root();
    var Symbol2 = root.Symbol;
    module2.exports = Symbol2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js
var require_getRawTag = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js"(exports2, module2) {
    var Symbol2 = require_Symbol();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    var nativeObjectToString = objectProto.toString;
    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
    function getRawTag(value) {
      var isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
      try {
        value[symToStringTag] = void 0;
        var unmasked = true;
      } catch (e) {
      }
      var result2 = nativeObjectToString.call(value);
      if (unmasked) {
        if (isOwn) {
          value[symToStringTag] = tag;
        } else {
          delete value[symToStringTag];
        }
      }
      return result2;
    }
    module2.exports = getRawTag;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js
var require_objectToString = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js"(exports2, module2) {
    var objectProto = Object.prototype;
    var nativeObjectToString = objectProto.toString;
    function objectToString(value) {
      return nativeObjectToString.call(value);
    }
    module2.exports = objectToString;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js
var require_baseGetTag = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js"(exports2, module2) {
    var Symbol2 = require_Symbol();
    var getRawTag = require_getRawTag();
    var objectToString = require_objectToString();
    var nullTag = "[object Null]";
    var undefinedTag = "[object Undefined]";
    var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
    function baseGetTag(value) {
      if (value == null) {
        return value === void 0 ? undefinedTag : nullTag;
      }
      return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
    }
    module2.exports = baseGetTag;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js
var require_isObject2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js"(exports2, module2) {
    function isObject(value) {
      var type = typeof value;
      return value != null && (type == "object" || type == "function");
    }
    module2.exports = isObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js
var require_isFunction3 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js"(exports2, module2) {
    var baseGetTag = require_baseGetTag();
    var isObject = require_isObject2();
    var asyncTag = "[object AsyncFunction]";
    var funcTag = "[object Function]";
    var genTag = "[object GeneratorFunction]";
    var proxyTag = "[object Proxy]";
    function isFunction(value) {
      if (!isObject(value)) {
        return false;
      }
      var tag = baseGetTag(value);
      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
    }
    module2.exports = isFunction;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js
var require_coreJsData = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js"(exports2, module2) {
    var root = require_root();
    var coreJsData = root["__core-js_shared__"];
    module2.exports = coreJsData;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js
var require_isMasked = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js"(exports2, module2) {
    var coreJsData = require_coreJsData();
    var maskSrcKey = function() {
      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
      return uid ? "Symbol(src)_1." + uid : "";
    }();
    function isMasked(func) {
      return !!maskSrcKey && maskSrcKey in func;
    }
    module2.exports = isMasked;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js
var require_toSource = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js"(exports2, module2) {
    var funcProto = Function.prototype;
    var funcToString = funcProto.toString;
    function toSource(func) {
      if (func != null) {
        try {
          return funcToString.call(func);
        } catch (e) {
        }
        try {
          return func + "";
        } catch (e) {
        }
      }
      return "";
    }
    module2.exports = toSource;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js
var require_baseIsNative = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js"(exports2, module2) {
    var isFunction = require_isFunction3();
    var isMasked = require_isMasked();
    var isObject = require_isObject2();
    var toSource = require_toSource();
    var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
    var reIsHostCtor = /^\[object .+?Constructor\]$/;
    var funcProto = Function.prototype;
    var objectProto = Object.prototype;
    var funcToString = funcProto.toString;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    var reIsNative = RegExp(
      "^" + funcToString.call(hasOwnProperty2).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
    );
    function baseIsNative(value) {
      if (!isObject(value) || isMasked(value)) {
        return false;
      }
      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
      return pattern.test(toSource(value));
    }
    module2.exports = baseIsNative;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js
var require_getValue = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js"(exports2, module2) {
    function getValue(object, key) {
      return object == null ? void 0 : object[key];
    }
    module2.exports = getValue;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js
var require_getNative = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js"(exports2, module2) {
    var baseIsNative = require_baseIsNative();
    var getValue = require_getValue();
    function getNative(object, key) {
      var value = getValue(object, key);
      return baseIsNative(value) ? value : void 0;
    }
    module2.exports = getNative;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js
var require_Map = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js"(exports2, module2) {
    var getNative = require_getNative();
    var root = require_root();
    var Map2 = getNative(root, "Map");
    module2.exports = Map2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js
var require_nativeCreate = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js"(exports2, module2) {
    var getNative = require_getNative();
    var nativeCreate = getNative(Object, "create");
    module2.exports = nativeCreate;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js
var require_hashClear = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js"(exports2, module2) {
    var nativeCreate = require_nativeCreate();
    function hashClear() {
      this.__data__ = nativeCreate ? nativeCreate(null) : {};
      this.size = 0;
    }
    module2.exports = hashClear;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js
var require_hashDelete = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js"(exports2, module2) {
    function hashDelete(key) {
      var result2 = this.has(key) && delete this.__data__[key];
      this.size -= result2 ? 1 : 0;
      return result2;
    }
    module2.exports = hashDelete;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js
var require_hashGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js"(exports2, module2) {
    var nativeCreate = require_nativeCreate();
    var HASH_UNDEFINED = "__lodash_hash_undefined__";
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function hashGet(key) {
      var data = this.__data__;
      if (nativeCreate) {
        var result2 = data[key];
        return result2 === HASH_UNDEFINED ? void 0 : result2;
      }
      return hasOwnProperty2.call(data, key) ? data[key] : void 0;
    }
    module2.exports = hashGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js
var require_hashHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js"(exports2, module2) {
    var nativeCreate = require_nativeCreate();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function hashHas(key) {
      var data = this.__data__;
      return nativeCreate ? data[key] !== void 0 : hasOwnProperty2.call(data, key);
    }
    module2.exports = hashHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js
var require_hashSet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js"(exports2, module2) {
    var nativeCreate = require_nativeCreate();
    var HASH_UNDEFINED = "__lodash_hash_undefined__";
    function hashSet(key, value) {
      var data = this.__data__;
      this.size += this.has(key) ? 0 : 1;
      data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
      return this;
    }
    module2.exports = hashSet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js
var require_Hash = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js"(exports2, module2) {
    var hashClear = require_hashClear();
    var hashDelete = require_hashDelete();
    var hashGet = require_hashGet();
    var hashHas = require_hashHas();
    var hashSet = require_hashSet();
    function Hash(entries) {
      var index = -1, length = entries == null ? 0 : entries.length;
      this.clear();
      while (++index < length) {
        var entry = entries[index];
        this.set(entry[0], entry[1]);
      }
    }
    Hash.prototype.clear = hashClear;
    Hash.prototype["delete"] = hashDelete;
    Hash.prototype.get = hashGet;
    Hash.prototype.has = hashHas;
    Hash.prototype.set = hashSet;
    module2.exports = Hash;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js
var require_mapCacheClear = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js"(exports2, module2) {
    var Hash = require_Hash();
    var ListCache = require_ListCache();
    var Map2 = require_Map();
    function mapCacheClear() {
      this.size = 0;
      this.__data__ = {
        "hash": new Hash(),
        "map": new (Map2 || ListCache)(),
        "string": new Hash()
      };
    }
    module2.exports = mapCacheClear;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js
var require_isKeyable = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js"(exports2, module2) {
    function isKeyable(value) {
      var type = typeof value;
      return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
    }
    module2.exports = isKeyable;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js
var require_getMapData = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js"(exports2, module2) {
    var isKeyable = require_isKeyable();
    function getMapData(map, key) {
      var data = map.__data__;
      return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
    }
    module2.exports = getMapData;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js
var require_mapCacheDelete = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js"(exports2, module2) {
    var getMapData = require_getMapData();
    function mapCacheDelete(key) {
      var result2 = getMapData(this, key)["delete"](key);
      this.size -= result2 ? 1 : 0;
      return result2;
    }
    module2.exports = mapCacheDelete;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js
var require_mapCacheGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js"(exports2, module2) {
    var getMapData = require_getMapData();
    function mapCacheGet(key) {
      return getMapData(this, key).get(key);
    }
    module2.exports = mapCacheGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js
var require_mapCacheHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js"(exports2, module2) {
    var getMapData = require_getMapData();
    function mapCacheHas(key) {
      return getMapData(this, key).has(key);
    }
    module2.exports = mapCacheHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js
var require_mapCacheSet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js"(exports2, module2) {
    var getMapData = require_getMapData();
    function mapCacheSet(key, value) {
      var data = getMapData(this, key), size = data.size;
      data.set(key, value);
      this.size += data.size == size ? 0 : 1;
      return this;
    }
    module2.exports = mapCacheSet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js
var require_MapCache = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js"(exports2, module2) {
    var mapCacheClear = require_mapCacheClear();
    var mapCacheDelete = require_mapCacheDelete();
    var mapCacheGet = require_mapCacheGet();
    var mapCacheHas = require_mapCacheHas();
    var mapCacheSet = require_mapCacheSet();
    function MapCache(entries) {
      var index = -1, length = entries == null ? 0 : entries.length;
      this.clear();
      while (++index < length) {
        var entry = entries[index];
        this.set(entry[0], entry[1]);
      }
    }
    MapCache.prototype.clear = mapCacheClear;
    MapCache.prototype["delete"] = mapCacheDelete;
    MapCache.prototype.get = mapCacheGet;
    MapCache.prototype.has = mapCacheHas;
    MapCache.prototype.set = mapCacheSet;
    module2.exports = MapCache;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js
var require_stackSet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js"(exports2, module2) {
    var ListCache = require_ListCache();
    var Map2 = require_Map();
    var MapCache = require_MapCache();
    var LARGE_ARRAY_SIZE = 200;
    function stackSet(key, value) {
      var data = this.__data__;
      if (data instanceof ListCache) {
        var pairs = data.__data__;
        if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
          pairs.push([key, value]);
          this.size = ++data.size;
          return this;
        }
        data = this.__data__ = new MapCache(pairs);
      }
      data.set(key, value);
      this.size = data.size;
      return this;
    }
    module2.exports = stackSet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js
var require_Stack = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js"(exports2, module2) {
    var ListCache = require_ListCache();
    var stackClear = require_stackClear();
    var stackDelete = require_stackDelete();
    var stackGet = require_stackGet();
    var stackHas = require_stackHas();
    var stackSet = require_stackSet();
    function Stack(entries) {
      var data = this.__data__ = new ListCache(entries);
      this.size = data.size;
    }
    Stack.prototype.clear = stackClear;
    Stack.prototype["delete"] = stackDelete;
    Stack.prototype.get = stackGet;
    Stack.prototype.has = stackHas;
    Stack.prototype.set = stackSet;
    module2.exports = Stack;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js
var require_setCacheAdd = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheAdd.js"(exports2, module2) {
    var HASH_UNDEFINED = "__lodash_hash_undefined__";
    function setCacheAdd(value) {
      this.__data__.set(value, HASH_UNDEFINED);
      return this;
    }
    module2.exports = setCacheAdd;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js
var require_setCacheHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setCacheHas.js"(exports2, module2) {
    function setCacheHas(value) {
      return this.__data__.has(value);
    }
    module2.exports = setCacheHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js
var require_SetCache = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_SetCache.js"(exports2, module2) {
    var MapCache = require_MapCache();
    var setCacheAdd = require_setCacheAdd();
    var setCacheHas = require_setCacheHas();
    function SetCache(values) {
      var index = -1, length = values == null ? 0 : values.length;
      this.__data__ = new MapCache();
      while (++index < length) {
        this.add(values[index]);
      }
    }
    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
    SetCache.prototype.has = setCacheHas;
    module2.exports = SetCache;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js
var require_arraySome = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arraySome.js"(exports2, module2) {
    function arraySome(array, predicate) {
      var index = -1, length = array == null ? 0 : array.length;
      while (++index < length) {
        if (predicate(array[index], index, array)) {
          return true;
        }
      }
      return false;
    }
    module2.exports = arraySome;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js
var require_cacheHas = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cacheHas.js"(exports2, module2) {
    function cacheHas(cache, key) {
      return cache.has(key);
    }
    module2.exports = cacheHas;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js
var require_equalArrays = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalArrays.js"(exports2, module2) {
    var SetCache = require_SetCache();
    var arraySome = require_arraySome();
    var cacheHas = require_cacheHas();
    var COMPARE_PARTIAL_FLAG = 1;
    var COMPARE_UNORDERED_FLAG = 2;
    function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
      var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
      if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
        return false;
      }
      var arrStacked = stack.get(array);
      var othStacked = stack.get(other);
      if (arrStacked && othStacked) {
        return arrStacked == other && othStacked == array;
      }
      var index = -1, result2 = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
      stack.set(array, other);
      stack.set(other, array);
      while (++index < arrLength) {
        var arrValue = array[index], othValue = other[index];
        if (customizer) {
          var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
        }
        if (compared !== void 0) {
          if (compared) {
            continue;
          }
          result2 = false;
          break;
        }
        if (seen) {
          if (!arraySome(other, function(othValue2, othIndex) {
            if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
              return seen.push(othIndex);
            }
          })) {
            result2 = false;
            break;
          }
        } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
          result2 = false;
          break;
        }
      }
      stack["delete"](array);
      stack["delete"](other);
      return result2;
    }
    module2.exports = equalArrays;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js
var require_Uint8Array = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js"(exports2, module2) {
    var root = require_root();
    var Uint8Array2 = root.Uint8Array;
    module2.exports = Uint8Array2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js
var require_mapToArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapToArray.js"(exports2, module2) {
    function mapToArray(map) {
      var index = -1, result2 = Array(map.size);
      map.forEach(function(value, key) {
        result2[++index] = [key, value];
      });
      return result2;
    }
    module2.exports = mapToArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js
var require_setToArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToArray.js"(exports2, module2) {
    function setToArray(set) {
      var index = -1, result2 = Array(set.size);
      set.forEach(function(value) {
        result2[++index] = value;
      });
      return result2;
    }
    module2.exports = setToArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js
var require_equalByTag = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalByTag.js"(exports2, module2) {
    var Symbol2 = require_Symbol();
    var Uint8Array2 = require_Uint8Array();
    var eq = require_eq2();
    var equalArrays = require_equalArrays();
    var mapToArray = require_mapToArray();
    var setToArray = require_setToArray();
    var COMPARE_PARTIAL_FLAG = 1;
    var COMPARE_UNORDERED_FLAG = 2;
    var boolTag = "[object Boolean]";
    var dateTag = "[object Date]";
    var errorTag = "[object Error]";
    var mapTag = "[object Map]";
    var numberTag = "[object Number]";
    var regexpTag = "[object RegExp]";
    var setTag = "[object Set]";
    var stringTag = "[object String]";
    var symbolTag = "[object Symbol]";
    var arrayBufferTag = "[object ArrayBuffer]";
    var dataViewTag = "[object DataView]";
    var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
    var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
    function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
      switch (tag) {
        case dataViewTag:
          if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
            return false;
          }
          object = object.buffer;
          other = other.buffer;
        case arrayBufferTag:
          if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
            return false;
          }
          return true;
        case boolTag:
        case dateTag:
        case numberTag:
          return eq(+object, +other);
        case errorTag:
          return object.name == other.name && object.message == other.message;
        case regexpTag:
        case stringTag:
          return object == other + "";
        case mapTag:
          var convert = mapToArray;
        case setTag:
          var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
          convert || (convert = setToArray);
          if (object.size != other.size && !isPartial) {
            return false;
          }
          var stacked = stack.get(object);
          if (stacked) {
            return stacked == other;
          }
          bitmask |= COMPARE_UNORDERED_FLAG;
          stack.set(object, other);
          var result2 = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
          stack["delete"](object);
          return result2;
        case symbolTag:
          if (symbolValueOf) {
            return symbolValueOf.call(object) == symbolValueOf.call(other);
          }
      }
      return false;
    }
    module2.exports = equalByTag;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayPush.js
var require_arrayPush = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayPush.js"(exports2, module2) {
    function arrayPush(array, values) {
      var index = -1, length = values.length, offset = array.length;
      while (++index < length) {
        array[offset + index] = values[index];
      }
      return array;
    }
    module2.exports = arrayPush;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js
var require_isArray2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js"(exports2, module2) {
    var isArray = Array.isArray;
    module2.exports = isArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetAllKeys.js
var require_baseGetAllKeys = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetAllKeys.js"(exports2, module2) {
    var arrayPush = require_arrayPush();
    var isArray = require_isArray2();
    function baseGetAllKeys(object, keysFunc, symbolsFunc) {
      var result2 = keysFunc(object);
      return isArray(object) ? result2 : arrayPush(result2, symbolsFunc(object));
    }
    module2.exports = baseGetAllKeys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayFilter.js
var require_arrayFilter = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayFilter.js"(exports2, module2) {
    function arrayFilter(array, predicate) {
      var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result2 = [];
      while (++index < length) {
        var value = array[index];
        if (predicate(value, index, array)) {
          result2[resIndex++] = value;
        }
      }
      return result2;
    }
    module2.exports = arrayFilter;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubArray.js
var require_stubArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubArray.js"(exports2, module2) {
    function stubArray() {
      return [];
    }
    module2.exports = stubArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbols.js
var require_getSymbols = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getSymbols.js"(exports2, module2) {
    var arrayFilter = require_arrayFilter();
    var stubArray = require_stubArray();
    var objectProto = Object.prototype;
    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
    var nativeGetSymbols = Object.getOwnPropertySymbols;
    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
      if (object == null) {
        return [];
      }
      object = Object(object);
      return arrayFilter(nativeGetSymbols(object), function(symbol) {
        return propertyIsEnumerable.call(object, symbol);
      });
    };
    module2.exports = getSymbols;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js
var require_baseTimes = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js"(exports2, module2) {
    function baseTimes(n, iteratee) {
      var index = -1, result2 = Array(n);
      while (++index < n) {
        result2[index] = iteratee(index);
      }
      return result2;
    }
    module2.exports = baseTimes;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js
var require_isObjectLike = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js"(exports2, module2) {
    function isObjectLike(value) {
      return value != null && typeof value == "object";
    }
    module2.exports = isObjectLike;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js
var require_baseIsArguments = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js"(exports2, module2) {
    var baseGetTag = require_baseGetTag();
    var isObjectLike = require_isObjectLike();
    var argsTag = "[object Arguments]";
    function baseIsArguments(value) {
      return isObjectLike(value) && baseGetTag(value) == argsTag;
    }
    module2.exports = baseIsArguments;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js
var require_isArguments2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js"(exports2, module2) {
    var baseIsArguments = require_baseIsArguments();
    var isObjectLike = require_isObjectLike();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    var propertyIsEnumerable = objectProto.propertyIsEnumerable;
    var isArguments = baseIsArguments(/* @__PURE__ */ function() {
      return arguments;
    }()) ? baseIsArguments : function(value) {
      return isObjectLike(value) && hasOwnProperty2.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
    };
    module2.exports = isArguments;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js
var require_stubFalse = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js"(exports2, module2) {
    function stubFalse() {
      return false;
    }
    module2.exports = stubFalse;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js
var require_isBuffer = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js"(exports2, module2) {
    var root = require_root();
    var stubFalse = require_stubFalse();
    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var Buffer2 = moduleExports ? root.Buffer : void 0;
    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
    var isBuffer = nativeIsBuffer || stubFalse;
    module2.exports = isBuffer;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js
var require_isIndex = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js"(exports2, module2) {
    var MAX_SAFE_INTEGER = 9007199254740991;
    var reIsUint = /^(?:0|[1-9]\d*)$/;
    function isIndex(value, length) {
      var type = typeof value;
      length = length == null ? MAX_SAFE_INTEGER : length;
      return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
    }
    module2.exports = isIndex;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js
var require_isLength = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js"(exports2, module2) {
    var MAX_SAFE_INTEGER = 9007199254740991;
    function isLength(value) {
      return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
    }
    module2.exports = isLength;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js
var require_baseIsTypedArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js"(exports2, module2) {
    var baseGetTag = require_baseGetTag();
    var isLength = require_isLength();
    var isObjectLike = require_isObjectLike();
    var argsTag = "[object Arguments]";
    var arrayTag = "[object Array]";
    var boolTag = "[object Boolean]";
    var dateTag = "[object Date]";
    var errorTag = "[object Error]";
    var funcTag = "[object Function]";
    var mapTag = "[object Map]";
    var numberTag = "[object Number]";
    var objectTag = "[object Object]";
    var regexpTag = "[object RegExp]";
    var setTag = "[object Set]";
    var stringTag = "[object String]";
    var weakMapTag = "[object WeakMap]";
    var arrayBufferTag = "[object ArrayBuffer]";
    var dataViewTag = "[object DataView]";
    var float32Tag = "[object Float32Array]";
    var float64Tag = "[object Float64Array]";
    var int8Tag = "[object Int8Array]";
    var int16Tag = "[object Int16Array]";
    var int32Tag = "[object Int32Array]";
    var uint8Tag = "[object Uint8Array]";
    var uint8ClampedTag = "[object Uint8ClampedArray]";
    var uint16Tag = "[object Uint16Array]";
    var uint32Tag = "[object Uint32Array]";
    var typedArrayTags = {};
    typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
    typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
    function baseIsTypedArray(value) {
      return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
    }
    module2.exports = baseIsTypedArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js
var require_baseUnary = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js"(exports2, module2) {
    function baseUnary(func) {
      return function(value) {
        return func(value);
      };
    }
    module2.exports = baseUnary;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js
var require_nodeUtil = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js"(exports2, module2) {
    var freeGlobal = require_freeGlobal();
    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var freeProcess = moduleExports && freeGlobal.process;
    var nodeUtil = function() {
      try {
        var types = freeModule && freeModule.require && freeModule.require("util").types;
        if (types) {
          return types;
        }
        return freeProcess && freeProcess.binding && freeProcess.binding("util");
      } catch (e) {
      }
    }();
    module2.exports = nodeUtil;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js
var require_isTypedArray2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js"(exports2, module2) {
    var baseIsTypedArray = require_baseIsTypedArray();
    var baseUnary = require_baseUnary();
    var nodeUtil = require_nodeUtil();
    var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
    module2.exports = isTypedArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js
var require_arrayLikeKeys = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js"(exports2, module2) {
    var baseTimes = require_baseTimes();
    var isArguments = require_isArguments2();
    var isArray = require_isArray2();
    var isBuffer = require_isBuffer();
    var isIndex = require_isIndex();
    var isTypedArray = require_isTypedArray2();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function arrayLikeKeys(value, inherited) {
      var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result2 = skipIndexes ? baseTimes(value.length, String) : [], length = result2.length;
      for (var key in value) {
        if ((inherited || hasOwnProperty2.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
        (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
        isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
        isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
        isIndex(key, length)))) {
          result2.push(key);
        }
      }
      return result2;
    }
    module2.exports = arrayLikeKeys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js
var require_isPrototype = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js"(exports2, module2) {
    var objectProto = Object.prototype;
    function isPrototype(value) {
      var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
      return value === proto;
    }
    module2.exports = isPrototype;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js
var require_overArg = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js"(exports2, module2) {
    function overArg(func, transform) {
      return function(arg) {
        return func(transform(arg));
      };
    }
    module2.exports = overArg;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeys.js
var require_nativeKeys = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeys.js"(exports2, module2) {
    var overArg = require_overArg();
    var nativeKeys = overArg(Object.keys, Object);
    module2.exports = nativeKeys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeys.js
var require_baseKeys = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeys.js"(exports2, module2) {
    var isPrototype = require_isPrototype();
    var nativeKeys = require_nativeKeys();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function baseKeys(object) {
      if (!isPrototype(object)) {
        return nativeKeys(object);
      }
      var result2 = [];
      for (var key in Object(object)) {
        if (hasOwnProperty2.call(object, key) && key != "constructor") {
          result2.push(key);
        }
      }
      return result2;
    }
    module2.exports = baseKeys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js
var require_isArrayLike3 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js"(exports2, module2) {
    var isFunction = require_isFunction3();
    var isLength = require_isLength();
    function isArrayLike(value) {
      return value != null && isLength(value.length) && !isFunction(value);
    }
    module2.exports = isArrayLike;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keys.js
var require_keys2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keys.js"(exports2, module2) {
    var arrayLikeKeys = require_arrayLikeKeys();
    var baseKeys = require_baseKeys();
    var isArrayLike = require_isArrayLike3();
    function keys(object) {
      return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
    }
    module2.exports = keys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeys.js
var require_getAllKeys = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getAllKeys.js"(exports2, module2) {
    var baseGetAllKeys = require_baseGetAllKeys();
    var getSymbols = require_getSymbols();
    var keys = require_keys2();
    function getAllKeys(object) {
      return baseGetAllKeys(object, keys, getSymbols);
    }
    module2.exports = getAllKeys;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js
var require_equalObjects = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_equalObjects.js"(exports2, module2) {
    var getAllKeys = require_getAllKeys();
    var COMPARE_PARTIAL_FLAG = 1;
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
      var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
      if (objLength != othLength && !isPartial) {
        return false;
      }
      var index = objLength;
      while (index--) {
        var key = objProps[index];
        if (!(isPartial ? key in other : hasOwnProperty2.call(other, key))) {
          return false;
        }
      }
      var objStacked = stack.get(object);
      var othStacked = stack.get(other);
      if (objStacked && othStacked) {
        return objStacked == other && othStacked == object;
      }
      var result2 = true;
      stack.set(object, other);
      stack.set(other, object);
      var skipCtor = isPartial;
      while (++index < objLength) {
        key = objProps[index];
        var objValue = object[key], othValue = other[key];
        if (customizer) {
          var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
        }
        if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
          result2 = false;
          break;
        }
        skipCtor || (skipCtor = key == "constructor");
      }
      if (result2 && !skipCtor) {
        var objCtor = object.constructor, othCtor = other.constructor;
        if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
          result2 = false;
        }
      }
      stack["delete"](object);
      stack["delete"](other);
      return result2;
    }
    module2.exports = equalObjects;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_DataView.js
var require_DataView = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_DataView.js"(exports2, module2) {
    var getNative = require_getNative();
    var root = require_root();
    var DataView2 = getNative(root, "DataView");
    module2.exports = DataView2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Promise.js
var require_Promise = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Promise.js"(exports2, module2) {
    var getNative = require_getNative();
    var root = require_root();
    var Promise2 = getNative(root, "Promise");
    module2.exports = Promise2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Set.js
var require_Set2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Set.js"(exports2, module2) {
    var getNative = require_getNative();
    var root = require_root();
    var Set2 = getNative(root, "Set");
    module2.exports = Set2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_WeakMap.js
var require_WeakMap = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_WeakMap.js"(exports2, module2) {
    var getNative = require_getNative();
    var root = require_root();
    var WeakMap2 = getNative(root, "WeakMap");
    module2.exports = WeakMap2;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getTag.js
var require_getTag = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getTag.js"(exports2, module2) {
    var DataView2 = require_DataView();
    var Map2 = require_Map();
    var Promise2 = require_Promise();
    var Set2 = require_Set2();
    var WeakMap2 = require_WeakMap();
    var baseGetTag = require_baseGetTag();
    var toSource = require_toSource();
    var mapTag = "[object Map]";
    var objectTag = "[object Object]";
    var promiseTag = "[object Promise]";
    var setTag = "[object Set]";
    var weakMapTag = "[object WeakMap]";
    var dataViewTag = "[object DataView]";
    var dataViewCtorString = toSource(DataView2);
    var mapCtorString = toSource(Map2);
    var promiseCtorString = toSource(Promise2);
    var setCtorString = toSource(Set2);
    var weakMapCtorString = toSource(WeakMap2);
    var getTag = baseGetTag;
    if (DataView2 && getTag(new DataView2(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
      getTag = function(value) {
        var result2 = baseGetTag(value), Ctor = result2 == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
        if (ctorString) {
          switch (ctorString) {
            case dataViewCtorString:
              return dataViewTag;
            case mapCtorString:
              return mapTag;
            case promiseCtorString:
              return promiseTag;
            case setCtorString:
              return setTag;
            case weakMapCtorString:
              return weakMapTag;
          }
        }
        return result2;
      };
    }
    module2.exports = getTag;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js
var require_baseIsEqualDeep = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqualDeep.js"(exports2, module2) {
    var Stack = require_Stack();
    var equalArrays = require_equalArrays();
    var equalByTag = require_equalByTag();
    var equalObjects = require_equalObjects();
    var getTag = require_getTag();
    var isArray = require_isArray2();
    var isBuffer = require_isBuffer();
    var isTypedArray = require_isTypedArray2();
    var COMPARE_PARTIAL_FLAG = 1;
    var argsTag = "[object Arguments]";
    var arrayTag = "[object Array]";
    var objectTag = "[object Object]";
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
      var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
      objTag = objTag == argsTag ? objectTag : objTag;
      othTag = othTag == argsTag ? objectTag : othTag;
      var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
      if (isSameTag && isBuffer(object)) {
        if (!isBuffer(other)) {
          return false;
        }
        objIsArr = true;
        objIsObj = false;
      }
      if (isSameTag && !objIsObj) {
        stack || (stack = new Stack());
        return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
      }
      if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
        var objIsWrapped = objIsObj && hasOwnProperty2.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty2.call(other, "__wrapped__");
        if (objIsWrapped || othIsWrapped) {
          var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
          stack || (stack = new Stack());
          return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
        }
      }
      if (!isSameTag) {
        return false;
      }
      stack || (stack = new Stack());
      return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
    }
    module2.exports = baseIsEqualDeep;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js
var require_baseIsEqual = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsEqual.js"(exports2, module2) {
    var baseIsEqualDeep = require_baseIsEqualDeep();
    var isObjectLike = require_isObjectLike();
    function baseIsEqual(value, other, bitmask, customizer, stack) {
      if (value === other) {
        return true;
      }
      if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
        return value !== value && other !== other;
      }
      return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
    }
    module2.exports = baseIsEqual;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js
var require_isEqual = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isEqual.js"(exports2, module2) {
    var baseIsEqual = require_baseIsEqual();
    function isEqual(value, other) {
      return baseIsEqual(value, other);
    }
    module2.exports = isEqual;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js
var require_defineProperty = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js"(exports2, module2) {
    var getNative = require_getNative();
    var defineProperty = function() {
      try {
        var func = getNative(Object, "defineProperty");
        func({}, "", {});
        return func;
      } catch (e) {
      }
    }();
    module2.exports = defineProperty;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js
var require_baseAssignValue = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js"(exports2, module2) {
    var defineProperty = require_defineProperty();
    function baseAssignValue(object, key, value) {
      if (key == "__proto__" && defineProperty) {
        defineProperty(object, key, {
          "configurable": true,
          "enumerable": true,
          "value": value,
          "writable": true
        });
      } else {
        object[key] = value;
      }
    }
    module2.exports = baseAssignValue;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js
var require_assignMergeValue = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js"(exports2, module2) {
    var baseAssignValue = require_baseAssignValue();
    var eq = require_eq2();
    function assignMergeValue(object, key, value) {
      if (value !== void 0 && !eq(object[key], value) || value === void 0 && !(key in object)) {
        baseAssignValue(object, key, value);
      }
    }
    module2.exports = assignMergeValue;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js
var require_createBaseFor = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js"(exports2, module2) {
    function createBaseFor(fromRight) {
      return function(object, iteratee, keysFunc) {
        var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
        while (length--) {
          var key = props[fromRight ? length : ++index];
          if (iteratee(iterable[key], key, iterable) === false) {
            break;
          }
        }
        return object;
      };
    }
    module2.exports = createBaseFor;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js
var require_baseFor = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js"(exports2, module2) {
    var createBaseFor = require_createBaseFor();
    var baseFor = createBaseFor();
    module2.exports = baseFor;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js
var require_cloneBuffer = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js"(exports2, module2) {
    var root = require_root();
    var freeExports = typeof exports2 == "object" && exports2 && !exports2.nodeType && exports2;
    var freeModule = freeExports && typeof module2 == "object" && module2 && !module2.nodeType && module2;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var Buffer2 = moduleExports ? root.Buffer : void 0;
    var allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0;
    function cloneBuffer(buffer, isDeep) {
      if (isDeep) {
        return buffer.slice();
      }
      var length = buffer.length, result2 = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
      buffer.copy(result2);
      return result2;
    }
    module2.exports = cloneBuffer;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js
var require_cloneArrayBuffer = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js"(exports2, module2) {
    var Uint8Array2 = require_Uint8Array();
    function cloneArrayBuffer(arrayBuffer) {
      var result2 = new arrayBuffer.constructor(arrayBuffer.byteLength);
      new Uint8Array2(result2).set(new Uint8Array2(arrayBuffer));
      return result2;
    }
    module2.exports = cloneArrayBuffer;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js
var require_cloneTypedArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js"(exports2, module2) {
    var cloneArrayBuffer = require_cloneArrayBuffer();
    function cloneTypedArray(typedArray, isDeep) {
      var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;
      return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
    }
    module2.exports = cloneTypedArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js
var require_copyArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js"(exports2, module2) {
    function copyArray(source, array) {
      var index = -1, length = source.length;
      array || (array = Array(length));
      while (++index < length) {
        array[index] = source[index];
      }
      return array;
    }
    module2.exports = copyArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js
var require_baseCreate = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js"(exports2, module2) {
    var isObject = require_isObject2();
    var objectCreate = Object.create;
    var baseCreate = /* @__PURE__ */ function() {
      function object() {
      }
      return function(proto) {
        if (!isObject(proto)) {
          return {};
        }
        if (objectCreate) {
          return objectCreate(proto);
        }
        object.prototype = proto;
        var result2 = new object();
        object.prototype = void 0;
        return result2;
      };
    }();
    module2.exports = baseCreate;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js
var require_getPrototype = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js"(exports2, module2) {
    var overArg = require_overArg();
    var getPrototype = overArg(Object.getPrototypeOf, Object);
    module2.exports = getPrototype;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js
var require_initCloneObject = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js"(exports2, module2) {
    var baseCreate = require_baseCreate();
    var getPrototype = require_getPrototype();
    var isPrototype = require_isPrototype();
    function initCloneObject(object) {
      return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {};
    }
    module2.exports = initCloneObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js
var require_isArrayLikeObject = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js"(exports2, module2) {
    var isArrayLike = require_isArrayLike3();
    var isObjectLike = require_isObjectLike();
    function isArrayLikeObject(value) {
      return isObjectLike(value) && isArrayLike(value);
    }
    module2.exports = isArrayLikeObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js
var require_isPlainObject = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js"(exports2, module2) {
    var baseGetTag = require_baseGetTag();
    var getPrototype = require_getPrototype();
    var isObjectLike = require_isObjectLike();
    var objectTag = "[object Object]";
    var funcProto = Function.prototype;
    var objectProto = Object.prototype;
    var funcToString = funcProto.toString;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    var objectCtorString = funcToString.call(Object);
    function isPlainObject(value) {
      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
        return false;
      }
      var proto = getPrototype(value);
      if (proto === null) {
        return true;
      }
      var Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor;
      return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
    }
    module2.exports = isPlainObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js
var require_safeGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js"(exports2, module2) {
    function safeGet(object, key) {
      if (key === "constructor" && typeof object[key] === "function") {
        return;
      }
      if (key == "__proto__") {
        return;
      }
      return object[key];
    }
    module2.exports = safeGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js
var require_assignValue = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js"(exports2, module2) {
    var baseAssignValue = require_baseAssignValue();
    var eq = require_eq2();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function assignValue(object, key, value) {
      var objValue = object[key];
      if (!(hasOwnProperty2.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
        baseAssignValue(object, key, value);
      }
    }
    module2.exports = assignValue;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js
var require_copyObject = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js"(exports2, module2) {
    var assignValue = require_assignValue();
    var baseAssignValue = require_baseAssignValue();
    function copyObject(source, props, object, customizer) {
      var isNew = !object;
      object || (object = {});
      var index = -1, length = props.length;
      while (++index < length) {
        var key = props[index];
        var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0;
        if (newValue === void 0) {
          newValue = source[key];
        }
        if (isNew) {
          baseAssignValue(object, key, newValue);
        } else {
          assignValue(object, key, newValue);
        }
      }
      return object;
    }
    module2.exports = copyObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js
var require_nativeKeysIn = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js"(exports2, module2) {
    function nativeKeysIn(object) {
      var result2 = [];
      if (object != null) {
        for (var key in Object(object)) {
          result2.push(key);
        }
      }
      return result2;
    }
    module2.exports = nativeKeysIn;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js
var require_baseKeysIn = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js"(exports2, module2) {
    var isObject = require_isObject2();
    var isPrototype = require_isPrototype();
    var nativeKeysIn = require_nativeKeysIn();
    var objectProto = Object.prototype;
    var hasOwnProperty2 = objectProto.hasOwnProperty;
    function baseKeysIn(object) {
      if (!isObject(object)) {
        return nativeKeysIn(object);
      }
      var isProto = isPrototype(object), result2 = [];
      for (var key in object) {
        if (!(key == "constructor" && (isProto || !hasOwnProperty2.call(object, key)))) {
          result2.push(key);
        }
      }
      return result2;
    }
    module2.exports = baseKeysIn;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js
var require_keysIn2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js"(exports2, module2) {
    var arrayLikeKeys = require_arrayLikeKeys();
    var baseKeysIn = require_baseKeysIn();
    var isArrayLike = require_isArrayLike3();
    function keysIn(object) {
      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
    }
    module2.exports = keysIn;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js
var require_toPlainObject = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js"(exports2, module2) {
    var copyObject = require_copyObject();
    var keysIn = require_keysIn2();
    function toPlainObject(value) {
      return copyObject(value, keysIn(value));
    }
    module2.exports = toPlainObject;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js
var require_baseMergeDeep = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js"(exports2, module2) {
    var assignMergeValue = require_assignMergeValue();
    var cloneBuffer = require_cloneBuffer();
    var cloneTypedArray = require_cloneTypedArray();
    var copyArray = require_copyArray();
    var initCloneObject = require_initCloneObject();
    var isArguments = require_isArguments2();
    var isArray = require_isArray2();
    var isArrayLikeObject = require_isArrayLikeObject();
    var isBuffer = require_isBuffer();
    var isFunction = require_isFunction3();
    var isObject = require_isObject2();
    var isPlainObject = require_isPlainObject();
    var isTypedArray = require_isTypedArray2();
    var safeGet = require_safeGet();
    var toPlainObject = require_toPlainObject();
    function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {
      var objValue = safeGet(object, key), srcValue = safeGet(source, key), stacked = stack.get(srcValue);
      if (stacked) {
        assignMergeValue(object, key, stacked);
        return;
      }
      var newValue = customizer ? customizer(objValue, srcValue, key + "", object, source, stack) : void 0;
      var isCommon = newValue === void 0;
      if (isCommon) {
        var isArr = isArray(srcValue), isBuff = !isArr && isBuffer(srcValue), isTyped = !isArr && !isBuff && isTypedArray(srcValue);
        newValue = srcValue;
        if (isArr || isBuff || isTyped) {
          if (isArray(objValue)) {
            newValue = objValue;
          } else if (isArrayLikeObject(objValue)) {
            newValue = copyArray(objValue);
          } else if (isBuff) {
            isCommon = false;
            newValue = cloneBuffer(srcValue, true);
          } else if (isTyped) {
            isCommon = false;
            newValue = cloneTypedArray(srcValue, true);
          } else {
            newValue = [];
          }
        } else if (isPlainObject(srcValue) || isArguments(srcValue)) {
          newValue = objValue;
          if (isArguments(objValue)) {
            newValue = toPlainObject(objValue);
          } else if (!isObject(objValue) || isFunction(objValue)) {
            newValue = initCloneObject(srcValue);
          }
        } else {
          isCommon = false;
        }
      }
      if (isCommon) {
        stack.set(srcValue, newValue);
        mergeFunc(newValue, srcValue, srcIndex, customizer, stack);
        stack["delete"](srcValue);
      }
      assignMergeValue(object, key, newValue);
    }
    module2.exports = baseMergeDeep;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js
var require_baseMerge = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js"(exports2, module2) {
    var Stack = require_Stack();
    var assignMergeValue = require_assignMergeValue();
    var baseFor = require_baseFor();
    var baseMergeDeep = require_baseMergeDeep();
    var isObject = require_isObject2();
    var keysIn = require_keysIn2();
    var safeGet = require_safeGet();
    function baseMerge(object, source, srcIndex, customizer, stack) {
      if (object === source) {
        return;
      }
      baseFor(source, function(srcValue, key) {
        stack || (stack = new Stack());
        if (isObject(srcValue)) {
          baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);
        } else {
          var newValue = customizer ? customizer(safeGet(object, key), srcValue, key + "", object, source, stack) : void 0;
          if (newValue === void 0) {
            newValue = srcValue;
          }
          assignMergeValue(object, key, newValue);
        }
      }, keysIn);
    }
    module2.exports = baseMerge;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js
var require_identity4 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js"(exports2, module2) {
    function identity(value) {
      return value;
    }
    module2.exports = identity;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js
var require_apply3 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js"(exports2, module2) {
    function apply(func, thisArg, args) {
      switch (args.length) {
        case 0:
          return func.call(thisArg);
        case 1:
          return func.call(thisArg, args[0]);
        case 2:
          return func.call(thisArg, args[0], args[1]);
        case 3:
          return func.call(thisArg, args[0], args[1], args[2]);
      }
      return func.apply(thisArg, args);
    }
    module2.exports = apply;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js
var require_overRest = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js"(exports2, module2) {
    var apply = require_apply3();
    var nativeMax = Math.max;
    function overRest(func, start, transform) {
      start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
      return function() {
        var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
        while (++index < length) {
          array[index] = args[start + index];
        }
        index = -1;
        var otherArgs = Array(start + 1);
        while (++index < start) {
          otherArgs[index] = args[index];
        }
        otherArgs[start] = transform(array);
        return apply(func, this, otherArgs);
      };
    }
    module2.exports = overRest;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js
var require_constant = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js"(exports2, module2) {
    function constant(value) {
      return function() {
        return value;
      };
    }
    module2.exports = constant;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js
var require_baseSetToString = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js"(exports2, module2) {
    var constant = require_constant();
    var defineProperty = require_defineProperty();
    var identity = require_identity4();
    var baseSetToString = !defineProperty ? identity : function(func, string) {
      return defineProperty(func, "toString", {
        "configurable": true,
        "enumerable": false,
        "value": constant(string),
        "writable": true
      });
    };
    module2.exports = baseSetToString;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js
var require_shortOut = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js"(exports2, module2) {
    var HOT_COUNT = 800;
    var HOT_SPAN = 16;
    var nativeNow = Date.now;
    function shortOut(func) {
      var count = 0, lastCalled = 0;
      return function() {
        var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
        lastCalled = stamp;
        if (remaining > 0) {
          if (++count >= HOT_COUNT) {
            return arguments[0];
          }
        } else {
          count = 0;
        }
        return func.apply(void 0, arguments);
      };
    }
    module2.exports = shortOut;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js
var require_setToString = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js"(exports2, module2) {
    var baseSetToString = require_baseSetToString();
    var shortOut = require_shortOut();
    var setToString = shortOut(baseSetToString);
    module2.exports = setToString;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js
var require_baseRest = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js"(exports2, module2) {
    var identity = require_identity4();
    var overRest = require_overRest();
    var setToString = require_setToString();
    function baseRest(func, start) {
      return setToString(overRest(func, start, identity), func + "");
    }
    module2.exports = baseRest;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js
var require_isIterateeCall = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js"(exports2, module2) {
    var eq = require_eq2();
    var isArrayLike = require_isArrayLike3();
    var isIndex = require_isIndex();
    var isObject = require_isObject2();
    function isIterateeCall(value, index, object) {
      if (!isObject(object)) {
        return false;
      }
      var type = typeof index;
      if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) {
        return eq(object[index], value);
      }
      return false;
    }
    module2.exports = isIterateeCall;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js
var require_createAssigner = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js"(exports2, module2) {
    var baseRest = require_baseRest();
    var isIterateeCall = require_isIterateeCall();
    function createAssigner(assigner) {
      return baseRest(function(object, sources) {
        var index = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
        customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
        if (guard && isIterateeCall(sources[0], sources[1], guard)) {
          customizer = length < 3 ? void 0 : customizer;
          length = 1;
        }
        object = Object(object);
        while (++index < length) {
          var source = sources[index];
          if (source) {
            assigner(object, source, index, customizer);
          }
        }
        return object;
      });
    }
    module2.exports = createAssigner;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/mergeWith.js
var require_mergeWith3 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/mergeWith.js"(exports2, module2) {
    var baseMerge = require_baseMerge();
    var createAssigner = require_createAssigner();
    var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {
      baseMerge(object, source, srcIndex, customizer);
    });
    module2.exports = mergeWith;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/miscUtils.js
var require_miscUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/miscUtils.js"(exports, module) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.CachingStrategy = exports.DefaultStream = exports.AsyncActions = exports.BufferStream = void 0;
    exports.isTaggedYarnVersion = isTaggedYarnVersion;
    exports.plural = plural;
    exports.escapeRegExp = escapeRegExp;
    exports.overrideType = overrideType;
    exports.assertNever = assertNever;
    exports.validateEnum = validateEnum;
    exports.mapAndFilter = mapAndFilter;
    exports.mapAndFind = mapAndFind;
    exports.isIndexableObject = isIndexableObject;
    exports.allSettledSafe = allSettledSafe;
    exports.convertMapsToIndexableObjects = convertMapsToIndexableObjects;
    exports.getFactoryWithDefault = getFactoryWithDefault;
    exports.getArrayWithDefault = getArrayWithDefault;
    exports.getSetWithDefault = getSetWithDefault;
    exports.getMapWithDefault = getMapWithDefault;
    exports.releaseAfterUseAsync = releaseAfterUseAsync;
    exports.prettifyAsyncErrors = prettifyAsyncErrors;
    exports.prettifySyncErrors = prettifySyncErrors;
    exports.bufferStream = bufferStream;
    exports.makeDeferred = makeDeferred;
    exports.dynamicRequire = dynamicRequire;
    exports.sortMap = sortMap;
    exports.buildIgnorePattern = buildIgnorePattern;
    exports.replaceEnvVariables = replaceEnvVariables;
    exports.parseBoolean = parseBoolean;
    exports.parseOptionalBoolean = parseOptionalBoolean;
    exports.tryParseOptionalBoolean = tryParseOptionalBoolean;
    exports.isPathLike = isPathLike;
    exports.mergeIntoTarget = mergeIntoTarget;
    exports.toMerged = toMerged;
    exports.groupBy = groupBy;
    exports.parseInt = parseInt;
    var tslib_1 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_1 = require_lib66();
    var clipanion_1 = require_advanced();
    var isEqual_1 = tslib_1.__importDefault(require_isEqual());
    var mergeWith_1 = tslib_1.__importDefault(require_mergeWith3());
    var micromatch_1 = tslib_1.__importDefault(require_micromatch());
    var p_limit_1 = tslib_1.__importDefault(require_p_limit2());
    var semver_1 = tslib_1.__importDefault(require_semver2());
    var stream_1 = require("stream");
    function isTaggedYarnVersion(version2) {
      return !!(semver_1.default.valid(version2) && version2.match(/^[^-]+(-rc\.[0-9]+)?$/));
    }
    function plural(n, { one, more, zero = more }) {
      return n === 0 ? zero : n === 1 ? one : more;
    }
    function escapeRegExp(str) {
      return str.replace(/[.*+?^${}()|[\]\\]/g, `\\$&`);
    }
    function overrideType(val) {
    }
    function assertNever(arg) {
      throw new Error(`Assertion failed: Unexpected object '${arg}'`);
    }
    function validateEnum(def, value) {
      const values = Object.values(def);
      if (!values.includes(value))
        throw new clipanion_1.UsageError(`Invalid value for enumeration: ${JSON.stringify(value)} (expected one of ${values.map((value2) => JSON.stringify(value2)).join(`, `)})`);
      return value;
    }
    function mapAndFilter(iterable, cb) {
      const output = [];
      for (const value of iterable) {
        const out = cb(value);
        if (out !== mapAndFilterSkip) {
          output.push(out);
        }
      }
      return output;
    }
    var mapAndFilterSkip = Symbol();
    mapAndFilter.skip = mapAndFilterSkip;
    function mapAndFind(iterable, cb) {
      for (const value of iterable) {
        const out = cb(value);
        if (out !== mapAndFindSkip) {
          return out;
        }
      }
      return void 0;
    }
    var mapAndFindSkip = Symbol();
    mapAndFind.skip = mapAndFindSkip;
    function isIndexableObject(value) {
      return typeof value === `object` && value !== null;
    }
    async function allSettledSafe(promises) {
      const results = await Promise.allSettled(promises);
      const values = [];
      for (const result2 of results) {
        if (result2.status === `rejected`) {
          throw result2.reason;
        } else {
          values.push(result2.value);
        }
      }
      return values;
    }
    function convertMapsToIndexableObjects(arg) {
      if (arg instanceof Map)
        arg = Object.fromEntries(arg);
      if (isIndexableObject(arg)) {
        for (const key of Object.keys(arg)) {
          const value = arg[key];
          if (isIndexableObject(value)) {
            arg[key] = convertMapsToIndexableObjects(value);
          }
        }
      }
      return arg;
    }
    function getFactoryWithDefault(map, key, factory) {
      let value = map.get(key);
      if (typeof value === `undefined`)
        map.set(key, value = factory());
      return value;
    }
    function getArrayWithDefault(map, key) {
      let value = map.get(key);
      if (typeof value === `undefined`)
        map.set(key, value = []);
      return value;
    }
    function getSetWithDefault(map, key) {
      let value = map.get(key);
      if (typeof value === `undefined`)
        map.set(key, value = /* @__PURE__ */ new Set());
      return value;
    }
    function getMapWithDefault(map, key) {
      let value = map.get(key);
      if (typeof value === `undefined`)
        map.set(key, value = /* @__PURE__ */ new Map());
      return value;
    }
    async function releaseAfterUseAsync(fn, cleanup) {
      if (cleanup == null)
        return await fn();
      try {
        return await fn();
      } finally {
        await cleanup();
      }
    }
    async function prettifyAsyncErrors(fn, update) {
      try {
        return await fn();
      } catch (error) {
        error.message = update(error.message);
        throw error;
      }
    }
    function prettifySyncErrors(fn, update) {
      try {
        return fn();
      } catch (error) {
        error.message = update(error.message);
        throw error;
      }
    }
    async function bufferStream(stream) {
      return await new Promise((resolve, reject) => {
        const chunks = [];
        stream.on(`error`, (error) => {
          reject(error);
        });
        stream.on(`data`, (chunk) => {
          chunks.push(chunk);
        });
        stream.on(`end`, () => {
          resolve(Buffer.concat(chunks));
        });
      });
    }
    var BufferStream = class extends stream_1.Transform {
      constructor() {
        super(...arguments);
        this.chunks = [];
      }
      _transform(chunk, encoding, cb) {
        if (encoding !== `buffer` || !Buffer.isBuffer(chunk))
          throw new Error(`Assertion failed: BufferStream only accept buffers`);
        this.chunks.push(chunk);
        cb(null, null);
      }
      _flush(cb) {
        cb(null, Buffer.concat(this.chunks));
      }
    };
    exports.BufferStream = BufferStream;
    function makeDeferred() {
      let resolve;
      let reject;
      const promise = new Promise((resolveFn, rejectFn) => {
        resolve = resolveFn;
        reject = rejectFn;
      });
      return { promise, resolve, reject };
    }
    var AsyncActions = class {
      constructor(limit) {
        this.deferred = /* @__PURE__ */ new Map();
        this.promises = /* @__PURE__ */ new Map();
        this.limit = (0, p_limit_1.default)(limit);
      }
      set(key, factory) {
        let deferred = this.deferred.get(key);
        if (typeof deferred === `undefined`)
          this.deferred.set(key, deferred = makeDeferred());
        const promise = this.limit(() => factory());
        this.promises.set(key, promise);
        promise.then(() => {
          if (this.promises.get(key) === promise) {
            deferred.resolve();
          }
        }, (err) => {
          if (this.promises.get(key) === promise) {
            deferred.reject(err);
          }
        });
        return deferred.promise;
      }
      reduce(key, factory) {
        const promise = this.promises.get(key) ?? Promise.resolve();
        this.set(key, () => factory(promise));
      }
      async wait() {
        await Promise.all(this.promises.values());
      }
    };
    exports.AsyncActions = AsyncActions;
    var DefaultStream = class extends stream_1.Transform {
      constructor(ifEmpty = Buffer.alloc(0)) {
        super();
        this.active = true;
        this.ifEmpty = ifEmpty;
      }
      _transform(chunk, encoding, cb) {
        if (encoding !== `buffer` || !Buffer.isBuffer(chunk))
          throw new Error(`Assertion failed: DefaultStream only accept buffers`);
        this.active = false;
        cb(null, chunk);
      }
      _flush(cb) {
        if (this.active && this.ifEmpty.length > 0) {
          cb(null, this.ifEmpty);
        } else {
          cb(null);
        }
      }
    };
    exports.DefaultStream = DefaultStream;
    var realRequire = eval(`require`);
    function dynamicRequireNode(path2) {
      return realRequire(fslib_1.npath.fromPortablePath(path2));
    }
    function dynamicRequireNoCache(path) {
      const physicalPath = fslib_1.npath.fromPortablePath(path);
      const currentCacheEntry = realRequire.cache[physicalPath];
      delete realRequire.cache[physicalPath];
      let result;
      try {
        result = dynamicRequireNode(physicalPath);
        const freshCacheEntry = realRequire.cache[physicalPath];
        const dynamicModule = eval(`module`);
        const freshCacheIndex = dynamicModule.children.indexOf(freshCacheEntry);
        if (freshCacheIndex !== -1) {
          dynamicModule.children.splice(freshCacheIndex, 1);
        }
      } finally {
        realRequire.cache[physicalPath] = currentCacheEntry;
      }
      return result;
    }
    var dynamicRequireFsTimeCache = /* @__PURE__ */ new Map();
    function dynamicRequireFsTime(path2) {
      const cachedInstance = dynamicRequireFsTimeCache.get(path2);
      const stat = fslib_1.xfs.statSync(path2);
      if (cachedInstance?.mtime === stat.mtimeMs)
        return cachedInstance.instance;
      const instance = dynamicRequireNoCache(path2);
      dynamicRequireFsTimeCache.set(path2, { mtime: stat.mtimeMs, instance });
      return instance;
    }
    var CachingStrategy;
    (function(CachingStrategy2) {
      CachingStrategy2[CachingStrategy2["NoCache"] = 0] = "NoCache";
      CachingStrategy2[CachingStrategy2["FsTime"] = 1] = "FsTime";
      CachingStrategy2[CachingStrategy2["Node"] = 2] = "Node";
    })(CachingStrategy || (exports.CachingStrategy = CachingStrategy = {}));
    function dynamicRequire(path2, { cachingStrategy = CachingStrategy.Node } = {}) {
      switch (cachingStrategy) {
        case CachingStrategy.NoCache:
          return dynamicRequireNoCache(path2);
        case CachingStrategy.FsTime:
          return dynamicRequireFsTime(path2);
        case CachingStrategy.Node:
          return dynamicRequireNode(path2);
        default: {
          throw new Error(`Unsupported caching strategy`);
        }
      }
    }
    function sortMap(values, mappers) {
      const asArray = Array.from(values);
      if (!Array.isArray(mappers))
        mappers = [mappers];
      const stringified = [];
      for (const mapper of mappers)
        stringified.push(asArray.map((value) => mapper(value)));
      const indices = asArray.map((_, index) => index);
      indices.sort((a, b) => {
        for (const layer of stringified) {
          const comparison = layer[a] < layer[b] ? -1 : layer[a] > layer[b] ? 1 : 0;
          if (comparison !== 0) {
            return comparison;
          }
        }
        return 0;
      });
      return indices.map((index) => {
        return asArray[index];
      });
    }
    function buildIgnorePattern(ignorePatterns) {
      if (ignorePatterns.length === 0)
        return null;
      return ignorePatterns.map((pattern) => {
        return `(${micromatch_1.default.makeRe(pattern, {
          windows: false,
          dot: true
        }).source})`;
      }).join(`|`);
    }
    function replaceEnvVariables(value, { env }) {
      const regex = /\${(?<variableName>[\d\w_]+)(?<colon>:)?(?:-(?<fallback>[^}]*))?}/g;
      return value.replace(regex, (...args) => {
        const { variableName, colon, fallback } = args[args.length - 1];
        const variableExist = Object.hasOwn(env, variableName);
        const variableValue = env[variableName];
        if (variableValue)
          return variableValue;
        if (variableExist && !colon)
          return variableValue;
        if (fallback != null)
          return fallback;
        throw new clipanion_1.UsageError(`Environment variable not found (${variableName})`);
      });
    }
    function parseBoolean(value) {
      switch (value) {
        case `true`:
        case `1`:
        case 1:
        case true: {
          return true;
        }
        case `false`:
        case `0`:
        case 0:
        case false: {
          return false;
        }
        default: {
          throw new Error(`Couldn't parse "${value}" as a boolean`);
        }
      }
    }
    function parseOptionalBoolean(value) {
      if (typeof value === `undefined`)
        return value;
      return parseBoolean(value);
    }
    function tryParseOptionalBoolean(value) {
      try {
        return parseOptionalBoolean(value);
      } catch {
        return null;
      }
    }
    function isPathLike(value) {
      if (fslib_1.npath.isAbsolute(value) || value.match(/^(\.{1,2}|~)\//))
        return true;
      return false;
    }
    function mergeIntoTarget(target, ...sources) {
      const wrap = (value2) => ({ value: value2 });
      const wrappedTarget = wrap(target);
      const wrappedSources = sources.map((source) => wrap(source));
      const { value } = (0, mergeWith_1.default)(wrappedTarget, ...wrappedSources, (targetValue, sourceValue) => {
        if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
          for (const sourceItem of sourceValue) {
            if (!targetValue.find((targetItem) => (0, isEqual_1.default)(targetItem, sourceItem))) {
              targetValue.push(sourceItem);
            }
          }
          return targetValue;
        }
        return void 0;
      });
      return value;
    }
    function toMerged(...sources) {
      return mergeIntoTarget({}, ...sources);
    }
    function groupBy(items, key) {
      const groups = /* @__PURE__ */ Object.create(null);
      for (const item of items) {
        const groupKey = item[key];
        groups[groupKey] ??= [];
        groups[groupKey].push(item);
      }
      return groups;
    }
    function parseInt(val) {
      return typeof val === `string` ? Number.parseInt(val, 10) : val;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/types.js
var require_types8 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PackageExtensionStatus = exports2.PackageExtensionType = exports2.LinkType = void 0;
    var LinkType;
    (function(LinkType2) {
      LinkType2["HARD"] = "HARD";
      LinkType2["SOFT"] = "SOFT";
    })(LinkType || (exports2.LinkType = LinkType = {}));
    var PackageExtensionType;
    (function(PackageExtensionType2) {
      PackageExtensionType2["Dependency"] = "Dependency";
      PackageExtensionType2["PeerDependency"] = "PeerDependency";
      PackageExtensionType2["PeerDependencyMeta"] = "PeerDependencyMeta";
    })(PackageExtensionType || (exports2.PackageExtensionType = PackageExtensionType = {}));
    var PackageExtensionStatus;
    (function(PackageExtensionStatus2) {
      PackageExtensionStatus2["Inactive"] = "inactive";
      PackageExtensionStatus2["Redundant"] = "redundant";
      PackageExtensionStatus2["Active"] = "active";
    })(PackageExtensionStatus || (exports2.PackageExtensionStatus = PackageExtensionStatus = {}));
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/formatUtils.js
var require_formatUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/formatUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LogLevel = exports2.supportsHyperlinks = exports2.supportsColor = exports2.Style = exports2.Type = exports2.stripAnsi = void 0;
    exports2.tuple = tuple;
    exports2.applyStyle = applyStyle;
    exports2.applyColor = applyColor;
    exports2.applyHyperlink = applyHyperlink;
    exports2.pretty = pretty;
    exports2.prettyList = prettyList;
    exports2.json = json;
    exports2.jsonOrPretty = jsonOrPretty;
    exports2.mark = mark;
    exports2.prettyField = prettyField;
    exports2.prettyTruncatedLocatorList = prettyTruncatedLocatorList;
    exports2.addLogFilterSupport = addLogFilterSupport;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var chalk_1 = tslib_12.__importDefault(require_source2());
    var ci_info_1 = tslib_12.__importDefault(require_ci_info());
    var clipanion_12 = require_advanced();
    var micromatch_12 = tslib_12.__importDefault(require_micromatch());
    var strip_ansi_1 = tslib_12.__importDefault(require_strip_ansi());
    exports2.stripAnsi = strip_ansi_1.default;
    var util_1 = require("util");
    var MessageName_1 = require_MessageName();
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var types_1 = require_types8();
    exports2.Type = {
      NO_HINT: `NO_HINT`,
      ID: `ID`,
      NULL: `NULL`,
      SCOPE: `SCOPE`,
      NAME: `NAME`,
      RANGE: `RANGE`,
      REFERENCE: `REFERENCE`,
      NUMBER: `NUMBER`,
      PATH: `PATH`,
      URL: `URL`,
      ADDED: `ADDED`,
      REMOVED: `REMOVED`,
      CODE: `CODE`,
      INSPECT: `INSPECT`,
      DURATION: `DURATION`,
      SIZE: `SIZE`,
      SIZE_DIFF: `SIZE_DIFF`,
      IDENT: `IDENT`,
      DESCRIPTOR: `DESCRIPTOR`,
      LOCATOR: `LOCATOR`,
      RESOLUTION: `RESOLUTION`,
      DEPENDENT: `DEPENDENT`,
      PACKAGE_EXTENSION: `PACKAGE_EXTENSION`,
      SETTING: `SETTING`,
      MARKDOWN: `MARKDOWN`,
      MARKDOWN_INLINE: `MARKDOWN_INLINE`
    };
    var Style;
    (function(Style2) {
      Style2[Style2["BOLD"] = 2] = "BOLD";
    })(Style || (exports2.Style = Style = {}));
    var chalkOptions = ci_info_1.default.GITHUB_ACTIONS ? { level: 2 } : chalk_1.default.supportsColor ? { level: chalk_1.default.supportsColor.level } : { level: 0 };
    exports2.supportsColor = chalkOptions.level !== 0;
    exports2.supportsHyperlinks = exports2.supportsColor && !ci_info_1.default.GITHUB_ACTIONS && !ci_info_1.default.CIRCLE && !ci_info_1.default.GITLAB;
    var chalkInstance = new chalk_1.default.Instance(chalkOptions);
    var colors = /* @__PURE__ */ new Map([
      [exports2.Type.NO_HINT, null],
      [exports2.Type.NULL, [`#a853b5`, 129]],
      [exports2.Type.SCOPE, [`#d75f00`, 166]],
      [exports2.Type.NAME, [`#d7875f`, 173]],
      [exports2.Type.RANGE, [`#00afaf`, 37]],
      [exports2.Type.REFERENCE, [`#87afff`, 111]],
      [exports2.Type.NUMBER, [`#ffd700`, 220]],
      [exports2.Type.PATH, [`#d75fd7`, 170]],
      [exports2.Type.URL, [`#d75fd7`, 170]],
      [exports2.Type.ADDED, [`#5faf00`, 70]],
      [exports2.Type.REMOVED, [`#ff3131`, 160]],
      [exports2.Type.CODE, [`#87afff`, 111]],
      [exports2.Type.SIZE, [`#ffd700`, 220]]
    ]);
    var validateTransform = (spec) => spec;
    function sizeToText(size) {
      const thresholds = [`KiB`, `MiB`, `GiB`, `TiB`];
      let power = thresholds.length;
      while (power > 1 && size < 1024 ** power)
        power -= 1;
      const factor = 1024 ** power;
      const value = Math.floor(size * 100 / factor) / 100;
      return `${value} ${thresholds[power - 1]}`;
    }
    var transforms = {
      [exports2.Type.ID]: validateTransform({
        pretty: (configuration, value) => {
          if (typeof value === `number`) {
            return applyColor(configuration, `${value}`, exports2.Type.NUMBER);
          } else {
            return applyColor(configuration, value, exports2.Type.CODE);
          }
        },
        json: (id) => {
          return id;
        }
      }),
      [exports2.Type.INSPECT]: validateTransform({
        pretty: (configuration, value) => {
          return (0, util_1.inspect)(value, { depth: Infinity, colors: configuration.get(`enableColors`), compact: true, breakLength: Infinity });
        },
        json: (value) => {
          return value;
        }
      }),
      [exports2.Type.NUMBER]: validateTransform({
        pretty: (configuration, value) => {
          return applyColor(configuration, `${value}`, exports2.Type.NUMBER);
        },
        json: (value) => {
          return value;
        }
      }),
      [exports2.Type.IDENT]: validateTransform({
        pretty: (configuration, ident) => {
          return structUtils.prettyIdent(configuration, ident);
        },
        json: (ident) => {
          return structUtils.stringifyIdent(ident);
        }
      }),
      [exports2.Type.LOCATOR]: validateTransform({
        pretty: (configuration, locator) => {
          return structUtils.prettyLocator(configuration, locator);
        },
        json: (locator) => {
          return structUtils.stringifyLocator(locator);
        }
      }),
      [exports2.Type.DESCRIPTOR]: validateTransform({
        pretty: (configuration, descriptor) => {
          return structUtils.prettyDescriptor(configuration, descriptor);
        },
        json: (descriptor) => {
          return structUtils.stringifyDescriptor(descriptor);
        }
      }),
      [exports2.Type.RESOLUTION]: validateTransform({
        pretty: (configuration, { descriptor, locator }) => {
          return structUtils.prettyResolution(configuration, descriptor, locator);
        },
        json: ({ descriptor, locator }) => {
          return {
            descriptor: structUtils.stringifyDescriptor(descriptor),
            locator: locator !== null ? structUtils.stringifyLocator(locator) : null
          };
        }
      }),
      [exports2.Type.DEPENDENT]: validateTransform({
        pretty: (configuration, { locator, descriptor }) => {
          return structUtils.prettyDependent(configuration, locator, descriptor);
        },
        json: ({ locator, descriptor }) => {
          return {
            locator: structUtils.stringifyLocator(locator),
            descriptor: structUtils.stringifyDescriptor(descriptor)
          };
        }
      }),
      [exports2.Type.PACKAGE_EXTENSION]: validateTransform({
        pretty: (configuration, packageExtension) => {
          switch (packageExtension.type) {
            case types_1.PackageExtensionType.Dependency:
              return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `dependencies`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, packageExtension.descriptor)}`;
            case types_1.PackageExtensionType.PeerDependency:
              return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependencies`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, packageExtension.descriptor)}`;
            case types_1.PackageExtensionType.PeerDependencyMeta:
              return `${structUtils.prettyIdent(configuration, packageExtension.parentDescriptor)} \u27A4 ${applyColor(configuration, `peerDependenciesMeta`, exports2.Type.CODE)} \u27A4 ${structUtils.prettyIdent(configuration, structUtils.parseIdent(packageExtension.selector))} \u27A4 ${applyColor(configuration, packageExtension.key, exports2.Type.CODE)}`;
            default:
              throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`);
          }
        },
        json: (packageExtension) => {
          switch (packageExtension.type) {
            case types_1.PackageExtensionType.Dependency:
              return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} > ${structUtils.stringifyIdent(packageExtension.descriptor)}`;
            case types_1.PackageExtensionType.PeerDependency:
              return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} >> ${structUtils.stringifyIdent(packageExtension.descriptor)}`;
            case types_1.PackageExtensionType.PeerDependencyMeta:
              return `${structUtils.stringifyIdent(packageExtension.parentDescriptor)} >> ${packageExtension.selector} / ${packageExtension.key}`;
            default:
              throw new Error(`Assertion failed: Unsupported package extension type: ${packageExtension.type}`);
          }
        }
      }),
      [exports2.Type.SETTING]: validateTransform({
        pretty: (configuration, settingName) => {
          configuration.get(settingName);
          return applyHyperlink(configuration, applyColor(configuration, settingName, exports2.Type.CODE), `https://yarnpkg.com/configuration/yarnrc#${settingName}`);
        },
        json: (settingName) => {
          return settingName;
        }
      }),
      [exports2.Type.DURATION]: validateTransform({
        pretty: (configuration, duration) => {
          if (duration > 1e3 * 60) {
            const minutes = Math.floor(duration / 1e3 / 60);
            const seconds = Math.ceil((duration - minutes * 60 * 1e3) / 1e3);
            return seconds === 0 ? `${minutes}m` : `${minutes}m ${seconds}s`;
          } else {
            const seconds = Math.floor(duration / 1e3);
            const milliseconds = duration - seconds * 1e3;
            return milliseconds === 0 ? `${seconds}s` : `${seconds}s ${milliseconds}ms`;
          }
        },
        json: (duration) => {
          return duration;
        }
      }),
      [exports2.Type.SIZE]: validateTransform({
        pretty: (configuration, size) => {
          return applyColor(configuration, sizeToText(size), exports2.Type.NUMBER);
        },
        json: (size) => {
          return size;
        }
      }),
      [exports2.Type.SIZE_DIFF]: validateTransform({
        pretty: (configuration, size) => {
          const sign = size >= 0 ? `+` : `-`;
          const type = sign === `+` ? exports2.Type.REMOVED : exports2.Type.ADDED;
          return applyColor(configuration, `${sign} ${sizeToText(Math.max(Math.abs(size), 1))}`, type);
        },
        json: (size) => {
          return size;
        }
      }),
      [exports2.Type.PATH]: validateTransform({
        pretty: (configuration, filePath) => {
          return applyColor(configuration, fslib_12.npath.fromPortablePath(filePath), exports2.Type.PATH);
        },
        json: (filePath) => {
          return fslib_12.npath.fromPortablePath(filePath);
        }
      }),
      [exports2.Type.MARKDOWN]: validateTransform({
        pretty: (configuration, { text, format, paragraphs }) => {
          return (0, clipanion_12.formatMarkdownish)(text, { format, paragraphs });
        },
        json: ({ text }) => {
          return text;
        }
      }),
      [exports2.Type.MARKDOWN_INLINE]: validateTransform({
        pretty: (configuration, text) => {
          text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
            return pretty(configuration, $1 + $2 + $1, exports2.Type.CODE);
          });
          text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
            return applyStyle(configuration, $2, Style.BOLD);
          });
          return text;
        },
        json: (text) => {
          return text;
        }
      })
    };
    function tuple(formatType, value) {
      return [value, formatType];
    }
    function applyStyle(configuration, text, flags) {
      if (!configuration.get(`enableColors`))
        return text;
      if (flags & Style.BOLD)
        text = chalk_1.default.bold(text);
      return text;
    }
    function applyColor(configuration, value, formatType) {
      if (!configuration.get(`enableColors`))
        return value;
      const colorSpec = colors.get(formatType);
      if (colorSpec === null)
        return value;
      const color = typeof colorSpec === `undefined` ? formatType : chalkOptions.level >= 3 ? colorSpec[0] : colorSpec[1];
      const fn = typeof color === `number` ? chalkInstance.ansi256(color) : color.startsWith(`#`) ? chalkInstance.hex(color) : chalkInstance[color];
      if (typeof fn !== `function`)
        throw new Error(`Invalid format type ${color}`);
      return fn(value);
    }
    var isKonsole = !!process.env.KONSOLE_VERSION;
    function applyHyperlink(configuration, text, href) {
      if (!configuration.get(`enableHyperlinks`))
        return text;
      if (isKonsole)
        return `\x1B]8;;${href}\x1B\\${text}\x1B]8;;\x1B\\`;
      return `\x1B]8;;${href}\x07${text}\x1B]8;;\x07`;
    }
    function pretty(configuration, value, formatType) {
      if (value === null)
        return applyColor(configuration, `null`, exports2.Type.NULL);
      if (Object.hasOwn(transforms, formatType)) {
        const transform = transforms[formatType];
        const typedTransform = transform;
        return typedTransform.pretty(configuration, value);
      }
      if (typeof value !== `string`)
        throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`);
      return applyColor(configuration, value, formatType);
    }
    function prettyList(configuration, values, formatType, { separator = `, ` } = {}) {
      return [...values].map((value) => pretty(configuration, value, formatType)).join(separator);
    }
    function json(value, formatType) {
      if (value === null)
        return null;
      if (Object.hasOwn(transforms, formatType)) {
        miscUtils.overrideType(formatType);
        return transforms[formatType].json(value);
      }
      if (typeof value !== `string`)
        throw new Error(`Assertion failed: Expected the value to be a string, got ${typeof value}`);
      return value;
    }
    function jsonOrPretty(outputJson, configuration, [value, formatType]) {
      return outputJson ? json(value, formatType) : pretty(configuration, value, formatType);
    }
    function mark(configuration) {
      return {
        Check: applyColor(configuration, `\u2713`, `green`),
        Cross: applyColor(configuration, `\u2718`, `red`),
        Question: applyColor(configuration, `?`, `cyan`)
      };
    }
    function prettyField(configuration, { label, value: [value, formatType] }) {
      return `${pretty(configuration, label, exports2.Type.CODE)}: ${pretty(configuration, value, formatType)}`;
    }
    function prettyTruncatedLocatorList(configuration, locators, recommendedLength) {
      const named = [];
      const locatorsCopy = [...locators];
      let remainingLength = recommendedLength;
      while (locatorsCopy.length > 0) {
        const locator = locatorsCopy[0];
        const asString = `${structUtils.prettyLocator(configuration, locator)}, `;
        const asLength = structUtils.prettyLocatorNoColors(locator).length + 2;
        if (named.length > 0 && remainingLength < asLength)
          break;
        named.push([asString, asLength]);
        remainingLength -= asLength;
        locatorsCopy.shift();
      }
      if (locatorsCopy.length === 0)
        return named.map(([str]) => str).join(``).slice(0, -2);
      const mark2 = `X`.repeat(locatorsCopy.length.toString().length);
      const suffix = `and ${mark2} more.`;
      let otherCount = locatorsCopy.length;
      while (named.length > 1 && remainingLength < suffix.length) {
        remainingLength += named[named.length - 1][1];
        otherCount += 1;
        named.pop();
      }
      return [
        named.map(([str]) => str).join(``),
        suffix.replace(mark2, pretty(configuration, otherCount, exports2.Type.NUMBER))
      ].join(``);
    }
    var LogLevel;
    (function(LogLevel2) {
      LogLevel2["Error"] = "error";
      LogLevel2["Warning"] = "warning";
      LogLevel2["Info"] = "info";
      LogLevel2["Discard"] = "discard";
    })(LogLevel || (exports2.LogLevel = LogLevel = {}));
    function addLogFilterSupport(report, { configuration }) {
      const logFilters = configuration.get(`logFilters`);
      const logFiltersByCode = /* @__PURE__ */ new Map();
      const logFiltersByText = /* @__PURE__ */ new Map();
      const logFiltersByPatternMatcher = [];
      for (const filter of logFilters) {
        const level = filter.get(`level`);
        if (typeof level === `undefined`)
          continue;
        const code = filter.get(`code`);
        if (typeof code !== `undefined`)
          logFiltersByCode.set(code, level);
        const text = filter.get(`text`);
        if (typeof text !== `undefined`)
          logFiltersByText.set(text, level);
        const pattern = filter.get(`pattern`);
        if (typeof pattern !== `undefined`) {
          logFiltersByPatternMatcher.push([micromatch_12.default.matcher(pattern, { contains: true }), level]);
        }
      }
      logFiltersByPatternMatcher.reverse();
      const findLogLevel = (name, text, defaultLevel) => {
        if (name === null || name === MessageName_1.MessageName.UNNAMED)
          return defaultLevel;
        const strippedText = logFiltersByText.size > 0 || logFiltersByPatternMatcher.length > 0 ? (0, strip_ansi_1.default)(text) : text;
        if (logFiltersByText.size > 0) {
          const level = logFiltersByText.get(strippedText);
          if (typeof level !== `undefined`) {
            return level ?? defaultLevel;
          }
        }
        if (logFiltersByPatternMatcher.length > 0) {
          for (const [filterMatcher, filterLevel] of logFiltersByPatternMatcher) {
            if (filterMatcher(strippedText)) {
              return filterLevel ?? defaultLevel;
            }
          }
        }
        if (logFiltersByCode.size > 0) {
          const level = logFiltersByCode.get((0, MessageName_1.stringifyMessageName)(name));
          if (typeof level !== `undefined`) {
            return level ?? defaultLevel;
          }
        }
        return defaultLevel;
      };
      const reportInfo = report.reportInfo;
      const reportWarning = report.reportWarning;
      const reportError = report.reportError;
      const routeMessage = function(report2, name, text, level) {
        switch (findLogLevel(name, text, level)) {
          case LogLevel.Info:
            {
              reportInfo.call(report2, name, text);
            }
            break;
          case LogLevel.Warning:
            {
              reportWarning.call(report2, name ?? MessageName_1.MessageName.UNNAMED, text);
            }
            break;
          case LogLevel.Error:
            {
              reportError.call(report2, name ?? MessageName_1.MessageName.UNNAMED, text);
            }
            break;
        }
      };
      report.reportInfo = function(...args) {
        return routeMessage(this, ...args, LogLevel.Info);
      };
      report.reportWarning = function(...args) {
        return routeMessage(this, ...args, LogLevel.Warning);
      };
      report.reportError = function(...args) {
        return routeMessage(this, ...args, LogLevel.Error);
      };
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/hashUtils.js
var require_hashUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/hashUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeHash = makeHash;
    exports2.checksumFile = checksumFile;
    exports2.checksumPattern = checksumPattern;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var crypto_1 = require("crypto");
    var fast_glob_1 = tslib_12.__importDefault(require_out4());
    function makeHash(...args) {
      const hash = (0, crypto_1.createHash)(`sha512`);
      let acc = ``;
      for (const arg of args) {
        if (typeof arg === `string`) {
          acc += arg;
        } else if (arg) {
          if (acc) {
            hash.update(acc);
            acc = ``;
          }
          hash.update(arg);
        }
      }
      if (acc)
        hash.update(acc);
      return hash.digest(`hex`);
    }
    async function checksumFile(path2, { baseFs, algorithm } = { baseFs: fslib_12.xfs, algorithm: `sha512` }) {
      const fd = await baseFs.openPromise(path2, `r`);
      try {
        const CHUNK_SIZE = 65536;
        const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE);
        const hash = (0, crypto_1.createHash)(algorithm);
        let bytesRead = 0;
        while ((bytesRead = await baseFs.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0)
          hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead));
        return hash.digest(`hex`);
      } finally {
        await baseFs.closePromise(fd);
      }
    }
    async function checksumPattern(pattern, { cwd }) {
      const dirListing = await (0, fast_glob_1.default)(pattern, {
        cwd: fslib_12.npath.fromPortablePath(cwd),
        onlyDirectories: true
      });
      const dirPatterns = dirListing.map((entry) => {
        return `${entry}/**/*`;
      });
      const listing = await (0, fast_glob_1.default)([pattern, ...dirPatterns], {
        cwd: fslib_12.npath.fromPortablePath(cwd),
        onlyFiles: false
      });
      listing.sort();
      const hashes = await Promise.all(listing.map(async (entry) => {
        const parts = [Buffer.from(entry)];
        const p = fslib_12.npath.toPortablePath(entry);
        const stat = await fslib_12.xfs.lstatPromise(p);
        if (stat.isSymbolicLink())
          parts.push(Buffer.from(await fslib_12.xfs.readlinkPromise(p)));
        else if (stat.isFile())
          parts.push(await fslib_12.xfs.readFilePromise(p));
        return parts.join(`\0`);
      }));
      const hash = (0, crypto_1.createHash)(`sha512`);
      for (const sub of hashes)
        hash.update(sub);
      return hash.digest(`hex`);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/structUtils.js
var require_structUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/structUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeIdent = makeIdent;
    exports2.makeDescriptor = makeDescriptor;
    exports2.makeLocator = makeLocator;
    exports2.convertToIdent = convertToIdent;
    exports2.convertDescriptorToLocator = convertDescriptorToLocator;
    exports2.convertLocatorToDescriptor = convertLocatorToDescriptor;
    exports2.convertPackageToLocator = convertPackageToLocator;
    exports2.renamePackage = renamePackage;
    exports2.copyPackage = copyPackage;
    exports2.virtualizeDescriptor = virtualizeDescriptor;
    exports2.virtualizePackage = virtualizePackage;
    exports2.isVirtualDescriptor = isVirtualDescriptor;
    exports2.isVirtualLocator = isVirtualLocator;
    exports2.devirtualizeDescriptor = devirtualizeDescriptor;
    exports2.devirtualizeLocator = devirtualizeLocator;
    exports2.ensureDevirtualizedDescriptor = ensureDevirtualizedDescriptor;
    exports2.ensureDevirtualizedLocator = ensureDevirtualizedLocator;
    exports2.bindDescriptor = bindDescriptor;
    exports2.bindLocator = bindLocator;
    exports2.areIdentsEqual = areIdentsEqual;
    exports2.areDescriptorsEqual = areDescriptorsEqual;
    exports2.areLocatorsEqual = areLocatorsEqual;
    exports2.areVirtualPackagesEquivalent = areVirtualPackagesEquivalent;
    exports2.parseIdent = parseIdent;
    exports2.tryParseIdent = tryParseIdent;
    exports2.parseDescriptor = parseDescriptor;
    exports2.tryParseDescriptor = tryParseDescriptor;
    exports2.parseLocator = parseLocator;
    exports2.tryParseLocator = tryParseLocator;
    exports2.parseRange = parseRange;
    exports2.tryParseRange = tryParseRange;
    exports2.parseFileStyleRange = parseFileStyleRange;
    exports2.makeRange = makeRange;
    exports2.convertToManifestRange = convertToManifestRange;
    exports2.stringifyIdent = stringifyIdent;
    exports2.stringifyDescriptor = stringifyDescriptor;
    exports2.stringifyLocator = stringifyLocator;
    exports2.slugifyIdent = slugifyIdent;
    exports2.slugifyLocator = slugifyLocator;
    exports2.prettyIdent = prettyIdent;
    exports2.prettyRange = prettyRange;
    exports2.prettyDescriptor = prettyDescriptor;
    exports2.prettyReference = prettyReference;
    exports2.prettyLocator = prettyLocator;
    exports2.prettyLocatorNoColors = prettyLocatorNoColors;
    exports2.sortDescriptors = sortDescriptors;
    exports2.prettyWorkspace = prettyWorkspace;
    exports2.prettyResolution = prettyResolution;
    exports2.prettyDependent = prettyDependent;
    exports2.getIdentVendorPath = getIdentVendorPath;
    exports2.isPackageCompatible = isPackageCompatible;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var querystring_1 = tslib_12.__importDefault(require("querystring"));
    var semver_12 = tslib_12.__importDefault(require_semver2());
    var tinylogic_1 = require_tinylogic();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var VIRTUAL_PROTOCOL = `virtual:`;
    var VIRTUAL_ABBREVIATE = 5;
    var CONDITION_REGEX = /(os|cpu|libc)=([a-z0-9_-]+)/;
    var conditionParser = (0, tinylogic_1.makeParser)(CONDITION_REGEX);
    function makeIdent(scope, name) {
      if (scope?.startsWith(`@`))
        throw new Error(`Invalid scope: don't prefix it with '@'`);
      return { identHash: hashUtils.makeHash(scope, name), scope, name };
    }
    function makeDescriptor(ident, range) {
      return { identHash: ident.identHash, scope: ident.scope, name: ident.name, descriptorHash: hashUtils.makeHash(ident.identHash, range), range };
    }
    function makeLocator(ident, reference) {
      return { identHash: ident.identHash, scope: ident.scope, name: ident.name, locatorHash: hashUtils.makeHash(ident.identHash, reference), reference };
    }
    function convertToIdent(source) {
      return { identHash: source.identHash, scope: source.scope, name: source.name };
    }
    function convertDescriptorToLocator(descriptor) {
      return { identHash: descriptor.identHash, scope: descriptor.scope, name: descriptor.name, locatorHash: descriptor.descriptorHash, reference: descriptor.range };
    }
    function convertLocatorToDescriptor(locator) {
      return { identHash: locator.identHash, scope: locator.scope, name: locator.name, descriptorHash: locator.locatorHash, range: locator.reference };
    }
    function convertPackageToLocator(pkg) {
      return { identHash: pkg.identHash, scope: pkg.scope, name: pkg.name, locatorHash: pkg.locatorHash, reference: pkg.reference };
    }
    function renamePackage(pkg, locator) {
      return {
        identHash: locator.identHash,
        scope: locator.scope,
        name: locator.name,
        locatorHash: locator.locatorHash,
        reference: locator.reference,
        version: pkg.version,
        languageName: pkg.languageName,
        linkType: pkg.linkType,
        conditions: pkg.conditions,
        dependencies: new Map(pkg.dependencies),
        peerDependencies: new Map(pkg.peerDependencies),
        dependenciesMeta: new Map(pkg.dependenciesMeta),
        peerDependenciesMeta: new Map(pkg.peerDependenciesMeta),
        bin: new Map(pkg.bin)
      };
    }
    function copyPackage(pkg) {
      return renamePackage(pkg, pkg);
    }
    function virtualizeDescriptor(descriptor, entropy) {
      if (entropy.includes(`#`))
        throw new Error(`Invalid entropy`);
      return makeDescriptor(descriptor, `virtual:${entropy}#${descriptor.range}`);
    }
    function virtualizePackage(pkg, entropy) {
      if (entropy.includes(`#`))
        throw new Error(`Invalid entropy`);
      return renamePackage(pkg, makeLocator(pkg, `virtual:${entropy}#${pkg.reference}`));
    }
    function isVirtualDescriptor(descriptor) {
      return descriptor.range.startsWith(VIRTUAL_PROTOCOL);
    }
    function isVirtualLocator(locator) {
      return locator.reference.startsWith(VIRTUAL_PROTOCOL);
    }
    var VIRTUAL_PREFIX_REGEXP = /^[^#]*#/;
    function devirtualizeDescriptor(descriptor) {
      if (!isVirtualDescriptor(descriptor))
        throw new Error(`Not a virtual descriptor`);
      return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``));
    }
    function devirtualizeLocator(locator) {
      if (!isVirtualLocator(locator))
        throw new Error(`Not a virtual descriptor`);
      return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``));
    }
    function ensureDevirtualizedDescriptor(descriptor) {
      if (!isVirtualDescriptor(descriptor))
        return descriptor;
      return makeDescriptor(descriptor, descriptor.range.replace(VIRTUAL_PREFIX_REGEXP, ``));
    }
    function ensureDevirtualizedLocator(locator) {
      if (!isVirtualLocator(locator))
        return locator;
      return makeLocator(locator, locator.reference.replace(VIRTUAL_PREFIX_REGEXP, ``));
    }
    function bindDescriptor(descriptor, params) {
      if (descriptor.range.includes(`::`))
        return descriptor;
      return makeDescriptor(descriptor, `${descriptor.range}::${querystring_1.default.stringify(params)}`);
    }
    function bindLocator(locator, params) {
      if (locator.reference.includes(`::`))
        return locator;
      return makeLocator(locator, `${locator.reference}::${querystring_1.default.stringify(params)}`);
    }
    function areIdentsEqual(a, b) {
      return a.identHash === b.identHash;
    }
    function areDescriptorsEqual(a, b) {
      return a.descriptorHash === b.descriptorHash;
    }
    function areLocatorsEqual(a, b) {
      return a.locatorHash === b.locatorHash;
    }
    function areVirtualPackagesEquivalent(a, b) {
      if (!isVirtualLocator(a))
        throw new Error(`Invalid package type`);
      if (!isVirtualLocator(b))
        throw new Error(`Invalid package type`);
      if (!areIdentsEqual(a, b))
        return false;
      if (a.dependencies.size !== b.dependencies.size)
        return false;
      for (const dependencyDescriptorA of a.dependencies.values()) {
        const dependencyDescriptorB = b.dependencies.get(dependencyDescriptorA.identHash);
        if (!dependencyDescriptorB)
          return false;
        if (!areDescriptorsEqual(dependencyDescriptorA, dependencyDescriptorB)) {
          return false;
        }
      }
      return true;
    }
    function parseIdent(string) {
      const ident = tryParseIdent(string);
      if (!ident)
        throw new Error(`Invalid ident (${string})`);
      return ident;
    }
    var IDENT_REGEXP = /^(?:@([^/]+?)\/)?([^@/]+)$/;
    function tryParseIdent(string) {
      const match = string.match(IDENT_REGEXP);
      if (!match)
        return null;
      const [, scope, name] = match;
      const realScope = typeof scope !== `undefined` ? scope : null;
      return makeIdent(realScope, name);
    }
    function parseDescriptor(string, strict = false) {
      const descriptor = tryParseDescriptor(string, strict);
      if (!descriptor)
        throw new Error(`Invalid descriptor (${string})`);
      return descriptor;
    }
    var DESCRIPTOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/;
    var DESCRIPTOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;
    function tryParseDescriptor(string, strict = false) {
      const match = strict ? string.match(DESCRIPTOR_REGEX_STRICT) : string.match(DESCRIPTOR_REGEX_LOOSE);
      if (!match)
        return null;
      const [, scope, name, range] = match;
      if (range === `unknown`)
        throw new Error(`Invalid range (${string})`);
      const realScope = typeof scope !== `undefined` ? scope : null;
      const realRange = typeof range !== `undefined` ? range : `unknown`;
      return makeDescriptor(makeIdent(realScope, name), realRange);
    }
    function parseLocator(string, strict = false) {
      const locator = tryParseLocator(string, strict);
      if (!locator)
        throw new Error(`Invalid locator (${string})`);
      return locator;
    }
    var LOCATOR_REGEX_STRICT = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))$/;
    var LOCATOR_REGEX_LOOSE = /^(?:@([^/]+?)\/)?([^@/]+?)(?:@(.+))?$/;
    function tryParseLocator(string, strict = false) {
      const match = strict ? string.match(LOCATOR_REGEX_STRICT) : string.match(LOCATOR_REGEX_LOOSE);
      if (!match)
        return null;
      const [, scope, name, reference] = match;
      if (reference === `unknown`)
        throw new Error(`Invalid reference (${string})`);
      const realScope = typeof scope !== `undefined` ? scope : null;
      const realReference = typeof reference !== `undefined` ? reference : `unknown`;
      return makeLocator(makeIdent(realScope, name), realReference);
    }
    var RANGE_REGEX = /^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/;
    function parseRange(range, opts) {
      const match = range.match(RANGE_REGEX);
      if (match === null)
        throw new Error(`Invalid range (${range})`);
      const protocol = typeof match[1] !== `undefined` ? match[1] : null;
      if (typeof opts?.requireProtocol === `string` && protocol !== opts.requireProtocol)
        throw new Error(`Invalid protocol (${protocol})`);
      else if (opts?.requireProtocol && protocol === null)
        throw new Error(`Missing protocol (${protocol})`);
      const source = typeof match[3] !== `undefined` ? decodeURIComponent(match[2]) : null;
      if (opts?.requireSource && source === null)
        throw new Error(`Missing source (${range})`);
      const rawSelector = typeof match[3] !== `undefined` ? decodeURIComponent(match[3]) : decodeURIComponent(match[2]);
      const selector = opts?.parseSelector ? querystring_1.default.parse(rawSelector) : rawSelector;
      const params = typeof match[4] !== `undefined` ? querystring_1.default.parse(match[4]) : null;
      return {
        // @ts-expect-error
        protocol,
        // @ts-expect-error
        source,
        // @ts-expect-error
        selector,
        // @ts-expect-error
        params
      };
    }
    function tryParseRange(range, opts) {
      try {
        return parseRange(range, opts);
      } catch {
        return null;
      }
    }
    function parseFileStyleRange(range, { protocol }) {
      const { selector, params } = parseRange(range, {
        requireProtocol: protocol,
        requireBindings: true
      });
      if (typeof params.locator !== `string`)
        throw new Error(`Assertion failed: Invalid bindings for ${range}`);
      const parentLocator = parseLocator(params.locator, true);
      const path2 = selector;
      return { parentLocator, path: path2 };
    }
    function encodeUnsafeCharacters(str) {
      str = str.replaceAll(`%`, `%25`);
      str = str.replaceAll(`:`, `%3A`);
      str = str.replaceAll(`#`, `%23`);
      return str;
    }
    function hasParams(params) {
      if (params === null)
        return false;
      return Object.entries(params).length > 0;
    }
    function makeRange({ protocol, source, selector, params }) {
      let range = ``;
      if (protocol !== null)
        range += `${protocol}`;
      if (source !== null)
        range += `${encodeUnsafeCharacters(source)}#`;
      range += encodeUnsafeCharacters(selector);
      if (hasParams(params))
        range += `::${querystring_1.default.stringify(params)}`;
      return range;
    }
    function convertToManifestRange(range) {
      const { params, protocol, source, selector } = parseRange(range);
      for (const name in params)
        if (name.startsWith(`__`))
          delete params[name];
      return makeRange({ protocol, source, params, selector });
    }
    function stringifyIdent(ident) {
      if (ident.scope) {
        return `@${ident.scope}/${ident.name}`;
      } else {
        return `${ident.name}`;
      }
    }
    function stringifyDescriptor(descriptor) {
      if (descriptor.scope) {
        return `@${descriptor.scope}/${descriptor.name}@${descriptor.range}`;
      } else {
        return `${descriptor.name}@${descriptor.range}`;
      }
    }
    function stringifyLocator(locator) {
      if (locator.scope) {
        return `@${locator.scope}/${locator.name}@${locator.reference}`;
      } else {
        return `${locator.name}@${locator.reference}`;
      }
    }
    function slugifyIdent(ident) {
      if (ident.scope !== null) {
        return `@${ident.scope}-${ident.name}`;
      } else {
        return ident.name;
      }
    }
    var TRAILING_COLON_REGEX = /:$/;
    function slugifyLocator(locator) {
      const { protocol, selector } = parseRange(locator.reference);
      const humanProtocol = protocol !== null ? protocol.replace(TRAILING_COLON_REGEX, ``) : `exotic`;
      const humanVersion = semver_12.default.valid(selector);
      const humanReference = humanVersion !== null ? `${humanProtocol}-${humanVersion}` : `${humanProtocol}`;
      const hashTruncate = 10;
      const slug = locator.scope ? `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}` : `${slugifyIdent(locator)}-${humanReference}-${locator.locatorHash.slice(0, hashTruncate)}`;
      return slug;
    }
    function prettyIdent(configuration, ident) {
      if (ident.scope) {
        return `${formatUtils.pretty(configuration, `@${ident.scope}/`, formatUtils.Type.SCOPE)}${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`;
      } else {
        return `${formatUtils.pretty(configuration, ident.name, formatUtils.Type.NAME)}`;
      }
    }
    var POST_QS_REGEX = /\?.*/;
    function prettyRangeNoColors(range) {
      if (range.startsWith(VIRTUAL_PROTOCOL)) {
        const nested = prettyRangeNoColors(range.substring(range.indexOf(`#`) + 1));
        const abbrev = range.substring(VIRTUAL_PROTOCOL.length, VIRTUAL_PROTOCOL.length + VIRTUAL_ABBREVIATE);
        return false ? `${nested} (virtual:${abbrev})` : `${nested} [${abbrev}]`;
      } else {
        return range.replace(POST_QS_REGEX, `?[...]`);
      }
    }
    function prettyRange(configuration, range) {
      return `${formatUtils.pretty(configuration, prettyRangeNoColors(range), formatUtils.Type.RANGE)}`;
    }
    function prettyDescriptor(configuration, descriptor) {
      return `${prettyIdent(configuration, descriptor)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.RANGE)}${prettyRange(configuration, descriptor.range)}`;
    }
    function prettyReference(configuration, reference) {
      return `${formatUtils.pretty(configuration, prettyRangeNoColors(reference), formatUtils.Type.REFERENCE)}`;
    }
    function prettyLocator(configuration, locator) {
      return `${prettyIdent(configuration, locator)}${formatUtils.pretty(configuration, `@`, formatUtils.Type.REFERENCE)}${prettyReference(configuration, locator.reference)}`;
    }
    function prettyLocatorNoColors(locator) {
      return `${stringifyIdent(locator)}@${prettyRangeNoColors(locator.reference)}`;
    }
    function sortDescriptors(descriptors) {
      return miscUtils.sortMap(descriptors, [
        (descriptor) => stringifyIdent(descriptor),
        (descriptor) => descriptor.range
      ]);
    }
    function prettyWorkspace(configuration, workspace) {
      return prettyIdent(configuration, workspace.anchoredLocator);
    }
    function prettyResolution(configuration, descriptor, locator) {
      const devirtualizedDescriptor = isVirtualDescriptor(descriptor) ? devirtualizeDescriptor(descriptor) : descriptor;
      if (locator === null) {
        return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${formatUtils.mark(configuration).Cross}`;
      } else if (devirtualizedDescriptor.identHash === locator.identHash) {
        return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyReference(configuration, locator.reference)}`;
      } else {
        return `${structUtils.prettyDescriptor(configuration, devirtualizedDescriptor)} \u2192 ${prettyLocator(configuration, locator)}`;
      }
    }
    function prettyDependent(configuration, locator, descriptor) {
      if (descriptor === null) {
        return `${prettyLocator(configuration, locator)}`;
      } else {
        return `${prettyLocator(configuration, locator)} (via ${structUtils.prettyRange(configuration, descriptor.range)})`;
      }
    }
    function getIdentVendorPath(ident) {
      return `node_modules/${stringifyIdent(ident)}`;
    }
    function isPackageCompatible(pkg, architectures) {
      if (!pkg.conditions)
        return true;
      return conditionParser(pkg.conditions, (specifier) => {
        const [, name, value] = specifier.match(CONDITION_REGEX);
        const supported = architectures[name];
        return supported ? supported.includes(value) : true;
      });
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/CorePlugin.js
var require_CorePlugin = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/CorePlugin.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CorePlugin = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var MessageName_1 = require_MessageName();
    var structUtils = tslib_12.__importStar(require_structUtils());
    exports2.CorePlugin = {
      hooks: {
        reduceDependency: (dependency, project, locator, initialDependency, { resolver, resolveOptions }) => {
          for (const { pattern, reference } of project.topLevelWorkspace.manifest.resolutions) {
            if (pattern.from) {
              if (pattern.from.fullName !== structUtils.stringifyIdent(locator))
                continue;
              const normalizedFrom = project.configuration.normalizeLocator(structUtils.makeLocator(structUtils.parseIdent(pattern.from.fullName), pattern.from.description ?? locator.reference));
              if (normalizedFrom.locatorHash !== locator.locatorHash) {
                continue;
              }
            }
            {
              if (pattern.descriptor.fullName !== structUtils.stringifyIdent(dependency))
                continue;
              const normalizedDescriptor = project.configuration.normalizeDependency(structUtils.makeDescriptor(structUtils.parseLocator(pattern.descriptor.fullName), pattern.descriptor.description ?? dependency.range));
              if (normalizedDescriptor.descriptorHash !== dependency.descriptorHash) {
                continue;
              }
            }
            const alias = resolver.bindDescriptor(project.configuration.normalizeDependency(structUtils.makeDescriptor(dependency, reference)), project.topLevelWorkspace.anchoredLocator, resolveOptions);
            return alias;
          }
          return dependency;
        },
        validateProject: async (project, report) => {
          for (const workspace of project.workspaces) {
            const workspaceName = structUtils.prettyWorkspace(project.configuration, workspace);
            await project.configuration.triggerHook((hooks) => {
              return hooks.validateWorkspace;
            }, workspace, {
              reportWarning: (name, text) => report.reportWarning(name, `${workspaceName}: ${text}`),
              reportError: (name, text) => report.reportError(name, `${workspaceName}: ${text}`)
            });
          }
        },
        validateWorkspace: async (workspace, report) => {
          const { manifest } = workspace;
          if (manifest.resolutions.length && workspace.cwd !== workspace.project.cwd)
            manifest.errors.push(new Error(`Resolutions field will be ignored`));
          for (const manifestError of manifest.errors) {
            report.reportWarning(MessageName_1.MessageName.INVALID_MANIFEST, manifestError.message);
          }
        }
      }
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/WorkspaceResolver.js
var require_WorkspaceResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/WorkspaceResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.WorkspaceResolver = void 0;
    var types_1 = require_types8();
    var WorkspaceResolver = class _WorkspaceResolver {
      supportsDescriptor(descriptor, opts) {
        if (descriptor.range.startsWith(_WorkspaceResolver.protocol))
          return true;
        const workspace = opts.project.tryWorkspaceByDescriptor(descriptor);
        if (workspace !== null)
          return true;
        return false;
      }
      supportsLocator(locator, opts) {
        if (!locator.reference.startsWith(_WorkspaceResolver.protocol))
          return false;
        return true;
      }
      shouldPersistResolution(locator, opts) {
        return false;
      }
      bindDescriptor(descriptor, fromLocator, opts) {
        return descriptor;
      }
      getResolutionDependencies(descriptor, opts) {
        return {};
      }
      async getCandidates(descriptor, dependencies, opts) {
        const workspace = opts.project.getWorkspaceByDescriptor(descriptor);
        return [workspace.anchoredLocator];
      }
      async getSatisfying(descriptor, dependencies, locators, opts) {
        const [locator] = await this.getCandidates(descriptor, dependencies, opts);
        return {
          locators: locators.filter((candidate) => candidate.locatorHash === locator.locatorHash),
          sorted: false
        };
      }
      async resolve(locator, opts) {
        const workspace = opts.project.getWorkspaceByCwd(locator.reference.slice(_WorkspaceResolver.protocol.length));
        return {
          ...locator,
          version: workspace.manifest.version || `0.0.0`,
          languageName: `unknown`,
          linkType: types_1.LinkType.SOFT,
          conditions: null,
          dependencies: opts.project.configuration.normalizeDependencyMap(new Map([...workspace.manifest.dependencies, ...workspace.manifest.devDependencies])),
          peerDependencies: new Map([...workspace.manifest.peerDependencies]),
          dependenciesMeta: workspace.manifest.dependenciesMeta,
          peerDependenciesMeta: workspace.manifest.peerDependenciesMeta,
          bin: workspace.manifest.bin
        };
      }
    };
    exports2.WorkspaceResolver = WorkspaceResolver;
    WorkspaceResolver.protocol = `workspace:`;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/semverUtils.js
var require_semverUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/semverUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.SemVer = void 0;
    exports2.satisfiesWithPrereleases = satisfiesWithPrereleases;
    exports2.validRange = validRange;
    exports2.clean = clean;
    exports2.getComparator = getComparator;
    exports2.mergeComparators = mergeComparators;
    exports2.stringifyComparator = stringifyComparator;
    exports2.simplifyRanges = simplifyRanges;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var semver_12 = tslib_12.__importDefault(require_semver2());
    var semver_2 = require_semver2();
    Object.defineProperty(exports2, "SemVer", { enumerable: true, get: function() {
      return semver_2.SemVer;
    } });
    var satisfiesWithPrereleasesCache = /* @__PURE__ */ new Map();
    function satisfiesWithPrereleases(version2, range, loose = false) {
      if (!version2)
        return false;
      const key = `${range}${loose}`;
      let semverRange = satisfiesWithPrereleasesCache.get(key);
      if (typeof semverRange === `undefined`) {
        try {
          semverRange = new semver_12.default.Range(range, { includePrerelease: true, loose });
        } catch {
          return false;
        } finally {
          satisfiesWithPrereleasesCache.set(key, semverRange || null);
        }
      } else if (semverRange === null) {
        return false;
      }
      let semverVersion;
      try {
        semverVersion = new semver_12.default.SemVer(version2, semverRange);
      } catch (err) {
        return false;
      }
      if (semverRange.test(semverVersion))
        return true;
      if (semverVersion.prerelease)
        semverVersion.prerelease = [];
      return semverRange.set.some((comparatorSet) => {
        for (const comparator of comparatorSet)
          if (comparator.semver.prerelease)
            comparator.semver.prerelease = [];
        return comparatorSet.every((comparator) => {
          return comparator.test(semverVersion);
        });
      });
    }
    var rangesCache = /* @__PURE__ */ new Map();
    function validRange(potentialRange) {
      if (potentialRange.indexOf(`:`) !== -1)
        return null;
      let range = rangesCache.get(potentialRange);
      if (typeof range !== `undefined`)
        return range;
      try {
        range = new semver_12.default.Range(potentialRange);
      } catch {
        range = null;
      }
      rangesCache.set(potentialRange, range);
      return range;
    }
    var CLEAN_SEMVER_REGEXP = /^(?:[\sv=]*?)((0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?)(?:\s*)$/;
    function clean(potentialVersion) {
      const version2 = CLEAN_SEMVER_REGEXP.exec(potentialVersion);
      return version2 ? version2[1] : null;
    }
    function getComparator(comparators) {
      if (comparators.semver === semver_12.default.Comparator.ANY)
        return { gt: null, lt: null };
      switch (comparators.operator) {
        case ``:
          return { gt: [`>=`, comparators.semver], lt: [`<=`, comparators.semver] };
        case `>`:
        case `>=`:
          return { gt: [comparators.operator, comparators.semver], lt: null };
        case `<`:
        case `<=`:
          return { gt: null, lt: [comparators.operator, comparators.semver] };
        default: {
          throw new Error(`Assertion failed: Unexpected comparator operator (${comparators.operator})`);
        }
      }
    }
    function mergeComparators(comparators) {
      if (comparators.length === 0)
        return null;
      let maxGtComparator = null;
      let minLtComparator = null;
      for (const comparator of comparators) {
        if (comparator.gt) {
          const cmp = maxGtComparator !== null ? semver_12.default.compare(comparator.gt[1], maxGtComparator[1]) : null;
          if (cmp === null || cmp > 0 || cmp === 0 && comparator.gt[0] === `>`) {
            maxGtComparator = comparator.gt;
          }
        }
        if (comparator.lt) {
          const cmp = minLtComparator !== null ? semver_12.default.compare(comparator.lt[1], minLtComparator[1]) : null;
          if (cmp === null || cmp < 0 || cmp === 0 && comparator.lt[0] === `<`) {
            minLtComparator = comparator.lt;
          }
        }
      }
      if (maxGtComparator && minLtComparator) {
        const cmp = semver_12.default.compare(maxGtComparator[1], minLtComparator[1]);
        if (cmp === 0 && (maxGtComparator[0] === `>` || minLtComparator[0] === `<`))
          return null;
        if (cmp > 0) {
          return null;
        }
      }
      return {
        gt: maxGtComparator,
        lt: minLtComparator
      };
    }
    function stringifyComparator(comparator) {
      if (comparator.gt && comparator.lt) {
        if (comparator.gt[0] === `>=` && comparator.lt[0] === `<=` && comparator.gt[1].version === comparator.lt[1].version)
          return comparator.gt[1].version;
        if (comparator.gt[0] === `>=` && comparator.lt[0] === `<`) {
          if (comparator.lt[1].version === `${comparator.gt[1].major + 1}.0.0-0`)
            return `^${comparator.gt[1].version}`;
          if (comparator.lt[1].version === `${comparator.gt[1].major}.${comparator.gt[1].minor + 1}.0-0`) {
            return `~${comparator.gt[1].version}`;
          }
        }
      }
      const parts = [];
      if (comparator.gt)
        parts.push(comparator.gt[0] + comparator.gt[1].version);
      if (comparator.lt)
        parts.push(comparator.lt[0] + comparator.lt[1].version);
      if (!parts.length)
        return `*`;
      return parts.join(` `);
    }
    function simplifyRanges(ranges) {
      const parsedRanges = ranges.map((range) => validRange(range).set.map((comparators) => comparators.map((comparator) => getComparator(comparator))));
      let alternatives = parsedRanges.shift().map((comparators) => mergeComparators(comparators)).filter((range) => range !== null);
      for (const parsedRange of parsedRanges) {
        const nextAlternatives = [];
        for (const comparator of alternatives) {
          for (const refiners of parsedRange) {
            const nextComparators = mergeComparators([
              comparator,
              ...refiners
            ]);
            if (nextComparators !== null) {
              nextAlternatives.push(nextComparators);
            }
          }
        }
        alternatives = nextAlternatives;
      }
      if (alternatives.length === 0)
        return null;
      return alternatives.map((comparator) => stringifyComparator(comparator)).join(` || `);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Manifest.js
var require_Manifest = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Manifest.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Manifest = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var parsers_1 = require_lib67();
    var semver_12 = tslib_12.__importDefault(require_semver2());
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var Manifest = class _Manifest {
      constructor() {
        this.indent = `  `;
        this.name = null;
        this.version = null;
        this.os = null;
        this.cpu = null;
        this.libc = null;
        this.type = null;
        this.packageManager = null;
        this["private"] = false;
        this.license = null;
        this.main = null;
        this.module = null;
        this.browser = null;
        this.languageName = null;
        this.bin = /* @__PURE__ */ new Map();
        this.scripts = /* @__PURE__ */ new Map();
        this.dependencies = /* @__PURE__ */ new Map();
        this.devDependencies = /* @__PURE__ */ new Map();
        this.peerDependencies = /* @__PURE__ */ new Map();
        this.workspaceDefinitions = [];
        this.dependenciesMeta = /* @__PURE__ */ new Map();
        this.peerDependenciesMeta = /* @__PURE__ */ new Map();
        this.resolutions = [];
        this.files = null;
        this.publishConfig = null;
        this.installConfig = null;
        this.preferUnplugged = null;
        this.raw = {};
        this.errors = [];
      }
      static async tryFind(path2, { baseFs = new fslib_12.NodeFS() } = {}) {
        const manifestPath = fslib_12.ppath.join(path2, `package.json`);
        try {
          return await _Manifest.fromFile(manifestPath, { baseFs });
        } catch (err) {
          if (err.code === `ENOENT`)
            return null;
          throw err;
        }
      }
      static async find(path2, { baseFs } = {}) {
        const manifest = await _Manifest.tryFind(path2, { baseFs });
        if (manifest === null)
          throw new Error(`Manifest not found`);
        return manifest;
      }
      static async fromFile(path2, { baseFs = new fslib_12.NodeFS() } = {}) {
        const manifest = new _Manifest();
        await manifest.loadFile(path2, { baseFs });
        return manifest;
      }
      static fromText(text) {
        const manifest = new _Manifest();
        manifest.loadFromText(text);
        return manifest;
      }
      loadFromText(text) {
        let data;
        try {
          data = JSON.parse(stripBOM(text) || `{}`);
        } catch (error) {
          error.message += ` (when parsing ${text})`;
          throw error;
        }
        this.load(data);
        this.indent = getIndent(text);
      }
      async loadFile(path2, { baseFs = new fslib_12.NodeFS() }) {
        const content = await baseFs.readFilePromise(path2, `utf8`);
        let data;
        try {
          data = JSON.parse(stripBOM(content) || `{}`);
        } catch (error) {
          error.message += ` (when parsing ${path2})`;
          throw error;
        }
        this.load(data);
        this.indent = getIndent(content);
      }
      load(data, { yamlCompatibilityMode = false } = {}) {
        if (typeof data !== `object` || data === null)
          throw new Error(`Utterly invalid manifest data (${data})`);
        this.raw = data;
        const errors = [];
        this.name = null;
        if (typeof data.name === `string`) {
          try {
            this.name = structUtils.parseIdent(data.name);
          } catch (error) {
            errors.push(new Error(`Parsing failed for the 'name' field`));
          }
        }
        if (typeof data.version === `string`)
          this.version = data.version;
        else
          this.version = null;
        if (Array.isArray(data.os)) {
          const os = [];
          this.os = os;
          for (const item of data.os) {
            if (typeof item !== `string`) {
              errors.push(new Error(`Parsing failed for the 'os' field`));
            } else {
              os.push(item);
            }
          }
        } else {
          this.os = null;
        }
        if (Array.isArray(data.cpu)) {
          const cpu = [];
          this.cpu = cpu;
          for (const item of data.cpu) {
            if (typeof item !== `string`) {
              errors.push(new Error(`Parsing failed for the 'cpu' field`));
            } else {
              cpu.push(item);
            }
          }
        } else {
          this.cpu = null;
        }
        if (Array.isArray(data.libc)) {
          const libc = [];
          this.libc = libc;
          for (const item of data.libc) {
            if (typeof item !== `string`) {
              errors.push(new Error(`Parsing failed for the 'libc' field`));
            } else {
              libc.push(item);
            }
          }
        } else {
          this.libc = null;
        }
        if (typeof data.type === `string`)
          this.type = data.type;
        else
          this.type = null;
        if (typeof data.packageManager === `string`)
          this.packageManager = data.packageManager;
        else
          this.packageManager = null;
        if (typeof data.private === `boolean`)
          this.private = data.private;
        else
          this.private = false;
        if (typeof data.license === `string`)
          this.license = data.license;
        else
          this.license = null;
        if (typeof data.languageName === `string`)
          this.languageName = data.languageName;
        else
          this.languageName = null;
        if (typeof data.main === `string`)
          this.main = normalizeSlashes(data.main);
        else
          this.main = null;
        if (typeof data.module === `string`)
          this.module = normalizeSlashes(data.module);
        else
          this.module = null;
        if (data.browser != null) {
          if (typeof data.browser === `string`) {
            this.browser = normalizeSlashes(data.browser);
          } else {
            this.browser = /* @__PURE__ */ new Map();
            for (const [key, value] of Object.entries(data.browser)) {
              this.browser.set(normalizeSlashes(key), typeof value === `string` ? normalizeSlashes(value) : value);
            }
          }
        } else {
          this.browser = null;
        }
        this.bin = /* @__PURE__ */ new Map();
        if (typeof data.bin === `string`) {
          if (data.bin.trim() === ``) {
            errors.push(new Error(`Invalid bin field`));
          } else if (this.name !== null) {
            this.bin.set(this.name.name, normalizeSlashes(data.bin));
          } else {
            errors.push(new Error(`String bin field, but no attached package name`));
          }
        } else if (typeof data.bin === `object` && data.bin !== null) {
          for (const [key, value] of Object.entries(data.bin)) {
            if (typeof value !== `string` || value.trim() === ``) {
              errors.push(new Error(`Invalid bin definition for '${key}'`));
              continue;
            }
            const binaryIdent = structUtils.parseIdent(key);
            this.bin.set(binaryIdent.name, normalizeSlashes(value));
          }
        }
        this.scripts = /* @__PURE__ */ new Map();
        if (typeof data.scripts === `object` && data.scripts !== null) {
          for (const [key, value] of Object.entries(data.scripts)) {
            if (typeof value !== `string`) {
              errors.push(new Error(`Invalid script definition for '${key}'`));
              continue;
            }
            this.scripts.set(key, value);
          }
        }
        this.dependencies = /* @__PURE__ */ new Map();
        if (typeof data.dependencies === `object` && data.dependencies !== null) {
          for (const [name, range] of Object.entries(data.dependencies)) {
            if (typeof range !== `string`) {
              errors.push(new Error(`Invalid dependency range for '${name}'`));
              continue;
            }
            let ident;
            try {
              ident = structUtils.parseIdent(name);
            } catch (error) {
              errors.push(new Error(`Parsing failed for the dependency name '${name}'`));
              continue;
            }
            const descriptor = structUtils.makeDescriptor(ident, range);
            this.dependencies.set(descriptor.identHash, descriptor);
          }
        }
        this.devDependencies = /* @__PURE__ */ new Map();
        if (typeof data.devDependencies === `object` && data.devDependencies !== null) {
          for (const [name, range] of Object.entries(data.devDependencies)) {
            if (typeof range !== `string`) {
              errors.push(new Error(`Invalid dependency range for '${name}'`));
              continue;
            }
            let ident;
            try {
              ident = structUtils.parseIdent(name);
            } catch (error) {
              errors.push(new Error(`Parsing failed for the dependency name '${name}'`));
              continue;
            }
            const descriptor = structUtils.makeDescriptor(ident, range);
            this.devDependencies.set(descriptor.identHash, descriptor);
          }
        }
        this.peerDependencies = /* @__PURE__ */ new Map();
        if (typeof data.peerDependencies === `object` && data.peerDependencies !== null) {
          for (let [name, range] of Object.entries(data.peerDependencies)) {
            let ident;
            try {
              ident = structUtils.parseIdent(name);
            } catch (error) {
              errors.push(new Error(`Parsing failed for the dependency name '${name}'`));
              continue;
            }
            if (typeof range !== `string` || !range.startsWith(WorkspaceResolver_1.WorkspaceResolver.protocol) && !semverUtils.validRange(range)) {
              errors.push(new Error(`Invalid dependency range for '${name}'`));
              range = `*`;
            }
            const descriptor = structUtils.makeDescriptor(ident, range);
            this.peerDependencies.set(descriptor.identHash, descriptor);
          }
        }
        if (typeof data.workspaces === `object` && data.workspaces !== null && data.workspaces.nohoist)
          errors.push(new Error(`'nohoist' is deprecated, please use 'installConfig.hoistingLimits' instead`));
        const workspaces = Array.isArray(data.workspaces) ? data.workspaces : typeof data.workspaces === `object` && data.workspaces !== null && Array.isArray(data.workspaces.packages) ? data.workspaces.packages : [];
        this.workspaceDefinitions = [];
        for (const entry of workspaces) {
          if (typeof entry !== `string`) {
            errors.push(new Error(`Invalid workspace definition for '${entry}'`));
            continue;
          }
          this.workspaceDefinitions.push({
            pattern: entry
          });
        }
        this.dependenciesMeta = /* @__PURE__ */ new Map();
        if (typeof data.dependenciesMeta === `object` && data.dependenciesMeta !== null) {
          for (const [pattern, meta] of Object.entries(data.dependenciesMeta)) {
            if (typeof meta !== `object` || meta === null) {
              errors.push(new Error(`Invalid meta field for '${pattern}`));
              continue;
            }
            const descriptor = structUtils.parseDescriptor(pattern);
            const dependencyMeta = this.ensureDependencyMeta(descriptor);
            const built = tryParseOptionalBoolean2(meta.built, { yamlCompatibilityMode });
            if (built === null) {
              errors.push(new Error(`Invalid built meta field for '${pattern}'`));
              continue;
            }
            const optional = tryParseOptionalBoolean2(meta.optional, { yamlCompatibilityMode });
            if (optional === null) {
              errors.push(new Error(`Invalid optional meta field for '${pattern}'`));
              continue;
            }
            const unplugged = tryParseOptionalBoolean2(meta.unplugged, { yamlCompatibilityMode });
            if (unplugged === null) {
              errors.push(new Error(`Invalid unplugged meta field for '${pattern}'`));
              continue;
            }
            Object.assign(dependencyMeta, { built, optional, unplugged });
          }
        }
        this.peerDependenciesMeta = /* @__PURE__ */ new Map();
        if (typeof data.peerDependenciesMeta === `object` && data.peerDependenciesMeta !== null) {
          for (const [pattern, meta] of Object.entries(data.peerDependenciesMeta)) {
            if (typeof meta !== `object` || meta === null) {
              errors.push(new Error(`Invalid meta field for '${pattern}'`));
              continue;
            }
            const descriptor = structUtils.parseDescriptor(pattern);
            const peerDependencyMeta = this.ensurePeerDependencyMeta(descriptor);
            const optional = tryParseOptionalBoolean2(meta.optional, { yamlCompatibilityMode });
            if (optional === null) {
              errors.push(new Error(`Invalid optional meta field for '${pattern}'`));
              continue;
            }
            Object.assign(peerDependencyMeta, { optional });
          }
        }
        this.resolutions = [];
        if (typeof data.resolutions === `object` && data.resolutions !== null) {
          for (const [pattern, reference] of Object.entries(data.resolutions)) {
            if (typeof reference !== `string`) {
              errors.push(new Error(`Invalid resolution entry for '${pattern}'`));
              continue;
            }
            try {
              this.resolutions.push({ pattern: (0, parsers_1.parseResolution)(pattern), reference });
            } catch (error) {
              errors.push(error);
              continue;
            }
          }
        }
        if (Array.isArray(data.files)) {
          this.files = /* @__PURE__ */ new Set();
          for (const filename of data.files) {
            if (typeof filename !== `string`) {
              errors.push(new Error(`Invalid files entry for '${filename}'`));
              continue;
            }
            this.files.add(filename);
          }
        } else {
          this.files = null;
        }
        if (typeof data.publishConfig === `object` && data.publishConfig !== null) {
          this.publishConfig = {};
          if (typeof data.publishConfig.access === `string`)
            this.publishConfig.access = data.publishConfig.access;
          if (typeof data.publishConfig.main === `string`)
            this.publishConfig.main = normalizeSlashes(data.publishConfig.main);
          if (typeof data.publishConfig.module === `string`)
            this.publishConfig.module = normalizeSlashes(data.publishConfig.module);
          if (data.publishConfig.browser != null) {
            if (typeof data.publishConfig.browser === `string`) {
              this.publishConfig.browser = normalizeSlashes(data.publishConfig.browser);
            } else {
              this.publishConfig.browser = /* @__PURE__ */ new Map();
              for (const [key, value] of Object.entries(data.publishConfig.browser)) {
                this.publishConfig.browser.set(normalizeSlashes(key), typeof value === `string` ? normalizeSlashes(value) : value);
              }
            }
          }
          if (typeof data.publishConfig.registry === `string`)
            this.publishConfig.registry = data.publishConfig.registry;
          if (typeof data.publishConfig.bin === `string`) {
            if (this.name !== null) {
              this.publishConfig.bin = /* @__PURE__ */ new Map([[this.name.name, normalizeSlashes(data.publishConfig.bin)]]);
            } else {
              errors.push(new Error(`String bin field, but no attached package name`));
            }
          } else if (typeof data.publishConfig.bin === `object` && data.publishConfig.bin !== null) {
            this.publishConfig.bin = /* @__PURE__ */ new Map();
            for (const [key, value] of Object.entries(data.publishConfig.bin)) {
              if (typeof value !== `string`) {
                errors.push(new Error(`Invalid bin definition for '${key}'`));
                continue;
              }
              this.publishConfig.bin.set(key, normalizeSlashes(value));
            }
          }
          if (Array.isArray(data.publishConfig.executableFiles)) {
            this.publishConfig.executableFiles = /* @__PURE__ */ new Set();
            for (const value of data.publishConfig.executableFiles) {
              if (typeof value !== `string`) {
                errors.push(new Error(`Invalid executable file definition`));
                continue;
              }
              this.publishConfig.executableFiles.add(normalizeSlashes(value));
            }
          }
        } else {
          this.publishConfig = null;
        }
        if (typeof data.installConfig === `object` && data.installConfig !== null) {
          this.installConfig = {};
          for (const key of Object.keys(data.installConfig)) {
            if (key === `hoistingLimits`) {
              if (typeof data.installConfig.hoistingLimits === `string`) {
                this.installConfig.hoistingLimits = data.installConfig.hoistingLimits;
              } else {
                errors.push(new Error(`Invalid hoisting limits definition`));
              }
            } else if (key == `selfReferences`) {
              if (typeof data.installConfig.selfReferences == `boolean`) {
                this.installConfig.selfReferences = data.installConfig.selfReferences;
              } else {
                errors.push(new Error(`Invalid selfReferences definition, must be a boolean value`));
              }
            } else {
              errors.push(new Error(`Unrecognized installConfig key: ${key}`));
            }
          }
        } else {
          this.installConfig = null;
        }
        if (typeof data.optionalDependencies === `object` && data.optionalDependencies !== null) {
          for (const [name, range] of Object.entries(data.optionalDependencies)) {
            if (typeof range !== `string`) {
              errors.push(new Error(`Invalid dependency range for '${name}'`));
              continue;
            }
            let ident;
            try {
              ident = structUtils.parseIdent(name);
            } catch (error) {
              errors.push(new Error(`Parsing failed for the dependency name '${name}'`));
              continue;
            }
            const realDescriptor = structUtils.makeDescriptor(ident, range);
            this.dependencies.set(realDescriptor.identHash, realDescriptor);
            const identDescriptor = structUtils.makeDescriptor(ident, `unknown`);
            const dependencyMeta = this.ensureDependencyMeta(identDescriptor);
            Object.assign(dependencyMeta, { optional: true });
          }
        }
        if (typeof data.preferUnplugged === `boolean`)
          this.preferUnplugged = data.preferUnplugged;
        else
          this.preferUnplugged = null;
        this.errors = errors;
      }
      getForScope(type) {
        switch (type) {
          case `dependencies`:
            return this.dependencies;
          case `devDependencies`:
            return this.devDependencies;
          case `peerDependencies`:
            return this.peerDependencies;
          default: {
            throw new Error(`Unsupported value ("${type}")`);
          }
        }
      }
      hasConsumerDependency(ident) {
        if (this.dependencies.has(ident.identHash))
          return true;
        if (this.peerDependencies.has(ident.identHash))
          return true;
        return false;
      }
      hasHardDependency(ident) {
        if (this.dependencies.has(ident.identHash))
          return true;
        if (this.devDependencies.has(ident.identHash))
          return true;
        return false;
      }
      hasSoftDependency(ident) {
        if (this.peerDependencies.has(ident.identHash))
          return true;
        return false;
      }
      hasDependency(ident) {
        if (this.hasHardDependency(ident))
          return true;
        if (this.hasSoftDependency(ident))
          return true;
        return false;
      }
      getConditions() {
        const fields = [];
        if (this.os && this.os.length > 0)
          fields.push(toConditionLine(`os`, this.os));
        if (this.cpu && this.cpu.length > 0)
          fields.push(toConditionLine(`cpu`, this.cpu));
        if (this.libc && this.libc.length > 0)
          fields.push(toConditionLine(`libc`, this.libc));
        return fields.length > 0 ? fields.join(` & `) : null;
      }
      ensureDependencyMeta(descriptor) {
        if (descriptor.range !== `unknown` && !semver_12.default.valid(descriptor.range))
          throw new Error(`Invalid meta field range for '${structUtils.stringifyDescriptor(descriptor)}'`);
        const identString = structUtils.stringifyIdent(descriptor);
        const range = descriptor.range !== `unknown` ? descriptor.range : null;
        let dependencyMetaSet = this.dependenciesMeta.get(identString);
        if (!dependencyMetaSet)
          this.dependenciesMeta.set(identString, dependencyMetaSet = /* @__PURE__ */ new Map());
        let dependencyMeta = dependencyMetaSet.get(range);
        if (!dependencyMeta)
          dependencyMetaSet.set(range, dependencyMeta = {});
        return dependencyMeta;
      }
      ensurePeerDependencyMeta(descriptor) {
        if (descriptor.range !== `unknown`)
          throw new Error(`Invalid meta field range for '${structUtils.stringifyDescriptor(descriptor)}'`);
        const identString = structUtils.stringifyIdent(descriptor);
        let peerDependencyMeta = this.peerDependenciesMeta.get(identString);
        if (!peerDependencyMeta)
          this.peerDependenciesMeta.set(identString, peerDependencyMeta = {});
        return peerDependencyMeta;
      }
      setRawField(name, value, { after = [] } = {}) {
        const afterSet = new Set(after.filter((key) => {
          return Object.hasOwn(this.raw, key);
        }));
        if (afterSet.size === 0 || Object.hasOwn(this.raw, name)) {
          this.raw[name] = value;
        } else {
          const oldRaw = this.raw;
          const newRaw = this.raw = {};
          let inserted = false;
          for (const key of Object.keys(oldRaw)) {
            newRaw[key] = oldRaw[key];
            if (!inserted) {
              afterSet.delete(key);
              if (afterSet.size === 0) {
                newRaw[name] = value;
                inserted = true;
              }
            }
          }
        }
      }
      exportTo(data, { compatibilityMode = true } = {}) {
        Object.assign(data, this.raw);
        if (this.name !== null)
          data.name = structUtils.stringifyIdent(this.name);
        else
          delete data.name;
        if (this.version !== null)
          data.version = this.version;
        else
          delete data.version;
        if (this.os !== null)
          data.os = this.os;
        else
          delete data.os;
        if (this.cpu !== null)
          data.cpu = this.cpu;
        else
          delete data.cpu;
        if (this.type !== null)
          data.type = this.type;
        else
          delete data.type;
        if (this.packageManager !== null)
          data.packageManager = this.packageManager;
        else
          delete data.packageManager;
        if (this.private)
          data.private = true;
        else
          delete data.private;
        if (this.license !== null)
          data.license = this.license;
        else
          delete data.license;
        if (this.languageName !== null)
          data.languageName = this.languageName;
        else
          delete data.languageName;
        if (this.main !== null)
          data.main = this.main;
        else
          delete data.main;
        if (this.module !== null)
          data.module = this.module;
        else
          delete data.module;
        if (this.browser !== null) {
          const browser = this.browser;
          if (typeof browser === `string`) {
            data.browser = browser;
          } else if (browser instanceof Map) {
            data.browser = Object.assign({}, ...Array.from(browser.keys()).sort().map((name) => {
              return { [name]: browser.get(name) };
            }));
          }
        } else {
          delete data.browser;
        }
        if (this.bin.size === 1 && this.name !== null && this.bin.has(this.name.name)) {
          data.bin = this.bin.get(this.name.name);
        } else if (this.bin.size > 0) {
          data.bin = Object.assign({}, ...Array.from(this.bin.keys()).sort().map((name) => {
            return { [name]: this.bin.get(name) };
          }));
        } else {
          delete data.bin;
        }
        if (this.workspaceDefinitions.length > 0) {
          if (this.raw.workspaces && !Array.isArray(this.raw.workspaces)) {
            data.workspaces = { ...this.raw.workspaces, packages: this.workspaceDefinitions.map(({ pattern }) => pattern) };
          } else {
            data.workspaces = this.workspaceDefinitions.map(({ pattern }) => pattern);
          }
        } else if (this.raw.workspaces && !Array.isArray(this.raw.workspaces) && Object.keys(this.raw.workspaces).length > 0) {
          data.workspaces = this.raw.workspaces;
        } else {
          delete data.workspaces;
        }
        const regularDependencies = [];
        const optionalDependencies = [];
        for (const dependency of this.dependencies.values()) {
          const dependencyMetaSet = this.dependenciesMeta.get(structUtils.stringifyIdent(dependency));
          let isOptionallyBuilt = false;
          if (compatibilityMode) {
            if (dependencyMetaSet) {
              const meta = dependencyMetaSet.get(null);
              if (meta && meta.optional) {
                isOptionallyBuilt = true;
              }
            }
          }
          if (isOptionallyBuilt) {
            optionalDependencies.push(dependency);
          } else {
            regularDependencies.push(dependency);
          }
        }
        if (regularDependencies.length > 0) {
          data.dependencies = Object.assign({}, ...structUtils.sortDescriptors(regularDependencies).map((dependency) => {
            return { [structUtils.stringifyIdent(dependency)]: dependency.range };
          }));
        } else {
          delete data.dependencies;
        }
        if (optionalDependencies.length > 0) {
          data.optionalDependencies = Object.assign({}, ...structUtils.sortDescriptors(optionalDependencies).map((dependency) => {
            return { [structUtils.stringifyIdent(dependency)]: dependency.range };
          }));
        } else {
          delete data.optionalDependencies;
        }
        if (this.devDependencies.size > 0) {
          data.devDependencies = Object.assign({}, ...structUtils.sortDescriptors(this.devDependencies.values()).map((dependency) => {
            return { [structUtils.stringifyIdent(dependency)]: dependency.range };
          }));
        } else {
          delete data.devDependencies;
        }
        if (this.peerDependencies.size > 0) {
          data.peerDependencies = Object.assign({}, ...structUtils.sortDescriptors(this.peerDependencies.values()).map((dependency) => {
            return { [structUtils.stringifyIdent(dependency)]: dependency.range };
          }));
        } else {
          delete data.peerDependencies;
        }
        data.dependenciesMeta = {};
        for (const [identString, dependencyMetaSet] of miscUtils.sortMap(this.dependenciesMeta.entries(), ([identString2, dependencyMetaSet2]) => identString2)) {
          for (const [range, meta] of miscUtils.sortMap(dependencyMetaSet.entries(), ([range2, meta2]) => range2 !== null ? `0${range2}` : `1`)) {
            const key = range !== null ? structUtils.stringifyDescriptor(structUtils.makeDescriptor(structUtils.parseIdent(identString), range)) : identString;
            const metaCopy = { ...meta };
            if (compatibilityMode && range === null)
              delete metaCopy.optional;
            if (Object.keys(metaCopy).length === 0)
              continue;
            data.dependenciesMeta[key] = metaCopy;
          }
        }
        if (Object.keys(data.dependenciesMeta).length === 0)
          delete data.dependenciesMeta;
        if (this.peerDependenciesMeta.size > 0) {
          data.peerDependenciesMeta = Object.assign({}, ...miscUtils.sortMap(this.peerDependenciesMeta.entries(), ([identString, meta]) => identString).map(([identString, meta]) => {
            return { [identString]: meta };
          }));
        } else {
          delete data.peerDependenciesMeta;
        }
        if (this.resolutions.length > 0) {
          data.resolutions = Object.assign({}, ...this.resolutions.map(({ pattern, reference }) => {
            return { [(0, parsers_1.stringifyResolution)(pattern)]: reference };
          }));
        } else {
          delete data.resolutions;
        }
        if (this.files !== null)
          data.files = Array.from(this.files);
        else
          delete data.files;
        if (this.preferUnplugged !== null)
          data.preferUnplugged = this.preferUnplugged;
        else
          delete data.preferUnplugged;
        if (this.scripts !== null && this.scripts.size > 0) {
          data.scripts ??= {};
          for (const existingScriptName of Object.keys(data.scripts))
            if (!this.scripts.has(existingScriptName))
              delete data.scripts[existingScriptName];
          for (const [name, content] of this.scripts.entries()) {
            data.scripts[name] = content;
          }
        } else {
          delete data.scripts;
        }
        return data;
      }
    };
    exports2.Manifest = Manifest;
    Manifest.fileName = `package.json`;
    Manifest.allDependencies = [`dependencies`, `devDependencies`, `peerDependencies`];
    Manifest.hardDependencies = [`dependencies`, `devDependencies`];
    function getIndent(content) {
      const indentMatch = content.match(/^[ \t]+/m);
      if (indentMatch) {
        return indentMatch[0];
      } else {
        return `  `;
      }
    }
    function stripBOM(content) {
      if (content.charCodeAt(0) === 65279) {
        return content.slice(1);
      } else {
        return content;
      }
    }
    function normalizeSlashes(str) {
      return str.replace(/\\/g, `/`);
    }
    function tryParseOptionalBoolean2(value, { yamlCompatibilityMode }) {
      if (yamlCompatibilityMode)
        return miscUtils.tryParseOptionalBoolean(value);
      if (typeof value === `undefined` || typeof value === `boolean`)
        return value;
      return null;
    }
    function toConditionToken(name, raw) {
      const index = raw.search(/[^!]/);
      if (index === -1)
        return `invalid`;
      const prefix = index % 2 === 0 ? `` : `!`;
      const value = raw.slice(index);
      return `${prefix}${name}=${value}`;
    }
    function toConditionLine(name, rawTokens) {
      if (rawTokens.length === 1) {
        return toConditionToken(name, rawTokens[0]);
      } else {
        return `(${rawTokens.map((raw) => toConditionToken(name, raw)).join(` | `)})`;
      }
    }
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js
var require_now = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/now.js"(exports2, module2) {
    var root = require_root();
    var now = function() {
      return root.Date.now();
    };
    module2.exports = now;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js
var require_trimmedEndIndex = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_trimmedEndIndex.js"(exports2, module2) {
    var reWhitespace = /\s/;
    function trimmedEndIndex(string) {
      var index = string.length;
      while (index-- && reWhitespace.test(string.charAt(index))) {
      }
      return index;
    }
    module2.exports = trimmedEndIndex;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js
var require_baseTrim = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTrim.js"(exports2, module2) {
    var trimmedEndIndex = require_trimmedEndIndex();
    var reTrimStart = /^\s+/;
    function baseTrim(string) {
      return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
    }
    module2.exports = baseTrim;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js
var require_isSymbol = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isSymbol.js"(exports2, module2) {
    var baseGetTag = require_baseGetTag();
    var isObjectLike = require_isObjectLike();
    var symbolTag = "[object Symbol]";
    function isSymbol(value) {
      return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
    }
    module2.exports = isSymbol;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js
var require_toNumber = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toNumber.js"(exports2, module2) {
    var baseTrim = require_baseTrim();
    var isObject = require_isObject2();
    var isSymbol = require_isSymbol();
    var NAN = 0 / 0;
    var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
    var reIsBinary = /^0b[01]+$/i;
    var reIsOctal = /^0o[0-7]+$/i;
    var freeParseInt = parseInt;
    function toNumber(value) {
      if (typeof value == "number") {
        return value;
      }
      if (isSymbol(value)) {
        return NAN;
      }
      if (isObject(value)) {
        var other = typeof value.valueOf == "function" ? value.valueOf() : value;
        value = isObject(other) ? other + "" : other;
      }
      if (typeof value != "string") {
        return value === 0 ? value : +value;
      }
      value = baseTrim(value);
      var isBinary = reIsBinary.test(value);
      return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
    }
    module2.exports = toNumber;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js
var require_debounce2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/debounce.js"(exports2, module2) {
    var isObject = require_isObject2();
    var now = require_now();
    var toNumber = require_toNumber();
    var FUNC_ERROR_TEXT = "Expected a function";
    var nativeMax = Math.max;
    var nativeMin = Math.min;
    function debounce(func, wait, options) {
      var lastArgs, lastThis, maxWait, result2, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
      if (typeof func != "function") {
        throw new TypeError(FUNC_ERROR_TEXT);
      }
      wait = toNumber(wait) || 0;
      if (isObject(options)) {
        leading = !!options.leading;
        maxing = "maxWait" in options;
        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
        trailing = "trailing" in options ? !!options.trailing : trailing;
      }
      function invokeFunc(time) {
        var args = lastArgs, thisArg = lastThis;
        lastArgs = lastThis = void 0;
        lastInvokeTime = time;
        result2 = func.apply(thisArg, args);
        return result2;
      }
      function leadingEdge(time) {
        lastInvokeTime = time;
        timerId = setTimeout(timerExpired, wait);
        return leading ? invokeFunc(time) : result2;
      }
      function remainingWait(time) {
        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
        return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
      }
      function shouldInvoke(time) {
        var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
        return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
      }
      function timerExpired() {
        var time = now();
        if (shouldInvoke(time)) {
          return trailingEdge(time);
        }
        timerId = setTimeout(timerExpired, remainingWait(time));
      }
      function trailingEdge(time) {
        timerId = void 0;
        if (trailing && lastArgs) {
          return invokeFunc(time);
        }
        lastArgs = lastThis = void 0;
        return result2;
      }
      function cancel() {
        if (timerId !== void 0) {
          clearTimeout(timerId);
        }
        lastInvokeTime = 0;
        lastArgs = lastCallTime = lastThis = timerId = void 0;
      }
      function flush() {
        return timerId === void 0 ? result2 : trailingEdge(now());
      }
      function debounced() {
        var time = now(), isInvoking = shouldInvoke(time);
        lastArgs = arguments;
        lastThis = this;
        lastCallTime = time;
        if (isInvoking) {
          if (timerId === void 0) {
            return leadingEdge(lastCallTime);
          }
          if (maxing) {
            clearTimeout(timerId);
            timerId = setTimeout(timerExpired, wait);
            return invokeFunc(lastCallTime);
          }
        }
        if (timerId === void 0) {
          timerId = setTimeout(timerExpired, wait);
        }
        return result2;
      }
      debounced.cancel = cancel;
      debounced.flush = flush;
      return debounced;
    }
    module2.exports = debounce;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/throttle.js
var require_throttle2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/throttle.js"(exports2, module2) {
    var debounce = require_debounce2();
    var isObject = require_isObject2();
    var FUNC_ERROR_TEXT = "Expected a function";
    function throttle(func, wait, options) {
      var leading = true, trailing = true;
      if (typeof func != "function") {
        throw new TypeError(FUNC_ERROR_TEXT);
      }
      if (isObject(options)) {
        leading = "leading" in options ? !!options.leading : leading;
        trailing = "trailing" in options ? !!options.trailing : trailing;
      }
      return debounce(func, wait, {
        "leading": leading,
        "maxWait": wait,
        "trailing": trailing
      });
    }
    module2.exports = throttle;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Report.js
var require_Report = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Report.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Report = exports2.ReportError = void 0;
    exports2.isReportError = isReportError;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var throttle_1 = tslib_12.__importDefault(require_throttle2());
    var stream_12 = require("stream");
    var string_decoder_1 = require("string_decoder");
    var MessageName_1 = require_MessageName();
    var TITLE_PROGRESS_FPS = 15;
    var ReportError = class extends Error {
      constructor(code, message, reportExtra) {
        super(message);
        this.reportExtra = reportExtra;
        this.reportCode = code;
      }
    };
    exports2.ReportError = ReportError;
    function isReportError(error) {
      return typeof error.reportCode !== `undefined`;
    }
    var Report = class {
      constructor() {
        this.cacheHits = /* @__PURE__ */ new Set();
        this.cacheMisses = /* @__PURE__ */ new Set();
        this.reportedInfos = /* @__PURE__ */ new Set();
        this.reportedWarnings = /* @__PURE__ */ new Set();
        this.reportedErrors = /* @__PURE__ */ new Set();
      }
      getRecommendedLength() {
        return 180;
      }
      reportCacheHit(locator) {
        this.cacheHits.add(locator.locatorHash);
      }
      reportCacheMiss(locator, message) {
        this.cacheMisses.add(locator.locatorHash);
      }
      static progressViaCounter(max) {
        let current = 0;
        let unlock;
        let lock = new Promise((resolve) => {
          unlock = resolve;
        });
        const set = (n) => {
          const thisUnlock = unlock;
          lock = new Promise((resolve) => {
            unlock = resolve;
          });
          current = n;
          thisUnlock();
        };
        const tick = (n = 0) => {
          set(current + 1);
        };
        const gen = async function* () {
          while (current < max) {
            await lock;
            yield {
              progress: current / max
            };
          }
        }();
        return {
          [Symbol.asyncIterator]() {
            return gen;
          },
          hasProgress: true,
          hasTitle: false,
          set,
          tick
        };
      }
      static progressViaTitle() {
        let currentTitle;
        let unlock;
        let lock = new Promise((resolve) => {
          unlock = resolve;
        });
        const setTitle = (0, throttle_1.default)((title) => {
          const thisUnlock = unlock;
          lock = new Promise((resolve) => {
            unlock = resolve;
          });
          currentTitle = title;
          thisUnlock();
        }, 1e3 / TITLE_PROGRESS_FPS);
        const gen = async function* () {
          while (true) {
            await lock;
            yield {
              title: currentTitle
            };
          }
        }();
        return {
          [Symbol.asyncIterator]() {
            return gen;
          },
          hasProgress: false,
          hasTitle: true,
          setTitle
        };
      }
      async startProgressPromise(progressIt, cb) {
        const reportedProgress = this.reportProgress(progressIt);
        try {
          return await cb(progressIt);
        } finally {
          reportedProgress.stop();
        }
      }
      startProgressSync(progressIt, cb) {
        const reportedProgress = this.reportProgress(progressIt);
        try {
          return cb(progressIt);
        } finally {
          reportedProgress.stop();
        }
      }
      reportInfoOnce(name, text, opts) {
        const key = opts && opts.key ? opts.key : text;
        if (!this.reportedInfos.has(key)) {
          this.reportedInfos.add(key);
          this.reportInfo(name, text);
          opts?.reportExtra?.(this);
        }
      }
      reportWarningOnce(name, text, opts) {
        const key = opts && opts.key ? opts.key : text;
        if (!this.reportedWarnings.has(key)) {
          this.reportedWarnings.add(key);
          this.reportWarning(name, text);
          opts?.reportExtra?.(this);
        }
      }
      reportErrorOnce(name, text, opts) {
        const key = opts && opts.key ? opts.key : text;
        if (!this.reportedErrors.has(key)) {
          this.reportedErrors.add(key);
          this.reportError(name, text);
          opts?.reportExtra?.(this);
        }
      }
      reportExceptionOnce(error) {
        if (isReportError(error)) {
          this.reportErrorOnce(error.reportCode, error.message, { key: error, reportExtra: error.reportExtra });
        } else {
          this.reportErrorOnce(MessageName_1.MessageName.EXCEPTION, error.stack || error.message, { key: error });
        }
      }
      createStreamReporter(prefix = null) {
        const stream = new stream_12.PassThrough();
        const decoder = new string_decoder_1.StringDecoder();
        let buffer = ``;
        stream.on(`data`, (chunk) => {
          let chunkStr = decoder.write(chunk);
          let lineIndex;
          do {
            lineIndex = chunkStr.indexOf(`
`);
            if (lineIndex !== -1) {
              const line = buffer + chunkStr.substring(0, lineIndex);
              chunkStr = chunkStr.substring(lineIndex + 1);
              buffer = ``;
              if (prefix !== null) {
                this.reportInfo(null, `${prefix} ${line}`);
              } else {
                this.reportInfo(null, line);
              }
            }
          } while (lineIndex !== -1);
          buffer += chunkStr;
        });
        stream.on(`end`, () => {
          const last = decoder.end();
          if (last !== ``) {
            if (prefix !== null) {
              this.reportInfo(null, `${prefix} ${last}`);
            } else {
              this.reportInfo(null, last);
            }
          }
        });
        return stream;
      }
    };
    exports2.Report = Report;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MultiFetcher.js
var require_MultiFetcher = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MultiFetcher.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.MultiFetcher = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var structUtils = tslib_12.__importStar(require_structUtils());
    var MultiFetcher = class {
      constructor(fetchers) {
        this.fetchers = fetchers;
      }
      supports(locator, opts) {
        if (!this.tryFetcher(locator, opts))
          return false;
        return true;
      }
      getLocalPath(locator, opts) {
        const fetcher = this.getFetcher(locator, opts);
        return fetcher.getLocalPath(locator, opts);
      }
      async fetch(locator, opts) {
        const fetcher = this.getFetcher(locator, opts);
        return await fetcher.fetch(locator, opts);
      }
      tryFetcher(locator, opts) {
        const fetcher = this.fetchers.find((fetcher2) => fetcher2.supports(locator, opts));
        if (!fetcher)
          return null;
        return fetcher;
      }
      getFetcher(locator, opts) {
        const fetcher = this.fetchers.find((fetcher2) => fetcher2.supports(locator, opts));
        if (!fetcher)
          throw new Report_1.ReportError(MessageName_1.MessageName.FETCHER_NOT_FOUND, `${structUtils.prettyLocator(opts.project.configuration, locator)} isn't supported by any available fetcher`);
        return fetcher;
      }
    };
    exports2.MultiFetcher = MultiFetcher;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MultiResolver.js
var require_MultiResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/MultiResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.MultiResolver = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var structUtils = tslib_12.__importStar(require_structUtils());
    var MultiResolver = class {
      constructor(resolvers) {
        this.resolvers = resolvers.filter((resolver) => resolver);
      }
      supportsDescriptor(descriptor, opts) {
        const resolver = this.tryResolverByDescriptor(descriptor, opts);
        return !!resolver;
      }
      supportsLocator(locator, opts) {
        const resolver = this.tryResolverByLocator(locator, opts);
        return !!resolver;
      }
      shouldPersistResolution(locator, opts) {
        const resolver = this.getResolverByLocator(locator, opts);
        return resolver.shouldPersistResolution(locator, opts);
      }
      bindDescriptor(descriptor, fromLocator, opts) {
        const resolver = this.getResolverByDescriptor(descriptor, opts);
        return resolver.bindDescriptor(descriptor, fromLocator, opts);
      }
      getResolutionDependencies(descriptor, opts) {
        const resolver = this.getResolverByDescriptor(descriptor, opts);
        return resolver.getResolutionDependencies(descriptor, opts);
      }
      async getCandidates(descriptor, dependencies, opts) {
        const resolver = this.getResolverByDescriptor(descriptor, opts);
        return await resolver.getCandidates(descriptor, dependencies, opts);
      }
      async getSatisfying(descriptor, dependencies, locators, opts) {
        const resolver = this.getResolverByDescriptor(descriptor, opts);
        return resolver.getSatisfying(descriptor, dependencies, locators, opts);
      }
      async resolve(locator, opts) {
        const resolver = this.getResolverByLocator(locator, opts);
        return await resolver.resolve(locator, opts);
      }
      tryResolverByDescriptor(descriptor, opts) {
        const resolver = this.resolvers.find((resolver2) => resolver2.supportsDescriptor(descriptor, opts));
        if (!resolver)
          return null;
        return resolver;
      }
      getResolverByDescriptor(descriptor, opts) {
        const resolver = this.resolvers.find((resolver2) => resolver2.supportsDescriptor(descriptor, opts));
        if (!resolver)
          throw new Error(`${structUtils.prettyDescriptor(opts.project.configuration, descriptor)} isn't supported by any available resolver`);
        return resolver;
      }
      tryResolverByLocator(locator, opts) {
        const resolver = this.resolvers.find((resolver2) => resolver2.supportsLocator(locator, opts));
        if (!resolver)
          return null;
        return resolver;
      }
      getResolverByLocator(locator, opts) {
        const resolver = this.resolvers.find((resolver2) => resolver2.supportsLocator(locator, opts));
        if (!resolver)
          throw new Error(`${structUtils.prettyLocator(opts.project.configuration, locator)} isn't supported by any available resolver`);
        return resolver;
      }
    };
    exports2.MultiResolver = MultiResolver;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/VirtualFetcher.js
var require_VirtualFetcher = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/VirtualFetcher.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.VirtualFetcher = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var structUtils = tslib_12.__importStar(require_structUtils());
    var VirtualFetcher = class {
      supports(locator) {
        if (!locator.reference.startsWith(`virtual:`))
          return false;
        return true;
      }
      getLocalPath(locator, opts) {
        const splitPoint = locator.reference.indexOf(`#`);
        if (splitPoint === -1)
          throw new Error(`Invalid virtual package reference`);
        const nextReference = locator.reference.slice(splitPoint + 1);
        const nextLocator = structUtils.makeLocator(locator, nextReference);
        return opts.fetcher.getLocalPath(nextLocator, opts);
      }
      async fetch(locator, opts) {
        const splitPoint = locator.reference.indexOf(`#`);
        if (splitPoint === -1)
          throw new Error(`Invalid virtual package reference`);
        const nextReference = locator.reference.slice(splitPoint + 1);
        const nextLocator = structUtils.makeLocator(locator, nextReference);
        const parentFetch = await opts.fetcher.fetch(nextLocator, opts);
        return await this.ensureVirtualLink(locator, parentFetch, opts);
      }
      getLocatorFilename(locator) {
        return structUtils.slugifyLocator(locator);
      }
      async ensureVirtualLink(locator, sourceFetch, opts) {
        const to = sourceFetch.packageFs.getRealPath();
        const virtualFolder = opts.project.configuration.get(`virtualFolder`);
        const virtualName = this.getLocatorFilename(locator);
        const virtualPath = fslib_12.VirtualFS.makeVirtualPath(virtualFolder, virtualName, to);
        const aliasFs = new fslib_12.AliasFS(virtualPath, { baseFs: sourceFetch.packageFs, pathUtils: fslib_12.ppath });
        return { ...sourceFetch, packageFs: aliasFs };
      }
    };
    exports2.VirtualFetcher = VirtualFetcher;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/VirtualResolver.js
var require_VirtualResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/VirtualResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.VirtualResolver = void 0;
    var VirtualResolver = class _VirtualResolver {
      static isVirtualDescriptor(descriptor) {
        if (!descriptor.range.startsWith(_VirtualResolver.protocol))
          return false;
        return true;
      }
      static isVirtualLocator(locator) {
        if (!locator.reference.startsWith(_VirtualResolver.protocol))
          return false;
        return true;
      }
      supportsDescriptor(descriptor, opts) {
        return _VirtualResolver.isVirtualDescriptor(descriptor);
      }
      supportsLocator(locator, opts) {
        return _VirtualResolver.isVirtualLocator(locator);
      }
      shouldPersistResolution(locator, opts) {
        return false;
      }
      bindDescriptor(descriptor, locator, opts) {
        throw new Error(`Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported`);
      }
      getResolutionDependencies(descriptor, opts) {
        throw new Error(`Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported`);
      }
      async getCandidates(descriptor, dependencies, opts) {
        throw new Error(`Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported`);
      }
      async getSatisfying(descriptor, dependencies, candidates, opts) {
        throw new Error(`Assertion failed: calling "getSatisfying" on a virtual descriptor is unsupported`);
      }
      async resolve(locator, opts) {
        throw new Error(`Assertion failed: calling "resolve" on a virtual locator is unsupported`);
      }
    };
    exports2.VirtualResolver = VirtualResolver;
    VirtualResolver.protocol = `virtual:`;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/WorkspaceFetcher.js
var require_WorkspaceFetcher = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/WorkspaceFetcher.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.WorkspaceFetcher = void 0;
    var fslib_12 = require_lib66();
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    var WorkspaceFetcher = class {
      supports(locator) {
        if (!locator.reference.startsWith(WorkspaceResolver_1.WorkspaceResolver.protocol))
          return false;
        return true;
      }
      getLocalPath(locator, opts) {
        return this.getWorkspace(locator, opts).cwd;
      }
      async fetch(locator, opts) {
        const sourcePath = this.getWorkspace(locator, opts).cwd;
        return { packageFs: new fslib_12.CwdFS(sourcePath), prefixPath: fslib_12.PortablePath.dot, localPath: sourcePath };
      }
      getWorkspace(locator, opts) {
        return opts.project.getWorkspaceByCwd(locator.reference.slice(WorkspaceResolver_1.WorkspaceResolver.protocol.length));
      }
    };
    exports2.WorkspaceFetcher = WorkspaceFetcher;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/configUtils.js
var require_configUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/configUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RESOLVED_RC_FILE = void 0;
    exports2.resolveRcFiles = resolveRcFiles;
    exports2.getValue = getValue;
    exports2.getValueByTree = getValueByTree;
    exports2.getSource = getSource;
    var findLastIndex = (array, predicate, thisArg) => {
      const reversedArray = [...array];
      reversedArray.reverse();
      return reversedArray.findIndex(predicate, thisArg);
    };
    function isObject(data) {
      return typeof data === `object` && data !== null && !Array.isArray(data);
    }
    var ValueType;
    (function(ValueType2) {
      ValueType2[ValueType2["Object"] = 0] = "Object";
      ValueType2[ValueType2["Array"] = 1] = "Array";
      ValueType2[ValueType2["Literal"] = 2] = "Literal";
      ValueType2[ValueType2["Undefined"] = 3] = "Undefined";
    })(ValueType || (ValueType = {}));
    function getValueType(data) {
      if (typeof data === `undefined`)
        return ValueType.Undefined;
      if (isObject(data))
        return ValueType.Object;
      if (Array.isArray(data))
        return ValueType.Array;
      return ValueType.Literal;
    }
    function hasProperty(data, key) {
      return Object.hasOwn(data, key);
    }
    function isConflictMarker(data) {
      return isObject(data) && hasProperty(data, `onConflict`) && typeof data.onConflict === `string`;
    }
    function normalizeValue(data) {
      if (typeof data === `undefined`)
        return { onConflict: `default`, value: data };
      if (!isConflictMarker(data))
        return { onConflict: `default`, value: data };
      if (hasProperty(data, `value`))
        return data;
      const { onConflict, ...value } = data;
      return { onConflict, value };
    }
    function getNormalized(data, key) {
      const rawValue = isObject(data) && hasProperty(data, key) ? data[key] : void 0;
      return normalizeValue(rawValue);
    }
    exports2.RESOLVED_RC_FILE = Symbol();
    function resolvedRcFile(id, value) {
      return [id, value, exports2.RESOLVED_RC_FILE];
    }
    function isResolvedRcFile(value) {
      if (!Array.isArray(value))
        return false;
      return value[2] === exports2.RESOLVED_RC_FILE;
    }
    function attachIdToTree(data, id) {
      if (isObject(data)) {
        const result2 = {};
        for (const key of Object.keys(data))
          result2[key] = attachIdToTree(data[key], id);
        return resolvedRcFile(id, result2);
      }
      if (Array.isArray(data))
        return resolvedRcFile(id, data.map((item) => attachIdToTree(item, id)));
      return resolvedRcFile(id, data);
    }
    function resolveValueAt(rcFiles, path2, key, firstVisiblePosition, resolveAtPosition) {
      let expectedValueType;
      const relevantValues = [];
      let lastRelevantPosition = resolveAtPosition;
      let currentResetPosition = 0;
      for (let t = resolveAtPosition - 1; t >= firstVisiblePosition; --t) {
        const [id, data] = rcFiles[t];
        const { onConflict, value } = getNormalized(data, key);
        const valueType = getValueType(value);
        if (valueType === ValueType.Undefined)
          continue;
        expectedValueType ??= valueType;
        if (valueType !== expectedValueType || onConflict === `hardReset`) {
          currentResetPosition = lastRelevantPosition;
          break;
        }
        if (valueType === ValueType.Literal)
          return resolvedRcFile(id, value);
        relevantValues.unshift([id, value]);
        if (onConflict === `reset`) {
          currentResetPosition = t;
          break;
        }
        if (onConflict === `extend` && t === firstVisiblePosition)
          firstVisiblePosition = 0;
        lastRelevantPosition = t;
      }
      if (typeof expectedValueType === `undefined`)
        return null;
      const source = relevantValues.map(([relevantId]) => relevantId).join(`, `);
      switch (expectedValueType) {
        case ValueType.Array:
          return resolvedRcFile(source, new Array().concat(...relevantValues.map(([id, value]) => value.map((item) => attachIdToTree(item, id)))));
        case ValueType.Object: {
          const conglomerate = Object.assign({}, ...relevantValues.map(([, value]) => value));
          const keys = Object.keys(conglomerate);
          const result2 = {};
          const nextIterationValues = rcFiles.map(([id, data]) => {
            return [id, getNormalized(data, key).value];
          });
          const hardResetLocation = findLastIndex(nextIterationValues, ([_, value]) => {
            const valueType = getValueType(value);
            return valueType !== ValueType.Object && valueType !== ValueType.Undefined;
          });
          if (hardResetLocation !== -1) {
            const slice = nextIterationValues.slice(hardResetLocation + 1);
            for (const key2 of keys) {
              result2[key2] = resolveValueAt(slice, path2, key2, 0, slice.length);
            }
          } else {
            for (const key2 of keys) {
              result2[key2] = resolveValueAt(nextIterationValues, path2, key2, currentResetPosition, nextIterationValues.length);
            }
          }
          return resolvedRcFile(source, result2);
        }
        default:
          throw new Error(`Assertion failed: Non-extendable value type`);
      }
    }
    function resolveRcFiles(rcFiles) {
      return resolveValueAt(rcFiles.map(([source, data]) => [source, { [`.`]: data }]), [], `.`, 0, rcFiles.length);
    }
    function getValue(value) {
      return isResolvedRcFile(value) ? value[1] : value;
    }
    function getValueByTree(valueBase) {
      const value = isResolvedRcFile(valueBase) ? valueBase[1] : valueBase;
      if (Array.isArray(value))
        return value.map((v) => getValueByTree(v));
      if (isObject(value)) {
        const result2 = {};
        for (const [propKey, propValue] of Object.entries(value))
          result2[propKey] = getValueByTree(propValue);
        return result2;
      }
      return value;
    }
    function getSource(value) {
      return isResolvedRcFile(value) ? value[0] : null;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/folderUtils.js
var require_folderUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/folderUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getDefaultGlobalFolder = getDefaultGlobalFolder;
    exports2.getHomeFolder = getHomeFolder;
    exports2.isFolderInside = isFolderInside;
    var fslib_12 = require_lib66();
    var os_1 = require("os");
    function getDefaultGlobalFolder() {
      if (process.platform === `win32`) {
        const base = fslib_12.npath.toPortablePath(process.env.LOCALAPPDATA || fslib_12.npath.join((0, os_1.homedir)(), `AppData`, `Local`));
        return fslib_12.ppath.resolve(base, `Yarn/Berry`);
      }
      if (process.env.XDG_DATA_HOME) {
        const base = fslib_12.npath.toPortablePath(process.env.XDG_DATA_HOME);
        return fslib_12.ppath.resolve(base, `yarn/berry`);
      }
      return fslib_12.ppath.resolve(getHomeFolder(), `.yarn/berry`);
    }
    function getHomeFolder() {
      return fslib_12.npath.toPortablePath((0, os_1.homedir)() || `/usr/local/share`);
    }
    function isFolderInside(target, parent) {
      const relative = fslib_12.ppath.relative(parent, target);
      return relative && !relative.startsWith(`..`) && !fslib_12.ppath.isAbsolute(relative);
    }
  }
});

// ../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js
var require_tunnel = __commonJS({
  "../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/lib/tunnel.js"(exports2) {
    "use strict";
    var net = require("net");
    var tls = require("tls");
    var http = require("http");
    var https = require("https");
    var events = require("events");
    var assert = require("assert");
    var util = require("util");
    exports2.httpOverHttp = httpOverHttp;
    exports2.httpsOverHttp = httpsOverHttp;
    exports2.httpOverHttps = httpOverHttps;
    exports2.httpsOverHttps = httpsOverHttps;
    function httpOverHttp(options) {
      var agent = new TunnelingAgent(options);
      agent.request = http.request;
      return agent;
    }
    function httpsOverHttp(options) {
      var agent = new TunnelingAgent(options);
      agent.request = http.request;
      agent.createSocket = createSecureSocket;
      agent.defaultPort = 443;
      return agent;
    }
    function httpOverHttps(options) {
      var agent = new TunnelingAgent(options);
      agent.request = https.request;
      return agent;
    }
    function httpsOverHttps(options) {
      var agent = new TunnelingAgent(options);
      agent.request = https.request;
      agent.createSocket = createSecureSocket;
      agent.defaultPort = 443;
      return agent;
    }
    function TunnelingAgent(options) {
      var self2 = this;
      self2.options = options || {};
      self2.proxyOptions = self2.options.proxy || {};
      self2.maxSockets = self2.options.maxSockets || http.Agent.defaultMaxSockets;
      self2.requests = [];
      self2.sockets = [];
      self2.on("free", function onFree(socket, host, port, localAddress) {
        var options2 = toOptions(host, port, localAddress);
        for (var i = 0, len = self2.requests.length; i < len; ++i) {
          var pending = self2.requests[i];
          if (pending.host === options2.host && pending.port === options2.port) {
            self2.requests.splice(i, 1);
            pending.request.onSocket(socket);
            return;
          }
        }
        socket.destroy();
        self2.removeSocket(socket);
      });
    }
    util.inherits(TunnelingAgent, events.EventEmitter);
    TunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {
      var self2 = this;
      var options = mergeOptions({ request: req }, self2.options, toOptions(host, port, localAddress));
      if (self2.sockets.length >= this.maxSockets) {
        self2.requests.push(options);
        return;
      }
      self2.createSocket(options, function(socket) {
        socket.on("free", onFree);
        socket.on("close", onCloseOrRemove);
        socket.on("agentRemove", onCloseOrRemove);
        req.onSocket(socket);
        function onFree() {
          self2.emit("free", socket, options);
        }
        function onCloseOrRemove(err) {
          self2.removeSocket(socket);
          socket.removeListener("free", onFree);
          socket.removeListener("close", onCloseOrRemove);
          socket.removeListener("agentRemove", onCloseOrRemove);
        }
      });
    };
    TunnelingAgent.prototype.createSocket = function createSocket(options, cb) {
      var self2 = this;
      var placeholder = {};
      self2.sockets.push(placeholder);
      var connectOptions = mergeOptions({}, self2.proxyOptions, {
        method: "CONNECT",
        path: options.host + ":" + options.port,
        agent: false,
        headers: {
          host: options.host + ":" + options.port
        }
      });
      if (options.localAddress) {
        connectOptions.localAddress = options.localAddress;
      }
      if (connectOptions.proxyAuth) {
        connectOptions.headers = connectOptions.headers || {};
        connectOptions.headers["Proxy-Authorization"] = "Basic " + new Buffer(connectOptions.proxyAuth).toString("base64");
      }
      debug("making CONNECT request");
      var connectReq = self2.request(connectOptions);
      connectReq.useChunkedEncodingByDefault = false;
      connectReq.once("response", onResponse);
      connectReq.once("upgrade", onUpgrade);
      connectReq.once("connect", onConnect);
      connectReq.once("error", onError);
      connectReq.end();
      function onResponse(res) {
        res.upgrade = true;
      }
      function onUpgrade(res, socket, head) {
        process.nextTick(function() {
          onConnect(res, socket, head);
        });
      }
      function onConnect(res, socket, head) {
        connectReq.removeAllListeners();
        socket.removeAllListeners();
        if (res.statusCode !== 200) {
          debug(
            "tunneling socket could not be established, statusCode=%d",
            res.statusCode
          );
          socket.destroy();
          var error = new Error("tunneling socket could not be established, statusCode=" + res.statusCode);
          error.code = "ECONNRESET";
          options.request.emit("error", error);
          self2.removeSocket(placeholder);
          return;
        }
        if (head.length > 0) {
          debug("got illegal response body from proxy");
          socket.destroy();
          var error = new Error("got illegal response body from proxy");
          error.code = "ECONNRESET";
          options.request.emit("error", error);
          self2.removeSocket(placeholder);
          return;
        }
        debug("tunneling connection has established");
        self2.sockets[self2.sockets.indexOf(placeholder)] = socket;
        return cb(socket);
      }
      function onError(cause) {
        connectReq.removeAllListeners();
        debug(
          "tunneling socket could not be established, cause=%s\n",
          cause.message,
          cause.stack
        );
        var error = new Error("tunneling socket could not be established, cause=" + cause.message);
        error.code = "ECONNRESET";
        options.request.emit("error", error);
        self2.removeSocket(placeholder);
      }
    };
    TunnelingAgent.prototype.removeSocket = function removeSocket(socket) {
      var pos = this.sockets.indexOf(socket);
      if (pos === -1) {
        return;
      }
      this.sockets.splice(pos, 1);
      var pending = this.requests.shift();
      if (pending) {
        this.createSocket(pending, function(socket2) {
          pending.request.onSocket(socket2);
        });
      }
    };
    function createSecureSocket(options, cb) {
      var self2 = this;
      TunnelingAgent.prototype.createSocket.call(self2, options, function(socket) {
        var hostHeader = options.request.getHeader("host");
        var tlsOptions = mergeOptions({}, self2.options, {
          socket,
          servername: hostHeader ? hostHeader.replace(/:.*$/, "") : options.host
        });
        var secureSocket = tls.connect(0, tlsOptions);
        self2.sockets[self2.sockets.indexOf(socket)] = secureSocket;
        cb(secureSocket);
      });
    }
    function toOptions(host, port, localAddress) {
      if (typeof host === "string") {
        return {
          host,
          port,
          localAddress
        };
      }
      return host;
    }
    function mergeOptions(target) {
      for (var i = 1, len = arguments.length; i < len; ++i) {
        var overrides = arguments[i];
        if (typeof overrides === "object") {
          var keys = Object.keys(overrides);
          for (var j = 0, keyLen = keys.length; j < keyLen; ++j) {
            var k = keys[j];
            if (overrides[k] !== void 0) {
              target[k] = overrides[k];
            }
          }
        }
      }
      return target;
    }
    var debug;
    if (process.env.NODE_DEBUG && /\btunnel\b/.test(process.env.NODE_DEBUG)) {
      debug = function() {
        var args = Array.prototype.slice.call(arguments);
        if (typeof args[0] === "string") {
          args[0] = "TUNNEL: " + args[0];
        } else {
          args.unshift("TUNNEL:");
        }
        console.error.apply(console, args);
      };
    } else {
      debug = function() {
      };
    }
    exports2.debug = debug;
  }
});

// ../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js
var require_tunnel2 = __commonJS({
  "../node_modules/.pnpm/tunnel@0.0.6/node_modules/tunnel/index.js"(exports2, module2) {
    module2.exports = require_tunnel();
  }
});

// ../node_modules/.pnpm/@sindresorhus+is@4.6.0/node_modules/@sindresorhus/is/dist/index.js
var require_dist25 = __commonJS({
  "../node_modules/.pnpm/@sindresorhus+is@4.6.0/node_modules/@sindresorhus/is/dist/index.js"(exports2, module2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var typedArrayTypeNames = [
      "Int8Array",
      "Uint8Array",
      "Uint8ClampedArray",
      "Int16Array",
      "Uint16Array",
      "Int32Array",
      "Uint32Array",
      "Float32Array",
      "Float64Array",
      "BigInt64Array",
      "BigUint64Array"
    ];
    function isTypedArrayName(name) {
      return typedArrayTypeNames.includes(name);
    }
    var objectTypeNames = [
      "Function",
      "Generator",
      "AsyncGenerator",
      "GeneratorFunction",
      "AsyncGeneratorFunction",
      "AsyncFunction",
      "Observable",
      "Array",
      "Buffer",
      "Blob",
      "Object",
      "RegExp",
      "Date",
      "Error",
      "Map",
      "Set",
      "WeakMap",
      "WeakSet",
      "ArrayBuffer",
      "SharedArrayBuffer",
      "DataView",
      "Promise",
      "URL",
      "FormData",
      "URLSearchParams",
      "HTMLElement",
      ...typedArrayTypeNames
    ];
    function isObjectTypeName(name) {
      return objectTypeNames.includes(name);
    }
    var primitiveTypeNames = [
      "null",
      "undefined",
      "string",
      "number",
      "bigint",
      "boolean",
      "symbol"
    ];
    function isPrimitiveTypeName(name) {
      return primitiveTypeNames.includes(name);
    }
    function isOfType(type) {
      return (value) => typeof value === type;
    }
    var { toString } = Object.prototype;
    var getObjectType = (value) => {
      const objectTypeName = toString.call(value).slice(8, -1);
      if (/HTML\w+Element/.test(objectTypeName) && is.domElement(value)) {
        return "HTMLElement";
      }
      if (isObjectTypeName(objectTypeName)) {
        return objectTypeName;
      }
      return void 0;
    };
    var isObjectOfType = (type) => (value) => getObjectType(value) === type;
    function is(value) {
      if (value === null) {
        return "null";
      }
      switch (typeof value) {
        case "undefined":
          return "undefined";
        case "string":
          return "string";
        case "number":
          return "number";
        case "boolean":
          return "boolean";
        case "function":
          return "Function";
        case "bigint":
          return "bigint";
        case "symbol":
          return "symbol";
        default:
      }
      if (is.observable(value)) {
        return "Observable";
      }
      if (is.array(value)) {
        return "Array";
      }
      if (is.buffer(value)) {
        return "Buffer";
      }
      const tagType = getObjectType(value);
      if (tagType) {
        return tagType;
      }
      if (value instanceof String || value instanceof Boolean || value instanceof Number) {
        throw new TypeError("Please don't use object wrappers for primitive types");
      }
      return "Object";
    }
    is.undefined = isOfType("undefined");
    is.string = isOfType("string");
    var isNumberType = isOfType("number");
    is.number = (value) => isNumberType(value) && !is.nan(value);
    is.bigint = isOfType("bigint");
    is.function_ = isOfType("function");
    is.null_ = (value) => value === null;
    is.class_ = (value) => is.function_(value) && value.toString().startsWith("class ");
    is.boolean = (value) => value === true || value === false;
    is.symbol = isOfType("symbol");
    is.numericString = (value) => is.string(value) && !is.emptyStringOrWhitespace(value) && !Number.isNaN(Number(value));
    is.array = (value, assertion) => {
      if (!Array.isArray(value)) {
        return false;
      }
      if (!is.function_(assertion)) {
        return true;
      }
      return value.every(assertion);
    };
    is.buffer = (value) => {
      var _a, _b, _c, _d;
      return (_d = (_c = (_b = (_a = value) === null || _a === void 0 ? void 0 : _a.constructor) === null || _b === void 0 ? void 0 : _b.isBuffer) === null || _c === void 0 ? void 0 : _c.call(_b, value)) !== null && _d !== void 0 ? _d : false;
    };
    is.blob = (value) => isObjectOfType("Blob")(value);
    is.nullOrUndefined = (value) => is.null_(value) || is.undefined(value);
    is.object = (value) => !is.null_(value) && (typeof value === "object" || is.function_(value));
    is.iterable = (value) => {
      var _a;
      return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.iterator]);
    };
    is.asyncIterable = (value) => {
      var _a;
      return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a[Symbol.asyncIterator]);
    };
    is.generator = (value) => {
      var _a, _b;
      return is.iterable(value) && is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.next) && is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.throw);
    };
    is.asyncGenerator = (value) => is.asyncIterable(value) && is.function_(value.next) && is.function_(value.throw);
    is.nativePromise = (value) => isObjectOfType("Promise")(value);
    var hasPromiseAPI = (value) => {
      var _a, _b;
      return is.function_((_a = value) === null || _a === void 0 ? void 0 : _a.then) && is.function_((_b = value) === null || _b === void 0 ? void 0 : _b.catch);
    };
    is.promise = (value) => is.nativePromise(value) || hasPromiseAPI(value);
    is.generatorFunction = isObjectOfType("GeneratorFunction");
    is.asyncGeneratorFunction = (value) => getObjectType(value) === "AsyncGeneratorFunction";
    is.asyncFunction = (value) => getObjectType(value) === "AsyncFunction";
    is.boundFunction = (value) => is.function_(value) && !value.hasOwnProperty("prototype");
    is.regExp = isObjectOfType("RegExp");
    is.date = isObjectOfType("Date");
    is.error = isObjectOfType("Error");
    is.map = (value) => isObjectOfType("Map")(value);
    is.set = (value) => isObjectOfType("Set")(value);
    is.weakMap = (value) => isObjectOfType("WeakMap")(value);
    is.weakSet = (value) => isObjectOfType("WeakSet")(value);
    is.int8Array = isObjectOfType("Int8Array");
    is.uint8Array = isObjectOfType("Uint8Array");
    is.uint8ClampedArray = isObjectOfType("Uint8ClampedArray");
    is.int16Array = isObjectOfType("Int16Array");
    is.uint16Array = isObjectOfType("Uint16Array");
    is.int32Array = isObjectOfType("Int32Array");
    is.uint32Array = isObjectOfType("Uint32Array");
    is.float32Array = isObjectOfType("Float32Array");
    is.float64Array = isObjectOfType("Float64Array");
    is.bigInt64Array = isObjectOfType("BigInt64Array");
    is.bigUint64Array = isObjectOfType("BigUint64Array");
    is.arrayBuffer = isObjectOfType("ArrayBuffer");
    is.sharedArrayBuffer = isObjectOfType("SharedArrayBuffer");
    is.dataView = isObjectOfType("DataView");
    is.enumCase = (value, targetEnum) => Object.values(targetEnum).includes(value);
    is.directInstanceOf = (instance, class_) => Object.getPrototypeOf(instance) === class_.prototype;
    is.urlInstance = (value) => isObjectOfType("URL")(value);
    is.urlString = (value) => {
      if (!is.string(value)) {
        return false;
      }
      try {
        new URL(value);
        return true;
      } catch (_a) {
        return false;
      }
    };
    is.truthy = (value) => Boolean(value);
    is.falsy = (value) => !value;
    is.nan = (value) => Number.isNaN(value);
    is.primitive = (value) => is.null_(value) || isPrimitiveTypeName(typeof value);
    is.integer = (value) => Number.isInteger(value);
    is.safeInteger = (value) => Number.isSafeInteger(value);
    is.plainObject = (value) => {
      if (toString.call(value) !== "[object Object]") {
        return false;
      }
      const prototype = Object.getPrototypeOf(value);
      return prototype === null || prototype === Object.getPrototypeOf({});
    };
    is.typedArray = (value) => isTypedArrayName(getObjectType(value));
    var isValidLength = (value) => is.safeInteger(value) && value >= 0;
    is.arrayLike = (value) => !is.nullOrUndefined(value) && !is.function_(value) && isValidLength(value.length);
    is.inRange = (value, range) => {
      if (is.number(range)) {
        return value >= Math.min(0, range) && value <= Math.max(range, 0);
      }
      if (is.array(range) && range.length === 2) {
        return value >= Math.min(...range) && value <= Math.max(...range);
      }
      throw new TypeError(`Invalid range: ${JSON.stringify(range)}`);
    };
    var NODE_TYPE_ELEMENT = 1;
    var DOM_PROPERTIES_TO_CHECK = [
      "innerHTML",
      "ownerDocument",
      "style",
      "attributes",
      "nodeValue"
    ];
    is.domElement = (value) => {
      return is.object(value) && value.nodeType === NODE_TYPE_ELEMENT && is.string(value.nodeName) && !is.plainObject(value) && DOM_PROPERTIES_TO_CHECK.every((property) => property in value);
    };
    is.observable = (value) => {
      var _a, _b, _c, _d;
      if (!value) {
        return false;
      }
      if (value === ((_b = (_a = value)[Symbol.observable]) === null || _b === void 0 ? void 0 : _b.call(_a))) {
        return true;
      }
      if (value === ((_d = (_c = value)["@@observable"]) === null || _d === void 0 ? void 0 : _d.call(_c))) {
        return true;
      }
      return false;
    };
    is.nodeStream = (value) => is.object(value) && is.function_(value.pipe) && !is.observable(value);
    is.infinite = (value) => value === Infinity || value === -Infinity;
    var isAbsoluteMod2 = (remainder) => (value) => is.integer(value) && Math.abs(value % 2) === remainder;
    is.evenInteger = isAbsoluteMod2(0);
    is.oddInteger = isAbsoluteMod2(1);
    is.emptyArray = (value) => is.array(value) && value.length === 0;
    is.nonEmptyArray = (value) => is.array(value) && value.length > 0;
    is.emptyString = (value) => is.string(value) && value.length === 0;
    var isWhiteSpaceString = (value) => is.string(value) && !/\S/.test(value);
    is.emptyStringOrWhitespace = (value) => is.emptyString(value) || isWhiteSpaceString(value);
    is.nonEmptyString = (value) => is.string(value) && value.length > 0;
    is.nonEmptyStringAndNotWhitespace = (value) => is.string(value) && !is.emptyStringOrWhitespace(value);
    is.emptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length === 0;
    is.nonEmptyObject = (value) => is.object(value) && !is.map(value) && !is.set(value) && Object.keys(value).length > 0;
    is.emptySet = (value) => is.set(value) && value.size === 0;
    is.nonEmptySet = (value) => is.set(value) && value.size > 0;
    is.emptyMap = (value) => is.map(value) && value.size === 0;
    is.nonEmptyMap = (value) => is.map(value) && value.size > 0;
    is.propertyKey = (value) => is.any([is.string, is.number, is.symbol], value);
    is.formData = (value) => isObjectOfType("FormData")(value);
    is.urlSearchParams = (value) => isObjectOfType("URLSearchParams")(value);
    var predicateOnArray = (method, predicate, values) => {
      if (!is.function_(predicate)) {
        throw new TypeError(`Invalid predicate: ${JSON.stringify(predicate)}`);
      }
      if (values.length === 0) {
        throw new TypeError("Invalid number of values");
      }
      return method.call(values, predicate);
    };
    is.any = (predicate, ...values) => {
      const predicates = is.array(predicate) ? predicate : [predicate];
      return predicates.some((singlePredicate) => predicateOnArray(Array.prototype.some, singlePredicate, values));
    };
    is.all = (predicate, ...values) => predicateOnArray(Array.prototype.every, predicate, values);
    var assertType = (condition, description, value, options = {}) => {
      if (!condition) {
        const { multipleValues } = options;
        const valuesMessage = multipleValues ? `received values of types ${[
          ...new Set(value.map((singleValue) => `\`${is(singleValue)}\``))
        ].join(", ")}` : `received value of type \`${is(value)}\``;
        throw new TypeError(`Expected value which is \`${description}\`, ${valuesMessage}.`);
      }
    };
    exports2.assert = {
      // Unknowns.
      undefined: (value) => assertType(is.undefined(value), "undefined", value),
      string: (value) => assertType(is.string(value), "string", value),
      number: (value) => assertType(is.number(value), "number", value),
      bigint: (value) => assertType(is.bigint(value), "bigint", value),
      // eslint-disable-next-line @typescript-eslint/ban-types
      function_: (value) => assertType(is.function_(value), "Function", value),
      null_: (value) => assertType(is.null_(value), "null", value),
      class_: (value) => assertType(is.class_(value), "Class", value),
      boolean: (value) => assertType(is.boolean(value), "boolean", value),
      symbol: (value) => assertType(is.symbol(value), "symbol", value),
      numericString: (value) => assertType(is.numericString(value), "string with a number", value),
      array: (value, assertion) => {
        const assert = assertType;
        assert(is.array(value), "Array", value);
        if (assertion) {
          value.forEach(assertion);
        }
      },
      buffer: (value) => assertType(is.buffer(value), "Buffer", value),
      blob: (value) => assertType(is.blob(value), "Blob", value),
      nullOrUndefined: (value) => assertType(is.nullOrUndefined(value), "null or undefined", value),
      object: (value) => assertType(is.object(value), "Object", value),
      iterable: (value) => assertType(is.iterable(value), "Iterable", value),
      asyncIterable: (value) => assertType(is.asyncIterable(value), "AsyncIterable", value),
      generator: (value) => assertType(is.generator(value), "Generator", value),
      asyncGenerator: (value) => assertType(is.asyncGenerator(value), "AsyncGenerator", value),
      nativePromise: (value) => assertType(is.nativePromise(value), "native Promise", value),
      promise: (value) => assertType(is.promise(value), "Promise", value),
      generatorFunction: (value) => assertType(is.generatorFunction(value), "GeneratorFunction", value),
      asyncGeneratorFunction: (value) => assertType(is.asyncGeneratorFunction(value), "AsyncGeneratorFunction", value),
      // eslint-disable-next-line @typescript-eslint/ban-types
      asyncFunction: (value) => assertType(is.asyncFunction(value), "AsyncFunction", value),
      // eslint-disable-next-line @typescript-eslint/ban-types
      boundFunction: (value) => assertType(is.boundFunction(value), "Function", value),
      regExp: (value) => assertType(is.regExp(value), "RegExp", value),
      date: (value) => assertType(is.date(value), "Date", value),
      error: (value) => assertType(is.error(value), "Error", value),
      map: (value) => assertType(is.map(value), "Map", value),
      set: (value) => assertType(is.set(value), "Set", value),
      weakMap: (value) => assertType(is.weakMap(value), "WeakMap", value),
      weakSet: (value) => assertType(is.weakSet(value), "WeakSet", value),
      int8Array: (value) => assertType(is.int8Array(value), "Int8Array", value),
      uint8Array: (value) => assertType(is.uint8Array(value), "Uint8Array", value),
      uint8ClampedArray: (value) => assertType(is.uint8ClampedArray(value), "Uint8ClampedArray", value),
      int16Array: (value) => assertType(is.int16Array(value), "Int16Array", value),
      uint16Array: (value) => assertType(is.uint16Array(value), "Uint16Array", value),
      int32Array: (value) => assertType(is.int32Array(value), "Int32Array", value),
      uint32Array: (value) => assertType(is.uint32Array(value), "Uint32Array", value),
      float32Array: (value) => assertType(is.float32Array(value), "Float32Array", value),
      float64Array: (value) => assertType(is.float64Array(value), "Float64Array", value),
      bigInt64Array: (value) => assertType(is.bigInt64Array(value), "BigInt64Array", value),
      bigUint64Array: (value) => assertType(is.bigUint64Array(value), "BigUint64Array", value),
      arrayBuffer: (value) => assertType(is.arrayBuffer(value), "ArrayBuffer", value),
      sharedArrayBuffer: (value) => assertType(is.sharedArrayBuffer(value), "SharedArrayBuffer", value),
      dataView: (value) => assertType(is.dataView(value), "DataView", value),
      enumCase: (value, targetEnum) => assertType(is.enumCase(value, targetEnum), "EnumCase", value),
      urlInstance: (value) => assertType(is.urlInstance(value), "URL", value),
      urlString: (value) => assertType(is.urlString(value), "string with a URL", value),
      truthy: (value) => assertType(is.truthy(value), "truthy", value),
      falsy: (value) => assertType(is.falsy(value), "falsy", value),
      nan: (value) => assertType(is.nan(value), "NaN", value),
      primitive: (value) => assertType(is.primitive(value), "primitive", value),
      integer: (value) => assertType(is.integer(value), "integer", value),
      safeInteger: (value) => assertType(is.safeInteger(value), "integer", value),
      plainObject: (value) => assertType(is.plainObject(value), "plain object", value),
      typedArray: (value) => assertType(is.typedArray(value), "TypedArray", value),
      arrayLike: (value) => assertType(is.arrayLike(value), "array-like", value),
      domElement: (value) => assertType(is.domElement(value), "HTMLElement", value),
      observable: (value) => assertType(is.observable(value), "Observable", value),
      nodeStream: (value) => assertType(is.nodeStream(value), "Node.js Stream", value),
      infinite: (value) => assertType(is.infinite(value), "infinite number", value),
      emptyArray: (value) => assertType(is.emptyArray(value), "empty array", value),
      nonEmptyArray: (value) => assertType(is.nonEmptyArray(value), "non-empty array", value),
      emptyString: (value) => assertType(is.emptyString(value), "empty string", value),
      emptyStringOrWhitespace: (value) => assertType(is.emptyStringOrWhitespace(value), "empty string or whitespace", value),
      nonEmptyString: (value) => assertType(is.nonEmptyString(value), "non-empty string", value),
      nonEmptyStringAndNotWhitespace: (value) => assertType(is.nonEmptyStringAndNotWhitespace(value), "non-empty string and not whitespace", value),
      emptyObject: (value) => assertType(is.emptyObject(value), "empty object", value),
      nonEmptyObject: (value) => assertType(is.nonEmptyObject(value), "non-empty object", value),
      emptySet: (value) => assertType(is.emptySet(value), "empty set", value),
      nonEmptySet: (value) => assertType(is.nonEmptySet(value), "non-empty set", value),
      emptyMap: (value) => assertType(is.emptyMap(value), "empty map", value),
      nonEmptyMap: (value) => assertType(is.nonEmptyMap(value), "non-empty map", value),
      propertyKey: (value) => assertType(is.propertyKey(value), "PropertyKey", value),
      formData: (value) => assertType(is.formData(value), "FormData", value),
      urlSearchParams: (value) => assertType(is.urlSearchParams(value), "URLSearchParams", value),
      // Numbers.
      evenInteger: (value) => assertType(is.evenInteger(value), "even integer", value),
      oddInteger: (value) => assertType(is.oddInteger(value), "odd integer", value),
      // Two arguments.
      directInstanceOf: (instance, class_) => assertType(is.directInstanceOf(instance, class_), "T", instance),
      inRange: (value, range) => assertType(is.inRange(value, range), "in range", value),
      // Variadic functions.
      any: (predicate, ...values) => {
        return assertType(is.any(predicate, ...values), "predicate returns truthy for any value", values, { multipleValues: true });
      },
      all: (predicate, ...values) => assertType(is.all(predicate, ...values), "predicate returns truthy for all values", values, { multipleValues: true })
    };
    Object.defineProperties(is, {
      class: {
        value: is.class_
      },
      function: {
        value: is.function_
      },
      null: {
        value: is.null_
      }
    });
    Object.defineProperties(exports2.assert, {
      class: {
        value: exports2.assert.class_
      },
      function: {
        value: exports2.assert.function_
      },
      null: {
        value: exports2.assert.null_
      }
    });
    exports2.default = is;
    module2.exports = is;
    module2.exports.default = is;
    module2.exports.assert = exports2.assert;
  }
});

// ../node_modules/.pnpm/p-cancelable@2.1.1/node_modules/p-cancelable/index.js
var require_p_cancelable = __commonJS({
  "../node_modules/.pnpm/p-cancelable@2.1.1/node_modules/p-cancelable/index.js"(exports2, module2) {
    "use strict";
    var CancelError = class extends Error {
      constructor(reason) {
        super(reason || "Promise was canceled");
        this.name = "CancelError";
      }
      get isCanceled() {
        return true;
      }
    };
    var PCancelable = class _PCancelable {
      static fn(userFn) {
        return (...arguments_) => {
          return new _PCancelable((resolve, reject, onCancel) => {
            arguments_.push(onCancel);
            userFn(...arguments_).then(resolve, reject);
          });
        };
      }
      constructor(executor) {
        this._cancelHandlers = [];
        this._isPending = true;
        this._isCanceled = false;
        this._rejectOnCancel = true;
        this._promise = new Promise((resolve, reject) => {
          this._reject = reject;
          const onResolve = (value) => {
            if (!this._isCanceled || !onCancel.shouldReject) {
              this._isPending = false;
              resolve(value);
            }
          };
          const onReject = (error) => {
            this._isPending = false;
            reject(error);
          };
          const onCancel = (handler) => {
            if (!this._isPending) {
              throw new Error("The `onCancel` handler was attached after the promise settled.");
            }
            this._cancelHandlers.push(handler);
          };
          Object.defineProperties(onCancel, {
            shouldReject: {
              get: () => this._rejectOnCancel,
              set: (boolean) => {
                this._rejectOnCancel = boolean;
              }
            }
          });
          return executor(onResolve, onReject, onCancel);
        });
      }
      then(onFulfilled, onRejected) {
        return this._promise.then(onFulfilled, onRejected);
      }
      catch(onRejected) {
        return this._promise.catch(onRejected);
      }
      finally(onFinally) {
        return this._promise.finally(onFinally);
      }
      cancel(reason) {
        if (!this._isPending || this._isCanceled) {
          return;
        }
        this._isCanceled = true;
        if (this._cancelHandlers.length > 0) {
          try {
            for (const handler of this._cancelHandlers) {
              handler();
            }
          } catch (error) {
            this._reject(error);
            return;
          }
        }
        if (this._rejectOnCancel) {
          this._reject(new CancelError(reason));
        }
      }
      get isCanceled() {
        return this._isCanceled;
      }
    };
    Object.setPrototypeOf(PCancelable.prototype, Promise.prototype);
    module2.exports = PCancelable;
    module2.exports.CancelError = CancelError;
  }
});

// ../node_modules/.pnpm/defer-to-connect@2.0.1/node_modules/defer-to-connect/dist/source/index.js
var require_source3 = __commonJS({
  "../node_modules/.pnpm/defer-to-connect@2.0.1/node_modules/defer-to-connect/dist/source/index.js"(exports2, module2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    function isTLSSocket(socket) {
      return socket.encrypted;
    }
    var deferToConnect = (socket, fn) => {
      let listeners;
      if (typeof fn === "function") {
        const connect = fn;
        listeners = { connect };
      } else {
        listeners = fn;
      }
      const hasConnectListener = typeof listeners.connect === "function";
      const hasSecureConnectListener = typeof listeners.secureConnect === "function";
      const hasCloseListener = typeof listeners.close === "function";
      const onConnect = () => {
        if (hasConnectListener) {
          listeners.connect();
        }
        if (isTLSSocket(socket) && hasSecureConnectListener) {
          if (socket.authorized) {
            listeners.secureConnect();
          } else if (!socket.authorizationError) {
            socket.once("secureConnect", listeners.secureConnect);
          }
        }
        if (hasCloseListener) {
          socket.once("close", listeners.close);
        }
      };
      if (socket.writable && !socket.connecting) {
        onConnect();
      } else if (socket.connecting) {
        socket.once("connect", onConnect);
      } else if (socket.destroyed && hasCloseListener) {
        listeners.close(socket._hadError);
      }
    };
    exports2.default = deferToConnect;
    module2.exports = deferToConnect;
    module2.exports.default = deferToConnect;
  }
});

// ../node_modules/.pnpm/@szmarczak+http-timer@4.0.6/node_modules/@szmarczak/http-timer/dist/source/index.js
var require_source4 = __commonJS({
  "../node_modules/.pnpm/@szmarczak+http-timer@4.0.6/node_modules/@szmarczak/http-timer/dist/source/index.js"(exports2, module2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var defer_to_connect_1 = require_source3();
    var util_1 = require("util");
    var nodejsMajorVersion = Number(process.versions.node.split(".")[0]);
    var timer = (request) => {
      if (request.timings) {
        return request.timings;
      }
      const timings = {
        start: Date.now(),
        socket: void 0,
        lookup: void 0,
        connect: void 0,
        secureConnect: void 0,
        upload: void 0,
        response: void 0,
        end: void 0,
        error: void 0,
        abort: void 0,
        phases: {
          wait: void 0,
          dns: void 0,
          tcp: void 0,
          tls: void 0,
          request: void 0,
          firstByte: void 0,
          download: void 0,
          total: void 0
        }
      };
      request.timings = timings;
      const handleError = (origin) => {
        const emit = origin.emit.bind(origin);
        origin.emit = (event, ...args) => {
          if (event === "error") {
            timings.error = Date.now();
            timings.phases.total = timings.error - timings.start;
            origin.emit = emit;
          }
          return emit(event, ...args);
        };
      };
      handleError(request);
      const onAbort = () => {
        timings.abort = Date.now();
        if (!timings.response || nodejsMajorVersion >= 13) {
          timings.phases.total = Date.now() - timings.start;
        }
      };
      request.prependOnceListener("abort", onAbort);
      const onSocket = (socket) => {
        timings.socket = Date.now();
        timings.phases.wait = timings.socket - timings.start;
        if (util_1.types.isProxy(socket)) {
          return;
        }
        const lookupListener = () => {
          timings.lookup = Date.now();
          timings.phases.dns = timings.lookup - timings.socket;
        };
        socket.prependOnceListener("lookup", lookupListener);
        defer_to_connect_1.default(socket, {
          connect: () => {
            timings.connect = Date.now();
            if (timings.lookup === void 0) {
              socket.removeListener("lookup", lookupListener);
              timings.lookup = timings.connect;
              timings.phases.dns = timings.lookup - timings.socket;
            }
            timings.phases.tcp = timings.connect - timings.lookup;
          },
          secureConnect: () => {
            timings.secureConnect = Date.now();
            timings.phases.tls = timings.secureConnect - timings.connect;
          }
        });
      };
      if (request.socket) {
        onSocket(request.socket);
      } else {
        request.prependOnceListener("socket", onSocket);
      }
      const onUpload = () => {
        var _a;
        timings.upload = Date.now();
        timings.phases.request = timings.upload - ((_a = timings.secureConnect) !== null && _a !== void 0 ? _a : timings.connect);
      };
      const writableFinished = () => {
        if (typeof request.writableFinished === "boolean") {
          return request.writableFinished;
        }
        return request.finished && request.outputSize === 0 && (!request.socket || request.socket.writableLength === 0);
      };
      if (writableFinished()) {
        onUpload();
      } else {
        request.prependOnceListener("finish", onUpload);
      }
      request.prependOnceListener("response", (response) => {
        timings.response = Date.now();
        timings.phases.firstByte = timings.response - timings.upload;
        response.timings = timings;
        handleError(response);
        response.prependOnceListener("end", () => {
          timings.end = Date.now();
          timings.phases.download = timings.end - timings.response;
          timings.phases.total = timings.end - timings.start;
        });
        response.prependOnceListener("aborted", onAbort);
      });
      return timings;
    };
    exports2.default = timer;
    module2.exports = timer;
    module2.exports.default = timer;
  }
});

// ../node_modules/.pnpm/cacheable-lookup@5.0.4/node_modules/cacheable-lookup/source/index.js
var require_source5 = __commonJS({
  "../node_modules/.pnpm/cacheable-lookup@5.0.4/node_modules/cacheable-lookup/source/index.js"(exports2, module2) {
    "use strict";
    var {
      V4MAPPED,
      ADDRCONFIG,
      ALL,
      promises: {
        Resolver: AsyncResolver
      },
      lookup: dnsLookup
    } = require("dns");
    var { promisify } = require("util");
    var os = require("os");
    var kCacheableLookupCreateConnection = Symbol("cacheableLookupCreateConnection");
    var kCacheableLookupInstance = Symbol("cacheableLookupInstance");
    var kExpires = Symbol("expires");
    var supportsALL = typeof ALL === "number";
    var verifyAgent = (agent) => {
      if (!(agent && typeof agent.createConnection === "function")) {
        throw new Error("Expected an Agent instance as the first argument");
      }
    };
    var map4to6 = (entries) => {
      for (const entry of entries) {
        if (entry.family === 6) {
          continue;
        }
        entry.address = `::ffff:${entry.address}`;
        entry.family = 6;
      }
    };
    var getIfaceInfo = () => {
      let has4 = false;
      let has6 = false;
      for (const device of Object.values(os.networkInterfaces())) {
        for (const iface of device) {
          if (iface.internal) {
            continue;
          }
          if (iface.family === "IPv6") {
            has6 = true;
          } else {
            has4 = true;
          }
          if (has4 && has6) {
            return { has4, has6 };
          }
        }
      }
      return { has4, has6 };
    };
    var isIterable = (map) => {
      return Symbol.iterator in map;
    };
    var ttl = { ttl: true };
    var all = { all: true };
    var CacheableLookup = class {
      constructor({
        cache = /* @__PURE__ */ new Map(),
        maxTtl = Infinity,
        fallbackDuration = 3600,
        errorTtl = 0.15,
        resolver = new AsyncResolver(),
        lookup = dnsLookup
      } = {}) {
        this.maxTtl = maxTtl;
        this.errorTtl = errorTtl;
        this._cache = cache;
        this._resolver = resolver;
        this._dnsLookup = promisify(lookup);
        if (this._resolver instanceof AsyncResolver) {
          this._resolve4 = this._resolver.resolve4.bind(this._resolver);
          this._resolve6 = this._resolver.resolve6.bind(this._resolver);
        } else {
          this._resolve4 = promisify(this._resolver.resolve4.bind(this._resolver));
          this._resolve6 = promisify(this._resolver.resolve6.bind(this._resolver));
        }
        this._iface = getIfaceInfo();
        this._pending = {};
        this._nextRemovalTime = false;
        this._hostnamesToFallback = /* @__PURE__ */ new Set();
        if (fallbackDuration < 1) {
          this._fallback = false;
        } else {
          this._fallback = true;
          const interval = setInterval(() => {
            this._hostnamesToFallback.clear();
          }, fallbackDuration * 1e3);
          if (interval.unref) {
            interval.unref();
          }
        }
        this.lookup = this.lookup.bind(this);
        this.lookupAsync = this.lookupAsync.bind(this);
      }
      set servers(servers) {
        this.clear();
        this._resolver.setServers(servers);
      }
      get servers() {
        return this._resolver.getServers();
      }
      lookup(hostname, options, callback) {
        if (typeof options === "function") {
          callback = options;
          options = {};
        } else if (typeof options === "number") {
          options = {
            family: options
          };
        }
        if (!callback) {
          throw new Error("Callback must be a function.");
        }
        this.lookupAsync(hostname, options).then((result2) => {
          if (options.all) {
            callback(null, result2);
          } else {
            callback(null, result2.address, result2.family, result2.expires, result2.ttl);
          }
        }, callback);
      }
      async lookupAsync(hostname, options = {}) {
        if (typeof options === "number") {
          options = {
            family: options
          };
        }
        let cached = await this.query(hostname);
        if (options.family === 6) {
          const filtered = cached.filter((entry) => entry.family === 6);
          if (options.hints & V4MAPPED) {
            if (supportsALL && options.hints & ALL || filtered.length === 0) {
              map4to6(cached);
            } else {
              cached = filtered;
            }
          } else {
            cached = filtered;
          }
        } else if (options.family === 4) {
          cached = cached.filter((entry) => entry.family === 4);
        }
        if (options.hints & ADDRCONFIG) {
          const { _iface } = this;
          cached = cached.filter((entry) => entry.family === 6 ? _iface.has6 : _iface.has4);
        }
        if (cached.length === 0) {
          const error = new Error(`cacheableLookup ENOTFOUND ${hostname}`);
          error.code = "ENOTFOUND";
          error.hostname = hostname;
          throw error;
        }
        if (options.all) {
          return cached;
        }
        return cached[0];
      }
      async query(hostname) {
        let cached = await this._cache.get(hostname);
        if (!cached) {
          const pending = this._pending[hostname];
          if (pending) {
            cached = await pending;
          } else {
            const newPromise = this.queryAndCache(hostname);
            this._pending[hostname] = newPromise;
            try {
              cached = await newPromise;
            } finally {
              delete this._pending[hostname];
            }
          }
        }
        cached = cached.map((entry) => {
          return { ...entry };
        });
        return cached;
      }
      async _resolve(hostname) {
        const wrap = async (promise) => {
          try {
            return await promise;
          } catch (error) {
            if (error.code === "ENODATA" || error.code === "ENOTFOUND") {
              return [];
            }
            throw error;
          }
        };
        const [A, AAAA] = await Promise.all([
          this._resolve4(hostname, ttl),
          this._resolve6(hostname, ttl)
        ].map((promise) => wrap(promise)));
        let aTtl = 0;
        let aaaaTtl = 0;
        let cacheTtl = 0;
        const now = Date.now();
        for (const entry of A) {
          entry.family = 4;
          entry.expires = now + entry.ttl * 1e3;
          aTtl = Math.max(aTtl, entry.ttl);
        }
        for (const entry of AAAA) {
          entry.family = 6;
          entry.expires = now + entry.ttl * 1e3;
          aaaaTtl = Math.max(aaaaTtl, entry.ttl);
        }
        if (A.length > 0) {
          if (AAAA.length > 0) {
            cacheTtl = Math.min(aTtl, aaaaTtl);
          } else {
            cacheTtl = aTtl;
          }
        } else {
          cacheTtl = aaaaTtl;
        }
        return {
          entries: [
            ...A,
            ...AAAA
          ],
          cacheTtl
        };
      }
      async _lookup(hostname) {
        try {
          const entries = await this._dnsLookup(hostname, {
            all: true
          });
          return {
            entries,
            cacheTtl: 0
          };
        } catch (_) {
          return {
            entries: [],
            cacheTtl: 0
          };
        }
      }
      async _set(hostname, data, cacheTtl) {
        if (this.maxTtl > 0 && cacheTtl > 0) {
          cacheTtl = Math.min(cacheTtl, this.maxTtl) * 1e3;
          data[kExpires] = Date.now() + cacheTtl;
          try {
            await this._cache.set(hostname, data, cacheTtl);
          } catch (error) {
            this.lookupAsync = async () => {
              const cacheError = new Error("Cache Error. Please recreate the CacheableLookup instance.");
              cacheError.cause = error;
              throw cacheError;
            };
          }
          if (isIterable(this._cache)) {
            this._tick(cacheTtl);
          }
        }
      }
      async queryAndCache(hostname) {
        if (this._hostnamesToFallback.has(hostname)) {
          return this._dnsLookup(hostname, all);
        }
        let query = await this._resolve(hostname);
        if (query.entries.length === 0 && this._fallback) {
          query = await this._lookup(hostname);
          if (query.entries.length !== 0) {
            this._hostnamesToFallback.add(hostname);
          }
        }
        const cacheTtl = query.entries.length === 0 ? this.errorTtl : query.cacheTtl;
        await this._set(hostname, query.entries, cacheTtl);
        return query.entries;
      }
      _tick(ms) {
        const nextRemovalTime = this._nextRemovalTime;
        if (!nextRemovalTime || ms < nextRemovalTime) {
          clearTimeout(this._removalTimeout);
          this._nextRemovalTime = ms;
          this._removalTimeout = setTimeout(() => {
            this._nextRemovalTime = false;
            let nextExpiry = Infinity;
            const now = Date.now();
            for (const [hostname, entries] of this._cache) {
              const expires = entries[kExpires];
              if (now >= expires) {
                this._cache.delete(hostname);
              } else if (expires < nextExpiry) {
                nextExpiry = expires;
              }
            }
            if (nextExpiry !== Infinity) {
              this._tick(nextExpiry - now);
            }
          }, ms);
          if (this._removalTimeout.unref) {
            this._removalTimeout.unref();
          }
        }
      }
      install(agent) {
        verifyAgent(agent);
        if (kCacheableLookupCreateConnection in agent) {
          throw new Error("CacheableLookup has been already installed");
        }
        agent[kCacheableLookupCreateConnection] = agent.createConnection;
        agent[kCacheableLookupInstance] = this;
        agent.createConnection = (options, callback) => {
          if (!("lookup" in options)) {
            options.lookup = this.lookup;
          }
          return agent[kCacheableLookupCreateConnection](options, callback);
        };
      }
      uninstall(agent) {
        verifyAgent(agent);
        if (agent[kCacheableLookupCreateConnection]) {
          if (agent[kCacheableLookupInstance] !== this) {
            throw new Error("The agent is not owned by this CacheableLookup instance");
          }
          agent.createConnection = agent[kCacheableLookupCreateConnection];
          delete agent[kCacheableLookupCreateConnection];
          delete agent[kCacheableLookupInstance];
        }
      }
      updateInterfaceInfo() {
        const { _iface } = this;
        this._iface = getIfaceInfo();
        if (_iface.has4 && !this._iface.has4 || _iface.has6 && !this._iface.has6) {
          this._cache.clear();
        }
      }
      clear(hostname) {
        if (hostname) {
          this._cache.delete(hostname);
          return;
        }
        this._cache.clear();
      }
    };
    module2.exports = CacheableLookup;
    module2.exports.default = CacheableLookup;
  }
});

// ../node_modules/.pnpm/normalize-url@6.1.0/node_modules/normalize-url/index.js
var require_normalize_url = __commonJS({
  "../node_modules/.pnpm/normalize-url@6.1.0/node_modules/normalize-url/index.js"(exports2, module2) {
    "use strict";
    var DATA_URL_DEFAULT_MIME_TYPE = "text/plain";
    var DATA_URL_DEFAULT_CHARSET = "us-ascii";
    var testParameter = (name, filters) => {
      return filters.some((filter) => filter instanceof RegExp ? filter.test(name) : filter === name);
    };
    var normalizeDataURL = (urlString, { stripHash }) => {
      const match = /^data:(?<type>[^,]*?),(?<data>[^#]*?)(?:#(?<hash>.*))?$/.exec(urlString);
      if (!match) {
        throw new Error(`Invalid URL: ${urlString}`);
      }
      let { type, data, hash } = match.groups;
      const mediaType = type.split(";");
      hash = stripHash ? "" : hash;
      let isBase64 = false;
      if (mediaType[mediaType.length - 1] === "base64") {
        mediaType.pop();
        isBase64 = true;
      }
      const mimeType = (mediaType.shift() || "").toLowerCase();
      const attributes = mediaType.map((attribute) => {
        let [key, value = ""] = attribute.split("=").map((string) => string.trim());
        if (key === "charset") {
          value = value.toLowerCase();
          if (value === DATA_URL_DEFAULT_CHARSET) {
            return "";
          }
        }
        return `${key}${value ? `=${value}` : ""}`;
      }).filter(Boolean);
      const normalizedMediaType = [
        ...attributes
      ];
      if (isBase64) {
        normalizedMediaType.push("base64");
      }
      if (normalizedMediaType.length !== 0 || mimeType && mimeType !== DATA_URL_DEFAULT_MIME_TYPE) {
        normalizedMediaType.unshift(mimeType);
      }
      return `data:${normalizedMediaType.join(";")},${isBase64 ? data.trim() : data}${hash ? `#${hash}` : ""}`;
    };
    var normalizeUrl = (urlString, options) => {
      options = {
        defaultProtocol: "http:",
        normalizeProtocol: true,
        forceHttp: false,
        forceHttps: false,
        stripAuthentication: true,
        stripHash: false,
        stripTextFragment: true,
        stripWWW: true,
        removeQueryParameters: [/^utm_\w+/i],
        removeTrailingSlash: true,
        removeSingleSlash: true,
        removeDirectoryIndex: false,
        sortQueryParameters: true,
        ...options
      };
      urlString = urlString.trim();
      if (/^data:/i.test(urlString)) {
        return normalizeDataURL(urlString, options);
      }
      if (/^view-source:/i.test(urlString)) {
        throw new Error("`view-source:` is not supported as it is a non-standard protocol");
      }
      const hasRelativeProtocol = urlString.startsWith("//");
      const isRelativeUrl = !hasRelativeProtocol && /^\.*\//.test(urlString);
      if (!isRelativeUrl) {
        urlString = urlString.replace(/^(?!(?:\w+:)?\/\/)|^\/\//, options.defaultProtocol);
      }
      const urlObj = new URL(urlString);
      if (options.forceHttp && options.forceHttps) {
        throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");
      }
      if (options.forceHttp && urlObj.protocol === "https:") {
        urlObj.protocol = "http:";
      }
      if (options.forceHttps && urlObj.protocol === "http:") {
        urlObj.protocol = "https:";
      }
      if (options.stripAuthentication) {
        urlObj.username = "";
        urlObj.password = "";
      }
      if (options.stripHash) {
        urlObj.hash = "";
      } else if (options.stripTextFragment) {
        urlObj.hash = urlObj.hash.replace(/#?:~:text.*?$/i, "");
      }
      if (urlObj.pathname) {
        urlObj.pathname = urlObj.pathname.replace(/(?<!\b(?:[a-z][a-z\d+\-.]{1,50}:))\/{2,}/g, "/");
      }
      if (urlObj.pathname) {
        try {
          urlObj.pathname = decodeURI(urlObj.pathname);
        } catch (_) {
        }
      }
      if (options.removeDirectoryIndex === true) {
        options.removeDirectoryIndex = [/^index\.[a-z]+$/];
      }
      if (Array.isArray(options.removeDirectoryIndex) && options.removeDirectoryIndex.length > 0) {
        let pathComponents = urlObj.pathname.split("/");
        const lastComponent = pathComponents[pathComponents.length - 1];
        if (testParameter(lastComponent, options.removeDirectoryIndex)) {
          pathComponents = pathComponents.slice(0, pathComponents.length - 1);
          urlObj.pathname = pathComponents.slice(1).join("/") + "/";
        }
      }
      if (urlObj.hostname) {
        urlObj.hostname = urlObj.hostname.replace(/\.$/, "");
        if (options.stripWWW && /^www\.(?!www\.)(?:[a-z\-\d]{1,63})\.(?:[a-z.\-\d]{2,63})$/.test(urlObj.hostname)) {
          urlObj.hostname = urlObj.hostname.replace(/^www\./, "");
        }
      }
      if (Array.isArray(options.removeQueryParameters)) {
        for (const key of [...urlObj.searchParams.keys()]) {
          if (testParameter(key, options.removeQueryParameters)) {
            urlObj.searchParams.delete(key);
          }
        }
      }
      if (options.removeQueryParameters === true) {
        urlObj.search = "";
      }
      if (options.sortQueryParameters) {
        urlObj.searchParams.sort();
      }
      if (options.removeTrailingSlash) {
        urlObj.pathname = urlObj.pathname.replace(/\/$/, "");
      }
      const oldUrlString = urlString;
      urlString = urlObj.toString();
      if (!options.removeSingleSlash && urlObj.pathname === "/" && !oldUrlString.endsWith("/") && urlObj.hash === "") {
        urlString = urlString.replace(/\/$/, "");
      }
      if ((options.removeTrailingSlash || urlObj.pathname === "/") && urlObj.hash === "" && options.removeSingleSlash) {
        urlString = urlString.replace(/\/$/, "");
      }
      if (hasRelativeProtocol && !options.normalizeProtocol) {
        urlString = urlString.replace(/^http:\/\//, "//");
      }
      if (options.stripProtocol) {
        urlString = urlString.replace(/^(?:https?:)?\/\//, "");
      }
      return urlString;
    };
    module2.exports = normalizeUrl;
  }
});

// ../node_modules/.pnpm/end-of-stream@1.4.4/node_modules/end-of-stream/index.js
var require_end_of_stream2 = __commonJS({
  "../node_modules/.pnpm/end-of-stream@1.4.4/node_modules/end-of-stream/index.js"(exports2, module2) {
    var once = require_once();
    var noop = function() {
    };
    var isRequest = function(stream) {
      return stream.setHeader && typeof stream.abort === "function";
    };
    var isChildProcess = function(stream) {
      return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3;
    };
    var eos = function(stream, opts, callback) {
      if (typeof opts === "function") return eos(stream, null, opts);
      if (!opts) opts = {};
      callback = once(callback || noop);
      var ws = stream._writableState;
      var rs = stream._readableState;
      var readable = opts.readable || opts.readable !== false && stream.readable;
      var writable = opts.writable || opts.writable !== false && stream.writable;
      var cancelled = false;
      var onlegacyfinish = function() {
        if (!stream.writable) onfinish();
      };
      var onfinish = function() {
        writable = false;
        if (!readable) callback.call(stream);
      };
      var onend = function() {
        readable = false;
        if (!writable) callback.call(stream);
      };
      var onexit = function(exitCode) {
        callback.call(stream, exitCode ? new Error("exited with error code: " + exitCode) : null);
      };
      var onerror = function(err) {
        callback.call(stream, err);
      };
      var onclose = function() {
        process.nextTick(onclosenexttick);
      };
      var onclosenexttick = function() {
        if (cancelled) return;
        if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error("premature close"));
        if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error("premature close"));
      };
      var onrequest = function() {
        stream.req.on("finish", onfinish);
      };
      if (isRequest(stream)) {
        stream.on("complete", onfinish);
        stream.on("abort", onclose);
        if (stream.req) onrequest();
        else stream.on("request", onrequest);
      } else if (writable && !ws) {
        stream.on("end", onlegacyfinish);
        stream.on("close", onlegacyfinish);
      }
      if (isChildProcess(stream)) stream.on("exit", onexit);
      stream.on("end", onend);
      stream.on("finish", onfinish);
      if (opts.error !== false) stream.on("error", onerror);
      stream.on("close", onclose);
      return function() {
        cancelled = true;
        stream.removeListener("complete", onfinish);
        stream.removeListener("abort", onclose);
        stream.removeListener("request", onrequest);
        if (stream.req) stream.req.removeListener("finish", onfinish);
        stream.removeListener("end", onlegacyfinish);
        stream.removeListener("close", onlegacyfinish);
        stream.removeListener("finish", onfinish);
        stream.removeListener("exit", onexit);
        stream.removeListener("end", onend);
        stream.removeListener("error", onerror);
        stream.removeListener("close", onclose);
      };
    };
    module2.exports = eos;
  }
});

// ../node_modules/.pnpm/pump@3.0.2/node_modules/pump/index.js
var require_pump = __commonJS({
  "../node_modules/.pnpm/pump@3.0.2/node_modules/pump/index.js"(exports2, module2) {
    var once = require_once();
    var eos = require_end_of_stream2();
    var fs;
    try {
      fs = require("fs");
    } catch (e) {
    }
    var noop = function() {
    };
    var ancient = /^v?\.0/.test(process.version);
    var isFn = function(fn) {
      return typeof fn === "function";
    };
    var isFS = function(stream) {
      if (!ancient) return false;
      if (!fs) return false;
      return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close);
    };
    var isRequest = function(stream) {
      return stream.setHeader && isFn(stream.abort);
    };
    var destroyer = function(stream, reading, writing, callback) {
      callback = once(callback);
      var closed = false;
      stream.on("close", function() {
        closed = true;
      });
      eos(stream, { readable: reading, writable: writing }, function(err) {
        if (err) return callback(err);
        closed = true;
        callback();
      });
      var destroyed = false;
      return function(err) {
        if (closed) return;
        if (destroyed) return;
        destroyed = true;
        if (isFS(stream)) return stream.close(noop);
        if (isRequest(stream)) return stream.abort();
        if (isFn(stream.destroy)) return stream.destroy();
        callback(err || new Error("stream was destroyed"));
      };
    };
    var call = function(fn) {
      fn();
    };
    var pipe = function(from, to) {
      return from.pipe(to);
    };
    var pump = function() {
      var streams = Array.prototype.slice.call(arguments);
      var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop;
      if (Array.isArray(streams[0])) streams = streams[0];
      if (streams.length < 2) throw new Error("pump requires two streams per minimum");
      var error;
      var destroys = streams.map(function(stream, i) {
        var reading = i < streams.length - 1;
        var writing = i > 0;
        return destroyer(stream, reading, writing, function(err) {
          if (!error) error = err;
          if (err) destroys.forEach(call);
          if (reading) return;
          destroys.forEach(call);
          callback(error);
        });
      });
      return streams.reduce(pipe);
    };
    module2.exports = pump;
  }
});

// ../node_modules/.pnpm/get-stream@5.2.0/node_modules/get-stream/buffer-stream.js
var require_buffer_stream2 = __commonJS({
  "../node_modules/.pnpm/get-stream@5.2.0/node_modules/get-stream/buffer-stream.js"(exports2, module2) {
    "use strict";
    var { PassThrough: PassThroughStream } = require("stream");
    module2.exports = (options) => {
      options = { ...options };
      const { array } = options;
      let { encoding } = options;
      const isBuffer = encoding === "buffer";
      let objectMode = false;
      if (array) {
        objectMode = !(encoding || isBuffer);
      } else {
        encoding = encoding || "utf8";
      }
      if (isBuffer) {
        encoding = null;
      }
      const stream = new PassThroughStream({ objectMode });
      if (encoding) {
        stream.setEncoding(encoding);
      }
      let length = 0;
      const chunks = [];
      stream.on("data", (chunk) => {
        chunks.push(chunk);
        if (objectMode) {
          length = chunks.length;
        } else {
          length += chunk.length;
        }
      });
      stream.getBufferedValue = () => {
        if (array) {
          return chunks;
        }
        return isBuffer ? Buffer.concat(chunks, length) : chunks.join("");
      };
      stream.getBufferedLength = () => length;
      return stream;
    };
  }
});

// ../node_modules/.pnpm/get-stream@5.2.0/node_modules/get-stream/index.js
var require_get_stream2 = __commonJS({
  "../node_modules/.pnpm/get-stream@5.2.0/node_modules/get-stream/index.js"(exports2, module2) {
    "use strict";
    var { constants: BufferConstants } = require("buffer");
    var pump = require_pump();
    var bufferStream2 = require_buffer_stream2();
    var MaxBufferError = class extends Error {
      constructor() {
        super("maxBuffer exceeded");
        this.name = "MaxBufferError";
      }
    };
    async function getStream(inputStream, options) {
      if (!inputStream) {
        return Promise.reject(new Error("Expected a stream"));
      }
      options = {
        maxBuffer: Infinity,
        ...options
      };
      const { maxBuffer } = options;
      let stream;
      await new Promise((resolve, reject) => {
        const rejectPromise = (error) => {
          if (error && stream.getBufferedLength() <= BufferConstants.MAX_LENGTH) {
            error.bufferedData = stream.getBufferedValue();
          }
          reject(error);
        };
        stream = pump(inputStream, bufferStream2(options), (error) => {
          if (error) {
            rejectPromise(error);
            return;
          }
          resolve();
        });
        stream.on("data", () => {
          if (stream.getBufferedLength() > maxBuffer) {
            rejectPromise(new MaxBufferError());
          }
        });
      });
      return stream.getBufferedValue();
    }
    module2.exports = getStream;
    module2.exports.default = getStream;
    module2.exports.buffer = (stream, options) => getStream(stream, { ...options, encoding: "buffer" });
    module2.exports.array = (stream, options) => getStream(stream, { ...options, array: true });
    module2.exports.MaxBufferError = MaxBufferError;
  }
});

// ../node_modules/.pnpm/http-cache-semantics@4.1.1/node_modules/http-cache-semantics/index.js
var require_http_cache_semantics = __commonJS({
  "../node_modules/.pnpm/http-cache-semantics@4.1.1/node_modules/http-cache-semantics/index.js"(exports2, module2) {
    "use strict";
    var statusCodeCacheableByDefault = /* @__PURE__ */ new Set([
      200,
      203,
      204,
      206,
      300,
      301,
      308,
      404,
      405,
      410,
      414,
      501
    ]);
    var understoodStatuses = /* @__PURE__ */ new Set([
      200,
      203,
      204,
      300,
      301,
      302,
      303,
      307,
      308,
      404,
      405,
      410,
      414,
      501
    ]);
    var errorStatusCodes = /* @__PURE__ */ new Set([
      500,
      502,
      503,
      504
    ]);
    var hopByHopHeaders = {
      date: true,
      // included, because we add Age update Date
      connection: true,
      "keep-alive": true,
      "proxy-authenticate": true,
      "proxy-authorization": true,
      te: true,
      trailer: true,
      "transfer-encoding": true,
      upgrade: true
    };
    var excludedFromRevalidationUpdate = {
      // Since the old body is reused, it doesn't make sense to change properties of the body
      "content-length": true,
      "content-encoding": true,
      "transfer-encoding": true,
      "content-range": true
    };
    function toNumberOrZero(s) {
      const n = parseInt(s, 10);
      return isFinite(n) ? n : 0;
    }
    function isErrorResponse(response) {
      if (!response) {
        return true;
      }
      return errorStatusCodes.has(response.status);
    }
    function parseCacheControl(header) {
      const cc = {};
      if (!header) return cc;
      const parts = header.trim().split(/,/);
      for (const part of parts) {
        const [k, v] = part.split(/=/, 2);
        cc[k.trim()] = v === void 0 ? true : v.trim().replace(/^"|"$/g, "");
      }
      return cc;
    }
    function formatCacheControl(cc) {
      let parts = [];
      for (const k in cc) {
        const v = cc[k];
        parts.push(v === true ? k : k + "=" + v);
      }
      if (!parts.length) {
        return void 0;
      }
      return parts.join(", ");
    }
    module2.exports = class CachePolicy {
      constructor(req, res, {
        shared,
        cacheHeuristic,
        immutableMinTimeToLive,
        ignoreCargoCult,
        _fromObject
      } = {}) {
        if (_fromObject) {
          this._fromObject(_fromObject);
          return;
        }
        if (!res || !res.headers) {
          throw Error("Response headers missing");
        }
        this._assertRequestHasHeaders(req);
        this._responseTime = this.now();
        this._isShared = shared !== false;
        this._cacheHeuristic = void 0 !== cacheHeuristic ? cacheHeuristic : 0.1;
        this._immutableMinTtl = void 0 !== immutableMinTimeToLive ? immutableMinTimeToLive : 24 * 3600 * 1e3;
        this._status = "status" in res ? res.status : 200;
        this._resHeaders = res.headers;
        this._rescc = parseCacheControl(res.headers["cache-control"]);
        this._method = "method" in req ? req.method : "GET";
        this._url = req.url;
        this._host = req.headers.host;
        this._noAuthorization = !req.headers.authorization;
        this._reqHeaders = res.headers.vary ? req.headers : null;
        this._reqcc = parseCacheControl(req.headers["cache-control"]);
        if (ignoreCargoCult && "pre-check" in this._rescc && "post-check" in this._rescc) {
          delete this._rescc["pre-check"];
          delete this._rescc["post-check"];
          delete this._rescc["no-cache"];
          delete this._rescc["no-store"];
          delete this._rescc["must-revalidate"];
          this._resHeaders = Object.assign({}, this._resHeaders, {
            "cache-control": formatCacheControl(this._rescc)
          });
          delete this._resHeaders.expires;
          delete this._resHeaders.pragma;
        }
        if (res.headers["cache-control"] == null && /no-cache/.test(res.headers.pragma)) {
          this._rescc["no-cache"] = true;
        }
      }
      now() {
        return Date.now();
      }
      storable() {
        return !!(!this._reqcc["no-store"] && // A cache MUST NOT store a response to any request, unless:
        // The request method is understood by the cache and defined as being cacheable, and
        ("GET" === this._method || "HEAD" === this._method || "POST" === this._method && this._hasExplicitExpiration()) && // the response status code is understood by the cache, and
        understoodStatuses.has(this._status) && // the "no-store" cache directive does not appear in request or response header fields, and
        !this._rescc["no-store"] && // the "private" response directive does not appear in the response, if the cache is shared, and
        (!this._isShared || !this._rescc.private) && // the Authorization header field does not appear in the request, if the cache is shared,
        (!this._isShared || this._noAuthorization || this._allowsStoringAuthenticated()) && // the response either:
        // contains an Expires header field, or
        (this._resHeaders.expires || // contains a max-age response directive, or
        // contains a s-maxage response directive and the cache is shared, or
        // contains a public response directive.
        this._rescc["max-age"] || this._isShared && this._rescc["s-maxage"] || this._rescc.public || // has a status code that is defined as cacheable by default
        statusCodeCacheableByDefault.has(this._status)));
      }
      _hasExplicitExpiration() {
        return this._isShared && this._rescc["s-maxage"] || this._rescc["max-age"] || this._resHeaders.expires;
      }
      _assertRequestHasHeaders(req) {
        if (!req || !req.headers) {
          throw Error("Request headers missing");
        }
      }
      satisfiesWithoutRevalidation(req) {
        this._assertRequestHasHeaders(req);
        const requestCC = parseCacheControl(req.headers["cache-control"]);
        if (requestCC["no-cache"] || /no-cache/.test(req.headers.pragma)) {
          return false;
        }
        if (requestCC["max-age"] && this.age() > requestCC["max-age"]) {
          return false;
        }
        if (requestCC["min-fresh"] && this.timeToLive() < 1e3 * requestCC["min-fresh"]) {
          return false;
        }
        if (this.stale()) {
          const allowsStale = requestCC["max-stale"] && !this._rescc["must-revalidate"] && (true === requestCC["max-stale"] || requestCC["max-stale"] > this.age() - this.maxAge());
          if (!allowsStale) {
            return false;
          }
        }
        return this._requestMatches(req, false);
      }
      _requestMatches(req, allowHeadMethod) {
        return (!this._url || this._url === req.url) && this._host === req.headers.host && // the request method associated with the stored response allows it to be used for the presented request, and
        (!req.method || this._method === req.method || allowHeadMethod && "HEAD" === req.method) && // selecting header fields nominated by the stored response (if any) match those presented, and
        this._varyMatches(req);
      }
      _allowsStoringAuthenticated() {
        return this._rescc["must-revalidate"] || this._rescc.public || this._rescc["s-maxage"];
      }
      _varyMatches(req) {
        if (!this._resHeaders.vary) {
          return true;
        }
        if (this._resHeaders.vary === "*") {
          return false;
        }
        const fields = this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);
        for (const name of fields) {
          if (req.headers[name] !== this._reqHeaders[name]) return false;
        }
        return true;
      }
      _copyWithoutHopByHopHeaders(inHeaders) {
        const headers = {};
        for (const name in inHeaders) {
          if (hopByHopHeaders[name]) continue;
          headers[name] = inHeaders[name];
        }
        if (inHeaders.connection) {
          const tokens = inHeaders.connection.trim().split(/\s*,\s*/);
          for (const name of tokens) {
            delete headers[name];
          }
        }
        if (headers.warning) {
          const warnings = headers.warning.split(/,/).filter((warning) => {
            return !/^\s*1[0-9][0-9]/.test(warning);
          });
          if (!warnings.length) {
            delete headers.warning;
          } else {
            headers.warning = warnings.join(",").trim();
          }
        }
        return headers;
      }
      responseHeaders() {
        const headers = this._copyWithoutHopByHopHeaders(this._resHeaders);
        const age = this.age();
        if (age > 3600 * 24 && !this._hasExplicitExpiration() && this.maxAge() > 3600 * 24) {
          headers.warning = (headers.warning ? `${headers.warning}, ` : "") + '113 - "rfc7234 5.5.4"';
        }
        headers.age = `${Math.round(age)}`;
        headers.date = new Date(this.now()).toUTCString();
        return headers;
      }
      /**
       * Value of the Date response header or current time if Date was invalid
       * @return timestamp
       */
      date() {
        const serverDate = Date.parse(this._resHeaders.date);
        if (isFinite(serverDate)) {
          return serverDate;
        }
        return this._responseTime;
      }
      /**
       * Value of the Age header, in seconds, updated for the current time.
       * May be fractional.
       *
       * @return Number
       */
      age() {
        let age = this._ageValue();
        const residentTime = (this.now() - this._responseTime) / 1e3;
        return age + residentTime;
      }
      _ageValue() {
        return toNumberOrZero(this._resHeaders.age);
      }
      /**
       * Value of applicable max-age (or heuristic equivalent) in seconds. This counts since response's `Date`.
       *
       * For an up-to-date value, see `timeToLive()`.
       *
       * @return Number
       */
      maxAge() {
        if (!this.storable() || this._rescc["no-cache"]) {
          return 0;
        }
        if (this._isShared && (this._resHeaders["set-cookie"] && !this._rescc.public && !this._rescc.immutable)) {
          return 0;
        }
        if (this._resHeaders.vary === "*") {
          return 0;
        }
        if (this._isShared) {
          if (this._rescc["proxy-revalidate"]) {
            return 0;
          }
          if (this._rescc["s-maxage"]) {
            return toNumberOrZero(this._rescc["s-maxage"]);
          }
        }
        if (this._rescc["max-age"]) {
          return toNumberOrZero(this._rescc["max-age"]);
        }
        const defaultMinTtl = this._rescc.immutable ? this._immutableMinTtl : 0;
        const serverDate = this.date();
        if (this._resHeaders.expires) {
          const expires = Date.parse(this._resHeaders.expires);
          if (Number.isNaN(expires) || expires < serverDate) {
            return 0;
          }
          return Math.max(defaultMinTtl, (expires - serverDate) / 1e3);
        }
        if (this._resHeaders["last-modified"]) {
          const lastModified = Date.parse(this._resHeaders["last-modified"]);
          if (isFinite(lastModified) && serverDate > lastModified) {
            return Math.max(
              defaultMinTtl,
              (serverDate - lastModified) / 1e3 * this._cacheHeuristic
            );
          }
        }
        return defaultMinTtl;
      }
      timeToLive() {
        const age = this.maxAge() - this.age();
        const staleIfErrorAge = age + toNumberOrZero(this._rescc["stale-if-error"]);
        const staleWhileRevalidateAge = age + toNumberOrZero(this._rescc["stale-while-revalidate"]);
        return Math.max(0, age, staleIfErrorAge, staleWhileRevalidateAge) * 1e3;
      }
      stale() {
        return this.maxAge() <= this.age();
      }
      _useStaleIfError() {
        return this.maxAge() + toNumberOrZero(this._rescc["stale-if-error"]) > this.age();
      }
      useStaleWhileRevalidate() {
        return this.maxAge() + toNumberOrZero(this._rescc["stale-while-revalidate"]) > this.age();
      }
      static fromObject(obj) {
        return new this(void 0, void 0, { _fromObject: obj });
      }
      _fromObject(obj) {
        if (this._responseTime) throw Error("Reinitialized");
        if (!obj || obj.v !== 1) throw Error("Invalid serialization");
        this._responseTime = obj.t;
        this._isShared = obj.sh;
        this._cacheHeuristic = obj.ch;
        this._immutableMinTtl = obj.imm !== void 0 ? obj.imm : 24 * 3600 * 1e3;
        this._status = obj.st;
        this._resHeaders = obj.resh;
        this._rescc = obj.rescc;
        this._method = obj.m;
        this._url = obj.u;
        this._host = obj.h;
        this._noAuthorization = obj.a;
        this._reqHeaders = obj.reqh;
        this._reqcc = obj.reqcc;
      }
      toObject() {
        return {
          v: 1,
          t: this._responseTime,
          sh: this._isShared,
          ch: this._cacheHeuristic,
          imm: this._immutableMinTtl,
          st: this._status,
          resh: this._resHeaders,
          rescc: this._rescc,
          m: this._method,
          u: this._url,
          h: this._host,
          a: this._noAuthorization,
          reqh: this._reqHeaders,
          reqcc: this._reqcc
        };
      }
      /**
       * Headers for sending to the origin server to revalidate stale response.
       * Allows server to return 304 to allow reuse of the previous response.
       *
       * Hop by hop headers are always stripped.
       * Revalidation headers may be added or removed, depending on request.
       */
      revalidationHeaders(incomingReq) {
        this._assertRequestHasHeaders(incomingReq);
        const headers = this._copyWithoutHopByHopHeaders(incomingReq.headers);
        delete headers["if-range"];
        if (!this._requestMatches(incomingReq, true) || !this.storable()) {
          delete headers["if-none-match"];
          delete headers["if-modified-since"];
          return headers;
        }
        if (this._resHeaders.etag) {
          headers["if-none-match"] = headers["if-none-match"] ? `${headers["if-none-match"]}, ${this._resHeaders.etag}` : this._resHeaders.etag;
        }
        const forbidsWeakValidators = headers["accept-ranges"] || headers["if-match"] || headers["if-unmodified-since"] || this._method && this._method != "GET";
        if (forbidsWeakValidators) {
          delete headers["if-modified-since"];
          if (headers["if-none-match"]) {
            const etags = headers["if-none-match"].split(/,/).filter((etag) => {
              return !/^\s*W\//.test(etag);
            });
            if (!etags.length) {
              delete headers["if-none-match"];
            } else {
              headers["if-none-match"] = etags.join(",").trim();
            }
          }
        } else if (this._resHeaders["last-modified"] && !headers["if-modified-since"]) {
          headers["if-modified-since"] = this._resHeaders["last-modified"];
        }
        return headers;
      }
      /**
       * Creates new CachePolicy with information combined from the previews response,
       * and the new revalidation response.
       *
       * Returns {policy, modified} where modified is a boolean indicating
       * whether the response body has been modified, and old cached body can't be used.
       *
       * @return {Object} {policy: CachePolicy, modified: Boolean}
       */
      revalidatedPolicy(request, response) {
        this._assertRequestHasHeaders(request);
        if (this._useStaleIfError() && isErrorResponse(response)) {
          return {
            modified: false,
            matches: false,
            policy: this
          };
        }
        if (!response || !response.headers) {
          throw Error("Response headers missing");
        }
        let matches = false;
        if (response.status !== void 0 && response.status != 304) {
          matches = false;
        } else if (response.headers.etag && !/^\s*W\//.test(response.headers.etag)) {
          matches = this._resHeaders.etag && this._resHeaders.etag.replace(/^\s*W\//, "") === response.headers.etag;
        } else if (this._resHeaders.etag && response.headers.etag) {
          matches = this._resHeaders.etag.replace(/^\s*W\//, "") === response.headers.etag.replace(/^\s*W\//, "");
        } else if (this._resHeaders["last-modified"]) {
          matches = this._resHeaders["last-modified"] === response.headers["last-modified"];
        } else {
          if (!this._resHeaders.etag && !this._resHeaders["last-modified"] && !response.headers.etag && !response.headers["last-modified"]) {
            matches = true;
          }
        }
        if (!matches) {
          return {
            policy: new this.constructor(request, response),
            // Client receiving 304 without body, even if it's invalid/mismatched has no option
            // but to reuse a cached body. We don't have a good way to tell clients to do
            // error recovery in such case.
            modified: response.status != 304,
            matches: false
          };
        }
        const headers = {};
        for (const k in this._resHeaders) {
          headers[k] = k in response.headers && !excludedFromRevalidationUpdate[k] ? response.headers[k] : this._resHeaders[k];
        }
        const newResponse = Object.assign({}, response, {
          status: this._status,
          method: this._method,
          headers
        });
        return {
          policy: new this.constructor(request, newResponse, {
            shared: this._isShared,
            cacheHeuristic: this._cacheHeuristic,
            immutableMinTimeToLive: this._immutableMinTtl
          }),
          modified: false,
          matches: true
        };
      }
    };
  }
});

// ../node_modules/.pnpm/lowercase-keys@2.0.0/node_modules/lowercase-keys/index.js
var require_lowercase_keys = __commonJS({
  "../node_modules/.pnpm/lowercase-keys@2.0.0/node_modules/lowercase-keys/index.js"(exports2, module2) {
    "use strict";
    module2.exports = (object) => {
      const result2 = {};
      for (const [key, value] of Object.entries(object)) {
        result2[key.toLowerCase()] = value;
      }
      return result2;
    };
  }
});

// ../node_modules/.pnpm/responselike@2.0.1/node_modules/responselike/src/index.js
var require_src6 = __commonJS({
  "../node_modules/.pnpm/responselike@2.0.1/node_modules/responselike/src/index.js"(exports2, module2) {
    "use strict";
    var Readable = require("stream").Readable;
    var lowercaseKeys = require_lowercase_keys();
    var Response = class extends Readable {
      constructor(statusCode, headers, body, url) {
        if (typeof statusCode !== "number") {
          throw new TypeError("Argument `statusCode` should be a number");
        }
        if (typeof headers !== "object") {
          throw new TypeError("Argument `headers` should be an object");
        }
        if (!(body instanceof Buffer)) {
          throw new TypeError("Argument `body` should be a buffer");
        }
        if (typeof url !== "string") {
          throw new TypeError("Argument `url` should be a string");
        }
        super();
        this.statusCode = statusCode;
        this.headers = lowercaseKeys(headers);
        this.body = body;
        this.url = url;
      }
      _read() {
        this.push(this.body);
        this.push(null);
      }
    };
    module2.exports = Response;
  }
});

// ../node_modules/.pnpm/mimic-response@1.0.1/node_modules/mimic-response/index.js
var require_mimic_response = __commonJS({
  "../node_modules/.pnpm/mimic-response@1.0.1/node_modules/mimic-response/index.js"(exports2, module2) {
    "use strict";
    var knownProps = [
      "destroy",
      "setTimeout",
      "socket",
      "headers",
      "trailers",
      "rawHeaders",
      "statusCode",
      "httpVersion",
      "httpVersionMinor",
      "httpVersionMajor",
      "rawTrailers",
      "statusMessage"
    ];
    module2.exports = (fromStream, toStream) => {
      const fromProps = new Set(Object.keys(fromStream).concat(knownProps));
      for (const prop of fromProps) {
        if (prop in toStream) {
          continue;
        }
        toStream[prop] = typeof fromStream[prop] === "function" ? fromStream[prop].bind(fromStream) : fromStream[prop];
      }
    };
  }
});

// ../node_modules/.pnpm/clone-response@1.0.3/node_modules/clone-response/src/index.js
var require_src7 = __commonJS({
  "../node_modules/.pnpm/clone-response@1.0.3/node_modules/clone-response/src/index.js"(exports2, module2) {
    "use strict";
    var PassThrough = require("stream").PassThrough;
    var mimicResponse = require_mimic_response();
    var cloneResponse = (response) => {
      if (!(response && response.pipe)) {
        throw new TypeError("Parameter `response` must be a response stream.");
      }
      const clone = new PassThrough();
      mimicResponse(response, clone);
      return response.pipe(clone);
    };
    module2.exports = cloneResponse;
  }
});

// ../node_modules/.pnpm/json-buffer@3.0.1/node_modules/json-buffer/index.js
var require_json_buffer = __commonJS({
  "../node_modules/.pnpm/json-buffer@3.0.1/node_modules/json-buffer/index.js"(exports2) {
    exports2.stringify = function stringify2(o) {
      if ("undefined" == typeof o) return o;
      if (o && Buffer.isBuffer(o))
        return JSON.stringify(":base64:" + o.toString("base64"));
      if (o && o.toJSON)
        o = o.toJSON();
      if (o && "object" === typeof o) {
        var s = "";
        var array = Array.isArray(o);
        s = array ? "[" : "{";
        var first = true;
        for (var k in o) {
          var ignore = "function" == typeof o[k] || !array && "undefined" === typeof o[k];
          if (Object.hasOwnProperty.call(o, k) && !ignore) {
            if (!first)
              s += ",";
            first = false;
            if (array) {
              if (o[k] == void 0)
                s += "null";
              else
                s += stringify2(o[k]);
            } else if (o[k] !== void 0) {
              s += stringify2(k) + ":" + stringify2(o[k]);
            }
          }
        }
        s += array ? "]" : "}";
        return s;
      } else if ("string" === typeof o) {
        return JSON.stringify(/^:/.test(o) ? ":" + o : o);
      } else if ("undefined" === typeof o) {
        return "null";
      } else
        return JSON.stringify(o);
    };
    exports2.parse = function(s) {
      return JSON.parse(s, function(key, value) {
        if ("string" === typeof value) {
          if (/^:base64:/.test(value))
            return Buffer.from(value.substring(8), "base64");
          else
            return /^:/.test(value) ? value.substring(1) : value;
        }
        return value;
      });
    };
  }
});

// ../node_modules/.pnpm/keyv@4.5.4/node_modules/keyv/src/index.js
var require_src8 = __commonJS({
  "../node_modules/.pnpm/keyv@4.5.4/node_modules/keyv/src/index.js"(exports2, module2) {
    "use strict";
    var EventEmitter = require("events");
    var JSONB = require_json_buffer();
    var loadStore = (options) => {
      const adapters = {
        redis: "@keyv/redis",
        rediss: "@keyv/redis",
        mongodb: "@keyv/mongo",
        mongo: "@keyv/mongo",
        sqlite: "@keyv/sqlite",
        postgresql: "@keyv/postgres",
        postgres: "@keyv/postgres",
        mysql: "@keyv/mysql",
        etcd: "@keyv/etcd",
        offline: "@keyv/offline",
        tiered: "@keyv/tiered"
      };
      if (options.adapter || options.uri) {
        const adapter = options.adapter || /^[^:+]*/.exec(options.uri)[0];
        return new (require(adapters[adapter]))(options);
      }
      return /* @__PURE__ */ new Map();
    };
    var iterableAdapters = [
      "sqlite",
      "postgres",
      "mysql",
      "mongo",
      "redis",
      "tiered"
    ];
    var Keyv = class extends EventEmitter {
      constructor(uri, { emitErrors = true, ...options } = {}) {
        super();
        this.opts = {
          namespace: "keyv",
          serialize: JSONB.stringify,
          deserialize: JSONB.parse,
          ...typeof uri === "string" ? { uri } : uri,
          ...options
        };
        if (!this.opts.store) {
          const adapterOptions = { ...this.opts };
          this.opts.store = loadStore(adapterOptions);
        }
        if (this.opts.compression) {
          const compression = this.opts.compression;
          this.opts.serialize = compression.serialize.bind(compression);
          this.opts.deserialize = compression.deserialize.bind(compression);
        }
        if (typeof this.opts.store.on === "function" && emitErrors) {
          this.opts.store.on("error", (error) => this.emit("error", error));
        }
        this.opts.store.namespace = this.opts.namespace;
        const generateIterator = (iterator) => async function* () {
          for await (const [key, raw] of typeof iterator === "function" ? iterator(this.opts.store.namespace) : iterator) {
            const data = await this.opts.deserialize(raw);
            if (this.opts.store.namespace && !key.includes(this.opts.store.namespace)) {
              continue;
            }
            if (typeof data.expires === "number" && Date.now() > data.expires) {
              this.delete(key);
              continue;
            }
            yield [this._getKeyUnprefix(key), data.value];
          }
        };
        if (typeof this.opts.store[Symbol.iterator] === "function" && this.opts.store instanceof Map) {
          this.iterator = generateIterator(this.opts.store);
        } else if (typeof this.opts.store.iterator === "function" && this.opts.store.opts && this._checkIterableAdaptar()) {
          this.iterator = generateIterator(this.opts.store.iterator.bind(this.opts.store));
        }
      }
      _checkIterableAdaptar() {
        return iterableAdapters.includes(this.opts.store.opts.dialect) || iterableAdapters.findIndex((element) => this.opts.store.opts.url.includes(element)) >= 0;
      }
      _getKeyPrefix(key) {
        return `${this.opts.namespace}:${key}`;
      }
      _getKeyPrefixArray(keys) {
        return keys.map((key) => `${this.opts.namespace}:${key}`);
      }
      _getKeyUnprefix(key) {
        return key.split(":").splice(1).join(":");
      }
      get(key, options) {
        const { store } = this.opts;
        const isArray = Array.isArray(key);
        const keyPrefixed = isArray ? this._getKeyPrefixArray(key) : this._getKeyPrefix(key);
        if (isArray && store.getMany === void 0) {
          const promises = [];
          for (const key2 of keyPrefixed) {
            promises.push(
              Promise.resolve().then(() => store.get(key2)).then((data) => typeof data === "string" ? this.opts.deserialize(data) : this.opts.compression ? this.opts.deserialize(data) : data).then((data) => {
                if (data === void 0 || data === null) {
                  return void 0;
                }
                if (typeof data.expires === "number" && Date.now() > data.expires) {
                  return this.delete(key2).then(() => void 0);
                }
                return options && options.raw ? data : data.value;
              })
            );
          }
          return Promise.allSettled(promises).then((values) => {
            const data = [];
            for (const value of values) {
              data.push(value.value);
            }
            return data;
          });
        }
        return Promise.resolve().then(() => isArray ? store.getMany(keyPrefixed) : store.get(keyPrefixed)).then((data) => typeof data === "string" ? this.opts.deserialize(data) : this.opts.compression ? this.opts.deserialize(data) : data).then((data) => {
          if (data === void 0 || data === null) {
            return void 0;
          }
          if (isArray) {
            return data.map((row, index) => {
              if (typeof row === "string") {
                row = this.opts.deserialize(row);
              }
              if (row === void 0 || row === null) {
                return void 0;
              }
              if (typeof row.expires === "number" && Date.now() > row.expires) {
                this.delete(key[index]).then(() => void 0);
                return void 0;
              }
              return options && options.raw ? row : row.value;
            });
          }
          if (typeof data.expires === "number" && Date.now() > data.expires) {
            return this.delete(key).then(() => void 0);
          }
          return options && options.raw ? data : data.value;
        });
      }
      set(key, value, ttl) {
        const keyPrefixed = this._getKeyPrefix(key);
        if (typeof ttl === "undefined") {
          ttl = this.opts.ttl;
        }
        if (ttl === 0) {
          ttl = void 0;
        }
        const { store } = this.opts;
        return Promise.resolve().then(() => {
          const expires = typeof ttl === "number" ? Date.now() + ttl : null;
          if (typeof value === "symbol") {
            this.emit("error", "symbol cannot be serialized");
          }
          value = { value, expires };
          return this.opts.serialize(value);
        }).then((value2) => store.set(keyPrefixed, value2, ttl)).then(() => true);
      }
      delete(key) {
        const { store } = this.opts;
        if (Array.isArray(key)) {
          const keyPrefixed2 = this._getKeyPrefixArray(key);
          if (store.deleteMany === void 0) {
            const promises = [];
            for (const key2 of keyPrefixed2) {
              promises.push(store.delete(key2));
            }
            return Promise.allSettled(promises).then((values) => values.every((x) => x.value === true));
          }
          return Promise.resolve().then(() => store.deleteMany(keyPrefixed2));
        }
        const keyPrefixed = this._getKeyPrefix(key);
        return Promise.resolve().then(() => store.delete(keyPrefixed));
      }
      clear() {
        const { store } = this.opts;
        return Promise.resolve().then(() => store.clear());
      }
      has(key) {
        const keyPrefixed = this._getKeyPrefix(key);
        const { store } = this.opts;
        return Promise.resolve().then(async () => {
          if (typeof store.has === "function") {
            return store.has(keyPrefixed);
          }
          const value = await store.get(keyPrefixed);
          return value !== void 0;
        });
      }
      disconnect() {
        const { store } = this.opts;
        if (typeof store.disconnect === "function") {
          return store.disconnect();
        }
      }
    };
    module2.exports = Keyv;
  }
});

// ../node_modules/.pnpm/cacheable-request@7.0.4/node_modules/cacheable-request/src/index.js
var require_src9 = __commonJS({
  "../node_modules/.pnpm/cacheable-request@7.0.4/node_modules/cacheable-request/src/index.js"(exports2, module2) {
    "use strict";
    var EventEmitter = require("events");
    var urlLib = require("url");
    var normalizeUrl = require_normalize_url();
    var getStream = require_get_stream2();
    var CachePolicy = require_http_cache_semantics();
    var Response = require_src6();
    var lowercaseKeys = require_lowercase_keys();
    var cloneResponse = require_src7();
    var Keyv = require_src8();
    var CacheableRequest = class _CacheableRequest {
      constructor(request, cacheAdapter) {
        if (typeof request !== "function") {
          throw new TypeError("Parameter `request` must be a function");
        }
        this.cache = new Keyv({
          uri: typeof cacheAdapter === "string" && cacheAdapter,
          store: typeof cacheAdapter !== "string" && cacheAdapter,
          namespace: "cacheable-request"
        });
        return this.createCacheableRequest(request);
      }
      createCacheableRequest(request) {
        return (opts, cb) => {
          let url;
          if (typeof opts === "string") {
            url = normalizeUrlObject(urlLib.parse(opts));
            opts = {};
          } else if (opts instanceof urlLib.URL) {
            url = normalizeUrlObject(urlLib.parse(opts.toString()));
            opts = {};
          } else {
            const [pathname, ...searchParts] = (opts.path || "").split("?");
            const search = searchParts.length > 0 ? `?${searchParts.join("?")}` : "";
            url = normalizeUrlObject({ ...opts, pathname, search });
          }
          opts = {
            headers: {},
            method: "GET",
            cache: true,
            strictTtl: false,
            automaticFailover: false,
            ...opts,
            ...urlObjectToRequestOptions(url)
          };
          opts.headers = lowercaseKeys(opts.headers);
          const ee = new EventEmitter();
          const normalizedUrlString = normalizeUrl(
            urlLib.format(url),
            {
              stripWWW: false,
              removeTrailingSlash: false,
              stripAuthentication: false
            }
          );
          const key = `${opts.method}:${normalizedUrlString}`;
          let revalidate = false;
          let madeRequest = false;
          const makeRequest = (opts2) => {
            madeRequest = true;
            let requestErrored = false;
            let requestErrorCallback;
            const requestErrorPromise = new Promise((resolve) => {
              requestErrorCallback = () => {
                if (!requestErrored) {
                  requestErrored = true;
                  resolve();
                }
              };
            });
            const handler = (response) => {
              if (revalidate && !opts2.forceRefresh) {
                response.status = response.statusCode;
                const revalidatedPolicy = CachePolicy.fromObject(revalidate.cachePolicy).revalidatedPolicy(opts2, response);
                if (!revalidatedPolicy.modified) {
                  const headers = revalidatedPolicy.policy.responseHeaders();
                  response = new Response(revalidate.statusCode, headers, revalidate.body, revalidate.url);
                  response.cachePolicy = revalidatedPolicy.policy;
                  response.fromCache = true;
                }
              }
              if (!response.fromCache) {
                response.cachePolicy = new CachePolicy(opts2, response, opts2);
                response.fromCache = false;
              }
              let clonedResponse;
              if (opts2.cache && response.cachePolicy.storable()) {
                clonedResponse = cloneResponse(response);
                (async () => {
                  try {
                    const bodyPromise = getStream.buffer(response);
                    await Promise.race([
                      requestErrorPromise,
                      new Promise((resolve) => response.once("end", resolve))
                    ]);
                    if (requestErrored) {
                      return;
                    }
                    const body = await bodyPromise;
                    const value = {
                      cachePolicy: response.cachePolicy.toObject(),
                      url: response.url,
                      statusCode: response.fromCache ? revalidate.statusCode : response.statusCode,
                      body
                    };
                    let ttl = opts2.strictTtl ? response.cachePolicy.timeToLive() : void 0;
                    if (opts2.maxTtl) {
                      ttl = ttl ? Math.min(ttl, opts2.maxTtl) : opts2.maxTtl;
                    }
                    await this.cache.set(key, value, ttl);
                  } catch (error) {
                    ee.emit("error", new _CacheableRequest.CacheError(error));
                  }
                })();
              } else if (opts2.cache && revalidate) {
                (async () => {
                  try {
                    await this.cache.delete(key);
                  } catch (error) {
                    ee.emit("error", new _CacheableRequest.CacheError(error));
                  }
                })();
              }
              ee.emit("response", clonedResponse || response);
              if (typeof cb === "function") {
                cb(clonedResponse || response);
              }
            };
            try {
              const req = request(opts2, handler);
              req.once("error", requestErrorCallback);
              req.once("abort", requestErrorCallback);
              ee.emit("request", req);
            } catch (error) {
              ee.emit("error", new _CacheableRequest.RequestError(error));
            }
          };
          (async () => {
            const get = async (opts2) => {
              await Promise.resolve();
              const cacheEntry = opts2.cache ? await this.cache.get(key) : void 0;
              if (typeof cacheEntry === "undefined") {
                return makeRequest(opts2);
              }
              const policy = CachePolicy.fromObject(cacheEntry.cachePolicy);
              if (policy.satisfiesWithoutRevalidation(opts2) && !opts2.forceRefresh) {
                const headers = policy.responseHeaders();
                const response = new Response(cacheEntry.statusCode, headers, cacheEntry.body, cacheEntry.url);
                response.cachePolicy = policy;
                response.fromCache = true;
                ee.emit("response", response);
                if (typeof cb === "function") {
                  cb(response);
                }
              } else {
                revalidate = cacheEntry;
                opts2.headers = policy.revalidationHeaders(opts2);
                makeRequest(opts2);
              }
            };
            const errorHandler = (error) => ee.emit("error", new _CacheableRequest.CacheError(error));
            this.cache.once("error", errorHandler);
            ee.on("response", () => this.cache.removeListener("error", errorHandler));
            try {
              await get(opts);
            } catch (error) {
              if (opts.automaticFailover && !madeRequest) {
                makeRequest(opts);
              }
              ee.emit("error", new _CacheableRequest.CacheError(error));
            }
          })();
          return ee;
        };
      }
    };
    function urlObjectToRequestOptions(url) {
      const options = { ...url };
      options.path = `${url.pathname || "/"}${url.search || ""}`;
      delete options.pathname;
      delete options.search;
      return options;
    }
    function normalizeUrlObject(url) {
      return {
        protocol: url.protocol,
        auth: url.auth,
        hostname: url.hostname || url.host || "localhost",
        port: url.port,
        pathname: url.pathname,
        search: url.search
      };
    }
    CacheableRequest.RequestError = class extends Error {
      constructor(error) {
        super(error.message);
        this.name = "RequestError";
        Object.assign(this, error);
      }
    };
    CacheableRequest.CacheError = class extends Error {
      constructor(error) {
        super(error.message);
        this.name = "CacheError";
        Object.assign(this, error);
      }
    };
    module2.exports = CacheableRequest;
  }
});

// ../node_modules/.pnpm/mimic-response@3.1.0/node_modules/mimic-response/index.js
var require_mimic_response2 = __commonJS({
  "../node_modules/.pnpm/mimic-response@3.1.0/node_modules/mimic-response/index.js"(exports2, module2) {
    "use strict";
    var knownProperties = [
      "aborted",
      "complete",
      "headers",
      "httpVersion",
      "httpVersionMinor",
      "httpVersionMajor",
      "method",
      "rawHeaders",
      "rawTrailers",
      "setTimeout",
      "socket",
      "statusCode",
      "statusMessage",
      "trailers",
      "url"
    ];
    module2.exports = (fromStream, toStream) => {
      if (toStream._readableState.autoDestroy) {
        throw new Error("The second stream must have the `autoDestroy` option set to `false`");
      }
      const fromProperties = new Set(Object.keys(fromStream).concat(knownProperties));
      const properties = {};
      for (const property of fromProperties) {
        if (property in toStream) {
          continue;
        }
        properties[property] = {
          get() {
            const value = fromStream[property];
            const isFunction = typeof value === "function";
            return isFunction ? value.bind(fromStream) : value;
          },
          set(value) {
            fromStream[property] = value;
          },
          enumerable: true,
          configurable: false
        };
      }
      Object.defineProperties(toStream, properties);
      fromStream.once("aborted", () => {
        toStream.destroy();
        toStream.emit("aborted");
      });
      fromStream.once("close", () => {
        if (fromStream.complete) {
          if (toStream.readable) {
            toStream.once("end", () => {
              toStream.emit("close");
            });
          } else {
            toStream.emit("close");
          }
        } else {
          toStream.emit("close");
        }
      });
      return toStream;
    };
  }
});

// ../node_modules/.pnpm/decompress-response@6.0.0/node_modules/decompress-response/index.js
var require_decompress_response = __commonJS({
  "../node_modules/.pnpm/decompress-response@6.0.0/node_modules/decompress-response/index.js"(exports2, module2) {
    "use strict";
    var { Transform, PassThrough } = require("stream");
    var zlib = require("zlib");
    var mimicResponse = require_mimic_response2();
    module2.exports = (response) => {
      const contentEncoding = (response.headers["content-encoding"] || "").toLowerCase();
      if (!["gzip", "deflate", "br"].includes(contentEncoding)) {
        return response;
      }
      const isBrotli = contentEncoding === "br";
      if (isBrotli && typeof zlib.createBrotliDecompress !== "function") {
        response.destroy(new Error("Brotli is not supported on Node.js < 12"));
        return response;
      }
      let isEmpty = true;
      const checker = new Transform({
        transform(data, _encoding, callback) {
          isEmpty = false;
          callback(null, data);
        },
        flush(callback) {
          callback();
        }
      });
      const finalStream = new PassThrough({
        autoDestroy: false,
        destroy(error, callback) {
          response.destroy();
          callback(error);
        }
      });
      const decompressStream = isBrotli ? zlib.createBrotliDecompress() : zlib.createUnzip();
      decompressStream.once("error", (error) => {
        if (isEmpty && !response.readable) {
          finalStream.end();
          return;
        }
        finalStream.destroy(error);
      });
      mimicResponse(response, finalStream);
      response.pipe(checker).pipe(decompressStream).pipe(finalStream);
      return finalStream;
    };
  }
});

// ../node_modules/.pnpm/quick-lru@5.1.1/node_modules/quick-lru/index.js
var require_quick_lru2 = __commonJS({
  "../node_modules/.pnpm/quick-lru@5.1.1/node_modules/quick-lru/index.js"(exports2, module2) {
    "use strict";
    var QuickLRU = class {
      constructor(options = {}) {
        if (!(options.maxSize && options.maxSize > 0)) {
          throw new TypeError("`maxSize` must be a number greater than 0");
        }
        this.maxSize = options.maxSize;
        this.onEviction = options.onEviction;
        this.cache = /* @__PURE__ */ new Map();
        this.oldCache = /* @__PURE__ */ new Map();
        this._size = 0;
      }
      _set(key, value) {
        this.cache.set(key, value);
        this._size++;
        if (this._size >= this.maxSize) {
          this._size = 0;
          if (typeof this.onEviction === "function") {
            for (const [key2, value2] of this.oldCache.entries()) {
              this.onEviction(key2, value2);
            }
          }
          this.oldCache = this.cache;
          this.cache = /* @__PURE__ */ new Map();
        }
      }
      get(key) {
        if (this.cache.has(key)) {
          return this.cache.get(key);
        }
        if (this.oldCache.has(key)) {
          const value = this.oldCache.get(key);
          this.oldCache.delete(key);
          this._set(key, value);
          return value;
        }
      }
      set(key, value) {
        if (this.cache.has(key)) {
          this.cache.set(key, value);
        } else {
          this._set(key, value);
        }
        return this;
      }
      has(key) {
        return this.cache.has(key) || this.oldCache.has(key);
      }
      peek(key) {
        if (this.cache.has(key)) {
          return this.cache.get(key);
        }
        if (this.oldCache.has(key)) {
          return this.oldCache.get(key);
        }
      }
      delete(key) {
        const deleted = this.cache.delete(key);
        if (deleted) {
          this._size--;
        }
        return this.oldCache.delete(key) || deleted;
      }
      clear() {
        this.cache.clear();
        this.oldCache.clear();
        this._size = 0;
      }
      *keys() {
        for (const [key] of this) {
          yield key;
        }
      }
      *values() {
        for (const [, value] of this) {
          yield value;
        }
      }
      *[Symbol.iterator]() {
        for (const item of this.cache) {
          yield item;
        }
        for (const item of this.oldCache) {
          const [key] = item;
          if (!this.cache.has(key)) {
            yield item;
          }
        }
      }
      get size() {
        let oldCacheSize = 0;
        for (const key of this.oldCache.keys()) {
          if (!this.cache.has(key)) {
            oldCacheSize++;
          }
        }
        return Math.min(this._size + oldCacheSize, this.maxSize);
      }
    };
    module2.exports = QuickLRU;
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/agent.js
var require_agent3 = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/agent.js"(exports2, module2) {
    "use strict";
    var EventEmitter = require("events");
    var tls = require("tls");
    var http2 = require("http2");
    var QuickLRU = require_quick_lru2();
    var kCurrentStreamsCount = Symbol("currentStreamsCount");
    var kRequest = Symbol("request");
    var kOriginSet = Symbol("cachedOriginSet");
    var kGracefullyClosing = Symbol("gracefullyClosing");
    var nameKeys = [
      // `http2.connect()` options
      "maxDeflateDynamicTableSize",
      "maxSessionMemory",
      "maxHeaderListPairs",
      "maxOutstandingPings",
      "maxReservedRemoteStreams",
      "maxSendHeaderBlockLength",
      "paddingStrategy",
      // `tls.connect()` options
      "localAddress",
      "path",
      "rejectUnauthorized",
      "minDHSize",
      // `tls.createSecureContext()` options
      "ca",
      "cert",
      "clientCertEngine",
      "ciphers",
      "key",
      "pfx",
      "servername",
      "minVersion",
      "maxVersion",
      "secureProtocol",
      "crl",
      "honorCipherOrder",
      "ecdhCurve",
      "dhparam",
      "secureOptions",
      "sessionIdContext"
    ];
    var getSortedIndex = (array, value, compare) => {
      let low = 0;
      let high = array.length;
      while (low < high) {
        const mid = low + high >>> 1;
        if (compare(array[mid], value)) {
          low = mid + 1;
        } else {
          high = mid;
        }
      }
      return low;
    };
    var compareSessions = (a, b) => {
      return a.remoteSettings.maxConcurrentStreams > b.remoteSettings.maxConcurrentStreams;
    };
    var closeCoveredSessions = (where, session) => {
      for (const coveredSession of where) {
        if (
          // The set is a proper subset when its length is less than the other set.
          coveredSession[kOriginSet].length < session[kOriginSet].length && // And the other set includes all elements of the subset.
          coveredSession[kOriginSet].every((origin) => session[kOriginSet].includes(origin)) && // Makes sure that the session can handle all requests from the covered session.
          coveredSession[kCurrentStreamsCount] + session[kCurrentStreamsCount] <= session.remoteSettings.maxConcurrentStreams
        ) {
          gracefullyClose(coveredSession);
        }
      }
    };
    var closeSessionIfCovered = (where, coveredSession) => {
      for (const session of where) {
        if (coveredSession[kOriginSet].length < session[kOriginSet].length && coveredSession[kOriginSet].every((origin) => session[kOriginSet].includes(origin)) && coveredSession[kCurrentStreamsCount] + session[kCurrentStreamsCount] <= session.remoteSettings.maxConcurrentStreams) {
          gracefullyClose(coveredSession);
        }
      }
    };
    var getSessions = ({ agent, isFree }) => {
      const result2 = {};
      for (const normalizedOptions in agent.sessions) {
        const sessions = agent.sessions[normalizedOptions];
        const filtered = sessions.filter((session) => {
          const result3 = session[Agent.kCurrentStreamsCount] < session.remoteSettings.maxConcurrentStreams;
          return isFree ? result3 : !result3;
        });
        if (filtered.length !== 0) {
          result2[normalizedOptions] = filtered;
        }
      }
      return result2;
    };
    var gracefullyClose = (session) => {
      session[kGracefullyClosing] = true;
      if (session[kCurrentStreamsCount] === 0) {
        session.close();
      }
    };
    var Agent = class _Agent extends EventEmitter {
      constructor({ timeout = 6e4, maxSessions = Infinity, maxFreeSessions = 10, maxCachedTlsSessions = 100 } = {}) {
        super();
        this.sessions = {};
        this.queue = {};
        this.timeout = timeout;
        this.maxSessions = maxSessions;
        this.maxFreeSessions = maxFreeSessions;
        this._freeSessionsCount = 0;
        this._sessionsCount = 0;
        this.settings = {
          enablePush: false
        };
        this.tlsSessionCache = new QuickLRU({ maxSize: maxCachedTlsSessions });
      }
      static normalizeOrigin(url, servername) {
        if (typeof url === "string") {
          url = new URL(url);
        }
        if (servername && url.hostname !== servername) {
          url.hostname = servername;
        }
        return url.origin;
      }
      normalizeOptions(options) {
        let normalized = "";
        if (options) {
          for (const key of nameKeys) {
            if (options[key]) {
              normalized += `:${options[key]}`;
            }
          }
        }
        return normalized;
      }
      _tryToCreateNewSession(normalizedOptions, normalizedOrigin) {
        if (!(normalizedOptions in this.queue) || !(normalizedOrigin in this.queue[normalizedOptions])) {
          return;
        }
        const item = this.queue[normalizedOptions][normalizedOrigin];
        if (this._sessionsCount < this.maxSessions && !item.completed) {
          item.completed = true;
          item();
        }
      }
      getSession(origin, options, listeners) {
        return new Promise((resolve, reject) => {
          if (Array.isArray(listeners)) {
            listeners = [...listeners];
            resolve();
          } else {
            listeners = [{ resolve, reject }];
          }
          const normalizedOptions = this.normalizeOptions(options);
          const normalizedOrigin = _Agent.normalizeOrigin(origin, options && options.servername);
          if (normalizedOrigin === void 0) {
            for (const { reject: reject2 } of listeners) {
              reject2(new TypeError("The `origin` argument needs to be a string or an URL object"));
            }
            return;
          }
          if (normalizedOptions in this.sessions) {
            const sessions = this.sessions[normalizedOptions];
            let maxConcurrentStreams = -1;
            let currentStreamsCount = -1;
            let optimalSession;
            for (const session of sessions) {
              const sessionMaxConcurrentStreams = session.remoteSettings.maxConcurrentStreams;
              if (sessionMaxConcurrentStreams < maxConcurrentStreams) {
                break;
              }
              if (session[kOriginSet].includes(normalizedOrigin)) {
                const sessionCurrentStreamsCount = session[kCurrentStreamsCount];
                if (sessionCurrentStreamsCount >= sessionMaxConcurrentStreams || session[kGracefullyClosing] || // Unfortunately the `close` event isn't called immediately,
                // so `session.destroyed` is `true`, but `session.closed` is `false`.
                session.destroyed) {
                  continue;
                }
                if (!optimalSession) {
                  maxConcurrentStreams = sessionMaxConcurrentStreams;
                }
                if (sessionCurrentStreamsCount > currentStreamsCount) {
                  optimalSession = session;
                  currentStreamsCount = sessionCurrentStreamsCount;
                }
              }
            }
            if (optimalSession) {
              if (listeners.length !== 1) {
                for (const { reject: reject2 } of listeners) {
                  const error = new Error(
                    `Expected the length of listeners to be 1, got ${listeners.length}.
Please report this to https://github.com/szmarczak/http2-wrapper/`
                  );
                  reject2(error);
                }
                return;
              }
              listeners[0].resolve(optimalSession);
              return;
            }
          }
          if (normalizedOptions in this.queue) {
            if (normalizedOrigin in this.queue[normalizedOptions]) {
              this.queue[normalizedOptions][normalizedOrigin].listeners.push(...listeners);
              this._tryToCreateNewSession(normalizedOptions, normalizedOrigin);
              return;
            }
          } else {
            this.queue[normalizedOptions] = {};
          }
          const removeFromQueue = () => {
            if (normalizedOptions in this.queue && this.queue[normalizedOptions][normalizedOrigin] === entry) {
              delete this.queue[normalizedOptions][normalizedOrigin];
              if (Object.keys(this.queue[normalizedOptions]).length === 0) {
                delete this.queue[normalizedOptions];
              }
            }
          };
          const entry = () => {
            const name = `${normalizedOrigin}:${normalizedOptions}`;
            let receivedSettings = false;
            try {
              const session = http2.connect(origin, {
                createConnection: this.createConnection,
                settings: this.settings,
                session: this.tlsSessionCache.get(name),
                ...options
              });
              session[kCurrentStreamsCount] = 0;
              session[kGracefullyClosing] = false;
              const isFree = () => session[kCurrentStreamsCount] < session.remoteSettings.maxConcurrentStreams;
              let wasFree = true;
              session.socket.once("session", (tlsSession) => {
                this.tlsSessionCache.set(name, tlsSession);
              });
              session.once("error", (error) => {
                for (const { reject: reject2 } of listeners) {
                  reject2(error);
                }
                this.tlsSessionCache.delete(name);
              });
              session.setTimeout(this.timeout, () => {
                session.destroy();
              });
              session.once("close", () => {
                if (receivedSettings) {
                  if (wasFree) {
                    this._freeSessionsCount--;
                  }
                  this._sessionsCount--;
                  const where = this.sessions[normalizedOptions];
                  where.splice(where.indexOf(session), 1);
                  if (where.length === 0) {
                    delete this.sessions[normalizedOptions];
                  }
                } else {
                  const error = new Error("Session closed without receiving a SETTINGS frame");
                  error.code = "HTTP2WRAPPER_NOSETTINGS";
                  for (const { reject: reject2 } of listeners) {
                    reject2(error);
                  }
                  removeFromQueue();
                }
                this._tryToCreateNewSession(normalizedOptions, normalizedOrigin);
              });
              const processListeners = () => {
                if (!(normalizedOptions in this.queue) || !isFree()) {
                  return;
                }
                for (const origin2 of session[kOriginSet]) {
                  if (origin2 in this.queue[normalizedOptions]) {
                    const { listeners: listeners2 } = this.queue[normalizedOptions][origin2];
                    while (listeners2.length !== 0 && isFree()) {
                      listeners2.shift().resolve(session);
                    }
                    const where = this.queue[normalizedOptions];
                    if (where[origin2].listeners.length === 0) {
                      delete where[origin2];
                      if (Object.keys(where).length === 0) {
                        delete this.queue[normalizedOptions];
                        break;
                      }
                    }
                    if (!isFree()) {
                      break;
                    }
                  }
                }
              };
              session.on("origin", () => {
                session[kOriginSet] = session.originSet;
                if (!isFree()) {
                  return;
                }
                processListeners();
                closeCoveredSessions(this.sessions[normalizedOptions], session);
              });
              session.once("remoteSettings", () => {
                session.ref();
                session.unref();
                this._sessionsCount++;
                if (entry.destroyed) {
                  const error = new Error("Agent has been destroyed");
                  for (const listener of listeners) {
                    listener.reject(error);
                  }
                  session.destroy();
                  return;
                }
                session[kOriginSet] = session.originSet;
                {
                  const where = this.sessions;
                  if (normalizedOptions in where) {
                    const sessions = where[normalizedOptions];
                    sessions.splice(getSortedIndex(sessions, session, compareSessions), 0, session);
                  } else {
                    where[normalizedOptions] = [session];
                  }
                }
                this._freeSessionsCount += 1;
                receivedSettings = true;
                this.emit("session", session);
                processListeners();
                removeFromQueue();
                if (session[kCurrentStreamsCount] === 0 && this._freeSessionsCount > this.maxFreeSessions) {
                  session.close();
                }
                if (listeners.length !== 0) {
                  this.getSession(normalizedOrigin, options, listeners);
                  listeners.length = 0;
                }
                session.on("remoteSettings", () => {
                  processListeners();
                  closeCoveredSessions(this.sessions[normalizedOptions], session);
                });
              });
              session[kRequest] = session.request;
              session.request = (headers, streamOptions) => {
                if (session[kGracefullyClosing]) {
                  throw new Error("The session is gracefully closing. No new streams are allowed.");
                }
                const stream = session[kRequest](headers, streamOptions);
                session.ref();
                ++session[kCurrentStreamsCount];
                if (session[kCurrentStreamsCount] === session.remoteSettings.maxConcurrentStreams) {
                  this._freeSessionsCount--;
                }
                stream.once("close", () => {
                  wasFree = isFree();
                  --session[kCurrentStreamsCount];
                  if (!session.destroyed && !session.closed) {
                    closeSessionIfCovered(this.sessions[normalizedOptions], session);
                    if (isFree() && !session.closed) {
                      if (!wasFree) {
                        this._freeSessionsCount++;
                        wasFree = true;
                      }
                      const isEmpty = session[kCurrentStreamsCount] === 0;
                      if (isEmpty) {
                        session.unref();
                      }
                      if (isEmpty && (this._freeSessionsCount > this.maxFreeSessions || session[kGracefullyClosing])) {
                        session.close();
                      } else {
                        closeCoveredSessions(this.sessions[normalizedOptions], session);
                        processListeners();
                      }
                    }
                  }
                });
                return stream;
              };
            } catch (error) {
              for (const listener of listeners) {
                listener.reject(error);
              }
              removeFromQueue();
            }
          };
          entry.listeners = listeners;
          entry.completed = false;
          entry.destroyed = false;
          this.queue[normalizedOptions][normalizedOrigin] = entry;
          this._tryToCreateNewSession(normalizedOptions, normalizedOrigin);
        });
      }
      request(origin, options, headers, streamOptions) {
        return new Promise((resolve, reject) => {
          this.getSession(origin, options, [{
            reject,
            resolve: (session) => {
              try {
                resolve(session.request(headers, streamOptions));
              } catch (error) {
                reject(error);
              }
            }
          }]);
        });
      }
      createConnection(origin, options) {
        return _Agent.connect(origin, options);
      }
      static connect(origin, options) {
        options.ALPNProtocols = ["h2"];
        const port = origin.port || 443;
        const host = origin.hostname || origin.host;
        if (typeof options.servername === "undefined") {
          options.servername = host;
        }
        return tls.connect(port, host, options);
      }
      closeFreeSessions() {
        for (const sessions of Object.values(this.sessions)) {
          for (const session of sessions) {
            if (session[kCurrentStreamsCount] === 0) {
              session.close();
            }
          }
        }
      }
      destroy(reason) {
        for (const sessions of Object.values(this.sessions)) {
          for (const session of sessions) {
            session.destroy(reason);
          }
        }
        for (const entriesOfAuthority of Object.values(this.queue)) {
          for (const entry of Object.values(entriesOfAuthority)) {
            entry.destroyed = true;
          }
        }
        this.queue = {};
      }
      get freeSessions() {
        return getSessions({ agent: this, isFree: true });
      }
      get busySessions() {
        return getSessions({ agent: this, isFree: false });
      }
    };
    Agent.kCurrentStreamsCount = kCurrentStreamsCount;
    Agent.kGracefullyClosing = kGracefullyClosing;
    module2.exports = {
      Agent,
      globalAgent: new Agent()
    };
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/incoming-message.js
var require_incoming_message = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/incoming-message.js"(exports2, module2) {
    "use strict";
    var { Readable } = require("stream");
    var IncomingMessage = class extends Readable {
      constructor(socket, highWaterMark) {
        super({
          highWaterMark,
          autoDestroy: false
        });
        this.statusCode = null;
        this.statusMessage = "";
        this.httpVersion = "2.0";
        this.httpVersionMajor = 2;
        this.httpVersionMinor = 0;
        this.headers = {};
        this.trailers = {};
        this.req = null;
        this.aborted = false;
        this.complete = false;
        this.upgrade = null;
        this.rawHeaders = [];
        this.rawTrailers = [];
        this.socket = socket;
        this.connection = socket;
        this._dumped = false;
      }
      _destroy(error) {
        this.req._request.destroy(error);
      }
      setTimeout(ms, callback) {
        this.req.setTimeout(ms, callback);
        return this;
      }
      _dump() {
        if (!this._dumped) {
          this._dumped = true;
          this.removeAllListeners("data");
          this.resume();
        }
      }
      _read() {
        if (this.req) {
          this.req._request.resume();
        }
      }
    };
    module2.exports = IncomingMessage;
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/url-to-options.js
var require_url_to_options = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/url-to-options.js"(exports2, module2) {
    "use strict";
    module2.exports = (url) => {
      const options = {
        protocol: url.protocol,
        hostname: typeof url.hostname === "string" && url.hostname.startsWith("[") ? url.hostname.slice(1, -1) : url.hostname,
        host: url.host,
        hash: url.hash,
        search: url.search,
        pathname: url.pathname,
        href: url.href,
        path: `${url.pathname || ""}${url.search || ""}`
      };
      if (typeof url.port === "string" && url.port.length !== 0) {
        options.port = Number(url.port);
      }
      if (url.username || url.password) {
        options.auth = `${url.username || ""}:${url.password || ""}`;
      }
      return options;
    };
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/proxy-events.js
var require_proxy_events = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/proxy-events.js"(exports2, module2) {
    "use strict";
    module2.exports = (from, to, events) => {
      for (const event of events) {
        from.on(event, (...args) => to.emit(event, ...args));
      }
    };
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js
var require_is_request_pseudo_header = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js"(exports2, module2) {
    "use strict";
    module2.exports = (header) => {
      switch (header) {
        case ":method":
        case ":scheme":
        case ":authority":
        case ":path":
          return true;
        default:
          return false;
      }
    };
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/errors.js
var require_errors7 = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/errors.js"(exports2, module2) {
    "use strict";
    var makeError = (Base, key, getMessage) => {
      module2.exports[key] = class NodeError extends Base {
        constructor(...args) {
          super(typeof getMessage === "string" ? getMessage : getMessage(args));
          this.name = `${super.name} [${key}]`;
          this.code = key;
        }
      };
    };
    makeError(TypeError, "ERR_INVALID_ARG_TYPE", (args) => {
      const type = args[0].includes(".") ? "property" : "argument";
      let valid = args[1];
      const isManyTypes = Array.isArray(valid);
      if (isManyTypes) {
        valid = `${valid.slice(0, -1).join(", ")} or ${valid.slice(-1)}`;
      }
      return `The "${args[0]}" ${type} must be ${isManyTypes ? "one of" : "of"} type ${valid}. Received ${typeof args[2]}`;
    });
    makeError(TypeError, "ERR_INVALID_PROTOCOL", (args) => {
      return `Protocol "${args[0]}" not supported. Expected "${args[1]}"`;
    });
    makeError(Error, "ERR_HTTP_HEADERS_SENT", (args) => {
      return `Cannot ${args[0]} headers after they are sent to the client`;
    });
    makeError(TypeError, "ERR_INVALID_HTTP_TOKEN", (args) => {
      return `${args[0]} must be a valid HTTP token [${args[1]}]`;
    });
    makeError(TypeError, "ERR_HTTP_INVALID_HEADER_VALUE", (args) => {
      return `Invalid value "${args[0]} for header "${args[1]}"`;
    });
    makeError(TypeError, "ERR_INVALID_CHAR", (args) => {
      return `Invalid character in ${args[0]} [${args[1]}]`;
    });
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/client-request.js
var require_client_request = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/client-request.js"(exports2, module2) {
    "use strict";
    var http2 = require("http2");
    var { Writable } = require("stream");
    var { Agent, globalAgent } = require_agent3();
    var IncomingMessage = require_incoming_message();
    var urlToOptions = require_url_to_options();
    var proxyEvents = require_proxy_events();
    var isRequestPseudoHeader = require_is_request_pseudo_header();
    var {
      ERR_INVALID_ARG_TYPE,
      ERR_INVALID_PROTOCOL,
      ERR_HTTP_HEADERS_SENT,
      ERR_INVALID_HTTP_TOKEN,
      ERR_HTTP_INVALID_HEADER_VALUE,
      ERR_INVALID_CHAR
    } = require_errors7();
    var {
      HTTP2_HEADER_STATUS,
      HTTP2_HEADER_METHOD,
      HTTP2_HEADER_PATH,
      HTTP2_METHOD_CONNECT
    } = http2.constants;
    var kHeaders = Symbol("headers");
    var kOrigin = Symbol("origin");
    var kSession = Symbol("session");
    var kOptions = Symbol("options");
    var kFlushedHeaders = Symbol("flushedHeaders");
    var kJobs = Symbol("jobs");
    var isValidHttpToken = /^[\^`\-\w!#$%&*+.|~]+$/;
    var isInvalidHeaderValue = /[^\t\u0020-\u007E\u0080-\u00FF]/;
    var ClientRequest = class extends Writable {
      constructor(input, options, callback) {
        super({
          autoDestroy: false
        });
        const hasInput = typeof input === "string" || input instanceof URL;
        if (hasInput) {
          input = urlToOptions(input instanceof URL ? input : new URL(input));
        }
        if (typeof options === "function" || options === void 0) {
          callback = options;
          options = hasInput ? input : { ...input };
        } else {
          options = { ...input, ...options };
        }
        if (options.h2session) {
          this[kSession] = options.h2session;
        } else if (options.agent === false) {
          this.agent = new Agent({ maxFreeSessions: 0 });
        } else if (typeof options.agent === "undefined" || options.agent === null) {
          if (typeof options.createConnection === "function") {
            this.agent = new Agent({ maxFreeSessions: 0 });
            this.agent.createConnection = options.createConnection;
          } else {
            this.agent = globalAgent;
          }
        } else if (typeof options.agent.request === "function") {
          this.agent = options.agent;
        } else {
          throw new ERR_INVALID_ARG_TYPE("options.agent", ["Agent-like Object", "undefined", "false"], options.agent);
        }
        if (options.protocol && options.protocol !== "https:") {
          throw new ERR_INVALID_PROTOCOL(options.protocol, "https:");
        }
        const port = options.port || options.defaultPort || this.agent && this.agent.defaultPort || 443;
        const host = options.hostname || options.host || "localhost";
        delete options.hostname;
        delete options.host;
        delete options.port;
        const { timeout } = options;
        options.timeout = void 0;
        this[kHeaders] = /* @__PURE__ */ Object.create(null);
        this[kJobs] = [];
        this.socket = null;
        this.connection = null;
        this.method = options.method || "GET";
        this.path = options.path;
        this.res = null;
        this.aborted = false;
        this.reusedSocket = false;
        if (options.headers) {
          for (const [header, value] of Object.entries(options.headers)) {
            this.setHeader(header, value);
          }
        }
        if (options.auth && !("authorization" in this[kHeaders])) {
          this[kHeaders].authorization = "Basic " + Buffer.from(options.auth).toString("base64");
        }
        options.session = options.tlsSession;
        options.path = options.socketPath;
        this[kOptions] = options;
        if (port === 443) {
          this[kOrigin] = `https://${host}`;
          if (!(":authority" in this[kHeaders])) {
            this[kHeaders][":authority"] = host;
          }
        } else {
          this[kOrigin] = `https://${host}:${port}`;
          if (!(":authority" in this[kHeaders])) {
            this[kHeaders][":authority"] = `${host}:${port}`;
          }
        }
        if (timeout) {
          this.setTimeout(timeout);
        }
        if (callback) {
          this.once("response", callback);
        }
        this[kFlushedHeaders] = false;
      }
      get method() {
        return this[kHeaders][HTTP2_HEADER_METHOD];
      }
      set method(value) {
        if (value) {
          this[kHeaders][HTTP2_HEADER_METHOD] = value.toUpperCase();
        }
      }
      get path() {
        return this[kHeaders][HTTP2_HEADER_PATH];
      }
      set path(value) {
        if (value) {
          this[kHeaders][HTTP2_HEADER_PATH] = value;
        }
      }
      get _mustNotHaveABody() {
        return this.method === "GET" || this.method === "HEAD" || this.method === "DELETE";
      }
      _write(chunk, encoding, callback) {
        if (this._mustNotHaveABody) {
          callback(new Error("The GET, HEAD and DELETE methods must NOT have a body"));
          return;
        }
        this.flushHeaders();
        const callWrite = () => this._request.write(chunk, encoding, callback);
        if (this._request) {
          callWrite();
        } else {
          this[kJobs].push(callWrite);
        }
      }
      _final(callback) {
        if (this.destroyed) {
          return;
        }
        this.flushHeaders();
        const callEnd = () => {
          if (this._mustNotHaveABody) {
            callback();
            return;
          }
          this._request.end(callback);
        };
        if (this._request) {
          callEnd();
        } else {
          this[kJobs].push(callEnd);
        }
      }
      abort() {
        if (this.res && this.res.complete) {
          return;
        }
        if (!this.aborted) {
          process.nextTick(() => this.emit("abort"));
        }
        this.aborted = true;
        this.destroy();
      }
      _destroy(error, callback) {
        if (this.res) {
          this.res._dump();
        }
        if (this._request) {
          this._request.destroy();
        }
        callback(error);
      }
      async flushHeaders() {
        if (this[kFlushedHeaders] || this.destroyed) {
          return;
        }
        this[kFlushedHeaders] = true;
        const isConnectMethod = this.method === HTTP2_METHOD_CONNECT;
        const onStream = (stream) => {
          this._request = stream;
          if (this.destroyed) {
            stream.destroy();
            return;
          }
          if (!isConnectMethod) {
            proxyEvents(stream, this, ["timeout", "continue", "close", "error"]);
          }
          const waitForEnd = (fn) => {
            return (...args) => {
              if (!this.writable && !this.destroyed) {
                fn(...args);
              } else {
                this.once("finish", () => {
                  fn(...args);
                });
              }
            };
          };
          stream.once("response", waitForEnd((headers, flags, rawHeaders) => {
            const response = new IncomingMessage(this.socket, stream.readableHighWaterMark);
            this.res = response;
            response.req = this;
            response.statusCode = headers[HTTP2_HEADER_STATUS];
            response.headers = headers;
            response.rawHeaders = rawHeaders;
            response.once("end", () => {
              if (this.aborted) {
                response.aborted = true;
                response.emit("aborted");
              } else {
                response.complete = true;
                response.socket = null;
                response.connection = null;
              }
            });
            if (isConnectMethod) {
              response.upgrade = true;
              if (this.emit("connect", response, stream, Buffer.alloc(0))) {
                this.emit("close");
              } else {
                stream.destroy();
              }
            } else {
              stream.on("data", (chunk) => {
                if (!response._dumped && !response.push(chunk)) {
                  stream.pause();
                }
              });
              stream.once("end", () => {
                response.push(null);
              });
              if (!this.emit("response", response)) {
                response._dump();
              }
            }
          }));
          stream.once("headers", waitForEnd(
            (headers) => this.emit("information", { statusCode: headers[HTTP2_HEADER_STATUS] })
          ));
          stream.once("trailers", waitForEnd((trailers, flags, rawTrailers) => {
            const { res } = this;
            res.trailers = trailers;
            res.rawTrailers = rawTrailers;
          }));
          const { socket } = stream.session;
          this.socket = socket;
          this.connection = socket;
          for (const job of this[kJobs]) {
            job();
          }
          this.emit("socket", this.socket);
        };
        if (this[kSession]) {
          try {
            onStream(this[kSession].request(this[kHeaders]));
          } catch (error) {
            this.emit("error", error);
          }
        } else {
          this.reusedSocket = true;
          try {
            onStream(await this.agent.request(this[kOrigin], this[kOptions], this[kHeaders]));
          } catch (error) {
            this.emit("error", error);
          }
        }
      }
      getHeader(name) {
        if (typeof name !== "string") {
          throw new ERR_INVALID_ARG_TYPE("name", "string", name);
        }
        return this[kHeaders][name.toLowerCase()];
      }
      get headersSent() {
        return this[kFlushedHeaders];
      }
      removeHeader(name) {
        if (typeof name !== "string") {
          throw new ERR_INVALID_ARG_TYPE("name", "string", name);
        }
        if (this.headersSent) {
          throw new ERR_HTTP_HEADERS_SENT("remove");
        }
        delete this[kHeaders][name.toLowerCase()];
      }
      setHeader(name, value) {
        if (this.headersSent) {
          throw new ERR_HTTP_HEADERS_SENT("set");
        }
        if (typeof name !== "string" || !isValidHttpToken.test(name) && !isRequestPseudoHeader(name)) {
          throw new ERR_INVALID_HTTP_TOKEN("Header name", name);
        }
        if (typeof value === "undefined") {
          throw new ERR_HTTP_INVALID_HEADER_VALUE(value, name);
        }
        if (isInvalidHeaderValue.test(value)) {
          throw new ERR_INVALID_CHAR("header content", name);
        }
        this[kHeaders][name.toLowerCase()] = value;
      }
      setNoDelay() {
      }
      setSocketKeepAlive() {
      }
      setTimeout(ms, callback) {
        const applyTimeout = () => this._request.setTimeout(ms, callback);
        if (this._request) {
          applyTimeout();
        } else {
          this[kJobs].push(applyTimeout);
        }
        return this;
      }
      get maxHeadersCount() {
        if (!this.destroyed && this._request) {
          return this._request.session.localSettings.maxHeaderListSize;
        }
        return void 0;
      }
      set maxHeadersCount(_value) {
      }
    };
    module2.exports = ClientRequest;
  }
});

// ../node_modules/.pnpm/resolve-alpn@1.2.1/node_modules/resolve-alpn/index.js
var require_resolve_alpn = __commonJS({
  "../node_modules/.pnpm/resolve-alpn@1.2.1/node_modules/resolve-alpn/index.js"(exports2, module2) {
    "use strict";
    var tls = require("tls");
    module2.exports = (options = {}, connect = tls.connect) => new Promise((resolve, reject) => {
      let timeout = false;
      let socket;
      const callback = async () => {
        await socketPromise;
        socket.off("timeout", onTimeout);
        socket.off("error", reject);
        if (options.resolveSocket) {
          resolve({ alpnProtocol: socket.alpnProtocol, socket, timeout });
          if (timeout) {
            await Promise.resolve();
            socket.emit("timeout");
          }
        } else {
          socket.destroy();
          resolve({ alpnProtocol: socket.alpnProtocol, timeout });
        }
      };
      const onTimeout = async () => {
        timeout = true;
        callback();
      };
      const socketPromise = (async () => {
        try {
          socket = await connect(options, callback);
          socket.on("error", reject);
          socket.once("timeout", onTimeout);
        } catch (error) {
          reject(error);
        }
      })();
    });
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/calculate-server-name.js
var require_calculate_server_name = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/utils/calculate-server-name.js"(exports2, module2) {
    "use strict";
    var net = require("net");
    module2.exports = (options) => {
      let servername = options.host;
      const hostHeader = options.headers && options.headers.host;
      if (hostHeader) {
        if (hostHeader.startsWith("[")) {
          const index = hostHeader.indexOf("]");
          if (index === -1) {
            servername = hostHeader;
          } else {
            servername = hostHeader.slice(1, -1);
          }
        } else {
          servername = hostHeader.split(":", 1)[0];
        }
      }
      if (net.isIP(servername)) {
        return "";
      }
      return servername;
    };
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/auto.js
var require_auto = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/auto.js"(exports2, module2) {
    "use strict";
    var http = require("http");
    var https = require("https");
    var resolveALPN = require_resolve_alpn();
    var QuickLRU = require_quick_lru2();
    var Http2ClientRequest = require_client_request();
    var calculateServerName = require_calculate_server_name();
    var urlToOptions = require_url_to_options();
    var cache = new QuickLRU({ maxSize: 100 });
    var queue = /* @__PURE__ */ new Map();
    var installSocket = (agent, socket, options) => {
      socket._httpMessage = { shouldKeepAlive: true };
      const onFree = () => {
        agent.emit("free", socket, options);
      };
      socket.on("free", onFree);
      const onClose = () => {
        agent.removeSocket(socket, options);
      };
      socket.on("close", onClose);
      const onRemove = () => {
        agent.removeSocket(socket, options);
        socket.off("close", onClose);
        socket.off("free", onFree);
        socket.off("agentRemove", onRemove);
      };
      socket.on("agentRemove", onRemove);
      agent.emit("free", socket, options);
    };
    var resolveProtocol = async (options) => {
      const name = `${options.host}:${options.port}:${options.ALPNProtocols.sort()}`;
      if (!cache.has(name)) {
        if (queue.has(name)) {
          const result2 = await queue.get(name);
          return result2.alpnProtocol;
        }
        const { path: path2, agent } = options;
        options.path = options.socketPath;
        const resultPromise = resolveALPN(options);
        queue.set(name, resultPromise);
        try {
          const { socket, alpnProtocol } = await resultPromise;
          cache.set(name, alpnProtocol);
          options.path = path2;
          if (alpnProtocol === "h2") {
            socket.destroy();
          } else {
            const { globalAgent } = https;
            const defaultCreateConnection = https.Agent.prototype.createConnection;
            if (agent) {
              if (agent.createConnection === defaultCreateConnection) {
                installSocket(agent, socket, options);
              } else {
                socket.destroy();
              }
            } else if (globalAgent.createConnection === defaultCreateConnection) {
              installSocket(globalAgent, socket, options);
            } else {
              socket.destroy();
            }
          }
          queue.delete(name);
          return alpnProtocol;
        } catch (error) {
          queue.delete(name);
          throw error;
        }
      }
      return cache.get(name);
    };
    module2.exports = async (input, options, callback) => {
      if (typeof input === "string" || input instanceof URL) {
        input = urlToOptions(new URL(input));
      }
      if (typeof options === "function") {
        callback = options;
        options = void 0;
      }
      options = {
        ALPNProtocols: ["h2", "http/1.1"],
        ...input,
        ...options,
        resolveSocket: true
      };
      if (!Array.isArray(options.ALPNProtocols) || options.ALPNProtocols.length === 0) {
        throw new Error("The `ALPNProtocols` option must be an Array with at least one entry");
      }
      options.protocol = options.protocol || "https:";
      const isHttps = options.protocol === "https:";
      options.host = options.hostname || options.host || "localhost";
      options.session = options.tlsSession;
      options.servername = options.servername || calculateServerName(options);
      options.port = options.port || (isHttps ? 443 : 80);
      options._defaultAgent = isHttps ? https.globalAgent : http.globalAgent;
      const agents = options.agent;
      if (agents) {
        if (agents.addRequest) {
          throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");
        }
        options.agent = agents[isHttps ? "https" : "http"];
      }
      if (isHttps) {
        const protocol = await resolveProtocol(options);
        if (protocol === "h2") {
          if (agents) {
            options.agent = agents.http2;
          }
          return new Http2ClientRequest(options, callback);
        }
      }
      return http.request(options, callback);
    };
    module2.exports.protocolCache = cache;
  }
});

// ../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/index.js
var require_source6 = __commonJS({
  "../node_modules/.pnpm/http2-wrapper@1.0.3/node_modules/http2-wrapper/source/index.js"(exports2, module2) {
    "use strict";
    var http2 = require("http2");
    var agent = require_agent3();
    var ClientRequest = require_client_request();
    var IncomingMessage = require_incoming_message();
    var auto = require_auto();
    var request = (url, options, callback) => {
      return new ClientRequest(url, options, callback);
    };
    var get = (url, options, callback) => {
      const req = new ClientRequest(url, options, callback);
      req.end();
      return req;
    };
    module2.exports = {
      ...http2,
      ClientRequest,
      IncomingMessage,
      ...agent,
      request,
      get,
      auto
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/is-form-data.js
var require_is_form_data = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/is-form-data.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var is_1 = require_dist25();
    exports2.default = (body) => is_1.default.nodeStream(body) && is_1.default.function_(body.getBoundary);
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/get-body-size.js
var require_get_body_size = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/get-body-size.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fs_1 = require("fs");
    var util_1 = require("util");
    var is_1 = require_dist25();
    var is_form_data_1 = require_is_form_data();
    var statAsync = util_1.promisify(fs_1.stat);
    exports2.default = async (body, headers) => {
      if (headers && "content-length" in headers) {
        return Number(headers["content-length"]);
      }
      if (!body) {
        return 0;
      }
      if (is_1.default.string(body)) {
        return Buffer.byteLength(body);
      }
      if (is_1.default.buffer(body)) {
        return body.length;
      }
      if (is_form_data_1.default(body)) {
        return util_1.promisify(body.getLength.bind(body))();
      }
      if (body instanceof fs_1.ReadStream) {
        const { size } = await statAsync(body.path);
        if (size === 0) {
          return void 0;
        }
        return size;
      }
      return void 0;
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/proxy-events.js
var require_proxy_events2 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/proxy-events.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    function default_1(from, to, events) {
      const fns = {};
      for (const event of events) {
        fns[event] = (...args) => {
          to.emit(event, ...args);
        };
        from.on(event, fns[event]);
      }
      return () => {
        for (const event of events) {
          from.off(event, fns[event]);
        }
      };
    }
    exports2.default = default_1;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/unhandle.js
var require_unhandle = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/unhandle.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.default = () => {
      const handlers = [];
      return {
        once(origin, event, fn) {
          origin.once(event, fn);
          handlers.push({ origin, event, fn });
        },
        unhandleAll() {
          for (const handler of handlers) {
            const { origin, event, fn } = handler;
            origin.removeListener(event, fn);
          }
          handlers.length = 0;
        }
      };
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/timed-out.js
var require_timed_out = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/timed-out.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TimeoutError = void 0;
    var net = require("net");
    var unhandle_1 = require_unhandle();
    var reentry = Symbol("reentry");
    var noop = () => {
    };
    var TimeoutError = class extends Error {
      constructor(threshold, event) {
        super(`Timeout awaiting '${event}' for ${threshold}ms`);
        this.event = event;
        this.name = "TimeoutError";
        this.code = "ETIMEDOUT";
      }
    };
    exports2.TimeoutError = TimeoutError;
    exports2.default = (request, delays, options) => {
      if (reentry in request) {
        return noop;
      }
      request[reentry] = true;
      const cancelers = [];
      const { once, unhandleAll } = unhandle_1.default();
      const addTimeout = (delay, callback, event) => {
        var _a;
        const timeout = setTimeout(callback, delay, delay, event);
        (_a = timeout.unref) === null || _a === void 0 ? void 0 : _a.call(timeout);
        const cancel = () => {
          clearTimeout(timeout);
        };
        cancelers.push(cancel);
        return cancel;
      };
      const { host, hostname } = options;
      const timeoutHandler = (delay, event) => {
        request.destroy(new TimeoutError(delay, event));
      };
      const cancelTimeouts = () => {
        for (const cancel of cancelers) {
          cancel();
        }
        unhandleAll();
      };
      request.once("error", (error) => {
        cancelTimeouts();
        if (request.listenerCount("error") === 0) {
          throw error;
        }
      });
      request.once("close", cancelTimeouts);
      once(request, "response", (response) => {
        once(response, "end", cancelTimeouts);
      });
      if (typeof delays.request !== "undefined") {
        addTimeout(delays.request, timeoutHandler, "request");
      }
      if (typeof delays.socket !== "undefined") {
        const socketTimeoutHandler = () => {
          timeoutHandler(delays.socket, "socket");
        };
        request.setTimeout(delays.socket, socketTimeoutHandler);
        cancelers.push(() => {
          request.removeListener("timeout", socketTimeoutHandler);
        });
      }
      once(request, "socket", (socket) => {
        var _a;
        const { socketPath } = request;
        if (socket.connecting) {
          const hasPath = Boolean(socketPath !== null && socketPath !== void 0 ? socketPath : net.isIP((_a = hostname !== null && hostname !== void 0 ? hostname : host) !== null && _a !== void 0 ? _a : "") !== 0);
          if (typeof delays.lookup !== "undefined" && !hasPath && typeof socket.address().address === "undefined") {
            const cancelTimeout = addTimeout(delays.lookup, timeoutHandler, "lookup");
            once(socket, "lookup", cancelTimeout);
          }
          if (typeof delays.connect !== "undefined") {
            const timeConnect = () => addTimeout(delays.connect, timeoutHandler, "connect");
            if (hasPath) {
              once(socket, "connect", timeConnect());
            } else {
              once(socket, "lookup", (error) => {
                if (error === null) {
                  once(socket, "connect", timeConnect());
                }
              });
            }
          }
          if (typeof delays.secureConnect !== "undefined" && options.protocol === "https:") {
            once(socket, "connect", () => {
              const cancelTimeout = addTimeout(delays.secureConnect, timeoutHandler, "secureConnect");
              once(socket, "secureConnect", cancelTimeout);
            });
          }
        }
        if (typeof delays.send !== "undefined") {
          const timeRequest = () => addTimeout(delays.send, timeoutHandler, "send");
          if (socket.connecting) {
            once(socket, "connect", () => {
              once(request, "upload-complete", timeRequest());
            });
          } else {
            once(request, "upload-complete", timeRequest());
          }
        }
      });
      if (typeof delays.response !== "undefined") {
        once(request, "upload-complete", () => {
          const cancelTimeout = addTimeout(delays.response, timeoutHandler, "response");
          once(request, "response", cancelTimeout);
        });
      }
      return cancelTimeouts;
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/url-to-options.js
var require_url_to_options2 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/url-to-options.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var is_1 = require_dist25();
    exports2.default = (url) => {
      url = url;
      const options = {
        protocol: url.protocol,
        hostname: is_1.default.string(url.hostname) && url.hostname.startsWith("[") ? url.hostname.slice(1, -1) : url.hostname,
        host: url.host,
        hash: url.hash,
        search: url.search,
        pathname: url.pathname,
        href: url.href,
        path: `${url.pathname || ""}${url.search || ""}`
      };
      if (is_1.default.string(url.port) && url.port.length > 0) {
        options.port = Number(url.port);
      }
      if (url.username || url.password) {
        options.auth = `${url.username || ""}:${url.password || ""}`;
      }
      return options;
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/options-to-url.js
var require_options_to_url = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/options-to-url.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var url_1 = require("url");
    var keys = [
      "protocol",
      "host",
      "hostname",
      "port",
      "pathname",
      "search"
    ];
    exports2.default = (origin, options) => {
      var _a, _b;
      if (options.path) {
        if (options.pathname) {
          throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");
        }
        if (options.search) {
          throw new TypeError("Parameters `path` and `search` are mutually exclusive.");
        }
        if (options.searchParams) {
          throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.");
        }
      }
      if (options.search && options.searchParams) {
        throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");
      }
      if (!origin) {
        if (!options.protocol) {
          throw new TypeError("No URL protocol specified");
        }
        origin = `${options.protocol}//${(_b = (_a = options.hostname) !== null && _a !== void 0 ? _a : options.host) !== null && _b !== void 0 ? _b : ""}`;
      }
      const url = new url_1.URL(origin);
      if (options.path) {
        const searchIndex = options.path.indexOf("?");
        if (searchIndex === -1) {
          options.pathname = options.path;
        } else {
          options.pathname = options.path.slice(0, searchIndex);
          options.search = options.path.slice(searchIndex + 1);
        }
        delete options.path;
      }
      for (const key of keys) {
        if (options[key]) {
          url[key] = options[key].toString();
        }
      }
      return url;
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/weakable-map.js
var require_weakable_map = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/weakable-map.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var WeakableMap = class {
      constructor() {
        this.weakMap = /* @__PURE__ */ new WeakMap();
        this.map = /* @__PURE__ */ new Map();
      }
      set(key, value) {
        if (typeof key === "object") {
          this.weakMap.set(key, value);
        } else {
          this.map.set(key, value);
        }
      }
      get(key) {
        if (typeof key === "object") {
          return this.weakMap.get(key);
        }
        return this.map.get(key);
      }
      has(key) {
        if (typeof key === "object") {
          return this.weakMap.has(key);
        }
        return this.map.has(key);
      }
    };
    exports2.default = WeakableMap;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/get-buffer.js
var require_get_buffer = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/get-buffer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var getBuffer = async (stream) => {
      const chunks = [];
      let length = 0;
      for await (const chunk of stream) {
        chunks.push(chunk);
        length += Buffer.byteLength(chunk);
      }
      if (Buffer.isBuffer(chunks[0])) {
        return Buffer.concat(chunks, length);
      }
      return Buffer.from(chunks.join(""));
    };
    exports2.default = getBuffer;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/dns-ip-version.js
var require_dns_ip_version = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/dns-ip-version.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.dnsLookupIpVersionToFamily = exports2.isDnsLookupIpVersion = void 0;
    var conversionTable = {
      auto: 0,
      ipv4: 4,
      ipv6: 6
    };
    exports2.isDnsLookupIpVersion = (value) => {
      return value in conversionTable;
    };
    exports2.dnsLookupIpVersionToFamily = (dnsLookupIpVersion) => {
      if (exports2.isDnsLookupIpVersion(dnsLookupIpVersion)) {
        return conversionTable[dnsLookupIpVersion];
      }
      throw new Error("Invalid DNS lookup IP version");
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/is-response-ok.js
var require_is_response_ok = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/utils/is-response-ok.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isResponseOk = void 0;
    exports2.isResponseOk = (response) => {
      const { statusCode } = response;
      const limitStatusCode = response.request.options.followRedirect ? 299 : 399;
      return statusCode >= 200 && statusCode <= limitStatusCode || statusCode === 304;
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/utils/deprecation-warning.js
var require_deprecation_warning = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/utils/deprecation-warning.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var alreadyWarned = /* @__PURE__ */ new Set();
    exports2.default = (message) => {
      if (alreadyWarned.has(message)) {
        return;
      }
      alreadyWarned.add(message);
      process.emitWarning(`Got: ${message}`, {
        type: "DeprecationWarning"
      });
    };
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/normalize-arguments.js
var require_normalize_arguments = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/normalize-arguments.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var is_1 = require_dist25();
    var normalizeArguments = (options, defaults) => {
      if (is_1.default.null_(options.encoding)) {
        throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");
      }
      is_1.assert.any([is_1.default.string, is_1.default.undefined], options.encoding);
      is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.resolveBodyOnly);
      is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.methodRewriting);
      is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.isStream);
      is_1.assert.any([is_1.default.string, is_1.default.undefined], options.responseType);
      if (options.responseType === void 0) {
        options.responseType = "text";
      }
      const { retry } = options;
      if (defaults) {
        options.retry = { ...defaults.retry };
      } else {
        options.retry = {
          calculateDelay: (retryObject) => retryObject.computedValue,
          limit: 0,
          methods: [],
          statusCodes: [],
          errorCodes: [],
          maxRetryAfter: void 0
        };
      }
      if (is_1.default.object(retry)) {
        options.retry = {
          ...options.retry,
          ...retry
        };
        options.retry.methods = [...new Set(options.retry.methods.map((method) => method.toUpperCase()))];
        options.retry.statusCodes = [...new Set(options.retry.statusCodes)];
        options.retry.errorCodes = [...new Set(options.retry.errorCodes)];
      } else if (is_1.default.number(retry)) {
        options.retry.limit = retry;
      }
      if (is_1.default.undefined(options.retry.maxRetryAfter)) {
        options.retry.maxRetryAfter = Math.min(
          ...[options.timeout.request, options.timeout.connect].filter(is_1.default.number)
        );
      }
      if (is_1.default.object(options.pagination)) {
        if (defaults) {
          options.pagination = {
            ...defaults.pagination,
            ...options.pagination
          };
        }
        const { pagination } = options;
        if (!is_1.default.function_(pagination.transform)) {
          throw new Error("`options.pagination.transform` must be implemented");
        }
        if (!is_1.default.function_(pagination.shouldContinue)) {
          throw new Error("`options.pagination.shouldContinue` must be implemented");
        }
        if (!is_1.default.function_(pagination.filter)) {
          throw new TypeError("`options.pagination.filter` must be implemented");
        }
        if (!is_1.default.function_(pagination.paginate)) {
          throw new Error("`options.pagination.paginate` must be implemented");
        }
      }
      if (options.responseType === "json" && options.headers.accept === void 0) {
        options.headers.accept = "application/json";
      }
      return options;
    };
    exports2.default = normalizeArguments;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/calculate-retry-delay.js
var require_calculate_retry_delay = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/calculate-retry-delay.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.retryAfterStatusCodes = void 0;
    exports2.retryAfterStatusCodes = /* @__PURE__ */ new Set([413, 429, 503]);
    var calculateRetryDelay = ({ attemptCount, retryOptions, error, retryAfter }) => {
      if (attemptCount > retryOptions.limit) {
        return 0;
      }
      const hasMethod = retryOptions.methods.includes(error.options.method);
      const hasErrorCode = retryOptions.errorCodes.includes(error.code);
      const hasStatusCode = error.response && retryOptions.statusCodes.includes(error.response.statusCode);
      if (!hasMethod || !hasErrorCode && !hasStatusCode) {
        return 0;
      }
      if (error.response) {
        if (retryAfter) {
          if (retryOptions.maxRetryAfter === void 0 || retryAfter > retryOptions.maxRetryAfter) {
            return 0;
          }
          return retryAfter;
        }
        if (error.response.statusCode === 413) {
          return 0;
        }
      }
      const noise = Math.random() * 100;
      return 2 ** (attemptCount - 1) * 1e3 + noise;
    };
    exports2.default = calculateRetryDelay;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/index.js
var require_core8 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/core/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnsupportedProtocolError = exports2.ReadError = exports2.TimeoutError = exports2.UploadError = exports2.CacheError = exports2.HTTPError = exports2.MaxRedirectsError = exports2.RequestError = exports2.setNonEnumerableProperties = exports2.knownHookEvents = exports2.withoutBody = exports2.kIsNormalizedAlready = void 0;
    var util_1 = require("util");
    var stream_12 = require("stream");
    var fs_1 = require("fs");
    var url_1 = require("url");
    var http = require("http");
    var http_1 = require("http");
    var https = require("https");
    var http_timer_1 = require_source4();
    var cacheable_lookup_1 = require_source5();
    var CacheableRequest = require_src9();
    var decompressResponse = require_decompress_response();
    var http2wrapper = require_source6();
    var lowercaseKeys = require_lowercase_keys();
    var is_1 = require_dist25();
    var get_body_size_1 = require_get_body_size();
    var is_form_data_1 = require_is_form_data();
    var proxy_events_1 = require_proxy_events2();
    var timed_out_1 = require_timed_out();
    var url_to_options_1 = require_url_to_options2();
    var options_to_url_1 = require_options_to_url();
    var weakable_map_1 = require_weakable_map();
    var get_buffer_1 = require_get_buffer();
    var dns_ip_version_1 = require_dns_ip_version();
    var is_response_ok_1 = require_is_response_ok();
    var deprecation_warning_1 = require_deprecation_warning();
    var normalize_arguments_1 = require_normalize_arguments();
    var calculate_retry_delay_1 = require_calculate_retry_delay();
    var globalDnsCache;
    var kRequest = Symbol("request");
    var kResponse = Symbol("response");
    var kResponseSize = Symbol("responseSize");
    var kDownloadedSize = Symbol("downloadedSize");
    var kBodySize = Symbol("bodySize");
    var kUploadedSize = Symbol("uploadedSize");
    var kServerResponsesPiped = Symbol("serverResponsesPiped");
    var kUnproxyEvents = Symbol("unproxyEvents");
    var kIsFromCache = Symbol("isFromCache");
    var kCancelTimeouts = Symbol("cancelTimeouts");
    var kStartedReading = Symbol("startedReading");
    var kStopReading = Symbol("stopReading");
    var kTriggerRead = Symbol("triggerRead");
    var kBody = Symbol("body");
    var kJobs = Symbol("jobs");
    var kOriginalResponse = Symbol("originalResponse");
    var kRetryTimeout = Symbol("retryTimeout");
    exports2.kIsNormalizedAlready = Symbol("isNormalizedAlready");
    var supportsBrotli = is_1.default.string(process.versions.brotli);
    exports2.withoutBody = /* @__PURE__ */ new Set(["GET", "HEAD"]);
    exports2.knownHookEvents = [
      "init",
      "beforeRequest",
      "beforeRedirect",
      "beforeError",
      "beforeRetry",
      // Promise-Only
      "afterResponse"
    ];
    function validateSearchParameters(searchParameters) {
      for (const key in searchParameters) {
        const value = searchParameters[key];
        if (!is_1.default.string(value) && !is_1.default.number(value) && !is_1.default.boolean(value) && !is_1.default.null_(value) && !is_1.default.undefined(value)) {
          throw new TypeError(`The \`searchParams\` value '${String(value)}' must be a string, number, boolean or null`);
        }
      }
    }
    function isClientRequest(clientRequest) {
      return is_1.default.object(clientRequest) && !("statusCode" in clientRequest);
    }
    var cacheableStore = new weakable_map_1.default();
    var waitForOpenFile = async (file) => new Promise((resolve, reject) => {
      const onError = (error) => {
        reject(error);
      };
      if (!file.pending) {
        resolve();
      }
      file.once("error", onError);
      file.once("ready", () => {
        file.off("error", onError);
        resolve();
      });
    });
    var redirectCodes = /* @__PURE__ */ new Set([300, 301, 302, 303, 304, 307, 308]);
    var nonEnumerableProperties = [
      "context",
      "body",
      "json",
      "form"
    ];
    exports2.setNonEnumerableProperties = (sources, to) => {
      const properties = {};
      for (const source of sources) {
        if (!source) {
          continue;
        }
        for (const name of nonEnumerableProperties) {
          if (!(name in source)) {
            continue;
          }
          properties[name] = {
            writable: true,
            configurable: true,
            enumerable: false,
            // @ts-expect-error TS doesn't see the check above
            value: source[name]
          };
        }
      }
      Object.defineProperties(to, properties);
    };
    var RequestError = class extends Error {
      constructor(message, error, self2) {
        var _a, _b;
        super(message);
        Error.captureStackTrace(this, this.constructor);
        this.name = "RequestError";
        this.code = (_a = error.code) !== null && _a !== void 0 ? _a : "ERR_GOT_REQUEST_ERROR";
        if (self2 instanceof Request) {
          Object.defineProperty(this, "request", {
            enumerable: false,
            value: self2
          });
          Object.defineProperty(this, "response", {
            enumerable: false,
            value: self2[kResponse]
          });
          Object.defineProperty(this, "options", {
            // This fails because of TS 3.7.2 useDefineForClassFields
            // Ref: https://github.com/microsoft/TypeScript/issues/34972
            enumerable: false,
            value: self2.options
          });
        } else {
          Object.defineProperty(this, "options", {
            // This fails because of TS 3.7.2 useDefineForClassFields
            // Ref: https://github.com/microsoft/TypeScript/issues/34972
            enumerable: false,
            value: self2
          });
        }
        this.timings = (_b = this.request) === null || _b === void 0 ? void 0 : _b.timings;
        if (is_1.default.string(error.stack) && is_1.default.string(this.stack)) {
          const indexOfMessage = this.stack.indexOf(this.message) + this.message.length;
          const thisStackTrace = this.stack.slice(indexOfMessage).split("\n").reverse();
          const errorStackTrace = error.stack.slice(error.stack.indexOf(error.message) + error.message.length).split("\n").reverse();
          while (errorStackTrace.length !== 0 && errorStackTrace[0] === thisStackTrace[0]) {
            thisStackTrace.shift();
          }
          this.stack = `${this.stack.slice(0, indexOfMessage)}${thisStackTrace.reverse().join("\n")}${errorStackTrace.reverse().join("\n")}`;
        }
      }
    };
    exports2.RequestError = RequestError;
    var MaxRedirectsError = class extends RequestError {
      constructor(request) {
        super(`Redirected ${request.options.maxRedirects} times. Aborting.`, {}, request);
        this.name = "MaxRedirectsError";
        this.code = "ERR_TOO_MANY_REDIRECTS";
      }
    };
    exports2.MaxRedirectsError = MaxRedirectsError;
    var HTTPError = class extends RequestError {
      constructor(response) {
        super(`Response code ${response.statusCode} (${response.statusMessage})`, {}, response.request);
        this.name = "HTTPError";
        this.code = "ERR_NON_2XX_3XX_RESPONSE";
      }
    };
    exports2.HTTPError = HTTPError;
    var CacheError = class extends RequestError {
      constructor(error, request) {
        super(error.message, error, request);
        this.name = "CacheError";
        this.code = this.code === "ERR_GOT_REQUEST_ERROR" ? "ERR_CACHE_ACCESS" : this.code;
      }
    };
    exports2.CacheError = CacheError;
    var UploadError = class extends RequestError {
      constructor(error, request) {
        super(error.message, error, request);
        this.name = "UploadError";
        this.code = this.code === "ERR_GOT_REQUEST_ERROR" ? "ERR_UPLOAD" : this.code;
      }
    };
    exports2.UploadError = UploadError;
    var TimeoutError = class extends RequestError {
      constructor(error, timings, request) {
        super(error.message, error, request);
        this.name = "TimeoutError";
        this.event = error.event;
        this.timings = timings;
      }
    };
    exports2.TimeoutError = TimeoutError;
    var ReadError = class extends RequestError {
      constructor(error, request) {
        super(error.message, error, request);
        this.name = "ReadError";
        this.code = this.code === "ERR_GOT_REQUEST_ERROR" ? "ERR_READING_RESPONSE_STREAM" : this.code;
      }
    };
    exports2.ReadError = ReadError;
    var UnsupportedProtocolError = class extends RequestError {
      constructor(options) {
        super(`Unsupported protocol "${options.url.protocol}"`, {}, options);
        this.name = "UnsupportedProtocolError";
        this.code = "ERR_UNSUPPORTED_PROTOCOL";
      }
    };
    exports2.UnsupportedProtocolError = UnsupportedProtocolError;
    var proxiedRequestEvents = [
      "socket",
      "connect",
      "continue",
      "information",
      "upgrade",
      "timeout"
    ];
    var Request = class extends stream_12.Duplex {
      constructor(url, options = {}, defaults) {
        super({
          // This must be false, to enable throwing after destroy
          // It is used for retry logic in Promise API
          autoDestroy: false,
          // It needs to be zero because we're just proxying the data to another stream
          highWaterMark: 0
        });
        this[kDownloadedSize] = 0;
        this[kUploadedSize] = 0;
        this.requestInitialized = false;
        this[kServerResponsesPiped] = /* @__PURE__ */ new Set();
        this.redirects = [];
        this[kStopReading] = false;
        this[kTriggerRead] = false;
        this[kJobs] = [];
        this.retryCount = 0;
        this._progressCallbacks = [];
        const unlockWrite = () => this._unlockWrite();
        const lockWrite = () => this._lockWrite();
        this.on("pipe", (source) => {
          source.prependListener("data", unlockWrite);
          source.on("data", lockWrite);
          source.prependListener("end", unlockWrite);
          source.on("end", lockWrite);
        });
        this.on("unpipe", (source) => {
          source.off("data", unlockWrite);
          source.off("data", lockWrite);
          source.off("end", unlockWrite);
          source.off("end", lockWrite);
        });
        this.on("pipe", (source) => {
          if (source instanceof http_1.IncomingMessage) {
            this.options.headers = {
              ...source.headers,
              ...this.options.headers
            };
          }
        });
        const { json, body, form } = options;
        if (json || body || form) {
          this._lockWrite();
        }
        if (exports2.kIsNormalizedAlready in options) {
          this.options = options;
        } else {
          try {
            this.options = this.constructor.normalizeArguments(url, options, defaults);
          } catch (error) {
            if (is_1.default.nodeStream(options.body)) {
              options.body.destroy();
            }
            this.destroy(error);
            return;
          }
        }
        (async () => {
          var _a;
          try {
            if (this.options.body instanceof fs_1.ReadStream) {
              await waitForOpenFile(this.options.body);
            }
            const { url: normalizedURL } = this.options;
            if (!normalizedURL) {
              throw new TypeError("Missing `url` property");
            }
            this.requestUrl = normalizedURL.toString();
            decodeURI(this.requestUrl);
            await this._finalizeBody();
            await this._makeRequest();
            if (this.destroyed) {
              (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroy();
              return;
            }
            for (const job of this[kJobs]) {
              job();
            }
            this[kJobs].length = 0;
            this.requestInitialized = true;
          } catch (error) {
            if (error instanceof RequestError) {
              this._beforeError(error);
              return;
            }
            if (!this.destroyed) {
              this.destroy(error);
            }
          }
        })();
      }
      static normalizeArguments(url, options, defaults) {
        var _a, _b, _c, _d, _e;
        const rawOptions = options;
        if (is_1.default.object(url) && !is_1.default.urlInstance(url)) {
          options = { ...defaults, ...url, ...options };
        } else {
          if (url && options && options.url !== void 0) {
            throw new TypeError("The `url` option is mutually exclusive with the `input` argument");
          }
          options = { ...defaults, ...options };
          if (url !== void 0) {
            options.url = url;
          }
          if (is_1.default.urlInstance(options.url)) {
            options.url = new url_1.URL(options.url.toString());
          }
        }
        if (options.cache === false) {
          options.cache = void 0;
        }
        if (options.dnsCache === false) {
          options.dnsCache = void 0;
        }
        is_1.assert.any([is_1.default.string, is_1.default.undefined], options.method);
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.headers);
        is_1.assert.any([is_1.default.string, is_1.default.urlInstance, is_1.default.undefined], options.prefixUrl);
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cookieJar);
        is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.searchParams);
        is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.cache);
        is_1.assert.any([is_1.default.object, is_1.default.number, is_1.default.undefined], options.timeout);
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.context);
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.hooks);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.decompress);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.ignoreInvalidCookies);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.followRedirect);
        is_1.assert.any([is_1.default.number, is_1.default.undefined], options.maxRedirects);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.throwHttpErrors);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.http2);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.allowGetBody);
        is_1.assert.any([is_1.default.string, is_1.default.undefined], options.localAddress);
        is_1.assert.any([dns_ip_version_1.isDnsLookupIpVersion, is_1.default.undefined], options.dnsLookupIpVersion);
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.https);
        is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.rejectUnauthorized);
        if (options.https) {
          is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.https.rejectUnauthorized);
          is_1.assert.any([is_1.default.function_, is_1.default.undefined], options.https.checkServerIdentity);
          is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificateAuthority);
          is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.key);
          is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificate);
          is_1.assert.any([is_1.default.string, is_1.default.undefined], options.https.passphrase);
          is_1.assert.any([is_1.default.string, is_1.default.buffer, is_1.default.array, is_1.default.undefined], options.https.pfx);
        }
        is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cacheOptions);
        if (is_1.default.string(options.method)) {
          options.method = options.method.toUpperCase();
        } else {
          options.method = "GET";
        }
        if (options.headers === (defaults === null || defaults === void 0 ? void 0 : defaults.headers)) {
          options.headers = { ...options.headers };
        } else {
          options.headers = lowercaseKeys({ ...defaults === null || defaults === void 0 ? void 0 : defaults.headers, ...options.headers });
        }
        if ("slashes" in options) {
          throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");
        }
        if ("auth" in options) {
          throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");
        }
        if ("searchParams" in options) {
          if (options.searchParams && options.searchParams !== (defaults === null || defaults === void 0 ? void 0 : defaults.searchParams)) {
            let searchParameters;
            if (is_1.default.string(options.searchParams) || options.searchParams instanceof url_1.URLSearchParams) {
              searchParameters = new url_1.URLSearchParams(options.searchParams);
            } else {
              validateSearchParameters(options.searchParams);
              searchParameters = new url_1.URLSearchParams();
              for (const key in options.searchParams) {
                const value = options.searchParams[key];
                if (value === null) {
                  searchParameters.append(key, "");
                } else if (value !== void 0) {
                  searchParameters.append(key, value);
                }
              }
            }
            (_a = defaults === null || defaults === void 0 ? void 0 : defaults.searchParams) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => {
              if (!searchParameters.has(key)) {
                searchParameters.append(key, value);
              }
            });
            options.searchParams = searchParameters;
          }
        }
        options.username = (_b = options.username) !== null && _b !== void 0 ? _b : "";
        options.password = (_c = options.password) !== null && _c !== void 0 ? _c : "";
        if (is_1.default.undefined(options.prefixUrl)) {
          options.prefixUrl = (_d = defaults === null || defaults === void 0 ? void 0 : defaults.prefixUrl) !== null && _d !== void 0 ? _d : "";
        } else {
          options.prefixUrl = options.prefixUrl.toString();
          if (options.prefixUrl !== "" && !options.prefixUrl.endsWith("/")) {
            options.prefixUrl += "/";
          }
        }
        if (is_1.default.string(options.url)) {
          if (options.url.startsWith("/")) {
            throw new Error("`input` must not start with a slash when using `prefixUrl`");
          }
          options.url = options_to_url_1.default(options.prefixUrl + options.url, options);
        } else if (is_1.default.undefined(options.url) && options.prefixUrl !== "" || options.protocol) {
          options.url = options_to_url_1.default(options.prefixUrl, options);
        }
        if (options.url) {
          if ("port" in options) {
            delete options.port;
          }
          let { prefixUrl } = options;
          Object.defineProperty(options, "prefixUrl", {
            set: (value) => {
              const url2 = options.url;
              if (!url2.href.startsWith(value)) {
                throw new Error(`Cannot change \`prefixUrl\` from ${prefixUrl} to ${value}: ${url2.href}`);
              }
              options.url = new url_1.URL(value + url2.href.slice(prefixUrl.length));
              prefixUrl = value;
            },
            get: () => prefixUrl
          });
          let { protocol } = options.url;
          if (protocol === "unix:") {
            protocol = "http:";
            options.url = new url_1.URL(`http://unix${options.url.pathname}${options.url.search}`);
          }
          if (options.searchParams) {
            options.url.search = options.searchParams.toString();
          }
          if (protocol !== "http:" && protocol !== "https:") {
            throw new UnsupportedProtocolError(options);
          }
          if (options.username === "") {
            options.username = options.url.username;
          } else {
            options.url.username = options.username;
          }
          if (options.password === "") {
            options.password = options.url.password;
          } else {
            options.url.password = options.password;
          }
        }
        const { cookieJar } = options;
        if (cookieJar) {
          let { setCookie, getCookieString } = cookieJar;
          is_1.assert.function_(setCookie);
          is_1.assert.function_(getCookieString);
          if (setCookie.length === 4 && getCookieString.length === 0) {
            setCookie = util_1.promisify(setCookie.bind(options.cookieJar));
            getCookieString = util_1.promisify(getCookieString.bind(options.cookieJar));
            options.cookieJar = {
              setCookie,
              getCookieString
            };
          }
        }
        const { cache } = options;
        if (cache) {
          if (!cacheableStore.has(cache)) {
            cacheableStore.set(cache, new CacheableRequest((requestOptions, handler) => {
              const result2 = requestOptions[kRequest](requestOptions, handler);
              if (is_1.default.promise(result2)) {
                result2.once = (event, handler2) => {
                  if (event === "error") {
                    result2.catch(handler2);
                  } else if (event === "abort") {
                    (async () => {
                      try {
                        const request = await result2;
                        request.once("abort", handler2);
                      } catch (_a2) {
                      }
                    })();
                  } else {
                    throw new Error(`Unknown HTTP2 promise event: ${event}`);
                  }
                  return result2;
                };
              }
              return result2;
            }, cache));
          }
        }
        options.cacheOptions = { ...options.cacheOptions };
        if (options.dnsCache === true) {
          if (!globalDnsCache) {
            globalDnsCache = new cacheable_lookup_1.default();
          }
          options.dnsCache = globalDnsCache;
        } else if (!is_1.default.undefined(options.dnsCache) && !options.dnsCache.lookup) {
          throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${is_1.default(options.dnsCache)}`);
        }
        if (is_1.default.number(options.timeout)) {
          options.timeout = { request: options.timeout };
        } else if (defaults && options.timeout !== defaults.timeout) {
          options.timeout = {
            ...defaults.timeout,
            ...options.timeout
          };
        } else {
          options.timeout = { ...options.timeout };
        }
        if (!options.context) {
          options.context = {};
        }
        const areHooksDefault = options.hooks === (defaults === null || defaults === void 0 ? void 0 : defaults.hooks);
        options.hooks = { ...options.hooks };
        for (const event of exports2.knownHookEvents) {
          if (event in options.hooks) {
            if (is_1.default.array(options.hooks[event])) {
              options.hooks[event] = [...options.hooks[event]];
            } else {
              throw new TypeError(`Parameter \`${event}\` must be an Array, got ${is_1.default(options.hooks[event])}`);
            }
          } else {
            options.hooks[event] = [];
          }
        }
        if (defaults && !areHooksDefault) {
          for (const event of exports2.knownHookEvents) {
            const defaultHooks = defaults.hooks[event];
            if (defaultHooks.length > 0) {
              options.hooks[event] = [
                ...defaults.hooks[event],
                ...options.hooks[event]
              ];
            }
          }
        }
        if ("family" in options) {
          deprecation_warning_1.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"');
        }
        if (defaults === null || defaults === void 0 ? void 0 : defaults.https) {
          options.https = { ...defaults.https, ...options.https };
        }
        if ("rejectUnauthorized" in options) {
          deprecation_warning_1.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"');
        }
        if ("checkServerIdentity" in options) {
          deprecation_warning_1.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"');
        }
        if ("ca" in options) {
          deprecation_warning_1.default('"options.ca" was never documented, please use "options.https.certificateAuthority"');
        }
        if ("key" in options) {
          deprecation_warning_1.default('"options.key" was never documented, please use "options.https.key"');
        }
        if ("cert" in options) {
          deprecation_warning_1.default('"options.cert" was never documented, please use "options.https.certificate"');
        }
        if ("passphrase" in options) {
          deprecation_warning_1.default('"options.passphrase" was never documented, please use "options.https.passphrase"');
        }
        if ("pfx" in options) {
          deprecation_warning_1.default('"options.pfx" was never documented, please use "options.https.pfx"');
        }
        if ("followRedirects" in options) {
          throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");
        }
        if (options.agent) {
          for (const key in options.agent) {
            if (key !== "http" && key !== "https" && key !== "http2") {
              throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${key}\``);
            }
          }
        }
        options.maxRedirects = (_e = options.maxRedirects) !== null && _e !== void 0 ? _e : 0;
        exports2.setNonEnumerableProperties([defaults, rawOptions], options);
        return normalize_arguments_1.default(options, defaults);
      }
      _lockWrite() {
        const onLockedWrite = () => {
          throw new TypeError("The payload has been already provided");
        };
        this.write = onLockedWrite;
        this.end = onLockedWrite;
      }
      _unlockWrite() {
        this.write = super.write;
        this.end = super.end;
      }
      async _finalizeBody() {
        const { options } = this;
        const { headers } = options;
        const isForm = !is_1.default.undefined(options.form);
        const isJSON = !is_1.default.undefined(options.json);
        const isBody = !is_1.default.undefined(options.body);
        const hasPayload = isForm || isJSON || isBody;
        const cannotHaveBody = exports2.withoutBody.has(options.method) && !(options.method === "GET" && options.allowGetBody);
        this._cannotHaveBody = cannotHaveBody;
        if (hasPayload) {
          if (cannotHaveBody) {
            throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);
          }
          if ([isBody, isForm, isJSON].filter((isTrue) => isTrue).length > 1) {
            throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");
          }
          if (isBody && !(options.body instanceof stream_12.Readable) && !is_1.default.string(options.body) && !is_1.default.buffer(options.body) && !is_form_data_1.default(options.body)) {
            throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");
          }
          if (isForm && !is_1.default.object(options.form)) {
            throw new TypeError("The `form` option must be an Object");
          }
          {
            const noContentType = !is_1.default.string(headers["content-type"]);
            if (isBody) {
              if (is_form_data_1.default(options.body) && noContentType) {
                headers["content-type"] = `multipart/form-data; boundary=${options.body.getBoundary()}`;
              }
              this[kBody] = options.body;
            } else if (isForm) {
              if (noContentType) {
                headers["content-type"] = "application/x-www-form-urlencoded";
              }
              this[kBody] = new url_1.URLSearchParams(options.form).toString();
            } else {
              if (noContentType) {
                headers["content-type"] = "application/json";
              }
              this[kBody] = options.stringifyJson(options.json);
            }
            const uploadBodySize = await get_body_size_1.default(this[kBody], options.headers);
            if (is_1.default.undefined(headers["content-length"]) && is_1.default.undefined(headers["transfer-encoding"])) {
              if (!cannotHaveBody && !is_1.default.undefined(uploadBodySize)) {
                headers["content-length"] = String(uploadBodySize);
              }
            }
          }
        } else if (cannotHaveBody) {
          this._lockWrite();
        } else {
          this._unlockWrite();
        }
        this[kBodySize] = Number(headers["content-length"]) || void 0;
      }
      async _onResponseBase(response) {
        const { options } = this;
        const { url } = options;
        this[kOriginalResponse] = response;
        if (options.decompress) {
          response = decompressResponse(response);
        }
        const statusCode = response.statusCode;
        const typedResponse = response;
        typedResponse.statusMessage = typedResponse.statusMessage ? typedResponse.statusMessage : http.STATUS_CODES[statusCode];
        typedResponse.url = options.url.toString();
        typedResponse.requestUrl = this.requestUrl;
        typedResponse.redirectUrls = this.redirects;
        typedResponse.request = this;
        typedResponse.isFromCache = response.fromCache || false;
        typedResponse.ip = this.ip;
        typedResponse.retryCount = this.retryCount;
        this[kIsFromCache] = typedResponse.isFromCache;
        this[kResponseSize] = Number(response.headers["content-length"]) || void 0;
        this[kResponse] = response;
        response.once("end", () => {
          this[kResponseSize] = this[kDownloadedSize];
          this.emit("downloadProgress", this.downloadProgress);
        });
        response.once("error", (error) => {
          response.destroy();
          this._beforeError(new ReadError(error, this));
        });
        response.once("aborted", () => {
          this._beforeError(new ReadError({
            name: "Error",
            message: "The server aborted pending request",
            code: "ECONNRESET"
          }, this));
        });
        this.emit("downloadProgress", this.downloadProgress);
        const rawCookies = response.headers["set-cookie"];
        if (is_1.default.object(options.cookieJar) && rawCookies) {
          let promises = rawCookies.map(async (rawCookie) => options.cookieJar.setCookie(rawCookie, url.toString()));
          if (options.ignoreInvalidCookies) {
            promises = promises.map(async (p) => p.catch(() => {
            }));
          }
          try {
            await Promise.all(promises);
          } catch (error) {
            this._beforeError(error);
            return;
          }
        }
        if (options.followRedirect && response.headers.location && redirectCodes.has(statusCode)) {
          response.resume();
          if (this[kRequest]) {
            this[kCancelTimeouts]();
            delete this[kRequest];
            this[kUnproxyEvents]();
          }
          const shouldBeGet = statusCode === 303 && options.method !== "GET" && options.method !== "HEAD";
          if (shouldBeGet || !options.methodRewriting) {
            options.method = "GET";
            if ("body" in options) {
              delete options.body;
            }
            if ("json" in options) {
              delete options.json;
            }
            if ("form" in options) {
              delete options.form;
            }
            this[kBody] = void 0;
            delete options.headers["content-length"];
          }
          if (this.redirects.length >= options.maxRedirects) {
            this._beforeError(new MaxRedirectsError(this));
            return;
          }
          try {
            let isUnixSocketURL = function(url2) {
              return url2.protocol === "unix:" || url2.hostname === "unix";
            };
            const redirectBuffer = Buffer.from(response.headers.location, "binary").toString();
            const redirectUrl = new url_1.URL(redirectBuffer, url);
            const redirectString = redirectUrl.toString();
            decodeURI(redirectString);
            if (!isUnixSocketURL(url) && isUnixSocketURL(redirectUrl)) {
              this._beforeError(new RequestError("Cannot redirect to UNIX socket", {}, this));
              return;
            }
            if (redirectUrl.hostname !== url.hostname || redirectUrl.port !== url.port) {
              if ("host" in options.headers) {
                delete options.headers.host;
              }
              if ("cookie" in options.headers) {
                delete options.headers.cookie;
              }
              if ("authorization" in options.headers) {
                delete options.headers.authorization;
              }
              if (options.username || options.password) {
                options.username = "";
                options.password = "";
              }
            } else {
              redirectUrl.username = options.username;
              redirectUrl.password = options.password;
            }
            this.redirects.push(redirectString);
            options.url = redirectUrl;
            for (const hook of options.hooks.beforeRedirect) {
              await hook(options, typedResponse);
            }
            this.emit("redirect", typedResponse, options);
            await this._makeRequest();
          } catch (error) {
            this._beforeError(error);
            return;
          }
          return;
        }
        if (options.isStream && options.throwHttpErrors && !is_response_ok_1.isResponseOk(typedResponse)) {
          this._beforeError(new HTTPError(typedResponse));
          return;
        }
        response.on("readable", () => {
          if (this[kTriggerRead]) {
            this._read();
          }
        });
        this.on("resume", () => {
          response.resume();
        });
        this.on("pause", () => {
          response.pause();
        });
        response.once("end", () => {
          this.push(null);
        });
        this.emit("response", response);
        for (const destination of this[kServerResponsesPiped]) {
          if (destination.headersSent) {
            continue;
          }
          for (const key in response.headers) {
            const isAllowed = options.decompress ? key !== "content-encoding" : true;
            const value = response.headers[key];
            if (isAllowed) {
              destination.setHeader(key, value);
            }
          }
          destination.statusCode = statusCode;
        }
      }
      async _onResponse(response) {
        try {
          await this._onResponseBase(response);
        } catch (error) {
          this._beforeError(error);
        }
      }
      _onRequest(request) {
        const { options } = this;
        const { timeout, url } = options;
        http_timer_1.default(request);
        this[kCancelTimeouts] = timed_out_1.default(request, timeout, url);
        const responseEventName = options.cache ? "cacheableResponse" : "response";
        request.once(responseEventName, (response) => {
          void this._onResponse(response);
        });
        request.once("error", (error) => {
          var _a;
          request.destroy();
          (_a = request.res) === null || _a === void 0 ? void 0 : _a.removeAllListeners("end");
          error = error instanceof timed_out_1.TimeoutError ? new TimeoutError(error, this.timings, this) : new RequestError(error.message, error, this);
          this._beforeError(error);
        });
        this[kUnproxyEvents] = proxy_events_1.default(request, this, proxiedRequestEvents);
        this[kRequest] = request;
        this.emit("uploadProgress", this.uploadProgress);
        const body = this[kBody];
        const currentRequest = this.redirects.length === 0 ? this : request;
        if (is_1.default.nodeStream(body)) {
          body.pipe(currentRequest);
          body.once("error", (error) => {
            this._beforeError(new UploadError(error, this));
          });
        } else {
          this._unlockWrite();
          if (!is_1.default.undefined(body)) {
            this._writeRequest(body, void 0, () => {
            });
            currentRequest.end();
            this._lockWrite();
          } else if (this._cannotHaveBody || this._noPipe) {
            currentRequest.end();
            this._lockWrite();
          }
        }
        this.emit("request", request);
      }
      async _createCacheableRequest(url, options) {
        return new Promise((resolve, reject) => {
          Object.assign(options, url_to_options_1.default(url));
          delete options.url;
          let request;
          const cacheRequest = cacheableStore.get(options.cache)(options, async (response) => {
            response._readableState.autoDestroy = false;
            if (request) {
              (await request).emit("cacheableResponse", response);
            }
            resolve(response);
          });
          options.url = url;
          cacheRequest.once("error", reject);
          cacheRequest.once("request", async (requestOrPromise) => {
            request = requestOrPromise;
            resolve(request);
          });
        });
      }
      async _makeRequest() {
        var _a, _b, _c, _d, _e;
        const { options } = this;
        const { headers } = options;
        for (const key in headers) {
          if (is_1.default.undefined(headers[key])) {
            delete headers[key];
          } else if (is_1.default.null_(headers[key])) {
            throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);
          }
        }
        if (options.decompress && is_1.default.undefined(headers["accept-encoding"])) {
          headers["accept-encoding"] = supportsBrotli ? "gzip, deflate, br" : "gzip, deflate";
        }
        if (options.cookieJar) {
          const cookieString = await options.cookieJar.getCookieString(options.url.toString());
          if (is_1.default.nonEmptyString(cookieString)) {
            options.headers.cookie = cookieString;
          }
        }
        for (const hook of options.hooks.beforeRequest) {
          const result2 = await hook(options);
          if (!is_1.default.undefined(result2)) {
            options.request = () => result2;
            break;
          }
        }
        if (options.body && this[kBody] !== options.body) {
          this[kBody] = options.body;
        }
        const { agent, request, timeout, url } = options;
        if (options.dnsCache && !("lookup" in options)) {
          options.lookup = options.dnsCache.lookup;
        }
        if (url.hostname === "unix") {
          const matches = /(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);
          if (matches === null || matches === void 0 ? void 0 : matches.groups) {
            const { socketPath, path: path2 } = matches.groups;
            Object.assign(options, {
              socketPath,
              path: path2,
              host: ""
            });
          }
        }
        const isHttps = url.protocol === "https:";
        let fallbackFn;
        if (options.http2) {
          fallbackFn = http2wrapper.auto;
        } else {
          fallbackFn = isHttps ? https.request : http.request;
        }
        const realFn = (_a = options.request) !== null && _a !== void 0 ? _a : fallbackFn;
        const fn = options.cache ? this._createCacheableRequest : realFn;
        if (agent && !options.http2) {
          options.agent = agent[isHttps ? "https" : "http"];
        }
        options[kRequest] = realFn;
        delete options.request;
        delete options.timeout;
        const requestOptions = options;
        requestOptions.shared = (_b = options.cacheOptions) === null || _b === void 0 ? void 0 : _b.shared;
        requestOptions.cacheHeuristic = (_c = options.cacheOptions) === null || _c === void 0 ? void 0 : _c.cacheHeuristic;
        requestOptions.immutableMinTimeToLive = (_d = options.cacheOptions) === null || _d === void 0 ? void 0 : _d.immutableMinTimeToLive;
        requestOptions.ignoreCargoCult = (_e = options.cacheOptions) === null || _e === void 0 ? void 0 : _e.ignoreCargoCult;
        if (options.dnsLookupIpVersion !== void 0) {
          try {
            requestOptions.family = dns_ip_version_1.dnsLookupIpVersionToFamily(options.dnsLookupIpVersion);
          } catch (_f) {
            throw new Error("Invalid `dnsLookupIpVersion` option value");
          }
        }
        if (options.https) {
          if ("rejectUnauthorized" in options.https) {
            requestOptions.rejectUnauthorized = options.https.rejectUnauthorized;
          }
          if (options.https.checkServerIdentity) {
            requestOptions.checkServerIdentity = options.https.checkServerIdentity;
          }
          if (options.https.certificateAuthority) {
            requestOptions.ca = options.https.certificateAuthority;
          }
          if (options.https.certificate) {
            requestOptions.cert = options.https.certificate;
          }
          if (options.https.key) {
            requestOptions.key = options.https.key;
          }
          if (options.https.passphrase) {
            requestOptions.passphrase = options.https.passphrase;
          }
          if (options.https.pfx) {
            requestOptions.pfx = options.https.pfx;
          }
        }
        try {
          let requestOrResponse = await fn(url, requestOptions);
          if (is_1.default.undefined(requestOrResponse)) {
            requestOrResponse = fallbackFn(url, requestOptions);
          }
          options.request = request;
          options.timeout = timeout;
          options.agent = agent;
          if (options.https) {
            if ("rejectUnauthorized" in options.https) {
              delete requestOptions.rejectUnauthorized;
            }
            if (options.https.checkServerIdentity) {
              delete requestOptions.checkServerIdentity;
            }
            if (options.https.certificateAuthority) {
              delete requestOptions.ca;
            }
            if (options.https.certificate) {
              delete requestOptions.cert;
            }
            if (options.https.key) {
              delete requestOptions.key;
            }
            if (options.https.passphrase) {
              delete requestOptions.passphrase;
            }
            if (options.https.pfx) {
              delete requestOptions.pfx;
            }
          }
          if (isClientRequest(requestOrResponse)) {
            this._onRequest(requestOrResponse);
          } else if (this.writable) {
            this.once("finish", () => {
              void this._onResponse(requestOrResponse);
            });
            this._unlockWrite();
            this.end();
            this._lockWrite();
          } else {
            void this._onResponse(requestOrResponse);
          }
        } catch (error) {
          if (error instanceof CacheableRequest.CacheError) {
            throw new CacheError(error, this);
          }
          throw new RequestError(error.message, error, this);
        }
      }
      async _error(error) {
        try {
          for (const hook of this.options.hooks.beforeError) {
            error = await hook(error);
          }
        } catch (error_) {
          error = new RequestError(error_.message, error_, this);
        }
        this.destroy(error);
      }
      _beforeError(error) {
        if (this[kStopReading]) {
          return;
        }
        const { options } = this;
        const retryCount = this.retryCount + 1;
        this[kStopReading] = true;
        if (!(error instanceof RequestError)) {
          error = new RequestError(error.message, error, this);
        }
        const typedError = error;
        const { response } = typedError;
        void (async () => {
          if (response && !response.body) {
            response.setEncoding(this._readableState.encoding);
            try {
              response.rawBody = await get_buffer_1.default(response);
              response.body = response.rawBody.toString();
            } catch (_a) {
            }
          }
          if (this.listenerCount("retry") !== 0) {
            let backoff;
            try {
              let retryAfter;
              if (response && "retry-after" in response.headers) {
                retryAfter = Number(response.headers["retry-after"]);
                if (Number.isNaN(retryAfter)) {
                  retryAfter = Date.parse(response.headers["retry-after"]) - Date.now();
                  if (retryAfter <= 0) {
                    retryAfter = 1;
                  }
                } else {
                  retryAfter *= 1e3;
                }
              }
              backoff = await options.retry.calculateDelay({
                attemptCount: retryCount,
                retryOptions: options.retry,
                error: typedError,
                retryAfter,
                computedValue: calculate_retry_delay_1.default({
                  attemptCount: retryCount,
                  retryOptions: options.retry,
                  error: typedError,
                  retryAfter,
                  computedValue: 0
                })
              });
            } catch (error_) {
              void this._error(new RequestError(error_.message, error_, this));
              return;
            }
            if (backoff) {
              const retry = async () => {
                try {
                  for (const hook of this.options.hooks.beforeRetry) {
                    await hook(this.options, typedError, retryCount);
                  }
                } catch (error_) {
                  void this._error(new RequestError(error_.message, error, this));
                  return;
                }
                if (this.destroyed) {
                  return;
                }
                this.destroy();
                this.emit("retry", retryCount, error);
              };
              this[kRetryTimeout] = setTimeout(retry, backoff);
              return;
            }
          }
          void this._error(typedError);
        })();
      }
      _read() {
        this[kTriggerRead] = true;
        const response = this[kResponse];
        if (response && !this[kStopReading]) {
          if (response.readableLength) {
            this[kTriggerRead] = false;
          }
          let data;
          while ((data = response.read()) !== null) {
            this[kDownloadedSize] += data.length;
            this[kStartedReading] = true;
            const progress = this.downloadProgress;
            if (progress.percent < 1) {
              this.emit("downloadProgress", progress);
            }
            this.push(data);
          }
        }
      }
      // Node.js 12 has incorrect types, so the encoding must be a string
      _write(chunk, encoding, callback) {
        const write = () => {
          this._writeRequest(chunk, encoding, callback);
        };
        if (this.requestInitialized) {
          write();
        } else {
          this[kJobs].push(write);
        }
      }
      _writeRequest(chunk, encoding, callback) {
        if (this[kRequest].destroyed) {
          return;
        }
        this._progressCallbacks.push(() => {
          this[kUploadedSize] += Buffer.byteLength(chunk, encoding);
          const progress = this.uploadProgress;
          if (progress.percent < 1) {
            this.emit("uploadProgress", progress);
          }
        });
        this[kRequest].write(chunk, encoding, (error) => {
          if (!error && this._progressCallbacks.length > 0) {
            this._progressCallbacks.shift()();
          }
          callback(error);
        });
      }
      _final(callback) {
        const endRequest = () => {
          while (this._progressCallbacks.length !== 0) {
            this._progressCallbacks.shift()();
          }
          if (!(kRequest in this)) {
            callback();
            return;
          }
          if (this[kRequest].destroyed) {
            callback();
            return;
          }
          this[kRequest].end((error) => {
            if (!error) {
              this[kBodySize] = this[kUploadedSize];
              this.emit("uploadProgress", this.uploadProgress);
              this[kRequest].emit("upload-complete");
            }
            callback(error);
          });
        };
        if (this.requestInitialized) {
          endRequest();
        } else {
          this[kJobs].push(endRequest);
        }
      }
      _destroy(error, callback) {
        var _a;
        this[kStopReading] = true;
        clearTimeout(this[kRetryTimeout]);
        if (kRequest in this) {
          this[kCancelTimeouts]();
          if (!((_a = this[kResponse]) === null || _a === void 0 ? void 0 : _a.complete)) {
            this[kRequest].destroy();
          }
        }
        if (error !== null && !is_1.default.undefined(error) && !(error instanceof RequestError)) {
          error = new RequestError(error.message, error, this);
        }
        callback(error);
      }
      get _isAboutToError() {
        return this[kStopReading];
      }
      /**
      The remote IP address.
      */
      get ip() {
        var _a;
        return (_a = this.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress;
      }
      /**
      Indicates whether the request has been aborted or not.
      */
      get aborted() {
        var _a, _b, _c;
        return ((_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroyed) !== null && _b !== void 0 ? _b : this.destroyed) && !((_c = this[kOriginalResponse]) === null || _c === void 0 ? void 0 : _c.complete);
      }
      get socket() {
        var _a, _b;
        return (_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.socket) !== null && _b !== void 0 ? _b : void 0;
      }
      /**
      Progress event for downloading (receiving a response).
      */
      get downloadProgress() {
        let percent;
        if (this[kResponseSize]) {
          percent = this[kDownloadedSize] / this[kResponseSize];
        } else if (this[kResponseSize] === this[kDownloadedSize]) {
          percent = 1;
        } else {
          percent = 0;
        }
        return {
          percent,
          transferred: this[kDownloadedSize],
          total: this[kResponseSize]
        };
      }
      /**
      Progress event for uploading (sending a request).
      */
      get uploadProgress() {
        let percent;
        if (this[kBodySize]) {
          percent = this[kUploadedSize] / this[kBodySize];
        } else if (this[kBodySize] === this[kUploadedSize]) {
          percent = 1;
        } else {
          percent = 0;
        }
        return {
          percent,
          transferred: this[kUploadedSize],
          total: this[kBodySize]
        };
      }
      /**
          The object contains the following properties:
      
          - `start` - Time when the request started.
          - `socket` - Time when a socket was assigned to the request.
          - `lookup` - Time when the DNS lookup finished.
          - `connect` - Time when the socket successfully connected.
          - `secureConnect` - Time when the socket securely connected.
          - `upload` - Time when the request finished uploading.
          - `response` - Time when the request fired `response` event.
          - `end` - Time when the response fired `end` event.
          - `error` - Time when the request fired `error` event.
          - `abort` - Time when the request fired `abort` event.
          - `phases`
              - `wait` - `timings.socket - timings.start`
              - `dns` - `timings.lookup - timings.socket`
              - `tcp` - `timings.connect - timings.lookup`
              - `tls` - `timings.secureConnect - timings.connect`
              - `request` - `timings.upload - (timings.secureConnect || timings.connect)`
              - `firstByte` - `timings.response - timings.upload`
              - `download` - `timings.end - timings.response`
              - `total` - `(timings.end || timings.error || timings.abort) - timings.start`
      
          If something has not been measured yet, it will be `undefined`.
      
          __Note__: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
          */
      get timings() {
        var _a;
        return (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.timings;
      }
      /**
      Whether the response was retrieved from the cache.
      */
      get isFromCache() {
        return this[kIsFromCache];
      }
      pipe(destination, options) {
        if (this[kStartedReading]) {
          throw new Error("Failed to pipe. The response has been emitted already.");
        }
        if (destination instanceof http_1.ServerResponse) {
          this[kServerResponsesPiped].add(destination);
        }
        return super.pipe(destination, options);
      }
      unpipe(destination) {
        if (destination instanceof http_1.ServerResponse) {
          this[kServerResponsesPiped].delete(destination);
        }
        super.unpipe(destination);
        return this;
      }
    };
    exports2.default = Request;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/types.js
var require_types9 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/types.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.CancelError = exports2.ParseError = void 0;
    var core_1 = require_core8();
    var ParseError = class extends core_1.RequestError {
      constructor(error, response) {
        const { options } = response.request;
        super(`${error.message} in "${options.url.toString()}"`, error, response.request);
        this.name = "ParseError";
        this.code = this.code === "ERR_GOT_REQUEST_ERROR" ? "ERR_BODY_PARSE_FAILURE" : this.code;
      }
    };
    exports2.ParseError = ParseError;
    var CancelError = class extends core_1.RequestError {
      constructor(request) {
        super("Promise was canceled", {}, request);
        this.name = "CancelError";
        this.code = "ERR_CANCELED";
      }
      get isCanceled() {
        return true;
      }
    };
    exports2.CancelError = CancelError;
    __exportStar2(require_core8(), exports2);
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/parse-body.js
var require_parse_body = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/parse-body.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var types_1 = require_types9();
    var parseBody = (response, responseType, parseJson, encoding) => {
      const { rawBody } = response;
      try {
        if (responseType === "text") {
          return rawBody.toString(encoding);
        }
        if (responseType === "json") {
          return rawBody.length === 0 ? "" : parseJson(rawBody.toString());
        }
        if (responseType === "buffer") {
          return rawBody;
        }
        throw new types_1.ParseError({
          message: `Unknown body type '${responseType}'`,
          name: "Error"
        }, response);
      } catch (error) {
        throw new types_1.ParseError(error, response);
      }
    };
    exports2.default = parseBody;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/index.js
var require_as_promise = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var events_1 = require("events");
    var is_1 = require_dist25();
    var PCancelable = require_p_cancelable();
    var types_1 = require_types9();
    var parse_body_1 = require_parse_body();
    var core_1 = require_core8();
    var proxy_events_1 = require_proxy_events2();
    var get_buffer_1 = require_get_buffer();
    var is_response_ok_1 = require_is_response_ok();
    var proxiedRequestEvents = [
      "request",
      "response",
      "redirect",
      "uploadProgress",
      "downloadProgress"
    ];
    function asPromise(normalizedOptions) {
      let globalRequest;
      let globalResponse;
      const emitter = new events_1.EventEmitter();
      const promise = new PCancelable((resolve, reject, onCancel) => {
        const makeRequest = (retryCount) => {
          const request = new core_1.default(void 0, normalizedOptions);
          request.retryCount = retryCount;
          request._noPipe = true;
          onCancel(() => request.destroy());
          onCancel.shouldReject = false;
          onCancel(() => reject(new types_1.CancelError(request)));
          globalRequest = request;
          request.once("response", async (response) => {
            var _a;
            response.retryCount = retryCount;
            if (response.request.aborted) {
              return;
            }
            let rawBody;
            try {
              rawBody = await get_buffer_1.default(request);
              response.rawBody = rawBody;
            } catch (_b) {
              return;
            }
            if (request._isAboutToError) {
              return;
            }
            const contentEncoding = ((_a = response.headers["content-encoding"]) !== null && _a !== void 0 ? _a : "").toLowerCase();
            const isCompressed = ["gzip", "deflate", "br"].includes(contentEncoding);
            const { options } = request;
            if (isCompressed && !options.decompress) {
              response.body = rawBody;
            } else {
              try {
                response.body = parse_body_1.default(response, options.responseType, options.parseJson, options.encoding);
              } catch (error) {
                response.body = rawBody.toString();
                if (is_response_ok_1.isResponseOk(response)) {
                  request._beforeError(error);
                  return;
                }
              }
            }
            try {
              for (const [index, hook] of options.hooks.afterResponse.entries()) {
                response = await hook(response, async (updatedOptions) => {
                  const typedOptions = core_1.default.normalizeArguments(void 0, {
                    ...updatedOptions,
                    retry: {
                      calculateDelay: () => 0
                    },
                    throwHttpErrors: false,
                    resolveBodyOnly: false
                  }, options);
                  typedOptions.hooks.afterResponse = typedOptions.hooks.afterResponse.slice(0, index);
                  for (const hook2 of typedOptions.hooks.beforeRetry) {
                    await hook2(typedOptions);
                  }
                  const promise2 = asPromise(typedOptions);
                  onCancel(() => {
                    promise2.catch(() => {
                    });
                    promise2.cancel();
                  });
                  return promise2;
                });
              }
            } catch (error) {
              request._beforeError(new types_1.RequestError(error.message, error, request));
              return;
            }
            globalResponse = response;
            if (!is_response_ok_1.isResponseOk(response)) {
              request._beforeError(new types_1.HTTPError(response));
              return;
            }
            request.destroy();
            resolve(request.options.resolveBodyOnly ? response.body : response);
          });
          const onError = (error) => {
            if (promise.isCanceled) {
              return;
            }
            const { options } = request;
            if (error instanceof types_1.HTTPError && !options.throwHttpErrors) {
              const { response } = error;
              resolve(request.options.resolveBodyOnly ? response.body : response);
              return;
            }
            reject(error);
          };
          request.once("error", onError);
          const previousBody = request.options.body;
          request.once("retry", (newRetryCount, error) => {
            var _a, _b;
            if (previousBody === ((_a = error.request) === null || _a === void 0 ? void 0 : _a.options.body) && is_1.default.nodeStream((_b = error.request) === null || _b === void 0 ? void 0 : _b.options.body)) {
              onError(error);
              return;
            }
            makeRequest(newRetryCount);
          });
          proxy_events_1.default(request, emitter, proxiedRequestEvents);
        };
        makeRequest(0);
      });
      promise.on = (event, fn) => {
        emitter.on(event, fn);
        return promise;
      };
      const shortcut = (responseType) => {
        const newPromise = (async () => {
          await promise;
          const { options } = globalResponse.request;
          return parse_body_1.default(globalResponse, responseType, options.parseJson, options.encoding);
        })();
        Object.defineProperties(newPromise, Object.getOwnPropertyDescriptors(promise));
        return newPromise;
      };
      promise.json = () => {
        const { headers } = globalRequest.options;
        if (!globalRequest.writableFinished && headers.accept === void 0) {
          headers.accept = "application/json";
        }
        return shortcut("json");
      };
      promise.buffer = () => shortcut("buffer");
      promise.text = () => shortcut("text");
      return promise;
    }
    exports2.default = asPromise;
    __exportStar2(require_types9(), exports2);
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/create-rejection.js
var require_create_rejection = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/as-promise/create-rejection.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var types_1 = require_types9();
    function createRejection(error, ...beforeErrorGroups) {
      const promise = (async () => {
        if (error instanceof types_1.RequestError) {
          try {
            for (const hooks of beforeErrorGroups) {
              if (hooks) {
                for (const hook of hooks) {
                  error = await hook(error);
                }
              }
            }
          } catch (error_) {
            error = error_;
          }
        }
        throw error;
      })();
      const returnPromise = () => promise;
      promise.json = returnPromise;
      promise.text = returnPromise;
      promise.buffer = returnPromise;
      promise.on = returnPromise;
      return promise;
    }
    exports2.default = createRejection;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/utils/deep-freeze.js
var require_deep_freeze = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/utils/deep-freeze.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var is_1 = require_dist25();
    function deepFreeze(object) {
      for (const value of Object.values(object)) {
        if (is_1.default.plainObject(value) || is_1.default.array(value)) {
          deepFreeze(value);
        }
      }
      return Object.freeze(object);
    }
    exports2.default = deepFreeze;
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/types.js
var require_types10 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/types.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/create.js
var require_create = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/create.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.defaultHandler = void 0;
    var is_1 = require_dist25();
    var as_promise_1 = require_as_promise();
    var create_rejection_1 = require_create_rejection();
    var core_1 = require_core8();
    var deep_freeze_1 = require_deep_freeze();
    var errors = {
      RequestError: as_promise_1.RequestError,
      CacheError: as_promise_1.CacheError,
      ReadError: as_promise_1.ReadError,
      HTTPError: as_promise_1.HTTPError,
      MaxRedirectsError: as_promise_1.MaxRedirectsError,
      TimeoutError: as_promise_1.TimeoutError,
      ParseError: as_promise_1.ParseError,
      CancelError: as_promise_1.CancelError,
      UnsupportedProtocolError: as_promise_1.UnsupportedProtocolError,
      UploadError: as_promise_1.UploadError
    };
    var delay = async (ms) => new Promise((resolve) => {
      setTimeout(resolve, ms);
    });
    var { normalizeArguments } = core_1.default;
    var mergeOptions = (...sources) => {
      let mergedOptions;
      for (const source of sources) {
        mergedOptions = normalizeArguments(void 0, source, mergedOptions);
      }
      return mergedOptions;
    };
    var getPromiseOrStream = (options) => options.isStream ? new core_1.default(void 0, options) : as_promise_1.default(options);
    var isGotInstance = (value) => "defaults" in value && "options" in value.defaults;
    var aliases = [
      "get",
      "post",
      "put",
      "patch",
      "head",
      "delete"
    ];
    exports2.defaultHandler = (options, next) => next(options);
    var callInitHooks = (hooks, options) => {
      if (hooks) {
        for (const hook of hooks) {
          hook(options);
        }
      }
    };
    var create = (defaults) => {
      defaults._rawHandlers = defaults.handlers;
      defaults.handlers = defaults.handlers.map((fn) => (options, next) => {
        let root;
        const result2 = fn(options, (newOptions) => {
          root = next(newOptions);
          return root;
        });
        if (result2 !== root && !options.isStream && root) {
          const typedResult = result2;
          const { then: promiseThen, catch: promiseCatch, finally: promiseFianlly } = typedResult;
          Object.setPrototypeOf(typedResult, Object.getPrototypeOf(root));
          Object.defineProperties(typedResult, Object.getOwnPropertyDescriptors(root));
          typedResult.then = promiseThen;
          typedResult.catch = promiseCatch;
          typedResult.finally = promiseFianlly;
        }
        return result2;
      });
      const got = (url, options = {}, _defaults) => {
        var _a, _b;
        let iteration = 0;
        const iterateHandlers = (newOptions) => {
          return defaults.handlers[iteration++](newOptions, iteration === defaults.handlers.length ? getPromiseOrStream : iterateHandlers);
        };
        if (is_1.default.plainObject(url)) {
          const mergedOptions = {
            ...url,
            ...options
          };
          core_1.setNonEnumerableProperties([url, options], mergedOptions);
          options = mergedOptions;
          url = void 0;
        }
        try {
          let initHookError;
          try {
            callInitHooks(defaults.options.hooks.init, options);
            callInitHooks((_a = options.hooks) === null || _a === void 0 ? void 0 : _a.init, options);
          } catch (error) {
            initHookError = error;
          }
          const normalizedOptions = normalizeArguments(url, options, _defaults !== null && _defaults !== void 0 ? _defaults : defaults.options);
          normalizedOptions[core_1.kIsNormalizedAlready] = true;
          if (initHookError) {
            throw new as_promise_1.RequestError(initHookError.message, initHookError, normalizedOptions);
          }
          return iterateHandlers(normalizedOptions);
        } catch (error) {
          if (options.isStream) {
            throw error;
          } else {
            return create_rejection_1.default(error, defaults.options.hooks.beforeError, (_b = options.hooks) === null || _b === void 0 ? void 0 : _b.beforeError);
          }
        }
      };
      got.extend = (...instancesOrOptions) => {
        const optionsArray = [defaults.options];
        let handlers = [...defaults._rawHandlers];
        let isMutableDefaults;
        for (const value of instancesOrOptions) {
          if (isGotInstance(value)) {
            optionsArray.push(value.defaults.options);
            handlers.push(...value.defaults._rawHandlers);
            isMutableDefaults = value.defaults.mutableDefaults;
          } else {
            optionsArray.push(value);
            if ("handlers" in value) {
              handlers.push(...value.handlers);
            }
            isMutableDefaults = value.mutableDefaults;
          }
        }
        handlers = handlers.filter((handler) => handler !== exports2.defaultHandler);
        if (handlers.length === 0) {
          handlers.push(exports2.defaultHandler);
        }
        return create({
          options: mergeOptions(...optionsArray),
          handlers,
          mutableDefaults: Boolean(isMutableDefaults)
        });
      };
      const paginateEach = async function* (url, options) {
        let normalizedOptions = normalizeArguments(url, options, defaults.options);
        normalizedOptions.resolveBodyOnly = false;
        const pagination = normalizedOptions.pagination;
        if (!is_1.default.object(pagination)) {
          throw new TypeError("`options.pagination` must be implemented");
        }
        const all = [];
        let { countLimit } = pagination;
        let numberOfRequests = 0;
        while (numberOfRequests < pagination.requestLimit) {
          if (numberOfRequests !== 0) {
            await delay(pagination.backoff);
          }
          const result2 = await got(void 0, void 0, normalizedOptions);
          const parsed = await pagination.transform(result2);
          const current = [];
          for (const item of parsed) {
            if (pagination.filter(item, all, current)) {
              if (!pagination.shouldContinue(item, all, current)) {
                return;
              }
              yield item;
              if (pagination.stackAllItems) {
                all.push(item);
              }
              current.push(item);
              if (--countLimit <= 0) {
                return;
              }
            }
          }
          const optionsToMerge = pagination.paginate(result2, all, current);
          if (optionsToMerge === false) {
            return;
          }
          if (optionsToMerge === result2.request.options) {
            normalizedOptions = result2.request.options;
          } else if (optionsToMerge !== void 0) {
            normalizedOptions = normalizeArguments(void 0, optionsToMerge, normalizedOptions);
          }
          numberOfRequests++;
        }
      };
      got.paginate = paginateEach;
      got.paginate.all = async (url, options) => {
        const results = [];
        for await (const item of paginateEach(url, options)) {
          results.push(item);
        }
        return results;
      };
      got.paginate.each = paginateEach;
      got.stream = (url, options) => got(url, { ...options, isStream: true });
      for (const method of aliases) {
        got[method] = (url, options) => got(url, { ...options, method });
        got.stream[method] = (url, options) => {
          return got(url, { ...options, method, isStream: true });
        };
      }
      Object.assign(got, errors);
      Object.defineProperty(got, "defaults", {
        value: defaults.mutableDefaults ? defaults : deep_freeze_1.default(defaults),
        writable: defaults.mutableDefaults,
        configurable: defaults.mutableDefaults,
        enumerable: true
      });
      got.mergeOptions = mergeOptions;
      return got;
    };
    exports2.default = create;
    __exportStar2(require_types10(), exports2);
  }
});

// ../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/index.js
var require_source7 = __commonJS({
  "../node_modules/.pnpm/got@11.8.6/node_modules/got/dist/source/index.js"(exports2, module2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      Object.defineProperty(o, k2, { enumerable: true, get: function() {
        return m[k];
      } });
    } : function(o, m, k, k2) {
      if (k2 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    var url_1 = require("url");
    var create_1 = require_create();
    var defaults = {
      options: {
        method: "GET",
        retry: {
          limit: 2,
          methods: [
            "GET",
            "PUT",
            "HEAD",
            "DELETE",
            "OPTIONS",
            "TRACE"
          ],
          statusCodes: [
            408,
            413,
            429,
            500,
            502,
            503,
            504,
            521,
            522,
            524
          ],
          errorCodes: [
            "ETIMEDOUT",
            "ECONNRESET",
            "EADDRINUSE",
            "ECONNREFUSED",
            "EPIPE",
            "ENOTFOUND",
            "ENETUNREACH",
            "EAI_AGAIN"
          ],
          maxRetryAfter: void 0,
          calculateDelay: ({ computedValue }) => computedValue
        },
        timeout: {},
        headers: {
          "user-agent": "got (https://github.com/sindresorhus/got)"
        },
        hooks: {
          init: [],
          beforeRequest: [],
          beforeRedirect: [],
          beforeRetry: [],
          beforeError: [],
          afterResponse: []
        },
        cache: void 0,
        dnsCache: void 0,
        decompress: true,
        throwHttpErrors: true,
        followRedirect: true,
        isStream: false,
        responseType: "text",
        resolveBodyOnly: false,
        maxRedirects: 10,
        prefixUrl: "",
        methodRewriting: true,
        ignoreInvalidCookies: false,
        context: {},
        // TODO: Set this to `true` when Got 12 gets released
        http2: false,
        allowGetBody: false,
        https: void 0,
        pagination: {
          transform: (response) => {
            if (response.request.options.responseType === "json") {
              return response.body;
            }
            return JSON.parse(response.body);
          },
          paginate: (response) => {
            if (!Reflect.has(response.headers, "link")) {
              return false;
            }
            const items = response.headers.link.split(",");
            let next;
            for (const item of items) {
              const parsed = item.split(";");
              if (parsed[1].includes("next")) {
                next = parsed[0].trimStart().trim();
                next = next.slice(1, -1);
                break;
              }
            }
            if (next) {
              const options = {
                url: new url_1.URL(next)
              };
              return options;
            }
            return false;
          },
          filter: () => true,
          shouldContinue: () => true,
          countLimit: Infinity,
          backoff: 0,
          requestLimit: 1e4,
          stackAllItems: true
        },
        parseJson: (text) => JSON.parse(text),
        stringifyJson: (object) => JSON.stringify(object),
        cacheOptions: {}
      },
      handlers: [create_1.defaultHandler],
      mutableDefaults: false
    };
    var got = create_1.default(defaults);
    exports2.default = got;
    module2.exports = got;
    module2.exports.default = got;
    module2.exports.__esModule = true;
    __exportStar2(require_create(), exports2);
    __exportStar2(require_as_promise(), exports2);
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/httpUtils.js
var require_httpUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/httpUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Method = void 0;
    exports2.getNetworkSettings = getNetworkSettings;
    exports2.request = request;
    exports2.get = get;
    exports2.put = put;
    exports2.post = post;
    exports2.del = del;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var https_1 = require("https");
    var http_1 = require("http");
    var micromatch_12 = tslib_12.__importDefault(require_micromatch());
    var tunnel_1 = tslib_12.__importDefault(require_tunnel2());
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var cache = /* @__PURE__ */ new Map();
    var fileCache = /* @__PURE__ */ new Map();
    var globalHttpAgent = new http_1.Agent({ keepAlive: true });
    var globalHttpsAgent = new https_1.Agent({ keepAlive: true });
    function parseProxy(specifier) {
      const url = new URL(specifier);
      const proxy = { host: url.hostname, headers: {} };
      if (url.port)
        proxy.port = Number(url.port);
      if (url.username && url.password)
        proxy.proxyAuth = `${url.username}:${url.password}`;
      return { proxy };
    }
    async function getCachedFile(filePath) {
      return miscUtils.getFactoryWithDefault(fileCache, filePath, () => {
        return fslib_12.xfs.readFilePromise(filePath).then((file) => {
          fileCache.set(filePath, file);
          return file;
        });
      });
    }
    function prettyResponseCode({ statusCode, statusMessage }, configuration) {
      const prettyStatusCode = formatUtils.pretty(configuration, statusCode, formatUtils.Type.NUMBER);
      const href = `https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/${statusCode}`;
      return formatUtils.applyHyperlink(configuration, `${prettyStatusCode}${statusMessage ? ` (${statusMessage})` : ``}`, href);
    }
    async function prettyNetworkError(response, { configuration, customErrorMessage }) {
      try {
        return await response;
      } catch (err) {
        if (err.name !== `HTTPError`)
          throw err;
        let message = customErrorMessage?.(err, configuration) ?? err.response.body?.error;
        if (message == null) {
          if (err.message.startsWith(`Response code`)) {
            message = `The remote server failed to provide the requested resource`;
          } else {
            message = err.message;
          }
        }
        if (err.code === `ETIMEDOUT` && err.event === `socket`)
          message += `(can be increased via ${formatUtils.pretty(configuration, `httpTimeout`, formatUtils.Type.SETTING)})`;
        const networkError = new Report_1.ReportError(MessageName_1.MessageName.NETWORK_ERROR, message, (report) => {
          if (err.response) {
            report.reportError(MessageName_1.MessageName.NETWORK_ERROR, `  ${formatUtils.prettyField(configuration, {
              label: `Response Code`,
              value: formatUtils.tuple(formatUtils.Type.NO_HINT, prettyResponseCode(err.response, configuration))
            })}`);
          }
          if (err.request) {
            report.reportError(MessageName_1.MessageName.NETWORK_ERROR, `  ${formatUtils.prettyField(configuration, {
              label: `Request Method`,
              value: formatUtils.tuple(formatUtils.Type.NO_HINT, err.request.options.method)
            })}`);
            report.reportError(MessageName_1.MessageName.NETWORK_ERROR, `  ${formatUtils.prettyField(configuration, {
              label: `Request URL`,
              value: formatUtils.tuple(formatUtils.Type.URL, err.request.requestUrl)
            })}`);
          }
          if (err.request.redirects.length > 0) {
            report.reportError(MessageName_1.MessageName.NETWORK_ERROR, `  ${formatUtils.prettyField(configuration, {
              label: `Request Redirects`,
              value: formatUtils.tuple(formatUtils.Type.NO_HINT, formatUtils.prettyList(configuration, err.request.redirects, formatUtils.Type.URL))
            })}`);
          }
          if (err.request.retryCount === err.request.options.retry.limit) {
            report.reportError(MessageName_1.MessageName.NETWORK_ERROR, `  ${formatUtils.prettyField(configuration, {
              label: `Request Retry Count`,
              value: formatUtils.tuple(formatUtils.Type.NO_HINT, `${formatUtils.pretty(configuration, err.request.retryCount, formatUtils.Type.NUMBER)} (can be increased via ${formatUtils.pretty(configuration, `httpRetry`, formatUtils.Type.SETTING)})`)
            })}`);
          }
        });
        networkError.originalError = err;
        throw networkError;
      }
    }
    function getNetworkSettings(target, opts) {
      const networkSettings = [...opts.configuration.get(`networkSettings`)].sort(([keyA], [keyB]) => {
        return keyB.length - keyA.length;
      });
      const mergedNetworkSettings = {
        enableNetwork: void 0,
        httpsCaFilePath: void 0,
        httpProxy: void 0,
        httpsProxy: void 0,
        httpsKeyFilePath: void 0,
        httpsCertFilePath: void 0
      };
      const mergableKeys = Object.keys(mergedNetworkSettings);
      const url = typeof target === `string` ? new URL(target) : target;
      for (const [glob, config] of networkSettings) {
        if (micromatch_12.default.isMatch(url.hostname, glob)) {
          for (const key of mergableKeys) {
            const setting = config.get(key);
            if (setting !== null && typeof mergedNetworkSettings[key] === `undefined`) {
              mergedNetworkSettings[key] = setting;
            }
          }
        }
      }
      for (const key of mergableKeys)
        if (typeof mergedNetworkSettings[key] === `undefined`)
          mergedNetworkSettings[key] = opts.configuration.get(key);
      return mergedNetworkSettings;
    }
    var Method;
    (function(Method2) {
      Method2["GET"] = "GET";
      Method2["PUT"] = "PUT";
      Method2["POST"] = "POST";
      Method2["DELETE"] = "DELETE";
    })(Method || (exports2.Method = Method = {}));
    async function request(target, body, { configuration, headers, jsonRequest, jsonResponse, method = Method.GET, wrapNetworkRequest }) {
      const options = { target, body, configuration, headers, jsonRequest, jsonResponse, method };
      const realRequest = async () => await requestImpl(target, body, options);
      const wrappedRequest = typeof wrapNetworkRequest !== `undefined` ? await wrapNetworkRequest(realRequest, options) : realRequest;
      const executor = await configuration.reduceHook((hooks) => {
        return hooks.wrapNetworkRequest;
      }, wrappedRequest, options);
      return await executor();
    }
    async function get(target, { configuration, jsonResponse, customErrorMessage, wrapNetworkRequest, ...rest }) {
      const runRequest = () => prettyNetworkError(request(target, null, { configuration, wrapNetworkRequest, ...rest }), { configuration, customErrorMessage }).then((response) => response.body);
      const entry = await (typeof wrapNetworkRequest !== `undefined` ? runRequest() : miscUtils.getFactoryWithDefault(cache, target, () => {
        return runRequest().then((body) => {
          cache.set(target, body);
          return body;
        });
      }));
      if (jsonResponse) {
        return JSON.parse(entry.toString());
      } else {
        return entry;
      }
    }
    async function put(target, body, { customErrorMessage, ...options }) {
      const response = await prettyNetworkError(request(target, body, { ...options, method: Method.PUT }), { customErrorMessage, configuration: options.configuration });
      return response.body;
    }
    async function post(target, body, { customErrorMessage, ...options }) {
      const response = await prettyNetworkError(request(target, body, { ...options, method: Method.POST }), { customErrorMessage, configuration: options.configuration });
      return response.body;
    }
    async function del(target, { customErrorMessage, ...options }) {
      const response = await prettyNetworkError(request(target, null, { ...options, method: Method.DELETE }), { customErrorMessage, configuration: options.configuration });
      return response.body;
    }
    async function requestImpl(target, body, { configuration, headers, jsonRequest, jsonResponse, method = Method.GET }) {
      const url = typeof target === `string` ? new URL(target) : target;
      const networkConfig = getNetworkSettings(url, { configuration });
      if (networkConfig.enableNetwork === false)
        throw new Report_1.ReportError(MessageName_1.MessageName.NETWORK_DISABLED, `Request to '${url.href}' has been blocked because of your configuration settings`);
      if (url.protocol === `http:` && !micromatch_12.default.isMatch(url.hostname, configuration.get(`unsafeHttpWhitelist`)))
        throw new Report_1.ReportError(MessageName_1.MessageName.NETWORK_UNSAFE_HTTP, `Unsafe http requests must be explicitly whitelisted in your configuration (${url.hostname})`);
      const agent = {
        http: networkConfig.httpProxy ? tunnel_1.default.httpOverHttp(parseProxy(networkConfig.httpProxy)) : globalHttpAgent,
        https: networkConfig.httpsProxy ? tunnel_1.default.httpsOverHttp(parseProxy(networkConfig.httpsProxy)) : globalHttpsAgent
      };
      const gotOptions = { agent, headers, method };
      gotOptions.responseType = jsonResponse ? `json` : `buffer`;
      if (body !== null) {
        if (Buffer.isBuffer(body) || !jsonRequest && typeof body === `string`) {
          gotOptions.body = body;
        } else {
          gotOptions.json = body;
        }
      }
      const socketTimeout = configuration.get(`httpTimeout`);
      const retry = configuration.get(`httpRetry`);
      const rejectUnauthorized = configuration.get(`enableStrictSsl`);
      const httpsCaFilePath = networkConfig.httpsCaFilePath;
      const httpsCertFilePath = networkConfig.httpsCertFilePath;
      const httpsKeyFilePath = networkConfig.httpsKeyFilePath;
      const { default: got } = await Promise.resolve().then(() => tslib_12.__importStar(require_source7()));
      const certificateAuthority = httpsCaFilePath ? await getCachedFile(httpsCaFilePath) : void 0;
      const certificate = httpsCertFilePath ? await getCachedFile(httpsCertFilePath) : void 0;
      const key = httpsKeyFilePath ? await getCachedFile(httpsKeyFilePath) : void 0;
      const gotClient = got.extend({
        timeout: {
          socket: socketTimeout
        },
        retry,
        https: {
          rejectUnauthorized,
          certificateAuthority,
          certificate,
          key
        },
        ...gotOptions
      });
      return configuration.getLimit(`networkConcurrency`)(() => {
        return gotClient(url);
      });
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/nodeUtils.js
var require_nodeUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/nodeUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.openUrl = exports2.major = void 0;
    exports2.getArchitecture = getArchitecture;
    exports2.getArchitectureName = getArchitectureName;
    exports2.getArchitectureSet = getArchitectureSet;
    exports2.getCaller = getCaller;
    exports2.availableParallelism = availableParallelism;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var os_1 = tslib_12.__importDefault(require("os"));
    var execUtils = tslib_12.__importStar(require_execUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    exports2.major = Number(process.versions.node.split(`.`)[0]);
    var openUrlBinary = (/* @__PURE__ */ new Map([
      [`darwin`, `open`],
      [`linux`, `xdg-open`],
      [`win32`, `explorer.exe`]
    ])).get(process.platform);
    exports2.openUrl = typeof openUrlBinary !== `undefined` ? async (url) => {
      try {
        await execUtils.execvp(openUrlBinary, [url], { cwd: fslib_12.ppath.cwd() });
        return true;
      } catch {
        return false;
      }
    } : void 0;
    var LDD_PATH = `/usr/bin/ldd`;
    function getLibc() {
      if (process.platform === `darwin` || process.platform === `win32`)
        return null;
      let header;
      try {
        header = fslib_12.xfs.readFileSync(LDD_PATH);
      } catch {
      }
      if (typeof header !== `undefined`) {
        if (header && (header.includes(`GLIBC`) || header.includes(`libc`)))
          return `glibc`;
        if (header && header.includes(`musl`)) {
          return `musl`;
        }
      }
      const report = process.report?.getReport() ?? {};
      const sharedObjects = report.sharedObjects ?? [];
      const libcRegExp = /\/(?:(ld-linux-|[^/]+-linux-gnu\/)|(libc.musl-|ld-musl-))/;
      return miscUtils.mapAndFind(sharedObjects, (entry) => {
        const match = entry.match(libcRegExp);
        if (!match)
          return miscUtils.mapAndFind.skip;
        if (match[1])
          return `glibc`;
        if (match[2])
          return `musl`;
        throw new Error(`Assertion failed: Expected the libc variant to have been detected`);
      }) ?? null;
    }
    var architecture;
    var architectureSet;
    function getArchitecture() {
      return architecture = architecture ?? {
        os: process.platform,
        cpu: process.arch,
        libc: getLibc()
      };
    }
    function getArchitectureName(architecture2 = getArchitecture()) {
      if (architecture2.libc) {
        return `${architecture2.os}-${architecture2.cpu}-${architecture2.libc}`;
      } else {
        return `${architecture2.os}-${architecture2.cpu}`;
      }
    }
    function getArchitectureSet() {
      const architecture2 = getArchitecture();
      return architectureSet = architectureSet ?? {
        os: [architecture2.os],
        cpu: [architecture2.cpu],
        libc: architecture2.libc ? [architecture2.libc] : []
      };
    }
    var chromeRe = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
    var chromeEvalRe = /\((\S*)(?::(\d+))(?::(\d+))\)/;
    function parseStackLine(line) {
      const parts = chromeRe.exec(line);
      if (!parts)
        return null;
      const isNative = parts[2] && parts[2].indexOf(`native`) === 0;
      const isEval = parts[2] && parts[2].indexOf(`eval`) === 0;
      const submatch = chromeEvalRe.exec(parts[2]);
      if (isEval && submatch != null) {
        parts[2] = submatch[1];
        parts[3] = submatch[2];
        parts[4] = submatch[3];
      }
      return {
        file: !isNative ? parts[2] : null,
        methodName: parts[1] || `<unknown>`,
        arguments: isNative ? [parts[2]] : [],
        line: parts[3] ? +parts[3] : null,
        column: parts[4] ? +parts[4] : null
      };
    }
    function getCaller() {
      const err = new Error();
      const line = err.stack.split(`
`)[3];
      return parseStackLine(line);
    }
    function availableParallelism() {
      if (typeof os_1.default.availableParallelism !== `undefined`)
        return os_1.default.availableParallelism();
      return Math.max(1, os_1.default.cpus().length);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Configuration.js
var require_Configuration = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Configuration.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Configuration = exports2.coreDefinitions = exports2.WindowsLinkType = exports2.FormatType = exports2.SettingsType = exports2.SECRET = exports2.DEFAULT_RC_FILENAME = exports2.ENVIRONMENT_PREFIX = exports2.TAG_REGEXP = exports2.LEGACY_PLUGINS = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var parsers_1 = require_lib67();
    var camelcase_1 = tslib_12.__importDefault(require_camelcase2());
    var ci_info_1 = require_ci_info();
    var clipanion_12 = require_advanced();
    var dotenv_1 = require_main2();
    var module_1 = require("module");
    var p_limit_12 = tslib_12.__importDefault(require_p_limit2());
    var stream_12 = require("stream");
    var CorePlugin_1 = require_CorePlugin();
    var Manifest_1 = require_Manifest();
    var MultiFetcher_1 = require_MultiFetcher();
    var MultiResolver_1 = require_MultiResolver();
    var VirtualFetcher_1 = require_VirtualFetcher();
    var VirtualResolver_1 = require_VirtualResolver();
    var WorkspaceFetcher_1 = require_WorkspaceFetcher();
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    var configUtils = tslib_12.__importStar(require_configUtils());
    var folderUtils = tslib_12.__importStar(require_folderUtils());
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var httpUtils = tslib_12.__importStar(require_httpUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var nodeUtils = tslib_12.__importStar(require_nodeUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var types_1 = require_types8();
    var isPublicRepository = function() {
      if (!ci_info_1.GITHUB_ACTIONS || !process.env.GITHUB_EVENT_PATH)
        return false;
      const githubEventPath = fslib_12.npath.toPortablePath(process.env.GITHUB_EVENT_PATH);
      let data;
      try {
        data = fslib_12.xfs.readJsonSync(githubEventPath);
      } catch {
        return false;
      }
      if (!(`repository` in data) || !data.repository)
        return false;
      if (data.repository.private ?? true)
        return false;
      return true;
    }();
    exports2.LEGACY_PLUGINS = /* @__PURE__ */ new Set([
      `@yarnpkg/plugin-constraints`,
      `@yarnpkg/plugin-exec`,
      `@yarnpkg/plugin-interactive-tools`,
      `@yarnpkg/plugin-stage`,
      `@yarnpkg/plugin-typescript`,
      `@yarnpkg/plugin-version`,
      `@yarnpkg/plugin-workspace-tools`
    ]);
    var IGNORED_ENV_VARIABLES = /* @__PURE__ */ new Set([
      // Used by our test environment
      `isTestEnv`,
      `injectNpmUser`,
      `injectNpmPassword`,
      `injectNpm2FaToken`,
      `zipDataEpilogue`,
      `cacheCheckpointOverride`,
      `cacheVersionOverride`,
      `lockfileVersionOverride`,
      // "binFolder" is the magic location where the parent process stored the
      // current binaries; not an actual configuration settings
      `binFolder`,
      // "version" is set by Docker:
      // https://github.com/nodejs/docker-node/blob/5a6a5e91999358c5b04fddd6c22a9a4eb0bf3fbf/10/alpine/Dockerfile#L51
      `version`,
      // "flags" is set by Netlify; they use it to specify the flags to send to the
      // CLI when running the automatic `yarn install`
      `flags`,
      // "gpg" and "profile" are used by the install.sh script:
      // https://classic.yarnpkg.com/install.sh
      `profile`,
      `gpg`,
      // "ignoreNode" is used to disable the Node version check
      `ignoreNode`,
      // "wrapOutput" was a variable used to indicate nested "yarn run" processes
      // back in Yarn 1.
      `wrapOutput`,
      // "YARN_HOME" and "YARN_CONF_DIR" may be present as part of the unrelated "Apache Hadoop YARN" software project.
      // https://hadoop.apache.org/docs/r0.23.11/hadoop-project-dist/hadoop-common/SingleCluster.html
      `home`,
      `confDir`,
      // "YARN_REGISTRY", read by yarn 1.x, prevents yarn 2+ installations if set
      `registry`,
      // "ignoreCwd" was previously used to skip extra chdir calls in Yarn Modern when `--cwd` was used.
      // It needs to be ignored because it's set by the parent process which could be anything.
      `ignoreCwd`
    ]);
    exports2.TAG_REGEXP = /^(?!v)[a-z0-9._-]+$/i;
    exports2.ENVIRONMENT_PREFIX = `yarn_`;
    exports2.DEFAULT_RC_FILENAME = `.yarnrc.yml`;
    exports2.SECRET = `********`;
    var SettingsType;
    (function(SettingsType2) {
      SettingsType2["ANY"] = "ANY";
      SettingsType2["BOOLEAN"] = "BOOLEAN";
      SettingsType2["ABSOLUTE_PATH"] = "ABSOLUTE_PATH";
      SettingsType2["LOCATOR"] = "LOCATOR";
      SettingsType2["LOCATOR_LOOSE"] = "LOCATOR_LOOSE";
      SettingsType2["NUMBER"] = "NUMBER";
      SettingsType2["STRING"] = "STRING";
      SettingsType2["SECRET"] = "SECRET";
      SettingsType2["SHAPE"] = "SHAPE";
      SettingsType2["MAP"] = "MAP";
    })(SettingsType || (exports2.SettingsType = SettingsType = {}));
    exports2.FormatType = formatUtils.Type;
    var WindowsLinkType;
    (function(WindowsLinkType2) {
      WindowsLinkType2["JUNCTIONS"] = "junctions";
      WindowsLinkType2["SYMLINKS"] = "symlinks";
    })(WindowsLinkType || (exports2.WindowsLinkType = WindowsLinkType = {}));
    exports2.coreDefinitions = {
      // Not implemented for now, but since it's part of all Yarn installs we want to declare it in order to improve drop-in compatibility
      lastUpdateCheck: {
        description: `Last timestamp we checked whether new Yarn versions were available`,
        type: SettingsType.STRING,
        default: null
      },
      // Settings related to proxying all Yarn calls to a specific executable
      yarnPath: {
        description: `Path to the local executable that must be used over the global one`,
        type: SettingsType.ABSOLUTE_PATH,
        default: null
      },
      ignorePath: {
        description: `If true, the local executable will be ignored when using the global one`,
        type: SettingsType.BOOLEAN,
        default: false
      },
      // Settings related to the package manager internal names
      globalFolder: {
        description: `Folder where all system-global files are stored`,
        type: SettingsType.ABSOLUTE_PATH,
        default: folderUtils.getDefaultGlobalFolder()
      },
      cacheFolder: {
        description: `Folder where the cache files must be written`,
        type: SettingsType.ABSOLUTE_PATH,
        default: `./.yarn/cache`
      },
      compressionLevel: {
        description: `Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)`,
        type: SettingsType.NUMBER,
        values: [`mixed`, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
        default: 0
      },
      virtualFolder: {
        description: `Folder where the virtual packages (cf doc) will be mapped on the disk (must be named __virtual__)`,
        type: SettingsType.ABSOLUTE_PATH,
        default: `./.yarn/__virtual__`
      },
      installStatePath: {
        description: `Path of the file where the install state will be persisted`,
        type: SettingsType.ABSOLUTE_PATH,
        default: `./.yarn/install-state.gz`
      },
      immutablePatterns: {
        description: `Array of glob patterns; files matching them won't be allowed to change during immutable installs`,
        type: SettingsType.STRING,
        default: [],
        isArray: true
      },
      rcFilename: {
        description: `Name of the files where the configuration can be found`,
        type: SettingsType.STRING,
        default: getRcFilename()
      },
      enableGlobalCache: {
        description: `If true, the system-wide cache folder will be used regardless of \`cache-folder\``,
        type: SettingsType.BOOLEAN,
        default: true
      },
      cacheMigrationMode: {
        description: `Defines the conditions under which Yarn upgrades should cause the cache archives to be regenerated.`,
        type: SettingsType.STRING,
        values: [`always`, `match-spec`, `required-only`],
        default: `always`
      },
      // Settings related to the output style
      enableColors: {
        description: `If true, the CLI is allowed to use colors in its output`,
        type: SettingsType.BOOLEAN,
        default: formatUtils.supportsColor,
        defaultText: `<dynamic>`
      },
      enableHyperlinks: {
        description: `If true, the CLI is allowed to use hyperlinks in its output`,
        type: SettingsType.BOOLEAN,
        default: formatUtils.supportsHyperlinks,
        defaultText: `<dynamic>`
      },
      enableInlineBuilds: {
        description: `If true, the CLI will print the build output on the command line`,
        type: SettingsType.BOOLEAN,
        default: ci_info_1.isCI,
        defaultText: `<dynamic>`
      },
      enableMessageNames: {
        description: `If true, the CLI will prefix most messages with codes suitable for search engines`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableProgressBars: {
        description: `If true, the CLI is allowed to show a progress bar for long-running events`,
        type: SettingsType.BOOLEAN,
        default: !ci_info_1.isCI,
        defaultText: `<dynamic>`
      },
      enableTimers: {
        description: `If true, the CLI is allowed to print the time spent executing commands`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableTips: {
        description: `If true, installs will print a helpful message every day of the week`,
        type: SettingsType.BOOLEAN,
        default: !ci_info_1.isCI,
        defaultText: `<dynamic>`
      },
      preferInteractive: {
        description: `If true, the CLI will automatically use the interactive mode when called from a TTY`,
        type: SettingsType.BOOLEAN,
        default: false
      },
      preferTruncatedLines: {
        description: `If true, the CLI will truncate lines that would go beyond the size of the terminal`,
        type: SettingsType.BOOLEAN,
        default: false
      },
      progressBarStyle: {
        description: `Which style of progress bar should be used (only when progress bars are enabled)`,
        type: SettingsType.STRING,
        default: void 0,
        defaultText: `<dynamic>`
      },
      // Settings related to how packages are interpreted by default
      defaultLanguageName: {
        description: `Default language mode that should be used when a package doesn't offer any insight`,
        type: SettingsType.STRING,
        default: `node`
      },
      defaultProtocol: {
        description: `Default resolution protocol used when resolving pure semver and tag ranges`,
        type: SettingsType.STRING,
        default: `npm:`
      },
      enableTransparentWorkspaces: {
        description: `If false, Yarn won't automatically resolve workspace dependencies unless they use the \`workspace:\` protocol`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      supportedArchitectures: {
        description: `Architectures that Yarn will fetch and inject into the resolver`,
        type: SettingsType.SHAPE,
        properties: {
          os: {
            description: `Array of supported process.platform strings, or null to target them all`,
            type: SettingsType.STRING,
            isArray: true,
            isNullable: true,
            default: [`current`]
          },
          cpu: {
            description: `Array of supported process.arch strings, or null to target them all`,
            type: SettingsType.STRING,
            isArray: true,
            isNullable: true,
            default: [`current`]
          },
          libc: {
            description: `Array of supported libc libraries, or null to target them all`,
            type: SettingsType.STRING,
            isArray: true,
            isNullable: true,
            default: [`current`]
          }
        }
      },
      // Settings related to network access
      enableMirror: {
        description: `If true, the downloaded packages will be retrieved and stored in both the local and global folders`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableNetwork: {
        description: `If false, Yarn will refuse to use the network if required to`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableOfflineMode: {
        description: `If true, Yarn will attempt to retrieve files and metadata from the global cache rather than the network`,
        type: SettingsType.BOOLEAN,
        default: false
      },
      httpProxy: {
        description: `URL of the http proxy that must be used for outgoing http requests`,
        type: SettingsType.STRING,
        default: null
      },
      httpsProxy: {
        description: `URL of the http proxy that must be used for outgoing https requests`,
        type: SettingsType.STRING,
        default: null
      },
      unsafeHttpWhitelist: {
        description: `List of the hostnames for which http queries are allowed (glob patterns are supported)`,
        type: SettingsType.STRING,
        default: [],
        isArray: true
      },
      httpTimeout: {
        description: `Timeout of each http request in milliseconds`,
        type: SettingsType.NUMBER,
        default: 6e4
      },
      httpRetry: {
        description: `Retry times on http failure`,
        type: SettingsType.NUMBER,
        default: 3
      },
      networkConcurrency: {
        description: `Maximal number of concurrent requests`,
        type: SettingsType.NUMBER,
        default: 50
      },
      taskPoolConcurrency: {
        description: `Maximal amount of concurrent heavy task processing`,
        type: SettingsType.NUMBER,
        default: nodeUtils.availableParallelism()
      },
      taskPoolMode: {
        description: `Execution strategy for heavy tasks`,
        type: SettingsType.STRING,
        values: [`async`, `workers`],
        default: `workers`
      },
      networkSettings: {
        description: `Network settings per hostname (glob patterns are supported)`,
        type: SettingsType.MAP,
        valueDefinition: {
          description: ``,
          type: SettingsType.SHAPE,
          properties: {
            httpsCaFilePath: {
              description: `Path to file containing one or multiple Certificate Authority signing certificates`,
              type: SettingsType.ABSOLUTE_PATH,
              default: null
            },
            enableNetwork: {
              description: `If false, the package manager will refuse to use the network if required to`,
              type: SettingsType.BOOLEAN,
              default: null
            },
            httpProxy: {
              description: `URL of the http proxy that must be used for outgoing http requests`,
              type: SettingsType.STRING,
              default: null
            },
            httpsProxy: {
              description: `URL of the http proxy that must be used for outgoing https requests`,
              type: SettingsType.STRING,
              default: null
            },
            httpsKeyFilePath: {
              description: `Path to file containing private key in PEM format`,
              type: SettingsType.ABSOLUTE_PATH,
              default: null
            },
            httpsCertFilePath: {
              description: `Path to file containing certificate chain in PEM format`,
              type: SettingsType.ABSOLUTE_PATH,
              default: null
            }
          }
        }
      },
      httpsCaFilePath: {
        description: `A path to a file containing one or multiple Certificate Authority signing certificates`,
        type: SettingsType.ABSOLUTE_PATH,
        default: null
      },
      httpsKeyFilePath: {
        description: `Path to file containing private key in PEM format`,
        type: SettingsType.ABSOLUTE_PATH,
        default: null
      },
      httpsCertFilePath: {
        description: `Path to file containing certificate chain in PEM format`,
        type: SettingsType.ABSOLUTE_PATH,
        default: null
      },
      enableStrictSsl: {
        description: `If false, SSL certificate errors will be ignored`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      logFilters: {
        description: `Overrides for log levels`,
        type: SettingsType.SHAPE,
        isArray: true,
        concatenateValues: true,
        properties: {
          code: {
            description: `Code of the messages covered by this override`,
            type: SettingsType.STRING,
            default: void 0
          },
          text: {
            description: `Code of the texts covered by this override`,
            type: SettingsType.STRING,
            default: void 0
          },
          pattern: {
            description: `Code of the patterns covered by this override`,
            type: SettingsType.STRING,
            default: void 0
          },
          level: {
            description: `Log level override, set to null to remove override`,
            type: SettingsType.STRING,
            values: Object.values(formatUtils.LogLevel),
            isNullable: true,
            default: void 0
          }
        }
      },
      // Settings related to telemetry
      enableTelemetry: {
        description: `If true, telemetry will be periodically sent, following the rules in https://yarnpkg.com/advanced/telemetry`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      telemetryInterval: {
        description: `Minimal amount of time between two telemetry uploads, in days`,
        type: SettingsType.NUMBER,
        default: 7
      },
      telemetryUserId: {
        description: `If you desire to tell us which project you are, you can set this field. Completely optional and opt-in.`,
        type: SettingsType.STRING,
        default: null
      },
      // Settings related to security
      enableHardenedMode: {
        description: `If true, automatically enable --check-resolutions --refresh-lockfile on installs`,
        type: SettingsType.BOOLEAN,
        default: ci_info_1.isPR && isPublicRepository,
        defaultText: `<true on public PRs>`
      },
      enableScripts: {
        description: `If true, packages are allowed to have install scripts by default`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableStrictSettings: {
        description: `If true, unknown settings will cause Yarn to abort`,
        type: SettingsType.BOOLEAN,
        default: true
      },
      enableImmutableCache: {
        description: `If true, the cache is reputed immutable and actions that would modify it will throw`,
        type: SettingsType.BOOLEAN,
        default: false
      },
      checksumBehavior: {
        description: `Enumeration defining what to do when a checksum doesn't match expectations`,
        type: SettingsType.STRING,
        default: `throw`
      },
      // Miscellaneous settings
      injectEnvironmentFiles: {
        description: `List of all the environment files that Yarn should inject inside the process when it starts`,
        type: SettingsType.ABSOLUTE_PATH,
        default: [`.env.yarn?`],
        isArray: true
      },
      // Package patching - to fix incorrect definitions
      packageExtensions: {
        description: `Map of package corrections to apply on the dependency tree`,
        type: SettingsType.MAP,
        valueDefinition: {
          description: `The extension that will be applied to any package whose version matches the specified range`,
          type: SettingsType.SHAPE,
          properties: {
            dependencies: {
              description: `The set of dependencies that must be made available to the current package in order for it to work properly`,
              type: SettingsType.MAP,
              valueDefinition: {
                description: `A range`,
                type: SettingsType.STRING
              }
            },
            peerDependencies: {
              description: `Inherited dependencies - the consumer of the package will be tasked to provide them`,
              type: SettingsType.MAP,
              valueDefinition: {
                description: `A semver range`,
                type: SettingsType.STRING
              }
            },
            peerDependenciesMeta: {
              description: `Extra information related to the dependencies listed in the peerDependencies field`,
              type: SettingsType.MAP,
              valueDefinition: {
                description: `The peerDependency meta`,
                type: SettingsType.SHAPE,
                properties: {
                  optional: {
                    description: `If true, the selected peer dependency will be marked as optional by the package manager and the consumer omitting it won't be reported as an error`,
                    type: SettingsType.BOOLEAN,
                    default: false
                  }
                }
              }
            }
          }
        }
      }
    };
    function parseValue(configuration, path2, valueBase, definition, folder) {
      const value = configUtils.getValue(valueBase);
      if (definition.isArray || definition.type === SettingsType.ANY && Array.isArray(value)) {
        if (!Array.isArray(value)) {
          return String(value).split(/,/).map((segment) => {
            return parseSingleValue(configuration, path2, segment, definition, folder);
          });
        } else {
          return value.map((sub, i) => parseSingleValue(configuration, `${path2}[${i}]`, sub, definition, folder));
        }
      } else {
        if (Array.isArray(value)) {
          throw new Error(`Non-array configuration settings "${path2}" cannot be an array`);
        } else {
          return parseSingleValue(configuration, path2, valueBase, definition, folder);
        }
      }
    }
    function parseSingleValue(configuration, path2, valueBase, definition, folder) {
      const value = configUtils.getValue(valueBase);
      switch (definition.type) {
        case SettingsType.ANY:
          return configUtils.getValueByTree(value);
        case SettingsType.SHAPE:
          return parseShape(configuration, path2, valueBase, definition, folder);
        case SettingsType.MAP:
          return parseMap(configuration, path2, valueBase, definition, folder);
      }
      if (value === null && !definition.isNullable && definition.default !== null)
        throw new Error(`Non-nullable configuration settings "${path2}" cannot be set to null`);
      if (definition.values?.includes(value))
        return value;
      const interpretValue = () => {
        if (definition.type === SettingsType.BOOLEAN && typeof value !== `string`)
          return miscUtils.parseBoolean(value);
        if (typeof value !== `string`)
          throw new Error(`Expected configuration setting "${path2}" to be a string, got ${typeof value}`);
        const valueWithReplacedVariables = miscUtils.replaceEnvVariables(value, {
          env: configuration.env
        });
        switch (definition.type) {
          case SettingsType.ABSOLUTE_PATH: {
            let cwd = folder;
            const source = configUtils.getSource(valueBase);
            if (source && source[0] !== `<`)
              cwd = fslib_12.ppath.dirname(source);
            return fslib_12.ppath.resolve(cwd, fslib_12.npath.toPortablePath(valueWithReplacedVariables));
          }
          case SettingsType.LOCATOR_LOOSE:
            return structUtils.parseLocator(valueWithReplacedVariables, false);
          case SettingsType.NUMBER:
            return parseInt(valueWithReplacedVariables);
          case SettingsType.LOCATOR:
            return structUtils.parseLocator(valueWithReplacedVariables);
          case SettingsType.BOOLEAN:
            return miscUtils.parseBoolean(valueWithReplacedVariables);
          default:
            return valueWithReplacedVariables;
        }
      };
      const interpreted = interpretValue();
      if (definition.values && !definition.values.includes(interpreted))
        throw new Error(`Invalid value, expected one of ${definition.values.join(`, `)}`);
      return interpreted;
    }
    function parseShape(configuration, path2, valueBase, definition, folder) {
      const value = configUtils.getValue(valueBase);
      if (typeof value !== `object` || Array.isArray(value))
        throw new clipanion_12.UsageError(`Object configuration settings "${path2}" must be an object`);
      const result2 = getDefaultValue(configuration, definition, {
        ignoreArrays: true
      });
      if (value === null)
        return result2;
      for (const [propKey, propValue] of Object.entries(value)) {
        const subPath = `${path2}.${propKey}`;
        const subDefinition = definition.properties[propKey];
        if (!subDefinition)
          throw new clipanion_12.UsageError(`Unrecognized configuration settings found: ${path2}.${propKey} - run "yarn config -v" to see the list of settings supported in Yarn`);
        result2.set(propKey, parseValue(configuration, subPath, propValue, definition.properties[propKey], folder));
      }
      return result2;
    }
    function parseMap(configuration, path2, valueBase, definition, folder) {
      const value = configUtils.getValue(valueBase);
      const result2 = /* @__PURE__ */ new Map();
      if (typeof value !== `object` || Array.isArray(value))
        throw new clipanion_12.UsageError(`Map configuration settings "${path2}" must be an object`);
      if (value === null)
        return result2;
      for (const [propKey, propValue] of Object.entries(value)) {
        const normalizedKey = definition.normalizeKeys ? definition.normalizeKeys(propKey) : propKey;
        const subPath = `${path2}['${normalizedKey}']`;
        const valueDefinition = definition.valueDefinition;
        result2.set(normalizedKey, parseValue(configuration, subPath, propValue, valueDefinition, folder));
      }
      return result2;
    }
    function getDefaultValue(configuration, definition, { ignoreArrays = false } = {}) {
      switch (definition.type) {
        case SettingsType.SHAPE: {
          if (definition.isArray && !ignoreArrays)
            return [];
          const result2 = /* @__PURE__ */ new Map();
          for (const [propKey, propDefinition] of Object.entries(definition.properties))
            result2.set(propKey, getDefaultValue(configuration, propDefinition));
          return result2;
        }
        case SettingsType.MAP: {
          if (definition.isArray && !ignoreArrays)
            return [];
          return /* @__PURE__ */ new Map();
        }
        case SettingsType.ABSOLUTE_PATH: {
          if (definition.default === null)
            return null;
          if (configuration.projectCwd === null) {
            if (Array.isArray(definition.default)) {
              return definition.default.map((entry) => fslib_12.ppath.normalize(entry));
            } else if (fslib_12.ppath.isAbsolute(definition.default)) {
              return fslib_12.ppath.normalize(definition.default);
            } else if (definition.isNullable) {
              return null;
            } else {
              return void 0;
            }
          } else {
            if (Array.isArray(definition.default)) {
              return definition.default.map((entry) => fslib_12.ppath.resolve(configuration.projectCwd, entry));
            } else {
              return fslib_12.ppath.resolve(configuration.projectCwd, definition.default);
            }
          }
        }
        default: {
          return definition.default;
        }
      }
    }
    function transformConfiguration(rawValue, definition, transforms) {
      if (definition.type === SettingsType.SECRET && typeof rawValue === `string` && transforms.hideSecrets)
        return exports2.SECRET;
      if (definition.type === SettingsType.ABSOLUTE_PATH && typeof rawValue === `string` && transforms.getNativePaths)
        return fslib_12.npath.fromPortablePath(rawValue);
      if (definition.isArray && Array.isArray(rawValue)) {
        const newValue = [];
        for (const value of rawValue)
          newValue.push(transformConfiguration(value, definition, transforms));
        return newValue;
      }
      if (definition.type === SettingsType.MAP && rawValue instanceof Map) {
        if (rawValue.size === 0)
          return void 0;
        const newValue = /* @__PURE__ */ new Map();
        for (const [key, value] of rawValue.entries()) {
          const transformedValue = transformConfiguration(value, definition.valueDefinition, transforms);
          if (typeof transformedValue !== `undefined`) {
            newValue.set(key, transformedValue);
          }
        }
        return newValue;
      }
      if (definition.type === SettingsType.SHAPE && rawValue instanceof Map) {
        if (rawValue.size === 0)
          return void 0;
        const newValue = /* @__PURE__ */ new Map();
        for (const [key, value] of rawValue.entries()) {
          const propertyDefinition = definition.properties[key];
          const transformedValue = transformConfiguration(value, propertyDefinition, transforms);
          if (typeof transformedValue !== `undefined`) {
            newValue.set(key, transformedValue);
          }
        }
        return newValue;
      }
      return rawValue;
    }
    function getEnvironmentSettings() {
      const environmentSettings = {};
      for (let [key, value] of Object.entries(process.env)) {
        key = key.toLowerCase();
        if (!key.startsWith(exports2.ENVIRONMENT_PREFIX))
          continue;
        key = (0, camelcase_1.default)(key.slice(exports2.ENVIRONMENT_PREFIX.length));
        environmentSettings[key] = value;
      }
      return environmentSettings;
    }
    function getRcFilename() {
      const rcKey = `${exports2.ENVIRONMENT_PREFIX}rc_filename`;
      for (const [key, value] of Object.entries(process.env))
        if (key.toLowerCase() === rcKey && typeof value === `string`)
          return value;
      return exports2.DEFAULT_RC_FILENAME;
    }
    async function tryRead(p) {
      try {
        return await fslib_12.xfs.readFilePromise(p);
      } catch {
        return Buffer.of();
      }
    }
    async function isSameBinaryContent(a, b) {
      return Buffer.compare(...await Promise.all([
        tryRead(a),
        tryRead(b)
      ])) === 0;
    }
    async function isSameBinaryInode(a, b) {
      const [aStat, bStat] = await Promise.all([
        fslib_12.xfs.statPromise(a),
        fslib_12.xfs.statPromise(b)
      ]);
      return aStat.dev === bStat.dev && aStat.ino === bStat.ino;
    }
    var isSameBinary = process.platform === `win32` ? isSameBinaryContent : isSameBinaryInode;
    async function checkYarnPath({ configuration, selfPath }) {
      const yarnPath = configuration.get(`yarnPath`);
      const ignorePath = configuration.get(`ignorePath`);
      if (ignorePath || yarnPath === null || yarnPath === selfPath)
        return null;
      if (await isSameBinary(yarnPath, selfPath))
        return null;
      return yarnPath;
    }
    var Configuration = class _Configuration {
      static create(startingCwd, projectCwdOrPlugins, maybePlugins) {
        const configuration = new _Configuration(startingCwd);
        if (typeof projectCwdOrPlugins !== `undefined` && !(projectCwdOrPlugins instanceof Map))
          configuration.projectCwd = projectCwdOrPlugins;
        configuration.importSettings(exports2.coreDefinitions);
        const plugins = typeof maybePlugins !== `undefined` ? maybePlugins : projectCwdOrPlugins instanceof Map ? projectCwdOrPlugins : /* @__PURE__ */ new Map();
        for (const [name, plugin] of plugins)
          configuration.activatePlugin(name, plugin);
        return configuration;
      }
      /**
       * Instantiate a new configuration object exposing the configuration obtained
       * from reading the various rc files and the environment settings.
       *
       * The `pluginConfiguration` parameter is expected to indicate:
       *
       * 1. which modules should be made available to plugins when they require a
       *    package (this is the dynamic linking part - for example we want all the
       *    plugins to use the exact same version of @yarnpkg/core, which also is the
       *    version used by the running Yarn instance).
       *
       * 2. which of those modules are actually plugins that need to be injected
       *    within the configuration.
       *
       * Note that some extra plugins will be automatically added based on the
       * content of the rc files - with the rc plugins taking precedence over
       * the other ones.
       *
       * One particularity: the plugin initialization order is quite strict, with
       * plugins listed in /foo/bar/.yarnrc.yml taking precedence over plugins
       * listed in /foo/.yarnrc.yml and /.yarnrc.yml. Additionally, while plugins
       * can depend on one another, they can only depend on plugins that have been
       * instantiated before them (so a plugin listed in /foo/.yarnrc.yml can
       * depend on another one listed on /foo/bar/.yarnrc.yml, but not the other
       * way around).
       */
      static async find(startingCwd, pluginConfiguration, { strict = true, usePathCheck = null, useRc = true } = {}) {
        const environmentSettings = getEnvironmentSettings();
        delete environmentSettings.rcFilename;
        const configuration = new _Configuration(startingCwd);
        const rcFiles = await _Configuration.findRcFiles(startingCwd);
        const homeRcFile = await _Configuration.findFolderRcFile(folderUtils.getHomeFolder());
        if (homeRcFile) {
          const rcFile = rcFiles.find((rcFile2) => rcFile2.path === homeRcFile.path);
          if (!rcFile) {
            rcFiles.unshift(homeRcFile);
          }
        }
        const resolvedRcFile = configUtils.resolveRcFiles(rcFiles.map((rcFile) => [rcFile.path, rcFile.data]));
        const resolvedRcFileCwd = fslib_12.PortablePath.dot;
        const allCoreFieldKeys = new Set(Object.keys(exports2.coreDefinitions));
        const pickPrimaryCoreFields = ({ yarnPath, ignorePath, injectEnvironmentFiles }) => ({ yarnPath, ignorePath, injectEnvironmentFiles });
        const pickSecondaryCoreFields = ({ yarnPath, ignorePath, injectEnvironmentFiles, ...rest }) => {
          const secondaryCoreFields = {};
          for (const [key, value] of Object.entries(rest))
            if (allCoreFieldKeys.has(key))
              secondaryCoreFields[key] = value;
          return secondaryCoreFields;
        };
        const pickPluginFields = ({ yarnPath, ignorePath, ...rest }) => {
          const pluginFields = {};
          for (const [key, value] of Object.entries(rest))
            if (!allCoreFieldKeys.has(key))
              pluginFields[key] = value;
          return pluginFields;
        };
        configuration.importSettings(pickPrimaryCoreFields(exports2.coreDefinitions));
        configuration.useWithSource(`<environment>`, pickPrimaryCoreFields(environmentSettings), startingCwd, { strict: false });
        if (resolvedRcFile) {
          const [source, data] = resolvedRcFile;
          configuration.useWithSource(source, pickPrimaryCoreFields(data), resolvedRcFileCwd, { strict: false });
        }
        if (usePathCheck) {
          const yarnPath = await checkYarnPath({
            configuration,
            selfPath: usePathCheck
          });
          if (yarnPath !== null) {
            return configuration;
          } else {
            configuration.useWithSource(`<override>`, { ignorePath: true }, startingCwd, { strict: false, overwrite: true });
          }
        }
        const projectCwd = await _Configuration.findProjectCwd(startingCwd);
        configuration.startingCwd = startingCwd;
        configuration.projectCwd = projectCwd;
        const env = Object.assign(/* @__PURE__ */ Object.create(null), process.env);
        configuration.env = env;
        const environmentFiles = await Promise.all(configuration.get(`injectEnvironmentFiles`).map(async (p) => {
          const content = p.endsWith(`?`) ? await fslib_12.xfs.readFilePromise(p.slice(0, -1), `utf8`).catch(() => ``) : await fslib_12.xfs.readFilePromise(p, `utf8`);
          return (0, dotenv_1.parse)(content);
        }));
        for (const environmentEntries of environmentFiles)
          for (const [key, value] of Object.entries(environmentEntries))
            configuration.env[key] = miscUtils.replaceEnvVariables(value, { env });
        configuration.importSettings(pickSecondaryCoreFields(exports2.coreDefinitions));
        configuration.useWithSource(`<environment>`, pickSecondaryCoreFields(environmentSettings), startingCwd, { strict });
        if (resolvedRcFile) {
          const [source, data] = resolvedRcFile;
          configuration.useWithSource(source, pickSecondaryCoreFields(data), resolvedRcFileCwd, { strict });
        }
        const getDefault = (object) => {
          return `default` in object ? object.default : object;
        };
        const corePlugins = /* @__PURE__ */ new Map([
          [`@@core`, CorePlugin_1.CorePlugin]
        ]);
        if (pluginConfiguration !== null)
          for (const request of pluginConfiguration.plugins.keys())
            corePlugins.set(request, getDefault(pluginConfiguration.modules.get(request)));
        for (const [name, corePlugin] of corePlugins)
          configuration.activatePlugin(name, corePlugin);
        const thirdPartyPlugins = /* @__PURE__ */ new Map([]);
        if (pluginConfiguration !== null) {
          const requireEntries = /* @__PURE__ */ new Map();
          for (const request of module_1.builtinModules)
            requireEntries.set(request, () => miscUtils.dynamicRequire(request));
          for (const [request, embedModule] of pluginConfiguration.modules)
            requireEntries.set(request, () => embedModule);
          const dynamicPlugins = /* @__PURE__ */ new Set();
          const importPlugin = async (pluginPath, source) => {
            const { factory, name } = miscUtils.dynamicRequire(pluginPath);
            if (!factory)
              return;
            if (dynamicPlugins.has(name))
              return;
            const pluginRequireEntries = new Map(requireEntries);
            const pluginRequire = (request) => {
              if (pluginRequireEntries.has(request)) {
                return pluginRequireEntries.get(request)();
              } else {
                throw new clipanion_12.UsageError(`This plugin cannot access the package referenced via ${request} which is neither a builtin, nor an exposed entry`);
              }
            };
            const plugin = await miscUtils.prettifyAsyncErrors(async () => {
              return getDefault(await factory(pluginRequire));
            }, (message) => {
              return `${message} (when initializing ${name}, defined in ${source})`;
            });
            requireEntries.set(name, () => plugin);
            dynamicPlugins.add(name);
            thirdPartyPlugins.set(name, plugin);
          };
          if (environmentSettings.plugins) {
            for (const userProvidedPath of environmentSettings.plugins.split(`;`)) {
              const pluginPath = fslib_12.ppath.resolve(startingCwd, fslib_12.npath.toPortablePath(userProvidedPath));
              await importPlugin(pluginPath, `<environment>`);
            }
          }
          for (const { path: path2, cwd, data } of rcFiles) {
            if (!useRc)
              continue;
            if (!Array.isArray(data.plugins))
              continue;
            for (const userPluginEntry of data.plugins) {
              const userProvidedPath = typeof userPluginEntry !== `string` ? userPluginEntry.path : userPluginEntry;
              const userProvidedSpec = userPluginEntry?.spec ?? ``;
              const userProvidedChecksum = userPluginEntry?.checksum ?? ``;
              if (exports2.LEGACY_PLUGINS.has(userProvidedSpec))
                continue;
              const pluginPath = fslib_12.ppath.resolve(cwd, fslib_12.npath.toPortablePath(userProvidedPath));
              if (!await fslib_12.xfs.existsPromise(pluginPath)) {
                if (!userProvidedSpec) {
                  const prettyPluginName = formatUtils.pretty(configuration, fslib_12.ppath.basename(pluginPath, `.cjs`), formatUtils.Type.NAME);
                  const prettyGitIgnore = formatUtils.pretty(configuration, `.gitignore`, formatUtils.Type.NAME);
                  const prettyYarnrc = formatUtils.pretty(configuration, configuration.values.get(`rcFilename`), formatUtils.Type.NAME);
                  const prettyUrl = formatUtils.pretty(configuration, `https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored`, formatUtils.Type.URL);
                  throw new clipanion_12.UsageError(`Missing source for the ${prettyPluginName} plugin - please try to remove the plugin from ${prettyYarnrc} then reinstall it manually. This error usually occurs because ${prettyGitIgnore} is incorrect, check ${prettyUrl} to make sure your plugin folder isn't gitignored.`);
                }
                if (!userProvidedSpec.match(/^https?:/)) {
                  const prettyPluginName = formatUtils.pretty(configuration, fslib_12.ppath.basename(pluginPath, `.cjs`), formatUtils.Type.NAME);
                  const prettyYarnrc = formatUtils.pretty(configuration, configuration.values.get(`rcFilename`), formatUtils.Type.NAME);
                  throw new clipanion_12.UsageError(`Failed to recognize the source for the ${prettyPluginName} plugin - please try to delete the plugin from ${prettyYarnrc} then reinstall it manually.`);
                }
                const pluginBuffer = await httpUtils.get(userProvidedSpec, { configuration });
                const pluginChecksum = hashUtils.makeHash(pluginBuffer);
                if (userProvidedChecksum && userProvidedChecksum !== pluginChecksum) {
                  const prettyPluginName = formatUtils.pretty(configuration, fslib_12.ppath.basename(pluginPath, `.cjs`), formatUtils.Type.NAME);
                  const prettyYarnrc = formatUtils.pretty(configuration, configuration.values.get(`rcFilename`), formatUtils.Type.NAME);
                  const prettyPluginImportCommand = formatUtils.pretty(configuration, `yarn plugin import ${userProvidedSpec}`, formatUtils.Type.CODE);
                  throw new clipanion_12.UsageError(`Failed to fetch the ${prettyPluginName} plugin from its remote location: its checksum seems to have changed. If this is expected, please remove the plugin from ${prettyYarnrc} then run ${prettyPluginImportCommand} to reimport it.`);
                }
                await fslib_12.xfs.mkdirPromise(fslib_12.ppath.dirname(pluginPath), { recursive: true });
                await fslib_12.xfs.writeFilePromise(pluginPath, pluginBuffer);
              }
              await importPlugin(pluginPath, path2);
            }
          }
        }
        for (const [name, thirdPartyPlugin] of thirdPartyPlugins)
          configuration.activatePlugin(name, thirdPartyPlugin);
        configuration.useWithSource(`<environment>`, pickPluginFields(environmentSettings), startingCwd, { strict });
        if (resolvedRcFile) {
          const [source, data] = resolvedRcFile;
          configuration.useWithSource(source, pickPluginFields(data), resolvedRcFileCwd, { strict });
        }
        if (configuration.get(`enableGlobalCache`)) {
          configuration.values.set(`cacheFolder`, `${configuration.get(`globalFolder`)}/cache`);
          configuration.sources.set(`cacheFolder`, `<internal>`);
        }
        return configuration;
      }
      static async findRcFiles(startingCwd) {
        const rcFilename = getRcFilename();
        const rcFiles = [];
        let nextCwd = startingCwd;
        let currentCwd = null;
        while (nextCwd !== currentCwd) {
          currentCwd = nextCwd;
          const rcPath = fslib_12.ppath.join(currentCwd, rcFilename);
          if (fslib_12.xfs.existsSync(rcPath)) {
            const content = await fslib_12.xfs.readFilePromise(rcPath, `utf8`);
            let data;
            try {
              data = (0, parsers_1.parseSyml)(content);
            } catch (error) {
              let tip = ``;
              if (content.match(/^\s+(?!-)[^:]+\s+\S+/m))
                tip = ` (in particular, make sure you list the colons after each key name)`;
              throw new clipanion_12.UsageError(`Parse error when loading ${rcPath}; please check it's proper Yaml${tip}`);
            }
            rcFiles.unshift({ path: rcPath, cwd: currentCwd, data });
          }
          nextCwd = fslib_12.ppath.dirname(currentCwd);
        }
        return rcFiles;
      }
      static async findFolderRcFile(cwd) {
        const path2 = fslib_12.ppath.join(cwd, fslib_12.Filename.rc);
        let content;
        try {
          content = await fslib_12.xfs.readFilePromise(path2, `utf8`);
        } catch (err) {
          if (err.code === `ENOENT`)
            return null;
          throw err;
        }
        const data = (0, parsers_1.parseSyml)(content);
        return { path: path2, cwd, data };
      }
      static async findProjectCwd(startingCwd) {
        let projectCwd = null;
        let nextCwd = startingCwd;
        let currentCwd = null;
        while (nextCwd !== currentCwd) {
          currentCwd = nextCwd;
          if (fslib_12.xfs.existsSync(fslib_12.ppath.join(currentCwd, fslib_12.Filename.lockfile)))
            return currentCwd;
          if (fslib_12.xfs.existsSync(fslib_12.ppath.join(currentCwd, fslib_12.Filename.manifest)))
            projectCwd = currentCwd;
          nextCwd = fslib_12.ppath.dirname(currentCwd);
        }
        return projectCwd;
      }
      static async updateConfiguration(cwd, patch, opts = {}) {
        const rcFilename = getRcFilename();
        const configurationPath = fslib_12.ppath.join(cwd, rcFilename);
        const current = fslib_12.xfs.existsSync(configurationPath) ? (0, parsers_1.parseSyml)(await fslib_12.xfs.readFilePromise(configurationPath, `utf8`)) : {};
        let patched = false;
        let replacement;
        if (typeof patch === `function`) {
          try {
            replacement = patch(current);
          } catch {
            replacement = patch({});
          }
          if (replacement === current) {
            return false;
          }
        } else {
          replacement = current;
          for (const key of Object.keys(patch)) {
            const currentValue = current[key];
            const patchField = patch[key];
            let nextValue;
            if (typeof patchField === `function`) {
              try {
                nextValue = patchField(currentValue);
              } catch {
                nextValue = patchField(void 0);
              }
            } else {
              nextValue = patchField;
            }
            if (currentValue === nextValue)
              continue;
            if (nextValue === _Configuration.deleteProperty)
              delete replacement[key];
            else
              replacement[key] = nextValue;
            patched = true;
          }
          if (!patched) {
            return false;
          }
        }
        await fslib_12.xfs.changeFilePromise(configurationPath, (0, parsers_1.stringifySyml)(replacement), {
          automaticNewlines: true
        });
        return true;
      }
      static async addPlugin(cwd, pluginMetaList) {
        if (pluginMetaList.length === 0)
          return;
        await _Configuration.updateConfiguration(cwd, (current) => {
          const currentPluginMetaList = current.plugins ?? [];
          if (currentPluginMetaList.length === 0)
            return { ...current, plugins: pluginMetaList };
          const newPluginMetaList = [];
          let notYetProcessedList = [...pluginMetaList];
          for (const currentPluginMeta of currentPluginMetaList) {
            const currentPluginPath = typeof currentPluginMeta !== `string` ? currentPluginMeta.path : currentPluginMeta;
            const updatingPlugin = notYetProcessedList.find((pluginMeta) => {
              return pluginMeta.path === currentPluginPath;
            });
            if (updatingPlugin) {
              newPluginMetaList.push(updatingPlugin);
              notYetProcessedList = notYetProcessedList.filter((p) => p !== updatingPlugin);
            } else {
              newPluginMetaList.push(currentPluginMeta);
            }
          }
          newPluginMetaList.push(...notYetProcessedList);
          return { ...current, plugins: newPluginMetaList };
        });
      }
      static async updateHomeConfiguration(patch) {
        const homeFolder = folderUtils.getHomeFolder();
        return await _Configuration.updateConfiguration(homeFolder, patch);
      }
      constructor(startingCwd) {
        this.isCI = ci_info_1.isCI;
        this.projectCwd = null;
        this.plugins = /* @__PURE__ */ new Map();
        this.settings = /* @__PURE__ */ new Map();
        this.values = /* @__PURE__ */ new Map();
        this.sources = /* @__PURE__ */ new Map();
        this.invalid = /* @__PURE__ */ new Map();
        this.env = {};
        this.limits = /* @__PURE__ */ new Map();
        this.packageExtensions = null;
        this.startingCwd = startingCwd;
      }
      activatePlugin(name, plugin) {
        this.plugins.set(name, plugin);
        if (typeof plugin.configuration !== `undefined`) {
          this.importSettings(plugin.configuration);
        }
      }
      importSettings(definitions) {
        for (const [name, definition] of Object.entries(definitions)) {
          if (definition == null)
            continue;
          if (this.settings.has(name))
            throw new Error(`Cannot redefine settings "${name}"`);
          this.settings.set(name, definition);
          this.values.set(name, getDefaultValue(this, definition));
        }
      }
      useWithSource(source, data, folder, opts) {
        try {
          this.use(source, data, folder, opts);
        } catch (error) {
          error.message += ` (in ${formatUtils.pretty(this, source, formatUtils.Type.PATH)})`;
          throw error;
        }
      }
      use(source, data, folder, { strict = true, overwrite = false } = {}) {
        strict = strict && this.get(`enableStrictSettings`);
        for (const key of [`enableStrictSettings`, ...Object.keys(data)]) {
          const value = data[key];
          const fieldSource = configUtils.getSource(value);
          if (fieldSource)
            source = fieldSource;
          if (typeof value === `undefined`)
            continue;
          if (key === `plugins`)
            continue;
          if (source === `<environment>` && IGNORED_ENV_VARIABLES.has(key))
            continue;
          if (key === `rcFilename`)
            throw new clipanion_12.UsageError(`The rcFilename settings can only be set via ${`${exports2.ENVIRONMENT_PREFIX}RC_FILENAME`.toUpperCase()}, not via a rc file`);
          const definition = this.settings.get(key);
          if (!definition) {
            const homeFolder = folderUtils.getHomeFolder();
            const rcFileFolder = source[0] !== `<` ? fslib_12.ppath.dirname(source) : null;
            const isHomeRcFile = rcFileFolder !== null ? homeFolder === rcFileFolder : false;
            if (strict && !isHomeRcFile) {
              throw new clipanion_12.UsageError(`Unrecognized or legacy configuration settings found: ${key} - run "yarn config -v" to see the list of settings supported in Yarn`);
            } else {
              this.invalid.set(key, source);
              continue;
            }
          }
          if (this.sources.has(key) && !(overwrite || definition.type === SettingsType.MAP || definition.isArray && definition.concatenateValues))
            continue;
          let parsed;
          try {
            parsed = parseValue(this, key, value, definition, folder);
          } catch (error) {
            error.message += ` in ${formatUtils.pretty(this, source, formatUtils.Type.PATH)}`;
            throw error;
          }
          if (key === `enableStrictSettings` && source !== `<environment>`) {
            strict = parsed;
            continue;
          }
          if (definition.type === SettingsType.MAP) {
            const previousValue = this.values.get(key);
            this.values.set(key, new Map(overwrite ? [...previousValue, ...parsed] : [...parsed, ...previousValue]));
            this.sources.set(key, `${this.sources.get(key)}, ${source}`);
          } else if (definition.isArray && definition.concatenateValues) {
            const previousValue = this.values.get(key);
            this.values.set(key, overwrite ? [...previousValue, ...parsed] : [...parsed, ...previousValue]);
            this.sources.set(key, `${this.sources.get(key)}, ${source}`);
          } else {
            this.values.set(key, parsed);
            this.sources.set(key, source);
          }
        }
      }
      get(key) {
        if (!this.values.has(key))
          throw new Error(`Invalid configuration key "${key}"`);
        return this.values.get(key);
      }
      getSpecial(key, { hideSecrets = false, getNativePaths = false }) {
        const rawValue = this.get(key);
        const definition = this.settings.get(key);
        if (typeof definition === `undefined`)
          throw new clipanion_12.UsageError(`Couldn't find a configuration settings named "${key}"`);
        return transformConfiguration(rawValue, definition, {
          hideSecrets,
          getNativePaths
        });
      }
      getSubprocessStreams(logFile, { header, prefix, report }) {
        let stdout;
        let stderr;
        const logStream = fslib_12.xfs.createWriteStream(logFile);
        if (this.get(`enableInlineBuilds`)) {
          const stdoutLineReporter = report.createStreamReporter(`${prefix} ${formatUtils.pretty(this, `STDOUT`, `green`)}`);
          const stderrLineReporter = report.createStreamReporter(`${prefix} ${formatUtils.pretty(this, `STDERR`, `red`)}`);
          stdout = new stream_12.PassThrough();
          stdout.pipe(stdoutLineReporter);
          stdout.pipe(logStream);
          stderr = new stream_12.PassThrough();
          stderr.pipe(stderrLineReporter);
          stderr.pipe(logStream);
        } else {
          stdout = logStream;
          stderr = logStream;
          if (typeof header !== `undefined`) {
            stdout.write(`${header}
`);
          }
        }
        return { stdout, stderr };
      }
      makeResolver() {
        const pluginResolvers = [];
        for (const plugin of this.plugins.values())
          for (const resolver of plugin.resolvers || [])
            pluginResolvers.push(new resolver());
        return new MultiResolver_1.MultiResolver([
          new VirtualResolver_1.VirtualResolver(),
          new WorkspaceResolver_1.WorkspaceResolver(),
          ...pluginResolvers
        ]);
      }
      makeFetcher() {
        const pluginFetchers = [];
        for (const plugin of this.plugins.values())
          for (const fetcher of plugin.fetchers || [])
            pluginFetchers.push(new fetcher());
        return new MultiFetcher_1.MultiFetcher([
          new VirtualFetcher_1.VirtualFetcher(),
          new WorkspaceFetcher_1.WorkspaceFetcher(),
          ...pluginFetchers
        ]);
      }
      getLinkers() {
        const linkers = [];
        for (const plugin of this.plugins.values())
          for (const linker of plugin.linkers || [])
            linkers.push(new linker());
        return linkers;
      }
      getSupportedArchitectures() {
        const architecture = nodeUtils.getArchitecture();
        const supportedArchitectures = this.get(`supportedArchitectures`);
        let os = supportedArchitectures.get(`os`);
        if (os !== null)
          os = os.map((value) => value === `current` ? architecture.os : value);
        let cpu = supportedArchitectures.get(`cpu`);
        if (cpu !== null)
          cpu = cpu.map((value) => value === `current` ? architecture.cpu : value);
        let libc = supportedArchitectures.get(`libc`);
        if (libc !== null)
          libc = miscUtils.mapAndFilter(libc, (value) => value === `current` ? architecture.libc ?? miscUtils.mapAndFilter.skip : value);
        return { os, cpu, libc };
      }
      /**
       * Computes and caches the package extensions.
       */
      async getPackageExtensions() {
        if (this.packageExtensions !== null)
          return this.packageExtensions;
        this.packageExtensions = /* @__PURE__ */ new Map();
        const packageExtensions = this.packageExtensions;
        const registerPackageExtension = (descriptor, extensionData, { userProvided = false } = {}) => {
          if (!semverUtils.validRange(descriptor.range))
            throw new Error(`Only semver ranges are allowed as keys for the packageExtensions setting`);
          const extension = new Manifest_1.Manifest();
          extension.load(extensionData, { yamlCompatibilityMode: true });
          const extensionsPerIdent = miscUtils.getArrayWithDefault(packageExtensions, descriptor.identHash);
          const extensionsPerRange = [];
          extensionsPerIdent.push([descriptor.range, extensionsPerRange]);
          const baseExtension = {
            status: types_1.PackageExtensionStatus.Inactive,
            userProvided,
            parentDescriptor: descriptor
          };
          for (const dependency of extension.dependencies.values())
            extensionsPerRange.push({ ...baseExtension, type: types_1.PackageExtensionType.Dependency, descriptor: dependency });
          for (const peerDependency of extension.peerDependencies.values())
            extensionsPerRange.push({ ...baseExtension, type: types_1.PackageExtensionType.PeerDependency, descriptor: peerDependency });
          for (const [selector, meta] of extension.peerDependenciesMeta) {
            for (const [key, value] of Object.entries(meta)) {
              extensionsPerRange.push({ ...baseExtension, type: types_1.PackageExtensionType.PeerDependencyMeta, selector, key, value });
            }
          }
        };
        await this.triggerHook((hooks) => {
          return hooks.registerPackageExtensions;
        }, this, registerPackageExtension);
        for (const [descriptorString, extensionData] of this.get(`packageExtensions`))
          registerPackageExtension(structUtils.parseDescriptor(descriptorString, true), miscUtils.convertMapsToIndexableObjects(extensionData), { userProvided: true });
        return packageExtensions;
      }
      normalizeLocator(locator) {
        if (semverUtils.validRange(locator.reference))
          return structUtils.makeLocator(locator, `${this.get(`defaultProtocol`)}${locator.reference}`);
        if (exports2.TAG_REGEXP.test(locator.reference))
          return structUtils.makeLocator(locator, `${this.get(`defaultProtocol`)}${locator.reference}`);
        return locator;
      }
      // TODO: Rename into `normalizeLocator`?
      // TODO: Move into `structUtils`, and remove references to `defaultProtocol` (we can make it a constant, same as the lockfile name)
      normalizeDependency(dependency) {
        if (semverUtils.validRange(dependency.range))
          return structUtils.makeDescriptor(dependency, `${this.get(`defaultProtocol`)}${dependency.range}`);
        if (exports2.TAG_REGEXP.test(dependency.range))
          return structUtils.makeDescriptor(dependency, `${this.get(`defaultProtocol`)}${dependency.range}`);
        return dependency;
      }
      normalizeDependencyMap(dependencyMap) {
        return new Map([...dependencyMap].map(([key, dependency]) => {
          return [key, this.normalizeDependency(dependency)];
        }));
      }
      normalizePackage(original, { packageExtensions }) {
        const pkg = structUtils.copyPackage(original);
        const extensionsPerIdent = packageExtensions.get(original.identHash);
        if (typeof extensionsPerIdent !== `undefined`) {
          const version2 = original.version;
          if (version2 !== null) {
            for (const [range, extensionsPerRange] of extensionsPerIdent) {
              if (!semverUtils.satisfiesWithPrereleases(version2, range))
                continue;
              for (const extension of extensionsPerRange) {
                if (extension.status === types_1.PackageExtensionStatus.Inactive)
                  extension.status = types_1.PackageExtensionStatus.Redundant;
                switch (extension.type) {
                  case types_1.PackageExtensionType.Dependency:
                    {
                      const currentDependency = pkg.dependencies.get(extension.descriptor.identHash);
                      if (typeof currentDependency === `undefined`) {
                        extension.status = types_1.PackageExtensionStatus.Active;
                        pkg.dependencies.set(extension.descriptor.identHash, this.normalizeDependency(extension.descriptor));
                      }
                    }
                    break;
                  case types_1.PackageExtensionType.PeerDependency:
                    {
                      const currentPeerDependency = pkg.peerDependencies.get(extension.descriptor.identHash);
                      if (typeof currentPeerDependency === `undefined`) {
                        extension.status = types_1.PackageExtensionStatus.Active;
                        pkg.peerDependencies.set(extension.descriptor.identHash, extension.descriptor);
                      }
                    }
                    break;
                  case types_1.PackageExtensionType.PeerDependencyMeta:
                    {
                      const currentPeerDependencyMeta = pkg.peerDependenciesMeta.get(extension.selector);
                      if (typeof currentPeerDependencyMeta === `undefined` || !Object.hasOwn(currentPeerDependencyMeta, extension.key) || currentPeerDependencyMeta[extension.key] !== extension.value) {
                        extension.status = types_1.PackageExtensionStatus.Active;
                        miscUtils.getFactoryWithDefault(pkg.peerDependenciesMeta, extension.selector, () => ({}))[extension.key] = extension.value;
                      }
                    }
                    break;
                  default: {
                    miscUtils.assertNever(extension);
                  }
                }
              }
            }
          }
        }
        const getTypesName = (descriptor) => {
          return descriptor.scope ? `${descriptor.scope}__${descriptor.name}` : `${descriptor.name}`;
        };
        for (const identString of pkg.peerDependenciesMeta.keys()) {
          const ident = structUtils.parseIdent(identString);
          if (!pkg.peerDependencies.has(ident.identHash)) {
            pkg.peerDependencies.set(ident.identHash, structUtils.makeDescriptor(ident, `*`));
          }
        }
        for (const descriptor of pkg.peerDependencies.values()) {
          if (descriptor.scope === `types`)
            continue;
          const typesName = getTypesName(descriptor);
          const typesIdent = structUtils.makeIdent(`types`, typesName);
          const stringifiedTypesIdent = structUtils.stringifyIdent(typesIdent);
          if (pkg.peerDependencies.has(typesIdent.identHash) || pkg.peerDependenciesMeta.has(stringifiedTypesIdent))
            continue;
          pkg.peerDependencies.set(typesIdent.identHash, structUtils.makeDescriptor(typesIdent, `*`));
          pkg.peerDependenciesMeta.set(stringifiedTypesIdent, {
            optional: true
          });
        }
        pkg.dependencies = new Map(miscUtils.sortMap(pkg.dependencies, ([, descriptor]) => structUtils.stringifyDescriptor(descriptor)));
        pkg.peerDependencies = new Map(miscUtils.sortMap(pkg.peerDependencies, ([, descriptor]) => structUtils.stringifyDescriptor(descriptor)));
        return pkg;
      }
      getLimit(key) {
        return miscUtils.getFactoryWithDefault(this.limits, key, () => {
          return (0, p_limit_12.default)(this.get(key));
        });
      }
      async triggerHook(get, ...args) {
        for (const plugin of this.plugins.values()) {
          const hooks = plugin.hooks;
          if (!hooks)
            continue;
          const hook = get(hooks);
          if (!hook)
            continue;
          await hook(...args);
        }
      }
      async triggerMultipleHooks(get, argsList) {
        for (const args of argsList) {
          await this.triggerHook(get, ...args);
        }
      }
      async reduceHook(get, initialValue, ...args) {
        let value = initialValue;
        for (const plugin of this.plugins.values()) {
          const hooks = plugin.hooks;
          if (!hooks)
            continue;
          const hook = get(hooks);
          if (!hook)
            continue;
          value = await hook(value, ...args);
        }
        return value;
      }
      async firstHook(get, ...args) {
        for (const plugin of this.plugins.values()) {
          const hooks = plugin.hooks;
          if (!hooks)
            continue;
          const hook = get(hooks);
          if (!hook)
            continue;
          const ret2 = await hook(...args);
          if (typeof ret2 !== `undefined`) {
            return ret2;
          }
        }
        return null;
      }
    };
    exports2.Configuration = Configuration;
    Configuration.deleteProperty = Symbol();
    Configuration.telemetry = null;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/execUtils.js
var require_execUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/execUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ExecError = exports2.PipeError = exports2.EndStrategy = void 0;
    exports2.pipevp = pipevp;
    exports2.execvp = execvp;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var cross_spawn_1 = tslib_12.__importDefault(require_cross_spawn());
    var Configuration_1 = require_Configuration();
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var EndStrategy;
    (function(EndStrategy2) {
      EndStrategy2[EndStrategy2["Never"] = 0] = "Never";
      EndStrategy2[EndStrategy2["ErrorCode"] = 1] = "ErrorCode";
      EndStrategy2[EndStrategy2["Always"] = 2] = "Always";
    })(EndStrategy || (exports2.EndStrategy = EndStrategy = {}));
    var PipeError = class extends Report_1.ReportError {
      constructor({ fileName, code, signal }) {
        const configuration = Configuration_1.Configuration.create(fslib_12.ppath.cwd());
        const prettyFileName = formatUtils.pretty(configuration, fileName, formatUtils.Type.PATH);
        super(MessageName_1.MessageName.EXCEPTION, `Child ${prettyFileName} reported an error`, (report) => {
          reportExitStatus(code, signal, { configuration, report });
        });
        this.code = getExitCode(code, signal);
      }
    };
    exports2.PipeError = PipeError;
    var ExecError = class extends PipeError {
      constructor({ fileName, code, signal, stdout, stderr }) {
        super({ fileName, code, signal });
        this.stdout = stdout;
        this.stderr = stderr;
      }
    };
    exports2.ExecError = ExecError;
    function hasFd(stream) {
      return stream !== null && typeof stream.fd === `number`;
    }
    var activeChildren = /* @__PURE__ */ new Set();
    function sigintHandler() {
    }
    function sigtermHandler() {
      for (const child of activeChildren) {
        child.kill();
      }
    }
    async function pipevp(fileName, args, { cwd, env = process.env, strict = false, stdin = null, stdout, stderr, end = EndStrategy.Always }) {
      const stdio = [`pipe`, `pipe`, `pipe`];
      if (stdin === null)
        stdio[0] = `ignore`;
      else if (hasFd(stdin))
        stdio[0] = stdin;
      if (hasFd(stdout))
        stdio[1] = stdout;
      if (hasFd(stderr))
        stdio[2] = stderr;
      const child = (0, cross_spawn_1.default)(fileName, args, {
        cwd: fslib_12.npath.fromPortablePath(cwd),
        env: {
          ...env,
          PWD: fslib_12.npath.fromPortablePath(cwd)
        },
        stdio
      });
      activeChildren.add(child);
      if (activeChildren.size === 1) {
        process.on(`SIGINT`, sigintHandler);
        process.on(`SIGTERM`, sigtermHandler);
      }
      if (!hasFd(stdin) && stdin !== null)
        stdin.pipe(child.stdin);
      if (!hasFd(stdout))
        child.stdout.pipe(stdout, { end: false });
      if (!hasFd(stderr))
        child.stderr.pipe(stderr, { end: false });
      const closeStreams = () => {
        for (const stream of /* @__PURE__ */ new Set([stdout, stderr])) {
          if (!hasFd(stream)) {
            stream.end();
          }
        }
      };
      return new Promise((resolve, reject) => {
        child.on(`error`, (error) => {
          activeChildren.delete(child);
          if (activeChildren.size === 0) {
            process.off(`SIGINT`, sigintHandler);
            process.off(`SIGTERM`, sigtermHandler);
          }
          if (end === EndStrategy.Always || end === EndStrategy.ErrorCode)
            closeStreams();
          reject(error);
        });
        child.on(`close`, (code, signal) => {
          activeChildren.delete(child);
          if (activeChildren.size === 0) {
            process.off(`SIGINT`, sigintHandler);
            process.off(`SIGTERM`, sigtermHandler);
          }
          if (end === EndStrategy.Always || end === EndStrategy.ErrorCode && code !== 0)
            closeStreams();
          if (code === 0 || !strict) {
            resolve({ code: getExitCode(code, signal) });
          } else {
            reject(new PipeError({ fileName, code, signal }));
          }
        });
      });
    }
    async function execvp(fileName, args, { cwd, env = process.env, encoding = `utf8`, strict = false }) {
      const stdio = [`ignore`, `pipe`, `pipe`];
      const stdoutChunks = [];
      const stderrChunks = [];
      const nativeCwd = fslib_12.npath.fromPortablePath(cwd);
      if (typeof env.PWD !== `undefined`)
        env = { ...env, PWD: nativeCwd };
      const subprocess = (0, cross_spawn_1.default)(fileName, args, {
        cwd: nativeCwd,
        env,
        stdio
      });
      subprocess.stdout.on(`data`, (chunk) => {
        stdoutChunks.push(chunk);
      });
      subprocess.stderr.on(`data`, (chunk) => {
        stderrChunks.push(chunk);
      });
      return await new Promise((resolve, reject) => {
        subprocess.on(`error`, (err) => {
          const configuration = Configuration_1.Configuration.create(cwd);
          const prettyFileName = formatUtils.pretty(configuration, fileName, formatUtils.Type.PATH);
          reject(new Report_1.ReportError(MessageName_1.MessageName.EXCEPTION, `Process ${prettyFileName} failed to spawn`, (report) => {
            report.reportError(MessageName_1.MessageName.EXCEPTION, `  ${formatUtils.prettyField(configuration, {
              label: `Thrown Error`,
              value: formatUtils.tuple(formatUtils.Type.NO_HINT, err.message)
            })}`);
          }));
        });
        subprocess.on(`close`, (code, signal) => {
          const stdout = encoding === `buffer` ? Buffer.concat(stdoutChunks) : Buffer.concat(stdoutChunks).toString(encoding);
          const stderr = encoding === `buffer` ? Buffer.concat(stderrChunks) : Buffer.concat(stderrChunks).toString(encoding);
          if (code === 0 || !strict) {
            resolve({
              code: getExitCode(code, signal),
              stdout,
              stderr
            });
          } else {
            reject(new ExecError({ fileName, code, signal, stdout, stderr }));
          }
        });
      });
    }
    var signalToCodeMap = /* @__PURE__ */ new Map([
      [`SIGINT`, 2],
      // ctrl-c
      [`SIGQUIT`, 3],
      // ctrl-\
      [`SIGKILL`, 9],
      // hard kill
      [`SIGTERM`, 15]
      // default signal for kill
    ]);
    function getExitCode(code, signal) {
      const signalCode = signalToCodeMap.get(signal);
      if (typeof signalCode !== `undefined`) {
        return 128 + signalCode;
      } else {
        return code ?? 1;
      }
    }
    function reportExitStatus(code, signal, { configuration, report }) {
      report.reportError(MessageName_1.MessageName.EXCEPTION, `  ${formatUtils.prettyField(configuration, code !== null ? {
        label: `Exit Code`,
        value: formatUtils.tuple(formatUtils.Type.NUMBER, code)
      } : {
        label: `Exit Signal`,
        value: formatUtils.tuple(formatUtils.Type.CODE, signal)
      })}`);
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/instance.js
var require_instance = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/instance.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cachedInstance = void 0;
    exports2.setFactory = setFactory;
    exports2.getInstance = getInstance;
    exports2.tryInstance = tryInstance;
    var registeredFactory = () => {
      throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`);
    };
    function setFactory(factory) {
      registeredFactory = factory;
    }
    function getInstance() {
      if (typeof exports2.cachedInstance === `undefined`)
        exports2.cachedInstance = registeredFactory();
      return exports2.cachedInstance;
    }
    function tryInstance() {
      return exports2.cachedInstance;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/libzipSync.js
var require_libzipSync = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/libzipSync.js"(exports2, module2) {
    var frozenFs = Object.assign({}, require("fs"));
    var createModule = function() {
      var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
      if (typeof __filename !== "undefined") _scriptDir = _scriptDir || __filename;
      return function(createModule2) {
        createModule2 = createModule2 || {};
        null;
        var Module = typeof createModule2 !== "undefined" ? createModule2 : {};
        var readyPromiseResolve, readyPromiseReject;
        Module["ready"] = new Promise(function(resolve, reject) {
          readyPromiseResolve = resolve;
          readyPromiseReject = reject;
        });
        var moduleOverrides = {};
        var key;
        for (key in Module) {
          if (Module.hasOwnProperty(key)) {
            moduleOverrides[key] = Module[key];
          }
        }
        var arguments_ = [];
        var thisProgram = "./this.program";
        var quit_ = function(status, toThrow) {
          throw toThrow;
        };
        var ENVIRONMENT_IS_WORKER = false;
        var ENVIRONMENT_IS_NODE = true;
        var scriptDirectory = "";
        function locateFile(path2) {
          if (Module["locateFile"]) {
            return Module["locateFile"](path2, scriptDirectory);
          }
          return scriptDirectory + path2;
        }
        var read_, readBinary;
        var nodeFS;
        var nodePath;
        if (ENVIRONMENT_IS_NODE) {
          if (ENVIRONMENT_IS_WORKER) {
            scriptDirectory = require("path").dirname(scriptDirectory) + "/";
          } else {
            scriptDirectory = __dirname + "/";
          }
          read_ = function shell_read(filename, binary) {
            var ret2 = tryParseAsDataURI(filename);
            if (ret2) {
              return binary ? ret2 : ret2.toString();
            }
            if (!nodeFS) nodeFS = frozenFs;
            if (!nodePath) nodePath = require("path");
            filename = nodePath["normalize"](filename);
            return nodeFS["readFileSync"](filename, binary ? null : "utf8");
          };
          readBinary = function readBinary2(filename) {
            var ret2 = read_(filename, true);
            if (!ret2.buffer) {
              ret2 = new Uint8Array(ret2);
            }
            assert(ret2.buffer);
            return ret2;
          };
          if (process["argv"].length > 1) {
            thisProgram = process["argv"][1].replace(/\\/g, "/");
          }
          arguments_ = process["argv"].slice(2);
          quit_ = function(status) {
            process["exit"](status);
          };
          Module["inspect"] = function() {
            return "[Emscripten Module object]";
          };
        } else {
        }
        var out = Module["print"] || console.log.bind(console);
        var err = Module["printErr"] || console.warn.bind(console);
        for (key in moduleOverrides) {
          if (moduleOverrides.hasOwnProperty(key)) {
            Module[key] = moduleOverrides[key];
          }
        }
        moduleOverrides = null;
        if (Module["arguments"]) arguments_ = Module["arguments"];
        if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
        if (Module["quit"]) quit_ = Module["quit"];
        var tempRet0 = 0;
        var setTempRet0 = function(value) {
          tempRet0 = value;
        };
        var wasmBinary;
        if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
        var noExitRuntime = Module["noExitRuntime"] || true;
        if (typeof WebAssembly !== "object") {
          abort("no native wasm support detected");
        }
        function getValue(ptr, type, noSafe) {
          type = type || "i8";
          if (type.charAt(type.length - 1) === "*") type = "i32";
          switch (type) {
            case "i1":
              return HEAP8[ptr >> 0];
            case "i8":
              return HEAP8[ptr >> 0];
            case "i16":
              return LE_HEAP_LOAD_I16((ptr >> 1) * 2);
            case "i32":
              return LE_HEAP_LOAD_I32((ptr >> 2) * 4);
            case "i64":
              return LE_HEAP_LOAD_I32((ptr >> 2) * 4);
            case "float":
              return LE_HEAP_LOAD_F32((ptr >> 2) * 4);
            case "double":
              return LE_HEAP_LOAD_F64((ptr >> 3) * 8);
            default:
              abort("invalid type for getValue: " + type);
          }
          return null;
        }
        var wasmMemory;
        var ABORT = false;
        var EXITSTATUS;
        function assert(condition, text) {
          if (!condition) {
            abort("Assertion failed: " + text);
          }
        }
        function getCFunc(ident) {
          var func = Module["_" + ident];
          assert(
            func,
            "Cannot call unknown function " + ident + ", make sure it is exported"
          );
          return func;
        }
        function ccall(ident, returnType, argTypes, args, opts) {
          var toC = {
            string: function(str) {
              var ret3 = 0;
              if (str !== null && str !== void 0 && str !== 0) {
                var len = (str.length << 2) + 1;
                ret3 = stackAlloc(len);
                stringToUTF8(str, ret3, len);
              }
              return ret3;
            },
            array: function(arr) {
              var ret3 = stackAlloc(arr.length);
              writeArrayToMemory(arr, ret3);
              return ret3;
            }
          };
          function convertReturnValue(ret3) {
            if (returnType === "string") return UTF8ToString(ret3);
            if (returnType === "boolean") return Boolean(ret3);
            return ret3;
          }
          var func = getCFunc(ident);
          var cArgs = [];
          var stack = 0;
          if (args) {
            for (var i = 0; i < args.length; i++) {
              var converter = toC[argTypes[i]];
              if (converter) {
                if (stack === 0) stack = stackSave();
                cArgs[i] = converter(args[i]);
              } else {
                cArgs[i] = args[i];
              }
            }
          }
          var ret2 = func.apply(null, cArgs);
          ret2 = convertReturnValue(ret2);
          if (stack !== 0) stackRestore(stack);
          return ret2;
        }
        function cwrap(ident, returnType, argTypes, opts) {
          argTypes = argTypes || [];
          var numericArgs = argTypes.every(function(type) {
            return type === "number";
          });
          var numericRet = returnType !== "string";
          if (numericRet && numericArgs && !opts) {
            return getCFunc(ident);
          }
          return function() {
            return ccall(ident, returnType, argTypes, arguments, opts);
          };
        }
        var UTF8Decoder = new TextDecoder("utf8");
        function UTF8ToString(ptr, maxBytesToRead) {
          if (!ptr) return "";
          var maxPtr = ptr + maxBytesToRead;
          for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) ++end;
          return UTF8Decoder.decode(HEAPU8.subarray(ptr, end));
        }
        function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
          if (!(maxBytesToWrite > 0)) return 0;
          var startIdx = outIdx;
          var endIdx = outIdx + maxBytesToWrite - 1;
          for (var i = 0; i < str.length; ++i) {
            var u = str.charCodeAt(i);
            if (u >= 55296 && u <= 57343) {
              var u1 = str.charCodeAt(++i);
              u = 65536 + ((u & 1023) << 10) | u1 & 1023;
            }
            if (u <= 127) {
              if (outIdx >= endIdx) break;
              heap[outIdx++] = u;
            } else if (u <= 2047) {
              if (outIdx + 1 >= endIdx) break;
              heap[outIdx++] = 192 | u >> 6;
              heap[outIdx++] = 128 | u & 63;
            } else if (u <= 65535) {
              if (outIdx + 2 >= endIdx) break;
              heap[outIdx++] = 224 | u >> 12;
              heap[outIdx++] = 128 | u >> 6 & 63;
              heap[outIdx++] = 128 | u & 63;
            } else {
              if (outIdx + 3 >= endIdx) break;
              heap[outIdx++] = 240 | u >> 18;
              heap[outIdx++] = 128 | u >> 12 & 63;
              heap[outIdx++] = 128 | u >> 6 & 63;
              heap[outIdx++] = 128 | u & 63;
            }
          }
          heap[outIdx] = 0;
          return outIdx - startIdx;
        }
        function stringToUTF8(str, outPtr, maxBytesToWrite) {
          return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
        }
        function lengthBytesUTF8(str) {
          var len = 0;
          for (var i = 0; i < str.length; ++i) {
            var u = str.charCodeAt(i);
            if (u >= 55296 && u <= 57343)
              u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;
            if (u <= 127) ++len;
            else if (u <= 2047) len += 2;
            else if (u <= 65535) len += 3;
            else len += 4;
          }
          return len;
        }
        function allocateUTF8(str) {
          var size = lengthBytesUTF8(str) + 1;
          var ret2 = _malloc(size);
          if (ret2) stringToUTF8Array(str, HEAP8, ret2, size);
          return ret2;
        }
        function writeArrayToMemory(array, buffer2) {
          HEAP8.set(array, buffer2);
        }
        function alignUp(x, multiple) {
          if (x % multiple > 0) {
            x += multiple - x % multiple;
          }
          return x;
        }
        var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
        var HEAP_DATA_VIEW;
        function updateGlobalBufferAndViews(buf) {
          buffer = buf;
          Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf);
          Module["HEAP8"] = HEAP8 = new Int8Array(buf);
          Module["HEAP16"] = HEAP16 = new Int16Array(buf);
          Module["HEAP32"] = HEAP32 = new Int32Array(buf);
          Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
          Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
          Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
          Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
          Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
        }
        var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
        var wasmTable;
        var __ATPRERUN__ = [];
        var __ATINIT__ = [];
        var __ATPOSTRUN__ = [];
        var runtimeInitialized = false;
        function preRun() {
          if (Module["preRun"]) {
            if (typeof Module["preRun"] == "function")
              Module["preRun"] = [Module["preRun"]];
            while (Module["preRun"].length) {
              addOnPreRun(Module["preRun"].shift());
            }
          }
          callRuntimeCallbacks(__ATPRERUN__);
        }
        function initRuntime() {
          runtimeInitialized = true;
          callRuntimeCallbacks(__ATINIT__);
        }
        function postRun() {
          if (Module["postRun"]) {
            if (typeof Module["postRun"] == "function")
              Module["postRun"] = [Module["postRun"]];
            while (Module["postRun"].length) {
              addOnPostRun(Module["postRun"].shift());
            }
          }
          callRuntimeCallbacks(__ATPOSTRUN__);
        }
        function addOnPreRun(cb) {
          __ATPRERUN__.unshift(cb);
        }
        function addOnInit(cb) {
          __ATINIT__.unshift(cb);
        }
        function addOnPostRun(cb) {
          __ATPOSTRUN__.unshift(cb);
        }
        var runDependencies = 0;
        var runDependencyWatcher = null;
        var dependenciesFulfilled = null;
        function addRunDependency(id) {
          runDependencies++;
          if (Module["monitorRunDependencies"]) {
            Module["monitorRunDependencies"](runDependencies);
          }
        }
        function removeRunDependency(id) {
          runDependencies--;
          if (Module["monitorRunDependencies"]) {
            Module["monitorRunDependencies"](runDependencies);
          }
          if (runDependencies == 0) {
            if (runDependencyWatcher !== null) {
              clearInterval(runDependencyWatcher);
              runDependencyWatcher = null;
            }
            if (dependenciesFulfilled) {
              var callback = dependenciesFulfilled;
              dependenciesFulfilled = null;
              callback();
            }
          }
        }
        Module["preloadedImages"] = {};
        Module["preloadedAudios"] = {};
        function abort(what) {
          if (Module["onAbort"]) {
            Module["onAbort"](what);
          }
          what += "";
          err(what);
          ABORT = true;
          EXITSTATUS = 1;
          what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
          var e = new WebAssembly.RuntimeError(what);
          readyPromiseReject(e);
          throw e;
        }
        var dataURIPrefix = "data:application/octet-stream;base64,";
        function isDataURI(filename) {
          return filename.startsWith(dataURIPrefix);
        }
        var wasmBinaryFile = "data:application/octet-stream;base64, ";
        if (!isDataURI(wasmBinaryFile)) {
          wasmBinaryFile = locateFile(wasmBinaryFile);
        }
        function getBinary(file) {
          try {
            if (file == wasmBinaryFile && wasmBinary) {
              return new Uint8Array(wasmBinary);
            }
            var binary = tryParseAsDataURI(file);
            if (binary) {
              return binary;
            }
            if (readBinary) {
              return readBinary(file);
            } else {
              throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";
            }
          } catch (err2) {
            abort(err2);
          }
        }
        function instantiateSync(file, info) {
          var instance;
          var module3;
          var binary;
          try {
            binary = getBinary(file);
            module3 = new WebAssembly.Module(binary);
            instance = new WebAssembly.Instance(module3, info);
          } catch (e) {
            var str = e.toString();
            err("failed to compile wasm module: " + str);
            if (str.includes("imported Memory") || str.includes("memory import")) {
              err(
                "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."
              );
            }
            throw e;
          }
          return [instance, module3];
        }
        function createWasm() {
          var info = { a: asmLibraryArg };
          function receiveInstance(instance, module3) {
            var exports4 = instance.exports;
            Module["asm"] = exports4;
            wasmMemory = Module["asm"]["g"];
            updateGlobalBufferAndViews(wasmMemory.buffer);
            wasmTable = Module["asm"]["W"];
            addOnInit(Module["asm"]["h"]);
            removeRunDependency("wasm-instantiate");
          }
          addRunDependency("wasm-instantiate");
          if (Module["instantiateWasm"]) {
            try {
              var exports3 = Module["instantiateWasm"](info, receiveInstance);
              return exports3;
            } catch (e) {
              err("Module.instantiateWasm callback failed with error: " + e);
              return false;
            }
          }
          var result2 = instantiateSync(wasmBinaryFile, info);
          receiveInstance(result2[0]);
          return Module["asm"];
        }
        function LE_HEAP_LOAD_F32(byteOffset) {
          return HEAP_DATA_VIEW.getFloat32(byteOffset, true);
        }
        function LE_HEAP_LOAD_F64(byteOffset) {
          return HEAP_DATA_VIEW.getFloat64(byteOffset, true);
        }
        function LE_HEAP_LOAD_I16(byteOffset) {
          return HEAP_DATA_VIEW.getInt16(byteOffset, true);
        }
        function LE_HEAP_LOAD_I32(byteOffset) {
          return HEAP_DATA_VIEW.getInt32(byteOffset, true);
        }
        function LE_HEAP_STORE_I32(byteOffset, value) {
          HEAP_DATA_VIEW.setInt32(byteOffset, value, true);
        }
        function callRuntimeCallbacks(callbacks) {
          while (callbacks.length > 0) {
            var callback = callbacks.shift();
            if (typeof callback == "function") {
              callback(Module);
              continue;
            }
            var func = callback.func;
            if (typeof func === "number") {
              if (callback.arg === void 0) {
                wasmTable.get(func)();
              } else {
                wasmTable.get(func)(callback.arg);
              }
            } else {
              func(callback.arg === void 0 ? null : callback.arg);
            }
          }
        }
        function _gmtime_r(time, tmPtr) {
          var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3);
          LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds());
          LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes());
          LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours());
          LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate());
          LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth());
          LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900);
          LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay());
          LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0);
          LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0);
          var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
          var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
          LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday);
          if (!_gmtime_r.GMTString) _gmtime_r.GMTString = allocateUTF8("GMT");
          LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString);
          return tmPtr;
        }
        function ___gmtime_r(a0, a1) {
          return _gmtime_r(a0, a1);
        }
        function _emscripten_memcpy_big(dest, src, num) {
          HEAPU8.copyWithin(dest, src, src + num);
        }
        function emscripten_realloc_buffer(size) {
          try {
            wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
            updateGlobalBufferAndViews(wasmMemory.buffer);
            return 1;
          } catch (e) {
          }
        }
        function _emscripten_resize_heap(requestedSize) {
          var oldSize = HEAPU8.length;
          requestedSize = requestedSize >>> 0;
          var maxHeapSize = 2147483648;
          if (requestedSize > maxHeapSize) {
            return false;
          }
          for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
            var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);
            overGrownHeapSize = Math.min(
              overGrownHeapSize,
              requestedSize + 100663296
            );
            var newSize = Math.min(
              maxHeapSize,
              alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)
            );
            var replacement = emscripten_realloc_buffer(newSize);
            if (replacement) {
              return true;
            }
          }
          return false;
        }
        function _setTempRet0(val) {
          setTempRet0(val);
        }
        function _time(ptr) {
          var ret2 = Date.now() / 1e3 | 0;
          if (ptr) {
            LE_HEAP_STORE_I32((ptr >> 2) * 4, ret2);
          }
          return ret2;
        }
        function _tzset() {
          if (_tzset.called) return;
          _tzset.called = true;
          var currentYear = (/* @__PURE__ */ new Date()).getFullYear();
          var winter = new Date(currentYear, 0, 1);
          var summer = new Date(currentYear, 6, 1);
          var winterOffset = winter.getTimezoneOffset();
          var summerOffset = summer.getTimezoneOffset();
          var stdTimezoneOffset = Math.max(winterOffset, summerOffset);
          LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60);
          LE_HEAP_STORE_I32(
            (__get_daylight() >> 2) * 4,
            Number(winterOffset != summerOffset)
          );
          function extractZone(date) {
            var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
            return match ? match[1] : "GMT";
          }
          var winterName = extractZone(winter);
          var summerName = extractZone(summer);
          var winterNamePtr = allocateUTF8(winterName);
          var summerNamePtr = allocateUTF8(summerName);
          if (summerOffset < winterOffset) {
            LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr);
            LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr);
          } else {
            LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr);
            LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr);
          }
        }
        function _timegm(tmPtr) {
          _tzset();
          var time = Date.UTC(
            LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900,
            LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4),
            LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4),
            LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4),
            LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4),
            LE_HEAP_LOAD_I32((tmPtr >> 2) * 4),
            0
          );
          var date = new Date(time);
          LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay());
          var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);
          var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0;
          LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday);
          return date.getTime() / 1e3 | 0;
        }
        var decodeBase64 = typeof atob === "function" ? atob : function(input) {
          var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
          var output = "";
          var chr1, chr2, chr3;
          var enc1, enc2, enc3, enc4;
          var i = 0;
          input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
          do {
            enc1 = keyStr.indexOf(input.charAt(i++));
            enc2 = keyStr.indexOf(input.charAt(i++));
            enc3 = keyStr.indexOf(input.charAt(i++));
            enc4 = keyStr.indexOf(input.charAt(i++));
            chr1 = enc1 << 2 | enc2 >> 4;
            chr2 = (enc2 & 15) << 4 | enc3 >> 2;
            chr3 = (enc3 & 3) << 6 | enc4;
            output = output + String.fromCharCode(chr1);
            if (enc3 !== 64) {
              output = output + String.fromCharCode(chr2);
            }
            if (enc4 !== 64) {
              output = output + String.fromCharCode(chr3);
            }
          } while (i < input.length);
          return output;
        };
        function intArrayFromBase64(s) {
          if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {
            var buf;
            try {
              buf = Buffer.from(s, "base64");
            } catch (_) {
              buf = new Buffer(s, "base64");
            }
            return new Uint8Array(
              buf["buffer"],
              buf["byteOffset"],
              buf["byteLength"]
            );
          }
          try {
            var decoded = decodeBase64(s);
            var bytes = new Uint8Array(decoded.length);
            for (var i = 0; i < decoded.length; ++i) {
              bytes[i] = decoded.charCodeAt(i);
            }
            return bytes;
          } catch (_) {
            throw new Error("Converting base64 string to bytes failed.");
          }
        }
        function tryParseAsDataURI(filename) {
          if (!isDataURI(filename)) {
            return;
          }
          return intArrayFromBase64(filename.slice(dataURIPrefix.length));
        }
        var asmLibraryArg = {
          e: ___gmtime_r,
          c: _emscripten_memcpy_big,
          d: _emscripten_resize_heap,
          a: _setTempRet0,
          b: _time,
          f: _timegm
        };
        var asm = createWasm();
        var ___wasm_call_ctors = Module["___wasm_call_ctors"] = asm["h"];
        var _zip_ext_count_symlinks = Module["_zip_ext_count_symlinks"] = asm["i"];
        var _zip_file_get_external_attributes = Module["_zip_file_get_external_attributes"] = asm["j"];
        var _zipstruct_statS = Module["_zipstruct_statS"] = asm["k"];
        var _zipstruct_stat_size = Module["_zipstruct_stat_size"] = asm["l"];
        var _zipstruct_stat_mtime = Module["_zipstruct_stat_mtime"] = asm["m"];
        var _zipstruct_stat_crc = Module["_zipstruct_stat_crc"] = asm["n"];
        var _zipstruct_errorS = Module["_zipstruct_errorS"] = asm["o"];
        var _zipstruct_error_code_zip = Module["_zipstruct_error_code_zip"] = asm["p"];
        var _zipstruct_stat_comp_size = Module["_zipstruct_stat_comp_size"] = asm["q"];
        var _zipstruct_stat_comp_method = Module["_zipstruct_stat_comp_method"] = asm["r"];
        var _zip_close = Module["_zip_close"] = asm["s"];
        var _zip_delete = Module["_zip_delete"] = asm["t"];
        var _zip_dir_add = Module["_zip_dir_add"] = asm["u"];
        var _zip_discard = Module["_zip_discard"] = asm["v"];
        var _zip_error_init_with_code = Module["_zip_error_init_with_code"] = asm["w"];
        var _zip_get_error = Module["_zip_get_error"] = asm["x"];
        var _zip_file_get_error = Module["_zip_file_get_error"] = asm["y"];
        var _zip_error_strerror = Module["_zip_error_strerror"] = asm["z"];
        var _zip_fclose = Module["_zip_fclose"] = asm["A"];
        var _zip_file_add = Module["_zip_file_add"] = asm["B"];
        var _free = Module["_free"] = asm["C"];
        var _malloc = Module["_malloc"] = asm["D"];
        var _zip_source_error = Module["_zip_source_error"] = asm["E"];
        var _zip_source_seek = Module["_zip_source_seek"] = asm["F"];
        var _zip_file_set_external_attributes = Module["_zip_file_set_external_attributes"] = asm["G"];
        var _zip_file_set_mtime = Module["_zip_file_set_mtime"] = asm["H"];
        var _zip_fopen_index = Module["_zip_fopen_index"] = asm["I"];
        var _zip_fread = Module["_zip_fread"] = asm["J"];
        var _zip_get_name = Module["_zip_get_name"] = asm["K"];
        var _zip_get_num_entries = Module["_zip_get_num_entries"] = asm["L"];
        var _zip_source_read = Module["_zip_source_read"] = asm["M"];
        var _zip_name_locate = Module["_zip_name_locate"] = asm["N"];
        var _zip_open_from_source = Module["_zip_open_from_source"] = asm["O"];
        var _zip_set_file_compression = Module["_zip_set_file_compression"] = asm["P"];
        var _zip_source_buffer = Module["_zip_source_buffer"] = asm["Q"];
        var _zip_source_buffer_create = Module["_zip_source_buffer_create"] = asm["R"];
        var _zip_source_close = Module["_zip_source_close"] = asm["S"];
        var _zip_source_free = Module["_zip_source_free"] = asm["T"];
        var _zip_source_keep = Module["_zip_source_keep"] = asm["U"];
        var _zip_source_open = Module["_zip_source_open"] = asm["V"];
        var _zip_source_tell = Module["_zip_source_tell"] = asm["X"];
        var _zip_stat_index = Module["_zip_stat_index"] = asm["Y"];
        var __get_tzname = Module["__get_tzname"] = asm["Z"];
        var __get_daylight = Module["__get_daylight"] = asm["_"];
        var __get_timezone = Module["__get_timezone"] = asm["$"];
        var stackSave = Module["stackSave"] = asm["aa"];
        var stackRestore = Module["stackRestore"] = asm["ba"];
        var stackAlloc = Module["stackAlloc"] = asm["ca"];
        Module["cwrap"] = cwrap;
        Module["getValue"] = getValue;
        var calledRun;
        dependenciesFulfilled = function runCaller() {
          if (!calledRun) run();
          if (!calledRun) dependenciesFulfilled = runCaller;
        };
        function run(args) {
          args = args || arguments_;
          if (runDependencies > 0) {
            return;
          }
          preRun();
          if (runDependencies > 0) {
            return;
          }
          function doRun() {
            if (calledRun) return;
            calledRun = true;
            Module["calledRun"] = true;
            if (ABORT) return;
            initRuntime();
            readyPromiseResolve(Module);
            if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
            postRun();
          }
          if (Module["setStatus"]) {
            Module["setStatus"]("Running...");
            setTimeout(function() {
              setTimeout(function() {
                Module["setStatus"]("");
              }, 1);
              doRun();
            }, 1);
          } else {
            doRun();
          }
        }
        Module["run"] = run;
        if (Module["preInit"]) {
          if (typeof Module["preInit"] == "function")
            Module["preInit"] = [Module["preInit"]];
          while (Module["preInit"].length > 0) {
            Module["preInit"].pop()();
          }
        }
        run();
        return createModule2;
      };
    }();
    if (typeof exports2 === "object" && typeof module2 === "object")
      module2.exports = createModule;
    else if (typeof define === "function" && define["amd"])
      define([], function() {
        return createModule;
      });
    else if (typeof exports2 === "object") exports2["createModule"] = createModule;
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/makeInterface.js
var require_makeInterface = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/makeInterface.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeInterface = exports2.Errors = void 0;
    var number64 = [
      `number`,
      // low
      `number`
      // high
    ];
    var Errors;
    (function(Errors2) {
      Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK";
      Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK";
      Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME";
      Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE";
      Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK";
      Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ";
      Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE";
      Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC";
      Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED";
      Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT";
      Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS";
      Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN";
      Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN";
      Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB";
      Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY";
      Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED";
      Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP";
      Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF";
      Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL";
      Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP";
      Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL";
      Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS";
      Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE";
      Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED";
      Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP";
      Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY";
      Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD";
      Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD";
      Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP";
      Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE";
      Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL";
      Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA";
    })(Errors || (exports2.Errors = Errors = {}));
    var makeInterface = (emZip) => ({
      // Those are getters because they can change after memory growth
      get HEAPU8() {
        return emZip.HEAPU8;
      },
      errors: Errors,
      SEEK_SET: 0,
      SEEK_CUR: 1,
      SEEK_END: 2,
      ZIP_CHECKCONS: 4,
      ZIP_EXCL: 2,
      ZIP_RDONLY: 16,
      ZIP_FL_OVERWRITE: 8192,
      ZIP_FL_COMPRESSED: 4,
      ZIP_OPSYS_DOS: 0,
      ZIP_OPSYS_AMIGA: 1,
      ZIP_OPSYS_OPENVMS: 2,
      ZIP_OPSYS_UNIX: 3,
      ZIP_OPSYS_VM_CMS: 4,
      ZIP_OPSYS_ATARI_ST: 5,
      ZIP_OPSYS_OS_2: 6,
      ZIP_OPSYS_MACINTOSH: 7,
      ZIP_OPSYS_Z_SYSTEM: 8,
      ZIP_OPSYS_CPM: 9,
      ZIP_OPSYS_WINDOWS_NTFS: 10,
      ZIP_OPSYS_MVS: 11,
      ZIP_OPSYS_VSE: 12,
      ZIP_OPSYS_ACORN_RISC: 13,
      ZIP_OPSYS_VFAT: 14,
      ZIP_OPSYS_ALTERNATE_MVS: 15,
      ZIP_OPSYS_BEOS: 16,
      ZIP_OPSYS_TANDEM: 17,
      ZIP_OPSYS_OS_400: 18,
      ZIP_OPSYS_OS_X: 19,
      ZIP_CM_DEFAULT: -1,
      ZIP_CM_STORE: 0,
      ZIP_CM_DEFLATE: 8,
      uint08S: emZip._malloc(1),
      uint32S: emZip._malloc(4),
      malloc: emZip._malloc,
      free: emZip._free,
      getValue: emZip.getValue,
      openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]),
      close: emZip.cwrap(`zip_close`, `number`, [`number`]),
      discard: emZip.cwrap(`zip_discard`, null, [`number`]),
      getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]),
      getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]),
      getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]),
      delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]),
      statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]),
      fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]),
      fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]),
      fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]),
      dir: {
        add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`])
      },
      file: {
        add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]),
        getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]),
        getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
        setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),
        setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]),
        setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`])
      },
      ext: {
        countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`])
      },
      error: {
        initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]),
        strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`])
      },
      name: {
        locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`])
      },
      source: {
        fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]),
        fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]),
        free: emZip.cwrap(`zip_source_free`, null, [`number`]),
        keep: emZip.cwrap(`zip_source_keep`, null, [`number`]),
        open: emZip.cwrap(`zip_source_open`, `number`, [`number`]),
        close: emZip.cwrap(`zip_source_close`, `number`, [`number`]),
        seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]),
        tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]),
        read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]),
        error: emZip.cwrap(`zip_source_error`, `number`, [`number`])
      },
      struct: {
        statS: emZip.cwrap(`zipstruct_statS`, `number`, []),
        statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]),
        statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]),
        statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]),
        statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]),
        statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]),
        errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []),
        errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`])
      }
    });
    exports2.makeInterface = makeInterface;
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/ZipOpenFS.js
var require_ZipOpenFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/ZipOpenFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ZipOpenFS = void 0;
    exports2.getArchivePart = getArchivePart;
    var fslib_12 = require_lib66();
    var fslib_2 = require_lib66();
    var libzip_1 = require_sync10();
    function getArchivePart(path2, extension) {
      let idx = path2.indexOf(extension);
      if (idx <= 0)
        return null;
      let nextCharIdx = idx;
      while (idx >= 0) {
        nextCharIdx = idx + extension.length;
        if (path2[nextCharIdx] === fslib_2.ppath.sep)
          break;
        if (path2[idx - 1] === fslib_2.ppath.sep)
          return null;
        idx = path2.indexOf(extension, nextCharIdx);
      }
      if (path2.length > nextCharIdx && path2[nextCharIdx] !== fslib_2.ppath.sep)
        return null;
      return path2.slice(0, nextCharIdx);
    }
    var ZipOpenFS = class _ZipOpenFS extends fslib_12.MountFS {
      static async openPromise(fn, opts) {
        const zipOpenFs = new _ZipOpenFS(opts);
        try {
          return await fn(zipOpenFs);
        } finally {
          zipOpenFs.saveAndClose();
        }
      }
      constructor(opts = {}) {
        const fileExtensions = opts.fileExtensions;
        const readOnlyArchives = opts.readOnlyArchives;
        const getMountPoint = typeof fileExtensions === `undefined` ? (path2) => getArchivePart(path2, `.zip`) : (path2) => {
          for (const extension of fileExtensions) {
            const result2 = getArchivePart(path2, extension);
            if (result2) {
              return result2;
            }
          }
          return null;
        };
        const factorySync = (baseFs, p) => {
          return new libzip_1.ZipFS(p, {
            baseFs,
            readOnly: readOnlyArchives,
            stats: baseFs.statSync(p)
          });
        };
        const factoryPromise = async (baseFs, p) => {
          const zipOptions = {
            baseFs,
            readOnly: readOnlyArchives,
            stats: await baseFs.statPromise(p)
          };
          return () => {
            return new libzip_1.ZipFS(p, zipOptions);
          };
        };
        super({
          ...opts,
          factorySync,
          factoryPromise,
          getMountPoint
        });
      }
    };
    exports2.ZipOpenFS = ZipOpenFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/ZipFS.js
var require_ZipFS = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/ZipFS.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ZipFS = exports2.LibzipError = exports2.DEFAULT_COMPRESSION_LEVEL = void 0;
    exports2.makeEmptyArchive = makeEmptyArchive;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fslib_2 = require_lib66();
    var fslib_3 = require_lib66();
    var fslib_4 = require_lib66();
    var fslib_5 = require_lib66();
    var fslib_6 = require_lib66();
    var fs_1 = require("fs");
    var stream_12 = require("stream");
    var util_1 = require("util");
    var zlib_1 = tslib_12.__importDefault(require("zlib"));
    var instance_1 = require_instance();
    exports2.DEFAULT_COMPRESSION_LEVEL = `mixed`;
    function toUnixTimestamp(time) {
      if (typeof time === `string` && String(+time) === time)
        return +time;
      if (typeof time === `number` && Number.isFinite(time)) {
        if (time < 0) {
          return Date.now() / 1e3;
        } else {
          return time;
        }
      }
      if (util_1.types.isDate(time))
        return time.getTime() / 1e3;
      throw new Error(`Invalid time`);
    }
    function makeEmptyArchive() {
      return Buffer.from([
        80,
        75,
        5,
        6,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0
      ]);
    }
    var LibzipError = class extends Error {
      constructor(message, code) {
        super(message);
        this.name = `Libzip Error`;
        this.code = code;
      }
    };
    exports2.LibzipError = LibzipError;
    var ZipFS = class extends fslib_12.BasePortableFakeFS {
      constructor(source, opts = {}) {
        super();
        this.listings = /* @__PURE__ */ new Map();
        this.entries = /* @__PURE__ */ new Map();
        this.fileSources = /* @__PURE__ */ new Map();
        this.fds = /* @__PURE__ */ new Map();
        this.nextFd = 0;
        this.ready = false;
        this.readOnly = false;
        const pathOptions = opts;
        this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : exports2.DEFAULT_COMPRESSION_LEVEL;
        source ??= makeEmptyArchive();
        if (typeof source === `string`) {
          const { baseFs = new fslib_2.NodeFS() } = pathOptions;
          this.baseFs = baseFs;
          this.path = source;
        } else {
          this.path = null;
          this.baseFs = null;
        }
        if (opts.stats) {
          this.stats = opts.stats;
        } else {
          if (typeof source === `string`) {
            try {
              this.stats = this.baseFs.statSync(source);
            } catch (error) {
              if (error.code === `ENOENT` && pathOptions.create) {
                this.stats = fslib_5.statUtils.makeDefaultStats();
              } else {
                throw error;
              }
            }
          } else {
            this.stats = fslib_5.statUtils.makeDefaultStats();
          }
        }
        this.libzip = (0, instance_1.getInstance)();
        const errPtr = this.libzip.malloc(4);
        try {
          let flags = 0;
          if (opts.readOnly) {
            flags |= this.libzip.ZIP_RDONLY;
            this.readOnly = true;
          }
          if (typeof source === `string`)
            source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source);
          const lzSource = this.allocateUnattachedSource(source);
          try {
            this.zip = this.libzip.openFromSource(lzSource, flags, errPtr);
            this.lzSource = lzSource;
          } catch (error) {
            this.libzip.source.free(lzSource);
            throw error;
          }
          if (this.zip === 0) {
            const error = this.libzip.struct.errorS();
            this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`));
            throw this.makeLibzipError(error);
          }
        } finally {
          this.libzip.free(errPtr);
        }
        this.listings.set(fslib_6.PortablePath.root, /* @__PURE__ */ new Set());
        const entryCount = this.libzip.getNumEntries(this.zip, 0);
        for (let t = 0; t < entryCount; ++t) {
          const raw = this.libzip.getName(this.zip, t, 0);
          if (fslib_6.ppath.isAbsolute(raw))
            continue;
          const p = fslib_6.ppath.resolve(fslib_6.PortablePath.root, raw);
          this.registerEntry(p, t);
          if (raw.endsWith(`/`)) {
            this.registerListing(p);
          }
        }
        this.symlinkCount = this.libzip.ext.countSymlinks(this.zip);
        if (this.symlinkCount === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        this.ready = true;
      }
      makeLibzipError(error) {
        const errorCode = this.libzip.struct.errorCodeZip(error);
        const strerror = this.libzip.error.strerror(error);
        const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]);
        if (errorCode === this.libzip.errors.ZIP_ER_CHANGED)
          throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`);
        return libzipError;
      }
      getExtractHint(hints) {
        for (const fileName of this.entries.keys()) {
          const ext = this.pathUtils.extname(fileName);
          if (hints.relevantExtensions.has(ext)) {
            return true;
          }
        }
        return false;
      }
      getAllFiles() {
        return Array.from(this.entries.keys());
      }
      getRealPath() {
        if (!this.path)
          throw new Error(`ZipFS don't have real paths when loaded from a buffer`);
        return this.path;
      }
      prepareClose() {
        if (!this.ready)
          throw fslib_5.errors.EBUSY(`archive closed, close`);
        (0, fslib_4.unwatchAllFiles)(this);
      }
      getBufferAndClose() {
        this.prepareClose();
        if (this.entries.size === 0) {
          this.discardAndClose();
          return makeEmptyArchive();
        }
        try {
          this.libzip.source.keep(this.lzSource);
          if (this.libzip.close(this.zip) === -1)
            throw this.makeLibzipError(this.libzip.getError(this.zip));
          if (this.libzip.source.open(this.lzSource) === -1)
            throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
          if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1)
            throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
          const size = this.libzip.source.tell(this.lzSource);
          if (size === -1)
            throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
          if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1)
            throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
          const buffer = this.libzip.malloc(size);
          if (!buffer)
            throw new Error(`Couldn't allocate enough memory`);
          try {
            const rc = this.libzip.source.read(this.lzSource, buffer, size);
            if (rc === -1)
              throw this.makeLibzipError(this.libzip.source.error(this.lzSource));
            else if (rc < size)
              throw new Error(`Incomplete read`);
            else if (rc > size)
              throw new Error(`Overread`);
            let result2 = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size));
            if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE)
              result2 = Buffer.concat([result2, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]);
            return result2;
          } finally {
            this.libzip.free(buffer);
          }
        } finally {
          this.libzip.source.close(this.lzSource);
          this.libzip.source.free(this.lzSource);
          this.ready = false;
        }
      }
      discardAndClose() {
        this.prepareClose();
        this.libzip.discard(this.zip);
        this.ready = false;
      }
      saveAndClose() {
        if (!this.path || !this.baseFs)
          throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`);
        if (this.readOnly) {
          this.discardAndClose();
          return;
        }
        const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === fslib_5.statUtils.DEFAULT_MODE ? void 0 : this.stats.mode;
        this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode });
        this.ready = false;
      }
      resolve(p) {
        return fslib_6.ppath.resolve(fslib_6.PortablePath.root, p);
      }
      async openPromise(p, flags, mode) {
        return this.openSync(p, flags, mode);
      }
      openSync(p, flags, mode) {
        const fd = this.nextFd++;
        this.fds.set(fd, { cursor: 0, p });
        return fd;
      }
      hasOpenFileHandles() {
        return !!this.fds.size;
      }
      async opendirPromise(p, opts) {
        return this.opendirSync(p, opts);
      }
      opendirSync(p, opts = {}) {
        const resolvedP = this.resolveFilename(`opendir '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`opendir '${p}'`);
        const directoryListing = this.listings.get(resolvedP);
        if (!directoryListing)
          throw fslib_5.errors.ENOTDIR(`opendir '${p}'`);
        const entries = [...directoryListing];
        const fd = this.openSync(resolvedP, `r`);
        const onClose = () => {
          this.closeSync(fd);
        };
        return (0, fslib_3.opendir)(this, resolvedP, entries, { onClose });
      }
      async readPromise(fd, buffer, offset, length, position) {
        return this.readSync(fd, buffer, offset, length, position);
      }
      readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) {
        const entry = this.fds.get(fd);
        if (typeof entry === `undefined`)
          throw fslib_5.errors.EBADF(`read`);
        const realPosition = position === -1 || position === null ? entry.cursor : position;
        const source = this.readFileSync(entry.p);
        source.copy(buffer, offset, realPosition, realPosition + length);
        const bytesRead = Math.max(0, Math.min(source.length - realPosition, length));
        if (position === -1 || position === null)
          entry.cursor += bytesRead;
        return bytesRead;
      }
      async writePromise(fd, buffer, offset, length, position) {
        if (typeof buffer === `string`) {
          return this.writeSync(fd, buffer, position);
        } else {
          return this.writeSync(fd, buffer, offset, length, position);
        }
      }
      writeSync(fd, buffer, offset, length, position) {
        const entry = this.fds.get(fd);
        if (typeof entry === `undefined`)
          throw fslib_5.errors.EBADF(`read`);
        throw new Error(`Unimplemented`);
      }
      async closePromise(fd) {
        return this.closeSync(fd);
      }
      closeSync(fd) {
        const entry = this.fds.get(fd);
        if (typeof entry === `undefined`)
          throw fslib_5.errors.EBADF(`read`);
        this.fds.delete(fd);
      }
      createReadStream(p, { encoding } = {}) {
        if (p === null)
          throw new Error(`Unimplemented`);
        const fd = this.openSync(p, `r`);
        const stream = Object.assign(new stream_12.PassThrough({
          emitClose: true,
          autoDestroy: true,
          destroy: (error, callback) => {
            clearImmediate(immediate);
            this.closeSync(fd);
            callback(error);
          }
        }), {
          close() {
            stream.destroy();
          },
          bytesRead: 0,
          path: p,
          // "This property is `true` if the underlying file has not been opened yet"
          pending: false
        });
        const immediate = setImmediate(async () => {
          try {
            const data = await this.readFilePromise(p, encoding);
            stream.bytesRead = data.length;
            stream.end(data);
          } catch (error) {
            stream.destroy(error);
          }
        });
        return stream;
      }
      createWriteStream(p, { encoding } = {}) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`open '${p}'`);
        if (p === null)
          throw new Error(`Unimplemented`);
        const chunks = [];
        const fd = this.openSync(p, `w`);
        const stream = Object.assign(new stream_12.PassThrough({
          autoDestroy: true,
          emitClose: true,
          destroy: (error, callback) => {
            try {
              if (error) {
                callback(error);
              } else {
                this.writeFileSync(p, Buffer.concat(chunks), encoding);
                callback(null);
              }
            } catch (err) {
              callback(err);
            } finally {
              this.closeSync(fd);
            }
          }
        }), {
          close() {
            stream.destroy();
          },
          bytesWritten: 0,
          path: p,
          // "This property is `true` if the underlying file has not been opened yet"
          pending: false
        });
        stream.on(`data`, (chunk) => {
          const chunkBuffer = Buffer.from(chunk);
          stream.bytesWritten += chunkBuffer.length;
          chunks.push(chunkBuffer);
        });
        return stream;
      }
      async realpathPromise(p) {
        return this.realpathSync(p);
      }
      realpathSync(p) {
        const resolvedP = this.resolveFilename(`lstat '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`lstat '${p}'`);
        return resolvedP;
      }
      async existsPromise(p) {
        return this.existsSync(p);
      }
      existsSync(p) {
        if (!this.ready)
          throw fslib_5.errors.EBUSY(`archive closed, existsSync '${p}'`);
        if (this.symlinkCount === 0) {
          const resolvedP2 = fslib_6.ppath.resolve(fslib_6.PortablePath.root, p);
          return this.entries.has(resolvedP2) || this.listings.has(resolvedP2);
        }
        let resolvedP;
        try {
          resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false);
        } catch {
          return false;
        }
        if (resolvedP === void 0)
          return false;
        return this.entries.has(resolvedP) || this.listings.has(resolvedP);
      }
      async accessPromise(p, mode) {
        return this.accessSync(p, mode);
      }
      accessSync(p, mode = fs_1.constants.F_OK) {
        const resolvedP = this.resolveFilename(`access '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`access '${p}'`);
        if (this.readOnly && mode & fs_1.constants.W_OK) {
          throw fslib_5.errors.EROFS(`access '${p}'`);
        }
      }
      async statPromise(p, opts = { bigint: false }) {
        if (opts.bigint)
          return this.statSync(p, { bigint: true });
        return this.statSync(p);
      }
      statSync(p, opts = { bigint: false, throwIfNoEntry: true }) {
        const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry);
        if (resolvedP === void 0)
          return void 0;
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) {
          if (opts.throwIfNoEntry === false)
            return void 0;
          throw fslib_5.errors.ENOENT(`stat '${p}'`);
        }
        if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOTDIR(`stat '${p}'`);
        return this.statImpl(`stat '${p}'`, resolvedP, opts);
      }
      async fstatPromise(fd, opts) {
        return this.fstatSync(fd, opts);
      }
      fstatSync(fd, opts) {
        const entry = this.fds.get(fd);
        if (typeof entry === `undefined`)
          throw fslib_5.errors.EBADF(`fstatSync`);
        const { p } = entry;
        const resolvedP = this.resolveFilename(`stat '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`stat '${p}'`);
        if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOTDIR(`stat '${p}'`);
        return this.statImpl(`fstat '${p}'`, resolvedP, opts);
      }
      async lstatPromise(p, opts = { bigint: false }) {
        if (opts.bigint)
          return this.lstatSync(p, { bigint: true });
        return this.lstatSync(p);
      }
      lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) {
        const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry);
        if (resolvedP === void 0)
          return void 0;
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) {
          if (opts.throwIfNoEntry === false)
            return void 0;
          throw fslib_5.errors.ENOENT(`lstat '${p}'`);
        }
        if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOTDIR(`lstat '${p}'`);
        return this.statImpl(`lstat '${p}'`, resolvedP, opts);
      }
      statImpl(reason, p, opts = {}) {
        const entry = this.entries.get(p);
        if (typeof entry !== `undefined`) {
          const stat = this.libzip.struct.statS();
          const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat);
          if (rc === -1)
            throw this.makeLibzipError(this.libzip.getError(this.zip));
          const uid = this.stats.uid;
          const gid = this.stats.gid;
          const size = this.libzip.struct.statSize(stat) >>> 0;
          const blksize = 512;
          const blocks = Math.ceil(size / blksize);
          const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3;
          const atimeMs = mtimeMs;
          const birthtimeMs = mtimeMs;
          const ctimeMs = mtimeMs;
          const atime = new Date(atimeMs);
          const birthtime = new Date(birthtimeMs);
          const ctime = new Date(ctimeMs);
          const mtime = new Date(mtimeMs);
          const type = this.listings.has(p) ? fs_1.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs_1.constants.S_IFLNK : fs_1.constants.S_IFREG;
          const defaultMode = type === fs_1.constants.S_IFDIR ? 493 : 420;
          const mode = type | this.getUnixMode(entry, defaultMode) & 511;
          const crc = this.libzip.struct.statCrc(stat);
          const statInstance = Object.assign(new fslib_5.statUtils.StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc });
          return opts.bigint === true ? fslib_5.statUtils.convertToBigIntStats(statInstance) : statInstance;
        }
        if (this.listings.has(p)) {
          const uid = this.stats.uid;
          const gid = this.stats.gid;
          const size = 0;
          const blksize = 512;
          const blocks = 0;
          const atimeMs = this.stats.mtimeMs;
          const birthtimeMs = this.stats.mtimeMs;
          const ctimeMs = this.stats.mtimeMs;
          const mtimeMs = this.stats.mtimeMs;
          const atime = new Date(atimeMs);
          const birthtime = new Date(birthtimeMs);
          const ctime = new Date(ctimeMs);
          const mtime = new Date(mtimeMs);
          const mode = fs_1.constants.S_IFDIR | 493;
          const crc = 0;
          const statInstance = Object.assign(new fslib_5.statUtils.StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc });
          return opts.bigint === true ? fslib_5.statUtils.convertToBigIntStats(statInstance) : statInstance;
        }
        throw new Error(`Unreachable`);
      }
      getUnixMode(index, defaultMode) {
        const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
        if (rc === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
        if (opsys !== this.libzip.ZIP_OPSYS_UNIX)
          return defaultMode;
        return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
      }
      registerListing(p) {
        const existingListing = this.listings.get(p);
        if (existingListing)
          return existingListing;
        const parentListing = this.registerListing(fslib_6.ppath.dirname(p));
        parentListing.add(fslib_6.ppath.basename(p));
        const newListing = /* @__PURE__ */ new Set();
        this.listings.set(p, newListing);
        return newListing;
      }
      registerEntry(p, index) {
        const parentListing = this.registerListing(fslib_6.ppath.dirname(p));
        parentListing.add(fslib_6.ppath.basename(p));
        this.entries.set(p, index);
      }
      unregisterListing(p) {
        this.listings.delete(p);
        const parentListing = this.listings.get(fslib_6.ppath.dirname(p));
        parentListing?.delete(fslib_6.ppath.basename(p));
      }
      unregisterEntry(p) {
        this.unregisterListing(p);
        const entry = this.entries.get(p);
        this.entries.delete(p);
        if (typeof entry === `undefined`)
          return;
        this.fileSources.delete(entry);
        if (this.isSymbolicLink(entry)) {
          this.symlinkCount--;
        }
      }
      deleteEntry(p, index) {
        this.unregisterEntry(p);
        const rc = this.libzip.delete(this.zip, index);
        if (rc === -1) {
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        }
      }
      resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) {
        if (!this.ready)
          throw fslib_5.errors.EBUSY(`archive closed, ${reason}`);
        let resolvedP = fslib_6.ppath.resolve(fslib_6.PortablePath.root, p);
        if (resolvedP === `/`)
          return fslib_6.PortablePath.root;
        const fileIndex = this.entries.get(resolvedP);
        if (resolveLastComponent && fileIndex !== void 0) {
          if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) {
            const target = this.getFileSource(fileIndex).toString();
            return this.resolveFilename(reason, fslib_6.ppath.resolve(fslib_6.ppath.dirname(resolvedP), target), true, throwIfNoEntry);
          } else {
            return resolvedP;
          }
        }
        while (true) {
          const parentP = this.resolveFilename(reason, fslib_6.ppath.dirname(resolvedP), true, throwIfNoEntry);
          if (parentP === void 0)
            return parentP;
          const isDir = this.listings.has(parentP);
          const doesExist = this.entries.has(parentP);
          if (!isDir && !doesExist) {
            if (throwIfNoEntry === false)
              return void 0;
            throw fslib_5.errors.ENOENT(reason);
          }
          if (!isDir)
            throw fslib_5.errors.ENOTDIR(reason);
          resolvedP = fslib_6.ppath.resolve(parentP, fslib_6.ppath.basename(resolvedP));
          if (!resolveLastComponent || this.symlinkCount === 0)
            break;
          const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0);
          if (index === -1)
            break;
          if (this.isSymbolicLink(index)) {
            const target = this.getFileSource(index).toString();
            resolvedP = fslib_6.ppath.resolve(fslib_6.ppath.dirname(resolvedP), target);
          } else {
            break;
          }
        }
        return resolvedP;
      }
      allocateBuffer(content) {
        if (!Buffer.isBuffer(content))
          content = Buffer.from(content);
        const buffer = this.libzip.malloc(content.byteLength);
        if (!buffer)
          throw new Error(`Couldn't allocate enough memory`);
        const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength);
        heap.set(content);
        return { buffer, byteLength: content.byteLength };
      }
      allocateUnattachedSource(content) {
        const error = this.libzip.struct.errorS();
        const { buffer, byteLength } = this.allocateBuffer(content);
        const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error);
        if (source === 0) {
          this.libzip.free(error);
          throw this.makeLibzipError(error);
        }
        return source;
      }
      allocateSource(content) {
        const { buffer, byteLength } = this.allocateBuffer(content);
        const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1);
        if (source === 0) {
          this.libzip.free(buffer);
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        }
        return source;
      }
      setFileSource(p, content) {
        const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content);
        const target = fslib_6.ppath.relative(fslib_6.PortablePath.root, p);
        const lzSource = this.allocateSource(content);
        try {
          const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE);
          if (newIndex === -1)
            throw this.makeLibzipError(this.libzip.getError(this.zip));
          if (this.level !== `mixed`) {
            const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE;
            const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level);
            if (rc === -1) {
              throw this.makeLibzipError(this.libzip.getError(this.zip));
            }
          }
          this.fileSources.set(newIndex, buffer);
          return newIndex;
        } catch (error) {
          this.libzip.source.free(lzSource);
          throw error;
        }
      }
      isSymbolicLink(index) {
        if (this.symlinkCount === 0)
          return false;
        const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);
        if (attrs === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;
        if (opsys !== this.libzip.ZIP_OPSYS_UNIX)
          return false;
        const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;
        return (attributes & fs_1.constants.S_IFMT) === fs_1.constants.S_IFLNK;
      }
      getFileSource(index, opts = { asyncDecompress: false }) {
        const cachedFileSource = this.fileSources.get(index);
        if (typeof cachedFileSource !== `undefined`)
          return cachedFileSource;
        const stat = this.libzip.struct.statS();
        const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat);
        if (rc === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        const size = this.libzip.struct.statCompSize(stat);
        const compressionMethod = this.libzip.struct.statCompMethod(stat);
        const buffer = this.libzip.malloc(size);
        try {
          const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED);
          if (file === 0)
            throw this.makeLibzipError(this.libzip.getError(this.zip));
          try {
            const rc2 = this.libzip.fread(file, buffer, size, 0);
            if (rc2 === -1)
              throw this.makeLibzipError(this.libzip.file.getError(file));
            else if (rc2 < size)
              throw new Error(`Incomplete read`);
            else if (rc2 > size)
              throw new Error(`Overread`);
            const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);
            const data = Buffer.from(memory);
            if (compressionMethod === 0) {
              this.fileSources.set(index, data);
              return data;
            } else if (opts.asyncDecompress) {
              return new Promise((resolve, reject) => {
                zlib_1.default.inflateRaw(data, (error, result2) => {
                  if (error) {
                    reject(error);
                  } else {
                    this.fileSources.set(index, result2);
                    resolve(result2);
                  }
                });
              });
            } else {
              const decompressedData = zlib_1.default.inflateRawSync(data);
              this.fileSources.set(index, decompressedData);
              return decompressedData;
            }
          } finally {
            this.libzip.fclose(file);
          }
        } finally {
          this.libzip.free(buffer);
        }
      }
      async fchmodPromise(fd, mask) {
        return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask);
      }
      fchmodSync(fd, mask) {
        return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask);
      }
      async chmodPromise(p, mask) {
        return this.chmodSync(p, mask);
      }
      chmodSync(p, mask) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`chmod '${p}'`);
        mask &= 493;
        const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false);
        const entry = this.entries.get(resolvedP);
        if (typeof entry === `undefined`)
          throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`);
        const oldMod = this.getUnixMode(entry, fs_1.constants.S_IFREG | 0);
        const newMod = oldMod & ~511 | mask;
        const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16);
        if (rc === -1) {
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        }
      }
      async fchownPromise(fd, uid, gid) {
        return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid);
      }
      fchownSync(fd, uid, gid) {
        return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid);
      }
      async chownPromise(p, uid, gid) {
        return this.chownSync(p, uid, gid);
      }
      chownSync(p, uid, gid) {
        throw new Error(`Unimplemented`);
      }
      async renamePromise(oldP, newP) {
        return this.renameSync(oldP, newP);
      }
      renameSync(oldP, newP) {
        throw new Error(`Unimplemented`);
      }
      async copyFilePromise(sourceP, destP, flags) {
        const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags);
        const source = await this.getFileSource(indexSource, { asyncDecompress: true });
        const newIndex = this.setFileSource(resolvedDestP, source);
        if (newIndex !== indexDest) {
          this.registerEntry(resolvedDestP, newIndex);
        }
      }
      copyFileSync(sourceP, destP, flags = 0) {
        const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags);
        const source = this.getFileSource(indexSource);
        const newIndex = this.setFileSource(resolvedDestP, source);
        if (newIndex !== indexDest) {
          this.registerEntry(resolvedDestP, newIndex);
        }
      }
      prepareCopyFile(sourceP, destP, flags = 0) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`copyfile '${sourceP} -> '${destP}'`);
        if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0)
          throw fslib_5.errors.ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`);
        const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP);
        const indexSource = this.entries.get(resolvedSourceP);
        if (typeof indexSource === `undefined`)
          throw fslib_5.errors.EINVAL(`copyfile '${sourceP}' -> '${destP}'`);
        const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP);
        const indexDest = this.entries.get(resolvedDestP);
        if ((flags & (fs_1.constants.COPYFILE_EXCL | fs_1.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`)
          throw fslib_5.errors.EEXIST(`copyfile '${sourceP}' -> '${destP}'`);
        return {
          indexSource,
          resolvedDestP,
          indexDest
        };
      }
      async appendFilePromise(p, content, opts) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`open '${p}'`);
        if (typeof opts === `undefined`)
          opts = { flag: `a` };
        else if (typeof opts === `string`)
          opts = { flag: `a`, encoding: opts };
        else if (typeof opts.flag === `undefined`)
          opts = { flag: `a`, ...opts };
        return this.writeFilePromise(p, content, opts);
      }
      appendFileSync(p, content, opts = {}) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`open '${p}'`);
        if (typeof opts === `undefined`)
          opts = { flag: `a` };
        else if (typeof opts === `string`)
          opts = { flag: `a`, encoding: opts };
        else if (typeof opts.flag === `undefined`)
          opts = { flag: `a`, ...opts };
        return this.writeFileSync(p, content, opts);
      }
      fdToPath(fd, reason) {
        const path2 = this.fds.get(fd)?.p;
        if (typeof path2 === `undefined`)
          throw fslib_5.errors.EBADF(reason);
        return path2;
      }
      async writeFilePromise(p, content, opts) {
        const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts);
        if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`))
          content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]);
        if (encoding !== null)
          content = content.toString(encoding);
        const newIndex = this.setFileSource(resolvedP, content);
        if (newIndex !== index)
          this.registerEntry(resolvedP, newIndex);
        if (mode !== null) {
          await this.chmodPromise(resolvedP, mode);
        }
      }
      writeFileSync(p, content, opts) {
        const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts);
        if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`))
          content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]);
        if (encoding !== null)
          content = content.toString(encoding);
        const newIndex = this.setFileSource(resolvedP, content);
        if (newIndex !== index)
          this.registerEntry(resolvedP, newIndex);
        if (mode !== null) {
          this.chmodSync(resolvedP, mode);
        }
      }
      prepareWriteFile(p, opts) {
        if (typeof p === `number`)
          p = this.fdToPath(p, `read`);
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`open '${p}'`);
        const resolvedP = this.resolveFilename(`open '${p}'`, p);
        if (this.listings.has(resolvedP))
          throw fslib_5.errors.EISDIR(`open '${p}'`);
        let encoding = null, mode = null;
        if (typeof opts === `string`) {
          encoding = opts;
        } else if (typeof opts === `object`) {
          ({
            encoding = null,
            mode = null
          } = opts);
        }
        const index = this.entries.get(resolvedP);
        return {
          encoding,
          mode,
          resolvedP,
          index
        };
      }
      async unlinkPromise(p) {
        return this.unlinkSync(p);
      }
      unlinkSync(p) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`unlink '${p}'`);
        const resolvedP = this.resolveFilename(`unlink '${p}'`, p);
        if (this.listings.has(resolvedP))
          throw fslib_5.errors.EISDIR(`unlink '${p}'`);
        const index = this.entries.get(resolvedP);
        if (typeof index === `undefined`)
          throw fslib_5.errors.EINVAL(`unlink '${p}'`);
        this.deleteEntry(resolvedP, index);
      }
      async utimesPromise(p, atime, mtime) {
        return this.utimesSync(p, atime, mtime);
      }
      utimesSync(p, atime, mtime) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`utimes '${p}'`);
        const resolvedP = this.resolveFilename(`utimes '${p}'`, p);
        this.utimesImpl(resolvedP, mtime);
      }
      async lutimesPromise(p, atime, mtime) {
        return this.lutimesSync(p, atime, mtime);
      }
      lutimesSync(p, atime, mtime) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`lutimes '${p}'`);
        const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false);
        this.utimesImpl(resolvedP, mtime);
      }
      utimesImpl(resolvedP, mtime) {
        if (this.listings.has(resolvedP)) {
          if (!this.entries.has(resolvedP))
            this.hydrateDirectory(resolvedP);
        }
        const entry = this.entries.get(resolvedP);
        if (entry === void 0)
          throw new Error(`Unreachable`);
        const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0);
        if (rc === -1) {
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        }
      }
      async mkdirPromise(p, opts) {
        return this.mkdirSync(p, opts);
      }
      mkdirSync(p, { mode = 493, recursive = false } = {}) {
        if (recursive)
          return this.mkdirpSync(p, { chmod: mode });
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`mkdir '${p}'`);
        const resolvedP = this.resolveFilename(`mkdir '${p}'`, p);
        if (this.entries.has(resolvedP) || this.listings.has(resolvedP))
          throw fslib_5.errors.EEXIST(`mkdir '${p}'`);
        this.hydrateDirectory(resolvedP);
        this.chmodSync(resolvedP, mode);
        return void 0;
      }
      async rmdirPromise(p, opts) {
        return this.rmdirSync(p, opts);
      }
      rmdirSync(p, { recursive = false } = {}) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`rmdir '${p}'`);
        if (recursive) {
          this.removeSync(p);
          return;
        }
        const resolvedP = this.resolveFilename(`rmdir '${p}'`, p);
        const directoryListing = this.listings.get(resolvedP);
        if (!directoryListing)
          throw fslib_5.errors.ENOTDIR(`rmdir '${p}'`);
        if (directoryListing.size > 0)
          throw fslib_5.errors.ENOTEMPTY(`rmdir '${p}'`);
        const index = this.entries.get(resolvedP);
        if (typeof index === `undefined`)
          throw fslib_5.errors.EINVAL(`rmdir '${p}'`);
        this.deleteEntry(p, index);
      }
      async rmPromise(p, opts) {
        return this.rmSync(p, opts);
      }
      rmSync(p, { recursive = false } = {}) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`rm '${p}'`);
        if (recursive) {
          this.removeSync(p);
          return;
        }
        const resolvedP = this.resolveFilename(`rm '${p}'`, p);
        const directoryListing = this.listings.get(resolvedP);
        if (!directoryListing)
          throw fslib_5.errors.ENOTDIR(`rm '${p}'`);
        if (directoryListing.size > 0)
          throw fslib_5.errors.ENOTEMPTY(`rm '${p}'`);
        const index = this.entries.get(resolvedP);
        if (typeof index === `undefined`)
          throw fslib_5.errors.EINVAL(`rm '${p}'`);
        this.deleteEntry(p, index);
      }
      hydrateDirectory(resolvedP) {
        const index = this.libzip.dir.add(this.zip, fslib_6.ppath.relative(fslib_6.PortablePath.root, resolvedP));
        if (index === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        this.registerListing(resolvedP);
        this.registerEntry(resolvedP, index);
        return index;
      }
      async linkPromise(existingP, newP) {
        return this.linkSync(existingP, newP);
      }
      linkSync(existingP, newP) {
        throw fslib_5.errors.EOPNOTSUPP(`link '${existingP}' -> '${newP}'`);
      }
      async symlinkPromise(target, p) {
        return this.symlinkSync(target, p);
      }
      symlinkSync(target, p) {
        if (this.readOnly)
          throw fslib_5.errors.EROFS(`symlink '${target}' -> '${p}'`);
        const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p);
        if (this.listings.has(resolvedP))
          throw fslib_5.errors.EISDIR(`symlink '${target}' -> '${p}'`);
        if (this.entries.has(resolvedP))
          throw fslib_5.errors.EEXIST(`symlink '${target}' -> '${p}'`);
        const index = this.setFileSource(resolvedP, target);
        this.registerEntry(resolvedP, index);
        const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (fs_1.constants.S_IFLNK | 511) << 16);
        if (rc === -1)
          throw this.makeLibzipError(this.libzip.getError(this.zip));
        this.symlinkCount += 1;
      }
      async readFilePromise(p, encoding) {
        if (typeof encoding === `object`)
          encoding = encoding ? encoding.encoding : void 0;
        const data = await this.readFileBuffer(p, { asyncDecompress: true });
        return encoding ? data.toString(encoding) : data;
      }
      readFileSync(p, encoding) {
        if (typeof encoding === `object`)
          encoding = encoding ? encoding.encoding : void 0;
        const data = this.readFileBuffer(p);
        return encoding ? data.toString(encoding) : data;
      }
      readFileBuffer(p, opts = { asyncDecompress: false }) {
        if (typeof p === `number`)
          p = this.fdToPath(p, `read`);
        const resolvedP = this.resolveFilename(`open '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`open '${p}'`);
        if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOTDIR(`open '${p}'`);
        if (this.listings.has(resolvedP))
          throw fslib_5.errors.EISDIR(`read`);
        const entry = this.entries.get(resolvedP);
        if (entry === void 0)
          throw new Error(`Unreachable`);
        return this.getFileSource(entry, opts);
      }
      async readdirPromise(p, opts) {
        return this.readdirSync(p, opts);
      }
      readdirSync(p, opts) {
        const resolvedP = this.resolveFilename(`scandir '${p}'`, p);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`scandir '${p}'`);
        const directoryListing = this.listings.get(resolvedP);
        if (!directoryListing)
          throw fslib_5.errors.ENOTDIR(`scandir '${p}'`);
        if (opts?.recursive) {
          if (opts?.withFileTypes) {
            const entries = Array.from(directoryListing, (name) => {
              return Object.assign(this.statImpl(`lstat`, fslib_6.ppath.join(p, name)), {
                name,
                path: fslib_6.PortablePath.dot
              });
            });
            for (const entry of entries) {
              if (!entry.isDirectory())
                continue;
              const subPath = fslib_6.ppath.join(entry.path, entry.name);
              const subListing = this.listings.get(fslib_6.ppath.join(resolvedP, subPath));
              for (const child of subListing) {
                entries.push(Object.assign(this.statImpl(`lstat`, fslib_6.ppath.join(p, subPath, child)), {
                  name: child,
                  path: subPath
                }));
              }
            }
            return entries;
          } else {
            const entries = [...directoryListing];
            for (const subPath of entries) {
              const subListing = this.listings.get(fslib_6.ppath.join(resolvedP, subPath));
              if (typeof subListing === `undefined`)
                continue;
              for (const child of subListing) {
                entries.push(fslib_6.ppath.join(subPath, child));
              }
            }
            return entries;
          }
        } else if (opts?.withFileTypes) {
          return Array.from(directoryListing, (name) => {
            return Object.assign(this.statImpl(`lstat`, fslib_6.ppath.join(p, name)), {
              name,
              path: void 0
            });
          });
        } else {
          return [...directoryListing];
        }
      }
      async readlinkPromise(p) {
        const entry = this.prepareReadlink(p);
        return (await this.getFileSource(entry, { asyncDecompress: true })).toString();
      }
      readlinkSync(p) {
        const entry = this.prepareReadlink(p);
        return this.getFileSource(entry).toString();
      }
      prepareReadlink(p) {
        const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false);
        if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOENT(`readlink '${p}'`);
        if (p[p.length - 1] === `/` && !this.listings.has(resolvedP))
          throw fslib_5.errors.ENOTDIR(`open '${p}'`);
        if (this.listings.has(resolvedP))
          throw fslib_5.errors.EINVAL(`readlink '${p}'`);
        const entry = this.entries.get(resolvedP);
        if (entry === void 0)
          throw new Error(`Unreachable`);
        if (!this.isSymbolicLink(entry))
          throw fslib_5.errors.EINVAL(`readlink '${p}'`);
        return entry;
      }
      async truncatePromise(p, len = 0) {
        const resolvedP = this.resolveFilename(`open '${p}'`, p);
        const index = this.entries.get(resolvedP);
        if (typeof index === `undefined`)
          throw fslib_5.errors.EINVAL(`open '${p}'`);
        const source = await this.getFileSource(index, { asyncDecompress: true });
        const truncated = Buffer.alloc(len, 0);
        source.copy(truncated);
        return await this.writeFilePromise(p, truncated);
      }
      truncateSync(p, len = 0) {
        const resolvedP = this.resolveFilename(`open '${p}'`, p);
        const index = this.entries.get(resolvedP);
        if (typeof index === `undefined`)
          throw fslib_5.errors.EINVAL(`open '${p}'`);
        const source = this.getFileSource(index);
        const truncated = Buffer.alloc(len, 0);
        source.copy(truncated);
        return this.writeFileSync(p, truncated);
      }
      async ftruncatePromise(fd, len) {
        return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len);
      }
      ftruncateSync(fd, len) {
        return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len);
      }
      watch(p, a, b) {
        let persistent;
        switch (typeof a) {
          case `function`:
          case `string`:
          case `undefined`:
            {
              persistent = true;
            }
            break;
          default:
            {
              ({ persistent = true } = a);
            }
            break;
        }
        if (!persistent)
          return { on: () => {
          }, close: () => {
          } };
        const interval = setInterval(() => {
        }, 24 * 60 * 60 * 1e3);
        return { on: () => {
        }, close: () => {
          clearInterval(interval);
        } };
      }
      watchFile(p, a, b) {
        const resolvedP = fslib_6.ppath.resolve(fslib_6.PortablePath.root, p);
        return (0, fslib_4.watchFile)(this, resolvedP, a, b);
      }
      unwatchFile(p, cb) {
        const resolvedP = fslib_6.ppath.resolve(fslib_6.PortablePath.root, p);
        return (0, fslib_4.unwatchFile)(this, resolvedP, cb);
      }
    };
    exports2.ZipFS = ZipFS;
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/mountMemoryDrive.js
var require_mountMemoryDrive = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/mountMemoryDrive.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mountMemoryDrive = mountMemoryDrive;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fs_1 = tslib_12.__importDefault(require("fs"));
    var ZipFS_1 = require_ZipFS();
    function mountMemoryDrive(origFs, mountPoint, source = Buffer.alloc(0), opts) {
      const archive = new ZipFS_1.ZipFS(source);
      const getMountPoint = (p) => {
        const detectedMountPoint = p === mountPoint || p.startsWith(`${mountPoint}/`) ? p.slice(0, mountPoint.length) : null;
        return detectedMountPoint;
      };
      const factoryPromise = async (baseFs, p) => {
        return () => archive;
      };
      const factorySync = (baseFs, p) => {
        return archive;
      };
      const localFs = { ...origFs };
      const nodeFs = new fslib_12.NodeFS(localFs);
      const mountFs = new fslib_12.MountFS({
        baseFs: nodeFs,
        getMountPoint,
        factoryPromise,
        factorySync,
        magicByte: 21,
        maxAge: Infinity,
        typeCheck: opts?.typeCheck
      });
      (0, fslib_12.patchFs)(fs_1.default, new fslib_12.PosixFS(mountFs));
      return archive;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/common.js
var require_common9 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/common.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.mountMemoryDrive = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    tslib_12.__exportStar(require_ZipOpenFS(), exports2);
    tslib_12.__exportStar(require_ZipFS(), exports2);
    var mountMemoryDrive_1 = require_mountMemoryDrive();
    Object.defineProperty(exports2, "mountMemoryDrive", { enumerable: true, get: function() {
      return mountMemoryDrive_1.mountMemoryDrive;
    } });
  }
});

// ../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/sync.js
var require_sync10 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+libzip@3.1.1_@yarnpkg+fslib@3.1.2/node_modules/@yarnpkg/libzip/lib/sync.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getLibzipSync = getLibzipSync;
    exports2.getLibzipPromise = getLibzipPromise;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var instance_1 = require_instance();
    var libzipSync_1 = tslib_12.__importDefault(require_libzipSync());
    var makeInterface_1 = require_makeInterface();
    tslib_12.__exportStar(require_common9(), exports2);
    (0, instance_1.setFactory)(() => {
      const emZip = (0, libzipSync_1.default)();
      return (0, makeInterface_1.makeInterface)(emZip);
    });
    function getLibzipSync() {
      return (0, instance_1.getInstance)();
    }
    async function getLibzipPromise() {
      return (0, instance_1.getInstance)();
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js
var require_entry4 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/commands/entry.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var fslib_12 = require_lib66();
    var clipanion_12 = require_advanced();
    var index_1 = require_lib157();
    var EntryCommand = class extends clipanion_12.Command {
      constructor() {
        super(...arguments);
        this.cwd = clipanion_12.Option.String(`--cwd`, process.cwd(), {
          description: `The directory to run the command in`
        });
        this.commandName = clipanion_12.Option.String();
        this.args = clipanion_12.Option.Proxy();
      }
      async execute() {
        const command = this.args.length > 0 ? `${this.commandName} ${this.args.join(` `)}` : this.commandName;
        return await (0, index_1.execute)(command, [], {
          cwd: fslib_12.npath.toPortablePath(this.cwd),
          stdin: this.context.stdin,
          stdout: this.context.stdout,
          stderr: this.context.stderr
        });
      }
    };
    EntryCommand.usage = {
      description: `run a command using yarn's portable shell`,
      details: `
      This command will run a command using Yarn's portable shell.

      Make sure to escape glob patterns, redirections, and other features that might be expanded by your own shell.

      Note: To escape something from Yarn's shell, you might have to escape it twice, the first time from your own shell.

      Note: Don't use this command in Yarn scripts, as Yarn's shell is automatically used.

      For a list of features, visit: https://github.com/yarnpkg/berry/blob/master/packages/yarnpkg-shell/README.md.
    `,
      examples: [[
        `Run a simple command`,
        `$0 echo Hello`
      ], [
        `Run a command with a glob pattern`,
        `$0 echo '*.js'`
      ], [
        `Run a command with a redirection`,
        `$0 echo Hello World '>' hello.txt`
      ], [
        `Run a command with an escaped glob pattern (The double escape is needed in Unix shells)`,
        `$0 echo '"*.js"'`
      ], [
        `Run a command with a variable (Double quotes are needed in Unix shells, to prevent them from expanding the variable)`,
        `$0 "GREETING=Hello echo $GREETING World"`
      ]]
    };
    exports2.default = EntryCommand;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js
var require_errors8 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/errors.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ShellError = void 0;
    var ShellError = class extends Error {
      constructor(message) {
        super(message);
        this.name = `ShellError`;
      }
    };
    exports2.ShellError = ShellError;
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js
var require_globUtils2 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/globUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.fastGlobOptions = exports2.micromatchOptions = void 0;
    exports2.isGlobPattern = isGlobPattern;
    exports2.match = match;
    exports2.isBraceExpansion = isBraceExpansion;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fast_glob_1 = tslib_12.__importDefault(require_out4());
    var fs_1 = tslib_12.__importDefault(require("fs"));
    var micromatch_12 = tslib_12.__importDefault(require_micromatch());
    exports2.micromatchOptions = {
      // This is required because we don't want ")/*" to be a valid shell glob pattern.
      strictBrackets: true
    };
    exports2.fastGlobOptions = {
      onlyDirectories: false,
      onlyFiles: false
    };
    function isGlobPattern(pattern) {
      if (!micromatch_12.default.scan(pattern, exports2.micromatchOptions).isGlob)
        return false;
      try {
        micromatch_12.default.parse(pattern, exports2.micromatchOptions);
      } catch {
        return false;
      }
      return true;
    }
    function match(pattern, { cwd, baseFs }) {
      return (0, fast_glob_1.default)(pattern, {
        ...exports2.fastGlobOptions,
        cwd: fslib_12.npath.fromPortablePath(cwd),
        fs: (0, fslib_12.extendFs)(fs_1.default, new fslib_12.PosixFS(baseFs))
      });
    }
    function isBraceExpansion(pattern) {
      return micromatch_12.default.scan(pattern, exports2.micromatchOptions).isBrace;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js
var require_pipe5 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/pipe.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Handle = exports2.ProtectedStream = exports2.Pipe = void 0;
    exports2.makeProcess = makeProcess;
    exports2.makeBuiltin = makeBuiltin;
    exports2.start = start;
    exports2.createOutputStreamsWithPrefix = createOutputStreamsWithPrefix;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var cross_spawn_1 = tslib_12.__importDefault(require_cross_spawn());
    var stream_12 = require("stream");
    var string_decoder_1 = require("string_decoder");
    var Pipe;
    (function(Pipe2) {
      Pipe2[Pipe2["STDIN"] = 0] = "STDIN";
      Pipe2[Pipe2["STDOUT"] = 1] = "STDOUT";
      Pipe2[Pipe2["STDERR"] = 2] = "STDERR";
    })(Pipe || (exports2.Pipe = Pipe = {}));
    var activeChildren = /* @__PURE__ */ new Set();
    function sigintHandler() {
    }
    function sigtermHandler() {
      for (const child of activeChildren) {
        child.kill();
      }
    }
    function makeProcess(name, args, opts, spawnOpts) {
      return (stdio) => {
        const stdin = stdio[0] instanceof stream_12.Transform ? `pipe` : stdio[0];
        const stdout = stdio[1] instanceof stream_12.Transform ? `pipe` : stdio[1];
        const stderr = stdio[2] instanceof stream_12.Transform ? `pipe` : stdio[2];
        const child = (0, cross_spawn_1.default)(name, args, { ...spawnOpts, stdio: [
          stdin,
          stdout,
          stderr
        ] });
        activeChildren.add(child);
        if (activeChildren.size === 1) {
          process.on(`SIGINT`, sigintHandler);
          process.on(`SIGTERM`, sigtermHandler);
        }
        if (stdio[0] instanceof stream_12.Transform)
          stdio[0].pipe(child.stdin);
        if (stdio[1] instanceof stream_12.Transform)
          child.stdout.pipe(stdio[1], { end: false });
        if (stdio[2] instanceof stream_12.Transform)
          child.stderr.pipe(stdio[2], { end: false });
        return {
          stdin: child.stdin,
          promise: new Promise((resolve) => {
            child.on(`error`, (error) => {
              activeChildren.delete(child);
              if (activeChildren.size === 0) {
                process.off(`SIGINT`, sigintHandler);
                process.off(`SIGTERM`, sigtermHandler);
              }
              switch (error.code) {
                case `ENOENT`:
                  {
                    stdio[2].write(`command not found: ${name}
`);
                    resolve(127);
                  }
                  break;
                case `EACCES`:
                  {
                    stdio[2].write(`permission denied: ${name}
`);
                    resolve(128);
                  }
                  break;
                default:
                  {
                    stdio[2].write(`uncaught error: ${error.message}
`);
                    resolve(1);
                  }
                  break;
              }
            });
            child.on(`close`, (code) => {
              activeChildren.delete(child);
              if (activeChildren.size === 0) {
                process.off(`SIGINT`, sigintHandler);
                process.off(`SIGTERM`, sigtermHandler);
              }
              if (code !== null) {
                resolve(code);
              } else {
                resolve(129);
              }
            });
          })
        };
      };
    }
    function makeBuiltin(builtin) {
      return (stdio) => {
        const stdin = stdio[0] === `pipe` ? new stream_12.PassThrough() : stdio[0];
        return {
          stdin,
          promise: Promise.resolve().then(() => builtin({
            stdin,
            stdout: stdio[1],
            stderr: stdio[2]
          }))
        };
      };
    }
    var ProtectedStream = class {
      constructor(stream) {
        this.stream = stream;
      }
      close() {
      }
      get() {
        return this.stream;
      }
    };
    exports2.ProtectedStream = ProtectedStream;
    var PipeStream = class {
      constructor() {
        this.stream = null;
      }
      close() {
        if (this.stream === null) {
          throw new Error(`Assertion failed: No stream attached`);
        } else {
          this.stream.end();
        }
      }
      attach(stream) {
        this.stream = stream;
      }
      get() {
        if (this.stream === null) {
          throw new Error(`Assertion failed: No stream attached`);
        } else {
          return this.stream;
        }
      }
    };
    var Handle = class _Handle {
      static start(implementation, { stdin, stdout, stderr }) {
        const chain = new _Handle(null, implementation);
        chain.stdin = stdin;
        chain.stdout = stdout;
        chain.stderr = stderr;
        return chain;
      }
      constructor(ancestor, implementation) {
        this.stdin = null;
        this.stdout = null;
        this.stderr = null;
        this.pipe = null;
        this.ancestor = ancestor;
        this.implementation = implementation;
      }
      pipeTo(implementation, source = Pipe.STDOUT) {
        const next = new _Handle(this, implementation);
        const pipe = new PipeStream();
        next.pipe = pipe;
        next.stdout = this.stdout;
        next.stderr = this.stderr;
        if ((source & Pipe.STDOUT) === Pipe.STDOUT)
          this.stdout = pipe;
        else if (this.ancestor !== null)
          this.stderr = this.ancestor.stdout;
        if ((source & Pipe.STDERR) === Pipe.STDERR)
          this.stderr = pipe;
        else if (this.ancestor !== null)
          this.stderr = this.ancestor.stderr;
        return next;
      }
      async exec() {
        const stdio = [
          `ignore`,
          `ignore`,
          `ignore`
        ];
        if (this.pipe) {
          stdio[0] = `pipe`;
        } else {
          if (this.stdin === null) {
            throw new Error(`Assertion failed: No input stream registered`);
          } else {
            stdio[0] = this.stdin.get();
          }
        }
        let stdoutLock;
        if (this.stdout === null) {
          throw new Error(`Assertion failed: No output stream registered`);
        } else {
          stdoutLock = this.stdout;
          stdio[1] = stdoutLock.get();
        }
        let stderrLock;
        if (this.stderr === null) {
          throw new Error(`Assertion failed: No error stream registered`);
        } else {
          stderrLock = this.stderr;
          stdio[2] = stderrLock.get();
        }
        const child = this.implementation(stdio);
        if (this.pipe)
          this.pipe.attach(child.stdin);
        return await child.promise.then((code) => {
          stdoutLock.close();
          stderrLock.close();
          return code;
        });
      }
      async run() {
        const promises = [];
        for (let handle = this; handle; handle = handle.ancestor)
          promises.push(handle.exec());
        const exitCodes = await Promise.all(promises);
        return exitCodes[0];
      }
    };
    exports2.Handle = Handle;
    function start(p, opts) {
      return Handle.start(p, opts);
    }
    function createStreamReporter(reportFn, prefix = null) {
      const stream = new stream_12.PassThrough();
      const decoder = new string_decoder_1.StringDecoder();
      let buffer = ``;
      stream.on(`data`, (chunk) => {
        let chunkStr = decoder.write(chunk);
        let lineIndex;
        do {
          lineIndex = chunkStr.indexOf(`
`);
          if (lineIndex !== -1) {
            const line = buffer + chunkStr.substring(0, lineIndex);
            chunkStr = chunkStr.substring(lineIndex + 1);
            buffer = ``;
            if (prefix !== null) {
              reportFn(`${prefix} ${line}`);
            } else {
              reportFn(line);
            }
          }
        } while (lineIndex !== -1);
        buffer += chunkStr;
      });
      stream.on(`end`, () => {
        const last = decoder.end();
        if (last !== ``) {
          if (prefix !== null) {
            reportFn(`${prefix} ${last}`);
          } else {
            reportFn(last);
          }
        }
      });
      return stream;
    }
    function createOutputStreamsWithPrefix(state, { prefix }) {
      return {
        stdout: createStreamReporter((text) => state.stdout.write(`${text}
`), state.stdout.isTTY ? prefix : null),
        stderr: createStreamReporter((text) => state.stderr.write(`${text}
`), state.stderr.isTTY ? prefix : null)
      };
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js
var require_lib157 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+shell@4.1.2_typanion@3.14.0/node_modules/@yarnpkg/shell/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.globUtils = exports2.ShellError = exports2.EntryCommand = void 0;
    exports2.execute = execute;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var parsers_1 = require_lib67();
    var chalk_1 = tslib_12.__importDefault(require_source2());
    var os_1 = require("os");
    var stream_12 = require("stream");
    var promises_1 = require("timers/promises");
    var entry_1 = tslib_12.__importDefault(require_entry4());
    exports2.EntryCommand = entry_1.default;
    var errors_1 = require_errors8();
    Object.defineProperty(exports2, "ShellError", { enumerable: true, get: function() {
      return errors_1.ShellError;
    } });
    var globUtils = tslib_12.__importStar(require_globUtils2());
    exports2.globUtils = globUtils;
    var pipe_1 = require_pipe5();
    var pipe_2 = require_pipe5();
    var StreamType;
    (function(StreamType2) {
      StreamType2[StreamType2["Readable"] = 1] = "Readable";
      StreamType2[StreamType2["Writable"] = 2] = "Writable";
    })(StreamType || (StreamType = {}));
    function getFileDescriptorStream(fd, type, state) {
      const stream = new stream_12.PassThrough({ autoDestroy: true });
      switch (fd) {
        case pipe_2.Pipe.STDIN:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stdin.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable && state.stdin instanceof stream_12.Writable) {
              stream.pipe(state.stdin, { end: false });
            }
          }
          break;
        case pipe_2.Pipe.STDOUT:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stdout.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable) {
              stream.pipe(state.stdout, { end: false });
            }
          }
          break;
        case pipe_2.Pipe.STDERR:
          {
            if ((type & StreamType.Readable) === StreamType.Readable)
              state.stderr.pipe(stream, { end: false });
            if ((type & StreamType.Writable) === StreamType.Writable) {
              stream.pipe(state.stderr, { end: false });
            }
          }
          break;
        default: {
          throw new errors_1.ShellError(`Bad file descriptor: "${fd}"`);
        }
      }
      return stream;
    }
    function cloneState(state, mergeWith = {}) {
      const newState = { ...state, ...mergeWith };
      newState.environment = { ...state.environment, ...mergeWith.environment };
      newState.variables = { ...state.variables, ...mergeWith.variables };
      return newState;
    }
    var BUILTINS = /* @__PURE__ */ new Map([
      [`cd`, async ([target = (0, os_1.homedir)(), ...rest], opts, state) => {
        const resolvedTarget = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(target));
        const stat = await opts.baseFs.statPromise(resolvedTarget).catch((error) => {
          throw error.code === `ENOENT` ? new errors_1.ShellError(`cd: no such file or directory: ${target}`) : error;
        });
        if (!stat.isDirectory())
          throw new errors_1.ShellError(`cd: not a directory: ${target}`);
        state.cwd = resolvedTarget;
        return 0;
      }],
      [`pwd`, async (args, opts, state) => {
        state.stdout.write(`${fslib_12.npath.fromPortablePath(state.cwd)}
`);
        return 0;
      }],
      [`:`, async (args, opts, state) => {
        return 0;
      }],
      [`true`, async (args, opts, state) => {
        return 0;
      }],
      [`false`, async (args, opts, state) => {
        return 1;
      }],
      [`exit`, async ([code, ...rest], opts, state) => {
        return state.exitCode = parseInt(code ?? state.variables[`?`], 10);
      }],
      [`echo`, async (args, opts, state) => {
        state.stdout.write(`${args.join(` `)}
`);
        return 0;
      }],
      [`sleep`, async ([time], opts, state) => {
        if (typeof time === `undefined`)
          throw new errors_1.ShellError(`sleep: missing operand`);
        const seconds = Number(time);
        if (Number.isNaN(seconds))
          throw new errors_1.ShellError(`sleep: invalid time interval '${time}'`);
        return await (0, promises_1.setTimeout)(1e3 * seconds, 0);
      }],
      [`unset`, async (args, opts, state) => {
        for (const name of args) {
          delete state.environment[name];
          delete state.variables[name];
        }
        return 0;
      }],
      [`__ysh_run_procedure`, async (args, opts, state) => {
        const procedure = state.procedures[args[0]];
        const exitCode = await (0, pipe_2.start)(procedure, {
          stdin: new pipe_2.ProtectedStream(state.stdin),
          stdout: new pipe_2.ProtectedStream(state.stdout),
          stderr: new pipe_2.ProtectedStream(state.stderr)
        }).run();
        return exitCode;
      }],
      [`__ysh_set_redirects`, async (args, opts, state) => {
        let stdin = state.stdin;
        let stdout = state.stdout;
        let stderr = state.stderr;
        const inputs = [];
        const outputs = [];
        const errors = [];
        let t = 0;
        while (args[t] !== `--`) {
          const key = args[t++];
          const { type, fd } = JSON.parse(key);
          const pushInput = (readableFactory) => {
            switch (fd) {
              case null:
              case 0:
                {
                  inputs.push(readableFactory);
                }
                break;
              default:
                throw new Error(`Unsupported file descriptor: "${fd}"`);
            }
          };
          const pushOutput = (writable) => {
            switch (fd) {
              case null:
              case 1:
                {
                  outputs.push(writable);
                }
                break;
              case 2:
                {
                  errors.push(writable);
                }
                break;
              default:
                throw new Error(`Unsupported file descriptor: "${fd}"`);
            }
          };
          const count = Number(args[t++]);
          const last = t + count;
          for (let u = t; u < last; ++t, ++u) {
            switch (type) {
              case `<`:
                {
                  pushInput(() => {
                    return opts.baseFs.createReadStream(fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u])));
                  });
                }
                break;
              case `<<<`:
                {
                  pushInput(() => {
                    const input = new stream_12.PassThrough();
                    process.nextTick(() => {
                      input.write(`${args[u]}
`);
                      input.end();
                    });
                    return input;
                  });
                }
                break;
              case `<&`:
                {
                  pushInput(() => getFileDescriptorStream(Number(args[u]), StreamType.Readable, state));
                }
                break;
              case `>`:
              case `>>`:
                {
                  const outputPath = fslib_12.ppath.resolve(state.cwd, fslib_12.npath.toPortablePath(args[u]));
                  if (outputPath === `/dev/null`) {
                    pushOutput(new stream_12.Writable({
                      autoDestroy: true,
                      emitClose: true,
                      write(chunk, encoding, callback) {
                        setImmediate(callback);
                      }
                    }));
                  } else {
                    pushOutput(opts.baseFs.createWriteStream(outputPath, type === `>>` ? { flags: `a` } : void 0));
                  }
                }
                break;
              case `>&`:
                {
                  pushOutput(getFileDescriptorStream(Number(args[u]), StreamType.Writable, state));
                }
                break;
              default: {
                throw new Error(`Assertion failed: Unsupported redirection type: "${type}"`);
              }
            }
          }
        }
        if (inputs.length > 0) {
          const pipe = new stream_12.PassThrough();
          stdin = pipe;
          const bindInput = (n) => {
            if (n === inputs.length) {
              pipe.end();
            } else {
              const input = inputs[n]();
              input.pipe(pipe, { end: false });
              input.on(`end`, () => {
                bindInput(n + 1);
              });
            }
          };
          bindInput(0);
        }
        if (outputs.length > 0) {
          const pipe = new stream_12.PassThrough();
          stdout = pipe;
          for (const output of outputs) {
            pipe.pipe(output);
          }
        }
        if (errors.length > 0) {
          const pipe = new stream_12.PassThrough();
          stderr = pipe;
          for (const error of errors) {
            pipe.pipe(error);
          }
        }
        const exitCode = await (0, pipe_2.start)(makeCommandAction(args.slice(t + 1), opts, state), {
          stdin: new pipe_2.ProtectedStream(stdin),
          stdout: new pipe_2.ProtectedStream(stdout),
          stderr: new pipe_2.ProtectedStream(stderr)
        }).run();
        await Promise.all(outputs.map((output) => {
          return new Promise((resolve, reject) => {
            output.on(`error`, (error) => {
              reject(error);
            });
            output.on(`close`, () => {
              resolve();
            });
            output.end();
          });
        }));
        await Promise.all(errors.map((err) => {
          return new Promise((resolve, reject) => {
            err.on(`error`, (error) => {
              reject(error);
            });
            err.on(`close`, () => {
              resolve();
            });
            err.end();
          });
        }));
        return exitCode;
      }]
    ]);
    async function executeBufferedSubshell(ast, opts, state) {
      const chunks = [];
      const stdout = new stream_12.PassThrough();
      stdout.on(`data`, (chunk) => chunks.push(chunk));
      await executeShellLine(ast, opts, cloneState(state, { stdout }));
      return Buffer.concat(chunks).toString().replace(/[\r\n]+$/, ``);
    }
    async function applyEnvVariables(environmentSegments, opts, state) {
      const envPromises = environmentSegments.map(async (envSegment) => {
        const interpolatedArgs = await interpolateArguments(envSegment.args, opts, state);
        return {
          name: envSegment.name,
          value: interpolatedArgs.join(` `)
        };
      });
      const interpolatedEnvs = await Promise.all(envPromises);
      return interpolatedEnvs.reduce((envs, env) => {
        envs[env.name] = env.value;
        return envs;
      }, {});
    }
    function split(raw) {
      return raw.match(/[^ \r\n\t]+/g) || [];
    }
    async function evaluateVariable(segment, opts, state, push, pushAndClose = push) {
      switch (segment.name) {
        case `$`:
          {
            push(String(process.pid));
          }
          break;
        case `#`:
          {
            push(String(opts.args.length));
          }
          break;
        case `@`:
          {
            if (segment.quoted) {
              for (const raw of opts.args) {
                pushAndClose(raw);
              }
            } else {
              for (const raw of opts.args) {
                const parts = split(raw);
                for (let t = 0; t < parts.length - 1; ++t)
                  pushAndClose(parts[t]);
                push(parts[parts.length - 1]);
              }
            }
          }
          break;
        case `*`:
          {
            const raw = opts.args.join(` `);
            if (segment.quoted) {
              push(raw);
            } else {
              for (const part of split(raw)) {
                pushAndClose(part);
              }
            }
          }
          break;
        case `PPID`:
          {
            push(String(process.ppid));
          }
          break;
        case `RANDOM`:
          {
            push(String(Math.floor(Math.random() * 32768)));
          }
          break;
        default:
          {
            const argIndex = parseInt(segment.name, 10);
            let raw;
            const isArgument = Number.isFinite(argIndex);
            if (isArgument) {
              if (argIndex >= 0 && argIndex < opts.args.length) {
                raw = opts.args[argIndex];
              }
            } else {
              if (Object.hasOwn(state.variables, segment.name)) {
                raw = state.variables[segment.name];
              } else if (Object.hasOwn(state.environment, segment.name)) {
                raw = state.environment[segment.name];
              }
            }
            if (typeof raw !== `undefined` && segment.alternativeValue) {
              raw = (await interpolateArguments(segment.alternativeValue, opts, state)).join(` `);
            } else if (typeof raw === `undefined`) {
              if (segment.defaultValue) {
                raw = (await interpolateArguments(segment.defaultValue, opts, state)).join(` `);
              } else if (segment.alternativeValue) {
                raw = ``;
              }
            }
            if (typeof raw === `undefined`) {
              if (isArgument)
                throw new errors_1.ShellError(`Unbound argument #${argIndex}`);
              throw new errors_1.ShellError(`Unbound variable "${segment.name}"`);
            }
            if (segment.quoted) {
              push(raw);
            } else {
              const parts = split(raw);
              for (let t = 0; t < parts.length - 1; ++t)
                pushAndClose(parts[t]);
              const part = parts[parts.length - 1];
              if (typeof part !== `undefined`) {
                push(part);
              }
            }
          }
          break;
      }
    }
    var operators = {
      addition: (left, right) => left + right,
      subtraction: (left, right) => left - right,
      multiplication: (left, right) => left * right,
      division: (left, right) => Math.trunc(left / right)
    };
    async function evaluateArithmetic(arithmetic, opts, state) {
      if (arithmetic.type === `number`) {
        if (!Number.isInteger(arithmetic.value)) {
          throw new Error(`Invalid number: "${arithmetic.value}", only integers are allowed`);
        } else {
          return arithmetic.value;
        }
      } else if (arithmetic.type === `variable`) {
        const parts = [];
        await evaluateVariable({ ...arithmetic, quoted: true }, opts, state, (result2) => parts.push(result2));
        const number = Number(parts.join(` `));
        if (Number.isNaN(number)) {
          return evaluateArithmetic({ type: `variable`, name: parts.join(` `) }, opts, state);
        } else {
          return evaluateArithmetic({ type: `number`, value: number }, opts, state);
        }
      } else {
        return operators[arithmetic.type](await evaluateArithmetic(arithmetic.left, opts, state), await evaluateArithmetic(arithmetic.right, opts, state));
      }
    }
    async function interpolateArguments(commandArgs, opts, state) {
      const redirections = /* @__PURE__ */ new Map();
      const interpolated = [];
      let interpolatedSegments = [];
      const push = (segment) => {
        interpolatedSegments.push(segment);
      };
      const close = () => {
        if (interpolatedSegments.length > 0)
          interpolated.push(interpolatedSegments.join(``));
        interpolatedSegments = [];
      };
      const pushAndClose = (segment) => {
        push(segment);
        close();
      };
      const redirect = (type, fd, target) => {
        const key = JSON.stringify({ type, fd });
        let targets = redirections.get(key);
        if (typeof targets === `undefined`)
          redirections.set(key, targets = []);
        targets.push(target);
      };
      for (const commandArg of commandArgs) {
        let isGlob = false;
        switch (commandArg.type) {
          case `redirection`:
            {
              const interpolatedArgs = await interpolateArguments(commandArg.args, opts, state);
              for (const interpolatedArg of interpolatedArgs) {
                redirect(commandArg.subtype, commandArg.fd, interpolatedArg);
              }
            }
            break;
          case `argument`:
            {
              for (const segment of commandArg.segments) {
                switch (segment.type) {
                  case `text`:
                    {
                      push(segment.text);
                    }
                    break;
                  case `glob`:
                    {
                      push(segment.pattern);
                      isGlob = true;
                    }
                    break;
                  case `shell`:
                    {
                      const raw = await executeBufferedSubshell(segment.shell, opts, state);
                      if (segment.quoted) {
                        push(raw);
                      } else {
                        const parts = split(raw);
                        for (let t = 0; t < parts.length - 1; ++t)
                          pushAndClose(parts[t]);
                        push(parts[parts.length - 1]);
                      }
                    }
                    break;
                  case `variable`:
                    {
                      await evaluateVariable(segment, opts, state, push, pushAndClose);
                    }
                    break;
                  case `arithmetic`:
                    {
                      push(String(await evaluateArithmetic(segment.arithmetic, opts, state)));
                    }
                    break;
                }
              }
            }
            break;
        }
        close();
        if (isGlob) {
          const pattern = interpolated.pop();
          if (typeof pattern === `undefined`)
            throw new Error(`Assertion failed: Expected a glob pattern to have been set`);
          const matches = await opts.glob.match(pattern, { cwd: state.cwd, baseFs: opts.baseFs });
          if (matches.length === 0) {
            const braceExpansionNotice = globUtils.isBraceExpansion(pattern) ? `. Note: Brace expansion of arbitrary strings isn't currently supported. For more details, please read this issue: https://github.com/yarnpkg/berry/issues/22` : ``;
            throw new errors_1.ShellError(`No matches found: "${pattern}"${braceExpansionNotice}`);
          }
          for (const match of matches.sort()) {
            pushAndClose(match);
          }
        }
      }
      if (redirections.size > 0) {
        const redirectionArgs = [];
        for (const [key, targets] of redirections.entries())
          redirectionArgs.splice(redirectionArgs.length, 0, key, String(targets.length), ...targets);
        interpolated.splice(0, 0, `__ysh_set_redirects`, ...redirectionArgs, `--`);
      }
      return interpolated;
    }
    function makeCommandAction(args, opts, state) {
      if (!opts.builtins.has(args[0]))
        args = [`command`, ...args];
      const nativeCwd = fslib_12.npath.fromPortablePath(state.cwd);
      let env = state.environment;
      if (typeof env.PWD !== `undefined`)
        env = { ...env, PWD: nativeCwd };
      const [name, ...rest] = args;
      if (name === `command`) {
        return (0, pipe_1.makeProcess)(rest[0], rest.slice(1), opts, {
          cwd: nativeCwd,
          env
        });
      }
      const builtin = opts.builtins.get(name);
      if (typeof builtin === `undefined`)
        throw new Error(`Assertion failed: A builtin should exist for "${name}"`);
      return (0, pipe_1.makeBuiltin)(async ({ stdin, stdout, stderr }) => {
        const { stdin: initialStdin, stdout: initialStdout, stderr: initialStderr } = state;
        state.stdin = stdin;
        state.stdout = stdout;
        state.stderr = stderr;
        try {
          return await builtin(rest, opts, state);
        } finally {
          state.stdin = initialStdin;
          state.stdout = initialStdout;
          state.stderr = initialStderr;
        }
      });
    }
    function makeSubshellAction(ast, opts, state) {
      return (stdio) => {
        const stdin = new stream_12.PassThrough();
        const promise = executeShellLine(ast, opts, cloneState(state, { stdin }));
        return { stdin, promise };
      };
    }
    function makeGroupAction(ast, opts, state) {
      return (stdio) => {
        const stdin = new stream_12.PassThrough();
        const promise = executeShellLine(ast, opts, state);
        return { stdin, promise };
      };
    }
    function makeActionFromProcedure(procedure, args, opts, activeState) {
      if (args.length === 0) {
        return procedure;
      } else {
        let key;
        do {
          key = String(Math.random());
        } while (Object.hasOwn(activeState.procedures, key));
        activeState.procedures = { ...activeState.procedures };
        activeState.procedures[key] = procedure;
        return makeCommandAction([...args, `__ysh_run_procedure`, key], opts, activeState);
      }
    }
    async function executeCommandChainImpl(node, opts, state) {
      let current = node;
      let pipeType = null;
      let execution = null;
      while (current) {
        const activeState = current.then ? { ...state } : state;
        let action;
        switch (current.type) {
          case `command`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const environment = await applyEnvVariables(current.envs, opts, state);
              action = current.envs.length ? makeCommandAction(args, opts, cloneState(activeState, { environment })) : makeCommandAction(args, opts, activeState);
            }
            break;
          case `subshell`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const procedure = makeSubshellAction(current.subshell, opts, activeState);
              action = makeActionFromProcedure(procedure, args, opts, activeState);
            }
            break;
          case `group`:
            {
              const args = await interpolateArguments(current.args, opts, state);
              const procedure = makeGroupAction(current.group, opts, activeState);
              action = makeActionFromProcedure(procedure, args, opts, activeState);
            }
            break;
          case `envs`:
            {
              const environment = await applyEnvVariables(current.envs, opts, state);
              activeState.environment = { ...activeState.environment, ...environment };
              action = makeCommandAction([`true`], opts, activeState);
            }
            break;
        }
        if (typeof action === `undefined`)
          throw new Error(`Assertion failed: An action should have been generated`);
        if (pipeType === null) {
          execution = (0, pipe_2.start)(action, {
            stdin: new pipe_2.ProtectedStream(activeState.stdin),
            stdout: new pipe_2.ProtectedStream(activeState.stdout),
            stderr: new pipe_2.ProtectedStream(activeState.stderr)
          });
        } else {
          if (execution === null)
            throw new Error(`Assertion failed: The execution pipeline should have been setup`);
          switch (pipeType) {
            case `|`:
              {
                execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT);
              }
              break;
            case `|&`:
              {
                execution = execution.pipeTo(action, pipe_2.Pipe.STDOUT | pipe_2.Pipe.STDERR);
              }
              break;
          }
        }
        if (current.then) {
          pipeType = current.then.type;
          current = current.then.chain;
        } else {
          current = null;
        }
      }
      if (execution === null)
        throw new Error(`Assertion failed: The execution pipeline should have been setup`);
      return await execution.run();
    }
    async function executeCommandChain(node, opts, state, { background = false } = {}) {
      function getColorizer(index) {
        const colors = [`#2E86AB`, `#A23B72`, `#F18F01`, `#C73E1D`, `#CCE2A3`];
        const colorName = colors[index % colors.length];
        return chalk_1.default.hex(colorName);
      }
      if (background) {
        const index = state.nextBackgroundJobIndex++;
        const colorizer = getColorizer(index);
        const rawPrefix = `[${index}]`;
        const prefix = colorizer(rawPrefix);
        const { stdout, stderr } = (0, pipe_1.createOutputStreamsWithPrefix)(state, { prefix });
        state.backgroundJobs.push(executeCommandChainImpl(node, opts, cloneState(state, { stdout, stderr })).catch((error) => stderr.write(`${error.message}
`)).finally(() => {
          if (state.stdout.isTTY) {
            state.stdout.write(`Job ${prefix}, '${colorizer((0, parsers_1.stringifyCommandChain)(node))}' has ended
`);
          }
        }));
        return 0;
      }
      return await executeCommandChainImpl(node, opts, state);
    }
    async function executeCommandLine(node, opts, state, { background = false } = {}) {
      let code;
      const setCode = (newCode) => {
        code = newCode;
        state.variables[`?`] = String(newCode);
      };
      const executeChain = async (line) => {
        try {
          return await executeCommandChain(line.chain, opts, state, { background: background && typeof line.then === `undefined` });
        } catch (error) {
          if (!(error instanceof errors_1.ShellError))
            throw error;
          state.stderr.write(`${error.message}
`);
          return 1;
        }
      };
      setCode(await executeChain(node));
      while (node.then) {
        if (state.exitCode !== null)
          return state.exitCode;
        switch (node.then.type) {
          case `&&`:
            {
              if (code === 0) {
                setCode(await executeChain(node.then.line));
              }
            }
            break;
          case `||`:
            {
              if (code !== 0) {
                setCode(await executeChain(node.then.line));
              }
            }
            break;
          default: {
            throw new Error(`Assertion failed: Unsupported command type: "${node.then.type}"`);
          }
        }
        node = node.then.line;
      }
      return code;
    }
    async function executeShellLine(node, opts, state) {
      const originalBackgroundJobs = state.backgroundJobs;
      state.backgroundJobs = [];
      let rightMostExitCode = 0;
      for (const { command, type } of node) {
        rightMostExitCode = await executeCommandLine(command, opts, state, { background: type === `&` });
        if (state.exitCode !== null)
          return state.exitCode;
        state.variables[`?`] = String(rightMostExitCode);
      }
      await Promise.all(state.backgroundJobs);
      state.backgroundJobs = originalBackgroundJobs;
      return rightMostExitCode;
    }
    function locateArgsVariableInSegment(segment) {
      switch (segment.type) {
        case `variable`: {
          return segment.name === `@` || segment.name === `#` || segment.name === `*` || Number.isFinite(parseInt(segment.name, 10)) || `defaultValue` in segment && !!segment.defaultValue && segment.defaultValue.some((arg) => locateArgsVariableInArgument(arg)) || `alternativeValue` in segment && !!segment.alternativeValue && segment.alternativeValue.some((arg) => locateArgsVariableInArgument(arg));
        }
        case `arithmetic`: {
          return locateArgsVariableInArithmetic(segment.arithmetic);
        }
        case `shell`: {
          return locateArgsVariable(segment.shell);
        }
        default: {
          return false;
        }
      }
    }
    function locateArgsVariableInArgument(arg) {
      switch (arg.type) {
        case `redirection`: {
          return arg.args.some((arg2) => locateArgsVariableInArgument(arg2));
        }
        case `argument`: {
          return arg.segments.some((segment) => locateArgsVariableInSegment(segment));
        }
        default:
          throw new Error(`Assertion failed: Unsupported argument type: "${arg.type}"`);
      }
    }
    function locateArgsVariableInArithmetic(arg) {
      switch (arg.type) {
        case `variable`: {
          return locateArgsVariableInSegment(arg);
        }
        case `number`: {
          return false;
        }
        default:
          return locateArgsVariableInArithmetic(arg.left) || locateArgsVariableInArithmetic(arg.right);
      }
    }
    function locateArgsVariable(node) {
      return node.some(({ command }) => {
        while (command) {
          let chain = command.chain;
          while (chain) {
            let hasArgs;
            switch (chain.type) {
              case `subshell`:
                {
                  hasArgs = locateArgsVariable(chain.subshell);
                }
                break;
              case `command`:
                {
                  hasArgs = chain.envs.some((env) => env.args.some((arg) => {
                    return locateArgsVariableInArgument(arg);
                  })) || chain.args.some((arg) => {
                    return locateArgsVariableInArgument(arg);
                  });
                }
                break;
            }
            if (hasArgs)
              return true;
            if (!chain.then)
              break;
            chain = chain.then.chain;
          }
          if (!command.then)
            break;
          command = command.then.line;
        }
        return false;
      });
    }
    async function execute(command, args = [], { baseFs = new fslib_12.NodeFS(), builtins = {}, cwd = fslib_12.npath.toPortablePath(process.cwd()), env = process.env, stdin = process.stdin, stdout = process.stdout, stderr = process.stderr, variables = {}, glob = globUtils } = {}) {
      const normalizedEnv = {};
      for (const [key, value] of Object.entries(env))
        if (typeof value !== `undefined`)
          normalizedEnv[key] = value;
      const normalizedBuiltins = new Map(BUILTINS);
      for (const [key, builtin] of Object.entries(builtins))
        normalizedBuiltins.set(key, builtin);
      if (stdin === null) {
        stdin = new stream_12.PassThrough();
        stdin.end();
      }
      const ast = (0, parsers_1.parseShell)(command, glob);
      if (!locateArgsVariable(ast) && ast.length > 0 && args.length > 0) {
        let { command: command2 } = ast[ast.length - 1];
        while (command2.then)
          command2 = command2.then.line;
        let chain = command2.chain;
        while (chain.then)
          chain = chain.then.chain;
        if (chain.type === `command`) {
          chain.args = chain.args.concat(args.map((arg) => {
            return {
              type: `argument`,
              segments: [{
                type: `text`,
                text: arg
              }]
            };
          }));
        }
      }
      return await executeShellLine(ast, {
        args,
        baseFs,
        builtins: normalizedBuiltins,
        initialStdin: stdin,
        initialStdout: stdout,
        initialStderr: stderr,
        glob
      }, {
        cwd,
        environment: normalizedEnv,
        exitCode: null,
        procedures: {},
        stdin,
        stdout,
        stderr,
        variables: Object.assign({}, variables, {
          [`?`]: 0
        }),
        nextBackgroundJobIndex: 1,
        backgroundJobs: []
      });
    }
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayMap.js
var require_arrayMap = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayMap.js"(exports2, module2) {
    function arrayMap(array, iteratee) {
      var index = -1, length = array == null ? 0 : array.length, result2 = Array(length);
      while (++index < length) {
        result2[index] = iteratee(array[index], index, array);
      }
      return result2;
    }
    module2.exports = arrayMap;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseToString.js
var require_baseToString = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseToString.js"(exports2, module2) {
    var Symbol2 = require_Symbol();
    var arrayMap = require_arrayMap();
    var isArray = require_isArray2();
    var isSymbol = require_isSymbol();
    var INFINITY = 1 / 0;
    var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
    var symbolToString = symbolProto ? symbolProto.toString : void 0;
    function baseToString(value) {
      if (typeof value == "string") {
        return value;
      }
      if (isArray(value)) {
        return arrayMap(value, baseToString) + "";
      }
      if (isSymbol(value)) {
        return symbolToString ? symbolToString.call(value) : "";
      }
      var result2 = value + "";
      return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
    }
    module2.exports = baseToString;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toString.js
var require_toString3 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toString.js"(exports2, module2) {
    var baseToString = require_baseToString();
    function toString(value) {
      return value == null ? "" : baseToString(value);
    }
    module2.exports = toString;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSlice.js
var require_baseSlice = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSlice.js"(exports2, module2) {
    function baseSlice(array, start, end) {
      var index = -1, length = array.length;
      if (start < 0) {
        start = -start > length ? 0 : length + start;
      }
      end = end > length ? length : end;
      if (end < 0) {
        end += length;
      }
      length = start > end ? 0 : end - start >>> 0;
      start >>>= 0;
      var result2 = Array(length);
      while (++index < length) {
        result2[index] = array[index + start];
      }
      return result2;
    }
    module2.exports = baseSlice;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castSlice.js
var require_castSlice = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castSlice.js"(exports2, module2) {
    var baseSlice = require_baseSlice();
    function castSlice(array, start, end) {
      var length = array.length;
      end = end === void 0 ? length : end;
      return !start && end >= length ? array : baseSlice(array, start, end);
    }
    module2.exports = castSlice;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hasUnicode.js
var require_hasUnicode = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hasUnicode.js"(exports2, module2) {
    var rsAstralRange = "\\ud800-\\udfff";
    var rsComboMarksRange = "\\u0300-\\u036f";
    var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
    var rsComboSymbolsRange = "\\u20d0-\\u20ff";
    var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
    var rsVarRange = "\\ufe0e\\ufe0f";
    var rsZWJ = "\\u200d";
    var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
    function hasUnicode(string) {
      return reHasUnicode.test(string);
    }
    module2.exports = hasUnicode;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_asciiToArray.js
var require_asciiToArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_asciiToArray.js"(exports2, module2) {
    function asciiToArray(string) {
      return string.split("");
    }
    module2.exports = asciiToArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_unicodeToArray.js
var require_unicodeToArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_unicodeToArray.js"(exports2, module2) {
    var rsAstralRange = "\\ud800-\\udfff";
    var rsComboMarksRange = "\\u0300-\\u036f";
    var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
    var rsComboSymbolsRange = "\\u20d0-\\u20ff";
    var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
    var rsVarRange = "\\ufe0e\\ufe0f";
    var rsAstral = "[" + rsAstralRange + "]";
    var rsCombo = "[" + rsComboRange + "]";
    var rsFitz = "\\ud83c[\\udffb-\\udfff]";
    var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
    var rsNonAstral = "[^" + rsAstralRange + "]";
    var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
    var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
    var rsZWJ = "\\u200d";
    var reOptMod = rsModifier + "?";
    var rsOptVar = "[" + rsVarRange + "]?";
    var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
    var rsSeq = rsOptVar + reOptMod + rsOptJoin;
    var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
    var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
    function unicodeToArray(string) {
      return string.match(reUnicode) || [];
    }
    module2.exports = unicodeToArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToArray.js
var require_stringToArray = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToArray.js"(exports2, module2) {
    var asciiToArray = require_asciiToArray();
    var hasUnicode = require_hasUnicode();
    var unicodeToArray = require_unicodeToArray();
    function stringToArray(string) {
      return hasUnicode(string) ? unicodeToArray(string) : asciiToArray(string);
    }
    module2.exports = stringToArray;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createCaseFirst.js
var require_createCaseFirst = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createCaseFirst.js"(exports2, module2) {
    var castSlice = require_castSlice();
    var hasUnicode = require_hasUnicode();
    var stringToArray = require_stringToArray();
    var toString = require_toString3();
    function createCaseFirst(methodName) {
      return function(string) {
        string = toString(string);
        var strSymbols = hasUnicode(string) ? stringToArray(string) : void 0;
        var chr = strSymbols ? strSymbols[0] : string.charAt(0);
        var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
        return chr[methodName]() + trailing;
      };
    }
    module2.exports = createCaseFirst;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/upperFirst.js
var require_upperFirst = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/upperFirst.js"(exports2, module2) {
    var createCaseFirst = require_createCaseFirst();
    var upperFirst = createCaseFirst("toUpperCase");
    module2.exports = upperFirst;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/capitalize.js
var require_capitalize = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/capitalize.js"(exports2, module2) {
    var toString = require_toString3();
    var upperFirst = require_upperFirst();
    function capitalize(string) {
      return upperFirst(toString(string).toLowerCase());
    }
    module2.exports = capitalize;
  }
});

// ../node_modules/.pnpm/@arcanis+slice-ansi@1.1.1/node_modules/@arcanis/slice-ansi/index.js
var require_slice_ansi4 = __commonJS({
  "../node_modules/.pnpm/@arcanis+slice-ansi@1.1.1/node_modules/@arcanis/slice-ansi/index.js"(exports2, module2) {
    var ANSI_SEQUENCE = /^(.*?)(\x1b\[[^m]+m|\x1b\]8;;.*?(\x1b\\|\u0007))/;
    var splitGraphemes;
    function getSplitter() {
      if (splitGraphemes)
        return splitGraphemes;
      if (typeof Intl.Segmenter !== `undefined`) {
        const segmenter = new Intl.Segmenter(`en`, { granularity: `grapheme` });
        return splitGraphemes = (text) => Array.from(segmenter.segment(text), ({ segment }) => segment);
      } else {
        const GraphemeSplitter = require_grapheme_splitter();
        const splitter = new GraphemeSplitter();
        return splitGraphemes = (text) => splitter.splitGraphemes(text);
      }
    }
    module2.exports = (orig, at = 0, until = orig.length) => {
      if (at < 0 || until < 0)
        throw new RangeError(`Negative indices aren't supported by this implementation`);
      const length = until - at;
      let output = ``;
      let skipped = 0;
      let visible = 0;
      while (orig.length > 0) {
        const lookup = orig.match(ANSI_SEQUENCE) || [orig, orig, void 0];
        let graphemes = getSplitter()(lookup[1]);
        const skipping = Math.min(at - skipped, graphemes.length);
        graphemes = graphemes.slice(skipping);
        const displaying = Math.min(length - visible, graphemes.length);
        output += graphemes.slice(0, displaying).join(``);
        skipped += skipping;
        visible += displaying;
        if (typeof lookup[2] !== `undefined`)
          output += lookup[2];
        orig = orig.slice(lookup[0].length);
      }
      return output;
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/YarnVersion.js
var require_YarnVersion = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/YarnVersion.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.YarnVersion = void 0;
    exports2.YarnVersion = typeof YARN_VERSION !== `undefined` ? process.env.YARN_IS_TEST_ENV ? `0.0.0` : YARN_VERSION : null;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/StreamReport.js
var require_StreamReport = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/StreamReport.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.StreamReport = exports2.SUPPORTS_GROUPS = exports2.SINGLE_LINE_CHAR = void 0;
    exports2.formatName = formatName;
    exports2.formatNameWithHyperlink = formatNameWithHyperlink;
    exports2.reportOptionDeprecations = reportOptionDeprecations;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var slice_ansi_1 = tslib_12.__importDefault(require_slice_ansi4());
    var ci_info_1 = tslib_12.__importDefault(require_ci_info());
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var YarnVersion_1 = require_YarnVersion();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    exports2.SINGLE_LINE_CHAR = `\xB7`;
    var PROGRESS_FRAMES = [`\u280B`, `\u2819`, `\u2839`, `\u2838`, `\u283C`, `\u2834`, `\u2826`, `\u2827`, `\u2807`, `\u280F`];
    var PROGRESS_INTERVAL = 80;
    var GROUP = ci_info_1.default.GITHUB_ACTIONS ? { start: (what) => `::group::${what}
`, end: (what) => `::endgroup::
` } : ci_info_1.default.TRAVIS ? { start: (what) => `travis_fold:start:${what}
`, end: (what) => `travis_fold:end:${what}
` } : ci_info_1.default.GITLAB ? { start: (what) => `section_start:${Math.floor(Date.now() / 1e3)}:${what.toLowerCase().replace(/\W+/g, `_`)}[collapsed=true]\r\x1B[0K${what}
`, end: (what) => `section_end:${Math.floor(Date.now() / 1e3)}:${what.toLowerCase().replace(/\W+/g, `_`)}\r\x1B[0K` } : null;
    exports2.SUPPORTS_GROUPS = GROUP !== null;
    var now = /* @__PURE__ */ new Date();
    var supportsEmojis = [`iTerm.app`, `Apple_Terminal`, `WarpTerminal`, `vscode`].includes(process.env.TERM_PROGRAM) || !!process.env.WT_SESSION;
    var makeRecord = (obj) => obj;
    var PROGRESS_STYLES = makeRecord({
      patrick: {
        date: [17, 3],
        chars: [`\u{1F340}`, `\u{1F331}`],
        size: 40
      },
      simba: {
        date: [19, 7],
        chars: [`\u{1F981}`, `\u{1F334}`],
        size: 40
      },
      jack: {
        date: [31, 10],
        chars: [`\u{1F383}`, `\u{1F987}`],
        size: 40
      },
      hogsfather: {
        date: [31, 12],
        chars: [`\u{1F389}`, `\u{1F384}`],
        size: 40
      },
      default: {
        chars: [`=`, `-`],
        size: 80
      }
    });
    var defaultStyle = supportsEmojis && Object.keys(PROGRESS_STYLES).find((name) => {
      const style = PROGRESS_STYLES[name];
      if (style.date && (style.date[0] !== now.getDate() || style.date[1] !== now.getMonth() + 1))
        return false;
      return true;
    }) || `default`;
    function formatName(name, { configuration, json }) {
      if (!configuration.get(`enableMessageNames`))
        return ``;
      const num = name === null ? 0 : name;
      const label = (0, MessageName_1.stringifyMessageName)(num);
      if (!json && name === null) {
        return formatUtils.pretty(configuration, label, `grey`);
      } else {
        return label;
      }
    }
    function formatNameWithHyperlink(name, { configuration, json }) {
      const code = formatName(name, { configuration, json });
      if (!code)
        return code;
      if (name === null || name === MessageName_1.MessageName.UNNAMED)
        return code;
      const desc = MessageName_1.MessageName[name];
      const href = `https://yarnpkg.com/advanced/error-codes#${code}---${desc}`.toLowerCase();
      return formatUtils.applyHyperlink(configuration, code, href);
    }
    async function reportOptionDeprecations({ configuration, stdout, forceError }, checks) {
      const deprecationReport = await StreamReport.start({
        configuration,
        stdout,
        includeFooter: false
      }, async (report) => {
        let hasWarnings = false;
        let hasErrors = false;
        for (const check of checks) {
          if (typeof check.option !== `undefined`) {
            if (check.error || forceError) {
              hasErrors = true;
              report.reportError(MessageName_1.MessageName.DEPRECATED_CLI_SETTINGS, check.message);
            } else {
              hasWarnings = true;
              report.reportWarning(MessageName_1.MessageName.DEPRECATED_CLI_SETTINGS, check.message);
            }
            check.callback?.();
          }
        }
        if (hasWarnings && !hasErrors) {
          report.reportSeparator();
        }
      });
      if (deprecationReport.hasErrors()) {
        return deprecationReport.exitCode();
      } else {
        return null;
      }
    }
    var StreamReport = class extends Report_1.Report {
      static async start(opts, cb) {
        const report = new this(opts);
        const emitWarning = process.emitWarning;
        process.emitWarning = (message, name) => {
          if (typeof message !== `string`) {
            const error = message;
            message = error.message;
            name = name ?? error.name;
          }
          const fullMessage = typeof name !== `undefined` ? `${name}: ${message}` : message;
          report.reportWarning(MessageName_1.MessageName.UNNAMED, fullMessage);
        };
        if (opts.includeVersion)
          report.reportInfo(MessageName_1.MessageName.UNNAMED, formatUtils.applyStyle(opts.configuration, `Yarn ${YarnVersion_1.YarnVersion}`, formatUtils.Style.BOLD));
        try {
          await cb(report);
        } catch (error) {
          report.reportExceptionOnce(error);
        } finally {
          await report.finalize();
          process.emitWarning = emitWarning;
        }
        return report;
      }
      constructor({ configuration, stdout, json = false, forceSectionAlignment = false, includeNames = true, includePrefix = true, includeFooter = true, includeLogs = !json, includeInfos = includeLogs, includeWarnings = includeLogs }) {
        super();
        this.uncommitted = /* @__PURE__ */ new Set();
        this.warningCount = 0;
        this.errorCount = 0;
        this.timerFooter = [];
        this.startTime = Date.now();
        this.indent = 0;
        this.level = 0;
        this.progress = /* @__PURE__ */ new Map();
        this.progressTime = 0;
        this.progressFrame = 0;
        this.progressTimeout = null;
        this.progressStyle = null;
        this.progressMaxScaledSize = null;
        formatUtils.addLogFilterSupport(this, { configuration });
        this.configuration = configuration;
        this.forceSectionAlignment = forceSectionAlignment;
        this.includeNames = includeNames;
        this.includePrefix = includePrefix;
        this.includeFooter = includeFooter;
        this.includeInfos = includeInfos;
        this.includeWarnings = includeWarnings;
        this.json = json;
        this.stdout = stdout;
        if (configuration.get(`enableProgressBars`) && !json && stdout.isTTY && stdout.columns > 22) {
          const styleName = configuration.get(`progressBarStyle`) || defaultStyle;
          if (!Object.hasOwn(PROGRESS_STYLES, styleName))
            throw new Error(`Assertion failed: Invalid progress bar style`);
          this.progressStyle = PROGRESS_STYLES[styleName];
          const maxWidth = Math.min(this.getRecommendedLength(), 80);
          this.progressMaxScaledSize = Math.floor(this.progressStyle.size * maxWidth / 80);
        }
      }
      hasErrors() {
        return this.errorCount > 0;
      }
      exitCode() {
        return this.hasErrors() ? 1 : 0;
      }
      getRecommendedLength() {
        const PREFIX_SIZE = `\u27A4 YN0000: \u280B `.length;
        const recommendedLength = this.progressStyle !== null ? this.stdout.columns - 1 : super.getRecommendedLength();
        return Math.max(40, recommendedLength - PREFIX_SIZE - this.indent * 2);
      }
      startSectionSync({ reportHeader, reportFooter, skipIfEmpty }, cb) {
        const mark = { committed: false, action: () => {
          reportHeader?.();
        } };
        if (skipIfEmpty) {
          this.uncommitted.add(mark);
        } else {
          mark.action();
          mark.committed = true;
        }
        const before = Date.now();
        try {
          return cb();
        } catch (error) {
          this.reportExceptionOnce(error);
          throw error;
        } finally {
          const after = Date.now();
          this.uncommitted.delete(mark);
          if (mark.committed) {
            reportFooter?.(after - before);
          }
        }
      }
      async startSectionPromise({ reportHeader, reportFooter, skipIfEmpty }, cb) {
        const mark = { committed: false, action: () => {
          reportHeader?.();
        } };
        if (skipIfEmpty) {
          this.uncommitted.add(mark);
        } else {
          mark.action();
          mark.committed = true;
        }
        const before = Date.now();
        try {
          return await cb();
        } catch (error) {
          this.reportExceptionOnce(error);
          throw error;
        } finally {
          const after = Date.now();
          this.uncommitted.delete(mark);
          if (mark.committed) {
            reportFooter?.(after - before);
          }
        }
      }
      startTimerImpl(what, opts, cb) {
        const realOpts = typeof opts === `function` ? {} : opts;
        const realCb = typeof opts === `function` ? opts : cb;
        return {
          cb: realCb,
          reportHeader: () => {
            this.level += 1;
            this.reportInfo(null, `\u250C ${what}`);
            this.indent += 1;
            if (GROUP !== null && !this.json && this.includeInfos) {
              this.stdout.write(GROUP.start(what));
            }
          },
          reportFooter: (elapsedTime) => {
            this.indent -= 1;
            if (GROUP !== null && !this.json && this.includeInfos) {
              this.stdout.write(GROUP.end(what));
              for (const cb2 of this.timerFooter) {
                cb2();
              }
            }
            if (this.configuration.get(`enableTimers`) && elapsedTime > 200)
              this.reportInfo(null, `\u2514 Completed in ${formatUtils.pretty(this.configuration, elapsedTime, formatUtils.Type.DURATION)}`);
            else
              this.reportInfo(null, `\u2514 Completed`);
            this.level -= 1;
          },
          skipIfEmpty: realOpts.skipIfEmpty
        };
      }
      startTimerSync(what, opts, cb) {
        const { cb: realCb, ...sectionOps } = this.startTimerImpl(what, opts, cb);
        return this.startSectionSync(sectionOps, realCb);
      }
      async startTimerPromise(what, opts, cb) {
        const { cb: realCb, ...sectionOps } = this.startTimerImpl(what, opts, cb);
        return this.startSectionPromise(sectionOps, realCb);
      }
      reportSeparator() {
        if (this.indent === 0) {
          this.writeLine(``);
        } else {
          this.reportInfo(null, ``);
        }
      }
      reportInfo(name, text) {
        if (!this.includeInfos)
          return;
        this.commit();
        const formattedName = this.formatNameWithHyperlink(name);
        const prefix = formattedName ? `${formattedName}: ` : ``;
        const message = `${this.formatPrefix(prefix, `blueBright`)}${text}`;
        if (!this.json) {
          this.writeLine(message);
        } else {
          this.reportJson({ type: `info`, name, displayName: this.formatName(name), indent: this.formatIndent(), data: text });
        }
      }
      reportWarning(name, text) {
        this.warningCount += 1;
        if (!this.includeWarnings)
          return;
        this.commit();
        const formattedName = this.formatNameWithHyperlink(name);
        const prefix = formattedName ? `${formattedName}: ` : ``;
        if (!this.json) {
          this.writeLine(`${this.formatPrefix(prefix, `yellowBright`)}${text}`);
        } else {
          this.reportJson({ type: `warning`, name, displayName: this.formatName(name), indent: this.formatIndent(), data: text });
        }
      }
      reportError(name, text) {
        this.errorCount += 1;
        this.timerFooter.push(() => this.reportErrorImpl(name, text));
        this.reportErrorImpl(name, text);
      }
      reportErrorImpl(name, text) {
        this.commit();
        const formattedName = this.formatNameWithHyperlink(name);
        const prefix = formattedName ? `${formattedName}: ` : ``;
        if (!this.json) {
          this.writeLine(`${this.formatPrefix(prefix, `redBright`)}${text}`, { truncate: false });
        } else {
          this.reportJson({ type: `error`, name, displayName: this.formatName(name), indent: this.formatIndent(), data: text });
        }
      }
      reportFold(title, text) {
        if (!GROUP)
          return;
        const message = `${GROUP.start(title)}${text}${GROUP.end(title)}`;
        this.timerFooter.push(() => this.stdout.write(message));
      }
      reportProgress(progressIt) {
        if (this.progressStyle === null)
          return { ...Promise.resolve(), stop: () => {
          } };
        if (progressIt.hasProgress && progressIt.hasTitle)
          throw new Error(`Unimplemented: Progress bars can't have both progress and titles.`);
        let stopped = false;
        const promise = Promise.resolve().then(async () => {
          const progressDefinition = {
            progress: progressIt.hasProgress ? 0 : void 0,
            title: progressIt.hasTitle ? `` : void 0
          };
          this.progress.set(progressIt, {
            definition: progressDefinition,
            lastScaledSize: progressIt.hasProgress ? -1 : void 0,
            lastTitle: void 0
          });
          this.refreshProgress({ delta: -1 });
          for await (const { progress, title } of progressIt) {
            if (stopped)
              continue;
            if (progressDefinition.progress === progress && progressDefinition.title === title)
              continue;
            progressDefinition.progress = progress;
            progressDefinition.title = title;
            this.refreshProgress();
          }
          stop();
        });
        const stop = () => {
          if (stopped)
            return;
          stopped = true;
          this.progress.delete(progressIt);
          this.refreshProgress({ delta: 1 });
        };
        return { ...promise, stop };
      }
      reportJson(data) {
        if (this.json) {
          this.writeLine(`${JSON.stringify(data)}`);
        }
      }
      async finalize() {
        if (!this.includeFooter)
          return;
        let installStatus = ``;
        if (this.errorCount > 0)
          installStatus = `Failed with errors`;
        else if (this.warningCount > 0)
          installStatus = `Done with warnings`;
        else
          installStatus = `Done`;
        const timing = formatUtils.pretty(this.configuration, Date.now() - this.startTime, formatUtils.Type.DURATION);
        const message = this.configuration.get(`enableTimers`) ? `${installStatus} in ${timing}` : installStatus;
        if (this.errorCount > 0) {
          this.reportError(MessageName_1.MessageName.UNNAMED, message);
        } else if (this.warningCount > 0) {
          this.reportWarning(MessageName_1.MessageName.UNNAMED, message);
        } else {
          this.reportInfo(MessageName_1.MessageName.UNNAMED, message);
        }
      }
      writeLine(str, { truncate } = {}) {
        this.clearProgress({ clear: true });
        this.stdout.write(`${this.truncate(str, { truncate })}
`);
        this.writeProgress();
      }
      writeLines(lines, { truncate } = {}) {
        this.clearProgress({ delta: lines.length });
        for (const line of lines)
          this.stdout.write(`${this.truncate(line, { truncate })}
`);
        this.writeProgress();
      }
      commit() {
        const marks = this.uncommitted;
        this.uncommitted = /* @__PURE__ */ new Set();
        for (const mark of marks) {
          mark.committed = true;
          mark.action();
        }
      }
      clearProgress({ delta = 0, clear = false }) {
        if (this.progressStyle === null)
          return;
        if (this.progress.size + delta > 0) {
          this.stdout.write(`\x1B[${this.progress.size + delta}A`);
          if (delta > 0 || clear) {
            this.stdout.write(`\x1B[0J`);
          }
        }
      }
      writeProgress() {
        if (this.progressStyle === null)
          return;
        if (this.progressTimeout !== null)
          clearTimeout(this.progressTimeout);
        this.progressTimeout = null;
        if (this.progress.size === 0)
          return;
        const now2 = Date.now();
        if (now2 - this.progressTime > PROGRESS_INTERVAL) {
          this.progressFrame = (this.progressFrame + 1) % PROGRESS_FRAMES.length;
          this.progressTime = now2;
        }
        const spinner = PROGRESS_FRAMES[this.progressFrame];
        for (const progress of this.progress.values()) {
          let progressBar = ``;
          if (typeof progress.lastScaledSize !== `undefined`) {
            const ok = this.progressStyle.chars[0].repeat(progress.lastScaledSize);
            const ko = this.progressStyle.chars[1].repeat(this.progressMaxScaledSize - progress.lastScaledSize);
            progressBar = ` ${ok}${ko}`;
          }
          const formattedName = this.formatName(null);
          const prefix = formattedName ? `${formattedName}: ` : ``;
          const title = progress.definition.title ? ` ${progress.definition.title}` : ``;
          this.stdout.write(`${formatUtils.pretty(this.configuration, `\u27A4`, `blueBright`)} ${prefix}${spinner}${progressBar}${title}
`);
        }
        this.progressTimeout = setTimeout(() => {
          this.refreshProgress({ force: true });
        }, PROGRESS_INTERVAL);
      }
      refreshProgress({ delta = 0, force = false } = {}) {
        let needsUpdate = false;
        let needsClear = false;
        if (force || this.progress.size === 0) {
          needsUpdate = true;
        } else {
          for (const progress of this.progress.values()) {
            const refreshedScaledSize = typeof progress.definition.progress !== `undefined` ? Math.trunc(this.progressMaxScaledSize * progress.definition.progress) : void 0;
            const previousScaledSize = progress.lastScaledSize;
            progress.lastScaledSize = refreshedScaledSize;
            const previousTitle = progress.lastTitle;
            progress.lastTitle = progress.definition.title;
            if (refreshedScaledSize !== previousScaledSize || (needsClear = previousTitle !== progress.definition.title)) {
              needsUpdate = true;
              break;
            }
          }
        }
        if (needsUpdate) {
          this.clearProgress({ delta, clear: needsClear });
          this.writeProgress();
        }
      }
      truncate(str, { truncate } = {}) {
        if (this.progressStyle === null)
          truncate = false;
        if (typeof truncate === `undefined`)
          truncate = this.configuration.get(`preferTruncatedLines`);
        if (truncate)
          str = (0, slice_ansi_1.default)(str, 0, this.stdout.columns - 1);
        return str;
      }
      formatName(name) {
        if (!this.includeNames)
          return ``;
        return formatName(name, {
          configuration: this.configuration,
          json: this.json
        });
      }
      formatPrefix(prefix, caretColor) {
        return this.includePrefix ? `${formatUtils.pretty(this.configuration, `\u27A4`, caretColor)} ${prefix}${this.formatIndent()}` : ``;
      }
      formatNameWithHyperlink(name) {
        if (!this.includeNames)
          return ``;
        return formatNameWithHyperlink(name, {
          configuration: this.configuration,
          json: this.json
        });
      }
      formatIndent() {
        return this.level > 0 || !this.forceSectionAlignment ? `\u2502 `.repeat(this.indent) : `${exports2.SINGLE_LINE_CHAR} `;
      }
    };
    exports2.StreamReport = StreamReport;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/scriptUtils.js
var require_scriptUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/scriptUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PackageManager = void 0;
    exports2.detectPackageManager = detectPackageManager;
    exports2.makeScriptEnv = makeScriptEnv;
    exports2.prepareExternalProject = prepareExternalProject;
    exports2.hasPackageScript = hasPackageScript;
    exports2.executePackageScript = executePackageScript;
    exports2.executePackageShellcode = executePackageShellcode;
    exports2.executeWorkspaceScript = executeWorkspaceScript;
    exports2.hasWorkspaceScript = hasWorkspaceScript;
    exports2.executeWorkspaceLifecycleScript = executeWorkspaceLifecycleScript;
    exports2.maybeExecuteWorkspaceLifecycleScript = maybeExecuteWorkspaceLifecycleScript;
    exports2.isNodeScript = isNodeScript;
    exports2.getPackageAccessibleBinaries = getPackageAccessibleBinaries;
    exports2.getWorkspaceAccessibleBinaries = getWorkspaceAccessibleBinaries;
    exports2.executePackageAccessibleBinary = executePackageAccessibleBinary;
    exports2.executeWorkspaceAccessibleBinary = executeWorkspaceAccessibleBinary;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fslib_2 = require_lib66();
    var libzip_1 = require_sync10();
    var shell_1 = require_lib157();
    var capitalize_1 = tslib_12.__importDefault(require_capitalize());
    var p_limit_12 = tslib_12.__importDefault(require_p_limit2());
    var stream_12 = require("stream");
    var Manifest_1 = require_Manifest();
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var StreamReport_1 = require_StreamReport();
    var YarnVersion_1 = require_YarnVersion();
    var execUtils = tslib_12.__importStar(require_execUtils());
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var PackageManager;
    (function(PackageManager2) {
      PackageManager2["Yarn1"] = "Yarn Classic";
      PackageManager2["Yarn2"] = "Yarn";
      PackageManager2["Npm"] = "npm";
      PackageManager2["Pnpm"] = "pnpm";
    })(PackageManager || (exports2.PackageManager = PackageManager = {}));
    async function makePathWrapper(location, name, argv0, args = []) {
      if (process.platform === `win32`) {
        const cmdScript = `@goto #_undefined_# 2>NUL || @title %COMSPEC% & @setlocal & @"${argv0}" ${args.map((arg) => `"${arg.replace(`"`, `""`)}"`).join(` `)} %*`;
        await fslib_2.xfs.writeFilePromise(fslib_2.ppath.format({ dir: location, name, ext: `.cmd` }), cmdScript);
      }
      await fslib_2.xfs.writeFilePromise(fslib_2.ppath.join(location, name), `#!/bin/sh
exec "${argv0}" ${args.map((arg) => `'${arg.replace(/'/g, `'"'"'`)}'`).join(` `)} "$@"
`, {
        mode: 493
      });
    }
    async function detectPackageManager(location) {
      const manifest = await Manifest_1.Manifest.tryFind(location);
      if (manifest?.packageManager) {
        const locator = structUtils.tryParseLocator(manifest.packageManager);
        if (locator?.name) {
          const reason = `found ${JSON.stringify({ packageManager: manifest.packageManager })} in manifest`;
          const [major] = locator.reference.split(`.`);
          switch (locator.name) {
            case `yarn`: {
              const packageManager = Number(major) === 1 ? PackageManager.Yarn1 : PackageManager.Yarn2;
              return { packageManagerField: true, packageManager, reason };
            }
            case `npm`: {
              return { packageManagerField: true, packageManager: PackageManager.Npm, reason };
            }
            case `pnpm`: {
              return { packageManagerField: true, packageManager: PackageManager.Pnpm, reason };
            }
          }
        }
      }
      let yarnLock;
      try {
        yarnLock = await fslib_2.xfs.readFilePromise(fslib_2.ppath.join(location, fslib_12.Filename.lockfile), `utf8`);
      } catch {
      }
      if (yarnLock !== void 0) {
        if (yarnLock.match(/^__metadata:$/m)) {
          return {
            packageManager: PackageManager.Yarn2,
            reason: `"__metadata" key found in yarn.lock`
          };
        } else {
          return {
            packageManager: PackageManager.Yarn1,
            reason: `"__metadata" key not found in yarn.lock, must be a Yarn classic lockfile`
          };
        }
      }
      if (fslib_2.xfs.existsSync(fslib_2.ppath.join(location, `package-lock.json`)))
        return { packageManager: PackageManager.Npm, reason: `found npm's "package-lock.json" lockfile` };
      if (fslib_2.xfs.existsSync(fslib_2.ppath.join(location, `pnpm-lock.yaml`)))
        return { packageManager: PackageManager.Pnpm, reason: `found pnpm's "pnpm-lock.yaml" lockfile` };
      return null;
    }
    async function makeScriptEnv({ project, locator, binFolder, ignoreCorepack, lifecycleScript, baseEnv = project?.configuration.env ?? process.env }) {
      const scriptEnv = {};
      for (const [key, value] of Object.entries(baseEnv))
        if (typeof value !== `undefined`)
          scriptEnv[key.toLowerCase() !== `path` ? key : `PATH`] = value;
      const nBinFolder = fslib_2.npath.fromPortablePath(binFolder);
      scriptEnv.BERRY_BIN_FOLDER = fslib_2.npath.fromPortablePath(nBinFolder);
      const yarnBin = process.env.COREPACK_ROOT && !ignoreCorepack ? fslib_2.npath.join(process.env.COREPACK_ROOT, `dist/yarn.js`) : process.argv[1];
      await Promise.all([
        makePathWrapper(binFolder, `node`, process.execPath),
        ...YarnVersion_1.YarnVersion !== null ? [
          makePathWrapper(binFolder, `run`, process.execPath, [yarnBin, `run`]),
          makePathWrapper(binFolder, `yarn`, process.execPath, [yarnBin]),
          makePathWrapper(binFolder, `yarnpkg`, process.execPath, [yarnBin]),
          makePathWrapper(binFolder, `node-gyp`, process.execPath, [yarnBin, `run`, `--top-level`, `node-gyp`])
        ] : []
      ]);
      if (project) {
        scriptEnv.INIT_CWD = fslib_2.npath.fromPortablePath(project.configuration.startingCwd);
        scriptEnv.PROJECT_CWD = fslib_2.npath.fromPortablePath(project.cwd);
      }
      scriptEnv.PATH = scriptEnv.PATH ? `${nBinFolder}${fslib_2.npath.delimiter}${scriptEnv.PATH}` : `${nBinFolder}`;
      scriptEnv.npm_execpath = `${nBinFolder}${fslib_2.npath.sep}yarn`;
      scriptEnv.npm_node_execpath = `${nBinFolder}${fslib_2.npath.sep}node`;
      if (locator) {
        if (!project)
          throw new Error(`Assertion failed: Missing project`);
        const workspace = project.tryWorkspaceByLocator(locator);
        const version3 = workspace ? workspace.manifest.version ?? `` : project.storedPackages.get(locator.locatorHash).version ?? ``;
        scriptEnv.npm_package_name = structUtils.stringifyIdent(locator);
        scriptEnv.npm_package_version = version3;
        let packageLocation;
        if (workspace) {
          packageLocation = workspace.cwd;
        } else {
          const pkg = project.storedPackages.get(locator.locatorHash);
          if (!pkg)
            throw new Error(`Package for ${structUtils.prettyLocator(project.configuration, locator)} not found in the project`);
          const linkers = project.configuration.getLinkers();
          const linkerOptions = { project, report: new StreamReport_1.StreamReport({ stdout: new stream_12.PassThrough(), configuration: project.configuration }) };
          const linker = linkers.find((linker2) => linker2.supportsPackage(pkg, linkerOptions));
          if (!linker)
            throw new Error(`The package ${structUtils.prettyLocator(project.configuration, pkg)} isn't supported by any of the available linkers`);
          packageLocation = await linker.findPackageLocation(pkg, linkerOptions);
        }
        scriptEnv.npm_package_json = fslib_2.npath.fromPortablePath(fslib_2.ppath.join(packageLocation, fslib_12.Filename.manifest));
      }
      const version2 = YarnVersion_1.YarnVersion !== null ? `yarn/${YarnVersion_1.YarnVersion}` : `yarn/${miscUtils.dynamicRequire(`@yarnpkg/core`).version}-core`;
      scriptEnv.npm_config_user_agent = `${version2} npm/? node/${process.version} ${process.platform} ${process.arch}`;
      if (lifecycleScript)
        scriptEnv.npm_lifecycle_event = lifecycleScript;
      if (project) {
        await project.configuration.triggerHook((hook) => hook.setupScriptEnvironment, project, scriptEnv, async (name, argv0, args) => {
          return await makePathWrapper(binFolder, name, argv0, args);
        });
      }
      return scriptEnv;
    }
    var MAX_PREPARE_CONCURRENCY = 2;
    var prepareLimit = (0, p_limit_12.default)(MAX_PREPARE_CONCURRENCY);
    async function prepareExternalProject(cwd, outputPath, { configuration, report, workspace = null, locator = null }) {
      await prepareLimit(async () => {
        await fslib_2.xfs.mktempPromise(async (logDir) => {
          const logFile = fslib_2.ppath.join(logDir, `pack.log`);
          const stdin = null;
          const { stdout, stderr } = configuration.getSubprocessStreams(logFile, { prefix: fslib_2.npath.fromPortablePath(cwd), report });
          const devirtualizedLocator = locator && structUtils.isVirtualLocator(locator) ? structUtils.devirtualizeLocator(locator) : locator;
          const name = devirtualizedLocator ? structUtils.stringifyLocator(devirtualizedLocator) : `an external project`;
          stdout.write(`Packing ${name} from sources
`);
          const packageManagerSelection = await detectPackageManager(cwd);
          let effectivePackageManager;
          if (packageManagerSelection !== null) {
            stdout.write(`Using ${packageManagerSelection.packageManager} for bootstrap. Reason: ${packageManagerSelection.reason}

`);
            effectivePackageManager = packageManagerSelection.packageManager;
          } else {
            stdout.write(`No package manager configuration detected; defaulting to Yarn

`);
            effectivePackageManager = PackageManager.Yarn2;
          }
          const ignoreCorepack = effectivePackageManager === PackageManager.Yarn2 && !packageManagerSelection?.packageManagerField;
          await fslib_2.xfs.mktempPromise(async (binFolder) => {
            const env = await makeScriptEnv({ binFolder, ignoreCorepack });
            const workflows = /* @__PURE__ */ new Map([
              [PackageManager.Yarn1, async () => {
                const workspaceCli = workspace !== null ? [`workspace`, workspace] : [];
                const manifestPath = fslib_2.ppath.join(cwd, fslib_12.Filename.manifest);
                const manifestBuffer = await fslib_2.xfs.readFilePromise(manifestPath);
                const version2 = await execUtils.pipevp(process.execPath, [process.argv[1], `set`, `version`, `classic`, `--only-if-needed`, `--yarn-path`], { cwd, env, stdin, stdout, stderr, end: execUtils.EndStrategy.ErrorCode });
                if (version2.code !== 0)
                  return version2.code;
                await fslib_2.xfs.writeFilePromise(manifestPath, manifestBuffer);
                await fslib_2.xfs.appendFilePromise(fslib_2.ppath.join(cwd, `.npmignore`), `/.yarn
`);
                stdout.write(`
`);
                delete env.NODE_ENV;
                const install = await execUtils.pipevp(`yarn`, [`install`], { cwd, env, stdin, stdout, stderr, end: execUtils.EndStrategy.ErrorCode });
                if (install.code !== 0)
                  return install.code;
                stdout.write(`
`);
                const pack = await execUtils.pipevp(`yarn`, [...workspaceCli, `pack`, `--filename`, fslib_2.npath.fromPortablePath(outputPath)], { cwd, env, stdin, stdout, stderr });
                if (pack.code !== 0)
                  return pack.code;
                return 0;
              }],
              [PackageManager.Yarn2, async () => {
                const workspaceCli = workspace !== null ? [`workspace`, workspace] : [];
                env.YARN_ENABLE_INLINE_BUILDS = `1`;
                const lockfilePath = fslib_2.ppath.join(cwd, fslib_12.Filename.lockfile);
                if (!await fslib_2.xfs.existsPromise(lockfilePath))
                  await fslib_2.xfs.writeFilePromise(lockfilePath, ``);
                const pack = await execUtils.pipevp(`yarn`, [...workspaceCli, `pack`, `--install-if-needed`, `--filename`, fslib_2.npath.fromPortablePath(outputPath)], { cwd, env, stdin, stdout, stderr });
                if (pack.code !== 0)
                  return pack.code;
                return 0;
              }],
              [PackageManager.Npm, async () => {
                if (workspace !== null) {
                  const versionStream = new stream_12.PassThrough();
                  const versionPromise = miscUtils.bufferStream(versionStream);
                  versionStream.pipe(stdout, { end: false });
                  const version2 = await execUtils.pipevp(`npm`, [`--version`], { cwd, env, stdin, stdout: versionStream, stderr, end: execUtils.EndStrategy.Never });
                  versionStream.end();
                  if (version2.code !== 0) {
                    stdout.end();
                    stderr.end();
                    return version2.code;
                  }
                  const npmVersion = (await versionPromise).toString().trim();
                  if (!semverUtils.satisfiesWithPrereleases(npmVersion, `>=7.x`)) {
                    const npmIdent = structUtils.makeIdent(null, `npm`);
                    const currentNpmDescriptor = structUtils.makeDescriptor(npmIdent, npmVersion);
                    const requiredNpmDescriptor = structUtils.makeDescriptor(npmIdent, `>=7.x`);
                    throw new Error(`Workspaces aren't supported by ${structUtils.prettyDescriptor(configuration, currentNpmDescriptor)}; please upgrade to ${structUtils.prettyDescriptor(configuration, requiredNpmDescriptor)} (npm has been detected as the primary package manager for ${formatUtils.pretty(configuration, cwd, formatUtils.Type.PATH)})`);
                  }
                }
                const workspaceCli = workspace !== null ? [`--workspace`, workspace] : [];
                delete env.npm_config_user_agent;
                delete env.npm_config_production;
                delete env.NPM_CONFIG_PRODUCTION;
                delete env.NODE_ENV;
                const install = await execUtils.pipevp(`npm`, [`install`, `--legacy-peer-deps`], { cwd, env, stdin, stdout, stderr, end: execUtils.EndStrategy.ErrorCode });
                if (install.code !== 0)
                  return install.code;
                const packStream = new stream_12.PassThrough();
                const packPromise = miscUtils.bufferStream(packStream);
                packStream.pipe(stdout);
                const pack = await execUtils.pipevp(`npm`, [`pack`, `--silent`, ...workspaceCli], { cwd, env, stdin, stdout: packStream, stderr });
                if (pack.code !== 0)
                  return pack.code;
                const packOutput = (await packPromise).toString().trim().replace(/^.*\n/s, ``);
                const packTarget = fslib_2.ppath.resolve(cwd, fslib_2.npath.toPortablePath(packOutput));
                await fslib_2.xfs.renamePromise(packTarget, outputPath);
                return 0;
              }]
            ]);
            const workflow = workflows.get(effectivePackageManager);
            if (typeof workflow === `undefined`)
              throw new Error(`Assertion failed: Unsupported workflow`);
            const code = await workflow();
            if (code === 0 || typeof code === `undefined`)
              return;
            fslib_2.xfs.detachTemp(logDir);
            throw new Report_1.ReportError(MessageName_1.MessageName.PACKAGE_PREPARATION_FAILED, `Packing the package failed (exit code ${code}, logs can be found here: ${formatUtils.pretty(configuration, logFile, formatUtils.Type.PATH)})`);
          });
        });
      });
    }
    async function hasPackageScript(locator, scriptName, { project }) {
      const workspace = project.tryWorkspaceByLocator(locator);
      if (workspace !== null)
        return hasWorkspaceScript(workspace, scriptName);
      const pkg = project.storedPackages.get(locator.locatorHash);
      if (!pkg)
        throw new Error(`Package for ${structUtils.prettyLocator(project.configuration, locator)} not found in the project`);
      return await libzip_1.ZipOpenFS.openPromise(async (zipOpenFs) => {
        const configuration = project.configuration;
        const linkers = project.configuration.getLinkers();
        const linkerOptions = { project, report: new StreamReport_1.StreamReport({ stdout: new stream_12.PassThrough(), configuration }) };
        const linker = linkers.find((linker2) => linker2.supportsPackage(pkg, linkerOptions));
        if (!linker)
          throw new Error(`The package ${structUtils.prettyLocator(project.configuration, pkg)} isn't supported by any of the available linkers`);
        const packageLocation = await linker.findPackageLocation(pkg, linkerOptions);
        const packageFs = new fslib_12.CwdFS(packageLocation, { baseFs: zipOpenFs });
        const manifest = await Manifest_1.Manifest.find(fslib_12.PortablePath.dot, { baseFs: packageFs });
        return manifest.scripts.has(scriptName);
      });
    }
    async function executePackageScript(locator, scriptName, args, { cwd, project, stdin, stdout, stderr }) {
      return await fslib_2.xfs.mktempPromise(async (binFolder) => {
        const { manifest, env, cwd: realCwd } = await initializePackageEnvironment(locator, { project, binFolder, cwd, lifecycleScript: scriptName });
        const script = manifest.scripts.get(scriptName);
        if (typeof script === `undefined`)
          return 1;
        const realExecutor = async () => {
          return await (0, shell_1.execute)(script, args, { cwd: realCwd, env, stdin, stdout, stderr });
        };
        const executor = await project.configuration.reduceHook((hooks) => {
          return hooks.wrapScriptExecution;
        }, realExecutor, project, locator, scriptName, {
          script,
          args,
          cwd: realCwd,
          env,
          stdin,
          stdout,
          stderr
        });
        return await executor();
      });
    }
    async function executePackageShellcode(locator, command, args, { cwd, project, stdin, stdout, stderr }) {
      return await fslib_2.xfs.mktempPromise(async (binFolder) => {
        const { env, cwd: realCwd } = await initializePackageEnvironment(locator, { project, binFolder, cwd });
        return await (0, shell_1.execute)(command, args, { cwd: realCwd, env, stdin, stdout, stderr });
      });
    }
    async function initializeWorkspaceEnvironment(workspace, { binFolder, cwd, lifecycleScript }) {
      const env = await makeScriptEnv({ project: workspace.project, locator: workspace.anchoredLocator, binFolder, lifecycleScript });
      await installBinaries(binFolder, await getWorkspaceAccessibleBinaries(workspace));
      if (typeof cwd === `undefined`)
        cwd = fslib_2.ppath.dirname(await fslib_2.xfs.realpathPromise(fslib_2.ppath.join(workspace.cwd, `package.json`)));
      return { manifest: workspace.manifest, binFolder, env, cwd };
    }
    async function initializePackageEnvironment(locator, { project, binFolder, cwd, lifecycleScript }) {
      const workspace = project.tryWorkspaceByLocator(locator);
      if (workspace !== null)
        return initializeWorkspaceEnvironment(workspace, { binFolder, cwd, lifecycleScript });
      const pkg = project.storedPackages.get(locator.locatorHash);
      if (!pkg)
        throw new Error(`Package for ${structUtils.prettyLocator(project.configuration, locator)} not found in the project`);
      return await libzip_1.ZipOpenFS.openPromise(async (zipOpenFs) => {
        const configuration = project.configuration;
        const linkers = project.configuration.getLinkers();
        const linkerOptions = { project, report: new StreamReport_1.StreamReport({ stdout: new stream_12.PassThrough(), configuration }) };
        const linker = linkers.find((linker2) => linker2.supportsPackage(pkg, linkerOptions));
        if (!linker)
          throw new Error(`The package ${structUtils.prettyLocator(project.configuration, pkg)} isn't supported by any of the available linkers`);
        const env = await makeScriptEnv({ project, locator, binFolder, lifecycleScript });
        await installBinaries(binFolder, await getPackageAccessibleBinaries(locator, { project }));
        const packageLocation = await linker.findPackageLocation(pkg, linkerOptions);
        const packageFs = new fslib_12.CwdFS(packageLocation, { baseFs: zipOpenFs });
        const manifest = await Manifest_1.Manifest.find(fslib_12.PortablePath.dot, { baseFs: packageFs });
        if (typeof cwd === `undefined`)
          cwd = packageLocation;
        return { manifest, binFolder, env, cwd };
      });
    }
    async function executeWorkspaceScript(workspace, scriptName, args, { cwd, stdin, stdout, stderr }) {
      return await executePackageScript(workspace.anchoredLocator, scriptName, args, { cwd, project: workspace.project, stdin, stdout, stderr });
    }
    function hasWorkspaceScript(workspace, scriptName) {
      return workspace.manifest.scripts.has(scriptName);
    }
    async function executeWorkspaceLifecycleScript(workspace, lifecycleScriptName, { cwd, report }) {
      const { configuration } = workspace.project;
      const stdin = null;
      await fslib_2.xfs.mktempPromise(async (logDir) => {
        const logFile = fslib_2.ppath.join(logDir, `${lifecycleScriptName}.log`);
        const header = `# This file contains the result of Yarn calling the "${lifecycleScriptName}" lifecycle script inside a workspace ("${fslib_2.npath.fromPortablePath(workspace.cwd)}")
`;
        const { stdout, stderr } = configuration.getSubprocessStreams(logFile, {
          report,
          prefix: structUtils.prettyLocator(configuration, workspace.anchoredLocator),
          header
        });
        report.reportInfo(MessageName_1.MessageName.LIFECYCLE_SCRIPT, `Calling the "${lifecycleScriptName}" lifecycle script`);
        const exitCode = await executeWorkspaceScript(workspace, lifecycleScriptName, [], { cwd, stdin, stdout, stderr });
        stdout.end();
        stderr.end();
        if (exitCode !== 0) {
          fslib_2.xfs.detachTemp(logDir);
          throw new Report_1.ReportError(MessageName_1.MessageName.LIFECYCLE_SCRIPT, `${(0, capitalize_1.default)(lifecycleScriptName)} script failed (exit code ${formatUtils.pretty(configuration, exitCode, formatUtils.Type.NUMBER)}, logs can be found here: ${formatUtils.pretty(configuration, logFile, formatUtils.Type.PATH)}); run ${formatUtils.pretty(configuration, `yarn ${lifecycleScriptName}`, formatUtils.Type.CODE)} to investigate`);
        }
      });
    }
    async function maybeExecuteWorkspaceLifecycleScript(workspace, lifecycleScriptName, opts) {
      if (hasWorkspaceScript(workspace, lifecycleScriptName)) {
        await executeWorkspaceLifecycleScript(workspace, lifecycleScriptName, opts);
      }
    }
    function isNodeScript(p) {
      const ext = fslib_2.ppath.extname(p);
      if (ext.match(/\.[cm]?[jt]sx?$/))
        return true;
      if (ext === `.exe` || ext === `.bin`)
        return false;
      const buf = Buffer.alloc(4);
      let fd;
      try {
        fd = fslib_2.xfs.openSync(p, `r`);
      } catch {
        return true;
      }
      try {
        fslib_2.xfs.readSync(fd, buf, 0, buf.length, 0);
      } finally {
        fslib_2.xfs.closeSync(fd);
      }
      const magic = buf.readUint32BE();
      if (magic === 3405691582 || // OSX Universal Binary
      magic === 3489328638 || // Mach-O
      magic === 2135247942 || // ELF
      (magic & 4294901760) === 1297743872)
        return false;
      return true;
    }
    async function getPackageAccessibleBinaries(locator, { project }) {
      const configuration = project.configuration;
      const binaries = /* @__PURE__ */ new Map();
      const pkg = project.storedPackages.get(locator.locatorHash);
      if (!pkg)
        throw new Error(`Package for ${structUtils.prettyLocator(configuration, locator)} not found in the project`);
      const stdout = new stream_12.Writable();
      const linkers = configuration.getLinkers();
      const linkerOptions = { project, report: new StreamReport_1.StreamReport({ configuration, stdout }) };
      const visibleLocators = /* @__PURE__ */ new Set([locator.locatorHash]);
      for (const descriptor of pkg.dependencies.values()) {
        const resolution = project.storedResolutions.get(descriptor.descriptorHash);
        if (!resolution)
          throw new Error(`Assertion failed: The resolution (${structUtils.prettyDescriptor(configuration, descriptor)}) should have been registered`);
        visibleLocators.add(resolution);
      }
      const dependenciesWithBinaries = await Promise.all(Array.from(visibleLocators, async (locatorHash) => {
        const dependency = project.storedPackages.get(locatorHash);
        if (!dependency)
          throw new Error(`Assertion failed: The package (${locatorHash}) should have been registered`);
        if (dependency.bin.size === 0)
          return miscUtils.mapAndFilter.skip;
        const linker = linkers.find((linker2) => linker2.supportsPackage(dependency, linkerOptions));
        if (!linker)
          return miscUtils.mapAndFilter.skip;
        let packageLocation = null;
        try {
          packageLocation = await linker.findPackageLocation(dependency, linkerOptions);
        } catch (err) {
          if (err.code === `LOCATOR_NOT_INSTALLED`) {
            return miscUtils.mapAndFilter.skip;
          } else {
            throw err;
          }
        }
        return { dependency, packageLocation };
      }));
      for (const candidate of dependenciesWithBinaries) {
        if (candidate === miscUtils.mapAndFilter.skip)
          continue;
        const { dependency, packageLocation } = candidate;
        for (const [name, target] of dependency.bin) {
          const binaryPath = fslib_2.ppath.resolve(packageLocation, target);
          binaries.set(name, [dependency, fslib_2.npath.fromPortablePath(binaryPath), isNodeScript(binaryPath)]);
        }
      }
      return binaries;
    }
    async function getWorkspaceAccessibleBinaries(workspace) {
      return await getPackageAccessibleBinaries(workspace.anchoredLocator, { project: workspace.project });
    }
    async function installBinaries(target, binaries) {
      await Promise.all(Array.from(binaries, ([binaryName, [, binaryPath, isScript]]) => {
        return isScript ? makePathWrapper(target, binaryName, process.execPath, [binaryPath]) : makePathWrapper(target, binaryName, binaryPath, []);
      }));
    }
    async function executePackageAccessibleBinary(locator, binaryName, args, { cwd, project, stdin, stdout, stderr, nodeArgs = [], packageAccessibleBinaries }) {
      packageAccessibleBinaries ??= await getPackageAccessibleBinaries(locator, { project });
      const binary = packageAccessibleBinaries.get(binaryName);
      if (!binary)
        throw new Error(`Binary not found (${binaryName}) for ${structUtils.prettyLocator(project.configuration, locator)}`);
      return await fslib_2.xfs.mktempPromise(async (binFolder) => {
        const [, binaryPath] = binary;
        const env = await makeScriptEnv({ project, locator, binFolder });
        await installBinaries(env.BERRY_BIN_FOLDER, packageAccessibleBinaries);
        const promise = isNodeScript(fslib_2.npath.toPortablePath(binaryPath)) ? execUtils.pipevp(process.execPath, [...nodeArgs, binaryPath, ...args], { cwd, env, stdin, stdout, stderr }) : execUtils.pipevp(binaryPath, args, { cwd, env, stdin, stdout, stderr });
        let result2;
        try {
          result2 = await promise;
        } finally {
          await fslib_2.xfs.removePromise(env.BERRY_BIN_FOLDER);
        }
        return result2.code;
      });
    }
    async function executeWorkspaceAccessibleBinary(workspace, binaryName, args, { cwd, stdin, stdout, stderr, packageAccessibleBinaries }) {
      return await executePackageAccessibleBinary(workspace.anchoredLocator, binaryName, args, { project: workspace.project, cwd, stdin, stdout, stderr, packageAccessibleBinaries });
    }
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/high-level-opt.js
var require_high_level_opt = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/high-level-opt.js"(exports2, module2) {
    "use strict";
    var argmap = /* @__PURE__ */ new Map([
      ["C", "cwd"],
      ["f", "file"],
      ["z", "gzip"],
      ["P", "preservePaths"],
      ["U", "unlink"],
      ["strip-components", "strip"],
      ["stripComponents", "strip"],
      ["keep-newer", "newer"],
      ["keepNewer", "newer"],
      ["keep-newer-files", "newer"],
      ["keepNewerFiles", "newer"],
      ["k", "keep"],
      ["keep-existing", "keep"],
      ["keepExisting", "keep"],
      ["m", "noMtime"],
      ["no-mtime", "noMtime"],
      ["p", "preserveOwner"],
      ["L", "follow"],
      ["h", "follow"]
    ]);
    module2.exports = (opt) => opt ? Object.keys(opt).map((k) => [
      argmap.has(k) ? argmap.get(k) : k,
      opt[k]
    ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), /* @__PURE__ */ Object.create(null)) : {};
  }
});

// ../node_modules/.pnpm/minipass@5.0.0/node_modules/minipass/index.js
var require_minipass = __commonJS({
  "../node_modules/.pnpm/minipass@5.0.0/node_modules/minipass/index.js"(exports2) {
    "use strict";
    var proc = typeof process === "object" && process ? process : {
      stdout: null,
      stderr: null
    };
    var EE = require("events");
    var Stream = require("stream");
    var stringdecoder = require("string_decoder");
    var SD = stringdecoder.StringDecoder;
    var EOF = Symbol("EOF");
    var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
    var EMITTED_END = Symbol("emittedEnd");
    var EMITTING_END = Symbol("emittingEnd");
    var EMITTED_ERROR = Symbol("emittedError");
    var CLOSED = Symbol("closed");
    var READ = Symbol("read");
    var FLUSH = Symbol("flush");
    var FLUSHCHUNK = Symbol("flushChunk");
    var ENCODING = Symbol("encoding");
    var DECODER = Symbol("decoder");
    var FLOWING = Symbol("flowing");
    var PAUSED = Symbol("paused");
    var RESUME = Symbol("resume");
    var BUFFER = Symbol("buffer");
    var PIPES = Symbol("pipes");
    var BUFFERLENGTH = Symbol("bufferLength");
    var BUFFERPUSH = Symbol("bufferPush");
    var BUFFERSHIFT = Symbol("bufferShift");
    var OBJECTMODE = Symbol("objectMode");
    var DESTROYED = Symbol("destroyed");
    var ERROR = Symbol("error");
    var EMITDATA = Symbol("emitData");
    var EMITEND = Symbol("emitEnd");
    var EMITEND2 = Symbol("emitEnd2");
    var ASYNC = Symbol("async");
    var ABORT = Symbol("abort");
    var ABORTED = Symbol("aborted");
    var SIGNAL = Symbol("signal");
    var defer = (fn) => Promise.resolve().then(fn);
    var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
    var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
    var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
    var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
    var Pipe = class {
      constructor(src, dest, opts) {
        this.src = src;
        this.dest = dest;
        this.opts = opts;
        this.ondrain = () => src[RESUME]();
        dest.on("drain", this.ondrain);
      }
      unpipe() {
        this.dest.removeListener("drain", this.ondrain);
      }
      // istanbul ignore next - only here for the prototype
      proxyErrors() {
      }
      end() {
        this.unpipe();
        if (this.opts.end) this.dest.end();
      }
    };
    var PipeProxyErrors = class extends Pipe {
      unpipe() {
        this.src.removeListener("error", this.proxyErrors);
        super.unpipe();
      }
      constructor(src, dest, opts) {
        super(src, dest, opts);
        this.proxyErrors = (er) => dest.emit("error", er);
        src.on("error", this.proxyErrors);
      }
    };
    var Minipass = class _Minipass extends Stream {
      constructor(options) {
        super();
        this[FLOWING] = false;
        this[PAUSED] = false;
        this[PIPES] = [];
        this[BUFFER] = [];
        this[OBJECTMODE] = options && options.objectMode || false;
        if (this[OBJECTMODE]) this[ENCODING] = null;
        else this[ENCODING] = options && options.encoding || null;
        if (this[ENCODING] === "buffer") this[ENCODING] = null;
        this[ASYNC] = options && !!options.async || false;
        this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
        this[EOF] = false;
        this[EMITTED_END] = false;
        this[EMITTING_END] = false;
        this[CLOSED] = false;
        this[EMITTED_ERROR] = null;
        this.writable = true;
        this.readable = true;
        this[BUFFERLENGTH] = 0;
        this[DESTROYED] = false;
        if (options && options.debugExposeBuffer === true) {
          Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
        }
        if (options && options.debugExposePipes === true) {
          Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
        }
        this[SIGNAL] = options && options.signal;
        this[ABORTED] = false;
        if (this[SIGNAL]) {
          this[SIGNAL].addEventListener("abort", () => this[ABORT]());
          if (this[SIGNAL].aborted) {
            this[ABORT]();
          }
        }
      }
      get bufferLength() {
        return this[BUFFERLENGTH];
      }
      get encoding() {
        return this[ENCODING];
      }
      set encoding(enc) {
        if (this[OBJECTMODE]) throw new Error("cannot set encoding in objectMode");
        if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
          throw new Error("cannot change encoding");
        if (this[ENCODING] !== enc) {
          this[DECODER] = enc ? new SD(enc) : null;
          if (this[BUFFER].length)
            this[BUFFER] = this[BUFFER].map((chunk) => this[DECODER].write(chunk));
        }
        this[ENCODING] = enc;
      }
      setEncoding(enc) {
        this.encoding = enc;
      }
      get objectMode() {
        return this[OBJECTMODE];
      }
      set objectMode(om) {
        this[OBJECTMODE] = this[OBJECTMODE] || !!om;
      }
      get ["async"]() {
        return this[ASYNC];
      }
      set ["async"](a) {
        this[ASYNC] = this[ASYNC] || !!a;
      }
      // drop everything and get out of the flow completely
      [ABORT]() {
        this[ABORTED] = true;
        this.emit("abort", this[SIGNAL].reason);
        this.destroy(this[SIGNAL].reason);
      }
      get aborted() {
        return this[ABORTED];
      }
      set aborted(_) {
      }
      write(chunk, encoding, cb) {
        if (this[ABORTED]) return false;
        if (this[EOF]) throw new Error("write after end");
        if (this[DESTROYED]) {
          this.emit(
            "error",
            Object.assign(
              new Error("Cannot call write after a stream was destroyed"),
              { code: "ERR_STREAM_DESTROYED" }
            )
          );
          return true;
        }
        if (typeof encoding === "function") cb = encoding, encoding = "utf8";
        if (!encoding) encoding = "utf8";
        const fn = this[ASYNC] ? defer : (f) => f();
        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
          if (isArrayBufferView(chunk))
            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
          else if (isArrayBuffer(chunk)) chunk = Buffer.from(chunk);
          else if (typeof chunk !== "string")
            this.objectMode = true;
        }
        if (this[OBJECTMODE]) {
          if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
          if (this.flowing) this.emit("data", chunk);
          else this[BUFFERPUSH](chunk);
          if (this[BUFFERLENGTH] !== 0) this.emit("readable");
          if (cb) fn(cb);
          return this.flowing;
        }
        if (!chunk.length) {
          if (this[BUFFERLENGTH] !== 0) this.emit("readable");
          if (cb) fn(cb);
          return this.flowing;
        }
        if (typeof chunk === "string" && // unless it is a string already ready for us to use
        !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
          chunk = Buffer.from(chunk, encoding);
        }
        if (Buffer.isBuffer(chunk) && this[ENCODING])
          chunk = this[DECODER].write(chunk);
        if (this.flowing && this[BUFFERLENGTH] !== 0) this[FLUSH](true);
        if (this.flowing) this.emit("data", chunk);
        else this[BUFFERPUSH](chunk);
        if (this[BUFFERLENGTH] !== 0) this.emit("readable");
        if (cb) fn(cb);
        return this.flowing;
      }
      read(n) {
        if (this[DESTROYED]) return null;
        if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
          this[MAYBE_EMIT_END]();
          return null;
        }
        if (this[OBJECTMODE]) n = null;
        if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
          if (this.encoding) this[BUFFER] = [this[BUFFER].join("")];
          else this[BUFFER] = [Buffer.concat(this[BUFFER], this[BUFFERLENGTH])];
        }
        const ret2 = this[READ](n || null, this[BUFFER][0]);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [READ](n, chunk) {
        if (n === chunk.length || n === null) this[BUFFERSHIFT]();
        else {
          this[BUFFER][0] = chunk.slice(n);
          chunk = chunk.slice(0, n);
          this[BUFFERLENGTH] -= n;
        }
        this.emit("data", chunk);
        if (!this[BUFFER].length && !this[EOF]) this.emit("drain");
        return chunk;
      }
      end(chunk, encoding, cb) {
        if (typeof chunk === "function") cb = chunk, chunk = null;
        if (typeof encoding === "function") cb = encoding, encoding = "utf8";
        if (chunk) this.write(chunk, encoding);
        if (cb) this.once("end", cb);
        this[EOF] = true;
        this.writable = false;
        if (this.flowing || !this[PAUSED]) this[MAYBE_EMIT_END]();
        return this;
      }
      // don't let the internal resume be overwritten
      [RESUME]() {
        if (this[DESTROYED]) return;
        this[PAUSED] = false;
        this[FLOWING] = true;
        this.emit("resume");
        if (this[BUFFER].length) this[FLUSH]();
        else if (this[EOF]) this[MAYBE_EMIT_END]();
        else this.emit("drain");
      }
      resume() {
        return this[RESUME]();
      }
      pause() {
        this[FLOWING] = false;
        this[PAUSED] = true;
      }
      get destroyed() {
        return this[DESTROYED];
      }
      get flowing() {
        return this[FLOWING];
      }
      get paused() {
        return this[PAUSED];
      }
      [BUFFERPUSH](chunk) {
        if (this[OBJECTMODE]) this[BUFFERLENGTH] += 1;
        else this[BUFFERLENGTH] += chunk.length;
        this[BUFFER].push(chunk);
      }
      [BUFFERSHIFT]() {
        if (this[OBJECTMODE]) this[BUFFERLENGTH] -= 1;
        else this[BUFFERLENGTH] -= this[BUFFER][0].length;
        return this[BUFFER].shift();
      }
      [FLUSH](noDrain) {
        do {
        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
        if (!noDrain && !this[BUFFER].length && !this[EOF]) this.emit("drain");
      }
      [FLUSHCHUNK](chunk) {
        this.emit("data", chunk);
        return this.flowing;
      }
      pipe(dest, opts) {
        if (this[DESTROYED]) return;
        const ended = this[EMITTED_END];
        opts = opts || {};
        if (dest === proc.stdout || dest === proc.stderr) opts.end = false;
        else opts.end = opts.end !== false;
        opts.proxyErrors = !!opts.proxyErrors;
        if (ended) {
          if (opts.end) dest.end();
        } else {
          this[PIPES].push(
            !opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)
          );
          if (this[ASYNC]) defer(() => this[RESUME]());
          else this[RESUME]();
        }
        return dest;
      }
      unpipe(dest) {
        const p = this[PIPES].find((p2) => p2.dest === dest);
        if (p) {
          this[PIPES].splice(this[PIPES].indexOf(p), 1);
          p.unpipe();
        }
      }
      addListener(ev, fn) {
        return this.on(ev, fn);
      }
      on(ev, fn) {
        const ret2 = super.on(ev, fn);
        if (ev === "data" && !this[PIPES].length && !this.flowing) this[RESUME]();
        else if (ev === "readable" && this[BUFFERLENGTH] !== 0)
          super.emit("readable");
        else if (isEndish(ev) && this[EMITTED_END]) {
          super.emit(ev);
          this.removeAllListeners(ev);
        } else if (ev === "error" && this[EMITTED_ERROR]) {
          if (this[ASYNC]) defer(() => fn.call(this, this[EMITTED_ERROR]));
          else fn.call(this, this[EMITTED_ERROR]);
        }
        return ret2;
      }
      get emittedEnd() {
        return this[EMITTED_END];
      }
      [MAYBE_EMIT_END]() {
        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
          this[EMITTING_END] = true;
          this.emit("end");
          this.emit("prefinish");
          this.emit("finish");
          if (this[CLOSED]) this.emit("close");
          this[EMITTING_END] = false;
        }
      }
      emit(ev, data, ...extra) {
        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED])
          return;
        else if (ev === "data") {
          return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data);
        } else if (ev === "end") {
          return this[EMITEND]();
        } else if (ev === "close") {
          this[CLOSED] = true;
          if (!this[EMITTED_END] && !this[DESTROYED]) return;
          const ret3 = super.emit("close");
          this.removeAllListeners("close");
          return ret3;
        } else if (ev === "error") {
          this[EMITTED_ERROR] = data;
          super.emit(ERROR, data);
          const ret3 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "resume") {
          const ret3 = super.emit("resume");
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "finish" || ev === "prefinish") {
          const ret3 = super.emit(ev);
          this.removeAllListeners(ev);
          return ret3;
        }
        const ret2 = super.emit(ev, data, ...extra);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITDATA](data) {
        for (const p of this[PIPES]) {
          if (p.dest.write(data) === false) this.pause();
        }
        const ret2 = super.emit("data", data);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITEND]() {
        if (this[EMITTED_END]) return;
        this[EMITTED_END] = true;
        this.readable = false;
        if (this[ASYNC]) defer(() => this[EMITEND2]());
        else this[EMITEND2]();
      }
      [EMITEND2]() {
        if (this[DECODER]) {
          const data = this[DECODER].end();
          if (data) {
            for (const p of this[PIPES]) {
              p.dest.write(data);
            }
            super.emit("data", data);
          }
        }
        for (const p of this[PIPES]) {
          p.end();
        }
        const ret2 = super.emit("end");
        this.removeAllListeners("end");
        return ret2;
      }
      // const all = await stream.collect()
      collect() {
        const buf = [];
        if (!this[OBJECTMODE]) buf.dataLength = 0;
        const p = this.promise();
        this.on("data", (c) => {
          buf.push(c);
          if (!this[OBJECTMODE]) buf.dataLength += c.length;
        });
        return p.then(() => buf);
      }
      // const data = await stream.concat()
      concat() {
        return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then(
          (buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)
        );
      }
      // stream.promise().then(() => done, er => emitted error)
      promise() {
        return new Promise((resolve, reject) => {
          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
          this.on("error", (er) => reject(er));
          this.on("end", () => resolve());
        });
      }
      // for await (let chunk of stream)
      [ASYNCITERATOR]() {
        let stopped = false;
        const stop = () => {
          this.pause();
          stopped = true;
          return Promise.resolve({ done: true });
        };
        const next = () => {
          if (stopped) return stop();
          const res = this.read();
          if (res !== null) return Promise.resolve({ done: false, value: res });
          if (this[EOF]) return stop();
          let resolve = null;
          let reject = null;
          const onerr = (er) => {
            this.removeListener("data", ondata);
            this.removeListener("end", onend);
            this.removeListener(DESTROYED, ondestroy);
            stop();
            reject(er);
          };
          const ondata = (value) => {
            this.removeListener("error", onerr);
            this.removeListener("end", onend);
            this.removeListener(DESTROYED, ondestroy);
            this.pause();
            resolve({ value, done: !!this[EOF] });
          };
          const onend = () => {
            this.removeListener("error", onerr);
            this.removeListener("data", ondata);
            this.removeListener(DESTROYED, ondestroy);
            stop();
            resolve({ done: true });
          };
          const ondestroy = () => onerr(new Error("stream destroyed"));
          return new Promise((res2, rej) => {
            reject = rej;
            resolve = res2;
            this.once(DESTROYED, ondestroy);
            this.once("error", onerr);
            this.once("end", onend);
            this.once("data", ondata);
          });
        };
        return {
          next,
          throw: stop,
          return: stop,
          [ASYNCITERATOR]() {
            return this;
          }
        };
      }
      // for (let chunk of stream)
      [ITERATOR]() {
        let stopped = false;
        const stop = () => {
          this.pause();
          this.removeListener(ERROR, stop);
          this.removeListener(DESTROYED, stop);
          this.removeListener("end", stop);
          stopped = true;
          return { done: true };
        };
        const next = () => {
          if (stopped) return stop();
          const value = this.read();
          return value === null ? stop() : { value };
        };
        this.once("end", stop);
        this.once(ERROR, stop);
        this.once(DESTROYED, stop);
        return {
          next,
          throw: stop,
          return: stop,
          [ITERATOR]() {
            return this;
          }
        };
      }
      destroy(er) {
        if (this[DESTROYED]) {
          if (er) this.emit("error", er);
          else this.emit(DESTROYED);
          return this;
        }
        this[DESTROYED] = true;
        this[BUFFER].length = 0;
        this[BUFFERLENGTH] = 0;
        if (typeof this.close === "function" && !this[CLOSED]) this.close();
        if (er) this.emit("error", er);
        else this.emit(DESTROYED);
        return this;
      }
      static isStream(s) {
        return !!s && (s instanceof _Minipass || s instanceof Stream || s instanceof EE && // readable
        (typeof s.pipe === "function" || // writable
        typeof s.write === "function" && typeof s.end === "function"));
      }
    };
    exports2.Minipass = Minipass;
  }
});

// ../node_modules/.pnpm/minizlib@2.1.2/node_modules/minizlib/constants.js
var require_constants15 = __commonJS({
  "../node_modules/.pnpm/minizlib@2.1.2/node_modules/minizlib/constants.js"(exports2, module2) {
    var realZlibConstants = require("zlib").constants || /* istanbul ignore next */
    { ZLIB_VERNUM: 4736 };
    module2.exports = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), {
      Z_NO_FLUSH: 0,
      Z_PARTIAL_FLUSH: 1,
      Z_SYNC_FLUSH: 2,
      Z_FULL_FLUSH: 3,
      Z_FINISH: 4,
      Z_BLOCK: 5,
      Z_OK: 0,
      Z_STREAM_END: 1,
      Z_NEED_DICT: 2,
      Z_ERRNO: -1,
      Z_STREAM_ERROR: -2,
      Z_DATA_ERROR: -3,
      Z_MEM_ERROR: -4,
      Z_BUF_ERROR: -5,
      Z_VERSION_ERROR: -6,
      Z_NO_COMPRESSION: 0,
      Z_BEST_SPEED: 1,
      Z_BEST_COMPRESSION: 9,
      Z_DEFAULT_COMPRESSION: -1,
      Z_FILTERED: 1,
      Z_HUFFMAN_ONLY: 2,
      Z_RLE: 3,
      Z_FIXED: 4,
      Z_DEFAULT_STRATEGY: 0,
      DEFLATE: 1,
      INFLATE: 2,
      GZIP: 3,
      GUNZIP: 4,
      DEFLATERAW: 5,
      INFLATERAW: 6,
      UNZIP: 7,
      BROTLI_DECODE: 8,
      BROTLI_ENCODE: 9,
      Z_MIN_WINDOWBITS: 8,
      Z_MAX_WINDOWBITS: 15,
      Z_DEFAULT_WINDOWBITS: 15,
      Z_MIN_CHUNK: 64,
      Z_MAX_CHUNK: Infinity,
      Z_DEFAULT_CHUNK: 16384,
      Z_MIN_MEMLEVEL: 1,
      Z_MAX_MEMLEVEL: 9,
      Z_DEFAULT_MEMLEVEL: 8,
      Z_MIN_LEVEL: -1,
      Z_MAX_LEVEL: 9,
      Z_DEFAULT_LEVEL: -1,
      BROTLI_OPERATION_PROCESS: 0,
      BROTLI_OPERATION_FLUSH: 1,
      BROTLI_OPERATION_FINISH: 2,
      BROTLI_OPERATION_EMIT_METADATA: 3,
      BROTLI_MODE_GENERIC: 0,
      BROTLI_MODE_TEXT: 1,
      BROTLI_MODE_FONT: 2,
      BROTLI_DEFAULT_MODE: 0,
      BROTLI_MIN_QUALITY: 0,
      BROTLI_MAX_QUALITY: 11,
      BROTLI_DEFAULT_QUALITY: 11,
      BROTLI_MIN_WINDOW_BITS: 10,
      BROTLI_MAX_WINDOW_BITS: 24,
      BROTLI_LARGE_MAX_WINDOW_BITS: 30,
      BROTLI_DEFAULT_WINDOW: 22,
      BROTLI_MIN_INPUT_BLOCK_BITS: 16,
      BROTLI_MAX_INPUT_BLOCK_BITS: 24,
      BROTLI_PARAM_MODE: 0,
      BROTLI_PARAM_QUALITY: 1,
      BROTLI_PARAM_LGWIN: 2,
      BROTLI_PARAM_LGBLOCK: 3,
      BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,
      BROTLI_PARAM_SIZE_HINT: 5,
      BROTLI_PARAM_LARGE_WINDOW: 6,
      BROTLI_PARAM_NPOSTFIX: 7,
      BROTLI_PARAM_NDIRECT: 8,
      BROTLI_DECODER_RESULT_ERROR: 0,
      BROTLI_DECODER_RESULT_SUCCESS: 1,
      BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,
      BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,
      BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,
      BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,
      BROTLI_DECODER_NO_ERROR: 0,
      BROTLI_DECODER_SUCCESS: 1,
      BROTLI_DECODER_NEEDS_MORE_INPUT: 2,
      BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,
      BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,
      BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,
      BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,
      BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,
      BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,
      BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,
      BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,
      BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,
      BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,
      BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,
      BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,
      BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,
      BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,
      BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,
      BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,
      BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,
      BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,
      BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,
      BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,
      BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,
      BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,
      BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,
      BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,
      BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,
      BROTLI_DECODER_ERROR_UNREACHABLE: -31
    }, realZlibConstants));
  }
});

// ../node_modules/.pnpm/minipass@3.3.6/node_modules/minipass/index.js
var require_minipass2 = __commonJS({
  "../node_modules/.pnpm/minipass@3.3.6/node_modules/minipass/index.js"(exports2, module2) {
    "use strict";
    var proc = typeof process === "object" && process ? process : {
      stdout: null,
      stderr: null
    };
    var EE = require("events");
    var Stream = require("stream");
    var SD = require("string_decoder").StringDecoder;
    var EOF = Symbol("EOF");
    var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
    var EMITTED_END = Symbol("emittedEnd");
    var EMITTING_END = Symbol("emittingEnd");
    var EMITTED_ERROR = Symbol("emittedError");
    var CLOSED = Symbol("closed");
    var READ = Symbol("read");
    var FLUSH = Symbol("flush");
    var FLUSHCHUNK = Symbol("flushChunk");
    var ENCODING = Symbol("encoding");
    var DECODER = Symbol("decoder");
    var FLOWING = Symbol("flowing");
    var PAUSED = Symbol("paused");
    var RESUME = Symbol("resume");
    var BUFFERLENGTH = Symbol("bufferLength");
    var BUFFERPUSH = Symbol("bufferPush");
    var BUFFERSHIFT = Symbol("bufferShift");
    var OBJECTMODE = Symbol("objectMode");
    var DESTROYED = Symbol("destroyed");
    var EMITDATA = Symbol("emitData");
    var EMITEND = Symbol("emitEnd");
    var EMITEND2 = Symbol("emitEnd2");
    var ASYNC = Symbol("async");
    var defer = (fn) => Promise.resolve().then(fn);
    var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
    var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
    var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
    var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
    var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
    var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
    var Pipe = class {
      constructor(src, dest, opts) {
        this.src = src;
        this.dest = dest;
        this.opts = opts;
        this.ondrain = () => src[RESUME]();
        dest.on("drain", this.ondrain);
      }
      unpipe() {
        this.dest.removeListener("drain", this.ondrain);
      }
      // istanbul ignore next - only here for the prototype
      proxyErrors() {
      }
      end() {
        this.unpipe();
        if (this.opts.end)
          this.dest.end();
      }
    };
    var PipeProxyErrors = class extends Pipe {
      unpipe() {
        this.src.removeListener("error", this.proxyErrors);
        super.unpipe();
      }
      constructor(src, dest, opts) {
        super(src, dest, opts);
        this.proxyErrors = (er) => dest.emit("error", er);
        src.on("error", this.proxyErrors);
      }
    };
    module2.exports = class Minipass extends Stream {
      constructor(options) {
        super();
        this[FLOWING] = false;
        this[PAUSED] = false;
        this.pipes = [];
        this.buffer = [];
        this[OBJECTMODE] = options && options.objectMode || false;
        if (this[OBJECTMODE])
          this[ENCODING] = null;
        else
          this[ENCODING] = options && options.encoding || null;
        if (this[ENCODING] === "buffer")
          this[ENCODING] = null;
        this[ASYNC] = options && !!options.async || false;
        this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
        this[EOF] = false;
        this[EMITTED_END] = false;
        this[EMITTING_END] = false;
        this[CLOSED] = false;
        this[EMITTED_ERROR] = null;
        this.writable = true;
        this.readable = true;
        this[BUFFERLENGTH] = 0;
        this[DESTROYED] = false;
      }
      get bufferLength() {
        return this[BUFFERLENGTH];
      }
      get encoding() {
        return this[ENCODING];
      }
      set encoding(enc) {
        if (this[OBJECTMODE])
          throw new Error("cannot set encoding in objectMode");
        if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
          throw new Error("cannot change encoding");
        if (this[ENCODING] !== enc) {
          this[DECODER] = enc ? new SD(enc) : null;
          if (this.buffer.length)
            this.buffer = this.buffer.map((chunk) => this[DECODER].write(chunk));
        }
        this[ENCODING] = enc;
      }
      setEncoding(enc) {
        this.encoding = enc;
      }
      get objectMode() {
        return this[OBJECTMODE];
      }
      set objectMode(om) {
        this[OBJECTMODE] = this[OBJECTMODE] || !!om;
      }
      get ["async"]() {
        return this[ASYNC];
      }
      set ["async"](a) {
        this[ASYNC] = this[ASYNC] || !!a;
      }
      write(chunk, encoding, cb) {
        if (this[EOF])
          throw new Error("write after end");
        if (this[DESTROYED]) {
          this.emit("error", Object.assign(
            new Error("Cannot call write after a stream was destroyed"),
            { code: "ERR_STREAM_DESTROYED" }
          ));
          return true;
        }
        if (typeof encoding === "function")
          cb = encoding, encoding = "utf8";
        if (!encoding)
          encoding = "utf8";
        const fn = this[ASYNC] ? defer : (f) => f();
        if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
          if (isArrayBufferView(chunk))
            chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
          else if (isArrayBuffer(chunk))
            chunk = Buffer.from(chunk);
          else if (typeof chunk !== "string")
            this.objectMode = true;
        }
        if (this[OBJECTMODE]) {
          if (this.flowing && this[BUFFERLENGTH] !== 0)
            this[FLUSH](true);
          if (this.flowing)
            this.emit("data", chunk);
          else
            this[BUFFERPUSH](chunk);
          if (this[BUFFERLENGTH] !== 0)
            this.emit("readable");
          if (cb)
            fn(cb);
          return this.flowing;
        }
        if (!chunk.length) {
          if (this[BUFFERLENGTH] !== 0)
            this.emit("readable");
          if (cb)
            fn(cb);
          return this.flowing;
        }
        if (typeof chunk === "string" && // unless it is a string already ready for us to use
        !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
          chunk = Buffer.from(chunk, encoding);
        }
        if (Buffer.isBuffer(chunk) && this[ENCODING])
          chunk = this[DECODER].write(chunk);
        if (this.flowing && this[BUFFERLENGTH] !== 0)
          this[FLUSH](true);
        if (this.flowing)
          this.emit("data", chunk);
        else
          this[BUFFERPUSH](chunk);
        if (this[BUFFERLENGTH] !== 0)
          this.emit("readable");
        if (cb)
          fn(cb);
        return this.flowing;
      }
      read(n) {
        if (this[DESTROYED])
          return null;
        if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
          this[MAYBE_EMIT_END]();
          return null;
        }
        if (this[OBJECTMODE])
          n = null;
        if (this.buffer.length > 1 && !this[OBJECTMODE]) {
          if (this.encoding)
            this.buffer = [this.buffer.join("")];
          else
            this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])];
        }
        const ret2 = this[READ](n || null, this.buffer[0]);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [READ](n, chunk) {
        if (n === chunk.length || n === null)
          this[BUFFERSHIFT]();
        else {
          this.buffer[0] = chunk.slice(n);
          chunk = chunk.slice(0, n);
          this[BUFFERLENGTH] -= n;
        }
        this.emit("data", chunk);
        if (!this.buffer.length && !this[EOF])
          this.emit("drain");
        return chunk;
      }
      end(chunk, encoding, cb) {
        if (typeof chunk === "function")
          cb = chunk, chunk = null;
        if (typeof encoding === "function")
          cb = encoding, encoding = "utf8";
        if (chunk)
          this.write(chunk, encoding);
        if (cb)
          this.once("end", cb);
        this[EOF] = true;
        this.writable = false;
        if (this.flowing || !this[PAUSED])
          this[MAYBE_EMIT_END]();
        return this;
      }
      // don't let the internal resume be overwritten
      [RESUME]() {
        if (this[DESTROYED])
          return;
        this[PAUSED] = false;
        this[FLOWING] = true;
        this.emit("resume");
        if (this.buffer.length)
          this[FLUSH]();
        else if (this[EOF])
          this[MAYBE_EMIT_END]();
        else
          this.emit("drain");
      }
      resume() {
        return this[RESUME]();
      }
      pause() {
        this[FLOWING] = false;
        this[PAUSED] = true;
      }
      get destroyed() {
        return this[DESTROYED];
      }
      get flowing() {
        return this[FLOWING];
      }
      get paused() {
        return this[PAUSED];
      }
      [BUFFERPUSH](chunk) {
        if (this[OBJECTMODE])
          this[BUFFERLENGTH] += 1;
        else
          this[BUFFERLENGTH] += chunk.length;
        this.buffer.push(chunk);
      }
      [BUFFERSHIFT]() {
        if (this.buffer.length) {
          if (this[OBJECTMODE])
            this[BUFFERLENGTH] -= 1;
          else
            this[BUFFERLENGTH] -= this.buffer[0].length;
        }
        return this.buffer.shift();
      }
      [FLUSH](noDrain) {
        do {
        } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()));
        if (!noDrain && !this.buffer.length && !this[EOF])
          this.emit("drain");
      }
      [FLUSHCHUNK](chunk) {
        return chunk ? (this.emit("data", chunk), this.flowing) : false;
      }
      pipe(dest, opts) {
        if (this[DESTROYED])
          return;
        const ended = this[EMITTED_END];
        opts = opts || {};
        if (dest === proc.stdout || dest === proc.stderr)
          opts.end = false;
        else
          opts.end = opts.end !== false;
        opts.proxyErrors = !!opts.proxyErrors;
        if (ended) {
          if (opts.end)
            dest.end();
        } else {
          this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
          if (this[ASYNC])
            defer(() => this[RESUME]());
          else
            this[RESUME]();
        }
        return dest;
      }
      unpipe(dest) {
        const p = this.pipes.find((p2) => p2.dest === dest);
        if (p) {
          this.pipes.splice(this.pipes.indexOf(p), 1);
          p.unpipe();
        }
      }
      addListener(ev, fn) {
        return this.on(ev, fn);
      }
      on(ev, fn) {
        const ret2 = super.on(ev, fn);
        if (ev === "data" && !this.pipes.length && !this.flowing)
          this[RESUME]();
        else if (ev === "readable" && this[BUFFERLENGTH] !== 0)
          super.emit("readable");
        else if (isEndish(ev) && this[EMITTED_END]) {
          super.emit(ev);
          this.removeAllListeners(ev);
        } else if (ev === "error" && this[EMITTED_ERROR]) {
          if (this[ASYNC])
            defer(() => fn.call(this, this[EMITTED_ERROR]));
          else
            fn.call(this, this[EMITTED_ERROR]);
        }
        return ret2;
      }
      get emittedEnd() {
        return this[EMITTED_END];
      }
      [MAYBE_EMIT_END]() {
        if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this.buffer.length === 0 && this[EOF]) {
          this[EMITTING_END] = true;
          this.emit("end");
          this.emit("prefinish");
          this.emit("finish");
          if (this[CLOSED])
            this.emit("close");
          this[EMITTING_END] = false;
        }
      }
      emit(ev, data, ...extra) {
        if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED])
          return;
        else if (ev === "data") {
          return !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data);
        } else if (ev === "end") {
          return this[EMITEND]();
        } else if (ev === "close") {
          this[CLOSED] = true;
          if (!this[EMITTED_END] && !this[DESTROYED])
            return;
          const ret3 = super.emit("close");
          this.removeAllListeners("close");
          return ret3;
        } else if (ev === "error") {
          this[EMITTED_ERROR] = data;
          const ret3 = super.emit("error", data);
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "resume") {
          const ret3 = super.emit("resume");
          this[MAYBE_EMIT_END]();
          return ret3;
        } else if (ev === "finish" || ev === "prefinish") {
          const ret3 = super.emit(ev);
          this.removeAllListeners(ev);
          return ret3;
        }
        const ret2 = super.emit(ev, data, ...extra);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITDATA](data) {
        for (const p of this.pipes) {
          if (p.dest.write(data) === false)
            this.pause();
        }
        const ret2 = super.emit("data", data);
        this[MAYBE_EMIT_END]();
        return ret2;
      }
      [EMITEND]() {
        if (this[EMITTED_END])
          return;
        this[EMITTED_END] = true;
        this.readable = false;
        if (this[ASYNC])
          defer(() => this[EMITEND2]());
        else
          this[EMITEND2]();
      }
      [EMITEND2]() {
        if (this[DECODER]) {
          const data = this[DECODER].end();
          if (data) {
            for (const p of this.pipes) {
              p.dest.write(data);
            }
            super.emit("data", data);
          }
        }
        for (const p of this.pipes) {
          p.end();
        }
        const ret2 = super.emit("end");
        this.removeAllListeners("end");
        return ret2;
      }
      // const all = await stream.collect()
      collect() {
        const buf = [];
        if (!this[OBJECTMODE])
          buf.dataLength = 0;
        const p = this.promise();
        this.on("data", (c) => {
          buf.push(c);
          if (!this[OBJECTMODE])
            buf.dataLength += c.length;
        });
        return p.then(() => buf);
      }
      // const data = await stream.concat()
      concat() {
        return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength));
      }
      // stream.promise().then(() => done, er => emitted error)
      promise() {
        return new Promise((resolve, reject) => {
          this.on(DESTROYED, () => reject(new Error("stream destroyed")));
          this.on("error", (er) => reject(er));
          this.on("end", () => resolve());
        });
      }
      // for await (let chunk of stream)
      [ASYNCITERATOR]() {
        const next = () => {
          const res = this.read();
          if (res !== null)
            return Promise.resolve({ done: false, value: res });
          if (this[EOF])
            return Promise.resolve({ done: true });
          let resolve = null;
          let reject = null;
          const onerr = (er) => {
            this.removeListener("data", ondata);
            this.removeListener("end", onend);
            reject(er);
          };
          const ondata = (value) => {
            this.removeListener("error", onerr);
            this.removeListener("end", onend);
            this.pause();
            resolve({ value, done: !!this[EOF] });
          };
          const onend = () => {
            this.removeListener("error", onerr);
            this.removeListener("data", ondata);
            resolve({ done: true });
          };
          const ondestroy = () => onerr(new Error("stream destroyed"));
          return new Promise((res2, rej) => {
            reject = rej;
            resolve = res2;
            this.once(DESTROYED, ondestroy);
            this.once("error", onerr);
            this.once("end", onend);
            this.once("data", ondata);
          });
        };
        return { next };
      }
      // for (let chunk of stream)
      [ITERATOR]() {
        const next = () => {
          const value = this.read();
          const done = value === null;
          return { value, done };
        };
        return { next };
      }
      destroy(er) {
        if (this[DESTROYED]) {
          if (er)
            this.emit("error", er);
          else
            this.emit(DESTROYED);
          return this;
        }
        this[DESTROYED] = true;
        this.buffer.length = 0;
        this[BUFFERLENGTH] = 0;
        if (typeof this.close === "function" && !this[CLOSED])
          this.close();
        if (er)
          this.emit("error", er);
        else
          this.emit(DESTROYED);
        return this;
      }
      static isStream(s) {
        return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || // readable
        typeof s.write === "function" && typeof s.end === "function"));
      }
    };
  }
});

// ../node_modules/.pnpm/minizlib@2.1.2/node_modules/minizlib/index.js
var require_minizlib = __commonJS({
  "../node_modules/.pnpm/minizlib@2.1.2/node_modules/minizlib/index.js"(exports2) {
    "use strict";
    var assert = require("assert");
    var Buffer2 = require("buffer").Buffer;
    var realZlib = require("zlib");
    var constants = exports2.constants = require_constants15();
    var Minipass = require_minipass2();
    var OriginalBufferConcat = Buffer2.concat;
    var _superWrite = Symbol("_superWrite");
    var ZlibError = class extends Error {
      constructor(err) {
        super("zlib: " + err.message);
        this.code = err.code;
        this.errno = err.errno;
        if (!this.code)
          this.code = "ZLIB_ERROR";
        this.message = "zlib: " + err.message;
        Error.captureStackTrace(this, this.constructor);
      }
      get name() {
        return "ZlibError";
      }
    };
    var _opts = Symbol("opts");
    var _flushFlag = Symbol("flushFlag");
    var _finishFlushFlag = Symbol("finishFlushFlag");
    var _fullFlushFlag = Symbol("fullFlushFlag");
    var _handle = Symbol("handle");
    var _onError = Symbol("onError");
    var _sawError = Symbol("sawError");
    var _level = Symbol("level");
    var _strategy = Symbol("strategy");
    var _ended = Symbol("ended");
    var _defaultFullFlush = Symbol("_defaultFullFlush");
    var ZlibBase = class extends Minipass {
      constructor(opts, mode) {
        if (!opts || typeof opts !== "object")
          throw new TypeError("invalid options for ZlibBase constructor");
        super(opts);
        this[_sawError] = false;
        this[_ended] = false;
        this[_opts] = opts;
        this[_flushFlag] = opts.flush;
        this[_finishFlushFlag] = opts.finishFlush;
        try {
          this[_handle] = new realZlib[mode](opts);
        } catch (er) {
          throw new ZlibError(er);
        }
        this[_onError] = (err) => {
          if (this[_sawError])
            return;
          this[_sawError] = true;
          this.close();
          this.emit("error", err);
        };
        this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
        this.once("end", () => this.close);
      }
      close() {
        if (this[_handle]) {
          this[_handle].close();
          this[_handle] = null;
          this.emit("close");
        }
      }
      reset() {
        if (!this[_sawError]) {
          assert(this[_handle], "zlib binding closed");
          return this[_handle].reset();
        }
      }
      flush(flushFlag) {
        if (this.ended)
          return;
        if (typeof flushFlag !== "number")
          flushFlag = this[_fullFlushFlag];
        this.write(Object.assign(Buffer2.alloc(0), { [_flushFlag]: flushFlag }));
      }
      end(chunk, encoding, cb) {
        if (chunk)
          this.write(chunk, encoding);
        this.flush(this[_finishFlushFlag]);
        this[_ended] = true;
        return super.end(null, null, cb);
      }
      get ended() {
        return this[_ended];
      }
      write(chunk, encoding, cb) {
        if (typeof encoding === "function")
          cb = encoding, encoding = "utf8";
        if (typeof chunk === "string")
          chunk = Buffer2.from(chunk, encoding);
        if (this[_sawError])
          return;
        assert(this[_handle], "zlib binding closed");
        const nativeHandle = this[_handle]._handle;
        const originalNativeClose = nativeHandle.close;
        nativeHandle.close = () => {
        };
        const originalClose = this[_handle].close;
        this[_handle].close = () => {
        };
        Buffer2.concat = (args) => args;
        let result2;
        try {
          const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this[_flushFlag];
          result2 = this[_handle]._processChunk(chunk, flushFlag);
          Buffer2.concat = OriginalBufferConcat;
        } catch (err) {
          Buffer2.concat = OriginalBufferConcat;
          this[_onError](new ZlibError(err));
        } finally {
          if (this[_handle]) {
            this[_handle]._handle = nativeHandle;
            nativeHandle.close = originalNativeClose;
            this[_handle].close = originalClose;
            this[_handle].removeAllListeners("error");
          }
        }
        if (this[_handle])
          this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
        let writeReturn;
        if (result2) {
          if (Array.isArray(result2) && result2.length > 0) {
            writeReturn = this[_superWrite](Buffer2.from(result2[0]));
            for (let i = 1; i < result2.length; i++) {
              writeReturn = this[_superWrite](result2[i]);
            }
          } else {
            writeReturn = this[_superWrite](Buffer2.from(result2));
          }
        }
        if (cb)
          cb();
        return writeReturn;
      }
      [_superWrite](data) {
        return super.write(data);
      }
    };
    var Zlib = class extends ZlibBase {
      constructor(opts, mode) {
        opts = opts || {};
        opts.flush = opts.flush || constants.Z_NO_FLUSH;
        opts.finishFlush = opts.finishFlush || constants.Z_FINISH;
        super(opts, mode);
        this[_fullFlushFlag] = constants.Z_FULL_FLUSH;
        this[_level] = opts.level;
        this[_strategy] = opts.strategy;
      }
      params(level, strategy) {
        if (this[_sawError])
          return;
        if (!this[_handle])
          throw new Error("cannot switch params when binding is closed");
        if (!this[_handle].params)
          throw new Error("not supported in this implementation");
        if (this[_level] !== level || this[_strategy] !== strategy) {
          this.flush(constants.Z_SYNC_FLUSH);
          assert(this[_handle], "zlib binding closed");
          const origFlush = this[_handle].flush;
          this[_handle].flush = (flushFlag, cb) => {
            this.flush(flushFlag);
            cb();
          };
          try {
            this[_handle].params(level, strategy);
          } finally {
            this[_handle].flush = origFlush;
          }
          if (this[_handle]) {
            this[_level] = level;
            this[_strategy] = strategy;
          }
        }
      }
    };
    var Deflate = class extends Zlib {
      constructor(opts) {
        super(opts, "Deflate");
      }
    };
    var Inflate = class extends Zlib {
      constructor(opts) {
        super(opts, "Inflate");
      }
    };
    var _portable = Symbol("_portable");
    var Gzip = class extends Zlib {
      constructor(opts) {
        super(opts, "Gzip");
        this[_portable] = opts && !!opts.portable;
      }
      [_superWrite](data) {
        if (!this[_portable])
          return super[_superWrite](data);
        this[_portable] = false;
        data[9] = 255;
        return super[_superWrite](data);
      }
    };
    var Gunzip = class extends Zlib {
      constructor(opts) {
        super(opts, "Gunzip");
      }
    };
    var DeflateRaw = class extends Zlib {
      constructor(opts) {
        super(opts, "DeflateRaw");
      }
    };
    var InflateRaw = class extends Zlib {
      constructor(opts) {
        super(opts, "InflateRaw");
      }
    };
    var Unzip = class extends Zlib {
      constructor(opts) {
        super(opts, "Unzip");
      }
    };
    var Brotli = class extends ZlibBase {
      constructor(opts, mode) {
        opts = opts || {};
        opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS;
        opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH;
        super(opts, mode);
        this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH;
      }
    };
    var BrotliCompress = class extends Brotli {
      constructor(opts) {
        super(opts, "BrotliCompress");
      }
    };
    var BrotliDecompress = class extends Brotli {
      constructor(opts) {
        super(opts, "BrotliDecompress");
      }
    };
    exports2.Deflate = Deflate;
    exports2.Inflate = Inflate;
    exports2.Gzip = Gzip;
    exports2.Gunzip = Gunzip;
    exports2.DeflateRaw = DeflateRaw;
    exports2.InflateRaw = InflateRaw;
    exports2.Unzip = Unzip;
    if (typeof realZlib.BrotliCompress === "function") {
      exports2.BrotliCompress = BrotliCompress;
      exports2.BrotliDecompress = BrotliDecompress;
    } else {
      exports2.BrotliCompress = exports2.BrotliDecompress = class {
        constructor() {
          throw new Error("Brotli is not supported in this version of Node.js");
        }
      };
    }
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/normalize-windows-path.js
var require_normalize_windows_path = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/normalize-windows-path.js"(exports2, module2) {
    var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
    module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/");
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/read-entry.js
var require_read_entry = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/read-entry.js"(exports2, module2) {
    "use strict";
    var { Minipass } = require_minipass();
    var normPath = require_normalize_windows_path();
    var SLURP = Symbol("slurp");
    module2.exports = class ReadEntry extends Minipass {
      constructor(header, ex, gex) {
        super();
        this.pause();
        this.extended = ex;
        this.globalExtended = gex;
        this.header = header;
        this.startBlockSize = 512 * Math.ceil(header.size / 512);
        this.blockRemain = this.startBlockSize;
        this.remain = header.size;
        this.type = header.type;
        this.meta = false;
        this.ignore = false;
        switch (this.type) {
          case "File":
          case "OldFile":
          case "Link":
          case "SymbolicLink":
          case "CharacterDevice":
          case "BlockDevice":
          case "Directory":
          case "FIFO":
          case "ContiguousFile":
          case "GNUDumpDir":
            break;
          case "NextFileHasLongLinkpath":
          case "NextFileHasLongPath":
          case "OldGnuLongPath":
          case "GlobalExtendedHeader":
          case "ExtendedHeader":
          case "OldExtendedHeader":
            this.meta = true;
            break;
          // NOTE: gnutar and bsdtar treat unrecognized types as 'File'
          // it may be worth doing the same, but with a warning.
          default:
            this.ignore = true;
        }
        this.path = normPath(header.path);
        this.mode = header.mode;
        if (this.mode) {
          this.mode = this.mode & 4095;
        }
        this.uid = header.uid;
        this.gid = header.gid;
        this.uname = header.uname;
        this.gname = header.gname;
        this.size = header.size;
        this.mtime = header.mtime;
        this.atime = header.atime;
        this.ctime = header.ctime;
        this.linkpath = normPath(header.linkpath);
        this.uname = header.uname;
        this.gname = header.gname;
        if (ex) {
          this[SLURP](ex);
        }
        if (gex) {
          this[SLURP](gex, true);
        }
      }
      write(data) {
        const writeLen = data.length;
        if (writeLen > this.blockRemain) {
          throw new Error("writing more to entry than is appropriate");
        }
        const r = this.remain;
        const br = this.blockRemain;
        this.remain = Math.max(0, r - writeLen);
        this.blockRemain = Math.max(0, br - writeLen);
        if (this.ignore) {
          return true;
        }
        if (r >= writeLen) {
          return super.write(data);
        }
        return super.write(data.slice(0, r));
      }
      [SLURP](ex, global2) {
        for (const k in ex) {
          if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
            this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k];
          }
        }
      }
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/types.js
var require_types11 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/types.js"(exports2) {
    "use strict";
    exports2.name = /* @__PURE__ */ new Map([
      ["0", "File"],
      // same as File
      ["", "OldFile"],
      ["1", "Link"],
      ["2", "SymbolicLink"],
      // Devices and FIFOs aren't fully supported
      // they are parsed, but skipped when unpacking
      ["3", "CharacterDevice"],
      ["4", "BlockDevice"],
      ["5", "Directory"],
      ["6", "FIFO"],
      // same as File
      ["7", "ContiguousFile"],
      // pax headers
      ["g", "GlobalExtendedHeader"],
      ["x", "ExtendedHeader"],
      // vendor-specific stuff
      // skip
      ["A", "SolarisACL"],
      // like 5, but with data, which should be skipped
      ["D", "GNUDumpDir"],
      // metadata only, skip
      ["I", "Inode"],
      // data = link path of next file
      ["K", "NextFileHasLongLinkpath"],
      // data = path of next file
      ["L", "NextFileHasLongPath"],
      // skip
      ["M", "ContinuationFile"],
      // like L
      ["N", "OldGnuLongPath"],
      // skip
      ["S", "SparseFile"],
      // skip
      ["V", "TapeVolumeHeader"],
      // like x
      ["X", "OldExtendedHeader"]
    ]);
    exports2.code = new Map(Array.from(exports2.name).map((kv) => [kv[1], kv[0]]));
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/large-numbers.js
var require_large_numbers = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/large-numbers.js"(exports2, module2) {
    "use strict";
    var encode = (num, buf) => {
      if (!Number.isSafeInteger(num)) {
        throw Error("cannot encode number outside of javascript safe integer range");
      } else if (num < 0) {
        encodeNegative(num, buf);
      } else {
        encodePositive(num, buf);
      }
      return buf;
    };
    var encodePositive = (num, buf) => {
      buf[0] = 128;
      for (var i = buf.length; i > 1; i--) {
        buf[i - 1] = num & 255;
        num = Math.floor(num / 256);
      }
    };
    var encodeNegative = (num, buf) => {
      buf[0] = 255;
      var flipped = false;
      num = num * -1;
      for (var i = buf.length; i > 1; i--) {
        var byte = num & 255;
        num = Math.floor(num / 256);
        if (flipped) {
          buf[i - 1] = onesComp(byte);
        } else if (byte === 0) {
          buf[i - 1] = 0;
        } else {
          flipped = true;
          buf[i - 1] = twosComp(byte);
        }
      }
    };
    var parse2 = (buf) => {
      const pre = buf[0];
      const value = pre === 128 ? pos(buf.slice(1, buf.length)) : pre === 255 ? twos(buf) : null;
      if (value === null) {
        throw Error("invalid base256 encoding");
      }
      if (!Number.isSafeInteger(value)) {
        throw Error("parsed number outside of javascript safe integer range");
      }
      return value;
    };
    var twos = (buf) => {
      var len = buf.length;
      var sum = 0;
      var flipped = false;
      for (var i = len - 1; i > -1; i--) {
        var byte = buf[i];
        var f;
        if (flipped) {
          f = onesComp(byte);
        } else if (byte === 0) {
          f = byte;
        } else {
          flipped = true;
          f = twosComp(byte);
        }
        if (f !== 0) {
          sum -= f * Math.pow(256, len - i - 1);
        }
      }
      return sum;
    };
    var pos = (buf) => {
      var len = buf.length;
      var sum = 0;
      for (var i = len - 1; i > -1; i--) {
        var byte = buf[i];
        if (byte !== 0) {
          sum += byte * Math.pow(256, len - i - 1);
        }
      }
      return sum;
    };
    var onesComp = (byte) => (255 ^ byte) & 255;
    var twosComp = (byte) => (255 ^ byte) + 1 & 255;
    module2.exports = {
      encode,
      parse: parse2
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/header.js
var require_header = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/header.js"(exports2, module2) {
    "use strict";
    var types = require_types11();
    var pathModule = require("path").posix;
    var large = require_large_numbers();
    var SLURP = Symbol("slurp");
    var TYPE = Symbol("type");
    var Header = class {
      constructor(data, off, ex, gex) {
        this.cksumValid = false;
        this.needPax = false;
        this.nullBlock = false;
        this.block = null;
        this.path = null;
        this.mode = null;
        this.uid = null;
        this.gid = null;
        this.size = null;
        this.mtime = null;
        this.cksum = null;
        this[TYPE] = "0";
        this.linkpath = null;
        this.uname = null;
        this.gname = null;
        this.devmaj = 0;
        this.devmin = 0;
        this.atime = null;
        this.ctime = null;
        if (Buffer.isBuffer(data)) {
          this.decode(data, off || 0, ex, gex);
        } else if (data) {
          this.set(data);
        }
      }
      decode(buf, off, ex, gex) {
        if (!off) {
          off = 0;
        }
        if (!buf || !(buf.length >= off + 512)) {
          throw new Error("need 512 bytes for header");
        }
        this.path = decString(buf, off, 100);
        this.mode = decNumber(buf, off + 100, 8);
        this.uid = decNumber(buf, off + 108, 8);
        this.gid = decNumber(buf, off + 116, 8);
        this.size = decNumber(buf, off + 124, 12);
        this.mtime = decDate(buf, off + 136, 12);
        this.cksum = decNumber(buf, off + 148, 12);
        this[SLURP](ex);
        this[SLURP](gex, true);
        this[TYPE] = decString(buf, off + 156, 1);
        if (this[TYPE] === "") {
          this[TYPE] = "0";
        }
        if (this[TYPE] === "0" && this.path.slice(-1) === "/") {
          this[TYPE] = "5";
        }
        if (this[TYPE] === "5") {
          this.size = 0;
        }
        this.linkpath = decString(buf, off + 157, 100);
        if (buf.slice(off + 257, off + 265).toString() === "ustar\x0000") {
          this.uname = decString(buf, off + 265, 32);
          this.gname = decString(buf, off + 297, 32);
          this.devmaj = decNumber(buf, off + 329, 8);
          this.devmin = decNumber(buf, off + 337, 8);
          if (buf[off + 475] !== 0) {
            const prefix = decString(buf, off + 345, 155);
            this.path = prefix + "/" + this.path;
          } else {
            const prefix = decString(buf, off + 345, 130);
            if (prefix) {
              this.path = prefix + "/" + this.path;
            }
            this.atime = decDate(buf, off + 476, 12);
            this.ctime = decDate(buf, off + 488, 12);
          }
        }
        let sum = 8 * 32;
        for (let i = off; i < off + 148; i++) {
          sum += buf[i];
        }
        for (let i = off + 156; i < off + 512; i++) {
          sum += buf[i];
        }
        this.cksumValid = sum === this.cksum;
        if (this.cksum === null && sum === 8 * 32) {
          this.nullBlock = true;
        }
      }
      [SLURP](ex, global2) {
        for (const k in ex) {
          if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
            this[k] = ex[k];
          }
        }
      }
      encode(buf, off) {
        if (!buf) {
          buf = this.block = Buffer.alloc(512);
          off = 0;
        }
        if (!off) {
          off = 0;
        }
        if (!(buf.length >= off + 512)) {
          throw new Error("need 512 bytes for header");
        }
        const prefixSize = this.ctime || this.atime ? 130 : 155;
        const split = splitPrefix(this.path || "", prefixSize);
        const path2 = split[0];
        const prefix = split[1];
        this.needPax = split[2];
        this.needPax = encString(buf, off, 100, path2) || this.needPax;
        this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax;
        this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax;
        this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax;
        this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax;
        this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax;
        buf[off + 156] = this[TYPE].charCodeAt(0);
        this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax;
        buf.write("ustar\x0000", off + 257, 8);
        this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax;
        this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax;
        this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax;
        this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax;
        this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax;
        if (buf[off + 475] !== 0) {
          this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax;
        } else {
          this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax;
          this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax;
          this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax;
        }
        let sum = 8 * 32;
        for (let i = off; i < off + 148; i++) {
          sum += buf[i];
        }
        for (let i = off + 156; i < off + 512; i++) {
          sum += buf[i];
        }
        this.cksum = sum;
        encNumber(buf, off + 148, 8, this.cksum);
        this.cksumValid = true;
        return this.needPax;
      }
      set(data) {
        for (const i in data) {
          if (data[i] !== null && data[i] !== void 0) {
            this[i] = data[i];
          }
        }
      }
      get type() {
        return types.name.get(this[TYPE]) || this[TYPE];
      }
      get typeKey() {
        return this[TYPE];
      }
      set type(type) {
        if (types.code.has(type)) {
          this[TYPE] = types.code.get(type);
        } else {
          this[TYPE] = type;
        }
      }
    };
    var splitPrefix = (p, prefixSize) => {
      const pathSize = 100;
      let pp = p;
      let prefix = "";
      let ret2;
      const root = pathModule.parse(p).root || ".";
      if (Buffer.byteLength(pp) < pathSize) {
        ret2 = [pp, prefix, false];
      } else {
        prefix = pathModule.dirname(pp);
        pp = pathModule.basename(pp);
        do {
          if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) {
            ret2 = [pp, prefix, false];
          } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) {
            ret2 = [pp.slice(0, pathSize - 1), prefix, true];
          } else {
            pp = pathModule.join(pathModule.basename(prefix), pp);
            prefix = pathModule.dirname(prefix);
          }
        } while (prefix !== root && !ret2);
        if (!ret2) {
          ret2 = [p.slice(0, pathSize - 1), "", true];
        }
      }
      return ret2;
    };
    var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, "");
    var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size));
    var numToDate = (num) => num === null ? null : new Date(num * 1e3);
    var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size);
    var nanNull = (value) => isNaN(value) ? null : value;
    var decSmallNumber = (buf, off, size) => nanNull(parseInt(
      buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(),
      8
    ));
    var MAXNUM = {
      12: 8589934591,
      8: 2097151
    };
    var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false);
    var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii");
    var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size);
    var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0";
    var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3);
    var NULLS = new Array(156).join("\0");
    var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size);
    module2.exports = Header;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/pax.js
var require_pax = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/pax.js"(exports2, module2) {
    "use strict";
    var Header = require_header();
    var path2 = require("path");
    var Pax = class {
      constructor(obj, global2) {
        this.atime = obj.atime || null;
        this.charset = obj.charset || null;
        this.comment = obj.comment || null;
        this.ctime = obj.ctime || null;
        this.gid = obj.gid || null;
        this.gname = obj.gname || null;
        this.linkpath = obj.linkpath || null;
        this.mtime = obj.mtime || null;
        this.path = obj.path || null;
        this.size = obj.size || null;
        this.uid = obj.uid || null;
        this.uname = obj.uname || null;
        this.dev = obj.dev || null;
        this.ino = obj.ino || null;
        this.nlink = obj.nlink || null;
        this.global = global2 || false;
      }
      encode() {
        const body = this.encodeBody();
        if (body === "") {
          return null;
        }
        const bodyLen = Buffer.byteLength(body);
        const bufLen = 512 * Math.ceil(1 + bodyLen / 512);
        const buf = Buffer.allocUnsafe(bufLen);
        for (let i = 0; i < 512; i++) {
          buf[i] = 0;
        }
        new Header({
          // XXX split the path
          // then the path should be PaxHeader + basename, but less than 99,
          // prepend with the dirname
          path: ("PaxHeader/" + path2.basename(this.path)).slice(0, 99),
          mode: this.mode || 420,
          uid: this.uid || null,
          gid: this.gid || null,
          size: bodyLen,
          mtime: this.mtime || null,
          type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader",
          linkpath: "",
          uname: this.uname || "",
          gname: this.gname || "",
          devmaj: 0,
          devmin: 0,
          atime: this.atime || null,
          ctime: this.ctime || null
        }).encode(buf);
        buf.write(body, 512, bodyLen, "utf8");
        for (let i = bodyLen + 512; i < buf.length; i++) {
          buf[i] = 0;
        }
        return buf;
      }
      encodeBody() {
        return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname");
      }
      encodeField(field) {
        if (this[field] === null || this[field] === void 0) {
          return "";
        }
        const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field];
        const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n";
        const byteLen = Buffer.byteLength(s);
        let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1;
        if (byteLen + digits >= Math.pow(10, digits)) {
          digits += 1;
        }
        const len = digits + byteLen;
        return len + s;
      }
    };
    Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g);
    var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a;
    var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null));
    var parseKVLine = (set, line) => {
      const n = parseInt(line, 10);
      if (n !== Buffer.byteLength(line) + 1) {
        return set;
      }
      line = line.slice((n + " ").length);
      const kv = line.split("=");
      const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1");
      if (!k) {
        return set;
      }
      const v = kv.join("=");
      set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v;
      return set;
    };
    module2.exports = Pax;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/strip-trailing-slashes.js
var require_strip_trailing_slashes = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/strip-trailing-slashes.js"(exports2, module2) {
    module2.exports = (str) => {
      let i = str.length - 1;
      let slashesStart = -1;
      while (i > -1 && str.charAt(i) === "/") {
        slashesStart = i;
        i--;
      }
      return slashesStart === -1 ? str : str.slice(0, slashesStart);
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/warn-mixin.js
var require_warn_mixin = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/warn-mixin.js"(exports2, module2) {
    "use strict";
    module2.exports = (Base) => class extends Base {
      warn(code, message, data = {}) {
        if (this.file) {
          data.file = this.file;
        }
        if (this.cwd) {
          data.cwd = this.cwd;
        }
        data.code = message instanceof Error && message.code || code;
        data.tarCode = code;
        if (!this.strict && data.recoverable !== false) {
          if (message instanceof Error) {
            data = Object.assign(message, data);
            message = message.message;
          }
          this.emit("warn", data.tarCode, message, data);
        } else if (message instanceof Error) {
          this.emit("error", Object.assign(message, data));
        } else {
          this.emit("error", Object.assign(new Error(`${code}: ${message}`), data));
        }
      }
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/winchars.js
var require_winchars = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/winchars.js"(exports2, module2) {
    "use strict";
    var raw = [
      "|",
      "<",
      ">",
      "?",
      ":"
    ];
    var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0)));
    var toWin = new Map(raw.map((char, i) => [char, win[i]]));
    var toRaw = new Map(win.map((char, i) => [char, raw[i]]));
    module2.exports = {
      encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s),
      decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s)
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/strip-absolute-path.js
var require_strip_absolute_path = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/strip-absolute-path.js"(exports2, module2) {
    var { isAbsolute, parse: parse2 } = require("path").win32;
    module2.exports = (path2) => {
      let r = "";
      let parsed = parse2(path2);
      while (isAbsolute(path2) || parsed.root) {
        const root = path2.charAt(0) === "/" && path2.slice(0, 4) !== "//?/" ? "/" : parsed.root;
        path2 = path2.slice(root.length);
        r += root;
        parsed = parse2(path2);
      }
      return [r, path2];
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/mode-fix.js
var require_mode_fix = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/mode-fix.js"(exports2, module2) {
    "use strict";
    module2.exports = (mode, isDir, portable) => {
      mode &= 4095;
      if (portable) {
        mode = (mode | 384) & ~18;
      }
      if (isDir) {
        if (mode & 256) {
          mode |= 64;
        }
        if (mode & 32) {
          mode |= 8;
        }
        if (mode & 4) {
          mode |= 1;
        }
      }
      return mode;
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/write-entry.js
var require_write_entry = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/write-entry.js"(exports2, module2) {
    "use strict";
    var { Minipass } = require_minipass();
    var Pax = require_pax();
    var Header = require_header();
    var fs = require("fs");
    var path2 = require("path");
    var normPath = require_normalize_windows_path();
    var stripSlash = require_strip_trailing_slashes();
    var prefixPath = (path3, prefix) => {
      if (!prefix) {
        return normPath(path3);
      }
      path3 = normPath(path3).replace(/^\.(\/|$)/, "");
      return stripSlash(prefix) + "/" + path3;
    };
    var maxReadSize = 16 * 1024 * 1024;
    var PROCESS = Symbol("process");
    var FILE = Symbol("file");
    var DIRECTORY = Symbol("directory");
    var SYMLINK = Symbol("symlink");
    var HARDLINK = Symbol("hardlink");
    var HEADER = Symbol("header");
    var READ = Symbol("read");
    var LSTAT = Symbol("lstat");
    var ONLSTAT = Symbol("onlstat");
    var ONREAD = Symbol("onread");
    var ONREADLINK = Symbol("onreadlink");
    var OPENFILE = Symbol("openfile");
    var ONOPENFILE = Symbol("onopenfile");
    var CLOSE = Symbol("close");
    var MODE = Symbol("mode");
    var AWAITDRAIN = Symbol("awaitDrain");
    var ONDRAIN = Symbol("ondrain");
    var PREFIX = Symbol("prefix");
    var HAD_ERROR = Symbol("hadError");
    var warner = require_warn_mixin();
    var winchars = require_winchars();
    var stripAbsolutePath = require_strip_absolute_path();
    var modeFix = require_mode_fix();
    var WriteEntry = warner(class WriteEntry extends Minipass {
      constructor(p, opt) {
        opt = opt || {};
        super(opt);
        if (typeof p !== "string") {
          throw new TypeError("path is required");
        }
        this.path = normPath(p);
        this.portable = !!opt.portable;
        this.myuid = process.getuid && process.getuid() || 0;
        this.myuser = process.env.USER || "";
        this.maxReadSize = opt.maxReadSize || maxReadSize;
        this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
        this.statCache = opt.statCache || /* @__PURE__ */ new Map();
        this.preservePaths = !!opt.preservePaths;
        this.cwd = normPath(opt.cwd || process.cwd());
        this.strict = !!opt.strict;
        this.noPax = !!opt.noPax;
        this.noMtime = !!opt.noMtime;
        this.mtime = opt.mtime || null;
        this.prefix = opt.prefix ? normPath(opt.prefix) : null;
        this.fd = null;
        this.blockLen = null;
        this.blockRemain = null;
        this.buf = null;
        this.offset = null;
        this.length = null;
        this.pos = null;
        this.remain = null;
        if (typeof opt.onwarn === "function") {
          this.on("warn", opt.onwarn);
        }
        let pathWarn = false;
        if (!this.preservePaths) {
          const [root, stripped] = stripAbsolutePath(this.path);
          if (root) {
            this.path = stripped;
            pathWarn = root;
          }
        }
        this.win32 = !!opt.win32 || process.platform === "win32";
        if (this.win32) {
          this.path = winchars.decode(this.path.replace(/\\/g, "/"));
          p = p.replace(/\\/g, "/");
        }
        this.absolute = normPath(opt.absolute || path2.resolve(this.cwd, p));
        if (this.path === "") {
          this.path = "./";
        }
        if (pathWarn) {
          this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
            entry: this,
            path: pathWarn + this.path
          });
        }
        if (this.statCache.has(this.absolute)) {
          this[ONLSTAT](this.statCache.get(this.absolute));
        } else {
          this[LSTAT]();
        }
      }
      emit(ev, ...data) {
        if (ev === "error") {
          this[HAD_ERROR] = true;
        }
        return super.emit(ev, ...data);
      }
      [LSTAT]() {
        fs.lstat(this.absolute, (er, stat) => {
          if (er) {
            return this.emit("error", er);
          }
          this[ONLSTAT](stat);
        });
      }
      [ONLSTAT](stat) {
        this.statCache.set(this.absolute, stat);
        this.stat = stat;
        if (!stat.isFile()) {
          stat.size = 0;
        }
        this.type = getType(stat);
        this.emit("stat", stat);
        this[PROCESS]();
      }
      [PROCESS]() {
        switch (this.type) {
          case "File":
            return this[FILE]();
          case "Directory":
            return this[DIRECTORY]();
          case "SymbolicLink":
            return this[SYMLINK]();
          // unsupported types are ignored.
          default:
            return this.end();
        }
      }
      [MODE](mode) {
        return modeFix(mode, this.type === "Directory", this.portable);
      }
      [PREFIX](path3) {
        return prefixPath(path3, this.prefix);
      }
      [HEADER]() {
        if (this.type === "Directory" && this.portable) {
          this.noMtime = true;
        }
        this.header = new Header({
          path: this[PREFIX](this.path),
          // only apply the prefix to hard links.
          linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
          // only the permissions and setuid/setgid/sticky bitflags
          // not the higher-order bits that specify file type
          mode: this[MODE](this.stat.mode),
          uid: this.portable ? null : this.stat.uid,
          gid: this.portable ? null : this.stat.gid,
          size: this.stat.size,
          mtime: this.noMtime ? null : this.mtime || this.stat.mtime,
          type: this.type,
          uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "",
          atime: this.portable ? null : this.stat.atime,
          ctime: this.portable ? null : this.stat.ctime
        });
        if (this.header.encode() && !this.noPax) {
          super.write(new Pax({
            atime: this.portable ? null : this.header.atime,
            ctime: this.portable ? null : this.header.ctime,
            gid: this.portable ? null : this.header.gid,
            mtime: this.noMtime ? null : this.mtime || this.header.mtime,
            path: this[PREFIX](this.path),
            linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
            size: this.header.size,
            uid: this.portable ? null : this.header.uid,
            uname: this.portable ? null : this.header.uname,
            dev: this.portable ? null : this.stat.dev,
            ino: this.portable ? null : this.stat.ino,
            nlink: this.portable ? null : this.stat.nlink
          }).encode());
        }
        super.write(this.header.block);
      }
      [DIRECTORY]() {
        if (this.path.slice(-1) !== "/") {
          this.path += "/";
        }
        this.stat.size = 0;
        this[HEADER]();
        this.end();
      }
      [SYMLINK]() {
        fs.readlink(this.absolute, (er, linkpath) => {
          if (er) {
            return this.emit("error", er);
          }
          this[ONREADLINK](linkpath);
        });
      }
      [ONREADLINK](linkpath) {
        this.linkpath = normPath(linkpath);
        this[HEADER]();
        this.end();
      }
      [HARDLINK](linkpath) {
        this.type = "Link";
        this.linkpath = normPath(path2.relative(this.cwd, linkpath));
        this.stat.size = 0;
        this[HEADER]();
        this.end();
      }
      [FILE]() {
        if (this.stat.nlink > 1) {
          const linkKey = this.stat.dev + ":" + this.stat.ino;
          if (this.linkCache.has(linkKey)) {
            const linkpath = this.linkCache.get(linkKey);
            if (linkpath.indexOf(this.cwd) === 0) {
              return this[HARDLINK](linkpath);
            }
          }
          this.linkCache.set(linkKey, this.absolute);
        }
        this[HEADER]();
        if (this.stat.size === 0) {
          return this.end();
        }
        this[OPENFILE]();
      }
      [OPENFILE]() {
        fs.open(this.absolute, "r", (er, fd) => {
          if (er) {
            return this.emit("error", er);
          }
          this[ONOPENFILE](fd);
        });
      }
      [ONOPENFILE](fd) {
        this.fd = fd;
        if (this[HAD_ERROR]) {
          return this[CLOSE]();
        }
        this.blockLen = 512 * Math.ceil(this.stat.size / 512);
        this.blockRemain = this.blockLen;
        const bufLen = Math.min(this.blockLen, this.maxReadSize);
        this.buf = Buffer.allocUnsafe(bufLen);
        this.offset = 0;
        this.pos = 0;
        this.remain = this.stat.size;
        this.length = this.buf.length;
        this[READ]();
      }
      [READ]() {
        const { fd, buf, offset, length, pos } = this;
        fs.read(fd, buf, offset, length, pos, (er, bytesRead) => {
          if (er) {
            return this[CLOSE](() => this.emit("error", er));
          }
          this[ONREAD](bytesRead);
        });
      }
      [CLOSE](cb) {
        fs.close(this.fd, cb);
      }
      [ONREAD](bytesRead) {
        if (bytesRead <= 0 && this.remain > 0) {
          const er = new Error("encountered unexpected EOF");
          er.path = this.absolute;
          er.syscall = "read";
          er.code = "EOF";
          return this[CLOSE](() => this.emit("error", er));
        }
        if (bytesRead > this.remain) {
          const er = new Error("did not encounter expected EOF");
          er.path = this.absolute;
          er.syscall = "read";
          er.code = "EOF";
          return this[CLOSE](() => this.emit("error", er));
        }
        if (bytesRead === this.remain) {
          for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) {
            this.buf[i + this.offset] = 0;
            bytesRead++;
            this.remain++;
          }
        }
        const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead);
        const flushed = this.write(writeBuf);
        if (!flushed) {
          this[AWAITDRAIN](() => this[ONDRAIN]());
        } else {
          this[ONDRAIN]();
        }
      }
      [AWAITDRAIN](cb) {
        this.once("drain", cb);
      }
      write(writeBuf) {
        if (this.blockRemain < writeBuf.length) {
          const er = new Error("writing more data than expected");
          er.path = this.absolute;
          return this.emit("error", er);
        }
        this.remain -= writeBuf.length;
        this.blockRemain -= writeBuf.length;
        this.pos += writeBuf.length;
        this.offset += writeBuf.length;
        return super.write(writeBuf);
      }
      [ONDRAIN]() {
        if (!this.remain) {
          if (this.blockRemain) {
            super.write(Buffer.alloc(this.blockRemain));
          }
          return this[CLOSE]((er) => er ? this.emit("error", er) : this.end());
        }
        if (this.offset >= this.length) {
          this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length));
          this.offset = 0;
        }
        this.length = this.buf.length - this.offset;
        this[READ]();
      }
    });
    var WriteEntrySync = class extends WriteEntry {
      [LSTAT]() {
        this[ONLSTAT](fs.lstatSync(this.absolute));
      }
      [SYMLINK]() {
        this[ONREADLINK](fs.readlinkSync(this.absolute));
      }
      [OPENFILE]() {
        this[ONOPENFILE](fs.openSync(this.absolute, "r"));
      }
      [READ]() {
        let threw = true;
        try {
          const { fd, buf, offset, length, pos } = this;
          const bytesRead = fs.readSync(fd, buf, offset, length, pos);
          this[ONREAD](bytesRead);
          threw = false;
        } finally {
          if (threw) {
            try {
              this[CLOSE](() => {
              });
            } catch (er) {
            }
          }
        }
      }
      [AWAITDRAIN](cb) {
        cb();
      }
      [CLOSE](cb) {
        fs.closeSync(this.fd);
        cb();
      }
    };
    var WriteEntryTar = warner(class WriteEntryTar extends Minipass {
      constructor(readEntry, opt) {
        opt = opt || {};
        super(opt);
        this.preservePaths = !!opt.preservePaths;
        this.portable = !!opt.portable;
        this.strict = !!opt.strict;
        this.noPax = !!opt.noPax;
        this.noMtime = !!opt.noMtime;
        this.readEntry = readEntry;
        this.type = readEntry.type;
        if (this.type === "Directory" && this.portable) {
          this.noMtime = true;
        }
        this.prefix = opt.prefix || null;
        this.path = normPath(readEntry.path);
        this.mode = this[MODE](readEntry.mode);
        this.uid = this.portable ? null : readEntry.uid;
        this.gid = this.portable ? null : readEntry.gid;
        this.uname = this.portable ? null : readEntry.uname;
        this.gname = this.portable ? null : readEntry.gname;
        this.size = readEntry.size;
        this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime;
        this.atime = this.portable ? null : readEntry.atime;
        this.ctime = this.portable ? null : readEntry.ctime;
        this.linkpath = normPath(readEntry.linkpath);
        if (typeof opt.onwarn === "function") {
          this.on("warn", opt.onwarn);
        }
        let pathWarn = false;
        if (!this.preservePaths) {
          const [root, stripped] = stripAbsolutePath(this.path);
          if (root) {
            this.path = stripped;
            pathWarn = root;
          }
        }
        this.remain = readEntry.size;
        this.blockRemain = readEntry.startBlockSize;
        this.header = new Header({
          path: this[PREFIX](this.path),
          linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
          // only the permissions and setuid/setgid/sticky bitflags
          // not the higher-order bits that specify file type
          mode: this.mode,
          uid: this.portable ? null : this.uid,
          gid: this.portable ? null : this.gid,
          size: this.size,
          mtime: this.noMtime ? null : this.mtime,
          type: this.type,
          uname: this.portable ? null : this.uname,
          atime: this.portable ? null : this.atime,
          ctime: this.portable ? null : this.ctime
        });
        if (pathWarn) {
          this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
            entry: this,
            path: pathWarn + this.path
          });
        }
        if (this.header.encode() && !this.noPax) {
          super.write(new Pax({
            atime: this.portable ? null : this.atime,
            ctime: this.portable ? null : this.ctime,
            gid: this.portable ? null : this.gid,
            mtime: this.noMtime ? null : this.mtime,
            path: this[PREFIX](this.path),
            linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
            size: this.size,
            uid: this.portable ? null : this.uid,
            uname: this.portable ? null : this.uname,
            dev: this.portable ? null : this.readEntry.dev,
            ino: this.portable ? null : this.readEntry.ino,
            nlink: this.portable ? null : this.readEntry.nlink
          }).encode());
        }
        super.write(this.header.block);
        readEntry.pipe(this);
      }
      [PREFIX](path3) {
        return prefixPath(path3, this.prefix);
      }
      [MODE](mode) {
        return modeFix(mode, this.type === "Directory", this.portable);
      }
      write(data) {
        const writeLen = data.length;
        if (writeLen > this.blockRemain) {
          throw new Error("writing more to entry than is appropriate");
        }
        this.blockRemain -= writeLen;
        return super.write(data);
      }
      end() {
        if (this.blockRemain) {
          super.write(Buffer.alloc(this.blockRemain));
        }
        return super.end();
      }
    });
    WriteEntry.Sync = WriteEntrySync;
    WriteEntry.Tar = WriteEntryTar;
    var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
    module2.exports = WriteEntry;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/pack.js
var require_pack = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/pack.js"(exports2, module2) {
    "use strict";
    var PackJob = class {
      constructor(path3, absolute) {
        this.path = path3 || "./";
        this.absolute = absolute;
        this.entry = null;
        this.stat = null;
        this.readdir = null;
        this.pending = false;
        this.ignore = false;
        this.piped = false;
      }
    };
    var { Minipass } = require_minipass();
    var zlib = require_minizlib();
    var ReadEntry = require_read_entry();
    var WriteEntry = require_write_entry();
    var WriteEntrySync = WriteEntry.Sync;
    var WriteEntryTar = WriteEntry.Tar;
    var Yallist = require_yallist();
    var EOF = Buffer.alloc(1024);
    var ONSTAT = Symbol("onStat");
    var ENDED = Symbol("ended");
    var QUEUE = Symbol("queue");
    var CURRENT = Symbol("current");
    var PROCESS = Symbol("process");
    var PROCESSING = Symbol("processing");
    var PROCESSJOB = Symbol("processJob");
    var JOBS = Symbol("jobs");
    var JOBDONE = Symbol("jobDone");
    var ADDFSENTRY = Symbol("addFSEntry");
    var ADDTARENTRY = Symbol("addTarEntry");
    var STAT = Symbol("stat");
    var READDIR = Symbol("readdir");
    var ONREADDIR = Symbol("onreaddir");
    var PIPE = Symbol("pipe");
    var ENTRY = Symbol("entry");
    var ENTRYOPT = Symbol("entryOpt");
    var WRITEENTRYCLASS = Symbol("writeEntryClass");
    var WRITE = Symbol("write");
    var ONDRAIN = Symbol("ondrain");
    var fs = require("fs");
    var path2 = require("path");
    var warner = require_warn_mixin();
    var normPath = require_normalize_windows_path();
    var Pack = warner(class Pack extends Minipass {
      constructor(opt) {
        super(opt);
        opt = opt || /* @__PURE__ */ Object.create(null);
        this.opt = opt;
        this.file = opt.file || "";
        this.cwd = opt.cwd || process.cwd();
        this.maxReadSize = opt.maxReadSize;
        this.preservePaths = !!opt.preservePaths;
        this.strict = !!opt.strict;
        this.noPax = !!opt.noPax;
        this.prefix = normPath(opt.prefix || "");
        this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
        this.statCache = opt.statCache || /* @__PURE__ */ new Map();
        this.readdirCache = opt.readdirCache || /* @__PURE__ */ new Map();
        this[WRITEENTRYCLASS] = WriteEntry;
        if (typeof opt.onwarn === "function") {
          this.on("warn", opt.onwarn);
        }
        this.portable = !!opt.portable;
        this.zip = null;
        if (opt.gzip || opt.brotli) {
          if (opt.gzip && opt.brotli) {
            throw new TypeError("gzip and brotli are mutually exclusive");
          }
          if (opt.gzip) {
            if (typeof opt.gzip !== "object") {
              opt.gzip = {};
            }
            if (this.portable) {
              opt.gzip.portable = true;
            }
            this.zip = new zlib.Gzip(opt.gzip);
          }
          if (opt.brotli) {
            if (typeof opt.brotli !== "object") {
              opt.brotli = {};
            }
            this.zip = new zlib.BrotliCompress(opt.brotli);
          }
          this.zip.on("data", (chunk) => super.write(chunk));
          this.zip.on("end", (_) => super.end());
          this.zip.on("drain", (_) => this[ONDRAIN]());
          this.on("resume", (_) => this.zip.resume());
        } else {
          this.on("drain", this[ONDRAIN]);
        }
        this.noDirRecurse = !!opt.noDirRecurse;
        this.follow = !!opt.follow;
        this.noMtime = !!opt.noMtime;
        this.mtime = opt.mtime || null;
        this.filter = typeof opt.filter === "function" ? opt.filter : (_) => true;
        this[QUEUE] = new Yallist();
        this[JOBS] = 0;
        this.jobs = +opt.jobs || 4;
        this[PROCESSING] = false;
        this[ENDED] = false;
      }
      [WRITE](chunk) {
        return super.write(chunk);
      }
      add(path3) {
        this.write(path3);
        return this;
      }
      end(path3) {
        if (path3) {
          this.write(path3);
        }
        this[ENDED] = true;
        this[PROCESS]();
        return this;
      }
      write(path3) {
        if (this[ENDED]) {
          throw new Error("write after end");
        }
        if (path3 instanceof ReadEntry) {
          this[ADDTARENTRY](path3);
        } else {
          this[ADDFSENTRY](path3);
        }
        return this.flowing;
      }
      [ADDTARENTRY](p) {
        const absolute = normPath(path2.resolve(this.cwd, p.path));
        if (!this.filter(p.path, p)) {
          p.resume();
        } else {
          const job = new PackJob(p.path, absolute, false);
          job.entry = new WriteEntryTar(p, this[ENTRYOPT](job));
          job.entry.on("end", (_) => this[JOBDONE](job));
          this[JOBS] += 1;
          this[QUEUE].push(job);
        }
        this[PROCESS]();
      }
      [ADDFSENTRY](p) {
        const absolute = normPath(path2.resolve(this.cwd, p));
        this[QUEUE].push(new PackJob(p, absolute));
        this[PROCESS]();
      }
      [STAT](job) {
        job.pending = true;
        this[JOBS] += 1;
        const stat = this.follow ? "stat" : "lstat";
        fs[stat](job.absolute, (er, stat2) => {
          job.pending = false;
          this[JOBS] -= 1;
          if (er) {
            this.emit("error", er);
          } else {
            this[ONSTAT](job, stat2);
          }
        });
      }
      [ONSTAT](job, stat) {
        this.statCache.set(job.absolute, stat);
        job.stat = stat;
        if (!this.filter(job.path, stat)) {
          job.ignore = true;
        }
        this[PROCESS]();
      }
      [READDIR](job) {
        job.pending = true;
        this[JOBS] += 1;
        fs.readdir(job.absolute, (er, entries) => {
          job.pending = false;
          this[JOBS] -= 1;
          if (er) {
            return this.emit("error", er);
          }
          this[ONREADDIR](job, entries);
        });
      }
      [ONREADDIR](job, entries) {
        this.readdirCache.set(job.absolute, entries);
        job.readdir = entries;
        this[PROCESS]();
      }
      [PROCESS]() {
        if (this[PROCESSING]) {
          return;
        }
        this[PROCESSING] = true;
        for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) {
          this[PROCESSJOB](w.value);
          if (w.value.ignore) {
            const p = w.next;
            this[QUEUE].removeNode(w);
            w.next = p;
          }
        }
        this[PROCESSING] = false;
        if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) {
          if (this.zip) {
            this.zip.end(EOF);
          } else {
            super.write(EOF);
            super.end();
          }
        }
      }
      get [CURRENT]() {
        return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value;
      }
      [JOBDONE](job) {
        this[QUEUE].shift();
        this[JOBS] -= 1;
        this[PROCESS]();
      }
      [PROCESSJOB](job) {
        if (job.pending) {
          return;
        }
        if (job.entry) {
          if (job === this[CURRENT] && !job.piped) {
            this[PIPE](job);
          }
          return;
        }
        if (!job.stat) {
          if (this.statCache.has(job.absolute)) {
            this[ONSTAT](job, this.statCache.get(job.absolute));
          } else {
            this[STAT](job);
          }
        }
        if (!job.stat) {
          return;
        }
        if (job.ignore) {
          return;
        }
        if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) {
          if (this.readdirCache.has(job.absolute)) {
            this[ONREADDIR](job, this.readdirCache.get(job.absolute));
          } else {
            this[READDIR](job);
          }
          if (!job.readdir) {
            return;
          }
        }
        job.entry = this[ENTRY](job);
        if (!job.entry) {
          job.ignore = true;
          return;
        }
        if (job === this[CURRENT] && !job.piped) {
          this[PIPE](job);
        }
      }
      [ENTRYOPT](job) {
        return {
          onwarn: (code, msg, data) => this.warn(code, msg, data),
          noPax: this.noPax,
          cwd: this.cwd,
          absolute: job.absolute,
          preservePaths: this.preservePaths,
          maxReadSize: this.maxReadSize,
          strict: this.strict,
          portable: this.portable,
          linkCache: this.linkCache,
          statCache: this.statCache,
          noMtime: this.noMtime,
          mtime: this.mtime,
          prefix: this.prefix
        };
      }
      [ENTRY](job) {
        this[JOBS] += 1;
        try {
          return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)).on("end", () => this[JOBDONE](job)).on("error", (er) => this.emit("error", er));
        } catch (er) {
          this.emit("error", er);
        }
      }
      [ONDRAIN]() {
        if (this[CURRENT] && this[CURRENT].entry) {
          this[CURRENT].entry.resume();
        }
      }
      // like .pipe() but using super, because our write() is special
      [PIPE](job) {
        job.piped = true;
        if (job.readdir) {
          job.readdir.forEach((entry) => {
            const p = job.path;
            const base = p === "./" ? "" : p.replace(/\/*$/, "/");
            this[ADDFSENTRY](base + entry);
          });
        }
        const source = job.entry;
        const zip = this.zip;
        if (zip) {
          source.on("data", (chunk) => {
            if (!zip.write(chunk)) {
              source.pause();
            }
          });
        } else {
          source.on("data", (chunk) => {
            if (!super.write(chunk)) {
              source.pause();
            }
          });
        }
      }
      pause() {
        if (this.zip) {
          this.zip.pause();
        }
        return super.pause();
      }
    });
    var PackSync = class extends Pack {
      constructor(opt) {
        super(opt);
        this[WRITEENTRYCLASS] = WriteEntrySync;
      }
      // pause/resume are no-ops in sync streams.
      pause() {
      }
      resume() {
      }
      [STAT](job) {
        const stat = this.follow ? "statSync" : "lstatSync";
        this[ONSTAT](job, fs[stat](job.absolute));
      }
      [READDIR](job, stat) {
        this[ONREADDIR](job, fs.readdirSync(job.absolute));
      }
      // gotta get it all in this tick
      [PIPE](job) {
        const source = job.entry;
        const zip = this.zip;
        if (job.readdir) {
          job.readdir.forEach((entry) => {
            const p = job.path;
            const base = p === "./" ? "" : p.replace(/\/*$/, "/");
            this[ADDFSENTRY](base + entry);
          });
        }
        if (zip) {
          source.on("data", (chunk) => {
            zip.write(chunk);
          });
        } else {
          source.on("data", (chunk) => {
            super[WRITE](chunk);
          });
        }
      }
    };
    Pack.Sync = PackSync;
    module2.exports = Pack;
  }
});

// ../node_modules/.pnpm/fs-minipass@2.1.0/node_modules/fs-minipass/index.js
var require_fs_minipass = __commonJS({
  "../node_modules/.pnpm/fs-minipass@2.1.0/node_modules/fs-minipass/index.js"(exports2) {
    "use strict";
    var MiniPass = require_minipass2();
    var EE = require("events").EventEmitter;
    var fs = require("fs");
    var writev = fs.writev;
    if (!writev) {
      const binding = process.binding("fs");
      const FSReqWrap = binding.FSReqWrap || binding.FSReqCallback;
      writev = (fd, iovec, pos, cb) => {
        const done = (er, bw) => cb(er, bw, iovec);
        const req = new FSReqWrap();
        req.oncomplete = done;
        binding.writeBuffers(fd, iovec, pos, req);
      };
    }
    var _autoClose = Symbol("_autoClose");
    var _close = Symbol("_close");
    var _ended = Symbol("_ended");
    var _fd = Symbol("_fd");
    var _finished = Symbol("_finished");
    var _flags = Symbol("_flags");
    var _flush = Symbol("_flush");
    var _handleChunk = Symbol("_handleChunk");
    var _makeBuf = Symbol("_makeBuf");
    var _mode = Symbol("_mode");
    var _needDrain = Symbol("_needDrain");
    var _onerror = Symbol("_onerror");
    var _onopen = Symbol("_onopen");
    var _onread = Symbol("_onread");
    var _onwrite = Symbol("_onwrite");
    var _open = Symbol("_open");
    var _path = Symbol("_path");
    var _pos = Symbol("_pos");
    var _queue = Symbol("_queue");
    var _read = Symbol("_read");
    var _readSize = Symbol("_readSize");
    var _reading = Symbol("_reading");
    var _remain = Symbol("_remain");
    var _size = Symbol("_size");
    var _write = Symbol("_write");
    var _writing = Symbol("_writing");
    var _defaultFlag = Symbol("_defaultFlag");
    var _errored = Symbol("_errored");
    var ReadStream = class extends MiniPass {
      constructor(path2, opt) {
        opt = opt || {};
        super(opt);
        this.readable = true;
        this.writable = false;
        if (typeof path2 !== "string")
          throw new TypeError("path must be a string");
        this[_errored] = false;
        this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
        this[_path] = path2;
        this[_readSize] = opt.readSize || 16 * 1024 * 1024;
        this[_reading] = false;
        this[_size] = typeof opt.size === "number" ? opt.size : Infinity;
        this[_remain] = this[_size];
        this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
        if (typeof this[_fd] === "number")
          this[_read]();
        else
          this[_open]();
      }
      get fd() {
        return this[_fd];
      }
      get path() {
        return this[_path];
      }
      write() {
        throw new TypeError("this is a readable stream");
      }
      end() {
        throw new TypeError("this is a readable stream");
      }
      [_open]() {
        fs.open(this[_path], "r", (er, fd) => this[_onopen](er, fd));
      }
      [_onopen](er, fd) {
        if (er)
          this[_onerror](er);
        else {
          this[_fd] = fd;
          this.emit("open", fd);
          this[_read]();
        }
      }
      [_makeBuf]() {
        return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain]));
      }
      [_read]() {
        if (!this[_reading]) {
          this[_reading] = true;
          const buf = this[_makeBuf]();
          if (buf.length === 0)
            return process.nextTick(() => this[_onread](null, 0, buf));
          fs.read(this[_fd], buf, 0, buf.length, null, (er, br, buf2) => this[_onread](er, br, buf2));
        }
      }
      [_onread](er, br, buf) {
        this[_reading] = false;
        if (er)
          this[_onerror](er);
        else if (this[_handleChunk](br, buf))
          this[_read]();
      }
      [_close]() {
        if (this[_autoClose] && typeof this[_fd] === "number") {
          const fd = this[_fd];
          this[_fd] = null;
          fs.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
        }
      }
      [_onerror](er) {
        this[_reading] = true;
        this[_close]();
        this.emit("error", er);
      }
      [_handleChunk](br, buf) {
        let ret2 = false;
        this[_remain] -= br;
        if (br > 0)
          ret2 = super.write(br < buf.length ? buf.slice(0, br) : buf);
        if (br === 0 || this[_remain] <= 0) {
          ret2 = false;
          this[_close]();
          super.end();
        }
        return ret2;
      }
      emit(ev, data) {
        switch (ev) {
          case "prefinish":
          case "finish":
            break;
          case "drain":
            if (typeof this[_fd] === "number")
              this[_read]();
            break;
          case "error":
            if (this[_errored])
              return;
            this[_errored] = true;
            return super.emit(ev, data);
          default:
            return super.emit(ev, data);
        }
      }
    };
    var ReadStreamSync = class extends ReadStream {
      [_open]() {
        let threw = true;
        try {
          this[_onopen](null, fs.openSync(this[_path], "r"));
          threw = false;
        } finally {
          if (threw)
            this[_close]();
        }
      }
      [_read]() {
        let threw = true;
        try {
          if (!this[_reading]) {
            this[_reading] = true;
            do {
              const buf = this[_makeBuf]();
              const br = buf.length === 0 ? 0 : fs.readSync(this[_fd], buf, 0, buf.length, null);
              if (!this[_handleChunk](br, buf))
                break;
            } while (true);
            this[_reading] = false;
          }
          threw = false;
        } finally {
          if (threw)
            this[_close]();
        }
      }
      [_close]() {
        if (this[_autoClose] && typeof this[_fd] === "number") {
          const fd = this[_fd];
          this[_fd] = null;
          fs.closeSync(fd);
          this.emit("close");
        }
      }
    };
    var WriteStream = class extends EE {
      constructor(path2, opt) {
        opt = opt || {};
        super(opt);
        this.readable = false;
        this.writable = true;
        this[_errored] = false;
        this[_writing] = false;
        this[_ended] = false;
        this[_needDrain] = false;
        this[_queue] = [];
        this[_path] = path2;
        this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
        this[_mode] = opt.mode === void 0 ? 438 : opt.mode;
        this[_pos] = typeof opt.start === "number" ? opt.start : null;
        this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
        const defaultFlag = this[_pos] !== null ? "r+" : "w";
        this[_defaultFlag] = opt.flags === void 0;
        this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags;
        if (this[_fd] === null)
          this[_open]();
      }
      emit(ev, data) {
        if (ev === "error") {
          if (this[_errored])
            return;
          this[_errored] = true;
        }
        return super.emit(ev, data);
      }
      get fd() {
        return this[_fd];
      }
      get path() {
        return this[_path];
      }
      [_onerror](er) {
        this[_close]();
        this[_writing] = true;
        this.emit("error", er);
      }
      [_open]() {
        fs.open(
          this[_path],
          this[_flags],
          this[_mode],
          (er, fd) => this[_onopen](er, fd)
        );
      }
      [_onopen](er, fd) {
        if (this[_defaultFlag] && this[_flags] === "r+" && er && er.code === "ENOENT") {
          this[_flags] = "w";
          this[_open]();
        } else if (er)
          this[_onerror](er);
        else {
          this[_fd] = fd;
          this.emit("open", fd);
          this[_flush]();
        }
      }
      end(buf, enc) {
        if (buf)
          this.write(buf, enc);
        this[_ended] = true;
        if (!this[_writing] && !this[_queue].length && typeof this[_fd] === "number")
          this[_onwrite](null, 0);
        return this;
      }
      write(buf, enc) {
        if (typeof buf === "string")
          buf = Buffer.from(buf, enc);
        if (this[_ended]) {
          this.emit("error", new Error("write() after end()"));
          return false;
        }
        if (this[_fd] === null || this[_writing] || this[_queue].length) {
          this[_queue].push(buf);
          this[_needDrain] = true;
          return false;
        }
        this[_writing] = true;
        this[_write](buf);
        return true;
      }
      [_write](buf) {
        fs.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => this[_onwrite](er, bw));
      }
      [_onwrite](er, bw) {
        if (er)
          this[_onerror](er);
        else {
          if (this[_pos] !== null)
            this[_pos] += bw;
          if (this[_queue].length)
            this[_flush]();
          else {
            this[_writing] = false;
            if (this[_ended] && !this[_finished]) {
              this[_finished] = true;
              this[_close]();
              this.emit("finish");
            } else if (this[_needDrain]) {
              this[_needDrain] = false;
              this.emit("drain");
            }
          }
        }
      }
      [_flush]() {
        if (this[_queue].length === 0) {
          if (this[_ended])
            this[_onwrite](null, 0);
        } else if (this[_queue].length === 1)
          this[_write](this[_queue].pop());
        else {
          const iovec = this[_queue];
          this[_queue] = [];
          writev(
            this[_fd],
            iovec,
            this[_pos],
            (er, bw) => this[_onwrite](er, bw)
          );
        }
      }
      [_close]() {
        if (this[_autoClose] && typeof this[_fd] === "number") {
          const fd = this[_fd];
          this[_fd] = null;
          fs.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
        }
      }
    };
    var WriteStreamSync = class extends WriteStream {
      [_open]() {
        let fd;
        if (this[_defaultFlag] && this[_flags] === "r+") {
          try {
            fd = fs.openSync(this[_path], this[_flags], this[_mode]);
          } catch (er) {
            if (er.code === "ENOENT") {
              this[_flags] = "w";
              return this[_open]();
            } else
              throw er;
          }
        } else
          fd = fs.openSync(this[_path], this[_flags], this[_mode]);
        this[_onopen](null, fd);
      }
      [_close]() {
        if (this[_autoClose] && typeof this[_fd] === "number") {
          const fd = this[_fd];
          this[_fd] = null;
          fs.closeSync(fd);
          this.emit("close");
        }
      }
      [_write](buf) {
        let threw = true;
        try {
          this[_onwrite](
            null,
            fs.writeSync(this[_fd], buf, 0, buf.length, this[_pos])
          );
          threw = false;
        } finally {
          if (threw)
            try {
              this[_close]();
            } catch (_) {
            }
        }
      }
    };
    exports2.ReadStream = ReadStream;
    exports2.ReadStreamSync = ReadStreamSync;
    exports2.WriteStream = WriteStream;
    exports2.WriteStreamSync = WriteStreamSync;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/parse.js
var require_parse10 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/parse.js"(exports2, module2) {
    "use strict";
    var warner = require_warn_mixin();
    var Header = require_header();
    var EE = require("events");
    var Yallist = require_yallist();
    var maxMetaEntrySize = 1024 * 1024;
    var Entry = require_read_entry();
    var Pax = require_pax();
    var zlib = require_minizlib();
    var { nextTick } = require("process");
    var gzipHeader = Buffer.from([31, 139]);
    var STATE = Symbol("state");
    var WRITEENTRY = Symbol("writeEntry");
    var READENTRY = Symbol("readEntry");
    var NEXTENTRY = Symbol("nextEntry");
    var PROCESSENTRY = Symbol("processEntry");
    var EX = Symbol("extendedHeader");
    var GEX = Symbol("globalExtendedHeader");
    var META = Symbol("meta");
    var EMITMETA = Symbol("emitMeta");
    var BUFFER = Symbol("buffer");
    var QUEUE = Symbol("queue");
    var ENDED = Symbol("ended");
    var EMITTEDEND = Symbol("emittedEnd");
    var EMIT = Symbol("emit");
    var UNZIP = Symbol("unzip");
    var CONSUMECHUNK = Symbol("consumeChunk");
    var CONSUMECHUNKSUB = Symbol("consumeChunkSub");
    var CONSUMEBODY = Symbol("consumeBody");
    var CONSUMEMETA = Symbol("consumeMeta");
    var CONSUMEHEADER = Symbol("consumeHeader");
    var CONSUMING = Symbol("consuming");
    var BUFFERCONCAT = Symbol("bufferConcat");
    var MAYBEEND = Symbol("maybeEnd");
    var WRITING = Symbol("writing");
    var ABORTED = Symbol("aborted");
    var DONE = Symbol("onDone");
    var SAW_VALID_ENTRY = Symbol("sawValidEntry");
    var SAW_NULL_BLOCK = Symbol("sawNullBlock");
    var SAW_EOF = Symbol("sawEOF");
    var CLOSESTREAM = Symbol("closeStream");
    var noop = (_) => true;
    module2.exports = warner(class Parser extends EE {
      constructor(opt) {
        opt = opt || {};
        super(opt);
        this.file = opt.file || "";
        this[SAW_VALID_ENTRY] = null;
        this.on(DONE, (_) => {
          if (this[STATE] === "begin" || this[SAW_VALID_ENTRY] === false) {
            this.warn("TAR_BAD_ARCHIVE", "Unrecognized archive format");
          }
        });
        if (opt.ondone) {
          this.on(DONE, opt.ondone);
        } else {
          this.on(DONE, (_) => {
            this.emit("prefinish");
            this.emit("finish");
            this.emit("end");
          });
        }
        this.strict = !!opt.strict;
        this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize;
        this.filter = typeof opt.filter === "function" ? opt.filter : noop;
        const isTBR = opt.file && (opt.file.endsWith(".tar.br") || opt.file.endsWith(".tbr"));
        this.brotli = !opt.gzip && opt.brotli !== void 0 ? opt.brotli : isTBR ? void 0 : false;
        this.writable = true;
        this.readable = false;
        this[QUEUE] = new Yallist();
        this[BUFFER] = null;
        this[READENTRY] = null;
        this[WRITEENTRY] = null;
        this[STATE] = "begin";
        this[META] = "";
        this[EX] = null;
        this[GEX] = null;
        this[ENDED] = false;
        this[UNZIP] = null;
        this[ABORTED] = false;
        this[SAW_NULL_BLOCK] = false;
        this[SAW_EOF] = false;
        this.on("end", () => this[CLOSESTREAM]());
        if (typeof opt.onwarn === "function") {
          this.on("warn", opt.onwarn);
        }
        if (typeof opt.onentry === "function") {
          this.on("entry", opt.onentry);
        }
      }
      [CONSUMEHEADER](chunk, position) {
        if (this[SAW_VALID_ENTRY] === null) {
          this[SAW_VALID_ENTRY] = false;
        }
        let header;
        try {
          header = new Header(chunk, position, this[EX], this[GEX]);
        } catch (er) {
          return this.warn("TAR_ENTRY_INVALID", er);
        }
        if (header.nullBlock) {
          if (this[SAW_NULL_BLOCK]) {
            this[SAW_EOF] = true;
            if (this[STATE] === "begin") {
              this[STATE] = "header";
            }
            this[EMIT]("eof");
          } else {
            this[SAW_NULL_BLOCK] = true;
            this[EMIT]("nullBlock");
          }
        } else {
          this[SAW_NULL_BLOCK] = false;
          if (!header.cksumValid) {
            this.warn("TAR_ENTRY_INVALID", "checksum failure", { header });
          } else if (!header.path) {
            this.warn("TAR_ENTRY_INVALID", "path is required", { header });
          } else {
            const type = header.type;
            if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) {
              this.warn("TAR_ENTRY_INVALID", "linkpath required", { header });
            } else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) {
              this.warn("TAR_ENTRY_INVALID", "linkpath forbidden", { header });
            } else {
              const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]);
              if (!this[SAW_VALID_ENTRY]) {
                if (entry.remain) {
                  const onend = () => {
                    if (!entry.invalid) {
                      this[SAW_VALID_ENTRY] = true;
                    }
                  };
                  entry.on("end", onend);
                } else {
                  this[SAW_VALID_ENTRY] = true;
                }
              }
              if (entry.meta) {
                if (entry.size > this.maxMetaEntrySize) {
                  entry.ignore = true;
                  this[EMIT]("ignoredEntry", entry);
                  this[STATE] = "ignore";
                  entry.resume();
                } else if (entry.size > 0) {
                  this[META] = "";
                  entry.on("data", (c) => this[META] += c);
                  this[STATE] = "meta";
                }
              } else {
                this[EX] = null;
                entry.ignore = entry.ignore || !this.filter(entry.path, entry);
                if (entry.ignore) {
                  this[EMIT]("ignoredEntry", entry);
                  this[STATE] = entry.remain ? "ignore" : "header";
                  entry.resume();
                } else {
                  if (entry.remain) {
                    this[STATE] = "body";
                  } else {
                    this[STATE] = "header";
                    entry.end();
                  }
                  if (!this[READENTRY]) {
                    this[QUEUE].push(entry);
                    this[NEXTENTRY]();
                  } else {
                    this[QUEUE].push(entry);
                  }
                }
              }
            }
          }
        }
      }
      [CLOSESTREAM]() {
        nextTick(() => this.emit("close"));
      }
      [PROCESSENTRY](entry) {
        let go = true;
        if (!entry) {
          this[READENTRY] = null;
          go = false;
        } else if (Array.isArray(entry)) {
          this.emit.apply(this, entry);
        } else {
          this[READENTRY] = entry;
          this.emit("entry", entry);
          if (!entry.emittedEnd) {
            entry.on("end", (_) => this[NEXTENTRY]());
            go = false;
          }
        }
        return go;
      }
      [NEXTENTRY]() {
        do {
        } while (this[PROCESSENTRY](this[QUEUE].shift()));
        if (!this[QUEUE].length) {
          const re = this[READENTRY];
          const drainNow = !re || re.flowing || re.size === re.remain;
          if (drainNow) {
            if (!this[WRITING]) {
              this.emit("drain");
            }
          } else {
            re.once("drain", (_) => this.emit("drain"));
          }
        }
      }
      [CONSUMEBODY](chunk, position) {
        const entry = this[WRITEENTRY];
        const br = entry.blockRemain;
        const c = br >= chunk.length && position === 0 ? chunk : chunk.slice(position, position + br);
        entry.write(c);
        if (!entry.blockRemain) {
          this[STATE] = "header";
          this[WRITEENTRY] = null;
          entry.end();
        }
        return c.length;
      }
      [CONSUMEMETA](chunk, position) {
        const entry = this[WRITEENTRY];
        const ret2 = this[CONSUMEBODY](chunk, position);
        if (!this[WRITEENTRY]) {
          this[EMITMETA](entry);
        }
        return ret2;
      }
      [EMIT](ev, data, extra) {
        if (!this[QUEUE].length && !this[READENTRY]) {
          this.emit(ev, data, extra);
        } else {
          this[QUEUE].push([ev, data, extra]);
        }
      }
      [EMITMETA](entry) {
        this[EMIT]("meta", this[META]);
        switch (entry.type) {
          case "ExtendedHeader":
          case "OldExtendedHeader":
            this[EX] = Pax.parse(this[META], this[EX], false);
            break;
          case "GlobalExtendedHeader":
            this[GEX] = Pax.parse(this[META], this[GEX], true);
            break;
          case "NextFileHasLongPath":
          case "OldGnuLongPath":
            this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
            this[EX].path = this[META].replace(/\0.*/, "");
            break;
          case "NextFileHasLongLinkpath":
            this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
            this[EX].linkpath = this[META].replace(/\0.*/, "");
            break;
          /* istanbul ignore next */
          default:
            throw new Error("unknown meta: " + entry.type);
        }
      }
      abort(error) {
        this[ABORTED] = true;
        this.emit("abort", error);
        this.warn("TAR_ABORT", error, { recoverable: false });
      }
      write(chunk) {
        if (this[ABORTED]) {
          return;
        }
        const needSniff = this[UNZIP] === null || this.brotli === void 0 && this[UNZIP] === false;
        if (needSniff && chunk) {
          if (this[BUFFER]) {
            chunk = Buffer.concat([this[BUFFER], chunk]);
            this[BUFFER] = null;
          }
          if (chunk.length < gzipHeader.length) {
            this[BUFFER] = chunk;
            return true;
          }
          for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) {
            if (chunk[i] !== gzipHeader[i]) {
              this[UNZIP] = false;
            }
          }
          const maybeBrotli = this.brotli === void 0;
          if (this[UNZIP] === false && maybeBrotli) {
            if (chunk.length < 512) {
              if (this[ENDED]) {
                this.brotli = true;
              } else {
                this[BUFFER] = chunk;
                return true;
              }
            } else {
              try {
                new Header(chunk.slice(0, 512));
                this.brotli = false;
              } catch (_) {
                this.brotli = true;
              }
            }
          }
          if (this[UNZIP] === null || this[UNZIP] === false && this.brotli) {
            const ended = this[ENDED];
            this[ENDED] = false;
            this[UNZIP] = this[UNZIP] === null ? new zlib.Unzip() : new zlib.BrotliDecompress();
            this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2));
            this[UNZIP].on("error", (er) => this.abort(er));
            this[UNZIP].on("end", (_) => {
              this[ENDED] = true;
              this[CONSUMECHUNK]();
            });
            this[WRITING] = true;
            const ret3 = this[UNZIP][ended ? "end" : "write"](chunk);
            this[WRITING] = false;
            return ret3;
          }
        }
        this[WRITING] = true;
        if (this[UNZIP]) {
          this[UNZIP].write(chunk);
        } else {
          this[CONSUMECHUNK](chunk);
        }
        this[WRITING] = false;
        const ret2 = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true;
        if (!ret2 && !this[QUEUE].length) {
          this[READENTRY].once("drain", (_) => this.emit("drain"));
        }
        return ret2;
      }
      [BUFFERCONCAT](c) {
        if (c && !this[ABORTED]) {
          this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c;
        }
      }
      [MAYBEEND]() {
        if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) {
          this[EMITTEDEND] = true;
          const entry = this[WRITEENTRY];
          if (entry && entry.blockRemain) {
            const have = this[BUFFER] ? this[BUFFER].length : 0;
            this.warn("TAR_BAD_ARCHIVE", `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`, { entry });
            if (this[BUFFER]) {
              entry.write(this[BUFFER]);
            }
            entry.end();
          }
          this[EMIT](DONE);
        }
      }
      [CONSUMECHUNK](chunk) {
        if (this[CONSUMING]) {
          this[BUFFERCONCAT](chunk);
        } else if (!chunk && !this[BUFFER]) {
          this[MAYBEEND]();
        } else {
          this[CONSUMING] = true;
          if (this[BUFFER]) {
            this[BUFFERCONCAT](chunk);
            const c = this[BUFFER];
            this[BUFFER] = null;
            this[CONSUMECHUNKSUB](c);
          } else {
            this[CONSUMECHUNKSUB](chunk);
          }
          while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) {
            const c = this[BUFFER];
            this[BUFFER] = null;
            this[CONSUMECHUNKSUB](c);
          }
          this[CONSUMING] = false;
        }
        if (!this[BUFFER] || this[ENDED]) {
          this[MAYBEEND]();
        }
      }
      [CONSUMECHUNKSUB](chunk) {
        let position = 0;
        const length = chunk.length;
        while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) {
          switch (this[STATE]) {
            case "begin":
            case "header":
              this[CONSUMEHEADER](chunk, position);
              position += 512;
              break;
            case "ignore":
            case "body":
              position += this[CONSUMEBODY](chunk, position);
              break;
            case "meta":
              position += this[CONSUMEMETA](chunk, position);
              break;
            /* istanbul ignore next */
            default:
              throw new Error("invalid state: " + this[STATE]);
          }
        }
        if (position < length) {
          if (this[BUFFER]) {
            this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]);
          } else {
            this[BUFFER] = chunk.slice(position);
          }
        }
      }
      end(chunk) {
        if (!this[ABORTED]) {
          if (this[UNZIP]) {
            this[UNZIP].end(chunk);
          } else {
            this[ENDED] = true;
            if (this.brotli === void 0) chunk = chunk || Buffer.alloc(0);
            this.write(chunk);
          }
        }
      }
    });
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/list.js
var require_list2 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/list.js"(exports2, module2) {
    "use strict";
    var hlo = require_high_level_opt();
    var Parser = require_parse10();
    var fs = require("fs");
    var fsm = require_fs_minipass();
    var path2 = require("path");
    var stripSlash = require_strip_trailing_slashes();
    module2.exports = (opt_, files, cb) => {
      if (typeof opt_ === "function") {
        cb = opt_, files = null, opt_ = {};
      } else if (Array.isArray(opt_)) {
        files = opt_, opt_ = {};
      }
      if (typeof files === "function") {
        cb = files, files = null;
      }
      if (!files) {
        files = [];
      } else {
        files = Array.from(files);
      }
      const opt = hlo(opt_);
      if (opt.sync && typeof cb === "function") {
        throw new TypeError("callback not supported for sync tar functions");
      }
      if (!opt.file && typeof cb === "function") {
        throw new TypeError("callback only supported with file option");
      }
      if (files.length) {
        filesFilter(opt, files);
      }
      if (!opt.noResume) {
        onentryFunction(opt);
      }
      return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt);
    };
    var onentryFunction = (opt) => {
      const onentry = opt.onentry;
      opt.onentry = onentry ? (e) => {
        onentry(e);
        e.resume();
      } : (e) => e.resume();
    };
    var filesFilter = (opt, files) => {
      const map = new Map(files.map((f) => [stripSlash(f), true]));
      const filter = opt.filter;
      const mapHas = (file, r) => {
        const root = r || path2.parse(file).root || ".";
        const ret2 = file === root ? false : map.has(file) ? map.get(file) : mapHas(path2.dirname(file), root);
        map.set(file, ret2);
        return ret2;
      };
      opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
    };
    var listFileSync = (opt) => {
      const p = list(opt);
      const file = opt.file;
      let threw = true;
      let fd;
      try {
        const stat = fs.statSync(file);
        const readSize = opt.maxReadSize || 16 * 1024 * 1024;
        if (stat.size < readSize) {
          p.end(fs.readFileSync(file));
        } else {
          let pos = 0;
          const buf = Buffer.allocUnsafe(readSize);
          fd = fs.openSync(file, "r");
          while (pos < stat.size) {
            const bytesRead = fs.readSync(fd, buf, 0, readSize, pos);
            pos += bytesRead;
            p.write(buf.slice(0, bytesRead));
          }
          p.end();
        }
        threw = false;
      } finally {
        if (threw && fd) {
          try {
            fs.closeSync(fd);
          } catch (er) {
          }
        }
      }
    };
    var listFile = (opt, cb) => {
      const parse2 = new Parser(opt);
      const readSize = opt.maxReadSize || 16 * 1024 * 1024;
      const file = opt.file;
      const p = new Promise((resolve, reject) => {
        parse2.on("error", reject);
        parse2.on("end", resolve);
        fs.stat(file, (er, stat) => {
          if (er) {
            reject(er);
          } else {
            const stream = new fsm.ReadStream(file, {
              readSize,
              size: stat.size
            });
            stream.on("error", reject);
            stream.pipe(parse2);
          }
        });
      });
      return cb ? p.then(cb, cb) : p;
    };
    var list = (opt) => new Parser(opt);
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/create.js
var require_create2 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/create.js"(exports2, module2) {
    "use strict";
    var hlo = require_high_level_opt();
    var Pack = require_pack();
    var fsm = require_fs_minipass();
    var t = require_list2();
    var path2 = require("path");
    module2.exports = (opt_, files, cb) => {
      if (typeof files === "function") {
        cb = files;
      }
      if (Array.isArray(opt_)) {
        files = opt_, opt_ = {};
      }
      if (!files || !Array.isArray(files) || !files.length) {
        throw new TypeError("no files or directories specified");
      }
      files = Array.from(files);
      const opt = hlo(opt_);
      if (opt.sync && typeof cb === "function") {
        throw new TypeError("callback not supported for sync tar functions");
      }
      if (!opt.file && typeof cb === "function") {
        throw new TypeError("callback only supported with file option");
      }
      return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files);
    };
    var createFileSync = (opt, files) => {
      const p = new Pack.Sync(opt);
      const stream = new fsm.WriteStreamSync(opt.file, {
        mode: opt.mode || 438
      });
      p.pipe(stream);
      addFilesSync(p, files);
    };
    var createFile = (opt, files, cb) => {
      const p = new Pack(opt);
      const stream = new fsm.WriteStream(opt.file, {
        mode: opt.mode || 438
      });
      p.pipe(stream);
      const promise = new Promise((res, rej) => {
        stream.on("error", rej);
        stream.on("close", res);
        p.on("error", rej);
      });
      addFilesAsync(p, files);
      return cb ? promise.then(cb, cb) : promise;
    };
    var addFilesSync = (p, files) => {
      files.forEach((file) => {
        if (file.charAt(0) === "@") {
          t({
            file: path2.resolve(p.cwd, file.slice(1)),
            sync: true,
            noResume: true,
            onentry: (entry) => p.add(entry)
          });
        } else {
          p.add(file);
        }
      });
      p.end();
    };
    var addFilesAsync = (p, files) => {
      while (files.length) {
        const file = files.shift();
        if (file.charAt(0) === "@") {
          return t({
            file: path2.resolve(p.cwd, file.slice(1)),
            noResume: true,
            onentry: (entry) => p.add(entry)
          }).then((_) => addFilesAsync(p, files));
        } else {
          p.add(file);
        }
      }
      p.end();
    };
    var createSync = (opt, files) => {
      const p = new Pack.Sync(opt);
      addFilesSync(p, files);
      return p;
    };
    var create = (opt, files) => {
      const p = new Pack(opt);
      addFilesAsync(p, files);
      return p;
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/replace.js
var require_replace2 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/replace.js"(exports2, module2) {
    "use strict";
    var hlo = require_high_level_opt();
    var Pack = require_pack();
    var fs = require("fs");
    var fsm = require_fs_minipass();
    var t = require_list2();
    var path2 = require("path");
    var Header = require_header();
    module2.exports = (opt_, files, cb) => {
      const opt = hlo(opt_);
      if (!opt.file) {
        throw new TypeError("file is required");
      }
      if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
        throw new TypeError("cannot append to compressed archives");
      }
      if (!files || !Array.isArray(files) || !files.length) {
        throw new TypeError("no files or directories specified");
      }
      files = Array.from(files);
      return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb);
    };
    var replaceSync = (opt, files) => {
      const p = new Pack.Sync(opt);
      let threw = true;
      let fd;
      let position;
      try {
        try {
          fd = fs.openSync(opt.file, "r+");
        } catch (er) {
          if (er.code === "ENOENT") {
            fd = fs.openSync(opt.file, "w+");
          } else {
            throw er;
          }
        }
        const st = fs.fstatSync(fd);
        const headBuf = Buffer.alloc(512);
        POSITION: for (position = 0; position < st.size; position += 512) {
          for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) {
            bytes = fs.readSync(
              fd,
              headBuf,
              bufPos,
              headBuf.length - bufPos,
              position + bufPos
            );
            if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
              throw new Error("cannot append to compressed archives");
            }
            if (!bytes) {
              break POSITION;
            }
          }
          const h = new Header(headBuf);
          if (!h.cksumValid) {
            break;
          }
          const entryBlockSize = 512 * Math.ceil(h.size / 512);
          if (position + entryBlockSize + 512 > st.size) {
            break;
          }
          position += entryBlockSize;
          if (opt.mtimeCache) {
            opt.mtimeCache.set(h.path, h.mtime);
          }
        }
        threw = false;
        streamSync(opt, p, position, fd, files);
      } finally {
        if (threw) {
          try {
            fs.closeSync(fd);
          } catch (er) {
          }
        }
      }
    };
    var streamSync = (opt, p, position, fd, files) => {
      const stream = new fsm.WriteStreamSync(opt.file, {
        fd,
        start: position
      });
      p.pipe(stream);
      addFilesSync(p, files);
    };
    var replace = (opt, files, cb) => {
      files = Array.from(files);
      const p = new Pack(opt);
      const getPos = (fd, size, cb_) => {
        const cb2 = (er, pos) => {
          if (er) {
            fs.close(fd, (_) => cb_(er));
          } else {
            cb_(null, pos);
          }
        };
        let position = 0;
        if (size === 0) {
          return cb2(null, 0);
        }
        let bufPos = 0;
        const headBuf = Buffer.alloc(512);
        const onread = (er, bytes) => {
          if (er) {
            return cb2(er);
          }
          bufPos += bytes;
          if (bufPos < 512 && bytes) {
            return fs.read(
              fd,
              headBuf,
              bufPos,
              headBuf.length - bufPos,
              position + bufPos,
              onread
            );
          }
          if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
            return cb2(new Error("cannot append to compressed archives"));
          }
          if (bufPos < 512) {
            return cb2(null, position);
          }
          const h = new Header(headBuf);
          if (!h.cksumValid) {
            return cb2(null, position);
          }
          const entryBlockSize = 512 * Math.ceil(h.size / 512);
          if (position + entryBlockSize + 512 > size) {
            return cb2(null, position);
          }
          position += entryBlockSize + 512;
          if (position >= size) {
            return cb2(null, position);
          }
          if (opt.mtimeCache) {
            opt.mtimeCache.set(h.path, h.mtime);
          }
          bufPos = 0;
          fs.read(fd, headBuf, 0, 512, position, onread);
        };
        fs.read(fd, headBuf, 0, 512, position, onread);
      };
      const promise = new Promise((resolve, reject) => {
        p.on("error", reject);
        let flag = "r+";
        const onopen = (er, fd) => {
          if (er && er.code === "ENOENT" && flag === "r+") {
            flag = "w+";
            return fs.open(opt.file, flag, onopen);
          }
          if (er) {
            return reject(er);
          }
          fs.fstat(fd, (er2, st) => {
            if (er2) {
              return fs.close(fd, () => reject(er2));
            }
            getPos(fd, st.size, (er3, position) => {
              if (er3) {
                return reject(er3);
              }
              const stream = new fsm.WriteStream(opt.file, {
                fd,
                start: position
              });
              p.pipe(stream);
              stream.on("error", reject);
              stream.on("close", resolve);
              addFilesAsync(p, files);
            });
          });
        };
        fs.open(opt.file, flag, onopen);
      });
      return cb ? promise.then(cb, cb) : promise;
    };
    var addFilesSync = (p, files) => {
      files.forEach((file) => {
        if (file.charAt(0) === "@") {
          t({
            file: path2.resolve(p.cwd, file.slice(1)),
            sync: true,
            noResume: true,
            onentry: (entry) => p.add(entry)
          });
        } else {
          p.add(file);
        }
      });
      p.end();
    };
    var addFilesAsync = (p, files) => {
      while (files.length) {
        const file = files.shift();
        if (file.charAt(0) === "@") {
          return t({
            file: path2.resolve(p.cwd, file.slice(1)),
            noResume: true,
            onentry: (entry) => p.add(entry)
          }).then((_) => addFilesAsync(p, files));
        } else {
          p.add(file);
        }
      }
      p.end();
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/update.js
var require_update2 = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/update.js"(exports2, module2) {
    "use strict";
    var hlo = require_high_level_opt();
    var r = require_replace2();
    module2.exports = (opt_, files, cb) => {
      const opt = hlo(opt_);
      if (!opt.file) {
        throw new TypeError("file is required");
      }
      if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
        throw new TypeError("cannot append to compressed archives");
      }
      if (!files || !Array.isArray(files) || !files.length) {
        throw new TypeError("no files or directories specified");
      }
      files = Array.from(files);
      mtimeFilter(opt);
      return r(opt, files, cb);
    };
    var mtimeFilter = (opt) => {
      const filter = opt.filter;
      if (!opt.mtimeCache) {
        opt.mtimeCache = /* @__PURE__ */ new Map();
      }
      opt.filter = filter ? (path2, stat) => filter(path2, stat) && !(opt.mtimeCache.get(path2) > stat.mtime) : (path2, stat) => !(opt.mtimeCache.get(path2) > stat.mtime);
    };
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/opts-arg.js
var require_opts_arg = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/opts-arg.js"(exports2, module2) {
    var { promisify } = require("util");
    var fs = require("fs");
    var optsArg = (opts) => {
      if (!opts)
        opts = { mode: 511, fs };
      else if (typeof opts === "object")
        opts = { mode: 511, fs, ...opts };
      else if (typeof opts === "number")
        opts = { mode: opts, fs };
      else if (typeof opts === "string")
        opts = { mode: parseInt(opts, 8), fs };
      else
        throw new TypeError("invalid options argument");
      opts.mkdir = opts.mkdir || opts.fs.mkdir || fs.mkdir;
      opts.mkdirAsync = promisify(opts.mkdir);
      opts.stat = opts.stat || opts.fs.stat || fs.stat;
      opts.statAsync = promisify(opts.stat);
      opts.statSync = opts.statSync || opts.fs.statSync || fs.statSync;
      opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs.mkdirSync;
      return opts;
    };
    module2.exports = optsArg;
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/path-arg.js
var require_path_arg = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/path-arg.js"(exports2, module2) {
    var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
    var { resolve, parse: parse2 } = require("path");
    var pathArg = (path2) => {
      if (/\0/.test(path2)) {
        throw Object.assign(
          new TypeError("path must be a string without null bytes"),
          {
            path: path2,
            code: "ERR_INVALID_ARG_VALUE"
          }
        );
      }
      path2 = resolve(path2);
      if (platform === "win32") {
        const badWinChars = /[*|"<>?:]/;
        const { root } = parse2(path2);
        if (badWinChars.test(path2.substr(root.length))) {
          throw Object.assign(new Error("Illegal characters in path."), {
            path: path2,
            code: "EINVAL"
          });
        }
      }
      return path2;
    };
    module2.exports = pathArg;
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/find-made.js
var require_find_made = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/find-made.js"(exports2, module2) {
    var { dirname } = require("path");
    var findMade = (opts, parent, path2 = void 0) => {
      if (path2 === parent)
        return Promise.resolve();
      return opts.statAsync(parent).then(
        (st) => st.isDirectory() ? path2 : void 0,
        // will fail later
        (er) => er.code === "ENOENT" ? findMade(opts, dirname(parent), parent) : void 0
      );
    };
    var findMadeSync = (opts, parent, path2 = void 0) => {
      if (path2 === parent)
        return void 0;
      try {
        return opts.statSync(parent).isDirectory() ? path2 : void 0;
      } catch (er) {
        return er.code === "ENOENT" ? findMadeSync(opts, dirname(parent), parent) : void 0;
      }
    };
    module2.exports = { findMade, findMadeSync };
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/mkdirp-manual.js
var require_mkdirp_manual = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/mkdirp-manual.js"(exports2, module2) {
    var { dirname } = require("path");
    var mkdirpManual = (path2, opts, made) => {
      opts.recursive = false;
      const parent = dirname(path2);
      if (parent === path2) {
        return opts.mkdirAsync(path2, opts).catch((er) => {
          if (er.code !== "EISDIR")
            throw er;
        });
      }
      return opts.mkdirAsync(path2, opts).then(() => made || path2, (er) => {
        if (er.code === "ENOENT")
          return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path2, opts, made2));
        if (er.code !== "EEXIST" && er.code !== "EROFS")
          throw er;
        return opts.statAsync(path2).then((st) => {
          if (st.isDirectory())
            return made;
          else
            throw er;
        }, () => {
          throw er;
        });
      });
    };
    var mkdirpManualSync = (path2, opts, made) => {
      const parent = dirname(path2);
      opts.recursive = false;
      if (parent === path2) {
        try {
          return opts.mkdirSync(path2, opts);
        } catch (er) {
          if (er.code !== "EISDIR")
            throw er;
          else
            return;
        }
      }
      try {
        opts.mkdirSync(path2, opts);
        return made || path2;
      } catch (er) {
        if (er.code === "ENOENT")
          return mkdirpManualSync(path2, opts, mkdirpManualSync(parent, opts, made));
        if (er.code !== "EEXIST" && er.code !== "EROFS")
          throw er;
        try {
          if (!opts.statSync(path2).isDirectory())
            throw er;
        } catch (_) {
          throw er;
        }
      }
    };
    module2.exports = { mkdirpManual, mkdirpManualSync };
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/mkdirp-native.js
var require_mkdirp_native = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/mkdirp-native.js"(exports2, module2) {
    var { dirname } = require("path");
    var { findMade, findMadeSync } = require_find_made();
    var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual();
    var mkdirpNative = (path2, opts) => {
      opts.recursive = true;
      const parent = dirname(path2);
      if (parent === path2)
        return opts.mkdirAsync(path2, opts);
      return findMade(opts, path2).then((made) => opts.mkdirAsync(path2, opts).then(() => made).catch((er) => {
        if (er.code === "ENOENT")
          return mkdirpManual(path2, opts);
        else
          throw er;
      }));
    };
    var mkdirpNativeSync = (path2, opts) => {
      opts.recursive = true;
      const parent = dirname(path2);
      if (parent === path2)
        return opts.mkdirSync(path2, opts);
      const made = findMadeSync(opts, path2);
      try {
        opts.mkdirSync(path2, opts);
        return made;
      } catch (er) {
        if (er.code === "ENOENT")
          return mkdirpManualSync(path2, opts);
        else
          throw er;
      }
    };
    module2.exports = { mkdirpNative, mkdirpNativeSync };
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/use-native.js
var require_use_native = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/lib/use-native.js"(exports2, module2) {
    var fs = require("fs");
    var version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
    var versArr = version2.replace(/^v/, "").split(".");
    var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
    var useNative = !hasNative ? () => false : (opts) => opts.mkdir === fs.mkdir;
    var useNativeSync = !hasNative ? () => false : (opts) => opts.mkdirSync === fs.mkdirSync;
    module2.exports = { useNative, useNativeSync };
  }
});

// ../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/index.js
var require_mkdirp = __commonJS({
  "../node_modules/.pnpm/mkdirp@1.0.4/node_modules/mkdirp/index.js"(exports2, module2) {
    var optsArg = require_opts_arg();
    var pathArg = require_path_arg();
    var { mkdirpNative, mkdirpNativeSync } = require_mkdirp_native();
    var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual();
    var { useNative, useNativeSync } = require_use_native();
    var mkdirp = (path2, opts) => {
      path2 = pathArg(path2);
      opts = optsArg(opts);
      return useNative(opts) ? mkdirpNative(path2, opts) : mkdirpManual(path2, opts);
    };
    var mkdirpSync = (path2, opts) => {
      path2 = pathArg(path2);
      opts = optsArg(opts);
      return useNativeSync(opts) ? mkdirpNativeSync(path2, opts) : mkdirpManualSync(path2, opts);
    };
    mkdirp.sync = mkdirpSync;
    mkdirp.native = (path2, opts) => mkdirpNative(pathArg(path2), optsArg(opts));
    mkdirp.manual = (path2, opts) => mkdirpManual(pathArg(path2), optsArg(opts));
    mkdirp.nativeSync = (path2, opts) => mkdirpNativeSync(pathArg(path2), optsArg(opts));
    mkdirp.manualSync = (path2, opts) => mkdirpManualSync(pathArg(path2), optsArg(opts));
    module2.exports = mkdirp;
  }
});

// ../node_modules/.pnpm/chownr@2.0.0/node_modules/chownr/chownr.js
var require_chownr = __commonJS({
  "../node_modules/.pnpm/chownr@2.0.0/node_modules/chownr/chownr.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var path2 = require("path");
    var LCHOWN = fs.lchown ? "lchown" : "chown";
    var LCHOWNSYNC = fs.lchownSync ? "lchownSync" : "chownSync";
    var needEISDIRHandled = fs.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/);
    var lchownSync = (path3, uid, gid) => {
      try {
        return fs[LCHOWNSYNC](path3, uid, gid);
      } catch (er) {
        if (er.code !== "ENOENT")
          throw er;
      }
    };
    var chownSync = (path3, uid, gid) => {
      try {
        return fs.chownSync(path3, uid, gid);
      } catch (er) {
        if (er.code !== "ENOENT")
          throw er;
      }
    };
    var handleEISDIR = needEISDIRHandled ? (path3, uid, gid, cb) => (er) => {
      if (!er || er.code !== "EISDIR")
        cb(er);
      else
        fs.chown(path3, uid, gid, cb);
    } : (_, __, ___, cb) => cb;
    var handleEISDirSync = needEISDIRHandled ? (path3, uid, gid) => {
      try {
        return lchownSync(path3, uid, gid);
      } catch (er) {
        if (er.code !== "EISDIR")
          throw er;
        chownSync(path3, uid, gid);
      }
    } : (path3, uid, gid) => lchownSync(path3, uid, gid);
    var nodeVersion = process.version;
    var readdir = (path3, options, cb) => fs.readdir(path3, options, cb);
    var readdirSync = (path3, options) => fs.readdirSync(path3, options);
    if (/^v4\./.test(nodeVersion))
      readdir = (path3, options, cb) => fs.readdir(path3, cb);
    var chown = (cpath, uid, gid, cb) => {
      fs[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, (er) => {
        cb(er && er.code !== "ENOENT" ? er : null);
      }));
    };
    var chownrKid = (p, child, uid, gid, cb) => {
      if (typeof child === "string")
        return fs.lstat(path2.resolve(p, child), (er, stats) => {
          if (er)
            return cb(er.code !== "ENOENT" ? er : null);
          stats.name = child;
          chownrKid(p, stats, uid, gid, cb);
        });
      if (child.isDirectory()) {
        chownr(path2.resolve(p, child.name), uid, gid, (er) => {
          if (er)
            return cb(er);
          const cpath = path2.resolve(p, child.name);
          chown(cpath, uid, gid, cb);
        });
      } else {
        const cpath = path2.resolve(p, child.name);
        chown(cpath, uid, gid, cb);
      }
    };
    var chownr = (p, uid, gid, cb) => {
      readdir(p, { withFileTypes: true }, (er, children) => {
        if (er) {
          if (er.code === "ENOENT")
            return cb();
          else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP")
            return cb(er);
        }
        if (er || !children.length)
          return chown(p, uid, gid, cb);
        let len = children.length;
        let errState = null;
        const then = (er2) => {
          if (errState)
            return;
          if (er2)
            return cb(errState = er2);
          if (--len === 0)
            return chown(p, uid, gid, cb);
        };
        children.forEach((child) => chownrKid(p, child, uid, gid, then));
      });
    };
    var chownrKidSync = (p, child, uid, gid) => {
      if (typeof child === "string") {
        try {
          const stats = fs.lstatSync(path2.resolve(p, child));
          stats.name = child;
          child = stats;
        } catch (er) {
          if (er.code === "ENOENT")
            return;
          else
            throw er;
        }
      }
      if (child.isDirectory())
        chownrSync(path2.resolve(p, child.name), uid, gid);
      handleEISDirSync(path2.resolve(p, child.name), uid, gid);
    };
    var chownrSync = (p, uid, gid) => {
      let children;
      try {
        children = readdirSync(p, { withFileTypes: true });
      } catch (er) {
        if (er.code === "ENOENT")
          return;
        else if (er.code === "ENOTDIR" || er.code === "ENOTSUP")
          return handleEISDirSync(p, uid, gid);
        else
          throw er;
      }
      if (children && children.length)
        children.forEach((child) => chownrKidSync(p, child, uid, gid));
      return handleEISDirSync(p, uid, gid);
    };
    module2.exports = chownr;
    chownr.sync = chownrSync;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/mkdir.js
var require_mkdir = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/mkdir.js"(exports2, module2) {
    "use strict";
    var mkdirp = require_mkdirp();
    var fs = require("fs");
    var path2 = require("path");
    var chownr = require_chownr();
    var normPath = require_normalize_windows_path();
    var SymlinkError = class extends Error {
      constructor(symlink, path3) {
        super("Cannot extract through symbolic link");
        this.path = path3;
        this.symlink = symlink;
      }
      get name() {
        return "SylinkError";
      }
    };
    var CwdError = class extends Error {
      constructor(path3, code) {
        super(code + ": Cannot cd into '" + path3 + "'");
        this.path = path3;
        this.code = code;
      }
      get name() {
        return "CwdError";
      }
    };
    var cGet = (cache, key) => cache.get(normPath(key));
    var cSet = (cache, key, val) => cache.set(normPath(key), val);
    var checkCwd = (dir, cb) => {
      fs.stat(dir, (er, st) => {
        if (er || !st.isDirectory()) {
          er = new CwdError(dir, er && er.code || "ENOTDIR");
        }
        cb(er);
      });
    };
    module2.exports = (dir, opt, cb) => {
      dir = normPath(dir);
      const umask = opt.umask;
      const mode = opt.mode | 448;
      const needChmod = (mode & umask) !== 0;
      const uid = opt.uid;
      const gid = opt.gid;
      const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
      const preserve = opt.preserve;
      const unlink = opt.unlink;
      const cache = opt.cache;
      const cwd = normPath(opt.cwd);
      const done = (er, created) => {
        if (er) {
          cb(er);
        } else {
          cSet(cache, dir, true);
          if (created && doChown) {
            chownr(created, uid, gid, (er2) => done(er2));
          } else if (needChmod) {
            fs.chmod(dir, mode, cb);
          } else {
            cb();
          }
        }
      };
      if (cache && cGet(cache, dir) === true) {
        return done();
      }
      if (dir === cwd) {
        return checkCwd(dir, done);
      }
      if (preserve) {
        return mkdirp(dir, { mode }).then((made) => done(null, made), done);
      }
      const sub = normPath(path2.relative(cwd, dir));
      const parts = sub.split("/");
      mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done);
    };
    var mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => {
      if (!parts.length) {
        return cb(null, created);
      }
      const p = parts.shift();
      const part = normPath(path2.resolve(base + "/" + p));
      if (cGet(cache, part)) {
        return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
      }
      fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
    };
    var onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => {
      if (er) {
        fs.lstat(part, (statEr, st) => {
          if (statEr) {
            statEr.path = statEr.path && normPath(statEr.path);
            cb(statEr);
          } else if (st.isDirectory()) {
            mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
          } else if (unlink) {
            fs.unlink(part, (er2) => {
              if (er2) {
                return cb(er2);
              }
              fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
            });
          } else if (st.isSymbolicLink()) {
            return cb(new SymlinkError(part, part + "/" + parts.join("/")));
          } else {
            cb(er);
          }
        });
      } else {
        created = created || part;
        mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
      }
    };
    var checkCwdSync = (dir) => {
      let ok = false;
      let code = "ENOTDIR";
      try {
        ok = fs.statSync(dir).isDirectory();
      } catch (er) {
        code = er.code;
      } finally {
        if (!ok) {
          throw new CwdError(dir, code);
        }
      }
    };
    module2.exports.sync = (dir, opt) => {
      dir = normPath(dir);
      const umask = opt.umask;
      const mode = opt.mode | 448;
      const needChmod = (mode & umask) !== 0;
      const uid = opt.uid;
      const gid = opt.gid;
      const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
      const preserve = opt.preserve;
      const unlink = opt.unlink;
      const cache = opt.cache;
      const cwd = normPath(opt.cwd);
      const done = (created2) => {
        cSet(cache, dir, true);
        if (created2 && doChown) {
          chownr.sync(created2, uid, gid);
        }
        if (needChmod) {
          fs.chmodSync(dir, mode);
        }
      };
      if (cache && cGet(cache, dir) === true) {
        return done();
      }
      if (dir === cwd) {
        checkCwdSync(cwd);
        return done();
      }
      if (preserve) {
        return done(mkdirp.sync(dir, mode));
      }
      const sub = normPath(path2.relative(cwd, dir));
      const parts = sub.split("/");
      let created = null;
      for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) {
        part = normPath(path2.resolve(part));
        if (cGet(cache, part)) {
          continue;
        }
        try {
          fs.mkdirSync(part, mode);
          created = created || part;
          cSet(cache, part, true);
        } catch (er) {
          const st = fs.lstatSync(part);
          if (st.isDirectory()) {
            cSet(cache, part, true);
            continue;
          } else if (unlink) {
            fs.unlinkSync(part);
            fs.mkdirSync(part, mode);
            created = created || part;
            cSet(cache, part, true);
            continue;
          } else if (st.isSymbolicLink()) {
            return new SymlinkError(part, part + "/" + parts.join("/"));
          }
        }
      }
      return done(created);
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/normalize-unicode.js
var require_normalize_unicode = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/normalize-unicode.js"(exports2, module2) {
    var normalizeCache = /* @__PURE__ */ Object.create(null);
    var { hasOwnProperty: hasOwnProperty2 } = Object.prototype;
    module2.exports = (s) => {
      if (!hasOwnProperty2.call(normalizeCache, s)) {
        normalizeCache[s] = s.normalize("NFD");
      }
      return normalizeCache[s];
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/path-reservations.js
var require_path_reservations = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/path-reservations.js"(exports2, module2) {
    var assert = require("assert");
    var normalize = require_normalize_unicode();
    var stripSlashes = require_strip_trailing_slashes();
    var { join } = require("path");
    var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
    var isWindows = platform === "win32";
    module2.exports = () => {
      const queues = /* @__PURE__ */ new Map();
      const reservations = /* @__PURE__ */ new Map();
      const getDirs = (path2) => {
        const dirs = path2.split("/").slice(0, -1).reduce((set, path3) => {
          if (set.length) {
            path3 = join(set[set.length - 1], path3);
          }
          set.push(path3 || "/");
          return set;
        }, []);
        return dirs;
      };
      const running = /* @__PURE__ */ new Set();
      const getQueues = (fn) => {
        const res = reservations.get(fn);
        if (!res) {
          throw new Error("function does not have any path reservations");
        }
        return {
          paths: res.paths.map((path2) => queues.get(path2)),
          dirs: [...res.dirs].map((path2) => queues.get(path2))
        };
      };
      const check = (fn) => {
        const { paths, dirs } = getQueues(fn);
        return paths.every((q) => q[0] === fn) && dirs.every((q) => q[0] instanceof Set && q[0].has(fn));
      };
      const run = (fn) => {
        if (running.has(fn) || !check(fn)) {
          return false;
        }
        running.add(fn);
        fn(() => clear(fn));
        return true;
      };
      const clear = (fn) => {
        if (!running.has(fn)) {
          return false;
        }
        const { paths, dirs } = reservations.get(fn);
        const next = /* @__PURE__ */ new Set();
        paths.forEach((path2) => {
          const q = queues.get(path2);
          assert.equal(q[0], fn);
          if (q.length === 1) {
            queues.delete(path2);
          } else {
            q.shift();
            if (typeof q[0] === "function") {
              next.add(q[0]);
            } else {
              q[0].forEach((fn2) => next.add(fn2));
            }
          }
        });
        dirs.forEach((dir) => {
          const q = queues.get(dir);
          assert(q[0] instanceof Set);
          if (q[0].size === 1 && q.length === 1) {
            queues.delete(dir);
          } else if (q[0].size === 1) {
            q.shift();
            next.add(q[0]);
          } else {
            q[0].delete(fn);
          }
        });
        running.delete(fn);
        next.forEach((fn2) => run(fn2));
        return true;
      };
      const reserve = (paths, fn) => {
        paths = isWindows ? ["win32 parallelization disabled"] : paths.map((p) => {
          return stripSlashes(join(normalize(p))).toLowerCase();
        });
        const dirs = new Set(
          paths.map((path2) => getDirs(path2)).reduce((a, b) => a.concat(b))
        );
        reservations.set(fn, { dirs, paths });
        paths.forEach((path2) => {
          const q = queues.get(path2);
          if (!q) {
            queues.set(path2, [fn]);
          } else {
            q.push(fn);
          }
        });
        dirs.forEach((dir) => {
          const q = queues.get(dir);
          if (!q) {
            queues.set(dir, [/* @__PURE__ */ new Set([fn])]);
          } else if (q[q.length - 1] instanceof Set) {
            q[q.length - 1].add(fn);
          } else {
            q.push(/* @__PURE__ */ new Set([fn]));
          }
        });
        return run(fn);
      };
      return { check, reserve };
    };
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/get-write-flag.js
var require_get_write_flag = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/get-write-flag.js"(exports2, module2) {
    var platform = process.env.__FAKE_PLATFORM__ || process.platform;
    var isWindows = platform === "win32";
    var fs = global.__FAKE_TESTING_FS__ || require("fs");
    var { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs.constants;
    var fMapEnabled = isWindows && !!UV_FS_O_FILEMAP;
    var fMapLimit = 512 * 1024;
    var fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY;
    module2.exports = !fMapEnabled ? () => "w" : (size) => size < fMapLimit ? fMapFlag : "w";
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/unpack.js
var require_unpack = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/unpack.js"(exports2, module2) {
    "use strict";
    var assert = require("assert");
    var Parser = require_parse10();
    var fs = require("fs");
    var fsm = require_fs_minipass();
    var path2 = require("path");
    var mkdir = require_mkdir();
    var wc = require_winchars();
    var pathReservations = require_path_reservations();
    var stripAbsolutePath = require_strip_absolute_path();
    var normPath = require_normalize_windows_path();
    var stripSlash = require_strip_trailing_slashes();
    var normalize = require_normalize_unicode();
    var ONENTRY = Symbol("onEntry");
    var CHECKFS = Symbol("checkFs");
    var CHECKFS2 = Symbol("checkFs2");
    var PRUNECACHE = Symbol("pruneCache");
    var ISREUSABLE = Symbol("isReusable");
    var MAKEFS = Symbol("makeFs");
    var FILE = Symbol("file");
    var DIRECTORY = Symbol("directory");
    var LINK = Symbol("link");
    var SYMLINK = Symbol("symlink");
    var HARDLINK = Symbol("hardlink");
    var UNSUPPORTED = Symbol("unsupported");
    var CHECKPATH = Symbol("checkPath");
    var MKDIR = Symbol("mkdir");
    var ONERROR = Symbol("onError");
    var PENDING = Symbol("pending");
    var PEND = Symbol("pend");
    var UNPEND = Symbol("unpend");
    var ENDED = Symbol("ended");
    var MAYBECLOSE = Symbol("maybeClose");
    var SKIP = Symbol("skip");
    var DOCHOWN = Symbol("doChown");
    var UID = Symbol("uid");
    var GID = Symbol("gid");
    var CHECKED_CWD = Symbol("checkedCwd");
    var crypto5 = require("crypto");
    var getFlag = require_get_write_flag();
    var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
    var isWindows = platform === "win32";
    var DEFAULT_MAX_DEPTH = 1024;
    var unlinkFile = (path3, cb) => {
      if (!isWindows) {
        return fs.unlink(path3, cb);
      }
      const name = path3 + ".DELETE." + crypto5.randomBytes(16).toString("hex");
      fs.rename(path3, name, (er) => {
        if (er) {
          return cb(er);
        }
        fs.unlink(name, cb);
      });
    };
    var unlinkFileSync = (path3) => {
      if (!isWindows) {
        return fs.unlinkSync(path3);
      }
      const name = path3 + ".DELETE." + crypto5.randomBytes(16).toString("hex");
      fs.renameSync(path3, name);
      fs.unlinkSync(name);
    };
    var uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c;
    var cacheKeyNormalize = (path3) => stripSlash(normPath(normalize(path3))).toLowerCase();
    var pruneCache = (cache, abs) => {
      abs = cacheKeyNormalize(abs);
      for (const path3 of cache.keys()) {
        const pnorm = cacheKeyNormalize(path3);
        if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) {
          cache.delete(path3);
        }
      }
    };
    var dropCache = (cache) => {
      for (const key of cache.keys()) {
        cache.delete(key);
      }
    };
    var Unpack = class extends Parser {
      constructor(opt) {
        if (!opt) {
          opt = {};
        }
        opt.ondone = (_) => {
          this[ENDED] = true;
          this[MAYBECLOSE]();
        };
        super(opt);
        this[CHECKED_CWD] = false;
        this.reservations = pathReservations();
        this.transform = typeof opt.transform === "function" ? opt.transform : null;
        this.writable = true;
        this.readable = false;
        this[PENDING] = 0;
        this[ENDED] = false;
        this.dirCache = opt.dirCache || /* @__PURE__ */ new Map();
        if (typeof opt.uid === "number" || typeof opt.gid === "number") {
          if (typeof opt.uid !== "number" || typeof opt.gid !== "number") {
            throw new TypeError("cannot set owner without number uid and gid");
          }
          if (opt.preserveOwner) {
            throw new TypeError(
              "cannot preserve owner in archive and also set owner explicitly"
            );
          }
          this.uid = opt.uid;
          this.gid = opt.gid;
          this.setOwner = true;
        } else {
          this.uid = null;
          this.gid = null;
          this.setOwner = false;
        }
        if (opt.preserveOwner === void 0 && typeof opt.uid !== "number") {
          this.preserveOwner = process.getuid && process.getuid() === 0;
        } else {
          this.preserveOwner = !!opt.preserveOwner;
        }
        this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null;
        this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null;
        this.maxDepth = typeof opt.maxDepth === "number" ? opt.maxDepth : DEFAULT_MAX_DEPTH;
        this.forceChown = opt.forceChown === true;
        this.win32 = !!opt.win32 || isWindows;
        this.newer = !!opt.newer;
        this.keep = !!opt.keep;
        this.noMtime = !!opt.noMtime;
        this.preservePaths = !!opt.preservePaths;
        this.unlink = !!opt.unlink;
        this.cwd = normPath(path2.resolve(opt.cwd || process.cwd()));
        this.strip = +opt.strip || 0;
        this.processUmask = opt.noChmod ? 0 : process.umask();
        this.umask = typeof opt.umask === "number" ? opt.umask : this.processUmask;
        this.dmode = opt.dmode || 511 & ~this.umask;
        this.fmode = opt.fmode || 438 & ~this.umask;
        this.on("entry", (entry) => this[ONENTRY](entry));
      }
      // a bad or damaged archive is a warning for Parser, but an error
      // when extracting.  Mark those errors as unrecoverable, because
      // the Unpack contract cannot be met.
      warn(code, msg, data = {}) {
        if (code === "TAR_BAD_ARCHIVE" || code === "TAR_ABORT") {
          data.recoverable = false;
        }
        return super.warn(code, msg, data);
      }
      [MAYBECLOSE]() {
        if (this[ENDED] && this[PENDING] === 0) {
          this.emit("prefinish");
          this.emit("finish");
          this.emit("end");
        }
      }
      [CHECKPATH](entry) {
        const p = normPath(entry.path);
        const parts = p.split("/");
        if (this.strip) {
          if (parts.length < this.strip) {
            return false;
          }
          if (entry.type === "Link") {
            const linkparts = normPath(entry.linkpath).split("/");
            if (linkparts.length >= this.strip) {
              entry.linkpath = linkparts.slice(this.strip).join("/");
            } else {
              return false;
            }
          }
          parts.splice(0, this.strip);
          entry.path = parts.join("/");
        }
        if (isFinite(this.maxDepth) && parts.length > this.maxDepth) {
          this.warn("TAR_ENTRY_ERROR", "path excessively deep", {
            entry,
            path: p,
            depth: parts.length,
            maxDepth: this.maxDepth
          });
          return false;
        }
        if (!this.preservePaths) {
          if (parts.includes("..") || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) {
            this.warn("TAR_ENTRY_ERROR", `path contains '..'`, {
              entry,
              path: p
            });
            return false;
          }
          const [root, stripped] = stripAbsolutePath(p);
          if (root) {
            entry.path = stripped;
            this.warn("TAR_ENTRY_INFO", `stripping ${root} from absolute path`, {
              entry,
              path: p
            });
          }
        }
        if (path2.isAbsolute(entry.path)) {
          entry.absolute = normPath(path2.resolve(entry.path));
        } else {
          entry.absolute = normPath(path2.resolve(this.cwd, entry.path));
        }
        if (!this.preservePaths && entry.absolute.indexOf(this.cwd + "/") !== 0 && entry.absolute !== this.cwd) {
          this.warn("TAR_ENTRY_ERROR", "path escaped extraction target", {
            entry,
            path: normPath(entry.path),
            resolvedPath: entry.absolute,
            cwd: this.cwd
          });
          return false;
        }
        if (entry.absolute === this.cwd && entry.type !== "Directory" && entry.type !== "GNUDumpDir") {
          return false;
        }
        if (this.win32) {
          const { root: aRoot } = path2.win32.parse(entry.absolute);
          entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length));
          const { root: pRoot } = path2.win32.parse(entry.path);
          entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length));
        }
        return true;
      }
      [ONENTRY](entry) {
        if (!this[CHECKPATH](entry)) {
          return entry.resume();
        }
        assert.equal(typeof entry.absolute, "string");
        switch (entry.type) {
          case "Directory":
          case "GNUDumpDir":
            if (entry.mode) {
              entry.mode = entry.mode | 448;
            }
          // eslint-disable-next-line no-fallthrough
          case "File":
          case "OldFile":
          case "ContiguousFile":
          case "Link":
          case "SymbolicLink":
            return this[CHECKFS](entry);
          case "CharacterDevice":
          case "BlockDevice":
          case "FIFO":
          default:
            return this[UNSUPPORTED](entry);
        }
      }
      [ONERROR](er, entry) {
        if (er.name === "CwdError") {
          this.emit("error", er);
        } else {
          this.warn("TAR_ENTRY_ERROR", er, { entry });
          this[UNPEND]();
          entry.resume();
        }
      }
      [MKDIR](dir, mode, cb) {
        mkdir(normPath(dir), {
          uid: this.uid,
          gid: this.gid,
          processUid: this.processUid,
          processGid: this.processGid,
          umask: this.processUmask,
          preserve: this.preservePaths,
          unlink: this.unlink,
          cache: this.dirCache,
          cwd: this.cwd,
          mode,
          noChmod: this.noChmod
        }, cb);
      }
      [DOCHOWN](entry) {
        return this.forceChown || this.preserveOwner && (typeof entry.uid === "number" && entry.uid !== this.processUid || typeof entry.gid === "number" && entry.gid !== this.processGid) || (typeof this.uid === "number" && this.uid !== this.processUid || typeof this.gid === "number" && this.gid !== this.processGid);
      }
      [UID](entry) {
        return uint32(this.uid, entry.uid, this.processUid);
      }
      [GID](entry) {
        return uint32(this.gid, entry.gid, this.processGid);
      }
      [FILE](entry, fullyDone) {
        const mode = entry.mode & 4095 || this.fmode;
        const stream = new fsm.WriteStream(entry.absolute, {
          flags: getFlag(entry.size),
          mode,
          autoClose: false
        });
        stream.on("error", (er) => {
          if (stream.fd) {
            fs.close(stream.fd, () => {
            });
          }
          stream.write = () => true;
          this[ONERROR](er, entry);
          fullyDone();
        });
        let actions = 1;
        const done = (er) => {
          if (er) {
            if (stream.fd) {
              fs.close(stream.fd, () => {
              });
            }
            this[ONERROR](er, entry);
            fullyDone();
            return;
          }
          if (--actions === 0) {
            fs.close(stream.fd, (er2) => {
              if (er2) {
                this[ONERROR](er2, entry);
              } else {
                this[UNPEND]();
              }
              fullyDone();
            });
          }
        };
        stream.on("finish", (_) => {
          const abs = entry.absolute;
          const fd = stream.fd;
          if (entry.mtime && !this.noMtime) {
            actions++;
            const atime = entry.atime || /* @__PURE__ */ new Date();
            const mtime = entry.mtime;
            fs.futimes(fd, atime, mtime, (er) => er ? fs.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
          }
          if (this[DOCHOWN](entry)) {
            actions++;
            const uid = this[UID](entry);
            const gid = this[GID](entry);
            fs.fchown(fd, uid, gid, (er) => er ? fs.chown(abs, uid, gid, (er2) => done(er2 && er)) : done());
          }
          done();
        });
        const tx = this.transform ? this.transform(entry) || entry : entry;
        if (tx !== entry) {
          tx.on("error", (er) => {
            this[ONERROR](er, entry);
            fullyDone();
          });
          entry.pipe(tx);
        }
        tx.pipe(stream);
      }
      [DIRECTORY](entry, fullyDone) {
        const mode = entry.mode & 4095 || this.dmode;
        this[MKDIR](entry.absolute, mode, (er) => {
          if (er) {
            this[ONERROR](er, entry);
            fullyDone();
            return;
          }
          let actions = 1;
          const done = (_) => {
            if (--actions === 0) {
              fullyDone();
              this[UNPEND]();
              entry.resume();
            }
          };
          if (entry.mtime && !this.noMtime) {
            actions++;
            fs.utimes(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
          }
          if (this[DOCHOWN](entry)) {
            actions++;
            fs.chown(entry.absolute, this[UID](entry), this[GID](entry), done);
          }
          done();
        });
      }
      [UNSUPPORTED](entry) {
        entry.unsupported = true;
        this.warn(
          "TAR_ENTRY_UNSUPPORTED",
          `unsupported entry type: ${entry.type}`,
          { entry }
        );
        entry.resume();
      }
      [SYMLINK](entry, done) {
        this[LINK](entry, entry.linkpath, "symlink", done);
      }
      [HARDLINK](entry, done) {
        const linkpath = normPath(path2.resolve(this.cwd, entry.linkpath));
        this[LINK](entry, linkpath, "link", done);
      }
      [PEND]() {
        this[PENDING]++;
      }
      [UNPEND]() {
        this[PENDING]--;
        this[MAYBECLOSE]();
      }
      [SKIP](entry) {
        this[UNPEND]();
        entry.resume();
      }
      // Check if we can reuse an existing filesystem entry safely and
      // overwrite it, rather than unlinking and recreating
      // Windows doesn't report a useful nlink, so we just never reuse entries
      [ISREUSABLE](entry, st) {
        return entry.type === "File" && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows;
      }
      // check if a thing is there, and if so, try to clobber it
      [CHECKFS](entry) {
        this[PEND]();
        const paths = [entry.path];
        if (entry.linkpath) {
          paths.push(entry.linkpath);
        }
        this.reservations.reserve(paths, (done) => this[CHECKFS2](entry, done));
      }
      [PRUNECACHE](entry) {
        if (entry.type === "SymbolicLink") {
          dropCache(this.dirCache);
        } else if (entry.type !== "Directory") {
          pruneCache(this.dirCache, entry.absolute);
        }
      }
      [CHECKFS2](entry, fullyDone) {
        this[PRUNECACHE](entry);
        const done = (er) => {
          this[PRUNECACHE](entry);
          fullyDone(er);
        };
        const checkCwd = () => {
          this[MKDIR](this.cwd, this.dmode, (er) => {
            if (er) {
              this[ONERROR](er, entry);
              done();
              return;
            }
            this[CHECKED_CWD] = true;
            start();
          });
        };
        const start = () => {
          if (entry.absolute !== this.cwd) {
            const parent = normPath(path2.dirname(entry.absolute));
            if (parent !== this.cwd) {
              return this[MKDIR](parent, this.dmode, (er) => {
                if (er) {
                  this[ONERROR](er, entry);
                  done();
                  return;
                }
                afterMakeParent();
              });
            }
          }
          afterMakeParent();
        };
        const afterMakeParent = () => {
          fs.lstat(entry.absolute, (lstatEr, st) => {
            if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
              this[SKIP](entry);
              done();
              return;
            }
            if (lstatEr || this[ISREUSABLE](entry, st)) {
              return this[MAKEFS](null, entry, done);
            }
            if (st.isDirectory()) {
              if (entry.type === "Directory") {
                const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
                const afterChmod = (er) => this[MAKEFS](er, entry, done);
                if (!needChmod) {
                  return afterChmod();
                }
                return fs.chmod(entry.absolute, entry.mode, afterChmod);
              }
              if (entry.absolute !== this.cwd) {
                return fs.rmdir(entry.absolute, (er) => this[MAKEFS](er, entry, done));
              }
            }
            if (entry.absolute === this.cwd) {
              return this[MAKEFS](null, entry, done);
            }
            unlinkFile(entry.absolute, (er) => this[MAKEFS](er, entry, done));
          });
        };
        if (this[CHECKED_CWD]) {
          start();
        } else {
          checkCwd();
        }
      }
      [MAKEFS](er, entry, done) {
        if (er) {
          this[ONERROR](er, entry);
          done();
          return;
        }
        switch (entry.type) {
          case "File":
          case "OldFile":
          case "ContiguousFile":
            return this[FILE](entry, done);
          case "Link":
            return this[HARDLINK](entry, done);
          case "SymbolicLink":
            return this[SYMLINK](entry, done);
          case "Directory":
          case "GNUDumpDir":
            return this[DIRECTORY](entry, done);
        }
      }
      [LINK](entry, linkpath, link, done) {
        fs[link](linkpath, entry.absolute, (er) => {
          if (er) {
            this[ONERROR](er, entry);
          } else {
            this[UNPEND]();
            entry.resume();
          }
          done();
        });
      }
    };
    var callSync = (fn) => {
      try {
        return [null, fn()];
      } catch (er) {
        return [er, null];
      }
    };
    var UnpackSync = class extends Unpack {
      [MAKEFS](er, entry) {
        return super[MAKEFS](er, entry, () => {
        });
      }
      [CHECKFS](entry) {
        this[PRUNECACHE](entry);
        if (!this[CHECKED_CWD]) {
          const er2 = this[MKDIR](this.cwd, this.dmode);
          if (er2) {
            return this[ONERROR](er2, entry);
          }
          this[CHECKED_CWD] = true;
        }
        if (entry.absolute !== this.cwd) {
          const parent = normPath(path2.dirname(entry.absolute));
          if (parent !== this.cwd) {
            const mkParent = this[MKDIR](parent, this.dmode);
            if (mkParent) {
              return this[ONERROR](mkParent, entry);
            }
          }
        }
        const [lstatEr, st] = callSync(() => fs.lstatSync(entry.absolute));
        if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
          return this[SKIP](entry);
        }
        if (lstatEr || this[ISREUSABLE](entry, st)) {
          return this[MAKEFS](null, entry);
        }
        if (st.isDirectory()) {
          if (entry.type === "Directory") {
            const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
            const [er3] = needChmod ? callSync(() => {
              fs.chmodSync(entry.absolute, entry.mode);
            }) : [];
            return this[MAKEFS](er3, entry);
          }
          const [er2] = callSync(() => fs.rmdirSync(entry.absolute));
          this[MAKEFS](er2, entry);
        }
        const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute));
        this[MAKEFS](er, entry);
      }
      [FILE](entry, done) {
        const mode = entry.mode & 4095 || this.fmode;
        const oner = (er) => {
          let closeError;
          try {
            fs.closeSync(fd);
          } catch (e) {
            closeError = e;
          }
          if (er || closeError) {
            this[ONERROR](er || closeError, entry);
          }
          done();
        };
        let fd;
        try {
          fd = fs.openSync(entry.absolute, getFlag(entry.size), mode);
        } catch (er) {
          return oner(er);
        }
        const tx = this.transform ? this.transform(entry) || entry : entry;
        if (tx !== entry) {
          tx.on("error", (er) => this[ONERROR](er, entry));
          entry.pipe(tx);
        }
        tx.on("data", (chunk) => {
          try {
            fs.writeSync(fd, chunk, 0, chunk.length);
          } catch (er) {
            oner(er);
          }
        });
        tx.on("end", (_) => {
          let er = null;
          if (entry.mtime && !this.noMtime) {
            const atime = entry.atime || /* @__PURE__ */ new Date();
            const mtime = entry.mtime;
            try {
              fs.futimesSync(fd, atime, mtime);
            } catch (futimeser) {
              try {
                fs.utimesSync(entry.absolute, atime, mtime);
              } catch (utimeser) {
                er = futimeser;
              }
            }
          }
          if (this[DOCHOWN](entry)) {
            const uid = this[UID](entry);
            const gid = this[GID](entry);
            try {
              fs.fchownSync(fd, uid, gid);
            } catch (fchowner) {
              try {
                fs.chownSync(entry.absolute, uid, gid);
              } catch (chowner) {
                er = er || fchowner;
              }
            }
          }
          oner(er);
        });
      }
      [DIRECTORY](entry, done) {
        const mode = entry.mode & 4095 || this.dmode;
        const er = this[MKDIR](entry.absolute, mode);
        if (er) {
          this[ONERROR](er, entry);
          done();
          return;
        }
        if (entry.mtime && !this.noMtime) {
          try {
            fs.utimesSync(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
          } catch (er2) {
          }
        }
        if (this[DOCHOWN](entry)) {
          try {
            fs.chownSync(entry.absolute, this[UID](entry), this[GID](entry));
          } catch (er2) {
          }
        }
        done();
        entry.resume();
      }
      [MKDIR](dir, mode) {
        try {
          return mkdir.sync(normPath(dir), {
            uid: this.uid,
            gid: this.gid,
            processUid: this.processUid,
            processGid: this.processGid,
            umask: this.processUmask,
            preserve: this.preservePaths,
            unlink: this.unlink,
            cache: this.dirCache,
            cwd: this.cwd,
            mode
          });
        } catch (er) {
          return er;
        }
      }
      [LINK](entry, linkpath, link, done) {
        try {
          fs[link + "Sync"](linkpath, entry.absolute);
          done();
          entry.resume();
        } catch (er) {
          return this[ONERROR](er, entry);
        }
      }
    };
    Unpack.Sync = UnpackSync;
    module2.exports = Unpack;
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/extract.js
var require_extract = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/lib/extract.js"(exports2, module2) {
    "use strict";
    var hlo = require_high_level_opt();
    var Unpack = require_unpack();
    var fs = require("fs");
    var fsm = require_fs_minipass();
    var path2 = require("path");
    var stripSlash = require_strip_trailing_slashes();
    module2.exports = (opt_, files, cb) => {
      if (typeof opt_ === "function") {
        cb = opt_, files = null, opt_ = {};
      } else if (Array.isArray(opt_)) {
        files = opt_, opt_ = {};
      }
      if (typeof files === "function") {
        cb = files, files = null;
      }
      if (!files) {
        files = [];
      } else {
        files = Array.from(files);
      }
      const opt = hlo(opt_);
      if (opt.sync && typeof cb === "function") {
        throw new TypeError("callback not supported for sync tar functions");
      }
      if (!opt.file && typeof cb === "function") {
        throw new TypeError("callback only supported with file option");
      }
      if (files.length) {
        filesFilter(opt, files);
      }
      return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt);
    };
    var filesFilter = (opt, files) => {
      const map = new Map(files.map((f) => [stripSlash(f), true]));
      const filter = opt.filter;
      const mapHas = (file, r) => {
        const root = r || path2.parse(file).root || ".";
        const ret2 = file === root ? false : map.has(file) ? map.get(file) : mapHas(path2.dirname(file), root);
        map.set(file, ret2);
        return ret2;
      };
      opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
    };
    var extractFileSync = (opt) => {
      const u = new Unpack.Sync(opt);
      const file = opt.file;
      const stat = fs.statSync(file);
      const readSize = opt.maxReadSize || 16 * 1024 * 1024;
      const stream = new fsm.ReadStreamSync(file, {
        readSize,
        size: stat.size
      });
      stream.pipe(u);
    };
    var extractFile = (opt, cb) => {
      const u = new Unpack(opt);
      const readSize = opt.maxReadSize || 16 * 1024 * 1024;
      const file = opt.file;
      const p = new Promise((resolve, reject) => {
        u.on("error", reject);
        u.on("close", resolve);
        fs.stat(file, (er, stat) => {
          if (er) {
            reject(er);
          } else {
            const stream = new fsm.ReadStream(file, {
              readSize,
              size: stat.size
            });
            stream.on("error", reject);
            stream.pipe(u);
          }
        });
      });
      return cb ? p.then(cb, cb) : p;
    };
    var extractSync = (opt) => new Unpack.Sync(opt);
    var extract = (opt) => new Unpack(opt);
  }
});

// ../node_modules/.pnpm/tar@6.2.1/node_modules/tar/index.js
var require_tar = __commonJS({
  "../node_modules/.pnpm/tar@6.2.1/node_modules/tar/index.js"(exports2) {
    "use strict";
    exports2.c = exports2.create = require_create2();
    exports2.r = exports2.replace = require_replace2();
    exports2.t = exports2.list = require_list2();
    exports2.u = exports2.update = require_update2();
    exports2.x = exports2.extract = require_extract();
    exports2.Pack = require_pack();
    exports2.Unpack = require_unpack();
    exports2.Parse = require_parse10();
    exports2.ReadEntry = require_read_entry();
    exports2.WriteEntry = require_write_entry();
    exports2.Header = require_header();
    exports2.Pax = require_pax();
    exports2.types = require_types11();
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/TaskPool.js
var require_TaskPool = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/TaskPool.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.WorkerPool = exports2.AsyncPool = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var p_limit_12 = tslib_12.__importDefault(require_p_limit2());
    var worker_threads_1 = require("worker_threads");
    var kTaskInfo = Symbol(`kTaskInfo`);
    var AsyncPool = class {
      constructor(fn, opts) {
        this.fn = fn;
        this.limit = (0, p_limit_12.default)(opts.poolSize);
      }
      run(data) {
        return this.limit(() => this.fn(data));
      }
    };
    exports2.AsyncPool = AsyncPool;
    var WorkerPool = class {
      constructor(source, opts) {
        this.source = source;
        this.workers = [];
        this.limit = (0, p_limit_12.default)(opts.poolSize);
        this.cleanupInterval = setInterval(() => {
          if (this.limit.pendingCount === 0 && this.limit.activeCount === 0) {
            const worker = this.workers.pop();
            if (worker) {
              worker.terminate();
            } else {
              clearInterval(this.cleanupInterval);
            }
          }
        }, 5e3).unref();
      }
      createWorker() {
        this.cleanupInterval.refresh();
        const worker = new worker_threads_1.Worker(this.source, {
          eval: true,
          execArgv: [...process.execArgv, `--unhandled-rejections=strict`]
        });
        worker.on(`message`, (result2) => {
          if (!worker[kTaskInfo])
            throw new Error(`Assertion failed: Worker sent a result without having a task assigned`);
          worker[kTaskInfo].resolve(result2);
          worker[kTaskInfo] = null;
          worker.unref();
          this.workers.push(worker);
        });
        worker.on(`error`, (err) => {
          worker[kTaskInfo]?.reject(err);
          worker[kTaskInfo] = null;
        });
        worker.on(`exit`, (code) => {
          if (code !== 0)
            worker[kTaskInfo]?.reject(new Error(`Worker exited with code ${code}`));
          worker[kTaskInfo] = null;
        });
        return worker;
      }
      run(data) {
        return this.limit(() => {
          const worker = this.workers.pop() ?? this.createWorker();
          worker.ref();
          return new Promise((resolve, reject) => {
            worker[kTaskInfo] = { resolve, reject };
            worker.postMessage(data);
          });
        });
      }
    };
    exports2.WorkerPool = WorkerPool;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/worker-zip/index.js
var require_worker_zip = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/worker-zip/index.js"(exports2, module2) {
    var hook;
    module2.exports.getContent = () => {
      if (typeof hook === `undefined`)
        hook = require("zlib").brotliDecompressSync(Buffer.from(" ", "base64")).toString();
      return hook;
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/tgzUtils.js
var require_tgzUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/tgzUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getDefaultTaskPool = getDefaultTaskPool;
    exports2.getTaskPoolForConfiguration = getTaskPoolForConfiguration;
    exports2.convertToZipWorker = convertToZipWorker;
    exports2.makeArchiveFromDirectory = makeArchiveFromDirectory;
    exports2.convertToZip = convertToZip;
    exports2.extractArchiveTo = extractArchiveTo;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var core_1 = require_lib159();
    var fslib_12 = require_lib66();
    var libzip_1 = require_sync10();
    var stream_12 = require("stream");
    var tar_1 = tslib_12.__importDefault(require_tar());
    var TaskPool_1 = require_TaskPool();
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var worker_zip_1 = require_worker_zip();
    function createTaskPool(poolMode, poolSize) {
      switch (poolMode) {
        case `async`:
          return new TaskPool_1.AsyncPool(convertToZipWorker, { poolSize });
        case `workers`:
          return new TaskPool_1.WorkerPool((0, worker_zip_1.getContent)(), { poolSize });
        default: {
          throw new Error(`Assertion failed: Unknown value ${poolMode} for taskPoolMode`);
        }
      }
    }
    var defaultWorkerPool;
    function getDefaultTaskPool() {
      if (typeof defaultWorkerPool === `undefined`)
        defaultWorkerPool = createTaskPool(`workers`, core_1.nodeUtils.availableParallelism());
      return defaultWorkerPool;
    }
    var workerPools = /* @__PURE__ */ new WeakMap();
    function getTaskPoolForConfiguration(configuration) {
      if (typeof configuration === `undefined`)
        return getDefaultTaskPool();
      return miscUtils.getFactoryWithDefault(workerPools, configuration, () => {
        const poolMode = configuration.get(`taskPoolMode`);
        const poolSize = configuration.get(`taskPoolConcurrency`);
        switch (poolMode) {
          case `async`:
            return new TaskPool_1.AsyncPool(convertToZipWorker, { poolSize });
          case `workers`:
            return new TaskPool_1.WorkerPool((0, worker_zip_1.getContent)(), { poolSize });
          default: {
            throw new Error(`Assertion failed: Unknown value ${poolMode} for taskPoolMode`);
          }
        }
      });
    }
    async function convertToZipWorker(data) {
      const { tmpFile, tgz, compressionLevel, extractBufferOpts } = data;
      const zipFs = new libzip_1.ZipFS(tmpFile, { create: true, level: compressionLevel, stats: fslib_12.statUtils.makeDefaultStats() });
      const tgzBuffer = Buffer.from(tgz.buffer, tgz.byteOffset, tgz.byteLength);
      await extractArchiveTo(tgzBuffer, zipFs, extractBufferOpts);
      zipFs.saveAndClose();
      return tmpFile;
    }
    async function makeArchiveFromDirectory(source, { baseFs = new fslib_12.NodeFS(), prefixPath = fslib_12.PortablePath.root, compressionLevel, inMemory = false } = {}) {
      let zipFs;
      if (inMemory) {
        zipFs = new libzip_1.ZipFS(null, { level: compressionLevel });
      } else {
        const tmpFolder = await fslib_12.xfs.mktempPromise();
        const tmpFile = fslib_12.ppath.join(tmpFolder, `archive.zip`);
        zipFs = new libzip_1.ZipFS(tmpFile, { create: true, level: compressionLevel });
      }
      const target = fslib_12.ppath.resolve(fslib_12.PortablePath.root, prefixPath);
      await zipFs.copyPromise(target, source, { baseFs, stableTime: true, stableSort: true });
      return zipFs;
    }
    async function convertToZip(tgz, opts = {}) {
      const tmpFolder = await fslib_12.xfs.mktempPromise();
      const tmpFile = fslib_12.ppath.join(tmpFolder, `archive.zip`);
      const compressionLevel = opts.compressionLevel ?? opts.configuration?.get(`compressionLevel`) ?? `mixed`;
      const extractBufferOpts = {
        prefixPath: opts.prefixPath,
        stripComponents: opts.stripComponents
      };
      const taskPool = opts.taskPool ?? getTaskPoolForConfiguration(opts.configuration);
      await taskPool.run({ tmpFile, tgz, compressionLevel, extractBufferOpts });
      return new libzip_1.ZipFS(tmpFile, { level: opts.compressionLevel });
    }
    async function* parseTar(tgz) {
      const parser = new tar_1.default.Parse();
      const passthrough = new stream_12.PassThrough({ objectMode: true, autoDestroy: true, emitClose: true });
      parser.on(`entry`, (entry) => {
        passthrough.write(entry);
      });
      parser.on(`error`, (error) => {
        passthrough.destroy(error);
      });
      parser.on(`close`, () => {
        if (!passthrough.destroyed) {
          passthrough.end();
        }
      });
      parser.end(tgz);
      for await (const entry of passthrough) {
        const it = entry;
        yield it;
        it.resume();
      }
    }
    async function extractArchiveTo(tgz, targetFs, { stripComponents = 0, prefixPath = fslib_12.PortablePath.dot } = {}) {
      function ignore(entry) {
        if (entry.path[0] === `/`)
          return true;
        const parts = entry.path.split(/\//g);
        if (parts.some((part) => part === `..`))
          return true;
        if (parts.length <= stripComponents)
          return true;
        return false;
      }
      for await (const entry of parseTar(tgz)) {
        if (ignore(entry))
          continue;
        const parts = fslib_12.ppath.normalize(fslib_12.npath.toPortablePath(entry.path)).replace(/\/$/, ``).split(/\//g);
        if (parts.length <= stripComponents)
          continue;
        const slicePath = parts.slice(stripComponents).join(`/`);
        const mappedPath = fslib_12.ppath.join(prefixPath, slicePath);
        let mode = 420;
        if (entry.type === `Directory` || ((entry.mode ?? 0) & 73) !== 0)
          mode |= 73;
        switch (entry.type) {
          case `Directory`:
            {
              targetFs.mkdirpSync(fslib_12.ppath.dirname(mappedPath), { chmod: 493, utimes: [fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME] });
              targetFs.mkdirSync(mappedPath, { mode });
              targetFs.utimesSync(mappedPath, fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME);
            }
            break;
          case `OldFile`:
          case `File`:
            {
              targetFs.mkdirpSync(fslib_12.ppath.dirname(mappedPath), { chmod: 493, utimes: [fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME] });
              targetFs.writeFileSync(mappedPath, await miscUtils.bufferStream(entry), { mode });
              targetFs.utimesSync(mappedPath, fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME);
            }
            break;
          case `SymbolicLink`:
            {
              targetFs.mkdirpSync(fslib_12.ppath.dirname(mappedPath), { chmod: 493, utimes: [fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME] });
              targetFs.symlinkSync(entry.linkpath, mappedPath);
              targetFs.lutimesSync(mappedPath, fslib_12.constants.SAFE_TIME, fslib_12.constants.SAFE_TIME);
            }
            break;
        }
      }
      return targetFs;
    }
  }
});

// ../node_modules/.pnpm/treeify@1.1.0/node_modules/treeify/treeify.js
var require_treeify = __commonJS({
  "../node_modules/.pnpm/treeify@1.1.0/node_modules/treeify/treeify.js"(exports2, module2) {
    (function(root, factory) {
      if (typeof exports2 === "object") {
        module2.exports = factory();
      } else if (typeof define === "function" && define.amd) {
        define(factory);
      } else {
        root.treeify = factory();
      }
    })(exports2, function() {
      function makePrefix(key, last) {
        var str = last ? "\u2514" : "\u251C";
        if (key) {
          str += "\u2500 ";
        } else {
          str += "\u2500\u2500\u2510";
        }
        return str;
      }
      function filterKeys(obj, hideFunctions) {
        var keys = [];
        for (var branch in obj) {
          if (!obj.hasOwnProperty(branch)) {
            continue;
          }
          if (hideFunctions && typeof obj[branch] === "function") {
            continue;
          }
          keys.push(branch);
        }
        return keys;
      }
      function growBranch(key, root, last, lastStates, showValues, hideFunctions, callback) {
        var line = "", index = 0, lastKey, circular, lastStatesCopy = lastStates.slice(0);
        if (lastStatesCopy.push([root, last]) && lastStates.length > 0) {
          lastStates.forEach(function(lastState, idx) {
            if (idx > 0) {
              line += (lastState[1] ? " " : "\u2502") + "  ";
            }
            if (!circular && lastState[0] === root) {
              circular = true;
            }
          });
          line += makePrefix(key, last) + key;
          showValues && (typeof root !== "object" || root instanceof Date) && (line += ": " + root);
          circular && (line += " (circular ref.)");
          callback(line);
        }
        if (!circular && typeof root === "object") {
          var keys = filterKeys(root, hideFunctions);
          keys.forEach(function(branch) {
            lastKey = ++index === keys.length;
            growBranch(branch, root[branch], lastKey, lastStatesCopy, showValues, hideFunctions, callback);
          });
        }
      }
      ;
      var Treeify = {};
      Treeify.asLines = function(obj, showValues, hideFunctions, lineCallback) {
        var hideFunctionsArg = typeof hideFunctions !== "function" ? hideFunctions : false;
        growBranch(".", obj, false, [], showValues, hideFunctionsArg, lineCallback || hideFunctions);
      };
      Treeify.asTree = function(obj, showValues, hideFunctions) {
        var tree = "";
        growBranch(".", obj, false, [], showValues, hideFunctions, function(line) {
          tree += line + "\n";
        });
        return tree;
      };
      return Treeify;
    });
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/treeUtils.js
var require_treeUtils = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/treeUtils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.treeNodeToTreeify = treeNodeToTreeify;
    exports2.treeNodeToJson = treeNodeToJson;
    exports2.emitList = emitList;
    exports2.emitTree = emitTree;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var treeify_1 = require_treeify();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    function treeNodeToTreeify(printTree, { configuration }) {
      const target = {};
      let n = 0;
      const copyTree = (printNode, targetNode) => {
        const iterator = Array.isArray(printNode) ? printNode.entries() : Object.entries(printNode);
        for (const [key, child] of iterator) {
          if (!child)
            continue;
          const { label, value, children } = child;
          const finalParts = [];
          if (typeof label !== `undefined`)
            finalParts.push(formatUtils.applyStyle(configuration, label, formatUtils.Style.BOLD));
          if (typeof value !== `undefined`)
            finalParts.push(formatUtils.pretty(configuration, value[0], value[1]));
          if (finalParts.length === 0)
            finalParts.push(formatUtils.applyStyle(configuration, `${key}`, formatUtils.Style.BOLD));
          const finalLabel = finalParts.join(`: `).trim();
          const uniquePrefix = `\0${n++}\0`;
          const createdNode = targetNode[`${uniquePrefix}${finalLabel}`] = {};
          if (typeof children !== `undefined`) {
            copyTree(children, createdNode);
          }
        }
      };
      if (typeof printTree.children === `undefined`)
        throw new Error(`The root node must only contain children`);
      copyTree(printTree.children, target);
      return target;
    }
    function treeNodeToJson(printTree) {
      const copyTree = (printNode) => {
        if (typeof printNode.children === `undefined`) {
          if (typeof printNode.value === `undefined`)
            throw new Error(`Assertion failed: Expected a value to be set if the children are missing`);
          return formatUtils.json(printNode.value[0], printNode.value[1]);
        }
        const iterator = Array.isArray(printNode.children) ? printNode.children.entries() : Object.entries(printNode.children ?? {});
        const targetChildren = Array.isArray(printNode.children) ? [] : {};
        for (const [key, child] of iterator)
          if (child)
            targetChildren[cleanKey(key)] = copyTree(child);
        if (typeof printNode.value === `undefined`)
          return targetChildren;
        return {
          value: formatUtils.json(printNode.value[0], printNode.value[1]),
          children: targetChildren
        };
      };
      return copyTree(printTree);
    }
    function emitList(values, { configuration, stdout, json }) {
      const children = values.map((value) => ({ value }));
      emitTree({ children }, { configuration, stdout, json });
    }
    function emitTree(tree, { configuration, stdout, json, separators = 0 }) {
      if (json) {
        const iterator = Array.isArray(tree.children) ? tree.children.values() : Object.values(tree.children ?? {});
        for (const child of iterator)
          if (child)
            stdout.write(`${JSON.stringify(treeNodeToJson(child))}
`);
        return;
      }
      let treeOutput = (0, treeify_1.asTree)(treeNodeToTreeify(tree, { configuration }), false, false);
      treeOutput = treeOutput.replace(/\0[0-9]+\0/g, ``);
      if (separators >= 1)
        treeOutput = treeOutput.replace(/^([├└]─)/gm, `\u2502
$1`).replace(/^│\n/, ``);
      if (separators >= 2)
        for (let t = 0; t < 2; ++t)
          treeOutput = treeOutput.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm, `$1$3  \u2502 
$2`).replace(/^│\n/, ``);
      if (separators >= 3)
        throw new Error(`Only the first two levels are accepted by treeUtils.emitTree`);
      stdout.write(treeOutput);
    }
    function cleanKey(key) {
      return typeof key === `string` ? key.replace(/^\0[0-9]+\0/, ``) : key;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Cache.js
var require_Cache = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Cache.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Cache = exports2.CACHE_VERSION = exports2.CACHE_CHECKPOINT = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var core_1 = require_lib159();
    var fslib_12 = require_lib66();
    var fslib_2 = require_lib66();
    var libzip_1 = require_sync10();
    var crypto_1 = require("crypto");
    var fs_1 = tslib_12.__importDefault(require("fs"));
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    exports2.CACHE_CHECKPOINT = miscUtils.parseInt(process.env.YARN_CACHE_CHECKPOINT_OVERRIDE ?? process.env.YARN_CACHE_VERSION_OVERRIDE ?? 9);
    exports2.CACHE_VERSION = miscUtils.parseInt(process.env.YARN_CACHE_VERSION_OVERRIDE ?? 10);
    var Cache = class _Cache {
      static async find(configuration, { immutable, check } = {}) {
        const cache = new _Cache(configuration.get(`cacheFolder`), { configuration, immutable, check });
        await cache.setup();
        return cache;
      }
      static getCacheKey(configuration) {
        const compressionLevel = configuration.get(`compressionLevel`);
        const cacheSpec = compressionLevel !== `mixed` ? `c${compressionLevel}` : ``;
        const cacheKey = [
          exports2.CACHE_VERSION,
          cacheSpec
        ].join(``);
        return {
          cacheKey,
          cacheSpec
        };
      }
      constructor(cacheCwd, { configuration, immutable = configuration.get(`enableImmutableCache`), check = false }) {
        this.markedFiles = /* @__PURE__ */ new Set();
        this.mutexes = /* @__PURE__ */ new Map();
        this.cacheId = `-${(0, crypto_1.randomBytes)(8).toString(`hex`)}.tmp`;
        this.configuration = configuration;
        this.cwd = cacheCwd;
        this.immutable = immutable;
        this.check = check;
        const { cacheSpec, cacheKey } = _Cache.getCacheKey(configuration);
        this.cacheSpec = cacheSpec;
        this.cacheKey = cacheKey;
      }
      get mirrorCwd() {
        if (!this.configuration.get(`enableMirror`))
          return null;
        const mirrorCwd = `${this.configuration.get(`globalFolder`)}/cache`;
        return mirrorCwd !== this.cwd ? mirrorCwd : null;
      }
      getVersionFilename(locator) {
        return `${structUtils.slugifyLocator(locator)}-${this.cacheKey}.zip`;
      }
      getChecksumFilename(locator, checksum) {
        const contentChecksum = splitChecksumComponents(checksum).hash;
        const significantChecksum = contentChecksum.slice(0, 10);
        return `${structUtils.slugifyLocator(locator)}-${significantChecksum}.zip`;
      }
      isChecksumCompatible(checksum) {
        if (checksum === null)
          return false;
        const { cacheVersion, cacheSpec } = splitChecksumComponents(checksum);
        if (cacheVersion === null)
          return false;
        if (cacheVersion < exports2.CACHE_CHECKPOINT)
          return false;
        const migrationMode = this.configuration.get(`cacheMigrationMode`);
        if (cacheVersion < exports2.CACHE_VERSION && migrationMode === `always`)
          return false;
        if (cacheSpec !== this.cacheSpec && migrationMode !== `required-only`)
          return false;
        return true;
      }
      getLocatorPath(locator, expectedChecksum) {
        if (this.mirrorCwd === null)
          return fslib_2.ppath.resolve(this.cwd, this.getVersionFilename(locator));
        if (expectedChecksum === null)
          return fslib_2.ppath.resolve(this.cwd, this.getVersionFilename(locator));
        return fslib_2.ppath.resolve(this.cwd, this.getChecksumFilename(locator, expectedChecksum));
      }
      getLocatorMirrorPath(locator) {
        const mirrorCwd = this.mirrorCwd;
        return mirrorCwd !== null ? fslib_2.ppath.resolve(mirrorCwd, this.getVersionFilename(locator)) : null;
      }
      async setup() {
        if (!this.configuration.get(`enableGlobalCache`)) {
          if (this.immutable) {
            if (!await fslib_2.xfs.existsPromise(this.cwd)) {
              throw new Report_1.ReportError(MessageName_1.MessageName.IMMUTABLE_CACHE, `Cache path does not exist.`);
            }
          } else {
            await fslib_2.xfs.mkdirPromise(this.cwd, { recursive: true });
            const gitignorePath = fslib_2.ppath.resolve(this.cwd, `.gitignore`);
            await fslib_2.xfs.changeFilePromise(gitignorePath, `/.gitignore
*.flock
*.tmp
`);
          }
        }
        if (this.mirrorCwd || !this.immutable) {
          await fslib_2.xfs.mkdirPromise(this.mirrorCwd || this.cwd, { recursive: true });
        }
      }
      async fetchPackageFromCache(locator, expectedChecksum, { onHit, onMiss, loader, ...opts }) {
        const mirrorPath = this.getLocatorMirrorPath(locator);
        const baseFs = new fslib_12.NodeFS();
        const makeMockPackage = () => {
          const zipFs2 = new libzip_1.ZipFS();
          const rootPackageDir = fslib_2.ppath.join(fslib_12.PortablePath.root, structUtils.getIdentVendorPath(locator));
          zipFs2.mkdirSync(rootPackageDir, { recursive: true });
          zipFs2.writeJsonSync(fslib_2.ppath.join(rootPackageDir, fslib_12.Filename.manifest), {
            name: structUtils.stringifyIdent(locator),
            mocked: true
          });
          return zipFs2;
        };
        const validateFile = async (path2, { isColdHit, controlPath = null }) => {
          if (controlPath === null && opts.unstablePackages?.has(locator.locatorHash))
            return { isValid: true, hash: null };
          const actualCacheKey = expectedChecksum && !isColdHit ? splitChecksumComponents(expectedChecksum).cacheKey : this.cacheKey;
          const actualChecksum = !opts.skipIntegrityCheck || !expectedChecksum ? `${actualCacheKey}/${await hashUtils.checksumFile(path2)}` : expectedChecksum;
          if (controlPath !== null) {
            const previousChecksum = !opts.skipIntegrityCheck || !expectedChecksum ? `${this.cacheKey}/${await hashUtils.checksumFile(controlPath)}` : expectedChecksum;
            if (actualChecksum !== previousChecksum) {
              throw new Report_1.ReportError(MessageName_1.MessageName.CACHE_CHECKSUM_MISMATCH, `The remote archive doesn't match the local checksum - has the local cache been corrupted?`);
            }
          }
          let checksumBehavior = null;
          if (expectedChecksum !== null && actualChecksum !== expectedChecksum) {
            if (this.check) {
              checksumBehavior = `throw`;
            } else if (splitChecksumComponents(expectedChecksum).cacheKey !== splitChecksumComponents(actualChecksum).cacheKey) {
              checksumBehavior = `update`;
            } else {
              checksumBehavior = this.configuration.get(`checksumBehavior`);
            }
          }
          switch (checksumBehavior) {
            case null:
            case `update`:
              return { isValid: true, hash: actualChecksum };
            case `ignore`:
              return { isValid: true, hash: expectedChecksum };
            case `reset`:
              return { isValid: false, hash: expectedChecksum };
            default:
            case `throw`: {
              throw new Report_1.ReportError(MessageName_1.MessageName.CACHE_CHECKSUM_MISMATCH, `The remote archive doesn't match the expected checksum`);
            }
          }
        };
        const validateFileAgainstRemote = async (cachePath2) => {
          if (!loader)
            throw new Error(`Cache check required but no loader configured for ${structUtils.prettyLocator(this.configuration, locator)}`);
          const zipFs2 = await loader();
          const controlPath = zipFs2.getRealPath();
          zipFs2.saveAndClose();
          await fslib_2.xfs.chmodPromise(controlPath, 420);
          const result2 = await validateFile(cachePath2, {
            controlPath,
            isColdHit: false
          });
          if (!result2.isValid)
            throw new Error(`Assertion failed: Expected a valid checksum`);
          return result2.hash;
        };
        const loadPackageThroughMirror = async () => {
          if (mirrorPath === null || !await fslib_2.xfs.existsPromise(mirrorPath)) {
            const zipFs2 = await loader();
            const realPath = zipFs2.getRealPath();
            zipFs2.saveAndClose();
            return { source: `loader`, path: realPath };
          }
          return { source: `mirror`, path: mirrorPath };
        };
        const loadPackage = async () => {
          if (!loader)
            throw new Error(`Cache entry required but missing for ${structUtils.prettyLocator(this.configuration, locator)}`);
          if (this.immutable)
            throw new Report_1.ReportError(MessageName_1.MessageName.IMMUTABLE_CACHE, `Cache entry required but missing for ${structUtils.prettyLocator(this.configuration, locator)}`);
          const { path: packagePath, source: packageSource } = await loadPackageThroughMirror();
          const { hash: checksum2 } = await validateFile(packagePath, {
            isColdHit: true
          });
          const cachePath2 = this.getLocatorPath(locator, checksum2);
          const copyProcess = [];
          if (packageSource !== `mirror` && mirrorPath !== null) {
            copyProcess.push(async () => {
              const mirrorPathTemp = `${mirrorPath}${this.cacheId}`;
              await fslib_2.xfs.copyFilePromise(packagePath, mirrorPathTemp, fs_1.default.constants.COPYFILE_FICLONE);
              await fslib_2.xfs.chmodPromise(mirrorPathTemp, 420);
              await fslib_2.xfs.renamePromise(mirrorPathTemp, mirrorPath);
            });
          }
          if (!opts.mirrorWriteOnly || mirrorPath === null) {
            copyProcess.push(async () => {
              const cachePathTemp = `${cachePath2}${this.cacheId}`;
              await fslib_2.xfs.copyFilePromise(packagePath, cachePathTemp, fs_1.default.constants.COPYFILE_FICLONE);
              await fslib_2.xfs.chmodPromise(cachePathTemp, 420);
              await fslib_2.xfs.renamePromise(cachePathTemp, cachePath2);
            });
          }
          const finalPath = opts.mirrorWriteOnly ? mirrorPath ?? cachePath2 : cachePath2;
          await Promise.all(copyProcess.map((copy) => copy()));
          return [false, finalPath, checksum2];
        };
        const loadPackageThroughMutex = async () => {
          const mutexedLoad = async () => {
            const isUnstablePackage = opts.unstablePackages?.has(locator.locatorHash);
            const tentativeCachePath = isUnstablePackage || !expectedChecksum || this.isChecksumCompatible(expectedChecksum) ? this.getLocatorPath(locator, expectedChecksum) : null;
            const cacheFileExists = tentativeCachePath !== null ? this.markedFiles.has(tentativeCachePath) || await baseFs.existsPromise(tentativeCachePath) : false;
            const shouldMock2 = !!opts.mockedPackages?.has(locator.locatorHash) && (!this.check || !cacheFileExists);
            const isCacheHit = shouldMock2 || cacheFileExists;
            const action = isCacheHit ? onHit : onMiss;
            if (action)
              action();
            if (!isCacheHit) {
              if (this.immutable && isUnstablePackage)
                throw new Report_1.ReportError(MessageName_1.MessageName.IMMUTABLE_CACHE, `Cache entry required but missing for ${structUtils.prettyLocator(this.configuration, locator)}; consider defining ${core_1.formatUtils.pretty(this.configuration, `supportedArchitectures`, core_1.formatUtils.Type.CODE)} to cache packages for multiple systems`);
              return loadPackage();
            } else {
              let checksum2 = null;
              const cachePath2 = tentativeCachePath;
              if (!shouldMock2) {
                if (this.check) {
                  checksum2 = await validateFileAgainstRemote(cachePath2);
                } else {
                  const maybeChecksum = await validateFile(cachePath2, {
                    isColdHit: false
                  });
                  if (maybeChecksum.isValid) {
                    checksum2 = maybeChecksum.hash;
                  } else {
                    return loadPackage();
                  }
                }
              }
              return [shouldMock2, cachePath2, checksum2];
            }
          };
          const mutex = mutexedLoad();
          this.mutexes.set(locator.locatorHash, mutex);
          try {
            return await mutex;
          } finally {
            this.mutexes.delete(locator.locatorHash);
          }
        };
        for (let mutex; mutex = this.mutexes.get(locator.locatorHash); )
          await mutex;
        const [shouldMock, cachePath, checksum] = await loadPackageThroughMutex();
        if (!shouldMock)
          this.markedFiles.add(cachePath);
        let zipFs;
        const zipFsBuilder = shouldMock ? () => makeMockPackage() : () => new libzip_1.ZipFS(cachePath, { baseFs, readOnly: true });
        const lazyFs = new fslib_12.LazyFS(() => miscUtils.prettifySyncErrors(() => {
          return zipFs = zipFsBuilder();
        }, (message) => {
          return `Failed to open the cache entry for ${structUtils.prettyLocator(this.configuration, locator)}: ${message}`;
        }), fslib_2.ppath);
        const aliasFs = new fslib_12.AliasFS(cachePath, { baseFs: lazyFs, pathUtils: fslib_2.ppath });
        const releaseFs = () => {
          zipFs?.discardAndClose();
        };
        const exposedChecksum = !opts.unstablePackages?.has(locator.locatorHash) ? checksum : null;
        return [aliasFs, releaseFs, exposedChecksum];
      }
    };
    exports2.Cache = Cache;
    var CHECKSUM_REGEX = /^(?:(?<cacheKey>(?<cacheVersion>[0-9]+)(?<cacheSpec>.*))\/)?(?<hash>.*)$/;
    function splitChecksumComponents(checksum) {
      const match = checksum.match(CHECKSUM_REGEX);
      if (!match?.groups)
        throw new Error(`Assertion failed: Expected the checksum to match the requested pattern`);
      const cacheVersion = match.groups.cacheVersion ? parseInt(match.groups.cacheVersion) : null;
      return {
        cacheKey: match.groups.cacheKey ?? null,
        cacheVersion,
        cacheSpec: match.groups.cacheSpec ?? null,
        hash: match.groups.hash
      };
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Installer.js
var require_Installer = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Installer.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BuildDirectiveType = void 0;
    var BuildDirectiveType;
    (function(BuildDirectiveType2) {
      BuildDirectiveType2[BuildDirectiveType2["SCRIPT"] = 0] = "SCRIPT";
      BuildDirectiveType2[BuildDirectiveType2["SHELLCODE"] = 1] = "SHELLCODE";
    })(BuildDirectiveType || (exports2.BuildDirectiveType = BuildDirectiveType = {}));
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LegacyMigrationResolver.js
var require_LegacyMigrationResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LegacyMigrationResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LegacyMigrationResolver = exports2.IMPORTED_PATTERNS = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var parsers_1 = require_lib67();
    var MessageName_1 = require_MessageName();
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    exports2.IMPORTED_PATTERNS = [
      // These ones come from Git urls
      [/^(git(?:\+(?:https|ssh))?:\/\/.*(?:\.git)?)#(.*)$/, (version2, $0, $1, $2) => `${$1}#commit=${$2}`],
      // These ones come from the GitHub HTTP endpoints
      [/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^/]+\/[^/]+)\/tar\.gz\/([0-9a-f]+)$/, (version2, $0, $1 = ``, $2, $3) => `https://${$1}github.com/${$2}.git#commit=${$3}`],
      [/^https:\/\/((?:[^/]+?)@)?github\.com\/([^/]+\/[^/]+?)(?:\.git)?#([0-9a-f]+)$/, (version2, $0, $1 = ``, $2, $3) => `https://${$1}github.com/${$2}.git#commit=${$3}`],
      // These ones come from the npm registry
      // Note: /download/ is used by custom registries like Taobao
      [/^https?:\/\/[^/]+\/(?:[^/]+\/)*(?:@.+(?:\/|(?:%2f)))?([^/]+)\/(?:-|download)\/\1-[^/]+\.tgz(?:#|$)/, (version2) => `npm:${version2}`],
      // The GitHub package registry uses a different style of URLs
      [/^https:\/\/npm\.pkg\.github\.com\/download\/(?:@[^/]+)\/(?:[^/]+)\/(?:[^/]+)\/(?:[0-9a-f]+)(?:#|$)/, (version2) => `npm:${version2}`],
      // FontAwesome too; what is it with these registries that made them think using a different url pattern was a good idea?
      [/^https:\/\/npm\.fontawesome\.com\/(?:@[^/]+)\/([^/]+)\/-\/([^/]+)\/\1-\2.tgz(?:#|$)/, (version2) => `npm:${version2}`],
      // JFrog, or Artifactory deployments at arbitrary domain names
      [/^https?:\/\/[^/]+\/.*\/(@[^/]+)\/([^/]+)\/-\/\1\/\2-(?:[.\d\w-]+)\.tgz(?:#|$)/, (version2, $0) => structUtils.makeRange({ protocol: `npm:`, source: null, selector: version2, params: { __archiveUrl: $0 } })],
      // These ones come from the old Yarn offline mirror - we assume they came from npm
      [/^[^/]+\.tgz#[0-9a-f]+$/, (version2) => `npm:${version2}`]
    ];
    var LegacyMigrationResolver = class {
      constructor(resolver) {
        this.resolver = resolver;
        this.resolutions = null;
      }
      async setup(project, { report }) {
        const lockfilePath = fslib_12.ppath.join(project.cwd, fslib_12.Filename.lockfile);
        if (!fslib_12.xfs.existsSync(lockfilePath))
          return;
        const content = await fslib_12.xfs.readFilePromise(lockfilePath, `utf8`);
        const parsed = (0, parsers_1.parseSyml)(content);
        if (Object.hasOwn(parsed, `__metadata`))
          return;
        const resolutions = this.resolutions = /* @__PURE__ */ new Map();
        for (const key of Object.keys(parsed)) {
          const parsedDescriptor = structUtils.tryParseDescriptor(key);
          if (!parsedDescriptor) {
            report.reportWarning(MessageName_1.MessageName.YARN_IMPORT_FAILED, `Failed to parse the string "${key}" into a proper descriptor`);
            continue;
          }
          const descriptor = semverUtils.validRange(parsedDescriptor.range) ? structUtils.makeDescriptor(parsedDescriptor, `npm:${parsedDescriptor.range}`) : parsedDescriptor;
          const { version: version2, resolved } = parsed[key];
          if (!resolved)
            continue;
          let reference;
          for (const [pattern, matcher] of exports2.IMPORTED_PATTERNS) {
            const match = resolved.match(pattern);
            if (match) {
              reference = matcher(version2, ...match);
              break;
            }
          }
          if (!reference) {
            report.reportWarning(MessageName_1.MessageName.YARN_IMPORT_FAILED, `${structUtils.prettyDescriptor(project.configuration, descriptor)}: Only some patterns can be imported from legacy lockfiles (not "${resolved}")`);
            continue;
          }
          let actualDescriptor = descriptor;
          try {
            const parsedRange = structUtils.parseRange(descriptor.range);
            const potentialDescriptor = structUtils.tryParseDescriptor(parsedRange.selector, true);
            if (potentialDescriptor) {
              actualDescriptor = potentialDescriptor;
            }
          } catch {
          }
          resolutions.set(descriptor.descriptorHash, structUtils.makeLocator(actualDescriptor, reference));
        }
      }
      supportsDescriptor(descriptor, opts) {
        if (!this.resolutions)
          return false;
        return this.resolutions.has(descriptor.descriptorHash);
      }
      supportsLocator(locator, opts) {
        return false;
      }
      shouldPersistResolution(locator, opts) {
        throw new Error(`Assertion failed: This resolver doesn't support resolving locators to packages`);
      }
      bindDescriptor(descriptor, fromLocator, opts) {
        return descriptor;
      }
      getResolutionDependencies(descriptor, opts) {
        return {};
      }
      async getCandidates(descriptor, dependencies, opts) {
        if (!this.resolutions)
          throw new Error(`Assertion failed: The resolution store should have been setup`);
        const resolution = this.resolutions.get(descriptor.descriptorHash);
        if (!resolution)
          throw new Error(`Assertion failed: The resolution should have been registered`);
        const importedDescriptor = structUtils.convertLocatorToDescriptor(resolution);
        const normalizedDescriptor = opts.project.configuration.normalizeDependency(importedDescriptor);
        return await this.resolver.getCandidates(normalizedDescriptor, dependencies, opts);
      }
      async getSatisfying(descriptor, dependencies, locators, opts) {
        const [locator] = await this.getCandidates(descriptor, dependencies, opts);
        return {
          locators: locators.filter((candidate) => candidate.locatorHash === locator.locatorHash),
          sorted: false
        };
      }
      async resolve(locator, opts) {
        throw new Error(`Assertion failed: This resolver doesn't support resolving locators to packages`);
      }
    };
    exports2.LegacyMigrationResolver = LegacyMigrationResolver;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LightReport.js
var require_LightReport = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LightReport.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LightReport = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var Report_1 = require_Report();
    var StreamReport_1 = require_StreamReport();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var LightReport = class extends Report_1.Report {
      static async start(opts, cb) {
        const report = new this(opts);
        try {
          await cb(report);
        } catch (error) {
          report.reportExceptionOnce(error);
        } finally {
          await report.finalize();
        }
        return report;
      }
      constructor({ configuration, stdout, suggestInstall = true }) {
        super();
        this.errorCount = 0;
        formatUtils.addLogFilterSupport(this, { configuration });
        this.configuration = configuration;
        this.stdout = stdout;
        this.suggestInstall = suggestInstall;
      }
      hasErrors() {
        return this.errorCount > 0;
      }
      exitCode() {
        return this.hasErrors() ? 1 : 0;
      }
      reportCacheHit(locator) {
      }
      reportCacheMiss(locator) {
      }
      startSectionSync(opts, cb) {
        return cb();
      }
      async startSectionPromise(opts, cb) {
        return await cb();
      }
      startTimerSync(what, opts, cb) {
        const realCb = typeof opts === `function` ? opts : cb;
        return realCb();
      }
      async startTimerPromise(what, opts, cb) {
        const realCb = typeof opts === `function` ? opts : cb;
        return await realCb();
      }
      reportSeparator() {
      }
      reportInfo(name, text) {
      }
      reportWarning(name, text) {
      }
      reportError(name, text) {
        this.errorCount += 1;
        this.stdout.write(`${formatUtils.pretty(this.configuration, `\u27A4`, `redBright`)} ${this.formatNameWithHyperlink(name)}: ${text}
`);
      }
      reportProgress(progress) {
        const promise = Promise.resolve().then(async () => {
          for await (const {} of progress) {
          }
        });
        const stop = () => {
        };
        return { ...promise, stop };
      }
      reportJson(data) {
      }
      reportFold(title, text) {
      }
      async finalize() {
        if (this.errorCount > 0) {
          this.stdout.write(`
`);
          this.stdout.write(`${formatUtils.pretty(this.configuration, `\u27A4`, `redBright`)} Errors happened when preparing the environment required to run this command.
`);
          if (this.suggestInstall) {
            this.stdout.write(`${formatUtils.pretty(this.configuration, `\u27A4`, `redBright`)} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.
`);
          }
        }
      }
      formatNameWithHyperlink(name) {
        return (0, StreamReport_1.formatNameWithHyperlink)(name, {
          configuration: this.configuration,
          json: false
        });
      }
    };
    exports2.LightReport = LightReport;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LockfileResolver.js
var require_LockfileResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/LockfileResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.LockfileResolver = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var structUtils = tslib_12.__importStar(require_structUtils());
    var LockfileResolver = class {
      constructor(resolver) {
        this.resolver = resolver;
      }
      supportsDescriptor(descriptor, opts) {
        const resolution = opts.project.storedResolutions.get(descriptor.descriptorHash);
        if (resolution)
          return true;
        if (opts.project.originalPackages.has(structUtils.convertDescriptorToLocator(descriptor).locatorHash))
          return true;
        return false;
      }
      supportsLocator(locator, opts) {
        if (opts.project.originalPackages.has(locator.locatorHash) && !opts.project.lockfileNeedsRefresh)
          return true;
        return false;
      }
      shouldPersistResolution(locator, opts) {
        throw new Error(`The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes`);
      }
      bindDescriptor(descriptor, fromLocator, opts) {
        return descriptor;
      }
      getResolutionDependencies(descriptor, opts) {
        return this.resolver.getResolutionDependencies(descriptor, opts);
      }
      async getCandidates(descriptor, dependencies, opts) {
        const resolution = opts.project.storedResolutions.get(descriptor.descriptorHash);
        if (resolution) {
          const resolvedPkg = opts.project.originalPackages.get(resolution);
          if (resolvedPkg) {
            return [resolvedPkg];
          }
        }
        const originalPkg = opts.project.originalPackages.get(structUtils.convertDescriptorToLocator(descriptor).locatorHash);
        if (originalPkg)
          return [originalPkg];
        throw new Error(`Resolution expected from the lockfile data`);
      }
      async getSatisfying(descriptor, dependencies, locators, opts) {
        const [locator] = await this.getCandidates(descriptor, dependencies, opts);
        return {
          locators: locators.filter((candidate) => candidate.locatorHash === locator.locatorHash),
          sorted: false
        };
      }
      async resolve(locator, opts) {
        const pkg = opts.project.originalPackages.get(locator.locatorHash);
        if (!pkg)
          throw new Error(`The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache`);
        return pkg;
      }
    };
    exports2.LockfileResolver = LockfileResolver;
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/base.js
var require_base = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/base.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2["default"] = Diff;
    function Diff() {
    }
    Diff.prototype = {
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      diff: function diff(oldString, newString) {
        var _options$timeout;
        var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
        var callback = options.callback;
        if (typeof options === "function") {
          callback = options;
          options = {};
        }
        this.options = options;
        var self2 = this;
        function done(value) {
          if (callback) {
            setTimeout(function() {
              callback(void 0, value);
            }, 0);
            return true;
          } else {
            return value;
          }
        }
        oldString = this.castInput(oldString);
        newString = this.castInput(newString);
        oldString = this.removeEmpty(this.tokenize(oldString));
        newString = this.removeEmpty(this.tokenize(newString));
        var newLen = newString.length, oldLen = oldString.length;
        var editLength = 1;
        var maxEditLength = newLen + oldLen;
        if (options.maxEditLength) {
          maxEditLength = Math.min(maxEditLength, options.maxEditLength);
        }
        var maxExecutionTime = (
          /*istanbul ignore start*/
          (_options$timeout = /*istanbul ignore end*/
          options.timeout) !== null && _options$timeout !== void 0 ? _options$timeout : Infinity
        );
        var abortAfterTimestamp = Date.now() + maxExecutionTime;
        var bestPath = [{
          oldPos: -1,
          lastComponent: void 0
        }];
        var newPos = this.extractCommon(bestPath[0], newString, oldString, 0);
        if (bestPath[0].oldPos + 1 >= oldLen && newPos + 1 >= newLen) {
          return done([{
            value: this.join(newString),
            count: newString.length
          }]);
        }
        var minDiagonalToConsider = -Infinity, maxDiagonalToConsider = Infinity;
        function execEditLength() {
          for (var diagonalPath = Math.max(minDiagonalToConsider, -editLength); diagonalPath <= Math.min(maxDiagonalToConsider, editLength); diagonalPath += 2) {
            var basePath = (
              /*istanbul ignore start*/
              void 0
            );
            var removePath = bestPath[diagonalPath - 1], addPath = bestPath[diagonalPath + 1];
            if (removePath) {
              bestPath[diagonalPath - 1] = void 0;
            }
            var canAdd = false;
            if (addPath) {
              var addPathNewPos = addPath.oldPos - diagonalPath;
              canAdd = addPath && 0 <= addPathNewPos && addPathNewPos < newLen;
            }
            var canRemove = removePath && removePath.oldPos + 1 < oldLen;
            if (!canAdd && !canRemove) {
              bestPath[diagonalPath] = void 0;
              continue;
            }
            if (!canRemove || canAdd && removePath.oldPos + 1 < addPath.oldPos) {
              basePath = self2.addToPath(addPath, true, void 0, 0);
            } else {
              basePath = self2.addToPath(removePath, void 0, true, 1);
            }
            newPos = self2.extractCommon(basePath, newString, oldString, diagonalPath);
            if (basePath.oldPos + 1 >= oldLen && newPos + 1 >= newLen) {
              return done(buildValues(self2, basePath.lastComponent, newString, oldString, self2.useLongestToken));
            } else {
              bestPath[diagonalPath] = basePath;
              if (basePath.oldPos + 1 >= oldLen) {
                maxDiagonalToConsider = Math.min(maxDiagonalToConsider, diagonalPath - 1);
              }
              if (newPos + 1 >= newLen) {
                minDiagonalToConsider = Math.max(minDiagonalToConsider, diagonalPath + 1);
              }
            }
          }
          editLength++;
        }
        if (callback) {
          (function exec() {
            setTimeout(function() {
              if (editLength > maxEditLength || Date.now() > abortAfterTimestamp) {
                return callback();
              }
              if (!execEditLength()) {
                exec();
              }
            }, 0);
          })();
        } else {
          while (editLength <= maxEditLength && Date.now() <= abortAfterTimestamp) {
            var ret2 = execEditLength();
            if (ret2) {
              return ret2;
            }
          }
        }
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      addToPath: function addToPath(path2, added, removed, oldPosInc) {
        var last = path2.lastComponent;
        if (last && last.added === added && last.removed === removed) {
          return {
            oldPos: path2.oldPos + oldPosInc,
            lastComponent: {
              count: last.count + 1,
              added,
              removed,
              previousComponent: last.previousComponent
            }
          };
        } else {
          return {
            oldPos: path2.oldPos + oldPosInc,
            lastComponent: {
              count: 1,
              added,
              removed,
              previousComponent: last
            }
          };
        }
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
        var newLen = newString.length, oldLen = oldString.length, oldPos = basePath.oldPos, newPos = oldPos - diagonalPath, commonCount = 0;
        while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
          newPos++;
          oldPos++;
          commonCount++;
        }
        if (commonCount) {
          basePath.lastComponent = {
            count: commonCount,
            previousComponent: basePath.lastComponent
          };
        }
        basePath.oldPos = oldPos;
        return newPos;
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      equals: function equals(left, right) {
        if (this.options.comparator) {
          return this.options.comparator(left, right);
        } else {
          return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
        }
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      removeEmpty: function removeEmpty(array) {
        var ret2 = [];
        for (var i = 0; i < array.length; i++) {
          if (array[i]) {
            ret2.push(array[i]);
          }
        }
        return ret2;
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      castInput: function castInput(value) {
        return value;
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      tokenize: function tokenize(value) {
        return value.split("");
      },
      /*istanbul ignore start*/
      /*istanbul ignore end*/
      join: function join(chars) {
        return chars.join("");
      }
    };
    function buildValues(diff, lastComponent, newString, oldString, useLongestToken) {
      var components = [];
      var nextComponent;
      while (lastComponent) {
        components.push(lastComponent);
        nextComponent = lastComponent.previousComponent;
        delete lastComponent.previousComponent;
        lastComponent = nextComponent;
      }
      components.reverse();
      var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0;
      for (; componentPos < componentLen; componentPos++) {
        var component = components[componentPos];
        if (!component.removed) {
          if (!component.added && useLongestToken) {
            var value = newString.slice(newPos, newPos + component.count);
            value = value.map(function(value2, i) {
              var oldValue = oldString[oldPos + i];
              return oldValue.length > value2.length ? oldValue : value2;
            });
            component.value = diff.join(value);
          } else {
            component.value = diff.join(newString.slice(newPos, newPos + component.count));
          }
          newPos += component.count;
          if (!component.added) {
            oldPos += component.count;
          }
        } else {
          component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
          oldPos += component.count;
          if (componentPos && components[componentPos - 1].added) {
            var tmp = components[componentPos - 1];
            components[componentPos - 1] = components[componentPos];
            components[componentPos] = tmp;
          }
        }
      }
      var finalComponent = components[componentLen - 1];
      if (componentLen > 1 && typeof finalComponent.value === "string" && (finalComponent.added || finalComponent.removed) && diff.equals("", finalComponent.value)) {
        components[componentLen - 2].value += finalComponent.value;
        components.pop();
      }
      return components;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/character.js
var require_character = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/character.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffChars = diffChars;
    exports2.characterDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var characterDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.characterDiff = characterDiff;
    function diffChars(oldStr, newStr, options) {
      return characterDiff.diff(oldStr, newStr, options);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/params.js
var require_params = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/params.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.generateOptions = generateOptions;
    function generateOptions(options, defaults) {
      if (typeof options === "function") {
        defaults.callback = options;
      } else if (options) {
        for (var name in options) {
          if (options.hasOwnProperty(name)) {
            defaults[name] = options[name];
          }
        }
      }
      return defaults;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/word.js
var require_word = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/word.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffWords = diffWords;
    exports2.diffWordsWithSpace = diffWordsWithSpace;
    exports2.wordDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    var _params = require_params();
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/;
    var reWhitespace = /\S/;
    var wordDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.wordDiff = wordDiff;
    wordDiff.equals = function(left, right) {
      if (this.options.ignoreCase) {
        left = left.toLowerCase();
        right = right.toLowerCase();
      }
      return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right);
    };
    wordDiff.tokenize = function(value) {
      var tokens = value.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/);
      for (var i = 0; i < tokens.length - 1; i++) {
        if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) {
          tokens[i] += tokens[i + 2];
          tokens.splice(i + 1, 2);
          i--;
        }
      }
      return tokens;
    };
    function diffWords(oldStr, newStr, options) {
      options = /*istanbul ignore start*/
      (0, /*istanbul ignore end*/
      /*istanbul ignore start*/
      _params.generateOptions)(options, {
        ignoreWhitespace: true
      });
      return wordDiff.diff(oldStr, newStr, options);
    }
    function diffWordsWithSpace(oldStr, newStr, options) {
      return wordDiff.diff(oldStr, newStr, options);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/line.js
var require_line = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/line.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffLines = diffLines;
    exports2.diffTrimmedLines = diffTrimmedLines;
    exports2.lineDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    var _params = require_params();
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var lineDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.lineDiff = lineDiff;
    lineDiff.tokenize = function(value) {
      if (this.options.stripTrailingCr) {
        value = value.replace(/\r\n/g, "\n");
      }
      var retLines = [], linesAndNewlines = value.split(/(\n|\r\n)/);
      if (!linesAndNewlines[linesAndNewlines.length - 1]) {
        linesAndNewlines.pop();
      }
      for (var i = 0; i < linesAndNewlines.length; i++) {
        var line = linesAndNewlines[i];
        if (i % 2 && !this.options.newlineIsToken) {
          retLines[retLines.length - 1] += line;
        } else {
          if (this.options.ignoreWhitespace) {
            line = line.trim();
          }
          retLines.push(line);
        }
      }
      return retLines;
    };
    function diffLines(oldStr, newStr, callback) {
      return lineDiff.diff(oldStr, newStr, callback);
    }
    function diffTrimmedLines(oldStr, newStr, callback) {
      var options = (
        /*istanbul ignore start*/
        (0, /*istanbul ignore end*/
        /*istanbul ignore start*/
        _params.generateOptions)(callback, {
          ignoreWhitespace: true
        })
      );
      return lineDiff.diff(oldStr, newStr, options);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/sentence.js
var require_sentence = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/sentence.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffSentences = diffSentences;
    exports2.sentenceDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var sentenceDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.sentenceDiff = sentenceDiff;
    sentenceDiff.tokenize = function(value) {
      return value.split(/(\S.+?[.!?])(?=\s+|$)/);
    };
    function diffSentences(oldStr, newStr, callback) {
      return sentenceDiff.diff(oldStr, newStr, callback);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/css.js
var require_css = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/css.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffCss = diffCss;
    exports2.cssDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var cssDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.cssDiff = cssDiff;
    cssDiff.tokenize = function(value) {
      return value.split(/([{}:;,]|\s+)/);
    };
    function diffCss(oldStr, newStr, callback) {
      return cssDiff.diff(oldStr, newStr, callback);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/json.js
var require_json4 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/json.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffJson = diffJson;
    exports2.canonicalize = canonicalize;
    exports2.jsonDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    var _line = require_line();
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    function _typeof(obj) {
      "@babel/helpers - typeof";
      if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
        _typeof = function _typeof2(obj2) {
          return typeof obj2;
        };
      } else {
        _typeof = function _typeof2(obj2) {
          return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
        };
      }
      return _typeof(obj);
    }
    var objectPrototypeToString = Object.prototype.toString;
    var jsonDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.jsonDiff = jsonDiff;
    jsonDiff.useLongestToken = true;
    jsonDiff.tokenize = /*istanbul ignore start*/
    _line.lineDiff.tokenize;
    jsonDiff.castInput = function(value) {
      var _this$options = (
        /*istanbul ignore end*/
        this.options
      ), undefinedReplacement = _this$options.undefinedReplacement, _this$options$stringi = _this$options.stringifyReplacer, stringifyReplacer = _this$options$stringi === void 0 ? function(k, v) {
        return (
          /*istanbul ignore end*/
          typeof v === "undefined" ? undefinedReplacement : v
        );
      } : _this$options$stringi;
      return typeof value === "string" ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, "  ");
    };
    jsonDiff.equals = function(left, right) {
      return (
        /*istanbul ignore start*/
        _base[
          /*istanbul ignore start*/
          "default"
          /*istanbul ignore end*/
        ].prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, "$1"), right.replace(/,([\r\n])/g, "$1"))
      );
    };
    function diffJson(oldObj, newObj, options) {
      return jsonDiff.diff(oldObj, newObj, options);
    }
    function canonicalize(obj, stack, replacementStack, replacer, key) {
      stack = stack || [];
      replacementStack = replacementStack || [];
      if (replacer) {
        obj = replacer(key, obj);
      }
      var i;
      for (i = 0; i < stack.length; i += 1) {
        if (stack[i] === obj) {
          return replacementStack[i];
        }
      }
      var canonicalizedObj;
      if ("[object Array]" === objectPrototypeToString.call(obj)) {
        stack.push(obj);
        canonicalizedObj = new Array(obj.length);
        replacementStack.push(canonicalizedObj);
        for (i = 0; i < obj.length; i += 1) {
          canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key);
        }
        stack.pop();
        replacementStack.pop();
        return canonicalizedObj;
      }
      if (obj && obj.toJSON) {
        obj = obj.toJSON();
      }
      if (
        /*istanbul ignore start*/
        _typeof(
          /*istanbul ignore end*/
          obj
        ) === "object" && obj !== null
      ) {
        stack.push(obj);
        canonicalizedObj = {};
        replacementStack.push(canonicalizedObj);
        var sortedKeys = [], _key;
        for (_key in obj) {
          if (obj.hasOwnProperty(_key)) {
            sortedKeys.push(_key);
          }
        }
        sortedKeys.sort();
        for (i = 0; i < sortedKeys.length; i += 1) {
          _key = sortedKeys[i];
          canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key);
        }
        stack.pop();
        replacementStack.pop();
      } else {
        canonicalizedObj = obj;
      }
      return canonicalizedObj;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/array.js
var require_array3 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/diff/array.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.diffArrays = diffArrays;
    exports2.arrayDiff = void 0;
    var _base = _interopRequireDefault(require_base());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    var arrayDiff = new /*istanbul ignore start*/
    _base[
      /*istanbul ignore start*/
      "default"
      /*istanbul ignore end*/
    ]();
    exports2.arrayDiff = arrayDiff;
    arrayDiff.tokenize = function(value) {
      return value.slice();
    };
    arrayDiff.join = arrayDiff.removeEmpty = function(value) {
      return value;
    };
    function diffArrays(oldArr, newArr, callback) {
      return arrayDiff.diff(oldArr, newArr, callback);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/parse.js
var require_parse11 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/parse.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.parsePatch = parsePatch;
    function parsePatch(uniDiff) {
      var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], list = [], i = 0;
      function parseIndex() {
        var index = {};
        list.push(index);
        while (i < diffstr.length) {
          var line = diffstr[i];
          if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) {
            break;
          }
          var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line);
          if (header) {
            index.index = header[1];
          }
          i++;
        }
        parseFileHeader(index);
        parseFileHeader(index);
        index.hunks = [];
        while (i < diffstr.length) {
          var _line = diffstr[i];
          if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) {
            break;
          } else if (/^@@/.test(_line)) {
            index.hunks.push(parseHunk());
          } else if (_line && options.strict) {
            throw new Error("Unknown line " + (i + 1) + " " + JSON.stringify(_line));
          } else {
            i++;
          }
        }
      }
      function parseFileHeader(index) {
        var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]);
        if (fileHeader) {
          var keyPrefix = fileHeader[1] === "---" ? "old" : "new";
          var data = fileHeader[2].split("	", 2);
          var fileName = data[0].replace(/\\\\/g, "\\");
          if (/^".*"$/.test(fileName)) {
            fileName = fileName.substr(1, fileName.length - 2);
          }
          index[keyPrefix + "FileName"] = fileName;
          index[keyPrefix + "Header"] = (data[1] || "").trim();
          i++;
        }
      }
      function parseHunk() {
        var chunkHeaderIndex = i, chunkHeaderLine = diffstr[i++], chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/);
        var hunk = {
          oldStart: +chunkHeader[1],
          oldLines: typeof chunkHeader[2] === "undefined" ? 1 : +chunkHeader[2],
          newStart: +chunkHeader[3],
          newLines: typeof chunkHeader[4] === "undefined" ? 1 : +chunkHeader[4],
          lines: [],
          linedelimiters: []
        };
        if (hunk.oldLines === 0) {
          hunk.oldStart += 1;
        }
        if (hunk.newLines === 0) {
          hunk.newStart += 1;
        }
        var addCount = 0, removeCount = 0;
        for (; i < diffstr.length; i++) {
          if (diffstr[i].indexOf("--- ") === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf("+++ ") === 0 && diffstr[i + 2].indexOf("@@") === 0) {
            break;
          }
          var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? " " : diffstr[i][0];
          if (operation === "+" || operation === "-" || operation === " " || operation === "\\") {
            hunk.lines.push(diffstr[i]);
            hunk.linedelimiters.push(delimiters[i] || "\n");
            if (operation === "+") {
              addCount++;
            } else if (operation === "-") {
              removeCount++;
            } else if (operation === " ") {
              addCount++;
              removeCount++;
            }
          } else {
            break;
          }
        }
        if (!addCount && hunk.newLines === 1) {
          hunk.newLines = 0;
        }
        if (!removeCount && hunk.oldLines === 1) {
          hunk.oldLines = 0;
        }
        if (options.strict) {
          if (addCount !== hunk.newLines) {
            throw new Error("Added line count did not match for hunk at line " + (chunkHeaderIndex + 1));
          }
          if (removeCount !== hunk.oldLines) {
            throw new Error("Removed line count did not match for hunk at line " + (chunkHeaderIndex + 1));
          }
        }
        return hunk;
      }
      while (i < diffstr.length) {
        parseIndex();
      }
      return list;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/distance-iterator.js
var require_distance_iterator = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/distance-iterator.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2["default"] = _default;
    function _default(start, minLine, maxLine) {
      var wantForward = true, backwardExhausted = false, forwardExhausted = false, localOffset = 1;
      return function iterator() {
        if (wantForward && !forwardExhausted) {
          if (backwardExhausted) {
            localOffset++;
          } else {
            wantForward = false;
          }
          if (start + localOffset <= maxLine) {
            return localOffset;
          }
          forwardExhausted = true;
        }
        if (!backwardExhausted) {
          if (!forwardExhausted) {
            wantForward = true;
          }
          if (minLine <= start - localOffset) {
            return -localOffset++;
          }
          backwardExhausted = true;
          return iterator();
        }
      };
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/apply.js
var require_apply4 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/apply.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.applyPatch = applyPatch;
    exports2.applyPatches = applyPatches;
    var _parse = require_parse11();
    var _distanceIterator = _interopRequireDefault(require_distance_iterator());
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
    function applyPatch(source, uniDiff) {
      var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      if (typeof uniDiff === "string") {
        uniDiff = /*istanbul ignore start*/
        (0, /*istanbul ignore end*/
        /*istanbul ignore start*/
        _parse.parsePatch)(uniDiff);
      }
      if (Array.isArray(uniDiff)) {
        if (uniDiff.length > 1) {
          throw new Error("applyPatch only works with a single input.");
        }
        uniDiff = uniDiff[0];
      }
      var lines = source.split(/\r\n|[\n\v\f\r\x85]/), delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], hunks = uniDiff.hunks, compareLine = options.compareLine || function(lineNumber, line2, operation2, patchContent) {
        return (
          /*istanbul ignore end*/
          line2 === patchContent
        );
      }, errorCount = 0, fuzzFactor = options.fuzzFactor || 0, minLine = 0, offset = 0, removeEOFNL, addEOFNL;
      function hunkFits(hunk2, toPos2) {
        for (var j2 = 0; j2 < hunk2.lines.length; j2++) {
          var line2 = hunk2.lines[j2], operation2 = line2.length > 0 ? line2[0] : " ", content2 = line2.length > 0 ? line2.substr(1) : line2;
          if (operation2 === " " || operation2 === "-") {
            if (!compareLine(toPos2 + 1, lines[toPos2], operation2, content2)) {
              errorCount++;
              if (errorCount > fuzzFactor) {
                return false;
              }
            }
            toPos2++;
          }
        }
        return true;
      }
      for (var i = 0; i < hunks.length; i++) {
        var hunk = hunks[i], maxLine = lines.length - hunk.oldLines, localOffset = 0, toPos = offset + hunk.oldStart - 1;
        var iterator = (
          /*istanbul ignore start*/
          (0, /*istanbul ignore end*/
          /*istanbul ignore start*/
          _distanceIterator[
            /*istanbul ignore start*/
            "default"
            /*istanbul ignore end*/
          ])(toPos, minLine, maxLine)
        );
        for (; localOffset !== void 0; localOffset = iterator()) {
          if (hunkFits(hunk, toPos + localOffset)) {
            hunk.offset = offset += localOffset;
            break;
          }
        }
        if (localOffset === void 0) {
          return false;
        }
        minLine = hunk.offset + hunk.oldStart + hunk.oldLines;
      }
      var diffOffset = 0;
      for (var _i = 0; _i < hunks.length; _i++) {
        var _hunk = hunks[_i], _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1;
        diffOffset += _hunk.newLines - _hunk.oldLines;
        for (var j = 0; j < _hunk.lines.length; j++) {
          var line = _hunk.lines[j], operation = line.length > 0 ? line[0] : " ", content = line.length > 0 ? line.substr(1) : line, delimiter = _hunk.linedelimiters && _hunk.linedelimiters[j] || "\n";
          if (operation === " ") {
            _toPos++;
          } else if (operation === "-") {
            lines.splice(_toPos, 1);
            delimiters.splice(_toPos, 1);
          } else if (operation === "+") {
            lines.splice(_toPos, 0, content);
            delimiters.splice(_toPos, 0, delimiter);
            _toPos++;
          } else if (operation === "\\") {
            var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null;
            if (previousOperation === "+") {
              removeEOFNL = true;
            } else if (previousOperation === "-") {
              addEOFNL = true;
            }
          }
        }
      }
      if (removeEOFNL) {
        while (!lines[lines.length - 1]) {
          lines.pop();
          delimiters.pop();
        }
      } else if (addEOFNL) {
        lines.push("");
        delimiters.push("\n");
      }
      for (var _k = 0; _k < lines.length - 1; _k++) {
        lines[_k] = lines[_k] + delimiters[_k];
      }
      return lines.join("");
    }
    function applyPatches(uniDiff, options) {
      if (typeof uniDiff === "string") {
        uniDiff = /*istanbul ignore start*/
        (0, /*istanbul ignore end*/
        /*istanbul ignore start*/
        _parse.parsePatch)(uniDiff);
      }
      var currentIndex = 0;
      function processIndex() {
        var index = uniDiff[currentIndex++];
        if (!index) {
          return options.complete();
        }
        options.loadFile(index, function(err, data) {
          if (err) {
            return options.complete(err);
          }
          var updatedContent = applyPatch(data, index, options);
          options.patched(index, updatedContent, function(err2) {
            if (err2) {
              return options.complete(err2);
            }
            processIndex();
          });
        });
      }
      processIndex();
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/create.js
var require_create3 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/create.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.structuredPatch = structuredPatch;
    exports2.formatPatch = formatPatch;
    exports2.createTwoFilesPatch = createTwoFilesPatch;
    exports2.createPatch = createPatch;
    var _line = require_line();
    function _toConsumableArray(arr) {
      return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
    }
    function _nonIterableSpread() {
      throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    function _unsupportedIterableToArray(o, minLen) {
      if (!o) return;
      if (typeof o === "string") return _arrayLikeToArray(o, minLen);
      var n = Object.prototype.toString.call(o).slice(8, -1);
      if (n === "Object" && o.constructor) n = o.constructor.name;
      if (n === "Map" || n === "Set") return Array.from(o);
      if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
    }
    function _iterableToArray(iter) {
      if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
    }
    function _arrayWithoutHoles(arr) {
      if (Array.isArray(arr)) return _arrayLikeToArray(arr);
    }
    function _arrayLikeToArray(arr, len) {
      if (len == null || len > arr.length) len = arr.length;
      for (var i = 0, arr2 = new Array(len); i < len; i++) {
        arr2[i] = arr[i];
      }
      return arr2;
    }
    function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
      if (!options) {
        options = {};
      }
      if (typeof options.context === "undefined") {
        options.context = 4;
      }
      var diff = (
        /*istanbul ignore start*/
        (0, /*istanbul ignore end*/
        /*istanbul ignore start*/
        _line.diffLines)(oldStr, newStr, options)
      );
      if (!diff) {
        return;
      }
      diff.push({
        value: "",
        lines: []
      });
      function contextLines(lines) {
        return lines.map(function(entry) {
          return " " + entry;
        });
      }
      var hunks = [];
      var oldRangeStart = 0, newRangeStart = 0, curRange = [], oldLine = 1, newLine = 1;
      var _loop = function _loop2(i2) {
        var current = diff[i2], lines = current.lines || current.value.replace(/\n$/, "").split("\n");
        current.lines = lines;
        if (current.added || current.removed) {
          var _curRange;
          if (!oldRangeStart) {
            var prev = diff[i2 - 1];
            oldRangeStart = oldLine;
            newRangeStart = newLine;
            if (prev) {
              curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : [];
              oldRangeStart -= curRange.length;
              newRangeStart -= curRange.length;
            }
          }
          (_curRange = /*istanbul ignore end*/
          curRange).push.apply(
            /*istanbul ignore start*/
            _curRange,
            /*istanbul ignore start*/
            _toConsumableArray(
              /*istanbul ignore end*/
              lines.map(function(entry) {
                return (current.added ? "+" : "-") + entry;
              })
            )
          );
          if (current.added) {
            newLine += lines.length;
          } else {
            oldLine += lines.length;
          }
        } else {
          if (oldRangeStart) {
            if (lines.length <= options.context * 2 && i2 < diff.length - 2) {
              var _curRange2;
              (_curRange2 = /*istanbul ignore end*/
              curRange).push.apply(
                /*istanbul ignore start*/
                _curRange2,
                /*istanbul ignore start*/
                _toConsumableArray(
                  /*istanbul ignore end*/
                  contextLines(lines)
                )
              );
            } else {
              var _curRange3;
              var contextSize = Math.min(lines.length, options.context);
              (_curRange3 = /*istanbul ignore end*/
              curRange).push.apply(
                /*istanbul ignore start*/
                _curRange3,
                /*istanbul ignore start*/
                _toConsumableArray(
                  /*istanbul ignore end*/
                  contextLines(lines.slice(0, contextSize))
                )
              );
              var hunk = {
                oldStart: oldRangeStart,
                oldLines: oldLine - oldRangeStart + contextSize,
                newStart: newRangeStart,
                newLines: newLine - newRangeStart + contextSize,
                lines: curRange
              };
              if (i2 >= diff.length - 2 && lines.length <= options.context) {
                var oldEOFNewline = /\n$/.test(oldStr);
                var newEOFNewline = /\n$/.test(newStr);
                var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines;
                if (!oldEOFNewline && noNlBeforeAdds && oldStr.length > 0) {
                  curRange.splice(hunk.oldLines, 0, "\\ No newline at end of file");
                }
                if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) {
                  curRange.push("\\ No newline at end of file");
                }
              }
              hunks.push(hunk);
              oldRangeStart = 0;
              newRangeStart = 0;
              curRange = [];
            }
          }
          oldLine += lines.length;
          newLine += lines.length;
        }
      };
      for (var i = 0; i < diff.length; i++) {
        _loop(
          /*istanbul ignore end*/
          i
        );
      }
      return {
        oldFileName,
        newFileName,
        oldHeader,
        newHeader,
        hunks
      };
    }
    function formatPatch(diff) {
      if (Array.isArray(diff)) {
        return diff.map(formatPatch).join("\n");
      }
      var ret2 = [];
      if (diff.oldFileName == diff.newFileName) {
        ret2.push("Index: " + diff.oldFileName);
      }
      ret2.push("===================================================================");
      ret2.push("--- " + diff.oldFileName + (typeof diff.oldHeader === "undefined" ? "" : "	" + diff.oldHeader));
      ret2.push("+++ " + diff.newFileName + (typeof diff.newHeader === "undefined" ? "" : "	" + diff.newHeader));
      for (var i = 0; i < diff.hunks.length; i++) {
        var hunk = diff.hunks[i];
        if (hunk.oldLines === 0) {
          hunk.oldStart -= 1;
        }
        if (hunk.newLines === 0) {
          hunk.newStart -= 1;
        }
        ret2.push("@@ -" + hunk.oldStart + "," + hunk.oldLines + " +" + hunk.newStart + "," + hunk.newLines + " @@");
        ret2.push.apply(ret2, hunk.lines);
      }
      return ret2.join("\n") + "\n";
    }
    function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) {
      return formatPatch(structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options));
    }
    function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) {
      return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options);
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/array.js
var require_array4 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/util/array.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.arrayEqual = arrayEqual;
    exports2.arrayStartsWith = arrayStartsWith;
    function arrayEqual(a, b) {
      if (a.length !== b.length) {
        return false;
      }
      return arrayStartsWith(a, b);
    }
    function arrayStartsWith(array, start) {
      if (start.length > array.length) {
        return false;
      }
      for (var i = 0; i < start.length; i++) {
        if (start[i] !== array[i]) {
          return false;
        }
      }
      return true;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/merge.js
var require_merge5 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/merge.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.calcLineCount = calcLineCount;
    exports2.merge = merge;
    var _create = require_create3();
    var _parse = require_parse11();
    var _array = require_array4();
    function _toConsumableArray(arr) {
      return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
    }
    function _nonIterableSpread() {
      throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    function _unsupportedIterableToArray(o, minLen) {
      if (!o) return;
      if (typeof o === "string") return _arrayLikeToArray(o, minLen);
      var n = Object.prototype.toString.call(o).slice(8, -1);
      if (n === "Object" && o.constructor) n = o.constructor.name;
      if (n === "Map" || n === "Set") return Array.from(o);
      if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
    }
    function _iterableToArray(iter) {
      if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
    }
    function _arrayWithoutHoles(arr) {
      if (Array.isArray(arr)) return _arrayLikeToArray(arr);
    }
    function _arrayLikeToArray(arr, len) {
      if (len == null || len > arr.length) len = arr.length;
      for (var i = 0, arr2 = new Array(len); i < len; i++) {
        arr2[i] = arr[i];
      }
      return arr2;
    }
    function calcLineCount(hunk) {
      var _calcOldNewLineCount = (
        /*istanbul ignore end*/
        calcOldNewLineCount(hunk.lines)
      ), oldLines = _calcOldNewLineCount.oldLines, newLines = _calcOldNewLineCount.newLines;
      if (oldLines !== void 0) {
        hunk.oldLines = oldLines;
      } else {
        delete hunk.oldLines;
      }
      if (newLines !== void 0) {
        hunk.newLines = newLines;
      } else {
        delete hunk.newLines;
      }
    }
    function merge(mine, theirs, base) {
      mine = loadPatch(mine, base);
      theirs = loadPatch(theirs, base);
      var ret2 = {};
      if (mine.index || theirs.index) {
        ret2.index = mine.index || theirs.index;
      }
      if (mine.newFileName || theirs.newFileName) {
        if (!fileNameChanged(mine)) {
          ret2.oldFileName = theirs.oldFileName || mine.oldFileName;
          ret2.newFileName = theirs.newFileName || mine.newFileName;
          ret2.oldHeader = theirs.oldHeader || mine.oldHeader;
          ret2.newHeader = theirs.newHeader || mine.newHeader;
        } else if (!fileNameChanged(theirs)) {
          ret2.oldFileName = mine.oldFileName;
          ret2.newFileName = mine.newFileName;
          ret2.oldHeader = mine.oldHeader;
          ret2.newHeader = mine.newHeader;
        } else {
          ret2.oldFileName = selectField(ret2, mine.oldFileName, theirs.oldFileName);
          ret2.newFileName = selectField(ret2, mine.newFileName, theirs.newFileName);
          ret2.oldHeader = selectField(ret2, mine.oldHeader, theirs.oldHeader);
          ret2.newHeader = selectField(ret2, mine.newHeader, theirs.newHeader);
        }
      }
      ret2.hunks = [];
      var mineIndex = 0, theirsIndex = 0, mineOffset = 0, theirsOffset = 0;
      while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) {
        var mineCurrent = mine.hunks[mineIndex] || {
          oldStart: Infinity
        }, theirsCurrent = theirs.hunks[theirsIndex] || {
          oldStart: Infinity
        };
        if (hunkBefore(mineCurrent, theirsCurrent)) {
          ret2.hunks.push(cloneHunk(mineCurrent, mineOffset));
          mineIndex++;
          theirsOffset += mineCurrent.newLines - mineCurrent.oldLines;
        } else if (hunkBefore(theirsCurrent, mineCurrent)) {
          ret2.hunks.push(cloneHunk(theirsCurrent, theirsOffset));
          theirsIndex++;
          mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines;
        } else {
          var mergedHunk = {
            oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart),
            oldLines: 0,
            newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset),
            newLines: 0,
            lines: []
          };
          mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines);
          theirsIndex++;
          mineIndex++;
          ret2.hunks.push(mergedHunk);
        }
      }
      return ret2;
    }
    function loadPatch(param, base) {
      if (typeof param === "string") {
        if (/^@@/m.test(param) || /^Index:/m.test(param)) {
          return (
            /*istanbul ignore start*/
            (0, /*istanbul ignore end*/
            /*istanbul ignore start*/
            _parse.parsePatch)(param)[0]
          );
        }
        if (!base) {
          throw new Error("Must provide a base reference or pass in a patch");
        }
        return (
          /*istanbul ignore start*/
          (0, /*istanbul ignore end*/
          /*istanbul ignore start*/
          _create.structuredPatch)(void 0, void 0, base, param)
        );
      }
      return param;
    }
    function fileNameChanged(patch) {
      return patch.newFileName && patch.newFileName !== patch.oldFileName;
    }
    function selectField(index, mine, theirs) {
      if (mine === theirs) {
        return mine;
      } else {
        index.conflict = true;
        return {
          mine,
          theirs
        };
      }
    }
    function hunkBefore(test, check) {
      return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart;
    }
    function cloneHunk(hunk, offset) {
      return {
        oldStart: hunk.oldStart,
        oldLines: hunk.oldLines,
        newStart: hunk.newStart + offset,
        newLines: hunk.newLines,
        lines: hunk.lines
      };
    }
    function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) {
      var mine = {
        offset: mineOffset,
        lines: mineLines,
        index: 0
      }, their = {
        offset: theirOffset,
        lines: theirLines,
        index: 0
      };
      insertLeading(hunk, mine, their);
      insertLeading(hunk, their, mine);
      while (mine.index < mine.lines.length && their.index < their.lines.length) {
        var mineCurrent = mine.lines[mine.index], theirCurrent = their.lines[their.index];
        if ((mineCurrent[0] === "-" || mineCurrent[0] === "+") && (theirCurrent[0] === "-" || theirCurrent[0] === "+")) {
          mutualChange(hunk, mine, their);
        } else if (mineCurrent[0] === "+" && theirCurrent[0] === " ") {
          var _hunk$lines;
          (_hunk$lines = /*istanbul ignore end*/
          hunk.lines).push.apply(
            /*istanbul ignore start*/
            _hunk$lines,
            /*istanbul ignore start*/
            _toConsumableArray(
              /*istanbul ignore end*/
              collectChange(mine)
            )
          );
        } else if (theirCurrent[0] === "+" && mineCurrent[0] === " ") {
          var _hunk$lines2;
          (_hunk$lines2 = /*istanbul ignore end*/
          hunk.lines).push.apply(
            /*istanbul ignore start*/
            _hunk$lines2,
            /*istanbul ignore start*/
            _toConsumableArray(
              /*istanbul ignore end*/
              collectChange(their)
            )
          );
        } else if (mineCurrent[0] === "-" && theirCurrent[0] === " ") {
          removal(hunk, mine, their);
        } else if (theirCurrent[0] === "-" && mineCurrent[0] === " ") {
          removal(hunk, their, mine, true);
        } else if (mineCurrent === theirCurrent) {
          hunk.lines.push(mineCurrent);
          mine.index++;
          their.index++;
        } else {
          conflict(hunk, collectChange(mine), collectChange(their));
        }
      }
      insertTrailing(hunk, mine);
      insertTrailing(hunk, their);
      calcLineCount(hunk);
    }
    function mutualChange(hunk, mine, their) {
      var myChanges = collectChange(mine), theirChanges = collectChange(their);
      if (allRemoves(myChanges) && allRemoves(theirChanges)) {
        if (
          /*istanbul ignore start*/
          (0, /*istanbul ignore end*/
          /*istanbul ignore start*/
          _array.arrayStartsWith)(myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)
        ) {
          var _hunk$lines3;
          (_hunk$lines3 = /*istanbul ignore end*/
          hunk.lines).push.apply(
            /*istanbul ignore start*/
            _hunk$lines3,
            /*istanbul ignore start*/
            _toConsumableArray(
              /*istanbul ignore end*/
              myChanges
            )
          );
          return;
        } else if (
          /*istanbul ignore start*/
          (0, /*istanbul ignore end*/
          /*istanbul ignore start*/
          _array.arrayStartsWith)(theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)
        ) {
          var _hunk$lines4;
          (_hunk$lines4 = /*istanbul ignore end*/
          hunk.lines).push.apply(
            /*istanbul ignore start*/
            _hunk$lines4,
            /*istanbul ignore start*/
            _toConsumableArray(
              /*istanbul ignore end*/
              theirChanges
            )
          );
          return;
        }
      } else if (
        /*istanbul ignore start*/
        (0, /*istanbul ignore end*/
        /*istanbul ignore start*/
        _array.arrayEqual)(myChanges, theirChanges)
      ) {
        var _hunk$lines5;
        (_hunk$lines5 = /*istanbul ignore end*/
        hunk.lines).push.apply(
          /*istanbul ignore start*/
          _hunk$lines5,
          /*istanbul ignore start*/
          _toConsumableArray(
            /*istanbul ignore end*/
            myChanges
          )
        );
        return;
      }
      conflict(hunk, myChanges, theirChanges);
    }
    function removal(hunk, mine, their, swap) {
      var myChanges = collectChange(mine), theirChanges = collectContext(their, myChanges);
      if (theirChanges.merged) {
        var _hunk$lines6;
        (_hunk$lines6 = /*istanbul ignore end*/
        hunk.lines).push.apply(
          /*istanbul ignore start*/
          _hunk$lines6,
          /*istanbul ignore start*/
          _toConsumableArray(
            /*istanbul ignore end*/
            theirChanges.merged
          )
        );
      } else {
        conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges);
      }
    }
    function conflict(hunk, mine, their) {
      hunk.conflict = true;
      hunk.lines.push({
        conflict: true,
        mine,
        theirs: their
      });
    }
    function insertLeading(hunk, insert, their) {
      while (insert.offset < their.offset && insert.index < insert.lines.length) {
        var line = insert.lines[insert.index++];
        hunk.lines.push(line);
        insert.offset++;
      }
    }
    function insertTrailing(hunk, insert) {
      while (insert.index < insert.lines.length) {
        var line = insert.lines[insert.index++];
        hunk.lines.push(line);
      }
    }
    function collectChange(state) {
      var ret2 = [], operation = state.lines[state.index][0];
      while (state.index < state.lines.length) {
        var line = state.lines[state.index];
        if (operation === "-" && line[0] === "+") {
          operation = "+";
        }
        if (operation === line[0]) {
          ret2.push(line);
          state.index++;
        } else {
          break;
        }
      }
      return ret2;
    }
    function collectContext(state, matchChanges) {
      var changes = [], merged = [], matchIndex = 0, contextChanges = false, conflicted = false;
      while (matchIndex < matchChanges.length && state.index < state.lines.length) {
        var change = state.lines[state.index], match = matchChanges[matchIndex];
        if (match[0] === "+") {
          break;
        }
        contextChanges = contextChanges || change[0] !== " ";
        merged.push(match);
        matchIndex++;
        if (change[0] === "+") {
          conflicted = true;
          while (change[0] === "+") {
            changes.push(change);
            change = state.lines[++state.index];
          }
        }
        if (match.substr(1) === change.substr(1)) {
          changes.push(change);
          state.index++;
        } else {
          conflicted = true;
        }
      }
      if ((matchChanges[matchIndex] || "")[0] === "+" && contextChanges) {
        conflicted = true;
      }
      if (conflicted) {
        return changes;
      }
      while (matchIndex < matchChanges.length) {
        merged.push(matchChanges[matchIndex++]);
      }
      return {
        merged,
        changes
      };
    }
    function allRemoves(changes) {
      return changes.reduce(function(prev, change) {
        return prev && change[0] === "-";
      }, true);
    }
    function skipRemoveSuperset(state, removeChanges, delta) {
      for (var i = 0; i < delta; i++) {
        var changeContent = removeChanges[removeChanges.length - delta + i].substr(1);
        if (state.lines[state.index + i] !== " " + changeContent) {
          return false;
        }
      }
      state.index += delta;
      return true;
    }
    function calcOldNewLineCount(lines) {
      var oldLines = 0;
      var newLines = 0;
      lines.forEach(function(line) {
        if (typeof line !== "string") {
          var myCount = calcOldNewLineCount(line.mine);
          var theirCount = calcOldNewLineCount(line.theirs);
          if (oldLines !== void 0) {
            if (myCount.oldLines === theirCount.oldLines) {
              oldLines += myCount.oldLines;
            } else {
              oldLines = void 0;
            }
          }
          if (newLines !== void 0) {
            if (myCount.newLines === theirCount.newLines) {
              newLines += myCount.newLines;
            } else {
              newLines = void 0;
            }
          }
        } else {
          if (newLines !== void 0 && (line[0] === "+" || line[0] === " ")) {
            newLines++;
          }
          if (oldLines !== void 0 && (line[0] === "-" || line[0] === " ")) {
            oldLines++;
          }
        }
      });
      return {
        oldLines,
        newLines
      };
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/reverse.js
var require_reverse3 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/patch/reverse.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.reversePatch = reversePatch;
    function ownKeys2(object, enumerableOnly) {
      var keys = Object.keys(object);
      if (Object.getOwnPropertySymbols) {
        var symbols = Object.getOwnPropertySymbols(object);
        if (enumerableOnly) symbols = symbols.filter(function(sym) {
          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
        });
        keys.push.apply(keys, symbols);
      }
      return keys;
    }
    function _objectSpread(target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i] != null ? arguments[i] : {};
        if (i % 2) {
          ownKeys2(Object(source), true).forEach(function(key) {
            _defineProperty(target, key, source[key]);
          });
        } else if (Object.getOwnPropertyDescriptors) {
          Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
        } else {
          ownKeys2(Object(source)).forEach(function(key) {
            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
          });
        }
      }
      return target;
    }
    function _defineProperty(obj, key, value) {
      if (key in obj) {
        Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });
      } else {
        obj[key] = value;
      }
      return obj;
    }
    function reversePatch(structuredPatch) {
      if (Array.isArray(structuredPatch)) {
        return structuredPatch.map(reversePatch).reverse();
      }
      return (
        /*istanbul ignore start*/
        _objectSpread(_objectSpread(
          {},
          /*istanbul ignore end*/
          structuredPatch
        ), {}, {
          oldFileName: structuredPatch.newFileName,
          oldHeader: structuredPatch.newHeader,
          newFileName: structuredPatch.oldFileName,
          newHeader: structuredPatch.oldHeader,
          hunks: structuredPatch.hunks.map(function(hunk) {
            return {
              oldLines: hunk.newLines,
              oldStart: hunk.newStart,
              newLines: hunk.oldLines,
              newStart: hunk.oldStart,
              linedelimiters: hunk.linedelimiters,
              lines: hunk.lines.map(function(l) {
                if (l.startsWith("-")) {
                  return (
                    /*istanbul ignore start*/
                    "+".concat(
                      /*istanbul ignore end*/
                      l.slice(1)
                    )
                  );
                }
                if (l.startsWith("+")) {
                  return (
                    /*istanbul ignore start*/
                    "-".concat(
                      /*istanbul ignore end*/
                      l.slice(1)
                    )
                  );
                }
                return l;
              })
            };
          })
        })
      );
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/convert/dmp.js
var require_dmp = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/convert/dmp.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.convertChangesToDMP = convertChangesToDMP;
    function convertChangesToDMP(changes) {
      var ret2 = [], change, operation;
      for (var i = 0; i < changes.length; i++) {
        change = changes[i];
        if (change.added) {
          operation = 1;
        } else if (change.removed) {
          operation = -1;
        } else {
          operation = 0;
        }
        ret2.push([operation, change.value]);
      }
      return ret2;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/convert/xml.js
var require_xml = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/convert/xml.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    exports2.convertChangesToXML = convertChangesToXML;
    function convertChangesToXML(changes) {
      var ret2 = [];
      for (var i = 0; i < changes.length; i++) {
        var change = changes[i];
        if (change.added) {
          ret2.push("<ins>");
        } else if (change.removed) {
          ret2.push("<del>");
        }
        ret2.push(escapeHTML(change.value));
        if (change.added) {
          ret2.push("</ins>");
        } else if (change.removed) {
          ret2.push("</del>");
        }
      }
      return ret2.join("");
    }
    function escapeHTML(s) {
      var n = s;
      n = n.replace(/&/g, "&amp;");
      n = n.replace(/</g, "&lt;");
      n = n.replace(/>/g, "&gt;");
      n = n.replace(/"/g, "&quot;");
      return n;
    }
  }
});

// ../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/index.js
var require_lib158 = __commonJS({
  "../node_modules/.pnpm/diff@5.2.0/node_modules/diff/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", {
      value: true
    });
    Object.defineProperty(exports2, "Diff", {
      enumerable: true,
      get: function get() {
        return _base["default"];
      }
    });
    Object.defineProperty(exports2, "diffChars", {
      enumerable: true,
      get: function get() {
        return _character.diffChars;
      }
    });
    Object.defineProperty(exports2, "diffWords", {
      enumerable: true,
      get: function get() {
        return _word.diffWords;
      }
    });
    Object.defineProperty(exports2, "diffWordsWithSpace", {
      enumerable: true,
      get: function get() {
        return _word.diffWordsWithSpace;
      }
    });
    Object.defineProperty(exports2, "diffLines", {
      enumerable: true,
      get: function get() {
        return _line.diffLines;
      }
    });
    Object.defineProperty(exports2, "diffTrimmedLines", {
      enumerable: true,
      get: function get() {
        return _line.diffTrimmedLines;
      }
    });
    Object.defineProperty(exports2, "diffSentences", {
      enumerable: true,
      get: function get() {
        return _sentence.diffSentences;
      }
    });
    Object.defineProperty(exports2, "diffCss", {
      enumerable: true,
      get: function get() {
        return _css.diffCss;
      }
    });
    Object.defineProperty(exports2, "diffJson", {
      enumerable: true,
      get: function get() {
        return _json.diffJson;
      }
    });
    Object.defineProperty(exports2, "canonicalize", {
      enumerable: true,
      get: function get() {
        return _json.canonicalize;
      }
    });
    Object.defineProperty(exports2, "diffArrays", {
      enumerable: true,
      get: function get() {
        return _array.diffArrays;
      }
    });
    Object.defineProperty(exports2, "applyPatch", {
      enumerable: true,
      get: function get() {
        return _apply.applyPatch;
      }
    });
    Object.defineProperty(exports2, "applyPatches", {
      enumerable: true,
      get: function get() {
        return _apply.applyPatches;
      }
    });
    Object.defineProperty(exports2, "parsePatch", {
      enumerable: true,
      get: function get() {
        return _parse.parsePatch;
      }
    });
    Object.defineProperty(exports2, "merge", {
      enumerable: true,
      get: function get() {
        return _merge.merge;
      }
    });
    Object.defineProperty(exports2, "reversePatch", {
      enumerable: true,
      get: function get() {
        return _reverse.reversePatch;
      }
    });
    Object.defineProperty(exports2, "structuredPatch", {
      enumerable: true,
      get: function get() {
        return _create.structuredPatch;
      }
    });
    Object.defineProperty(exports2, "createTwoFilesPatch", {
      enumerable: true,
      get: function get() {
        return _create.createTwoFilesPatch;
      }
    });
    Object.defineProperty(exports2, "createPatch", {
      enumerable: true,
      get: function get() {
        return _create.createPatch;
      }
    });
    Object.defineProperty(exports2, "formatPatch", {
      enumerable: true,
      get: function get() {
        return _create.formatPatch;
      }
    });
    Object.defineProperty(exports2, "convertChangesToDMP", {
      enumerable: true,
      get: function get() {
        return _dmp.convertChangesToDMP;
      }
    });
    Object.defineProperty(exports2, "convertChangesToXML", {
      enumerable: true,
      get: function get() {
        return _xml.convertChangesToXML;
      }
    });
    var _base = _interopRequireDefault(require_base());
    var _character = require_character();
    var _word = require_word();
    var _line = require_line();
    var _sentence = require_sentence();
    var _css = require_css();
    var _json = require_json4();
    var _array = require_array3();
    var _apply = require_apply4();
    var _parse = require_parse11();
    var _merge = require_merge5();
    var _reverse = require_reverse3();
    var _create = require_create3();
    var _dmp = require_dmp();
    var _xml = require_xml();
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : { "default": obj };
    }
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKey.js
var require_isKey = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKey.js"(exports2, module2) {
    var isArray = require_isArray2();
    var isSymbol = require_isSymbol();
    var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
    var reIsPlainProp = /^\w*$/;
    function isKey(value, object) {
      if (isArray(value)) {
        return false;
      }
      var type = typeof value;
      if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
        return true;
      }
      return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
    }
    module2.exports = isKey;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/memoize.js
var require_memoize = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/memoize.js"(exports2, module2) {
    var MapCache = require_MapCache();
    var FUNC_ERROR_TEXT = "Expected a function";
    function memoize(func, resolver) {
      if (typeof func != "function" || resolver != null && typeof resolver != "function") {
        throw new TypeError(FUNC_ERROR_TEXT);
      }
      var memoized = function() {
        var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
        if (cache.has(key)) {
          return cache.get(key);
        }
        var result2 = func.apply(this, args);
        memoized.cache = cache.set(key, result2) || cache;
        return result2;
      };
      memoized.cache = new (memoize.Cache || MapCache)();
      return memoized;
    }
    memoize.Cache = MapCache;
    module2.exports = memoize;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_memoizeCapped.js
var require_memoizeCapped = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_memoizeCapped.js"(exports2, module2) {
    var memoize = require_memoize();
    var MAX_MEMOIZE_SIZE = 500;
    function memoizeCapped(func) {
      var result2 = memoize(func, function(key) {
        if (cache.size === MAX_MEMOIZE_SIZE) {
          cache.clear();
        }
        return key;
      });
      var cache = result2.cache;
      return result2;
    }
    module2.exports = memoizeCapped;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToPath.js
var require_stringToPath = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stringToPath.js"(exports2, module2) {
    var memoizeCapped = require_memoizeCapped();
    var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
    var reEscapeChar = /\\(\\)?/g;
    var stringToPath = memoizeCapped(function(string) {
      var result2 = [];
      if (string.charCodeAt(0) === 46) {
        result2.push("");
      }
      string.replace(rePropName, function(match, number, quote, subString) {
        result2.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
      });
      return result2;
    });
    module2.exports = stringToPath;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castPath.js
var require_castPath = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_castPath.js"(exports2, module2) {
    var isArray = require_isArray2();
    var isKey = require_isKey();
    var stringToPath = require_stringToPath();
    var toString = require_toString3();
    function castPath(value, object) {
      if (isArray(value)) {
        return value;
      }
      return isKey(value, object) ? [value] : stringToPath(toString(value));
    }
    module2.exports = castPath;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toKey.js
var require_toKey = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toKey.js"(exports2, module2) {
    var isSymbol = require_isSymbol();
    var INFINITY = 1 / 0;
    function toKey(value) {
      if (typeof value == "string" || isSymbol(value)) {
        return value;
      }
      var result2 = value + "";
      return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
    }
    module2.exports = toKey;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGet.js
var require_baseGet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGet.js"(exports2, module2) {
    var castPath = require_castPath();
    var toKey = require_toKey();
    function baseGet(object, path2) {
      path2 = castPath(path2, object);
      var index = 0, length = path2.length;
      while (object != null && index < length) {
        object = object[toKey(path2[index++])];
      }
      return index && index == length ? object : void 0;
    }
    module2.exports = baseGet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSet.js
var require_baseSet = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSet.js"(exports2, module2) {
    var assignValue = require_assignValue();
    var castPath = require_castPath();
    var isIndex = require_isIndex();
    var isObject = require_isObject2();
    var toKey = require_toKey();
    function baseSet(object, path2, value, customizer) {
      if (!isObject(object)) {
        return object;
      }
      path2 = castPath(path2, object);
      var index = -1, length = path2.length, lastIndex = length - 1, nested = object;
      while (nested != null && ++index < length) {
        var key = toKey(path2[index]), newValue = value;
        if (key === "__proto__" || key === "constructor" || key === "prototype") {
          return object;
        }
        if (index != lastIndex) {
          var objValue = nested[key];
          newValue = customizer ? customizer(objValue, key, nested) : void 0;
          if (newValue === void 0) {
            newValue = isObject(objValue) ? objValue : isIndex(path2[index + 1]) ? [] : {};
          }
        }
        assignValue(nested, key, newValue);
        nested = nested[key];
      }
      return object;
    }
    module2.exports = baseSet;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_basePickBy.js
var require_basePickBy = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_basePickBy.js"(exports2, module2) {
    var baseGet = require_baseGet();
    var baseSet = require_baseSet();
    var castPath = require_castPath();
    function basePickBy(object, paths, predicate) {
      var index = -1, length = paths.length, result2 = {};
      while (++index < length) {
        var path2 = paths[index], value = baseGet(object, path2);
        if (predicate(value, path2)) {
          baseSet(result2, castPath(path2, object), value);
        }
      }
      return result2;
    }
    module2.exports = basePickBy;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseHasIn.js
var require_baseHasIn = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseHasIn.js"(exports2, module2) {
    function baseHasIn(object, key) {
      return object != null && key in Object(object);
    }
    module2.exports = baseHasIn;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hasPath.js
var require_hasPath2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hasPath.js"(exports2, module2) {
    var castPath = require_castPath();
    var isArguments = require_isArguments2();
    var isArray = require_isArray2();
    var isIndex = require_isIndex();
    var isLength = require_isLength();
    var toKey = require_toKey();
    function hasPath(object, path2, hasFunc) {
      path2 = castPath(path2, object);
      var index = -1, length = path2.length, result2 = false;
      while (++index < length) {
        var key = toKey(path2[index]);
        if (!(result2 = object != null && hasFunc(object, key))) {
          break;
        }
        object = object[key];
      }
      if (result2 || ++index != length) {
        return result2;
      }
      length = object == null ? 0 : object.length;
      return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
    }
    module2.exports = hasPath;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/hasIn.js
var require_hasIn2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/hasIn.js"(exports2, module2) {
    var baseHasIn = require_baseHasIn();
    var hasPath = require_hasPath2();
    function hasIn(object, path2) {
      return object != null && hasPath(object, path2, baseHasIn);
    }
    module2.exports = hasIn;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_basePick.js
var require_basePick = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_basePick.js"(exports2, module2) {
    var basePickBy = require_basePickBy();
    var hasIn = require_hasIn2();
    function basePick(object, paths) {
      return basePickBy(object, paths, function(value, path2) {
        return hasIn(object, path2);
      });
    }
    module2.exports = basePick;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isFlattenable.js
var require_isFlattenable = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isFlattenable.js"(exports2, module2) {
    var Symbol2 = require_Symbol();
    var isArguments = require_isArguments2();
    var isArray = require_isArray2();
    var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
    function isFlattenable(value) {
      return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
    }
    module2.exports = isFlattenable;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFlatten.js
var require_baseFlatten = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFlatten.js"(exports2, module2) {
    var arrayPush = require_arrayPush();
    var isFlattenable = require_isFlattenable();
    function baseFlatten(array, depth, predicate, isStrict, result2) {
      var index = -1, length = array.length;
      predicate || (predicate = isFlattenable);
      result2 || (result2 = []);
      while (++index < length) {
        var value = array[index];
        if (depth > 0 && predicate(value)) {
          if (depth > 1) {
            baseFlatten(value, depth - 1, predicate, isStrict, result2);
          } else {
            arrayPush(result2, value);
          }
        } else if (!isStrict) {
          result2[result2.length] = value;
        }
      }
      return result2;
    }
    module2.exports = baseFlatten;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/flatten.js
var require_flatten2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/flatten.js"(exports2, module2) {
    var baseFlatten = require_baseFlatten();
    function flatten(array) {
      var length = array == null ? 0 : array.length;
      return length ? baseFlatten(array, 1) : [];
    }
    module2.exports = flatten;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_flatRest.js
var require_flatRest = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_flatRest.js"(exports2, module2) {
    var flatten = require_flatten2();
    var overRest = require_overRest();
    var setToString = require_setToString();
    function flatRest(func) {
      return setToString(overRest(func, void 0, flatten), func + "");
    }
    module2.exports = flatRest;
  }
});

// ../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/pick.js
var require_pick2 = __commonJS({
  "../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/pick.js"(exports2, module2) {
    var basePick = require_basePick();
    var flatRest = require_flatRest();
    var pick = flatRest(function(object, paths) {
      return object == null ? {} : basePick(object, paths);
    });
    module2.exports = pick;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/RunInstallPleaseResolver.js
var require_RunInstallPleaseResolver = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/RunInstallPleaseResolver.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.RunInstallPleaseResolver = void 0;
    var MessageName_1 = require_MessageName();
    var Report_1 = require_Report();
    var RunInstallPleaseResolver = class {
      constructor(resolver) {
        this.resolver = resolver;
      }
      supportsDescriptor(descriptor, opts) {
        return this.resolver.supportsDescriptor(descriptor, opts);
      }
      supportsLocator(locator, opts) {
        return this.resolver.supportsLocator(locator, opts);
      }
      shouldPersistResolution(locator, opts) {
        return this.resolver.shouldPersistResolution(locator, opts);
      }
      bindDescriptor(descriptor, fromLocator, opts) {
        return this.resolver.bindDescriptor(descriptor, fromLocator, opts);
      }
      getResolutionDependencies(descriptor, opts) {
        return this.resolver.getResolutionDependencies(descriptor, opts);
      }
      async getCandidates(descriptor, dependencies, opts) {
        throw new Report_1.ReportError(MessageName_1.MessageName.MISSING_LOCKFILE_ENTRY, `This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`);
      }
      async getSatisfying(descriptor, dependencies, locators, opts) {
        throw new Report_1.ReportError(MessageName_1.MessageName.MISSING_LOCKFILE_ENTRY, `This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`);
      }
      async resolve(locator, opts) {
        throw new Report_1.ReportError(MessageName_1.MessageName.MISSING_LOCKFILE_ENTRY, `This package doesn't seem to be present in your lockfile; run "yarn install" to update the lockfile`);
      }
    };
    exports2.RunInstallPleaseResolver = RunInstallPleaseResolver;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/ThrowReport.js
var require_ThrowReport = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/ThrowReport.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ThrowReport = void 0;
    var Report_1 = require_Report();
    var ThrowReport = class extends Report_1.Report {
      reportCacheHit(locator) {
      }
      reportCacheMiss(locator) {
      }
      startSectionSync(opts, cb) {
        return cb();
      }
      async startSectionPromise(opts, cb) {
        return await cb();
      }
      startTimerSync(what, opts, cb) {
        const realCb = typeof opts === `function` ? opts : cb;
        return realCb();
      }
      async startTimerPromise(what, opts, cb) {
        const realCb = typeof opts === `function` ? opts : cb;
        return await realCb();
      }
      reportSeparator() {
      }
      reportInfo(name, text) {
      }
      reportWarning(name, text) {
      }
      reportError(name, text) {
      }
      reportProgress(progress) {
        const promise = Promise.resolve().then(async () => {
          for await (const {} of progress) {
          }
        });
        const stop = () => {
        };
        return { ...promise, stop };
      }
      reportJson(data) {
      }
      reportFold(title, text) {
      }
      async finalize() {
      }
    };
    exports2.ThrowReport = ThrowReport;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Workspace.js
var require_Workspace = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Workspace.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Workspace = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fast_glob_1 = tslib_12.__importDefault(require_out4());
    var Manifest_1 = require_Manifest();
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var Workspace = class {
      constructor(workspaceCwd, { project }) {
        this.workspacesCwds = /* @__PURE__ */ new Set();
        this.project = project;
        this.cwd = workspaceCwd;
      }
      async setup() {
        this.manifest = await Manifest_1.Manifest.tryFind(this.cwd) ?? new Manifest_1.Manifest();
        this.relativeCwd = fslib_12.ppath.relative(this.project.cwd, this.cwd) || fslib_12.PortablePath.dot;
        const ident = this.manifest.name ? this.manifest.name : structUtils.makeIdent(null, `${this.computeCandidateName()}-${hashUtils.makeHash(this.relativeCwd).substring(0, 6)}`);
        this.anchoredDescriptor = structUtils.makeDescriptor(ident, `${WorkspaceResolver_1.WorkspaceResolver.protocol}${this.relativeCwd}`);
        this.anchoredLocator = structUtils.makeLocator(ident, `${WorkspaceResolver_1.WorkspaceResolver.protocol}${this.relativeCwd}`);
        const patterns = this.manifest.workspaceDefinitions.map(({ pattern }) => pattern);
        if (patterns.length === 0)
          return;
        const relativeCwds = await (0, fast_glob_1.default)(patterns, {
          cwd: fslib_12.npath.fromPortablePath(this.cwd),
          onlyDirectories: true,
          ignore: [`**/node_modules`, `**/.git`, `**/.yarn`]
        });
        relativeCwds.sort();
        await relativeCwds.reduce(async (previousTask, relativeCwd) => {
          const candidateCwd = fslib_12.ppath.resolve(this.cwd, fslib_12.npath.toPortablePath(relativeCwd));
          const exists = await fslib_12.xfs.existsPromise(fslib_12.ppath.join(candidateCwd, `package.json`));
          await previousTask;
          if (exists) {
            this.workspacesCwds.add(candidateCwd);
          }
        }, Promise.resolve());
      }
      get anchoredPackage() {
        const pkg = this.project.storedPackages.get(this.anchoredLocator.locatorHash);
        if (!pkg)
          throw new Error(`Assertion failed: Expected workspace ${structUtils.prettyWorkspace(this.project.configuration, this)} (${formatUtils.pretty(this.project.configuration, fslib_12.ppath.join(this.cwd, fslib_12.Filename.manifest), formatUtils.Type.PATH)}) to have been resolved. Run "yarn install" to update the lockfile`);
        return pkg;
      }
      accepts(range) {
        const protocolIndex = range.indexOf(`:`);
        const protocol = protocolIndex !== -1 ? range.slice(0, protocolIndex + 1) : null;
        const pathname = protocolIndex !== -1 ? range.slice(protocolIndex + 1) : range;
        if (protocol === WorkspaceResolver_1.WorkspaceResolver.protocol && fslib_12.ppath.normalize(pathname) === this.relativeCwd)
          return true;
        if (protocol === WorkspaceResolver_1.WorkspaceResolver.protocol && (pathname === `*` || pathname === `^` || pathname === `~`))
          return true;
        const semverRange = semverUtils.validRange(pathname);
        if (!semverRange)
          return false;
        if (protocol === WorkspaceResolver_1.WorkspaceResolver.protocol)
          return semverRange.test(this.manifest.version ?? `0.0.0`);
        if (!this.project.configuration.get(`enableTransparentWorkspaces`))
          return false;
        if (this.manifest.version !== null)
          return semverRange.test(this.manifest.version);
        return false;
      }
      computeCandidateName() {
        if (this.cwd === this.project.cwd) {
          return `root-workspace`;
        } else {
          return `${fslib_12.ppath.basename(this.cwd)}` || `unnamed-workspace`;
        }
      }
      /**
       * Find workspaces marked as dependencies/devDependencies of the current workspace recursively.
       *
       * @param rootWorkspace root workspace
       * @param project project
       *
       * @returns all the workspaces marked as dependencies
       */
      getRecursiveWorkspaceDependencies({ dependencies = Manifest_1.Manifest.hardDependencies } = {}) {
        const workspaceList = /* @__PURE__ */ new Set();
        const visitWorkspace = (workspace) => {
          for (const dependencyType of dependencies) {
            for (const descriptor of workspace.manifest[dependencyType].values()) {
              const foundWorkspace = this.project.tryWorkspaceByDescriptor(descriptor);
              if (foundWorkspace === null || workspaceList.has(foundWorkspace))
                continue;
              workspaceList.add(foundWorkspace);
              visitWorkspace(foundWorkspace);
            }
          }
        };
        visitWorkspace(this);
        return workspaceList;
      }
      /**
       * Find workspaces which include the current workspace as a dependency/devDependency recursively.
       *
       * @param rootWorkspace root workspace
       * @param project project
       *
       * @returns all the workspaces marked as dependents
       */
      getRecursiveWorkspaceDependents({ dependencies = Manifest_1.Manifest.hardDependencies } = {}) {
        const workspaceList = /* @__PURE__ */ new Set();
        const visitWorkspace = (workspace) => {
          for (const projectWorkspace of this.project.workspaces) {
            const isDependent = dependencies.some((dependencyType) => {
              return [...projectWorkspace.manifest[dependencyType].values()].some((descriptor) => {
                const foundWorkspace = this.project.tryWorkspaceByDescriptor(descriptor);
                return foundWorkspace !== null && structUtils.areLocatorsEqual(foundWorkspace.anchoredLocator, workspace.anchoredLocator);
              });
            });
            if (isDependent && !workspaceList.has(projectWorkspace)) {
              workspaceList.add(projectWorkspace);
              visitWorkspace(projectWorkspace);
            }
          }
        };
        visitWorkspace(this);
        return workspaceList;
      }
      /**
       * Retrieves all the child workspaces of a given root workspace recursively
       *
       * @param rootWorkspace root workspace
       * @param project project
       *
       * @returns all the child workspaces
       */
      getRecursiveWorkspaceChildren() {
        const workspaceSet = /* @__PURE__ */ new Set([this]);
        for (const workspace of workspaceSet) {
          for (const childWorkspaceCwd of workspace.workspacesCwds) {
            const childWorkspace = this.project.workspacesByCwd.get(childWorkspaceCwd);
            if (childWorkspace) {
              workspaceSet.add(childWorkspace);
            }
          }
        }
        workspaceSet.delete(this);
        return Array.from(workspaceSet);
      }
      async persistManifest() {
        const data = {};
        this.manifest.exportTo(data);
        const path2 = fslib_12.ppath.join(this.cwd, Manifest_1.Manifest.fileName);
        const content = `${JSON.stringify(data, null, this.manifest.indent)}
`;
        await fslib_12.xfs.changeFilePromise(path2, content, {
          automaticNewlines: true
        });
        this.manifest.raw = data;
      }
    };
    exports2.Workspace = Workspace;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Project.js
var require_Project = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/Project.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.Project = exports2.PeerWarningType = exports2.InstallMode = exports2.LOCKFILE_VERSION = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var fslib_2 = require_lib66();
    var parsers_1 = require_lib67();
    var clipanion_12 = require_advanced();
    var crypto_1 = require("crypto");
    var diff_1 = require_lib158();
    var pick_1 = tslib_12.__importDefault(require_pick2());
    var p_limit_12 = tslib_12.__importDefault(require_p_limit2());
    var semver_12 = tslib_12.__importDefault(require_semver2());
    var util_1 = require("util");
    var v8_1 = tslib_12.__importDefault(require("v8"));
    var zlib_1 = tslib_12.__importDefault(require("zlib"));
    var Cache_1 = require_Cache();
    var Configuration_1 = require_Configuration();
    var Installer_1 = require_Installer();
    var LegacyMigrationResolver_1 = require_LegacyMigrationResolver();
    var LockfileResolver_1 = require_LockfileResolver();
    var Manifest_1 = require_Manifest();
    var MessageName_1 = require_MessageName();
    var MultiResolver_1 = require_MultiResolver();
    var Report_1 = require_Report();
    var RunInstallPleaseResolver_1 = require_RunInstallPleaseResolver();
    var StreamReport_1 = require_StreamReport();
    var ThrowReport_1 = require_ThrowReport();
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    var Workspace_1 = require_Workspace();
    var folderUtils_1 = require_folderUtils();
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var nodeUtils = tslib_12.__importStar(require_nodeUtils());
    var scriptUtils = tslib_12.__importStar(require_scriptUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var structUtils = tslib_12.__importStar(require_structUtils());
    var types_1 = require_types8();
    var types_2 = require_types8();
    exports2.LOCKFILE_VERSION = miscUtils.parseInt(process.env.YARN_LOCKFILE_VERSION_OVERRIDE ?? 8);
    var INSTALL_STATE_VERSION = 3;
    var MULTIPLE_KEYS_REGEXP = / *, */g;
    var TRAILING_SLASH_REGEXP = /\/$/;
    var FETCHER_CONCURRENCY = 32;
    var gzip = (0, util_1.promisify)(zlib_1.default.gzip);
    var gunzip = (0, util_1.promisify)(zlib_1.default.gunzip);
    var InstallMode;
    (function(InstallMode2) {
      InstallMode2["UpdateLockfile"] = "update-lockfile";
      InstallMode2["SkipBuild"] = "skip-build";
    })(InstallMode || (exports2.InstallMode = InstallMode = {}));
    var INSTALL_STATE_FIELDS = {
      restoreLinkersCustomData: [
        `linkersCustomData`
      ],
      restoreResolutions: [
        `accessibleLocators`,
        `conditionalLocators`,
        `disabledLocators`,
        `optionalBuilds`,
        `storedDescriptors`,
        `storedResolutions`,
        `storedPackages`,
        `lockFileChecksum`
      ],
      restoreBuildState: [
        `skippedBuilds`,
        `storedBuildState`
      ]
    };
    var PeerWarningType;
    (function(PeerWarningType2) {
      PeerWarningType2[PeerWarningType2["NotProvided"] = 0] = "NotProvided";
      PeerWarningType2[PeerWarningType2["NotCompatible"] = 1] = "NotCompatible";
      PeerWarningType2[PeerWarningType2["NotCompatibleAggregate"] = 2] = "NotCompatibleAggregate";
    })(PeerWarningType || (exports2.PeerWarningType = PeerWarningType = {}));
    var makeLockfileChecksum = (normalizedContent) => hashUtils.makeHash(`${INSTALL_STATE_VERSION}`, normalizedContent);
    var Project = class _Project {
      static async find(configuration, startingCwd) {
        if (!configuration.projectCwd)
          throw new clipanion_12.UsageError(`No project found in ${startingCwd}`);
        let packageCwd = configuration.projectCwd;
        let nextCwd = startingCwd;
        let currentCwd = null;
        while (currentCwd !== configuration.projectCwd) {
          currentCwd = nextCwd;
          if (fslib_2.xfs.existsSync(fslib_2.ppath.join(currentCwd, fslib_2.Filename.manifest))) {
            packageCwd = currentCwd;
            break;
          }
          nextCwd = fslib_2.ppath.dirname(currentCwd);
        }
        const project = new _Project(configuration.projectCwd, { configuration });
        Configuration_1.Configuration.telemetry?.reportProject(project.cwd);
        await project.setupResolutions();
        await project.setupWorkspaces();
        Configuration_1.Configuration.telemetry?.reportWorkspaceCount(project.workspaces.length);
        Configuration_1.Configuration.telemetry?.reportDependencyCount(project.workspaces.reduce((sum, workspace2) => sum + workspace2.manifest.dependencies.size + workspace2.manifest.devDependencies.size, 0));
        const workspace = project.tryWorkspaceByCwd(packageCwd);
        if (workspace)
          return { project, workspace, locator: workspace.anchoredLocator };
        const locator = await project.findLocatorForLocation(`${packageCwd}/`, { strict: true });
        if (locator)
          return { project, locator, workspace: null };
        const projectCwdLog = formatUtils.pretty(configuration, project.cwd, formatUtils.Type.PATH);
        const packageCwdLog = formatUtils.pretty(configuration, fslib_2.ppath.relative(project.cwd, packageCwd), formatUtils.Type.PATH);
        const unintendedProjectLog = `- If ${projectCwdLog} isn't intended to be a project, remove any yarn.lock and/or package.json file there.`;
        const missingWorkspaceLog = `- If ${projectCwdLog} is intended to be a project, it might be that you forgot to list ${packageCwdLog} in its workspace configuration.`;
        const decorrelatedProjectLog = `- Finally, if ${projectCwdLog} is fine and you intend ${packageCwdLog} to be treated as a completely separate project (not even a workspace), create an empty yarn.lock file in it.`;
        throw new clipanion_12.UsageError(`The nearest package directory (${formatUtils.pretty(configuration, packageCwd, formatUtils.Type.PATH)}) doesn't seem to be part of the project declared in ${formatUtils.pretty(configuration, project.cwd, formatUtils.Type.PATH)}.

${[
          unintendedProjectLog,
          missingWorkspaceLog,
          decorrelatedProjectLog
        ].join(`
`)}`);
      }
      constructor(projectCwd, { configuration }) {
        this.resolutionAliases = /* @__PURE__ */ new Map();
        this.workspaces = [];
        this.workspacesByCwd = /* @__PURE__ */ new Map();
        this.workspacesByIdent = /* @__PURE__ */ new Map();
        this.storedResolutions = /* @__PURE__ */ new Map();
        this.storedDescriptors = /* @__PURE__ */ new Map();
        this.storedPackages = /* @__PURE__ */ new Map();
        this.storedChecksums = /* @__PURE__ */ new Map();
        this.storedBuildState = /* @__PURE__ */ new Map();
        this.accessibleLocators = /* @__PURE__ */ new Set();
        this.conditionalLocators = /* @__PURE__ */ new Set();
        this.disabledLocators = /* @__PURE__ */ new Set();
        this.originalPackages = /* @__PURE__ */ new Map();
        this.optionalBuilds = /* @__PURE__ */ new Set();
        this.skippedBuilds = /* @__PURE__ */ new Set();
        this.lockfileLastVersion = null;
        this.lockfileNeedsRefresh = false;
        this.peerRequirements = /* @__PURE__ */ new Map();
        this.peerWarnings = [];
        this.linkersCustomData = /* @__PURE__ */ new Map();
        this.lockFileChecksum = null;
        this.installStateChecksum = null;
        this.configuration = configuration;
        this.cwd = projectCwd;
      }
      async setupResolutions() {
        this.storedResolutions = /* @__PURE__ */ new Map();
        this.storedDescriptors = /* @__PURE__ */ new Map();
        this.storedPackages = /* @__PURE__ */ new Map();
        this.lockFileChecksum = null;
        const lockfilePath = fslib_2.ppath.join(this.cwd, fslib_2.Filename.lockfile);
        const defaultLanguageName = this.configuration.get(`defaultLanguageName`);
        if (fslib_2.xfs.existsSync(lockfilePath)) {
          const content = await fslib_2.xfs.readFilePromise(lockfilePath, `utf8`);
          this.lockFileChecksum = makeLockfileChecksum(content);
          const parsed = (0, parsers_1.parseSyml)(content);
          if (parsed.__metadata) {
            const lockfileVersion = parsed.__metadata.version;
            const cacheKey = parsed.__metadata.cacheKey;
            this.lockfileLastVersion = lockfileVersion;
            this.lockfileNeedsRefresh = lockfileVersion < exports2.LOCKFILE_VERSION;
            for (const key of Object.keys(parsed)) {
              if (key === `__metadata`)
                continue;
              const data = parsed[key];
              if (typeof data.resolution === `undefined`)
                throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${key})`);
              const locator = structUtils.parseLocator(data.resolution, true);
              const manifest = new Manifest_1.Manifest();
              manifest.load(data, { yamlCompatibilityMode: true });
              const version2 = manifest.version;
              const languageName = manifest.languageName || defaultLanguageName;
              const linkType = data.linkType.toUpperCase();
              const conditions = data.conditions ?? null;
              const dependencies = manifest.dependencies;
              const peerDependencies = manifest.peerDependencies;
              const dependenciesMeta = manifest.dependenciesMeta;
              const peerDependenciesMeta = manifest.peerDependenciesMeta;
              const bin = manifest.bin;
              if (data.checksum != null) {
                const checksum = typeof cacheKey !== `undefined` && !data.checksum.includes(`/`) ? `${cacheKey}/${data.checksum}` : data.checksum;
                this.storedChecksums.set(locator.locatorHash, checksum);
              }
              const pkg = { ...locator, version: version2, languageName, linkType, conditions, dependencies, peerDependencies, dependenciesMeta, peerDependenciesMeta, bin };
              this.originalPackages.set(pkg.locatorHash, pkg);
              for (const entry of key.split(MULTIPLE_KEYS_REGEXP)) {
                let descriptor = structUtils.parseDescriptor(entry);
                if (lockfileVersion <= 6) {
                  descriptor = this.configuration.normalizeDependency(descriptor);
                  descriptor = structUtils.makeDescriptor(descriptor, descriptor.range.replace(/^patch:[^@]+@(?!npm(:|%3A))/, `$1npm%3A`));
                }
                this.storedDescriptors.set(descriptor.descriptorHash, descriptor);
                this.storedResolutions.set(descriptor.descriptorHash, locator.locatorHash);
              }
            }
          } else if (content.includes(`yarn lockfile v1`)) {
            this.lockfileLastVersion = -1;
          }
        }
      }
      async setupWorkspaces() {
        this.workspaces = [];
        this.workspacesByCwd = /* @__PURE__ */ new Map();
        this.workspacesByIdent = /* @__PURE__ */ new Map();
        const pathsChecked = /* @__PURE__ */ new Set();
        const limitSetup = (0, p_limit_12.default)(4);
        const loadWorkspaceReducer = async (previousTask, workspaceCwd) => {
          if (pathsChecked.has(workspaceCwd))
            return previousTask;
          pathsChecked.add(workspaceCwd);
          const workspace = new Workspace_1.Workspace(workspaceCwd, { project: this });
          await limitSetup(() => workspace.setup());
          const nextTask = previousTask.then(() => {
            this.addWorkspace(workspace);
          });
          return Array.from(workspace.workspacesCwds).reduce(loadWorkspaceReducer, nextTask);
        };
        await loadWorkspaceReducer(Promise.resolve(), this.cwd);
      }
      addWorkspace(workspace) {
        const dup = this.workspacesByIdent.get(workspace.anchoredLocator.identHash);
        if (typeof dup !== `undefined`)
          throw new Error(`Duplicate workspace name ${structUtils.prettyIdent(this.configuration, workspace.anchoredLocator)}: ${fslib_12.npath.fromPortablePath(workspace.cwd)} conflicts with ${fslib_12.npath.fromPortablePath(dup.cwd)}`);
        this.workspaces.push(workspace);
        this.workspacesByCwd.set(workspace.cwd, workspace);
        this.workspacesByIdent.set(workspace.anchoredLocator.identHash, workspace);
      }
      get topLevelWorkspace() {
        return this.getWorkspaceByCwd(this.cwd);
      }
      tryWorkspaceByCwd(workspaceCwd) {
        if (!fslib_2.ppath.isAbsolute(workspaceCwd))
          workspaceCwd = fslib_2.ppath.resolve(this.cwd, workspaceCwd);
        workspaceCwd = fslib_2.ppath.normalize(workspaceCwd).replace(/\/+$/, ``);
        const workspace = this.workspacesByCwd.get(workspaceCwd);
        if (!workspace)
          return null;
        return workspace;
      }
      getWorkspaceByCwd(workspaceCwd) {
        const workspace = this.tryWorkspaceByCwd(workspaceCwd);
        if (!workspace)
          throw new Error(`Workspace not found (${workspaceCwd})`);
        return workspace;
      }
      tryWorkspaceByFilePath(filePath) {
        let bestWorkspace = null;
        for (const workspace of this.workspaces) {
          const rel = fslib_2.ppath.relative(workspace.cwd, filePath);
          if (rel.startsWith(`../`))
            continue;
          if (bestWorkspace && bestWorkspace.cwd.length >= workspace.cwd.length)
            continue;
          bestWorkspace = workspace;
        }
        if (!bestWorkspace)
          return null;
        return bestWorkspace;
      }
      getWorkspaceByFilePath(filePath) {
        const workspace = this.tryWorkspaceByFilePath(filePath);
        if (!workspace)
          throw new Error(`Workspace not found (${filePath})`);
        return workspace;
      }
      tryWorkspaceByIdent(ident) {
        const workspace = this.workspacesByIdent.get(ident.identHash);
        if (typeof workspace === `undefined`)
          return null;
        return workspace;
      }
      getWorkspaceByIdent(ident) {
        const workspace = this.tryWorkspaceByIdent(ident);
        if (!workspace)
          throw new Error(`Workspace not found (${structUtils.prettyIdent(this.configuration, ident)})`);
        return workspace;
      }
      tryWorkspaceByDescriptor(descriptor) {
        if (descriptor.range.startsWith(WorkspaceResolver_1.WorkspaceResolver.protocol)) {
          const specifier = descriptor.range.slice(WorkspaceResolver_1.WorkspaceResolver.protocol.length);
          if (specifier !== `^` && specifier !== `~` && specifier !== `*` && !semverUtils.validRange(specifier)) {
            return this.tryWorkspaceByCwd(specifier);
          }
        }
        const workspace = this.tryWorkspaceByIdent(descriptor);
        if (workspace === null)
          return null;
        if (structUtils.isVirtualDescriptor(descriptor))
          descriptor = structUtils.devirtualizeDescriptor(descriptor);
        if (!workspace.accepts(descriptor.range))
          return null;
        return workspace;
      }
      getWorkspaceByDescriptor(descriptor) {
        const workspace = this.tryWorkspaceByDescriptor(descriptor);
        if (workspace === null)
          throw new Error(`Workspace not found (${structUtils.prettyDescriptor(this.configuration, descriptor)})`);
        return workspace;
      }
      tryWorkspaceByLocator(locator) {
        const workspace = this.tryWorkspaceByIdent(locator);
        if (workspace === null)
          return null;
        if (structUtils.isVirtualLocator(locator))
          locator = structUtils.devirtualizeLocator(locator);
        if (workspace.anchoredLocator.locatorHash !== locator.locatorHash)
          return null;
        return workspace;
      }
      getWorkspaceByLocator(locator) {
        const workspace = this.tryWorkspaceByLocator(locator);
        if (!workspace)
          throw new Error(`Workspace not found (${structUtils.prettyLocator(this.configuration, locator)})`);
        return workspace;
      }
      deleteDescriptor(descriptorHash) {
        this.storedResolutions.delete(descriptorHash);
        this.storedDescriptors.delete(descriptorHash);
      }
      deleteLocator(locatorHash) {
        this.originalPackages.delete(locatorHash);
        this.storedPackages.delete(locatorHash);
        this.accessibleLocators.delete(locatorHash);
      }
      forgetResolution(dataStructure) {
        if (`descriptorHash` in dataStructure) {
          const locatorHash = this.storedResolutions.get(dataStructure.descriptorHash);
          this.deleteDescriptor(dataStructure.descriptorHash);
          const remainingResolutions = new Set(this.storedResolutions.values());
          if (typeof locatorHash !== `undefined` && !remainingResolutions.has(locatorHash)) {
            this.deleteLocator(locatorHash);
          }
        }
        if (`locatorHash` in dataStructure) {
          this.deleteLocator(dataStructure.locatorHash);
          for (const [descriptorHash, locatorHash] of this.storedResolutions) {
            if (locatorHash === dataStructure.locatorHash) {
              this.deleteDescriptor(descriptorHash);
            }
          }
        }
      }
      forgetTransientResolutions() {
        const resolver = this.configuration.makeResolver();
        const reverseLookup = /* @__PURE__ */ new Map();
        for (const [descriptorHash, locatorHash] of this.storedResolutions.entries()) {
          let descriptorHashes = reverseLookup.get(locatorHash);
          if (!descriptorHashes)
            reverseLookup.set(locatorHash, descriptorHashes = /* @__PURE__ */ new Set());
          descriptorHashes.add(descriptorHash);
        }
        for (const pkg of this.originalPackages.values()) {
          let shouldPersistResolution;
          try {
            shouldPersistResolution = resolver.shouldPersistResolution(pkg, { project: this, resolver });
          } catch {
            shouldPersistResolution = false;
          }
          if (!shouldPersistResolution) {
            this.deleteLocator(pkg.locatorHash);
            const descriptors = reverseLookup.get(pkg.locatorHash);
            if (descriptors) {
              reverseLookup.delete(pkg.locatorHash);
              for (const descriptorHash of descriptors) {
                this.deleteDescriptor(descriptorHash);
              }
            }
          }
        }
      }
      forgetVirtualResolutions() {
        for (const pkg of this.storedPackages.values()) {
          for (const [dependencyHash, dependency] of pkg.dependencies) {
            if (structUtils.isVirtualDescriptor(dependency)) {
              pkg.dependencies.set(dependencyHash, structUtils.devirtualizeDescriptor(dependency));
            }
          }
        }
      }
      getDependencyMeta(ident, version2) {
        const dependencyMeta = {};
        const dependenciesMeta = this.topLevelWorkspace.manifest.dependenciesMeta;
        const dependencyMetaSet = dependenciesMeta.get(structUtils.stringifyIdent(ident));
        if (!dependencyMetaSet)
          return dependencyMeta;
        const defaultMeta = dependencyMetaSet.get(null);
        if (defaultMeta)
          Object.assign(dependencyMeta, defaultMeta);
        if (version2 === null || !semver_12.default.valid(version2))
          return dependencyMeta;
        for (const [range, meta] of dependencyMetaSet)
          if (range !== null && range === version2)
            Object.assign(dependencyMeta, meta);
        return dependencyMeta;
      }
      async findLocatorForLocation(cwd, { strict = false } = {}) {
        const report = new ThrowReport_1.ThrowReport();
        const linkers = this.configuration.getLinkers();
        const linkerOptions = { project: this, report };
        for (const linker of linkers) {
          const locator = await linker.findPackageLocator(cwd, linkerOptions);
          if (locator) {
            if (strict) {
              const location = await linker.findPackageLocation(locator, linkerOptions);
              if (location.replace(TRAILING_SLASH_REGEXP, ``) !== cwd.replace(TRAILING_SLASH_REGEXP, ``)) {
                continue;
              }
            }
            return locator;
          }
        }
        return null;
      }
      async loadUserConfig() {
        const pnpPath = fslib_2.ppath.join(this.cwd, `.pnp.cjs`);
        if (await fslib_2.xfs.existsPromise(pnpPath))
          miscUtils.dynamicRequire(pnpPath).setup();
        const configPath = fslib_2.ppath.join(this.cwd, `yarn.config.cjs`);
        if (!await fslib_2.xfs.existsPromise(configPath))
          return null;
        return miscUtils.dynamicRequire(configPath);
      }
      async preparePackage(originalPkg, { resolver, resolveOptions }) {
        const packageExtensions = await this.configuration.getPackageExtensions();
        const pkg = this.configuration.normalizePackage(originalPkg, { packageExtensions });
        for (const [identHash, descriptor] of pkg.dependencies) {
          const dependency = await this.configuration.reduceHook((hooks) => {
            return hooks.reduceDependency;
          }, descriptor, this, pkg, descriptor, {
            resolver,
            resolveOptions
          });
          if (!structUtils.areIdentsEqual(descriptor, dependency))
            throw new Error(`Assertion failed: The descriptor ident cannot be changed through aliases`);
          const bound = resolver.bindDescriptor(dependency, pkg, resolveOptions);
          pkg.dependencies.set(identHash, bound);
        }
        return pkg;
      }
      async resolveEverything(opts) {
        if (!this.workspacesByCwd || !this.workspacesByIdent)
          throw new Error(`Workspaces must have been setup before calling this function`);
        this.forgetVirtualResolutions();
        const initialPackages = new Map(this.originalPackages);
        const addedPackages = [];
        if (!opts.lockfileOnly)
          this.forgetTransientResolutions();
        const realResolver = opts.resolver || this.configuration.makeResolver();
        const legacyMigrationResolver = new LegacyMigrationResolver_1.LegacyMigrationResolver(realResolver);
        await legacyMigrationResolver.setup(this, { report: opts.report });
        const resolverChain = opts.lockfileOnly ? [new RunInstallPleaseResolver_1.RunInstallPleaseResolver(realResolver)] : [legacyMigrationResolver, realResolver];
        const resolver = new MultiResolver_1.MultiResolver([
          new LockfileResolver_1.LockfileResolver(realResolver),
          ...resolverChain
        ]);
        const noLockfileResolver = new MultiResolver_1.MultiResolver([
          ...resolverChain
        ]);
        const fetcher = this.configuration.makeFetcher();
        const resolveOptions = opts.lockfileOnly ? { project: this, report: opts.report, resolver } : { project: this, report: opts.report, resolver, fetchOptions: { project: this, cache: opts.cache, checksums: this.storedChecksums, report: opts.report, fetcher, cacheOptions: { mirrorWriteOnly: true } } };
        const allDescriptors = /* @__PURE__ */ new Map();
        const allPackages = /* @__PURE__ */ new Map();
        const allResolutions = /* @__PURE__ */ new Map();
        const originalPackages = /* @__PURE__ */ new Map();
        const packageResolutionPromises = /* @__PURE__ */ new Map();
        const descriptorResolutionPromises = /* @__PURE__ */ new Map();
        const dependencyResolutionLocator = this.topLevelWorkspace.anchoredLocator;
        const resolutionDependencies = /* @__PURE__ */ new Set();
        const resolutionQueue = [];
        const currentArchitecture = nodeUtils.getArchitectureSet();
        const supportedArchitectures = this.configuration.getSupportedArchitectures();
        await opts.report.startProgressPromise(Report_1.Report.progressViaTitle(), async (progress) => {
          const startPackageResolution = async (locator) => {
            const originalPkg = await miscUtils.prettifyAsyncErrors(async () => {
              return await resolver.resolve(locator, resolveOptions);
            }, (message) => {
              return `${structUtils.prettyLocator(this.configuration, locator)}: ${message}`;
            });
            if (!structUtils.areLocatorsEqual(locator, originalPkg))
              throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${structUtils.prettyLocator(this.configuration, locator)} to ${structUtils.prettyLocator(this.configuration, originalPkg)})`);
            originalPackages.set(originalPkg.locatorHash, originalPkg);
            const existedBefore = initialPackages.delete(originalPkg.locatorHash);
            if (!existedBefore && !this.tryWorkspaceByLocator(originalPkg))
              addedPackages.push(originalPkg);
            const pkg = await this.preparePackage(originalPkg, { resolver, resolveOptions });
            const dependencyResolutions = miscUtils.allSettledSafe([...pkg.dependencies.values()].map((descriptor) => {
              return scheduleDescriptorResolution(descriptor);
            }));
            resolutionQueue.push(dependencyResolutions);
            dependencyResolutions.catch(() => {
            });
            allPackages.set(pkg.locatorHash, pkg);
            return pkg;
          };
          const schedulePackageResolution = async (locator) => {
            const promise = packageResolutionPromises.get(locator.locatorHash);
            if (typeof promise !== `undefined`)
              return promise;
            const newPromise = Promise.resolve().then(() => startPackageResolution(locator));
            packageResolutionPromises.set(locator.locatorHash, newPromise);
            return newPromise;
          };
          const startDescriptorAliasing = async (descriptor, alias) => {
            const resolution = await scheduleDescriptorResolution(alias);
            allDescriptors.set(descriptor.descriptorHash, descriptor);
            allResolutions.set(descriptor.descriptorHash, resolution.locatorHash);
            return resolution;
          };
          const startDescriptorResolution = async (descriptor) => {
            progress.setTitle(structUtils.prettyDescriptor(this.configuration, descriptor));
            const alias = this.resolutionAliases.get(descriptor.descriptorHash);
            if (typeof alias !== `undefined`)
              return startDescriptorAliasing(descriptor, this.storedDescriptors.get(alias));
            const resolutionDependenciesList = resolver.getResolutionDependencies(descriptor, resolveOptions);
            const resolvedDependencies = Object.fromEntries(await miscUtils.allSettledSafe(Object.entries(resolutionDependenciesList).map(async ([dependencyName, dependency]) => {
              const bound = resolver.bindDescriptor(dependency, dependencyResolutionLocator, resolveOptions);
              const resolvedPackage = await scheduleDescriptorResolution(bound);
              resolutionDependencies.add(resolvedPackage.locatorHash);
              return [dependencyName, resolvedPackage];
            })));
            const candidateResolutions = await miscUtils.prettifyAsyncErrors(async () => {
              return await resolver.getCandidates(descriptor, resolvedDependencies, resolveOptions);
            }, (message) => {
              return `${structUtils.prettyDescriptor(this.configuration, descriptor)}: ${message}`;
            });
            const finalResolution = candidateResolutions[0];
            if (typeof finalResolution === `undefined`)
              throw new Report_1.ReportError(MessageName_1.MessageName.RESOLUTION_FAILED, `${structUtils.prettyDescriptor(this.configuration, descriptor)}: No candidates found`);
            if (opts.checkResolutions) {
              const { locators } = await noLockfileResolver.getSatisfying(descriptor, resolvedDependencies, [finalResolution], { ...resolveOptions, resolver: noLockfileResolver });
              if (!locators.find((locator) => locator.locatorHash === finalResolution.locatorHash)) {
                throw new Report_1.ReportError(MessageName_1.MessageName.RESOLUTION_MISMATCH, `Invalid resolution ${structUtils.prettyResolution(this.configuration, descriptor, finalResolution)}`);
              }
            }
            allDescriptors.set(descriptor.descriptorHash, descriptor);
            allResolutions.set(descriptor.descriptorHash, finalResolution.locatorHash);
            return schedulePackageResolution(finalResolution);
          };
          const scheduleDescriptorResolution = (descriptor) => {
            const promise = descriptorResolutionPromises.get(descriptor.descriptorHash);
            if (typeof promise !== `undefined`)
              return promise;
            allDescriptors.set(descriptor.descriptorHash, descriptor);
            const newPromise = Promise.resolve().then(() => startDescriptorResolution(descriptor));
            descriptorResolutionPromises.set(descriptor.descriptorHash, newPromise);
            return newPromise;
          };
          for (const workspace of this.workspaces) {
            const workspaceDescriptor = workspace.anchoredDescriptor;
            resolutionQueue.push(scheduleDescriptorResolution(workspaceDescriptor));
          }
          while (resolutionQueue.length > 0) {
            const copy = [...resolutionQueue];
            resolutionQueue.length = 0;
            await miscUtils.allSettledSafe(copy);
          }
        });
        const removedPackages = miscUtils.mapAndFilter(initialPackages.values(), (pkg) => {
          if (this.tryWorkspaceByLocator(pkg))
            return miscUtils.mapAndFilter.skip;
          return pkg;
        });
        if (addedPackages.length > 0 || removedPackages.length > 0) {
          const topLevelResolutions = new Set(this.workspaces.flatMap((workspace) => {
            const workspacePkg = allPackages.get(workspace.anchoredLocator.locatorHash);
            if (!workspacePkg)
              throw new Error(`Assertion failed: The workspace should have been resolved`);
            return Array.from(workspacePkg.dependencies.values(), (descriptor) => {
              const resolution = allResolutions.get(descriptor.descriptorHash);
              if (!resolution)
                throw new Error(`Assertion failed: The resolution should have been registered`);
              return resolution;
            });
          }));
          const sortTopLevelFirst = (locator) => topLevelResolutions.has(locator.locatorHash) ? `0` : `1`;
          const sortByLocatorString = (locator) => structUtils.stringifyLocator(locator);
          const sortedAddedPackages = miscUtils.sortMap(addedPackages, [sortTopLevelFirst, sortByLocatorString]);
          const sortedRemovedPackages = miscUtils.sortMap(removedPackages, [sortTopLevelFirst, sortByLocatorString]);
          const recommendedLength = opts.report.getRecommendedLength();
          if (sortedAddedPackages.length > 0)
            opts.report.reportInfo(MessageName_1.MessageName.UPDATED_RESOLUTION_RECORD, `${formatUtils.pretty(this.configuration, `+`, formatUtils.Type.ADDED)} ${formatUtils.prettyTruncatedLocatorList(this.configuration, sortedAddedPackages, recommendedLength)}`);
          if (sortedRemovedPackages.length > 0) {
            opts.report.reportInfo(MessageName_1.MessageName.UPDATED_RESOLUTION_RECORD, `${formatUtils.pretty(this.configuration, `-`, formatUtils.Type.REMOVED)} ${formatUtils.prettyTruncatedLocatorList(this.configuration, sortedRemovedPackages, recommendedLength)}`);
          }
        }
        const volatileDescriptors = new Set(this.resolutionAliases.values());
        const optionalBuilds = new Set(allPackages.keys());
        const accessibleLocators = /* @__PURE__ */ new Set();
        const peerRequirements = /* @__PURE__ */ new Map();
        const peerWarnings = [];
        applyVirtualResolutionMutations({
          project: this,
          accessibleLocators,
          volatileDescriptors,
          optionalBuilds,
          peerRequirements,
          peerWarnings,
          allDescriptors,
          allResolutions,
          allPackages
        });
        for (const locatorHash of resolutionDependencies)
          optionalBuilds.delete(locatorHash);
        for (const descriptorHash of volatileDescriptors) {
          allDescriptors.delete(descriptorHash);
          allResolutions.delete(descriptorHash);
        }
        const conditionalLocators = /* @__PURE__ */ new Set();
        const disabledLocators = /* @__PURE__ */ new Set();
        for (const pkg of allPackages.values()) {
          if (pkg.conditions == null)
            continue;
          if (!optionalBuilds.has(pkg.locatorHash))
            continue;
          if (!structUtils.isPackageCompatible(pkg, supportedArchitectures)) {
            if (structUtils.isPackageCompatible(pkg, currentArchitecture)) {
              opts.report.reportWarningOnce(MessageName_1.MessageName.GHOST_ARCHITECTURE, `${structUtils.prettyLocator(this.configuration, pkg)}: Your current architecture (${process.platform}-${process.arch}) is supported by this package, but is missing from the ${formatUtils.pretty(this.configuration, `supportedArchitectures`, formatUtils.Type.SETTING)} setting`);
            }
            disabledLocators.add(pkg.locatorHash);
          }
          conditionalLocators.add(pkg.locatorHash);
        }
        this.storedResolutions = allResolutions;
        this.storedDescriptors = allDescriptors;
        this.storedPackages = allPackages;
        this.accessibleLocators = accessibleLocators;
        this.conditionalLocators = conditionalLocators;
        this.disabledLocators = disabledLocators;
        this.originalPackages = originalPackages;
        this.optionalBuilds = optionalBuilds;
        this.peerRequirements = peerRequirements;
        this.peerWarnings = peerWarnings;
      }
      async fetchEverything({ cache, report, fetcher: userFetcher, mode, persistProject = true }) {
        const cacheOptions = {
          mockedPackages: this.disabledLocators,
          unstablePackages: this.conditionalLocators
        };
        const fetcher = userFetcher || this.configuration.makeFetcher();
        const fetcherOptions = { checksums: this.storedChecksums, project: this, cache, fetcher, report, cacheOptions };
        let locatorHashes = Array.from(new Set(miscUtils.sortMap(this.storedResolutions.values(), [
          (locatorHash) => {
            const pkg = this.storedPackages.get(locatorHash);
            if (!pkg)
              throw new Error(`Assertion failed: The locator should have been registered`);
            return structUtils.stringifyLocator(pkg);
          }
        ])));
        if (mode === InstallMode.UpdateLockfile)
          locatorHashes = locatorHashes.filter((locatorHash) => !this.storedChecksums.has(locatorHash));
        let firstError = false;
        const progress = Report_1.Report.progressViaCounter(locatorHashes.length);
        await report.reportProgress(progress);
        const limit = (0, p_limit_12.default)(FETCHER_CONCURRENCY);
        await miscUtils.allSettledSafe(locatorHashes.map((locatorHash) => limit(async () => {
          const pkg = this.storedPackages.get(locatorHash);
          if (!pkg)
            throw new Error(`Assertion failed: The locator should have been registered`);
          if (structUtils.isVirtualLocator(pkg))
            return;
          let fetchResult;
          try {
            fetchResult = await fetcher.fetch(pkg, fetcherOptions);
          } catch (error) {
            error.message = `${structUtils.prettyLocator(this.configuration, pkg)}: ${error.message}`;
            report.reportExceptionOnce(error);
            firstError = error;
            return;
          }
          if (fetchResult.checksum != null)
            this.storedChecksums.set(pkg.locatorHash, fetchResult.checksum);
          else
            this.storedChecksums.delete(pkg.locatorHash);
          if (fetchResult.releaseFs) {
            fetchResult.releaseFs();
          }
        }).finally(() => {
          progress.tick();
        })));
        if (firstError)
          throw firstError;
        const cleanInfo = persistProject && mode !== InstallMode.UpdateLockfile ? await this.cacheCleanup({ cache, report }) : null;
        if (report.cacheMisses.size > 0 || cleanInfo) {
          const addedSizes = await Promise.all([...report.cacheMisses].map(async (locatorHash) => {
            const locator = this.storedPackages.get(locatorHash);
            const checksum = this.storedChecksums.get(locatorHash) ?? null;
            const p = cache.getLocatorPath(locator, checksum);
            const stat = await fslib_2.xfs.statPromise(p);
            return stat.size;
          }));
          const finalSizeChange = addedSizes.reduce((sum, size) => sum + size, 0) - (cleanInfo?.size ?? 0);
          const addedCount = report.cacheMisses.size;
          const removedCount = cleanInfo?.count ?? 0;
          const addedLine = `${miscUtils.plural(addedCount, {
            zero: `No new packages`,
            one: `A package was`,
            more: `${formatUtils.pretty(this.configuration, addedCount, formatUtils.Type.NUMBER)} packages were`
          })} added to the project`;
          const removedLine = `${miscUtils.plural(removedCount, {
            zero: `none were`,
            one: `one was`,
            more: `${formatUtils.pretty(this.configuration, removedCount, formatUtils.Type.NUMBER)} were`
          })} removed`;
          const sizeLine = finalSizeChange !== 0 ? ` (${formatUtils.pretty(this.configuration, finalSizeChange, formatUtils.Type.SIZE_DIFF)})` : ``;
          const message = removedCount > 0 ? addedCount > 0 ? `${addedLine}, and ${removedLine}${sizeLine}.` : `${addedLine}, but ${removedLine}${sizeLine}.` : `${addedLine}${sizeLine}.`;
          report.reportInfo(MessageName_1.MessageName.FETCH_NOT_CACHED, message);
        }
      }
      async linkEverything({ cache, report, fetcher: optFetcher, mode }) {
        const cacheOptions = {
          mockedPackages: this.disabledLocators,
          unstablePackages: this.conditionalLocators,
          skipIntegrityCheck: true
        };
        const fetcher = optFetcher || this.configuration.makeFetcher();
        const fetcherOptions = { checksums: this.storedChecksums, project: this, cache, fetcher, report, cacheOptions };
        const linkers = this.configuration.getLinkers();
        const linkerOptions = { project: this, report };
        const installers = new Map(linkers.map((linker) => {
          const installer = linker.makeInstaller(linkerOptions);
          const customDataKey = linker.getCustomDataKey();
          const customData = this.linkersCustomData.get(customDataKey);
          if (typeof customData !== `undefined`)
            installer.attachCustomData(customData);
          return [linker, installer];
        }));
        const packageLinkers = /* @__PURE__ */ new Map();
        const packageLocations = /* @__PURE__ */ new Map();
        const packageBuildDirectives = /* @__PURE__ */ new Map();
        const fetchResultsPerPackage = new Map(await miscUtils.allSettledSafe([...this.accessibleLocators].map(async (locatorHash) => {
          const pkg = this.storedPackages.get(locatorHash);
          if (!pkg)
            throw new Error(`Assertion failed: The locator should have been registered`);
          return [locatorHash, await fetcher.fetch(pkg, fetcherOptions)];
        })));
        const pendingPromises = [];
        const nextSkippedBuilds = /* @__PURE__ */ new Set();
        const skippedBuildLogs = [];
        for (const locatorHash of this.accessibleLocators) {
          const pkg = this.storedPackages.get(locatorHash);
          if (typeof pkg === `undefined`)
            throw new Error(`Assertion failed: The locator should have been registered`);
          const fetchResult = fetchResultsPerPackage.get(pkg.locatorHash);
          if (typeof fetchResult === `undefined`)
            throw new Error(`Assertion failed: The fetch result should have been registered`);
          const holdPromises = [];
          const holdFetchResult = (promise) => {
            holdPromises.push(promise);
          };
          const workspace = this.tryWorkspaceByLocator(pkg);
          if (workspace !== null) {
            const buildDirectives = [];
            const { scripts } = workspace.manifest;
            for (const scriptName of [`preinstall`, `install`, `postinstall`])
              if (scripts.has(scriptName))
                buildDirectives.push({ type: Installer_1.BuildDirectiveType.SCRIPT, script: scriptName });
            try {
              for (const [linker, installer] of installers) {
                if (linker.supportsPackage(pkg, linkerOptions)) {
                  const result2 = await installer.installPackage(pkg, fetchResult, { holdFetchResult });
                  if (result2.buildRequest !== null) {
                    throw new Error(`Assertion failed: Linkers can't return build directives for workspaces; this responsibility befalls to the Yarn core`);
                  }
                }
              }
            } finally {
              if (holdPromises.length === 0) {
                fetchResult.releaseFs?.();
              } else {
                pendingPromises.push(miscUtils.allSettledSafe(holdPromises).catch(() => {
                }).then(() => {
                  fetchResult.releaseFs?.();
                }));
              }
            }
            const location = fslib_2.ppath.join(fetchResult.packageFs.getRealPath(), fetchResult.prefixPath);
            packageLocations.set(pkg.locatorHash, location);
            if (!structUtils.isVirtualLocator(pkg) && buildDirectives.length > 0) {
              packageBuildDirectives.set(pkg.locatorHash, {
                buildDirectives,
                buildLocations: [location]
              });
            }
          } else {
            const linker = linkers.find((linker2) => linker2.supportsPackage(pkg, linkerOptions));
            if (!linker)
              throw new Report_1.ReportError(MessageName_1.MessageName.LINKER_NOT_FOUND, `${structUtils.prettyLocator(this.configuration, pkg)} isn't supported by any available linker`);
            const installer = installers.get(linker);
            if (!installer)
              throw new Error(`Assertion failed: The installer should have been registered`);
            let installStatus;
            try {
              installStatus = await installer.installPackage(pkg, fetchResult, { holdFetchResult });
            } finally {
              if (holdPromises.length === 0) {
                fetchResult.releaseFs?.();
              } else {
                pendingPromises.push(miscUtils.allSettledSafe(holdPromises).then(() => {
                }).then(() => {
                  fetchResult.releaseFs?.();
                }));
              }
            }
            packageLinkers.set(pkg.locatorHash, linker);
            packageLocations.set(pkg.locatorHash, installStatus.packageLocation);
            if (installStatus.buildRequest && installStatus.packageLocation) {
              if (installStatus.buildRequest.skipped) {
                nextSkippedBuilds.add(pkg.locatorHash);
                if (!this.skippedBuilds.has(pkg.locatorHash)) {
                  skippedBuildLogs.push([pkg, installStatus.buildRequest.explain]);
                }
              } else {
                packageBuildDirectives.set(pkg.locatorHash, {
                  buildDirectives: installStatus.buildRequest.directives,
                  buildLocations: [installStatus.packageLocation]
                });
              }
            }
          }
        }
        const externalDependents = /* @__PURE__ */ new Map();
        for (const locatorHash of this.accessibleLocators) {
          const pkg = this.storedPackages.get(locatorHash);
          if (!pkg)
            throw new Error(`Assertion failed: The locator should have been registered`);
          const isWorkspace = this.tryWorkspaceByLocator(pkg) !== null;
          const linkPackage = async (packageLinker, installer) => {
            const packageLocation = packageLocations.get(pkg.locatorHash);
            if (typeof packageLocation === `undefined`)
              throw new Error(`Assertion failed: The package (${structUtils.prettyLocator(this.configuration, pkg)}) should have been registered`);
            const internalDependencies = [];
            for (const descriptor of pkg.dependencies.values()) {
              const resolution = this.storedResolutions.get(descriptor.descriptorHash);
              if (typeof resolution === `undefined`)
                throw new Error(`Assertion failed: The resolution (${structUtils.prettyDescriptor(this.configuration, descriptor)}, from ${structUtils.prettyLocator(this.configuration, pkg)})should have been registered`);
              const dependency = this.storedPackages.get(resolution);
              if (typeof dependency === `undefined`)
                throw new Error(`Assertion failed: The package (${resolution}, resolved from ${structUtils.prettyDescriptor(this.configuration, descriptor)}) should have been registered`);
              const dependencyLinker = this.tryWorkspaceByLocator(dependency) === null ? packageLinkers.get(resolution) : null;
              if (typeof dependencyLinker === `undefined`)
                throw new Error(`Assertion failed: The package (${resolution}, resolved from ${structUtils.prettyDescriptor(this.configuration, descriptor)}) should have been registered`);
              const isWorkspaceDependency = dependencyLinker === null;
              if (dependencyLinker === packageLinker || isWorkspaceDependency) {
                if (packageLocations.get(dependency.locatorHash) !== null) {
                  internalDependencies.push([descriptor, dependency]);
                }
              } else if (!isWorkspace && packageLocation !== null) {
                const externalEntry = miscUtils.getArrayWithDefault(externalDependents, resolution);
                externalEntry.push(packageLocation);
              }
            }
            if (packageLocation !== null) {
              await installer.attachInternalDependencies(pkg, internalDependencies);
            }
          };
          if (isWorkspace) {
            for (const [packageLinker, installer] of installers) {
              if (packageLinker.supportsPackage(pkg, linkerOptions)) {
                await linkPackage(packageLinker, installer);
              }
            }
          } else {
            const packageLinker = packageLinkers.get(pkg.locatorHash);
            if (!packageLinker)
              throw new Error(`Assertion failed: The linker should have been found`);
            const installer = installers.get(packageLinker);
            if (!installer)
              throw new Error(`Assertion failed: The installer should have been registered`);
            await linkPackage(packageLinker, installer);
          }
        }
        for (const [locatorHash, dependentPaths] of externalDependents) {
          const pkg = this.storedPackages.get(locatorHash);
          if (!pkg)
            throw new Error(`Assertion failed: The package should have been registered`);
          const packageLinker = packageLinkers.get(pkg.locatorHash);
          if (!packageLinker)
            throw new Error(`Assertion failed: The linker should have been found`);
          const installer = installers.get(packageLinker);
          if (!installer)
            throw new Error(`Assertion failed: The installer should have been registered`);
          await installer.attachExternalDependents(pkg, dependentPaths);
        }
        const linkersCustomData = /* @__PURE__ */ new Map();
        for (const [linker, installer] of installers) {
          const finalizeInstallData = await installer.finalizeInstall();
          for (const installStatus of finalizeInstallData?.records ?? []) {
            if (installStatus.buildRequest.skipped) {
              nextSkippedBuilds.add(installStatus.locator.locatorHash);
              if (!this.skippedBuilds.has(installStatus.locator.locatorHash)) {
                skippedBuildLogs.push([installStatus.locator, installStatus.buildRequest.explain]);
              }
            } else {
              packageBuildDirectives.set(installStatus.locator.locatorHash, {
                buildDirectives: installStatus.buildRequest.directives,
                buildLocations: installStatus.buildLocations
              });
            }
          }
          if (typeof finalizeInstallData?.customData !== `undefined`) {
            linkersCustomData.set(linker.getCustomDataKey(), finalizeInstallData.customData);
          }
        }
        this.linkersCustomData = linkersCustomData;
        await miscUtils.allSettledSafe(pendingPromises);
        if (mode === InstallMode.SkipBuild)
          return;
        for (const [, explain] of miscUtils.sortMap(skippedBuildLogs, ([locator]) => structUtils.stringifyLocator(locator)))
          explain(report);
        const readyPackages = new Set(this.storedPackages.keys());
        const buildablePackages = new Set(packageBuildDirectives.keys());
        for (const locatorHash of buildablePackages)
          readyPackages.delete(locatorHash);
        const globalHashGenerator = (0, crypto_1.createHash)(`sha512`);
        globalHashGenerator.update(process.versions.node);
        await this.configuration.triggerHook((hooks) => {
          return hooks.globalHashGeneration;
        }, this, (data) => {
          globalHashGenerator.update(`\0`);
          globalHashGenerator.update(data);
        });
        const globalHash = globalHashGenerator.digest(`hex`);
        const packageHashMap = /* @__PURE__ */ new Map();
        const getBaseHash = (locator) => {
          let hash = packageHashMap.get(locator.locatorHash);
          if (typeof hash !== `undefined`)
            return hash;
          const pkg = this.storedPackages.get(locator.locatorHash);
          if (typeof pkg === `undefined`)
            throw new Error(`Assertion failed: The package should have been registered`);
          const builder = (0, crypto_1.createHash)(`sha512`);
          builder.update(locator.locatorHash);
          packageHashMap.set(locator.locatorHash, `<recursive>`);
          for (const descriptor of pkg.dependencies.values()) {
            const resolution = this.storedResolutions.get(descriptor.descriptorHash);
            if (typeof resolution === `undefined`)
              throw new Error(`Assertion failed: The resolution (${structUtils.prettyDescriptor(this.configuration, descriptor)}) should have been registered`);
            const dependency = this.storedPackages.get(resolution);
            if (typeof dependency === `undefined`)
              throw new Error(`Assertion failed: The package should have been registered`);
            builder.update(getBaseHash(dependency));
          }
          hash = builder.digest(`hex`);
          packageHashMap.set(locator.locatorHash, hash);
          return hash;
        };
        const getBuildHash = (locator, buildLocations) => {
          const builder = (0, crypto_1.createHash)(`sha512`);
          builder.update(globalHash);
          builder.update(getBaseHash(locator));
          for (const location of buildLocations)
            builder.update(location);
          return builder.digest(`hex`);
        };
        const nextBState = /* @__PURE__ */ new Map();
        let isInstallStatePersisted = false;
        const isLocatorBuildable = (locator) => {
          const hashesToCheck = /* @__PURE__ */ new Set([locator.locatorHash]);
          for (const locatorHash of hashesToCheck) {
            const pkg = this.storedPackages.get(locatorHash);
            if (!pkg)
              throw new Error(`Assertion failed: The package should have been registered`);
            for (const dependency of pkg.dependencies.values()) {
              const resolution = this.storedResolutions.get(dependency.descriptorHash);
              if (!resolution)
                throw new Error(`Assertion failed: The resolution (${structUtils.prettyDescriptor(this.configuration, dependency)}) should have been registered`);
              if (resolution !== locator.locatorHash && buildablePackages.has(resolution))
                return false;
              const dependencyPkg = this.storedPackages.get(resolution);
              if (!dependencyPkg)
                throw new Error(`Assertion failed: The package should have been registered`);
              const workspace = this.tryWorkspaceByLocator(dependencyPkg);
              if (workspace) {
                if (workspace.anchoredLocator.locatorHash !== locator.locatorHash && buildablePackages.has(workspace.anchoredLocator.locatorHash))
                  return false;
                hashesToCheck.add(workspace.anchoredLocator.locatorHash);
              }
              hashesToCheck.add(resolution);
            }
          }
          return true;
        };
        while (buildablePackages.size > 0) {
          const savedSize = buildablePackages.size;
          const buildPromises = [];
          for (const locatorHash of buildablePackages) {
            const pkg = this.storedPackages.get(locatorHash);
            if (!pkg)
              throw new Error(`Assertion failed: The package should have been registered`);
            if (!isLocatorBuildable(pkg))
              continue;
            const buildInfo = packageBuildDirectives.get(pkg.locatorHash);
            if (!buildInfo)
              throw new Error(`Assertion failed: The build directive should have been registered`);
            const buildHash = getBuildHash(pkg, buildInfo.buildLocations);
            if (this.storedBuildState.get(pkg.locatorHash) === buildHash) {
              nextBState.set(pkg.locatorHash, buildHash);
              buildablePackages.delete(locatorHash);
              continue;
            }
            if (!isInstallStatePersisted) {
              await this.persistInstallStateFile();
              isInstallStatePersisted = true;
            }
            if (this.storedBuildState.has(pkg.locatorHash))
              report.reportInfo(MessageName_1.MessageName.MUST_REBUILD, `${structUtils.prettyLocator(this.configuration, pkg)} must be rebuilt because its dependency tree changed`);
            else
              report.reportInfo(MessageName_1.MessageName.MUST_BUILD, `${structUtils.prettyLocator(this.configuration, pkg)} must be built because it never has been before or the last one failed`);
            const pkgBuilds = buildInfo.buildLocations.map(async (location) => {
              if (!fslib_2.ppath.isAbsolute(location))
                throw new Error(`Assertion failed: Expected the build location to be absolute (not ${location})`);
              for (const directive of buildInfo.buildDirectives) {
                let header = `# This file contains the result of Yarn building a package (${structUtils.stringifyLocator(pkg)})
`;
                switch (directive.type) {
                  case Installer_1.BuildDirectiveType.SCRIPT:
                    {
                      header += `# Script name: ${directive.script}
`;
                    }
                    break;
                  case Installer_1.BuildDirectiveType.SHELLCODE:
                    {
                      header += `# Script code: ${directive.script}
`;
                    }
                    break;
                }
                const stdin = null;
                const wasBuildSuccessful = await fslib_2.xfs.mktempPromise(async (logDir) => {
                  const logFile = fslib_2.ppath.join(logDir, `build.log`);
                  const { stdout, stderr } = this.configuration.getSubprocessStreams(logFile, {
                    header,
                    prefix: structUtils.prettyLocator(this.configuration, pkg),
                    report
                  });
                  let exitCode;
                  try {
                    switch (directive.type) {
                      case Installer_1.BuildDirectiveType.SCRIPT:
                        {
                          exitCode = await scriptUtils.executePackageScript(pkg, directive.script, [], { cwd: location, project: this, stdin, stdout, stderr });
                        }
                        break;
                      case Installer_1.BuildDirectiveType.SHELLCODE:
                        {
                          exitCode = await scriptUtils.executePackageShellcode(pkg, directive.script, [], { cwd: location, project: this, stdin, stdout, stderr });
                        }
                        break;
                    }
                  } catch (error) {
                    stderr.write(error.stack);
                    exitCode = 1;
                  }
                  stdout.end();
                  stderr.end();
                  if (exitCode === 0)
                    return true;
                  fslib_2.xfs.detachTemp(logDir);
                  const buildMessage = `${structUtils.prettyLocator(this.configuration, pkg)} couldn't be built successfully (exit code ${formatUtils.pretty(this.configuration, exitCode, formatUtils.Type.NUMBER)}, logs can be found here: ${formatUtils.pretty(this.configuration, logFile, formatUtils.Type.PATH)})`;
                  const isOptional = this.optionalBuilds.has(pkg.locatorHash);
                  if (isOptional)
                    report.reportInfo(MessageName_1.MessageName.BUILD_FAILED, buildMessage);
                  else
                    report.reportError(MessageName_1.MessageName.BUILD_FAILED, buildMessage);
                  if (StreamReport_1.SUPPORTS_GROUPS)
                    report.reportFold(fslib_12.npath.fromPortablePath(logFile), fslib_2.xfs.readFileSync(logFile, `utf8`));
                  return isOptional;
                });
                if (!wasBuildSuccessful) {
                  return false;
                }
              }
              return true;
            });
            buildPromises.push(...pkgBuilds, Promise.allSettled(pkgBuilds).then((results) => {
              buildablePackages.delete(locatorHash);
              if (results.every((result2) => result2.status === `fulfilled` && result2.value === true)) {
                nextBState.set(pkg.locatorHash, buildHash);
              }
            }));
          }
          await miscUtils.allSettledSafe(buildPromises);
          if (savedSize === buildablePackages.size) {
            const prettyLocators = Array.from(buildablePackages).map((locatorHash) => {
              const pkg = this.storedPackages.get(locatorHash);
              if (!pkg)
                throw new Error(`Assertion failed: The package should have been registered`);
              return structUtils.prettyLocator(this.configuration, pkg);
            }).join(`, `);
            report.reportError(MessageName_1.MessageName.CYCLIC_DEPENDENCIES, `Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${prettyLocators})`);
            break;
          }
        }
        this.storedBuildState = nextBState;
        this.skippedBuilds = nextSkippedBuilds;
      }
      async installWithNewReport(reportOpts, installOpts) {
        const report = await StreamReport_1.StreamReport.start({
          configuration: this.configuration,
          json: reportOpts.json,
          stdout: reportOpts.stdout,
          forceSectionAlignment: true,
          includeLogs: !reportOpts.json && !reportOpts.quiet,
          includeVersion: true
        }, async (report2) => {
          await this.install({ ...installOpts, report: report2 });
        });
        return report.exitCode();
      }
      async install(opts) {
        const nodeLinker = this.configuration.get(`nodeLinker`);
        Configuration_1.Configuration.telemetry?.reportInstall(nodeLinker);
        let hasPreErrors = false;
        await opts.report.startTimerPromise(`Project validation`, {
          skipIfEmpty: true
        }, async () => {
          if (this.configuration.get(`enableOfflineMode`))
            opts.report.reportWarning(MessageName_1.MessageName.OFFLINE_MODE_ENABLED, `Offline work is enabled; Yarn won't fetch packages from the remote registry if it can avoid it`);
          await this.configuration.triggerHook((hooks) => {
            return hooks.validateProject;
          }, this, {
            reportWarning: (name, text) => {
              opts.report.reportWarning(name, text);
            },
            reportError: (name, text) => {
              opts.report.reportError(name, text);
              hasPreErrors = true;
            }
          });
        });
        if (hasPreErrors)
          return;
        const packageExtensions = await this.configuration.getPackageExtensions();
        for (const extensionsByIdent of packageExtensions.values())
          for (const [, extensionsByRange] of extensionsByIdent)
            for (const extension of extensionsByRange)
              extension.status = types_2.PackageExtensionStatus.Inactive;
        const lockfilePath = fslib_2.ppath.join(this.cwd, fslib_2.Filename.lockfile);
        let initialLockfile = null;
        if (opts.immutable) {
          try {
            initialLockfile = await fslib_2.xfs.readFilePromise(lockfilePath, `utf8`);
          } catch (error) {
            if (error.code === `ENOENT`) {
              throw new Report_1.ReportError(MessageName_1.MessageName.FROZEN_LOCKFILE_EXCEPTION, `The lockfile would have been created by this install, which is explicitly forbidden.`);
            } else {
              throw error;
            }
          }
        }
        await opts.report.startTimerPromise(`Resolution step`, async () => {
          await this.resolveEverything(opts);
        });
        await opts.report.startTimerPromise(`Post-resolution validation`, {
          skipIfEmpty: true
        }, async () => {
          emitPeerDependencyWarnings(this, opts.report);
          for (const [, extensionsPerRange] of packageExtensions) {
            for (const [, extensions] of extensionsPerRange) {
              for (const extension of extensions) {
                if (extension.userProvided) {
                  const prettyPackageExtension = formatUtils.pretty(this.configuration, extension, formatUtils.Type.PACKAGE_EXTENSION);
                  switch (extension.status) {
                    case types_2.PackageExtensionStatus.Inactive:
                      {
                        opts.report.reportWarning(MessageName_1.MessageName.UNUSED_PACKAGE_EXTENSION, `${prettyPackageExtension}: No matching package in the dependency tree; you may not need this rule anymore.`);
                      }
                      break;
                    case types_2.PackageExtensionStatus.Redundant:
                      {
                        opts.report.reportWarning(MessageName_1.MessageName.REDUNDANT_PACKAGE_EXTENSION, `${prettyPackageExtension}: This rule seems redundant when applied on the original package; the extension may have been applied upstream.`);
                      }
                      break;
                  }
                }
              }
            }
          }
          if (initialLockfile !== null) {
            const newLockfile = (0, fslib_2.normalizeLineEndings)(initialLockfile, this.generateLockfile());
            if (newLockfile !== initialLockfile) {
              const diff = (0, diff_1.structuredPatch)(lockfilePath, lockfilePath, initialLockfile, newLockfile, void 0, void 0, { maxEditLength: 100 });
              if (diff) {
                opts.report.reportSeparator();
                for (const hunk of diff.hunks) {
                  opts.report.reportInfo(null, `@@ -${hunk.oldStart},${hunk.oldLines} +${hunk.newStart},${hunk.newLines} @@`);
                  for (const line of hunk.lines) {
                    if (line.startsWith(`+`)) {
                      opts.report.reportError(MessageName_1.MessageName.FROZEN_LOCKFILE_EXCEPTION, formatUtils.pretty(this.configuration, line, formatUtils.Type.ADDED));
                    } else if (line.startsWith(`-`)) {
                      opts.report.reportError(MessageName_1.MessageName.FROZEN_LOCKFILE_EXCEPTION, formatUtils.pretty(this.configuration, line, formatUtils.Type.REMOVED));
                    } else {
                      opts.report.reportInfo(null, formatUtils.pretty(this.configuration, line, `grey`));
                    }
                  }
                }
                opts.report.reportSeparator();
              }
              throw new Report_1.ReportError(MessageName_1.MessageName.FROZEN_LOCKFILE_EXCEPTION, `The lockfile would have been modified by this install, which is explicitly forbidden.`);
            }
          }
        });
        for (const extensionsByIdent of packageExtensions.values())
          for (const [, extensionsByRange] of extensionsByIdent)
            for (const extension of extensionsByRange)
              if (extension.userProvided && extension.status === types_2.PackageExtensionStatus.Active)
                Configuration_1.Configuration.telemetry?.reportPackageExtension(formatUtils.json(extension, formatUtils.Type.PACKAGE_EXTENSION));
        await opts.report.startTimerPromise(`Fetch step`, async () => {
          await this.fetchEverything(opts);
        });
        const immutablePatterns = opts.immutable ? [...new Set(this.configuration.get(`immutablePatterns`))].sort() : [];
        const before = await Promise.all(immutablePatterns.map(async (pattern) => {
          return hashUtils.checksumPattern(pattern, { cwd: this.cwd });
        }));
        if (typeof opts.persistProject === `undefined` || opts.persistProject)
          await this.persist();
        await opts.report.startTimerPromise(`Link step`, async () => {
          if (opts.mode === InstallMode.UpdateLockfile) {
            opts.report.reportWarning(MessageName_1.MessageName.UPDATE_LOCKFILE_ONLY_SKIP_LINK, `Skipped due to ${formatUtils.pretty(this.configuration, `mode=update-lockfile`, formatUtils.Type.CODE)}`);
            return;
          }
          await this.linkEverything(opts);
          const after = await Promise.all(immutablePatterns.map(async (pattern) => {
            return hashUtils.checksumPattern(pattern, { cwd: this.cwd });
          }));
          for (let t = 0; t < immutablePatterns.length; ++t) {
            if (before[t] !== after[t]) {
              opts.report.reportError(MessageName_1.MessageName.FROZEN_ARTIFACT_EXCEPTION, `The checksum for ${immutablePatterns[t]} has been modified by this install, which is explicitly forbidden.`);
            }
          }
        });
        await this.persistInstallStateFile();
        let hasPostErrors = false;
        await opts.report.startTimerPromise(`Post-install validation`, {
          skipIfEmpty: true
        }, async () => {
          await this.configuration.triggerHook((hooks) => {
            return hooks.validateProjectAfterInstall;
          }, this, {
            reportWarning: (name, text) => {
              opts.report.reportWarning(name, text);
            },
            reportError: (name, text) => {
              opts.report.reportError(name, text);
              hasPostErrors = true;
            }
          });
        });
        if (hasPostErrors)
          return;
        await this.configuration.triggerHook((hooks) => {
          return hooks.afterAllInstalled;
        }, this, opts);
      }
      generateLockfile() {
        const reverseLookup = /* @__PURE__ */ new Map();
        for (const [descriptorHash, locatorHash] of this.storedResolutions.entries()) {
          let descriptorHashes = reverseLookup.get(locatorHash);
          if (!descriptorHashes)
            reverseLookup.set(locatorHash, descriptorHashes = /* @__PURE__ */ new Set());
          descriptorHashes.add(descriptorHash);
        }
        const optimizedLockfile = {};
        const { cacheKey } = Cache_1.Cache.getCacheKey(this.configuration);
        optimizedLockfile.__metadata = {
          version: exports2.LOCKFILE_VERSION,
          cacheKey
        };
        for (const [locatorHash, descriptorHashes] of reverseLookup.entries()) {
          const pkg = this.originalPackages.get(locatorHash);
          if (!pkg)
            continue;
          const descriptors = [];
          for (const descriptorHash of descriptorHashes) {
            const descriptor = this.storedDescriptors.get(descriptorHash);
            if (!descriptor)
              throw new Error(`Assertion failed: The descriptor should have been registered`);
            descriptors.push(descriptor);
          }
          const key = descriptors.map((descriptor) => {
            return structUtils.stringifyDescriptor(descriptor);
          }).sort().join(`, `);
          const manifest = new Manifest_1.Manifest();
          manifest.version = pkg.linkType === types_1.LinkType.HARD ? pkg.version : `0.0.0-use.local`;
          manifest.languageName = pkg.languageName;
          manifest.dependencies = new Map(pkg.dependencies);
          manifest.peerDependencies = new Map(pkg.peerDependencies);
          manifest.dependenciesMeta = new Map(pkg.dependenciesMeta);
          manifest.peerDependenciesMeta = new Map(pkg.peerDependenciesMeta);
          manifest.bin = new Map(pkg.bin);
          optimizedLockfile[key] = {
            ...manifest.exportTo({}, {
              compatibilityMode: false
            }),
            linkType: pkg.linkType.toLowerCase(),
            resolution: structUtils.stringifyLocator(pkg),
            checksum: this.storedChecksums.get(pkg.locatorHash),
            conditions: pkg.conditions || void 0
          };
        }
        const header = `${[
          `# This file is generated by running "yarn install" inside your project.
`,
          `# Manual changes might be lost - proceed with caution!
`
        ].join(``)}
`;
        return header + (0, parsers_1.stringifySyml)(optimizedLockfile);
      }
      async persistLockfile() {
        const lockfilePath = fslib_2.ppath.join(this.cwd, fslib_2.Filename.lockfile);
        let currentContent = ``;
        try {
          currentContent = await fslib_2.xfs.readFilePromise(lockfilePath, `utf8`);
        } catch (error) {
        }
        const newContent = this.generateLockfile();
        const normalizedContent = (0, fslib_2.normalizeLineEndings)(currentContent, newContent);
        if (normalizedContent === currentContent)
          return;
        await fslib_2.xfs.writeFilePromise(lockfilePath, normalizedContent);
        this.lockFileChecksum = makeLockfileChecksum(normalizedContent);
        this.lockfileNeedsRefresh = false;
      }
      async persistInstallStateFile() {
        const fields = [];
        for (const category of Object.values(INSTALL_STATE_FIELDS))
          fields.push(...category);
        const installState = (0, pick_1.default)(this, fields);
        const serializedState = v8_1.default.serialize(installState);
        const newInstallStateChecksum = hashUtils.makeHash(serializedState);
        if (this.installStateChecksum === newInstallStateChecksum)
          return;
        const installStatePath = this.configuration.get(`installStatePath`);
        await fslib_2.xfs.mkdirPromise(fslib_2.ppath.dirname(installStatePath), { recursive: true });
        await fslib_2.xfs.writeFilePromise(installStatePath, await gzip(serializedState));
        this.installStateChecksum = newInstallStateChecksum;
      }
      async restoreInstallState({ restoreLinkersCustomData = true, restoreResolutions = true, restoreBuildState = true } = {}) {
        const installStatePath = this.configuration.get(`installStatePath`);
        let installState;
        try {
          const installStateBuffer = await gunzip(await fslib_2.xfs.readFilePromise(installStatePath));
          installState = v8_1.default.deserialize(installStateBuffer);
          this.installStateChecksum = hashUtils.makeHash(installStateBuffer);
        } catch {
          if (restoreResolutions)
            await this.applyLightResolution();
          return;
        }
        if (restoreLinkersCustomData) {
          if (typeof installState.linkersCustomData !== `undefined`)
            this.linkersCustomData = installState.linkersCustomData;
        }
        if (restoreBuildState)
          Object.assign(this, (0, pick_1.default)(installState, INSTALL_STATE_FIELDS.restoreBuildState));
        if (restoreResolutions) {
          if (installState.lockFileChecksum === this.lockFileChecksum) {
            Object.assign(this, (0, pick_1.default)(installState, INSTALL_STATE_FIELDS.restoreResolutions));
          } else {
            await this.applyLightResolution();
          }
        }
      }
      async applyLightResolution() {
        await this.resolveEverything({
          lockfileOnly: true,
          report: new ThrowReport_1.ThrowReport()
        });
        await this.persistInstallStateFile();
      }
      async persist() {
        const limit = (0, p_limit_12.default)(4);
        await Promise.all([
          this.persistLockfile(),
          ...this.workspaces.map((workspace) => {
            return limit(() => workspace.persistManifest());
          })
        ]);
      }
      async cacheCleanup({ cache, report }) {
        if (this.configuration.get(`enableGlobalCache`))
          return null;
        const PRESERVED_FILES = /* @__PURE__ */ new Set([
          `.gitignore`
        ]);
        if (!(0, folderUtils_1.isFolderInside)(cache.cwd, this.cwd))
          return null;
        if (!await fslib_2.xfs.existsPromise(cache.cwd))
          return null;
        const cleanupPromises = [];
        for (const entry of await fslib_2.xfs.readdirPromise(cache.cwd)) {
          if (PRESERVED_FILES.has(entry))
            continue;
          const entryPath = fslib_2.ppath.resolve(cache.cwd, entry);
          if (cache.markedFiles.has(entryPath))
            continue;
          if (cache.immutable) {
            report.reportError(MessageName_1.MessageName.IMMUTABLE_CACHE, `${formatUtils.pretty(this.configuration, fslib_2.ppath.basename(entryPath), `magenta`)} appears to be unused and would be marked for deletion, but the cache is immutable`);
          } else {
            cleanupPromises.push(fslib_2.xfs.lstatPromise(entryPath).then(async (stat) => {
              await fslib_2.xfs.removePromise(entryPath);
              return stat.size;
            }));
          }
        }
        if (cleanupPromises.length === 0)
          return null;
        const sizes = await Promise.all(cleanupPromises);
        return {
          count: cleanupPromises.length,
          size: sizes.reduce((sum, size) => sum + size, 0)
        };
      }
    };
    exports2.Project = Project;
    function applyVirtualResolutionMutations({ project, allDescriptors, allResolutions, allPackages, accessibleLocators = /* @__PURE__ */ new Set(), optionalBuilds = /* @__PURE__ */ new Set(), peerRequirements = /* @__PURE__ */ new Map(), peerWarnings = [], volatileDescriptors = /* @__PURE__ */ new Set() }) {
      const virtualStack = /* @__PURE__ */ new Map();
      const resolutionStack = [];
      const allIdents = /* @__PURE__ */ new Map();
      const allVirtualInstances = /* @__PURE__ */ new Map();
      const allVirtualDependents = /* @__PURE__ */ new Map();
      const peerDependencyLinks = /* @__PURE__ */ new Map();
      const peerDependencyDependents = /* @__PURE__ */ new Map();
      const originalWorkspaceDefinitions = new Map(project.workspaces.map((workspace) => {
        const locatorHash = workspace.anchoredLocator.locatorHash;
        const pkg = allPackages.get(locatorHash);
        if (typeof pkg === `undefined`)
          throw new Error(`Assertion failed: The workspace should have an associated package`);
        return [locatorHash, structUtils.copyPackage(pkg)];
      }));
      const reportStackOverflow = () => {
        const logDir = fslib_2.xfs.mktempSync();
        const logFile = fslib_2.ppath.join(logDir, `stacktrace.log`);
        const maxSize = String(resolutionStack.length + 1).length;
        const content = resolutionStack.map((locator, index) => {
          const prefix = `${index + 1}.`.padStart(maxSize, ` `);
          return `${prefix} ${structUtils.stringifyLocator(locator)}
`;
        }).join(``);
        fslib_2.xfs.writeFileSync(logFile, content);
        fslib_2.xfs.detachTemp(logDir);
        throw new Report_1.ReportError(MessageName_1.MessageName.STACK_OVERFLOW_RESOLUTION, `Encountered a stack overflow when resolving peer dependencies; cf ${fslib_12.npath.fromPortablePath(logFile)}`);
      };
      const getPackageFromDescriptor = (descriptor) => {
        const resolution = allResolutions.get(descriptor.descriptorHash);
        if (typeof resolution === `undefined`)
          throw new Error(`Assertion failed: The resolution should have been registered`);
        const pkg = allPackages.get(resolution);
        if (!pkg)
          throw new Error(`Assertion failed: The package could not be found`);
        return pkg;
      };
      const resolvePeerDependencies = (parentDescriptor, parentLocator, peerSlots, { top, optional }) => {
        if (resolutionStack.length > 1e3)
          reportStackOverflow();
        resolutionStack.push(parentLocator);
        const result2 = resolvePeerDependenciesImpl(parentDescriptor, parentLocator, peerSlots, { top, optional });
        resolutionStack.pop();
        return result2;
      };
      const resolvePeerDependenciesImpl = (parentDescriptor, parentLocator, peerSlots, { top, optional }) => {
        if (!optional)
          optionalBuilds.delete(parentLocator.locatorHash);
        if (accessibleLocators.has(parentLocator.locatorHash))
          return;
        accessibleLocators.add(parentLocator.locatorHash);
        const parentPackage = allPackages.get(parentLocator.locatorHash);
        if (!parentPackage)
          throw new Error(`Assertion failed: The package (${structUtils.prettyLocator(project.configuration, parentLocator)}) should have been registered`);
        const newVirtualInstances = [];
        const firstPass = [];
        const secondPass = [];
        const thirdPass = [];
        const fourthPass = [];
        for (const descriptor of Array.from(parentPackage.dependencies.values())) {
          if (parentPackage.peerDependencies.has(descriptor.identHash) && parentPackage.locatorHash !== top)
            continue;
          if (structUtils.isVirtualDescriptor(descriptor))
            throw new Error(`Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch`);
          volatileDescriptors.delete(descriptor.descriptorHash);
          let isOptional = optional;
          if (!isOptional) {
            const dependencyMetaSet = parentPackage.dependenciesMeta.get(structUtils.stringifyIdent(descriptor));
            if (typeof dependencyMetaSet !== `undefined`) {
              const dependencyMeta = dependencyMetaSet.get(null);
              if (typeof dependencyMeta !== `undefined` && dependencyMeta.optional) {
                isOptional = true;
              }
            }
          }
          const resolution = allResolutions.get(descriptor.descriptorHash);
          if (!resolution)
            throw new Error(`Assertion failed: The resolution (${structUtils.prettyDescriptor(project.configuration, descriptor)}) should have been registered`);
          const pkg = originalWorkspaceDefinitions.get(resolution) || allPackages.get(resolution);
          if (!pkg)
            throw new Error(`Assertion failed: The package (${resolution}, resolved from ${structUtils.prettyDescriptor(project.configuration, descriptor)}) should have been registered`);
          if (pkg.peerDependencies.size === 0) {
            resolvePeerDependencies(descriptor, pkg, /* @__PURE__ */ new Map(), { top, optional: isOptional });
            continue;
          }
          let virtualizedDescriptor;
          let virtualizedPackage;
          const missingPeerDependencies = /* @__PURE__ */ new Set();
          let nextPeerSlots;
          firstPass.push(() => {
            virtualizedDescriptor = structUtils.virtualizeDescriptor(descriptor, parentLocator.locatorHash);
            virtualizedPackage = structUtils.virtualizePackage(pkg, parentLocator.locatorHash);
            parentPackage.dependencies.delete(descriptor.identHash);
            parentPackage.dependencies.set(virtualizedDescriptor.identHash, virtualizedDescriptor);
            allResolutions.set(virtualizedDescriptor.descriptorHash, virtualizedPackage.locatorHash);
            allDescriptors.set(virtualizedDescriptor.descriptorHash, virtualizedDescriptor);
            allPackages.set(virtualizedPackage.locatorHash, virtualizedPackage);
            newVirtualInstances.push([pkg, virtualizedDescriptor, virtualizedPackage]);
          });
          secondPass.push(() => {
            nextPeerSlots = /* @__PURE__ */ new Map();
            for (const peerRequest of virtualizedPackage.peerDependencies.values()) {
              let peerDescriptor = parentPackage.dependencies.get(peerRequest.identHash);
              if (!peerDescriptor && structUtils.areIdentsEqual(parentLocator, peerRequest)) {
                if (parentDescriptor.identHash === parentLocator.identHash) {
                  peerDescriptor = parentDescriptor;
                } else {
                  peerDescriptor = structUtils.makeDescriptor(parentLocator, parentDescriptor.range);
                  allDescriptors.set(peerDescriptor.descriptorHash, peerDescriptor);
                  allResolutions.set(peerDescriptor.descriptorHash, parentLocator.locatorHash);
                  volatileDescriptors.delete(peerDescriptor.descriptorHash);
                }
              }
              if ((!peerDescriptor || peerDescriptor.range === `missing:`) && virtualizedPackage.dependencies.has(peerRequest.identHash)) {
                virtualizedPackage.peerDependencies.delete(peerRequest.identHash);
                continue;
              }
              if (!peerDescriptor)
                peerDescriptor = structUtils.makeDescriptor(peerRequest, `missing:`);
              virtualizedPackage.dependencies.set(peerDescriptor.identHash, peerDescriptor);
              if (structUtils.isVirtualDescriptor(peerDescriptor)) {
                const dependents = miscUtils.getSetWithDefault(allVirtualDependents, peerDescriptor.descriptorHash);
                dependents.add(virtualizedPackage.locatorHash);
              }
              allIdents.set(peerDescriptor.identHash, peerDescriptor);
              if (peerDescriptor.range === `missing:`)
                missingPeerDependencies.add(peerDescriptor.identHash);
              nextPeerSlots.set(peerRequest.identHash, peerSlots.get(peerRequest.identHash) ?? virtualizedPackage.locatorHash);
            }
            virtualizedPackage.dependencies = new Map(miscUtils.sortMap(virtualizedPackage.dependencies, ([identHash, descriptor2]) => {
              return structUtils.stringifyIdent(descriptor2);
            }));
          });
          thirdPass.push(() => {
            if (!allPackages.has(virtualizedPackage.locatorHash))
              return;
            const stackDepth = virtualStack.get(pkg.locatorHash);
            if (typeof stackDepth === `number` && stackDepth >= 2)
              reportStackOverflow();
            const current = virtualStack.get(pkg.locatorHash);
            const next = typeof current !== `undefined` ? current + 1 : 1;
            virtualStack.set(pkg.locatorHash, next);
            resolvePeerDependencies(virtualizedDescriptor, virtualizedPackage, nextPeerSlots, { top, optional: isOptional });
            virtualStack.set(pkg.locatorHash, next - 1);
          });
          fourthPass.push(() => {
            const finalDescriptor = parentPackage.dependencies.get(descriptor.identHash);
            if (typeof finalDescriptor === `undefined`)
              throw new Error(`Assertion failed: Expected the peer dependency to have been turned into a dependency`);
            const finalResolution = allResolutions.get(finalDescriptor.descriptorHash);
            if (typeof finalResolution === `undefined`)
              throw new Error(`Assertion failed: Expected the descriptor to be registered`);
            miscUtils.getSetWithDefault(peerDependencyDependents, finalResolution).add(parentLocator.locatorHash);
            if (!allPackages.has(virtualizedPackage.locatorHash))
              return;
            for (const descriptor2 of virtualizedPackage.peerDependencies.values()) {
              const root = nextPeerSlots.get(descriptor2.identHash);
              if (typeof root === `undefined`)
                throw new Error(`Assertion failed: Expected the peer dependency ident to be registered`);
              miscUtils.getArrayWithDefault(miscUtils.getMapWithDefault(peerDependencyLinks, root), structUtils.stringifyIdent(descriptor2)).push(virtualizedPackage.locatorHash);
            }
            for (const missingPeerDependency of missingPeerDependencies) {
              virtualizedPackage.dependencies.delete(missingPeerDependency);
            }
          });
        }
        for (const fn of [...firstPass, ...secondPass])
          fn();
        let stable;
        do {
          stable = true;
          for (const [physicalLocator, virtualDescriptor, virtualPackage] of newVirtualInstances) {
            const otherVirtualInstances = miscUtils.getMapWithDefault(allVirtualInstances, physicalLocator.locatorHash);
            const dependencyHash = hashUtils.makeHash(
              ...[...virtualPackage.dependencies.values()].map((descriptor) => {
                const resolution = descriptor.range !== `missing:` ? allResolutions.get(descriptor.descriptorHash) : `missing:`;
                if (typeof resolution === `undefined`)
                  throw new Error(`Assertion failed: Expected the resolution for ${structUtils.prettyDescriptor(project.configuration, descriptor)} to have been registered`);
                return resolution === top ? `${resolution} (top)` : resolution;
              }),
              // We use the identHash to disambiguate between virtual descriptors
              // with different base idents being resolved to the same virtual package.
              // Note: We don't use the descriptorHash because the whole point of duplicate
              // virtual descriptors is that they have different `virtual:` ranges.
              // This causes the virtual descriptors with different base idents
              // to be preserved, while the virtual package they resolve to gets deduped.
              virtualDescriptor.identHash
            );
            const masterDescriptor = otherVirtualInstances.get(dependencyHash);
            if (typeof masterDescriptor === `undefined`) {
              otherVirtualInstances.set(dependencyHash, virtualDescriptor);
              continue;
            }
            if (masterDescriptor === virtualDescriptor)
              continue;
            allPackages.delete(virtualPackage.locatorHash);
            allDescriptors.delete(virtualDescriptor.descriptorHash);
            allResolutions.delete(virtualDescriptor.descriptorHash);
            accessibleLocators.delete(virtualPackage.locatorHash);
            const dependents = allVirtualDependents.get(virtualDescriptor.descriptorHash) || [];
            const allDependents = [parentPackage.locatorHash, ...dependents];
            allVirtualDependents.delete(virtualDescriptor.descriptorHash);
            for (const dependent of allDependents) {
              const pkg = allPackages.get(dependent);
              if (typeof pkg === `undefined`)
                continue;
              if (pkg.dependencies.get(virtualDescriptor.identHash).descriptorHash !== masterDescriptor.descriptorHash)
                stable = false;
              pkg.dependencies.set(virtualDescriptor.identHash, masterDescriptor);
            }
          }
        } while (!stable);
        for (const fn of [...thirdPass, ...fourthPass]) {
          fn();
        }
      };
      for (const workspace of project.workspaces) {
        const locator = workspace.anchoredLocator;
        volatileDescriptors.delete(workspace.anchoredDescriptor.descriptorHash);
        resolvePeerDependencies(workspace.anchoredDescriptor, locator, /* @__PURE__ */ new Map(), { top: locator.locatorHash, optional: false });
      }
      const aggregatedInvalidPeerDependencyWarnings = /* @__PURE__ */ new Map();
      for (const [rootHash, dependents] of peerDependencyDependents) {
        const root = allPackages.get(rootHash);
        if (typeof root === `undefined`)
          throw new Error(`Assertion failed: Expected the root to be registered`);
        const rootLinks = peerDependencyLinks.get(rootHash);
        if (typeof rootLinks === `undefined`)
          continue;
        for (const dependentHash of dependents) {
          const dependent = allPackages.get(dependentHash);
          if (typeof dependent === `undefined`)
            continue;
          if (!project.tryWorkspaceByLocator(dependent))
            continue;
          for (const [identStr, linkHashes] of rootLinks) {
            const ident = structUtils.parseIdent(identStr);
            if (dependent.peerDependencies.has(ident.identHash))
              continue;
            const hash = `p${hashUtils.makeHash(dependentHash, identStr, rootHash).slice(0, 5)}`;
            peerRequirements.set(hash, {
              subject: dependentHash,
              requested: ident,
              rootRequester: rootHash,
              allRequesters: linkHashes
            });
            const resolvedDescriptor = root.dependencies.get(ident.identHash);
            if (typeof resolvedDescriptor !== `undefined`) {
              const peerResolution = getPackageFromDescriptor(resolvedDescriptor);
              const peerVersion = peerResolution.version ?? `0.0.0`;
              const ranges = /* @__PURE__ */ new Set();
              for (const linkHash of linkHashes) {
                const link = allPackages.get(linkHash);
                if (typeof link === `undefined`)
                  throw new Error(`Assertion failed: Expected the link to be registered`);
                const peerDependency = link.peerDependencies.get(ident.identHash);
                if (typeof peerDependency === `undefined`)
                  throw new Error(`Assertion failed: Expected the ident to be registered`);
                ranges.add(peerDependency.range);
              }
              const satisfiesAll = [...ranges].every((range) => {
                if (range.startsWith(WorkspaceResolver_1.WorkspaceResolver.protocol)) {
                  if (!project.tryWorkspaceByLocator(peerResolution))
                    return false;
                  range = range.slice(WorkspaceResolver_1.WorkspaceResolver.protocol.length);
                  if (range === `^` || range === `~`) {
                    range = `*`;
                  }
                }
                return semverUtils.satisfiesWithPrereleases(peerVersion, range);
              });
              if (!satisfiesAll) {
                const aggregatedWarning = miscUtils.getFactoryWithDefault(aggregatedInvalidPeerDependencyWarnings, peerResolution.locatorHash, () => ({
                  type: PeerWarningType.NotCompatibleAggregate,
                  requested: ident,
                  subject: peerResolution,
                  dependents: /* @__PURE__ */ new Map(),
                  requesters: /* @__PURE__ */ new Map(),
                  links: /* @__PURE__ */ new Map(),
                  version: peerVersion,
                  hash: `p${peerResolution.locatorHash.slice(0, 5)}`
                }));
                aggregatedWarning.dependents.set(dependent.locatorHash, dependent);
                aggregatedWarning.requesters.set(root.locatorHash, root);
                for (const linkHash of linkHashes)
                  aggregatedWarning.links.set(linkHash, allPackages.get(linkHash));
                peerWarnings.push({
                  type: PeerWarningType.NotCompatible,
                  subject: dependent,
                  requested: ident,
                  requester: root,
                  version: peerVersion,
                  hash,
                  requirementCount: linkHashes.length
                });
              }
            } else {
              const peerDependencyMeta = root.peerDependenciesMeta.get(identStr);
              if (!peerDependencyMeta?.optional) {
                peerWarnings.push({
                  type: PeerWarningType.NotProvided,
                  subject: dependent,
                  requested: ident,
                  requester: root,
                  hash
                });
              }
            }
          }
        }
      }
      peerWarnings.push(...aggregatedInvalidPeerDependencyWarnings.values());
    }
    function emitPeerDependencyWarnings(project, report) {
      const warningsByType = miscUtils.groupBy(project.peerWarnings, `type`);
      const notCompatibleAggregateWarnings = warningsByType[PeerWarningType.NotCompatibleAggregate]?.map((warning) => {
        const allRanges = Array.from(warning.links.values(), (locator) => {
          const pkg = project.storedPackages.get(locator.locatorHash);
          if (typeof pkg === `undefined`)
            throw new Error(`Assertion failed: Expected the package to be registered`);
          const peerDependency = pkg.peerDependencies.get(warning.requested.identHash);
          if (typeof peerDependency === `undefined`)
            throw new Error(`Assertion failed: Expected the ident to be registered`);
          return peerDependency.range;
        });
        const andDescendants = warning.links.size > 1 ? `and other dependencies request` : `requests`;
        const resolvedRange = semverUtils.simplifyRanges(allRanges);
        const rangeDescription = resolvedRange ? structUtils.prettyRange(project.configuration, resolvedRange) : formatUtils.pretty(project.configuration, `but they have non-overlapping ranges!`, `redBright`);
        return `${structUtils.prettyIdent(project.configuration, warning.requested)} is listed by your project with version ${structUtils.prettyReference(project.configuration, warning.version)}, which doesn't satisfy what ${structUtils.prettyIdent(project.configuration, warning.requesters.values().next().value)} (${formatUtils.pretty(project.configuration, warning.hash, formatUtils.Type.CODE)}) ${andDescendants} (${rangeDescription}).`;
      }) ?? [];
      const omittedWarnings = warningsByType[PeerWarningType.NotProvided]?.map((warning) => {
        return `${structUtils.prettyLocator(project.configuration, warning.subject)} doesn't provide ${structUtils.prettyIdent(project.configuration, warning.requested)} (${formatUtils.pretty(project.configuration, warning.hash, formatUtils.Type.CODE)}), requested by ${structUtils.prettyIdent(project.configuration, warning.requester)}.`;
      }) ?? [];
      report.startSectionSync({
        reportFooter: () => {
          report.reportWarning(MessageName_1.MessageName.EXPLAIN_PEER_DEPENDENCIES_CTA, `Some peer dependencies are incorrectly met; run ${formatUtils.pretty(project.configuration, `yarn explain peer-requirements <hash>`, formatUtils.Type.CODE)} for details, where ${formatUtils.pretty(project.configuration, `<hash>`, formatUtils.Type.CODE)} is the six-letter p-prefixed code.`);
        },
        skipIfEmpty: true
      }, () => {
        for (const warning of miscUtils.sortMap(notCompatibleAggregateWarnings, (line) => formatUtils.stripAnsi(line)))
          report.reportWarning(MessageName_1.MessageName.INCOMPATIBLE_PEER_DEPENDENCY, warning);
        for (const warning of miscUtils.sortMap(omittedWarnings, (line) => formatUtils.stripAnsi(line))) {
          report.reportWarning(MessageName_1.MessageName.MISSING_PEER_DEPENDENCY, warning);
        }
      });
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/TelemetryManager.js
var require_TelemetryManager = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/TelemetryManager.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.TelemetryManager = exports2.MetricName = void 0;
    exports2.derive = derive;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var fslib_12 = require_lib66();
    var YarnVersion_1 = require_YarnVersion();
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    var httpUtils = tslib_12.__importStar(require_httpUtils());
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    var MetricName;
    (function(MetricName2) {
      MetricName2["VERSION"] = "version";
      MetricName2["COMMAND_NAME"] = "commandName";
      MetricName2["PLUGIN_NAME"] = "pluginName";
      MetricName2["INSTALL_COUNT"] = "installCount";
      MetricName2["PROJECT_COUNT"] = "projectCount";
      MetricName2["WORKSPACE_COUNT"] = "workspaceCount";
      MetricName2["DEPENDENCY_COUNT"] = "dependencyCount";
      MetricName2["EXTENSION"] = "packageExtension";
    })(MetricName || (exports2.MetricName = MetricName = {}));
    function derive(params) {
      const hour = 60 * 60 * 1e3;
      const day = 24 * hour;
      const nowDay = Math.floor(params.timeNow / day);
      const updateIntervalMs = params.updateInterval * day;
      const lastUpdate = params.state.lastUpdate ?? params.timeNow + updateIntervalMs + Math.floor(updateIntervalMs * params.randomInitialInterval);
      const nextUpdate = lastUpdate + updateIntervalMs;
      const lastTips = params.state.lastTips ?? nowDay * day;
      const nextTips = lastTips + day + 8 * hour - params.timeZone;
      const triggerUpdate = nextUpdate <= params.timeNow;
      const triggerTips = nextTips <= params.timeNow;
      let nextState = null;
      if (triggerUpdate || triggerTips || !params.state.lastUpdate || !params.state.lastTips) {
        nextState = {};
        nextState.lastUpdate = triggerUpdate ? params.timeNow : lastUpdate;
        nextState.lastTips = lastTips;
        nextState.blocks = triggerUpdate ? {} : params.state.blocks;
        nextState.displayedTips = params.state.displayedTips;
      }
      return { nextState, triggerUpdate, triggerTips, nextTips: triggerTips ? nowDay * day : lastTips };
    }
    var TelemetryManager = class {
      constructor(configuration, accountId) {
        this.values = /* @__PURE__ */ new Map();
        this.hits = /* @__PURE__ */ new Map();
        this.enumerators = /* @__PURE__ */ new Map();
        this.nextTips = 0;
        this.displayedTips = [];
        this.shouldCommitTips = false;
        this.configuration = configuration;
        const registryFile = this.getRegistryPath();
        this.isNew = !fslib_12.xfs.existsSync(registryFile);
        this.shouldShowTips = false;
        this.sendReport(accountId);
        this.startBuffer();
      }
      /**
       * Prevents the tip from being displayed today, but doesn't actually display it.
       * We use it when replacing the tip by something else (like an upgrade prompt).
       */
      commitTips() {
        if (this.shouldShowTips) {
          this.shouldCommitTips = true;
        }
      }
      selectTip(allTips) {
        const displayedTips = new Set(this.displayedTips);
        const checkVersion = (selector) => {
          if (selector && YarnVersion_1.YarnVersion) {
            return semverUtils.satisfiesWithPrereleases(YarnVersion_1.YarnVersion, selector);
          } else {
            return false;
          }
        };
        const activeTips = allTips.map((_, index) => index).filter((index) => allTips[index] && checkVersion(allTips[index]?.selector));
        if (activeTips.length === 0)
          return null;
        let availableTips = activeTips.filter((index) => !displayedTips.has(index));
        if (availableTips.length === 0) {
          const sliceLength = Math.floor(activeTips.length * 0.2);
          this.displayedTips = sliceLength > 0 ? this.displayedTips.slice(-sliceLength) : [];
          availableTips = activeTips.filter((index) => !displayedTips.has(index));
        }
        const selectedTip = availableTips[Math.floor(Math.random() * availableTips.length)];
        this.displayedTips.push(selectedTip);
        this.commitTips();
        return allTips[selectedTip];
      }
      reportVersion(value) {
        this.reportValue(MetricName.VERSION, value.replace(/-git\..*/, `-git`));
      }
      reportCommandName(value) {
        this.reportValue(MetricName.COMMAND_NAME, value || `<none>`);
      }
      reportPluginName(value) {
        this.reportValue(MetricName.PLUGIN_NAME, value);
      }
      reportProject(cwd) {
        this.reportEnumerator(MetricName.PROJECT_COUNT, cwd);
      }
      reportInstall(nodeLinker) {
        this.reportHit(MetricName.INSTALL_COUNT, nodeLinker);
      }
      reportPackageExtension(value) {
        this.reportValue(MetricName.EXTENSION, value);
      }
      reportWorkspaceCount(count) {
        this.reportValue(MetricName.WORKSPACE_COUNT, String(count));
      }
      reportDependencyCount(count) {
        this.reportValue(MetricName.DEPENDENCY_COUNT, String(count));
      }
      reportValue(metric, value) {
        miscUtils.getSetWithDefault(this.values, metric).add(value);
      }
      reportEnumerator(metric, value) {
        miscUtils.getSetWithDefault(this.enumerators, metric).add(hashUtils.makeHash(value));
      }
      reportHit(metric, extra = `*`) {
        const ns = miscUtils.getMapWithDefault(this.hits, metric);
        const current = miscUtils.getFactoryWithDefault(ns, extra, () => 0);
        ns.set(extra, current + 1);
      }
      getRegistryPath() {
        const registryFile = this.configuration.get(`globalFolder`);
        return fslib_12.ppath.join(registryFile, `telemetry.json`);
      }
      sendReport(accountId) {
        const registryFile = this.getRegistryPath();
        let state;
        try {
          state = fslib_12.xfs.readJsonSync(registryFile);
        } catch {
          state = {};
        }
        const { nextState, triggerUpdate, triggerTips, nextTips } = derive({
          state,
          timeNow: Date.now(),
          timeZone: (/* @__PURE__ */ new Date()).getTimezoneOffset() * 60 * 1e3,
          randomInitialInterval: Math.random(),
          updateInterval: this.configuration.get(`telemetryInterval`)
        });
        this.nextTips = nextTips;
        this.displayedTips = state.displayedTips ?? [];
        if (nextState !== null) {
          try {
            fslib_12.xfs.mkdirSync(fslib_12.ppath.dirname(registryFile), { recursive: true });
            fslib_12.xfs.writeJsonSync(registryFile, nextState);
          } catch {
            return false;
          }
        }
        if (triggerTips && this.configuration.get(`enableTips`))
          this.shouldShowTips = true;
        if (triggerUpdate) {
          const blocks = state.blocks ?? {};
          if (Object.keys(blocks).length === 0) {
            const rawUrl = `https://browser-http-intake.logs.datadoghq.eu/v1/input/${accountId}?ddsource=yarn`;
            const sendPayload = (payload) => httpUtils.post(rawUrl, payload, {
              configuration: this.configuration
            }).catch(() => {
            });
            for (const [userId, block] of Object.entries(state.blocks ?? {})) {
              if (Object.keys(block).length === 0)
                continue;
              const upload = block;
              upload.userId = userId;
              upload.reportType = `primary`;
              for (const key of Object.keys(upload.enumerators ?? {}))
                upload.enumerators[key] = upload.enumerators[key].length;
              sendPayload(upload);
              const toSend = /* @__PURE__ */ new Map();
              const maxValues = 20;
              for (const [metricName, values] of Object.entries(upload.values))
                if (values.length > 0)
                  toSend.set(metricName, values.slice(0, maxValues));
              while (toSend.size > 0) {
                const upload2 = {};
                upload2.userId = userId;
                upload2.reportType = `secondary`;
                upload2.metrics = {};
                for (const [metricName, values] of toSend) {
                  upload2.metrics[metricName] = values.shift();
                  if (values.length === 0) {
                    toSend.delete(metricName);
                  }
                }
                sendPayload(upload2);
              }
            }
          }
        }
        return true;
      }
      applyChanges() {
        const registryFile = this.getRegistryPath();
        let state;
        try {
          state = fslib_12.xfs.readJsonSync(registryFile);
        } catch {
          state = {};
        }
        const userId = this.configuration.get(`telemetryUserId`) ?? `*`;
        const blocks = state.blocks = state.blocks ?? {};
        const block = blocks[userId] = blocks[userId] ?? {};
        for (const key of this.hits.keys()) {
          const store = block.hits = block.hits ?? {};
          const ns = store[key] = store[key] ?? {};
          for (const [extra, value] of this.hits.get(key)) {
            ns[extra] = (ns[extra] ?? 0) + value;
          }
        }
        for (const field of [`values`, `enumerators`]) {
          for (const key of this[field].keys()) {
            const store = block[field] = block[field] ?? {};
            store[key] = [.../* @__PURE__ */ new Set([
              ...store[key] ?? [],
              ...this[field].get(key) ?? []
            ])];
          }
        }
        if (this.shouldCommitTips) {
          state.lastTips = this.nextTips;
          state.displayedTips = this.displayedTips;
        }
        fslib_12.xfs.mkdirSync(fslib_12.ppath.dirname(registryFile), { recursive: true });
        fslib_12.xfs.writeJsonSync(registryFile, state);
      }
      startBuffer() {
        process.on(`exit`, () => {
          try {
            this.applyChanges();
          } catch {
          }
        });
      }
    };
    exports2.TelemetryManager = TelemetryManager;
  }
});

// ../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/index.js
var require_lib159 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+core@4.0.5_typanion@3.14.0/node_modules/@yarnpkg/core/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.treeUtils = exports2.tgzUtils = exports2.structUtils = exports2.semverUtils = exports2.scriptUtils = exports2.nodeUtils = exports2.miscUtils = exports2.formatUtils = exports2.folderUtils = exports2.execUtils = exports2.httpUtils = exports2.hashUtils = exports2.PackageExtensionStatus = exports2.PackageExtensionType = exports2.LinkType = exports2.YarnVersion = exports2.Workspace = exports2.WorkspaceResolver = exports2.WorkspaceFetcher = exports2.VirtualFetcher = exports2.ThrowReport = exports2.TelemetryManager = exports2.reportOptionDeprecations = exports2.StreamReport = exports2.Report = exports2.ReportError = exports2.InstallMode = exports2.Project = exports2.PeerWarningType = exports2.LOCKFILE_VERSION = exports2.MultiFetcher = exports2.stringifyMessageName = exports2.parseMessageName = exports2.MessageName = exports2.Manifest = exports2.LockfileResolver = exports2.LightReport = exports2.LegacyMigrationResolver = exports2.BuildDirectiveType = exports2.WindowsLinkType = exports2.SettingsType = exports2.FormatType = exports2.Configuration = exports2.TAG_REGEXP = exports2.LEGACY_PLUGINS = exports2.DEFAULT_RC_FILENAME = exports2.Cache = exports2.CACHE_CHECKPOINT = exports2.CACHE_VERSION = void 0;
    var tslib_12 = (init_tslib_es6(), __toCommonJS(tslib_es6_exports));
    var execUtils = tslib_12.__importStar(require_execUtils());
    exports2.execUtils = execUtils;
    var folderUtils = tslib_12.__importStar(require_folderUtils());
    exports2.folderUtils = folderUtils;
    var formatUtils = tslib_12.__importStar(require_formatUtils());
    exports2.formatUtils = formatUtils;
    var hashUtils = tslib_12.__importStar(require_hashUtils());
    exports2.hashUtils = hashUtils;
    var httpUtils = tslib_12.__importStar(require_httpUtils());
    exports2.httpUtils = httpUtils;
    var miscUtils = tslib_12.__importStar(require_miscUtils());
    exports2.miscUtils = miscUtils;
    var nodeUtils = tslib_12.__importStar(require_nodeUtils());
    exports2.nodeUtils = nodeUtils;
    var scriptUtils = tslib_12.__importStar(require_scriptUtils());
    exports2.scriptUtils = scriptUtils;
    var semverUtils = tslib_12.__importStar(require_semverUtils());
    exports2.semverUtils = semverUtils;
    var structUtils = tslib_12.__importStar(require_structUtils());
    exports2.structUtils = structUtils;
    var tgzUtils = tslib_12.__importStar(require_tgzUtils());
    exports2.tgzUtils = tgzUtils;
    var treeUtils = tslib_12.__importStar(require_treeUtils());
    exports2.treeUtils = treeUtils;
    var Cache_1 = require_Cache();
    Object.defineProperty(exports2, "CACHE_VERSION", { enumerable: true, get: function() {
      return Cache_1.CACHE_VERSION;
    } });
    Object.defineProperty(exports2, "CACHE_CHECKPOINT", { enumerable: true, get: function() {
      return Cache_1.CACHE_CHECKPOINT;
    } });
    Object.defineProperty(exports2, "Cache", { enumerable: true, get: function() {
      return Cache_1.Cache;
    } });
    var Configuration_1 = require_Configuration();
    Object.defineProperty(exports2, "DEFAULT_RC_FILENAME", { enumerable: true, get: function() {
      return Configuration_1.DEFAULT_RC_FILENAME;
    } });
    Object.defineProperty(exports2, "LEGACY_PLUGINS", { enumerable: true, get: function() {
      return Configuration_1.LEGACY_PLUGINS;
    } });
    Object.defineProperty(exports2, "TAG_REGEXP", { enumerable: true, get: function() {
      return Configuration_1.TAG_REGEXP;
    } });
    var Configuration_2 = require_Configuration();
    Object.defineProperty(exports2, "Configuration", { enumerable: true, get: function() {
      return Configuration_2.Configuration;
    } });
    Object.defineProperty(exports2, "FormatType", { enumerable: true, get: function() {
      return Configuration_2.FormatType;
    } });
    Object.defineProperty(exports2, "SettingsType", { enumerable: true, get: function() {
      return Configuration_2.SettingsType;
    } });
    Object.defineProperty(exports2, "WindowsLinkType", { enumerable: true, get: function() {
      return Configuration_2.WindowsLinkType;
    } });
    var Installer_1 = require_Installer();
    Object.defineProperty(exports2, "BuildDirectiveType", { enumerable: true, get: function() {
      return Installer_1.BuildDirectiveType;
    } });
    var LegacyMigrationResolver_1 = require_LegacyMigrationResolver();
    Object.defineProperty(exports2, "LegacyMigrationResolver", { enumerable: true, get: function() {
      return LegacyMigrationResolver_1.LegacyMigrationResolver;
    } });
    var LightReport_1 = require_LightReport();
    Object.defineProperty(exports2, "LightReport", { enumerable: true, get: function() {
      return LightReport_1.LightReport;
    } });
    var LockfileResolver_1 = require_LockfileResolver();
    Object.defineProperty(exports2, "LockfileResolver", { enumerable: true, get: function() {
      return LockfileResolver_1.LockfileResolver;
    } });
    var Manifest_1 = require_Manifest();
    Object.defineProperty(exports2, "Manifest", { enumerable: true, get: function() {
      return Manifest_1.Manifest;
    } });
    var MessageName_1 = require_MessageName();
    Object.defineProperty(exports2, "MessageName", { enumerable: true, get: function() {
      return MessageName_1.MessageName;
    } });
    Object.defineProperty(exports2, "parseMessageName", { enumerable: true, get: function() {
      return MessageName_1.parseMessageName;
    } });
    Object.defineProperty(exports2, "stringifyMessageName", { enumerable: true, get: function() {
      return MessageName_1.stringifyMessageName;
    } });
    var MultiFetcher_1 = require_MultiFetcher();
    Object.defineProperty(exports2, "MultiFetcher", { enumerable: true, get: function() {
      return MultiFetcher_1.MultiFetcher;
    } });
    var Project_1 = require_Project();
    Object.defineProperty(exports2, "LOCKFILE_VERSION", { enumerable: true, get: function() {
      return Project_1.LOCKFILE_VERSION;
    } });
    Object.defineProperty(exports2, "PeerWarningType", { enumerable: true, get: function() {
      return Project_1.PeerWarningType;
    } });
    Object.defineProperty(exports2, "Project", { enumerable: true, get: function() {
      return Project_1.Project;
    } });
    Object.defineProperty(exports2, "InstallMode", { enumerable: true, get: function() {
      return Project_1.InstallMode;
    } });
    var Report_1 = require_Report();
    Object.defineProperty(exports2, "ReportError", { enumerable: true, get: function() {
      return Report_1.ReportError;
    } });
    Object.defineProperty(exports2, "Report", { enumerable: true, get: function() {
      return Report_1.Report;
    } });
    var StreamReport_1 = require_StreamReport();
    Object.defineProperty(exports2, "StreamReport", { enumerable: true, get: function() {
      return StreamReport_1.StreamReport;
    } });
    Object.defineProperty(exports2, "reportOptionDeprecations", { enumerable: true, get: function() {
      return StreamReport_1.reportOptionDeprecations;
    } });
    var TelemetryManager_1 = require_TelemetryManager();
    Object.defineProperty(exports2, "TelemetryManager", { enumerable: true, get: function() {
      return TelemetryManager_1.TelemetryManager;
    } });
    var ThrowReport_1 = require_ThrowReport();
    Object.defineProperty(exports2, "ThrowReport", { enumerable: true, get: function() {
      return ThrowReport_1.ThrowReport;
    } });
    var VirtualFetcher_1 = require_VirtualFetcher();
    Object.defineProperty(exports2, "VirtualFetcher", { enumerable: true, get: function() {
      return VirtualFetcher_1.VirtualFetcher;
    } });
    var WorkspaceFetcher_1 = require_WorkspaceFetcher();
    Object.defineProperty(exports2, "WorkspaceFetcher", { enumerable: true, get: function() {
      return WorkspaceFetcher_1.WorkspaceFetcher;
    } });
    var WorkspaceResolver_1 = require_WorkspaceResolver();
    Object.defineProperty(exports2, "WorkspaceResolver", { enumerable: true, get: function() {
      return WorkspaceResolver_1.WorkspaceResolver;
    } });
    var Workspace_1 = require_Workspace();
    Object.defineProperty(exports2, "Workspace", { enumerable: true, get: function() {
      return Workspace_1.Workspace;
    } });
    var YarnVersion_1 = require_YarnVersion();
    Object.defineProperty(exports2, "YarnVersion", { enumerable: true, get: function() {
      return YarnVersion_1.YarnVersion;
    } });
    var types_1 = require_types8();
    Object.defineProperty(exports2, "LinkType", { enumerable: true, get: function() {
      return types_1.LinkType;
    } });
    Object.defineProperty(exports2, "PackageExtensionType", { enumerable: true, get: function() {
      return types_1.PackageExtensionType;
    } });
    Object.defineProperty(exports2, "PackageExtensionStatus", { enumerable: true, get: function() {
      return types_1.PackageExtensionStatus;
    } });
  }
});

// ../pkg-manager/resolve-dependencies/lib/dedupeInjectedDeps.js
var require_dedupeInjectedDeps = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/dedupeInjectedDeps.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.dedupeInjectedDeps = dedupeInjectedDeps;
    var path_1 = __importDefault2(require("path"));
    var normalize_path_1 = __importDefault2(require_normalize_path());
    function dedupeInjectedDeps(opts) {
      const injectedDepsByProjects = getInjectedDepsByProjects(opts);
      const dedupeMap = getDedupeMap(injectedDepsByProjects, opts);
      applyDedupeMap(dedupeMap, opts);
    }
    function getInjectedDepsByProjects(opts) {
      const injectedDepsByProjects = /* @__PURE__ */ new Map();
      for (const project of opts.projects) {
        for (const [alias, nodeId] of project.directNodeIdsByAlias.entries()) {
          const depPath = opts.pathsByNodeId.get(nodeId);
          if (!opts.depGraph[depPath].id.startsWith("file:"))
            continue;
          const id = opts.depGraph[depPath].id.substring(5);
          if (opts.projects.some((project2) => project2.id === id)) {
            if (!injectedDepsByProjects.has(project.id))
              injectedDepsByProjects.set(project.id, /* @__PURE__ */ new Map());
            injectedDepsByProjects.get(project.id).set(alias, { depPath, id });
          }
        }
      }
      return injectedDepsByProjects;
    }
    function getDedupeMap(injectedDepsByProjects, opts) {
      const toDedupe = /* @__PURE__ */ new Map();
      for (const [id, deps] of injectedDepsByProjects.entries()) {
        const dedupedInjectedDeps = /* @__PURE__ */ new Map();
        for (const [alias, dep] of deps.entries()) {
          const isSubset = Object.entries(opts.depGraph[dep.depPath].children).every(([alias2, depPath]) => opts.dependenciesByProjectId[dep.id].get(alias2) === depPath);
          if (isSubset) {
            dedupedInjectedDeps.set(alias, dep.id);
          }
        }
        toDedupe.set(id, dedupedInjectedDeps);
      }
      return toDedupe;
    }
    function applyDedupeMap(dedupeMap, opts) {
      for (const [id, aliases] of dedupeMap.entries()) {
        for (const [alias, dedupedProjectId] of aliases.entries()) {
          opts.dependenciesByProjectId[id].delete(alias);
          const index = opts.resolvedImporters[id].directDependencies.findIndex((dep) => dep.alias === alias);
          const prev = opts.resolvedImporters[id].directDependencies[index];
          const linkedDep = {
            ...prev,
            isLinkedDependency: true,
            pkgId: `link:${(0, normalize_path_1.default)(path_1.default.relative(id, dedupedProjectId))}`,
            resolution: {
              type: "directory",
              directory: path_1.default.join(opts.lockfileDir, dedupedProjectId)
            }
          };
          opts.resolvedImporters[id].directDependencies[index] = linkedDep;
          opts.resolvedImporters[id].linkedDependencies.push(linkedDep);
        }
      }
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/resolvePeers.js
var require_resolvePeers = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/resolvePeers.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.resolvePeers = resolvePeers;
    var filenamify_1 = __importDefault2(require_filenamify2());
    var graph_cycles_1 = require_dist24();
    var path_1 = __importDefault2(require("path"));
    var p_defer_1 = __importDefault2(require_p_defer2());
    var semver_12 = __importDefault2(require_semver2());
    var core_1 = require_lib159();
    var dependency_path_1 = require_lib98();
    var partition_1 = __importDefault2(require_partition4());
    var pick_1 = __importDefault2(require_pick());
    var mergePeers_1 = require_mergePeers();
    var dedupeInjectedDeps_1 = require_dedupeInjectedDeps();
    async function resolvePeers(opts) {
      const depGraph = {};
      const pathsByNodeId = /* @__PURE__ */ new Map();
      const pathsByNodeIdPromises = /* @__PURE__ */ new Map();
      const depPathsByPkgId = /* @__PURE__ */ new Map();
      const _createPkgsByName = createPkgsByName.bind(null, opts.dependenciesTree);
      const rootPkgsByName = opts.resolvePeersFromWorkspaceRoot ? getRootPkgsByName(opts.dependenciesTree, opts.projects) : {};
      const peerDependencyIssuesByProjects = {};
      const finishingList = [];
      const peersCache = /* @__PURE__ */ new Map();
      const purePkgs = /* @__PURE__ */ new Set();
      for (const { directNodeIdsByAlias, topParents, rootDir, id } of opts.projects) {
        const peerDependencyIssues = { bad: {}, missing: {} };
        const pkgsByName = Object.fromEntries(Object.entries({
          ...rootPkgsByName,
          ..._createPkgsByName({ directNodeIdsByAlias, topParents })
        }).filter(([peerName]) => opts.allPeerDepNames.has(peerName)));
        for (const { nodeId } of Object.values(pkgsByName)) {
          if (nodeId && !pathsByNodeIdPromises.has(nodeId)) {
            pathsByNodeIdPromises.set(nodeId, (0, p_defer_1.default)());
          }
        }
        const { finishing } = await resolvePeersOfChildren(Object.fromEntries(directNodeIdsByAlias.entries()), pkgsByName, {
          allPeerDepNames: opts.allPeerDepNames,
          parentPkgsOfNode: /* @__PURE__ */ new Map(),
          dependenciesTree: opts.dependenciesTree,
          depGraph,
          lockfileDir: opts.lockfileDir,
          parentNodeIds: [],
          parentDepPathsChain: [],
          pathsByNodeId,
          pathsByNodeIdPromises,
          depPathsByPkgId,
          peersCache,
          peerDependencyIssues,
          purePkgs,
          peersSuffixMaxLength: opts.peersSuffixMaxLength,
          rootDir,
          virtualStoreDir: opts.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        });
        if (finishing) {
          finishingList.push(finishing);
        }
        if (Object.keys(peerDependencyIssues.bad).length > 0 || Object.keys(peerDependencyIssues.missing).length > 0) {
          peerDependencyIssuesByProjects[id] = {
            ...peerDependencyIssues,
            ...(0, mergePeers_1.mergePeers)(peerDependencyIssues.missing)
          };
        }
      }
      await Promise.all(finishingList);
      const depGraphWithResolvedChildren = resolveChildren(depGraph);
      function resolveChildren(depGraph2) {
        for (const node of Object.values(depGraph2)) {
          node.children = {};
          for (const [alias, childNodeId] of Object.entries(node.childrenNodeIds)) {
            node.children[alias] = pathsByNodeId.get(childNodeId) ?? childNodeId;
          }
          delete node.childrenNodeIds;
        }
        return depGraph2;
      }
      const dependenciesByProjectId = {};
      for (const { directNodeIdsByAlias, id } of opts.projects) {
        dependenciesByProjectId[id] = /* @__PURE__ */ new Map();
        for (const [alias, nodeId] of directNodeIdsByAlias.entries()) {
          dependenciesByProjectId[id].set(alias, pathsByNodeId.get(nodeId));
        }
      }
      if (opts.dedupeInjectedDeps) {
        (0, dedupeInjectedDeps_1.dedupeInjectedDeps)({
          dependenciesByProjectId,
          projects: opts.projects,
          depGraph: depGraphWithResolvedChildren,
          pathsByNodeId,
          lockfileDir: opts.lockfileDir,
          resolvedImporters: opts.resolvedImporters
        });
      }
      if (opts.dedupePeerDependents) {
        const duplicates = Array.from(depPathsByPkgId.values()).filter((item) => item.size > 1);
        const allDepPathsMap = deduplicateAll(depGraphWithResolvedChildren, duplicates);
        for (const { id } of opts.projects) {
          for (const [alias, depPath] of dependenciesByProjectId[id].entries()) {
            dependenciesByProjectId[id].set(alias, allDepPathsMap[depPath] ?? depPath);
          }
        }
      }
      return {
        dependenciesGraph: depGraphWithResolvedChildren,
        dependenciesByProjectId,
        peerDependencyIssuesByProjects
      };
    }
    function nodeDepsCount(node) {
      return Object.keys(node.children).length + node.resolvedPeerNames.size;
    }
    function deduplicateAll(depGraph, duplicates) {
      const { depPathsMap, remainingDuplicates } = deduplicateDepPaths(duplicates, depGraph);
      if (remainingDuplicates.length === duplicates.length) {
        return depPathsMap;
      }
      for (const node of Object.values(depGraph)) {
        for (const [alias, childDepPath] of Object.entries(node.children)) {
          if (depPathsMap[childDepPath]) {
            node.children[alias] = depPathsMap[childDepPath];
          }
        }
      }
      if (Object.keys(depPathsMap).length > 0) {
        return {
          ...depPathsMap,
          ...deduplicateAll(depGraph, remainingDuplicates)
        };
      }
      return depPathsMap;
    }
    function deduplicateDepPaths(duplicates, depGraph) {
      const depCountSorter = (depPath1, depPath2) => nodeDepsCount(depGraph[depPath1]) - nodeDepsCount(depGraph[depPath2]);
      const depPathsMap = {};
      const remainingDuplicates = [];
      for (const depPaths of duplicates) {
        const unresolvedDepPaths = new Set(depPaths.values());
        let currentDepPaths = [...depPaths].sort(depCountSorter);
        while (currentDepPaths.length) {
          const depPath1 = currentDepPaths.pop();
          const nextDepPaths = [];
          while (currentDepPaths.length) {
            const depPath2 = currentDepPaths.pop();
            if (isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2)) {
              depPathsMap[depPath2] = depPath1;
              unresolvedDepPaths.delete(depPath1);
              unresolvedDepPaths.delete(depPath2);
            } else {
              nextDepPaths.push(depPath2);
            }
          }
          nextDepPaths.push(...currentDepPaths);
          currentDepPaths = nextDepPaths.sort(depCountSorter);
        }
        if (unresolvedDepPaths.size) {
          remainingDuplicates.push(unresolvedDepPaths);
        }
      }
      return {
        depPathsMap,
        remainingDuplicates
      };
    }
    function isCompatibleAndHasMoreDeps(depGraph, depPath1, depPath2) {
      const node1 = depGraph[depPath1];
      const node2 = depGraph[depPath2];
      if (nodeDepsCount(node1) < nodeDepsCount(node2))
        return false;
      const node1DepPathsSet = new Set(Object.values(node1.children));
      const node2DepPaths = Object.values(node2.children);
      if (!node2DepPaths.every((depPath) => node1DepPathsSet.has(depPath)))
        return false;
      for (const depPath of node2.resolvedPeerNames) {
        if (!node1.resolvedPeerNames.has(depPath))
          return false;
      }
      return true;
    }
    function getRootPkgsByName(dependenciesTree, projects) {
      const rootProject = projects.length > 1 ? projects.find(({ id }) => id === ".") : null;
      return rootProject == null ? {} : createPkgsByName(dependenciesTree, rootProject);
    }
    function createPkgsByName(dependenciesTree, { directNodeIdsByAlias, topParents }) {
      const parentRefs = toPkgByName(Array.from(directNodeIdsByAlias.entries()).map(([alias, nodeId]) => ({
        alias,
        node: dependenciesTree.get(nodeId),
        nodeId,
        parentNodeIds: []
      })));
      const _updateParentRefs = updateParentRefs.bind(null, parentRefs);
      for (const { name, version: version2, alias, linkedDir } of topParents) {
        const pkg = {
          occurrence: 0,
          alias,
          depth: 0,
          version: version2,
          nodeId: linkedDir,
          parentNodeIds: []
        };
        _updateParentRefs(name, pkg);
        if (alias && alias !== name) {
          _updateParentRefs(alias, pkg);
        }
      }
      return parentRefs;
    }
    async function resolvePeersOfNode(currentAlias, nodeId, parentParentPkgs, ctx) {
      const node = ctx.dependenciesTree.get(nodeId);
      if (node.depth === -1)
        return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() };
      const resolvedPackage = node.resolvedPackage;
      if (ctx.purePkgs.has(resolvedPackage.pkgIdWithPatchHash) && ctx.depGraph[resolvedPackage.pkgIdWithPatchHash].depth <= node.depth && Object.keys(resolvedPackage.peerDependencies).length === 0) {
        ctx.pathsByNodeId.set(nodeId, resolvedPackage.pkgIdWithPatchHash);
        ctx.pathsByNodeIdPromises.get(nodeId).resolve(resolvedPackage.pkgIdWithPatchHash);
        return { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() };
      }
      if (typeof node.children === "function") {
        node.children = node.children();
      }
      const parentNodeIds = [...ctx.parentNodeIds, nodeId];
      const children = node.children;
      let parentPkgs;
      if (Object.keys(children).length === 0) {
        parentPkgs = parentParentPkgs;
      } else {
        parentPkgs = { ...parentParentPkgs };
        const parentPkgNodes = [];
        for (const [alias, nodeId2] of Object.entries(children)) {
          if (ctx.allPeerDepNames.has(alias)) {
            parentPkgNodes.push({
              alias,
              node: ctx.dependenciesTree.get(nodeId2),
              nodeId: nodeId2,
              parentNodeIds
            });
          }
        }
        const newParentPkgs = toPkgByName(parentPkgNodes);
        const _parentPkgsMatch = parentPkgsMatch.bind(null, ctx.dependenciesTree);
        for (const [newParentPkgName, newParentPkg] of Object.entries(newParentPkgs)) {
          if (parentPkgs[newParentPkgName]) {
            if (!_parentPkgsMatch(parentPkgs[newParentPkgName], newParentPkg)) {
              newParentPkg.occurrence = parentPkgs[newParentPkgName].occurrence + 1;
              parentPkgs[newParentPkgName] = newParentPkg;
            }
          } else {
            parentPkgs[newParentPkgName] = newParentPkg;
          }
        }
      }
      const hit = findHit(ctx, parentPkgs, resolvedPackage.pkgIdWithPatchHash);
      if (hit != null) {
        for (const [peerName, { range: wantedRange, optional }] of hit.missingPeers.entries()) {
          if (ctx.peerDependencyIssues.missing[peerName] == null) {
            ctx.peerDependencyIssues.missing[peerName] = [];
          }
          const { parents } = getLocationFromParentNodeIds({
            dependenciesTree: ctx.dependenciesTree,
            parentNodeIds
          });
          ctx.peerDependencyIssues.missing[peerName].push({
            optional,
            parents,
            wantedRange
          });
        }
        return {
          missingPeers: hit.missingPeers,
          finishing: (async () => {
            const depPath = await hit.depPath.promise;
            ctx.pathsByNodeId.set(nodeId, depPath);
            ctx.depGraph[depPath].depth = Math.min(ctx.depGraph[depPath].depth, node.depth);
            ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath);
          })(),
          resolvedPeers: hit.resolvedPeers
        };
      }
      const { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: missingPeersOfChildren, finishing } = await resolvePeersOfChildren(children, parentPkgs, {
        ...ctx,
        parentNodeIds,
        parentDepPathsChain: ctx.parentDepPathsChain.includes(resolvedPackage.pkgIdWithPatchHash) ? ctx.parentDepPathsChain : [...ctx.parentDepPathsChain, resolvedPackage.pkgIdWithPatchHash]
      });
      const { resolvedPeers, missingPeers } = Object.keys(resolvedPackage.peerDependencies).length === 0 ? { resolvedPeers: /* @__PURE__ */ new Map(), missingPeers: /* @__PURE__ */ new Map() } : _resolvePeers({
        currentDepth: node.depth,
        dependenciesTree: ctx.dependenciesTree,
        lockfileDir: ctx.lockfileDir,
        nodeId,
        parentPkgs,
        peerDependencyIssues: ctx.peerDependencyIssues,
        resolvedPackage,
        rootDir: ctx.rootDir,
        parentNodeIds
      });
      const allResolvedPeers = unknownResolvedPeersOfChildren;
      for (const [k, v] of resolvedPeers) {
        allResolvedPeers.set(k, v);
      }
      allResolvedPeers.delete(node.resolvedPackage.name);
      const allMissingPeers = /* @__PURE__ */ new Map();
      for (const [peer, range] of missingPeersOfChildren.entries()) {
        allMissingPeers.set(peer, range);
      }
      for (const [peer, range] of missingPeers.entries()) {
        allMissingPeers.set(peer, range);
      }
      let cache;
      const isPure = allResolvedPeers.size === 0 && allMissingPeers.size === 0;
      if (isPure) {
        ctx.purePkgs.add(resolvedPackage.pkgIdWithPatchHash);
      } else {
        cache = {
          missingPeers: allMissingPeers,
          depPath: (0, p_defer_1.default)(),
          resolvedPeers: allResolvedPeers
        };
        if (ctx.peersCache.has(resolvedPackage.pkgIdWithPatchHash)) {
          ctx.peersCache.get(resolvedPackage.pkgIdWithPatchHash).push(cache);
        } else {
          ctx.peersCache.set(resolvedPackage.pkgIdWithPatchHash, [cache]);
        }
      }
      let calculateDepPathIfNeeded;
      if (allResolvedPeers.size === 0) {
        addDepPathToGraph(resolvedPackage.pkgIdWithPatchHash);
      } else {
        const peerIds = [];
        const pendingPeers = [];
        for (const [alias, peerNodeId] of allResolvedPeers.entries()) {
          if (typeof peerNodeId === "string" && peerNodeId.startsWith("link:")) {
            const linkedDir = peerNodeId.slice(5);
            peerIds.push({
              name: alias,
              version: (0, filenamify_1.default)(linkedDir, { replacement: "+" })
            });
            continue;
          }
          const peerDepPath = ctx.pathsByNodeId.get(peerNodeId);
          if (peerDepPath) {
            peerIds.push(peerDepPath);
            continue;
          }
          pendingPeers.push({ alias, nodeId: peerNodeId });
        }
        if (pendingPeers.length === 0) {
          const peersDirSuffix = (0, dependency_path_1.createPeersDirSuffix)(peerIds, ctx.peersSuffixMaxLength);
          addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peersDirSuffix}`);
        } else {
          calculateDepPathIfNeeded = calculateDepPath.bind(null, peerIds, pendingPeers);
        }
      }
      return {
        resolvedPeers: allResolvedPeers,
        missingPeers: allMissingPeers,
        calculateDepPath: calculateDepPathIfNeeded,
        finishing
      };
      async function calculateDepPath(peerIds, pendingPeerNodes, cycles) {
        const cyclicPeerAliases = /* @__PURE__ */ new Set();
        for (const cycle of cycles) {
          if (cycle.includes(currentAlias)) {
            for (const peerAlias of cycle) {
              cyclicPeerAliases.add(peerAlias);
            }
          }
        }
        const peersDirSuffix = (0, dependency_path_1.createPeersDirSuffix)([
          ...peerIds,
          ...await Promise.all(pendingPeerNodes.map(async (pendingPeer) => {
            if (cyclicPeerAliases.has(pendingPeer.alias)) {
              const { name, version: version2 } = ctx.dependenciesTree.get(pendingPeer.nodeId)?.resolvedPackage;
              const id = `${name}@${version2}`;
              ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId)?.resolve(id);
              return id;
            }
            return ctx.pathsByNodeIdPromises.get(pendingPeer.nodeId).promise;
          }))
        ], ctx.peersSuffixMaxLength);
        addDepPathToGraph(`${resolvedPackage.pkgIdWithPatchHash}${peersDirSuffix}`);
      }
      function addDepPathToGraph(depPath) {
        cache?.depPath.resolve(depPath);
        ctx.pathsByNodeId.set(nodeId, depPath);
        ctx.pathsByNodeIdPromises.get(nodeId).resolve(depPath);
        if (ctx.depPathsByPkgId != null) {
          if (!ctx.depPathsByPkgId.has(resolvedPackage.pkgIdWithPatchHash)) {
            ctx.depPathsByPkgId.set(resolvedPackage.pkgIdWithPatchHash, /* @__PURE__ */ new Set([depPath]));
          } else {
            ctx.depPathsByPkgId.get(resolvedPackage.pkgIdWithPatchHash).add(depPath);
          }
        }
        const peerDependencies = { ...resolvedPackage.peerDependencies };
        if (!ctx.depGraph[depPath] || ctx.depGraph[depPath].depth > node.depth) {
          const modules = path_1.default.join(ctx.virtualStoreDir, (0, dependency_path_1.depPathToFilename)(depPath, ctx.virtualStoreDirMaxLength), "node_modules");
          const dir = path_1.default.join(modules, resolvedPackage.name);
          const transitivePeerDependencies = /* @__PURE__ */ new Set();
          for (const unknownPeer of allResolvedPeers.keys()) {
            if (!peerDependencies[unknownPeer]) {
              transitivePeerDependencies.add(unknownPeer);
            }
          }
          for (const unknownPeer of missingPeersOfChildren.keys()) {
            if (!peerDependencies[unknownPeer]) {
              transitivePeerDependencies.add(unknownPeer);
            }
          }
          ctx.depGraph[depPath] = {
            ...node.resolvedPackage,
            childrenNodeIds: Object.assign(getPreviouslyResolvedChildren(ctx, node.resolvedPackage.pkgIdWithPatchHash), children, Object.fromEntries(resolvedPeers.entries())),
            depPath,
            depth: node.depth,
            dir,
            installable: node.installable,
            isPure,
            modules,
            peerDependencies,
            transitivePeerDependencies,
            resolvedPeerNames: new Set(allResolvedPeers.keys())
          };
        }
      }
    }
    function parentPkgsMatch(dependenciesTree, currentParentPkg, newParentPkg) {
      if (currentParentPkg.version !== newParentPkg.version || currentParentPkg.alias !== newParentPkg.alias) {
        return false;
      }
      const currentParentResolvedPkg = currentParentPkg.nodeId && dependenciesTree.get(currentParentPkg.nodeId)?.resolvedPackage;
      if (currentParentResolvedPkg == null)
        return true;
      const newParentResolvedPkg = newParentPkg.nodeId && dependenciesTree.get(newParentPkg.nodeId)?.resolvedPackage;
      if (newParentResolvedPkg == null)
        return true;
      return currentParentResolvedPkg.name === newParentResolvedPkg.name;
    }
    function findHit(ctx, parentPkgs, pkgIdWithPatchHash) {
      const cacheItems = ctx.peersCache.get(pkgIdWithPatchHash);
      if (!cacheItems)
        return void 0;
      return cacheItems.find((cache) => {
        for (const [name, cachedNodeId] of cache.resolvedPeers) {
          const parentPkgNodeId = parentPkgs[name]?.nodeId;
          if (Boolean(parentPkgNodeId) !== Boolean(cachedNodeId))
            return false;
          if (parentPkgNodeId === cachedNodeId)
            continue;
          if (!parentPkgNodeId)
            return false;
          if (ctx.pathsByNodeId.has(cachedNodeId) && ctx.pathsByNodeId.get(cachedNodeId) === ctx.pathsByNodeId.get(parentPkgNodeId))
            continue;
          if (!ctx.dependenciesTree.has(parentPkgNodeId) && typeof parentPkgNodeId === "string" && parentPkgNodeId.startsWith("link:")) {
            return false;
          }
          const parentPkgId = ctx.dependenciesTree.get(parentPkgNodeId).resolvedPackage.pkgIdWithPatchHash;
          const cachedPkgId = ctx.dependenciesTree.get(cachedNodeId).resolvedPackage.pkgIdWithPatchHash;
          if (parentPkgId !== cachedPkgId) {
            return false;
          }
          if (!ctx.purePkgs.has(parentPkgId) && !parentPackagesMatch(ctx, cachedNodeId, parentPkgNodeId)) {
            return false;
          }
        }
        for (const missingPeer of cache.missingPeers.keys()) {
          if (parentPkgs[missingPeer])
            return false;
        }
        return true;
      });
    }
    function parentPackagesMatch(ctx, cachedNodeId, checkedNodeId) {
      const cachedParentPkgs = ctx.parentPkgsOfNode.get(cachedNodeId);
      if (!cachedParentPkgs)
        return false;
      const checkedParentPkgs = ctx.parentPkgsOfNode.get(checkedNodeId);
      if (!checkedParentPkgs)
        return false;
      if (Object.keys(cachedParentPkgs).length !== Object.keys(checkedParentPkgs).length)
        return false;
      const maxDepth = Object.values(checkedParentPkgs).reduce((maxDepth2, { depth }) => Math.max(depth ?? 0, maxDepth2), 0);
      const peerDepsAreNotShadowed = parentPkgsHaveSingleOccurrence(cachedParentPkgs) && parentPkgsHaveSingleOccurrence(checkedParentPkgs);
      return Object.entries(cachedParentPkgs).every(([name, { version: version2, pkgIdWithPatchHash }]) => {
        if (checkedParentPkgs[name] == null)
          return false;
        if (version2 && checkedParentPkgs[name].version) {
          return version2 === checkedParentPkgs[name].version;
        }
        return pkgIdWithPatchHash != null && pkgIdWithPatchHash === checkedParentPkgs[name].pkgIdWithPatchHash && (peerDepsAreNotShadowed || // Peer dependencies that appear last we can consider valid.
        // If they do depend on other peer dependencies then they must be those that we will check further.
        checkedParentPkgs[name].depth === maxDepth || ctx.purePkgs.has(pkgIdWithPatchHash));
      });
    }
    function parentPkgsHaveSingleOccurrence(parentPkgs) {
      return Object.values(parentPkgs).every(({ occurrence }) => occurrence === 0 || occurrence == null);
    }
    function getPreviouslyResolvedChildren({ parentNodeIds, parentDepPathsChain, dependenciesTree }, currentDepPath) {
      const allChildren = {};
      if (!currentDepPath || !parentDepPathsChain.includes(currentDepPath))
        return allChildren;
      for (let i = parentNodeIds.length - 1; i >= 0; i--) {
        const parentNode = dependenciesTree.get(parentNodeIds[i]);
        if (parentNode.resolvedPackage.pkgIdWithPatchHash === currentDepPath) {
          if (typeof parentNode.children === "function") {
            parentNode.children = parentNode.children();
          }
          Object.assign(allChildren, parentNode.children);
        }
      }
      return allChildren;
    }
    async function resolvePeersOfChildren(children, parentPkgs, ctx) {
      const allResolvedPeers = /* @__PURE__ */ new Map();
      const allMissingPeers = /* @__PURE__ */ new Map();
      const [repeated, notRepeated] = (0, partition_1.default)(([alias]) => parentPkgs[alias] != null, Object.entries(children));
      const nodeIds = Array.from(new Set([...repeated, ...notRepeated].map(([, nodeId]) => nodeId)));
      const aliasByNodeId = Object.fromEntries(Object.entries(children).map(([alias, nodeId]) => [nodeId, alias]));
      for (const nodeId of nodeIds) {
        if (!ctx.pathsByNodeIdPromises.has(nodeId)) {
          ctx.pathsByNodeIdPromises.set(nodeId, (0, p_defer_1.default)());
        }
      }
      const calculateDepPaths = [];
      const graph = [];
      const finishingList = [];
      const parentDepPaths = {};
      for (const [name, parentPkg] of Object.entries(parentPkgs)) {
        if (!ctx.allPeerDepNames.has(name))
          continue;
        if (parentPkg.nodeId && (typeof parentPkg.nodeId === "number" || !parentPkg.nodeId.startsWith("link:"))) {
          parentDepPaths[name] = {
            pkgIdWithPatchHash: ctx.dependenciesTree.get(parentPkg.nodeId).resolvedPackage.pkgIdWithPatchHash,
            depth: parentPkg.depth,
            occurrence: parentPkg.occurrence
          };
        } else {
          parentDepPaths[name] = { version: parentPkg.version };
        }
      }
      for (const childNodeId of nodeIds) {
        ctx.parentPkgsOfNode.set(childNodeId, parentDepPaths);
      }
      for (const childNodeId of nodeIds) {
        const currentAlias = aliasByNodeId[childNodeId];
        const { resolvedPeers, missingPeers, calculateDepPath, finishing: finishing2 } = await resolvePeersOfNode(currentAlias, childNodeId, parentPkgs, ctx);
        if (finishing2) {
          finishingList.push(finishing2);
        }
        if (calculateDepPath) {
          calculateDepPaths.push(calculateDepPath);
        }
        const edges = [];
        for (const [peerName, peerNodeId] of resolvedPeers) {
          allResolvedPeers.set(peerName, peerNodeId);
          edges.push(peerName);
        }
        graph.push([currentAlias, edges]);
        for (const [missingPeer, range] of missingPeers.entries()) {
          allMissingPeers.set(missingPeer, range);
        }
      }
      if (calculateDepPaths.length) {
        const { cycles } = (0, graph_cycles_1.analyzeGraph)(graph);
        finishingList.push(...calculateDepPaths.map((calculateDepPath) => calculateDepPath(cycles)));
      }
      const finishing = Promise.all(finishingList).then(() => {
      });
      const unknownResolvedPeersOfChildren = /* @__PURE__ */ new Map();
      for (const [alias, v] of allResolvedPeers) {
        if (!children[alias]) {
          unknownResolvedPeersOfChildren.set(alias, v);
        }
      }
      return { resolvedPeers: unknownResolvedPeersOfChildren, missingPeers: allMissingPeers, finishing };
    }
    function _resolvePeers(ctx) {
      const resolvedPeers = /* @__PURE__ */ new Map();
      const missingPeers = /* @__PURE__ */ new Map();
      for (const [peerName, { version: version2, optional }] of Object.entries(ctx.resolvedPackage.peerDependencies)) {
        const peerVersionRange = version2.replace(/^workspace:/, "");
        const resolved = ctx.parentPkgs[peerName];
        const optionalPeer = optional === true;
        if (!resolved) {
          missingPeers.set(peerName, { range: version2, optional: optionalPeer });
          const location = getLocationFromParentNodeIds(ctx);
          if (!ctx.peerDependencyIssues.missing[peerName]) {
            ctx.peerDependencyIssues.missing[peerName] = [];
          }
          ctx.peerDependencyIssues.missing[peerName].push({
            parents: location.parents,
            optional: optionalPeer,
            wantedRange: peerVersionRange
          });
          continue;
        }
        if (!core_1.semverUtils.satisfiesWithPrereleases(resolved.version, peerVersionRange, true)) {
          const location = getLocationFromParentNodeIds(ctx);
          if (!ctx.peerDependencyIssues.bad[peerName]) {
            ctx.peerDependencyIssues.bad[peerName] = [];
          }
          const peerLocation = resolved.nodeId == null ? [] : getLocationFromParentNodeIds({
            dependenciesTree: ctx.dependenciesTree,
            parentNodeIds: resolved.parentNodeIds
          }).parents;
          ctx.peerDependencyIssues.bad[peerName].push({
            foundVersion: resolved.version,
            resolvedFrom: peerLocation,
            parents: location.parents,
            optional: optionalPeer,
            wantedRange: peerVersionRange
          });
        }
        if (resolved?.nodeId)
          resolvedPeers.set(peerName, resolved.nodeId);
      }
      return { resolvedPeers, missingPeers };
    }
    function getLocationFromParentNodeIds({ dependenciesTree, parentNodeIds }) {
      const parents = parentNodeIds.map((nid) => (0, pick_1.default)(["name", "version"], dependenciesTree.get(nid).resolvedPackage));
      return {
        projectId: ".",
        parents
      };
    }
    function toPkgByName(nodes) {
      const pkgsByName = {};
      const _updateParentRefs = updateParentRefs.bind(null, pkgsByName);
      for (const { alias, node, nodeId, parentNodeIds } of nodes) {
        const pkg = {
          alias,
          depth: node.depth,
          nodeId,
          version: node.resolvedPackage.version,
          occurrence: 0,
          parentNodeIds
        };
        _updateParentRefs(alias, pkg);
        if (alias !== node.resolvedPackage.name) {
          _updateParentRefs(node.resolvedPackage.name, pkg);
        }
      }
      return pkgsByName;
    }
    function updateParentRefs(parentRefs, newAlias, pkg) {
      const existing = parentRefs[newAlias];
      if (existing) {
        const existingHasAlias = existing.alias != null && existing.alias !== newAlias;
        if (!existingHasAlias)
          return;
        const newHasAlias = pkg.alias != null && pkg.alias !== newAlias;
        if (newHasAlias && semver_12.default.gte(existing.version, pkg.version))
          return;
      }
      parentRefs[newAlias] = pkg;
    }
  }
});

// ../node_modules/.pnpm/is-inner-link@4.0.0/node_modules/is-inner-link/index.js
var require_is_inner_link = __commonJS({
  "../node_modules/.pnpm/is-inner-link@4.0.0/node_modules/is-inner-link/index.js"(exports2, module2) {
    "use strict";
    var path2 = require("path");
    var isSubdir = require_is_subdir();
    var resolveLinkTarget = require_resolve_link_target();
    module2.exports = async function(parent, relativePathToLink) {
      const linkPath = path2.resolve(parent, relativePathToLink);
      const target = await resolveLinkTarget(linkPath);
      return {
        isInner: isSubdir(parent, target),
        target
      };
    };
  }
});

// ../pkg-manager/resolve-dependencies/lib/safeIsInnerLink.js
var require_safeIsInnerLink = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/safeIsInnerLink.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.safeIsInnerLink = safeIsInnerLink;
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var is_inner_link_1 = __importDefault2(require_is_inner_link());
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    async function safeIsInnerLink(projectModulesDir, depName, opts) {
      try {
        const link = await (0, is_inner_link_1.default)(projectModulesDir, depName);
        if (link.isInner)
          return true;
        if ((0, is_subdir_1.default)(opts.virtualStoreDir, link.target))
          return true;
        return link.target;
      } catch (err) {
        if (err.code === "ENOENT")
          return true;
        if (opts.hideAlienModules) {
          logger_1.logger.warn({
            message: `Moving ${depName} that was installed by a different package manager to "node_modules/.ignored"`,
            prefix: opts.projectDir
          });
          const ignoredDir = path_1.default.join(projectModulesDir, ".ignored", depName);
          await (0, rename_overwrite_1.default)(path_1.default.join(projectModulesDir, depName), ignoredDir);
        }
        return true;
      }
    }
  }
});

// ../semver/peer-range/lib/index.js
var require_lib160 = __commonJS({
  "../semver/peer-range/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isValidPeerRange = isValidPeerRange;
    var semver_12 = require_semver2();
    function isValidPeerRange(version2) {
      return typeof (0, semver_12.validRange)(version2) === "string" || version2.includes("workspace:") || version2.includes("catalog:");
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/validatePeerDependencies.js
var require_validatePeerDependencies = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/validatePeerDependencies.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validatePeerDependencies = validatePeerDependencies;
    var error_1 = require_lib6();
    var semver_peer_range_1 = require_lib160();
    function validatePeerDependencies(project) {
      const { name, peerDependencies } = project.manifest;
      const projectId = name ?? project.rootDir;
      for (const depName in peerDependencies) {
        const version2 = peerDependencies[depName];
        if (!(0, semver_peer_range_1.isValidPeerRange)(version2)) {
          throw new error_1.PnpmError("INVALID_PEER_DEPENDENCY_SPECIFICATION", `The peerDependencies field named '${depName}' of package '${projectId}' has an invalid value: '${version2}'`, {
            hint: "The values in peerDependencies should be either a valid semver range, a `workspace:` spec, or a `catalog:` spec"
          });
        }
      }
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/toResolveImporter.js
var require_toResolveImporter = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/toResolveImporter.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.toResolveImporter = toResolveImporter;
    var logger_1 = require_lib();
    var manifest_utils_1 = require_lib32();
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    var getWantedDependencies_1 = require_getWantedDependencies();
    var safeIsInnerLink_1 = require_safeIsInnerLink();
    var validatePeerDependencies_1 = require_validatePeerDependencies();
    async function toResolveImporter(opts, project) {
      (0, validatePeerDependencies_1.validatePeerDependencies)(project);
      const allDeps = (0, getWantedDependencies_1.getWantedDependencies)(project.manifest);
      const nonLinkedDependencies = await partitionLinkedPackages(allDeps, {
        lockfileOnly: opts.lockfileOnly,
        modulesDir: project.modulesDir,
        projectDir: project.rootDir,
        virtualStoreDir: opts.virtualStoreDir,
        workspacePackages: opts.workspacePackages
      });
      const defaultUpdateDepth = project.update === true || project.updateMatching != null ? opts.defaultUpdateDepth : -1;
      const existingDeps = nonLinkedDependencies.filter(({ alias }) => !project.wantedDependencies.some((wantedDep) => wantedDep.alias === alias));
      if (opts.updateToLatest && opts.noDependencySelectors) {
        for (const dep of existingDeps) {
          dep.updateSpec = true;
        }
      }
      let wantedDependencies;
      if (!project.manifest) {
        wantedDependencies = [
          ...project.wantedDependencies,
          ...existingDeps
        ].map((dep) => ({
          ...dep,
          updateDepth: defaultUpdateDepth
        }));
      } else {
        const updateLocalTarballs = (dep) => ({
          ...dep,
          updateDepth: project.updateMatching != null ? defaultUpdateDepth : prefIsLocalTarball(dep.pref) ? 0 : defaultUpdateDepth
        });
        wantedDependencies = [
          ...project.wantedDependencies.map(defaultUpdateDepth < 0 ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: defaultUpdateDepth })),
          ...existingDeps.map(opts.noDependencySelectors && project.updateMatching != null ? updateLocalTarballs : (dep) => ({ ...dep, updateDepth: -1 }))
        ];
      }
      return {
        ...project,
        hasRemovedDependencies: Boolean(project.removePackages?.length),
        preferredVersions: opts.preferredVersions ?? (project.manifest && getPreferredVersionsFromPackage(project.manifest)) ?? {},
        wantedDependencies
      };
    }
    function prefIsLocalTarball(pref) {
      return pref.startsWith("file:") && pref.endsWith(".tgz");
    }
    async function partitionLinkedPackages(dependencies, opts) {
      const nonLinkedDependencies = [];
      const linkedAliases = /* @__PURE__ */ new Set();
      await Promise.all(dependencies.map(async (dependency) => {
        if (!dependency.alias || opts.workspacePackages?.get(dependency.alias) != null || dependency.pref.startsWith("workspace:")) {
          nonLinkedDependencies.push(dependency);
          return;
        }
        const isInnerLink = await (0, safeIsInnerLink_1.safeIsInnerLink)(opts.modulesDir, dependency.alias, {
          hideAlienModules: !opts.lockfileOnly,
          projectDir: opts.projectDir,
          virtualStoreDir: opts.virtualStoreDir
        });
        if (isInnerLink === true) {
          nonLinkedDependencies.push(dependency);
          return;
        }
        if (!dependency.pref.startsWith("link:")) {
          logger_1.logger.info({
            message: `${dependency.alias} is linked to ${opts.modulesDir} from ${isInnerLink}`,
            prefix: opts.projectDir
          });
        }
        linkedAliases.add(dependency.alias);
      }));
      return nonLinkedDependencies;
    }
    function getPreferredVersionsFromPackage(pkg) {
      return getVersionSpecsByRealNames((0, manifest_utils_1.getAllDependenciesFromManifest)(pkg));
    }
    function getVersionSpecsByRealNames(deps) {
      const acc = {};
      for (const depName in deps) {
        const currentPref = deps[depName];
        if (currentPref.startsWith("npm:")) {
          const pref = currentPref.slice(4);
          const index = pref.lastIndexOf("@");
          const spec = pref.slice(index + 1);
          const selector = (0, version_selector_type_1.default)(spec);
          if (selector != null) {
            const pkgName = pref.substring(0, index);
            acc[pkgName] = acc[pkgName] || {};
            acc[pkgName][selector.normalized] = selector.type;
          }
        } else if (!currentPref.includes(":")) {
          const selector = (0, version_selector_type_1.default)(currentPref);
          if (selector != null) {
            acc[depName] = acc[depName] || {};
            acc[depName][selector.normalized] = selector.type;
          }
        }
      }
      return acc;
    }
  }
});

// ../lockfile/pruner/lib/index.js
var require_lib161 = __commonJS({
  "../lockfile/pruner/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pruneSharedLockfile = pruneSharedLockfile;
    exports2.pruneLockfile = pruneLockfile;
    var constants_1 = require_lib5();
    var dependency_path_1 = require_lib98();
    var difference_1 = __importDefault2(require_difference());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var unnest_1 = __importDefault2(require_unnest());
    __exportStar2(require_lib110(), exports2);
    function pruneSharedLockfile(lockfile, opts) {
      const copiedPackages = lockfile.packages == null ? {} : copyPackageSnapshots(lockfile.packages, {
        devDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.devDependencies ?? {}))),
        optionalDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.optionalDependencies ?? {}))),
        prodDepPaths: (0, unnest_1.default)(Object.values(lockfile.importers).map((deps) => resolvedDepsToDepPaths(deps.dependencies ?? {}))),
        warn: opts?.warn ?? ((msg) => void 0),
        dependenciesGraph: opts?.dependenciesGraph
      });
      const prunedLockfile = {
        ...lockfile,
        packages: copiedPackages
      };
      if ((0, isEmpty_1.default)(prunedLockfile.packages)) {
        delete prunedLockfile.packages;
      }
      return prunedLockfile;
    }
    function pruneLockfile(lockfile, pkg, importerId, opts) {
      const importer = lockfile.importers[importerId];
      const lockfileSpecs = importer.specifiers ?? {};
      const optionalDependencies = Object.keys(pkg.optionalDependencies ?? {});
      const dependencies = (0, difference_1.default)(Object.keys(pkg.dependencies ?? {}), optionalDependencies);
      const devDependencies = (0, difference_1.default)((0, difference_1.default)(Object.keys(pkg.devDependencies ?? {}), optionalDependencies), dependencies);
      const allDeps = /* @__PURE__ */ new Set([
        ...optionalDependencies,
        ...devDependencies,
        ...dependencies
      ]);
      const specifiers = {};
      const lockfileDependencies = {};
      const lockfileOptionalDependencies = {};
      const lockfileDevDependencies = {};
      for (const depName in lockfileSpecs) {
        if (!allDeps.has(depName))
          continue;
        specifiers[depName] = lockfileSpecs[depName];
        if (importer.dependencies?.[depName]) {
          lockfileDependencies[depName] = importer.dependencies[depName];
        } else if (importer.optionalDependencies?.[depName]) {
          lockfileOptionalDependencies[depName] = importer.optionalDependencies[depName];
        } else if (importer.devDependencies?.[depName]) {
          lockfileDevDependencies[depName] = importer.devDependencies[depName];
        }
      }
      if (importer.dependencies != null) {
        for (const [alias, dep] of Object.entries(importer.dependencies)) {
          if (!lockfileDependencies[alias] && dep.startsWith("link:") && // If the linked dependency was removed from package.json
          // then it is removed from pnpm-lock.yaml as well
          !(lockfileSpecs[alias] && !allDeps.has(alias))) {
            lockfileDependencies[alias] = dep;
          }
        }
      }
      const updatedImporter = {
        specifiers
      };
      const prunedLockfile = {
        importers: {
          ...lockfile.importers,
          [importerId]: updatedImporter
        },
        lockfileVersion: lockfile.lockfileVersion || constants_1.LOCKFILE_VERSION,
        packages: lockfile.packages
      };
      if (!(0, isEmpty_1.default)(lockfileDependencies)) {
        updatedImporter.dependencies = lockfileDependencies;
      }
      if (!(0, isEmpty_1.default)(lockfileOptionalDependencies)) {
        updatedImporter.optionalDependencies = lockfileOptionalDependencies;
      }
      if (!(0, isEmpty_1.default)(lockfileDevDependencies)) {
        updatedImporter.devDependencies = lockfileDevDependencies;
      }
      if (lockfile.pnpmfileChecksum) {
        prunedLockfile.pnpmfileChecksum = lockfile.pnpmfileChecksum;
      }
      if (lockfile.ignoredOptionalDependencies && !(0, isEmpty_1.default)(lockfile.ignoredOptionalDependencies)) {
        prunedLockfile.ignoredOptionalDependencies = lockfile.ignoredOptionalDependencies;
      }
      return pruneSharedLockfile(prunedLockfile, opts);
    }
    function copyPackageSnapshots(originalPackages, opts) {
      const copiedSnapshots = {};
      const ctx = {
        copiedSnapshots,
        nonOptional: /* @__PURE__ */ new Set(),
        originalPackages,
        walked: /* @__PURE__ */ new Set(),
        warn: opts.warn,
        dependenciesGraph: opts.dependenciesGraph
      };
      copyDependencySubGraph(ctx, opts.devDepPaths, {
        optional: false
      });
      copyDependencySubGraph(ctx, opts.optionalDepPaths, {
        optional: true
      });
      copyDependencySubGraph(ctx, opts.prodDepPaths, {
        optional: false
      });
      return copiedSnapshots;
    }
    function resolvedDepsToDepPaths(deps) {
      return Object.entries(deps).map(([alias, ref]) => (0, dependency_path_1.refToRelative)(ref, alias)).filter((depPath) => depPath !== null);
    }
    function copyDependencySubGraph(ctx, depPaths, opts) {
      for (const depPath of depPaths) {
        const key = `${depPath}:${opts.optional.toString()}`;
        if (ctx.walked.has(key))
          continue;
        ctx.walked.add(key);
        if (!ctx.originalPackages[depPath]) {
          if (depPath.startsWith("link:") || depPath.startsWith("file:") && !depPath.endsWith(".tar.gz"))
            continue;
          ctx.warn(`Cannot find resolution of ${depPath} in lockfile`);
          continue;
        }
        const depLockfile = ctx.originalPackages[depPath];
        ctx.copiedSnapshots[depPath] = depLockfile;
        if (opts.optional && !ctx.nonOptional.has(depPath)) {
          depLockfile.optional = true;
          if (ctx.dependenciesGraph?.[depPath]) {
            ctx.dependenciesGraph[depPath].optional = true;
          }
        } else {
          ctx.nonOptional.add(depPath);
          delete depLockfile.optional;
          if (ctx.dependenciesGraph?.[depPath]) {
            ctx.dependenciesGraph[depPath].optional = false;
          }
        }
        const newDependencies = resolvedDepsToDepPaths(depLockfile.dependencies ?? {});
        copyDependencySubGraph(ctx, newDependencies, opts);
        const newOptionalDependencies = resolvedDepsToDepPaths(depLockfile.optionalDependencies ?? {});
        copyDependencySubGraph(ctx, newOptionalDependencies, { optional: true });
      }
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/updateLockfile.js
var require_updateLockfile = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/updateLockfile.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateLockfile = updateLockfile;
    var logger_1 = require_lib();
    var lockfile_pruner_1 = require_lib161();
    var dp = __importStar3(require_lib98());
    var get_npm_tarball_url_1 = __importDefault2(require_lib116());
    var partition_1 = __importDefault2(require_partition4());
    var depPathToRef_1 = require_depPathToRef();
    function updateLockfile({ dependenciesGraph, lockfile, prefix, registries, lockfileIncludeTarballUrl }) {
      lockfile.packages = lockfile.packages ?? {};
      for (const [depPath, depNode] of Object.entries(dependenciesGraph)) {
        const [updatedOptionalDeps, updatedDeps] = (0, partition_1.default)((child) => depNode.optionalDependencies.has(child.alias) || depNode.peerDependencies[child.alias]?.optional === true, Object.entries(depNode.children).map(([alias, depPath2]) => ({ alias, depPath: depPath2 })));
        lockfile.packages[depPath] = toLockfileDependency(depNode, {
          depGraph: dependenciesGraph,
          depPath,
          prevSnapshot: lockfile.packages[depPath],
          registries,
          registry: dp.getRegistryByPackageName(registries, depNode.name),
          updatedDeps,
          updatedOptionalDeps,
          lockfileIncludeTarballUrl
        });
      }
      const warn = (message) => {
        logger_1.logger.warn({ message, prefix });
      };
      return (0, lockfile_pruner_1.pruneSharedLockfile)(lockfile, { warn, dependenciesGraph });
    }
    function toLockfileDependency(pkg, opts) {
      const lockfileResolution = toLockfileResolution({ name: pkg.name, version: pkg.version }, pkg.resolution, opts.registry, opts.lockfileIncludeTarballUrl);
      const newResolvedDeps = updateResolvedDeps(opts.updatedDeps, opts.depGraph);
      const newResolvedOptionalDeps = updateResolvedDeps(opts.updatedOptionalDeps, opts.depGraph);
      const result2 = {
        resolution: lockfileResolution
      };
      if (opts.depPath.includes(":")) {
        if (pkg.version && lockfileResolution.type !== "directory") {
          result2["version"] = pkg.version;
        }
      }
      if (Object.keys(newResolvedDeps).length > 0) {
        result2["dependencies"] = newResolvedDeps;
      }
      if (Object.keys(newResolvedOptionalDeps).length > 0) {
        result2["optionalDependencies"] = newResolvedOptionalDeps;
      }
      if (pkg.optional) {
        result2["optional"] = true;
      }
      if (pkg.transitivePeerDependencies.size) {
        result2["transitivePeerDependencies"] = Array.from(pkg.transitivePeerDependencies).sort();
      }
      if (Object.keys(pkg.peerDependencies ?? {}).length > 0) {
        const peerPkgs = {};
        const normalizedPeerDependenciesMeta = {};
        for (const [peer, { version: version2, optional }] of Object.entries(pkg.peerDependencies)) {
          peerPkgs[peer] = version2;
          if (optional) {
            normalizedPeerDependenciesMeta[peer] = { optional: true };
          }
        }
        result2["peerDependencies"] = peerPkgs;
        if (Object.keys(normalizedPeerDependenciesMeta).length > 0) {
          result2["peerDependenciesMeta"] = normalizedPeerDependenciesMeta;
        }
      }
      if (pkg.additionalInfo.engines != null) {
        for (const [engine, version2] of Object.entries(pkg.additionalInfo.engines)) {
          if (version2 === "*")
            continue;
          result2.engines = result2.engines ?? {};
          result2.engines[engine] = version2;
        }
      }
      if (pkg.additionalInfo.cpu != null) {
        result2["cpu"] = pkg.additionalInfo.cpu;
      }
      if (pkg.additionalInfo.os != null) {
        result2["os"] = pkg.additionalInfo.os;
      }
      if (pkg.additionalInfo.libc != null) {
        result2["libc"] = pkg.additionalInfo.libc;
      }
      if (Array.isArray(pkg.additionalInfo.bundledDependencies) || pkg.additionalInfo.bundledDependencies === true) {
        result2["bundledDependencies"] = pkg.additionalInfo.bundledDependencies;
      } else if (Array.isArray(pkg.additionalInfo.bundleDependencies) || pkg.additionalInfo.bundleDependencies === true) {
        result2["bundledDependencies"] = pkg.additionalInfo.bundleDependencies;
      }
      if (pkg.additionalInfo.deprecated) {
        result2["deprecated"] = pkg.additionalInfo.deprecated;
      }
      if (pkg.hasBin) {
        result2["hasBin"] = true;
      }
      if (pkg.patch) {
        result2["patched"] = true;
      }
      return result2;
    }
    function updateResolvedDeps(updatedDeps, depGraph) {
      return Object.fromEntries(updatedDeps.map(({ alias, depPath }) => {
        if (depPath.startsWith("link:")) {
          return [alias, depPath];
        }
        const depNode = depGraph[depPath];
        return [
          alias,
          (0, depPathToRef_1.depPathToRef)(depPath, {
            alias,
            realName: depNode.name,
            resolution: depNode.resolution
          })
        ];
      }));
    }
    function toLockfileResolution(pkg, resolution, registry, lockfileIncludeTarballUrl) {
      if (resolution.type !== void 0 || !resolution["integrity"]) {
        return resolution;
      }
      if (lockfileIncludeTarballUrl) {
        return {
          integrity: resolution["integrity"],
          tarball: resolution["tarball"]
        };
      }
      const expectedTarball = (0, get_npm_tarball_url_1.default)(pkg.name, pkg.version, { registry });
      const actualTarball = resolution["tarball"].replace("%2f", "/");
      if (removeProtocol(expectedTarball) !== removeProtocol(actualTarball)) {
        return {
          integrity: resolution["integrity"],
          tarball: resolution["tarball"]
        };
      }
      return {
        integrity: resolution["integrity"]
      };
    }
    function removeProtocol(url) {
      return url.split("://")[1];
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/updateProjectManifest.js
var require_updateProjectManifest = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/updateProjectManifest.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateProjectManifest = updateProjectManifest;
    var manifest_utils_1 = require_lib32();
    var version_selector_type_1 = __importDefault2(require_version_selector_type());
    var semver_12 = __importDefault2(require_semver2());
    var pick_fetcher_1 = require_lib56();
    async function updateProjectManifest(importer, opts) {
      if (!importer.manifest) {
        throw new Error("Cannot save because no package.json found");
      }
      const specsToUpsert = opts.directDependencies.filter((rdd, index) => importer.wantedDependencies[index]?.updateSpec).map((rdd, index) => {
        const wantedDep = importer.wantedDependencies[index];
        return resolvedDirectDepToSpecObject({
          ...rdd,
          isNew: wantedDep.isNew,
          specRaw: wantedDep.raw,
          preserveNonSemverVersionSpec: wantedDep.preserveNonSemverVersionSpec,
          // For git-protocol dependencies that are already installed locally, there is no normalizedPref unless do force resolve,
          // so we use pref in wantedDependency here.
          normalizedPref: rdd.normalizedPref ?? ((0, pick_fetcher_1.isGitHostedPkgUrl)(rdd.resolution.tarball ?? "") ? wantedDep.pref : void 0)
        }, importer, {
          nodeExecPath: wantedDep.nodeExecPath,
          pinnedVersion: wantedDep.pinnedVersion ?? importer.pinnedVersion ?? "major",
          preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol,
          saveWorkspaceProtocol: opts.saveWorkspaceProtocol
        });
      });
      for (const pkgToInstall of importer.wantedDependencies) {
        if (pkgToInstall.updateSpec && pkgToInstall.alias && !specsToUpsert.some(({ alias }) => alias === pkgToInstall.alias)) {
          specsToUpsert.push({
            alias: pkgToInstall.alias,
            nodeExecPath: pkgToInstall.nodeExecPath,
            peer: importer.peer,
            saveType: importer.targetDependenciesField
          });
        }
      }
      const hookedManifest = await (0, manifest_utils_1.updateProjectManifestObject)(importer.rootDir, importer.manifest, specsToUpsert);
      const originalManifest = importer.originalManifest != null ? await (0, manifest_utils_1.updateProjectManifestObject)(importer.rootDir, importer.originalManifest, specsToUpsert) : void 0;
      return [hookedManifest, originalManifest];
    }
    function resolvedDirectDepToSpecObject({ alias, catalogLookup, isNew, name, normalizedPref, resolution, specRaw, version: version2, preserveNonSemverVersionSpec }, importer, opts) {
      let pref;
      if (catalogLookup) {
        pref = catalogLookup.userSpecifiedPref;
      } else if (normalizedPref) {
        pref = normalizedPref;
      } else {
        const shouldUseWorkspaceProtocol = resolution.type === "directory" && (Boolean(opts.saveWorkspaceProtocol) || opts.preserveWorkspaceProtocol && specRaw.includes("@workspace:")) && opts.pinnedVersion !== "none";
        if (isNew === true) {
          pref = getPrefPreferSpecifiedSpec({
            alias,
            name,
            pinnedVersion: opts.pinnedVersion,
            specRaw,
            version: version2,
            rolling: shouldUseWorkspaceProtocol && opts.saveWorkspaceProtocol === "rolling"
          });
        } else {
          pref = getPrefPreferSpecifiedExoticSpec({
            alias,
            name,
            pinnedVersion: opts.pinnedVersion,
            specRaw,
            version: version2,
            rolling: shouldUseWorkspaceProtocol && opts.saveWorkspaceProtocol === "rolling",
            preserveNonSemverVersionSpec
          });
        }
        if (shouldUseWorkspaceProtocol && !pref.startsWith("workspace:")) {
          pref = pref.replace(/^npm:/, "");
          pref = `workspace:${pref}`;
        }
      }
      return {
        alias,
        nodeExecPath: opts.nodeExecPath,
        peer: importer["peer"],
        pref,
        saveType: importer["targetDependenciesField"]
      };
    }
    function getPrefPreferSpecifiedSpec(opts) {
      const prefix = (0, manifest_utils_1.getPrefix)(opts.alias, opts.name);
      if (opts.specRaw?.startsWith(`${opts.alias}@${prefix}`)) {
        const range = opts.specRaw.slice(`${opts.alias}@${prefix}`.length);
        if (range) {
          const selector = (0, version_selector_type_1.default)(range);
          if (selector != null && (selector.type === "version" || selector.type === "range")) {
            return opts.specRaw.slice(opts.alias.length + 1);
          }
        }
      }
      if (semver_12.default.parse(opts.version)?.prerelease.length) {
        return `${prefix}${opts.version}`;
      }
      return `${prefix}${(0, manifest_utils_1.createVersionSpec)(opts.version, { pinnedVersion: opts.pinnedVersion, rolling: opts.rolling })}`;
    }
    function getPrefPreferSpecifiedExoticSpec(opts) {
      const prefix = (0, manifest_utils_1.getPrefix)(opts.alias, opts.name);
      if (opts.specRaw?.startsWith(`${opts.alias}@${prefix}`)) {
        let specWithoutName = opts.specRaw.slice(`${opts.alias}@${prefix}`.length);
        if (specWithoutName.startsWith("workspace:")) {
          specWithoutName = specWithoutName.slice(10);
          if (specWithoutName === "*" || specWithoutName === "^" || specWithoutName === "~") {
            return specWithoutName;
          }
        }
        const selector = (0, version_selector_type_1.default)(specWithoutName);
        if ((selector == null || selector.type !== "version" && selector.type !== "range") && opts.preserveNonSemverVersionSpec) {
          return opts.specRaw.slice(opts.alias.length + 1);
        }
      }
      if (semver_12.default.parse(opts.version)?.prerelease.length) {
        return `${prefix}${opts.version}`;
      }
      return `${prefix}${(0, manifest_utils_1.createVersionSpec)(opts.version, { pinnedVersion: opts.pinnedVersion, rolling: opts.rolling })}`;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/getCatalogSnapshots.js
var require_getCatalogSnapshots = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/getCatalogSnapshots.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getCatalogSnapshots = getCatalogSnapshots;
    function getCatalogSnapshots(resolvedDirectDeps) {
      const catalogSnapshots = {};
      const catalogedDeps = resolvedDirectDeps.filter(isCatalogedDep);
      for (const dep of catalogedDeps) {
        const snapshotForSingleCatalog = catalogSnapshots[dep.catalogLookup.catalogName] ??= {};
        snapshotForSingleCatalog[dep.alias] = {
          specifier: dep.catalogLookup.specifier,
          version: dep.version
        };
      }
      return catalogSnapshots;
    }
    function isCatalogedDep(dep) {
      return dep.catalogLookup != null;
    }
  }
});

// ../pkg-manager/resolve-dependencies/lib/index.js
var require_lib162 = __commonJS({
  "../pkg-manager/resolve-dependencies/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getWantedDependencies = void 0;
    exports2.resolveDependencies = resolveDependencies;
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var core_loggers_1 = require_lib28();
    var logger_1 = require_lib();
    var manifest_utils_1 = require_lib32();
    var read_package_json_1 = require_lib50();
    var types_1 = require_lib31();
    var difference_1 = __importDefault2(require_difference());
    var zipWith_1 = __importDefault2(require_zipWith2());
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var getWantedDependencies_1 = require_getWantedDependencies();
    Object.defineProperty(exports2, "getWantedDependencies", { enumerable: true, get: function() {
      return getWantedDependencies_1.getWantedDependencies;
    } });
    var depPathToRef_1 = require_depPathToRef();
    var resolveDependencies_1 = require_resolveDependencies();
    var resolveDependencyTree_1 = require_resolveDependencyTree();
    var resolvePeers_1 = require_resolvePeers();
    var toResolveImporter_1 = require_toResolveImporter();
    var updateLockfile_1 = require_updateLockfile();
    var updateProjectManifest_1 = require_updateProjectManifest();
    var getCatalogSnapshots_1 = require_getCatalogSnapshots();
    async function resolveDependencies(importers, opts) {
      const _toResolveImporter = toResolveImporter_1.toResolveImporter.bind(null, {
        defaultUpdateDepth: opts.defaultUpdateDepth,
        lockfileOnly: opts.dryRun,
        preferredVersions: opts.preferredVersions,
        virtualStoreDir: opts.virtualStoreDir,
        workspacePackages: opts.workspacePackages,
        noDependencySelectors: importers.every(({ wantedDependencies }) => wantedDependencies.length === 0)
      });
      const projectsToResolve = await Promise.all(importers.map(async (project) => _toResolveImporter(project)));
      const { dependenciesTree, outdatedDependencies, resolvedImporters, resolvedPkgsById, wantedToBeSkippedPackageIds, appliedPatches, time, allPeerDepNames } = await (0, resolveDependencyTree_1.resolveDependencyTree)(projectsToResolve, opts);
      opts.storeController.clearResolutionCache();
      if (opts.patchedDependencies && (opts.forceFullResolution || !Object.keys(opts.wantedLockfile.packages ?? {})?.length) && Object.keys(opts.wantedLockfile.importers).length === importers.length) {
        verifyPatches({
          patchedDependencies: Object.keys(opts.patchedDependencies),
          appliedPatches,
          allowNonAppliedPatches: opts.allowNonAppliedPatches
        });
      }
      const projectsToLink = await Promise.all(projectsToResolve.map(async (project) => {
        const resolvedImporter = resolvedImporters[project.id];
        const topParents = project.manifest ? await getTopParents((0, difference_1.default)(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(project.manifest)), resolvedImporter.directDependencies.map(({ alias }) => alias) || []), project.modulesDir) : [];
        for (const linkedDependency of resolvedImporter.linkedDependencies) {
          const target = !opts.excludeLinksFromLockfile || (0, is_subdir_1.default)(opts.lockfileDir, linkedDependency.resolution.directory) ? linkedDependency.resolution.directory : path_1.default.join(project.modulesDir, linkedDependency.alias);
          const linkedDir = (0, resolveDependencies_1.createNodeIdForLinkedLocalPkg)(opts.lockfileDir, target);
          topParents.push({
            name: linkedDependency.alias,
            version: linkedDependency.version,
            linkedDir
          });
        }
        return {
          binsDir: project.binsDir,
          directNodeIdsByAlias: resolvedImporter.directNodeIdsByAlias,
          id: project.id,
          linkedDependencies: resolvedImporter.linkedDependencies,
          manifest: project.manifest,
          modulesDir: project.modulesDir,
          rootDir: project.rootDir,
          topParents
        };
      }));
      const { dependenciesGraph, dependenciesByProjectId, peerDependencyIssuesByProjects } = await (0, resolvePeers_1.resolvePeers)({
        allPeerDepNames,
        dependenciesTree,
        dedupePeerDependents: opts.dedupePeerDependents,
        dedupeInjectedDeps: opts.dedupeInjectedDeps,
        lockfileDir: opts.lockfileDir,
        projects: projectsToLink,
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        resolvePeersFromWorkspaceRoot: Boolean(opts.resolvePeersFromWorkspaceRoot),
        resolvedImporters,
        peersSuffixMaxLength: opts.peersSuffixMaxLength
      });
      const linkedDependenciesByProjectId = {};
      await Promise.all(projectsToResolve.map(async (project, index) => {
        const resolvedImporter = resolvedImporters[project.id];
        linkedDependenciesByProjectId[project.id] = resolvedImporter.linkedDependencies;
        let updatedManifest;
        let updatedOriginalManifest;
        if (project.updatePackageManifest) {
          [updatedManifest, updatedOriginalManifest] = await (0, updateProjectManifest_1.updateProjectManifest)(project, {
            directDependencies: resolvedImporter.directDependencies,
            preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol,
            saveWorkspaceProtocol: opts.saveWorkspaceProtocol
          });
        } else {
          updatedManifest = project.manifest;
          updatedOriginalManifest = project.originalManifest;
          core_loggers_1.packageManifestLogger.debug({
            prefix: project.rootDir,
            updated: project.manifest
          });
        }
        if (updatedManifest != null) {
          if (opts.autoInstallPeers) {
            if (updatedManifest.peerDependencies) {
              const allDeps = (0, manifest_utils_1.getAllDependenciesFromManifest)(updatedManifest);
              for (const [peerName, peerRange] of Object.entries(updatedManifest.peerDependencies)) {
                if (allDeps[peerName])
                  continue;
                updatedManifest.dependencies ??= {};
                updatedManifest.dependencies[peerName] = peerRange;
              }
            }
          }
          const projectSnapshot = opts.wantedLockfile.importers[project.id];
          opts.wantedLockfile.importers[project.id] = addDirectDependenciesToLockfile(updatedManifest, projectSnapshot, resolvedImporter.linkedDependencies, resolvedImporter.directDependencies, opts.excludeLinksFromLockfile);
        }
        importers[index].manifest = updatedOriginalManifest ?? project.originalManifest ?? project.manifest;
        for (const [alias, depPath] of dependenciesByProjectId[project.id].entries()) {
          const projectSnapshot = opts.wantedLockfile.importers[project.id];
          if (project.manifest.dependenciesMeta != null) {
            projectSnapshot.dependenciesMeta = project.manifest.dependenciesMeta;
          }
          const depNode = dependenciesGraph[depPath];
          const ref = (0, depPathToRef_1.depPathToRef)(depPath, {
            alias,
            realName: depNode.name,
            resolution: depNode.resolution
          });
          if (projectSnapshot.dependencies?.[alias]) {
            projectSnapshot.dependencies[alias] = ref;
          } else if (projectSnapshot.devDependencies?.[alias]) {
            projectSnapshot.devDependencies[alias] = ref;
          } else if (projectSnapshot.optionalDependencies?.[alias]) {
            projectSnapshot.optionalDependencies[alias] = ref;
          }
        }
      }));
      if (opts.dedupeDirectDeps) {
        const rootDeps = dependenciesByProjectId["."];
        if (rootDeps) {
          for (const [id, deps] of Object.entries(dependenciesByProjectId)) {
            if (id === ".")
              continue;
            for (const [alias, depPath] of deps.entries()) {
              if (depPath === rootDeps.get(alias)) {
                deps.delete(alias);
              }
            }
          }
        }
      }
      const newLockfile = (0, updateLockfile_1.updateLockfile)({
        dependenciesGraph,
        lockfile: opts.wantedLockfile,
        prefix: opts.virtualStoreDir,
        registries: opts.registries,
        lockfileIncludeTarballUrl: opts.lockfileIncludeTarballUrl
      });
      if (time) {
        newLockfile.time = {
          ...opts.wantedLockfile.time,
          ...time
        };
      }
      newLockfile.catalogs = (0, getCatalogSnapshots_1.getCatalogSnapshots)(Object.values(resolvedImporters).flatMap(({ directDependencies }) => directDependencies));
      async function waitTillAllFetchingsFinish() {
        await Promise.all(Object.values(resolvedPkgsById).map(async ({ fetching }) => {
          try {
            await fetching?.();
          } catch {
          }
        }));
      }
      return {
        dependenciesByProjectId,
        dependenciesGraph,
        outdatedDependencies,
        linkedDependenciesByProjectId,
        newLockfile,
        peerDependencyIssuesByProjects,
        waitTillAllFetchingsFinish,
        wantedToBeSkippedPackageIds
      };
    }
    function verifyPatches({ patchedDependencies, appliedPatches, allowNonAppliedPatches }) {
      const nonAppliedPatches = patchedDependencies.filter((patchKey) => !appliedPatches.has(patchKey));
      if (!nonAppliedPatches.length)
        return;
      const message = `The following patches were not applied: ${nonAppliedPatches.join(", ")}`;
      if (allowNonAppliedPatches) {
        (0, logger_1.globalWarn)(message);
        return;
      }
      throw new error_1.PnpmError("PATCH_NOT_APPLIED", message, {
        hint: 'Either remove them from "patchedDependencies" or update them to match packages in your dependencies.'
      });
    }
    function addDirectDependenciesToLockfile(newManifest, projectSnapshot, linkedPackages, directDependencies, excludeLinksFromLockfile) {
      const newProjectSnapshot = {
        dependencies: {},
        devDependencies: {},
        optionalDependencies: {},
        specifiers: {}
      };
      if (newManifest.publishConfig?.directory) {
        newProjectSnapshot.publishDirectory = newManifest.publishConfig.directory;
      }
      for (const linkedPkg of linkedPackages) {
        newProjectSnapshot.specifiers[linkedPkg.alias] = (0, manifest_utils_1.getSpecFromPackageManifest)(newManifest, linkedPkg.alias);
      }
      const directDependenciesByAlias = {};
      for (const directDependency of directDependencies) {
        directDependenciesByAlias[directDependency.alias] = directDependency;
      }
      const allDeps = Array.from(new Set(Object.keys((0, manifest_utils_1.getAllDependenciesFromManifest)(newManifest))));
      for (const alias of allDeps) {
        const dep = directDependenciesByAlias[alias];
        const spec = dep && (0, manifest_utils_1.getSpecFromPackageManifest)(newManifest, dep.alias);
        if (dep && (!excludeLinksFromLockfile || !dep.isLinkedDependency || spec.startsWith("workspace:"))) {
          const ref = (0, depPathToRef_1.depPathToRef)(dep.pkgId, {
            alias: dep.alias,
            realName: dep.name,
            resolution: dep.resolution
          });
          if (dep.dev) {
            newProjectSnapshot.devDependencies[dep.alias] = ref;
          } else if (dep.optional) {
            newProjectSnapshot.optionalDependencies[dep.alias] = ref;
          } else {
            newProjectSnapshot.dependencies[dep.alias] = ref;
          }
          newProjectSnapshot.specifiers[dep.alias] = spec;
        } else if (projectSnapshot.specifiers[alias]) {
          newProjectSnapshot.specifiers[alias] = projectSnapshot.specifiers[alias];
          if (projectSnapshot.dependencies?.[alias]) {
            newProjectSnapshot.dependencies[alias] = projectSnapshot.dependencies[alias];
          } else if (projectSnapshot.optionalDependencies?.[alias]) {
            newProjectSnapshot.optionalDependencies[alias] = projectSnapshot.optionalDependencies[alias];
          } else if (projectSnapshot.devDependencies?.[alias]) {
            newProjectSnapshot.devDependencies[alias] = projectSnapshot.devDependencies[alias];
          }
        }
      }
      alignDependencyTypes(newManifest, newProjectSnapshot);
      return newProjectSnapshot;
    }
    function alignDependencyTypes(manifest, projectSnapshot) {
      const depTypesOfAliases = getAliasToDependencyTypeMap(manifest);
      for (const depType of types_1.DEPENDENCIES_FIELDS) {
        if (projectSnapshot[depType] == null)
          continue;
        for (const [alias, ref] of Object.entries(projectSnapshot[depType] ?? {})) {
          if (depType === depTypesOfAliases[alias] || !depTypesOfAliases[alias])
            continue;
          projectSnapshot[depTypesOfAliases[alias]][alias] = ref;
          delete projectSnapshot[depType][alias];
        }
      }
    }
    function getAliasToDependencyTypeMap(manifest) {
      const depTypesOfAliases = {};
      for (const depType of types_1.DEPENDENCIES_FIELDS) {
        if (manifest[depType] == null)
          continue;
        for (const alias of Object.keys(manifest[depType] ?? {})) {
          if (!depTypesOfAliases[alias]) {
            depTypesOfAliases[alias] = depType;
          }
        }
      }
      return depTypesOfAliases;
    }
    async function getTopParents(pkgAliases, modulesDir) {
      const pkgs = await Promise.all(pkgAliases.map((alias) => path_1.default.join(modulesDir, alias)).map(read_package_json_1.safeReadPackageJsonFromDir));
      return (0, zipWith_1.default)((manifest, alias) => {
        if (!manifest)
          return null;
        return {
          alias,
          name: manifest.name,
          version: manifest.version
        };
      }, pkgs, pkgAliases).filter(Boolean);
    }
  }
});

// ../pkg-manager/core/lib/parseWantedDependencies.js
var require_parseWantedDependencies = __commonJS({
  "../pkg-manager/core/lib/parseWantedDependencies.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseWantedDependencies = parseWantedDependencies;
    var parse_wanted_dependency_1 = require_lib22();
    var which_version_is_pinned_1 = require_lib156();
    function parseWantedDependencies(rawWantedDependencies, opts) {
      return rawWantedDependencies.map((rawWantedDependency) => {
        const parsed = (0, parse_wanted_dependency_1.parseWantedDependency)(rawWantedDependency);
        const alias = parsed["alias"];
        let pref = parsed["pref"];
        let pinnedVersion;
        if (!opts.allowNew && (!alias || !opts.currentPrefs[alias])) {
          return null;
        }
        if (alias && opts.defaultCatalog?.[alias] && (!opts.currentPrefs[alias] && pref === void 0 || opts.defaultCatalog[alias] === pref || opts.defaultCatalog[alias] === opts.currentPrefs[alias])) {
          pref = "catalog:";
        }
        if (alias && opts.currentPrefs[alias]) {
          if (!pref) {
            pref = opts.currentPrefs[alias].startsWith("workspace:") && opts.updateWorkspaceDependencies === true ? "workspace:*" : opts.currentPrefs[alias];
          }
          pinnedVersion = (0, which_version_is_pinned_1.whichVersionIsPinned)(opts.currentPrefs[alias]);
        }
        const result2 = {
          alias,
          dev: Boolean(opts.dev || alias && !!opts.devDependencies[alias]),
          optional: Boolean(opts.optional || alias && !!opts.optionalDependencies[alias]),
          pinnedVersion,
          raw: alias && opts.currentPrefs?.[alias]?.startsWith("workspace:") ? `${alias}@${opts.currentPrefs[alias]}` : rawWantedDependency
        };
        if (pref) {
          return {
            ...result2,
            pref
          };
        }
        if (alias && opts.preferredSpecs?.[alias]) {
          return {
            ...result2,
            pref: opts.preferredSpecs[alias],
            raw: `${rawWantedDependency}@${opts.preferredSpecs[alias]}`
          };
        }
        if (alias && opts.overrides?.[alias]) {
          return {
            ...result2,
            pref: opts.overrides[alias],
            raw: `${alias}@${opts.overrides[alias]}`
          };
        }
        return {
          ...result2,
          pref: opts.defaultTag
        };
      }).filter((wd) => wd !== null);
    }
  }
});

// ../pkg-manager/core/lib/uninstall/removeDeps.js
var require_removeDeps = __commonJS({
  "../pkg-manager/core/lib/uninstall/removeDeps.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.removeDeps = removeDeps;
    var core_loggers_1 = require_lib28();
    var types_1 = require_lib31();
    async function removeDeps(packageManifest, removedPackages, opts) {
      if (opts.saveType) {
        if (packageManifest[opts.saveType] == null)
          return packageManifest;
        for (const dependency of removedPackages) {
          delete packageManifest[opts.saveType][dependency];
        }
      } else {
        for (const depField of types_1.DEPENDENCIES_FIELDS) {
          if (!packageManifest[depField])
            continue;
          for (const dependency of removedPackages) {
            delete packageManifest[depField][dependency];
          }
        }
      }
      if (packageManifest.peerDependencies != null) {
        for (const removedDependency of removedPackages) {
          delete packageManifest.peerDependencies[removedDependency];
        }
      }
      if (packageManifest.dependenciesMeta != null) {
        for (const removedDependency of removedPackages) {
          delete packageManifest.dependenciesMeta[removedDependency];
        }
      }
      core_loggers_1.packageManifestLogger.debug({
        prefix: opts.prefix,
        updated: packageManifest
      });
      return packageManifest;
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+extensions@2.0.3_@yarnpkg+core@4.0.5_typanion@3.14.0_/node_modules/@yarnpkg/extensions/lib/index.js
var require_lib163 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+extensions@2.0.3_@yarnpkg+core@4.0.5_typanion@3.14.0_/node_modules/@yarnpkg/extensions/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.packageExtensions = void 0;
    var optionalPeerDep = {
      optional: true
    };
    exports2.packageExtensions = [
      // https://github.com/tailwindlabs/tailwindcss-aspect-ratio/pull/14
      [`@tailwindcss/aspect-ratio@<0.2.1`, {
        peerDependencies: {
          [`tailwindcss`]: `^2.0.2`
        }
      }],
      // https://github.com/tailwindlabs/tailwindcss-line-clamp/pull/6
      [`@tailwindcss/line-clamp@<0.2.1`, {
        peerDependencies: {
          [`tailwindcss`]: `^2.0.2`
        }
      }],
      // https://github.com/FullHuman/purgecss/commit/24116f394dc54c913e4fd254cf2d78c03db971f2
      [`@fullhuman/postcss-purgecss@3.1.3 || 3.1.3-alpha.0`, {
        peerDependencies: {
          [`postcss`]: `^8.0.0`
        }
      }],
      // https://github.com/SamVerschueren/stream-to-observable/pull/5
      [`@samverschueren/stream-to-observable@<0.3.1`, {
        peerDependenciesMeta: {
          [`rxjs`]: optionalPeerDep,
          [`zenObservable`]: optionalPeerDep
        }
      }],
      // https://github.com/sindresorhus/any-observable/pull/25
      [`any-observable@<0.5.1`, {
        peerDependenciesMeta: {
          [`rxjs`]: optionalPeerDep,
          [`zenObservable`]: optionalPeerDep
        }
      }],
      // https://github.com/keymetrics/pm2-io-agent/pull/125
      [`@pm2/agent@<1.0.4`, {
        dependencies: {
          [`debug`]: `*`
        }
      }],
      // https://github.com/visionmedia/debug/pull/727
      [`debug@<4.2.0`, {
        peerDependenciesMeta: {
          [`supports-color`]: optionalPeerDep
        }
      }],
      // https://github.com/sindresorhus/got/pull/1125
      [`got@<11`, {
        dependencies: {
          [`@types/responselike`]: `^1.0.0`,
          [`@types/keyv`]: `^3.1.1`
        }
      }],
      // https://github.com/szmarczak/cacheable-lookup/pull/12
      [`cacheable-lookup@<4.1.2`, {
        dependencies: {
          [`@types/keyv`]: `^3.1.1`
        }
      }],
      // https://github.com/prisma-labs/http-link-dataloader/pull/22
      [`http-link-dataloader@*`, {
        peerDependencies: {
          [`graphql`]: `^0.13.1 || ^14.0.0`
        }
      }],
      // https://github.com/theia-ide/typescript-language-server/issues/144
      [`typescript-language-server@*`, {
        dependencies: {
          [`vscode-jsonrpc`]: `^5.0.1`,
          [`vscode-languageserver-protocol`]: `^3.15.0`
        }
      }],
      // https://github.com/gucong3000/postcss-syntax/pull/46
      [`postcss-syntax@*`, {
        peerDependenciesMeta: {
          [`postcss-html`]: optionalPeerDep,
          [`postcss-jsx`]: optionalPeerDep,
          [`postcss-less`]: optionalPeerDep,
          [`postcss-markdown`]: optionalPeerDep,
          [`postcss-scss`]: optionalPeerDep
        }
      }],
      // https://github.com/cssinjs/jss/pull/1315
      [`jss-plugin-rule-value-function@<=10.1.1`, {
        dependencies: {
          [`tiny-warning`]: `^1.0.2`
        }
      }],
      // https://github.com/vadimdemedes/ink-select-input/pull/26
      [`ink-select-input@<4.1.0`, {
        peerDependencies: {
          react: `^16.8.2`
        }
      }],
      // https://github.com/xz64/license-webpack-plugin/pull/100
      [`license-webpack-plugin@<2.3.18`, {
        peerDependenciesMeta: {
          [`webpack`]: optionalPeerDep
        }
      }],
      // https://github.com/snowpackjs/snowpack/issues/3158
      [`snowpack@>=3.3.0`, {
        dependencies: {
          [`node-gyp`]: `^7.1.0`
        }
      }],
      // https://github.com/iarna/promise-inflight/pull/4
      [`promise-inflight@*`, {
        peerDependenciesMeta: {
          [`bluebird`]: optionalPeerDep
        }
      }],
      // https://github.com/casesandberg/reactcss/pull/153
      [`reactcss@*`, {
        peerDependencies: {
          react: `*`
        }
      }],
      // https://github.com/casesandberg/react-color/pull/746
      [`react-color@<=2.19.0`, {
        peerDependencies: {
          react: `*`
        }
      }],
      // https://github.com/angeloocana/gatsby-plugin-i18n/pull/145
      [`gatsby-plugin-i18n@*`, {
        dependencies: {
          ramda: `^0.24.1`
        }
      }],
      // https://github.com/3rd-Eden/useragent/pull/159
      [`useragent@^2.0.0`, {
        dependencies: {
          request: `^2.88.0`,
          yamlparser: `0.0.x`,
          semver: `5.5.x`
        }
      }],
      // https://github.com/apollographql/apollo-tooling/pull/2049
      [`@apollographql/apollo-tools@<=0.5.2`, {
        peerDependencies: {
          graphql: `^14.2.1 || ^15.0.0`
        }
      }],
      // https://github.com/mbrn/material-table/pull/2374
      [`material-table@^2.0.0`, {
        dependencies: {
          "@babel/runtime": `^7.11.2`
        }
      }],
      // https://github.com/babel/babel/pull/11118
      [`@babel/parser@*`, {
        dependencies: {
          "@babel/types": `^7.8.3`
        }
      }],
      // https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/pull/507
      [`fork-ts-checker-webpack-plugin@<=6.3.4`, {
        peerDependencies: {
          eslint: `>= 6`,
          typescript: `>= 2.7`,
          webpack: `>= 4`,
          "vue-template-compiler": `*`
        },
        peerDependenciesMeta: {
          eslint: optionalPeerDep,
          "vue-template-compiler": optionalPeerDep
        }
      }],
      // https://github.com/react-component/animate/pull/116
      [`rc-animate@<=3.1.1`, {
        peerDependencies: {
          react: `>=16.9.0`,
          "react-dom": `>=16.9.0`
        }
      }],
      // https://github.com/react-bootstrap-table/react-bootstrap-table2/pull/1491
      [`react-bootstrap-table2-paginator@*`, {
        dependencies: {
          classnames: `^2.2.6`
        }
      }],
      // https://github.com/STRML/react-draggable/pull/525
      [`react-draggable@<=4.4.3`, {
        peerDependencies: {
          react: `>= 16.3.0`,
          "react-dom": `>= 16.3.0`
        }
      }],
      // https://github.com/jaydenseric/apollo-upload-client/commit/336691cec6698661ab404649e4e8435750255803
      [`apollo-upload-client@<14`, {
        peerDependencies: {
          graphql: `14 - 15`
        }
      }],
      // https://github.com/algolia/react-instantsearch/pull/2975
      [`react-instantsearch-core@<=6.7.0`, {
        peerDependencies: {
          algoliasearch: `>= 3.1 < 5`
        }
      }],
      // https://github.com/algolia/react-instantsearch/pull/2975
      [`react-instantsearch-dom@<=6.7.0`, {
        dependencies: {
          "react-fast-compare": `^3.0.0`
        }
      }],
      // https://github.com/websockets/ws/pull/1626
      [`ws@<7.2.1`, {
        peerDependencies: {
          bufferutil: `^4.0.1`,
          "utf-8-validate": `^5.0.2`
        },
        peerDependenciesMeta: {
          bufferutil: optionalPeerDep,
          "utf-8-validate": optionalPeerDep
        }
      }],
      // https://github.com/tajo/react-portal/pull/233
      // https://github.com/tajo/react-portal/commit/daf85792c2fce25a3481b6f9132ef61a110f3d78
      [`react-portal@<4.2.2`, {
        peerDependencies: {
          "react-dom": `^15.0.0-0 || ^16.0.0-0 || ^17.0.0-0`
        }
      }],
      // https://github.com/facebook/create-react-app/pull/9872
      [`react-scripts@<=4.0.1`, {
        peerDependencies: {
          [`react`]: `*`
        }
      }],
      // https://github.com/DevExpress/testcafe/pull/5872
      [`testcafe@<=1.10.1`, {
        dependencies: {
          "@babel/plugin-transform-for-of": `^7.12.1`,
          "@babel/runtime": `^7.12.5`
        }
      }],
      // https://github.com/DevExpress/testcafe-legacy-api/pull/51
      [`testcafe-legacy-api@<=4.2.0`, {
        dependencies: {
          "testcafe-hammerhead": `^17.0.1`,
          "read-file-relative": `^1.2.0`
        }
      }],
      // https://github.com/googleapis/nodejs-firestore/pull/1425
      [`@google-cloud/firestore@<=4.9.3`, {
        dependencies: {
          protobufjs: `^6.8.6`
        }
      }],
      // https://github.com/thinhle-agilityio/gatsby-source-apiserver/pull/58
      [`gatsby-source-apiserver@*`, {
        dependencies: {
          [`babel-polyfill`]: `^6.26.0`
        }
      }],
      // https://github.com/webpack/webpack-cli/pull/2097
      [`@webpack-cli/package-utils@<=1.0.1-alpha.4`, {
        dependencies: {
          [`cross-spawn`]: `^7.0.3`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/20156
      [`gatsby-remark-prismjs@<3.3.28`, {
        dependencies: {
          [`lodash`]: `^4`
        }
      }],
      // https://github.com/Creatiwity/gatsby-plugin-favicon/pull/65
      [`gatsby-plugin-favicon@*`, {
        peerDependencies: {
          [`webpack`]: `*`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/28759
      [`gatsby-plugin-sharp@<=4.6.0-next.3`, {
        dependencies: {
          [`debug`]: `^4.3.1`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/28759
      [`gatsby-react-router-scroll@<=5.6.0-next.0`, {
        dependencies: {
          [`prop-types`]: `^15.7.2`
        }
      }],
      // https://github.com/rebassjs/rebass/pull/934
      [`@rebass/forms@*`, {
        dependencies: {
          [`@styled-system/should-forward-prop`]: `^5.0.0`
        },
        peerDependencies: {
          react: `^16.8.6`
        }
      }],
      // https://github.com/rebassjs/rebass/pull/934
      [`rebass@*`, {
        peerDependencies: {
          react: `^16.8.6`
        }
      }],
      // https://github.com/ant-design/react-slick/pull/95
      [`@ant-design/react-slick@<=0.28.3`, {
        peerDependencies: {
          react: `>=16.0.0`
        }
      }],
      // https://github.com/mqttjs/MQTT.js/pull/1266
      [`mqtt@<4.2.7`, {
        dependencies: {
          duplexify: `^4.1.1`
        }
      }],
      // https://github.com/vuetifyjs/vue-cli-plugins/pull/155
      [`vue-cli-plugin-vuetify@<=2.0.3`, {
        dependencies: {
          semver: `^6.3.0`
        },
        peerDependenciesMeta: {
          "sass-loader": optionalPeerDep,
          "vuetify-loader": optionalPeerDep
        }
      }],
      // https://github.com/vuetifyjs/vue-cli-plugins/pull/152
      [`vue-cli-plugin-vuetify@<=2.0.4`, {
        dependencies: {
          "null-loader": `^3.0.0`
        }
      }],
      // https://github.com/vuetifyjs/vue-cli-plugins/pull/324
      [`vue-cli-plugin-vuetify@>=2.4.3`, {
        peerDependencies: {
          vue: `*`
        }
      }],
      // https://github.com/vuetifyjs/vue-cli-plugins/pull/155
      [`@vuetify/cli-plugin-utils@<=0.0.4`, {
        dependencies: {
          semver: `^6.3.0`
        },
        peerDependenciesMeta: {
          "sass-loader": optionalPeerDep
        }
      }],
      // https://github.com/vuejs/vue-cli/pull/6060/files#diff-857cfb6f3e9a676b0de4a00c2c712297068c038a7d5820c133b8d6aa8cceb146R28
      [`@vue/cli-plugin-typescript@<=5.0.0-alpha.0`, {
        dependencies: {
          "babel-loader": `^8.1.0`
        }
      }],
      // https://github.com/vuejs/vue-cli/pull/6456
      [`@vue/cli-plugin-typescript@<=5.0.0-beta.0`, {
        dependencies: {
          "@babel/core": `^7.12.16`
        },
        peerDependencies: {
          "vue-template-compiler": `^2.0.0`
        },
        peerDependenciesMeta: {
          "vue-template-compiler": optionalPeerDep
        }
      }],
      // https://github.com/apache/cordova-ios/pull/1105
      [`cordova-ios@<=6.3.0`, {
        dependencies: {
          underscore: `^1.9.2`
        }
      }],
      // https://github.com/apache/cordova-lib/pull/871
      [`cordova-lib@<=10.0.1`, {
        dependencies: {
          underscore: `^1.9.2`
        }
      }],
      // https://github.com/creationix/git-node-fs/pull/8
      [`git-node-fs@*`, {
        peerDependencies: {
          "js-git": `^0.7.8`
        },
        peerDependenciesMeta: {
          "js-git": optionalPeerDep
        }
      }],
      // https://github.com/tj/consolidate.js/pull/339
      // https://github.com/tj/consolidate.js/commit/6068c17fd443897e540d69b1786db07a0d64b53b
      [`consolidate@<0.16.0`, {
        peerDependencies: {
          mustache: `^3.0.0`
        },
        peerDependenciesMeta: {
          mustache: optionalPeerDep
        }
      }],
      // https://github.com/tj/consolidate.js/pull/339
      [`consolidate@<=0.16.0`, {
        peerDependencies: {
          velocityjs: `^2.0.1`,
          tinyliquid: `^0.2.34`,
          "liquid-node": `^3.0.1`,
          jade: `^1.11.0`,
          "then-jade": `*`,
          dust: `^0.3.0`,
          "dustjs-helpers": `^1.7.4`,
          "dustjs-linkedin": `^2.7.5`,
          swig: `^1.4.2`,
          "swig-templates": `^2.0.3`,
          "razor-tmpl": `^1.3.1`,
          atpl: `>=0.7.6`,
          liquor: `^0.0.5`,
          twig: `^1.15.2`,
          ejs: `^3.1.5`,
          eco: `^1.1.0-rc-3`,
          jazz: `^0.0.18`,
          jqtpl: `~1.1.0`,
          hamljs: `^0.6.2`,
          hamlet: `^0.3.3`,
          whiskers: `^0.4.0`,
          "haml-coffee": `^1.14.1`,
          "hogan.js": `^3.0.2`,
          templayed: `>=0.2.3`,
          handlebars: `^4.7.6`,
          underscore: `^1.11.0`,
          lodash: `^4.17.20`,
          pug: `^3.0.0`,
          "then-pug": `*`,
          qejs: `^3.0.5`,
          walrus: `^0.10.1`,
          mustache: `^4.0.1`,
          just: `^0.1.8`,
          ect: `^0.5.9`,
          mote: `^0.2.0`,
          toffee: `^0.3.6`,
          dot: `^1.1.3`,
          "bracket-template": `^1.1.5`,
          ractive: `^1.3.12`,
          nunjucks: `^3.2.2`,
          htmling: `^0.0.8`,
          "babel-core": `^6.26.3`,
          plates: `~0.4.11`,
          "react-dom": `^16.13.1`,
          react: `^16.13.1`,
          "arc-templates": `^0.5.3`,
          vash: `^0.13.0`,
          slm: `^2.0.0`,
          marko: `^3.14.4`,
          teacup: `^2.0.0`,
          "coffee-script": `^1.12.7`,
          squirrelly: `^5.1.0`,
          twing: `^5.0.2`
        },
        peerDependenciesMeta: {
          velocityjs: optionalPeerDep,
          tinyliquid: optionalPeerDep,
          "liquid-node": optionalPeerDep,
          jade: optionalPeerDep,
          "then-jade": optionalPeerDep,
          dust: optionalPeerDep,
          "dustjs-helpers": optionalPeerDep,
          "dustjs-linkedin": optionalPeerDep,
          swig: optionalPeerDep,
          "swig-templates": optionalPeerDep,
          "razor-tmpl": optionalPeerDep,
          atpl: optionalPeerDep,
          liquor: optionalPeerDep,
          twig: optionalPeerDep,
          ejs: optionalPeerDep,
          eco: optionalPeerDep,
          jazz: optionalPeerDep,
          jqtpl: optionalPeerDep,
          hamljs: optionalPeerDep,
          hamlet: optionalPeerDep,
          whiskers: optionalPeerDep,
          "haml-coffee": optionalPeerDep,
          "hogan.js": optionalPeerDep,
          templayed: optionalPeerDep,
          handlebars: optionalPeerDep,
          underscore: optionalPeerDep,
          lodash: optionalPeerDep,
          pug: optionalPeerDep,
          "then-pug": optionalPeerDep,
          qejs: optionalPeerDep,
          walrus: optionalPeerDep,
          mustache: optionalPeerDep,
          just: optionalPeerDep,
          ect: optionalPeerDep,
          mote: optionalPeerDep,
          toffee: optionalPeerDep,
          dot: optionalPeerDep,
          "bracket-template": optionalPeerDep,
          ractive: optionalPeerDep,
          nunjucks: optionalPeerDep,
          htmling: optionalPeerDep,
          "babel-core": optionalPeerDep,
          plates: optionalPeerDep,
          "react-dom": optionalPeerDep,
          react: optionalPeerDep,
          "arc-templates": optionalPeerDep,
          vash: optionalPeerDep,
          slm: optionalPeerDep,
          marko: optionalPeerDep,
          teacup: optionalPeerDep,
          "coffee-script": optionalPeerDep,
          squirrelly: optionalPeerDep,
          twing: optionalPeerDep
        }
      }],
      // https://github.com/vuejs/vue-loader/pull/1853
      // https://github.com/vuejs/vue-loader/commit/089473af97077b8e14b3feff48d32d2733ad792c
      [`vue-loader@<=16.3.3`, {
        peerDependencies: {
          "@vue/compiler-sfc": `^3.0.8`,
          webpack: `^4.1.0 || ^5.0.0-0`
        },
        peerDependenciesMeta: {
          "@vue/compiler-sfc": optionalPeerDep
        }
      }],
      // https://github.com/vuejs/vue-loader/pull/1944
      [`vue-loader@^16.7.0`, {
        peerDependencies: {
          "@vue/compiler-sfc": `^3.0.8`,
          vue: `^3.2.13`
        },
        peerDependenciesMeta: {
          "@vue/compiler-sfc": optionalPeerDep,
          vue: optionalPeerDep
        }
      }],
      // https://github.com/salesforce-ux/scss-parser/pull/43
      [`scss-parser@<=1.0.5`, {
        dependencies: {
          lodash: `^4.17.21`
        }
      }],
      // https://github.com/salesforce-ux/query-ast/pull/25
      [`query-ast@<1.0.5`, {
        dependencies: {
          lodash: `^4.17.21`
        }
      }],
      // https://github.com/reduxjs/redux-thunk/pull/251
      [`redux-thunk@<=2.3.0`, {
        peerDependencies: {
          redux: `^4.0.0`
        }
      }],
      // https://github.com/snowpackjs/snowpack/pull/3556
      [`skypack@<=0.3.2`, {
        dependencies: {
          tar: `^6.1.0`
        }
      }],
      // https://github.com/npm/metavuln-calculator/pull/8
      [`@npmcli/metavuln-calculator@<2.0.0`, {
        dependencies: {
          "json-parse-even-better-errors": `^2.3.1`
        }
      }],
      // https://github.com/npm/bin-links/pull/17
      [`bin-links@<2.3.0`, {
        dependencies: {
          "mkdirp-infer-owner": `^1.0.2`
        }
      }],
      // https://github.com/snowpackjs/rollup-plugin-polyfill-node/pull/30
      [`rollup-plugin-polyfill-node@<=0.8.0`, {
        peerDependencies: {
          rollup: `^1.20.0 || ^2.0.0`
        }
      }],
      // https://github.com/snowpackjs/snowpack/pull/3673
      [`snowpack@<3.8.6`, {
        dependencies: {
          "magic-string": `^0.25.7`
        }
      }],
      // https://github.com/elm-community/elm-webpack-loader/pull/202
      [`elm-webpack-loader@*`, {
        dependencies: {
          temp: `^0.9.4`
        }
      }],
      // https://github.com/winstonjs/winston-transport/pull/58
      [`winston-transport@<=4.4.0`, {
        dependencies: {
          logform: `^2.2.0`
        }
      }],
      // https://github.com/vire/jest-vue-preprocessor/pull/177
      [`jest-vue-preprocessor@*`, {
        dependencies: {
          "@babel/core": `7.8.7`,
          "@babel/template": `7.8.6`
        },
        peerDependencies: {
          pug: `^2.0.4`
        },
        peerDependenciesMeta: {
          pug: optionalPeerDep
        }
      }],
      // https://github.com/rt2zz/redux-persist/pull/1336
      [`redux-persist@*`, {
        peerDependencies: {
          react: `>=16`
        },
        peerDependenciesMeta: {
          react: optionalPeerDep
        }
      }],
      // https://github.com/paixaop/node-sodium/pull/159
      [`sodium@>=3`, {
        dependencies: {
          "node-gyp": `^3.8.0`
        }
      }],
      // https://github.com/gajus/babel-plugin-graphql-tag/pull/63
      [`babel-plugin-graphql-tag@<=3.1.0`, {
        peerDependencies: {
          graphql: `^14.0.0 || ^15.0.0`
        }
      }],
      // https://github.com/microsoft/playwright/pull/8501
      [`@playwright/test@<=1.14.1`, {
        dependencies: {
          "jest-matcher-utils": `^26.4.2`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/32954
      ...[
        `babel-plugin-remove-graphql-queries@<3.14.0-next.1`,
        `babel-preset-gatsby-package@<1.14.0-next.1`,
        `create-gatsby@<1.14.0-next.1`,
        `gatsby-admin@<0.24.0-next.1`,
        `gatsby-cli@<3.14.0-next.1`,
        `gatsby-core-utils@<2.14.0-next.1`,
        `gatsby-design-tokens@<3.14.0-next.1`,
        `gatsby-legacy-polyfills@<1.14.0-next.1`,
        `gatsby-plugin-benchmark-reporting@<1.14.0-next.1`,
        `gatsby-plugin-graphql-config@<0.23.0-next.1`,
        `gatsby-plugin-image@<1.14.0-next.1`,
        `gatsby-plugin-mdx@<2.14.0-next.1`,
        `gatsby-plugin-netlify-cms@<5.14.0-next.1`,
        `gatsby-plugin-no-sourcemaps@<3.14.0-next.1`,
        `gatsby-plugin-page-creator@<3.14.0-next.1`,
        `gatsby-plugin-preact@<5.14.0-next.1`,
        `gatsby-plugin-preload-fonts@<2.14.0-next.1`,
        `gatsby-plugin-schema-snapshot@<2.14.0-next.1`,
        `gatsby-plugin-styletron@<6.14.0-next.1`,
        `gatsby-plugin-subfont@<3.14.0-next.1`,
        `gatsby-plugin-utils@<1.14.0-next.1`,
        `gatsby-recipes@<0.25.0-next.1`,
        `gatsby-source-shopify@<5.6.0-next.1`,
        `gatsby-source-wikipedia@<3.14.0-next.1`,
        `gatsby-transformer-screenshot@<3.14.0-next.1`,
        `gatsby-worker@<0.5.0-next.1`
      ].map((descriptorString) => [
        descriptorString,
        {
          dependencies: {
            "@babel/runtime": `^7.14.8`
          }
        }
      ]),
      // Originally fixed in https://github.com/gatsbyjs/gatsby/pull/31837 (https://github.com/gatsbyjs/gatsby/commit/6378692d7ec1eb902520720e27aca97e8eb42c21)
      // Version updated and added in https://github.com/gatsbyjs/gatsby/pull/32928
      [`gatsby-core-utils@<2.14.0-next.1`, {
        dependencies: {
          got: `8.3.2`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/32861
      [`gatsby-plugin-gatsby-cloud@<=3.1.0-next.0`, {
        dependencies: {
          "gatsby-core-utils": `^2.13.0-next.0`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/31837
      [`gatsby-plugin-gatsby-cloud@<=3.2.0-next.1`, {
        peerDependencies: {
          webpack: `*`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/31837
      [`babel-plugin-remove-graphql-queries@<=3.14.0-next.1`, {
        dependencies: {
          "gatsby-core-utils": `^2.8.0-next.1`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/32861
      [`gatsby-plugin-netlify@3.13.0-next.1`, {
        dependencies: {
          "gatsby-core-utils": `^2.13.0-next.0`
        }
      }],
      // https://github.com/paul-soporan/clipanion-v3-codemod/pull/1
      [`clipanion-v3-codemod@<=0.2.0`, {
        peerDependencies: {
          jscodeshift: `^0.11.0`
        }
      }],
      // https://github.com/FormidableLabs/react-live/pull/180
      [`react-live@*`, {
        peerDependencies: {
          "react-dom": `*`,
          react: `*`
        }
      }],
      // https://github.com/webpack/webpack/pull/11190
      [`webpack@<4.44.1`, {
        peerDependenciesMeta: {
          "webpack-cli": optionalPeerDep,
          "webpack-command": optionalPeerDep
        }
      }],
      // https://github.com/webpack/webpack/pull/11189
      [`webpack@<5.0.0-beta.23`, {
        peerDependenciesMeta: {
          "webpack-cli": optionalPeerDep
        }
      }],
      // https://github.com/webpack/webpack-dev-server/pull/2396
      [`webpack-dev-server@<3.10.2`, {
        peerDependenciesMeta: {
          "webpack-cli": optionalPeerDep
        }
      }],
      // https://github.com/slorber/responsive-loader/pull/1/files
      [`@docusaurus/responsive-loader@<1.5.0`, {
        peerDependenciesMeta: {
          sharp: optionalPeerDep,
          jimp: optionalPeerDep
        }
      }],
      // https://github.com/import-js/eslint-plugin-import/pull/2283
      [`eslint-module-utils@*`, {
        peerDependenciesMeta: {
          "eslint-import-resolver-node": optionalPeerDep,
          "eslint-import-resolver-typescript": optionalPeerDep,
          "eslint-import-resolver-webpack": optionalPeerDep,
          "@typescript-eslint/parser": optionalPeerDep
        }
      }],
      // https://github.com/import-js/eslint-plugin-import/pull/2283
      [`eslint-plugin-import@*`, {
        peerDependenciesMeta: {
          "@typescript-eslint/parser": optionalPeerDep
        }
      }],
      // https://github.com/GoogleChromeLabs/critters/pull/91
      [`critters-webpack-plugin@<3.0.2`, {
        peerDependenciesMeta: {
          "html-webpack-plugin": optionalPeerDep
        }
      }],
      // https://github.com/terser/terser/commit/05b23eeb682d732484ad51b19bf528258fd5dc2a
      [`terser@<=5.10.0`, {
        dependencies: {
          acorn: `^8.5.0`
        }
      }],
      // https://github.com/facebook/create-react-app/pull/12364
      [`babel-preset-react-app@10.0.x <10.0.2`, {
        dependencies: {
          "@babel/plugin-proposal-private-property-in-object": `^7.16.7`
        }
      }],
      // https://github.com/facebook/create-react-app/pull/11751
      [`eslint-config-react-app@*`, {
        peerDependenciesMeta: {
          typescript: optionalPeerDep
        }
      }],
      // https://github.com/vuejs/eslint-config-typescript/pull/39
      [`@vue/eslint-config-typescript@<11.0.0`, {
        peerDependenciesMeta: {
          typescript: optionalPeerDep
        }
      }],
      // https://github.com/antfu/unplugin-vue2-script-setup/pull/100
      [`unplugin-vue2-script-setup@<0.9.1`, {
        peerDependencies: {
          "@vue/composition-api": `^1.4.3`,
          "@vue/runtime-dom": `^3.2.26`
        }
      }],
      // https://github.com/cypress-io/snapshot/pull/159
      [`@cypress/snapshot@*`, {
        dependencies: {
          debug: `^3.2.7`
        }
      }],
      // https://github.com/wemaintain/auto-relay/pull/95
      [`auto-relay@<=0.14.0`, {
        peerDependencies: {
          "reflect-metadata": `^0.1.13`
        }
      }],
      // https://github.com/JuniorTour/vue-template-babel-compiler/pull/40
      [`vue-template-babel-compiler@<1.2.0`, {
        peerDependencies: {
          [`vue-template-compiler`]: `^2.6.0`
        }
      }],
      // https://github.com/parcel-bundler/parcel/pull/7977
      [`@parcel/transformer-image@<2.5.0`, {
        peerDependencies: {
          [`@parcel/core`]: `*`
        }
      }],
      // https://github.com/parcel-bundler/parcel/pull/7977
      [`@parcel/transformer-js@<2.5.0`, {
        peerDependencies: {
          [`@parcel/core`]: `*`
        }
      }],
      // Experiment to unblock the usage of Parcel in E2E tests
      [`parcel@*`, {
        peerDependenciesMeta: {
          [`@parcel/core`]: optionalPeerDep
        }
      }],
      // This doesn't have an upstream PR.
      // The auto types causes two instances of eslint-config-react-app,
      // one that has access to @types/eslint and one that doesn't.
      // ESLint doesn't allow the same plugin to show up multiple times so it throws.
      // As a temporary workaround until create-react-app fixes their ESLint
      // setup we make eslint a peer dependency /w fallback.
      // TODO: Lock the range when create-react-app fixes their ESLint setup
      [`react-scripts@*`, {
        peerDependencies: {
          [`eslint`]: `*`
        }
      }],
      // https://github.com/focus-trap/focus-trap-react/pull/691
      [`focus-trap-react@^8.0.0`, {
        dependencies: {
          tabbable: `^5.3.2`
        }
      }],
      // https://github.com/bokuweb/react-rnd/pull/864
      [`react-rnd@<10.3.7`, {
        peerDependencies: {
          react: `>=16.3.0`,
          "react-dom": `>=16.3.0`
        }
      }],
      // https://github.com/jdesboeufs/connect-mongo/pull/458
      // https://github.com/jdesboeufs/connect-mongo/commit/f462a2598d1dea0722a89e1f101937d427462458
      [`connect-mongo@<5.0.0`, {
        peerDependencies: {
          "express-session": `^1.17.1`
        }
      }],
      // https://github.com/intlify/vue-i18n-next/commit/ed932b9e575807dc27c30573b280ad8ae48e98c9
      [`vue-i18n@<9`, {
        peerDependencies: {
          vue: `^2`
        }
      }],
      // https://github.com/vuejs/router/commit/c2305083a8fcb42d1bb1f3f0d92f09930124b530
      [`vue-router@<4`, {
        peerDependencies: {
          vue: `^2`
        }
      }],
      // https://github.com/unifiedjs/unified/pull/146
      [`unified@<10`, {
        dependencies: {
          "@types/unist": `^2.0.0`
        }
      }],
      // https://github.com/ntkme/react-github-btn/pull/23
      [`react-github-btn@<=1.3.0`, {
        peerDependencies: {
          react: `>=16.3.0`
        }
      }],
      // There are two candidates upstream, clean this up when either is merged.
      // - https://github.com/facebook/create-react-app/pull/11526
      // - https://github.com/facebook/create-react-app/pull/11716
      [`react-dev-utils@*`, {
        peerDependencies: {
          typescript: `>=2.7`,
          webpack: `>=4`
        },
        peerDependenciesMeta: {
          typescript: optionalPeerDep
        }
      }],
      // https://github.com/asyncapi/asyncapi-react/pull/614
      [`@asyncapi/react-component@<=1.0.0-next.39`, {
        peerDependencies: {
          react: `>=16.8.0`,
          "react-dom": `>=16.8.0`
        }
      }],
      // https://github.com/xojs/xo/pull/678
      [`xo@*`, {
        peerDependencies: {
          webpack: `>=1.11.0`
        },
        peerDependenciesMeta: {
          webpack: optionalPeerDep
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/36230
      [`babel-plugin-remove-graphql-queries@<=4.20.0-next.0`, {
        dependencies: {
          "@babel/types": `^7.15.4`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/36230
      [`gatsby-plugin-page-creator@<=4.20.0-next.1`, {
        dependencies: {
          "fs-extra": `^10.1.0`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/36230
      [`gatsby-plugin-utils@<=3.14.0-next.1`, {
        dependencies: {
          fastq: `^1.13.0`
        },
        peerDependencies: {
          graphql: `^15.0.0`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/33724
      [`gatsby-plugin-mdx@<3.1.0-next.1`, {
        dependencies: {
          mkdirp: `^1.0.4`
        }
      }],
      // https://github.com/gatsbyjs/gatsby/pull/33170
      [`gatsby-plugin-mdx@^2`, {
        peerDependencies: {
          gatsby: `^3.0.0-next`
        }
      }],
      // https://github.com/thecodrr/fdir/pull/76
      // https://github.com/thecodrr/fdir/pull/80
      [`fdir@<=5.2.0`, {
        peerDependencies: {
          picomatch: `2.x`
        },
        peerDependenciesMeta: {
          picomatch: optionalPeerDep
        }
      }],
      // https://github.com/leonardfactory/babel-plugin-transform-typescript-metadata/pull/61
      [`babel-plugin-transform-typescript-metadata@<=0.3.2`, {
        peerDependencies: {
          "@babel/core": `^7`,
          "@babel/traverse": `^7`
        },
        peerDependenciesMeta: {
          "@babel/traverse": optionalPeerDep
        }
      }],
      // https://github.com/graphql-compose/graphql-compose/pull/398
      [`graphql-compose@>=9.0.10`, {
        peerDependencies: {
          graphql: `^14.2.0 || ^15.0.0 || ^16.0.0`
        }
      }],
      // https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3
      [`vite-plugin-vuetify@<=1.0.2`, {
        peerDependencies: {
          vue: `^3.0.0`
        }
      }],
      // https://github.com/vuetifyjs/vuetify-loader/commit/6634db3218dcc706db1c5c9e90f338ce76e9fff3
      [`webpack-plugin-vuetify@<=2.0.1`, {
        peerDependencies: {
          vue: `^3.2.6`
        }
      }],
      // https://github.com/pzmosquito/eslint-import-resolver-vite/pull/22
      // https://github.com/pzmosquito/eslint-import-resolver-vite/commit/97b8111b03d3f8c66506732ac965e906568e8dc1#diff-7ae45ad102eab3b6d7e7896acd08c427a9b25b346470d7bc6507b6481575d519
      [`eslint-import-resolver-vite@<2.0.1`, {
        dependencies: {
          debug: `^4.3.4`,
          resolve: `^1.22.8`
        }
      }]
    ];
  }
});

// ../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js
var require_createOptionalDependenciesRemover = __commonJS({
  "../hooks/read-package-hook/lib/createOptionalDependenciesRemover.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createOptionalDependenciesRemover = createOptionalDependenciesRemover;
    var matcher_1 = require_lib16();
    function createOptionalDependenciesRemover(toBeRemoved) {
      if (!toBeRemoved.length)
        return (manifest) => manifest;
      const shouldBeRemoved = (0, matcher_1.createMatcher)(toBeRemoved);
      return (manifest) => removeOptionalDependencies(manifest, shouldBeRemoved);
    }
    function removeOptionalDependencies(manifest, shouldBeRemoved) {
      for (const optionalDependency in manifest.optionalDependencies) {
        if (shouldBeRemoved(optionalDependency)) {
          delete manifest.optionalDependencies[optionalDependency];
          delete manifest.dependencies?.[optionalDependency];
        }
      }
      return manifest;
    }
  }
});

// ../hooks/read-package-hook/lib/createPackageExtender.js
var require_createPackageExtender = __commonJS({
  "../hooks/read-package-hook/lib/createPackageExtender.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createPackageExtender = createPackageExtender;
    var parse_wanted_dependency_1 = require_lib22();
    var semver_12 = __importDefault2(require_semver2());
    function createPackageExtender(packageExtensions) {
      const extensionsByPkgName = /* @__PURE__ */ new Map();
      for (const selector in packageExtensions) {
        const packageExtension = packageExtensions[selector];
        const { alias, pref } = (0, parse_wanted_dependency_1.parseWantedDependency)(selector);
        if (!extensionsByPkgName.has(alias)) {
          extensionsByPkgName.set(alias, []);
        }
        extensionsByPkgName.get(alias).push({ packageExtension, range: pref });
      }
      return extendPkgHook.bind(null, extensionsByPkgName);
    }
    function extendPkgHook(extensionsByPkgName, manifest) {
      const extensions = extensionsByPkgName.get(manifest.name);
      if (extensions == null)
        return manifest;
      extendPkg(manifest, extensions);
      return manifest;
    }
    function extendPkg(manifest, extensions) {
      for (const { range, packageExtension } of extensions) {
        if (range != null && !semver_12.default.satisfies(manifest.version, range))
          continue;
        for (const field of ["dependencies", "optionalDependencies", "peerDependencies", "peerDependenciesMeta"]) {
          if (!packageExtension[field])
            continue;
          manifest[field] = {
            ...packageExtension[field],
            ...manifest[field]
          };
        }
      }
    }
  }
});

// ../hooks/read-package-hook/lib/isIntersectingRange.js
var require_isIntersectingRange = __commonJS({
  "../hooks/read-package-hook/lib/isIntersectingRange.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.isIntersectingRange = isIntersectingRange;
    var semver_12 = __importDefault2(require_semver2());
    function isIntersectingRange(range1, range2) {
      return !range1 || range2 === range1 || semver_12.default.validRange(range2) != null && semver_12.default.validRange(range1) != null && semver_12.default.intersects(range2, range1);
    }
  }
});

// ../hooks/read-package-hook/lib/createVersionsOverrider.js
var require_createVersionsOverrider = __commonJS({
  "../hooks/read-package-hook/lib/createVersionsOverrider.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createVersionsOverrider = createVersionsOverrider;
    var path_1 = __importDefault2(require("path"));
    var semver_12 = __importDefault2(require_semver2());
    var partition_1 = __importDefault2(require_partition4());
    var semver_peer_range_1 = require_lib160();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var isIntersectingRange_1 = require_isIntersectingRange();
    function createVersionsOverrider(overrides, rootDir) {
      const [versionOverrides, genericVersionOverrides] = (0, partition_1.default)(({ parentPkg }) => parentPkg != null, overrides.map((override) => ({
        ...override,
        localTarget: createLocalTarget(override, rootDir)
      })));
      return (manifest, dir) => {
        const versionOverridesWithParent = versionOverrides.filter(({ parentPkg }) => {
          return parentPkg.name === manifest.name && (!parentPkg.pref || semver_12.default.satisfies(manifest.version, parentPkg.pref));
        });
        overrideDepsOfPkg({ manifest, dir }, versionOverridesWithParent, genericVersionOverrides);
        return manifest;
      };
    }
    function createLocalTarget(override, rootDir) {
      let protocol;
      if (override.newPref.startsWith("file:")) {
        protocol = "file:";
      } else if (override.newPref.startsWith("link:")) {
        protocol = "link:";
      } else {
        return void 0;
      }
      const pkgPath = override.newPref.substring(protocol.length);
      const specifiedViaRelativePath = !path_1.default.isAbsolute(pkgPath);
      const absolutePath = specifiedViaRelativePath ? path_1.default.join(rootDir, pkgPath) : pkgPath;
      return { absolutePath, specifiedViaRelativePath, protocol };
    }
    function overrideDepsOfPkg({ manifest, dir }, versionOverrides, genericVersionOverrides) {
      const { dependencies, optionalDependencies, devDependencies, peerDependencies } = manifest;
      const _overrideDeps = overrideDeps.bind(null, { versionOverrides, genericVersionOverrides, dir });
      for (const deps of [dependencies, optionalDependencies, devDependencies]) {
        if (deps) {
          _overrideDeps(deps, void 0);
        }
      }
      if (peerDependencies) {
        if (!manifest.dependencies)
          manifest.dependencies = {};
        _overrideDeps(manifest.dependencies, peerDependencies);
      }
    }
    function overrideDeps({ versionOverrides, genericVersionOverrides, dir }, deps, peerDeps) {
      for (const [name, pref] of Object.entries(peerDeps ?? deps)) {
        const versionOverride = pickMostSpecificVersionOverride(versionOverrides.filter(({ targetPkg }) => targetPkg.name === name && (0, isIntersectingRange_1.isIntersectingRange)(targetPkg.pref, pref))) ?? pickMostSpecificVersionOverride(genericVersionOverrides.filter(({ targetPkg }) => targetPkg.name === name && (0, isIntersectingRange_1.isIntersectingRange)(targetPkg.pref, pref)));
        if (!versionOverride)
          continue;
        if (versionOverride.newPref === "-") {
          if (peerDeps) {
            delete peerDeps[versionOverride.targetPkg.name];
          } else {
            delete deps[versionOverride.targetPkg.name];
          }
          continue;
        }
        const newPref = versionOverride.localTarget ? `${versionOverride.localTarget.protocol}${resolveLocalOverride(versionOverride.localTarget, dir)}` : versionOverride.newPref;
        if (peerDeps == null || !(0, semver_peer_range_1.isValidPeerRange)(newPref)) {
          deps[versionOverride.targetPkg.name] = newPref;
        } else if ((0, semver_peer_range_1.isValidPeerRange)(newPref)) {
          peerDeps[versionOverride.targetPkg.name] = newPref;
        }
      }
    }
    function resolveLocalOverride({ specifiedViaRelativePath, absolutePath }, pkgDir) {
      return specifiedViaRelativePath && pkgDir ? (0, normalize_path_1.default)(path_1.default.relative(pkgDir, absolutePath)) : absolutePath;
    }
    function pickMostSpecificVersionOverride(versionOverrides) {
      return versionOverrides.sort((a, b) => (0, isIntersectingRange_1.isIntersectingRange)(b.targetPkg.pref ?? "", a.targetPkg.pref ?? "") ? -1 : 1)[0];
    }
  }
});

// ../hooks/read-package-hook/lib/createReadPackageHook.js
var require_createReadPackageHook = __commonJS({
  "../hooks/read-package-hook/lib/createReadPackageHook.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createReadPackageHook = createReadPackageHook;
    var extensions_1 = require_lib163();
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var pipeWith_1 = __importDefault2(require_pipeWith());
    var createOptionalDependenciesRemover_1 = require_createOptionalDependenciesRemover();
    var createPackageExtender_1 = require_createPackageExtender();
    var createVersionsOverrider_1 = require_createVersionsOverrider();
    function createReadPackageHook({ ignoreCompatibilityDb, lockfileDir, overrides, ignoredOptionalDependencies, packageExtensions, readPackageHook }) {
      const hooks = [];
      if (!ignoreCompatibilityDb) {
        hooks.push((0, createPackageExtender_1.createPackageExtender)(Object.fromEntries(extensions_1.packageExtensions)));
      }
      if (!(0, isEmpty_1.default)(packageExtensions ?? {})) {
        hooks.push((0, createPackageExtender_1.createPackageExtender)(packageExtensions));
      }
      if (Array.isArray(readPackageHook)) {
        hooks.push(...readPackageHook);
      } else if (readPackageHook) {
        hooks.push(readPackageHook);
      }
      if (!(0, isEmpty_1.default)(overrides ?? {})) {
        hooks.push((0, createVersionsOverrider_1.createVersionsOverrider)(overrides, lockfileDir));
      }
      if (ignoredOptionalDependencies && !(0, isEmpty_1.default)(ignoredOptionalDependencies)) {
        hooks.push((0, createOptionalDependenciesRemover_1.createOptionalDependenciesRemover)(ignoredOptionalDependencies));
      }
      if (hooks.length === 0) {
        return void 0;
      }
      const readPackageAndExtend = hooks.length === 1 ? hooks[0] : (pkg, dir) => (0, pipeWith_1.default)(async (f, res) => f(await res, dir), hooks)(pkg, dir);
      return readPackageAndExtend;
    }
  }
});

// ../hooks/read-package-hook/lib/index.js
var require_lib164 = __commonJS({
  "../hooks/read-package-hook/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createReadPackageHook = void 0;
    var createReadPackageHook_1 = require_createReadPackageHook();
    Object.defineProperty(exports2, "createReadPackageHook", { enumerable: true, get: function() {
      return createReadPackageHook_1.createReadPackageHook;
    } });
  }
});

// ../pkg-manager/core/lib/pnpmPkgJson.js
var require_pnpmPkgJson = __commonJS({
  "../pkg-manager/core/lib/pnpmPkgJson.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.pnpmPkgJson = void 0;
    var path_1 = __importDefault2(require("path"));
    var load_json_file_1 = require_load_json_file();
    var pnpmPkgJson;
    try {
      exports2.pnpmPkgJson = pnpmPkgJson = (0, load_json_file_1.sync)(path_1.default.resolve(__dirname, "../package.json"));
    } catch (err) {
      exports2.pnpmPkgJson = pnpmPkgJson = {
        name: "pnpm",
        version: "0.0.0"
      };
    }
  }
});

// ../pkg-manager/core/lib/install/extendInstallOptions.js
var require_extendInstallOptions = __commonJS({
  "../pkg-manager/core/lib/install/extendInstallOptions.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.extendOptions = extendOptions;
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var hooks_read_package_hook_1 = require_lib164();
    var normalize_registries_1 = require_lib113();
    var parse_overrides_1 = require_lib25();
    var pnpmPkgJson_1 = require_pnpmPkgJson();
    var defaults = (opts) => {
      const packageManager = opts.packageManager ?? {
        name: pnpmPkgJson_1.pnpmPkgJson.name,
        version: pnpmPkgJson_1.pnpmPkgJson.version
      };
      return {
        allowedDeprecatedVersions: {},
        allowNonAppliedPatches: false,
        autoInstallPeers: true,
        autoInstallPeersFromHighestMatch: false,
        childConcurrency: 5,
        confirmModulesPurge: !opts.force,
        depth: 0,
        dedupeInjectedDeps: true,
        enablePnp: false,
        engineStrict: false,
        force: false,
        forceFullResolution: false,
        frozenLockfile: false,
        hoistPattern: void 0,
        publicHoistPattern: void 0,
        hooks: {},
        ignoreCurrentPrefs: false,
        ignoreDepScripts: false,
        ignoreScripts: false,
        include: {
          dependencies: true,
          devDependencies: true,
          optionalDependencies: true
        },
        includeDirect: {
          dependencies: true,
          devDependencies: true,
          optionalDependencies: true
        },
        lockfileDir: opts.lockfileDir ?? opts.dir ?? process.cwd(),
        lockfileOnly: false,
        nodeVersion: opts.nodeVersion,
        nodeLinker: "isolated",
        overrides: {},
        ownLifecycleHooksStdio: "inherit",
        ignoreCompatibilityDb: false,
        ignorePackageManifest: false,
        packageExtensions: {},
        ignoredOptionalDependencies: [],
        packageManager,
        preferFrozenLockfile: true,
        preferWorkspacePackages: false,
        preserveWorkspaceProtocol: true,
        pruneLockfileImporters: false,
        pruneStore: false,
        rawConfig: {},
        registries: normalize_registries_1.DEFAULT_REGISTRIES,
        resolutionMode: "lowest-direct",
        saveWorkspaceProtocol: "rolling",
        lockfileIncludeTarballUrl: false,
        scriptsPrependNodePath: false,
        shamefullyHoist: false,
        shellEmulator: false,
        sideEffectsCacheRead: false,
        sideEffectsCacheWrite: false,
        symlink: true,
        storeController: opts.storeController,
        storeDir: opts.storeDir,
        strictPeerDependencies: false,
        tag: "latest",
        unsafePerm: process.platform === "win32" || process.platform === "cygwin" || !process.setgid || process.getuid?.() !== 0,
        useLockfile: true,
        saveLockfile: true,
        useGitBranchLockfile: false,
        mergeGitBranchLockfiles: false,
        userAgent: `${packageManager.name}/${packageManager.version} npm/? node/${process.version} ${process.platform} ${process.arch}`,
        verifyStoreIntegrity: true,
        enableModulesDir: true,
        modulesCacheMaxAge: 7 * 24 * 60,
        resolveSymlinksInInjectedDirs: false,
        dedupeDirectDeps: true,
        dedupePeerDependents: true,
        resolvePeersFromWorkspaceRoot: true,
        extendNodePath: true,
        ignoreWorkspaceCycles: false,
        disallowWorkspaceCycles: false,
        excludeLinksFromLockfile: false,
        virtualStoreDirMaxLength: 120,
        peersSuffixMaxLength: 1e3
      };
    };
    function extendOptions(opts) {
      if (opts) {
        for (const key in opts) {
          if (opts[key] === void 0) {
            delete opts[key];
          }
        }
      }
      if (opts.neverBuiltDependencies == null && opts.onlyBuiltDependencies == null && opts.onlyBuiltDependenciesFile == null) {
        opts.onlyBuiltDependencies = [];
      }
      if (opts.onlyBuiltDependencies && opts.neverBuiltDependencies) {
        throw new error_1.PnpmError("CONFIG_CONFLICT_BUILT_DEPENDENCIES", "Cannot have both neverBuiltDependencies and onlyBuiltDependencies");
      }
      const defaultOpts = defaults(opts);
      const extendedOpts = {
        ...defaultOpts,
        ...opts,
        storeDir: defaultOpts.storeDir,
        parsedOverrides: (0, parse_overrides_1.parseOverrides)(opts.overrides ?? {}, opts.catalogs ?? {})
      };
      extendedOpts.readPackageHook = (0, hooks_read_package_hook_1.createReadPackageHook)({
        ignoreCompatibilityDb: extendedOpts.ignoreCompatibilityDb,
        readPackageHook: extendedOpts.hooks?.readPackage,
        overrides: extendedOpts.parsedOverrides,
        lockfileDir: extendedOpts.lockfileDir,
        packageExtensions: extendedOpts.packageExtensions,
        ignoredOptionalDependencies: extendedOpts.ignoredOptionalDependencies
      });
      if (extendedOpts.lockfileOnly) {
        extendedOpts.ignoreScripts = true;
        if (!extendedOpts.useLockfile) {
          throw new error_1.PnpmError("CONFIG_CONFLICT_LOCKFILE_ONLY_WITH_NO_LOCKFILE", `Cannot generate a ${constants_1.WANTED_LOCKFILE} because lockfile is set to false`);
        }
      }
      if (extendedOpts.userAgent.startsWith("npm/")) {
        extendedOpts.userAgent = `${extendedOpts.packageManager.name}/${extendedOpts.packageManager.version} ${extendedOpts.userAgent}`;
      }
      extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries);
      extendedOpts.rawConfig["registry"] = extendedOpts.registries.default;
      return extendedOpts;
    }
  }
});

// ../pkg-manager/core/lib/install/link.js
var require_link2 = __commonJS({
  "../pkg-manager/core/lib/install/link.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.linkPackages = linkPackages;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var calc_dep_state_1 = require_lib109();
    var core_loggers_1 = require_lib28();
    var lockfile_filtering_1 = require_lib144();
    var pkg_manager_direct_dep_linker_1 = require_lib153();
    var hoist_1 = require_lib145();
    var logger_1 = require_lib();
    var modules_cleaner_1 = require_lib148();
    var symlink_dependency_1 = require_lib149();
    var worker_1 = require_lib60();
    var p_limit_12 = __importDefault2(require_p_limit());
    var path_exists_1 = __importDefault2(require_path_exists2());
    var equals_1 = __importDefault2(require_equals2());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var difference_1 = __importDefault2(require_difference());
    var omit_1 = __importDefault2(require_omit());
    var pick_1 = __importDefault2(require_pick());
    var pickBy_1 = __importDefault2(require_pickBy());
    var props_1 = __importDefault2(require_props());
    var brokenModulesLogger = (0, logger_1.logger)("_broken_node_modules");
    async function linkPackages(projects, depGraph, opts) {
      let depNodes = Object.values(depGraph).filter(({ depPath, id }) => {
        if (opts.wantedLockfile.packages?.[depPath] != null && !opts.wantedLockfile.packages[depPath].optional) {
          opts.skipped.delete(depPath);
          return true;
        }
        if (opts.wantedToBeSkippedPackageIds.has(id)) {
          opts.skipped.add(depPath);
          return false;
        }
        opts.skipped.delete(depPath);
        return true;
      });
      if (!opts.include.dependencies) {
        depNodes = depNodes.filter(({ dev, optional }) => dev || optional);
      }
      if (!opts.include.devDependencies) {
        depNodes = depNodes.filter(({ optional, prod }) => prod || optional);
      }
      if (!opts.include.optionalDependencies) {
        depNodes = depNodes.filter(({ optional }) => !optional);
      }
      depGraph = Object.fromEntries(depNodes.map((depNode) => [depNode.depPath, depNode]));
      const removedDepPaths = await (0, modules_cleaner_1.prune)(projects, {
        currentLockfile: opts.currentLockfile,
        dedupeDirectDeps: opts.dedupeDirectDeps,
        hoistedDependencies: opts.hoistedDependencies,
        hoistedModulesDir: opts.hoistPattern != null ? opts.hoistedModulesDir : void 0,
        include: opts.include,
        lockfileDir: opts.lockfileDir,
        pruneStore: opts.pruneStore,
        pruneVirtualStore: opts.pruneVirtualStore,
        publicHoistedModulesDir: opts.publicHoistPattern != null ? opts.rootModulesDir : void 0,
        skipped: opts.skipped,
        storeController: opts.storeController,
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        wantedLockfile: opts.wantedLockfile
      });
      core_loggers_1.stageLogger.debug({
        prefix: opts.lockfileDir,
        stage: "importing_started"
      });
      const projectIds = projects.map(({ id }) => id);
      const filterOpts = {
        include: opts.include,
        registries: opts.registries,
        skipped: opts.skipped
      };
      const newCurrentLockfile = (0, lockfile_filtering_1.filterLockfileByImporters)(opts.wantedLockfile, projectIds, {
        ...filterOpts,
        failOnMissingDependencies: true,
        skipped: /* @__PURE__ */ new Set()
      });
      const { newDepPaths, added } = await linkNewPackages((0, lockfile_filtering_1.filterLockfileByImporters)(opts.currentLockfile, projectIds, {
        ...filterOpts,
        failOnMissingDependencies: false
      }), newCurrentLockfile, depGraph, {
        allowBuild: opts.allowBuild,
        disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
        force: opts.force,
        depsStateCache: opts.depsStateCache,
        ignoreScripts: opts.ignoreScripts,
        lockfileDir: opts.lockfileDir,
        optional: opts.include.optionalDependencies,
        sideEffectsCacheRead: opts.sideEffectsCacheRead,
        symlink: opts.symlink,
        skipped: opts.skipped,
        storeController: opts.storeController,
        virtualStoreDir: opts.virtualStoreDir
      });
      core_loggers_1.stageLogger.debug({
        prefix: opts.lockfileDir,
        stage: "importing_done"
      });
      let currentLockfile;
      const allImportersIncluded = (0, equals_1.default)(projectIds.sort(), Object.keys(opts.wantedLockfile.importers).sort());
      if (opts.makePartialCurrentLockfile || !allImportersIncluded) {
        const packages = opts.currentLockfile.packages ?? {};
        if (opts.wantedLockfile.packages != null) {
          for (const depPath in opts.wantedLockfile.packages) {
            if (depGraph[depPath]) {
              packages[depPath] = opts.wantedLockfile.packages[depPath];
            }
          }
        }
        const projects2 = {
          ...opts.currentLockfile.importers,
          ...(0, pick_1.default)(projectIds, opts.wantedLockfile.importers)
        };
        currentLockfile = (0, lockfile_filtering_1.filterLockfileByImporters)({
          ...opts.wantedLockfile,
          importers: projects2,
          packages
        }, Object.keys(projects2), {
          ...filterOpts,
          failOnMissingDependencies: false,
          skipped: /* @__PURE__ */ new Set()
        });
      } else if (opts.include.dependencies && opts.include.devDependencies && opts.include.optionalDependencies && opts.skipped.size === 0) {
        currentLockfile = opts.wantedLockfile;
      } else {
        currentLockfile = newCurrentLockfile;
      }
      let newHoistedDependencies;
      if (opts.hoistPattern == null && opts.publicHoistPattern == null) {
        newHoistedDependencies = {};
      } else if (newDepPaths.length > 0 || removedDepPaths.size > 0) {
        const hoistLockfile = {
          ...currentLockfile,
          packages: currentLockfile.packages != null ? (0, omit_1.default)(Array.from(opts.skipped), currentLockfile.packages) : {}
        };
        newHoistedDependencies = await (0, hoist_1.hoist)({
          extraNodePath: opts.extraNodePaths,
          lockfile: hoistLockfile,
          importerIds: projectIds,
          privateHoistedModulesDir: opts.hoistedModulesDir,
          privateHoistPattern: opts.hoistPattern ?? [],
          publicHoistedModulesDir: opts.rootModulesDir,
          publicHoistPattern: opts.publicHoistPattern ?? [],
          virtualStoreDir: opts.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
          hoistedWorkspacePackages: opts.hoistWorkspacePackages ? projects.reduce((hoistedWorkspacePackages, project) => {
            if (project.manifest.name && project.id !== ".") {
              hoistedWorkspacePackages[project.id] = {
                dir: project.rootDir,
                name: project.manifest.name
              };
            }
            return hoistedWorkspacePackages;
          }, {}) : void 0
        });
      } else {
        newHoistedDependencies = opts.hoistedDependencies;
      }
      let linkedToRoot = 0;
      if (opts.symlink) {
        const projectsToLink = Object.fromEntries(await Promise.all(projects.map(async ({ id, manifest, modulesDir, rootDir }) => {
          const deps = opts.dependenciesByProjectId[id];
          const importerFromLockfile = newCurrentLockfile.importers[id];
          return [id, {
            dir: rootDir,
            modulesDir,
            dependencies: await Promise.all([
              ...Array.from(deps.entries()).filter(([rootAlias]) => importerFromLockfile.specifiers[rootAlias]).map(([rootAlias, depPath]) => ({ rootAlias, depGraphNode: depGraph[depPath] })).filter(({ depGraphNode }) => depGraphNode).map(async ({ rootAlias, depGraphNode }) => {
                const isDev = Boolean(manifest.devDependencies?.[depGraphNode.name]);
                const isOptional = Boolean(manifest.optionalDependencies?.[depGraphNode.name]);
                return {
                  alias: rootAlias,
                  name: depGraphNode.name,
                  version: depGraphNode.version,
                  dir: depGraphNode.dir,
                  id: depGraphNode.id,
                  dependencyType: isDev && "dev" || isOptional && "optional" || "prod",
                  latest: opts.outdatedDependencies[depGraphNode.id],
                  isExternalLink: false
                };
              }),
              ...opts.linkedDependenciesByProjectId[id].map(async (linkedDependency) => {
                const dir = resolvePath(rootDir, linkedDependency.resolution.directory);
                return {
                  alias: linkedDependency.alias,
                  name: linkedDependency.name,
                  version: linkedDependency.version,
                  dir,
                  id: linkedDependency.resolution.directory,
                  dependencyType: linkedDependency.dev && "dev" || linkedDependency.optional && "optional" || "prod",
                  isExternalLink: true
                };
              })
            ])
          }];
        })));
        linkedToRoot = await (0, pkg_manager_direct_dep_linker_1.linkDirectDeps)(projectsToLink, { dedupe: opts.dedupeDirectDeps });
      }
      return {
        currentLockfile,
        newDepPaths,
        newHoistedDependencies,
        removedDepPaths,
        stats: {
          added,
          removed: removedDepPaths.size,
          linkedToRoot
        }
      };
    }
    var isAbsolutePath = /^\/|^[A-Z]:/i;
    function resolvePath(where, spec) {
      if (isAbsolutePath.test(spec))
        return spec;
      return path_1.default.resolve(where, spec);
    }
    async function linkNewPackages(currentLockfile, wantedLockfile, depGraph, opts) {
      const wantedRelDepPaths = (0, difference_1.default)(Object.keys(wantedLockfile.packages ?? {}), Array.from(opts.skipped));
      let newDepPathsSet;
      if (opts.force) {
        newDepPathsSet = new Set(wantedRelDepPaths.filter((depPath) => depGraph[depPath]));
      } else {
        newDepPathsSet = await selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph);
      }
      const added = newDepPathsSet.size;
      core_loggers_1.statsLogger.debug({
        added,
        prefix: opts.lockfileDir
      });
      const existingWithUpdatedDeps = [];
      if (!opts.force && currentLockfile.packages != null && wantedLockfile.packages != null) {
        for (const depPath of wantedRelDepPaths) {
          if (currentLockfile.packages[depPath] && (!(0, equals_1.default)(currentLockfile.packages[depPath].dependencies, wantedLockfile.packages[depPath].dependencies) || !(0, isEmpty_1.default)(currentLockfile.packages[depPath].optionalDependencies ?? {}) || !(0, isEmpty_1.default)(wantedLockfile.packages[depPath].optionalDependencies ?? {}))) {
            if (depGraph[depPath] && !newDepPathsSet.has(depPath)) {
              existingWithUpdatedDeps.push(depGraph[depPath]);
            }
          }
        }
      }
      if (!newDepPathsSet.size && existingWithUpdatedDeps.length === 0)
        return { newDepPaths: [], added };
      const newDepPaths = Array.from(newDepPathsSet);
      const newPkgs = (0, props_1.default)(newDepPaths, depGraph);
      await Promise.all(newPkgs.map(async (depNode) => fs_1.promises.mkdir(depNode.modules, { recursive: true })));
      await Promise.all([
        !opts.symlink ? Promise.resolve() : linkAllModules([...newPkgs, ...existingWithUpdatedDeps], depGraph, {
          lockfileDir: opts.lockfileDir,
          optional: opts.optional
        }),
        linkAllPkgs(opts.storeController, newPkgs, {
          allowBuild: opts.allowBuild,
          depGraph,
          depsStateCache: opts.depsStateCache,
          disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
          force: opts.force,
          ignoreScripts: opts.ignoreScripts,
          lockfileDir: opts.lockfileDir,
          sideEffectsCacheRead: opts.sideEffectsCacheRead
        })
      ]);
      return { newDepPaths, added };
    }
    async function selectNewFromWantedDeps(wantedRelDepPaths, currentLockfile, depGraph) {
      const newDeps = /* @__PURE__ */ new Set();
      const prevDeps = currentLockfile.packages ?? {};
      await Promise.all(wantedRelDepPaths.map(async (depPath) => {
        const depNode = depGraph[depPath];
        if (!depNode)
          return;
        const prevDep = prevDeps[depPath];
        if (prevDep && // Local file should always be treated as a new dependency
        // https://github.com/pnpm/pnpm/issues/5381
        depNode.resolution.type !== "directory" && depNode.resolution.integrity === prevDep.resolution.integrity) {
          if (await (0, path_exists_1.default)(depNode.dir)) {
            return;
          }
          brokenModulesLogger.debug({
            missing: depNode.dir
          });
        }
        newDeps.add(depPath);
      }));
      return newDeps;
    }
    var limitLinking = (0, p_limit_12.default)(16);
    async function linkAllPkgs(storeController, depNodes, opts) {
      await Promise.all(depNodes.map(async (depNode) => {
        const { files } = await depNode.fetching();
        depNode.requiresBuild = files.requiresBuild;
        let sideEffectsCacheKey;
        if (opts.sideEffectsCacheRead && files.sideEffects && !(0, isEmpty_1.default)(files.sideEffects)) {
          if (opts?.allowBuild?.(depNode.name) !== false) {
            sideEffectsCacheKey = (0, calc_dep_state_1.calcDepState)(opts.depGraph, opts.depsStateCache, depNode.depPath, {
              isBuilt: !opts.ignoreScripts && depNode.requiresBuild,
              patchFileHash: depNode.patch?.file.hash
            });
          }
        }
        const { importMethod, isBuilt } = await storeController.importPackage(depNode.dir, {
          disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
          filesResponse: files,
          force: opts.force,
          sideEffectsCacheKey,
          requiresBuild: depNode.patch != null || depNode.requiresBuild
        });
        if (importMethod) {
          core_loggers_1.progressLogger.debug({
            method: importMethod,
            requester: opts.lockfileDir,
            status: "imported",
            to: depNode.dir
          });
        }
        depNode.isBuilt = isBuilt;
        const selfDep = depNode.children[depNode.name];
        if (selfDep) {
          const pkg = opts.depGraph[selfDep];
          if (!pkg || !pkg.installable && pkg.optional)
            return;
          const targetModulesDir = path_1.default.join(depNode.modules, depNode.name, "node_modules");
          await limitLinking(async () => (0, symlink_dependency_1.symlinkDependency)(pkg.dir, targetModulesDir, depNode.name));
        }
      }));
    }
    async function linkAllModules(depNodes, depGraph, opts) {
      await (0, worker_1.symlinkAllModules)({
        deps: depNodes.map((depNode) => {
          const children = opts.optional ? depNode.children : (0, pickBy_1.default)((_, childAlias) => !depNode.optionalDependencies.has(childAlias), depNode.children);
          const childrenPaths = {};
          for (const [alias, childDepPath] of Object.entries(children ?? {})) {
            if (childDepPath.startsWith("link:")) {
              childrenPaths[alias] = path_1.default.resolve(opts.lockfileDir, childDepPath.slice(5));
            } else {
              const pkg = depGraph[childDepPath];
              if (!pkg || !pkg.installable && pkg.optional || alias === depNode.name)
                continue;
              childrenPaths[alias] = pkg.dir;
            }
          }
          return {
            children: childrenPaths,
            modules: depNode.modules,
            name: depNode.name
          };
        })
      });
    }
  }
});

// ../pkg-manager/core/lib/install/reportPeerDependencyIssues.js
var require_reportPeerDependencyIssues2 = __commonJS({
  "../pkg-manager/core/lib/install/reportPeerDependencyIssues.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PeerDependencyIssuesError = void 0;
    exports2.reportPeerDependencyIssues = reportPeerDependencyIssues;
    var error_1 = require_lib6();
    var core_loggers_1 = require_lib28();
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    function reportPeerDependencyIssues(peerDependencyIssuesByProjects, opts) {
      if (Object.values(peerDependencyIssuesByProjects).every((peerIssuesOfProject) => (0, isEmpty_1.default)(peerIssuesOfProject.bad) && ((0, isEmpty_1.default)(peerIssuesOfProject.missing) || peerIssuesOfProject.conflicts.length === 0 && Object.keys(peerIssuesOfProject.intersections).length === 0)))
        return;
      if (opts.strictPeerDependencies) {
        throw new PeerDependencyIssuesError(peerDependencyIssuesByProjects);
      }
      core_loggers_1.peerDependencyIssuesLogger.debug({
        issuesByProjects: peerDependencyIssuesByProjects
      });
    }
    var PeerDependencyIssuesError = class extends error_1.PnpmError {
      constructor(issues) {
        super("PEER_DEP_ISSUES", "Unmet peer dependencies");
        this.issuesByProjects = issues;
      }
    };
    exports2.PeerDependencyIssuesError = PeerDependencyIssuesError;
  }
});

// ../pkg-manager/core/lib/install/checkCompatibility/BreakingChangeError.js
var require_BreakingChangeError = __commonJS({
  "../pkg-manager/core/lib/install/checkCompatibility/BreakingChangeError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.BreakingChangeError = void 0;
    var error_1 = require_lib6();
    var BreakingChangeError = class extends error_1.PnpmError {
      constructor(opts) {
        super(opts.code, opts.message);
        this.relatedIssue = opts.relatedIssue;
        this.relatedPR = opts.relatedPR;
        this.additionalInformation = opts.additionalInformation;
      }
    };
    exports2.BreakingChangeError = BreakingChangeError;
  }
});

// ../pkg-manager/core/lib/install/checkCompatibility/ModulesBreakingChangeError.js
var require_ModulesBreakingChangeError = __commonJS({
  "../pkg-manager/core/lib/install/checkCompatibility/ModulesBreakingChangeError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.ModulesBreakingChangeError = void 0;
    var BreakingChangeError_1 = require_BreakingChangeError();
    var ModulesBreakingChangeError = class extends BreakingChangeError_1.BreakingChangeError {
      constructor(opts) {
        super({
          additionalInformation: opts.additionalInformation,
          code: "MODULES_BREAKING_CHANGE",
          message: `The node_modules structure at "${opts.modulesPath}" is not compatible with the current pnpm version. Run "pnpm install --force" to recreate node_modules.`,
          relatedIssue: opts.relatedIssue,
          relatedPR: opts.relatedPR
        });
        this.modulesPath = opts.modulesPath;
      }
    };
    exports2.ModulesBreakingChangeError = ModulesBreakingChangeError;
  }
});

// ../pkg-manager/core/lib/install/checkCompatibility/UnexpectedStoreError.js
var require_UnexpectedStoreError = __commonJS({
  "../pkg-manager/core/lib/install/checkCompatibility/UnexpectedStoreError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnexpectedStoreError = void 0;
    var error_1 = require_lib6();
    var UnexpectedStoreError = class extends error_1.PnpmError {
      constructor(opts) {
        super("UNEXPECTED_STORE", "Unexpected store location");
        this.expectedStorePath = opts.expectedStorePath;
        this.actualStorePath = opts.actualStorePath;
        this.modulesDir = opts.modulesDir;
      }
    };
    exports2.UnexpectedStoreError = UnexpectedStoreError;
  }
});

// ../pkg-manager/core/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js
var require_UnexpectedVirtualStoreDirError = __commonJS({
  "../pkg-manager/core/lib/install/checkCompatibility/UnexpectedVirtualStoreDirError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnexpectedVirtualStoreDirError = void 0;
    var error_1 = require_lib6();
    var UnexpectedVirtualStoreDirError = class extends error_1.PnpmError {
      constructor(opts) {
        super("UNEXPECTED_VIRTUAL_STORE", "Unexpected virtual store location");
        this.expected = opts.expected;
        this.actual = opts.actual;
        this.modulesDir = opts.modulesDir;
      }
    };
    exports2.UnexpectedVirtualStoreDirError = UnexpectedVirtualStoreDirError;
  }
});

// ../pkg-manager/core/lib/install/checkCompatibility/index.js
var require_checkCompatibility = __commonJS({
  "../pkg-manager/core/lib/install/checkCompatibility/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.checkCompatibility = checkCompatibility;
    var path_1 = __importDefault2(require("path"));
    var constants_1 = require_lib5();
    var ModulesBreakingChangeError_1 = require_ModulesBreakingChangeError();
    var UnexpectedStoreError_1 = require_UnexpectedStoreError();
    var UnexpectedVirtualStoreDirError_1 = require_UnexpectedVirtualStoreDirError();
    function checkCompatibility(modules, opts) {
      if (!modules.layoutVersion || modules.layoutVersion !== constants_1.LAYOUT_VERSION) {
        throw new ModulesBreakingChangeError_1.ModulesBreakingChangeError({
          modulesPath: opts.modulesDir
        });
      }
      if (!modules.storeDir || path_1.default.relative(modules.storeDir, opts.storeDir) !== "" && path_1.default.relative(modules.storeDir, path_1.default.join(opts.storeDir, "../v3")) !== "") {
        throw new UnexpectedStoreError_1.UnexpectedStoreError({
          actualStorePath: opts.storeDir,
          expectedStorePath: modules.storeDir,
          modulesDir: opts.modulesDir
        });
      }
      if (modules.virtualStoreDir && path_1.default.relative(modules.virtualStoreDir, opts.virtualStoreDir) !== "") {
        throw new UnexpectedVirtualStoreDirError_1.UnexpectedVirtualStoreDirError({
          actual: opts.virtualStoreDir,
          expected: modules.virtualStoreDir,
          modulesDir: opts.modulesDir
        });
      }
    }
  }
});

// ../pkg-manager/core/lib/install/validateModules.js
var require_validateModules = __commonJS({
  "../pkg-manager/core/lib/install/validateModules.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.validateModules = validateModules;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var types_1 = require_lib31();
    var rimraf_1 = __importDefault2(require_rimraf());
    var enquirer_1 = __importDefault2(require_enquirer());
    var equals_1 = __importDefault2(require_equals2());
    var checkCompatibility_1 = require_checkCompatibility();
    async function validateModules(modules, projects, opts) {
      const rootProject = projects.find(({ id }) => id === ".");
      if (opts.virtualStoreDirMaxLength !== modules.virtualStoreDirMaxLength) {
        if (opts.forceNewModules && rootProject != null) {
          await purgeModulesDirsOfImporter(opts, rootProject);
          return { purged: true };
        }
        throw new error_1.PnpmError("VIRTUAL_STORE_DIR_MAX_LENGTH_DIFF", 'This modules directory was created using a different virtual-store-dir-max-length value. Run "pnpm install" to recreate the modules directory.');
      }
      if (opts.forcePublicHoistPattern && // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
      !(0, equals_1.default)(modules.publicHoistPattern, opts.publicHoistPattern || void 0)) {
        if (opts.forceNewModules && rootProject != null) {
          await purgeModulesDirsOfImporter(opts, rootProject);
          return { purged: true };
        }
        throw new error_1.PnpmError("PUBLIC_HOIST_PATTERN_DIFF", 'This modules directory was created using a different public-hoist-pattern value. Run "pnpm install" to recreate the modules directory.');
      }
      const importersToPurge = [];
      if (opts.forceHoistPattern && rootProject != null) {
        try {
          if (!(0, equals_1.default)(opts.currentHoistPattern, opts.hoistPattern || void 0)) {
            throw new error_1.PnpmError("HOIST_PATTERN_DIFF", 'This modules directory was created using a different hoist-pattern value. Run "pnpm install" to recreate the modules directory.');
          }
        } catch (err) {
          if (!opts.forceNewModules)
            throw err;
          importersToPurge.push(rootProject);
        }
      }
      for (const project of projects) {
        try {
          (0, checkCompatibility_1.checkCompatibility)(modules, {
            modulesDir: project.modulesDir,
            storeDir: opts.storeDir,
            virtualStoreDir: opts.virtualStoreDir
          });
          if (opts.lockfileDir !== project.rootDir && opts.include != null && modules.included) {
            for (const depsField of types_1.DEPENDENCIES_FIELDS) {
              if (opts.include[depsField] !== modules.included[depsField]) {
                throw new error_1.PnpmError("INCLUDED_DEPS_CONFLICT", `modules directory (at "${opts.lockfileDir}") was installed with ${stringifyIncludedDeps(modules.included)}. Current install wants ${stringifyIncludedDeps(opts.include)}.`);
              }
            }
          }
        } catch (err) {
          if (!opts.forceNewModules)
            throw err;
          importersToPurge.push(project);
        }
      }
      if (importersToPurge.length > 0 && rootProject == null) {
        importersToPurge.push({
          modulesDir: path_1.default.join(opts.lockfileDir, opts.modulesDir),
          rootDir: opts.lockfileDir
        });
      }
      const purged = importersToPurge.length > 0;
      if (purged) {
        await purgeModulesDirsOfImporters(opts, importersToPurge);
      }
      return { purged };
    }
    async function purgeModulesDirsOfImporter(opts, importer) {
      return purgeModulesDirsOfImporters(opts, [importer]);
    }
    async function purgeModulesDirsOfImporters(opts, importers) {
      if (opts.confirmModulesPurge ?? true) {
        const confirmed = await enquirer_1.default.prompt({
          type: "confirm",
          name: "question",
          message: importers.length === 1 ? `The modules directory at "${importers[0].modulesDir}" will be removed and reinstalled from scratch. Proceed?` : "The modules directories will be removed and reinstalled from scratch. Proceed?",
          initial: true
        });
        if (!confirmed.question) {
          throw new error_1.PnpmError("ABORTED_REMOVE_MODULES_DIR", "Aborted removal of modules directory");
        }
      }
      await Promise.all(importers.map(async (importer) => {
        logger_1.logger.info({
          message: `Recreating ${importer.modulesDir}`,
          prefix: importer.rootDir
        });
        try {
          await removeContentsOfDir(importer.modulesDir, opts.virtualStoreDir);
        } catch (err) {
          if (err.code !== "ENOENT")
            throw err;
        }
      }));
    }
    async function removeContentsOfDir(dir, virtualStoreDir) {
      const items = await fs_1.promises.readdir(dir);
      await Promise.all(items.map(async (item) => {
        if (item.startsWith(".") && item !== ".bin" && item !== ".modules.yaml" && !dirsAreEqual(path_1.default.join(dir, item), virtualStoreDir)) {
          return;
        }
        await (0, rimraf_1.default)(path_1.default.join(dir, item));
      }));
    }
    function dirsAreEqual(dir1, dir2) {
      return path_1.default.relative(dir1, dir2) === "";
    }
    function stringifyIncludedDeps(included) {
      return types_1.DEPENDENCIES_FIELDS.filter((depsField) => included[depsField]).join(", ");
    }
  }
});

// ../pkg-manager/core/lib/install/index.js
var require_install = __commonJS({
  "../pkg-manager/core/lib/install/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.install = install;
    exports2.mutateModulesInSingleProject = mutateModulesInSingleProject;
    exports2.mutateModules = mutateModules;
    exports2.addDependenciesToPackage = addDependenciesToPackage;
    var path_1 = __importDefault2(require("path"));
    var build_modules_1 = require_lib143();
    var builder_policy_1 = require_dist19();
    var catalogs_protocol_parser_1 = require_lib23();
    var constants_1 = require_lib5();
    var core_loggers_1 = require_lib28();
    var crypto_object_hasher_1 = require_lib107();
    var lockfile_settings_checker_1 = require_lib137();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var headless_1 = require_lib154();
    var lifecycle_1 = require_lib77();
    var link_bins_1 = require_lib72();
    var lockfile_fs_1 = require_lib112();
    var lockfile_to_pnp_1 = require_lib147();
    var lockfile_utils_1 = require_lib117();
    var lockfile_verification_1 = require_lib138();
    var lockfile_preferred_versions_1 = require_lib155();
    var logger_1 = require_lib();
    var manifest_utils_1 = require_lib32();
    var modules_yaml_1 = require_lib95();
    var read_project_manifest_1 = require_lib13();
    var resolve_dependencies_1 = require_lib162();
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var p_limit_12 = __importDefault2(require_p_limit());
    var map_1 = __importDefault2(require_map3());
    var clone_1 = __importDefault2(require_clone5());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var pipeWith_1 = __importDefault2(require_pipeWith());
    var props_1 = __importDefault2(require_props());
    var parseWantedDependencies_1 = require_parseWantedDependencies();
    var removeDeps_1 = require_removeDeps();
    var extendInstallOptions_1 = require_extendInstallOptions();
    var link_1 = require_link2();
    var reportPeerDependencyIssues_1 = require_reportPeerDependencyIssues2();
    var validateModules_1 = require_validateModules();
    var ci_info_1 = require_ci_info();
    var LockfileConfigMismatchError = class extends error_1.PnpmError {
      constructor(outdatedLockfileSettingName) {
        super("LOCKFILE_CONFIG_MISMATCH", `Cannot proceed with the frozen installation. The current "${outdatedLockfileSettingName}" configuration doesn't match the value found in the lockfile`, {
          hint: 'Update your lockfile using "pnpm install --no-frozen-lockfile"'
        });
      }
    };
    var BROKEN_LOCKFILE_INTEGRITY_ERRORS = /* @__PURE__ */ new Set([
      "ERR_PNPM_UNEXPECTED_PKG_CONTENT_IN_STORE",
      "ERR_PNPM_TARBALL_INTEGRITY"
    ]);
    var DEV_PREINSTALL = "pnpm:devPreinstall";
    async function install(manifest, opts) {
      const rootDir = opts.dir ?? process.cwd();
      const { updatedProjects: projects, ignoredBuilds } = await mutateModules([
        {
          mutation: "install",
          pruneDirectDependencies: opts.pruneDirectDependencies,
          rootDir,
          update: opts.update,
          updateMatching: opts.updateMatching,
          updateToLatest: opts.updateToLatest,
          updatePackageManifest: opts.updatePackageManifest
        }
      ], {
        ...opts,
        allProjects: [{
          buildIndex: 0,
          manifest,
          rootDir,
          binsDir: opts.binsDir
        }]
      });
      return { updatedManifest: projects[0].manifest, ignoredBuilds };
    }
    async function mutateModulesInSingleProject(project, maybeOpts) {
      const result2 = await mutateModules([
        {
          ...project,
          update: maybeOpts.update,
          updateToLatest: maybeOpts.updateToLatest,
          updateMatching: maybeOpts.updateMatching,
          updatePackageManifest: maybeOpts.updatePackageManifest
        }
      ], {
        ...maybeOpts,
        allProjects: [{
          buildIndex: 0,
          ...project
        }]
      });
      return { updatedProject: result2.updatedProjects[0], ignoredBuilds: result2.ignoredBuilds };
    }
    async function mutateModules(projects, maybeOpts) {
      const reporter = maybeOpts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const opts = (0, extendInstallOptions_1.extendOptions)(maybeOpts);
      if (!opts.include.dependencies && opts.include.optionalDependencies) {
        throw new error_1.PnpmError("OPTIONAL_DEPS_REQUIRE_PROD_DEPS", "Optional dependencies cannot be installed without production dependencies");
      }
      const installsOnly = allMutationsAreInstalls(projects);
      if (!installsOnly)
        opts.strictPeerDependencies = false;
      const rootProjectManifest = opts.allProjects.find(({ rootDir }) => rootDir === opts.lockfileDir)?.manifest ?? // When running install/update on a subset of projects, the root project might not be included,
      // so reading its manifest explicitly here.
      await (0, read_project_manifest_1.safeReadProjectManifestOnly)(opts.lockfileDir);
      let ctx = await (0, get_context_1.getContext)(opts);
      if (!opts.lockfileOnly && ctx.modulesFile != null) {
        const { purged } = await (0, validateModules_1.validateModules)(ctx.modulesFile, Object.values(ctx.projects), {
          forceNewModules: installsOnly,
          include: opts.include,
          lockfileDir: opts.lockfileDir,
          modulesDir: opts.modulesDir ?? "node_modules",
          registries: opts.registries,
          storeDir: opts.storeDir,
          virtualStoreDir: ctx.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
          confirmModulesPurge: opts.confirmModulesPurge && !ci_info_1.isCI,
          forceHoistPattern: opts.forceHoistPattern,
          hoistPattern: opts.hoistPattern,
          currentHoistPattern: ctx.currentHoistPattern,
          forcePublicHoistPattern: opts.forcePublicHoistPattern,
          publicHoistPattern: opts.publicHoistPattern,
          currentPublicHoistPattern: ctx.currentPublicHoistPattern,
          global: opts.global
        });
        if (purged) {
          ctx = await (0, get_context_1.getContext)(opts);
        }
      }
      if (opts.hooks.preResolution) {
        await opts.hooks.preResolution({
          currentLockfile: ctx.currentLockfile,
          wantedLockfile: ctx.wantedLockfile,
          existsCurrentLockfile: ctx.existsCurrentLockfile,
          existsNonEmptyWantedLockfile: ctx.existsNonEmptyWantedLockfile,
          lockfileDir: ctx.lockfileDir,
          storeDir: ctx.storeDir,
          registries: ctx.registries
        });
      }
      const pruneVirtualStore = ctx.modulesFile?.prunedAt && opts.modulesCacheMaxAge > 0 ? cacheExpired(ctx.modulesFile.prunedAt, opts.modulesCacheMaxAge) : true;
      if (!maybeOpts.ignorePackageManifest) {
        for (const { manifest, rootDir } of Object.values(ctx.projects)) {
          if (!manifest) {
            throw new Error(`No package.json found in "${rootDir}"`);
          }
        }
      }
      const result2 = await _install();
      if (global["verifiedFileIntegrity"] > 1e3) {
        (0, logger_1.globalInfo)(`The integrity of ${global["verifiedFileIntegrity"]} files was checked. This might have caused installation to take longer.`);
      }
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.removeListener("data", reporter);
      }
      if (opts.mergeGitBranchLockfiles) {
        await (0, lockfile_fs_1.cleanGitBranchLockfiles)(ctx.lockfileDir);
      }
      return {
        updatedProjects: result2.updatedProjects,
        stats: result2.stats ?? { added: 0, removed: 0, linkedToRoot: 0 },
        depsRequiringBuild: result2.depsRequiringBuild,
        ignoredBuilds: result2.ignoredBuilds
      };
      async function _install() {
        const scriptsOpts = {
          extraBinPaths: opts.extraBinPaths,
          extraNodePaths: ctx.extraNodePaths,
          extraEnv: opts.extraEnv,
          preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
          rawConfig: opts.rawConfig,
          resolveSymlinksInInjectedDirs: opts.resolveSymlinksInInjectedDirs,
          scriptsPrependNodePath: opts.scriptsPrependNodePath,
          scriptShell: opts.scriptShell,
          shellEmulator: opts.shellEmulator,
          stdio: opts.ownLifecycleHooksStdio,
          storeController: opts.storeController,
          unsafePerm: opts.unsafePerm || false,
          prepareExecutionEnv: opts.prepareExecutionEnv
        };
        if (!opts.ignoreScripts && !opts.ignorePackageManifest && rootProjectManifest?.scripts?.[DEV_PREINSTALL]) {
          await (0, lifecycle_1.runLifecycleHook)(DEV_PREINSTALL, rootProjectManifest, {
            ...scriptsOpts,
            depPath: opts.lockfileDir,
            pkgRoot: opts.lockfileDir,
            rootModulesDir: ctx.rootModulesDir
          });
        }
        const packageExtensionsChecksum = (0, crypto_object_hasher_1.hashObjectNullableWithPrefix)(opts.packageExtensions);
        const pnpmfileChecksum = await opts.hooks.calculatePnpmfileChecksum?.();
        const patchedDependencies = opts.ignorePackageManifest ? ctx.wantedLockfile.patchedDependencies : opts.patchedDependencies ? await (0, lockfile_settings_checker_1.calcPatchHashes)(opts.patchedDependencies, opts.lockfileDir) : {};
        const patchedDependenciesWithResolvedPath = patchedDependencies ? (0, map_1.default)((patchFile) => ({
          hash: patchFile.hash,
          path: path_1.default.join(opts.lockfileDir, patchFile.path)
        }), patchedDependencies) : void 0;
        const frozenLockfile = opts.frozenLockfile || opts.frozenLockfileIfExists && ctx.existsNonEmptyWantedLockfile;
        let outdatedLockfileSettings = false;
        const overridesMap = (0, lockfile_settings_checker_1.createOverridesMapFromParsed)(opts.parsedOverrides);
        if (!opts.ignorePackageManifest) {
          const outdatedLockfileSettingName = (0, lockfile_settings_checker_1.getOutdatedLockfileSetting)(ctx.wantedLockfile, {
            autoInstallPeers: opts.autoInstallPeers,
            injectWorkspacePackages: opts.injectWorkspacePackages,
            excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
            peersSuffixMaxLength: opts.peersSuffixMaxLength,
            overrides: overridesMap,
            ignoredOptionalDependencies: opts.ignoredOptionalDependencies?.sort(),
            packageExtensionsChecksum,
            patchedDependencies,
            pnpmfileChecksum
          });
          outdatedLockfileSettings = outdatedLockfileSettingName != null;
          if (frozenLockfile && outdatedLockfileSettings) {
            throw new LockfileConfigMismatchError(outdatedLockfileSettingName);
          }
        }
        const _isWantedDepPrefSame = isWantedDepPrefSame.bind(null, ctx.wantedLockfile.catalogs, opts.catalogs);
        const upToDateLockfileMajorVersion = ctx.wantedLockfile.lockfileVersion.toString().startsWith(`${constants_1.LOCKFILE_MAJOR_VERSION}.`);
        let needsFullResolution = outdatedLockfileSettings || opts.fixLockfile || !upToDateLockfileMajorVersion || opts.forceFullResolution;
        if (needsFullResolution) {
          ctx.wantedLockfile.settings = {
            autoInstallPeers: opts.autoInstallPeers,
            excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
            peersSuffixMaxLength: opts.peersSuffixMaxLength,
            injectWorkspacePackages: opts.injectWorkspacePackages
          };
          ctx.wantedLockfile.overrides = overridesMap;
          ctx.wantedLockfile.packageExtensionsChecksum = packageExtensionsChecksum;
          ctx.wantedLockfile.ignoredOptionalDependencies = opts.ignoredOptionalDependencies;
          ctx.wantedLockfile.pnpmfileChecksum = pnpmfileChecksum;
          ctx.wantedLockfile.patchedDependencies = patchedDependencies;
        } else if (!frozenLockfile) {
          ctx.wantedLockfile.settings = {
            autoInstallPeers: opts.autoInstallPeers,
            excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
            peersSuffixMaxLength: opts.peersSuffixMaxLength,
            injectWorkspacePackages: opts.injectWorkspacePackages
          };
        }
        const frozenInstallResult = await tryFrozenInstall({
          frozenLockfile,
          needsFullResolution,
          patchedDependenciesWithResolvedPath,
          upToDateLockfileMajorVersion
        });
        if (frozenInstallResult !== null) {
          if ("needsFullResolution" in frozenInstallResult) {
            needsFullResolution = frozenInstallResult.needsFullResolution;
          } else {
            return frozenInstallResult;
          }
        }
        const projectsToInstall = [];
        let preferredSpecs = null;
        for (const project of projects) {
          const projectOpts = {
            ...project,
            ...ctx.projects[project.rootDir]
          };
          switch (project.mutation) {
            case "uninstallSome":
              projectsToInstall.push({
                pruneDirectDependencies: false,
                ...projectOpts,
                removePackages: project.dependencyNames,
                updatePackageManifest: true,
                wantedDependencies: []
              });
              break;
            case "install": {
              await installCase({
                ...projectOpts,
                updatePackageManifest: projectOpts.updatePackageManifest ?? projectOpts.update
              });
              break;
            }
            case "installSome": {
              await installSome({
                ...projectOpts,
                updatePackageManifest: projectOpts.updatePackageManifest !== false
              });
              break;
            }
          }
        }
        async function installCase(project) {
          const wantedDependencies = (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, {
            autoInstallPeers: opts.autoInstallPeers,
            includeDirect: opts.includeDirect,
            updateWorkspaceDependencies: project.update,
            nodeExecPath: opts.nodeExecPath
          }).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true, preserveNonSemverVersionSpec: true }));
          if (ctx.wantedLockfile?.importers) {
            forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepPrefSame);
          }
          if (opts.ignoreScripts && project.manifest?.scripts && (project.manifest.scripts.preinstall || project.manifest.scripts.install || project.manifest.scripts.postinstall || project.manifest.scripts.prepare)) {
            ctx.pendingBuilds.push(project.id);
          }
          projectsToInstall.push({
            pruneDirectDependencies: false,
            ...project,
            wantedDependencies
          });
        }
        async function installSome(project) {
          const currentPrefs = opts.ignoreCurrentPrefs ? {} : (0, manifest_utils_1.getAllDependenciesFromManifest)(project.manifest);
          const optionalDependencies = project.targetDependenciesField ? {} : project.manifest.optionalDependencies || {};
          const devDependencies = project.targetDependenciesField ? {} : project.manifest.devDependencies || {};
          if (preferredSpecs == null) {
            const manifests = [];
            for (const versions of ctx.workspacePackages.values()) {
              for (const { manifest } of versions.values()) {
                manifests.push(manifest);
              }
            }
            preferredSpecs = (0, manifest_utils_1.getAllUniqueSpecs)(manifests);
          }
          const wantedDeps = (0, parseWantedDependencies_1.parseWantedDependencies)(project.dependencySelectors, {
            allowNew: project.allowNew !== false,
            currentPrefs,
            defaultTag: opts.tag,
            dev: project.targetDependenciesField === "devDependencies",
            devDependencies,
            optional: project.targetDependenciesField === "optionalDependencies",
            optionalDependencies,
            updateWorkspaceDependencies: project.update,
            preferredSpecs,
            overrides: opts.overrides,
            defaultCatalog: opts.catalogs?.default
          });
          projectsToInstall.push({
            pruneDirectDependencies: false,
            ...project,
            wantedDependencies: wantedDeps.map((wantedDep) => ({ ...wantedDep, isNew: !currentPrefs[wantedDep.alias], updateSpec: true, nodeExecPath: opts.nodeExecPath }))
          });
        }
        const makePartialCurrentLockfile = !installsOnly && (ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile || !ctx.currentLockfileIsUpToDate);
        const result3 = await installInContext(projectsToInstall, ctx, {
          ...opts,
          currentLockfileIsUpToDate: !ctx.existsNonEmptyWantedLockfile || ctx.currentLockfileIsUpToDate,
          makePartialCurrentLockfile,
          needsFullResolution,
          pruneVirtualStore,
          scriptsOpts,
          updateLockfileMinorVersion: true,
          patchedDependencies: patchedDependenciesWithResolvedPath
        });
        return {
          updatedProjects: result3.projects,
          stats: result3.stats,
          depsRequiringBuild: result3.depsRequiringBuild,
          ignoredBuilds: result3.ignoredBuilds
        };
      }
      async function tryFrozenInstall({ frozenLockfile, needsFullResolution, patchedDependenciesWithResolvedPath, upToDateLockfileMajorVersion }) {
        const isFrozenInstallPossible = (
          // A frozen install is never possible when any of these are true:
          !ctx.lockfileHadConflicts && !opts.fixLockfile && !opts.dedupe && installsOnly && // If the user explicitly requested a frozen lockfile install, attempt
          // to perform one. An error will be thrown if updates are required.
          (frozenLockfile || // Otherwise, check if a frozen-like install is possible for
          // performance. This will be the case if all projects are up-to-date.
          opts.ignorePackageManifest || !needsFullResolution && opts.preferFrozenLockfile && (!opts.pruneLockfileImporters || Object.keys(ctx.wantedLockfile.importers).length === Object.keys(ctx.projects).length) && ctx.existsNonEmptyWantedLockfile && ctx.wantedLockfile.lockfileVersion === constants_1.LOCKFILE_VERSION && await (0, lockfile_verification_1.allProjectsAreUpToDate)(Object.values(ctx.projects), {
            catalogs: opts.catalogs,
            autoInstallPeers: opts.autoInstallPeers,
            excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
            linkWorkspacePackages: opts.linkWorkspacePackagesDepth >= 0,
            wantedLockfile: ctx.wantedLockfile,
            workspacePackages: ctx.workspacePackages,
            lockfileDir: opts.lockfileDir
          }))
        );
        if (!isFrozenInstallPossible) {
          return null;
        }
        if (needsFullResolution) {
          throw new error_1.PnpmError("FROZEN_LOCKFILE_WITH_OUTDATED_LOCKFILE", "Cannot perform a frozen installation because the version of the lockfile is incompatible with this version of pnpm", {
            hint: `Try either:
1. Aligning the version of pnpm that generated the lockfile with the version that installs from it, or
2. Migrating the lockfile so that it is compatible with the newer version of pnpm, or
3. Using "pnpm install --no-frozen-lockfile".
Note that in CI environments, this setting is enabled by default.`
          });
        }
        if (!opts.ignorePackageManifest) {
          const _satisfiesPackageManifest = lockfile_verification_1.satisfiesPackageManifest.bind(null, {
            autoInstallPeers: opts.autoInstallPeers,
            excludeLinksFromLockfile: opts.excludeLinksFromLockfile
          });
          for (const { id, manifest, rootDir } of Object.values(ctx.projects)) {
            const { satisfies, detailedReason } = _satisfiesPackageManifest(ctx.wantedLockfile.importers[id], manifest);
            if (!satisfies) {
              if (!ctx.existsWantedLockfile) {
                throw new error_1.PnpmError("NO_LOCKFILE", `Cannot install with "frozen-lockfile" because ${constants_1.WANTED_LOCKFILE} is absent`, {
                  hint: 'Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"'
                });
              }
              throw new error_1.PnpmError("OUTDATED_LOCKFILE", `Cannot install with "frozen-lockfile" because ${constants_1.WANTED_LOCKFILE} is not up to date with ` + path_1.default.join("<ROOT>", path_1.default.relative(opts.lockfileDir, path_1.default.join(rootDir, "package.json"))), {
                hint: `Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"

  Failure reason:
  ${detailedReason ?? ""}`
              });
            }
          }
        }
        if (opts.lockfileOnly) {
          await (0, lockfile_fs_1.writeWantedLockfile)(ctx.lockfileDir, ctx.wantedLockfile);
          return {
            updatedProjects: projects.map((mutatedProject) => ctx.projects[mutatedProject.rootDir]),
            ignoredBuilds: void 0
          };
        }
        if (!ctx.existsNonEmptyWantedLockfile) {
          if (Object.values(ctx.projects).some((project) => pkgHasDependencies(project.manifest))) {
            throw new Error(`Headless installation requires a ${constants_1.WANTED_LOCKFILE} file`);
          }
          return null;
        }
        if (maybeOpts.ignorePackageManifest) {
          logger_1.logger.info({ message: "Importing packages to virtual store", prefix: opts.lockfileDir });
        } else {
          logger_1.logger.info({ message: "Lockfile is up to date, resolution step is skipped", prefix: opts.lockfileDir });
        }
        try {
          const { stats, ignoredBuilds } = await (0, headless_1.headlessInstall)({
            ...ctx,
            ...opts,
            currentEngine: {
              nodeVersion: opts.nodeVersion,
              pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : ""
            },
            currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
            patchedDependencies: patchedDependenciesWithResolvedPath,
            selectedProjectDirs: projects.map((project) => project.rootDir),
            allProjects: ctx.projects,
            prunedAt: ctx.modulesFile?.prunedAt,
            pruneVirtualStore,
            wantedLockfile: maybeOpts.ignorePackageManifest ? void 0 : ctx.wantedLockfile,
            useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified
          });
          if (opts.useLockfile && opts.saveLockfile && opts.mergeGitBranchLockfiles || !upToDateLockfileMajorVersion && !opts.frozenLockfile) {
            await (0, lockfile_fs_1.writeLockfiles)({
              currentLockfile: ctx.currentLockfile,
              currentLockfileDir: ctx.virtualStoreDir,
              wantedLockfile: ctx.wantedLockfile,
              wantedLockfileDir: ctx.lockfileDir,
              useGitBranchLockfile: opts.useGitBranchLockfile,
              mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles
            });
          }
          return {
            updatedProjects: projects.map((mutatedProject) => {
              const project = ctx.projects[mutatedProject.rootDir];
              return {
                ...project,
                manifest: project.originalManifest ?? project.manifest
              };
            }),
            stats,
            ignoredBuilds
          };
        } catch (error) {
          if (frozenLockfile || error.code !== "ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY" && !BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code) || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile)
            throw error;
          if (BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code)) {
            needsFullResolution = true;
            for (const project of projects) {
              project.update = true;
            }
          }
          logger_1.logger.warn({
            error,
            message: error.message,
            prefix: ctx.lockfileDir
          });
          logger_1.logger.error(new error_1.PnpmError(error.code, "The lockfile is broken! Resolution step will be performed to fix it."));
          return { needsFullResolution };
        }
      }
    }
    function cacheExpired(prunedAt, maxAgeInMinutes) {
      return (Date.now() - new Date(prunedAt).valueOf()) / (1e3 * 60) > maxAgeInMinutes;
    }
    function pkgHasDependencies(manifest) {
      return Boolean(Object.keys(manifest.dependencies ?? {}).length > 0 || Object.keys(manifest.devDependencies ?? {}).length || Object.keys(manifest.optionalDependencies ?? {}).length);
    }
    function forgetResolutionsOfPrevWantedDeps(importer, wantedDeps, isWantedDepPrefSame2) {
      if (!importer.specifiers)
        return;
      importer.dependencies = importer.dependencies ?? {};
      importer.devDependencies = importer.devDependencies ?? {};
      importer.optionalDependencies = importer.optionalDependencies ?? {};
      for (const { alias, pref } of wantedDeps) {
        if (alias && !isWantedDepPrefSame2(alias, importer.specifiers[alias], pref)) {
          if (!importer.dependencies[alias]?.startsWith("link:")) {
            delete importer.dependencies[alias];
          }
          delete importer.devDependencies[alias];
          delete importer.optionalDependencies[alias];
        }
      }
    }
    function forgetResolutionsOfAllPrevWantedDeps(wantedLockfile) {
      if (wantedLockfile.importers != null && !(0, isEmpty_1.default)(wantedLockfile.importers)) {
        wantedLockfile.importers = (0, map_1.default)(({ dependencies, devDependencies, optionalDependencies, ...rest }) => rest, wantedLockfile.importers);
      }
      if (wantedLockfile.packages != null && !(0, isEmpty_1.default)(wantedLockfile.packages)) {
        wantedLockfile.packages = (0, map_1.default)(({ dependencies, optionalDependencies, ...rest }) => rest, wantedLockfile.packages);
      }
    }
    function isWantedDepPrefSame(prevCatalogs, catalogsConfig, alias, prevPref, nextPref) {
      if (prevPref !== nextPref) {
        return false;
      }
      const catalogName = (0, catalogs_protocol_parser_1.parseCatalogProtocol)(prevPref);
      if (catalogName === null) {
        return true;
      }
      const prevCatalogEntrySpec = prevCatalogs?.[catalogName]?.[alias]?.specifier;
      const nextCatalogEntrySpec = catalogsConfig?.[catalogName]?.[alias];
      return prevCatalogEntrySpec === nextCatalogEntrySpec;
    }
    async function addDependenciesToPackage(manifest, dependencySelectors, opts) {
      const rootDir = opts.dir ?? process.cwd();
      const { updatedProjects: projects, ignoredBuilds } = await mutateModules([
        {
          allowNew: opts.allowNew,
          dependencySelectors,
          mutation: "installSome",
          peer: opts.peer,
          pinnedVersion: opts.pinnedVersion,
          rootDir,
          targetDependenciesField: opts.targetDependenciesField,
          update: opts.update,
          updateMatching: opts.updateMatching,
          updatePackageManifest: opts.updatePackageManifest,
          updateToLatest: opts.updateToLatest
        }
      ], {
        ...opts,
        lockfileDir: opts.lockfileDir ?? opts.dir,
        allProjects: [
          {
            buildIndex: 0,
            binsDir: opts.bin,
            manifest,
            rootDir
          }
        ]
      });
      return { updatedManifest: projects[0].manifest, ignoredBuilds };
    }
    var _installInContext = async (projects, ctx, opts) => {
      const originalLockfileForCheck = opts.lockfileCheck != null ? (0, clone_1.default)(ctx.wantedLockfile) : null;
      const isInstallationOnlyForLockfileCheck = opts.lockfileCheck != null;
      ctx.wantedLockfile.importers = ctx.wantedLockfile.importers || {};
      for (const { id } of projects) {
        if (!ctx.wantedLockfile.importers[id]) {
          ctx.wantedLockfile.importers[id] = { specifiers: {} };
        }
      }
      if (opts.pruneLockfileImporters) {
        const projectIds = new Set(projects.map(({ id }) => id));
        for (const wantedImporter of Object.keys(ctx.wantedLockfile.importers)) {
          if (!projectIds.has(wantedImporter)) {
            delete ctx.wantedLockfile.importers[wantedImporter];
          }
        }
      }
      await Promise.all(projects.map(async (project) => {
        if (project.mutation !== "uninstallSome")
          return;
        const _removeDeps = async (manifest) => (0, removeDeps_1.removeDeps)(manifest, project.dependencyNames, { prefix: project.rootDir, saveType: project.targetDependenciesField });
        project.manifest = await _removeDeps(project.manifest);
        if (project.originalManifest != null) {
          project.originalManifest = await _removeDeps(project.originalManifest);
        }
      }));
      core_loggers_1.stageLogger.debug({
        prefix: ctx.lockfileDir,
        stage: "resolution_started"
      });
      const update = projects.some((project) => project.update);
      const preferredVersions = opts.preferredVersions ?? (!update ? (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, Object.values(ctx.projects).map(({ manifest }) => manifest)) : void 0);
      const forceFullResolution = ctx.wantedLockfile.lockfileVersion !== constants_1.LOCKFILE_VERSION || !opts.currentLockfileIsUpToDate || opts.force || opts.needsFullResolution || ctx.lockfileHadConflicts || opts.dedupePeerDependents;
      if (opts.fixLockfile && ctx.wantedLockfile.packages != null && !(0, isEmpty_1.default)(ctx.wantedLockfile.packages)) {
        ctx.wantedLockfile.packages = (0, map_1.default)(({ dependencies, optionalDependencies, resolution }) => ({
          // These fields are needed to avoid losing information of the locked dependencies if these fields are not broken
          // If these fields are broken, they will also be regenerated
          dependencies,
          optionalDependencies,
          resolution
        }), ctx.wantedLockfile.packages);
      }
      if (opts.dedupe) {
        forgetResolutionsOfAllPrevWantedDeps(ctx.wantedLockfile);
      }
      let { dependenciesGraph, dependenciesByProjectId, linkedDependenciesByProjectId, newLockfile, outdatedDependencies, peerDependencyIssuesByProjects, wantedToBeSkippedPackageIds, waitTillAllFetchingsFinish } = await (0, resolve_dependencies_1.resolveDependencies)(projects, {
        allowedDeprecatedVersions: opts.allowedDeprecatedVersions,
        allowNonAppliedPatches: opts.allowNonAppliedPatches,
        autoInstallPeers: opts.autoInstallPeers,
        autoInstallPeersFromHighestMatch: opts.autoInstallPeersFromHighestMatch,
        catalogs: opts.catalogs,
        currentLockfile: ctx.currentLockfile,
        defaultUpdateDepth: opts.depth,
        dedupeDirectDeps: opts.dedupeDirectDeps,
        dedupeInjectedDeps: opts.dedupeInjectedDeps,
        dedupePeerDependents: opts.dedupePeerDependents,
        dryRun: opts.lockfileOnly,
        engineStrict: opts.engineStrict,
        excludeLinksFromLockfile: opts.excludeLinksFromLockfile,
        force: opts.force,
        forceFullResolution,
        ignoreScripts: opts.ignoreScripts,
        hooks: {
          readPackage: opts.readPackageHook
        },
        linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? (opts.saveWorkspaceProtocol ? 0 : -1),
        lockfileDir: opts.lockfileDir,
        nodeVersion: opts.nodeVersion,
        pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : "",
        preferWorkspacePackages: opts.preferWorkspacePackages,
        preferredVersions,
        preserveWorkspaceProtocol: opts.preserveWorkspaceProtocol,
        registries: ctx.registries,
        resolutionMode: opts.resolutionMode,
        saveWorkspaceProtocol: opts.saveWorkspaceProtocol,
        storeController: opts.storeController,
        tag: opts.tag,
        virtualStoreDir: ctx.virtualStoreDir,
        virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
        wantedLockfile: ctx.wantedLockfile,
        workspacePackages: ctx.workspacePackages,
        patchedDependencies: opts.patchedDependencies,
        lockfileIncludeTarballUrl: opts.lockfileIncludeTarballUrl,
        resolvePeersFromWorkspaceRoot: opts.resolvePeersFromWorkspaceRoot,
        supportedArchitectures: opts.supportedArchitectures,
        peersSuffixMaxLength: opts.peersSuffixMaxLength,
        injectWorkspacePackages: opts.injectWorkspacePackages
      });
      if (!opts.include.optionalDependencies || !opts.include.devDependencies || !opts.include.dependencies) {
        linkedDependenciesByProjectId = (0, map_1.default)((linkedDeps) => linkedDeps.filter((linkedDep) => !(linkedDep.dev && !opts.include.devDependencies || linkedDep.optional && !opts.include.optionalDependencies || !linkedDep.dev && !linkedDep.optional && !opts.include.dependencies)), linkedDependenciesByProjectId ?? {});
        for (const { id, manifest } of projects) {
          for (const [alias, depPath] of dependenciesByProjectId[id].entries()) {
            let include;
            const dep = dependenciesGraph[depPath];
            if (!dep) {
              include = false;
            } else {
              const isDev = Boolean(manifest.devDependencies?.[dep.name]);
              const isOptional = Boolean(manifest.optionalDependencies?.[dep.name]);
              include = !(isDev && !opts.include.devDependencies || isOptional && !opts.include.optionalDependencies || !isDev && !isOptional && !opts.include.dependencies);
            }
            if (!include) {
              dependenciesByProjectId[id].delete(alias);
            }
          }
        }
      }
      core_loggers_1.stageLogger.debug({
        prefix: ctx.lockfileDir,
        stage: "resolution_done"
      });
      newLockfile = opts.hooks?.afterAllResolved != null ? await (0, pipeWith_1.default)(async (f, res) => f(await res), opts.hooks.afterAllResolved)(newLockfile) : newLockfile;
      if (opts.updateLockfileMinorVersion) {
        newLockfile.lockfileVersion = constants_1.LOCKFILE_VERSION;
      }
      const depsStateCache = {};
      const lockfileOpts = {
        useGitBranchLockfile: opts.useGitBranchLockfile,
        mergeGitBranchLockfiles: opts.mergeGitBranchLockfiles
      };
      let stats;
      const allowBuild = (0, builder_policy_1.createAllowBuildFunction)(opts);
      let ignoredBuilds;
      if (!opts.lockfileOnly && !isInstallationOnlyForLockfileCheck && opts.enableModulesDir) {
        const result2 = await (0, link_1.linkPackages)(projects, dependenciesGraph, {
          allowBuild,
          currentLockfile: ctx.currentLockfile,
          dedupeDirectDeps: opts.dedupeDirectDeps,
          dependenciesByProjectId,
          depsStateCache,
          disableRelinkLocalDirDeps: opts.disableRelinkLocalDirDeps,
          extraNodePaths: ctx.extraNodePaths,
          force: opts.force,
          hoistedDependencies: ctx.hoistedDependencies,
          hoistedModulesDir: ctx.hoistedModulesDir,
          hoistPattern: ctx.hoistPattern,
          ignoreScripts: opts.ignoreScripts,
          include: opts.include,
          linkedDependenciesByProjectId,
          lockfileDir: opts.lockfileDir,
          makePartialCurrentLockfile: opts.makePartialCurrentLockfile,
          outdatedDependencies,
          pruneStore: opts.pruneStore,
          pruneVirtualStore: opts.pruneVirtualStore,
          publicHoistPattern: ctx.publicHoistPattern,
          registries: ctx.registries,
          rootModulesDir: ctx.rootModulesDir,
          sideEffectsCacheRead: opts.sideEffectsCacheRead,
          symlink: opts.symlink,
          skipped: ctx.skipped,
          storeController: opts.storeController,
          virtualStoreDir: ctx.virtualStoreDir,
          virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
          wantedLockfile: newLockfile,
          wantedToBeSkippedPackageIds,
          hoistWorkspacePackages: opts.hoistWorkspacePackages
        });
        stats = result2.stats;
        if (opts.enablePnp) {
          const importerNames = Object.fromEntries(projects.map(({ manifest, id }) => [id, manifest.name ?? id]));
          await (0, lockfile_to_pnp_1.writePnpFile)(result2.currentLockfile, {
            importerNames,
            lockfileDir: ctx.lockfileDir,
            virtualStoreDir: ctx.virtualStoreDir,
            virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
            registries: ctx.registries
          });
        }
        ctx.pendingBuilds = ctx.pendingBuilds.filter((relDepPath) => !result2.removedDepPaths.has(relDepPath));
        if (result2.newDepPaths?.length) {
          if (opts.ignoreScripts) {
            ctx.pendingBuilds = ctx.pendingBuilds.concat(result2.newDepPaths.filter((depPath) => dependenciesGraph[depPath].requiresBuild));
          }
          if (!opts.ignoreScripts || Object.keys(opts.patchedDependencies ?? {}).length > 0) {
            const depPaths = Object.keys(dependenciesGraph);
            const rootNodes = depPaths.filter((depPath) => dependenciesGraph[depPath].depth === 0);
            let extraEnv = opts.scriptsOpts.extraEnv;
            if (opts.enablePnp) {
              extraEnv = {
                ...extraEnv,
                ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs"))
              };
            }
            ignoredBuilds = (await (0, build_modules_1.buildModules)(dependenciesGraph, rootNodes, {
              allowBuild,
              ignoredBuiltDependencies: opts.ignoredBuiltDependencies,
              childConcurrency: opts.childConcurrency,
              depsStateCache,
              depsToBuild: new Set(result2.newDepPaths),
              extraBinPaths: ctx.extraBinPaths,
              extraNodePaths: ctx.extraNodePaths,
              extraEnv,
              ignoreScripts: opts.ignoreScripts || opts.ignoreDepScripts,
              lockfileDir: ctx.lockfileDir,
              optional: opts.include.optionalDependencies,
              preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
              rawConfig: opts.rawConfig,
              rootModulesDir: ctx.virtualStoreDir,
              scriptsPrependNodePath: opts.scriptsPrependNodePath,
              scriptShell: opts.scriptShell,
              shellEmulator: opts.shellEmulator,
              sideEffectsCacheWrite: opts.sideEffectsCacheWrite,
              storeController: opts.storeController,
              unsafePerm: opts.unsafePerm,
              userAgent: opts.userAgent
            })).ignoredBuilds;
            if (ignoredBuilds == null && ctx.modulesFile?.ignoredBuilds?.length) {
              ignoredBuilds = ctx.modulesFile.ignoredBuilds;
              core_loggers_1.ignoredScriptsLogger.debug({ packageNames: ignoredBuilds });
            }
          }
        }
        const binWarn = (prefix, message) => {
          logger_1.logger.info({ message, prefix });
        };
        if (result2.newDepPaths?.length) {
          const newPkgs = (0, props_1.default)(result2.newDepPaths, dependenciesGraph);
          await linkAllBins(newPkgs, dependenciesGraph, {
            extraNodePaths: ctx.extraNodePaths,
            optional: opts.include.optionalDependencies,
            warn: binWarn.bind(null, opts.lockfileDir)
          });
        }
        await Promise.all(projects.map(async (project, index) => {
          let linkedPackages;
          if (ctx.publicHoistPattern?.length && path_1.default.relative(project.rootDir, opts.lockfileDir) === "") {
            const nodeExecPathByAlias = {};
            for (const alias in project.manifest.dependenciesMeta) {
              const { node } = project.manifest.dependenciesMeta[alias];
              if (node) {
                nodeExecPathByAlias[alias] = node;
              }
            }
            linkedPackages = await (0, link_bins_1.linkBins)(project.modulesDir, project.binsDir, {
              allowExoticManifests: true,
              preferSymlinkedExecutables: opts.preferSymlinkedExecutables,
              projectManifest: project.manifest,
              nodeExecPathByAlias,
              extraNodePaths: ctx.extraNodePaths,
              warn: binWarn.bind(null, project.rootDir)
            });
          } else {
            const directPkgs = [
              ...(0, props_1.default)(Array.from(dependenciesByProjectId[project.id].values()).filter((depPath) => !ctx.skipped.has(depPath)), dependenciesGraph),
              ...linkedDependenciesByProjectId[project.id].map(({ pkgId }) => ({
                dir: path_1.default.join(project.rootDir, pkgId.substring(5)),
                fetching: void 0
              }))
            ];
            linkedPackages = await (0, link_bins_1.linkBinsOfPackages)((await Promise.all(directPkgs.map(async (dep) => {
              const manifest = (await dep.fetching?.())?.bundledManifest ?? await (0, read_project_manifest_1.safeReadProjectManifestOnly)(dep.dir);
              let nodeExecPath;
              if (manifest?.name) {
                nodeExecPath = project.manifest.dependenciesMeta?.[manifest.name]?.node;
              }
              return {
                location: dep.dir,
                manifest,
                nodeExecPath
              };
            }))).filter(({ manifest }) => manifest != null), project.binsDir, {
              extraNodePaths: ctx.extraNodePaths,
              preferSymlinkedExecutables: opts.preferSymlinkedExecutables
            });
          }
          const projectToInstall = projects[index];
          if (opts.global && projectToInstall.mutation.includes("install")) {
            for (const pkg of projectToInstall.wantedDependencies) {
              if (pkg.alias && !linkedPackages?.includes(pkg.alias)) {
                logger_1.logger.warn({ message: `${pkg.alias} has no binaries`, prefix: opts.lockfileDir });
              }
            }
          }
        }));
        const projectsWithTargetDirs = (0, lockfile_utils_1.extendProjectsWithTargetDirs)(projects, newLockfile, {
          virtualStoreDir: ctx.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
        });
        await Promise.all([
          opts.useLockfile && opts.saveLockfile ? (0, lockfile_fs_1.writeLockfiles)({
            currentLockfile: result2.currentLockfile,
            currentLockfileDir: ctx.virtualStoreDir,
            wantedLockfile: newLockfile,
            wantedLockfileDir: ctx.lockfileDir,
            ...lockfileOpts
          }) : (0, lockfile_fs_1.writeCurrentLockfile)(ctx.virtualStoreDir, result2.currentLockfile),
          (async () => {
            if (result2.currentLockfile.packages === void 0 && result2.removedDepPaths.size === 0) {
              return Promise.resolve();
            }
            const injectedDeps = {};
            for (const project of projectsWithTargetDirs) {
              if (project.targetDirs.length > 0) {
                injectedDeps[project.id] = project.targetDirs.map((targetDir) => path_1.default.relative(opts.lockfileDir, targetDir));
              }
            }
            return (0, modules_yaml_1.writeModulesManifest)(ctx.rootModulesDir, {
              ...ctx.modulesFile,
              hoistedDependencies: result2.newHoistedDependencies,
              hoistPattern: ctx.hoistPattern,
              included: ctx.include,
              injectedDeps,
              ignoredBuilds,
              layoutVersion: constants_1.LAYOUT_VERSION,
              nodeLinker: opts.nodeLinker,
              packageManager: `${opts.packageManager.name}@${opts.packageManager.version}`,
              pendingBuilds: ctx.pendingBuilds,
              publicHoistPattern: ctx.publicHoistPattern,
              prunedAt: opts.pruneVirtualStore || ctx.modulesFile == null ? (/* @__PURE__ */ new Date()).toUTCString() : ctx.modulesFile.prunedAt,
              registries: ctx.registries,
              skipped: Array.from(ctx.skipped),
              storeDir: ctx.storeDir,
              virtualStoreDir: ctx.virtualStoreDir,
              virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength
            }, {
              makeModulesDir: Object.keys(result2.currentLockfile.packages ?? {}).length > 0
            });
          })()
        ]);
        if (!opts.ignoreScripts) {
          if (opts.enablePnp) {
            opts.scriptsOpts.extraEnv = {
              ...opts.scriptsOpts.extraEnv,
              ...(0, lifecycle_1.makeNodeRequireOption)(path_1.default.join(opts.lockfileDir, ".pnp.cjs"))
            };
          }
          const projectsToBeBuilt = projectsWithTargetDirs.filter(({ mutation }) => mutation === "install");
          await (0, lifecycle_1.runLifecycleHooksConcurrently)(["preinstall", "install", "postinstall", "preprepare", "prepare", "postprepare"], projectsToBeBuilt, opts.childConcurrency, opts.scriptsOpts);
        }
      } else {
        if (opts.useLockfile && opts.saveLockfile && !isInstallationOnlyForLockfileCheck) {
          await (0, lockfile_fs_1.writeWantedLockfile)(ctx.lockfileDir, newLockfile, lockfileOpts);
        }
        if (opts.nodeLinker !== "hoisted") {
          core_loggers_1.stageLogger.debug({
            prefix: opts.lockfileDir,
            stage: "importing_done"
          });
        }
      }
      await waitTillAllFetchingsFinish();
      const depsRequiringBuild = [];
      if (opts.returnListOfDepsRequiringBuild) {
        await Promise.all(Object.entries(dependenciesGraph).map(async ([depPath, node]) => {
          if (node?.fetching == null)
            return;
          const { files } = await node.fetching();
          if (files.requiresBuild) {
            depsRequiringBuild.push(depPath);
          }
        }));
      }
      (0, reportPeerDependencyIssues_1.reportPeerDependencyIssues)(peerDependencyIssuesByProjects, {
        lockfileDir: opts.lockfileDir,
        strictPeerDependencies: opts.strictPeerDependencies
      });
      core_loggers_1.summaryLogger.debug({ prefix: opts.lockfileDir });
      if (originalLockfileForCheck != null) {
        opts.lockfileCheck?.(originalLockfileForCheck, newLockfile);
      }
      return {
        newLockfile,
        projects: projects.map(({ id, manifest, rootDir }) => ({
          manifest,
          peerDependencyIssues: peerDependencyIssuesByProjects[id],
          rootDir
        })),
        stats,
        depsRequiringBuild,
        ignoredBuilds
      };
    };
    function allMutationsAreInstalls(projects) {
      return projects.every((project) => project.mutation === "install" && !project.update && !project.updateMatching);
    }
    var installInContext = async (projects, ctx, opts) => {
      try {
        const isPathInsideWorkspace = is_subdir_1.default.bind(null, opts.lockfileDir);
        if (!opts.frozenLockfile && opts.useLockfile) {
          const allProjectsLocatedInsideWorkspace = Object.values(ctx.projects).filter((project) => isPathInsideWorkspace(project.rootDirRealPath ?? project.rootDir));
          if (allProjectsLocatedInsideWorkspace.length > projects.length) {
            const newProjects = [...projects];
            const getWantedDepsOpts = {
              autoInstallPeers: opts.autoInstallPeers,
              includeDirect: opts.includeDirect,
              updateWorkspaceDependencies: false,
              nodeExecPath: opts.nodeExecPath,
              injectWorkspacePackages: opts.injectWorkspacePackages
            };
            const _isWantedDepPrefSame = isWantedDepPrefSame.bind(null, ctx.wantedLockfile.catalogs, opts.catalogs);
            for (const project of allProjectsLocatedInsideWorkspace) {
              if (!newProjects.some(({ rootDir }) => rootDir === project.rootDir)) {
                const wantedDependencies = (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, getWantedDepsOpts).map((wantedDependency) => ({ ...wantedDependency, updateSpec: true, preserveNonSemverVersionSpec: true }));
                forgetResolutionsOfPrevWantedDeps(ctx.wantedLockfile.importers[project.id], wantedDependencies, _isWantedDepPrefSame);
                newProjects.push({
                  mutation: "install",
                  ...project,
                  wantedDependencies,
                  pruneDirectDependencies: false,
                  updatePackageManifest: false
                });
              }
            }
            const result2 = await installInContext(newProjects, ctx, {
              ...opts,
              lockfileOnly: true
            });
            const { stats, ignoredBuilds } = await (0, headless_1.headlessInstall)({
              ...ctx,
              ...opts,
              currentEngine: {
                nodeVersion: opts.nodeVersion,
                pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : ""
              },
              currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
              selectedProjectDirs: projects.map((project) => project.rootDir),
              allProjects: ctx.projects,
              prunedAt: ctx.modulesFile?.prunedAt,
              wantedLockfile: result2.newLockfile,
              useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified,
              hoistWorkspacePackages: opts.hoistWorkspacePackages
            });
            return {
              ...result2,
              stats,
              ignoredBuilds
            };
          }
        }
        if (opts.nodeLinker === "hoisted" && !opts.lockfileOnly) {
          const result2 = await _installInContext(projects, ctx, {
            ...opts,
            lockfileOnly: true
          });
          const { stats, ignoredBuilds } = await (0, headless_1.headlessInstall)({
            ...ctx,
            ...opts,
            currentEngine: {
              nodeVersion: opts.nodeVersion,
              pnpmVersion: opts.packageManager.name === "pnpm" ? opts.packageManager.version : ""
            },
            currentHoistedLocations: ctx.modulesFile?.hoistedLocations,
            selectedProjectDirs: projects.map((project) => project.rootDir),
            allProjects: ctx.projects,
            prunedAt: ctx.modulesFile?.prunedAt,
            wantedLockfile: result2.newLockfile,
            useLockfile: opts.useLockfile && ctx.wantedLockfileIsModified,
            hoistWorkspacePackages: opts.hoistWorkspacePackages
          });
          return {
            ...result2,
            stats,
            ignoredBuilds
          };
        }
        if (opts.lockfileOnly && ctx.existsCurrentLockfile) {
          logger_1.logger.warn({
            message: "`node_modules` is present. Lockfile only installation will make it out-of-date",
            prefix: ctx.lockfileDir
          });
        }
        return await _installInContext(projects, ctx, opts);
      } catch (error) {
        if (!BROKEN_LOCKFILE_INTEGRITY_ERRORS.has(error.code) || !ctx.existsNonEmptyWantedLockfile && !ctx.existsCurrentLockfile)
          throw error;
        opts.needsFullResolution = true;
        for (const project of projects) {
          project.update = true;
        }
        logger_1.logger.warn({
          error,
          message: error.message,
          prefix: ctx.lockfileDir
        });
        logger_1.logger.error(new error_1.PnpmError(error.code, "The lockfile is broken! A full installation will be performed in an attempt to fix it."));
        return _installInContext(projects, ctx, opts);
      } finally {
        await opts.storeController.close();
      }
    };
    var limitLinking = (0, p_limit_12.default)(16);
    async function linkAllBins(depNodes, depGraph, opts) {
      await Promise.all(depNodes.map(async (depNode) => limitLinking(async () => (0, build_modules_1.linkBinsOfDependencies)(depNode, depGraph, opts))));
    }
  }
});

// ../pkg-manager/core/lib/getPeerDependencyIssues.js
var require_getPeerDependencyIssues = __commonJS({
  "../pkg-manager/core/lib/getPeerDependencyIssues.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPeerDependencyIssues = getPeerDependencyIssues;
    var lockfile_preferred_versions_1 = require_lib155();
    var resolve_dependencies_1 = require_lib162();
    var get_context_1 = require_lib115();
    var hooks_read_package_hook_1 = require_lib164();
    var normalize_registries_1 = require_lib113();
    var parse_overrides_1 = require_lib25();
    async function getPeerDependencyIssues(projects, opts) {
      const lockfileDir = opts.lockfileDir ?? process.cwd();
      const ctx = await (0, get_context_1.getContext)({
        force: false,
        extraBinPaths: [],
        lockfileDir,
        nodeLinker: opts.nodeLinker ?? "isolated",
        registries: normalize_registries_1.DEFAULT_REGISTRIES,
        useLockfile: true,
        allProjects: projects,
        ...opts
      });
      const projectsToResolve = Object.values(ctx.projects).map((project) => ({
        ...project,
        updatePackageManifest: false,
        wantedDependencies: (0, resolve_dependencies_1.getWantedDependencies)(project.manifest, opts)
      }));
      const preferredVersions = (0, lockfile_preferred_versions_1.getPreferredVersionsFromLockfileAndManifests)(ctx.wantedLockfile.packages, Object.values(ctx.projects).map(({ manifest }) => manifest));
      const overrides = (0, parse_overrides_1.parseOverrides)(opts.overrides ?? {}, opts.catalogs ?? {});
      const { peerDependencyIssuesByProjects, waitTillAllFetchingsFinish } = await (0, resolve_dependencies_1.resolveDependencies)(projectsToResolve, {
        currentLockfile: ctx.currentLockfile,
        allowedDeprecatedVersions: {},
        allowNonAppliedPatches: false,
        catalogs: opts.catalogs,
        defaultUpdateDepth: -1,
        dedupePeerDependents: opts.dedupePeerDependents,
        dryRun: true,
        engineStrict: false,
        force: false,
        forceFullResolution: true,
        hooks: {
          readPackage: (0, hooks_read_package_hook_1.createReadPackageHook)({
            ignoreCompatibilityDb: opts.ignoreCompatibilityDb,
            lockfileDir,
            overrides,
            packageExtensions: opts.packageExtensions,
            readPackageHook: opts.hooks?.readPackage,
            ignoredOptionalDependencies: opts.ignoredOptionalDependencies
          })
        },
        linkWorkspacePackagesDepth: opts.linkWorkspacePackagesDepth ?? (opts.saveWorkspaceProtocol ? 0 : -1),
        lockfileDir,
        nodeVersion: opts.nodeVersion ?? process.version,
        pnpmVersion: "",
        preferWorkspacePackages: opts.preferWorkspacePackages,
        preferredVersions,
        preserveWorkspaceProtocol: false,
        registries: ctx.registries,
        saveWorkspaceProtocol: false,
        // this doesn't matter in our case. We won't write changes to package.json files
        storeController: opts.storeController,
        tag: "latest",
        virtualStoreDir: ctx.virtualStoreDir,
        virtualStoreDirMaxLength: ctx.virtualStoreDirMaxLength,
        wantedLockfile: ctx.wantedLockfile,
        workspacePackages: ctx.workspacePackages ?? /* @__PURE__ */ new Map(),
        supportedArchitectures: opts.supportedArchitectures,
        peersSuffixMaxLength: opts.peersSuffixMaxLength
      });
      await waitTillAllFetchingsFinish();
      return peerDependencyIssuesByProjects;
    }
  }
});

// ../pkg-manager/core/lib/api.js
var require_api3 = __commonJS({
  "../pkg-manager/core/lib/api.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.PeerDependencyIssuesError = void 0;
    __exportStar2(require_install(), exports2);
    var reportPeerDependencyIssues_1 = require_reportPeerDependencyIssues2();
    Object.defineProperty(exports2, "PeerDependencyIssuesError", { enumerable: true, get: function() {
      return reportPeerDependencyIssues_1.PeerDependencyIssuesError;
    } });
    __exportStar2(require_getPeerDependencyIssues(), exports2);
  }
});

// ../pkg-manager/core/lib/index.js
var require_lib165 = __commonJS({
  "../pkg-manager/core/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.UnexpectedVirtualStoreDirError = exports2.UnexpectedStoreError = void 0;
    __exportStar2(require_api3(), exports2);
    var UnexpectedStoreError_1 = require_UnexpectedStoreError();
    Object.defineProperty(exports2, "UnexpectedStoreError", { enumerable: true, get: function() {
      return UnexpectedStoreError_1.UnexpectedStoreError;
    } });
    var UnexpectedVirtualStoreDirError_1 = require_UnexpectedVirtualStoreDirError();
    Object.defineProperty(exports2, "UnexpectedVirtualStoreDirError", { enumerable: true, get: function() {
      return UnexpectedVirtualStoreDirError_1.UnexpectedVirtualStoreDirError;
    } });
  }
});

// ../pkg-manager/plugin-commands-installation/lib/errors.js
var require_errors9 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/errors.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.IgnoredBuildsError = void 0;
    var error_1 = require_lib6();
    var IgnoredBuildsError = class extends error_1.PnpmError {
      constructor(ignoredBuilds) {
        super("IGNORED_BUILDS", `Ignored build scripts: ${ignoredBuilds.join(", ")}`, {
          hint: 'Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.'
        });
      }
    };
    exports2.IgnoredBuildsError = IgnoredBuildsError;
  }
});

// ../pkg-manager/plugin-commands-installation/lib/getPinnedVersion.js
var require_getPinnedVersion = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/getPinnedVersion.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPinnedVersion = getPinnedVersion;
    function getPinnedVersion(opts) {
      if (opts.saveExact === true || opts.savePrefix === "")
        return "patch";
      return opts.savePrefix === "~" ? "minor" : "major";
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/getSaveType.js
var require_getSaveType = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/getSaveType.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getSaveType = getSaveType;
    function getSaveType(opts) {
      if (opts.saveDev === true || opts.savePeer)
        return "devDependencies";
      if (opts.saveOptional)
        return "optionalDependencies";
      if (opts.saveProd)
        return "dependencies";
      return void 0;
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/nodeExecPath.js
var require_nodeExecPath = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/nodeExecPath.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNodeExecPath = getNodeExecPath;
    var fs_1 = require("fs");
    var which_1 = __importDefault2(require_lib17());
    async function getNodeExecPath() {
      try {
        const nodeExecPath = await (0, which_1.default)("node");
        return fs_1.promises.realpath(nodeExecPath);
      } catch (err) {
        if (err["code"] !== "ENOENT")
          throw err;
        return process.env.NODE ?? process.execPath;
      }
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/updateWorkspaceDependencies.js
var require_updateWorkspaceDependencies = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/updateWorkspaceDependencies.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.updateToWorkspacePackagesFromManifest = updateToWorkspacePackagesFromManifest;
    exports2.createWorkspaceSpecs = createWorkspaceSpecs;
    var error_1 = require_lib6();
    var parse_wanted_dependency_1 = require_lib22();
    function updateToWorkspacePackagesFromManifest(manifest, include, workspacePackages) {
      const allDeps = {
        ...include.devDependencies ? manifest.devDependencies : {},
        ...include.dependencies ? manifest.dependencies : {},
        ...include.optionalDependencies ? manifest.optionalDependencies : {}
      };
      return Object.keys(allDeps).filter((depName) => workspacePackages.has(depName)).map((depName) => `${depName}@workspace:*`);
    }
    function createWorkspaceSpecs(specs, workspacePackages) {
      return specs.map((spec) => {
        const parsed = (0, parse_wanted_dependency_1.parseWantedDependency)(spec);
        if (!parsed.alias)
          throw new error_1.PnpmError("NO_PKG_NAME_IN_SPEC", `Cannot update/install from workspace through "${spec}"`);
        if (!workspacePackages.has(parsed.alias))
          throw new error_1.PnpmError("WORKSPACE_PACKAGE_NOT_FOUND", `"${parsed.alias}" not found in the workspace`);
        if (!parsed.pref)
          return `${parsed.alias}@workspace:>=0.0.0`;
        if (parsed.pref.startsWith("workspace:"))
          return spec;
        return `${parsed.alias}@workspace:${parsed.pref}`;
      });
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/recursive.js
var require_recursive2 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/recursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.recursive = recursive;
    exports2.matchDependencies = matchDependencies;
    exports2.createMatcher = createMatcher;
    exports2.parseUpdateParam = parseUpdateParam;
    exports2.makeIgnorePatterns = makeIgnorePatterns;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var logger_1 = require_lib();
    var manifest_utils_1 = require_lib32();
    var matcher_1 = require_lib16();
    var plugin_commands_rebuild_1 = require_lib121();
    var pnpmfile_1 = require_lib139();
    var sort_packages_1 = require_lib120();
    var store_connection_manager_1 = require_lib106();
    var core_1 = require_lib165();
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var mem_1 = __importDefault2(require_dist6());
    var p_filter_1 = __importDefault2(require_p_filter());
    var p_limit_12 = __importDefault2(require_p_limit());
    var updateWorkspaceDependencies_1 = require_updateWorkspaceDependencies();
    var getSaveType_1 = require_getSaveType();
    var getPinnedVersion_1 = require_getPinnedVersion();
    var errors_1 = require_errors9();
    async function recursive(allProjects, params, opts, cmdFullName) {
      if (allProjects.length === 0) {
        return false;
      }
      const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
      if (pkgs.length === 0) {
        return false;
      }
      const manifestsByPath = getManifestsByPath(allProjects);
      const throwOnFail = cli_utils_1.throwOnCommandFail.bind(null, `pnpm recursive ${cmdFullName}`);
      const store = opts.storeControllerAndDir ?? await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(allProjects);
      const targetDependenciesField = (0, getSaveType_1.getSaveType)(opts);
      const rootManifestDir = opts.lockfileDir ?? opts.dir;
      const installOpts = Object.assign(opts, {
        ...(0, config_1.getOptionsFromRootManifest)(rootManifestDir, manifestsByPath[rootManifestDir]?.manifest ?? {}),
        allProjects: getAllProjects(manifestsByPath, opts.allProjectsGraph, opts.sort),
        linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1,
        ownLifecycleHooksStdio: "pipe",
        peer: opts.savePeer,
        pruneLockfileImporters: opts.pruneLockfileImporters ?? ((opts.ignoredPackages == null || opts.ignoredPackages.size === 0) && pkgs.length === allProjects.length),
        storeController: store.ctrl,
        storeDir: store.dir,
        targetDependenciesField,
        workspacePackages,
        forceHoistPattern: typeof opts.rawLocalConfig?.["hoist-pattern"] !== "undefined" || typeof opts.rawLocalConfig?.["hoist"] !== "undefined",
        forceShamefullyHoist: typeof opts.rawLocalConfig?.["shamefully-hoist"] !== "undefined"
      });
      const result2 = {};
      const memReadLocalConfig = (0, mem_1.default)(config_1.readLocalConfig);
      const updateToLatest = opts.update && opts.latest;
      const includeDirect = opts.includeDirect ?? {
        dependencies: true,
        devDependencies: true,
        optionalDependencies: true
      };
      let updateMatch;
      if (cmdFullName === "update") {
        if (params.length === 0) {
          const ignoreDeps = manifestsByPath[opts.workspaceDir]?.manifest?.pnpm?.updateConfig?.ignoreDependencies;
          if (ignoreDeps?.length) {
            params = makeIgnorePatterns(ignoreDeps);
          }
        }
        updateMatch = params.length ? createMatcher(params) : null;
      } else {
        updateMatch = null;
      }
      if (opts.lockfileDir && ["add", "install", "remove", "update", "import"].includes(cmdFullName)) {
        let importers = getImporters(opts);
        const calculatedRepositoryRoot = await fs_1.promises.realpath(calculateRepositoryRoot(opts.workspaceDir, importers.map((x) => x.rootDir)));
        const isFromWorkspace = is_subdir_1.default.bind(null, calculatedRepositoryRoot);
        importers = await (0, p_filter_1.default)(importers, async ({ rootDirRealPath }) => isFromWorkspace(rootDirRealPath));
        if (importers.length === 0)
          return true;
        let mutation;
        switch (cmdFullName) {
          case "remove":
            mutation = "uninstallSome";
            break;
          case "import":
            mutation = "install";
            break;
          default:
            mutation = params.length === 0 && !updateToLatest ? "install" : "installSome";
            break;
        }
        const mutatedImporters = [];
        await Promise.all(importers.map(async ({ rootDir }) => {
          const localConfig = await memReadLocalConfig(rootDir);
          const modulesDir = localConfig.modulesDir ?? opts.modulesDir;
          const { manifest } = manifestsByPath[rootDir];
          let currentInput = [...params];
          if (updateMatch != null) {
            currentInput = matchDependencies(updateMatch, manifest, includeDirect);
            if (currentInput.length === 0 && (typeof opts.depth === "undefined" || opts.depth <= 0)) {
              installOpts.pruneLockfileImporters = false;
              return;
            }
          }
          if (updateToLatest && (!params || params.length === 0)) {
            currentInput = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect));
          }
          if (opts.workspace) {
            if (!currentInput || currentInput.length === 0) {
              currentInput = (0, updateWorkspaceDependencies_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages);
            } else {
              currentInput = (0, updateWorkspaceDependencies_1.createWorkspaceSpecs)(currentInput, workspacePackages);
            }
          }
          switch (mutation) {
            case "uninstallSome":
              mutatedImporters.push({
                dependencyNames: currentInput,
                modulesDir,
                mutation,
                rootDir,
                targetDependenciesField
              });
              return;
            case "installSome":
              mutatedImporters.push({
                allowNew: cmdFullName === "install" || cmdFullName === "add",
                dependencySelectors: currentInput,
                modulesDir,
                mutation,
                peer: opts.savePeer,
                pinnedVersion: (0, getPinnedVersion_1.getPinnedVersion)({
                  saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts.saveExact,
                  savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts.savePrefix
                }),
                rootDir,
                targetDependenciesField,
                update: opts.update,
                updateMatching: opts.updateMatching,
                updatePackageManifest: opts.updatePackageManifest,
                updateToLatest: opts.latest
              });
              return;
            case "install":
              mutatedImporters.push({
                modulesDir,
                mutation,
                pruneDirectDependencies: opts.pruneDirectDependencies,
                rootDir,
                update: opts.update,
                updateMatching: opts.updateMatching,
                updatePackageManifest: opts.updatePackageManifest,
                updateToLatest: opts.latest
              });
          }
        }));
        if (!opts.selectedProjectsGraph[opts.workspaceDir] && manifestsByPath[opts.workspaceDir] != null) {
          mutatedImporters.push({
            mutation: "install",
            rootDir: opts.workspaceDir
          });
        }
        if (mutatedImporters.length === 0 && cmdFullName === "update" && opts.depth === 0) {
          throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects.");
        }
        const { updatedProjects: mutatedPkgs, ignoredBuilds } = await (0, core_1.mutateModules)(mutatedImporters, {
          ...installOpts,
          storeController: store.ctrl
        });
        if (opts.save !== false) {
          await Promise.all(mutatedPkgs.map(async ({ originalManifest, manifest, rootDir }) => {
            return manifestsByPath[rootDir].writeProjectManifest(originalManifest ?? manifest);
          }));
        }
        if (opts.strictDepBuilds && ignoredBuilds?.length) {
          throw new errors_1.IgnoredBuildsError(ignoredBuilds);
        }
        return true;
      }
      const pkgPaths = Object.keys(opts.selectedProjectsGraph).sort();
      const limitInstallation = (0, p_limit_12.default)(opts.workspaceConcurrency ?? 4);
      await Promise.all(pkgPaths.map(async (rootDir) => limitInstallation(async () => {
        const hooks = opts.ignorePnpmfile ? {} : (() => {
          const pnpmfileHooks = (0, pnpmfile_1.requireHooks)(rootDir, opts);
          return {
            ...opts.hooks,
            ...pnpmfileHooks,
            afterAllResolved: [...pnpmfileHooks.afterAllResolved ?? [], ...opts.hooks?.afterAllResolved ?? []],
            readPackage: [...pnpmfileHooks.readPackage ?? [], ...opts.hooks?.readPackage ?? []]
          };
        })();
        try {
          if (opts.ignoredPackages?.has(rootDir)) {
            return;
          }
          result2[rootDir] = { status: "running" };
          const { manifest, writeProjectManifest } = manifestsByPath[rootDir];
          let currentInput = [...params];
          if (updateMatch != null) {
            currentInput = matchDependencies(updateMatch, manifest, includeDirect);
            if (currentInput.length === 0)
              return;
          }
          if (updateToLatest && (!params || params.length === 0)) {
            currentInput = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect));
          }
          if (opts.workspace) {
            if (!currentInput || currentInput.length === 0) {
              currentInput = (0, updateWorkspaceDependencies_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages);
            } else {
              currentInput = (0, updateWorkspaceDependencies_1.createWorkspaceSpecs)(currentInput, workspacePackages);
            }
          }
          let action;
          switch (cmdFullName) {
            case "remove":
              action = async (manifest2, opts2) => {
                const mutationResult = await (0, core_1.mutateModules)([
                  {
                    dependencyNames: currentInput,
                    mutation: "uninstallSome",
                    rootDir
                  }
                ], opts2);
                return { updatedManifest: mutationResult.updatedProjects[0].manifest, ignoredBuilds: mutationResult.ignoredBuilds };
              };
              break;
            default:
              action = currentInput.length === 0 ? core_1.install : async (manifest2, opts2) => (0, core_1.addDependenciesToPackage)(manifest2, currentInput, opts2);
              break;
          }
          const localConfig = await memReadLocalConfig(rootDir);
          const { updatedManifest: newManifest, ignoredBuilds } = await action(manifest, {
            ...installOpts,
            ...localConfig,
            ...(0, config_1.getOptionsFromRootManifest)(rootDir, manifest),
            ...opts.allProjectsGraph[rootDir]?.package,
            bin: path_1.default.join(rootDir, "node_modules", ".bin"),
            dir: rootDir,
            hooks,
            ignoreScripts: true,
            pinnedVersion: (0, getPinnedVersion_1.getPinnedVersion)({
              saveExact: typeof localConfig.saveExact === "boolean" ? localConfig.saveExact : opts.saveExact,
              savePrefix: typeof localConfig.savePrefix === "string" ? localConfig.savePrefix : opts.savePrefix
            }),
            rawConfig: {
              ...installOpts.rawConfig,
              ...localConfig
            },
            storeController: store.ctrl
          });
          if (opts.save !== false) {
            await writeProjectManifest(newManifest);
          }
          if (opts.strictDepBuilds && ignoredBuilds?.length) {
            throw new errors_1.IgnoredBuildsError(ignoredBuilds);
          }
          result2[rootDir].status = "passed";
        } catch (err) {
          logger_1.logger.info(err);
          if (!opts.bail) {
            result2[rootDir] = {
              status: "failure",
              error: err,
              message: err.message,
              prefix: rootDir
            };
            return;
          }
          err["prefix"] = rootDir;
          throw err;
        }
      })));
      if (!opts.lockfileOnly && !opts.ignoreScripts && (cmdFullName === "add" || cmdFullName === "install" || cmdFullName === "update")) {
        await plugin_commands_rebuild_1.rebuild.handler({
          ...opts,
          pending: opts.pending === true,
          skipIfHasSideEffectsCache: true
        }, []);
      }
      throwOnFail(result2);
      if (!Object.values(result2).filter(({ status }) => status === "passed").length && cmdFullName === "update" && opts.depth === 0) {
        throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies of any of the projects.");
      }
      return true;
    }
    function calculateRepositoryRoot(workspaceDir, projectDirs) {
      let relativeRepoRoot = ".";
      for (const rootDir of projectDirs) {
        const relativePartRegExp = new RegExp(`^(\\.\\.\\${path_1.default.sep})+`);
        const relativePartMatch = relativePartRegExp.exec(path_1.default.relative(workspaceDir, rootDir));
        if (relativePartMatch != null) {
          const relativePart = relativePartMatch[0];
          if (relativePart.length > relativeRepoRoot.length) {
            relativeRepoRoot = relativePart;
          }
        }
      }
      return path_1.default.resolve(workspaceDir, relativeRepoRoot);
    }
    function matchDependencies(match, manifest, include) {
      const deps = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, include));
      const matchedDeps = [];
      for (const dep of deps) {
        const spec = match(dep);
        if (spec === null)
          continue;
        matchedDeps.push(spec ? `${dep}@${spec}` : dep);
      }
      return matchedDeps;
    }
    function createMatcher(params) {
      const patterns = [];
      const specs = [];
      for (const param of params) {
        const { pattern, versionSpec } = parseUpdateParam(param);
        patterns.push(pattern);
        specs.push(versionSpec ?? "");
      }
      const matcher = (0, matcher_1.createMatcherWithIndex)(patterns);
      return (depName) => {
        const index = matcher(depName);
        if (index === -1)
          return null;
        return specs[index];
      };
    }
    function parseUpdateParam(param) {
      const atIndex = param.indexOf("@", param[0] === "!" ? 2 : 1);
      if (atIndex === -1) {
        return {
          pattern: param,
          versionSpec: void 0
        };
      }
      return {
        pattern: param.slice(0, atIndex),
        versionSpec: param.slice(atIndex + 1)
      };
    }
    function makeIgnorePatterns(ignoredDependencies) {
      return ignoredDependencies.map((depName) => `!${depName}`);
    }
    function getAllProjects(manifestsByPath, allProjectsGraph, sort) {
      const chunks = sort !== false ? (0, sort_packages_1.sortPackages)(allProjectsGraph) : [Object.keys(allProjectsGraph).sort()];
      return chunks.map((prefixes, buildIndex) => prefixes.map((rootDir) => {
        const { rootDirRealPath, modulesDir } = allProjectsGraph[rootDir].package;
        return {
          buildIndex,
          manifest: manifestsByPath[rootDir].manifest,
          rootDir,
          rootDirRealPath,
          modulesDir
        };
      })).flat();
    }
    function getManifestsByPath(projects) {
      const manifestsByPath = {};
      for (const { rootDir, manifest, writeProjectManifest } of projects) {
        manifestsByPath[rootDir] = { manifest, writeProjectManifest };
      }
      return manifestsByPath;
    }
    function getImporters(opts) {
      let rootDirs = Object.keys(opts.selectedProjectsGraph);
      if (opts.ignoredPackages != null) {
        rootDirs = rootDirs.filter((rootDir) => !opts.ignoredPackages.has(rootDir));
      }
      return rootDirs.map((rootDir) => ({ rootDir, rootDirRealPath: opts.selectedProjectsGraph[rootDir].package.rootDirRealPath }));
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/installConfigDeps.js
var require_installConfigDeps = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/installConfigDeps.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.installConfigDeps = installConfigDeps;
    var path_1 = __importDefault2(require("path"));
    var get_npm_tarball_url_1 = __importDefault2(require_lib116());
    var error_1 = require_lib6();
    var pick_registry_for_package_1 = require_lib91();
    var read_modules_dir_1 = require_lib71();
    var rimraf_1 = __importDefault2(require_rimraf());
    var read_package_json_1 = require_lib50();
    async function installConfigDeps(configDeps, opts) {
      const configModulesDir = path_1.default.join(opts.rootDir, "node_modules/.pnpm-config");
      const existingConfigDeps = await (0, read_modules_dir_1.readModulesDir)(configModulesDir) ?? [];
      await Promise.all(existingConfigDeps.map(async (existingConfigDep) => {
        if (!configDeps[existingConfigDep]) {
          await (0, rimraf_1.default)(path_1.default.join(configModulesDir, existingConfigDep));
        }
      }));
      await Promise.all(Object.entries(configDeps).map(async ([pkgName, pkgSpec]) => {
        const configDepPath = path_1.default.join(configModulesDir, pkgName);
        const sepIndex = pkgSpec.indexOf("+");
        if (sepIndex === -1) {
          throw new error_1.PnpmError("CONFIG_DEP_NO_INTEGRITY", `Your config dependency called "${pkgName}" at "pnpm.configDependencies" doesn't have an integrity checksum`, {
            hint: `All config dependencies should have their integrity checksum inlined in the version specifier. For example:

{
  "pnpm": {
    "configDependencies": {
      "my-config": "1.0.0+sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q=="
    },
  }
}`
          });
        }
        const version2 = pkgSpec.substring(0, sepIndex);
        const integrity = pkgSpec.substring(sepIndex + 1);
        if (existingConfigDeps.includes(pkgName)) {
          const configDepPkgJson = await (0, read_package_json_1.safeReadPackageJsonFromDir)(configDepPath);
          if (configDepPkgJson == null || configDepPkgJson.name !== pkgName || configDepPkgJson.version !== version2) {
            await (0, rimraf_1.default)(configDepPath);
          }
        }
        const registry = (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkgName);
        const { fetching } = await opts.store.fetchPackage({
          force: true,
          lockfileDir: opts.rootDir,
          pkg: {
            id: `${pkgName}@${version2}`,
            resolution: {
              tarball: (0, get_npm_tarball_url_1.default)(pkgName, version2, { registry }),
              integrity
            }
          }
        });
        const { files: filesResponse } = await fetching();
        await opts.store.importPackage(configDepPath, {
          force: true,
          requiresBuild: false,
          filesResponse
        });
      }));
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/installDeps.js
var require_installDeps = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/installDeps.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.installDeps = installDeps;
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var deps_status_1 = require_lib141();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var filter_workspace_packages_1 = require_lib46();
    var manifest_utils_1 = require_lib32();
    var workspace_find_packages_1 = require_lib35();
    var plugin_commands_rebuild_1 = require_lib121();
    var pnpmfile_1 = require_lib139();
    var store_connection_manager_1 = require_lib106();
    var core_1 = require_lib165();
    var logger_1 = require_lib();
    var sort_packages_1 = require_lib120();
    var workspace_pkgs_graph_1 = require_lib45();
    var workspace_state_1 = require_lib140();
    var is_subdir_1 = __importDefault2(require_is_subdir());
    var errors_1 = require_errors9();
    var getPinnedVersion_1 = require_getPinnedVersion();
    var getSaveType_1 = require_getSaveType();
    var nodeExecPath_1 = require_nodeExecPath();
    var recursive_1 = require_recursive2();
    var updateWorkspaceDependencies_1 = require_updateWorkspaceDependencies();
    var installConfigDeps_1 = require_installConfigDeps();
    var OVERWRITE_UPDATE_OPTIONS = {
      allowNew: true,
      update: false
    };
    async function installDeps(opts, params) {
      if (!opts.update && !opts.dedupe && params.length === 0 && opts.optimisticRepeatInstall) {
        const { upToDate } = await (0, deps_status_1.checkDepsStatus)({
          ...opts,
          ignoreFilteredInstallCache: true
        });
        if (upToDate) {
          (0, logger_1.globalInfo)("Already up to date");
          return;
        }
      }
      if (opts.workspace) {
        if (opts.latest) {
          throw new error_1.PnpmError("BAD_OPTIONS", "Cannot use --latest with --workspace simultaneously");
        }
        if (!opts.workspaceDir) {
          throw new error_1.PnpmError("WORKSPACE_OPTION_OUTSIDE_WORKSPACE", "--workspace can only be used inside a workspace");
        }
        if (!opts.linkWorkspacePackages && !opts.saveWorkspaceProtocol) {
          if (opts.rawLocalConfig["save-workspace-protocol"] === false) {
            throw new error_1.PnpmError("BAD_OPTIONS", "This workspace has link-workspace-packages turned off, so dependencies are linked from the workspace only when the workspace protocol is used. Either set link-workspace-packages to true or don't use the --no-save-workspace-protocol option when running add/update with the --workspace option");
          } else {
            opts.saveWorkspaceProtocol = true;
          }
        }
        opts["preserveWorkspaceProtocol"] = !opts.linkWorkspacePackages;
      }
      let store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      if (opts.configDependencies) {
        await (0, installConfigDeps_1.installConfigDeps)(opts.configDependencies, {
          registries: opts.registries,
          rootDir: opts.lockfileDir ?? opts.rootProjectManifestDir,
          store: store.ctrl
        });
      }
      if (!opts.ignorePnpmfile && !opts.hooks) {
        opts.hooks = (0, pnpmfile_1.requireHooks)(opts.lockfileDir ?? opts.dir, opts);
        if (opts.hooks.fetchers != null || opts.hooks.importPackage != null) {
          store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
        }
      }
      const includeDirect = opts.includeDirect ?? {
        dependencies: true,
        devDependencies: true,
        optionalDependencies: true
      };
      const forceHoistPattern = typeof opts.rawLocalConfig["hoist-pattern"] !== "undefined" || typeof opts.rawLocalConfig["hoist"] !== "undefined";
      const forcePublicHoistPattern = typeof opts.rawLocalConfig["shamefully-hoist"] !== "undefined" || typeof opts.rawLocalConfig["public-hoist-pattern"] !== "undefined";
      const allProjects = opts.allProjects ?? (opts.workspaceDir ? await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns }) : []);
      if (opts.workspaceDir) {
        const selectedProjectsGraph = opts.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts.dir);
        if (selectedProjectsGraph != null) {
          const sequencedGraph = (0, sort_packages_1.sequenceGraph)(selectedProjectsGraph);
          if (!opts.ignoreWorkspaceCycles && !sequencedGraph.safe) {
            const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : "";
            if (opts.disallowWorkspaceCycles) {
              throw new error_1.PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`);
            }
            logger_1.logger.warn({
              message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`,
              prefix: opts.workspaceDir
            });
          }
          const allProjectsGraph = opts.allProjectsGraph ?? (0, workspace_pkgs_graph_1.createPkgGraph)(allProjects, {
            linkWorkspacePackages: Boolean(opts.linkWorkspacePackages)
          }).graph;
          await recursiveInstallThenUpdateWorkspaceState(allProjects, params, {
            ...opts,
            ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}),
            forceHoistPattern,
            forcePublicHoistPattern,
            allProjectsGraph,
            selectedProjectsGraph,
            storeControllerAndDir: store,
            workspaceDir: opts.workspaceDir
          }, opts.update ? "update" : params.length === 0 ? "install" : "add");
          return;
        }
      }
      params = params.filter(Boolean);
      const dir = opts.dir || process.cwd();
      let workspacePackages;
      if (opts.workspaceDir) {
        workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(allProjects);
      }
      let { manifest, writeProjectManifest } = await (0, cli_utils_1.tryReadProjectManifest)(opts.dir, opts);
      if (manifest === null) {
        if (opts.update === true || params.length === 0) {
          throw new error_1.PnpmError("NO_PKG_MANIFEST", `No package.json found in ${opts.dir}`);
        }
        manifest = {};
      }
      const installOpts = {
        ...opts,
        ...(0, config_1.getOptionsFromRootManifest)(opts.dir, opts.dir === opts.rootProjectManifestDir ? opts.rootProjectManifest ?? manifest : manifest),
        forceHoistPattern,
        forcePublicHoistPattern,
        // In case installation is done in a multi-package repository
        // The dependencies should be built first,
        // so ignoring scripts for now
        ignoreScripts: !!workspacePackages || opts.ignoreScripts,
        linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1,
        sideEffectsCacheRead: opts.sideEffectsCache ?? opts.sideEffectsCacheReadonly,
        sideEffectsCacheWrite: opts.sideEffectsCache,
        storeController: store.ctrl,
        storeDir: store.dir,
        workspacePackages
      };
      if (opts.global && opts.pnpmHomeDir != null) {
        const nodeExecPath = await (0, nodeExecPath_1.getNodeExecPath)();
        if ((0, is_subdir_1.default)(opts.pnpmHomeDir, nodeExecPath)) {
          installOpts["nodeExecPath"] = nodeExecPath;
        }
      }
      let updateMatch;
      if (opts.update) {
        if (params.length === 0) {
          const ignoreDeps = manifest.pnpm?.updateConfig?.ignoreDependencies;
          if (ignoreDeps?.length) {
            params = (0, recursive_1.makeIgnorePatterns)(ignoreDeps);
          }
        }
        updateMatch = params.length ? (0, recursive_1.createMatcher)(params) : null;
      } else {
        updateMatch = null;
      }
      if (updateMatch != null) {
        params = (0, recursive_1.matchDependencies)(updateMatch, manifest, includeDirect);
        if (params.length === 0) {
          if (opts.latest)
            return;
          if (opts.depth === 0) {
            throw new error_1.PnpmError("NO_PACKAGE_IN_DEPENDENCIES", "None of the specified packages were found in the dependencies.");
          }
        }
      }
      if (opts.update && opts.latest && (!params || params.length === 0)) {
        params = Object.keys((0, manifest_utils_1.filterDependenciesByType)(manifest, includeDirect));
      }
      if (opts.workspace) {
        if (!params || params.length === 0) {
          params = (0, updateWorkspaceDependencies_1.updateToWorkspacePackagesFromManifest)(manifest, includeDirect, workspacePackages);
        } else {
          params = (0, updateWorkspaceDependencies_1.createWorkspaceSpecs)(params, workspacePackages);
        }
      }
      if (params?.length) {
        const mutatedProject = {
          allowNew: opts.allowNew,
          binsDir: opts.bin,
          dependencySelectors: params,
          manifest,
          mutation: "installSome",
          peer: opts.savePeer,
          pinnedVersion: (0, getPinnedVersion_1.getPinnedVersion)(opts),
          rootDir: opts.dir,
          targetDependenciesField: (0, getSaveType_1.getSaveType)(opts)
        };
        const { updatedProject, ignoredBuilds: ignoredBuilds2 } = await (0, core_1.mutateModulesInSingleProject)(mutatedProject, installOpts);
        if (opts.save !== false) {
          await writeProjectManifest(updatedProject.manifest);
        }
        if (!opts.lockfileOnly) {
          await (0, workspace_state_1.updateWorkspaceState)({
            allProjects,
            settings: opts,
            workspaceDir: opts.workspaceDir ?? opts.lockfileDir ?? opts.dir,
            pnpmfileExists: opts.hooks?.calculatePnpmfileChecksum != null,
            filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length,
            configDependencies: opts.configDependencies
          });
        }
        if (opts.strictDepBuilds && ignoredBuilds2?.length) {
          throw new errors_1.IgnoredBuildsError(ignoredBuilds2);
        }
        return;
      }
      const { updatedManifest, ignoredBuilds } = await (0, core_1.install)(manifest, installOpts);
      if (opts.update === true && opts.save !== false) {
        await writeProjectManifest(updatedManifest);
      }
      if (opts.strictDepBuilds && ignoredBuilds?.length) {
        throw new errors_1.IgnoredBuildsError(ignoredBuilds);
      }
      if (opts.linkWorkspacePackages && opts.workspaceDir) {
        const { selectedProjectsGraph } = await (0, filter_workspace_packages_1.filterPkgsBySelectorObjects)(allProjects, [
          {
            excludeSelf: true,
            includeDependencies: true,
            parentDir: dir
          }
        ], {
          workspaceDir: opts.workspaceDir
        });
        await recursiveInstallThenUpdateWorkspaceState(allProjects, [], {
          ...opts,
          ...OVERWRITE_UPDATE_OPTIONS,
          allProjectsGraph: opts.allProjectsGraph,
          selectedProjectsGraph,
          workspaceDir: opts.workspaceDir
          // Otherwise TypeScript doesn't understand that is not undefined
        }, "install");
        if (opts.ignoreScripts)
          return;
        await (0, plugin_commands_rebuild_1.rebuildProjects)([
          {
            buildIndex: 0,
            manifest: await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts),
            rootDir: opts.dir
          }
        ], {
          ...opts,
          pending: true,
          storeController: store.ctrl,
          storeDir: store.dir,
          skipIfHasSideEffectsCache: true
        });
      } else {
        if (!opts.lockfileOnly) {
          await (0, workspace_state_1.updateWorkspaceState)({
            allProjects,
            settings: opts,
            workspaceDir: opts.workspaceDir ?? opts.lockfileDir ?? opts.dir,
            pnpmfileExists: opts.hooks?.calculatePnpmfileChecksum != null,
            filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length,
            configDependencies: opts.configDependencies
          });
        }
      }
    }
    function selectProjectByDir(projects, searchedDir) {
      const project = projects.find(({ rootDir }) => path_1.default.relative(rootDir, searchedDir) === "");
      if (project == null)
        return void 0;
      return { [searchedDir]: { dependencies: [], package: project } };
    }
    async function recursiveInstallThenUpdateWorkspaceState(allProjects, params, opts, cmdFullName) {
      const recursiveResult = await (0, recursive_1.recursive)(allProjects, params, opts, cmdFullName);
      if (!opts.lockfileOnly) {
        await (0, workspace_state_1.updateWorkspaceState)({
          allProjects,
          settings: opts,
          workspaceDir: opts.workspaceDir,
          pnpmfileExists: opts.hooks?.calculatePnpmfileChecksum != null,
          filteredInstall: allProjects.length !== Object.keys(opts.selectedProjectsGraph ?? {}).length,
          configDependencies: opts.configDependencies
        });
      }
      return recursiveResult;
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/add.js
var require_add2 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/add.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var plugin_commands_env_1 = require_lib82();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var createProjectManifestWriter_1 = require_createProjectManifestWriter();
    var installDeps_1 = require_installDeps();
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "cache-dir",
        "child-concurrency",
        "engine-strict",
        "fetch-retries",
        "fetch-retry-factor",
        "fetch-retry-maxtimeout",
        "fetch-retry-mintimeout",
        "fetch-timeout",
        "force",
        "global-bin-dir",
        "global-dir",
        "global-pnpmfile",
        "global",
        "hoist",
        "hoist-pattern",
        "https-proxy",
        "ignore-pnpmfile",
        "ignore-scripts",
        "ignore-workspace-root-check",
        "link-workspace-packages",
        "lockfile-dir",
        "lockfile-directory",
        "lockfile-only",
        "lockfile",
        "modules-dir",
        "network-concurrency",
        "node-linker",
        "noproxy",
        "npm-path",
        "package-import-method",
        "pnpmfile",
        "prefer-offline",
        "production",
        "proxy",
        "public-hoist-pattern",
        "registry",
        "reporter",
        "save-dev",
        "save-exact",
        "save-optional",
        "save-peer",
        "save-prefix",
        "save-prod",
        "save-workspace-protocol",
        "shamefully-flatten",
        "shamefully-hoist",
        "shared-workspace-lockfile",
        "side-effects-cache-readonly",
        "side-effects-cache",
        "store-dir",
        "strict-peer-dependencies",
        "unsafe-perm",
        "offline",
        "only",
        "optional",
        "use-running-store-server",
        "use-store-server",
        "verify-store-integrity",
        "virtual-store-dir"
      ], config_1.types);
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        "allow-build": [String, Array],
        recursive: Boolean,
        save: Boolean,
        workspace: Boolean
      };
    }
    exports2.commandNames = ["add"];
    function help() {
      return (0, render_help_1.default)({
        description: "Installs a package and any packages that it depends on.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Save package to your `dependencies`. The default behavior",
                name: "--save-prod",
                shortAlias: "-P"
              },
              {
                description: "Save package to your `devDependencies`",
                name: "--save-dev",
                shortAlias: "-D"
              },
              {
                description: "Save package to your `optionalDependencies`",
                name: "--save-optional",
                shortAlias: "-O"
              },
              {
                description: "Save package to your `peerDependencies` and `devDependencies`",
                name: "--save-peer"
              },
              {
                description: "Install exact version",
                name: "--[no-]save-exact",
                shortAlias: "-E"
              },
              {
                description: 'Save packages from the workspace with a "workspace:" protocol. True by default',
                name: "--[no-]save-workspace-protocol"
              },
              {
                description: "Install as a global package",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: 'Run installation recursively in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Only adds the new dependency if it is found in the workspace",
                name: "--workspace"
              },
              common_cli_options_help_1.OPTIONS.ignoreScripts,
              common_cli_options_help_1.OPTIONS.offline,
              common_cli_options_help_1.OPTIONS.preferOffline,
              common_cli_options_help_1.OPTIONS.storeDir,
              common_cli_options_help_1.OPTIONS.virtualStoreDir,
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS,
              {
                description: "A list of package names that are allowed to run postinstall scripts during installation",
                name: "--allow-build"
              }
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("add"),
        usages: [
          "pnpm add <name>",
          "pnpm add <name>@<tag>",
          "pnpm add <name>@<version>",
          "pnpm add <name>@<version range>",
          "pnpm add <git host>:<git user>/<repo name>",
          "pnpm add <git repo url>",
          "pnpm add <tarball file>",
          "pnpm add <tarball url>",
          "pnpm add <dir>"
        ]
      });
    }
    async function handler(opts, params) {
      if (opts.cliOptions["save"] === false) {
        throw new error_1.PnpmError("OPTION_NOT_SUPPORTED", 'The "add" command currently does not support the no-save option');
      }
      if (!params || params.length === 0) {
        throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm add` requires the package name");
      }
      if (!opts.recursive && opts.workspaceDir === opts.dir && !opts.ignoreWorkspaceRootCheck && !opts.workspaceRoot && opts.workspacePackagePatterns && opts.workspacePackagePatterns.length > 1) {
        throw new error_1.PnpmError("ADDING_TO_ROOT", "Running this command will add the dependency to the workspace root, which might not be what you want - if you really meant it, make it explicit by running this command again with the -w flag (or --workspace-root). If you don't want to see this warning anymore, you may set the ignore-workspace-root-check setting to true.");
      }
      if (opts.global) {
        if (!opts.bin) {
          throw new error_1.PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", {
            hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.'
          });
        }
        if (params.includes("pnpm") || params.includes("@pnpm/exe")) {
          throw new error_1.PnpmError("GLOBAL_PNPM_INSTALL", 'Use the "pnpm self-update" command to install or update pnpm');
        }
      }
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      if (opts.allowBuild?.length) {
        if (opts.rootProjectManifest?.pnpm?.ignoredBuiltDependencies?.length) {
          const overlapDependencies = opts.rootProjectManifest.pnpm.ignoredBuiltDependencies.filter((dep) => opts.allowBuild?.includes(dep));
          if (overlapDependencies.length) {
            throw new error_1.PnpmError("OVERRIDING_IGNORED_BUILT_DEPENDENCIES", `The following dependencies are ignored by the root project, but are allowed to be built by the current command: ${overlapDependencies.join(", ")}`, {
              hint: "If you are sure you want to allow those dependencies to run installation scripts, remove them from the pnpm.ignoredBuiltDependencies list."
            });
          }
        }
        opts.onlyBuiltDependencies = Array.from(/* @__PURE__ */ new Set([
          ...opts.onlyBuiltDependencies ?? [],
          ...opts.allowBuild
        ])).sort((a, b) => a.localeCompare(b));
        if (opts.rootProjectManifestDir) {
          opts.rootProjectManifest = opts.rootProjectManifest ?? {};
          opts.rootProjectManifest.pnpm = opts.rootProjectManifest.pnpm ?? {};
          opts.rootProjectManifest.pnpm.onlyBuiltDependencies = opts.onlyBuiltDependencies;
          const writeProjectManifest = await (0, createProjectManifestWriter_1.createProjectManifestWriter)(opts.rootProjectManifestDir);
          await writeProjectManifest(opts.rootProjectManifest);
        }
      }
      return (0, installDeps_1.installDeps)({
        ...opts,
        include,
        includeDirect: include,
        prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts)
      }, params);
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/ci.js
var require_ci = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/ci.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var error_1 = require_lib6();
    var render_help_1 = __importDefault2(require_lib47());
    var rcOptionsTypes = () => ({});
    exports2.rcOptionsTypes = rcOptionsTypes;
    var cliOptionsTypes = () => ({});
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {};
    exports2.commandNames = ["ci", "clean-install", "ic", "install-clean"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["clean-install", "ic", "install-clean"],
        description: "Clean install a project",
        descriptionLists: [],
        url: (0, cli_utils_1.docsUrl)("ci"),
        usages: ["pnpm ci"]
      });
    }
    async function handler(opts) {
      throw new error_1.PnpmError("CI_NOT_IMPLEMENTED", "The ci command is not implemented yet");
    }
  }
});

// ../dedupe/check/lib/DedupeCheckIssuesError.js
var require_DedupeCheckIssuesError = __commonJS({
  "../dedupe/check/lib/DedupeCheckIssuesError.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DedupeCheckIssuesError = void 0;
    var error_1 = require_lib6();
    var DedupeCheckIssuesError = class extends error_1.PnpmError {
      constructor(dedupeCheckIssues) {
        super("DEDUPE_CHECK_ISSUES", "Dedupe --check found changes to the lockfile");
        this.dedupeCheckIssues = dedupeCheckIssues;
      }
    };
    exports2.DedupeCheckIssuesError = DedupeCheckIssuesError;
  }
});

// ../dedupe/check/lib/dedupeDiffCheck.js
var require_dedupeDiffCheck = __commonJS({
  "../dedupe/check/lib/dedupeDiffCheck.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.dedupeDiffCheck = dedupeDiffCheck;
    exports2.countChangedSnapshots = countChangedSnapshots;
    var types_1 = require_lib31();
    var DedupeCheckIssuesError_1 = require_DedupeCheckIssuesError();
    var PACKAGE_SNAPSHOT_DEP_FIELDS = ["dependencies", "optionalDependencies"];
    function dedupeDiffCheck(prev, next) {
      const issues = {
        importerIssuesByImporterId: diffSnapshots(prev.importers, next.importers, types_1.DEPENDENCIES_FIELDS),
        packageIssuesByDepPath: diffSnapshots(prev.packages ?? {}, next.packages ?? {}, PACKAGE_SNAPSHOT_DEP_FIELDS)
      };
      const changesCount = countChangedSnapshots(issues.importerIssuesByImporterId) + countChangedSnapshots(issues.packageIssuesByDepPath);
      if (changesCount > 0) {
        throw new DedupeCheckIssuesError_1.DedupeCheckIssuesError(issues);
      }
    }
    function diffSnapshots(prev, next, fields) {
      const removed = [];
      const updated = {};
      for (const [id, prevSnapshot] of Object.entries(prev)) {
        const nextSnapshot = next[id];
        if (nextSnapshot == null) {
          removed.push(id);
          continue;
        }
        const updates = {};
        for (const dependencyField of fields) {
          Object.assign(updates, getResolutionUpdates(prevSnapshot[dependencyField] ?? {}, nextSnapshot[dependencyField] ?? {}));
        }
        if (Object.keys(updates).length > 0) {
          updated[id] = updates;
        }
      }
      const added = Object.keys(next).filter((id) => prev[id] == null);
      return { added, removed, updated };
    }
    function getResolutionUpdates(prev, next) {
      const updates = {};
      for (const [alias, prevResolution] of Object.entries(prev)) {
        const nextResolution = next[alias];
        if (prevResolution === nextResolution) {
          continue;
        }
        updates[alias] = nextResolution == null ? { type: "removed", prev: prevResolution } : { type: "updated", prev: prevResolution, next: nextResolution };
      }
      const newAliases = Object.entries(next).filter(([alias]) => prev[alias] == null);
      for (const [alias, nextResolution] of newAliases) {
        updates[alias] = { type: "added", next: nextResolution };
      }
      return updates;
    }
    function countChangedSnapshots(snapshotChanges) {
      return snapshotChanges.added.length + snapshotChanges.removed.length + Object.keys(snapshotChanges.updated).length;
    }
  }
});

// ../dedupe/check/lib/index.js
var require_lib166 = __commonJS({
  "../dedupe/check/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DedupeCheckIssuesError = exports2.countChangedSnapshots = exports2.dedupeDiffCheck = void 0;
    var dedupeDiffCheck_1 = require_dedupeDiffCheck();
    Object.defineProperty(exports2, "dedupeDiffCheck", { enumerable: true, get: function() {
      return dedupeDiffCheck_1.dedupeDiffCheck;
    } });
    Object.defineProperty(exports2, "countChangedSnapshots", { enumerable: true, get: function() {
      return dedupeDiffCheck_1.countChangedSnapshots;
    } });
    var DedupeCheckIssuesError_1 = require_DedupeCheckIssuesError();
    Object.defineProperty(exports2, "DedupeCheckIssuesError", { enumerable: true, get: function() {
      return DedupeCheckIssuesError_1.DedupeCheckIssuesError;
    } });
  }
});

// ../pkg-manager/plugin-commands-installation/lib/install.js
var require_install2 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/install.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var constants_1 = require_lib5();
    var plugin_commands_env_1 = require_lib82();
    var ci_info_1 = require_ci_info();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var installDeps_1 = require_installDeps();
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "cache-dir",
        "child-concurrency",
        "dev",
        "engine-strict",
        "fetch-retries",
        "fetch-retry-factor",
        "fetch-retry-maxtimeout",
        "fetch-retry-mintimeout",
        "fetch-timeout",
        "frozen-lockfile",
        "global-dir",
        "global-pnpmfile",
        "global",
        "hoist",
        "hoist-pattern",
        "https-proxy",
        "ignore-pnpmfile",
        "ignore-scripts",
        "optimistic-repeat-install",
        "link-workspace-packages",
        "lockfile-dir",
        "lockfile-directory",
        "lockfile-only",
        "lockfile",
        "merge-git-branch-lockfiles",
        "merge-git-branch-lockfiles-branch-pattern",
        "modules-dir",
        "network-concurrency",
        "node-linker",
        "noproxy",
        "package-import-method",
        "pnpmfile",
        "prefer-frozen-lockfile",
        "prefer-offline",
        "production",
        "proxy",
        "public-hoist-pattern",
        "registry",
        "reporter",
        "save-workspace-protocol",
        "scripts-prepend-node-path",
        "shamefully-flatten",
        "shamefully-hoist",
        "shared-workspace-lockfile",
        "side-effects-cache-readonly",
        "side-effects-cache",
        "store-dir",
        "strict-peer-dependencies",
        "offline",
        "only",
        "optional",
        "unsafe-perm",
        "use-running-store-server",
        "use-store-server",
        "verify-store-integrity",
        "virtual-store-dir"
      ], config_1.types);
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      ...(0, pick_1.default)(["force"], config_1.types),
      "fix-lockfile": Boolean,
      "resolution-only": Boolean,
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["install", "i"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["i"],
        description: "Installs all dependencies of the project in the current working directory. When executed inside a workspace, installs all dependencies of all projects.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Run installation recursively in every package found in subdirectories. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              common_cli_options_help_1.OPTIONS.ignoreScripts,
              common_cli_options_help_1.OPTIONS.offline,
              common_cli_options_help_1.OPTIONS.preferOffline,
              common_cli_options_help_1.OPTIONS.globalDir,
              {
                description: "Packages in `devDependencies` won't be installed",
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: "Only `devDependencies` are installed",
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: "Skip reinstall if the workspace state is up-to-date",
                name: "--optimistic-repeat-install"
              },
              {
                description: "`optionalDependencies` are not installed",
                name: "--no-optional"
              },
              {
                description: `Don't read or generate a \`${constants_1.WANTED_LOCKFILE}\` file`,
                name: "--no-lockfile"
              },
              {
                description: `Dependencies are not downloaded. Only \`${constants_1.WANTED_LOCKFILE}\` is updated`,
                name: "--lockfile-only"
              },
              {
                description: "Don't generate a lockfile and fail if an update is needed. This setting is on by default in CI environments, so use --no-frozen-lockfile if you need to disable it for some reason",
                name: "--[no-]frozen-lockfile"
              },
              {
                description: `If the available \`${constants_1.WANTED_LOCKFILE}\` satisfies the \`package.json\` then perform a headless installation`,
                name: "--prefer-frozen-lockfile"
              },
              {
                description: `The directory in which the ${constants_1.WANTED_LOCKFILE} of the package will be created. Several projects may share a single lockfile.`,
                name: "--lockfile-dir <dir>"
              },
              {
                description: "Fix broken lockfile entries automatically",
                name: "--fix-lockfile"
              },
              {
                description: "Merge lockfiles were generated on git branch",
                name: "--merge-git-branch-lockfiles"
              },
              {
                description: "The directory in which dependencies will be installed (instead of node_modules)",
                name: "--modules-dir <dir>"
              },
              {
                description: "Dependencies inside the modules directory will have access only to their listed dependencies",
                name: "--no-hoist"
              },
              {
                description: "All the subdeps will be hoisted into the root node_modules. Your code will have access to them",
                name: "--shamefully-hoist"
              },
              {
                description: "Hoist all dependencies matching the pattern to `node_modules/.pnpm/node_modules`. The default pattern is * and matches everything. Hoisted packages can be required by any dependencies, so it is an emulation of a flat node_modules",
                name: "--hoist-pattern <pattern>"
              },
              {
                description: "Hoist all dependencies matching the pattern to the root of the modules directory",
                name: "--public-hoist-pattern <pattern>"
              },
              common_cli_options_help_1.OPTIONS.storeDir,
              common_cli_options_help_1.OPTIONS.virtualStoreDir,
              {
                description: "Maximum number of concurrent network requests",
                name: "--network-concurrency <number>"
              },
              {
                description: "Controls the number of child processes run parallelly to build node modules",
                name: "--child-concurrency <number>"
              },
              {
                description: "Disable pnpm hooks defined in .pnpmfile.cjs",
                name: "--ignore-pnpmfile"
              },
              {
                description: "Ignore pnpm-workspace.yaml if exists in the parent directory, and treat the installation as normal non-workspace installation.",
                name: "--ignore-workspace"
              },
              {
                description: "If false, doesn't check whether packages in the store were mutated",
                name: "--[no-]verify-store-integrity"
              },
              {
                description: "Fail on missing or invalid peer dependencies",
                name: "--strict-peer-dependencies"
              },
              {
                description: "Starts a store server in the background. The store server will keep running after installation is done. To stop the store server, run `pnpm server stop`",
                name: "--use-store-server"
              },
              {
                description: "Only allows installation with a store server. If no store server is running, installation will fail",
                name: "--use-running-store-server"
              },
              {
                description: "Clones/hardlinks or copies packages. The selected method depends from the file system",
                name: "--package-import-method auto"
              },
              {
                description: "Hardlink packages from the store",
                name: "--package-import-method hardlink"
              },
              {
                description: "Copy packages from the store",
                name: "--package-import-method copy"
              },
              {
                description: "Clone (aka copy-on-write) packages from the store",
                name: "--package-import-method clone"
              },
              {
                description: "Force reinstall dependencies: refetch packages modified in store, recreate a lockfile and/or modules directory created by a non-compatible version of pnpm. Install all optionalDependencies even they don't satisfy the current environment(cpu, os, arch)",
                name: "--force"
              },
              {
                description: "Use or cache the results of (pre/post)install hooks",
                name: "--side-effects-cache"
              },
              {
                description: "Only use the side effects cache if present, do not create it for new packages",
                name: "--side-effects-cache-readonly"
              },
              {
                description: "Re-runs resolution: useful for printing out peer dependency issues",
                name: "--resolution-only"
              },
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.OUTPUT_OPTIONS,
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("install"),
        usages: ["pnpm install [options]"]
      });
    }
    async function handler(opts) {
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      const fetchFullMetadata = opts.rootProjectManifest?.pnpm?.supportedArchitectures?.libc && true;
      const installDepsOptions = {
        ...opts,
        frozenLockfileIfExists: opts.frozenLockfileIfExists ?? (ci_info_1.isCI && !opts.lockfileOnly && typeof opts.rawLocalConfig["frozen-lockfile"] === "undefined" && typeof opts.rawLocalConfig["prefer-frozen-lockfile"] === "undefined"),
        include,
        includeDirect: include,
        prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts),
        fetchFullMetadata
      };
      if (opts.resolutionOnly) {
        installDepsOptions.lockfileOnly = true;
        installDepsOptions.forceFullResolution = true;
      }
      return (0, installDeps_1.installDeps)(installDepsOptions, []);
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/dedupe.js
var require_dedupe = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/dedupe.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var dedupe_check_1 = require_lib166();
    var plugin_commands_env_1 = require_lib82();
    var render_help_1 = __importDefault2(require_lib47());
    var install_1 = require_install2();
    var installDeps_1 = require_installDeps();
    var omit_1 = __importDefault2(require_omit());
    function rcOptionsTypes() {
      return (0, omit_1.default)(["frozen-lockfile"], (0, install_1.rcOptionsTypes)());
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        check: Boolean
      };
    }
    exports2.commandNames = ["dedupe"];
    function help() {
      return (0, render_help_1.default)({
        description: "Perform an install removing older dependencies in the lockfile if a newer version can be used.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS,
              {
                description: "Check if running dedupe would result in changes without installing packages or editing the lockfile. Exits with a non-zero status code if changes are possible.",
                name: "--check"
              },
              common_cli_options_help_1.OPTIONS.ignoreScripts,
              common_cli_options_help_1.OPTIONS.offline,
              common_cli_options_help_1.OPTIONS.preferOffline,
              common_cli_options_help_1.OPTIONS.storeDir,
              common_cli_options_help_1.OPTIONS.virtualStoreDir,
              common_cli_options_help_1.OPTIONS.globalDir
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("dedupe"),
        usages: ["pnpm dedupe"]
      });
    }
    async function handler(opts) {
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      return (0, installDeps_1.installDeps)({
        ...opts,
        dedupe: true,
        include,
        includeDirect: include,
        lockfileCheck: opts.check ? dedupe_check_1.dedupeDiffCheck : void 0,
        prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts)
      }, []);
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/fetch.js
var require_fetch3 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/fetch.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var store_connection_manager_1 = require_lib106();
    var core_1 = require_lib165();
    var render_help_1 = __importDefault2(require_lib47());
    var install_1 = require_install2();
    Object.defineProperty(exports2, "cliOptionsTypes", { enumerable: true, get: function() {
      return install_1.cliOptionsTypes;
    } });
    exports2.rcOptionsTypes = install_1.cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["fetch"];
    function help() {
      return (0, render_help_1.default)({
        description: "Fetch packages from a lockfile into virtual store, package manifest is ignored. WARNING! This is an experimental command. Breaking changes may be introduced in non-major versions of the CLI",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Only development packages will be fetched",
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: "Development packages will not be fetched",
                name: "--prod",
                shortAlias: "-P"
              },
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("fetch"),
        usages: ["pnpm fetch [--dev | --prod]"]
      });
    }
    async function handler(opts) {
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        // when including optional deps, production is also required when perform headless install
        optionalDependencies: opts.production !== false
      };
      await (0, core_1.mutateModulesInSingleProject)({
        manifest: {},
        mutation: "install",
        pruneDirectDependencies: true,
        rootDir: process.cwd()
      }, {
        ...opts,
        ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}),
        ignorePackageManifest: true,
        include,
        modulesCacheMaxAge: 0,
        pruneStore: true,
        storeController: store.ctrl,
        storeDir: store.dir
      });
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/link.js
var require_link3 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/link.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var types_1 = require_lib31();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var workspace_find_packages_1 = require_lib35();
    var logger_1 = require_lib();
    var pick_1 = __importDefault2(require_pick());
    var partition_1 = __importDefault2(require_partition4());
    var render_help_1 = __importDefault2(require_lib47());
    var createProjectManifestWriter_1 = require_createProjectManifestWriter();
    var getSaveType_1 = require_getSaveType();
    var install = __importStar3(require_install2());
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var isWindows = process.platform === "win32" || global["FAKE_WINDOWS"];
    var isFilespec = isWindows ? /^(?:[./\\]|~\/|[a-z]:)/i : /^(?:[./]|~\/|[a-z]:)/i;
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)([
        "global-dir",
        "global",
        "only",
        "package-import-method",
        "production",
        "registry",
        "reporter",
        "save-dev",
        "save-exact",
        "save-optional",
        "save-prefix",
        "unsafe-perm"
      ], config_1.types);
    }
    exports2.commandNames = ["link", "ln"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["ln"],
        descriptionLists: [
          {
            title: "Options",
            list: common_cli_options_help_1.UNIVERSAL_OPTIONS
          }
        ],
        url: (0, cli_utils_1.docsUrl)("link"),
        usages: [
          "pnpm link <dir|pkg name>",
          "pnpm link"
        ]
      });
    }
    async function checkPeerDeps(linkCwdDir, opts) {
      const { manifest } = await (0, cli_utils_1.tryReadProjectManifest)(linkCwdDir, opts);
      if (manifest?.peerDependencies && Object.keys(manifest.peerDependencies).length > 0) {
        const packageName = manifest.name ?? path_1.default.basename(linkCwdDir);
        const peerDeps = Object.entries(manifest.peerDependencies).map(([key, value]) => `  - ${key}@${String(value)}`).join(", ");
        logger_1.logger.warn({
          message: `The package ${packageName}, which you have just pnpm linked, has the following peerDependencies specified in its package.json:

${peerDeps}

The linked in dependency will not resolve the peer dependencies from the target node_modules.
This might cause issues in your project. To resolve this, you may use the "file:" protocol to reference the local dependency.`,
          prefix: opts.dir
        });
      }
    }
    async function handler(opts, params) {
      let workspacePackagesArr;
      let workspacePackages;
      if (opts.workspaceDir) {
        workspacePackagesArr = await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, {
          ...opts,
          patterns: opts.workspacePackagePatterns
        });
        workspacePackages = (0, get_context_1.arrayOfWorkspacePackagesToMap)(workspacePackagesArr);
      } else {
        workspacePackages = /* @__PURE__ */ new Map();
      }
      const linkOpts = Object.assign(opts, {
        targetDependenciesField: (0, getSaveType_1.getSaveType)(opts),
        workspacePackages,
        binsDir: opts.bin
      });
      if (opts.cliOptions?.global && !opts.bin) {
        throw new error_1.PnpmError("NO_GLOBAL_BIN_DIR", "Unable to find the global bin directory", {
          hint: 'Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.'
        });
      }
      const writeProjectManifest = await (0, createProjectManifestWriter_1.createProjectManifestWriter)(opts.rootProjectManifestDir);
      if (params == null || params.length === 0) {
        const cwd = process.cwd();
        if (path_1.default.relative(linkOpts.dir, cwd) === "") {
          throw new error_1.PnpmError("LINK_BAD_PARAMS", "You must provide a parameter");
        }
        await checkPeerDeps(cwd, opts);
        const newManifest2 = opts.rootProjectManifest ?? {};
        await addLinkToManifest(opts, newManifest2, cwd, opts.rootProjectManifestDir);
        await writeProjectManifest(newManifest2);
        await install.handler({
          ...linkOpts,
          frozenLockfileIfExists: false,
          rootProjectManifest: newManifest2
        });
        return;
      }
      const [pkgPaths, pkgNames] = (0, partition_1.default)((inp) => isFilespec.test(inp), params);
      pkgNames.forEach((pkgName) => pkgPaths.push(path_1.default.join(opts.globalPkgDir, "node_modules", pkgName)));
      const newManifest = opts.rootProjectManifest ?? {};
      await Promise.all(pkgPaths.map(async (dir) => {
        await addLinkToManifest(opts, newManifest, dir, opts.rootProjectManifestDir);
        await checkPeerDeps(dir, opts);
      }));
      await writeProjectManifest(newManifest);
      await install.handler({
        ...linkOpts,
        frozenLockfileIfExists: false,
        rootProjectManifest: newManifest
      });
    }
    async function addLinkToManifest(opts, manifest, linkedDepDir, manifestDir) {
      if (!manifest.pnpm) {
        manifest.pnpm = {
          overrides: {}
        };
      } else if (!manifest.pnpm.overrides) {
        manifest.pnpm.overrides = {};
      }
      const { manifest: linkedManifest } = await (0, cli_utils_1.tryReadProjectManifest)(linkedDepDir, opts);
      const linkedPkgName = linkedManifest?.name ?? path_1.default.basename(linkedDepDir);
      const linkedPkgSpec = `link:${(0, normalize_path_1.default)(path_1.default.relative(manifestDir, linkedDepDir))}`;
      manifest.pnpm.overrides[linkedPkgName] = linkedPkgSpec;
      if (types_1.DEPENDENCIES_FIELDS.every((depField) => manifest[depField]?.[linkedPkgName] == null)) {
        manifest.dependencies = manifest.dependencies ?? {};
        manifest.dependencies[linkedPkgName] = linkedPkgSpec;
      }
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/prune.js
var require_prune3 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/prune.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var install = __importStar3(require_install2());
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)([
        "dev",
        "optional",
        "production",
        "ignore-scripts"
      ], config_1.types);
    }
    exports2.commandNames = ["prune"];
    function help() {
      return (0, render_help_1.default)({
        description: "Removes extraneous packages",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Remove the packages specified in `devDependencies`",
                name: "--prod"
              },
              {
                description: "Remove the packages specified in `optionalDependencies`",
                name: "--no-optional"
              },
              common_cli_options_help_1.OPTIONS.ignoreScripts,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("prune"),
        usages: ["pnpm prune [--prod]"]
      });
    }
    async function handler(opts) {
      return install.handler({
        ...opts,
        modulesCacheMaxAge: 0,
        pruneDirectDependencies: true,
        pruneStore: true
      });
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/remove.js
var require_remove3 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/remove.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.completion = exports2.commandNames = exports2.cliOptionsTypes = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var get_context_1 = require_lib115();
    var workspace_find_packages_1 = require_lib35();
    var manifest_utils_1 = require_lib32();
    var store_connection_manager_1 = require_lib106();
    var core_1 = require_lib165();
    var pnpmfile_1 = require_lib139();
    var pick_1 = __importDefault2(require_pick());
    var without_1 = __importDefault2(require_without());
    var render_help_1 = __importDefault2(require_lib47());
    var getSaveType_1 = require_getSaveType();
    var recursive_1 = require_recursive2();
    var installConfigDeps_1 = require_installConfigDeps();
    var RemoveMissingDepsError = class extends error_1.PnpmError {
      constructor(opts) {
        let message = "Cannot remove ";
        message += `${opts.nonMatchedDependencies.map((dep) => `'${dep}'`).join(", ")}: `;
        if (opts.availableDependencies.length > 0) {
          message += `no such ${opts.nonMatchedDependencies.length > 1 ? "dependencies" : "dependency"} `;
          message += `found${opts.targetDependenciesField ? ` in '${opts.targetDependenciesField}'` : ""}`;
          const hint = `Available dependencies: ${opts.availableDependencies.join(", ")}`;
          super("CANNOT_REMOVE_MISSING_DEPS", message, { hint });
          return;
        }
        message += opts.targetDependenciesField ? `project has no '${opts.targetDependenciesField}'` : "project has no dependencies of any kind";
        super("CANNOT_REMOVE_MISSING_DEPS", message);
      }
    };
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "cache-dir",
        "global-dir",
        "global-pnpmfile",
        "global",
        "lockfile-dir",
        "lockfile-directory",
        "lockfile-only",
        "lockfile",
        "node-linker",
        "package-import-method",
        "pnpmfile",
        "reporter",
        "save-dev",
        "save-optional",
        "save-prod",
        "shared-workspace-lockfile",
        "store-dir",
        "strict-peer-dependencies",
        "virtual-store-dir"
      ], config_1.types);
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      ...(0, pick_1.default)(["force"], config_1.types),
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    function help() {
      return (0, render_help_1.default)({
        aliases: ["rm", "uninstall", "un"],
        description: "Removes packages from `node_modules` and from the project's `package.json`.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Remove from every package found in subdirectories or from every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: 'Remove the dependency only from "devDependencies"',
                name: "--save-dev",
                shortAlias: "-D"
              },
              {
                description: 'Remove the dependency only from "optionalDependencies"',
                name: "--save-optional",
                shortAlias: "-O"
              },
              {
                description: 'Remove the dependency only from "dependencies"',
                name: "--save-prod",
                shortAlias: "-P"
              },
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("remove"),
        usages: ["pnpm remove <pkg>[@<version>]..."]
      });
    }
    exports2.commandNames = ["remove", "uninstall", "rm", "un", "uni"];
    var completion = async (cliOpts) => {
      return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir);
    };
    exports2.completion = completion;
    async function handler(opts, params) {
      if (params.length === 0)
        throw new error_1.PnpmError("MUST_REMOVE_SOMETHING", "At least one dependency name should be specified for removal");
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      let store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      if (opts.configDependencies) {
        await (0, installConfigDeps_1.installConfigDeps)(opts.configDependencies, {
          registries: opts.registries,
          rootDir: opts.lockfileDir ?? opts.rootProjectManifestDir,
          store: store.ctrl
        });
      }
      if (!opts.ignorePnpmfile) {
        opts.hooks = (0, pnpmfile_1.requireHooks)(opts.lockfileDir ?? opts.dir, opts);
        if (opts.hooks.fetchers != null || opts.hooks.importPackage != null) {
          store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
        }
      }
      if (opts.recursive && opts.allProjects != null && opts.selectedProjectsGraph != null && opts.workspaceDir) {
        await (0, recursive_1.recursive)(opts.allProjects, params, {
          ...opts,
          allProjectsGraph: opts.allProjectsGraph,
          include,
          selectedProjectsGraph: opts.selectedProjectsGraph,
          storeControllerAndDir: store,
          workspaceDir: opts.workspaceDir
        }, "remove");
        return;
      }
      const removeOpts = Object.assign(opts, {
        ...(0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}),
        linkWorkspacePackagesDepth: opts.linkWorkspacePackages === "deep" ? Infinity : opts.linkWorkspacePackages ? 0 : -1,
        storeController: store.ctrl,
        storeDir: store.dir,
        include
      });
      removeOpts["workspacePackages"] = opts.workspaceDir ? (0, get_context_1.arrayOfWorkspacePackagesToMap)(await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, { ...opts, patterns: opts.workspacePackagePatterns })) : void 0;
      const targetDependenciesField = (0, getSaveType_1.getSaveType)(opts);
      const { manifest: currentManifest, writeProjectManifest } = await (0, cli_utils_1.readProjectManifest)(opts.dir, opts);
      const availableDependencies = Object.keys(targetDependenciesField === void 0 ? (0, manifest_utils_1.getAllDependenciesFromManifest)(currentManifest) : currentManifest[targetDependenciesField] ?? {});
      const nonMatchedDependencies = (0, without_1.default)(availableDependencies, params);
      if (nonMatchedDependencies.length !== 0) {
        throw new RemoveMissingDepsError({
          availableDependencies,
          nonMatchedDependencies,
          targetDependenciesField
        });
      }
      const mutationResult = await (0, core_1.mutateModulesInSingleProject)({
        binsDir: opts.bin,
        dependencyNames: params,
        manifest: currentManifest,
        mutation: "uninstallSome",
        rootDir: opts.dir,
        targetDependenciesField
      }, removeOpts);
      await writeProjectManifest(mutationResult.updatedProject.manifest);
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/unlink.js
var require_unlink = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/unlink.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = exports2.cliOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var render_help_1 = __importDefault2(require_lib47());
    var createProjectManifestWriter_1 = require_createProjectManifestWriter();
    var install = __importStar3(require_install2());
    exports2.cliOptionsTypes = install.cliOptionsTypes;
    exports2.rcOptionsTypes = install.rcOptionsTypes;
    exports2.commandNames = ["unlink", "dislink"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["dislink"],
        description: "Removes the link created by `pnpm link` and reinstalls package if it is saved in `package.json`",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Unlink in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("unlink"),
        usages: [
          "pnpm unlink (in package dir)",
          "pnpm unlink <pkg>..."
        ]
      });
    }
    async function handler(opts, params) {
      if (!opts.rootProjectManifest?.pnpm?.overrides)
        return "Nothing to unlink";
      if (!params || params.length === 0) {
        for (const selector in opts.rootProjectManifest.pnpm.overrides) {
          if (opts.rootProjectManifest.pnpm.overrides[selector].startsWith("link:")) {
            delete opts.rootProjectManifest.pnpm.overrides[selector];
          }
        }
      } else {
        for (const selector in opts.rootProjectManifest.pnpm.overrides) {
          if (opts.rootProjectManifest.pnpm.overrides[selector].startsWith("link:") && params.includes(selector)) {
            delete opts.rootProjectManifest.pnpm.overrides[selector];
          }
        }
      }
      const writeProjectManifest = await (0, createProjectManifestWriter_1.createProjectManifestWriter)(opts.rootProjectManifestDir);
      await writeProjectManifest(opts.rootProjectManifest);
      await install.handler(opts);
      return void 0;
    }
  }
});

// ../reviewing/outdated/lib/createManifestGetter.js
var require_createManifestGetter = __commonJS({
  "../reviewing/outdated/lib/createManifestGetter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createManifestGetter = createManifestGetter;
    exports2.getManifest = getManifest;
    var client_1 = require_lib90();
    var pick_registry_for_package_1 = require_lib91();
    function createManifestGetter(opts) {
      const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig });
      return getManifest.bind(null, resolve, opts);
    }
    async function getManifest(resolve, opts, packageName, pref) {
      const resolution = await resolve({ alias: packageName, pref }, {
        lockfileDir: opts.lockfileDir,
        preferredVersions: {},
        projectDir: opts.dir,
        registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, packageName, pref)
      });
      return resolution?.manifest ?? null;
    }
  }
});

// ../reviewing/outdated/lib/outdated.js
var require_outdated = __commonJS({
  "../reviewing/outdated/lib/outdated.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __exportStar2 = exports2 && exports2.__exportStar || function(m, exports3) {
      for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding3(exports3, m, p);
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.outdated = outdated;
    var catalogs_resolver_1 = require_lib24();
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var lockfile_fs_1 = require_lib112();
    var lockfile_utils_1 = require_lib117();
    var manifest_utils_1 = require_lib32();
    var npm_resolver_1 = require_lib44();
    var pick_registry_for_package_1 = require_lib91();
    var types_1 = require_lib31();
    var dp = __importStar3(require_lib98());
    var semver_12 = __importDefault2(require_semver2());
    var matcher_1 = require_lib16();
    var hooks_read_package_hook_1 = require_lib164();
    var parse_overrides_1 = require_lib25();
    __exportStar2(require_createManifestGetter(), exports2);
    async function outdated(opts) {
      if (packageHasNoDeps(opts.manifest))
        return [];
      if (opts.wantedLockfile == null) {
        throw new error_1.PnpmError("OUTDATED_NO_LOCKFILE", `No lockfile in directory "${opts.lockfileDir}". Run \`pnpm install\` to generate one.`);
      }
      async function getOverriddenManifest() {
        const overrides = opts.currentLockfile?.overrides ?? opts.wantedLockfile?.overrides;
        if (overrides) {
          const readPackageHook = (0, hooks_read_package_hook_1.createReadPackageHook)({
            lockfileDir: opts.lockfileDir,
            overrides: (0, parse_overrides_1.parseOverrides)(overrides, opts.catalogs ?? {})
          });
          const manifest = await readPackageHook?.(opts.manifest, opts.lockfileDir);
          if (manifest)
            return manifest;
        }
        return opts.manifest;
      }
      const allDeps = (0, manifest_utils_1.getAllDependenciesFromManifest)(await getOverriddenManifest());
      const importerId = (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir, opts.prefix);
      const currentLockfile = opts.currentLockfile ?? { lockfileVersion: constants_1.LOCKFILE_VERSION, importers: { [importerId]: { specifiers: {} } } };
      const outdated2 = [];
      const ignoreDependenciesMatcher = opts.ignoreDependencies?.length ? (0, matcher_1.createMatcher)(opts.ignoreDependencies) : void 0;
      await Promise.all(types_1.DEPENDENCIES_FIELDS.map(async (depType) => {
        if (opts.include?.[depType] === false || opts.wantedLockfile.importers[importerId][depType] == null)
          return;
        let pkgs = Object.keys(opts.wantedLockfile.importers[importerId][depType]);
        if (opts.match != null) {
          pkgs = pkgs.filter((pkgName) => opts.match(pkgName));
        }
        const _replaceCatalogProtocolIfNecessary = replaceCatalogProtocolIfNecessary.bind(null, opts.catalogs ?? {});
        await Promise.all(pkgs.map(async (alias) => {
          if (!allDeps[alias])
            return;
          const ref = opts.wantedLockfile.importers[importerId][depType][alias];
          if (ref.startsWith("file:") || // ignoring linked packages. (For backward compatibility)
          ignoreDependenciesMatcher?.(alias)) {
            return;
          }
          const relativeDepPath = dp.refToRelative(ref, alias);
          if (relativeDepPath === null)
            return;
          const pkgSnapshot = opts.wantedLockfile.packages?.[relativeDepPath];
          if (pkgSnapshot == null) {
            throw new Error(`Invalid ${constants_1.WANTED_LOCKFILE} file. ${relativeDepPath} not found in packages field`);
          }
          const currentRef = currentLockfile.importers[importerId]?.[depType]?.[alias];
          const currentRelative = currentRef && dp.refToRelative(currentRef, alias);
          const current = (currentRelative && dp.parse(currentRelative).version) ?? currentRef;
          const wanted = dp.parse(relativeDepPath).version ?? ref;
          const { name: packageName } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(relativeDepPath, pkgSnapshot);
          const name = dp.parse(relativeDepPath).name ?? packageName;
          const pref = _replaceCatalogProtocolIfNecessary({ alias, pref: allDeps[alias] });
          if ((0, npm_resolver_1.parsePref)(pref, alias, "latest", (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, name)) == null) {
            if (current !== wanted) {
              outdated2.push({
                alias,
                belongsTo: depType,
                current,
                latestManifest: void 0,
                packageName,
                wanted,
                workspace: opts.manifest.name
              });
            }
            return;
          }
          const latestManifest = await opts.getLatestManifest(name, opts.compatible ? pref ?? "latest" : "latest");
          if (latestManifest == null)
            return;
          if (!current) {
            outdated2.push({
              alias,
              belongsTo: depType,
              latestManifest,
              packageName,
              wanted,
              workspace: opts.manifest.name
            });
            return;
          }
          if (current !== wanted || semver_12.default.lt(current, latestManifest.version) || latestManifest.deprecated) {
            outdated2.push({
              alias,
              belongsTo: depType,
              current,
              latestManifest,
              packageName,
              wanted,
              workspace: opts.manifest.name
            });
          }
        }));
      }));
      return outdated2.sort((pkg1, pkg2) => pkg1.packageName.localeCompare(pkg2.packageName));
    }
    function packageHasNoDeps(manifest) {
      return (manifest.dependencies == null || isEmpty(manifest.dependencies)) && (manifest.devDependencies == null || isEmpty(manifest.devDependencies)) && (manifest.optionalDependencies == null || isEmpty(manifest.optionalDependencies));
    }
    function isEmpty(obj) {
      return Object.keys(obj).length === 0;
    }
    function replaceCatalogProtocolIfNecessary(catalogs, wantedDependency) {
      return (0, catalogs_resolver_1.matchCatalogResolveResult)((0, catalogs_resolver_1.resolveFromCatalog)(catalogs, wantedDependency), {
        unused: () => wantedDependency.pref,
        found: (found) => found.resolution.specifier,
        misconfiguration: (misconfiguration) => {
          throw misconfiguration.error;
        }
      });
    }
  }
});

// ../reviewing/outdated/lib/outdatedDepsOfProjects.js
var require_outdatedDepsOfProjects = __commonJS({
  "../reviewing/outdated/lib/outdatedDepsOfProjects.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.outdatedDepsOfProjects = outdatedDepsOfProjects;
    var path_1 = __importDefault2(require("path"));
    var lockfile_fs_1 = require_lib112();
    var matcher_1 = require_lib16();
    var modules_yaml_1 = require_lib95();
    var unnest_1 = __importDefault2(require_unnest());
    var createManifestGetter_1 = require_createManifestGetter();
    var outdated_1 = require_outdated();
    async function outdatedDepsOfProjects(pkgs, args, opts) {
      if (!opts.lockfileDir) {
        return (0, unnest_1.default)(await Promise.all(pkgs.map(async (pkg) => outdatedDepsOfProjects([pkg], args, { ...opts, lockfileDir: pkg.rootDir }))));
      }
      const lockfileDir = opts.lockfileDir ?? opts.dir;
      const modules = await (0, modules_yaml_1.readModulesManifest)(path_1.default.join(lockfileDir, "node_modules"));
      const virtualStoreDir = modules?.virtualStoreDir ?? path_1.default.join(lockfileDir, "node_modules/.pnpm");
      const currentLockfile = await (0, lockfile_fs_1.readCurrentLockfile)(virtualStoreDir, { ignoreIncompatible: false });
      const wantedLockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: false }) ?? currentLockfile;
      const getLatestManifest = (0, createManifestGetter_1.createManifestGetter)({
        ...opts,
        fullMetadata: opts.fullMetadata === true,
        lockfileDir
      });
      return Promise.all(pkgs.map(async ({ rootDir, manifest }) => {
        const match = args.length > 0 && (0, matcher_1.createMatcher)(args) || void 0;
        return (0, outdated_1.outdated)({
          catalogs: opts.catalogs,
          compatible: opts.compatible,
          currentLockfile,
          getLatestManifest,
          ignoreDependencies: opts.ignoreDependencies,
          include: opts.include,
          lockfileDir,
          manifest,
          match,
          prefix: rootDir,
          registries: opts.registries,
          wantedLockfile
        });
      }));
    }
  }
});

// ../reviewing/outdated/lib/index.js
var require_lib167 = __commonJS({
  "../reviewing/outdated/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.outdatedDepsOfProjects = void 0;
    var outdatedDepsOfProjects_1 = require_outdatedDepsOfProjects();
    Object.defineProperty(exports2, "outdatedDepsOfProjects", { enumerable: true, get: function() {
      return outdatedDepsOfProjects_1.outdatedDepsOfProjects;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+colorize-semver-diff@1.0.1/node_modules/@pnpm/colorize-semver-diff/lib/index.js
var require_lib168 = __commonJS({
  "../node_modules/.pnpm/@pnpm+colorize-semver-diff@1.0.1/node_modules/@pnpm/colorize-semver-diff/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var chalk = require_source();
    var DIFF_COLORS = {
      feature: chalk.yellowBright.bold,
      fix: chalk.greenBright.bold
    };
    function colorizeSemverDiff(semverDiff) {
      var _a;
      if (!semverDiff) {
        throw new TypeError("semverDiff must be defined");
      }
      if (typeof semverDiff.change !== "string") {
        throw new TypeError("semverDiff.change must be defined");
      }
      const highlight = (_a = DIFF_COLORS[semverDiff.change]) !== null && _a !== void 0 ? _a : chalk.redBright.bold;
      const same = joinVersionTuples(semverDiff.diff[0], 0);
      const other = highlight(joinVersionTuples(semverDiff.diff[1], semverDiff.diff[0].length));
      if (!same)
        return other;
      if (!other) {
        return same;
      }
      return semverDiff.diff[0].length === 3 ? `${same}-${other}` : `${same}.${other}`;
    }
    exports2.default = colorizeSemverDiff;
    function joinVersionTuples(versionTuples, startIndex) {
      const neededForSemver = 3 - startIndex;
      if (versionTuples.length <= neededForSemver || neededForSemver <= 0) {
        return versionTuples.join(".");
      }
      return `${versionTuples.slice(0, neededForSemver).join(".")}-${versionTuples.slice(neededForSemver).join(".")}`;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+semver-diff@1.1.0/node_modules/@pnpm/semver-diff/lib/index.js
var require_lib169 = __commonJS({
  "../node_modules/.pnpm/@pnpm+semver-diff@1.1.0/node_modules/@pnpm/semver-diff/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    var SEMVER_CHANGE_BY_TUPLE_NUMBER = ["breaking", "feature", "fix"];
    function semverDiff(version1, version2) {
      if (version1 === version2) {
        return {
          change: null,
          diff: [parseVersion(version1), []]
        };
      }
      const [version1Prefix, version1Semver] = parsePrefix(version1);
      const [version2Prefix, version2Semver] = parsePrefix(version2);
      if (version1Prefix !== version2Prefix) {
        const { change: change2 } = semverDiff(version1Semver, version2Semver);
        return {
          change: change2,
          diff: [[], parseVersion(version2)]
        };
      }
      const version1Tuples = parseVersion(version1);
      const version2Tuples = parseVersion(version2);
      const same = [];
      let change = "unknown";
      const maxTuples = Math.max(version1Tuples.length, version2Tuples.length);
      let unstable = version1Tuples[0] === "0" || version2Tuples[0] === "0" || maxTuples > 3;
      for (let i = 0; i < maxTuples; i++) {
        if (version1Tuples[i] === version2Tuples[i]) {
          same.push(version1Tuples[i]);
          continue;
        }
        if (unstable === false) {
          change = SEMVER_CHANGE_BY_TUPLE_NUMBER[i] || "unknown";
        }
        return {
          change,
          diff: [same, version2Tuples.slice(i)]
        };
      }
      return {
        change,
        diff: [same, []]
      };
    }
    exports2.default = semverDiff;
    function parsePrefix(version2) {
      if (version2.startsWith("~") || version2.startsWith("^")) {
        return [version2[0], version2.substr(1)];
      }
      return ["", version2];
    }
    function parseVersion(version2) {
      const dashIndex = version2.indexOf("-");
      let normalVersion;
      let prereleaseVersion;
      if (dashIndex === -1) {
        normalVersion = version2;
      } else {
        normalVersion = version2.substr(0, dashIndex);
        prereleaseVersion = version2.substr(dashIndex + 1);
      }
      return [
        ...normalVersion.split("."),
        ...typeof prereleaseVersion !== "undefined" ? prereleaseVersion.split(".") : []
      ];
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/update/getUpdateChoices.js
var require_getUpdateChoices = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/update/getUpdateChoices.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getUpdateChoices = getUpdateChoices;
    var colorize_semver_diff_1 = __importDefault2(require_lib168());
    var semver_diff_1 = __importDefault2(require_lib169());
    var table_1 = require_src4();
    var ramda_1 = require_src5();
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    function getUpdateChoices(outdatedPkgsOfProjects, workspacesEnabled) {
      if ((0, isEmpty_1.default)(outdatedPkgsOfProjects)) {
        return [];
      }
      const pkgUniqueKey = (outdatedPkg) => {
        return JSON.stringify([outdatedPkg.packageName, outdatedPkg.latestManifest?.version, outdatedPkg.current]);
      };
      const dedupeAndGroupPkgs = (0, ramda_1.pipe)((0, ramda_1.uniqBy)((outdatedPkg) => pkgUniqueKey(outdatedPkg)), (0, ramda_1.groupBy)((outdatedPkg) => outdatedPkg.belongsTo));
      const groupPkgsByType = dedupeAndGroupPkgs(outdatedPkgsOfProjects);
      const headerRow = {
        Package: true,
        Current: true,
        " ": true,
        Target: true,
        Workspace: workspacesEnabled,
        URL: true
      };
      const header = Object.keys((0, ramda_1.pickBy)(ramda_1.and, headerRow));
      const finalChoices = [];
      for (const [depGroup, choiceRows] of Object.entries(groupPkgsByType)) {
        if (choiceRows.length === 0)
          continue;
        const rawChoices = [];
        for (const choice of choiceRows) {
          if (choice.latestManifest?.version !== choice.current) {
            rawChoices.push(buildPkgChoice(choice, workspacesEnabled));
          }
        }
        if (rawChoices.length === 0)
          continue;
        rawChoices.unshift({
          raw: header,
          name: "",
          disabled: true
        });
        const renderedTable = alignColumns((0, ramda_1.pluck)("raw", rawChoices)).filter(Boolean);
        const choices = rawChoices.map((outdatedPkg, i) => {
          if (i === 0) {
            return {
              name: renderedTable[i],
              value: "",
              disabled: true,
              hint: ""
            };
          }
          return {
            name: outdatedPkg.name,
            message: renderedTable[i],
            value: outdatedPkg.name
          };
        });
        finalChoices.push({ name: `[${depGroup}]`, choices, message: depGroup });
      }
      return finalChoices;
    }
    function buildPkgChoice(outdatedPkg, workspacesEnabled) {
      const sdiff = (0, semver_diff_1.default)(outdatedPkg.wanted, outdatedPkg.latestManifest.version);
      const nextVersion = sdiff.change === null ? outdatedPkg.latestManifest.version : (0, colorize_semver_diff_1.default)(sdiff);
      const label = outdatedPkg.packageName;
      const lineParts = {
        label,
        current: outdatedPkg.current,
        arrow: "\u276F",
        nextVersion,
        workspace: outdatedPkg.workspace,
        url: getPkgUrl(outdatedPkg)
      };
      if (!workspacesEnabled) {
        delete lineParts.workspace;
      }
      return {
        raw: Object.values(lineParts),
        name: outdatedPkg.packageName
      };
    }
    function getPkgUrl(pkg) {
      if (pkg.latestManifest?.homepage) {
        return pkg.latestManifest?.homepage;
      }
      if (typeof pkg.latestManifest?.repository !== "string") {
        if (pkg.latestManifest?.repository?.url) {
          return pkg.latestManifest?.repository?.url;
        }
      }
      return "";
    }
    function alignColumns(rows) {
      return (0, table_1.table)(rows, {
        border: (0, table_1.getBorderCharacters)("void"),
        columnDefault: {
          paddingLeft: 0,
          paddingRight: 1,
          wrapWord: true
        },
        columns: {
          0: { width: 50, truncate: 100 },
          1: { width: 15, alignment: "right" },
          3: { width: 15 },
          4: { paddingLeft: 2 },
          5: { paddingLeft: 2 }
        },
        drawHorizontalLine: () => false
      }).split("\n");
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/update/index.js
var require_update3 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/update/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.completion = exports2.commandNames = exports2.shorthands = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var logger_1 = require_lib();
    var matcher_1 = require_lib16();
    var outdated_1 = require_lib167();
    var error_1 = require_lib6();
    var plugin_commands_env_1 = require_lib82();
    var enquirer_1 = require_enquirer();
    var chalk_1 = __importDefault2(require_source());
    var pick_1 = __importDefault2(require_pick());
    var pluck_1 = __importDefault2(require_pluck2());
    var unnest_1 = __importDefault2(require_unnest());
    var render_help_1 = __importDefault2(require_lib47());
    var installDeps_1 = require_installDeps();
    var getUpdateChoices_1 = require_getUpdateChoices();
    var recursive_1 = require_recursive2();
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "cache-dir",
        "depth",
        "dev",
        "engine-strict",
        "fetch-retries",
        "fetch-retry-factor",
        "fetch-retry-maxtimeout",
        "fetch-retry-mintimeout",
        "fetch-timeout",
        "force",
        "global-dir",
        "global-pnpmfile",
        "global",
        "https-proxy",
        "ignore-pnpmfile",
        "ignore-scripts",
        "lockfile-dir",
        "lockfile-directory",
        "lockfile-only",
        "lockfile",
        "lockfile-include-tarball-url",
        "network-concurrency",
        "noproxy",
        "npm-path",
        "offline",
        "only",
        "optional",
        "package-import-method",
        "pnpmfile",
        "prefer-offline",
        "production",
        "proxy",
        "registry",
        "reporter",
        "save",
        "save-exact",
        "save-prefix",
        "save-workspace-protocol",
        "scripts-prepend-node-path",
        "shamefully-flatten",
        "shamefully-hoist",
        "shared-workspace-lockfile",
        "side-effects-cache-readonly",
        "side-effects-cache",
        "store-dir",
        "unsafe-perm",
        "use-running-store-server"
      ], config_1.types);
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        interactive: Boolean,
        latest: Boolean,
        recursive: Boolean,
        workspace: Boolean
      };
    }
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["update", "up", "upgrade"];
    var completion = async (cliOpts) => {
      return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir);
    };
    exports2.completion = completion;
    function help() {
      return (0, render_help_1.default)({
        aliases: ["up", "upgrade"],
        description: 'Updates packages to their latest version based on the specified range. You can use "*" in package name to update all packages with the same pattern.',
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Update in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Update globally installed packages",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: "How deep should levels of dependencies be inspected. Infinity is default. 0 would mean top-level dependencies only",
                name: "--depth <number>"
              },
              {
                description: "Ignore version ranges in package.json",
                name: "--latest",
                shortAlias: "-L"
              },
              {
                description: 'Update packages only in "dependencies" and "optionalDependencies"',
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: 'Update packages only in "devDependencies"',
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: `Don't update packages in "optionalDependencies"`,
                name: "--no-optional"
              },
              {
                description: "Tries to link all packages from the workspace. Versions are updated to match the versions of packages inside the workspace. If specific packages are updated, the command will fail if any of the updated dependencies is not found inside the workspace",
                name: "--workspace"
              },
              {
                description: "Show outdated dependencies and select which ones to update",
                name: "--interactive",
                shortAlias: "-i"
              },
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("update"),
        usages: ["pnpm update [-g] [<pkg>...]"]
      });
    }
    async function handler(opts, params = []) {
      if (opts.global && opts.rootProjectManifest == null) {
        return "No global packages found";
      }
      if (opts.interactive) {
        return interactiveUpdate(params, opts);
      }
      return update(params, opts);
    }
    async function interactiveUpdate(input, opts) {
      const include = makeIncludeDependenciesFromCLI(opts.cliOptions);
      const projects = opts.selectedProjectsGraph != null ? Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package) : [
        {
          rootDir: opts.dir,
          manifest: await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts)
        }
      ];
      const rootDir = opts.workspaceDir ?? opts.dir;
      const rootProject = projects.find((project) => project.rootDir === rootDir);
      const outdatedPkgsOfProjects = await (0, outdated_1.outdatedDepsOfProjects)(projects, input, {
        ...opts,
        compatible: opts.latest !== true,
        ignoreDependencies: rootProject?.manifest?.pnpm?.updateConfig?.ignoreDependencies,
        include,
        retry: {
          factor: opts.fetchRetryFactor,
          maxTimeout: opts.fetchRetryMaxtimeout,
          minTimeout: opts.fetchRetryMintimeout,
          retries: opts.fetchRetries
        },
        timeout: opts.fetchTimeout
      });
      const workspacesEnabled = !!opts.workspaceDir;
      const choices = (0, getUpdateChoices_1.getUpdateChoices)((0, unnest_1.default)(outdatedPkgsOfProjects), workspacesEnabled);
      if (choices.length === 0) {
        if (opts.latest) {
          return "All of your dependencies are already up to date";
        }
        return "All of your dependencies are already up to date inside the specified ranges. Use the --latest option to update the ranges in package.json";
      }
      const { updateDependencies } = await (0, enquirer_1.prompt)({
        choices,
        footer: "\nEnter to start updating. Ctrl-c to cancel.",
        indicator(state, choice) {
          return ` ${choice.enabled ? "\u25CF" : "\u25CB"}`;
        },
        message: `Choose which packages to update (Press ${chalk_1.default.cyan("<space>")} to select, ${chalk_1.default.cyan("<a>")} to toggle all, ${chalk_1.default.cyan("<i>")} to invert selection)`,
        name: "updateDependencies",
        pointer: "\u276F",
        result() {
          return this.selected;
        },
        format() {
          if (!this.state.submitted || this.state.cancelled)
            return "";
          if (Array.isArray(this.selected)) {
            return this.selected.filter((choice) => !/^\[.+\]$/.test(choice.name)).map((choice) => this.styles.primary(choice.name)).join(", ");
          }
          return this.styles.primary(this.selected.name);
        },
        styles: {
          dark: chalk_1.default.reset,
          em: chalk_1.default.bgBlack.whiteBright,
          success: chalk_1.default.reset
        },
        type: "multiselect",
        validate(value) {
          if (value.length === 0) {
            return "You must choose at least one package.";
          }
          return true;
        },
        // For Vim users (related: https://github.com/enquirer/enquirer/pull/163)
        j() {
          return this.down();
        },
        k() {
          return this.up();
        },
        cancel() {
          (0, logger_1.globalInfo)("Update canceled");
          process.exit(0);
        }
      });
      const updatePkgNames = (0, pluck_1.default)("value", updateDependencies);
      return update(updatePkgNames, opts);
    }
    async function update(dependencies, opts) {
      if (opts.latest) {
        const dependenciesWithTags = dependencies.filter((name) => (0, recursive_1.parseUpdateParam)(name).versionSpec != null);
        if (dependenciesWithTags.length) {
          throw new error_1.PnpmError("LATEST_WITH_SPEC", `Specs are not allowed to be used with --latest (${dependenciesWithTags.join(", ")})`);
        }
      }
      const includeDirect = makeIncludeDependenciesFromCLI(opts.cliOptions);
      const include = {
        dependencies: opts.rawConfig.production !== false,
        devDependencies: opts.rawConfig.dev !== false,
        optionalDependencies: opts.rawConfig.optional !== false
      };
      const depth = opts.depth ?? Infinity;
      return (0, installDeps_1.installDeps)({
        ...opts,
        allowNew: false,
        depth,
        ignoreCurrentPrefs: false,
        includeDirect,
        include,
        update: true,
        updateToLatest: opts.latest,
        updateMatching: dependencies.length > 0 && dependencies.every((dep) => !dep.substring(1).includes("@")) && depth > 0 && !opts.latest ? (0, matcher_1.createMatcher)(dependencies) : void 0,
        updatePackageManifest: opts.save !== false,
        resolutionMode: opts.save === false ? "highest" : opts.resolutionMode,
        prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts)
      }, dependencies);
    }
    function makeIncludeDependenciesFromCLI(opts) {
      return {
        dependencies: opts.production === true || opts.dev !== true && opts.optional !== true,
        devDependencies: opts.dev === true || opts.production !== true && opts.optional !== true,
        optionalDependencies: opts.optional === true || opts.production !== true && opts.dev !== true
      };
    }
  }
});

// ../node_modules/.pnpm/@yarnpkg+lockfile@1.1.0/node_modules/@yarnpkg/lockfile/index.js
var require_lockfile = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+lockfile@1.1.0/node_modules/@yarnpkg/lockfile/index.js"(exports2, module2) {
    module2.exports = /******/
    function(modules) {
      var installedModules = {};
      function __webpack_require__(moduleId) {
        if (installedModules[moduleId]) {
          return installedModules[moduleId].exports;
        }
        var module3 = installedModules[moduleId] = {
          /******/
          i: moduleId,
          /******/
          l: false,
          /******/
          exports: {}
          /******/
        };
        modules[moduleId].call(module3.exports, module3, module3.exports, __webpack_require__);
        module3.l = true;
        return module3.exports;
      }
      __webpack_require__.m = modules;
      __webpack_require__.c = installedModules;
      __webpack_require__.i = function(value) {
        return value;
      };
      __webpack_require__.d = function(exports3, name, getter) {
        if (!__webpack_require__.o(exports3, name)) {
          Object.defineProperty(exports3, name, {
            /******/
            configurable: false,
            /******/
            enumerable: true,
            /******/
            get: getter
            /******/
          });
        }
      };
      __webpack_require__.n = function(module3) {
        var getter = module3 && module3.__esModule ? (
          /******/
          function getDefault() {
            return module3["default"];
          }
        ) : (
          /******/
          function getModuleExports() {
            return module3;
          }
        );
        __webpack_require__.d(getter, "a", getter);
        return getter;
      };
      __webpack_require__.o = function(object, property) {
        return Object.prototype.hasOwnProperty.call(object, property);
      };
      __webpack_require__.p = "";
      return __webpack_require__(__webpack_require__.s = 14);
    }([
      /* 0 */
      /***/
      function(module3, exports3) {
        module3.exports = require("path");
      },
      /* 1 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        exports3.__esModule = true;
        var _promise = __webpack_require__(173);
        var _promise2 = _interopRequireDefault(_promise);
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        exports3.default = function(fn) {
          return function() {
            var gen = fn.apply(this, arguments);
            return new _promise2.default(function(resolve, reject) {
              function step(key, arg) {
                try {
                  var info = gen[key](arg);
                  var value = info.value;
                } catch (error) {
                  reject(error);
                  return;
                }
                if (info.done) {
                  resolve(value);
                } else {
                  return _promise2.default.resolve(value).then(function(value2) {
                    step("next", value2);
                  }, function(err) {
                    step("throw", err);
                  });
                }
              }
              return step("next");
            });
          };
        };
      },
      /* 2 */
      /***/
      function(module3, exports3) {
        module3.exports = require("util");
      },
      /* 3 */
      /***/
      function(module3, exports3) {
        module3.exports = require("fs");
      },
      /* 4 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        class MessageError extends Error {
          constructor(msg, code) {
            super(msg);
            this.code = code;
          }
        }
        exports3.MessageError = MessageError;
        class ProcessSpawnError extends MessageError {
          constructor(msg, code, process2) {
            super(msg, code);
            this.process = process2;
          }
        }
        exports3.ProcessSpawnError = ProcessSpawnError;
        class SecurityError extends MessageError {
        }
        exports3.SecurityError = SecurityError;
        class ProcessTermError extends MessageError {
        }
        exports3.ProcessTermError = ProcessTermError;
        class ResponseError extends Error {
          constructor(msg, responseCode) {
            super(msg);
            this.responseCode = responseCode;
          }
        }
        exports3.ResponseError = ResponseError;
      },
      /* 5 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.getFirstSuitableFolder = exports3.readFirstAvailableStream = exports3.makeTempDir = exports3.hardlinksWork = exports3.writeFilePreservingEol = exports3.getFileSizeOnDisk = exports3.walk = exports3.symlink = exports3.find = exports3.readJsonAndFile = exports3.readJson = exports3.readFileAny = exports3.hardlinkBulk = exports3.copyBulk = exports3.unlink = exports3.glob = exports3.link = exports3.chmod = exports3.lstat = exports3.exists = exports3.mkdirp = exports3.stat = exports3.access = exports3.rename = exports3.readdir = exports3.realpath = exports3.readlink = exports3.writeFile = exports3.open = exports3.readFileBuffer = exports3.lockQueue = exports3.constants = void 0;
        var _asyncToGenerator2;
        function _load_asyncToGenerator() {
          return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1));
        }
        let buildActionsForCopy = (() => {
          var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) {
            let build = (() => {
              var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
                const src = data.src, dest = data.dest, type = data.type;
                const onFresh = data.onFresh || noop;
                const onDone = data.onDone || noop;
                if (files.has(dest.toLowerCase())) {
                  reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`);
                } else {
                  files.add(dest.toLowerCase());
                }
                if (type === "symlink") {
                  yield mkdirp((_path || _load_path()).default.dirname(dest));
                  onFresh();
                  actions.symlink.push({
                    dest,
                    linkname: src
                  });
                  onDone();
                  return;
                }
                if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) {
                  return;
                }
                const srcStat = yield lstat(src);
                let srcFiles;
                if (srcStat.isDirectory()) {
                  srcFiles = yield readdir(src);
                }
                let destStat;
                try {
                  destStat = yield lstat(dest);
                } catch (e) {
                  if (e.code !== "ENOENT") {
                    throw e;
                  }
                }
                if (destStat) {
                  const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink();
                  const bothFolders = srcStat.isDirectory() && destStat.isDirectory();
                  const bothFiles = srcStat.isFile() && destStat.isFile();
                  if (bothFiles && artifactFiles.has(dest)) {
                    onDone();
                    reporter.verbose(reporter.lang("verboseFileSkipArtifact", src));
                    return;
                  }
                  if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) {
                    onDone();
                    reporter.verbose(reporter.lang("verboseFileSkip", src, dest, srcStat.size, +srcStat.mtime));
                    return;
                  }
                  if (bothSymlinks) {
                    const srcReallink = yield readlink(src);
                    if (srcReallink === (yield readlink(dest))) {
                      onDone();
                      reporter.verbose(reporter.lang("verboseFileSkipSymlink", src, dest, srcReallink));
                      return;
                    }
                  }
                  if (bothFolders) {
                    const destFiles = yield readdir(dest);
                    invariant(srcFiles, "src files not initialised");
                    for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator](); ; ) {
                      var _ref6;
                      if (_isArray4) {
                        if (_i4 >= _iterator4.length) break;
                        _ref6 = _iterator4[_i4++];
                      } else {
                        _i4 = _iterator4.next();
                        if (_i4.done) break;
                        _ref6 = _i4.value;
                      }
                      const file = _ref6;
                      if (srcFiles.indexOf(file) < 0) {
                        const loc = (_path || _load_path()).default.join(dest, file);
                        possibleExtraneous.add(loc);
                        if ((yield lstat(loc)).isDirectory()) {
                          for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator](); ; ) {
                            var _ref7;
                            if (_isArray5) {
                              if (_i5 >= _iterator5.length) break;
                              _ref7 = _iterator5[_i5++];
                            } else {
                              _i5 = _iterator5.next();
                              if (_i5.done) break;
                              _ref7 = _i5.value;
                            }
                            const file2 = _ref7;
                            possibleExtraneous.add((_path || _load_path()).default.join(loc, file2));
                          }
                        }
                      }
                    }
                  }
                }
                if (destStat && destStat.isSymbolicLink()) {
                  yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest);
                  destStat = null;
                }
                if (srcStat.isSymbolicLink()) {
                  onFresh();
                  const linkname = yield readlink(src);
                  actions.symlink.push({
                    dest,
                    linkname
                  });
                  onDone();
                } else if (srcStat.isDirectory()) {
                  if (!destStat) {
                    reporter.verbose(reporter.lang("verboseFileFolder", dest));
                    yield mkdirp(dest);
                  }
                  const destParts = dest.split((_path || _load_path()).default.sep);
                  while (destParts.length) {
                    files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase());
                    destParts.pop();
                  }
                  invariant(srcFiles, "src files not initialised");
                  let remaining = srcFiles.length;
                  if (!remaining) {
                    onDone();
                  }
                  for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator](); ; ) {
                    var _ref8;
                    if (_isArray6) {
                      if (_i6 >= _iterator6.length) break;
                      _ref8 = _iterator6[_i6++];
                    } else {
                      _i6 = _iterator6.next();
                      if (_i6.done) break;
                      _ref8 = _i6.value;
                    }
                    const file = _ref8;
                    queue.push({
                      dest: (_path || _load_path()).default.join(dest, file),
                      onFresh,
                      onDone: function(_onDone) {
                        function onDone2() {
                          return _onDone.apply(this, arguments);
                        }
                        onDone2.toString = function() {
                          return _onDone.toString();
                        };
                        return onDone2;
                      }(function() {
                        if (--remaining === 0) {
                          onDone();
                        }
                      }),
                      src: (_path || _load_path()).default.join(src, file)
                    });
                  }
                } else if (srcStat.isFile()) {
                  onFresh();
                  actions.file.push({
                    src,
                    dest,
                    atime: srcStat.atime,
                    mtime: srcStat.mtime,
                    mode: srcStat.mode
                  });
                  onDone();
                } else {
                  throw new Error(`unsure how to copy this: ${src}`);
                }
              });
              return function build2(_x5) {
                return _ref5.apply(this, arguments);
              };
            })();
            const artifactFiles = new Set(events.artifactFiles || []);
            const files = /* @__PURE__ */ new Set();
            for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) {
              var _ref2;
              if (_isArray) {
                if (_i >= _iterator.length) break;
                _ref2 = _iterator[_i++];
              } else {
                _i = _iterator.next();
                if (_i.done) break;
                _ref2 = _i.value;
              }
              const item = _ref2;
              const onDone = item.onDone;
              item.onDone = function() {
                events.onProgress(item.dest);
                if (onDone) {
                  onDone();
                }
              };
            }
            events.onStart(queue.length);
            const actions = {
              file: [],
              symlink: [],
              link: []
            };
            while (queue.length) {
              const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS);
              yield Promise.all(items.map(build));
            }
            for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) {
              var _ref3;
              if (_isArray2) {
                if (_i2 >= _iterator2.length) break;
                _ref3 = _iterator2[_i2++];
              } else {
                _i2 = _iterator2.next();
                if (_i2.done) break;
                _ref3 = _i2.value;
              }
              const file = _ref3;
              if (possibleExtraneous.has(file)) {
                reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file));
                possibleExtraneous.delete(file);
              }
            }
            for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator](); ; ) {
              var _ref4;
              if (_isArray3) {
                if (_i3 >= _iterator3.length) break;
                _ref4 = _iterator3[_i3++];
              } else {
                _i3 = _iterator3.next();
                if (_i3.done) break;
                _ref4 = _i3.value;
              }
              const loc = _ref4;
              if (files.has(loc.toLowerCase())) {
                possibleExtraneous.delete(loc);
              }
            }
            return actions;
          });
          return function buildActionsForCopy2(_x, _x2, _x3, _x4) {
            return _ref.apply(this, arguments);
          };
        })();
        let buildActionsForHardlink = (() => {
          var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) {
            let build = (() => {
              var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
                const src = data.src, dest = data.dest;
                const onFresh = data.onFresh || noop;
                const onDone = data.onDone || noop;
                if (files.has(dest.toLowerCase())) {
                  onDone();
                  return;
                }
                files.add(dest.toLowerCase());
                if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) {
                  return;
                }
                const srcStat = yield lstat(src);
                let srcFiles;
                if (srcStat.isDirectory()) {
                  srcFiles = yield readdir(src);
                }
                const destExists = yield exists(dest);
                if (destExists) {
                  const destStat = yield lstat(dest);
                  const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink();
                  const bothFolders = srcStat.isDirectory() && destStat.isDirectory();
                  const bothFiles = srcStat.isFile() && destStat.isFile();
                  if (srcStat.mode !== destStat.mode) {
                    try {
                      yield access(dest, srcStat.mode);
                    } catch (err) {
                      reporter.verbose(err);
                    }
                  }
                  if (bothFiles && artifactFiles.has(dest)) {
                    onDone();
                    reporter.verbose(reporter.lang("verboseFileSkipArtifact", src));
                    return;
                  }
                  if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) {
                    onDone();
                    reporter.verbose(reporter.lang("verboseFileSkip", src, dest, srcStat.ino));
                    return;
                  }
                  if (bothSymlinks) {
                    const srcReallink = yield readlink(src);
                    if (srcReallink === (yield readlink(dest))) {
                      onDone();
                      reporter.verbose(reporter.lang("verboseFileSkipSymlink", src, dest, srcReallink));
                      return;
                    }
                  }
                  if (bothFolders) {
                    const destFiles = yield readdir(dest);
                    invariant(srcFiles, "src files not initialised");
                    for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator](); ; ) {
                      var _ref14;
                      if (_isArray10) {
                        if (_i10 >= _iterator10.length) break;
                        _ref14 = _iterator10[_i10++];
                      } else {
                        _i10 = _iterator10.next();
                        if (_i10.done) break;
                        _ref14 = _i10.value;
                      }
                      const file = _ref14;
                      if (srcFiles.indexOf(file) < 0) {
                        const loc = (_path || _load_path()).default.join(dest, file);
                        possibleExtraneous.add(loc);
                        if ((yield lstat(loc)).isDirectory()) {
                          for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator](); ; ) {
                            var _ref15;
                            if (_isArray11) {
                              if (_i11 >= _iterator11.length) break;
                              _ref15 = _iterator11[_i11++];
                            } else {
                              _i11 = _iterator11.next();
                              if (_i11.done) break;
                              _ref15 = _i11.value;
                            }
                            const file2 = _ref15;
                            possibleExtraneous.add((_path || _load_path()).default.join(loc, file2));
                          }
                        }
                      }
                    }
                  }
                }
                if (srcStat.isSymbolicLink()) {
                  onFresh();
                  const linkname = yield readlink(src);
                  actions.symlink.push({
                    dest,
                    linkname
                  });
                  onDone();
                } else if (srcStat.isDirectory()) {
                  reporter.verbose(reporter.lang("verboseFileFolder", dest));
                  yield mkdirp(dest);
                  const destParts = dest.split((_path || _load_path()).default.sep);
                  while (destParts.length) {
                    files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase());
                    destParts.pop();
                  }
                  invariant(srcFiles, "src files not initialised");
                  let remaining = srcFiles.length;
                  if (!remaining) {
                    onDone();
                  }
                  for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator](); ; ) {
                    var _ref16;
                    if (_isArray12) {
                      if (_i12 >= _iterator12.length) break;
                      _ref16 = _iterator12[_i12++];
                    } else {
                      _i12 = _iterator12.next();
                      if (_i12.done) break;
                      _ref16 = _i12.value;
                    }
                    const file = _ref16;
                    queue.push({
                      onFresh,
                      src: (_path || _load_path()).default.join(src, file),
                      dest: (_path || _load_path()).default.join(dest, file),
                      onDone: function(_onDone2) {
                        function onDone2() {
                          return _onDone2.apply(this, arguments);
                        }
                        onDone2.toString = function() {
                          return _onDone2.toString();
                        };
                        return onDone2;
                      }(function() {
                        if (--remaining === 0) {
                          onDone();
                        }
                      })
                    });
                  }
                } else if (srcStat.isFile()) {
                  onFresh();
                  actions.link.push({
                    src,
                    dest,
                    removeDest: destExists
                  });
                  onDone();
                } else {
                  throw new Error(`unsure how to copy this: ${src}`);
                }
              });
              return function build2(_x10) {
                return _ref13.apply(this, arguments);
              };
            })();
            const artifactFiles = new Set(events.artifactFiles || []);
            const files = /* @__PURE__ */ new Set();
            for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator](); ; ) {
              var _ref10;
              if (_isArray7) {
                if (_i7 >= _iterator7.length) break;
                _ref10 = _iterator7[_i7++];
              } else {
                _i7 = _iterator7.next();
                if (_i7.done) break;
                _ref10 = _i7.value;
              }
              const item = _ref10;
              const onDone = item.onDone || noop;
              item.onDone = function() {
                events.onProgress(item.dest);
                onDone();
              };
            }
            events.onStart(queue.length);
            const actions = {
              file: [],
              symlink: [],
              link: []
            };
            while (queue.length) {
              const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS);
              yield Promise.all(items.map(build));
            }
            for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator](); ; ) {
              var _ref11;
              if (_isArray8) {
                if (_i8 >= _iterator8.length) break;
                _ref11 = _iterator8[_i8++];
              } else {
                _i8 = _iterator8.next();
                if (_i8.done) break;
                _ref11 = _i8.value;
              }
              const file = _ref11;
              if (possibleExtraneous.has(file)) {
                reporter.verbose(reporter.lang("verboseFilePhantomExtraneous", file));
                possibleExtraneous.delete(file);
              }
            }
            for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator](); ; ) {
              var _ref12;
              if (_isArray9) {
                if (_i9 >= _iterator9.length) break;
                _ref12 = _iterator9[_i9++];
              } else {
                _i9 = _iterator9.next();
                if (_i9.done) break;
                _ref12 = _i9.value;
              }
              const loc = _ref12;
              if (files.has(loc.toLowerCase())) {
                possibleExtraneous.delete(loc);
              }
            }
            return actions;
          });
          return function buildActionsForHardlink2(_x6, _x7, _x8, _x9) {
            return _ref9.apply(this, arguments);
          };
        })();
        let copyBulk = exports3.copyBulk = (() => {
          var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) {
            const events = {
              onStart: _events && _events.onStart || noop,
              onProgress: _events && _events.onProgress || noop,
              possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(),
              ignoreBasenames: _events && _events.ignoreBasenames || [],
              artifactFiles: _events && _events.artifactFiles || []
            };
            const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter);
            events.onStart(actions.file.length + actions.symlink.length + actions.link.length);
            const fileActions = actions.file;
            const currentlyWriting = /* @__PURE__ */ new Map();
            yield (_promise || _load_promise()).queue(fileActions, (() => {
              var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
                let writePromise;
                while (writePromise = currentlyWriting.get(data.dest)) {
                  yield writePromise;
                }
                reporter.verbose(reporter.lang("verboseFileCopy", data.src, data.dest));
                const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function() {
                  return currentlyWriting.delete(data.dest);
                });
                currentlyWriting.set(data.dest, copier);
                events.onProgress(data.dest);
                return copier;
              });
              return function(_x14) {
                return _ref18.apply(this, arguments);
              };
            })(), CONCURRENT_QUEUE_ITEMS);
            const symlinkActions = actions.symlink;
            yield (_promise || _load_promise()).queue(symlinkActions, function(data) {
              const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname);
              reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname));
              return symlink(linkname, data.dest);
            });
          });
          return function copyBulk2(_x11, _x12, _x13) {
            return _ref17.apply(this, arguments);
          };
        })();
        let hardlinkBulk = exports3.hardlinkBulk = (() => {
          var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) {
            const events = {
              onStart: _events && _events.onStart || noop,
              onProgress: _events && _events.onProgress || noop,
              possibleExtraneous: _events ? _events.possibleExtraneous : /* @__PURE__ */ new Set(),
              artifactFiles: _events && _events.artifactFiles || [],
              ignoreBasenames: []
            };
            const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter);
            events.onStart(actions.file.length + actions.symlink.length + actions.link.length);
            const fileActions = actions.link;
            yield (_promise || _load_promise()).queue(fileActions, (() => {
              var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) {
                reporter.verbose(reporter.lang("verboseFileLink", data.src, data.dest));
                if (data.removeDest) {
                  yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest);
                }
                yield link(data.src, data.dest);
              });
              return function(_x18) {
                return _ref20.apply(this, arguments);
              };
            })(), CONCURRENT_QUEUE_ITEMS);
            const symlinkActions = actions.symlink;
            yield (_promise || _load_promise()).queue(symlinkActions, function(data) {
              const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname);
              reporter.verbose(reporter.lang("verboseFileSymlink", data.dest, linkname));
              return symlink(linkname, data.dest);
            });
          });
          return function hardlinkBulk2(_x15, _x16, _x17) {
            return _ref19.apply(this, arguments);
          };
        })();
        let readFileAny = exports3.readFileAny = (() => {
          var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) {
            for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator](); ; ) {
              var _ref22;
              if (_isArray13) {
                if (_i13 >= _iterator13.length) break;
                _ref22 = _iterator13[_i13++];
              } else {
                _i13 = _iterator13.next();
                if (_i13.done) break;
                _ref22 = _i13.value;
              }
              const file = _ref22;
              if (yield exists(file)) {
                return readFile(file);
              }
            }
            return null;
          });
          return function readFileAny2(_x19) {
            return _ref21.apply(this, arguments);
          };
        })();
        let readJson = exports3.readJson = (() => {
          var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
            return (yield readJsonAndFile(loc)).object;
          });
          return function readJson2(_x20) {
            return _ref23.apply(this, arguments);
          };
        })();
        let readJsonAndFile = exports3.readJsonAndFile = (() => {
          var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
            const file = yield readFile(loc);
            try {
              return {
                object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))),
                content: file
              };
            } catch (err) {
              err.message = `${loc}: ${err.message}`;
              throw err;
            }
          });
          return function readJsonAndFile2(_x21) {
            return _ref24.apply(this, arguments);
          };
        })();
        let find = exports3.find = (() => {
          var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) {
            const parts = dir.split((_path || _load_path()).default.sep);
            while (parts.length) {
              const loc = parts.concat(filename).join((_path || _load_path()).default.sep);
              if (yield exists(loc)) {
                return loc;
              } else {
                parts.pop();
              }
            }
            return false;
          });
          return function find2(_x22, _x23) {
            return _ref25.apply(this, arguments);
          };
        })();
        let symlink = exports3.symlink = (() => {
          var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) {
            try {
              const stats = yield lstat(dest);
              if (stats.isSymbolicLink()) {
                const resolved = yield realpath(dest);
                if (resolved === src) {
                  return;
                }
              }
            } catch (err) {
              if (err.code !== "ENOENT") {
                throw err;
              }
            }
            yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest);
            if (process.platform === "win32") {
              yield fsSymlink(src, dest, "junction");
            } else {
              let relative;
              try {
                relative = (_path || _load_path()).default.relative((_fs || _load_fs()).default.realpathSync((_path || _load_path()).default.dirname(dest)), (_fs || _load_fs()).default.realpathSync(src));
              } catch (err) {
                if (err.code !== "ENOENT") {
                  throw err;
                }
                relative = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src);
              }
              yield fsSymlink(relative || ".", dest);
            }
          });
          return function symlink2(_x24, _x25) {
            return _ref26.apply(this, arguments);
          };
        })();
        let walk = exports3.walk = (() => {
          var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = /* @__PURE__ */ new Set()) {
            let files = [];
            let filenames = yield readdir(dir);
            if (ignoreBasenames.size) {
              filenames = filenames.filter(function(name) {
                return !ignoreBasenames.has(name);
              });
            }
            for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator](); ; ) {
              var _ref28;
              if (_isArray14) {
                if (_i14 >= _iterator14.length) break;
                _ref28 = _iterator14[_i14++];
              } else {
                _i14 = _iterator14.next();
                if (_i14.done) break;
                _ref28 = _i14.value;
              }
              const name = _ref28;
              const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name;
              const loc = (_path || _load_path()).default.join(dir, name);
              const stat2 = yield lstat(loc);
              files.push({
                relative,
                basename: name,
                absolute: loc,
                mtime: +stat2.mtime
              });
              if (stat2.isDirectory()) {
                files = files.concat(yield walk(loc, relative, ignoreBasenames));
              }
            }
            return files;
          });
          return function walk2(_x26, _x27) {
            return _ref27.apply(this, arguments);
          };
        })();
        let getFileSizeOnDisk = exports3.getFileSizeOnDisk = (() => {
          var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) {
            const stat2 = yield lstat(loc);
            const size = stat2.size, blockSize = stat2.blksize;
            return Math.ceil(size / blockSize) * blockSize;
          });
          return function getFileSizeOnDisk2(_x28) {
            return _ref29.apply(this, arguments);
          };
        })();
        let getEolFromFile = (() => {
          var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path2) {
            if (!(yield exists(path2))) {
              return void 0;
            }
            const buffer = yield readFileBuffer(path2);
            for (let i = 0; i < buffer.length; ++i) {
              if (buffer[i] === cr) {
                return "\r\n";
              }
              if (buffer[i] === lf) {
                return "\n";
              }
            }
            return void 0;
          });
          return function getEolFromFile2(_x29) {
            return _ref30.apply(this, arguments);
          };
        })();
        let writeFilePreservingEol = exports3.writeFilePreservingEol = (() => {
          var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path2, data) {
            const eol = (yield getEolFromFile(path2)) || (_os || _load_os()).default.EOL;
            if (eol !== "\n") {
              data = data.replace(/\n/g, eol);
            }
            yield writeFile(path2, data);
          });
          return function writeFilePreservingEol2(_x30, _x31) {
            return _ref31.apply(this, arguments);
          };
        })();
        let hardlinksWork = exports3.hardlinksWork = (() => {
          var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) {
            const filename = "test-file" + Math.random();
            const file = (_path || _load_path()).default.join(dir, filename);
            const fileLink = (_path || _load_path()).default.join(dir, filename + "-link");
            try {
              yield writeFile(file, "test");
              yield link(file, fileLink);
            } catch (err) {
              return false;
            } finally {
              yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file);
              yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink);
            }
            return true;
          });
          return function hardlinksWork2(_x32) {
            return _ref32.apply(this, arguments);
          };
        })();
        let makeTempDir = exports3.makeTempDir = (() => {
          var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) {
            const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ""}-${Date.now()}-${Math.random()}`);
            yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir);
            yield mkdirp(dir);
            return dir;
          });
          return function makeTempDir2(_x33) {
            return _ref33.apply(this, arguments);
          };
        })();
        let readFirstAvailableStream = exports3.readFirstAvailableStream = (() => {
          var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) {
            for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator](); ; ) {
              var _ref35;
              if (_isArray15) {
                if (_i15 >= _iterator15.length) break;
                _ref35 = _iterator15[_i15++];
              } else {
                _i15 = _iterator15.next();
                if (_i15.done) break;
                _ref35 = _i15.value;
              }
              const path2 = _ref35;
              try {
                const fd = yield open(path2, "r");
                return (_fs || _load_fs()).default.createReadStream(path2, { fd });
              } catch (err) {
              }
            }
            return null;
          });
          return function readFirstAvailableStream2(_x34) {
            return _ref34.apply(this, arguments);
          };
        })();
        let getFirstSuitableFolder = exports3.getFirstSuitableFolder = (() => {
          var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) {
            const result2 = {
              skipped: [],
              folder: null
            };
            for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator](); ; ) {
              var _ref37;
              if (_isArray16) {
                if (_i16 >= _iterator16.length) break;
                _ref37 = _iterator16[_i16++];
              } else {
                _i16 = _iterator16.next();
                if (_i16.done) break;
                _ref37 = _i16.value;
              }
              const folder = _ref37;
              try {
                yield mkdirp(folder);
                yield access(folder, mode);
                result2.folder = folder;
                return result2;
              } catch (error) {
                result2.skipped.push({
                  error,
                  folder
                });
              }
            }
            return result2;
          });
          return function getFirstSuitableFolder2(_x35) {
            return _ref36.apply(this, arguments);
          };
        })();
        exports3.copy = copy;
        exports3.readFile = readFile;
        exports3.readFileRaw = readFileRaw;
        exports3.normalizeOS = normalizeOS;
        var _fs;
        function _load_fs() {
          return _fs = _interopRequireDefault(__webpack_require__(3));
        }
        var _glob;
        function _load_glob() {
          return _glob = _interopRequireDefault(__webpack_require__(75));
        }
        var _os;
        function _load_os() {
          return _os = _interopRequireDefault(__webpack_require__(36));
        }
        var _path;
        function _load_path() {
          return _path = _interopRequireDefault(__webpack_require__(0));
        }
        var _blockingQueue;
        function _load_blockingQueue() {
          return _blockingQueue = _interopRequireDefault(__webpack_require__(84));
        }
        var _promise;
        function _load_promise() {
          return _promise = _interopRequireWildcard(__webpack_require__(40));
        }
        var _promise2;
        function _load_promise2() {
          return _promise2 = __webpack_require__(40);
        }
        var _map;
        function _load_map() {
          return _map = _interopRequireDefault(__webpack_require__(20));
        }
        var _fsNormalized;
        function _load_fsNormalized() {
          return _fsNormalized = __webpack_require__(164);
        }
        function _interopRequireWildcard(obj) {
          if (obj && obj.__esModule) {
            return obj;
          } else {
            var newObj = {};
            if (obj != null) {
              for (var key in obj) {
                if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
              }
            }
            newObj.default = obj;
            return newObj;
          }
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        const constants = exports3.constants = typeof (_fs || _load_fs()).default.constants !== "undefined" ? (_fs || _load_fs()).default.constants : {
          R_OK: (_fs || _load_fs()).default.R_OK,
          W_OK: (_fs || _load_fs()).default.W_OK,
          X_OK: (_fs || _load_fs()).default.X_OK
        };
        const lockQueue = exports3.lockQueue = new (_blockingQueue || _load_blockingQueue()).default("fs lock");
        const readFileBuffer = exports3.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile);
        const open = exports3.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open);
        const writeFile = exports3.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile);
        const readlink = exports3.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink);
        const realpath = exports3.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath);
        const readdir = exports3.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir);
        const rename = exports3.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename);
        const access = exports3.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access);
        const stat = exports3.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat);
        const mkdirp = exports3.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(116));
        const exists = exports3.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true);
        const lstat = exports3.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat);
        const chmod = exports3.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod);
        const link = exports3.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link);
        const glob = exports3.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default);
        exports3.unlink = (_fsNormalized || _load_fsNormalized()).unlink;
        const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4;
        const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink);
        const invariant = __webpack_require__(7);
        const stripBOM = __webpack_require__(122);
        const noop = () => {
        };
        function copy(src, dest, reporter) {
          return copyBulk([{ src, dest }], reporter);
        }
        function _readFile(loc, encoding) {
          return new Promise((resolve, reject) => {
            (_fs || _load_fs()).default.readFile(loc, encoding, function(err, content) {
              if (err) {
                reject(err);
              } else {
                resolve(content);
              }
            });
          });
        }
        function readFile(loc) {
          return _readFile(loc, "utf8").then(normalizeOS);
        }
        function readFileRaw(loc) {
          return _readFile(loc, "binary");
        }
        function normalizeOS(body) {
          return body.replace(/\r\n/g, "\n");
        }
        const cr = "\r".charCodeAt(0);
        const lf = "\n".charCodeAt(0);
      },
      /* 6 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.getPathKey = getPathKey;
        const os = __webpack_require__(36);
        const path2 = __webpack_require__(0);
        const userHome = __webpack_require__(45).default;
        var _require = __webpack_require__(171);
        const getCacheDir = _require.getCacheDir, getConfigDir = _require.getConfigDir, getDataDir = _require.getDataDir;
        const isWebpackBundle = __webpack_require__(227);
        const DEPENDENCY_TYPES = exports3.DEPENDENCY_TYPES = ["devDependencies", "dependencies", "optionalDependencies", "peerDependencies"];
        const RESOLUTIONS = exports3.RESOLUTIONS = "resolutions";
        const MANIFEST_FIELDS = exports3.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES];
        const SUPPORTED_NODE_VERSIONS = exports3.SUPPORTED_NODE_VERSIONS = "^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0";
        const YARN_REGISTRY = exports3.YARN_REGISTRY = "https://registry.yarnpkg.com";
        const YARN_DOCS = exports3.YARN_DOCS = "https://yarnpkg.com/en/docs/cli/";
        const YARN_INSTALLER_SH = exports3.YARN_INSTALLER_SH = "https://yarnpkg.com/install.sh";
        const YARN_INSTALLER_MSI = exports3.YARN_INSTALLER_MSI = "https://yarnpkg.com/latest.msi";
        const SELF_UPDATE_VERSION_URL = exports3.SELF_UPDATE_VERSION_URL = "https://yarnpkg.com/latest-version";
        const CACHE_VERSION = exports3.CACHE_VERSION = 2;
        const LOCKFILE_VERSION = exports3.LOCKFILE_VERSION = 1;
        const NETWORK_CONCURRENCY = exports3.NETWORK_CONCURRENCY = 8;
        const NETWORK_TIMEOUT = exports3.NETWORK_TIMEOUT = 30 * 1e3;
        const CHILD_CONCURRENCY = exports3.CHILD_CONCURRENCY = 5;
        const REQUIRED_PACKAGE_KEYS = exports3.REQUIRED_PACKAGE_KEYS = ["name", "version", "_uid"];
        function getPreferredCacheDirectories() {
          const preferredCacheDirectories = [getCacheDir()];
          if (process.getuid) {
            preferredCacheDirectories.push(path2.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`));
          }
          preferredCacheDirectories.push(path2.join(os.tmpdir(), `.yarn-cache`));
          return preferredCacheDirectories;
        }
        const PREFERRED_MODULE_CACHE_DIRECTORIES = exports3.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories();
        const CONFIG_DIRECTORY = exports3.CONFIG_DIRECTORY = getConfigDir();
        const DATA_DIRECTORY = exports3.DATA_DIRECTORY = getDataDir();
        const LINK_REGISTRY_DIRECTORY = exports3.LINK_REGISTRY_DIRECTORY = path2.join(DATA_DIRECTORY, "link");
        const GLOBAL_MODULE_DIRECTORY = exports3.GLOBAL_MODULE_DIRECTORY = path2.join(DATA_DIRECTORY, "global");
        const NODE_BIN_PATH = exports3.NODE_BIN_PATH = process.execPath;
        const YARN_BIN_PATH = exports3.YARN_BIN_PATH = getYarnBinPath();
        function getYarnBinPath() {
          if (isWebpackBundle) {
            return __filename;
          } else {
            return path2.join(__dirname, "..", "bin", "yarn.js");
          }
        }
        const NODE_MODULES_FOLDER = exports3.NODE_MODULES_FOLDER = "node_modules";
        const NODE_PACKAGE_JSON = exports3.NODE_PACKAGE_JSON = "package.json";
        const POSIX_GLOBAL_PREFIX = exports3.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ""}/usr/local`;
        const FALLBACK_GLOBAL_PREFIX = exports3.FALLBACK_GLOBAL_PREFIX = path2.join(userHome, ".yarn");
        const META_FOLDER = exports3.META_FOLDER = ".yarn-meta";
        const INTEGRITY_FILENAME = exports3.INTEGRITY_FILENAME = ".yarn-integrity";
        const LOCKFILE_FILENAME = exports3.LOCKFILE_FILENAME = "yarn.lock";
        const METADATA_FILENAME = exports3.METADATA_FILENAME = ".yarn-metadata.json";
        const TARBALL_FILENAME = exports3.TARBALL_FILENAME = ".yarn-tarball.tgz";
        const CLEAN_FILENAME = exports3.CLEAN_FILENAME = ".yarnclean";
        const NPM_LOCK_FILENAME = exports3.NPM_LOCK_FILENAME = "package-lock.json";
        const NPM_SHRINKWRAP_FILENAME = exports3.NPM_SHRINKWRAP_FILENAME = "npm-shrinkwrap.json";
        const DEFAULT_INDENT = exports3.DEFAULT_INDENT = "  ";
        const SINGLE_INSTANCE_PORT = exports3.SINGLE_INSTANCE_PORT = 31997;
        const SINGLE_INSTANCE_FILENAME = exports3.SINGLE_INSTANCE_FILENAME = ".yarn-single-instance";
        const ENV_PATH_KEY = exports3.ENV_PATH_KEY = getPathKey(process.platform, process.env);
        function getPathKey(platform, env) {
          let pathKey = "PATH";
          if (platform === "win32") {
            pathKey = "Path";
            for (const key in env) {
              if (key.toLowerCase() === "path") {
                pathKey = key;
              }
            }
          }
          return pathKey;
        }
        const VERSION_COLOR_SCHEME = exports3.VERSION_COLOR_SCHEME = {
          major: "red",
          premajor: "red",
          minor: "yellow",
          preminor: "yellow",
          patch: "green",
          prepatch: "green",
          prerelease: "red",
          unchanged: "white",
          unknown: "red"
        };
      },
      /* 7 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var NODE_ENV = process.env.NODE_ENV;
        var invariant = function(condition, format, a, b, c, d, e, f) {
          if (NODE_ENV !== "production") {
            if (format === void 0) {
              throw new Error("invariant requires an error message argument");
            }
          }
          if (!condition) {
            var error;
            if (format === void 0) {
              error = new Error(
                "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."
              );
            } else {
              var args = [a, b, c, d, e, f];
              var argIndex = 0;
              error = new Error(
                format.replace(/%s/g, function() {
                  return args[argIndex++];
                })
              );
              error.name = "Invariant Violation";
            }
            error.framesToPop = 1;
            throw error;
          }
        };
        module3.exports = invariant;
      },
      ,
      /* 9 */
      /***/
      function(module3, exports3) {
        module3.exports = require("crypto");
      },
      ,
      /* 11 */
      /***/
      function(module3, exports3) {
        var global2 = module3.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
        if (typeof __g == "number") __g = global2;
      },
      /* 12 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.sortAlpha = sortAlpha;
        exports3.entries = entries;
        exports3.removePrefix = removePrefix;
        exports3.removeSuffix = removeSuffix;
        exports3.addSuffix = addSuffix;
        exports3.hyphenate = hyphenate;
        exports3.camelCase = camelCase;
        exports3.compareSortedArrays = compareSortedArrays;
        exports3.sleep = sleep;
        const _camelCase = __webpack_require__(176);
        function sortAlpha(a, b) {
          const shortLen = Math.min(a.length, b.length);
          for (let i = 0; i < shortLen; i++) {
            const aChar = a.charCodeAt(i);
            const bChar = b.charCodeAt(i);
            if (aChar !== bChar) {
              return aChar - bChar;
            }
          }
          return a.length - b.length;
        }
        function entries(obj) {
          const entries2 = [];
          if (obj) {
            for (const key in obj) {
              entries2.push([key, obj[key]]);
            }
          }
          return entries2;
        }
        function removePrefix(pattern, prefix) {
          if (pattern.startsWith(prefix)) {
            pattern = pattern.slice(prefix.length);
          }
          return pattern;
        }
        function removeSuffix(pattern, suffix) {
          if (pattern.endsWith(suffix)) {
            return pattern.slice(0, -suffix.length);
          }
          return pattern;
        }
        function addSuffix(pattern, suffix) {
          if (!pattern.endsWith(suffix)) {
            return pattern + suffix;
          }
          return pattern;
        }
        function hyphenate(str) {
          return str.replace(/[A-Z]/g, (match) => {
            return "-" + match.charAt(0).toLowerCase();
          });
        }
        function camelCase(str) {
          if (/[A-Z]/.test(str)) {
            return null;
          } else {
            return _camelCase(str);
          }
        }
        function compareSortedArrays(array1, array2) {
          if (array1.length !== array2.length) {
            return false;
          }
          for (let i = 0, len = array1.length; i < len; i++) {
            if (array1[i] !== array2[i]) {
              return false;
            }
          }
          return true;
        }
        function sleep(ms) {
          return new Promise((resolve) => {
            setTimeout(resolve, ms);
          });
        }
      },
      /* 13 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var store = __webpack_require__(107)("wks");
        var uid = __webpack_require__(111);
        var Symbol2 = __webpack_require__(11).Symbol;
        var USE_SYMBOL = typeof Symbol2 == "function";
        var $exports = module3.exports = function(name) {
          return store[name] || (store[name] = USE_SYMBOL && Symbol2[name] || (USE_SYMBOL ? Symbol2 : uid)("Symbol." + name));
        };
        $exports.store = store;
      },
      /* 14 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.stringify = exports3.parse = void 0;
        var _asyncToGenerator2;
        function _load_asyncToGenerator() {
          return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1));
        }
        var _parse;
        function _load_parse() {
          return _parse = __webpack_require__(81);
        }
        Object.defineProperty(exports3, "parse", {
          enumerable: true,
          get: function get() {
            return _interopRequireDefault(_parse || _load_parse()).default;
          }
        });
        var _stringify;
        function _load_stringify() {
          return _stringify = __webpack_require__(150);
        }
        Object.defineProperty(exports3, "stringify", {
          enumerable: true,
          get: function get() {
            return _interopRequireDefault(_stringify || _load_stringify()).default;
          }
        });
        exports3.implodeEntry = implodeEntry;
        exports3.explodeEntry = explodeEntry;
        var _misc;
        function _load_misc() {
          return _misc = __webpack_require__(12);
        }
        var _normalizePattern;
        function _load_normalizePattern() {
          return _normalizePattern = __webpack_require__(29);
        }
        var _parse2;
        function _load_parse2() {
          return _parse2 = _interopRequireDefault(__webpack_require__(81));
        }
        var _constants;
        function _load_constants() {
          return _constants = __webpack_require__(6);
        }
        var _fs;
        function _load_fs() {
          return _fs = _interopRequireWildcard(__webpack_require__(5));
        }
        function _interopRequireWildcard(obj) {
          if (obj && obj.__esModule) {
            return obj;
          } else {
            var newObj = {};
            if (obj != null) {
              for (var key in obj) {
                if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
              }
            }
            newObj.default = obj;
            return newObj;
          }
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        const invariant = __webpack_require__(7);
        const path2 = __webpack_require__(0);
        const ssri = __webpack_require__(55);
        function getName(pattern) {
          return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name;
        }
        function blankObjectUndefined(obj) {
          return obj && Object.keys(obj).length ? obj : void 0;
        }
        function keyForRemote(remote) {
          return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null);
        }
        function serializeIntegrity(integrity) {
          return integrity.toString().split(" ").sort().join(" ");
        }
        function implodeEntry(pattern, obj) {
          const inferredName = getName(pattern);
          const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : "";
          const imploded = {
            name: inferredName === obj.name ? void 0 : obj.name,
            version: obj.version,
            uid: obj.uid === obj.version ? void 0 : obj.uid,
            resolved: obj.resolved,
            registry: obj.registry === "npm" ? void 0 : obj.registry,
            dependencies: blankObjectUndefined(obj.dependencies),
            optionalDependencies: blankObjectUndefined(obj.optionalDependencies),
            permissions: blankObjectUndefined(obj.permissions),
            prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants)
          };
          if (integrity) {
            imploded.integrity = integrity;
          }
          return imploded;
        }
        function explodeEntry(pattern, obj) {
          obj.optionalDependencies = obj.optionalDependencies || {};
          obj.dependencies = obj.dependencies || {};
          obj.uid = obj.uid || obj.version;
          obj.permissions = obj.permissions || {};
          obj.registry = obj.registry || "npm";
          obj.name = obj.name || getName(pattern);
          const integrity = obj.integrity;
          if (integrity && integrity.isIntegrity) {
            obj.integrity = ssri.parse(integrity);
          }
          return obj;
        }
        class Lockfile {
          constructor({ cache, source, parseResultType } = {}) {
            this.source = source || "";
            this.cache = cache;
            this.parseResultType = parseResultType;
          }
          // source string if the `cache` was parsed
          // if true, we're parsing an old yarn file and need to update integrity fields
          hasEntriesExistWithoutIntegrity() {
            if (!this.cache) {
              return false;
            }
            for (const key in this.cache) {
              if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) {
                return true;
              }
            }
            return false;
          }
          static fromDirectory(dir, reporter) {
            return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () {
              const lockfileLoc = path2.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME);
              let lockfile;
              let rawLockfile = "";
              let parseResult;
              if (yield (_fs || _load_fs()).exists(lockfileLoc)) {
                rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc);
                parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc);
                if (reporter) {
                  if (parseResult.type === "merge") {
                    reporter.info(reporter.lang("lockfileMerged"));
                  } else if (parseResult.type === "conflict") {
                    reporter.warn(reporter.lang("lockfileConflict"));
                  }
                }
                lockfile = parseResult.object;
              } else if (reporter) {
                reporter.info(reporter.lang("noLockfileFound"));
              }
              return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type });
            })();
          }
          getLocked(pattern) {
            const cache = this.cache;
            if (!cache) {
              return void 0;
            }
            const shrunk = pattern in cache && cache[pattern];
            if (typeof shrunk === "string") {
              return this.getLocked(shrunk);
            } else if (shrunk) {
              explodeEntry(pattern, shrunk);
              return shrunk;
            }
            return void 0;
          }
          removePattern(pattern) {
            const cache = this.cache;
            if (!cache) {
              return;
            }
            delete cache[pattern];
          }
          getLockfile(patterns) {
            const lockfile = {};
            const seen = /* @__PURE__ */ new Map();
            const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha);
            for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) {
              var _ref;
              if (_isArray) {
                if (_i >= _iterator.length) break;
                _ref = _iterator[_i++];
              } else {
                _i = _iterator.next();
                if (_i.done) break;
                _ref = _i.value;
              }
              const pattern = _ref;
              const pkg = patterns[pattern];
              const remote = pkg._remote, ref = pkg._reference;
              invariant(ref, "Package is missing a reference");
              invariant(remote, "Package is missing a remote");
              const remoteKey = keyForRemote(remote);
              const seenPattern = remoteKey && seen.get(remoteKey);
              if (seenPattern) {
                lockfile[pattern] = seenPattern;
                if (!seenPattern.name && getName(pattern) !== pkg.name) {
                  seenPattern.name = pkg.name;
                }
                continue;
              }
              const obj = implodeEntry(pattern, {
                name: pkg.name,
                version: pkg.version,
                uid: pkg._uid,
                resolved: remote.resolved,
                integrity: remote.integrity,
                registry: remote.registry,
                dependencies: pkg.dependencies,
                peerDependencies: pkg.peerDependencies,
                optionalDependencies: pkg.optionalDependencies,
                permissions: ref.permissions,
                prebuiltVariants: pkg.prebuiltVariants
              });
              lockfile[pattern] = obj;
              if (remoteKey) {
                seen.set(remoteKey, obj);
              }
            }
            return lockfile;
          }
        }
        exports3.default = Lockfile;
      },
      ,
      ,
      /* 17 */
      /***/
      function(module3, exports3) {
        module3.exports = require("stream");
      },
      ,
      ,
      /* 20 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.default = nullify;
        function nullify(obj = {}) {
          if (Array.isArray(obj)) {
            for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) {
              var _ref;
              if (_isArray) {
                if (_i >= _iterator.length) break;
                _ref = _iterator[_i++];
              } else {
                _i = _iterator.next();
                if (_i.done) break;
                _ref = _i.value;
              }
              const item = _ref;
              nullify(item);
            }
          } else if (obj !== null && typeof obj === "object" || typeof obj === "function") {
            Object.setPrototypeOf(obj, null);
            if (typeof obj === "object") {
              for (const key in obj) {
                nullify(obj[key]);
              }
            }
          }
          return obj;
        }
      },
      ,
      /* 22 */
      /***/
      function(module3, exports3) {
        module3.exports = require("assert");
      },
      /* 23 */
      /***/
      function(module3, exports3) {
        var core = module3.exports = { version: "2.5.7" };
        if (typeof __e == "number") __e = core;
      },
      ,
      ,
      ,
      /* 27 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var isObject = __webpack_require__(34);
        module3.exports = function(it) {
          if (!isObject(it)) throw TypeError(it + " is not an object!");
          return it;
        };
      },
      ,
      /* 29 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.normalizePattern = normalizePattern;
        function normalizePattern(pattern) {
          let hasVersion = false;
          let range = "latest";
          let name = pattern;
          let isScoped = false;
          if (name[0] === "@") {
            isScoped = true;
            name = name.slice(1);
          }
          const parts = name.split("@");
          if (parts.length > 1) {
            name = parts.shift();
            range = parts.join("@");
            if (range) {
              hasVersion = true;
            } else {
              range = "*";
            }
          }
          if (isScoped) {
            name = `@${name}`;
          }
          return { name, range, hasVersion };
        }
      },
      ,
      /* 31 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var dP = __webpack_require__(50);
        var createDesc = __webpack_require__(106);
        module3.exports = __webpack_require__(33) ? function(object, key, value) {
          return dP.f(object, key, createDesc(1, value));
        } : function(object, key, value) {
          object[key] = value;
          return object;
        };
      },
      /* 32 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var buffer = __webpack_require__(63);
        var Buffer2 = buffer.Buffer;
        function copyProps(src, dst) {
          for (var key in src) {
            dst[key] = src[key];
          }
        }
        if (Buffer2.from && Buffer2.alloc && Buffer2.allocUnsafe && Buffer2.allocUnsafeSlow) {
          module3.exports = buffer;
        } else {
          copyProps(buffer, exports3);
          exports3.Buffer = SafeBuffer;
        }
        function SafeBuffer(arg, encodingOrOffset, length) {
          return Buffer2(arg, encodingOrOffset, length);
        }
        copyProps(Buffer2, SafeBuffer);
        SafeBuffer.from = function(arg, encodingOrOffset, length) {
          if (typeof arg === "number") {
            throw new TypeError("Argument must not be a number");
          }
          return Buffer2(arg, encodingOrOffset, length);
        };
        SafeBuffer.alloc = function(size, fill, encoding) {
          if (typeof size !== "number") {
            throw new TypeError("Argument must be a number");
          }
          var buf = Buffer2(size);
          if (fill !== void 0) {
            if (typeof encoding === "string") {
              buf.fill(fill, encoding);
            } else {
              buf.fill(fill);
            }
          } else {
            buf.fill(0);
          }
          return buf;
        };
        SafeBuffer.allocUnsafe = function(size) {
          if (typeof size !== "number") {
            throw new TypeError("Argument must be a number");
          }
          return Buffer2(size);
        };
        SafeBuffer.allocUnsafeSlow = function(size) {
          if (typeof size !== "number") {
            throw new TypeError("Argument must be a number");
          }
          return buffer.SlowBuffer(size);
        };
      },
      /* 33 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = !__webpack_require__(85)(function() {
          return Object.defineProperty({}, "a", { get: function() {
            return 7;
          } }).a != 7;
        });
      },
      /* 34 */
      /***/
      function(module3, exports3) {
        module3.exports = function(it) {
          return typeof it === "object" ? it !== null : typeof it === "function";
        };
      },
      /* 35 */
      /***/
      function(module3, exports3) {
        module3.exports = {};
      },
      /* 36 */
      /***/
      function(module3, exports3) {
        module3.exports = require("os");
      },
      ,
      ,
      ,
      /* 40 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.wait = wait;
        exports3.promisify = promisify;
        exports3.queue = queue;
        function wait(delay) {
          return new Promise((resolve) => {
            setTimeout(resolve, delay);
          });
        }
        function promisify(fn, firstData) {
          return function(...args) {
            return new Promise(function(resolve, reject) {
              args.push(function(err, ...result2) {
                let res = result2;
                if (result2.length <= 1) {
                  res = result2[0];
                }
                if (firstData) {
                  res = err;
                  err = null;
                }
                if (err) {
                  reject(err);
                } else {
                  resolve(res);
                }
              });
              fn.apply(null, args);
            });
          };
        }
        function queue(arr, promiseProducer, concurrency = Infinity) {
          concurrency = Math.min(concurrency, arr.length);
          arr = arr.slice();
          const results = [];
          let total = arr.length;
          if (!total) {
            return Promise.resolve(results);
          }
          return new Promise((resolve, reject) => {
            for (let i = 0; i < concurrency; i++) {
              next();
            }
            function next() {
              const item = arr.shift();
              const promise = promiseProducer(item);
              promise.then(function(result2) {
                results.push(result2);
                total--;
                if (total === 0) {
                  resolve(results);
                } else {
                  if (arr.length) {
                    next();
                  }
                }
              }, reject);
            }
          });
        }
      },
      /* 41 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var global2 = __webpack_require__(11);
        var core = __webpack_require__(23);
        var ctx = __webpack_require__(48);
        var hide = __webpack_require__(31);
        var has = __webpack_require__(49);
        var PROTOTYPE = "prototype";
        var $export = function(type, name, source) {
          var IS_FORCED = type & $export.F;
          var IS_GLOBAL = type & $export.G;
          var IS_STATIC = type & $export.S;
          var IS_PROTO = type & $export.P;
          var IS_BIND = type & $export.B;
          var IS_WRAP = type & $export.W;
          var exports4 = IS_GLOBAL ? core : core[name] || (core[name] = {});
          var expProto = exports4[PROTOTYPE];
          var target = IS_GLOBAL ? global2 : IS_STATIC ? global2[name] : (global2[name] || {})[PROTOTYPE];
          var key, own, out;
          if (IS_GLOBAL) source = name;
          for (key in source) {
            own = !IS_FORCED && target && target[key] !== void 0;
            if (own && has(exports4, key)) continue;
            out = own ? target[key] : source[key];
            exports4[key] = IS_GLOBAL && typeof target[key] != "function" ? source[key] : IS_BIND && own ? ctx(out, global2) : IS_WRAP && target[key] == out ? function(C) {
              var F = function(a, b, c) {
                if (this instanceof C) {
                  switch (arguments.length) {
                    case 0:
                      return new C();
                    case 1:
                      return new C(a);
                    case 2:
                      return new C(a, b);
                  }
                  return new C(a, b, c);
                }
                return C.apply(this, arguments);
              };
              F[PROTOTYPE] = C[PROTOTYPE];
              return F;
            }(out) : IS_PROTO && typeof out == "function" ? ctx(Function.call, out) : out;
            if (IS_PROTO) {
              (exports4.virtual || (exports4.virtual = {}))[key] = out;
              if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);
            }
          }
        };
        $export.F = 1;
        $export.G = 2;
        $export.S = 4;
        $export.P = 8;
        $export.B = 16;
        $export.W = 32;
        $export.U = 64;
        $export.R = 128;
        module3.exports = $export;
      },
      /* 42 */
      /***/
      function(module3, exports3, __webpack_require__) {
        try {
          var util = __webpack_require__(2);
          if (typeof util.inherits !== "function") throw "";
          module3.exports = util.inherits;
        } catch (e) {
          module3.exports = __webpack_require__(224);
        }
      },
      ,
      ,
      /* 45 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.home = void 0;
        var _rootUser;
        function _load_rootUser() {
          return _rootUser = _interopRequireDefault(__webpack_require__(169));
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        const path2 = __webpack_require__(0);
        const home = exports3.home = __webpack_require__(36).homedir();
        const userHomeDir = (_rootUser || _load_rootUser()).default ? path2.resolve("/usr/local/share") : home;
        exports3.default = userHomeDir;
      },
      /* 46 */
      /***/
      function(module3, exports3) {
        module3.exports = function(it) {
          if (typeof it != "function") throw TypeError(it + " is not a function!");
          return it;
        };
      },
      /* 47 */
      /***/
      function(module3, exports3) {
        var toString = {}.toString;
        module3.exports = function(it) {
          return toString.call(it).slice(8, -1);
        };
      },
      /* 48 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var aFunction = __webpack_require__(46);
        module3.exports = function(fn, that, length) {
          aFunction(fn);
          if (that === void 0) return fn;
          switch (length) {
            case 1:
              return function(a) {
                return fn.call(that, a);
              };
            case 2:
              return function(a, b) {
                return fn.call(that, a, b);
              };
            case 3:
              return function(a, b, c) {
                return fn.call(that, a, b, c);
              };
          }
          return function() {
            return fn.apply(that, arguments);
          };
        };
      },
      /* 49 */
      /***/
      function(module3, exports3) {
        var hasOwnProperty2 = {}.hasOwnProperty;
        module3.exports = function(it, key) {
          return hasOwnProperty2.call(it, key);
        };
      },
      /* 50 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var IE8_DOM_DEFINE = __webpack_require__(184);
        var toPrimitive = __webpack_require__(201);
        var dP = Object.defineProperty;
        exports3.f = __webpack_require__(33) ? Object.defineProperty : function defineProperty(O, P, Attributes) {
          anObject(O);
          P = toPrimitive(P, true);
          anObject(Attributes);
          if (IE8_DOM_DEFINE) try {
            return dP(O, P, Attributes);
          } catch (e) {
          }
          if ("get" in Attributes || "set" in Attributes) throw TypeError("Accessors not supported!");
          if ("value" in Attributes) O[P] = Attributes.value;
          return O;
        };
      },
      ,
      ,
      ,
      /* 54 */
      /***/
      function(module3, exports3) {
        module3.exports = require("events");
      },
      /* 55 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        const Buffer2 = __webpack_require__(32).Buffer;
        const crypto5 = __webpack_require__(9);
        const Transform = __webpack_require__(17).Transform;
        const SPEC_ALGORITHMS = ["sha256", "sha384", "sha512"];
        const BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i;
        const SRI_REGEX = /^([^-]+)-([^?]+)([?\S*]*)$/;
        const STRICT_SRI_REGEX = /^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/;
        const VCHAR_REGEX = /^[\x21-\x7E]+$/;
        class Hash {
          get isHash() {
            return true;
          }
          constructor(hash, opts) {
            const strict = !!(opts && opts.strict);
            this.source = hash.trim();
            const match = this.source.match(
              strict ? STRICT_SRI_REGEX : SRI_REGEX
            );
            if (!match) {
              return;
            }
            if (strict && !SPEC_ALGORITHMS.some((a) => a === match[1])) {
              return;
            }
            this.algorithm = match[1];
            this.digest = match[2];
            const rawOpts = match[3];
            this.options = rawOpts ? rawOpts.slice(1).split("?") : [];
          }
          hexDigest() {
            return this.digest && Buffer2.from(this.digest, "base64").toString("hex");
          }
          toJSON() {
            return this.toString();
          }
          toString(opts) {
            if (opts && opts.strict) {
              if (!// The spec has very restricted productions for algorithms.
              // https://www.w3.org/TR/CSP2/#source-list-syntax
              (SPEC_ALGORITHMS.some((x) => x === this.algorithm) && // Usually, if someone insists on using a "different" base64, we
              // leave it as-is, since there's multiple standards, and the
              // specified is not a URL-safe variant.
              // https://www.w3.org/TR/CSP2/#base64_value
              this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars.
              // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression
              // https://tools.ietf.org/html/rfc5234#appendix-B.1
              (this.options || []).every((opt) => opt.match(VCHAR_REGEX)))) {
                return "";
              }
            }
            const options = this.options && this.options.length ? `?${this.options.join("?")}` : "";
            return `${this.algorithm}-${this.digest}${options}`;
          }
        }
        class Integrity {
          get isIntegrity() {
            return true;
          }
          toJSON() {
            return this.toString();
          }
          toString(opts) {
            opts = opts || {};
            let sep = opts.sep || " ";
            if (opts.strict) {
              sep = sep.replace(/\S+/g, " ");
            }
            return Object.keys(this).map((k) => {
              return this[k].map((hash) => {
                return Hash.prototype.toString.call(hash, opts);
              }).filter((x) => x.length).join(sep);
            }).filter((x) => x.length).join(sep);
          }
          concat(integrity, opts) {
            const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts);
            return parse2(`${this.toString(opts)} ${other}`, opts);
          }
          hexDigest() {
            return parse2(this, { single: true }).hexDigest();
          }
          match(integrity, opts) {
            const other = parse2(integrity, opts);
            const algo = other.pickAlgorithm(opts);
            return this[algo] && other[algo] && this[algo].find(
              (hash) => other[algo].find(
                (otherhash) => hash.digest === otherhash.digest
              )
            ) || false;
          }
          pickAlgorithm(opts) {
            const pickAlgorithm = opts && opts.pickAlgorithm || getPrioritizedHash;
            const keys = Object.keys(this);
            if (!keys.length) {
              throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);
            }
            return keys.reduce((acc, algo) => {
              return pickAlgorithm(acc, algo) || acc;
            });
          }
        }
        module3.exports.parse = parse2;
        function parse2(sri, opts) {
          opts = opts || {};
          if (typeof sri === "string") {
            return _parse(sri, opts);
          } else if (sri.algorithm && sri.digest) {
            const fullSri = new Integrity();
            fullSri[sri.algorithm] = [sri];
            return _parse(stringify2(fullSri, opts), opts);
          } else {
            return _parse(stringify2(sri, opts), opts);
          }
        }
        function _parse(integrity, opts) {
          if (opts.single) {
            return new Hash(integrity, opts);
          }
          return integrity.trim().split(/\s+/).reduce((acc, string) => {
            const hash = new Hash(string, opts);
            if (hash.algorithm && hash.digest) {
              const algo = hash.algorithm;
              if (!acc[algo]) {
                acc[algo] = [];
              }
              acc[algo].push(hash);
            }
            return acc;
          }, new Integrity());
        }
        module3.exports.stringify = stringify2;
        function stringify2(obj, opts) {
          if (obj.algorithm && obj.digest) {
            return Hash.prototype.toString.call(obj, opts);
          } else if (typeof obj === "string") {
            return stringify2(parse2(obj, opts), opts);
          } else {
            return Integrity.prototype.toString.call(obj, opts);
          }
        }
        module3.exports.fromHex = fromHex;
        function fromHex(hexDigest, algorithm, opts) {
          const optString = opts && opts.options && opts.options.length ? `?${opts.options.join("?")}` : "";
          return parse2(
            `${algorithm}-${Buffer2.from(hexDigest, "hex").toString("base64")}${optString}`,
            opts
          );
        }
        module3.exports.fromData = fromData;
        function fromData(data, opts) {
          opts = opts || {};
          const algorithms = opts.algorithms || ["sha512"];
          const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : "";
          return algorithms.reduce((acc, algo) => {
            const digest = crypto5.createHash(algo).update(data).digest("base64");
            const hash = new Hash(
              `${algo}-${digest}${optString}`,
              opts
            );
            if (hash.algorithm && hash.digest) {
              const algo2 = hash.algorithm;
              if (!acc[algo2]) {
                acc[algo2] = [];
              }
              acc[algo2].push(hash);
            }
            return acc;
          }, new Integrity());
        }
        module3.exports.fromStream = fromStream;
        function fromStream(stream, opts) {
          opts = opts || {};
          const P = opts.Promise || Promise;
          const istream = integrityStream(opts);
          return new P((resolve, reject) => {
            stream.pipe(istream);
            stream.on("error", reject);
            istream.on("error", reject);
            let sri;
            istream.on("integrity", (s) => {
              sri = s;
            });
            istream.on("end", () => resolve(sri));
            istream.on("data", () => {
            });
          });
        }
        module3.exports.checkData = checkData;
        function checkData(data, sri, opts) {
          opts = opts || {};
          sri = parse2(sri, opts);
          if (!Object.keys(sri).length) {
            if (opts.error) {
              throw Object.assign(
                new Error("No valid integrity hashes to check against"),
                {
                  code: "EINTEGRITY"
                }
              );
            } else {
              return false;
            }
          }
          const algorithm = sri.pickAlgorithm(opts);
          const digest = crypto5.createHash(algorithm).update(data).digest("base64");
          const newSri = parse2({ algorithm, digest });
          const match = newSri.match(sri, opts);
          if (match || !opts.error) {
            return match;
          } else if (typeof opts.size === "number" && data.length !== opts.size) {
            const err = new Error(`data size mismatch when checking ${sri}.
  Wanted: ${opts.size}
  Found: ${data.length}`);
            err.code = "EBADSIZE";
            err.found = data.length;
            err.expected = opts.size;
            err.sri = sri;
            throw err;
          } else {
            const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`);
            err.code = "EINTEGRITY";
            err.found = newSri;
            err.expected = sri;
            err.algorithm = algorithm;
            err.sri = sri;
            throw err;
          }
        }
        module3.exports.checkStream = checkStream;
        function checkStream(stream, sri, opts) {
          opts = opts || {};
          const P = opts.Promise || Promise;
          const checker = integrityStream(Object.assign({}, opts, {
            integrity: sri
          }));
          return new P((resolve, reject) => {
            stream.pipe(checker);
            stream.on("error", reject);
            checker.on("error", reject);
            let sri2;
            checker.on("verified", (s) => {
              sri2 = s;
            });
            checker.on("end", () => resolve(sri2));
            checker.on("data", () => {
            });
          });
        }
        module3.exports.integrityStream = integrityStream;
        function integrityStream(opts) {
          opts = opts || {};
          const sri = opts.integrity && parse2(opts.integrity, opts);
          const goodSri = sri && Object.keys(sri).length;
          const algorithm = goodSri && sri.pickAlgorithm(opts);
          const digests = goodSri && sri[algorithm];
          const algorithms = Array.from(
            new Set(
              (opts.algorithms || ["sha512"]).concat(algorithm ? [algorithm] : [])
            )
          );
          const hashes = algorithms.map(crypto5.createHash);
          let streamSize = 0;
          const stream = new Transform({
            transform(chunk, enc, cb) {
              streamSize += chunk.length;
              hashes.forEach((h) => h.update(chunk, enc));
              cb(null, chunk, enc);
            }
          }).on("end", () => {
            const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : "";
            const newSri = parse2(hashes.map((h, i) => {
              return `${algorithms[i]}-${h.digest("base64")}${optString}`;
            }).join(" "), opts);
            const match = goodSri && newSri.match(sri, opts);
            if (typeof opts.size === "number" && streamSize !== opts.size) {
              const err = new Error(`stream size mismatch when checking ${sri}.
  Wanted: ${opts.size}
  Found: ${streamSize}`);
              err.code = "EBADSIZE";
              err.found = streamSize;
              err.expected = opts.size;
              err.sri = sri;
              stream.emit("error", err);
            } else if (opts.integrity && !match) {
              const err = new Error(`${sri} integrity checksum failed when using ${algorithm}: wanted ${digests} but got ${newSri}. (${streamSize} bytes)`);
              err.code = "EINTEGRITY";
              err.found = newSri;
              err.expected = digests;
              err.algorithm = algorithm;
              err.sri = sri;
              stream.emit("error", err);
            } else {
              stream.emit("size", streamSize);
              stream.emit("integrity", newSri);
              match && stream.emit("verified", match);
            }
          });
          return stream;
        }
        module3.exports.create = createIntegrity;
        function createIntegrity(opts) {
          opts = opts || {};
          const algorithms = opts.algorithms || ["sha512"];
          const optString = opts.options && opts.options.length ? `?${opts.options.join("?")}` : "";
          const hashes = algorithms.map(crypto5.createHash);
          return {
            update: function(chunk, enc) {
              hashes.forEach((h) => h.update(chunk, enc));
              return this;
            },
            digest: function(enc) {
              const integrity = algorithms.reduce((acc, algo) => {
                const digest = hashes.shift().digest("base64");
                const hash = new Hash(
                  `${algo}-${digest}${optString}`,
                  opts
                );
                if (hash.algorithm && hash.digest) {
                  const algo2 = hash.algorithm;
                  if (!acc[algo2]) {
                    acc[algo2] = [];
                  }
                  acc[algo2].push(hash);
                }
                return acc;
              }, new Integrity());
              return integrity;
            }
          };
        }
        const NODE_HASHES = new Set(crypto5.getHashes());
        const DEFAULT_PRIORITY = [
          "md5",
          "whirlpool",
          "sha1",
          "sha224",
          "sha256",
          "sha384",
          "sha512",
          // TODO - it's unclear _which_ of these Node will actually use as its name
          //        for the algorithm, so we guesswork it based on the OpenSSL names.
          "sha3",
          "sha3-256",
          "sha3-384",
          "sha3-512",
          "sha3_256",
          "sha3_384",
          "sha3_512"
        ].filter((algo) => NODE_HASHES.has(algo));
        function getPrioritizedHash(algo1, algo2) {
          return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2;
        }
      },
      ,
      ,
      ,
      ,
      /* 60 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = minimatch;
        minimatch.Minimatch = Minimatch;
        var path2 = { sep: "/" };
        try {
          path2 = __webpack_require__(0);
        } catch (er) {
        }
        var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {};
        var expand = __webpack_require__(175);
        var plTypes = {
          "!": { open: "(?:(?!(?:", close: "))[^/]*?)" },
          "?": { open: "(?:", close: ")?" },
          "+": { open: "(?:", close: ")+" },
          "*": { open: "(?:", close: ")*" },
          "@": { open: "(?:", close: ")" }
        };
        var qmark = "[^/]";
        var star = qmark + "*?";
        var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";
        var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?";
        var reSpecials = charSet("().*{}+?[]^$\\!");
        function charSet(s) {
          return s.split("").reduce(function(set, c) {
            set[c] = true;
            return set;
          }, {});
        }
        var slashSplit = /\/+/;
        minimatch.filter = filter;
        function filter(pattern, options) {
          options = options || {};
          return function(p, i, list) {
            return minimatch(p, pattern, options);
          };
        }
        function ext(a, b) {
          a = a || {};
          b = b || {};
          var t = {};
          Object.keys(b).forEach(function(k) {
            t[k] = b[k];
          });
          Object.keys(a).forEach(function(k) {
            t[k] = a[k];
          });
          return t;
        }
        minimatch.defaults = function(def) {
          if (!def || !Object.keys(def).length) return minimatch;
          var orig = minimatch;
          var m = function minimatch2(p, pattern, options) {
            return orig.minimatch(p, pattern, ext(def, options));
          };
          m.Minimatch = function Minimatch2(pattern, options) {
            return new orig.Minimatch(pattern, ext(def, options));
          };
          return m;
        };
        Minimatch.defaults = function(def) {
          if (!def || !Object.keys(def).length) return Minimatch;
          return minimatch.defaults(def).Minimatch;
        };
        function minimatch(p, pattern, options) {
          if (typeof pattern !== "string") {
            throw new TypeError("glob pattern string required");
          }
          if (!options) options = {};
          if (!options.nocomment && pattern.charAt(0) === "#") {
            return false;
          }
          if (pattern.trim() === "") return p === "";
          return new Minimatch(pattern, options).match(p);
        }
        function Minimatch(pattern, options) {
          if (!(this instanceof Minimatch)) {
            return new Minimatch(pattern, options);
          }
          if (typeof pattern !== "string") {
            throw new TypeError("glob pattern string required");
          }
          if (!options) options = {};
          pattern = pattern.trim();
          if (path2.sep !== "/") {
            pattern = pattern.split(path2.sep).join("/");
          }
          this.options = options;
          this.set = [];
          this.pattern = pattern;
          this.regexp = null;
          this.negate = false;
          this.comment = false;
          this.empty = false;
          this.make();
        }
        Minimatch.prototype.debug = function() {
        };
        Minimatch.prototype.make = make;
        function make() {
          if (this._made) return;
          var pattern = this.pattern;
          var options = this.options;
          if (!options.nocomment && pattern.charAt(0) === "#") {
            this.comment = true;
            return;
          }
          if (!pattern) {
            this.empty = true;
            return;
          }
          this.parseNegate();
          var set = this.globSet = this.braceExpand();
          if (options.debug) this.debug = console.error;
          this.debug(this.pattern, set);
          set = this.globParts = set.map(function(s) {
            return s.split(slashSplit);
          });
          this.debug(this.pattern, set);
          set = set.map(function(s, si, set2) {
            return s.map(this.parse, this);
          }, this);
          this.debug(this.pattern, set);
          set = set.filter(function(s) {
            return s.indexOf(false) === -1;
          });
          this.debug(this.pattern, set);
          this.set = set;
        }
        Minimatch.prototype.parseNegate = parseNegate;
        function parseNegate() {
          var pattern = this.pattern;
          var negate = false;
          var options = this.options;
          var negateOffset = 0;
          if (options.nonegate) return;
          for (var i = 0, l = pattern.length; i < l && pattern.charAt(i) === "!"; i++) {
            negate = !negate;
            negateOffset++;
          }
          if (negateOffset) this.pattern = pattern.substr(negateOffset);
          this.negate = negate;
        }
        minimatch.braceExpand = function(pattern, options) {
          return braceExpand(pattern, options);
        };
        Minimatch.prototype.braceExpand = braceExpand;
        function braceExpand(pattern, options) {
          if (!options) {
            if (this instanceof Minimatch) {
              options = this.options;
            } else {
              options = {};
            }
          }
          pattern = typeof pattern === "undefined" ? this.pattern : pattern;
          if (typeof pattern === "undefined") {
            throw new TypeError("undefined pattern");
          }
          if (options.nobrace || !pattern.match(/\{.*\}/)) {
            return [pattern];
          }
          return expand(pattern);
        }
        Minimatch.prototype.parse = parse2;
        var SUBPARSE = {};
        function parse2(pattern, isSub) {
          if (pattern.length > 1024 * 64) {
            throw new TypeError("pattern is too long");
          }
          var options = this.options;
          if (!options.noglobstar && pattern === "**") return GLOBSTAR;
          if (pattern === "") return "";
          var re = "";
          var hasMagic = !!options.nocase;
          var escaping = false;
          var patternListStack = [];
          var negativeLists = [];
          var stateChar;
          var inClass = false;
          var reClassStart = -1;
          var classStart = -1;
          var patternStart = pattern.charAt(0) === "." ? "" : options.dot ? "(?!(?:^|\\/)\\.{1,2}(?:$|\\/))" : "(?!\\.)";
          var self2 = this;
          function clearStateChar() {
            if (stateChar) {
              switch (stateChar) {
                case "*":
                  re += star;
                  hasMagic = true;
                  break;
                case "?":
                  re += qmark;
                  hasMagic = true;
                  break;
                default:
                  re += "\\" + stateChar;
                  break;
              }
              self2.debug("clearStateChar %j %j", stateChar, re);
              stateChar = false;
            }
          }
          for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) {
            this.debug("%s	%s %s %j", pattern, i, re, c);
            if (escaping && reSpecials[c]) {
              re += "\\" + c;
              escaping = false;
              continue;
            }
            switch (c) {
              case "/":
                return false;
              case "\\":
                clearStateChar();
                escaping = true;
                continue;
              // the various stateChar values
              // for the "extglob" stuff.
              case "?":
              case "*":
              case "+":
              case "@":
              case "!":
                this.debug("%s	%s %s %j <-- stateChar", pattern, i, re, c);
                if (inClass) {
                  this.debug("  in class");
                  if (c === "!" && i === classStart + 1) c = "^";
                  re += c;
                  continue;
                }
                self2.debug("call clearStateChar %j", stateChar);
                clearStateChar();
                stateChar = c;
                if (options.noext) clearStateChar();
                continue;
              case "(":
                if (inClass) {
                  re += "(";
                  continue;
                }
                if (!stateChar) {
                  re += "\\(";
                  continue;
                }
                patternListStack.push({
                  type: stateChar,
                  start: i - 1,
                  reStart: re.length,
                  open: plTypes[stateChar].open,
                  close: plTypes[stateChar].close
                });
                re += stateChar === "!" ? "(?:(?!(?:" : "(?:";
                this.debug("plType %j %j", stateChar, re);
                stateChar = false;
                continue;
              case ")":
                if (inClass || !patternListStack.length) {
                  re += "\\)";
                  continue;
                }
                clearStateChar();
                hasMagic = true;
                var pl = patternListStack.pop();
                re += pl.close;
                if (pl.type === "!") {
                  negativeLists.push(pl);
                }
                pl.reEnd = re.length;
                continue;
              case "|":
                if (inClass || !patternListStack.length || escaping) {
                  re += "\\|";
                  escaping = false;
                  continue;
                }
                clearStateChar();
                re += "|";
                continue;
              // these are mostly the same in regexp and glob
              case "[":
                clearStateChar();
                if (inClass) {
                  re += "\\" + c;
                  continue;
                }
                inClass = true;
                classStart = i;
                reClassStart = re.length;
                re += c;
                continue;
              case "]":
                if (i === classStart + 1 || !inClass) {
                  re += "\\" + c;
                  escaping = false;
                  continue;
                }
                if (inClass) {
                  var cs = pattern.substring(classStart + 1, i);
                  try {
                    RegExp("[" + cs + "]");
                  } catch (er) {
                    var sp = this.parse(cs, SUBPARSE);
                    re = re.substr(0, reClassStart) + "\\[" + sp[0] + "\\]";
                    hasMagic = hasMagic || sp[1];
                    inClass = false;
                    continue;
                  }
                }
                hasMagic = true;
                inClass = false;
                re += c;
                continue;
              default:
                clearStateChar();
                if (escaping) {
                  escaping = false;
                } else if (reSpecials[c] && !(c === "^" && inClass)) {
                  re += "\\";
                }
                re += c;
            }
          }
          if (inClass) {
            cs = pattern.substr(classStart + 1);
            sp = this.parse(cs, SUBPARSE);
            re = re.substr(0, reClassStart) + "\\[" + sp[0];
            hasMagic = hasMagic || sp[1];
          }
          for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
            var tail = re.slice(pl.reStart + pl.open.length);
            this.debug("setting tail", re, pl);
            tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function(_, $1, $2) {
              if (!$2) {
                $2 = "\\";
              }
              return $1 + $1 + $2 + "|";
            });
            this.debug("tail=%j\n   %s", tail, tail, pl, re);
            var t = pl.type === "*" ? star : pl.type === "?" ? qmark : "\\" + pl.type;
            hasMagic = true;
            re = re.slice(0, pl.reStart) + t + "\\(" + tail;
          }
          clearStateChar();
          if (escaping) {
            re += "\\\\";
          }
          var addPatternStart = false;
          switch (re.charAt(0)) {
            case ".":
            case "[":
            case "(":
              addPatternStart = true;
          }
          for (var n = negativeLists.length - 1; n > -1; n--) {
            var nl = negativeLists[n];
            var nlBefore = re.slice(0, nl.reStart);
            var nlFirst = re.slice(nl.reStart, nl.reEnd - 8);
            var nlLast = re.slice(nl.reEnd - 8, nl.reEnd);
            var nlAfter = re.slice(nl.reEnd);
            nlLast += nlAfter;
            var openParensBefore = nlBefore.split("(").length - 1;
            var cleanAfter = nlAfter;
            for (i = 0; i < openParensBefore; i++) {
              cleanAfter = cleanAfter.replace(/\)[+*?]?/, "");
            }
            nlAfter = cleanAfter;
            var dollar = "";
            if (nlAfter === "" && isSub !== SUBPARSE) {
              dollar = "$";
            }
            var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast;
            re = newRe;
          }
          if (re !== "" && hasMagic) {
            re = "(?=.)" + re;
          }
          if (addPatternStart) {
            re = patternStart + re;
          }
          if (isSub === SUBPARSE) {
            return [re, hasMagic];
          }
          if (!hasMagic) {
            return globUnescape(pattern);
          }
          var flags = options.nocase ? "i" : "";
          try {
            var regExp = new RegExp("^" + re + "$", flags);
          } catch (er) {
            return new RegExp("$.");
          }
          regExp._glob = pattern;
          regExp._src = re;
          return regExp;
        }
        minimatch.makeRe = function(pattern, options) {
          return new Minimatch(pattern, options || {}).makeRe();
        };
        Minimatch.prototype.makeRe = makeRe;
        function makeRe() {
          if (this.regexp || this.regexp === false) return this.regexp;
          var set = this.set;
          if (!set.length) {
            this.regexp = false;
            return this.regexp;
          }
          var options = this.options;
          var twoStar = options.noglobstar ? star : options.dot ? twoStarDot : twoStarNoDot;
          var flags = options.nocase ? "i" : "";
          var re = set.map(function(pattern) {
            return pattern.map(function(p) {
              return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src;
            }).join("\\/");
          }).join("|");
          re = "^(?:" + re + ")$";
          if (this.negate) re = "^(?!" + re + ").*$";
          try {
            this.regexp = new RegExp(re, flags);
          } catch (ex) {
            this.regexp = false;
          }
          return this.regexp;
        }
        minimatch.match = function(list, pattern, options) {
          options = options || {};
          var mm = new Minimatch(pattern, options);
          list = list.filter(function(f) {
            return mm.match(f);
          });
          if (mm.options.nonull && !list.length) {
            list.push(pattern);
          }
          return list;
        };
        Minimatch.prototype.match = match;
        function match(f, partial) {
          this.debug("match", f, this.pattern);
          if (this.comment) return false;
          if (this.empty) return f === "";
          if (f === "/" && partial) return true;
          var options = this.options;
          if (path2.sep !== "/") {
            f = f.split(path2.sep).join("/");
          }
          f = f.split(slashSplit);
          this.debug(this.pattern, "split", f);
          var set = this.set;
          this.debug(this.pattern, "set", set);
          var filename;
          var i;
          for (i = f.length - 1; i >= 0; i--) {
            filename = f[i];
            if (filename) break;
          }
          for (i = 0; i < set.length; i++) {
            var pattern = set[i];
            var file = f;
            if (options.matchBase && pattern.length === 1) {
              file = [filename];
            }
            var hit = this.matchOne(file, pattern, partial);
            if (hit) {
              if (options.flipNegate) return true;
              return !this.negate;
            }
          }
          if (options.flipNegate) return false;
          return this.negate;
        }
        Minimatch.prototype.matchOne = function(file, pattern, partial) {
          var options = this.options;
          this.debug(
            "matchOne",
            { "this": this, file, pattern }
          );
          this.debug("matchOne", file.length, pattern.length);
          for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) {
            this.debug("matchOne loop");
            var p = pattern[pi];
            var f = file[fi];
            this.debug(pattern, p, f);
            if (p === false) return false;
            if (p === GLOBSTAR) {
              this.debug("GLOBSTAR", [pattern, p, f]);
              var fr = fi;
              var pr = pi + 1;
              if (pr === pl) {
                this.debug("** at the end");
                for (; fi < fl; fi++) {
                  if (file[fi] === "." || file[fi] === ".." || !options.dot && file[fi].charAt(0) === ".") return false;
                }
                return true;
              }
              while (fr < fl) {
                var swallowee = file[fr];
                this.debug("\nglobstar while", file, fr, pattern, pr, swallowee);
                if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
                  this.debug("globstar found match!", fr, fl, swallowee);
                  return true;
                } else {
                  if (swallowee === "." || swallowee === ".." || !options.dot && swallowee.charAt(0) === ".") {
                    this.debug("dot detected!", file, fr, pattern, pr);
                    break;
                  }
                  this.debug("globstar swallow a segment, and continue");
                  fr++;
                }
              }
              if (partial) {
                this.debug("\n>>> no match, partial?", file, fr, pattern, pr);
                if (fr === fl) return true;
              }
              return false;
            }
            var hit;
            if (typeof p === "string") {
              if (options.nocase) {
                hit = f.toLowerCase() === p.toLowerCase();
              } else {
                hit = f === p;
              }
              this.debug("string match", p, f, hit);
            } else {
              hit = f.match(p);
              this.debug("pattern match", p, f, hit);
            }
            if (!hit) return false;
          }
          if (fi === fl && pi === pl) {
            return true;
          } else if (fi === fl) {
            return partial;
          } else if (pi === pl) {
            var emptyFileEnd = fi === fl - 1 && file[fi] === "";
            return emptyFileEnd;
          }
          throw new Error("wtf?");
        };
        function globUnescape(s) {
          return s.replace(/\\(.)/g, "$1");
        }
        function regExpEscape(s) {
          return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
        }
      },
      /* 61 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var wrappy = __webpack_require__(123);
        module3.exports = wrappy(once);
        module3.exports.strict = wrappy(onceStrict);
        once.proto = once(function() {
          Object.defineProperty(Function.prototype, "once", {
            value: function() {
              return once(this);
            },
            configurable: true
          });
          Object.defineProperty(Function.prototype, "onceStrict", {
            value: function() {
              return onceStrict(this);
            },
            configurable: true
          });
        });
        function once(fn) {
          var f = function() {
            if (f.called) return f.value;
            f.called = true;
            return f.value = fn.apply(this, arguments);
          };
          f.called = false;
          return f;
        }
        function onceStrict(fn) {
          var f = function() {
            if (f.called)
              throw new Error(f.onceError);
            f.called = true;
            return f.value = fn.apply(this, arguments);
          };
          var name = fn.name || "Function wrapped with `once`";
          f.onceError = name + " shouldn't be called more than once";
          f.called = false;
          return f;
        }
      },
      ,
      /* 63 */
      /***/
      function(module3, exports3) {
        module3.exports = require("buffer");
      },
      ,
      ,
      ,
      /* 67 */
      /***/
      function(module3, exports3) {
        module3.exports = function(it) {
          if (it == void 0) throw TypeError("Can't call method on  " + it);
          return it;
        };
      },
      /* 68 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var isObject = __webpack_require__(34);
        var document2 = __webpack_require__(11).document;
        var is = isObject(document2) && isObject(document2.createElement);
        module3.exports = function(it) {
          return is ? document2.createElement(it) : {};
        };
      },
      /* 69 */
      /***/
      function(module3, exports3) {
        module3.exports = true;
      },
      /* 70 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var aFunction = __webpack_require__(46);
        function PromiseCapability(C) {
          var resolve, reject;
          this.promise = new C(function($$resolve, $$reject) {
            if (resolve !== void 0 || reject !== void 0) throw TypeError("Bad Promise constructor");
            resolve = $$resolve;
            reject = $$reject;
          });
          this.resolve = aFunction(resolve);
          this.reject = aFunction(reject);
        }
        module3.exports.f = function(C) {
          return new PromiseCapability(C);
        };
      },
      /* 71 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var def = __webpack_require__(50).f;
        var has = __webpack_require__(49);
        var TAG = __webpack_require__(13)("toStringTag");
        module3.exports = function(it, tag, stat) {
          if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });
        };
      },
      /* 72 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var shared = __webpack_require__(107)("keys");
        var uid = __webpack_require__(111);
        module3.exports = function(key) {
          return shared[key] || (shared[key] = uid(key));
        };
      },
      /* 73 */
      /***/
      function(module3, exports3) {
        var ceil = Math.ceil;
        var floor = Math.floor;
        module3.exports = function(it) {
          return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
        };
      },
      /* 74 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var IObject = __webpack_require__(131);
        var defined = __webpack_require__(67);
        module3.exports = function(it) {
          return IObject(defined(it));
        };
      },
      /* 75 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = glob;
        var fs = __webpack_require__(3);
        var rp = __webpack_require__(114);
        var minimatch = __webpack_require__(60);
        var Minimatch = minimatch.Minimatch;
        var inherits = __webpack_require__(42);
        var EE = __webpack_require__(54).EventEmitter;
        var path2 = __webpack_require__(0);
        var assert = __webpack_require__(22);
        var isAbsolute = __webpack_require__(76);
        var globSync = __webpack_require__(218);
        var common = __webpack_require__(115);
        var alphasort = common.alphasort;
        var alphasorti = common.alphasorti;
        var setopts = common.setopts;
        var ownProp = common.ownProp;
        var inflight = __webpack_require__(223);
        var util = __webpack_require__(2);
        var childrenIgnored = common.childrenIgnored;
        var isIgnored = common.isIgnored;
        var once = __webpack_require__(61);
        function glob(pattern, options, cb) {
          if (typeof options === "function") cb = options, options = {};
          if (!options) options = {};
          if (options.sync) {
            if (cb)
              throw new TypeError("callback provided to sync glob");
            return globSync(pattern, options);
          }
          return new Glob(pattern, options, cb);
        }
        glob.sync = globSync;
        var GlobSync = glob.GlobSync = globSync.GlobSync;
        glob.glob = glob;
        function extend(origin, add) {
          if (add === null || typeof add !== "object") {
            return origin;
          }
          var keys = Object.keys(add);
          var i = keys.length;
          while (i--) {
            origin[keys[i]] = add[keys[i]];
          }
          return origin;
        }
        glob.hasMagic = function(pattern, options_) {
          var options = extend({}, options_);
          options.noprocess = true;
          var g = new Glob(pattern, options);
          var set = g.minimatch.set;
          if (!pattern)
            return false;
          if (set.length > 1)
            return true;
          for (var j = 0; j < set[0].length; j++) {
            if (typeof set[0][j] !== "string")
              return true;
          }
          return false;
        };
        glob.Glob = Glob;
        inherits(Glob, EE);
        function Glob(pattern, options, cb) {
          if (typeof options === "function") {
            cb = options;
            options = null;
          }
          if (options && options.sync) {
            if (cb)
              throw new TypeError("callback provided to sync glob");
            return new GlobSync(pattern, options);
          }
          if (!(this instanceof Glob))
            return new Glob(pattern, options, cb);
          setopts(this, pattern, options);
          this._didRealPath = false;
          var n = this.minimatch.set.length;
          this.matches = new Array(n);
          if (typeof cb === "function") {
            cb = once(cb);
            this.on("error", cb);
            this.on("end", function(matches) {
              cb(null, matches);
            });
          }
          var self2 = this;
          this._processing = 0;
          this._emitQueue = [];
          this._processQueue = [];
          this.paused = false;
          if (this.noprocess)
            return this;
          if (n === 0)
            return done();
          var sync = true;
          for (var i = 0; i < n; i++) {
            this._process(this.minimatch.set[i], i, false, done);
          }
          sync = false;
          function done() {
            --self2._processing;
            if (self2._processing <= 0) {
              if (sync) {
                process.nextTick(function() {
                  self2._finish();
                });
              } else {
                self2._finish();
              }
            }
          }
        }
        Glob.prototype._finish = function() {
          assert(this instanceof Glob);
          if (this.aborted)
            return;
          if (this.realpath && !this._didRealpath)
            return this._realpath();
          common.finish(this);
          this.emit("end", this.found);
        };
        Glob.prototype._realpath = function() {
          if (this._didRealpath)
            return;
          this._didRealpath = true;
          var n = this.matches.length;
          if (n === 0)
            return this._finish();
          var self2 = this;
          for (var i = 0; i < this.matches.length; i++)
            this._realpathSet(i, next);
          function next() {
            if (--n === 0)
              self2._finish();
          }
        };
        Glob.prototype._realpathSet = function(index, cb) {
          var matchset = this.matches[index];
          if (!matchset)
            return cb();
          var found = Object.keys(matchset);
          var self2 = this;
          var n = found.length;
          if (n === 0)
            return cb();
          var set = this.matches[index] = /* @__PURE__ */ Object.create(null);
          found.forEach(function(p, i) {
            p = self2._makeAbs(p);
            rp.realpath(p, self2.realpathCache, function(er, real) {
              if (!er)
                set[real] = true;
              else if (er.syscall === "stat")
                set[p] = true;
              else
                self2.emit("error", er);
              if (--n === 0) {
                self2.matches[index] = set;
                cb();
              }
            });
          });
        };
        Glob.prototype._mark = function(p) {
          return common.mark(this, p);
        };
        Glob.prototype._makeAbs = function(f) {
          return common.makeAbs(this, f);
        };
        Glob.prototype.abort = function() {
          this.aborted = true;
          this.emit("abort");
        };
        Glob.prototype.pause = function() {
          if (!this.paused) {
            this.paused = true;
            this.emit("pause");
          }
        };
        Glob.prototype.resume = function() {
          if (this.paused) {
            this.emit("resume");
            this.paused = false;
            if (this._emitQueue.length) {
              var eq = this._emitQueue.slice(0);
              this._emitQueue.length = 0;
              for (var i = 0; i < eq.length; i++) {
                var e = eq[i];
                this._emitMatch(e[0], e[1]);
              }
            }
            if (this._processQueue.length) {
              var pq = this._processQueue.slice(0);
              this._processQueue.length = 0;
              for (var i = 0; i < pq.length; i++) {
                var p = pq[i];
                this._processing--;
                this._process(p[0], p[1], p[2], p[3]);
              }
            }
          }
        };
        Glob.prototype._process = function(pattern, index, inGlobStar, cb) {
          assert(this instanceof Glob);
          assert(typeof cb === "function");
          if (this.aborted)
            return;
          this._processing++;
          if (this.paused) {
            this._processQueue.push([pattern, index, inGlobStar, cb]);
            return;
          }
          var n = 0;
          while (typeof pattern[n] === "string") {
            n++;
          }
          var prefix;
          switch (n) {
            // if not, then this is rather simple
            case pattern.length:
              this._processSimple(pattern.join("/"), index, cb);
              return;
            case 0:
              prefix = null;
              break;
            default:
              prefix = pattern.slice(0, n).join("/");
              break;
          }
          var remain = pattern.slice(n);
          var read;
          if (prefix === null)
            read = ".";
          else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
            if (!prefix || !isAbsolute(prefix))
              prefix = "/" + prefix;
            read = prefix;
          } else
            read = prefix;
          var abs = this._makeAbs(read);
          if (childrenIgnored(this, read))
            return cb();
          var isGlobStar = remain[0] === minimatch.GLOBSTAR;
          if (isGlobStar)
            this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb);
          else
            this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb);
        };
        Glob.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar, cb) {
          var self2 = this;
          this._readdir(abs, inGlobStar, function(er, entries) {
            return self2._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
          });
        };
        Glob.prototype._processReaddir2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
          if (!entries)
            return cb();
          var pn = remain[0];
          var negate = !!this.minimatch.negate;
          var rawGlob = pn._glob;
          var dotOk = this.dot || rawGlob.charAt(0) === ".";
          var matchedEntries = [];
          for (var i = 0; i < entries.length; i++) {
            var e = entries[i];
            if (e.charAt(0) !== "." || dotOk) {
              var m;
              if (negate && !prefix) {
                m = !e.match(pn);
              } else {
                m = e.match(pn);
              }
              if (m)
                matchedEntries.push(e);
            }
          }
          var len = matchedEntries.length;
          if (len === 0)
            return cb();
          if (remain.length === 1 && !this.mark && !this.stat) {
            if (!this.matches[index])
              this.matches[index] = /* @__PURE__ */ Object.create(null);
            for (var i = 0; i < len; i++) {
              var e = matchedEntries[i];
              if (prefix) {
                if (prefix !== "/")
                  e = prefix + "/" + e;
                else
                  e = prefix + e;
              }
              if (e.charAt(0) === "/" && !this.nomount) {
                e = path2.join(this.root, e);
              }
              this._emitMatch(index, e);
            }
            return cb();
          }
          remain.shift();
          for (var i = 0; i < len; i++) {
            var e = matchedEntries[i];
            var newPattern;
            if (prefix) {
              if (prefix !== "/")
                e = prefix + "/" + e;
              else
                e = prefix + e;
            }
            this._process([e].concat(remain), index, inGlobStar, cb);
          }
          cb();
        };
        Glob.prototype._emitMatch = function(index, e) {
          if (this.aborted)
            return;
          if (isIgnored(this, e))
            return;
          if (this.paused) {
            this._emitQueue.push([index, e]);
            return;
          }
          var abs = isAbsolute(e) ? e : this._makeAbs(e);
          if (this.mark)
            e = this._mark(e);
          if (this.absolute)
            e = abs;
          if (this.matches[index][e])
            return;
          if (this.nodir) {
            var c = this.cache[abs];
            if (c === "DIR" || Array.isArray(c))
              return;
          }
          this.matches[index][e] = true;
          var st = this.statCache[abs];
          if (st)
            this.emit("stat", e, st);
          this.emit("match", e);
        };
        Glob.prototype._readdirInGlobStar = function(abs, cb) {
          if (this.aborted)
            return;
          if (this.follow)
            return this._readdir(abs, false, cb);
          var lstatkey = "lstat\0" + abs;
          var self2 = this;
          var lstatcb = inflight(lstatkey, lstatcb_);
          if (lstatcb)
            fs.lstat(abs, lstatcb);
          function lstatcb_(er, lstat) {
            if (er && er.code === "ENOENT")
              return cb();
            var isSym = lstat && lstat.isSymbolicLink();
            self2.symlinks[abs] = isSym;
            if (!isSym && lstat && !lstat.isDirectory()) {
              self2.cache[abs] = "FILE";
              cb();
            } else
              self2._readdir(abs, false, cb);
          }
        };
        Glob.prototype._readdir = function(abs, inGlobStar, cb) {
          if (this.aborted)
            return;
          cb = inflight("readdir\0" + abs + "\0" + inGlobStar, cb);
          if (!cb)
            return;
          if (inGlobStar && !ownProp(this.symlinks, abs))
            return this._readdirInGlobStar(abs, cb);
          if (ownProp(this.cache, abs)) {
            var c = this.cache[abs];
            if (!c || c === "FILE")
              return cb();
            if (Array.isArray(c))
              return cb(null, c);
          }
          var self2 = this;
          fs.readdir(abs, readdirCb(this, abs, cb));
        };
        function readdirCb(self2, abs, cb) {
          return function(er, entries) {
            if (er)
              self2._readdirError(abs, er, cb);
            else
              self2._readdirEntries(abs, entries, cb);
          };
        }
        Glob.prototype._readdirEntries = function(abs, entries, cb) {
          if (this.aborted)
            return;
          if (!this.mark && !this.stat) {
            for (var i = 0; i < entries.length; i++) {
              var e = entries[i];
              if (abs === "/")
                e = abs + e;
              else
                e = abs + "/" + e;
              this.cache[e] = true;
            }
          }
          this.cache[abs] = entries;
          return cb(null, entries);
        };
        Glob.prototype._readdirError = function(f, er, cb) {
          if (this.aborted)
            return;
          switch (er.code) {
            case "ENOTSUP":
            // https://github.com/isaacs/node-glob/issues/205
            case "ENOTDIR":
              var abs = this._makeAbs(f);
              this.cache[abs] = "FILE";
              if (abs === this.cwdAbs) {
                var error = new Error(er.code + " invalid cwd " + this.cwd);
                error.path = this.cwd;
                error.code = er.code;
                this.emit("error", error);
                this.abort();
              }
              break;
            case "ENOENT":
            // not terribly unusual
            case "ELOOP":
            case "ENAMETOOLONG":
            case "UNKNOWN":
              this.cache[this._makeAbs(f)] = false;
              break;
            default:
              this.cache[this._makeAbs(f)] = false;
              if (this.strict) {
                this.emit("error", er);
                this.abort();
              }
              if (!this.silent)
                console.error("glob error", er);
              break;
          }
          return cb();
        };
        Glob.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar, cb) {
          var self2 = this;
          this._readdir(abs, inGlobStar, function(er, entries) {
            self2._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb);
          });
        };
        Glob.prototype._processGlobStar2 = function(prefix, read, abs, remain, index, inGlobStar, entries, cb) {
          if (!entries)
            return cb();
          var remainWithoutGlobStar = remain.slice(1);
          var gspref = prefix ? [prefix] : [];
          var noGlobStar = gspref.concat(remainWithoutGlobStar);
          this._process(noGlobStar, index, false, cb);
          var isSym = this.symlinks[abs];
          var len = entries.length;
          if (isSym && inGlobStar)
            return cb();
          for (var i = 0; i < len; i++) {
            var e = entries[i];
            if (e.charAt(0) === "." && !this.dot)
              continue;
            var instead = gspref.concat(entries[i], remainWithoutGlobStar);
            this._process(instead, index, true, cb);
            var below = gspref.concat(entries[i], remain);
            this._process(below, index, true, cb);
          }
          cb();
        };
        Glob.prototype._processSimple = function(prefix, index, cb) {
          var self2 = this;
          this._stat(prefix, function(er, exists) {
            self2._processSimple2(prefix, index, er, exists, cb);
          });
        };
        Glob.prototype._processSimple2 = function(prefix, index, er, exists, cb) {
          if (!this.matches[index])
            this.matches[index] = /* @__PURE__ */ Object.create(null);
          if (!exists)
            return cb();
          if (prefix && isAbsolute(prefix) && !this.nomount) {
            var trail = /[\/\\]$/.test(prefix);
            if (prefix.charAt(0) === "/") {
              prefix = path2.join(this.root, prefix);
            } else {
              prefix = path2.resolve(this.root, prefix);
              if (trail)
                prefix += "/";
            }
          }
          if (process.platform === "win32")
            prefix = prefix.replace(/\\/g, "/");
          this._emitMatch(index, prefix);
          cb();
        };
        Glob.prototype._stat = function(f, cb) {
          var abs = this._makeAbs(f);
          var needDir = f.slice(-1) === "/";
          if (f.length > this.maxLength)
            return cb();
          if (!this.stat && ownProp(this.cache, abs)) {
            var c = this.cache[abs];
            if (Array.isArray(c))
              c = "DIR";
            if (!needDir || c === "DIR")
              return cb(null, c);
            if (needDir && c === "FILE")
              return cb();
          }
          var exists;
          var stat = this.statCache[abs];
          if (stat !== void 0) {
            if (stat === false)
              return cb(null, stat);
            else {
              var type = stat.isDirectory() ? "DIR" : "FILE";
              if (needDir && type === "FILE")
                return cb();
              else
                return cb(null, type, stat);
            }
          }
          var self2 = this;
          var statcb = inflight("stat\0" + abs, lstatcb_);
          if (statcb)
            fs.lstat(abs, statcb);
          function lstatcb_(er, lstat) {
            if (lstat && lstat.isSymbolicLink()) {
              return fs.stat(abs, function(er2, stat2) {
                if (er2)
                  self2._stat2(f, abs, null, lstat, cb);
                else
                  self2._stat2(f, abs, er2, stat2, cb);
              });
            } else {
              self2._stat2(f, abs, er, lstat, cb);
            }
          }
        };
        Glob.prototype._stat2 = function(f, abs, er, stat, cb) {
          if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
            this.statCache[abs] = false;
            return cb();
          }
          var needDir = f.slice(-1) === "/";
          this.statCache[abs] = stat;
          if (abs.slice(-1) === "/" && stat && !stat.isDirectory())
            return cb(null, false, stat);
          var c = true;
          if (stat)
            c = stat.isDirectory() ? "DIR" : "FILE";
          this.cache[abs] = this.cache[abs] || c;
          if (needDir && c === "FILE")
            return cb();
          return cb(null, c, stat);
        };
      },
      /* 76 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        function posix(path2) {
          return path2.charAt(0) === "/";
        }
        function win32(path2) {
          var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/;
          var result2 = splitDeviceRe.exec(path2);
          var device = result2[1] || "";
          var isUnc = Boolean(device && device.charAt(1) !== ":");
          return Boolean(result2[2] || isUnc);
        }
        module3.exports = process.platform === "win32" ? win32 : posix;
        module3.exports.posix = posix;
        module3.exports.win32 = win32;
      },
      ,
      ,
      /* 79 */
      /***/
      function(module3, exports3) {
        module3.exports = require("tty");
      },
      ,
      /* 81 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.default = function(str, fileLoc = "lockfile") {
          str = (0, (_stripBom || _load_stripBom()).default)(str);
          return hasMergeConflicts(str) ? parseWithConflict(str, fileLoc) : { type: "success", object: parse2(str, fileLoc) };
        };
        var _util;
        function _load_util() {
          return _util = _interopRequireDefault(__webpack_require__(2));
        }
        var _invariant;
        function _load_invariant() {
          return _invariant = _interopRequireDefault(__webpack_require__(7));
        }
        var _stripBom;
        function _load_stripBom() {
          return _stripBom = _interopRequireDefault(__webpack_require__(122));
        }
        var _constants;
        function _load_constants() {
          return _constants = __webpack_require__(6);
        }
        var _errors;
        function _load_errors() {
          return _errors = __webpack_require__(4);
        }
        var _map;
        function _load_map() {
          return _map = _interopRequireDefault(__webpack_require__(20));
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        const VERSION_REGEX = /^yarn lockfile v(\d+)$/;
        const TOKEN_TYPES = {
          boolean: "BOOLEAN",
          string: "STRING",
          identifier: "IDENTIFIER",
          eof: "EOF",
          colon: "COLON",
          newline: "NEWLINE",
          comment: "COMMENT",
          indent: "INDENT",
          invalid: "INVALID",
          number: "NUMBER",
          comma: "COMMA"
        };
        const VALID_PROP_VALUE_TOKENS = [TOKEN_TYPES.boolean, TOKEN_TYPES.string, TOKEN_TYPES.number];
        function isValidPropValueToken(token) {
          return VALID_PROP_VALUE_TOKENS.indexOf(token.type) >= 0;
        }
        function* tokenise(input) {
          let lastNewline = false;
          let line = 1;
          let col = 0;
          function buildToken(type, value) {
            return { line, col, type, value };
          }
          while (input.length) {
            let chop = 0;
            if (input[0] === "\n" || input[0] === "\r") {
              chop++;
              if (input[1] === "\n") {
                chop++;
              }
              line++;
              col = 0;
              yield buildToken(TOKEN_TYPES.newline);
            } else if (input[0] === "#") {
              chop++;
              let val = "";
              while (input[chop] !== "\n") {
                val += input[chop];
                chop++;
              }
              yield buildToken(TOKEN_TYPES.comment, val);
            } else if (input[0] === " ") {
              if (lastNewline) {
                let indent = "";
                for (let i = 0; input[i] === " "; i++) {
                  indent += input[i];
                }
                if (indent.length % 2) {
                  throw new TypeError("Invalid number of spaces");
                } else {
                  chop = indent.length;
                  yield buildToken(TOKEN_TYPES.indent, indent.length / 2);
                }
              } else {
                chop++;
              }
            } else if (input[0] === '"') {
              let val = "";
              for (let i = 0; ; i++) {
                const currentChar = input[i];
                val += currentChar;
                if (i > 0 && currentChar === '"') {
                  const isEscaped = input[i - 1] === "\\" && input[i - 2] !== "\\";
                  if (!isEscaped) {
                    break;
                  }
                }
              }
              chop = val.length;
              try {
                yield buildToken(TOKEN_TYPES.string, JSON.parse(val));
              } catch (err) {
                if (err instanceof SyntaxError) {
                  yield buildToken(TOKEN_TYPES.invalid);
                } else {
                  throw err;
                }
              }
            } else if (/^[0-9]/.test(input)) {
              let val = "";
              for (let i = 0; /^[0-9]$/.test(input[i]); i++) {
                val += input[i];
              }
              chop = val.length;
              yield buildToken(TOKEN_TYPES.number, +val);
            } else if (/^true/.test(input)) {
              yield buildToken(TOKEN_TYPES.boolean, true);
              chop = 4;
            } else if (/^false/.test(input)) {
              yield buildToken(TOKEN_TYPES.boolean, false);
              chop = 5;
            } else if (input[0] === ":") {
              yield buildToken(TOKEN_TYPES.colon);
              chop++;
            } else if (input[0] === ",") {
              yield buildToken(TOKEN_TYPES.comma);
              chop++;
            } else if (/^[a-zA-Z\/-]/g.test(input)) {
              let name = "";
              for (let i = 0; i < input.length; i++) {
                const char = input[i];
                if (char === ":" || char === " " || char === "\n" || char === "\r" || char === ",") {
                  break;
                } else {
                  name += char;
                }
              }
              chop = name.length;
              yield buildToken(TOKEN_TYPES.string, name);
            } else {
              yield buildToken(TOKEN_TYPES.invalid);
            }
            if (!chop) {
              yield buildToken(TOKEN_TYPES.invalid);
            }
            col += chop;
            lastNewline = input[0] === "\n" || input[0] === "\r" && input[1] === "\n";
            input = input.slice(chop);
          }
          yield buildToken(TOKEN_TYPES.eof);
        }
        class Parser {
          constructor(input, fileLoc = "lockfile") {
            this.comments = [];
            this.tokens = tokenise(input);
            this.fileLoc = fileLoc;
          }
          onComment(token) {
            const value = token.value;
            (0, (_invariant || _load_invariant()).default)(typeof value === "string", "expected token value to be a string");
            const comment = value.trim();
            const versionMatch = comment.match(VERSION_REGEX);
            if (versionMatch) {
              const version2 = +versionMatch[1];
              if (version2 > (_constants || _load_constants()).LOCKFILE_VERSION) {
                throw new (_errors || _load_errors()).MessageError(`Can't install from a lockfile of version ${version2} as you're on an old yarn version that only supports versions up to ${(_constants || _load_constants()).LOCKFILE_VERSION}. Run \`$ yarn self-update\` to upgrade to the latest version.`);
              }
            }
            this.comments.push(comment);
          }
          next() {
            const item = this.tokens.next();
            (0, (_invariant || _load_invariant()).default)(item, "expected a token");
            const done = item.done, value = item.value;
            if (done || !value) {
              throw new Error("No more tokens");
            } else if (value.type === TOKEN_TYPES.comment) {
              this.onComment(value);
              return this.next();
            } else {
              return this.token = value;
            }
          }
          unexpected(msg = "Unexpected token") {
            throw new SyntaxError(`${msg} ${this.token.line}:${this.token.col} in ${this.fileLoc}`);
          }
          expect(tokType) {
            if (this.token.type === tokType) {
              this.next();
            } else {
              this.unexpected();
            }
          }
          eat(tokType) {
            if (this.token.type === tokType) {
              this.next();
              return true;
            } else {
              return false;
            }
          }
          parse(indent = 0) {
            const obj = (0, (_map || _load_map()).default)();
            while (true) {
              const propToken = this.token;
              if (propToken.type === TOKEN_TYPES.newline) {
                const nextToken = this.next();
                if (!indent) {
                  continue;
                }
                if (nextToken.type !== TOKEN_TYPES.indent) {
                  break;
                }
                if (nextToken.value === indent) {
                  this.next();
                } else {
                  break;
                }
              } else if (propToken.type === TOKEN_TYPES.indent) {
                if (propToken.value === indent) {
                  this.next();
                } else {
                  break;
                }
              } else if (propToken.type === TOKEN_TYPES.eof) {
                break;
              } else if (propToken.type === TOKEN_TYPES.string) {
                const key = propToken.value;
                (0, (_invariant || _load_invariant()).default)(key, "Expected a key");
                const keys = [key];
                this.next();
                while (this.token.type === TOKEN_TYPES.comma) {
                  this.next();
                  const keyToken = this.token;
                  if (keyToken.type !== TOKEN_TYPES.string) {
                    this.unexpected("Expected string");
                  }
                  const key2 = keyToken.value;
                  (0, (_invariant || _load_invariant()).default)(key2, "Expected a key");
                  keys.push(key2);
                  this.next();
                }
                const valToken = this.token;
                if (valToken.type === TOKEN_TYPES.colon) {
                  this.next();
                  const val = this.parse(indent + 1);
                  for (var _iterator = keys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator](); ; ) {
                    var _ref;
                    if (_isArray) {
                      if (_i >= _iterator.length) break;
                      _ref = _iterator[_i++];
                    } else {
                      _i = _iterator.next();
                      if (_i.done) break;
                      _ref = _i.value;
                    }
                    const key2 = _ref;
                    obj[key2] = val;
                  }
                  if (indent && this.token.type !== TOKEN_TYPES.indent) {
                    break;
                  }
                } else if (isValidPropValueToken(valToken)) {
                  for (var _iterator2 = keys, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator](); ; ) {
                    var _ref2;
                    if (_isArray2) {
                      if (_i2 >= _iterator2.length) break;
                      _ref2 = _iterator2[_i2++];
                    } else {
                      _i2 = _iterator2.next();
                      if (_i2.done) break;
                      _ref2 = _i2.value;
                    }
                    const key2 = _ref2;
                    obj[key2] = valToken.value;
                  }
                  this.next();
                } else {
                  this.unexpected("Invalid value type");
                }
              } else {
                this.unexpected(`Unknown token: ${(_util || _load_util()).default.inspect(propToken)}`);
              }
            }
            return obj;
          }
        }
        const MERGE_CONFLICT_ANCESTOR = "|||||||";
        const MERGE_CONFLICT_END = ">>>>>>>";
        const MERGE_CONFLICT_SEP = "=======";
        const MERGE_CONFLICT_START = "<<<<<<<";
        function extractConflictVariants(str) {
          const variants = [[], []];
          const lines = str.split(/\r?\n/g);
          let skip = false;
          while (lines.length) {
            const line = lines.shift();
            if (line.startsWith(MERGE_CONFLICT_START)) {
              while (lines.length) {
                const conflictLine = lines.shift();
                if (conflictLine === MERGE_CONFLICT_SEP) {
                  skip = false;
                  break;
                } else if (skip || conflictLine.startsWith(MERGE_CONFLICT_ANCESTOR)) {
                  skip = true;
                  continue;
                } else {
                  variants[0].push(conflictLine);
                }
              }
              while (lines.length) {
                const conflictLine = lines.shift();
                if (conflictLine.startsWith(MERGE_CONFLICT_END)) {
                  break;
                } else {
                  variants[1].push(conflictLine);
                }
              }
            } else {
              variants[0].push(line);
              variants[1].push(line);
            }
          }
          return [variants[0].join("\n"), variants[1].join("\n")];
        }
        function hasMergeConflicts(str) {
          return str.includes(MERGE_CONFLICT_START) && str.includes(MERGE_CONFLICT_SEP) && str.includes(MERGE_CONFLICT_END);
        }
        function parse2(str, fileLoc) {
          const parser = new Parser(str, fileLoc);
          parser.next();
          return parser.parse();
        }
        function parseWithConflict(str, fileLoc) {
          const variants = extractConflictVariants(str);
          try {
            return { type: "merge", object: Object.assign({}, parse2(variants[0], fileLoc), parse2(variants[1], fileLoc)) };
          } catch (err) {
            if (err instanceof SyntaxError) {
              return { type: "conflict", object: {} };
            } else {
              throw err;
            }
          }
        }
      },
      ,
      ,
      /* 84 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        var _map;
        function _load_map() {
          return _map = _interopRequireDefault(__webpack_require__(20));
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        const debug = __webpack_require__(212)("yarn");
        class BlockingQueue {
          constructor(alias, maxConcurrency = Infinity) {
            this.concurrencyQueue = [];
            this.maxConcurrency = maxConcurrency;
            this.runningCount = 0;
            this.warnedStuck = false;
            this.alias = alias;
            this.first = true;
            this.running = (0, (_map || _load_map()).default)();
            this.queue = (0, (_map || _load_map()).default)();
            this.stuckTick = this.stuckTick.bind(this);
          }
          stillActive() {
            if (this.stuckTimer) {
              clearTimeout(this.stuckTimer);
            }
            this.stuckTimer = setTimeout(this.stuckTick, 5e3);
            this.stuckTimer.unref && this.stuckTimer.unref();
          }
          stuckTick() {
            if (this.runningCount === 1) {
              this.warnedStuck = true;
              debug(`The ${JSON.stringify(this.alias)} blocking queue may be stuck. 5 seconds without any activity with 1 worker: ${Object.keys(this.running)[0]}`);
            }
          }
          push(key, factory) {
            if (this.first) {
              this.first = false;
            } else {
              this.stillActive();
            }
            return new Promise((resolve, reject) => {
              const queue = this.queue[key] = this.queue[key] || [];
              queue.push({ factory, resolve, reject });
              if (!this.running[key]) {
                this.shift(key);
              }
            });
          }
          shift(key) {
            if (this.running[key]) {
              delete this.running[key];
              this.runningCount--;
              if (this.stuckTimer) {
                clearTimeout(this.stuckTimer);
                this.stuckTimer = null;
              }
              if (this.warnedStuck) {
                this.warnedStuck = false;
                debug(`${JSON.stringify(this.alias)} blocking queue finally resolved. Nothing to worry about.`);
              }
            }
            const queue = this.queue[key];
            if (!queue) {
              return;
            }
            var _queue$shift = queue.shift();
            const resolve = _queue$shift.resolve, reject = _queue$shift.reject, factory = _queue$shift.factory;
            if (!queue.length) {
              delete this.queue[key];
            }
            const next = () => {
              this.shift(key);
              this.shiftConcurrencyQueue();
            };
            const run = () => {
              this.running[key] = true;
              this.runningCount++;
              factory().then(function(val) {
                resolve(val);
                next();
                return null;
              }).catch(function(err) {
                reject(err);
                next();
              });
            };
            this.maybePushConcurrencyQueue(run);
          }
          maybePushConcurrencyQueue(run) {
            if (this.runningCount < this.maxConcurrency) {
              run();
            } else {
              this.concurrencyQueue.push(run);
            }
          }
          shiftConcurrencyQueue() {
            if (this.runningCount < this.maxConcurrency) {
              const fn = this.concurrencyQueue.shift();
              if (fn) {
                fn();
              }
            }
          }
        }
        exports3.default = BlockingQueue;
      },
      /* 85 */
      /***/
      function(module3, exports3) {
        module3.exports = function(exec) {
          try {
            return !!exec();
          } catch (e) {
            return true;
          }
        };
      },
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      /* 100 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var cof = __webpack_require__(47);
        var TAG = __webpack_require__(13)("toStringTag");
        var ARG = cof(/* @__PURE__ */ function() {
          return arguments;
        }()) == "Arguments";
        var tryGet = function(it, key) {
          try {
            return it[key];
          } catch (e) {
          }
        };
        module3.exports = function(it) {
          var O, T, B;
          return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (T = tryGet(O = Object(it), TAG)) == "string" ? T : ARG ? cof(O) : (B = cof(O)) == "Object" && typeof O.callee == "function" ? "Arguments" : B;
        };
      },
      /* 101 */
      /***/
      function(module3, exports3) {
        module3.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",");
      },
      /* 102 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var document2 = __webpack_require__(11).document;
        module3.exports = document2 && document2.documentElement;
      },
      /* 103 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(69);
        var $export = __webpack_require__(41);
        var redefine = __webpack_require__(197);
        var hide = __webpack_require__(31);
        var Iterators = __webpack_require__(35);
        var $iterCreate = __webpack_require__(188);
        var setToStringTag = __webpack_require__(71);
        var getPrototypeOf = __webpack_require__(194);
        var ITERATOR = __webpack_require__(13)("iterator");
        var BUGGY = !([].keys && "next" in [].keys());
        var FF_ITERATOR = "@@iterator";
        var KEYS = "keys";
        var VALUES = "values";
        var returnThis = function() {
          return this;
        };
        module3.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {
          $iterCreate(Constructor, NAME, next);
          var getMethod = function(kind) {
            if (!BUGGY && kind in proto) return proto[kind];
            switch (kind) {
              case KEYS:
                return function keys() {
                  return new Constructor(this, kind);
                };
              case VALUES:
                return function values() {
                  return new Constructor(this, kind);
                };
            }
            return function entries() {
              return new Constructor(this, kind);
            };
          };
          var TAG = NAME + " Iterator";
          var DEF_VALUES = DEFAULT == VALUES;
          var VALUES_BUG = false;
          var proto = Base.prototype;
          var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];
          var $default = $native || getMethod(DEFAULT);
          var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod("entries") : void 0;
          var $anyNative = NAME == "Array" ? proto.entries || $native : $native;
          var methods, key, IteratorPrototype;
          if ($anyNative) {
            IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));
            if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {
              setToStringTag(IteratorPrototype, TAG, true);
              if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != "function") hide(IteratorPrototype, ITERATOR, returnThis);
            }
          }
          if (DEF_VALUES && $native && $native.name !== VALUES) {
            VALUES_BUG = true;
            $default = function values() {
              return $native.call(this);
            };
          }
          if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {
            hide(proto, ITERATOR, $default);
          }
          Iterators[NAME] = $default;
          Iterators[TAG] = returnThis;
          if (DEFAULT) {
            methods = {
              values: DEF_VALUES ? $default : getMethod(VALUES),
              keys: IS_SET ? $default : getMethod(KEYS),
              entries: $entries
            };
            if (FORCED) for (key in methods) {
              if (!(key in proto)) redefine(proto, key, methods[key]);
            }
            else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
          }
          return methods;
        };
      },
      /* 104 */
      /***/
      function(module3, exports3) {
        module3.exports = function(exec) {
          try {
            return { e: false, v: exec() };
          } catch (e) {
            return { e: true, v: e };
          }
        };
      },
      /* 105 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var isObject = __webpack_require__(34);
        var newPromiseCapability = __webpack_require__(70);
        module3.exports = function(C, x) {
          anObject(C);
          if (isObject(x) && x.constructor === C) return x;
          var promiseCapability = newPromiseCapability.f(C);
          var resolve = promiseCapability.resolve;
          resolve(x);
          return promiseCapability.promise;
        };
      },
      /* 106 */
      /***/
      function(module3, exports3) {
        module3.exports = function(bitmap, value) {
          return {
            enumerable: !(bitmap & 1),
            configurable: !(bitmap & 2),
            writable: !(bitmap & 4),
            value
          };
        };
      },
      /* 107 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var core = __webpack_require__(23);
        var global2 = __webpack_require__(11);
        var SHARED = "__core-js_shared__";
        var store = global2[SHARED] || (global2[SHARED] = {});
        (module3.exports = function(key, value) {
          return store[key] || (store[key] = value !== void 0 ? value : {});
        })("versions", []).push({
          version: core.version,
          mode: __webpack_require__(69) ? "pure" : "global",
          copyright: "\xA9 2018 Denis Pushkarev (zloirock.ru)"
        });
      },
      /* 108 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var aFunction = __webpack_require__(46);
        var SPECIES = __webpack_require__(13)("species");
        module3.exports = function(O, D) {
          var C = anObject(O).constructor;
          var S;
          return C === void 0 || (S = anObject(C)[SPECIES]) == void 0 ? D : aFunction(S);
        };
      },
      /* 109 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var ctx = __webpack_require__(48);
        var invoke = __webpack_require__(185);
        var html = __webpack_require__(102);
        var cel = __webpack_require__(68);
        var global2 = __webpack_require__(11);
        var process2 = global2.process;
        var setTask = global2.setImmediate;
        var clearTask = global2.clearImmediate;
        var MessageChannel = global2.MessageChannel;
        var Dispatch = global2.Dispatch;
        var counter = 0;
        var queue = {};
        var ONREADYSTATECHANGE = "onreadystatechange";
        var defer, channel, port;
        var run = function() {
          var id = +this;
          if (queue.hasOwnProperty(id)) {
            var fn = queue[id];
            delete queue[id];
            fn();
          }
        };
        var listener = function(event) {
          run.call(event.data);
        };
        if (!setTask || !clearTask) {
          setTask = function setImmediate2(fn) {
            var args = [];
            var i = 1;
            while (arguments.length > i) args.push(arguments[i++]);
            queue[++counter] = function() {
              invoke(typeof fn == "function" ? fn : Function(fn), args);
            };
            defer(counter);
            return counter;
          };
          clearTask = function clearImmediate2(id) {
            delete queue[id];
          };
          if (__webpack_require__(47)(process2) == "process") {
            defer = function(id) {
              process2.nextTick(ctx(run, id, 1));
            };
          } else if (Dispatch && Dispatch.now) {
            defer = function(id) {
              Dispatch.now(ctx(run, id, 1));
            };
          } else if (MessageChannel) {
            channel = new MessageChannel();
            port = channel.port2;
            channel.port1.onmessage = listener;
            defer = ctx(port.postMessage, port, 1);
          } else if (global2.addEventListener && typeof postMessage == "function" && !global2.importScripts) {
            defer = function(id) {
              global2.postMessage(id + "", "*");
            };
            global2.addEventListener("message", listener, false);
          } else if (ONREADYSTATECHANGE in cel("script")) {
            defer = function(id) {
              html.appendChild(cel("script"))[ONREADYSTATECHANGE] = function() {
                html.removeChild(this);
                run.call(id);
              };
            };
          } else {
            defer = function(id) {
              setTimeout(ctx(run, id, 1), 0);
            };
          }
        }
        module3.exports = {
          set: setTask,
          clear: clearTask
        };
      },
      /* 110 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var toInteger = __webpack_require__(73);
        var min = Math.min;
        module3.exports = function(it) {
          return it > 0 ? min(toInteger(it), 9007199254740991) : 0;
        };
      },
      /* 111 */
      /***/
      function(module3, exports3) {
        var id = 0;
        var px = Math.random();
        module3.exports = function(key) {
          return "Symbol(".concat(key === void 0 ? "" : key, ")_", (++id + px).toString(36));
        };
      },
      /* 112 */
      /***/
      function(module3, exports3, __webpack_require__) {
        exports3 = module3.exports = createDebug.debug = createDebug["default"] = createDebug;
        exports3.coerce = coerce;
        exports3.disable = disable;
        exports3.enable = enable;
        exports3.enabled = enabled;
        exports3.humanize = __webpack_require__(229);
        exports3.instances = [];
        exports3.names = [];
        exports3.skips = [];
        exports3.formatters = {};
        function selectColor(namespace) {
          var hash = 0, i;
          for (i in namespace) {
            hash = (hash << 5) - hash + namespace.charCodeAt(i);
            hash |= 0;
          }
          return exports3.colors[Math.abs(hash) % exports3.colors.length];
        }
        function createDebug(namespace) {
          var prevTime;
          function debug() {
            if (!debug.enabled) return;
            var self2 = debug;
            var curr = +/* @__PURE__ */ new Date();
            var ms = curr - (prevTime || curr);
            self2.diff = ms;
            self2.prev = prevTime;
            self2.curr = curr;
            prevTime = curr;
            var args = new Array(arguments.length);
            for (var i = 0; i < args.length; i++) {
              args[i] = arguments[i];
            }
            args[0] = exports3.coerce(args[0]);
            if ("string" !== typeof args[0]) {
              args.unshift("%O");
            }
            var index = 0;
            args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) {
              if (match === "%%") return match;
              index++;
              var formatter = exports3.formatters[format];
              if ("function" === typeof formatter) {
                var val = args[index];
                match = formatter.call(self2, val);
                args.splice(index, 1);
                index--;
              }
              return match;
            });
            exports3.formatArgs.call(self2, args);
            var logFn = debug.log || exports3.log || console.log.bind(console);
            logFn.apply(self2, args);
          }
          debug.namespace = namespace;
          debug.enabled = exports3.enabled(namespace);
          debug.useColors = exports3.useColors();
          debug.color = selectColor(namespace);
          debug.destroy = destroy;
          if ("function" === typeof exports3.init) {
            exports3.init(debug);
          }
          exports3.instances.push(debug);
          return debug;
        }
        function destroy() {
          var index = exports3.instances.indexOf(this);
          if (index !== -1) {
            exports3.instances.splice(index, 1);
            return true;
          } else {
            return false;
          }
        }
        function enable(namespaces) {
          exports3.save(namespaces);
          exports3.names = [];
          exports3.skips = [];
          var i;
          var split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
          var len = split.length;
          for (i = 0; i < len; i++) {
            if (!split[i]) continue;
            namespaces = split[i].replace(/\*/g, ".*?");
            if (namespaces[0] === "-") {
              exports3.skips.push(new RegExp("^" + namespaces.substr(1) + "$"));
            } else {
              exports3.names.push(new RegExp("^" + namespaces + "$"));
            }
          }
          for (i = 0; i < exports3.instances.length; i++) {
            var instance = exports3.instances[i];
            instance.enabled = exports3.enabled(instance.namespace);
          }
        }
        function disable() {
          exports3.enable("");
        }
        function enabled(name) {
          if (name[name.length - 1] === "*") {
            return true;
          }
          var i, len;
          for (i = 0, len = exports3.skips.length; i < len; i++) {
            if (exports3.skips[i].test(name)) {
              return false;
            }
          }
          for (i = 0, len = exports3.names.length; i < len; i++) {
            if (exports3.names[i].test(name)) {
              return true;
            }
          }
          return false;
        }
        function coerce(val) {
          if (val instanceof Error) return val.stack || val.message;
          return val;
        }
      },
      ,
      /* 114 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = realpath;
        realpath.realpath = realpath;
        realpath.sync = realpathSync;
        realpath.realpathSync = realpathSync;
        realpath.monkeypatch = monkeypatch;
        realpath.unmonkeypatch = unmonkeypatch;
        var fs = __webpack_require__(3);
        var origRealpath = fs.realpath;
        var origRealpathSync = fs.realpathSync;
        var version2 = process.version;
        var ok = /^v[0-5]\./.test(version2);
        var old = __webpack_require__(217);
        function newError(er) {
          return er && er.syscall === "realpath" && (er.code === "ELOOP" || er.code === "ENOMEM" || er.code === "ENAMETOOLONG");
        }
        function realpath(p, cache, cb) {
          if (ok) {
            return origRealpath(p, cache, cb);
          }
          if (typeof cache === "function") {
            cb = cache;
            cache = null;
          }
          origRealpath(p, cache, function(er, result2) {
            if (newError(er)) {
              old.realpath(p, cache, cb);
            } else {
              cb(er, result2);
            }
          });
        }
        function realpathSync(p, cache) {
          if (ok) {
            return origRealpathSync(p, cache);
          }
          try {
            return origRealpathSync(p, cache);
          } catch (er) {
            if (newError(er)) {
              return old.realpathSync(p, cache);
            } else {
              throw er;
            }
          }
        }
        function monkeypatch() {
          fs.realpath = realpath;
          fs.realpathSync = realpathSync;
        }
        function unmonkeypatch() {
          fs.realpath = origRealpath;
          fs.realpathSync = origRealpathSync;
        }
      },
      /* 115 */
      /***/
      function(module3, exports3, __webpack_require__) {
        exports3.alphasort = alphasort;
        exports3.alphasorti = alphasorti;
        exports3.setopts = setopts;
        exports3.ownProp = ownProp;
        exports3.makeAbs = makeAbs;
        exports3.finish = finish;
        exports3.mark = mark;
        exports3.isIgnored = isIgnored;
        exports3.childrenIgnored = childrenIgnored;
        function ownProp(obj, field) {
          return Object.prototype.hasOwnProperty.call(obj, field);
        }
        var path2 = __webpack_require__(0);
        var minimatch = __webpack_require__(60);
        var isAbsolute = __webpack_require__(76);
        var Minimatch = minimatch.Minimatch;
        function alphasorti(a, b) {
          return a.toLowerCase().localeCompare(b.toLowerCase());
        }
        function alphasort(a, b) {
          return a.localeCompare(b);
        }
        function setupIgnores(self2, options) {
          self2.ignore = options.ignore || [];
          if (!Array.isArray(self2.ignore))
            self2.ignore = [self2.ignore];
          if (self2.ignore.length) {
            self2.ignore = self2.ignore.map(ignoreMap);
          }
        }
        function ignoreMap(pattern) {
          var gmatcher = null;
          if (pattern.slice(-3) === "/**") {
            var gpattern = pattern.replace(/(\/\*\*)+$/, "");
            gmatcher = new Minimatch(gpattern, { dot: true });
          }
          return {
            matcher: new Minimatch(pattern, { dot: true }),
            gmatcher
          };
        }
        function setopts(self2, pattern, options) {
          if (!options)
            options = {};
          if (options.matchBase && -1 === pattern.indexOf("/")) {
            if (options.noglobstar) {
              throw new Error("base matching requires globstar");
            }
            pattern = "**/" + pattern;
          }
          self2.silent = !!options.silent;
          self2.pattern = pattern;
          self2.strict = options.strict !== false;
          self2.realpath = !!options.realpath;
          self2.realpathCache = options.realpathCache || /* @__PURE__ */ Object.create(null);
          self2.follow = !!options.follow;
          self2.dot = !!options.dot;
          self2.mark = !!options.mark;
          self2.nodir = !!options.nodir;
          if (self2.nodir)
            self2.mark = true;
          self2.sync = !!options.sync;
          self2.nounique = !!options.nounique;
          self2.nonull = !!options.nonull;
          self2.nosort = !!options.nosort;
          self2.nocase = !!options.nocase;
          self2.stat = !!options.stat;
          self2.noprocess = !!options.noprocess;
          self2.absolute = !!options.absolute;
          self2.maxLength = options.maxLength || Infinity;
          self2.cache = options.cache || /* @__PURE__ */ Object.create(null);
          self2.statCache = options.statCache || /* @__PURE__ */ Object.create(null);
          self2.symlinks = options.symlinks || /* @__PURE__ */ Object.create(null);
          setupIgnores(self2, options);
          self2.changedCwd = false;
          var cwd = process.cwd();
          if (!ownProp(options, "cwd"))
            self2.cwd = cwd;
          else {
            self2.cwd = path2.resolve(options.cwd);
            self2.changedCwd = self2.cwd !== cwd;
          }
          self2.root = options.root || path2.resolve(self2.cwd, "/");
          self2.root = path2.resolve(self2.root);
          if (process.platform === "win32")
            self2.root = self2.root.replace(/\\/g, "/");
          self2.cwdAbs = isAbsolute(self2.cwd) ? self2.cwd : makeAbs(self2, self2.cwd);
          if (process.platform === "win32")
            self2.cwdAbs = self2.cwdAbs.replace(/\\/g, "/");
          self2.nomount = !!options.nomount;
          options.nonegate = true;
          options.nocomment = true;
          self2.minimatch = new Minimatch(pattern, options);
          self2.options = self2.minimatch.options;
        }
        function finish(self2) {
          var nou = self2.nounique;
          var all = nou ? [] : /* @__PURE__ */ Object.create(null);
          for (var i = 0, l = self2.matches.length; i < l; i++) {
            var matches = self2.matches[i];
            if (!matches || Object.keys(matches).length === 0) {
              if (self2.nonull) {
                var literal = self2.minimatch.globSet[i];
                if (nou)
                  all.push(literal);
                else
                  all[literal] = true;
              }
            } else {
              var m = Object.keys(matches);
              if (nou)
                all.push.apply(all, m);
              else
                m.forEach(function(m2) {
                  all[m2] = true;
                });
            }
          }
          if (!nou)
            all = Object.keys(all);
          if (!self2.nosort)
            all = all.sort(self2.nocase ? alphasorti : alphasort);
          if (self2.mark) {
            for (var i = 0; i < all.length; i++) {
              all[i] = self2._mark(all[i]);
            }
            if (self2.nodir) {
              all = all.filter(function(e) {
                var notDir = !/\/$/.test(e);
                var c = self2.cache[e] || self2.cache[makeAbs(self2, e)];
                if (notDir && c)
                  notDir = c !== "DIR" && !Array.isArray(c);
                return notDir;
              });
            }
          }
          if (self2.ignore.length)
            all = all.filter(function(m2) {
              return !isIgnored(self2, m2);
            });
          self2.found = all;
        }
        function mark(self2, p) {
          var abs = makeAbs(self2, p);
          var c = self2.cache[abs];
          var m = p;
          if (c) {
            var isDir = c === "DIR" || Array.isArray(c);
            var slash = p.slice(-1) === "/";
            if (isDir && !slash)
              m += "/";
            else if (!isDir && slash)
              m = m.slice(0, -1);
            if (m !== p) {
              var mabs = makeAbs(self2, m);
              self2.statCache[mabs] = self2.statCache[abs];
              self2.cache[mabs] = self2.cache[abs];
            }
          }
          return m;
        }
        function makeAbs(self2, f) {
          var abs = f;
          if (f.charAt(0) === "/") {
            abs = path2.join(self2.root, f);
          } else if (isAbsolute(f) || f === "") {
            abs = f;
          } else if (self2.changedCwd) {
            abs = path2.resolve(self2.cwd, f);
          } else {
            abs = path2.resolve(f);
          }
          if (process.platform === "win32")
            abs = abs.replace(/\\/g, "/");
          return abs;
        }
        function isIgnored(self2, path3) {
          if (!self2.ignore.length)
            return false;
          return self2.ignore.some(function(item) {
            return item.matcher.match(path3) || !!(item.gmatcher && item.gmatcher.match(path3));
          });
        }
        function childrenIgnored(self2, path3) {
          if (!self2.ignore.length)
            return false;
          return self2.ignore.some(function(item) {
            return !!(item.gmatcher && item.gmatcher.match(path3));
          });
        }
      },
      /* 116 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var path2 = __webpack_require__(0);
        var fs = __webpack_require__(3);
        var _0777 = parseInt("0777", 8);
        module3.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP;
        function mkdirP(p, opts, f, made) {
          if (typeof opts === "function") {
            f = opts;
            opts = {};
          } else if (!opts || typeof opts !== "object") {
            opts = { mode: opts };
          }
          var mode = opts.mode;
          var xfs = opts.fs || fs;
          if (mode === void 0) {
            mode = _0777 & ~process.umask();
          }
          if (!made) made = null;
          var cb = f || function() {
          };
          p = path2.resolve(p);
          xfs.mkdir(p, mode, function(er) {
            if (!er) {
              made = made || p;
              return cb(null, made);
            }
            switch (er.code) {
              case "ENOENT":
                mkdirP(path2.dirname(p), opts, function(er2, made2) {
                  if (er2) cb(er2, made2);
                  else mkdirP(p, opts, cb, made2);
                });
                break;
              // In the case of any other error, just see if there's a dir
              // there already.  If so, then hooray!  If not, then something
              // is borked.
              default:
                xfs.stat(p, function(er2, stat) {
                  if (er2 || !stat.isDirectory()) cb(er, made);
                  else cb(null, made);
                });
                break;
            }
          });
        }
        mkdirP.sync = function sync(p, opts, made) {
          if (!opts || typeof opts !== "object") {
            opts = { mode: opts };
          }
          var mode = opts.mode;
          var xfs = opts.fs || fs;
          if (mode === void 0) {
            mode = _0777 & ~process.umask();
          }
          if (!made) made = null;
          p = path2.resolve(p);
          try {
            xfs.mkdirSync(p, mode);
            made = made || p;
          } catch (err0) {
            switch (err0.code) {
              case "ENOENT":
                made = sync(path2.dirname(p), opts, made);
                sync(p, opts, made);
                break;
              // In the case of any other error, just see if there's a dir
              // there already.  If so, then hooray!  If not, then something
              // is borked.
              default:
                var stat;
                try {
                  stat = xfs.statSync(p);
                } catch (err1) {
                  throw err0;
                }
                if (!stat.isDirectory()) throw err0;
                break;
            }
          }
          return made;
        };
      },
      ,
      ,
      ,
      ,
      ,
      /* 122 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        module3.exports = (x) => {
          if (typeof x !== "string") {
            throw new TypeError("Expected a string, got " + typeof x);
          }
          if (x.charCodeAt(0) === 65279) {
            return x.slice(1);
          }
          return x;
        };
      },
      /* 123 */
      /***/
      function(module3, exports3) {
        module3.exports = wrappy;
        function wrappy(fn, cb) {
          if (fn && cb) return wrappy(fn)(cb);
          if (typeof fn !== "function")
            throw new TypeError("need wrapper function");
          Object.keys(fn).forEach(function(k) {
            wrapper[k] = fn[k];
          });
          return wrapper;
          function wrapper() {
            var args = new Array(arguments.length);
            for (var i = 0; i < args.length; i++) {
              args[i] = arguments[i];
            }
            var ret2 = fn.apply(this, args);
            var cb2 = args[args.length - 1];
            if (typeof ret2 === "function" && ret2 !== cb2) {
              Object.keys(cb2).forEach(function(k) {
                ret2[k] = cb2[k];
              });
            }
            return ret2;
          }
        }
      },
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      /* 131 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var cof = __webpack_require__(47);
        module3.exports = Object("z").propertyIsEnumerable(0) ? Object : function(it) {
          return cof(it) == "String" ? it.split("") : Object(it);
        };
      },
      /* 132 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var $keys = __webpack_require__(195);
        var enumBugKeys = __webpack_require__(101);
        module3.exports = Object.keys || function keys(O) {
          return $keys(O, enumBugKeys);
        };
      },
      /* 133 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var defined = __webpack_require__(67);
        module3.exports = function(it) {
          return Object(defined(it));
        };
      },
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      /* 145 */
      /***/
      function(module3, exports3) {
        module3.exports = { "name": "yarn", "installationMethod": "unknown", "version": "1.10.0-0", "license": "BSD-2-Clause", "preferGlobal": true, "description": "\u{1F4E6}\u{1F408} Fast, reliable, and secure dependency management.", "dependencies": { "@zkochan/cmd-shim": "^2.2.4", "babel-runtime": "^6.26.0", "bytes": "^3.0.0", "camelcase": "^4.0.0", "chalk": "^2.1.0", "commander": "^2.9.0", "death": "^1.0.0", "debug": "^3.0.0", "deep-equal": "^1.0.1", "detect-indent": "^5.0.0", "dnscache": "^1.0.1", "glob": "^7.1.1", "gunzip-maybe": "^1.4.0", "hash-for-dep": "^1.2.3", "imports-loader": "^0.8.0", "ini": "^1.3.4", "inquirer": "^3.0.1", "invariant": "^2.2.0", "is-builtin-module": "^2.0.0", "is-ci": "^1.0.10", "is-webpack-bundle": "^1.0.0", "leven": "^2.0.0", "loud-rejection": "^1.2.0", "micromatch": "^2.3.11", "mkdirp": "^0.5.1", "node-emoji": "^1.6.1", "normalize-url": "^2.0.0", "npm-logical-tree": "^1.2.1", "object-path": "^0.11.2", "proper-lockfile": "^2.0.0", "puka": "^1.0.0", "read": "^1.0.7", "request": "^2.87.0", "request-capture-har": "^1.2.2", "rimraf": "^2.5.0", "semver": "^5.1.0", "ssri": "^5.3.0", "strip-ansi": "^4.0.0", "strip-bom": "^3.0.0", "tar-fs": "^1.16.0", "tar-stream": "^1.6.1", "uuid": "^3.0.1", "v8-compile-cache": "^2.0.0", "validate-npm-package-license": "^3.0.3", "yn": "^2.0.0" }, "devDependencies": { "babel-core": "^6.26.0", "babel-eslint": "^7.2.3", "babel-loader": "^6.2.5", "babel-plugin-array-includes": "^2.0.3", "babel-plugin-transform-builtin-extend": "^1.1.2", "babel-plugin-transform-inline-imports-commonjs": "^1.0.0", "babel-plugin-transform-runtime": "^6.4.3", "babel-preset-env": "^1.6.0", "babel-preset-flow": "^6.23.0", "babel-preset-stage-0": "^6.0.0", "babylon": "^6.5.0", "commitizen": "^2.9.6", "cz-conventional-changelog": "^2.0.0", "eslint": "^4.3.0", "eslint-config-fb-strict": "^22.0.0", "eslint-plugin-babel": "^5.0.0", "eslint-plugin-flowtype": "^2.35.0", "eslint-plugin-jasmine": "^2.6.2", "eslint-plugin-jest": "^21.0.0", "eslint-plugin-jsx-a11y": "^6.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", "eslint-plugin-prettier": "^2.1.2", "eslint-plugin-react": "^7.1.0", "eslint-plugin-relay": "^0.0.24", "eslint-plugin-yarn-internal": "file:scripts/eslint-rules", "execa": "^0.10.0", "flow-bin": "^0.66.0", "git-release-notes": "^3.0.0", "gulp": "^3.9.0", "gulp-babel": "^7.0.0", "gulp-if": "^2.0.1", "gulp-newer": "^1.0.0", "gulp-plumber": "^1.0.1", "gulp-sourcemaps": "^2.2.0", "gulp-util": "^3.0.7", "gulp-watch": "^5.0.0", "jest": "^22.4.4", "jsinspect": "^0.12.6", "minimatch": "^3.0.4", "mock-stdin": "^0.3.0", "prettier": "^1.5.2", "temp": "^0.8.3", "webpack": "^2.1.0-beta.25", "yargs": "^6.3.0" }, "resolutions": { "sshpk": "^1.14.2" }, "engines": { "node": ">=4.0.0" }, "repository": "yarnpkg/yarn", "bin": { "yarn": "./bin/yarn.js", "yarnpkg": "./bin/yarn.js" }, "scripts": { "build": "gulp build", "build-bundle": "node ./scripts/build-webpack.js", "build-chocolatey": "powershell ./scripts/build-chocolatey.ps1", "build-deb": "./scripts/build-deb.sh", "build-dist": "bash ./scripts/build-dist.sh", "build-win-installer": "scripts\\build-windows-installer.bat", "changelog": "git-release-notes $(git describe --tags --abbrev=0 $(git describe --tags --abbrev=0)^)..$(git describe --tags --abbrev=0) scripts/changelog.md", "dupe-check": "yarn jsinspect ./src", "lint": "eslint . && flow check", "pkg-tests": "yarn --cwd packages/pkg-tests jest yarn.test.js", "prettier": "eslint src __tests__ --fix", "release-branch": "./scripts/release-branch.sh", "test": "yarn lint && yarn test-only", "test-only": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --verbose", "test-only-debug": "node --inspect-brk --max_old_space_size=4096 node_modules/jest/bin/jest.js --runInBand --verbose", "test-coverage": "node --max_old_space_size=4096 node_modules/jest/bin/jest.js --coverage --verbose", "watch": "gulp watch", "commit": "git-cz" }, "jest": { "collectCoverageFrom": ["src/**/*.js"], "testEnvironment": "node", "modulePathIgnorePatterns": ["__tests__/fixtures/", "packages/pkg-tests/pkg-tests-fixtures", "dist/"], "testPathIgnorePatterns": ["__tests__/(fixtures|__mocks__)/", "updates/", "_(temp|mock|install|init|helpers).js$", "packages/pkg-tests"] }, "config": { "commitizen": { "path": "./node_modules/cz-conventional-changelog" } } };
      },
      ,
      ,
      ,
      ,
      /* 150 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.default = stringify2;
        var _misc;
        function _load_misc() {
          return _misc = __webpack_require__(12);
        }
        var _constants;
        function _load_constants() {
          return _constants = __webpack_require__(6);
        }
        var _package;
        function _load_package() {
          return _package = __webpack_require__(145);
        }
        const NODE_VERSION = process.version;
        function shouldWrapKey(str) {
          return str.indexOf("true") === 0 || str.indexOf("false") === 0 || /[:\s\n\\",\[\]]/g.test(str) || /^[0-9]/g.test(str) || !/^[a-zA-Z]/g.test(str);
        }
        function maybeWrap(str) {
          if (typeof str === "boolean" || typeof str === "number" || shouldWrapKey(str)) {
            return JSON.stringify(str);
          } else {
            return str;
          }
        }
        const priorities = {
          name: 1,
          version: 2,
          uid: 3,
          resolved: 4,
          integrity: 5,
          registry: 6,
          dependencies: 7
        };
        function priorityThenAlphaSort(a, b) {
          if (priorities[a] || priorities[b]) {
            return (priorities[a] || 100) > (priorities[b] || 100) ? 1 : -1;
          } else {
            return (0, (_misc || _load_misc()).sortAlpha)(a, b);
          }
        }
        function _stringify(obj, options) {
          if (typeof obj !== "object") {
            throw new TypeError();
          }
          const indent = options.indent;
          const lines = [];
          const keys = Object.keys(obj).sort(priorityThenAlphaSort);
          let addedKeys = [];
          for (let i = 0; i < keys.length; i++) {
            const key = keys[i];
            const val = obj[key];
            if (val == null || addedKeys.indexOf(key) >= 0) {
              continue;
            }
            const valKeys = [key];
            if (typeof val === "object") {
              for (let j = i + 1; j < keys.length; j++) {
                const key2 = keys[j];
                if (val === obj[key2]) {
                  valKeys.push(key2);
                }
              }
            }
            const keyLine = valKeys.sort((_misc || _load_misc()).sortAlpha).map(maybeWrap).join(", ");
            if (typeof val === "string" || typeof val === "boolean" || typeof val === "number") {
              lines.push(`${keyLine} ${maybeWrap(val)}`);
            } else if (typeof val === "object") {
              lines.push(`${keyLine}:
${_stringify(val, { indent: indent + "  " })}` + (options.topLevel ? "\n" : ""));
            } else {
              throw new TypeError();
            }
            addedKeys = addedKeys.concat(valKeys);
          }
          return indent + lines.join(`
${indent}`);
        }
        function stringify2(obj, noHeader, enableVersions) {
          const val = _stringify(obj, {
            indent: "",
            topLevel: true
          });
          if (noHeader) {
            return val;
          }
          const lines = [];
          lines.push("# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.");
          lines.push(`# yarn lockfile v${(_constants || _load_constants()).LOCKFILE_VERSION}`);
          if (enableVersions) {
            lines.push(`# yarn v${(_package || _load_package()).version}`);
            lines.push(`# node ${NODE_VERSION}`);
          }
          lines.push("\n");
          lines.push(val);
          return lines.join("\n");
        }
      },
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      ,
      /* 164 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.fileDatesEqual = exports3.copyFile = exports3.unlink = void 0;
        var _asyncToGenerator2;
        function _load_asyncToGenerator() {
          return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(1));
        }
        let fixTimes = (() => {
          var _ref3 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (fd, dest, data) {
            const doOpen = fd === void 0;
            let openfd = fd ? fd : -1;
            if (disableTimestampCorrection === void 0) {
              const destStat = yield lstat(dest);
              disableTimestampCorrection = fileDatesEqual(destStat.mtime, data.mtime);
            }
            if (disableTimestampCorrection) {
              return;
            }
            if (doOpen) {
              try {
                openfd = yield open(dest, "a", data.mode);
              } catch (er) {
                try {
                  openfd = yield open(dest, "r", data.mode);
                } catch (err) {
                  return;
                }
              }
            }
            try {
              if (openfd) {
                yield futimes(openfd, data.atime, data.mtime);
              }
            } catch (er) {
            } finally {
              if (doOpen && openfd) {
                yield close(openfd);
              }
            }
          });
          return function fixTimes2(_x7, _x8, _x9) {
            return _ref3.apply(this, arguments);
          };
        })();
        var _fs;
        function _load_fs() {
          return _fs = _interopRequireDefault(__webpack_require__(3));
        }
        var _promise;
        function _load_promise() {
          return _promise = __webpack_require__(40);
        }
        function _interopRequireDefault(obj) {
          return obj && obj.__esModule ? obj : { default: obj };
        }
        let disableTimestampCorrection = void 0;
        const readFileBuffer = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.readFile);
        const close = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.close);
        const lstat = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.lstat);
        const open = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.open);
        const futimes = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.futimes);
        const write = (0, (_promise || _load_promise()).promisify)((_fs || _load_fs()).default.write);
        const unlink = exports3.unlink = (0, (_promise || _load_promise()).promisify)(__webpack_require__(233));
        const copyFile = exports3.copyFile = (() => {
          var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data, cleanup) {
            try {
              yield unlink(data.dest);
              yield copyFilePoly(data.src, data.dest, 0, data);
            } finally {
              if (cleanup) {
                cleanup();
              }
            }
          });
          return function copyFile2(_x, _x2) {
            return _ref.apply(this, arguments);
          };
        })();
        const copyFilePoly = (src, dest, flags, data) => {
          if ((_fs || _load_fs()).default.copyFile) {
            return new Promise((resolve, reject) => (_fs || _load_fs()).default.copyFile(src, dest, flags, (err) => {
              if (err) {
                reject(err);
              } else {
                fixTimes(void 0, dest, data).then(() => resolve()).catch((ex) => reject(ex));
              }
            }));
          } else {
            return copyWithBuffer(src, dest, flags, data);
          }
        };
        const copyWithBuffer = (() => {
          var _ref2 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest, flags, data) {
            const fd = yield open(dest, "w", data.mode);
            try {
              const buffer = yield readFileBuffer(src);
              yield write(fd, buffer, 0, buffer.length);
              yield fixTimes(fd, dest, data);
            } finally {
              yield close(fd);
            }
          });
          return function copyWithBuffer2(_x3, _x4, _x5, _x6) {
            return _ref2.apply(this, arguments);
          };
        })();
        const fileDatesEqual = exports3.fileDatesEqual = (a, b) => {
          const aTime = a.getTime();
          const bTime = b.getTime();
          if (process.platform !== "win32") {
            return aTime === bTime;
          }
          if (Math.abs(aTime - bTime) <= 1) {
            return true;
          }
          const aTimeSec = Math.floor(aTime / 1e3);
          const bTimeSec = Math.floor(bTime / 1e3);
          if (aTime - aTimeSec * 1e3 === 0 || bTime - bTimeSec * 1e3 === 0) {
            return aTimeSec === bTimeSec;
          }
          return aTime === bTime;
        };
      },
      ,
      ,
      ,
      ,
      /* 169 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.isFakeRoot = isFakeRoot;
        exports3.isRootUser = isRootUser;
        function getUid() {
          if (process.platform !== "win32" && process.getuid) {
            return process.getuid();
          }
          return null;
        }
        exports3.default = isRootUser(getUid()) && !isFakeRoot();
        function isFakeRoot() {
          return Boolean(process.env.FAKEROOTKEY);
        }
        function isRootUser(uid) {
          return uid === 0;
        }
      },
      ,
      /* 171 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        Object.defineProperty(exports3, "__esModule", {
          value: true
        });
        exports3.getDataDir = getDataDir;
        exports3.getCacheDir = getCacheDir;
        exports3.getConfigDir = getConfigDir;
        const path2 = __webpack_require__(0);
        const userHome = __webpack_require__(45).default;
        const FALLBACK_CONFIG_DIR = path2.join(userHome, ".config", "yarn");
        const FALLBACK_CACHE_DIR = path2.join(userHome, ".cache", "yarn");
        function getDataDir() {
          if (process.platform === "win32") {
            const WIN32_APPDATA_DIR = getLocalAppDataDir();
            return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path2.join(WIN32_APPDATA_DIR, "Data");
          } else if (process.env.XDG_DATA_HOME) {
            return path2.join(process.env.XDG_DATA_HOME, "yarn");
          } else {
            return FALLBACK_CONFIG_DIR;
          }
        }
        function getCacheDir() {
          if (process.platform === "win32") {
            return path2.join(getLocalAppDataDir() || path2.join(userHome, "AppData", "Local", "Yarn"), "Cache");
          } else if (process.env.XDG_CACHE_HOME) {
            return path2.join(process.env.XDG_CACHE_HOME, "yarn");
          } else if (process.platform === "darwin") {
            return path2.join(userHome, "Library", "Caches", "Yarn");
          } else {
            return FALLBACK_CACHE_DIR;
          }
        }
        function getConfigDir() {
          if (process.platform === "win32") {
            const WIN32_APPDATA_DIR = getLocalAppDataDir();
            return WIN32_APPDATA_DIR == null ? FALLBACK_CONFIG_DIR : path2.join(WIN32_APPDATA_DIR, "Config");
          } else if (process.env.XDG_CONFIG_HOME) {
            return path2.join(process.env.XDG_CONFIG_HOME, "yarn");
          } else {
            return FALLBACK_CONFIG_DIR;
          }
        }
        function getLocalAppDataDir() {
          return process.env.LOCALAPPDATA ? path2.join(process.env.LOCALAPPDATA, "Yarn") : null;
        }
      },
      ,
      /* 173 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = { "default": __webpack_require__(179), __esModule: true };
      },
      /* 174 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        module3.exports = balanced;
        function balanced(a, b, str) {
          if (a instanceof RegExp) a = maybeMatch(a, str);
          if (b instanceof RegExp) b = maybeMatch(b, str);
          var r = range(a, b, str);
          return r && {
            start: r[0],
            end: r[1],
            pre: str.slice(0, r[0]),
            body: str.slice(r[0] + a.length, r[1]),
            post: str.slice(r[1] + b.length)
          };
        }
        function maybeMatch(reg, str) {
          var m = str.match(reg);
          return m ? m[0] : null;
        }
        balanced.range = range;
        function range(a, b, str) {
          var begs, beg, left, right, result2;
          var ai = str.indexOf(a);
          var bi = str.indexOf(b, ai + 1);
          var i = ai;
          if (ai >= 0 && bi > 0) {
            begs = [];
            left = str.length;
            while (i >= 0 && !result2) {
              if (i == ai) {
                begs.push(i);
                ai = str.indexOf(a, i + 1);
              } else if (begs.length == 1) {
                result2 = [begs.pop(), bi];
              } else {
                beg = begs.pop();
                if (beg < left) {
                  left = beg;
                  right = bi;
                }
                bi = str.indexOf(b, i + 1);
              }
              i = ai < bi && ai >= 0 ? ai : bi;
            }
            if (begs.length) {
              result2 = [left, right];
            }
          }
          return result2;
        }
      },
      /* 175 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var concatMap = __webpack_require__(178);
        var balanced = __webpack_require__(174);
        module3.exports = expandTop;
        var escSlash = "\0SLASH" + Math.random() + "\0";
        var escOpen = "\0OPEN" + Math.random() + "\0";
        var escClose = "\0CLOSE" + Math.random() + "\0";
        var escComma = "\0COMMA" + Math.random() + "\0";
        var escPeriod = "\0PERIOD" + Math.random() + "\0";
        function numeric(str) {
          return parseInt(str, 10) == str ? parseInt(str, 10) : str.charCodeAt(0);
        }
        function escapeBraces(str) {
          return str.split("\\\\").join(escSlash).split("\\{").join(escOpen).split("\\}").join(escClose).split("\\,").join(escComma).split("\\.").join(escPeriod);
        }
        function unescapeBraces(str) {
          return str.split(escSlash).join("\\").split(escOpen).join("{").split(escClose).join("}").split(escComma).join(",").split(escPeriod).join(".");
        }
        function parseCommaParts(str) {
          if (!str)
            return [""];
          var parts = [];
          var m = balanced("{", "}", str);
          if (!m)
            return str.split(",");
          var pre = m.pre;
          var body = m.body;
          var post = m.post;
          var p = pre.split(",");
          p[p.length - 1] += "{" + body + "}";
          var postParts = parseCommaParts(post);
          if (post.length) {
            p[p.length - 1] += postParts.shift();
            p.push.apply(p, postParts);
          }
          parts.push.apply(parts, p);
          return parts;
        }
        function expandTop(str) {
          if (!str)
            return [];
          if (str.substr(0, 2) === "{}") {
            str = "\\{\\}" + str.substr(2);
          }
          return expand(escapeBraces(str), true).map(unescapeBraces);
        }
        function identity(e) {
          return e;
        }
        function embrace(str) {
          return "{" + str + "}";
        }
        function isPadded(el) {
          return /^-?0\d/.test(el);
        }
        function lte(i, y) {
          return i <= y;
        }
        function gte(i, y) {
          return i >= y;
        }
        function expand(str, isTop) {
          var expansions = [];
          var m = balanced("{", "}", str);
          if (!m || /\$$/.test(m.pre)) return [str];
          var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
          var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
          var isSequence = isNumericSequence || isAlphaSequence;
          var isOptions = m.body.indexOf(",") >= 0;
          if (!isSequence && !isOptions) {
            if (m.post.match(/,.*\}/)) {
              str = m.pre + "{" + m.body + escClose + m.post;
              return expand(str);
            }
            return [str];
          }
          var n;
          if (isSequence) {
            n = m.body.split(/\.\./);
          } else {
            n = parseCommaParts(m.body);
            if (n.length === 1) {
              n = expand(n[0], false).map(embrace);
              if (n.length === 1) {
                var post = m.post.length ? expand(m.post, false) : [""];
                return post.map(function(p) {
                  return m.pre + n[0] + p;
                });
              }
            }
          }
          var pre = m.pre;
          var post = m.post.length ? expand(m.post, false) : [""];
          var N;
          if (isSequence) {
            var x = numeric(n[0]);
            var y = numeric(n[1]);
            var width = Math.max(n[0].length, n[1].length);
            var incr = n.length == 3 ? Math.abs(numeric(n[2])) : 1;
            var test = lte;
            var reverse = y < x;
            if (reverse) {
              incr *= -1;
              test = gte;
            }
            var pad = n.some(isPadded);
            N = [];
            for (var i = x; test(i, y); i += incr) {
              var c;
              if (isAlphaSequence) {
                c = String.fromCharCode(i);
                if (c === "\\")
                  c = "";
              } else {
                c = String(i);
                if (pad) {
                  var need = width - c.length;
                  if (need > 0) {
                    var z = new Array(need + 1).join("0");
                    if (i < 0)
                      c = "-" + z + c.slice(1);
                    else
                      c = z + c;
                  }
                }
              }
              N.push(c);
            }
          } else {
            N = concatMap(n, function(el) {
              return expand(el, false);
            });
          }
          for (var j = 0; j < N.length; j++) {
            for (var k = 0; k < post.length; k++) {
              var expansion = pre + N[j] + post[k];
              if (!isTop || isSequence || expansion)
                expansions.push(expansion);
            }
          }
          return expansions;
        }
      },
      /* 176 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        function preserveCamelCase(str) {
          let isLastCharLower = false;
          let isLastCharUpper = false;
          let isLastLastCharUpper = false;
          for (let i = 0; i < str.length; i++) {
            const c = str[i];
            if (isLastCharLower && /[a-zA-Z]/.test(c) && c.toUpperCase() === c) {
              str = str.substr(0, i) + "-" + str.substr(i);
              isLastCharLower = false;
              isLastLastCharUpper = isLastCharUpper;
              isLastCharUpper = true;
              i++;
            } else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(c) && c.toLowerCase() === c) {
              str = str.substr(0, i - 1) + "-" + str.substr(i - 1);
              isLastLastCharUpper = isLastCharUpper;
              isLastCharUpper = false;
              isLastCharLower = true;
            } else {
              isLastCharLower = c.toLowerCase() === c;
              isLastLastCharUpper = isLastCharUpper;
              isLastCharUpper = c.toUpperCase() === c;
            }
          }
          return str;
        }
        module3.exports = function(str) {
          if (arguments.length > 1) {
            str = Array.from(arguments).map((x) => x.trim()).filter((x) => x.length).join("-");
          } else {
            str = str.trim();
          }
          if (str.length === 0) {
            return "";
          }
          if (str.length === 1) {
            return str.toLowerCase();
          }
          if (/^[a-z0-9]+$/.test(str)) {
            return str;
          }
          const hasUpperCase = str !== str.toLowerCase();
          if (hasUpperCase) {
            str = preserveCamelCase(str);
          }
          return str.replace(/^[_.\- ]+/, "").toLowerCase().replace(/[_.\- ]+(\w|$)/g, (m, p1) => p1.toUpperCase());
        };
      },
      ,
      /* 178 */
      /***/
      function(module3, exports3) {
        module3.exports = function(xs, fn) {
          var res = [];
          for (var i = 0; i < xs.length; i++) {
            var x = fn(xs[i], i);
            if (isArray(x)) res.push.apply(res, x);
            else res.push(x);
          }
          return res;
        };
        var isArray = Array.isArray || function(xs) {
          return Object.prototype.toString.call(xs) === "[object Array]";
        };
      },
      /* 179 */
      /***/
      function(module3, exports3, __webpack_require__) {
        __webpack_require__(205);
        __webpack_require__(207);
        __webpack_require__(210);
        __webpack_require__(206);
        __webpack_require__(208);
        __webpack_require__(209);
        module3.exports = __webpack_require__(23).Promise;
      },
      /* 180 */
      /***/
      function(module3, exports3) {
        module3.exports = function() {
        };
      },
      /* 181 */
      /***/
      function(module3, exports3) {
        module3.exports = function(it, Constructor, name, forbiddenField) {
          if (!(it instanceof Constructor) || forbiddenField !== void 0 && forbiddenField in it) {
            throw TypeError(name + ": incorrect invocation!");
          }
          return it;
        };
      },
      /* 182 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var toIObject = __webpack_require__(74);
        var toLength = __webpack_require__(110);
        var toAbsoluteIndex = __webpack_require__(200);
        module3.exports = function(IS_INCLUDES) {
          return function($this, el, fromIndex) {
            var O = toIObject($this);
            var length = toLength(O.length);
            var index = toAbsoluteIndex(fromIndex, length);
            var value;
            if (IS_INCLUDES && el != el) while (length > index) {
              value = O[index++];
              if (value != value) return true;
            }
            else for (; length > index; index++) if (IS_INCLUDES || index in O) {
              if (O[index] === el) return IS_INCLUDES || index || 0;
            }
            return !IS_INCLUDES && -1;
          };
        };
      },
      /* 183 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var ctx = __webpack_require__(48);
        var call = __webpack_require__(187);
        var isArrayIter = __webpack_require__(186);
        var anObject = __webpack_require__(27);
        var toLength = __webpack_require__(110);
        var getIterFn = __webpack_require__(203);
        var BREAK = {};
        var RETURN = {};
        var exports3 = module3.exports = function(iterable, entries, fn, that, ITERATOR) {
          var iterFn = ITERATOR ? function() {
            return iterable;
          } : getIterFn(iterable);
          var f = ctx(fn, that, entries ? 2 : 1);
          var index = 0;
          var length, step, iterator, result2;
          if (typeof iterFn != "function") throw TypeError(iterable + " is not iterable!");
          if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {
            result2 = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);
            if (result2 === BREAK || result2 === RETURN) return result2;
          }
          else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done; ) {
            result2 = call(iterator, f, step.value, entries);
            if (result2 === BREAK || result2 === RETURN) return result2;
          }
        };
        exports3.BREAK = BREAK;
        exports3.RETURN = RETURN;
      },
      /* 184 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = !__webpack_require__(33) && !__webpack_require__(85)(function() {
          return Object.defineProperty(__webpack_require__(68)("div"), "a", { get: function() {
            return 7;
          } }).a != 7;
        });
      },
      /* 185 */
      /***/
      function(module3, exports3) {
        module3.exports = function(fn, args, that) {
          var un = that === void 0;
          switch (args.length) {
            case 0:
              return un ? fn() : fn.call(that);
            case 1:
              return un ? fn(args[0]) : fn.call(that, args[0]);
            case 2:
              return un ? fn(args[0], args[1]) : fn.call(that, args[0], args[1]);
            case 3:
              return un ? fn(args[0], args[1], args[2]) : fn.call(that, args[0], args[1], args[2]);
            case 4:
              return un ? fn(args[0], args[1], args[2], args[3]) : fn.call(that, args[0], args[1], args[2], args[3]);
          }
          return fn.apply(that, args);
        };
      },
      /* 186 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var Iterators = __webpack_require__(35);
        var ITERATOR = __webpack_require__(13)("iterator");
        var ArrayProto = Array.prototype;
        module3.exports = function(it) {
          return it !== void 0 && (Iterators.Array === it || ArrayProto[ITERATOR] === it);
        };
      },
      /* 187 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var anObject = __webpack_require__(27);
        module3.exports = function(iterator, fn, value, entries) {
          try {
            return entries ? fn(anObject(value)[0], value[1]) : fn(value);
          } catch (e) {
            var ret2 = iterator["return"];
            if (ret2 !== void 0) anObject(ret2.call(iterator));
            throw e;
          }
        };
      },
      /* 188 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var create = __webpack_require__(192);
        var descriptor = __webpack_require__(106);
        var setToStringTag = __webpack_require__(71);
        var IteratorPrototype = {};
        __webpack_require__(31)(IteratorPrototype, __webpack_require__(13)("iterator"), function() {
          return this;
        });
        module3.exports = function(Constructor, NAME, next) {
          Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });
          setToStringTag(Constructor, NAME + " Iterator");
        };
      },
      /* 189 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var ITERATOR = __webpack_require__(13)("iterator");
        var SAFE_CLOSING = false;
        try {
          var riter = [7][ITERATOR]();
          riter["return"] = function() {
            SAFE_CLOSING = true;
          };
          Array.from(riter, function() {
            throw 2;
          });
        } catch (e) {
        }
        module3.exports = function(exec, skipClosing) {
          if (!skipClosing && !SAFE_CLOSING) return false;
          var safe = false;
          try {
            var arr = [7];
            var iter = arr[ITERATOR]();
            iter.next = function() {
              return { done: safe = true };
            };
            arr[ITERATOR] = function() {
              return iter;
            };
            exec(arr);
          } catch (e) {
          }
          return safe;
        };
      },
      /* 190 */
      /***/
      function(module3, exports3) {
        module3.exports = function(done, value) {
          return { value, done: !!done };
        };
      },
      /* 191 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var global2 = __webpack_require__(11);
        var macrotask = __webpack_require__(109).set;
        var Observer = global2.MutationObserver || global2.WebKitMutationObserver;
        var process2 = global2.process;
        var Promise2 = global2.Promise;
        var isNode = __webpack_require__(47)(process2) == "process";
        module3.exports = function() {
          var head, last, notify;
          var flush = function() {
            var parent, fn;
            if (isNode && (parent = process2.domain)) parent.exit();
            while (head) {
              fn = head.fn;
              head = head.next;
              try {
                fn();
              } catch (e) {
                if (head) notify();
                else last = void 0;
                throw e;
              }
            }
            last = void 0;
            if (parent) parent.enter();
          };
          if (isNode) {
            notify = function() {
              process2.nextTick(flush);
            };
          } else if (Observer && !(global2.navigator && global2.navigator.standalone)) {
            var toggle = true;
            var node = document.createTextNode("");
            new Observer(flush).observe(node, { characterData: true });
            notify = function() {
              node.data = toggle = !toggle;
            };
          } else if (Promise2 && Promise2.resolve) {
            var promise = Promise2.resolve(void 0);
            notify = function() {
              promise.then(flush);
            };
          } else {
            notify = function() {
              macrotask.call(global2, flush);
            };
          }
          return function(fn) {
            var task = { fn, next: void 0 };
            if (last) last.next = task;
            if (!head) {
              head = task;
              notify();
            }
            last = task;
          };
        };
      },
      /* 192 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var anObject = __webpack_require__(27);
        var dPs = __webpack_require__(193);
        var enumBugKeys = __webpack_require__(101);
        var IE_PROTO = __webpack_require__(72)("IE_PROTO");
        var Empty = function() {
        };
        var PROTOTYPE = "prototype";
        var createDict = function() {
          var iframe = __webpack_require__(68)("iframe");
          var i = enumBugKeys.length;
          var lt = "<";
          var gt = ">";
          var iframeDocument;
          iframe.style.display = "none";
          __webpack_require__(102).appendChild(iframe);
          iframe.src = "javascript:";
          iframeDocument = iframe.contentWindow.document;
          iframeDocument.open();
          iframeDocument.write(lt + "script" + gt + "document.F=Object" + lt + "/script" + gt);
          iframeDocument.close();
          createDict = iframeDocument.F;
          while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
          return createDict();
        };
        module3.exports = Object.create || function create(O, Properties) {
          var result2;
          if (O !== null) {
            Empty[PROTOTYPE] = anObject(O);
            result2 = new Empty();
            Empty[PROTOTYPE] = null;
            result2[IE_PROTO] = O;
          } else result2 = createDict();
          return Properties === void 0 ? result2 : dPs(result2, Properties);
        };
      },
      /* 193 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var dP = __webpack_require__(50);
        var anObject = __webpack_require__(27);
        var getKeys = __webpack_require__(132);
        module3.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties) {
          anObject(O);
          var keys = getKeys(Properties);
          var length = keys.length;
          var i = 0;
          var P;
          while (length > i) dP.f(O, P = keys[i++], Properties[P]);
          return O;
        };
      },
      /* 194 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var has = __webpack_require__(49);
        var toObject = __webpack_require__(133);
        var IE_PROTO = __webpack_require__(72)("IE_PROTO");
        var ObjectProto = Object.prototype;
        module3.exports = Object.getPrototypeOf || function(O) {
          O = toObject(O);
          if (has(O, IE_PROTO)) return O[IE_PROTO];
          if (typeof O.constructor == "function" && O instanceof O.constructor) {
            return O.constructor.prototype;
          }
          return O instanceof Object ? ObjectProto : null;
        };
      },
      /* 195 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var has = __webpack_require__(49);
        var toIObject = __webpack_require__(74);
        var arrayIndexOf = __webpack_require__(182)(false);
        var IE_PROTO = __webpack_require__(72)("IE_PROTO");
        module3.exports = function(object, names) {
          var O = toIObject(object);
          var i = 0;
          var result2 = [];
          var key;
          for (key in O) if (key != IE_PROTO) has(O, key) && result2.push(key);
          while (names.length > i) if (has(O, key = names[i++])) {
            ~arrayIndexOf(result2, key) || result2.push(key);
          }
          return result2;
        };
      },
      /* 196 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var hide = __webpack_require__(31);
        module3.exports = function(target, src, safe) {
          for (var key in src) {
            if (safe && target[key]) target[key] = src[key];
            else hide(target, key, src[key]);
          }
          return target;
        };
      },
      /* 197 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = __webpack_require__(31);
      },
      /* 198 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var global2 = __webpack_require__(11);
        var core = __webpack_require__(23);
        var dP = __webpack_require__(50);
        var DESCRIPTORS = __webpack_require__(33);
        var SPECIES = __webpack_require__(13)("species");
        module3.exports = function(KEY) {
          var C = typeof core[KEY] == "function" ? core[KEY] : global2[KEY];
          if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {
            configurable: true,
            get: function() {
              return this;
            }
          });
        };
      },
      /* 199 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var toInteger = __webpack_require__(73);
        var defined = __webpack_require__(67);
        module3.exports = function(TO_STRING) {
          return function(that, pos) {
            var s = String(defined(that));
            var i = toInteger(pos);
            var l = s.length;
            var a, b;
            if (i < 0 || i >= l) return TO_STRING ? "" : void 0;
            a = s.charCodeAt(i);
            return a < 55296 || a > 56319 || i + 1 === l || (b = s.charCodeAt(i + 1)) < 56320 || b > 57343 ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 55296 << 10) + (b - 56320) + 65536;
          };
        };
      },
      /* 200 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var toInteger = __webpack_require__(73);
        var max = Math.max;
        var min = Math.min;
        module3.exports = function(index, length) {
          index = toInteger(index);
          return index < 0 ? max(index + length, 0) : min(index, length);
        };
      },
      /* 201 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var isObject = __webpack_require__(34);
        module3.exports = function(it, S) {
          if (!isObject(it)) return it;
          var fn, val;
          if (S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
          if (typeof (fn = it.valueOf) == "function" && !isObject(val = fn.call(it))) return val;
          if (!S && typeof (fn = it.toString) == "function" && !isObject(val = fn.call(it))) return val;
          throw TypeError("Can't convert object to primitive value");
        };
      },
      /* 202 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var global2 = __webpack_require__(11);
        var navigator2 = global2.navigator;
        module3.exports = navigator2 && navigator2.userAgent || "";
      },
      /* 203 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var classof = __webpack_require__(100);
        var ITERATOR = __webpack_require__(13)("iterator");
        var Iterators = __webpack_require__(35);
        module3.exports = __webpack_require__(23).getIteratorMethod = function(it) {
          if (it != void 0) return it[ITERATOR] || it["@@iterator"] || Iterators[classof(it)];
        };
      },
      /* 204 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var addToUnscopables = __webpack_require__(180);
        var step = __webpack_require__(190);
        var Iterators = __webpack_require__(35);
        var toIObject = __webpack_require__(74);
        module3.exports = __webpack_require__(103)(Array, "Array", function(iterated, kind) {
          this._t = toIObject(iterated);
          this._i = 0;
          this._k = kind;
        }, function() {
          var O = this._t;
          var kind = this._k;
          var index = this._i++;
          if (!O || index >= O.length) {
            this._t = void 0;
            return step(1);
          }
          if (kind == "keys") return step(0, index);
          if (kind == "values") return step(0, O[index]);
          return step(0, [index, O[index]]);
        }, "values");
        Iterators.Arguments = Iterators.Array;
        addToUnscopables("keys");
        addToUnscopables("values");
        addToUnscopables("entries");
      },
      /* 205 */
      /***/
      function(module3, exports3) {
      },
      /* 206 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var LIBRARY = __webpack_require__(69);
        var global2 = __webpack_require__(11);
        var ctx = __webpack_require__(48);
        var classof = __webpack_require__(100);
        var $export = __webpack_require__(41);
        var isObject = __webpack_require__(34);
        var aFunction = __webpack_require__(46);
        var anInstance = __webpack_require__(181);
        var forOf = __webpack_require__(183);
        var speciesConstructor = __webpack_require__(108);
        var task = __webpack_require__(109).set;
        var microtask = __webpack_require__(191)();
        var newPromiseCapabilityModule = __webpack_require__(70);
        var perform = __webpack_require__(104);
        var userAgent = __webpack_require__(202);
        var promiseResolve = __webpack_require__(105);
        var PROMISE = "Promise";
        var TypeError2 = global2.TypeError;
        var process2 = global2.process;
        var versions = process2 && process2.versions;
        var v8 = versions && versions.v8 || "";
        var $Promise = global2[PROMISE];
        var isNode = classof(process2) == "process";
        var empty = function() {
        };
        var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;
        var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;
        var USE_NATIVE = !!function() {
          try {
            var promise = $Promise.resolve(1);
            var FakePromise = (promise.constructor = {})[__webpack_require__(13)("species")] = function(exec) {
              exec(empty, empty);
            };
            return (isNode || typeof PromiseRejectionEvent == "function") && promise.then(empty) instanceof FakePromise && v8.indexOf("6.6") !== 0 && userAgent.indexOf("Chrome/66") === -1;
          } catch (e) {
          }
        }();
        var isThenable = function(it) {
          var then;
          return isObject(it) && typeof (then = it.then) == "function" ? then : false;
        };
        var notify = function(promise, isReject) {
          if (promise._n) return;
          promise._n = true;
          var chain = promise._c;
          microtask(function() {
            var value = promise._v;
            var ok = promise._s == 1;
            var i = 0;
            var run = function(reaction) {
              var handler = ok ? reaction.ok : reaction.fail;
              var resolve = reaction.resolve;
              var reject = reaction.reject;
              var domain = reaction.domain;
              var result2, then, exited;
              try {
                if (handler) {
                  if (!ok) {
                    if (promise._h == 2) onHandleUnhandled(promise);
                    promise._h = 1;
                  }
                  if (handler === true) result2 = value;
                  else {
                    if (domain) domain.enter();
                    result2 = handler(value);
                    if (domain) {
                      domain.exit();
                      exited = true;
                    }
                  }
                  if (result2 === reaction.promise) {
                    reject(TypeError2("Promise-chain cycle"));
                  } else if (then = isThenable(result2)) {
                    then.call(result2, resolve, reject);
                  } else resolve(result2);
                } else reject(value);
              } catch (e) {
                if (domain && !exited) domain.exit();
                reject(e);
              }
            };
            while (chain.length > i) run(chain[i++]);
            promise._c = [];
            promise._n = false;
            if (isReject && !promise._h) onUnhandled(promise);
          });
        };
        var onUnhandled = function(promise) {
          task.call(global2, function() {
            var value = promise._v;
            var unhandled = isUnhandled(promise);
            var result2, handler, console2;
            if (unhandled) {
              result2 = perform(function() {
                if (isNode) {
                  process2.emit("unhandledRejection", value, promise);
                } else if (handler = global2.onunhandledrejection) {
                  handler({ promise, reason: value });
                } else if ((console2 = global2.console) && console2.error) {
                  console2.error("Unhandled promise rejection", value);
                }
              });
              promise._h = isNode || isUnhandled(promise) ? 2 : 1;
            }
            promise._a = void 0;
            if (unhandled && result2.e) throw result2.v;
          });
        };
        var isUnhandled = function(promise) {
          return promise._h !== 1 && (promise._a || promise._c).length === 0;
        };
        var onHandleUnhandled = function(promise) {
          task.call(global2, function() {
            var handler;
            if (isNode) {
              process2.emit("rejectionHandled", promise);
            } else if (handler = global2.onrejectionhandled) {
              handler({ promise, reason: promise._v });
            }
          });
        };
        var $reject = function(value) {
          var promise = this;
          if (promise._d) return;
          promise._d = true;
          promise = promise._w || promise;
          promise._v = value;
          promise._s = 2;
          if (!promise._a) promise._a = promise._c.slice();
          notify(promise, true);
        };
        var $resolve = function(value) {
          var promise = this;
          var then;
          if (promise._d) return;
          promise._d = true;
          promise = promise._w || promise;
          try {
            if (promise === value) throw TypeError2("Promise can't be resolved itself");
            if (then = isThenable(value)) {
              microtask(function() {
                var wrapper = { _w: promise, _d: false };
                try {
                  then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));
                } catch (e) {
                  $reject.call(wrapper, e);
                }
              });
            } else {
              promise._v = value;
              promise._s = 1;
              notify(promise, false);
            }
          } catch (e) {
            $reject.call({ _w: promise, _d: false }, e);
          }
        };
        if (!USE_NATIVE) {
          $Promise = function Promise2(executor) {
            anInstance(this, $Promise, PROMISE, "_h");
            aFunction(executor);
            Internal.call(this);
            try {
              executor(ctx($resolve, this, 1), ctx($reject, this, 1));
            } catch (err) {
              $reject.call(this, err);
            }
          };
          Internal = function Promise2(executor) {
            this._c = [];
            this._a = void 0;
            this._s = 0;
            this._d = false;
            this._v = void 0;
            this._h = 0;
            this._n = false;
          };
          Internal.prototype = __webpack_require__(196)($Promise.prototype, {
            // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)
            then: function then(onFulfilled, onRejected) {
              var reaction = newPromiseCapability(speciesConstructor(this, $Promise));
              reaction.ok = typeof onFulfilled == "function" ? onFulfilled : true;
              reaction.fail = typeof onRejected == "function" && onRejected;
              reaction.domain = isNode ? process2.domain : void 0;
              this._c.push(reaction);
              if (this._a) this._a.push(reaction);
              if (this._s) notify(this, false);
              return reaction.promise;
            },
            // 25.4.5.1 Promise.prototype.catch(onRejected)
            "catch": function(onRejected) {
              return this.then(void 0, onRejected);
            }
          });
          OwnPromiseCapability = function() {
            var promise = new Internal();
            this.promise = promise;
            this.resolve = ctx($resolve, promise, 1);
            this.reject = ctx($reject, promise, 1);
          };
          newPromiseCapabilityModule.f = newPromiseCapability = function(C) {
            return C === $Promise || C === Wrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
          };
        }
        $export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });
        __webpack_require__(71)($Promise, PROMISE);
        __webpack_require__(198)(PROMISE);
        Wrapper = __webpack_require__(23)[PROMISE];
        $export($export.S + $export.F * !USE_NATIVE, PROMISE, {
          // 25.4.4.5 Promise.reject(r)
          reject: function reject(r) {
            var capability = newPromiseCapability(this);
            var $$reject = capability.reject;
            $$reject(r);
            return capability.promise;
          }
        });
        $export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {
          // 25.4.4.6 Promise.resolve(x)
          resolve: function resolve(x) {
            return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);
          }
        });
        $export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(189)(function(iter) {
          $Promise.all(iter)["catch"](empty);
        })), PROMISE, {
          // 25.4.4.1 Promise.all(iterable)
          all: function all(iterable) {
            var C = this;
            var capability = newPromiseCapability(C);
            var resolve = capability.resolve;
            var reject = capability.reject;
            var result2 = perform(function() {
              var values = [];
              var index = 0;
              var remaining = 1;
              forOf(iterable, false, function(promise) {
                var $index = index++;
                var alreadyCalled = false;
                values.push(void 0);
                remaining++;
                C.resolve(promise).then(function(value) {
                  if (alreadyCalled) return;
                  alreadyCalled = true;
                  values[$index] = value;
                  --remaining || resolve(values);
                }, reject);
              });
              --remaining || resolve(values);
            });
            if (result2.e) reject(result2.v);
            return capability.promise;
          },
          // 25.4.4.4 Promise.race(iterable)
          race: function race(iterable) {
            var C = this;
            var capability = newPromiseCapability(C);
            var reject = capability.reject;
            var result2 = perform(function() {
              forOf(iterable, false, function(promise) {
                C.resolve(promise).then(capability.resolve, reject);
              });
            });
            if (result2.e) reject(result2.v);
            return capability.promise;
          }
        });
      },
      /* 207 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var $at = __webpack_require__(199)(true);
        __webpack_require__(103)(String, "String", function(iterated) {
          this._t = String(iterated);
          this._i = 0;
        }, function() {
          var O = this._t;
          var index = this._i;
          var point;
          if (index >= O.length) return { value: void 0, done: true };
          point = $at(O, index);
          this._i += point.length;
          return { value: point, done: false };
        });
      },
      /* 208 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(41);
        var core = __webpack_require__(23);
        var global2 = __webpack_require__(11);
        var speciesConstructor = __webpack_require__(108);
        var promiseResolve = __webpack_require__(105);
        $export($export.P + $export.R, "Promise", { "finally": function(onFinally) {
          var C = speciesConstructor(this, core.Promise || global2.Promise);
          var isFunction = typeof onFinally == "function";
          return this.then(
            isFunction ? function(x) {
              return promiseResolve(C, onFinally()).then(function() {
                return x;
              });
            } : onFinally,
            isFunction ? function(e) {
              return promiseResolve(C, onFinally()).then(function() {
                throw e;
              });
            } : onFinally
          );
        } });
      },
      /* 209 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var $export = __webpack_require__(41);
        var newPromiseCapability = __webpack_require__(70);
        var perform = __webpack_require__(104);
        $export($export.S, "Promise", { "try": function(callbackfn) {
          var promiseCapability = newPromiseCapability.f(this);
          var result2 = perform(callbackfn);
          (result2.e ? promiseCapability.reject : promiseCapability.resolve)(result2.v);
          return promiseCapability.promise;
        } });
      },
      /* 210 */
      /***/
      function(module3, exports3, __webpack_require__) {
        __webpack_require__(204);
        var global2 = __webpack_require__(11);
        var hide = __webpack_require__(31);
        var Iterators = __webpack_require__(35);
        var TO_STRING_TAG = __webpack_require__(13)("toStringTag");
        var DOMIterables = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(",");
        for (var i = 0; i < DOMIterables.length; i++) {
          var NAME = DOMIterables[i];
          var Collection = global2[NAME];
          var proto = Collection && Collection.prototype;
          if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);
          Iterators[NAME] = Iterators.Array;
        }
      },
      /* 211 */
      /***/
      function(module3, exports3, __webpack_require__) {
        exports3 = module3.exports = __webpack_require__(112);
        exports3.log = log;
        exports3.formatArgs = formatArgs;
        exports3.save = save;
        exports3.load = load;
        exports3.useColors = useColors;
        exports3.storage = "undefined" != typeof chrome && "undefined" != typeof chrome.storage ? chrome.storage.local : localstorage();
        exports3.colors = [
          "#0000CC",
          "#0000FF",
          "#0033CC",
          "#0033FF",
          "#0066CC",
          "#0066FF",
          "#0099CC",
          "#0099FF",
          "#00CC00",
          "#00CC33",
          "#00CC66",
          "#00CC99",
          "#00CCCC",
          "#00CCFF",
          "#3300CC",
          "#3300FF",
          "#3333CC",
          "#3333FF",
          "#3366CC",
          "#3366FF",
          "#3399CC",
          "#3399FF",
          "#33CC00",
          "#33CC33",
          "#33CC66",
          "#33CC99",
          "#33CCCC",
          "#33CCFF",
          "#6600CC",
          "#6600FF",
          "#6633CC",
          "#6633FF",
          "#66CC00",
          "#66CC33",
          "#9900CC",
          "#9900FF",
          "#9933CC",
          "#9933FF",
          "#99CC00",
          "#99CC33",
          "#CC0000",
          "#CC0033",
          "#CC0066",
          "#CC0099",
          "#CC00CC",
          "#CC00FF",
          "#CC3300",
          "#CC3333",
          "#CC3366",
          "#CC3399",
          "#CC33CC",
          "#CC33FF",
          "#CC6600",
          "#CC6633",
          "#CC9900",
          "#CC9933",
          "#CCCC00",
          "#CCCC33",
          "#FF0000",
          "#FF0033",
          "#FF0066",
          "#FF0099",
          "#FF00CC",
          "#FF00FF",
          "#FF3300",
          "#FF3333",
          "#FF3366",
          "#FF3399",
          "#FF33CC",
          "#FF33FF",
          "#FF6600",
          "#FF6633",
          "#FF9900",
          "#FF9933",
          "#FFCC00",
          "#FFCC33"
        ];
        function useColors() {
          if (typeof window !== "undefined" && window.process && window.process.type === "renderer") {
            return true;
          }
          if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
            return false;
          }
          return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // is firebug? http://stackoverflow.com/a/398120/376773
          typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // is firefox >= v31?
          // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
          typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // double check webkit in userAgent just in case we are in a worker
          typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
        }
        exports3.formatters.j = function(v) {
          try {
            return JSON.stringify(v);
          } catch (err) {
            return "[UnexpectedJSONParseError]: " + err.message;
          }
        };
        function formatArgs(args) {
          var useColors2 = this.useColors;
          args[0] = (useColors2 ? "%c" : "") + this.namespace + (useColors2 ? " %c" : " ") + args[0] + (useColors2 ? "%c " : " ") + "+" + exports3.humanize(this.diff);
          if (!useColors2) return;
          var c = "color: " + this.color;
          args.splice(1, 0, c, "color: inherit");
          var index = 0;
          var lastC = 0;
          args[0].replace(/%[a-zA-Z%]/g, function(match) {
            if ("%%" === match) return;
            index++;
            if ("%c" === match) {
              lastC = index;
            }
          });
          args.splice(lastC, 0, c);
        }
        function log() {
          return "object" === typeof console && console.log && Function.prototype.apply.call(console.log, console, arguments);
        }
        function save(namespaces) {
          try {
            if (null == namespaces) {
              exports3.storage.removeItem("debug");
            } else {
              exports3.storage.debug = namespaces;
            }
          } catch (e) {
          }
        }
        function load() {
          var r;
          try {
            r = exports3.storage.debug;
          } catch (e) {
          }
          if (!r && typeof process !== "undefined" && "env" in process) {
            r = process.env.DEBUG;
          }
          return r;
        }
        exports3.enable(load());
        function localstorage() {
          try {
            return window.localStorage;
          } catch (e) {
          }
        }
      },
      /* 212 */
      /***/
      function(module3, exports3, __webpack_require__) {
        if (typeof process === "undefined" || process.type === "renderer") {
          module3.exports = __webpack_require__(211);
        } else {
          module3.exports = __webpack_require__(213);
        }
      },
      /* 213 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var tty = __webpack_require__(79);
        var util = __webpack_require__(2);
        exports3 = module3.exports = __webpack_require__(112);
        exports3.init = init;
        exports3.log = log;
        exports3.formatArgs = formatArgs;
        exports3.save = save;
        exports3.load = load;
        exports3.useColors = useColors;
        exports3.colors = [6, 2, 3, 4, 5, 1];
        try {
          var supportsColor = __webpack_require__(239);
          if (supportsColor && supportsColor.level >= 2) {
            exports3.colors = [
              20,
              21,
              26,
              27,
              32,
              33,
              38,
              39,
              40,
              41,
              42,
              43,
              44,
              45,
              56,
              57,
              62,
              63,
              68,
              69,
              74,
              75,
              76,
              77,
              78,
              79,
              80,
              81,
              92,
              93,
              98,
              99,
              112,
              113,
              128,
              129,
              134,
              135,
              148,
              149,
              160,
              161,
              162,
              163,
              164,
              165,
              166,
              167,
              168,
              169,
              170,
              171,
              172,
              173,
              178,
              179,
              184,
              185,
              196,
              197,
              198,
              199,
              200,
              201,
              202,
              203,
              204,
              205,
              206,
              207,
              208,
              209,
              214,
              215,
              220,
              221
            ];
          }
        } catch (err) {
        }
        exports3.inspectOpts = Object.keys(process.env).filter(function(key) {
          return /^debug_/i.test(key);
        }).reduce(function(obj, key) {
          var prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, function(_, k) {
            return k.toUpperCase();
          });
          var val = process.env[key];
          if (/^(yes|on|true|enabled)$/i.test(val)) val = true;
          else if (/^(no|off|false|disabled)$/i.test(val)) val = false;
          else if (val === "null") val = null;
          else val = Number(val);
          obj[prop] = val;
          return obj;
        }, {});
        function useColors() {
          return "colors" in exports3.inspectOpts ? Boolean(exports3.inspectOpts.colors) : tty.isatty(process.stderr.fd);
        }
        exports3.formatters.o = function(v) {
          this.inspectOpts.colors = this.useColors;
          return util.inspect(v, this.inspectOpts).split("\n").map(function(str) {
            return str.trim();
          }).join(" ");
        };
        exports3.formatters.O = function(v) {
          this.inspectOpts.colors = this.useColors;
          return util.inspect(v, this.inspectOpts);
        };
        function formatArgs(args) {
          var name = this.namespace;
          var useColors2 = this.useColors;
          if (useColors2) {
            var c = this.color;
            var colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
            var prefix = "  " + colorCode + ";1m" + name + " \x1B[0m";
            args[0] = prefix + args[0].split("\n").join("\n" + prefix);
            args.push(colorCode + "m+" + exports3.humanize(this.diff) + "\x1B[0m");
          } else {
            args[0] = getDate() + name + " " + args[0];
          }
        }
        function getDate() {
          if (exports3.inspectOpts.hideDate) {
            return "";
          } else {
            return (/* @__PURE__ */ new Date()).toISOString() + " ";
          }
        }
        function log() {
          return process.stderr.write(util.format.apply(util, arguments) + "\n");
        }
        function save(namespaces) {
          if (null == namespaces) {
            delete process.env.DEBUG;
          } else {
            process.env.DEBUG = namespaces;
          }
        }
        function load() {
          return process.env.DEBUG;
        }
        function init(debug) {
          debug.inspectOpts = {};
          var keys = Object.keys(exports3.inspectOpts);
          for (var i = 0; i < keys.length; i++) {
            debug.inspectOpts[keys[i]] = exports3.inspectOpts[keys[i]];
          }
        }
        exports3.enable(load());
      },
      ,
      ,
      ,
      /* 217 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var pathModule = __webpack_require__(0);
        var isWindows = process.platform === "win32";
        var fs = __webpack_require__(3);
        var DEBUG = process.env.NODE_DEBUG && /fs/.test(process.env.NODE_DEBUG);
        function rethrow() {
          var callback;
          if (DEBUG) {
            var backtrace = new Error();
            callback = debugCallback;
          } else
            callback = missingCallback;
          return callback;
          function debugCallback(err) {
            if (err) {
              backtrace.message = err.message;
              err = backtrace;
              missingCallback(err);
            }
          }
          function missingCallback(err) {
            if (err) {
              if (process.throwDeprecation)
                throw err;
              else if (!process.noDeprecation) {
                var msg = "fs: missing callback " + (err.stack || err.message);
                if (process.traceDeprecation)
                  console.trace(msg);
                else
                  console.error(msg);
              }
            }
          }
        }
        function maybeCallback(cb) {
          return typeof cb === "function" ? cb : rethrow();
        }
        var normalize = pathModule.normalize;
        if (isWindows) {
          var nextPartRe = /(.*?)(?:[\/\\]+|$)/g;
        } else {
          var nextPartRe = /(.*?)(?:[\/]+|$)/g;
        }
        if (isWindows) {
          var splitRootRe = /^(?:[a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/][^\\\/]+)?[\\\/]*/;
        } else {
          var splitRootRe = /^[\/]*/;
        }
        exports3.realpathSync = function realpathSync(p, cache) {
          p = pathModule.resolve(p);
          if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
            return cache[p];
          }
          var original = p, seenLinks = {}, knownHard = {};
          var pos;
          var current;
          var base;
          var previous;
          start();
          function start() {
            var m = splitRootRe.exec(p);
            pos = m[0].length;
            current = m[0];
            base = m[0];
            previous = "";
            if (isWindows && !knownHard[base]) {
              fs.lstatSync(base);
              knownHard[base] = true;
            }
          }
          while (pos < p.length) {
            nextPartRe.lastIndex = pos;
            var result2 = nextPartRe.exec(p);
            previous = current;
            current += result2[0];
            base = previous + result2[1];
            pos = nextPartRe.lastIndex;
            if (knownHard[base] || cache && cache[base] === base) {
              continue;
            }
            var resolvedLink;
            if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
              resolvedLink = cache[base];
            } else {
              var stat = fs.lstatSync(base);
              if (!stat.isSymbolicLink()) {
                knownHard[base] = true;
                if (cache) cache[base] = base;
                continue;
              }
              var linkTarget = null;
              if (!isWindows) {
                var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
                if (seenLinks.hasOwnProperty(id)) {
                  linkTarget = seenLinks[id];
                }
              }
              if (linkTarget === null) {
                fs.statSync(base);
                linkTarget = fs.readlinkSync(base);
              }
              resolvedLink = pathModule.resolve(previous, linkTarget);
              if (cache) cache[base] = resolvedLink;
              if (!isWindows) seenLinks[id] = linkTarget;
            }
            p = pathModule.resolve(resolvedLink, p.slice(pos));
            start();
          }
          if (cache) cache[original] = p;
          return p;
        };
        exports3.realpath = function realpath(p, cache, cb) {
          if (typeof cb !== "function") {
            cb = maybeCallback(cache);
            cache = null;
          }
          p = pathModule.resolve(p);
          if (cache && Object.prototype.hasOwnProperty.call(cache, p)) {
            return process.nextTick(cb.bind(null, null, cache[p]));
          }
          var original = p, seenLinks = {}, knownHard = {};
          var pos;
          var current;
          var base;
          var previous;
          start();
          function start() {
            var m = splitRootRe.exec(p);
            pos = m[0].length;
            current = m[0];
            base = m[0];
            previous = "";
            if (isWindows && !knownHard[base]) {
              fs.lstat(base, function(err) {
                if (err) return cb(err);
                knownHard[base] = true;
                LOOP();
              });
            } else {
              process.nextTick(LOOP);
            }
          }
          function LOOP() {
            if (pos >= p.length) {
              if (cache) cache[original] = p;
              return cb(null, p);
            }
            nextPartRe.lastIndex = pos;
            var result2 = nextPartRe.exec(p);
            previous = current;
            current += result2[0];
            base = previous + result2[1];
            pos = nextPartRe.lastIndex;
            if (knownHard[base] || cache && cache[base] === base) {
              return process.nextTick(LOOP);
            }
            if (cache && Object.prototype.hasOwnProperty.call(cache, base)) {
              return gotResolvedLink(cache[base]);
            }
            return fs.lstat(base, gotStat);
          }
          function gotStat(err, stat) {
            if (err) return cb(err);
            if (!stat.isSymbolicLink()) {
              knownHard[base] = true;
              if (cache) cache[base] = base;
              return process.nextTick(LOOP);
            }
            if (!isWindows) {
              var id = stat.dev.toString(32) + ":" + stat.ino.toString(32);
              if (seenLinks.hasOwnProperty(id)) {
                return gotTarget(null, seenLinks[id], base);
              }
            }
            fs.stat(base, function(err2) {
              if (err2) return cb(err2);
              fs.readlink(base, function(err3, target) {
                if (!isWindows) seenLinks[id] = target;
                gotTarget(err3, target);
              });
            });
          }
          function gotTarget(err, target, base2) {
            if (err) return cb(err);
            var resolvedLink = pathModule.resolve(previous, target);
            if (cache) cache[base2] = resolvedLink;
            gotResolvedLink(resolvedLink);
          }
          function gotResolvedLink(resolvedLink) {
            p = pathModule.resolve(resolvedLink, p.slice(pos));
            start();
          }
        };
      },
      /* 218 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = globSync;
        globSync.GlobSync = GlobSync;
        var fs = __webpack_require__(3);
        var rp = __webpack_require__(114);
        var minimatch = __webpack_require__(60);
        var Minimatch = minimatch.Minimatch;
        var Glob = __webpack_require__(75).Glob;
        var util = __webpack_require__(2);
        var path2 = __webpack_require__(0);
        var assert = __webpack_require__(22);
        var isAbsolute = __webpack_require__(76);
        var common = __webpack_require__(115);
        var alphasort = common.alphasort;
        var alphasorti = common.alphasorti;
        var setopts = common.setopts;
        var ownProp = common.ownProp;
        var childrenIgnored = common.childrenIgnored;
        var isIgnored = common.isIgnored;
        function globSync(pattern, options) {
          if (typeof options === "function" || arguments.length === 3)
            throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
          return new GlobSync(pattern, options).found;
        }
        function GlobSync(pattern, options) {
          if (!pattern)
            throw new Error("must provide pattern");
          if (typeof options === "function" || arguments.length === 3)
            throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");
          if (!(this instanceof GlobSync))
            return new GlobSync(pattern, options);
          setopts(this, pattern, options);
          if (this.noprocess)
            return this;
          var n = this.minimatch.set.length;
          this.matches = new Array(n);
          for (var i = 0; i < n; i++) {
            this._process(this.minimatch.set[i], i, false);
          }
          this._finish();
        }
        GlobSync.prototype._finish = function() {
          assert(this instanceof GlobSync);
          if (this.realpath) {
            var self2 = this;
            this.matches.forEach(function(matchset, index) {
              var set = self2.matches[index] = /* @__PURE__ */ Object.create(null);
              for (var p in matchset) {
                try {
                  p = self2._makeAbs(p);
                  var real = rp.realpathSync(p, self2.realpathCache);
                  set[real] = true;
                } catch (er) {
                  if (er.syscall === "stat")
                    set[self2._makeAbs(p)] = true;
                  else
                    throw er;
                }
              }
            });
          }
          common.finish(this);
        };
        GlobSync.prototype._process = function(pattern, index, inGlobStar) {
          assert(this instanceof GlobSync);
          var n = 0;
          while (typeof pattern[n] === "string") {
            n++;
          }
          var prefix;
          switch (n) {
            // if not, then this is rather simple
            case pattern.length:
              this._processSimple(pattern.join("/"), index);
              return;
            case 0:
              prefix = null;
              break;
            default:
              prefix = pattern.slice(0, n).join("/");
              break;
          }
          var remain = pattern.slice(n);
          var read;
          if (prefix === null)
            read = ".";
          else if (isAbsolute(prefix) || isAbsolute(pattern.join("/"))) {
            if (!prefix || !isAbsolute(prefix))
              prefix = "/" + prefix;
            read = prefix;
          } else
            read = prefix;
          var abs = this._makeAbs(read);
          if (childrenIgnored(this, read))
            return;
          var isGlobStar = remain[0] === minimatch.GLOBSTAR;
          if (isGlobStar)
            this._processGlobStar(prefix, read, abs, remain, index, inGlobStar);
          else
            this._processReaddir(prefix, read, abs, remain, index, inGlobStar);
        };
        GlobSync.prototype._processReaddir = function(prefix, read, abs, remain, index, inGlobStar) {
          var entries = this._readdir(abs, inGlobStar);
          if (!entries)
            return;
          var pn = remain[0];
          var negate = !!this.minimatch.negate;
          var rawGlob = pn._glob;
          var dotOk = this.dot || rawGlob.charAt(0) === ".";
          var matchedEntries = [];
          for (var i = 0; i < entries.length; i++) {
            var e = entries[i];
            if (e.charAt(0) !== "." || dotOk) {
              var m;
              if (negate && !prefix) {
                m = !e.match(pn);
              } else {
                m = e.match(pn);
              }
              if (m)
                matchedEntries.push(e);
            }
          }
          var len = matchedEntries.length;
          if (len === 0)
            return;
          if (remain.length === 1 && !this.mark && !this.stat) {
            if (!this.matches[index])
              this.matches[index] = /* @__PURE__ */ Object.create(null);
            for (var i = 0; i < len; i++) {
              var e = matchedEntries[i];
              if (prefix) {
                if (prefix.slice(-1) !== "/")
                  e = prefix + "/" + e;
                else
                  e = prefix + e;
              }
              if (e.charAt(0) === "/" && !this.nomount) {
                e = path2.join(this.root, e);
              }
              this._emitMatch(index, e);
            }
            return;
          }
          remain.shift();
          for (var i = 0; i < len; i++) {
            var e = matchedEntries[i];
            var newPattern;
            if (prefix)
              newPattern = [prefix, e];
            else
              newPattern = [e];
            this._process(newPattern.concat(remain), index, inGlobStar);
          }
        };
        GlobSync.prototype._emitMatch = function(index, e) {
          if (isIgnored(this, e))
            return;
          var abs = this._makeAbs(e);
          if (this.mark)
            e = this._mark(e);
          if (this.absolute) {
            e = abs;
          }
          if (this.matches[index][e])
            return;
          if (this.nodir) {
            var c = this.cache[abs];
            if (c === "DIR" || Array.isArray(c))
              return;
          }
          this.matches[index][e] = true;
          if (this.stat)
            this._stat(e);
        };
        GlobSync.prototype._readdirInGlobStar = function(abs) {
          if (this.follow)
            return this._readdir(abs, false);
          var entries;
          var lstat;
          var stat;
          try {
            lstat = fs.lstatSync(abs);
          } catch (er) {
            if (er.code === "ENOENT") {
              return null;
            }
          }
          var isSym = lstat && lstat.isSymbolicLink();
          this.symlinks[abs] = isSym;
          if (!isSym && lstat && !lstat.isDirectory())
            this.cache[abs] = "FILE";
          else
            entries = this._readdir(abs, false);
          return entries;
        };
        GlobSync.prototype._readdir = function(abs, inGlobStar) {
          var entries;
          if (inGlobStar && !ownProp(this.symlinks, abs))
            return this._readdirInGlobStar(abs);
          if (ownProp(this.cache, abs)) {
            var c = this.cache[abs];
            if (!c || c === "FILE")
              return null;
            if (Array.isArray(c))
              return c;
          }
          try {
            return this._readdirEntries(abs, fs.readdirSync(abs));
          } catch (er) {
            this._readdirError(abs, er);
            return null;
          }
        };
        GlobSync.prototype._readdirEntries = function(abs, entries) {
          if (!this.mark && !this.stat) {
            for (var i = 0; i < entries.length; i++) {
              var e = entries[i];
              if (abs === "/")
                e = abs + e;
              else
                e = abs + "/" + e;
              this.cache[e] = true;
            }
          }
          this.cache[abs] = entries;
          return entries;
        };
        GlobSync.prototype._readdirError = function(f, er) {
          switch (er.code) {
            case "ENOTSUP":
            // https://github.com/isaacs/node-glob/issues/205
            case "ENOTDIR":
              var abs = this._makeAbs(f);
              this.cache[abs] = "FILE";
              if (abs === this.cwdAbs) {
                var error = new Error(er.code + " invalid cwd " + this.cwd);
                error.path = this.cwd;
                error.code = er.code;
                throw error;
              }
              break;
            case "ENOENT":
            // not terribly unusual
            case "ELOOP":
            case "ENAMETOOLONG":
            case "UNKNOWN":
              this.cache[this._makeAbs(f)] = false;
              break;
            default:
              this.cache[this._makeAbs(f)] = false;
              if (this.strict)
                throw er;
              if (!this.silent)
                console.error("glob error", er);
              break;
          }
        };
        GlobSync.prototype._processGlobStar = function(prefix, read, abs, remain, index, inGlobStar) {
          var entries = this._readdir(abs, inGlobStar);
          if (!entries)
            return;
          var remainWithoutGlobStar = remain.slice(1);
          var gspref = prefix ? [prefix] : [];
          var noGlobStar = gspref.concat(remainWithoutGlobStar);
          this._process(noGlobStar, index, false);
          var len = entries.length;
          var isSym = this.symlinks[abs];
          if (isSym && inGlobStar)
            return;
          for (var i = 0; i < len; i++) {
            var e = entries[i];
            if (e.charAt(0) === "." && !this.dot)
              continue;
            var instead = gspref.concat(entries[i], remainWithoutGlobStar);
            this._process(instead, index, true);
            var below = gspref.concat(entries[i], remain);
            this._process(below, index, true);
          }
        };
        GlobSync.prototype._processSimple = function(prefix, index) {
          var exists = this._stat(prefix);
          if (!this.matches[index])
            this.matches[index] = /* @__PURE__ */ Object.create(null);
          if (!exists)
            return;
          if (prefix && isAbsolute(prefix) && !this.nomount) {
            var trail = /[\/\\]$/.test(prefix);
            if (prefix.charAt(0) === "/") {
              prefix = path2.join(this.root, prefix);
            } else {
              prefix = path2.resolve(this.root, prefix);
              if (trail)
                prefix += "/";
            }
          }
          if (process.platform === "win32")
            prefix = prefix.replace(/\\/g, "/");
          this._emitMatch(index, prefix);
        };
        GlobSync.prototype._stat = function(f) {
          var abs = this._makeAbs(f);
          var needDir = f.slice(-1) === "/";
          if (f.length > this.maxLength)
            return false;
          if (!this.stat && ownProp(this.cache, abs)) {
            var c = this.cache[abs];
            if (Array.isArray(c))
              c = "DIR";
            if (!needDir || c === "DIR")
              return c;
            if (needDir && c === "FILE")
              return false;
          }
          var exists;
          var stat = this.statCache[abs];
          if (!stat) {
            var lstat;
            try {
              lstat = fs.lstatSync(abs);
            } catch (er) {
              if (er && (er.code === "ENOENT" || er.code === "ENOTDIR")) {
                this.statCache[abs] = false;
                return false;
              }
            }
            if (lstat && lstat.isSymbolicLink()) {
              try {
                stat = fs.statSync(abs);
              } catch (er) {
                stat = lstat;
              }
            } else {
              stat = lstat;
            }
          }
          this.statCache[abs] = stat;
          var c = true;
          if (stat)
            c = stat.isDirectory() ? "DIR" : "FILE";
          this.cache[abs] = this.cache[abs] || c;
          if (needDir && c === "FILE")
            return false;
          return c;
        };
        GlobSync.prototype._mark = function(p) {
          return common.mark(this, p);
        };
        GlobSync.prototype._makeAbs = function(f) {
          return common.makeAbs(this, f);
        };
      },
      ,
      ,
      /* 221 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        module3.exports = function(flag, argv2) {
          argv2 = argv2 || process.argv;
          var terminatorPos = argv2.indexOf("--");
          var prefix = /^--/.test(flag) ? "" : "--";
          var pos = argv2.indexOf(prefix + flag);
          return pos !== -1 && (terminatorPos !== -1 ? pos < terminatorPos : true);
        };
      },
      ,
      /* 223 */
      /***/
      function(module3, exports3, __webpack_require__) {
        var wrappy = __webpack_require__(123);
        var reqs = /* @__PURE__ */ Object.create(null);
        var once = __webpack_require__(61);
        module3.exports = wrappy(inflight);
        function inflight(key, cb) {
          if (reqs[key]) {
            reqs[key].push(cb);
            return null;
          } else {
            reqs[key] = [cb];
            return makeres(key);
          }
        }
        function makeres(key) {
          return once(function RES() {
            var cbs = reqs[key];
            var len = cbs.length;
            var args = slice(arguments);
            try {
              for (var i = 0; i < len; i++) {
                cbs[i].apply(null, args);
              }
            } finally {
              if (cbs.length > len) {
                cbs.splice(0, len);
                process.nextTick(function() {
                  RES.apply(null, args);
                });
              } else {
                delete reqs[key];
              }
            }
          });
        }
        function slice(args) {
          var length = args.length;
          var array = [];
          for (var i = 0; i < length; i++) array[i] = args[i];
          return array;
        }
      },
      /* 224 */
      /***/
      function(module3, exports3) {
        if (typeof Object.create === "function") {
          module3.exports = function inherits(ctor, superCtor) {
            ctor.super_ = superCtor;
            ctor.prototype = Object.create(superCtor.prototype, {
              constructor: {
                value: ctor,
                enumerable: false,
                writable: true,
                configurable: true
              }
            });
          };
        } else {
          module3.exports = function inherits(ctor, superCtor) {
            ctor.super_ = superCtor;
            var TempCtor = function() {
            };
            TempCtor.prototype = superCtor.prototype;
            ctor.prototype = new TempCtor();
            ctor.prototype.constructor = ctor;
          };
        }
      },
      ,
      ,
      /* 227 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = typeof __webpack_require__ !== "undefined";
      },
      ,
      /* 229 */
      /***/
      function(module3, exports3) {
        var s = 1e3;
        var m = s * 60;
        var h = m * 60;
        var d = h * 24;
        var y = d * 365.25;
        module3.exports = function(val, options) {
          options = options || {};
          var type = typeof val;
          if (type === "string" && val.length > 0) {
            return parse2(val);
          } else if (type === "number" && isNaN(val) === false) {
            return options.long ? fmtLong(val) : fmtShort(val);
          }
          throw new Error(
            "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
          );
        };
        function parse2(str) {
          str = String(str);
          if (str.length > 100) {
            return;
          }
          var match = /^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(
            str
          );
          if (!match) {
            return;
          }
          var n = parseFloat(match[1]);
          var type = (match[2] || "ms").toLowerCase();
          switch (type) {
            case "years":
            case "year":
            case "yrs":
            case "yr":
            case "y":
              return n * y;
            case "days":
            case "day":
            case "d":
              return n * d;
            case "hours":
            case "hour":
            case "hrs":
            case "hr":
            case "h":
              return n * h;
            case "minutes":
            case "minute":
            case "mins":
            case "min":
            case "m":
              return n * m;
            case "seconds":
            case "second":
            case "secs":
            case "sec":
            case "s":
              return n * s;
            case "milliseconds":
            case "millisecond":
            case "msecs":
            case "msec":
            case "ms":
              return n;
            default:
              return void 0;
          }
        }
        function fmtShort(ms) {
          if (ms >= d) {
            return Math.round(ms / d) + "d";
          }
          if (ms >= h) {
            return Math.round(ms / h) + "h";
          }
          if (ms >= m) {
            return Math.round(ms / m) + "m";
          }
          if (ms >= s) {
            return Math.round(ms / s) + "s";
          }
          return ms + "ms";
        }
        function fmtLong(ms) {
          return plural2(ms, d, "day") || plural2(ms, h, "hour") || plural2(ms, m, "minute") || plural2(ms, s, "second") || ms + " ms";
        }
        function plural2(ms, n, name) {
          if (ms < n) {
            return;
          }
          if (ms < n * 1.5) {
            return Math.floor(ms / n) + " " + name;
          }
          return Math.ceil(ms / n) + " " + name + "s";
        }
      },
      ,
      ,
      ,
      /* 233 */
      /***/
      function(module3, exports3, __webpack_require__) {
        module3.exports = rimraf;
        rimraf.sync = rimrafSync;
        var assert = __webpack_require__(22);
        var path2 = __webpack_require__(0);
        var fs = __webpack_require__(3);
        var glob = __webpack_require__(75);
        var _0666 = parseInt("666", 8);
        var defaultGlobOpts = {
          nosort: true,
          silent: true
        };
        var timeout = 0;
        var isWindows = process.platform === "win32";
        function defaults(options) {
          var methods = [
            "unlink",
            "chmod",
            "stat",
            "lstat",
            "rmdir",
            "readdir"
          ];
          methods.forEach(function(m) {
            options[m] = options[m] || fs[m];
            m = m + "Sync";
            options[m] = options[m] || fs[m];
          });
          options.maxBusyTries = options.maxBusyTries || 3;
          options.emfileWait = options.emfileWait || 1e3;
          if (options.glob === false) {
            options.disableGlob = true;
          }
          options.disableGlob = options.disableGlob || false;
          options.glob = options.glob || defaultGlobOpts;
        }
        function rimraf(p, options, cb) {
          if (typeof options === "function") {
            cb = options;
            options = {};
          }
          assert(p, "rimraf: missing path");
          assert.equal(typeof p, "string", "rimraf: path should be a string");
          assert.equal(typeof cb, "function", "rimraf: callback function required");
          assert(options, "rimraf: invalid options argument provided");
          assert.equal(typeof options, "object", "rimraf: options should be object");
          defaults(options);
          var busyTries = 0;
          var errState = null;
          var n = 0;
          if (options.disableGlob || !glob.hasMagic(p))
            return afterGlob(null, [p]);
          options.lstat(p, function(er, stat) {
            if (!er)
              return afterGlob(null, [p]);
            glob(p, options.glob, afterGlob);
          });
          function next(er) {
            errState = errState || er;
            if (--n === 0)
              cb(errState);
          }
          function afterGlob(er, results) {
            if (er)
              return cb(er);
            n = results.length;
            if (n === 0)
              return cb();
            results.forEach(function(p2) {
              rimraf_(p2, options, function CB(er2) {
                if (er2) {
                  if ((er2.code === "EBUSY" || er2.code === "ENOTEMPTY" || er2.code === "EPERM") && busyTries < options.maxBusyTries) {
                    busyTries++;
                    var time = busyTries * 100;
                    return setTimeout(function() {
                      rimraf_(p2, options, CB);
                    }, time);
                  }
                  if (er2.code === "EMFILE" && timeout < options.emfileWait) {
                    return setTimeout(function() {
                      rimraf_(p2, options, CB);
                    }, timeout++);
                  }
                  if (er2.code === "ENOENT") er2 = null;
                }
                timeout = 0;
                next(er2);
              });
            });
          }
        }
        function rimraf_(p, options, cb) {
          assert(p);
          assert(options);
          assert(typeof cb === "function");
          options.lstat(p, function(er, st) {
            if (er && er.code === "ENOENT")
              return cb(null);
            if (er && er.code === "EPERM" && isWindows)
              fixWinEPERM(p, options, er, cb);
            if (st && st.isDirectory())
              return rmdir(p, options, er, cb);
            options.unlink(p, function(er2) {
              if (er2) {
                if (er2.code === "ENOENT")
                  return cb(null);
                if (er2.code === "EPERM")
                  return isWindows ? fixWinEPERM(p, options, er2, cb) : rmdir(p, options, er2, cb);
                if (er2.code === "EISDIR")
                  return rmdir(p, options, er2, cb);
              }
              return cb(er2);
            });
          });
        }
        function fixWinEPERM(p, options, er, cb) {
          assert(p);
          assert(options);
          assert(typeof cb === "function");
          if (er)
            assert(er instanceof Error);
          options.chmod(p, _0666, function(er2) {
            if (er2)
              cb(er2.code === "ENOENT" ? null : er);
            else
              options.stat(p, function(er3, stats) {
                if (er3)
                  cb(er3.code === "ENOENT" ? null : er);
                else if (stats.isDirectory())
                  rmdir(p, options, er, cb);
                else
                  options.unlink(p, cb);
              });
          });
        }
        function fixWinEPERMSync(p, options, er) {
          assert(p);
          assert(options);
          if (er)
            assert(er instanceof Error);
          try {
            options.chmodSync(p, _0666);
          } catch (er2) {
            if (er2.code === "ENOENT")
              return;
            else
              throw er;
          }
          try {
            var stats = options.statSync(p);
          } catch (er3) {
            if (er3.code === "ENOENT")
              return;
            else
              throw er;
          }
          if (stats.isDirectory())
            rmdirSync(p, options, er);
          else
            options.unlinkSync(p);
        }
        function rmdir(p, options, originalEr, cb) {
          assert(p);
          assert(options);
          if (originalEr)
            assert(originalEr instanceof Error);
          assert(typeof cb === "function");
          options.rmdir(p, function(er) {
            if (er && (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM"))
              rmkids(p, options, cb);
            else if (er && er.code === "ENOTDIR")
              cb(originalEr);
            else
              cb(er);
          });
        }
        function rmkids(p, options, cb) {
          assert(p);
          assert(options);
          assert(typeof cb === "function");
          options.readdir(p, function(er, files) {
            if (er)
              return cb(er);
            var n = files.length;
            if (n === 0)
              return options.rmdir(p, cb);
            var errState;
            files.forEach(function(f) {
              rimraf(path2.join(p, f), options, function(er2) {
                if (errState)
                  return;
                if (er2)
                  return cb(errState = er2);
                if (--n === 0)
                  options.rmdir(p, cb);
              });
            });
          });
        }
        function rimrafSync(p, options) {
          options = options || {};
          defaults(options);
          assert(p, "rimraf: missing path");
          assert.equal(typeof p, "string", "rimraf: path should be a string");
          assert(options, "rimraf: missing options");
          assert.equal(typeof options, "object", "rimraf: options should be object");
          var results;
          if (options.disableGlob || !glob.hasMagic(p)) {
            results = [p];
          } else {
            try {
              options.lstatSync(p);
              results = [p];
            } catch (er) {
              results = glob.sync(p, options.glob);
            }
          }
          if (!results.length)
            return;
          for (var i = 0; i < results.length; i++) {
            var p = results[i];
            try {
              var st = options.lstatSync(p);
            } catch (er) {
              if (er.code === "ENOENT")
                return;
              if (er.code === "EPERM" && isWindows)
                fixWinEPERMSync(p, options, er);
            }
            try {
              if (st && st.isDirectory())
                rmdirSync(p, options, null);
              else
                options.unlinkSync(p);
            } catch (er) {
              if (er.code === "ENOENT")
                return;
              if (er.code === "EPERM")
                return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er);
              if (er.code !== "EISDIR")
                throw er;
              rmdirSync(p, options, er);
            }
          }
        }
        function rmdirSync(p, options, originalEr) {
          assert(p);
          assert(options);
          if (originalEr)
            assert(originalEr instanceof Error);
          try {
            options.rmdirSync(p);
          } catch (er) {
            if (er.code === "ENOENT")
              return;
            if (er.code === "ENOTDIR")
              throw originalEr;
            if (er.code === "ENOTEMPTY" || er.code === "EEXIST" || er.code === "EPERM")
              rmkidsSync(p, options);
          }
        }
        function rmkidsSync(p, options) {
          assert(p);
          assert(options);
          options.readdirSync(p).forEach(function(f) {
            rimrafSync(path2.join(p, f), options);
          });
          var retries = isWindows ? 100 : 1;
          var i = 0;
          do {
            var threw = true;
            try {
              var ret2 = options.rmdirSync(p, options);
              threw = false;
              return ret2;
            } finally {
              if (++i < retries && threw)
                continue;
            }
          } while (true);
        }
      },
      ,
      ,
      ,
      ,
      ,
      /* 239 */
      /***/
      function(module3, exports3, __webpack_require__) {
        "use strict";
        var hasFlag = __webpack_require__(221);
        var support = function(level) {
          if (level === 0) {
            return false;
          }
          return {
            level,
            hasBasic: true,
            has256: level >= 2,
            has16m: level >= 3
          };
        };
        var supportLevel = function() {
          if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false")) {
            return 0;
          }
          if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
            return 3;
          }
          if (hasFlag("color=256")) {
            return 2;
          }
          if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
            return 1;
          }
          if (process.stdout && !process.stdout.isTTY) {
            return 0;
          }
          if (process.platform === "win32") {
            return 1;
          }
          if ("CI" in process.env) {
            if ("TRAVIS" in process.env || process.env.CI === "Travis") {
              return 1;
            }
            return 0;
          }
          if ("TEAMCITY_VERSION" in process.env) {
            return process.env.TEAMCITY_VERSION.match(/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/) === null ? 0 : 1;
          }
          if (/^(screen|xterm)-256(?:color)?/.test(process.env.TERM)) {
            return 2;
          }
          if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
            return 1;
          }
          if ("COLORTERM" in process.env) {
            return 1;
          }
          if (process.env.TERM === "dumb") {
            return 0;
          }
          return 0;
        }();
        if (supportLevel === 0 && "FORCE_COLOR" in process.env) {
          supportLevel = 1;
        }
        module3.exports = process && support(supportLevel);
      }
      /******/
    ]);
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/shell.js
var require_shell3 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/shell.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(line) {
        return line ? line : [];
      }, peg$c1 = function(command, type, then) {
        return [{ command, type }].concat(then || []);
      }, peg$c2 = function(command, type) {
        return [{ command, type: type || ";" }];
      }, peg$c3 = function(then) {
        return then;
      }, peg$c4 = ";", peg$c5 = peg$literalExpectation(";", false), peg$c6 = "&", peg$c7 = peg$literalExpectation("&", false), peg$c8 = function(chain, then) {
        return then ? { chain, then } : { chain };
      }, peg$c9 = function(type, then) {
        return { type, line: then };
      }, peg$c10 = "&&", peg$c11 = peg$literalExpectation("&&", false), peg$c12 = "||", peg$c13 = peg$literalExpectation("||", false), peg$c14 = function(main, then) {
        return then ? { ...main, then } : main;
      }, peg$c15 = function(type, then) {
        return { type, chain: then };
      }, peg$c16 = "|&", peg$c17 = peg$literalExpectation("|&", false), peg$c18 = "|", peg$c19 = peg$literalExpectation("|", false), peg$c20 = "=", peg$c21 = peg$literalExpectation("=", false), peg$c22 = function(name, arg) {
        return { name, args: [arg] };
      }, peg$c23 = function(name) {
        return { name, args: [] };
      }, peg$c24 = "(", peg$c25 = peg$literalExpectation("(", false), peg$c26 = ")", peg$c27 = peg$literalExpectation(")", false), peg$c28 = function(subshell, args) {
        return { type: `subshell`, subshell, args };
      }, peg$c29 = "{", peg$c30 = peg$literalExpectation("{", false), peg$c31 = "}", peg$c32 = peg$literalExpectation("}", false), peg$c33 = function(group, args) {
        return { type: `group`, group, args };
      }, peg$c34 = function(envs, args) {
        return { type: `command`, args, envs };
      }, peg$c35 = function(envs) {
        return { type: `envs`, envs };
      }, peg$c36 = function(args) {
        return args;
      }, peg$c37 = function(arg) {
        return arg;
      }, peg$c38 = /^[0-9]/, peg$c39 = peg$classExpectation([["0", "9"]], false, false), peg$c40 = function(fd, redirect, arg) {
        return { type: `redirection`, subtype: redirect, fd: fd !== null ? parseInt(fd) : null, args: [arg] };
      }, peg$c41 = ">>", peg$c42 = peg$literalExpectation(">>", false), peg$c43 = ">&", peg$c44 = peg$literalExpectation(">&", false), peg$c45 = ">", peg$c46 = peg$literalExpectation(">", false), peg$c47 = "<<<", peg$c48 = peg$literalExpectation("<<<", false), peg$c49 = "<&", peg$c50 = peg$literalExpectation("<&", false), peg$c51 = "<", peg$c52 = peg$literalExpectation("<", false), peg$c53 = function(segments) {
        return { type: `argument`, segments: [].concat(...segments) };
      }, peg$c54 = function(string) {
        return string;
      }, peg$c55 = "$'", peg$c56 = peg$literalExpectation("$'", false), peg$c57 = "'", peg$c58 = peg$literalExpectation("'", false), peg$c59 = function(text2) {
        return [{ type: `text`, text: text2 }];
      }, peg$c60 = '""', peg$c61 = peg$literalExpectation('""', false), peg$c62 = function() {
        return { type: `text`, text: `` };
      }, peg$c63 = '"', peg$c64 = peg$literalExpectation('"', false), peg$c65 = function(segments) {
        return segments;
      }, peg$c66 = function(arithmetic) {
        return { type: `arithmetic`, arithmetic, quoted: true };
      }, peg$c67 = function(shell) {
        return { type: `shell`, shell, quoted: true };
      }, peg$c68 = function(variable) {
        return { type: `variable`, ...variable, quoted: true };
      }, peg$c69 = function(text2) {
        return { type: `text`, text: text2 };
      }, peg$c70 = function(arithmetic) {
        return { type: `arithmetic`, arithmetic, quoted: false };
      }, peg$c71 = function(shell) {
        return { type: `shell`, shell, quoted: false };
      }, peg$c72 = function(variable) {
        return { type: `variable`, ...variable, quoted: false };
      }, peg$c73 = function(pattern) {
        return { type: `glob`, pattern };
      }, peg$c74 = /^[^']/, peg$c75 = peg$classExpectation(["'"], true, false), peg$c76 = function(chars) {
        return chars.join(``);
      }, peg$c77 = /^[^$"]/, peg$c78 = peg$classExpectation(["$", '"'], true, false), peg$c79 = "\\\n", peg$c80 = peg$literalExpectation("\\\n", false), peg$c81 = function() {
        return ``;
      }, peg$c82 = "\\", peg$c83 = peg$literalExpectation("\\", false), peg$c84 = /^[\\$"`]/, peg$c85 = peg$classExpectation(["\\", "$", '"', "`"], false, false), peg$c86 = function(c) {
        return c;
      }, peg$c87 = "\\a", peg$c88 = peg$literalExpectation("\\a", false), peg$c89 = function() {
        return "a";
      }, peg$c90 = "\\b", peg$c91 = peg$literalExpectation("\\b", false), peg$c92 = function() {
        return "\b";
      }, peg$c93 = /^[Ee]/, peg$c94 = peg$classExpectation(["E", "e"], false, false), peg$c95 = function() {
        return "\x1B";
      }, peg$c96 = "\\f", peg$c97 = peg$literalExpectation("\\f", false), peg$c98 = function() {
        return "\f";
      }, peg$c99 = "\\n", peg$c100 = peg$literalExpectation("\\n", false), peg$c101 = function() {
        return "\n";
      }, peg$c102 = "\\r", peg$c103 = peg$literalExpectation("\\r", false), peg$c104 = function() {
        return "\r";
      }, peg$c105 = "\\t", peg$c106 = peg$literalExpectation("\\t", false), peg$c107 = function() {
        return "	";
      }, peg$c108 = "\\v", peg$c109 = peg$literalExpectation("\\v", false), peg$c110 = function() {
        return "\v";
      }, peg$c111 = /^[\\'"?]/, peg$c112 = peg$classExpectation(["\\", "'", '"', "?"], false, false), peg$c113 = function(c) {
        return String.fromCharCode(parseInt(c, 16));
      }, peg$c114 = "\\x", peg$c115 = peg$literalExpectation("\\x", false), peg$c116 = "\\u", peg$c117 = peg$literalExpectation("\\u", false), peg$c118 = "\\U", peg$c119 = peg$literalExpectation("\\U", false), peg$c120 = function(c) {
        return String.fromCodePoint(parseInt(c, 16));
      }, peg$c121 = /^[0-7]/, peg$c122 = peg$classExpectation([["0", "7"]], false, false), peg$c123 = /^[0-9a-fA-f]/, peg$c124 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "f"]], false, false), peg$c125 = peg$anyExpectation(), peg$c126 = "{}", peg$c127 = peg$literalExpectation("{}", false), peg$c128 = function() {
        return "{}";
      }, peg$c129 = "-", peg$c130 = peg$literalExpectation("-", false), peg$c131 = "+", peg$c132 = peg$literalExpectation("+", false), peg$c133 = ".", peg$c134 = peg$literalExpectation(".", false), peg$c135 = function(sign, left, right) {
        return { type: `number`, value: (sign === "-" ? -1 : 1) * parseFloat(left.join(``) + `.` + right.join(``)) };
      }, peg$c136 = function(sign, value) {
        return { type: `number`, value: (sign === "-" ? -1 : 1) * parseInt(value.join(``)) };
      }, peg$c137 = function(variable) {
        return { type: `variable`, ...variable };
      }, peg$c138 = function(name) {
        return { type: `variable`, name };
      }, peg$c139 = function(value) {
        return value;
      }, peg$c140 = "*", peg$c141 = peg$literalExpectation("*", false), peg$c142 = "/", peg$c143 = peg$literalExpectation("/", false), peg$c144 = function(left, op, right) {
        return { type: op === `*` ? `multiplication` : `division`, right };
      }, peg$c145 = function(left, rest) {
        return rest.reduce((left2, right) => ({ left: left2, ...right }), left);
      }, peg$c146 = function(left, op, right) {
        return { type: op === `+` ? `addition` : `subtraction`, right };
      }, peg$c147 = "$((", peg$c148 = peg$literalExpectation("$((", false), peg$c149 = "))", peg$c150 = peg$literalExpectation("))", false), peg$c151 = function(arithmetic) {
        return arithmetic;
      }, peg$c152 = "$(", peg$c153 = peg$literalExpectation("$(", false), peg$c154 = function(command) {
        return command;
      }, peg$c155 = "${", peg$c156 = peg$literalExpectation("${", false), peg$c157 = ":-", peg$c158 = peg$literalExpectation(":-", false), peg$c159 = function(name, arg) {
        return { name, defaultValue: arg };
      }, peg$c160 = ":-}", peg$c161 = peg$literalExpectation(":-}", false), peg$c162 = function(name) {
        return { name, defaultValue: [] };
      }, peg$c163 = ":+", peg$c164 = peg$literalExpectation(":+", false), peg$c165 = function(name, arg) {
        return { name, alternativeValue: arg };
      }, peg$c166 = ":+}", peg$c167 = peg$literalExpectation(":+}", false), peg$c168 = function(name) {
        return { name, alternativeValue: [] };
      }, peg$c169 = function(name) {
        return { name };
      }, peg$c170 = "$", peg$c171 = peg$literalExpectation("$", false), peg$c172 = function(pattern) {
        return options.isGlobPattern(pattern);
      }, peg$c173 = function(pattern) {
        return pattern;
      }, peg$c174 = /^[a-zA-Z0-9_]/, peg$c175 = peg$classExpectation([["a", "z"], ["A", "Z"], ["0", "9"], "_"], false, false), peg$c176 = function() {
        return text();
      }, peg$c177 = /^[$@*?#a-zA-Z0-9_\-]/, peg$c178 = peg$classExpectation(["$", "@", "*", "?", "#", ["a", "z"], ["A", "Z"], ["0", "9"], "_", "-"], false, false), peg$c179 = /^[()}<>$|&; \t"']/, peg$c180 = peg$classExpectation(["(", ")", "}", "<", ">", "$", "|", "&", ";", " ", "	", '"', "'"], false, false), peg$c181 = /^[<>&; \t"']/, peg$c182 = peg$classExpectation(["<", ">", "&", ";", " ", "	", '"', "'"], false, false), peg$c183 = /^[ \t]/, peg$c184 = peg$classExpectation([" ", "	"], false, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseStart() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c0(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseShellLine() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = peg$parseCommandLine();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseS();
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$parseS();
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseShellLineType();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseShellLineThen();
              if (s4 === peg$FAILED) {
                s4 = null;
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c1(s1, s3, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseCommandLine();
          if (s1 !== peg$FAILED) {
            s2 = [];
            s3 = peg$parseS();
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseS();
            }
            if (s2 !== peg$FAILED) {
              s3 = peg$parseShellLineType();
              if (s3 === peg$FAILED) {
                s3 = null;
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c2(s1, s3);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseShellLineThen() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c3(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseShellLineType() {
        var s0;
        if (input.charCodeAt(peg$currPos) === 59) {
          s0 = peg$c4;
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c5);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 38) {
            s0 = peg$c6;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c7);
            }
          }
        }
        return s0;
      }
      function peg$parseCommandLine() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseCommandChain();
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandLineThen();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c8(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandLineThen() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandLineType();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandLine();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c9(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandLineType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c10) {
          s0 = peg$c10;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c11);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.substr(peg$currPos, 2) === peg$c12) {
            s0 = peg$c12;
            peg$currPos += 2;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c13);
            }
          }
        }
        return s0;
      }
      function peg$parseCommandChain() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseCommand();
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandChainThen();
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c14(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandChainThen() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCommandChainType();
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandChain();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c15(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseCommandChainType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c16) {
          s0 = peg$c16;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c17);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 124) {
            s0 = peg$c18;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c19);
            }
          }
        }
        return s0;
      }
      function peg$parseVariableAssignment() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        s1 = peg$parseEnvVariable();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 61) {
            s2 = peg$c20;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c21);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseStrictValueArgument();
            if (s3 !== peg$FAILED) {
              s4 = [];
              s5 = peg$parseS();
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$parseS();
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c22(s1, s3);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseEnvVariable();
          if (s1 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 61) {
              s2 = peg$c20;
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c21);
              }
            }
            if (s2 !== peg$FAILED) {
              s3 = [];
              s4 = peg$parseS();
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseS();
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c23(s1);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseCommand() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 40) {
            s2 = peg$c24;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c25);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseShellLine();
              if (s4 !== peg$FAILED) {
                s5 = [];
                s6 = peg$parseS();
                while (s6 !== peg$FAILED) {
                  s5.push(s6);
                  s6 = peg$parseS();
                }
                if (s5 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 41) {
                    s6 = peg$c26;
                    peg$currPos++;
                  } else {
                    s6 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c27);
                    }
                  }
                  if (s6 !== peg$FAILED) {
                    s7 = [];
                    s8 = peg$parseS();
                    while (s8 !== peg$FAILED) {
                      s7.push(s8);
                      s8 = peg$parseS();
                    }
                    if (s7 !== peg$FAILED) {
                      s8 = [];
                      s9 = peg$parseRedirectArgument();
                      while (s9 !== peg$FAILED) {
                        s8.push(s9);
                        s9 = peg$parseRedirectArgument();
                      }
                      if (s8 !== peg$FAILED) {
                        s9 = [];
                        s10 = peg$parseS();
                        while (s10 !== peg$FAILED) {
                          s9.push(s10);
                          s10 = peg$parseS();
                        }
                        if (s9 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c28(s4, s8);
                          s0 = s1;
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parseS();
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseS();
          }
          if (s1 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 123) {
              s2 = peg$c29;
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c30);
              }
            }
            if (s2 !== peg$FAILED) {
              s3 = [];
              s4 = peg$parseS();
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseS();
              }
              if (s3 !== peg$FAILED) {
                s4 = peg$parseShellLine();
                if (s4 !== peg$FAILED) {
                  s5 = [];
                  s6 = peg$parseS();
                  while (s6 !== peg$FAILED) {
                    s5.push(s6);
                    s6 = peg$parseS();
                  }
                  if (s5 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s6 = peg$c31;
                      peg$currPos++;
                    } else {
                      s6 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s6 !== peg$FAILED) {
                      s7 = [];
                      s8 = peg$parseS();
                      while (s8 !== peg$FAILED) {
                        s7.push(s8);
                        s8 = peg$parseS();
                      }
                      if (s7 !== peg$FAILED) {
                        s8 = [];
                        s9 = peg$parseRedirectArgument();
                        while (s9 !== peg$FAILED) {
                          s8.push(s9);
                          s9 = peg$parseRedirectArgument();
                        }
                        if (s8 !== peg$FAILED) {
                          s9 = [];
                          s10 = peg$parseS();
                          while (s10 !== peg$FAILED) {
                            s9.push(s10);
                            s10 = peg$parseS();
                          }
                          if (s9 !== peg$FAILED) {
                            peg$savedPos = s0;
                            s1 = peg$c33(s4, s8);
                            s0 = s1;
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = [];
            s2 = peg$parseS();
            while (s2 !== peg$FAILED) {
              s1.push(s2);
              s2 = peg$parseS();
            }
            if (s1 !== peg$FAILED) {
              s2 = [];
              s3 = peg$parseVariableAssignment();
              while (s3 !== peg$FAILED) {
                s2.push(s3);
                s3 = peg$parseVariableAssignment();
              }
              if (s2 !== peg$FAILED) {
                s3 = [];
                s4 = peg$parseS();
                while (s4 !== peg$FAILED) {
                  s3.push(s4);
                  s4 = peg$parseS();
                }
                if (s3 !== peg$FAILED) {
                  s4 = [];
                  s5 = peg$parseArgument();
                  if (s5 !== peg$FAILED) {
                    while (s5 !== peg$FAILED) {
                      s4.push(s5);
                      s5 = peg$parseArgument();
                    }
                  } else {
                    s4 = peg$FAILED;
                  }
                  if (s4 !== peg$FAILED) {
                    s5 = [];
                    s6 = peg$parseS();
                    while (s6 !== peg$FAILED) {
                      s5.push(s6);
                      s6 = peg$parseS();
                    }
                    if (s5 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c34(s2, s4);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = [];
              s2 = peg$parseS();
              while (s2 !== peg$FAILED) {
                s1.push(s2);
                s2 = peg$parseS();
              }
              if (s1 !== peg$FAILED) {
                s2 = [];
                s3 = peg$parseVariableAssignment();
                if (s3 !== peg$FAILED) {
                  while (s3 !== peg$FAILED) {
                    s2.push(s3);
                    s3 = peg$parseVariableAssignment();
                  }
                } else {
                  s2 = peg$FAILED;
                }
                if (s2 !== peg$FAILED) {
                  s3 = [];
                  s4 = peg$parseS();
                  while (s4 !== peg$FAILED) {
                    s3.push(s4);
                    s4 = peg$parseS();
                  }
                  if (s3 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c35(s2);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseCommandString() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseValueArgument();
          if (s3 !== peg$FAILED) {
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseValueArgument();
            }
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseS();
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              s4 = peg$parseS();
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c36(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseRedirectArgument();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c37(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parseS();
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseS();
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parseValueArgument();
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c37(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseRedirectArgument() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          if (peg$c38.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c39);
            }
          }
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseRedirectType();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseValueArgument();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c40(s2, s3, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseRedirectType() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c41) {
          s0 = peg$c41;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c42);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.substr(peg$currPos, 2) === peg$c43) {
            s0 = peg$c43;
            peg$currPos += 2;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c44);
            }
          }
          if (s0 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 62) {
              s0 = peg$c45;
              peg$currPos++;
            } else {
              s0 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c46);
              }
            }
            if (s0 === peg$FAILED) {
              if (input.substr(peg$currPos, 3) === peg$c47) {
                s0 = peg$c47;
                peg$currPos += 3;
              } else {
                s0 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c48);
                }
              }
              if (s0 === peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c49) {
                  s0 = peg$c49;
                  peg$currPos += 2;
                } else {
                  s0 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c50);
                  }
                }
                if (s0 === peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 60) {
                    s0 = peg$c51;
                    peg$currPos++;
                  } else {
                    s0 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c52);
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseValueArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseS();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseS();
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseStrictValueArgument();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c37(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseStrictValueArgument() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseArgumentSegment();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseArgumentSegment();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c53(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseArgumentSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseCQuoteString();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c54(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSglQuoteString();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c54(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseDblQuoteString();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c54(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parsePlainString();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c54(s1);
              }
              s0 = s1;
            }
          }
        }
        return s0;
      }
      function peg$parseCQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c55) {
          s1 = peg$c55;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c56);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseCQuoteStringText();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 39) {
              s3 = peg$c57;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c58);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c59(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseSglQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 39) {
          s1 = peg$c57;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c58);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseSglQuoteStringText();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 39) {
              s3 = peg$c57;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c58);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c59(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseDblQuoteString() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c60) {
          s1 = peg$c60;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c61);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c62();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 34) {
            s1 = peg$c63;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c64);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = [];
            s3 = peg$parseDblQuoteStringSegment();
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              s3 = peg$parseDblQuoteStringSegment();
            }
            if (s2 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 34) {
                s3 = peg$c63;
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c64);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c65(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parsePlainString() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsePlainStringSegment();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parsePlainStringSegment();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c65(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteStringSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseArithmetic();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c66(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSubshell();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c67(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c68(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseDblQuoteStringText();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c69(s1);
              }
              s0 = s1;
            }
          }
        }
        return s0;
      }
      function peg$parsePlainStringSegment() {
        var s0, s1;
        s0 = peg$currPos;
        s1 = peg$parseArithmetic();
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c70(s1);
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSubshell();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c71(s1);
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c72(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseGlob();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c73(s1);
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                s1 = peg$parsePlainStringText();
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c69(s1);
                }
                s0 = s1;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseSglQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c74.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c75);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (peg$c74.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c75);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseDblQuoteEscapedChar();
        if (s2 === peg$FAILED) {
          if (peg$c77.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c78);
            }
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parseDblQuoteEscapedChar();
            if (s2 === peg$FAILED) {
              if (peg$c77.test(input.charAt(peg$currPos))) {
                s2 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s2 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c78);
                }
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseDblQuoteEscapedChar() {
        var s0, s1, s2;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c79) {
          s1 = peg$c79;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c80);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c81();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 92) {
            s1 = peg$c82;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c83);
            }
          }
          if (s1 !== peg$FAILED) {
            if (peg$c84.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c85);
              }
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c86(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        return s0;
      }
      function peg$parseCQuoteStringText() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseCQuoteEscapedChar();
        if (s2 === peg$FAILED) {
          if (peg$c74.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c75);
            }
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseCQuoteEscapedChar();
          if (s2 === peg$FAILED) {
            if (peg$c74.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c75);
              }
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseCQuoteEscapedChar() {
        var s0, s1, s2;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c87) {
          s1 = peg$c87;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c88);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c89();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c90) {
            s1 = peg$c90;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c91);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c92();
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.charCodeAt(peg$currPos) === 92) {
              s1 = peg$c82;
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c83);
              }
            }
            if (s1 !== peg$FAILED) {
              if (peg$c93.test(input.charAt(peg$currPos))) {
                s2 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s2 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c94);
                }
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c95();
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c96) {
                s1 = peg$c96;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c97);
                }
              }
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c98();
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c99) {
                  s1 = peg$c99;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c100);
                  }
                }
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c101();
                }
                s0 = s1;
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.substr(peg$currPos, 2) === peg$c102) {
                    s1 = peg$c102;
                    peg$currPos += 2;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c103);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c104();
                  }
                  s0 = s1;
                  if (s0 === peg$FAILED) {
                    s0 = peg$currPos;
                    if (input.substr(peg$currPos, 2) === peg$c105) {
                      s1 = peg$c105;
                      peg$currPos += 2;
                    } else {
                      s1 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c106);
                      }
                    }
                    if (s1 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c107();
                    }
                    s0 = s1;
                    if (s0 === peg$FAILED) {
                      s0 = peg$currPos;
                      if (input.substr(peg$currPos, 2) === peg$c108) {
                        s1 = peg$c108;
                        peg$currPos += 2;
                      } else {
                        s1 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c109);
                        }
                      }
                      if (s1 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c110();
                      }
                      s0 = s1;
                      if (s0 === peg$FAILED) {
                        s0 = peg$currPos;
                        if (input.charCodeAt(peg$currPos) === 92) {
                          s1 = peg$c82;
                          peg$currPos++;
                        } else {
                          s1 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c83);
                          }
                        }
                        if (s1 !== peg$FAILED) {
                          if (peg$c111.test(input.charAt(peg$currPos))) {
                            s2 = input.charAt(peg$currPos);
                            peg$currPos++;
                          } else {
                            s2 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c112);
                            }
                          }
                          if (s2 !== peg$FAILED) {
                            peg$savedPos = s0;
                            s1 = peg$c86(s2);
                            s0 = s1;
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                        if (s0 === peg$FAILED) {
                          s0 = peg$parseHexCodeString();
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseHexCodeString() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 92) {
          s1 = peg$c82;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseHexCodeChar0();
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c113(s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c114) {
            s1 = peg$c114;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c115);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$currPos;
            s3 = peg$currPos;
            s4 = peg$parseHexCodeChar0();
            if (s4 !== peg$FAILED) {
              s5 = peg$parseHexCodeChar();
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 === peg$FAILED) {
              s3 = peg$parseHexCodeChar0();
            }
            if (s3 !== peg$FAILED) {
              s2 = input.substring(s2, peg$currPos);
            } else {
              s2 = s3;
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c113(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c116) {
              s1 = peg$c116;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c117);
              }
            }
            if (s1 !== peg$FAILED) {
              s2 = peg$currPos;
              s3 = peg$currPos;
              s4 = peg$parseHexCodeChar();
              if (s4 !== peg$FAILED) {
                s5 = peg$parseHexCodeChar();
                if (s5 !== peg$FAILED) {
                  s6 = peg$parseHexCodeChar();
                  if (s6 !== peg$FAILED) {
                    s7 = peg$parseHexCodeChar();
                    if (s7 !== peg$FAILED) {
                      s4 = [s4, s5, s6, s7];
                      s3 = s4;
                    } else {
                      peg$currPos = s3;
                      s3 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
              if (s3 !== peg$FAILED) {
                s2 = input.substring(s2, peg$currPos);
              } else {
                s2 = s3;
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c113(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c118) {
                s1 = peg$c118;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c119);
                }
              }
              if (s1 !== peg$FAILED) {
                s2 = peg$currPos;
                s3 = peg$currPos;
                s4 = peg$parseHexCodeChar();
                if (s4 !== peg$FAILED) {
                  s5 = peg$parseHexCodeChar();
                  if (s5 !== peg$FAILED) {
                    s6 = peg$parseHexCodeChar();
                    if (s6 !== peg$FAILED) {
                      s7 = peg$parseHexCodeChar();
                      if (s7 !== peg$FAILED) {
                        s8 = peg$parseHexCodeChar();
                        if (s8 !== peg$FAILED) {
                          s9 = peg$parseHexCodeChar();
                          if (s9 !== peg$FAILED) {
                            s10 = peg$parseHexCodeChar();
                            if (s10 !== peg$FAILED) {
                              s11 = peg$parseHexCodeChar();
                              if (s11 !== peg$FAILED) {
                                s4 = [s4, s5, s6, s7, s8, s9, s10, s11];
                                s3 = s4;
                              } else {
                                peg$currPos = s3;
                                s3 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s3;
                              s3 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s3;
                            s3 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s3;
                          s3 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s3;
                        s3 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s3;
                      s3 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
                if (s3 !== peg$FAILED) {
                  s2 = input.substring(s2, peg$currPos);
                } else {
                  s2 = s3;
                }
                if (s2 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c120(s2);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            }
          }
        }
        return s0;
      }
      function peg$parseHexCodeChar0() {
        var s0;
        if (peg$c121.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c122);
          }
        }
        return s0;
      }
      function peg$parseHexCodeChar() {
        var s0;
        if (peg$c123.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c124);
          }
        }
        return s0;
      }
      function peg$parsePlainStringText() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 92) {
          s3 = peg$c82;
          peg$currPos++;
        } else {
          s3 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        if (s3 !== peg$FAILED) {
          if (input.length > peg$currPos) {
            s4 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s4 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c125);
            }
          }
          if (s4 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c86(s4);
            s2 = s3;
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        if (s2 === peg$FAILED) {
          s2 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c126) {
            s3 = peg$c126;
            peg$currPos += 2;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c127);
            }
          }
          if (s3 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c128();
          }
          s2 = s3;
          if (s2 === peg$FAILED) {
            s2 = peg$currPos;
            s3 = peg$currPos;
            peg$silentFails++;
            s4 = peg$parseSpecialShellChars();
            peg$silentFails--;
            if (s4 === peg$FAILED) {
              s3 = void 0;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$currPos;
            if (input.charCodeAt(peg$currPos) === 92) {
              s3 = peg$c82;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c83);
              }
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
            if (s2 === peg$FAILED) {
              s2 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c126) {
                s3 = peg$c126;
                peg$currPos += 2;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c127);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c128();
              }
              s2 = s3;
              if (s2 === peg$FAILED) {
                s2 = peg$currPos;
                s3 = peg$currPos;
                peg$silentFails++;
                s4 = peg$parseSpecialShellChars();
                peg$silentFails--;
                if (s4 === peg$FAILED) {
                  s3 = void 0;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
                if (s3 !== peg$FAILED) {
                  if (input.length > peg$currPos) {
                    s4 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s4 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c125);
                    }
                  }
                  if (s4 !== peg$FAILED) {
                    peg$savedPos = s2;
                    s3 = peg$c86(s4);
                    s2 = s3;
                  } else {
                    peg$currPos = s2;
                    s2 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s2;
                  s2 = peg$FAILED;
                }
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseArithmeticPrimary() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 45) {
          s1 = peg$c129;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c130);
          }
        }
        if (s1 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 43) {
            s1 = peg$c131;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c132);
            }
          }
        }
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          if (peg$c38.test(input.charAt(peg$currPos))) {
            s3 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c39);
            }
          }
          if (s3 !== peg$FAILED) {
            while (s3 !== peg$FAILED) {
              s2.push(s3);
              if (peg$c38.test(input.charAt(peg$currPos))) {
                s3 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c39);
                }
              }
            }
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 46) {
              s3 = peg$c133;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c134);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = [];
              if (peg$c38.test(input.charAt(peg$currPos))) {
                s5 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c39);
                }
              }
              if (s5 !== peg$FAILED) {
                while (s5 !== peg$FAILED) {
                  s4.push(s5);
                  if (peg$c38.test(input.charAt(peg$currPos))) {
                    s5 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s5 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c39);
                    }
                  }
                }
              } else {
                s4 = peg$FAILED;
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c135(s1, s2, s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 45) {
            s1 = peg$c129;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c130);
            }
          }
          if (s1 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 43) {
              s1 = peg$c131;
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c132);
              }
            }
          }
          if (s1 === peg$FAILED) {
            s1 = null;
          }
          if (s1 !== peg$FAILED) {
            s2 = [];
            if (peg$c38.test(input.charAt(peg$currPos))) {
              s3 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c39);
              }
            }
            if (s3 !== peg$FAILED) {
              while (s3 !== peg$FAILED) {
                s2.push(s3);
                if (peg$c38.test(input.charAt(peg$currPos))) {
                  s3 = input.charAt(peg$currPos);
                  peg$currPos++;
                } else {
                  s3 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c39);
                  }
                }
              }
            } else {
              s2 = peg$FAILED;
            }
            if (s2 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c136(s1, s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseVariable();
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c137(s1);
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseIdentifier();
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c138(s1);
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.charCodeAt(peg$currPos) === 40) {
                  s1 = peg$c24;
                  peg$currPos++;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c25);
                  }
                }
                if (s1 !== peg$FAILED) {
                  s2 = [];
                  s3 = peg$parseS();
                  while (s3 !== peg$FAILED) {
                    s2.push(s3);
                    s3 = peg$parseS();
                  }
                  if (s2 !== peg$FAILED) {
                    s3 = peg$parseArithmeticExpression();
                    if (s3 !== peg$FAILED) {
                      s4 = [];
                      s5 = peg$parseS();
                      while (s5 !== peg$FAILED) {
                        s4.push(s5);
                        s5 = peg$parseS();
                      }
                      if (s4 !== peg$FAILED) {
                        if (input.charCodeAt(peg$currPos) === 41) {
                          s5 = peg$c26;
                          peg$currPos++;
                        } else {
                          s5 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c27);
                          }
                        }
                        if (s5 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c139(s3);
                          s0 = s1;
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseArithmeticTimesExpression() {
        var s0, s1, s2, s3, s4, s5, s6, s7;
        s0 = peg$currPos;
        s1 = peg$parseArithmeticPrimary();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = [];
          s5 = peg$parseS();
          while (s5 !== peg$FAILED) {
            s4.push(s5);
            s5 = peg$parseS();
          }
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 42) {
              s5 = peg$c140;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c141);
              }
            }
            if (s5 === peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 47) {
                s5 = peg$c142;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c143);
                }
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = [];
              s7 = peg$parseS();
              while (s7 !== peg$FAILED) {
                s6.push(s7);
                s7 = peg$parseS();
              }
              if (s6 !== peg$FAILED) {
                s7 = peg$parseArithmeticPrimary();
                if (s7 !== peg$FAILED) {
                  peg$savedPos = s3;
                  s4 = peg$c144(s1, s5, s7);
                  s3 = s4;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = [];
            s5 = peg$parseS();
            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parseS();
            }
            if (s4 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 42) {
                s5 = peg$c140;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c141);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 47) {
                  s5 = peg$c142;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c143);
                  }
                }
              }
              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parseS();
                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parseS();
                }
                if (s6 !== peg$FAILED) {
                  s7 = peg$parseArithmeticPrimary();
                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s3;
                    s4 = peg$c144(s1, s5, s7);
                    s3 = s4;
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c145(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArithmeticExpression() {
        var s0, s1, s2, s3, s4, s5, s6, s7;
        s0 = peg$currPos;
        s1 = peg$parseArithmeticTimesExpression();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = [];
          s5 = peg$parseS();
          while (s5 !== peg$FAILED) {
            s4.push(s5);
            s5 = peg$parseS();
          }
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 43) {
              s5 = peg$c131;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c132);
              }
            }
            if (s5 === peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 45) {
                s5 = peg$c129;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c130);
                }
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = [];
              s7 = peg$parseS();
              while (s7 !== peg$FAILED) {
                s6.push(s7);
                s7 = peg$parseS();
              }
              if (s6 !== peg$FAILED) {
                s7 = peg$parseArithmeticTimesExpression();
                if (s7 !== peg$FAILED) {
                  peg$savedPos = s3;
                  s4 = peg$c146(s1, s5, s7);
                  s3 = s4;
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = [];
            s5 = peg$parseS();
            while (s5 !== peg$FAILED) {
              s4.push(s5);
              s5 = peg$parseS();
            }
            if (s4 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 43) {
                s5 = peg$c131;
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c132);
                }
              }
              if (s5 === peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 45) {
                  s5 = peg$c129;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c130);
                  }
                }
              }
              if (s5 !== peg$FAILED) {
                s6 = [];
                s7 = peg$parseS();
                while (s7 !== peg$FAILED) {
                  s6.push(s7);
                  s7 = peg$parseS();
                }
                if (s6 !== peg$FAILED) {
                  s7 = peg$parseArithmeticTimesExpression();
                  if (s7 !== peg$FAILED) {
                    peg$savedPos = s3;
                    s4 = peg$c146(s1, s5, s7);
                    s3 = s4;
                  } else {
                    peg$currPos = s3;
                    s3 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s3;
                  s3 = peg$FAILED;
                }
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c145(s1, s2);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseArithmetic() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 3) === peg$c147) {
          s1 = peg$c147;
          peg$currPos += 3;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c148);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$parseS();
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$parseS();
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseArithmeticExpression();
            if (s3 !== peg$FAILED) {
              s4 = [];
              s5 = peg$parseS();
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$parseS();
              }
              if (s4 !== peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c149) {
                  s5 = peg$c149;
                  peg$currPos += 2;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c150);
                  }
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c151(s3);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseSubshell() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c152) {
          s1 = peg$c152;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c153);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseShellLine();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 41) {
              s3 = peg$c26;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c27);
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c154(s2);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseVariable() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c155) {
          s1 = peg$c155;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c156);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseIdentifier();
          if (s2 !== peg$FAILED) {
            if (input.substr(peg$currPos, 2) === peg$c157) {
              s3 = peg$c157;
              peg$currPos += 2;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c158);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseCommandString();
              if (s4 !== peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 125) {
                  s5 = peg$c31;
                  peg$currPos++;
                } else {
                  s5 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c32);
                  }
                }
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c159(s2, s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c155) {
            s1 = peg$c155;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c156);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parseIdentifier();
            if (s2 !== peg$FAILED) {
              if (input.substr(peg$currPos, 3) === peg$c160) {
                s3 = peg$c160;
                peg$currPos += 3;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c161);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c162(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c155) {
              s1 = peg$c155;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c156);
              }
            }
            if (s1 !== peg$FAILED) {
              s2 = peg$parseIdentifier();
              if (s2 !== peg$FAILED) {
                if (input.substr(peg$currPos, 2) === peg$c163) {
                  s3 = peg$c163;
                  peg$currPos += 2;
                } else {
                  s3 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c164);
                  }
                }
                if (s3 !== peg$FAILED) {
                  s4 = peg$parseCommandString();
                  if (s4 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s5 = peg$c31;
                      peg$currPos++;
                    } else {
                      s5 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s5 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c165(s2, s4);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c155) {
                s1 = peg$c155;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c156);
                }
              }
              if (s1 !== peg$FAILED) {
                s2 = peg$parseIdentifier();
                if (s2 !== peg$FAILED) {
                  if (input.substr(peg$currPos, 3) === peg$c166) {
                    s3 = peg$c166;
                    peg$currPos += 3;
                  } else {
                    s3 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c167);
                    }
                  }
                  if (s3 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c168(s2);
                    s0 = s1;
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c155) {
                  s1 = peg$c155;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c156);
                  }
                }
                if (s1 !== peg$FAILED) {
                  s2 = peg$parseIdentifier();
                  if (s2 !== peg$FAILED) {
                    if (input.charCodeAt(peg$currPos) === 125) {
                      s3 = peg$c31;
                      peg$currPos++;
                    } else {
                      s3 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c32);
                      }
                    }
                    if (s3 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c169(s2);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.charCodeAt(peg$currPos) === 36) {
                    s1 = peg$c170;
                    peg$currPos++;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c171);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    s2 = peg$parseIdentifier();
                    if (s2 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c169(s2);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseGlob() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = peg$parseGlobText();
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c172(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c173(s1);
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseGlobText() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$currPos;
        s3 = peg$currPos;
        peg$silentFails++;
        s4 = peg$parseGlobSpecialShellChars();
        peg$silentFails--;
        if (s4 === peg$FAILED) {
          s3 = void 0;
        } else {
          peg$currPos = s3;
          s3 = peg$FAILED;
        }
        if (s3 !== peg$FAILED) {
          if (input.length > peg$currPos) {
            s4 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s4 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c125);
            }
          }
          if (s4 !== peg$FAILED) {
            peg$savedPos = s2;
            s3 = peg$c86(s4);
            s2 = s3;
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$currPos;
            s3 = peg$currPos;
            peg$silentFails++;
            s4 = peg$parseGlobSpecialShellChars();
            peg$silentFails--;
            if (s4 === peg$FAILED) {
              s3 = void 0;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c125);
                }
              }
              if (s4 !== peg$FAILED) {
                peg$savedPos = s2;
                s3 = peg$c86(s4);
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c76(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseEnvVariable() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c174.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c175);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c174.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c175);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c176();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseIdentifier() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c177.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c178);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c177.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c178);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c176();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseSpecialShellChars() {
        var s0;
        if (peg$c179.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c180);
          }
        }
        return s0;
      }
      function peg$parseGlobSpecialShellChars() {
        var s0;
        if (peg$c181.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c182);
          }
        }
        return s0;
      }
      function peg$parseS() {
        var s0, s1;
        s0 = [];
        if (peg$c183.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c184);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c183.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c184);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/shell.js
var require_shell4 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/shell.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifyShell = exports2.stringifyArithmeticExpression = exports2.stringifyArgumentSegment = exports2.stringifyValueArgument = exports2.stringifyRedirectArgument = exports2.stringifyArgument = exports2.stringifyEnvSegment = exports2.stringifyCommand = exports2.stringifyCommandChainThen = exports2.stringifyCommandChain = exports2.stringifyCommandLineThen = exports2.stringifyCommandLine = exports2.stringifyShellLine = exports2.parseShell = void 0;
    var shell_1 = require_shell3();
    function parseShell(source, options = { isGlobPattern: () => false }) {
      try {
        return (0, shell_1.parse)(source, options);
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    exports2.parseShell = parseShell;
    function stringifyShellLine(shellLine, { endSemicolon = false } = {}) {
      return shellLine.map(({ command, type }, index) => `${stringifyCommandLine(command)}${type === `;` ? index !== shellLine.length - 1 || endSemicolon ? `;` : `` : ` &`}`).join(` `);
    }
    exports2.stringifyShellLine = stringifyShellLine;
    exports2.stringifyShell = stringifyShellLine;
    function stringifyCommandLine(commandLine) {
      return `${stringifyCommandChain(commandLine.chain)}${commandLine.then ? ` ${stringifyCommandLineThen(commandLine.then)}` : ``}`;
    }
    exports2.stringifyCommandLine = stringifyCommandLine;
    function stringifyCommandLineThen(commandLineThen) {
      return `${commandLineThen.type} ${stringifyCommandLine(commandLineThen.line)}`;
    }
    exports2.stringifyCommandLineThen = stringifyCommandLineThen;
    function stringifyCommandChain(commandChain) {
      return `${stringifyCommand(commandChain)}${commandChain.then ? ` ${stringifyCommandChainThen(commandChain.then)}` : ``}`;
    }
    exports2.stringifyCommandChain = stringifyCommandChain;
    function stringifyCommandChainThen(commandChainThen) {
      return `${commandChainThen.type} ${stringifyCommandChain(commandChainThen.chain)}`;
    }
    exports2.stringifyCommandChainThen = stringifyCommandChainThen;
    function stringifyCommand(command) {
      switch (command.type) {
        case `command`:
          return `${command.envs.length > 0 ? `${command.envs.map((env) => stringifyEnvSegment(env)).join(` `)} ` : ``}${command.args.map((argument) => stringifyArgument(argument)).join(` `)}`;
        case `subshell`:
          return `(${stringifyShellLine(command.subshell)})${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
        case `group`:
          return `{ ${stringifyShellLine(command.group, {
            /* Bash compat */
            endSemicolon: true
          })} }${command.args.length > 0 ? ` ${command.args.map((argument) => stringifyRedirectArgument(argument)).join(` `)}` : ``}`;
        case `envs`:
          return command.envs.map((env) => stringifyEnvSegment(env)).join(` `);
        default:
          throw new Error(`Unsupported command type:  "${command.type}"`);
      }
    }
    exports2.stringifyCommand = stringifyCommand;
    function stringifyEnvSegment(envSegment) {
      return `${envSegment.name}=${envSegment.args[0] ? stringifyValueArgument(envSegment.args[0]) : ``}`;
    }
    exports2.stringifyEnvSegment = stringifyEnvSegment;
    function stringifyArgument(argument) {
      switch (argument.type) {
        case `redirection`:
          return stringifyRedirectArgument(argument);
        case `argument`:
          return stringifyValueArgument(argument);
        default:
          throw new Error(`Unsupported argument type: "${argument.type}"`);
      }
    }
    exports2.stringifyArgument = stringifyArgument;
    function stringifyRedirectArgument(argument) {
      return `${argument.subtype} ${argument.args.map((argument2) => stringifyValueArgument(argument2)).join(` `)}`;
    }
    exports2.stringifyRedirectArgument = stringifyRedirectArgument;
    function stringifyValueArgument(argument) {
      return argument.segments.map((segment) => stringifyArgumentSegment(segment)).join(``);
    }
    exports2.stringifyValueArgument = stringifyValueArgument;
    var ESCAPED_CONTROL_CHARS = /* @__PURE__ */ new Map([
      [`\f`, `\\f`],
      [`
`, `\\n`],
      [`\r`, `\\r`],
      [`	`, `\\t`],
      [`\v`, `\\v`],
      [`\0`, `\\0`]
    ]);
    var ESCAPED_DBL_CHARS = new Map([
      [`\\`, `\\\\`],
      [`$`, `\\$`],
      [`"`, `\\"`],
      ...Array.from(ESCAPED_CONTROL_CHARS, ([c, replacement]) => {
        return [c, `"$'${replacement}'"`];
      })
    ]);
    var getEscapedControlChar = (c) => {
      return ESCAPED_CONTROL_CHARS.get(c) ?? `\\x${c.charCodeAt(0).toString(16).padStart(2, `0`)}`;
    };
    var getEscapedDblChar = (match) => {
      return ESCAPED_DBL_CHARS.get(match) ?? `"$'${getEscapedControlChar(match)}'"`;
    };
    function stringifyArgumentSegment(argumentSegment) {
      const doubleQuoteIfRequested = (string, quote) => quote ? `"${string}"` : string;
      const quoteIfNeeded = (text) => {
        if (text === ``)
          return `''`;
        if (!text.match(/[()}<>$|&;"'\n\t ]/))
          return text;
        if (!text.match(/['\t\p{C}]/u))
          return `'${text}'`;
        if (!text.match(/'/)) {
          return `$'${text.replace(/[\t\p{C}]/u, getEscapedControlChar)}'`;
        } else {
          return `"${text.replace(/["$\t\p{C}]/u, getEscapedDblChar)}"`;
        }
      };
      switch (argumentSegment.type) {
        case `text`:
          return quoteIfNeeded(argumentSegment.text);
        case `glob`:
          return argumentSegment.pattern;
        case `shell`:
          return doubleQuoteIfRequested(`\${${stringifyShellLine(argumentSegment.shell)}}`, argumentSegment.quoted);
        case `variable`:
          return doubleQuoteIfRequested(typeof argumentSegment.defaultValue === `undefined` ? typeof argumentSegment.alternativeValue === `undefined` ? `\${${argumentSegment.name}}` : argumentSegment.alternativeValue.length === 0 ? `\${${argumentSegment.name}:+}` : `\${${argumentSegment.name}:+${argumentSegment.alternativeValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}` : argumentSegment.defaultValue.length === 0 ? `\${${argumentSegment.name}:-}` : `\${${argumentSegment.name}:-${argumentSegment.defaultValue.map((argument) => stringifyValueArgument(argument)).join(` `)}}`, argumentSegment.quoted);
        case `arithmetic`:
          return `$(( ${stringifyArithmeticExpression(argumentSegment.arithmetic)} ))`;
        default:
          throw new Error(`Unsupported argument segment type: "${argumentSegment.type}"`);
      }
    }
    exports2.stringifyArgumentSegment = stringifyArgumentSegment;
    function stringifyArithmeticExpression(argument) {
      const getOperator = (type) => {
        switch (type) {
          case `addition`:
            return `+`;
          case `subtraction`:
            return `-`;
          case `multiplication`:
            return `*`;
          case `division`:
            return `/`;
          default:
            throw new Error(`Can't extract operator from arithmetic expression of type "${type}"`);
        }
      };
      const parenthesizeIfRequested = (string, parenthesize) => parenthesize ? `( ${string} )` : string;
      const stringifyAndParenthesizeIfNeeded = (expression) => (
        // Right now we parenthesize all arithmetic operator expressions because it's easier
        parenthesizeIfRequested(stringifyArithmeticExpression(expression), ![`number`, `variable`].includes(expression.type))
      );
      switch (argument.type) {
        case `number`:
          return String(argument.value);
        case `variable`:
          return argument.name;
        default:
          return `${stringifyAndParenthesizeIfNeeded(argument.left)} ${getOperator(argument.type)} ${stringifyAndParenthesizeIfNeeded(argument.right)}`;
      }
    }
    exports2.stringifyArithmeticExpression = stringifyArithmeticExpression;
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js
var require_resolution3 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/resolution.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { resolution: peg$parseresolution }, peg$startRuleFunction = peg$parseresolution, peg$c0 = "/", peg$c1 = peg$literalExpectation("/", false), peg$c2 = function(from, descriptor) {
        return { from, descriptor };
      }, peg$c3 = function(descriptor) {
        return { descriptor };
      }, peg$c4 = "@", peg$c5 = peg$literalExpectation("@", false), peg$c6 = function(fullName, description) {
        return { fullName, description };
      }, peg$c7 = function(fullName) {
        return { fullName };
      }, peg$c8 = function() {
        return text();
      }, peg$c9 = /^[^\/@]/, peg$c10 = peg$classExpectation(["/", "@"], true, false), peg$c11 = /^[^\/]/, peg$c12 = peg$classExpectation(["/"], true, false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseresolution() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        s1 = peg$parsespecifier();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 47) {
            s2 = peg$c0;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c1);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parsespecifier();
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c2(s1, s3);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parsespecifier();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c3(s1);
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsespecifier() {
        var s0, s1, s2, s3;
        s0 = peg$currPos;
        s1 = peg$parsefullName();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 64) {
            s2 = peg$c4;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c5);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parsedescription();
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c6(s1, s3);
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parsefullName();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c7(s1);
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsefullName() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 64) {
          s1 = peg$c4;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c5);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseident();
          if (s2 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 47) {
              s3 = peg$c0;
              peg$currPos++;
            } else {
              s3 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c1);
              }
            }
            if (s3 !== peg$FAILED) {
              s4 = peg$parseident();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c8();
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseident();
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c8();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parseident() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c9.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c10);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c9.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c10);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c8();
        }
        s0 = s1;
        return s0;
      }
      function peg$parsedescription() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (peg$c11.test(input.charAt(peg$currPos))) {
          s2 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c12);
          }
        }
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            if (peg$c11.test(input.charAt(peg$currPos))) {
              s2 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s2 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c12);
              }
            }
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c8();
        }
        s0 = s1;
        return s0;
      }
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/resolution.js
var require_resolution4 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/resolution.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifyResolution = exports2.parseResolution = void 0;
    var resolution_1 = require_resolution3();
    function parseResolution(source) {
      const legacyResolution = source.match(/^\*{1,2}\/(.*)/);
      if (legacyResolution)
        throw new Error(`The override for '${source}' includes a glob pattern. Glob patterns have been removed since their behaviours don't match what you'd expect. Set the override to '${legacyResolution[1]}' instead.`);
      try {
        return (0, resolution_1.parse)(source);
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    exports2.parseResolution = parseResolution;
    function stringifyResolution(resolution) {
      let str = ``;
      if (resolution.from) {
        str += resolution.from.fullName;
        if (resolution.from.description)
          str += `@${resolution.from.description}`;
        str += `/`;
      }
      str += resolution.descriptor.fullName;
      if (resolution.descriptor.description)
        str += `@${resolution.descriptor.description}`;
      return str;
    }
    exports2.stringifyResolution = stringifyResolution;
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/syml.js
var require_syml3 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/grammars/syml.js"(exports2, module2) {
    "use strict";
    function peg$subclass(child, parent) {
      function ctor() {
        this.constructor = child;
      }
      ctor.prototype = parent.prototype;
      child.prototype = new ctor();
    }
    function peg$SyntaxError(message, expected, found, location) {
      this.message = message;
      this.expected = expected;
      this.found = found;
      this.location = location;
      this.name = "SyntaxError";
      if (typeof Error.captureStackTrace === "function") {
        Error.captureStackTrace(this, peg$SyntaxError);
      }
    }
    peg$subclass(peg$SyntaxError, Error);
    peg$SyntaxError.buildMessage = function(expected, found) {
      var DESCRIBE_EXPECTATION_FNS = {
        literal: function(expectation) {
          return '"' + literalEscape(expectation.text) + '"';
        },
        "class": function(expectation) {
          var escapedParts = "", i;
          for (i = 0; i < expectation.parts.length; i++) {
            escapedParts += expectation.parts[i] instanceof Array ? classEscape(expectation.parts[i][0]) + "-" + classEscape(expectation.parts[i][1]) : classEscape(expectation.parts[i]);
          }
          return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]";
        },
        any: function(expectation) {
          return "any character";
        },
        end: function(expectation) {
          return "end of input";
        },
        other: function(expectation) {
          return expectation.description;
        }
      };
      function hex(ch) {
        return ch.charCodeAt(0).toString(16).toUpperCase();
      }
      function literalEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function classEscape(s) {
        return s.replace(/\\/g, "\\\\").replace(/\]/g, "\\]").replace(/\^/g, "\\^").replace(/-/g, "\\-").replace(/\0/g, "\\0").replace(/\t/g, "\\t").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/[\x00-\x0F]/g, function(ch) {
          return "\\x0" + hex(ch);
        }).replace(/[\x10-\x1F\x7F-\x9F]/g, function(ch) {
          return "\\x" + hex(ch);
        });
      }
      function describeExpectation(expectation) {
        return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);
      }
      function describeExpected(expected2) {
        var descriptions = new Array(expected2.length), i, j;
        for (i = 0; i < expected2.length; i++) {
          descriptions[i] = describeExpectation(expected2[i]);
        }
        descriptions.sort();
        if (descriptions.length > 0) {
          for (i = 1, j = 1; i < descriptions.length; i++) {
            if (descriptions[i - 1] !== descriptions[i]) {
              descriptions[j] = descriptions[i];
              j++;
            }
          }
          descriptions.length = j;
        }
        switch (descriptions.length) {
          case 1:
            return descriptions[0];
          case 2:
            return descriptions[0] + " or " + descriptions[1];
          default:
            return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1];
        }
      }
      function describeFound(found2) {
        return found2 ? '"' + literalEscape(found2) + '"' : "end of input";
      }
      return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found.";
    };
    function peg$parse(input, options) {
      options = options !== void 0 ? options : {};
      var peg$FAILED = {}, peg$startRuleFunctions = { Start: peg$parseStart }, peg$startRuleFunction = peg$parseStart, peg$c0 = function(statements) {
        return [].concat(...statements);
      }, peg$c1 = "-", peg$c2 = peg$literalExpectation("-", false), peg$c3 = function(value) {
        return value;
      }, peg$c4 = function(statements) {
        return Object.assign({}, ...statements);
      }, peg$c5 = "#", peg$c6 = peg$literalExpectation("#", false), peg$c7 = peg$anyExpectation(), peg$c8 = function() {
        return {};
      }, peg$c9 = ":", peg$c10 = peg$literalExpectation(":", false), peg$c11 = function(property, value) {
        return { [property]: value };
      }, peg$c12 = ",", peg$c13 = peg$literalExpectation(",", false), peg$c14 = function(property, other) {
        return other;
      }, peg$c15 = function(property, others, value) {
        return Object.assign({}, ...[property].concat(others).map((property2) => ({ [property2]: value })));
      }, peg$c16 = function(statements) {
        return statements;
      }, peg$c17 = function(expression) {
        return expression;
      }, peg$c18 = peg$otherExpectation("correct indentation"), peg$c19 = " ", peg$c20 = peg$literalExpectation(" ", false), peg$c21 = function(spaces) {
        return spaces.length === indentLevel * INDENT_STEP;
      }, peg$c22 = function(spaces) {
        return spaces.length === (indentLevel + 1) * INDENT_STEP;
      }, peg$c23 = function() {
        indentLevel++;
        return true;
      }, peg$c24 = function() {
        indentLevel--;
        return true;
      }, peg$c25 = function() {
        return text();
      }, peg$c26 = peg$otherExpectation("pseudostring"), peg$c27 = /^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/, peg$c28 = peg$classExpectation(["\r", "\n", "	", " ", "?", ":", ",", "]", "[", "{", "}", "#", "&", "*", "!", "|", ">", "'", '"', "%", "@", "`", "-"], true, false), peg$c29 = /^[^\r\n\t ,\][{}:#"']/, peg$c30 = peg$classExpectation(["\r", "\n", "	", " ", ",", "]", "[", "{", "}", ":", "#", '"', "'"], true, false), peg$c31 = function() {
        return text().replace(/^ *| *$/g, "");
      }, peg$c32 = "--", peg$c33 = peg$literalExpectation("--", false), peg$c34 = /^[a-zA-Z\/0-9]/, peg$c35 = peg$classExpectation([["a", "z"], ["A", "Z"], "/", ["0", "9"]], false, false), peg$c36 = /^[^\r\n\t :,]/, peg$c37 = peg$classExpectation(["\r", "\n", "	", " ", ":", ","], true, false), peg$c38 = "null", peg$c39 = peg$literalExpectation("null", false), peg$c40 = function() {
        return null;
      }, peg$c41 = "true", peg$c42 = peg$literalExpectation("true", false), peg$c43 = function() {
        return true;
      }, peg$c44 = "false", peg$c45 = peg$literalExpectation("false", false), peg$c46 = function() {
        return false;
      }, peg$c47 = peg$otherExpectation("string"), peg$c48 = '"', peg$c49 = peg$literalExpectation('"', false), peg$c50 = function() {
        return "";
      }, peg$c51 = function(chars) {
        return chars;
      }, peg$c52 = function(chars) {
        return chars.join(``);
      }, peg$c53 = /^[^"\\\0-\x1F\x7F]/, peg$c54 = peg$classExpectation(['"', "\\", ["\0", ""], "\x7F"], true, false), peg$c55 = '\\"', peg$c56 = peg$literalExpectation('\\"', false), peg$c57 = function() {
        return `"`;
      }, peg$c58 = "\\\\", peg$c59 = peg$literalExpectation("\\\\", false), peg$c60 = function() {
        return `\\`;
      }, peg$c61 = "\\/", peg$c62 = peg$literalExpectation("\\/", false), peg$c63 = function() {
        return `/`;
      }, peg$c64 = "\\b", peg$c65 = peg$literalExpectation("\\b", false), peg$c66 = function() {
        return `\b`;
      }, peg$c67 = "\\f", peg$c68 = peg$literalExpectation("\\f", false), peg$c69 = function() {
        return `\f`;
      }, peg$c70 = "\\n", peg$c71 = peg$literalExpectation("\\n", false), peg$c72 = function() {
        return `
`;
      }, peg$c73 = "\\r", peg$c74 = peg$literalExpectation("\\r", false), peg$c75 = function() {
        return `\r`;
      }, peg$c76 = "\\t", peg$c77 = peg$literalExpectation("\\t", false), peg$c78 = function() {
        return `	`;
      }, peg$c79 = "\\u", peg$c80 = peg$literalExpectation("\\u", false), peg$c81 = function(h1, h2, h3, h4) {
        return String.fromCharCode(parseInt(`0x${h1}${h2}${h3}${h4}`));
      }, peg$c82 = /^[0-9a-fA-F]/, peg$c83 = peg$classExpectation([["0", "9"], ["a", "f"], ["A", "F"]], false, false), peg$c84 = peg$otherExpectation("blank space"), peg$c85 = /^[ \t]/, peg$c86 = peg$classExpectation([" ", "	"], false, false), peg$c87 = peg$otherExpectation("white space"), peg$c88 = /^[ \t\n\r]/, peg$c89 = peg$classExpectation([" ", "	", "\n", "\r"], false, false), peg$c90 = "\r\n", peg$c91 = peg$literalExpectation("\r\n", false), peg$c92 = "\n", peg$c93 = peg$literalExpectation("\n", false), peg$c94 = "\r", peg$c95 = peg$literalExpectation("\r", false), peg$currPos = 0, peg$savedPos = 0, peg$posDetailsCache = [{ line: 1, column: 1 }], peg$maxFailPos = 0, peg$maxFailExpected = [], peg$silentFails = 0, peg$result;
      if ("startRule" in options) {
        if (!(options.startRule in peg$startRuleFunctions)) {
          throw new Error(`Can't start parsing from rule "` + options.startRule + '".');
        }
        peg$startRuleFunction = peg$startRuleFunctions[options.startRule];
      }
      function text() {
        return input.substring(peg$savedPos, peg$currPos);
      }
      function location() {
        return peg$computeLocation(peg$savedPos, peg$currPos);
      }
      function expected(description, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildStructuredError(
          [peg$otherExpectation(description)],
          input.substring(peg$savedPos, peg$currPos),
          location2
        );
      }
      function error(message, location2) {
        location2 = location2 !== void 0 ? location2 : peg$computeLocation(peg$savedPos, peg$currPos);
        throw peg$buildSimpleError(message, location2);
      }
      function peg$literalExpectation(text2, ignoreCase) {
        return { type: "literal", text: text2, ignoreCase };
      }
      function peg$classExpectation(parts, inverted, ignoreCase) {
        return { type: "class", parts, inverted, ignoreCase };
      }
      function peg$anyExpectation() {
        return { type: "any" };
      }
      function peg$endExpectation() {
        return { type: "end" };
      }
      function peg$otherExpectation(description) {
        return { type: "other", description };
      }
      function peg$computePosDetails(pos) {
        var details = peg$posDetailsCache[pos], p;
        if (details) {
          return details;
        } else {
          p = pos - 1;
          while (!peg$posDetailsCache[p]) {
            p--;
          }
          details = peg$posDetailsCache[p];
          details = {
            line: details.line,
            column: details.column
          };
          while (p < pos) {
            if (input.charCodeAt(p) === 10) {
              details.line++;
              details.column = 1;
            } else {
              details.column++;
            }
            p++;
          }
          peg$posDetailsCache[pos] = details;
          return details;
        }
      }
      function peg$computeLocation(startPos, endPos) {
        var startPosDetails = peg$computePosDetails(startPos), endPosDetails = peg$computePosDetails(endPos);
        return {
          start: {
            offset: startPos,
            line: startPosDetails.line,
            column: startPosDetails.column
          },
          end: {
            offset: endPos,
            line: endPosDetails.line,
            column: endPosDetails.column
          }
        };
      }
      function peg$fail(expected2) {
        if (peg$currPos < peg$maxFailPos) {
          return;
        }
        if (peg$currPos > peg$maxFailPos) {
          peg$maxFailPos = peg$currPos;
          peg$maxFailExpected = [];
        }
        peg$maxFailExpected.push(expected2);
      }
      function peg$buildSimpleError(message, location2) {
        return new peg$SyntaxError(message, null, null, location2);
      }
      function peg$buildStructuredError(expected2, found, location2) {
        return new peg$SyntaxError(
          peg$SyntaxError.buildMessage(expected2, found),
          expected2,
          found,
          location2
        );
      }
      function peg$parseStart() {
        var s0;
        s0 = peg$parsePropertyStatements();
        return s0;
      }
      function peg$parseItemStatements() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parseItemStatement();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parseItemStatement();
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c0(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parseItemStatement() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        s1 = peg$parseSamedent();
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 45) {
            s2 = peg$c1;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c2);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = peg$parseB();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseExpression();
              if (s4 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c3(s4);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parsePropertyStatements() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsePropertyStatement();
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          s2 = peg$parsePropertyStatement();
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c4(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parsePropertyStatement() {
        var s0, s1, s2, s3, s4, s5, s6, s7, s8;
        s0 = peg$currPos;
        s1 = peg$parseB();
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 35) {
            s3 = peg$c5;
            peg$currPos++;
          } else {
            s3 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c6);
            }
          }
          if (s3 !== peg$FAILED) {
            s4 = [];
            s5 = peg$currPos;
            s6 = peg$currPos;
            peg$silentFails++;
            s7 = peg$parseEOL();
            peg$silentFails--;
            if (s7 === peg$FAILED) {
              s6 = void 0;
            } else {
              peg$currPos = s6;
              s6 = peg$FAILED;
            }
            if (s6 !== peg$FAILED) {
              if (input.length > peg$currPos) {
                s7 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s7 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c7);
                }
              }
              if (s7 !== peg$FAILED) {
                s6 = [s6, s7];
                s5 = s6;
              } else {
                peg$currPos = s5;
                s5 = peg$FAILED;
              }
            } else {
              peg$currPos = s5;
              s5 = peg$FAILED;
            }
            if (s5 !== peg$FAILED) {
              while (s5 !== peg$FAILED) {
                s4.push(s5);
                s5 = peg$currPos;
                s6 = peg$currPos;
                peg$silentFails++;
                s7 = peg$parseEOL();
                peg$silentFails--;
                if (s7 === peg$FAILED) {
                  s6 = void 0;
                } else {
                  peg$currPos = s6;
                  s6 = peg$FAILED;
                }
                if (s6 !== peg$FAILED) {
                  if (input.length > peg$currPos) {
                    s7 = input.charAt(peg$currPos);
                    peg$currPos++;
                  } else {
                    s7 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c7);
                    }
                  }
                  if (s7 !== peg$FAILED) {
                    s6 = [s6, s7];
                    s5 = s6;
                  } else {
                    peg$currPos = s5;
                    s5 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s5;
                  s5 = peg$FAILED;
                }
              }
            } else {
              s4 = peg$FAILED;
            }
            if (s4 !== peg$FAILED) {
              s3 = [s3, s4];
              s2 = s3;
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
          if (s2 === peg$FAILED) {
            s2 = null;
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            s4 = peg$parseEOL_ANY();
            if (s4 !== peg$FAILED) {
              while (s4 !== peg$FAILED) {
                s3.push(s4);
                s4 = peg$parseEOL_ANY();
              }
            } else {
              s3 = peg$FAILED;
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c8();
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseSamedent();
          if (s1 !== peg$FAILED) {
            s2 = peg$parseName();
            if (s2 !== peg$FAILED) {
              s3 = peg$parseB();
              if (s3 === peg$FAILED) {
                s3 = null;
              }
              if (s3 !== peg$FAILED) {
                if (input.charCodeAt(peg$currPos) === 58) {
                  s4 = peg$c9;
                  peg$currPos++;
                } else {
                  s4 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c10);
                  }
                }
                if (s4 !== peg$FAILED) {
                  s5 = peg$parseB();
                  if (s5 === peg$FAILED) {
                    s5 = null;
                  }
                  if (s5 !== peg$FAILED) {
                    s6 = peg$parseExpression();
                    if (s6 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c11(s2, s6);
                      s0 = s1;
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseSamedent();
            if (s1 !== peg$FAILED) {
              s2 = peg$parseLegacyName();
              if (s2 !== peg$FAILED) {
                s3 = peg$parseB();
                if (s3 === peg$FAILED) {
                  s3 = null;
                }
                if (s3 !== peg$FAILED) {
                  if (input.charCodeAt(peg$currPos) === 58) {
                    s4 = peg$c9;
                    peg$currPos++;
                  } else {
                    s4 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c10);
                    }
                  }
                  if (s4 !== peg$FAILED) {
                    s5 = peg$parseB();
                    if (s5 === peg$FAILED) {
                      s5 = null;
                    }
                    if (s5 !== peg$FAILED) {
                      s6 = peg$parseExpression();
                      if (s6 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c11(s2, s6);
                        s0 = s1;
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              s1 = peg$parseSamedent();
              if (s1 !== peg$FAILED) {
                s2 = peg$parseLegacyName();
                if (s2 !== peg$FAILED) {
                  s3 = peg$parseB();
                  if (s3 !== peg$FAILED) {
                    s4 = peg$parseLegacyLiteral();
                    if (s4 !== peg$FAILED) {
                      s5 = [];
                      s6 = peg$parseEOL_ANY();
                      if (s6 !== peg$FAILED) {
                        while (s6 !== peg$FAILED) {
                          s5.push(s6);
                          s6 = peg$parseEOL_ANY();
                        }
                      } else {
                        s5 = peg$FAILED;
                      }
                      if (s5 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c11(s2, s4);
                        s0 = s1;
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                s1 = peg$parseSamedent();
                if (s1 !== peg$FAILED) {
                  s2 = peg$parseLegacyName();
                  if (s2 !== peg$FAILED) {
                    s3 = [];
                    s4 = peg$currPos;
                    s5 = peg$parseB();
                    if (s5 === peg$FAILED) {
                      s5 = null;
                    }
                    if (s5 !== peg$FAILED) {
                      if (input.charCodeAt(peg$currPos) === 44) {
                        s6 = peg$c12;
                        peg$currPos++;
                      } else {
                        s6 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c13);
                        }
                      }
                      if (s6 !== peg$FAILED) {
                        s7 = peg$parseB();
                        if (s7 === peg$FAILED) {
                          s7 = null;
                        }
                        if (s7 !== peg$FAILED) {
                          s8 = peg$parseLegacyName();
                          if (s8 !== peg$FAILED) {
                            peg$savedPos = s4;
                            s5 = peg$c14(s2, s8);
                            s4 = s5;
                          } else {
                            peg$currPos = s4;
                            s4 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s4;
                          s4 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s4;
                        s4 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s4;
                      s4 = peg$FAILED;
                    }
                    if (s4 !== peg$FAILED) {
                      while (s4 !== peg$FAILED) {
                        s3.push(s4);
                        s4 = peg$currPos;
                        s5 = peg$parseB();
                        if (s5 === peg$FAILED) {
                          s5 = null;
                        }
                        if (s5 !== peg$FAILED) {
                          if (input.charCodeAt(peg$currPos) === 44) {
                            s6 = peg$c12;
                            peg$currPos++;
                          } else {
                            s6 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c13);
                            }
                          }
                          if (s6 !== peg$FAILED) {
                            s7 = peg$parseB();
                            if (s7 === peg$FAILED) {
                              s7 = null;
                            }
                            if (s7 !== peg$FAILED) {
                              s8 = peg$parseLegacyName();
                              if (s8 !== peg$FAILED) {
                                peg$savedPos = s4;
                                s5 = peg$c14(s2, s8);
                                s4 = s5;
                              } else {
                                peg$currPos = s4;
                                s4 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s4;
                              s4 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s4;
                            s4 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s4;
                          s4 = peg$FAILED;
                        }
                      }
                    } else {
                      s3 = peg$FAILED;
                    }
                    if (s3 !== peg$FAILED) {
                      s4 = peg$parseB();
                      if (s4 === peg$FAILED) {
                        s4 = null;
                      }
                      if (s4 !== peg$FAILED) {
                        if (input.charCodeAt(peg$currPos) === 58) {
                          s5 = peg$c9;
                          peg$currPos++;
                        } else {
                          s5 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c10);
                          }
                        }
                        if (s5 !== peg$FAILED) {
                          s6 = peg$parseB();
                          if (s6 === peg$FAILED) {
                            s6 = null;
                          }
                          if (s6 !== peg$FAILED) {
                            s7 = peg$parseExpression();
                            if (s7 !== peg$FAILED) {
                              peg$savedPos = s0;
                              s1 = peg$c15(s2, s3, s7);
                              s0 = s1;
                            } else {
                              peg$currPos = s0;
                              s0 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        } else {
                          peg$currPos = s0;
                          s0 = peg$FAILED;
                        }
                      } else {
                        peg$currPos = s0;
                        s0 = peg$FAILED;
                      }
                    } else {
                      peg$currPos = s0;
                      s0 = peg$FAILED;
                    }
                  } else {
                    peg$currPos = s0;
                    s0 = peg$FAILED;
                  }
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parseExpression() {
        var s0, s1, s2, s3, s4, s5, s6;
        s0 = peg$currPos;
        s1 = peg$currPos;
        peg$silentFails++;
        s2 = peg$currPos;
        s3 = peg$parseEOL();
        if (s3 !== peg$FAILED) {
          s4 = peg$parseExtradent();
          if (s4 !== peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 45) {
              s5 = peg$c1;
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c2);
              }
            }
            if (s5 !== peg$FAILED) {
              s6 = peg$parseB();
              if (s6 !== peg$FAILED) {
                s3 = [s3, s4, s5, s6];
                s2 = s3;
              } else {
                peg$currPos = s2;
                s2 = peg$FAILED;
              }
            } else {
              peg$currPos = s2;
              s2 = peg$FAILED;
            }
          } else {
            peg$currPos = s2;
            s2 = peg$FAILED;
          }
        } else {
          peg$currPos = s2;
          s2 = peg$FAILED;
        }
        peg$silentFails--;
        if (s2 !== peg$FAILED) {
          peg$currPos = s1;
          s1 = void 0;
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          s2 = peg$parseEOL_ANY();
          if (s2 !== peg$FAILED) {
            s3 = peg$parseIndent();
            if (s3 !== peg$FAILED) {
              s4 = peg$parseItemStatements();
              if (s4 !== peg$FAILED) {
                s5 = peg$parseDedent();
                if (s5 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c16(s4);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = peg$parseEOL();
          if (s1 !== peg$FAILED) {
            s2 = peg$parseIndent();
            if (s2 !== peg$FAILED) {
              s3 = peg$parsePropertyStatements();
              if (s3 !== peg$FAILED) {
                s4 = peg$parseDedent();
                if (s4 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c16(s3);
                  s0 = s1;
                } else {
                  peg$currPos = s0;
                  s0 = peg$FAILED;
                }
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            s1 = peg$parseLiteral();
            if (s1 !== peg$FAILED) {
              s2 = [];
              s3 = peg$parseEOL_ANY();
              if (s3 !== peg$FAILED) {
                while (s3 !== peg$FAILED) {
                  s2.push(s3);
                  s3 = peg$parseEOL_ANY();
                }
              } else {
                s2 = peg$FAILED;
              }
              if (s2 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c17(s1);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          }
        }
        return s0;
      }
      function peg$parseSamedent() {
        var s0, s1, s2;
        peg$silentFails++;
        s0 = peg$currPos;
        s1 = [];
        if (input.charCodeAt(peg$currPos) === 32) {
          s2 = peg$c19;
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c20);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (input.charCodeAt(peg$currPos) === 32) {
            s2 = peg$c19;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c20);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c21(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c18);
          }
        }
        return s0;
      }
      function peg$parseExtradent() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        if (input.charCodeAt(peg$currPos) === 32) {
          s2 = peg$c19;
          peg$currPos++;
        } else {
          s2 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c20);
          }
        }
        while (s2 !== peg$FAILED) {
          s1.push(s2);
          if (input.charCodeAt(peg$currPos) === 32) {
            s2 = peg$c19;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c20);
            }
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = peg$currPos;
          s2 = peg$c22(s1);
          if (s2) {
            s2 = void 0;
          } else {
            s2 = peg$FAILED;
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseIndent() {
        var s0;
        peg$savedPos = peg$currPos;
        s0 = peg$c23();
        if (s0) {
          s0 = void 0;
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseDedent() {
        var s0;
        peg$savedPos = peg$currPos;
        s0 = peg$c24();
        if (s0) {
          s0 = void 0;
        } else {
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseName() {
        var s0;
        s0 = peg$parsestring();
        if (s0 === peg$FAILED) {
          s0 = peg$parsepseudostring();
        }
        return s0;
      }
      function peg$parseLegacyName() {
        var s0, s1, s2;
        s0 = peg$parsestring();
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          s1 = [];
          s2 = peg$parsepseudostringLegacy();
          if (s2 !== peg$FAILED) {
            while (s2 !== peg$FAILED) {
              s1.push(s2);
              s2 = peg$parsepseudostringLegacy();
            }
          } else {
            s1 = peg$FAILED;
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c25();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parseLiteral() {
        var s0;
        s0 = peg$parsenull();
        if (s0 === peg$FAILED) {
          s0 = peg$parseboolean();
          if (s0 === peg$FAILED) {
            s0 = peg$parsestring();
            if (s0 === peg$FAILED) {
              s0 = peg$parsepseudostring();
            }
          }
        }
        return s0;
      }
      function peg$parseLegacyLiteral() {
        var s0;
        s0 = peg$parsenull();
        if (s0 === peg$FAILED) {
          s0 = peg$parsestring();
          if (s0 === peg$FAILED) {
            s0 = peg$parsepseudostringLegacy();
          }
        }
        return s0;
      }
      function peg$parsepseudostring() {
        var s0, s1, s2, s3, s4, s5;
        peg$silentFails++;
        s0 = peg$currPos;
        if (peg$c27.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c28);
          }
        }
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = peg$parseB();
          if (s4 === peg$FAILED) {
            s4 = null;
          }
          if (s4 !== peg$FAILED) {
            if (peg$c29.test(input.charAt(peg$currPos))) {
              s5 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s5 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c30);
              }
            }
            if (s5 !== peg$FAILED) {
              s4 = [s4, s5];
              s3 = s4;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = peg$parseB();
            if (s4 === peg$FAILED) {
              s4 = null;
            }
            if (s4 !== peg$FAILED) {
              if (peg$c29.test(input.charAt(peg$currPos))) {
                s5 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s5 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c30);
                }
              }
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c31();
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c26);
          }
        }
        return s0;
      }
      function peg$parsepseudostringLegacy() {
        var s0, s1, s2, s3, s4;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 2) === peg$c32) {
          s1 = peg$c32;
          peg$currPos += 2;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c33);
          }
        }
        if (s1 === peg$FAILED) {
          s1 = null;
        }
        if (s1 !== peg$FAILED) {
          if (peg$c34.test(input.charAt(peg$currPos))) {
            s2 = input.charAt(peg$currPos);
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c35);
            }
          }
          if (s2 !== peg$FAILED) {
            s3 = [];
            if (peg$c36.test(input.charAt(peg$currPos))) {
              s4 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s4 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c37);
              }
            }
            while (s4 !== peg$FAILED) {
              s3.push(s4);
              if (peg$c36.test(input.charAt(peg$currPos))) {
                s4 = input.charAt(peg$currPos);
                peg$currPos++;
              } else {
                s4 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c37);
                }
              }
            }
            if (s3 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c31();
              s0 = s1;
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parsenull() {
        var s0, s1;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 4) === peg$c38) {
          s1 = peg$c38;
          peg$currPos += 4;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c39);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c40();
        }
        s0 = s1;
        return s0;
      }
      function peg$parseboolean() {
        var s0, s1;
        s0 = peg$currPos;
        if (input.substr(peg$currPos, 4) === peg$c41) {
          s1 = peg$c41;
          peg$currPos += 4;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c42);
          }
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c43();
        }
        s0 = s1;
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 5) === peg$c44) {
            s1 = peg$c44;
            peg$currPos += 5;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c45);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c46();
          }
          s0 = s1;
        }
        return s0;
      }
      function peg$parsestring() {
        var s0, s1, s2, s3;
        peg$silentFails++;
        s0 = peg$currPos;
        if (input.charCodeAt(peg$currPos) === 34) {
          s1 = peg$c48;
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c49);
          }
        }
        if (s1 !== peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 34) {
            s2 = peg$c48;
            peg$currPos++;
          } else {
            s2 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c49);
            }
          }
          if (s2 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c50();
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.charCodeAt(peg$currPos) === 34) {
            s1 = peg$c48;
            peg$currPos++;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c49);
            }
          }
          if (s1 !== peg$FAILED) {
            s2 = peg$parsechars();
            if (s2 !== peg$FAILED) {
              if (input.charCodeAt(peg$currPos) === 34) {
                s3 = peg$c48;
                peg$currPos++;
              } else {
                s3 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c49);
                }
              }
              if (s3 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c51(s2);
                s0 = s1;
              } else {
                peg$currPos = s0;
                s0 = peg$FAILED;
              }
            } else {
              peg$currPos = s0;
              s0 = peg$FAILED;
            }
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c47);
          }
        }
        return s0;
      }
      function peg$parsechars() {
        var s0, s1, s2;
        s0 = peg$currPos;
        s1 = [];
        s2 = peg$parsechar();
        if (s2 !== peg$FAILED) {
          while (s2 !== peg$FAILED) {
            s1.push(s2);
            s2 = peg$parsechar();
          }
        } else {
          s1 = peg$FAILED;
        }
        if (s1 !== peg$FAILED) {
          peg$savedPos = s0;
          s1 = peg$c52(s1);
        }
        s0 = s1;
        return s0;
      }
      function peg$parsechar() {
        var s0, s1, s2, s3, s4, s5;
        if (peg$c53.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c54);
          }
        }
        if (s0 === peg$FAILED) {
          s0 = peg$currPos;
          if (input.substr(peg$currPos, 2) === peg$c55) {
            s1 = peg$c55;
            peg$currPos += 2;
          } else {
            s1 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c56);
            }
          }
          if (s1 !== peg$FAILED) {
            peg$savedPos = s0;
            s1 = peg$c57();
          }
          s0 = s1;
          if (s0 === peg$FAILED) {
            s0 = peg$currPos;
            if (input.substr(peg$currPos, 2) === peg$c58) {
              s1 = peg$c58;
              peg$currPos += 2;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c59);
              }
            }
            if (s1 !== peg$FAILED) {
              peg$savedPos = s0;
              s1 = peg$c60();
            }
            s0 = s1;
            if (s0 === peg$FAILED) {
              s0 = peg$currPos;
              if (input.substr(peg$currPos, 2) === peg$c61) {
                s1 = peg$c61;
                peg$currPos += 2;
              } else {
                s1 = peg$FAILED;
                if (peg$silentFails === 0) {
                  peg$fail(peg$c62);
                }
              }
              if (s1 !== peg$FAILED) {
                peg$savedPos = s0;
                s1 = peg$c63();
              }
              s0 = s1;
              if (s0 === peg$FAILED) {
                s0 = peg$currPos;
                if (input.substr(peg$currPos, 2) === peg$c64) {
                  s1 = peg$c64;
                  peg$currPos += 2;
                } else {
                  s1 = peg$FAILED;
                  if (peg$silentFails === 0) {
                    peg$fail(peg$c65);
                  }
                }
                if (s1 !== peg$FAILED) {
                  peg$savedPos = s0;
                  s1 = peg$c66();
                }
                s0 = s1;
                if (s0 === peg$FAILED) {
                  s0 = peg$currPos;
                  if (input.substr(peg$currPos, 2) === peg$c67) {
                    s1 = peg$c67;
                    peg$currPos += 2;
                  } else {
                    s1 = peg$FAILED;
                    if (peg$silentFails === 0) {
                      peg$fail(peg$c68);
                    }
                  }
                  if (s1 !== peg$FAILED) {
                    peg$savedPos = s0;
                    s1 = peg$c69();
                  }
                  s0 = s1;
                  if (s0 === peg$FAILED) {
                    s0 = peg$currPos;
                    if (input.substr(peg$currPos, 2) === peg$c70) {
                      s1 = peg$c70;
                      peg$currPos += 2;
                    } else {
                      s1 = peg$FAILED;
                      if (peg$silentFails === 0) {
                        peg$fail(peg$c71);
                      }
                    }
                    if (s1 !== peg$FAILED) {
                      peg$savedPos = s0;
                      s1 = peg$c72();
                    }
                    s0 = s1;
                    if (s0 === peg$FAILED) {
                      s0 = peg$currPos;
                      if (input.substr(peg$currPos, 2) === peg$c73) {
                        s1 = peg$c73;
                        peg$currPos += 2;
                      } else {
                        s1 = peg$FAILED;
                        if (peg$silentFails === 0) {
                          peg$fail(peg$c74);
                        }
                      }
                      if (s1 !== peg$FAILED) {
                        peg$savedPos = s0;
                        s1 = peg$c75();
                      }
                      s0 = s1;
                      if (s0 === peg$FAILED) {
                        s0 = peg$currPos;
                        if (input.substr(peg$currPos, 2) === peg$c76) {
                          s1 = peg$c76;
                          peg$currPos += 2;
                        } else {
                          s1 = peg$FAILED;
                          if (peg$silentFails === 0) {
                            peg$fail(peg$c77);
                          }
                        }
                        if (s1 !== peg$FAILED) {
                          peg$savedPos = s0;
                          s1 = peg$c78();
                        }
                        s0 = s1;
                        if (s0 === peg$FAILED) {
                          s0 = peg$currPos;
                          if (input.substr(peg$currPos, 2) === peg$c79) {
                            s1 = peg$c79;
                            peg$currPos += 2;
                          } else {
                            s1 = peg$FAILED;
                            if (peg$silentFails === 0) {
                              peg$fail(peg$c80);
                            }
                          }
                          if (s1 !== peg$FAILED) {
                            s2 = peg$parsehexDigit();
                            if (s2 !== peg$FAILED) {
                              s3 = peg$parsehexDigit();
                              if (s3 !== peg$FAILED) {
                                s4 = peg$parsehexDigit();
                                if (s4 !== peg$FAILED) {
                                  s5 = peg$parsehexDigit();
                                  if (s5 !== peg$FAILED) {
                                    peg$savedPos = s0;
                                    s1 = peg$c81(s2, s3, s4, s5);
                                    s0 = s1;
                                  } else {
                                    peg$currPos = s0;
                                    s0 = peg$FAILED;
                                  }
                                } else {
                                  peg$currPos = s0;
                                  s0 = peg$FAILED;
                                }
                              } else {
                                peg$currPos = s0;
                                s0 = peg$FAILED;
                              }
                            } else {
                              peg$currPos = s0;
                              s0 = peg$FAILED;
                            }
                          } else {
                            peg$currPos = s0;
                            s0 = peg$FAILED;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
        return s0;
      }
      function peg$parsehexDigit() {
        var s0;
        if (peg$c82.test(input.charAt(peg$currPos))) {
          s0 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c83);
          }
        }
        return s0;
      }
      function peg$parseB() {
        var s0, s1;
        peg$silentFails++;
        s0 = [];
        if (peg$c85.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c86);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c85.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c86);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c84);
          }
        }
        return s0;
      }
      function peg$parseS() {
        var s0, s1;
        peg$silentFails++;
        s0 = [];
        if (peg$c88.test(input.charAt(peg$currPos))) {
          s1 = input.charAt(peg$currPos);
          peg$currPos++;
        } else {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c89);
          }
        }
        if (s1 !== peg$FAILED) {
          while (s1 !== peg$FAILED) {
            s0.push(s1);
            if (peg$c88.test(input.charAt(peg$currPos))) {
              s1 = input.charAt(peg$currPos);
              peg$currPos++;
            } else {
              s1 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c89);
              }
            }
          }
        } else {
          s0 = peg$FAILED;
        }
        peg$silentFails--;
        if (s0 === peg$FAILED) {
          s1 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c87);
          }
        }
        return s0;
      }
      function peg$parseEOL_ANY() {
        var s0, s1, s2, s3, s4, s5;
        s0 = peg$currPos;
        s1 = peg$parseEOL();
        if (s1 !== peg$FAILED) {
          s2 = [];
          s3 = peg$currPos;
          s4 = peg$parseB();
          if (s4 === peg$FAILED) {
            s4 = null;
          }
          if (s4 !== peg$FAILED) {
            s5 = peg$parseEOL();
            if (s5 !== peg$FAILED) {
              s4 = [s4, s5];
              s3 = s4;
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          } else {
            peg$currPos = s3;
            s3 = peg$FAILED;
          }
          while (s3 !== peg$FAILED) {
            s2.push(s3);
            s3 = peg$currPos;
            s4 = peg$parseB();
            if (s4 === peg$FAILED) {
              s4 = null;
            }
            if (s4 !== peg$FAILED) {
              s5 = peg$parseEOL();
              if (s5 !== peg$FAILED) {
                s4 = [s4, s5];
                s3 = s4;
              } else {
                peg$currPos = s3;
                s3 = peg$FAILED;
              }
            } else {
              peg$currPos = s3;
              s3 = peg$FAILED;
            }
          }
          if (s2 !== peg$FAILED) {
            s1 = [s1, s2];
            s0 = s1;
          } else {
            peg$currPos = s0;
            s0 = peg$FAILED;
          }
        } else {
          peg$currPos = s0;
          s0 = peg$FAILED;
        }
        return s0;
      }
      function peg$parseEOL() {
        var s0;
        if (input.substr(peg$currPos, 2) === peg$c90) {
          s0 = peg$c90;
          peg$currPos += 2;
        } else {
          s0 = peg$FAILED;
          if (peg$silentFails === 0) {
            peg$fail(peg$c91);
          }
        }
        if (s0 === peg$FAILED) {
          if (input.charCodeAt(peg$currPos) === 10) {
            s0 = peg$c92;
            peg$currPos++;
          } else {
            s0 = peg$FAILED;
            if (peg$silentFails === 0) {
              peg$fail(peg$c93);
            }
          }
          if (s0 === peg$FAILED) {
            if (input.charCodeAt(peg$currPos) === 13) {
              s0 = peg$c94;
              peg$currPos++;
            } else {
              s0 = peg$FAILED;
              if (peg$silentFails === 0) {
                peg$fail(peg$c95);
              }
            }
          }
        }
        return s0;
      }
      const INDENT_STEP = 2;
      let indentLevel = 0;
      peg$result = peg$startRuleFunction();
      if (peg$result !== peg$FAILED && peg$currPos === input.length) {
        return peg$result;
      } else {
        if (peg$result !== peg$FAILED && peg$currPos < input.length) {
          peg$fail(peg$endExpectation());
        }
        throw peg$buildStructuredError(
          peg$maxFailExpected,
          peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,
          peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)
        );
      }
    }
    module2.exports = {
      SyntaxError: peg$SyntaxError,
      parse: peg$parse
    };
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/syml.js
var require_syml4 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/syml.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseSyml = exports2.stringifySyml = exports2.PreserveOrdering = void 0;
    var js_yaml_1 = require_js_yaml3();
    var syml_1 = require_syml3();
    var simpleStringPattern = /^(?![-?:,\][{}#&*!|>'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/;
    var specialObjectKeys = [`__metadata`, `version`, `resolution`, `dependencies`, `peerDependencies`, `dependenciesMeta`, `peerDependenciesMeta`, `binaries`];
    var PreserveOrdering = class {
      constructor(data) {
        this.data = data;
      }
    };
    exports2.PreserveOrdering = PreserveOrdering;
    function stringifyString(value) {
      if (value.match(simpleStringPattern)) {
        return value;
      } else {
        return JSON.stringify(value);
      }
    }
    function isRemovableField(value) {
      if (typeof value === `undefined`)
        return true;
      if (typeof value === `object` && value !== null && !Array.isArray(value))
        return Object.keys(value).every((key) => isRemovableField(value[key]));
      return false;
    }
    function stringifyValue(value, indentLevel, newLineIfObject) {
      if (value === null)
        return `null
`;
      if (typeof value === `number` || typeof value === `boolean`)
        return `${value.toString()}
`;
      if (typeof value === `string`)
        return `${stringifyString(value)}
`;
      if (Array.isArray(value)) {
        if (value.length === 0)
          return `[]
`;
        const indent = `  `.repeat(indentLevel);
        const serialized = value.map((sub) => {
          return `${indent}- ${stringifyValue(sub, indentLevel + 1, false)}`;
        }).join(``);
        return `
${serialized}`;
      }
      if (typeof value === `object` && value) {
        const [data, sort] = value instanceof PreserveOrdering ? [value.data, false] : [value, true];
        const indent = `  `.repeat(indentLevel);
        const keys = Object.keys(data);
        if (sort) {
          keys.sort((a, b) => {
            const aIndex = specialObjectKeys.indexOf(a);
            const bIndex = specialObjectKeys.indexOf(b);
            if (aIndex === -1 && bIndex === -1)
              return a < b ? -1 : a > b ? 1 : 0;
            if (aIndex !== -1 && bIndex === -1)
              return -1;
            if (aIndex === -1 && bIndex !== -1)
              return 1;
            return aIndex - bIndex;
          });
        }
        const fields = keys.filter((key) => {
          return !isRemovableField(data[key]);
        }).map((key, index) => {
          const value2 = data[key];
          const stringifiedKey = stringifyString(key);
          const stringifiedValue = stringifyValue(value2, indentLevel + 1, true);
          const recordIndentation = index > 0 || newLineIfObject ? indent : ``;
          const keyPart = stringifiedKey.length > 1024 ? `? ${stringifiedKey}
${recordIndentation}:` : `${stringifiedKey}:`;
          const valuePart = stringifiedValue.startsWith(`
`) ? stringifiedValue : ` ${stringifiedValue}`;
          return `${recordIndentation}${keyPart}${valuePart}`;
        }).join(indentLevel === 0 ? `
` : ``) || `
`;
        if (!newLineIfObject) {
          return `${fields}`;
        } else {
          return `
${fields}`;
        }
      }
      throw new Error(`Unsupported value type (${value})`);
    }
    function stringifySyml(value) {
      try {
        const stringified = stringifyValue(value, 0, false);
        return stringified !== `
` ? stringified : ``;
      } catch (error) {
        if (error.location)
          error.message = error.message.replace(/(\.)?$/, ` (line ${error.location.start.line}, column ${error.location.start.column})$1`);
        throw error;
      }
    }
    exports2.stringifySyml = stringifySyml;
    stringifySyml.PreserveOrdering = PreserveOrdering;
    function parseViaPeg(source) {
      if (!source.endsWith(`
`))
        source += `
`;
      return (0, syml_1.parse)(source);
    }
    var LEGACY_REGEXP = /^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;
    function parseViaJsYaml(source) {
      if (LEGACY_REGEXP.test(source))
        return parseViaPeg(source);
      const value = (0, js_yaml_1.safeLoad)(source, {
        schema: js_yaml_1.FAILSAFE_SCHEMA,
        json: true
      });
      if (value === void 0 || value === null)
        return {};
      if (typeof value !== `object`)
        throw new Error(`Expected an indexed object, got a ${typeof value} instead. Does your file follow Yaml's rules?`);
      if (Array.isArray(value))
        throw new Error(`Expected an indexed object, got an array instead. Does your file follow Yaml's rules?`);
      return value;
    }
    function parseSyml(source) {
      return parseViaJsYaml(source);
    }
    exports2.parseSyml = parseSyml;
  }
});

// ../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/index.js
var require_lib170 = __commonJS({
  "../node_modules/.pnpm/@yarnpkg+parsers@3.0.0/node_modules/@yarnpkg/parsers/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stringifySyml = exports2.parseSyml = exports2.stringifyResolution = exports2.parseResolution = exports2.stringifyValueArgument = exports2.stringifyShellLine = exports2.stringifyRedirectArgument = exports2.stringifyEnvSegment = exports2.stringifyCommandLineThen = exports2.stringifyCommandLine = exports2.stringifyCommandChainThen = exports2.stringifyCommandChain = exports2.stringifyCommand = exports2.stringifyArithmeticExpression = exports2.stringifyArgumentSegment = exports2.stringifyArgument = exports2.stringifyShell = exports2.parseShell = void 0;
    var shell_1 = require_shell4();
    Object.defineProperty(exports2, "parseShell", { enumerable: true, get: function() {
      return shell_1.parseShell;
    } });
    Object.defineProperty(exports2, "stringifyShell", { enumerable: true, get: function() {
      return shell_1.stringifyShell;
    } });
    Object.defineProperty(exports2, "stringifyArgument", { enumerable: true, get: function() {
      return shell_1.stringifyArgument;
    } });
    Object.defineProperty(exports2, "stringifyArgumentSegment", { enumerable: true, get: function() {
      return shell_1.stringifyArgumentSegment;
    } });
    Object.defineProperty(exports2, "stringifyArithmeticExpression", { enumerable: true, get: function() {
      return shell_1.stringifyArithmeticExpression;
    } });
    Object.defineProperty(exports2, "stringifyCommand", { enumerable: true, get: function() {
      return shell_1.stringifyCommand;
    } });
    Object.defineProperty(exports2, "stringifyCommandChain", { enumerable: true, get: function() {
      return shell_1.stringifyCommandChain;
    } });
    Object.defineProperty(exports2, "stringifyCommandChainThen", { enumerable: true, get: function() {
      return shell_1.stringifyCommandChainThen;
    } });
    Object.defineProperty(exports2, "stringifyCommandLine", { enumerable: true, get: function() {
      return shell_1.stringifyCommandLine;
    } });
    Object.defineProperty(exports2, "stringifyCommandLineThen", { enumerable: true, get: function() {
      return shell_1.stringifyCommandLineThen;
    } });
    Object.defineProperty(exports2, "stringifyEnvSegment", { enumerable: true, get: function() {
      return shell_1.stringifyEnvSegment;
    } });
    Object.defineProperty(exports2, "stringifyRedirectArgument", { enumerable: true, get: function() {
      return shell_1.stringifyRedirectArgument;
    } });
    Object.defineProperty(exports2, "stringifyShellLine", { enumerable: true, get: function() {
      return shell_1.stringifyShellLine;
    } });
    Object.defineProperty(exports2, "stringifyValueArgument", { enumerable: true, get: function() {
      return shell_1.stringifyValueArgument;
    } });
    var resolution_1 = require_resolution4();
    Object.defineProperty(exports2, "parseResolution", { enumerable: true, get: function() {
      return resolution_1.parseResolution;
    } });
    Object.defineProperty(exports2, "stringifyResolution", { enumerable: true, get: function() {
      return resolution_1.stringifyResolution;
    } });
    var syml_1 = require_syml4();
    Object.defineProperty(exports2, "parseSyml", { enumerable: true, get: function() {
      return syml_1.parseSyml;
    } });
    Object.defineProperty(exports2, "stringifySyml", { enumerable: true, get: function() {
      return syml_1.stringifySyml;
    } });
  }
});

// ../pkg-manager/plugin-commands-installation/lib/import/yarnUtil.js
var require_yarnUtil = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/import/yarnUtil.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.yarnLockFileKeyNormalizer = void 0;
    var BUILTIN_PLACEHOLDER = "builtin";
    var MULTIPLE_KEYS_REGEXP = / *, */;
    var keyNormalizer = (parseDescriptor, parseRange) => (rawDescriptor) => {
      const descriptors = [rawDescriptor];
      const descriptor = parseDescriptor(rawDescriptor);
      const name = `${descriptor.scope ? "@" + descriptor.scope + "/" : ""}${descriptor.name}`;
      const range = parseRange(descriptor.range);
      const protocol = range.protocol;
      switch (protocol) {
        case "npm:":
        case "file:":
          descriptors.push(`${name}@${range.selector}`);
          descriptors.push(`${name}@${protocol}${range.selector}`);
          break;
        case "git:":
        case "git+ssh:":
        case "git+http:":
        case "git+https:":
        case "github:":
          if (range.source) {
            descriptors.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`);
          } else {
            descriptors.push(`${name}@${protocol}${range.selector}`);
          }
          break;
        case "patch:":
          if (range.source && range.selector.indexOf(BUILTIN_PLACEHOLDER) === 0) {
            descriptors.push(range.source);
          } else {
            descriptors.push(`${name}@${protocol}${range.source}${range.selector ? "#" + range.selector : ""}`);
          }
          break;
        case null:
        case void 0:
          if (range.source) {
            descriptors.push(`${name}@${range.source}#${range.selector}`);
          } else {
            descriptors.push(`${name}@${range.selector}`);
          }
          break;
        case "http:":
        case "https:":
        case "link:":
        case "portal:":
        case "exec:":
        case "workspace:":
        case "virtual:":
        default:
          descriptors.push(`${name}@${protocol}${range.selector}`);
          break;
      }
      return descriptors;
    };
    var yarnLockFileKeyNormalizer = (parseDescriptor, parseRange) => (fullDescriptor) => {
      const allKeys = fullDescriptor.split(MULTIPLE_KEYS_REGEXP).map(keyNormalizer(parseDescriptor, parseRange));
      return new Set(allKeys.flat(5));
    };
    exports2.yarnLockFileKeyNormalizer = yarnLockFileKeyNormalizer;
  }
});

// ../pkg-manager/plugin-commands-installation/lib/import/index.js
var require_import = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/import/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var constants_1 = require_lib5();
    var error_1 = require_lib6();
    var read_project_manifest_1 = require_lib13();
    var store_connection_manager_1 = require_lib106();
    var graceful_fs_1 = __importDefault2(require_lib12());
    var core_1 = require_lib165();
    var config_1 = require_lib19();
    var workspace_find_packages_1 = require_lib35();
    var logger_1 = require_lib();
    var sort_packages_1 = require_lib120();
    var rimraf_1 = __importDefault2(require_rimraf());
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var map_1 = __importDefault2(require_map3());
    var render_help_1 = __importDefault2(require_lib47());
    var lockfile_1 = require_lockfile();
    var yarnCore = __importStar3(require_lib159());
    var parsers_1 = require_lib170();
    var recursive_1 = require_recursive2();
    var yarnUtil_1 = require_yarnUtil();
    var YarnLockType;
    (function(YarnLockType2) {
      YarnLockType2["yarn"] = "yarn";
      YarnLockType2["yarn2"] = "yarn2";
    })(YarnLockType || (YarnLockType = {}));
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    function help() {
      return (0, render_help_1.default)({
        description: `Generates ${constants_1.WANTED_LOCKFILE} from an npm package-lock.json (or npm-shrinkwrap.json, yarn.lock) file.`,
        url: (0, cli_utils_1.docsUrl)("import"),
        usages: [
          "pnpm import"
        ]
      });
    }
    exports2.commandNames = ["import"];
    async function handler(opts, params) {
      await (0, rimraf_1.default)(path_1.default.join(opts.dir, constants_1.WANTED_LOCKFILE));
      const versionsByPackageNames = {};
      let preferredVersions = {};
      if (fs_1.default.existsSync(path_1.default.join(opts.dir, "yarn.lock"))) {
        const yarnPackageLockFile = await readYarnLockFile(opts.dir);
        getAllVersionsFromYarnLockFile(yarnPackageLockFile, versionsByPackageNames);
      } else if (fs_1.default.existsSync(path_1.default.join(opts.dir, "package-lock.json")) || fs_1.default.existsSync(path_1.default.join(opts.dir, "npm-shrinkwrap.json"))) {
        const npmPackageLock = await readNpmLockfile(opts.dir);
        if (npmPackageLock.lockfileVersion < 3) {
          getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames);
        } else {
          getAllVersionsByPackageNames(npmPackageLock, versionsByPackageNames);
        }
      } else {
        throw new error_1.PnpmError("LOCKFILE_NOT_FOUND", "No lockfile found");
      }
      preferredVersions = getPreferredVersions(versionsByPackageNames);
      if (opts.workspaceDir) {
        const allProjects = opts.allProjects ?? await (0, workspace_find_packages_1.findWorkspacePackages)(opts.workspaceDir, {
          ...opts,
          patterns: opts.workspacePackagePatterns
        });
        const selectedProjectsGraph = opts.selectedProjectsGraph ?? selectProjectByDir(allProjects, opts.dir);
        if (selectedProjectsGraph != null) {
          const sequencedGraph = (0, sort_packages_1.sequenceGraph)(selectedProjectsGraph);
          if (!opts.ignoreWorkspaceCycles && !sequencedGraph.safe) {
            const cyclicDependenciesInfo = sequencedGraph.cycles.length > 0 ? `: ${sequencedGraph.cycles.map((deps) => deps.join(", ")).join("; ")}` : "";
            if (opts.disallowWorkspaceCycles) {
              throw new error_1.PnpmError("DISALLOW_WORKSPACE_CYCLES", `There are cyclic workspace dependencies${cyclicDependenciesInfo}`);
            }
            logger_1.logger.warn({
              message: `There are cyclic workspace dependencies${cyclicDependenciesInfo}`,
              prefix: opts.workspaceDir
            });
          }
          await (0, recursive_1.recursive)(
            allProjects,
            params,
            // @ts-expect-error
            {
              ...opts,
              lockfileOnly: true,
              selectedProjectsGraph,
              preferredVersions,
              workspaceDir: opts.workspaceDir
            },
            "import"
          );
        }
        return;
      }
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
      const manifest = await (0, read_project_manifest_1.readProjectManifestOnly)(opts.dir);
      const manifestOpts = opts.rootProjectManifest ? (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest) : {};
      const installOpts = {
        ...opts,
        ...manifestOpts,
        lockfileOnly: true,
        preferredVersions,
        storeController: store.ctrl,
        storeDir: store.dir
      };
      await (0, core_1.install)(manifest, installOpts);
    }
    async function readYarnLockFile(dir) {
      try {
        const yarnLockFile = await graceful_fs_1.default.readFile(path_1.default.join(dir, "yarn.lock"), "utf8");
        const yarnLockFileType = getYarnLockfileType(yarnLockFile);
        if (yarnLockFileType === YarnLockType.yarn) {
          const lockJsonFile = (0, lockfile_1.parse)(yarnLockFile);
          if (lockJsonFile.type === "success") {
            return lockJsonFile.object;
          } else {
            throw new error_1.PnpmError("YARN_LOCKFILE_PARSE_FAILED", `Yarn.lock file was ${lockJsonFile.type}`);
          }
        } else if (yarnLockFileType === YarnLockType.yarn2) {
          const lockJsonFile = parseYarn2Lock(yarnLockFile);
          if (lockJsonFile.type === YarnLockType.yarn2) {
            return lockJsonFile.object;
          }
        }
      } catch (err) {
        if (err["code"] !== "ENOENT")
          throw err;
      }
      throw new error_1.PnpmError("YARN_LOCKFILE_NOT_FOUND", "No yarn.lock found");
    }
    function parseYarn2Lock(lockFileContents) {
      const parseYarnLock = (0, parsers_1.parseSyml)(lockFileContents);
      delete parseYarnLock.__metadata;
      const dependencies = {};
      const { structUtils } = yarnCore;
      const { parseDescriptor, parseRange } = structUtils;
      const keyNormalizer = (0, yarnUtil_1.yarnLockFileKeyNormalizer)(parseDescriptor, parseRange);
      for (const fullDescriptor in parseYarnLock) {
        const versionData = parseYarnLock[fullDescriptor];
        for (const descriptor of keyNormalizer(fullDescriptor)) {
          dependencies[descriptor] = versionData;
        }
      }
      return {
        object: dependencies,
        type: YarnLockType.yarn2
      };
    }
    async function readNpmLockfile(dir) {
      try {
        return await (0, load_json_file_1.default)(path_1.default.join(dir, "package-lock.json"));
      } catch (err) {
        if (err["code"] !== "ENOENT")
          throw err;
      }
      try {
        return await (0, load_json_file_1.default)(path_1.default.join(dir, "npm-shrinkwrap.json"));
      } catch (err) {
        if (err["code"] !== "ENOENT")
          throw err;
      }
      throw new error_1.PnpmError("NPM_LOCKFILE_NOT_FOUND", "No package-lock.json or npm-shrinkwrap.json found");
    }
    function getPreferredVersions(versionsByPackageNames) {
      const preferredVersions = (0, map_1.default)((versions) => Object.fromEntries(Array.from(versions).map((version2) => [version2, "version"])), versionsByPackageNames);
      return preferredVersions;
    }
    function getAllVersionsByPackageNamesPreV3(npmPackageLock, versionsByPackageNames) {
      if (npmPackageLock.dependencies == null)
        return;
      for (const [packageName, { version: version2 }] of Object.entries(npmPackageLock.dependencies)) {
        if (!versionsByPackageNames[packageName]) {
          versionsByPackageNames[packageName] = /* @__PURE__ */ new Set();
        }
        versionsByPackageNames[packageName].add(version2);
      }
      for (const dep of Object.values(npmPackageLock.dependencies)) {
        getAllVersionsByPackageNamesPreV3(dep, versionsByPackageNames);
      }
    }
    function getAllVersionsByPackageNames(pkg, versionsByPackageNames) {
      if (pkg.dependencies) {
        extractDependencies(versionsByPackageNames, pkg.dependencies);
      }
      if ("packages" in pkg && pkg.packages) {
        extractDependencies(versionsByPackageNames, pkg.packages);
      }
    }
    function extractDependencies(versionsByPackageNames, dependencies) {
      for (let [pkgName, pkgDetails] of Object.entries(dependencies)) {
        if (pkgName.includes("node_modules")) {
          pkgName = pkgName.substring(pkgName.lastIndexOf("node_modules/") + 13);
        }
        if (!versionsByPackageNames[pkgName]) {
          versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set();
        }
        if (pkgDetails.version) {
          versionsByPackageNames[pkgName].add(pkgDetails.version);
        }
        if (pkgDetails.packages) {
          extractDependencies(versionsByPackageNames, pkgDetails.packages);
        }
        if (pkgDetails.dependencies) {
          for (const [pkgName1, version2] of Object.entries(pkgDetails.dependencies)) {
            if (!versionsByPackageNames[pkgName1]) {
              versionsByPackageNames[pkgName1] = /* @__PURE__ */ new Set();
            }
            versionsByPackageNames[pkgName1].add(version2);
          }
        }
      }
    }
    function getAllVersionsFromYarnLockFile(yarnPackageLock, versionsByPackageNames) {
      for (const [packageName, { version: version2 }] of Object.entries(yarnPackageLock)) {
        const pkgName = packageName.substring(0, packageName.lastIndexOf("@"));
        if (!versionsByPackageNames[pkgName]) {
          versionsByPackageNames[pkgName] = /* @__PURE__ */ new Set();
        }
        versionsByPackageNames[pkgName].add(version2);
      }
    }
    function selectProjectByDir(projects, searchedDir) {
      const project = projects.find(({ rootDir }) => path_1.default.relative(rootDir, searchedDir) === "");
      if (project == null)
        return void 0;
      return { [searchedDir]: { dependencies: [], package: project } };
    }
    function getYarnLockfileType(lockFileContents) {
      return lockFileContents.includes("__metadata") ? YarnLockType.yarn2 : YarnLockType.yarn;
    }
  }
});

// ../pkg-manager/plugin-commands-installation/lib/index.js
var require_lib171 = __commonJS({
  "../pkg-manager/plugin-commands-installation/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.importCommand = exports2.update = exports2.unlink = exports2.remove = exports2.prune = exports2.link = exports2.install = exports2.fetch = exports2.dedupe = exports2.ci = exports2.add = void 0;
    var add = __importStar3(require_add2());
    exports2.add = add;
    var ci = __importStar3(require_ci());
    exports2.ci = ci;
    var dedupe = __importStar3(require_dedupe());
    exports2.dedupe = dedupe;
    var install = __importStar3(require_install2());
    exports2.install = install;
    var fetch = __importStar3(require_fetch3());
    exports2.fetch = fetch;
    var link = __importStar3(require_link3());
    exports2.link = link;
    var prune = __importStar3(require_prune3());
    exports2.prune = prune;
    var remove = __importStar3(require_remove3());
    exports2.remove = remove;
    var unlink = __importStar3(require_unlink());
    exports2.unlink = unlink;
    var update = __importStar3(require_update3());
    exports2.update = update;
    var importCommand = __importStar3(require_import());
    exports2.importCommand = importCommand;
  }
});

// ../releasing/plugin-commands-deploy/lib/deployHook.js
var require_deployHook = __commonJS({
  "../releasing/plugin-commands-deploy/lib/deployHook.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.deployHook = deployHook;
    var types_1 = require_lib31();
    function deployHook(pkg) {
      pkg.dependenciesMeta = pkg.dependenciesMeta ?? {};
      for (const depField of types_1.DEPENDENCIES_FIELDS) {
        for (const [depName, depVersion] of Object.entries(pkg[depField] ?? {})) {
          if (depVersion.startsWith("workspace:")) {
            pkg.dependenciesMeta[depName] = {
              injected: true
            };
          }
        }
      }
      return pkg;
    }
  }
});

// ../releasing/plugin-commands-deploy/lib/createDeployFiles.js
var require_createDeployFiles = __commonJS({
  "../releasing/plugin-commands-deploy/lib/createDeployFiles.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createDeployFiles = createDeployFiles;
    var path_1 = __importDefault2(require("path"));
    var url_1 = __importDefault2(require("url"));
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var pick_1 = __importDefault2(require_pick());
    var constants_1 = require_lib5();
    var dp = __importStar3(require_lib98());
    var DEPENDENCIES_FIELD = ["dependencies", "devDependencies", "optionalDependencies"];
    function createDeployFiles({ allProjects, deployDir, lockfile, lockfileDir, rootProjectManifest, selectedProjectManifest, projectId, rootProjectManifestDir }) {
      const deployedProjectRealPath = path_1.default.resolve(lockfileDir, projectId);
      const inputSnapshot = lockfile.importers[projectId];
      const targetSnapshot = {
        ...inputSnapshot,
        specifiers: {},
        dependencies: {},
        devDependencies: {},
        optionalDependencies: {}
      };
      const targetPackageSnapshots = {};
      for (const name in lockfile.packages) {
        const inputDepPath = name;
        const inputSnapshot2 = lockfile.packages[inputDepPath];
        const resolveResult = resolveLinkOrFile(inputDepPath, {
          lockfileDir,
          projectRootDirRealPath: rootProjectManifestDir
        });
        const outputDepPath = resolveResult ? createFileUrlDepPath(resolveResult, allProjects) : inputDepPath;
        targetPackageSnapshots[outputDepPath] = convertPackageSnapshot(inputSnapshot2, {
          allProjects,
          deployDir,
          deployedProjectRealPath,
          lockfileDir,
          projectRootDirRealPath: rootProjectManifestDir
        });
      }
      for (const importerPath in lockfile.importers) {
        if (importerPath === projectId)
          continue;
        const projectSnapshot = lockfile.importers[importerPath];
        const projectRootDirRealPath = path_1.default.resolve(lockfileDir, importerPath);
        const packageSnapshot = convertProjectSnapshotToPackageSnapshot(projectSnapshot, {
          allProjects,
          deployDir,
          lockfileDir,
          deployedProjectRealPath,
          projectRootDirRealPath
        });
        const depPath = createFileUrlDepPath({ resolvedPath: projectRootDirRealPath }, allProjects);
        targetPackageSnapshots[depPath] = packageSnapshot;
      }
      for (const field of DEPENDENCIES_FIELD) {
        const targetDependencies = targetSnapshot[field] ?? {};
        const targetSpecifiers = targetSnapshot.specifiers;
        const inputDependencies = inputSnapshot[field] ?? {};
        for (const name in inputDependencies) {
          const version2 = inputDependencies[name];
          const resolveResult = resolveLinkOrFile(version2, {
            lockfileDir,
            projectRootDirRealPath: path_1.default.resolve(lockfileDir, projectId)
          });
          if (!resolveResult) {
            targetSpecifiers[name] = targetDependencies[name] = version2;
            continue;
          }
          targetSpecifiers[name] = targetDependencies[name] = resolveResult.resolvedPath === deployedProjectRealPath ? "link:." : createFileUrlDepPath(resolveResult, allProjects);
        }
      }
      const result2 = {
        lockfile: {
          ...lockfile,
          overrides: void 0,
          // the effects of package overrides should already be part of the package snapshots
          patchedDependencies: void 0,
          packageExtensionsChecksum: void 0,
          // the effects of the package extensions should already be part of the package snapshots
          pnpmfileChecksum: void 0,
          // the effects of the pnpmfile should already be part of the package snapshots
          importers: {
            ["."]: targetSnapshot
          },
          packages: targetPackageSnapshots
        },
        manifest: {
          ...selectedProjectManifest,
          dependencies: targetSnapshot.dependencies,
          devDependencies: targetSnapshot.devDependencies,
          optionalDependencies: targetSnapshot.optionalDependencies,
          pnpm: {
            ...rootProjectManifest?.pnpm,
            ...(0, pick_1.default)(constants_1.USEFUL_NON_ROOT_PNPM_FIELDS, selectedProjectManifest.pnpm ?? {}),
            overrides: void 0,
            // the effects of package overrides should already be part of the package snapshots
            patchedDependencies: void 0,
            packageExtensions: void 0
            // the effects of the package extensions should already be part of the package snapshots
          }
        }
      };
      if (lockfile.patchedDependencies) {
        result2.lockfile.patchedDependencies = {};
        result2.manifest.pnpm.patchedDependencies = {};
        for (const name in lockfile.patchedDependencies) {
          const patchInfo = lockfile.patchedDependencies[name];
          const resolvedPath = path_1.default.resolve(rootProjectManifestDir, patchInfo.path);
          const relativePath = (0, normalize_path_1.default)(path_1.default.relative(deployDir, resolvedPath));
          result2.manifest.pnpm.patchedDependencies[name] = relativePath;
          result2.lockfile.patchedDependencies[name] = {
            hash: patchInfo.hash,
            path: relativePath
          };
        }
      }
      return result2;
    }
    function convertPackageSnapshot(inputSnapshot, opts) {
      const inputResolution = inputSnapshot.resolution;
      let outputResolution;
      if ("integrity" in inputResolution) {
        outputResolution = inputResolution;
      } else if ("tarball" in inputResolution) {
        outputResolution = { ...inputResolution };
        if (inputResolution.tarball.startsWith("file:")) {
          const inputPath = inputResolution.tarball.slice("file:".length);
          const resolvedPath = path_1.default.resolve(opts.lockfileDir, inputPath);
          const outputPath = (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, resolvedPath));
          outputResolution.tarball = `file:${outputPath}`;
          if (inputResolution.path)
            outputResolution.path = outputPath;
        }
      } else if (inputResolution.type === "directory") {
        const resolvedPath = path_1.default.resolve(opts.lockfileDir, inputResolution.directory);
        const directory = (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, resolvedPath));
        outputResolution = { ...inputResolution, directory };
      } else if (inputResolution.type === "git") {
        outputResolution = inputResolution;
      } else {
        const resolution = inputResolution;
        throw new Error(`Unknown resolution type: ${JSON.stringify(resolution)}`);
      }
      return {
        ...inputSnapshot,
        resolution: outputResolution,
        dependencies: convertResolvedDependencies(inputSnapshot.dependencies, opts),
        optionalDependencies: convertResolvedDependencies(inputSnapshot.optionalDependencies, opts)
      };
    }
    function convertProjectSnapshotToPackageSnapshot(projectSnapshot, opts) {
      const resolution = {
        type: "directory",
        directory: (0, normalize_path_1.default)(path_1.default.relative(opts.deployDir, opts.projectRootDirRealPath))
      };
      const dependencies = convertResolvedDependencies(projectSnapshot.dependencies, opts);
      const optionalDependencies = convertResolvedDependencies(projectSnapshot.optionalDependencies, opts);
      return {
        dependencies,
        optionalDependencies,
        resolution
      };
    }
    function convertResolvedDependencies(input, opts) {
      if (!input)
        return void 0;
      const output = {};
      for (const key in input) {
        const version2 = input[key];
        const resolveResult = resolveLinkOrFile(version2, opts);
        if (!resolveResult) {
          output[key] = version2;
          continue;
        }
        if (resolveResult.resolvedPath === opts.deployedProjectRealPath) {
          output[key] = "link:.";
          continue;
        }
        output[key] = createFileUrlDepPath(resolveResult, opts.allProjects);
      }
      return output;
    }
    function resolveLinkOrFile(pkgVer, opts) {
      const { lockfileDir, projectRootDirRealPath } = opts;
      function resolveScheme(scheme, base) {
        if (!pkgVer.startsWith(scheme))
          return void 0;
        const { id, peersSuffix: suffix } = dp.parseDepPath(pkgVer.slice(scheme.length));
        const resolvedPath = path_1.default.resolve(base, id);
        return { scheme, resolvedPath, suffix };
      }
      const resolveSchemeResult = resolveScheme("file:", lockfileDir) ?? resolveScheme("link:", projectRootDirRealPath);
      if (resolveSchemeResult)
        return resolveSchemeResult;
      const { nonSemverVersion, patchHash, peersSuffix, version: version2 } = dp.parse(pkgVer);
      if (!nonSemverVersion)
        return void 0;
      if (version2) {
        throw new Error(`Something goes wrong, version should be undefined but isn't: ${version2}`);
      }
      const parseResult = resolveLinkOrFile(nonSemverVersion, opts);
      if (!parseResult)
        return void 0;
      if (parseResult.suffix) {
        throw new Error(`Something goes wrong, suffix should be undefined but isn't: ${parseResult.suffix}`);
      }
      parseResult.suffix = `${patchHash ?? ""}${peersSuffix ?? ""}`;
      return parseResult;
    }
    function createFileUrlDepPath({ resolvedPath, suffix }, allProjects) {
      const depFileUrl = url_1.default.pathToFileURL(resolvedPath).toString();
      const project = allProjects.find((project2) => project2.rootDirRealPath === resolvedPath);
      const name = project?.manifest.name ?? path_1.default.basename(resolvedPath);
      return `${name}@${depFileUrl}${suffix ?? ""}`;
    }
  }
});

// ../releasing/plugin-commands-deploy/lib/deployCatalogHook.js
var require_deployCatalogHook = __commonJS({
  "../releasing/plugin-commands-deploy/lib/deployCatalogHook.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.deployCatalogHook = deployCatalogHook;
    var catalogs_resolver_1 = require_lib24();
    var types_1 = require_lib31();
    function deployCatalogHook(catalogs, pkg) {
      for (const depField of types_1.DEPENDENCIES_FIELDS) {
        const depsBlock = pkg[depField];
        if (depsBlock == null) {
          continue;
        }
        for (const [alias, pref] of Object.entries(depsBlock)) {
          const resolveResult = (0, catalogs_resolver_1.resolveFromCatalog)(catalogs, { alias, pref });
          (0, catalogs_resolver_1.matchCatalogResolveResult)(resolveResult, {
            unused: () => {
            },
            misconfiguration: (result2) => {
              throw result2.error;
            },
            found: (result2) => {
              depsBlock[alias] = result2.resolution.specifier;
            }
          });
        }
      }
      return pkg;
    }
  }
});

// ../releasing/plugin-commands-deploy/lib/deploy.js
var require_deploy = __commonJS({
  "../releasing/plugin-commands-deploy/lib/deploy.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var pick_1 = __importDefault2(require_pick());
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var directory_fetcher_1 = require_lib75();
    var fs_indexed_pkg_importer_1 = require_lib58();
    var fs_is_empty_dir_or_nothing_1 = require_lib135();
    var plugin_commands_installation_1 = require_lib171();
    var common_cli_options_help_1 = require_lib96();
    var error_1 = require_lib6();
    var lockfile_fs_1 = require_lib112();
    var rimraf_1 = __importDefault2(require_rimraf());
    var render_help_1 = __importDefault2(require_lib47());
    var deployHook_1 = require_deployHook();
    var logger_1 = require_lib();
    var createDeployFiles_1 = require_createDeployFiles();
    var deployCatalogHook_1 = require_deployCatalogHook();
    var FORCE_LEGACY_DEPLOY = "force-legacy-deploy";
    exports2.shorthands = {
      ...plugin_commands_installation_1.install.shorthands,
      legacy: [`--config.${FORCE_LEGACY_DEPLOY}=true`]
    };
    var DEPLOY_OWN_OPTIONS = (0, pick_1.default)([FORCE_LEGACY_DEPLOY], config_1.types);
    function rcOptionsTypes() {
      return {
        ...plugin_commands_installation_1.install.rcOptionsTypes(),
        ...DEPLOY_OWN_OPTIONS
      };
    }
    function cliOptionsTypes() {
      return {
        ...plugin_commands_installation_1.install.cliOptionsTypes(),
        ...DEPLOY_OWN_OPTIONS
      };
    }
    exports2.commandNames = ["deploy"];
    function help() {
      return (0, render_help_1.default)({
        description: "Experimental! Deploy a package from a workspace",
        url: (0, cli_utils_1.docsUrl)("deploy"),
        usages: ["pnpm --filter=<deployed project name> deploy <target directory>"],
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Packages in `devDependencies` won't be installed",
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: "Only `devDependencies` are installed",
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: "`optionalDependencies` are not installed",
                name: "--no-optional"
              },
              {
                description: "Force legacy deploy implementation",
                name: "--legacy"
              }
            ]
          },
          common_cli_options_help_1.FILTERING
        ]
      });
    }
    async function handler(opts, params) {
      if (!opts.workspaceDir) {
        throw new error_1.PnpmError("CANNOT_DEPLOY", "A deploy is only possible from inside a workspace");
      }
      const selectedProjects = Object.values(opts.selectedProjectsGraph ?? {});
      if (selectedProjects.length === 0) {
        throw new error_1.PnpmError("NOTHING_TO_DEPLOY", "No project was selected for deployment");
      }
      if (selectedProjects.length > 1) {
        throw new error_1.PnpmError("CANNOT_DEPLOY_MANY", "Cannot deploy more than 1 project");
      }
      if (params.length !== 1) {
        throw new error_1.PnpmError("INVALID_DEPLOY_TARGET", "This command requires one parameter");
      }
      const selectedProject = selectedProjects[0].package;
      const deployDirParam = params[0];
      const deployDir = path_1.default.isAbsolute(deployDirParam) ? deployDirParam : path_1.default.join(opts.dir, deployDirParam);
      if (!(0, fs_is_empty_dir_or_nothing_1.isEmptyDirOrNothing)(deployDir)) {
        if (!opts.force) {
          throw new error_1.PnpmError("DEPLOY_DIR_NOT_EMPTY", `Deploy path ${deployDir} is not empty`);
        }
        logger_1.logger.warn({ message: "using --force, deleting deploy path", prefix: deployDir });
      }
      await (0, rimraf_1.default)(deployDir);
      await fs_1.default.promises.mkdir(deployDir, { recursive: true });
      const includeOnlyPackageFiles = !opts.deployAllFiles;
      await copyProject(selectedProject.rootDir, deployDir, { includeOnlyPackageFiles });
      if (opts.sharedWorkspaceLockfile) {
        const warning = opts.forceLegacyDeploy ? "Shared workspace lockfile detected but configuration forces legacy deploy implementation." : await deployFromSharedLockfile(opts, selectedProject, deployDir);
        if (warning) {
          (0, logger_1.globalWarn)(warning);
        } else {
          return;
        }
      }
      const deployedProject = opts.allProjects?.find(({ rootDir }) => rootDir === selectedProject.rootDir);
      if (deployedProject) {
        deployedProject.modulesDir = path_1.default.relative(selectedProject.rootDir, path_1.default.join(deployDir, "node_modules"));
      }
      await plugin_commands_installation_1.install.handler({
        ...opts,
        confirmModulesPurge: false,
        // Deploy doesn't work with dedupePeerDependents=true currently as for deploy
        // we need to select a single project for install, while dedupePeerDependents
        // doesn't work with filters right now.
        // Related issue: https://github.com/pnpm/pnpm/issues/6858
        dedupePeerDependents: false,
        // If enabled, dedupe-injected-deps will symlink workspace packages in the
        // deployed dir to their original (non-deployed) directory in an attempt to
        // dedupe workspace packages that don't need to be injected. The deployed
        // dir shouldn't have symlinks to the original workspace. Disable
        // dedupe-injected-deps to always inject workspace packages since copying is
        // desirable.
        dedupeInjectedDeps: false,
        // Compute the wanted lockfile correctly by setting pruneLockfileImporters.
        // Since pnpm deploy only installs dependencies for a single selected
        // project, other projects in the "importers" lockfile section will be
        // empty when node-linker=hoisted.
        //
        // For example, when deploying project-1, project-2 may not be populated,
        // even if it has dependencies.
        //
        //   importers:
        //     project-1:
        //       dependencies:
        //         foo:
        //           specifier: ^1.0.0
        //           version: ^1.0.0
        //     project-2: {}
        //
        // Avoid including these empty importers in the in-memory wanted lockfile.
        // This is important when node-linker=hoisted to prevent project-2 from
        // being included in the hoisted install. If project-2 is errantly hoisted
        // to the root node_modules dir, downstream logic will fail to inject it to
        // the deploy directory. It's also just weird to include empty importers
        // that don't matter to the filtered lockfile generated for pnpm deploy.
        pruneLockfileImporters: true,
        depth: Infinity,
        hooks: {
          ...opts.hooks,
          readPackage: [
            ...opts.hooks?.readPackage ?? [],
            deployHook_1.deployHook,
            deployCatalogHook_1.deployCatalogHook.bind(null, opts.catalogs ?? {})
          ]
        },
        frozenLockfile: false,
        preferFrozenLockfile: false,
        // Deploy doesn't work currently with hoisted node_modules.
        // TODO: make it work as we need to prefer packages from the lockfile during deployment.
        useLockfile: opts.nodeLinker !== "hoisted",
        saveLockfile: false,
        virtualStoreDir: path_1.default.join(deployDir, "node_modules/.pnpm"),
        modulesDir: path_1.default.relative(opts.workspaceDir, path_1.default.join(deployDir, "node_modules")),
        rawLocalConfig: {
          ...opts.rawLocalConfig,
          // This is a workaround to prevent frozen install in CI envs.
          "frozen-lockfile": false
        },
        includeOnlyPackageFiles
      });
    }
    async function copyProject(src, dest, opts) {
      const { filesIndex } = await (0, directory_fetcher_1.fetchFromDir)(src, opts);
      const importPkg = (0, fs_indexed_pkg_importer_1.createIndexedPkgImporter)("clone-or-copy");
      importPkg(dest, { filesMap: filesIndex, force: true, resolvedFrom: "local-dir" });
    }
    async function deployFromSharedLockfile(opts, selectedProject, deployDir) {
      if (!opts.injectWorkspacePackages) {
        throw new error_1.PnpmError("DEPLOY_NONINJECTED_WORKSPACE", 'By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set', {
          hint: 'If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true'
        });
      }
      const { allProjects, lockfileDir, rootProjectManifest, rootProjectManifestDir, workspaceDir } = opts;
      if (!allProjects)
        throw new Error("opts.allProjects is undefined.");
      if (!lockfileDir)
        throw new Error("opts.lockfileDir is undefined.");
      if (!workspaceDir)
        throw new Error("opts.workspaceDir is undefined.");
      const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(lockfileDir, { ignoreIncompatible: false });
      if (!lockfile) {
        return "Shared lockfile not found. Falling back to installing without a lockfile.";
      }
      const projectId = (0, lockfile_fs_1.getLockfileImporterId)(lockfileDir, selectedProject.rootDir);
      const deployFiles = (0, createDeployFiles_1.createDeployFiles)({
        allProjects,
        deployDir,
        lockfile,
        lockfileDir,
        rootProjectManifest,
        selectedProjectManifest: selectedProject.manifest,
        projectId,
        rootProjectManifestDir
      });
      await Promise.all([
        fs_1.default.promises.writeFile(path_1.default.join(deployDir, "package.json"), JSON.stringify(deployFiles.manifest, void 0, 2) + "\n"),
        (0, lockfile_fs_1.writeWantedLockfile)(deployDir, deployFiles.lockfile)
      ]);
      try {
        await plugin_commands_installation_1.install.handler({
          ...opts,
          allProjects: void 0,
          allProjectsGraph: void 0,
          selectedProjectsGraph: void 0,
          rootProjectManifest: deployFiles.manifest,
          rootProjectManifestDir: deployDir,
          dir: deployDir,
          lockfileDir: deployDir,
          workspaceDir: void 0,
          virtualStoreDir: void 0,
          modulesDir: void 0,
          confirmModulesPurge: false,
          frozenLockfile: true,
          hooks: {
            ...opts.hooks,
            readPackage: [
              ...opts.hooks?.readPackage ?? [],
              deployHook_1.deployHook,
              deployCatalogHook_1.deployCatalogHook.bind(null, opts.catalogs ?? {})
            ],
            calculatePnpmfileChecksum: void 0
            // the effects of the pnpmfile should already be part of the package snapshots
          },
          rawLocalConfig: {
            ...opts.rawLocalConfig,
            "frozen-lockfile": true
          }
        });
      } catch (error) {
        (0, logger_1.globalWarn)("Deployment with a shared lockfile has failed. If this is a bug, please report it at <https://github.com/pnpm/pnpm/issues>.");
        (0, logger_1.globalWarn)(`As a workaround, you may add ${FORCE_LEGACY_DEPLOY}=true to .npmrc.`);
        throw error;
      }
      return void 0;
    }
  }
});

// ../releasing/plugin-commands-deploy/lib/index.js
var require_lib172 = __commonJS({
  "../releasing/plugin-commands-deploy/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.deploy = void 0;
    var deploy = __importStar3(require_deploy());
    exports2.deploy = deploy;
  }
});

// ../exec/pnpm-cli-runner/lib/index.js
var require_lib173 = __commonJS({
  "../exec/pnpm-cli-runner/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runPnpmCli = runPnpmCli;
    var path_1 = __importDefault2(require("path"));
    var execa_1 = require_lib14();
    function runPnpmCli(command, { cwd }) {
      const execOpts = {
        cwd,
        stdio: "inherit"
      };
      const execFileName = path_1.default.basename(process.execPath).toLowerCase();
      if (execFileName === "pnpm" || execFileName === "pnpm.exe") {
        (0, execa_1.sync)(process.execPath, command, execOpts);
      } else if (path_1.default.basename(process.argv[1]) === "pnpm.cjs") {
        (0, execa_1.sync)(process.execPath, [process.argv[1], ...command], execOpts);
      } else {
        (0, execa_1.sync)("pnpm", command, execOpts);
      }
    }
  }
});

// ../tools/path/lib/index.js
var require_lib174 = __commonJS({
  "../tools/path/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getToolDirPath = getToolDirPath;
    var path_1 = __importDefault2(require("path"));
    function getToolDirPath(opts) {
      return path_1.default.join(opts.pnpmHomeDir, ".tools", opts.tool.name.replaceAll("/", "+"), opts.tool.version);
    }
  }
});

// ../tools/plugin-commands-self-updater/lib/installPnpmToTools.js
var require_installPnpmToTools = __commonJS({
  "../tools/plugin-commands-self-updater/lib/installPnpmToTools.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.installPnpmToTools = installPnpmToTools;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var cli_meta_1 = require_lib4();
    var exec_pnpm_cli_runner_1 = require_lib173();
    var tools_path_1 = require_lib174();
    var rimraf_1 = require_rimraf();
    var path_temp_1 = require_path_temp();
    var rename_overwrite_1 = __importDefault2(require_rename_overwrite());
    async function installPnpmToTools(pnpmVersion, opts) {
      const currentPkgName = (0, cli_meta_1.getCurrentPackageName)();
      const dir = (0, tools_path_1.getToolDirPath)({
        pnpmHomeDir: opts.pnpmHomeDir,
        tool: {
          name: currentPkgName,
          version: pnpmVersion
        }
      });
      const binDir = path_1.default.join(dir, "bin");
      const alreadyExisted = fs_1.default.existsSync(binDir);
      if (alreadyExisted) {
        return {
          alreadyExisted,
          baseDir: dir,
          binDir
        };
      }
      const stage = (0, path_temp_1.fastPathTemp)(dir);
      fs_1.default.mkdirSync(stage, { recursive: true });
      fs_1.default.writeFileSync(path_1.default.join(stage, "package.json"), "{}");
      try {
        (0, exec_pnpm_cli_runner_1.runPnpmCli)([
          "add",
          `${currentPkgName}@${pnpmVersion}`,
          "--loglevel=error",
          "--allow-build=@pnpm/exe",
          // We want to avoid symlinks because of the rename step,
          // which breaks the junctions on Windows.
          "--config.node-linker=hoisted",
          `--config.bin=${path_1.default.join(stage, "bin")}`
        ], { cwd: stage });
        rename_overwrite_1.default.sync(stage, dir);
      } catch (err) {
        try {
          (0, rimraf_1.sync)(stage);
        } catch {
        }
        throw err;
      }
      return {
        alreadyExisted,
        baseDir: dir,
        binDir
      };
    }
  }
});

// ../tools/plugin-commands-self-updater/lib/selfUpdate.js
var require_selfUpdate = __commonJS({
  "../tools/plugin-commands-self-updater/lib/selfUpdate.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var cli_meta_1 = require_lib4();
    var client_1 = require_lib90();
    var pick_registry_for_package_1 = require_lib91();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var logger_1 = require_lib94();
    var read_project_manifest_1 = require_lib13();
    var link_bins_1 = require_lib72();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var installPnpmToTools_1 = require_installPnpmToTools();
    function rcOptionsTypes() {
      return (0, pick_1.default)([], config_1.types);
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes()
      };
    }
    exports2.commandNames = ["self-update"];
    function help() {
      return (0, render_help_1.default)({
        description: "Updates pnpm to the latest version (or the one specified)",
        descriptionLists: [],
        url: (0, cli_utils_1.docsUrl)("self-update"),
        usages: [
          "pnpm self-update",
          "pnpm self-update 9",
          "pnpm self-update next-10",
          "pnpm self-update 9.10.0"
        ]
      });
    }
    async function handler(opts, params) {
      if ((0, cli_meta_1.isExecutedByCorepack)()) {
        throw new error_1.PnpmError("CANT_SELF_UPDATE_IN_COREPACK", "You should update pnpm with corepack");
      }
      const { resolve } = (0, client_1.createResolver)({ ...opts, authConfig: opts.rawConfig });
      const pkgName = "pnpm";
      const pref = params[0] ?? "latest";
      const resolution = await resolve({ alias: pkgName, pref }, {
        lockfileDir: opts.lockfileDir ?? opts.dir,
        preferredVersions: {},
        projectDir: opts.dir,
        registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkgName, pref)
      });
      if (!resolution?.manifest) {
        throw new error_1.PnpmError("CANNOT_RESOLVE_PNPM", `Cannot find "${pref}" version of pnpm`);
      }
      if (opts.wantedPackageManager?.name === cli_meta_1.packageManager.name && opts.managePackageManagerVersions) {
        if (opts.wantedPackageManager?.version !== resolution.manifest.version) {
          const { manifest, writeProjectManifest } = await (0, read_project_manifest_1.readProjectManifest)(opts.rootProjectManifestDir);
          manifest.packageManager = `pnpm@${resolution.manifest.version}`;
          await writeProjectManifest(manifest);
          return `The current project has been updated to use pnpm v${resolution.manifest.version}`;
        } else {
          return `The current project is already set to use pnpm v${resolution.manifest.version}`;
        }
      }
      if (resolution.manifest.version === cli_meta_1.packageManager.version) {
        return `The currently active ${cli_meta_1.packageManager.name} v${cli_meta_1.packageManager.version} is already "${pref}" and doesn't need an update`;
      }
      const { baseDir, alreadyExisted } = await (0, installPnpmToTools_1.installPnpmToTools)(resolution.manifest.version, opts);
      await (0, link_bins_1.linkBins)(path_1.default.join(baseDir, "node_modules"), opts.pnpmHomeDir, {
        warn: logger_1.globalWarn
      });
      return alreadyExisted ? `The ${pref} version, v${resolution.manifest.version}, is already present on the system. It was activated by linking it from ${baseDir}.` : void 0;
    }
  }
});

// ../tools/plugin-commands-self-updater/lib/index.js
var require_lib175 = __commonJS({
  "../tools/plugin-commands-self-updater/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.selfUpdate = exports2.installPnpmToTools = void 0;
    var selfUpdate = __importStar3(require_selfUpdate());
    exports2.selfUpdate = selfUpdate;
    var installPnpmToTools_1 = require_installPnpmToTools();
    Object.defineProperty(exports2, "installPnpmToTools", { enumerable: true, get: function() {
      return installPnpmToTools_1.installPnpmToTools;
    } });
  }
});

// ../reviewing/plugin-commands-listing/lib/recursive.js
var require_recursive3 = __commonJS({
  "../reviewing/plugin-commands-listing/lib/recursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.listRecursive = listRecursive;
    var assert_1 = __importDefault2(require("assert"));
    var util_1 = __importDefault2(require("util"));
    var logger_1 = require_lib();
    var list_1 = require_list3();
    async function listRecursive(pkgs, params, opts) {
      const depth = opts.depth ?? 0;
      if (opts.lockfileDir) {
        return (0, list_1.render)(pkgs.map((pkg) => pkg.rootDir), params, {
          ...opts,
          alwaysPrintRootPackage: depth === -1,
          lockfileDir: opts.lockfileDir
        });
      }
      const outputs = (await Promise.all(pkgs.map(async ({ rootDir }) => {
        try {
          return await (0, list_1.render)([rootDir], params, {
            ...opts,
            alwaysPrintRootPackage: depth === -1,
            lockfileDir: opts.lockfileDir ?? rootDir
          });
        } catch (err) {
          (0, assert_1.default)(util_1.default.types.isNativeError(err));
          const errWithPrefix = Object.assign(err, {
            prefix: rootDir
          });
          logger_1.logger.info(errWithPrefix);
          throw errWithPrefix;
        }
      }))).filter(Boolean);
      if (outputs.length === 0)
        return "";
      const joiner = typeof depth === "number" && depth > -1 ? "\n\n" : "\n";
      return outputs.join(joiner);
    }
  }
});

// ../reviewing/plugin-commands-listing/lib/list.js
var require_list3 = __commonJS({
  "../reviewing/plugin-commands-listing/lib/list.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.EXCLUDE_PEERS_HELP = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.render = render;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var list_1 = require_lib126();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var recursive_1 = require_recursive3();
    exports2.EXCLUDE_PEERS_HELP = {
      description: "Exclude peer dependencies",
      name: "--exclude-peers"
    };
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "depth",
        "dev",
        "global-dir",
        "global",
        "json",
        "long",
        "only",
        "optional",
        "parseable",
        "production"
      ], config_1.types);
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      "exclude-peers": Boolean,
      "only-projects": Boolean,
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["list", "ls"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["list", "ls", "la", "ll"],
        description: "When run as ll or la, it shows extended information by default. All dependencies are printed by default. Search by patterns is supported. For example: pnpm ls babel-* eslint-*",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Perform command on every package in subdirectories or on every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Show extended information",
                name: "--long"
              },
              {
                description: "Show parseable output instead of tree view",
                name: "--parseable"
              },
              {
                description: "Show information in JSON format",
                name: "--json"
              },
              {
                description: "List packages in the global install prefix instead of in the current project",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: "Max display depth of the dependency tree",
                name: "--depth <number>"
              },
              {
                description: "Display only direct dependencies",
                name: "--depth 0"
              },
              {
                description: "Display only projects. Useful in a monorepo. `pnpm ls -r --depth -1` lists all projects in a monorepo",
                name: "--depth -1"
              },
              {
                description: "Display only the dependency graph for packages in `dependencies` and `optionalDependencies`",
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: "Display only the dependency graph for packages in `devDependencies`",
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: "Display only dependencies that are also projects within the workspace",
                name: "--only-projects"
              },
              {
                description: "Don't display packages from `optionalDependencies`",
                name: "--no-optional"
              },
              exports2.EXCLUDE_PEERS_HELP,
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("list"),
        usages: [
          "pnpm ls [<pkg> ...]"
        ]
      });
    }
    async function handler(opts, params) {
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      const depth = opts.cliOptions?.["depth"] ?? 0;
      if (opts.recursive && opts.selectedProjectsGraph != null) {
        const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
        return (0, recursive_1.listRecursive)(pkgs, params, { ...opts, depth, include });
      }
      return render([opts.dir], params, {
        ...opts,
        depth,
        include,
        lockfileDir: opts.lockfileDir ?? opts.dir
      });
    }
    async function render(prefixes, params, opts) {
      const listOpts = {
        alwaysPrintRootPackage: opts.alwaysPrintRootPackage,
        depth: opts.depth ?? 0,
        excludePeerDependencies: opts.excludePeers,
        include: opts.include,
        lockfileDir: opts.lockfileDir,
        long: opts.long,
        onlyProjects: opts.onlyProjects,
        reportAs: opts.parseable ? "parseable" : opts.json ? "json" : "tree",
        showExtraneous: false,
        modulesDir: opts.modulesDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      };
      return params.length > 0 ? (0, list_1.listForPackages)(params, prefixes, listOpts) : (0, list_1.list)(prefixes, listOpts);
    }
  }
});

// ../reviewing/plugin-commands-listing/lib/ll.js
var require_ll = __commonJS({
  "../reviewing/plugin-commands-listing/lib/ll.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.help = exports2.rcOptionsTypes = exports2.commandNames = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.handler = handler;
    var omit_1 = __importDefault2(require_omit());
    var list = __importStar3(require_list3());
    exports2.commandNames = ["ll", "la"];
    exports2.rcOptionsTypes = list.rcOptionsTypes;
    function cliOptionsTypes() {
      return (0, omit_1.default)(["long"], list.cliOptionsTypes());
    }
    exports2.help = list.help;
    async function handler(opts, params) {
      return list.handler({ ...opts, long: true }, params);
    }
  }
});

// ../reviewing/plugin-commands-listing/lib/why.js
var require_why = __commonJS({
  "../reviewing/plugin-commands-listing/lib/why.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var list_1 = require_list3();
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "depth",
        "dev",
        "global-dir",
        "global",
        "json",
        "long",
        "only",
        "optional",
        "parseable",
        "production"
      ], config_1.types);
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      "exclude-peers": Boolean,
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["why"];
    function help() {
      return (0, render_help_1.default)({
        description: `Shows the packages that depend on <pkg>
For example: pnpm why babel-* eslint-*`,
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Perform command on every package in subdirectories or on every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Show extended information",
                name: "--long"
              },
              {
                description: "Show parseable output instead of tree view",
                name: "--parseable"
              },
              {
                description: "Show information in JSON format",
                name: "--json"
              },
              {
                description: "List packages in the global install prefix instead of in the current project",
                name: "--global",
                shortAlias: "-g"
              },
              {
                description: "Display only the dependency graph for packages in `dependencies` and `optionalDependencies`",
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: "Display only the dependency graph for packages in `devDependencies`",
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: "Don't display packages from `optionalDependencies`",
                name: "--no-optional"
              },
              {
                name: "--depth <number>",
                description: "Max display depth of the dependency graph"
              },
              list_1.EXCLUDE_PEERS_HELP,
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("why"),
        usages: [
          "pnpm why <pkg> ..."
        ]
      });
    }
    async function handler(opts, params) {
      if (params.length === 0) {
        throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm why` requires the package name");
      }
      return (0, list_1.handler)({
        ...opts,
        cliOptions: {
          ...opts.cliOptions ?? {},
          depth: opts.depth ?? Infinity
        }
      }, params);
    }
  }
});

// ../reviewing/plugin-commands-listing/lib/index.js
var require_lib176 = __commonJS({
  "../reviewing/plugin-commands-listing/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.why = exports2.ll = exports2.list = void 0;
    var list = __importStar3(require_list3());
    exports2.list = list;
    var ll = __importStar3(require_ll());
    exports2.ll = ll;
    var why = __importStar3(require_why());
    exports2.why = why;
  }
});

// ../reviewing/license-scanner/lib/getPkgInfo.js
var require_getPkgInfo3 = __commonJS({
  "../reviewing/license-scanner/lib/getPkgInfo.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readPkg = readPkg;
    exports2.readPackageIndexFile = readPackageIndexFile;
    exports2.getPkgInfo = getPkgInfo;
    var path_1 = __importDefault2(require("path"));
    var path_absolute_1 = __importDefault2(require_path_absolute());
    var promises_1 = require("fs/promises");
    var read_package_json_1 = require_lib50();
    var dependency_path_1 = require_lib98();
    var p_limit_12 = __importDefault2(require_p_limit());
    var store_cafs_1 = require_lib57();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var error_1 = require_lib6();
    var lockfile_utils_1 = require_lib117();
    var directory_fetcher_1 = require_lib75();
    var limitPkgReads = (0, p_limit_12.default)(4);
    async function readPkg(pkgPath) {
      return limitPkgReads(async () => (0, read_package_json_1.readPackageJson)(pkgPath));
    }
    var LICENSE_FILES = [
      "LICENSE",
      "LICENCE",
      "LICENSE.md",
      "LICENCE.md",
      "LICENSE.txt",
      "LICENCE.txt",
      "MIT-LICENSE.txt",
      "MIT-LICENSE.md",
      "MIT-LICENSE"
    ];
    var LICENSE_NAMES = [
      "Apache1_1",
      "Apache-1.1",
      "Apache 1.1",
      "Apache2",
      "Apache-2.0",
      "Apache 2.0",
      "BSD",
      "BSD-4-Clause",
      "CC01",
      "CC0-1.0",
      "CC0 1.0",
      "CDDL1",
      "CDDL-1.0",
      "Common Development and Distribution License 1.0",
      "EPL1",
      "EPL-1.0",
      "Eclipse Public License 1.0",
      "GPLv2",
      "GPL-2.0-only",
      "GPLv3",
      "GPL-3.0-only",
      "ISC",
      "LGPL",
      "LGPL-3.0-only",
      "LGPL2_1",
      "LGPL-2.1-only",
      "MIT",
      "MPL1_1",
      "MPL-1.1",
      "Mozilla Public License 1.1",
      "MPL2",
      "MPL-2.0",
      "Mozilla Public License 2.0",
      "NewBSD",
      "BSD-3-Clause",
      "New BSD",
      "OFL",
      "OFL-1.1",
      "SIL OPEN FONT LICENSE Version 1.1",
      "Python",
      "PSF-2.0",
      "Python Software Foundation License",
      "Ruby",
      "SimplifiedBSD",
      "BSD-2-Clause",
      "Simplified BSD",
      "WTFPL",
      "0BSD",
      "BSD Zero Clause License",
      "Zlib",
      "zlib/libpng license"
    ];
    function coerceToString(field) {
      const string = String(field);
      return typeof field === "string" || field === string ? string : null;
    }
    function parseLicenseManifestField(field) {
      if (Array.isArray(field)) {
        const licenses = field;
        const licenseTypes = licenses.map((license) => coerceToString(license.type) ?? coerceToString(license.name)).filter((licenseType) => !!licenseType);
        if (licenseTypes.length > 1) {
          const combinedLicenseTypes = licenseTypes.join(" OR ");
          return `(${combinedLicenseTypes})`;
        }
        return licenseTypes[0] ?? null;
      } else {
        return field?.type ?? coerceToString(field);
      }
    }
    async function parseLicense(pkg, opts) {
      let licenseField = pkg.manifest.license;
      if ("licenses" in pkg.manifest) {
        licenseField = pkg.manifest.licenses;
      }
      const license = parseLicenseManifestField(licenseField);
      if (!license || /see license/i.test(license)) {
        const { files: pkgFileIndex } = pkg.files;
        const licenseFile = LICENSE_FILES.find((licenseFile2) => licenseFile2 in pkgFileIndex);
        if (licenseFile) {
          const licensePackageFileInfo = pkgFileIndex[licenseFile];
          let licenseContents;
          if (pkg.files.local) {
            licenseContents = await (0, promises_1.readFile)(licensePackageFileInfo);
          } else {
            licenseContents = await readLicenseFileFromCafs(opts.storeDir, licensePackageFileInfo);
          }
          const licenseContent = licenseContents?.toString("utf-8");
          let name = "Unknown";
          if (licenseContent) {
            const match = licenseContent.match(new RegExp(`\\b(${LICENSE_NAMES.join("|")})\\b`, "gi"));
            if (match) {
              name = [...new Set(match)].join(" OR ");
            }
          }
          return {
            name,
            licenseFile: licenseContent
          };
        }
      }
      return { name: license ?? "Unknown" };
    }
    async function readLicenseFileFromCafs(storeDir, { integrity, mode }) {
      const fileName = (0, store_cafs_1.getFilePathByModeInCafs)(storeDir, integrity, mode);
      const fileContents = await (0, promises_1.readFile)(fileName);
      return fileContents;
    }
    async function readPackageIndexFile(packageResolution, id, opts) {
      const isLocalPkg = packageResolution.type === "directory";
      if (isLocalPkg) {
        const localInfo = await (0, directory_fetcher_1.fetchFromDir)(path_1.default.join(opts.lockfileDir, packageResolution.directory), {});
        return {
          local: true,
          files: localInfo.filesIndex
        };
      }
      const isPackageWithIntegrity = "integrity" in packageResolution;
      let pkgIndexFilePath;
      if (isPackageWithIntegrity) {
        const parsedId = (0, dependency_path_1.parse)(id);
        pkgIndexFilePath = (0, store_cafs_1.getIndexFilePathInCafs)(opts.storeDir, packageResolution.integrity, `${parsedId.name}@${parsedId.version}`);
      } else if (!packageResolution.type && packageResolution.tarball) {
        const packageDirInStore = (0, dependency_path_1.depPathToFilename)((0, dependency_path_1.parse)(id).nonSemverVersion ?? id, opts.virtualStoreDirMaxLength);
        pkgIndexFilePath = path_1.default.join(opts.storeDir, packageDirInStore, "integrity.json");
      } else {
        throw new error_1.PnpmError("UNSUPPORTED_PACKAGE_TYPE", `Unsupported package resolution type for ${id}`);
      }
      try {
        const { files } = await (0, load_json_file_1.default)(pkgIndexFilePath);
        return {
          local: false,
          files
        };
      } catch (err) {
        if (err.code === "ENOENT") {
          throw new error_1.PnpmError("MISSING_PACKAGE_INDEX_FILE", `Failed to find package index file for ${id} (at ${pkgIndexFilePath}), please consider running 'pnpm install'`);
        }
        throw err;
      }
    }
    async function getPkgInfo(pkg, opts) {
      const packageResolution = (0, lockfile_utils_1.pkgSnapshotToResolution)(pkg.depPath, pkg.snapshot, pkg.registries);
      const packageFileIndexInfo = await readPackageIndexFile(packageResolution, pkg.id, {
        storeDir: opts.storeDir,
        lockfileDir: opts.dir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength
      });
      let packageManifestDir;
      if (packageFileIndexInfo.local) {
        packageManifestDir = packageFileIndexInfo.files["package.json"];
      } else {
        const packageFileIndex = packageFileIndexInfo.files;
        const packageManifestFile = packageFileIndex["package.json"];
        packageManifestDir = (0, store_cafs_1.getFilePathByModeInCafs)(opts.storeDir, packageManifestFile.integrity, packageManifestFile.mode);
      }
      let manifest;
      try {
        manifest = await readPkg(packageManifestDir);
      } catch (err) {
        if (err.code === "ENOENT") {
          throw new error_1.PnpmError("MISSING_PACKAGE_MANIFEST", `Failed to find package manifest file at ${packageManifestDir}`);
        }
        throw err;
      }
      const modulesDir = opts.modulesDir ?? "node_modules";
      const virtualStoreDir = (0, path_absolute_1.default)(opts.virtualStoreDir ?? path_1.default.join(modulesDir, ".pnpm"), opts.dir);
      const packageModulePath = path_1.default.join(virtualStoreDir, (0, dependency_path_1.depPathToFilename)(pkg.depPath, opts.virtualStoreDirMaxLength), modulesDir, manifest.name);
      const licenseInfo = await parseLicense({ manifest, files: packageFileIndexInfo }, { storeDir: opts.storeDir });
      const packageInfo = {
        from: manifest.name,
        path: packageModulePath,
        name: manifest.name,
        version: manifest.version,
        description: manifest.description,
        license: licenseInfo.name,
        licenseContents: licenseInfo.licenseFile,
        author: (manifest.author && (typeof manifest.author === "string" ? manifest.author : manifest.author.name)) ?? void 0,
        homepage: manifest.homepage,
        repository: (manifest.repository && (typeof manifest.repository === "string" ? manifest.repository : manifest.repository.url)) ?? void 0
      };
      return packageInfo;
    }
  }
});

// ../reviewing/license-scanner/lib/lockfileToLicenseNodeTree.js
var require_lockfileToLicenseNodeTree = __commonJS({
  "../reviewing/license-scanner/lib/lockfileToLicenseNodeTree.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.lockfileToLicenseNode = lockfileToLicenseNode;
    exports2.lockfileToLicenseNodeTree = lockfileToLicenseNodeTree;
    var lockfile_utils_1 = require_lib117();
    var package_is_installable_1 = require_lib30();
    var lockfile_walker_1 = require_lib118();
    var lockfile_detect_dep_types_1 = require_lib124();
    var getPkgInfo_1 = require_getPkgInfo3();
    var map_1 = __importDefault2(require_map3());
    async function lockfileToLicenseNode(step, options) {
      const dependencies = Object.fromEntries((await Promise.all(step.dependencies.map(async (dependency) => {
        const { depPath, pkgSnapshot, next } = dependency;
        const { name, version: version2 } = (0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot);
        const packageInstallable = (0, package_is_installable_1.packageIsInstallable)(pkgSnapshot.id ?? depPath, {
          name,
          version: version2,
          cpu: pkgSnapshot.cpu,
          os: pkgSnapshot.os,
          libc: pkgSnapshot.libc
        }, {
          optional: pkgSnapshot.optional ?? false,
          lockfileDir: options.dir,
          supportedArchitectures: options.supportedArchitectures
        });
        if (!packageInstallable) {
          return null;
        }
        const packageInfo = await (0, getPkgInfo_1.getPkgInfo)({
          id: pkgSnapshot.id ?? depPath,
          name,
          version: version2,
          depPath,
          snapshot: pkgSnapshot,
          registries: options.registries
        }, {
          storeDir: options.storeDir,
          virtualStoreDir: options.virtualStoreDir,
          virtualStoreDirMaxLength: options.virtualStoreDirMaxLength,
          dir: options.dir,
          modulesDir: options.modulesDir ?? "node_modules"
        });
        const subdeps = await lockfileToLicenseNode(next(), options);
        const dep = {
          name,
          dev: options.depTypes[depPath] === lockfile_detect_dep_types_1.DepType.DevOnly,
          integrity: pkgSnapshot.resolution.integrity,
          version: version2,
          license: packageInfo.license,
          licenseContents: packageInfo.licenseContents,
          author: packageInfo.author,
          homepage: packageInfo.homepage,
          description: packageInfo.description,
          repository: packageInfo.repository,
          dir: packageInfo.path
        };
        if (Object.keys(subdeps).length > 0) {
          dep.dependencies = subdeps;
          dep.requires = toRequires(subdeps);
        }
        return [name, dep];
      }))).filter(Boolean));
      return dependencies;
    }
    async function lockfileToLicenseNodeTree(lockfile, opts) {
      const importerWalkers = (0, lockfile_walker_1.lockfileWalkerGroupImporterSteps)(lockfile, opts.includedImporterIds ?? Object.keys(lockfile.importers), { include: opts?.include });
      const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(lockfile);
      const dependencies = Object.fromEntries(await Promise.all(importerWalkers.map(async (importerWalker) => {
        const importerDeps = await lockfileToLicenseNode(importerWalker.step, {
          storeDir: opts.storeDir,
          virtualStoreDir: opts.virtualStoreDir,
          virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
          modulesDir: opts.modulesDir,
          dir: opts.dir,
          registries: opts.registries,
          supportedArchitectures: opts.supportedArchitectures,
          depTypes
        });
        return [importerWalker.importerId, {
          dependencies: importerDeps,
          requires: toRequires(importerDeps),
          version: "0.0.0",
          license: void 0
        }];
      })));
      const licenseNodeTree = {
        name: void 0,
        version: void 0,
        dependencies,
        dev: false,
        integrity: void 0,
        requires: toRequires(dependencies)
      };
      return licenseNodeTree;
    }
    function toRequires(licenseNodesByDepName) {
      return (0, map_1.default)((licenseNode) => licenseNode.version, licenseNodesByDepName);
    }
  }
});

// ../reviewing/license-scanner/lib/licenses.js
var require_licenses = __commonJS({
  "../reviewing/license-scanner/lib/licenses.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findDependencyLicenses = findDependencyLicenses;
    var error_1 = require_lib6();
    var lockfile_detect_dep_types_1 = require_lib124();
    var lockfileToLicenseNodeTree_1 = require_lockfileToLicenseNodeTree();
    var semver_12 = __importDefault2(require_semver2());
    function getDependenciesFromLicenseNode(licenseNode) {
      if (!licenseNode.dependencies) {
        return [];
      }
      let dependencies = [];
      for (const dependencyName in licenseNode.dependencies) {
        const dependencyNode = licenseNode.dependencies[dependencyName];
        const dependenciesOfNode = getDependenciesFromLicenseNode(dependencyNode);
        dependencies = [
          ...dependencies,
          ...dependenciesOfNode,
          {
            belongsTo: dependencyNode.dev ? "devDependencies" : "dependencies",
            version: dependencyNode.version,
            name: dependencyName,
            license: dependencyNode.license,
            licenseContents: dependencyNode.licenseContents,
            author: dependencyNode.author,
            homepage: dependencyNode.homepage,
            description: dependencyNode.description,
            repository: dependencyNode.repository,
            path: dependencyNode.dir
          }
        ];
      }
      return dependencies;
    }
    async function findDependencyLicenses(opts) {
      if (opts.wantedLockfile == null) {
        throw new error_1.PnpmError("LICENSES_NO_LOCKFILE", `No lockfile in directory "${opts.lockfileDir}". Run \`pnpm install\` to generate one.`);
      }
      const depTypes = (0, lockfile_detect_dep_types_1.detectDepTypes)(opts.wantedLockfile);
      const licenseNodeTree = await (0, lockfileToLicenseNodeTree_1.lockfileToLicenseNodeTree)(opts.wantedLockfile, {
        dir: opts.lockfileDir,
        modulesDir: opts.modulesDir,
        storeDir: opts.storeDir,
        virtualStoreDir: opts.virtualStoreDir,
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        include: opts.include,
        registries: opts.registries,
        includedImporterIds: opts.includedImporterIds,
        supportedArchitectures: opts.supportedArchitectures,
        depTypes
      });
      const licensePackages = /* @__PURE__ */ new Map();
      for (const dependencyName in licenseNodeTree.dependencies) {
        const licenseNode = licenseNodeTree.dependencies[dependencyName];
        const dependenciesOfNode = getDependenciesFromLicenseNode(licenseNode);
        for (const dependencyNode of dependenciesOfNode) {
          const mapKey = `${dependencyNode.name}@${dependencyNode.version}`;
          const existingVersion = licensePackages.get(mapKey)?.version;
          if (existingVersion === void 0) {
            licensePackages.set(mapKey, dependencyNode);
          }
        }
      }
      const projectDependencies = Array.from(licensePackages.values());
      return Array.from(projectDependencies).sort((pkg1, pkg2) => pkg1.name.localeCompare(pkg2.name) || semver_12.default.compare(pkg1.version, pkg2.version));
    }
  }
});

// ../reviewing/license-scanner/lib/index.js
var require_lib177 = __commonJS({
  "../reviewing/license-scanner/lib/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findDependencyLicenses = void 0;
    var licenses_1 = require_licenses();
    Object.defineProperty(exports2, "findDependencyLicenses", { enumerable: true, get: function() {
      return licenses_1.findDependencyLicenses;
    } });
  }
});

// ../reviewing/plugin-commands-licenses/lib/outputRenderer.js
var require_outputRenderer = __commonJS({
  "../reviewing/plugin-commands-licenses/lib/outputRenderer.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderLicences = renderLicences;
    var cli_utils_1 = require_lib33();
    var chalk_1 = __importDefault2(require_source());
    var table_1 = require_src4();
    var ramda_1 = require_src5();
    var semver_12 = __importDefault2(require_semver2());
    function sortLicensesPackages(licensePackages) {
      return (0, ramda_1.sortWith)([
        (o1, o2) => o1.license.localeCompare(o2.license)
      ], licensePackages);
    }
    function renderPackageName({ belongsTo, name: packageName }) {
      switch (belongsTo) {
        case "devDependencies":
          return `${packageName} ${chalk_1.default.dim("(dev)")}`;
        case "optionalDependencies":
          return `${packageName} ${chalk_1.default.dim("(optional)")}`;
        default:
          return packageName;
      }
    }
    function renderPackageLicense({ license }) {
      const output = license ?? "Unknown";
      return output;
    }
    function renderDetails(licensePackage) {
      const outputs = [];
      if (licensePackage.author) {
        outputs.push(licensePackage.author);
      }
      if (licensePackage.description) {
        outputs.push(licensePackage.description);
      }
      if (licensePackage.homepage) {
        outputs.push(licensePackage.homepage);
      }
      return outputs.join("\n");
    }
    function renderLicences(licensesMap, opts) {
      if (opts.json) {
        return { output: renderLicensesJson(licensesMap), exitCode: 0 };
      }
      return { output: renderLicensesTable(licensesMap, opts), exitCode: 0 };
    }
    function renderLicensesJson(licensePackages) {
      const data = licensePackages.map((item) => (0, ramda_1.pick)(["name", "version", "path", "license", "author", "homepage", "description"], item));
      const output = {};
      const groupedByLicense = (0, ramda_1.groupBy)((item) => item.license, data);
      for (const license in groupedByLicense) {
        const outputList = [];
        const groupedByName = (0, ramda_1.groupBy)((item) => item.name, groupedByLicense[license] ?? []);
        for (const inputList of Object.values(groupedByName)) {
          if (inputList == null)
            continue;
          inputList.sort((a, b) => semver_12.default.compare(a.version, b.version));
          const versions = inputList.map((item) => item.version);
          const paths = inputList.map((item) => item.path ?? null);
          const lastInputItem = inputList.at(-1);
          const outputItem = {
            name: lastInputItem.name,
            versions,
            paths,
            ...(0, ramda_1.omit)(["name", "version", "path"], lastInputItem)
          };
          outputList.push(outputItem);
        }
        output[license] = outputList;
      }
      return JSON.stringify(output, null, 2);
    }
    function renderLicensesTable(licensePackages, opts) {
      const columnNames = ["Package", "License"];
      const columnFns = [renderPackageName, renderPackageLicense];
      if (opts.long) {
        columnNames.push("Details");
        columnFns.push(renderDetails);
      }
      for (let i = 0; i < columnNames.length; i++)
        columnNames[i] = chalk_1.default.blueBright(columnNames[i]);
      const data = [
        columnNames,
        ...deduplicateLicensesPackages(sortLicensesPackages(licensePackages)).map((licensePkg) => columnFns.map((fn) => fn(licensePkg)))
      ];
      let detailsColumnMaxWidth = 40;
      let packageColumnMaxWidth = 0;
      let licenseColumnMaxWidth = 0;
      if (opts.long) {
        detailsColumnMaxWidth = licensePackages.reduce((max, pkg) => Math.max(max, pkg.homepage?.length ?? 0), 0);
        for (let i = 1; i < data.length; i++) {
          const row = data[i];
          const detailsLineCount = row[2].split("\n").length;
          const linesNumber = Math.max(0, detailsLineCount - 1);
          row[0] += "\n ".repeat(linesNumber);
          row[1] += "\n ".repeat(linesNumber);
          packageColumnMaxWidth = Math.max(packageColumnMaxWidth, row[0].length);
          licenseColumnMaxWidth = Math.max(licenseColumnMaxWidth, row[1].length);
        }
        const remainColumnWidth = process.stdout.columns - packageColumnMaxWidth - licenseColumnMaxWidth - 20;
        if (detailsColumnMaxWidth > remainColumnWidth) {
          detailsColumnMaxWidth = remainColumnWidth;
        }
        detailsColumnMaxWidth = Math.max(detailsColumnMaxWidth, 40);
      }
      try {
        return (0, table_1.table)(data, {
          ...cli_utils_1.TABLE_OPTIONS,
          columns: {
            ...cli_utils_1.TABLE_OPTIONS.columns,
            2: {
              width: detailsColumnMaxWidth,
              wrapWord: true
            }
          }
        });
      } catch {
        return (0, table_1.table)(data, cli_utils_1.TABLE_OPTIONS);
      }
    }
    function deduplicateLicensesPackages(licensePackages) {
      const result2 = [];
      const rowEqual = (a, b) => a.name === b.name && a.license === b.license;
      const hasRow = (row) => result2.some((x) => rowEqual(row, x));
      for (const row of licensePackages.reverse()) {
        if (!hasRow(row))
          result2.unshift(row);
      }
      return result2;
    }
  }
});

// ../reviewing/plugin-commands-licenses/lib/licensesList.js
var require_licensesList = __commonJS({
  "../reviewing/plugin-commands-licenses/lib/licensesList.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.licensesList = licensesList;
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var store_path_1 = require_lib81();
    var constants_1 = require_lib5();
    var lockfile_fs_1 = require_lib112();
    var license_scanner_1 = require_lib177();
    var outputRenderer_1 = require_outputRenderer();
    async function licensesList(opts) {
      const lockfile = await (0, lockfile_fs_1.readWantedLockfile)(opts.lockfileDir ?? opts.dir, {
        ignoreIncompatible: true
      });
      if (lockfile == null) {
        throw new error_1.PnpmError("LICENSES_NO_LOCKFILE", `No ${constants_1.WANTED_LOCKFILE} found: Cannot check a project without a lockfile`);
      }
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      const manifest = await (0, cli_utils_1.readProjectManifestOnly)(opts.dir);
      const includedImporterIds = opts.selectedProjectsGraph ? Object.keys(opts.selectedProjectsGraph).map((path2) => (0, lockfile_fs_1.getLockfileImporterId)(opts.lockfileDir ?? opts.dir, path2)) : void 0;
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const licensePackages = await (0, license_scanner_1.findDependencyLicenses)({
        include,
        lockfileDir: opts.lockfileDir ?? opts.dir,
        storeDir,
        virtualStoreDir: opts.virtualStoreDir ?? ".",
        virtualStoreDirMaxLength: opts.virtualStoreDirMaxLength,
        modulesDir: opts.modulesDir,
        registries: opts.registries,
        wantedLockfile: lockfile,
        manifest,
        includedImporterIds,
        supportedArchitectures: (0, config_1.getOptionsFromRootManifest)(opts.rootProjectManifestDir, opts.rootProjectManifest ?? {}).supportedArchitectures
      });
      if (licensePackages.length === 0)
        return { output: "No licenses in packages found", exitCode: 0 };
      return (0, outputRenderer_1.renderLicences)(licensePackages, opts);
    }
  }
});

// ../reviewing/plugin-commands-licenses/lib/licenses.js
var require_licenses2 = __commonJS({
  "../reviewing/plugin-commands-licenses/lib/licenses.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.completion = exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var licensesList_1 = require_licensesList();
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)(["dev", "global-dir", "global", "json", "long", "optional", "production"], config_1.types),
        compatible: Boolean,
        table: Boolean
      };
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production"
    };
    exports2.commandNames = ["licenses"];
    function help() {
      return (0, render_help_1.default)({
        description: "Check the licenses of the installed packages.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Show more details (such as a link to the repo) are not displayed. To display the details, pass this option.",
                name: "--long"
              },
              {
                description: "Show information in JSON format",
                name: "--json"
              },
              {
                description: 'Check only "dependencies" and "optionalDependencies"',
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: 'Check only "devDependencies"',
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: `Don't check "optionalDependencies"`,
                name: "--no-optional"
              }
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("licenses"),
        usages: [
          "pnpm licenses ls",
          "pnpm licenses ls --long",
          "pnpm licenses list",
          "pnpm licenses list --long"
        ]
      });
    }
    var completion = async (cliOpts) => {
      return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir);
    };
    exports2.completion = completion;
    async function handler(opts, params = []) {
      if (params.length === 0) {
        throw new error_1.PnpmError("LICENCES_NO_SUBCOMMAND", "Please specify the subcommand", {
          hint: help()
        });
      }
      switch (params[0]) {
        case "list":
        case "ls":
          return (0, licensesList_1.licensesList)(opts);
        default: {
          throw new error_1.PnpmError("LICENSES_UNKNOWN_SUBCOMMAND", "This subcommand is not known");
        }
      }
    }
  }
});

// ../reviewing/plugin-commands-licenses/lib/index.js
var require_lib178 = __commonJS({
  "../reviewing/plugin-commands-licenses/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.licenses = void 0;
    var licenses = __importStar3(require_licenses2());
    exports2.licenses = licenses;
  }
});

// ../reviewing/plugin-commands-outdated/lib/utils.js
var require_utils18 = __commonJS({
  "../reviewing/plugin-commands-outdated/lib/utils.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DEFAULT_COMPARATORS = exports2.NAME_COMPARATOR = void 0;
    exports2.sortBySemverChange = sortBySemverChange;
    var NAME_COMPARATOR = (o1, o2) => o1.packageName.localeCompare(o2.packageName);
    exports2.NAME_COMPARATOR = NAME_COMPARATOR;
    exports2.DEFAULT_COMPARATORS = [
      sortBySemverChange,
      exports2.NAME_COMPARATOR,
      (o1, o2) => o1.current && o2.current ? o1.current.localeCompare(o2.current) : 0
      // eslint-disable-line @typescript-eslint/explicit-module-boundary-types
    ];
    function sortBySemverChange(outdated1, outdated2) {
      return pkgPriority(outdated1) - pkgPriority(outdated2);
    }
    function pkgPriority(pkg) {
      switch (pkg.change) {
        case null:
          return 0;
        case "fix":
          return 1;
        case "feature":
          return 2;
        case "breaking":
          return 3;
        default:
          return 4;
      }
    }
  }
});

// ../reviewing/plugin-commands-outdated/lib/recursive.js
var require_recursive4 = __commonJS({
  "../reviewing/plugin-commands-outdated/lib/recursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.outdatedRecursive = outdatedRecursive;
    var cli_utils_1 = require_lib33();
    var error_1 = require_lib6();
    var outdated_1 = require_lib167();
    var table_1 = require_src4();
    var chalk_1 = __importDefault2(require_source());
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var sortWith_1 = __importDefault2(require_sortWith());
    var outdated_2 = require_outdated2();
    var utils_1 = require_utils18();
    var DEP_PRIORITY = {
      dependencies: 1,
      devDependencies: 2,
      optionalDependencies: 0
    };
    var COMPARATORS = [
      ...utils_1.DEFAULT_COMPARATORS,
      (o1, o2) => DEP_PRIORITY[o1.belongsTo] - DEP_PRIORITY[o2.belongsTo]
    ];
    async function outdatedRecursive(pkgs, params, opts) {
      const outdatedMap = {};
      const rootManifest = pkgs.find(({ rootDir }) => rootDir === opts.lockfileDir);
      const outdatedPackagesByProject = await (0, outdated_1.outdatedDepsOfProjects)(pkgs, params, {
        ...opts,
        fullMetadata: opts.long,
        ignoreDependencies: rootManifest?.manifest?.pnpm?.updateConfig?.ignoreDependencies,
        retry: {
          factor: opts.fetchRetryFactor,
          maxTimeout: opts.fetchRetryMaxtimeout,
          minTimeout: opts.fetchRetryMintimeout,
          retries: opts.fetchRetries
        },
        timeout: opts.fetchTimeout
      });
      for (let i = 0; i < outdatedPackagesByProject.length; i++) {
        const { rootDir, manifest } = pkgs[i];
        for (const outdatedPkg of outdatedPackagesByProject[i]) {
          const key = JSON.stringify([outdatedPkg.packageName, outdatedPkg.current, outdatedPkg.belongsTo]);
          if (!outdatedMap[key]) {
            outdatedMap[key] = { ...outdatedPkg, dependentPkgs: [] };
          }
          outdatedMap[key].dependentPkgs.push({ location: rootDir, manifest });
        }
      }
      let output;
      switch (opts.format ?? "table") {
        case "table": {
          output = renderOutdatedTable(outdatedMap, opts);
          break;
        }
        case "list": {
          output = renderOutdatedList(outdatedMap, opts);
          break;
        }
        case "json": {
          output = renderOutdatedJSON(outdatedMap, opts);
          break;
        }
        default: {
          throw new error_1.PnpmError("BAD_OUTDATED_FORMAT", `Unsupported format: ${opts.format?.toString() ?? "undefined"}`);
        }
      }
      return {
        output,
        exitCode: (0, isEmpty_1.default)(outdatedMap) ? 0 : 1
      };
    }
    function renderOutdatedTable(outdatedMap, opts) {
      if ((0, isEmpty_1.default)(outdatedMap))
        return "";
      const columnNames = [
        "Package",
        "Current",
        "Latest",
        "Dependents"
      ];
      const columnFns = [
        outdated_2.renderPackageName,
        outdated_2.renderCurrent,
        outdated_2.renderLatest,
        dependentPackages
      ];
      if (opts.long) {
        columnNames.push("Details");
        columnFns.push(outdated_2.renderDetails);
      }
      for (let i = 0; i < columnNames.length; i++)
        columnNames[i] = chalk_1.default.blueBright(columnNames[i]);
      const data = [
        columnNames,
        ...sortOutdatedPackages(Object.values(outdatedMap)).map((outdatedPkg) => columnFns.map((fn) => fn(outdatedPkg)))
      ];
      return (0, table_1.table)(data, {
        ...cli_utils_1.TABLE_OPTIONS,
        columns: {
          ...cli_utils_1.TABLE_OPTIONS.columns,
          // Dependents column:
          3: {
            width: (0, outdated_2.getCellWidth)(data, 3, 30),
            wrapWord: true
          }
        }
      });
    }
    function renderOutdatedList(outdatedMap, opts) {
      if ((0, isEmpty_1.default)(outdatedMap))
        return "";
      return sortOutdatedPackages(Object.values(outdatedMap)).map((outdatedPkg) => {
        let info = `${chalk_1.default.bold((0, outdated_2.renderPackageName)(outdatedPkg))}
${(0, outdated_2.renderCurrent)(outdatedPkg)} ${chalk_1.default.grey("=>")} ${(0, outdated_2.renderLatest)(outdatedPkg)}`;
        const dependents = dependentPackages(outdatedPkg);
        if (dependents) {
          info += `
${chalk_1.default.bold(outdatedPkg.dependentPkgs.length > 1 ? "Dependents:" : "Dependent:")} ${dependents}`;
        }
        if (opts.long) {
          const details = (0, outdated_2.renderDetails)(outdatedPkg);
          if (details) {
            info += `
${details}`;
          }
        }
        return info;
      }).join("\n\n") + "\n";
    }
    function renderOutdatedJSON(outdatedMap, opts) {
      const outdatedPackagesJSON = sortOutdatedPackages(Object.values(outdatedMap)).reduce((acc, outdatedPkg) => {
        acc[outdatedPkg.packageName] = {
          current: outdatedPkg.current,
          latest: outdatedPkg.latestManifest?.version,
          wanted: outdatedPkg.wanted,
          isDeprecated: Boolean(outdatedPkg.latestManifest?.deprecated),
          dependencyType: outdatedPkg.belongsTo,
          dependentPackages: outdatedPkg.dependentPkgs.map(({ manifest, location }) => ({ name: manifest.name, location }))
        };
        if (opts.long) {
          acc[outdatedPkg.packageName].latestManifest = outdatedPkg.latestManifest;
        }
        return acc;
      }, {});
      return JSON.stringify(outdatedPackagesJSON, null, 2);
    }
    function dependentPackages({ dependentPkgs }) {
      return dependentPkgs.map(({ manifest, location }) => manifest.name ?? location).sort().join(", ");
    }
    function sortOutdatedPackages(outdatedPackages) {
      return (0, sortWith_1.default)(COMPARATORS, outdatedPackages.map(outdated_2.toOutdatedWithVersionDiff));
    }
  }
});

// ../reviewing/plugin-commands-outdated/lib/outdated.js
var require_outdated2 = __commonJS({
  "../reviewing/plugin-commands-outdated/lib/outdated.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.completion = exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.getCellWidth = getCellWidth;
    exports2.toOutdatedWithVersionDiff = toOutdatedWithVersionDiff;
    exports2.renderPackageName = renderPackageName;
    exports2.renderCurrent = renderCurrent;
    exports2.renderLatest = renderLatest;
    exports2.renderDetails = renderDetails;
    var cli_utils_1 = require_lib33();
    var colorize_semver_diff_1 = __importDefault2(require_lib168());
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var outdated_1 = require_lib167();
    var semver_diff_1 = __importDefault2(require_lib169());
    var table_1 = require_src4();
    var chalk_1 = __importDefault2(require_source());
    var pick_1 = __importDefault2(require_pick());
    var sortWith_1 = __importDefault2(require_sortWith());
    var render_help_1 = __importDefault2(require_lib47());
    var util_1 = require("util");
    var utils_1 = require_utils18();
    var recursive_1 = require_recursive4();
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "depth",
          "dev",
          "global-dir",
          "global",
          "long",
          "optional",
          "production"
        ], config_1.types),
        compatible: Boolean,
        format: ["table", "list", "json"],
        "sort-by": "name"
      };
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      recursive: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {
      D: "--dev",
      P: "--production",
      table: "--format=table",
      "no-table": "--format=list",
      json: "--format=json"
    };
    exports2.commandNames = ["outdated"];
    function help() {
      return (0, render_help_1.default)({
        description: `Check for outdated packages. The check can be limited to a subset of the installed packages by providing arguments (patterns are supported).

Examples:
pnpm outdated
pnpm outdated --long
pnpm outdated gulp-* @babel/core`,
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Print only versions that satisfy specs in package.json",
                name: "--compatible"
              },
              {
                description: "By default, details about the outdated packages (such as a link to the repo) are not displayed. To display the details, pass this option.",
                name: "--long"
              },
              {
                description: 'Check for outdated dependencies in every package found in subdirectories or in every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "Prints the outdated packages in a list. Good for small consoles",
                name: "--no-table"
              },
              {
                description: 'Check only "dependencies" and "optionalDependencies"',
                name: "--prod",
                shortAlias: "-P"
              },
              {
                description: 'Check only "devDependencies"',
                name: "--dev",
                shortAlias: "-D"
              },
              {
                description: `Don't check "optionalDependencies"`,
                name: "--no-optional"
              },
              {
                description: 'Prints the outdated dependencies in the given format. Default is "table". Supported options: "table, list, json"',
                name: "--format <format>"
              },
              {
                description: "Specify the sorting method. Currently only `name` is supported.",
                name: "--sort-by"
              },
              common_cli_options_help_1.OPTIONS.globalDir,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("outdated"),
        usages: ["pnpm outdated [<pkg> ...]"]
      });
    }
    var completion = async (cliOpts) => {
      return (0, cli_utils_1.readDepNameCompletions)(cliOpts.dir);
    };
    exports2.completion = completion;
    async function handler(opts, params = []) {
      const include = {
        dependencies: opts.production !== false,
        devDependencies: opts.dev !== false,
        optionalDependencies: opts.optional !== false
      };
      if (opts.recursive && opts.selectedProjectsGraph != null) {
        const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
        return (0, recursive_1.outdatedRecursive)(pkgs, params, { ...opts, include });
      }
      const manifest = await (0, cli_utils_1.readProjectManifestOnly)(opts.dir, opts);
      const packages = [
        {
          rootDir: opts.dir,
          manifest
        }
      ];
      const [outdatedPackages] = await (0, outdated_1.outdatedDepsOfProjects)(packages, params, {
        ...opts,
        fullMetadata: opts.long,
        ignoreDependencies: manifest?.pnpm?.updateConfig?.ignoreDependencies,
        include,
        retry: {
          factor: opts.fetchRetryFactor,
          maxTimeout: opts.fetchRetryMaxtimeout,
          minTimeout: opts.fetchRetryMintimeout,
          retries: opts.fetchRetries
        },
        timeout: opts.fetchTimeout
      });
      let output;
      switch (opts.format ?? "table") {
        case "table": {
          output = renderOutdatedTable(outdatedPackages, opts);
          break;
        }
        case "list": {
          output = renderOutdatedList(outdatedPackages, opts);
          break;
        }
        case "json": {
          output = renderOutdatedJSON(outdatedPackages, opts);
          break;
        }
        default: {
          throw new error_1.PnpmError("BAD_OUTDATED_FORMAT", `Unsupported format: ${opts.format?.toString() ?? "undefined"}`);
        }
      }
      return {
        output,
        exitCode: outdatedPackages.length === 0 ? 0 : 1
      };
    }
    function renderOutdatedTable(outdatedPackages, opts) {
      if (outdatedPackages.length === 0)
        return "";
      const columnNames = [
        "Package",
        "Current",
        "Latest"
      ];
      const columnFns = [
        renderPackageName,
        renderCurrent,
        renderLatest
      ];
      if (opts.long) {
        columnNames.push("Details");
        columnFns.push(renderDetails);
      }
      for (let i = 0; i < columnNames.length; i++)
        columnNames[i] = chalk_1.default.blueBright(columnNames[i]);
      const data = [
        columnNames,
        ...sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).map((outdatedPkg) => columnFns.map((fn) => fn(outdatedPkg)))
      ];
      let detailsColumnMaxWidth = 40;
      if (opts.long) {
        detailsColumnMaxWidth = outdatedPackages.filter((pkg) => pkg.latestManifest && !pkg.latestManifest.deprecated).reduce((maxWidth, pkg) => {
          const cellWidth = pkg.latestManifest?.homepage?.length ?? 0;
          return Math.max(maxWidth, cellWidth);
        }, 0);
      }
      return (0, table_1.table)(data, {
        ...cli_utils_1.TABLE_OPTIONS,
        columns: {
          ...cli_utils_1.TABLE_OPTIONS.columns,
          // Detail column:
          3: {
            width: detailsColumnMaxWidth,
            wrapWord: true
          }
        }
      });
    }
    function renderOutdatedList(outdatedPackages, opts) {
      if (outdatedPackages.length === 0)
        return "";
      return sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).map((outdatedPkg) => {
        let info = `${chalk_1.default.bold(renderPackageName(outdatedPkg))}
${renderCurrent(outdatedPkg)} ${chalk_1.default.grey("=>")} ${renderLatest(outdatedPkg)}`;
        if (opts.long) {
          const details = renderDetails(outdatedPkg);
          if (details) {
            info += `
${details}`;
          }
        }
        return info;
      }).join("\n\n") + "\n";
    }
    function renderOutdatedJSON(outdatedPackages, opts) {
      const outdatedPackagesJSON = sortOutdatedPackages(outdatedPackages, { sortBy: opts.sortBy }).reduce((acc, outdatedPkg) => {
        acc[outdatedPkg.packageName] = {
          current: outdatedPkg.current,
          latest: outdatedPkg.latestManifest?.version,
          wanted: outdatedPkg.wanted,
          isDeprecated: Boolean(outdatedPkg.latestManifest?.deprecated),
          dependencyType: outdatedPkg.belongsTo
        };
        if (opts.long) {
          acc[outdatedPkg.packageName].latestManifest = outdatedPkg.latestManifest;
        }
        return acc;
      }, {});
      return JSON.stringify(outdatedPackagesJSON, null, 2);
    }
    function sortOutdatedPackages(outdatedPackages, opts) {
      const sortBy = opts?.sortBy;
      const comparators = sortBy === "name" ? [utils_1.NAME_COMPARATOR] : utils_1.DEFAULT_COMPARATORS;
      return (0, sortWith_1.default)(comparators, outdatedPackages.map(toOutdatedWithVersionDiff));
    }
    function getCellWidth(data, columnNumber, maxWidth) {
      const maxCellWidth = data.reduce((cellWidth, row) => {
        const cellLines = (0, util_1.stripVTControlCharacters)(row[columnNumber]).split("\n");
        const currentCellWidth = cellLines.reduce((lineWidth, line) => {
          return Math.max(lineWidth, line.length);
        }, 0);
        return Math.max(cellWidth, currentCellWidth);
      }, 0);
      return Math.min(maxWidth, maxCellWidth);
    }
    function toOutdatedWithVersionDiff(outdated) {
      if (outdated.latestManifest != null) {
        return {
          ...outdated,
          ...(0, semver_diff_1.default)(outdated.wanted, outdated.latestManifest.version)
        };
      }
      return {
        ...outdated,
        change: "unknown"
      };
    }
    function renderPackageName({ belongsTo, packageName }) {
      switch (belongsTo) {
        case "devDependencies":
          return `${packageName} ${chalk_1.default.dim("(dev)")}`;
        case "optionalDependencies":
          return `${packageName} ${chalk_1.default.dim("(optional)")}`;
        default:
          return packageName;
      }
    }
    function renderCurrent({ current, wanted }) {
      const output = current ?? "missing";
      if (current === wanted)
        return output;
      return `${output} (wanted ${wanted})`;
    }
    function renderLatest(outdatedPkg) {
      const { latestManifest, change, diff } = outdatedPkg;
      if (latestManifest == null)
        return "";
      if (change === null || diff == null) {
        return latestManifest.deprecated ? chalk_1.default.redBright.bold("Deprecated") : latestManifest.version;
      }
      return (0, colorize_semver_diff_1.default)({ change, diff });
    }
    function renderDetails({ latestManifest }) {
      if (latestManifest == null)
        return "";
      const outputs = [];
      if (latestManifest.deprecated) {
        outputs.push(chalk_1.default.redBright(latestManifest.deprecated));
      }
      if (latestManifest.homepage) {
        outputs.push(chalk_1.default.underline(latestManifest.homepage));
      }
      return outputs.join("\n");
    }
  }
});

// ../reviewing/plugin-commands-outdated/lib/index.js
var require_lib179 = __commonJS({
  "../reviewing/plugin-commands-outdated/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.outdated = void 0;
    var outdated = __importStar3(require_outdated2());
    exports2.outdated = outdated;
  }
});

// ../pkg-manifest/exportable-manifest/lib/overridePublishConfig.js
var require_overridePublishConfig = __commonJS({
  "../pkg-manifest/exportable-manifest/lib/overridePublishConfig.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.overridePublishConfig = overridePublishConfig;
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var PUBLISH_CONFIG_WHITELIST = /* @__PURE__ */ new Set([
      // manifest fields that may make sense to overwrite
      "bin",
      "type",
      "imports",
      // https://github.com/stereobooster/package.json#package-bundlers
      "main",
      "module",
      "typings",
      "types",
      "exports",
      "browser",
      "esnext",
      "es2015",
      "unpkg",
      "umd:main",
      // These are useful to hide in order to avoid warnings during local development
      "os",
      "cpu",
      "libc",
      // https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#version-selection-with-typesversions
      "typesVersions"
    ]);
    function overridePublishConfig(publishManifest) {
      const { publishConfig } = publishManifest;
      if (!publishConfig)
        return;
      for (const key in publishConfig) {
        if (!PUBLISH_CONFIG_WHITELIST.has(key))
          continue;
        const value = publishConfig[key];
        publishManifest[key] = value;
        delete publishConfig[key];
      }
      if ((0, isEmpty_1.default)(publishConfig)) {
        delete publishManifest.publishConfig;
      }
    }
  }
});

// ../pkg-manifest/exportable-manifest/lib/index.js
var require_lib180 = __commonJS({
  "../pkg-manifest/exportable-manifest/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createExportableManifest = createExportableManifest;
    var path_1 = __importDefault2(require("path"));
    var catalogs_resolver_1 = require_lib24();
    var error_1 = require_lib6();
    var read_project_manifest_1 = require_lib13();
    var omit_1 = __importDefault2(require_omit());
    var p_map_values_1 = __importDefault2(require_lib136());
    var overridePublishConfig_1 = require_overridePublishConfig();
    var PREPUBLISH_SCRIPTS = [
      "prepublishOnly",
      "prepack",
      "prepare",
      "postpack",
      "publish",
      "postpublish"
    ];
    async function createExportableManifest(dir, originalManifest, opts) {
      const publishManifest = (0, omit_1.default)(["pnpm", "scripts", "packageManager"], originalManifest);
      if (originalManifest.scripts != null) {
        publishManifest.scripts = (0, omit_1.default)(PREPUBLISH_SCRIPTS, originalManifest.scripts);
      }
      const catalogResolver = catalogs_resolver_1.resolveFromCatalog.bind(null, opts.catalogs);
      const replaceCatalogProtocol = resolveCatalogProtocol.bind(null, catalogResolver);
      const convertDependencyForPublish = combineConverters(replaceWorkspaceProtocol, replaceCatalogProtocol);
      await Promise.all(["dependencies", "devDependencies", "optionalDependencies"].map(async (depsField) => {
        const deps = await makePublishDependencies(dir, originalManifest[depsField], {
          modulesDir: opts?.modulesDir,
          convertDependencyForPublish
        });
        if (deps != null) {
          publishManifest[depsField] = deps;
        }
      }));
      const peerDependencies = originalManifest.peerDependencies;
      if (peerDependencies) {
        const convertPeersForPublish = combineConverters(replaceWorkspaceProtocolPeerDependency, replaceCatalogProtocol);
        publishManifest.peerDependencies = await makePublishDependencies(dir, peerDependencies, {
          modulesDir: opts?.modulesDir,
          convertDependencyForPublish: convertPeersForPublish
        });
      }
      (0, overridePublishConfig_1.overridePublishConfig)(publishManifest);
      if (opts?.readmeFile) {
        publishManifest.readme ??= opts.readmeFile;
      }
      return publishManifest;
    }
    function combineConverters(...converters) {
      return async (depName, depSpec, dir, modulesDir) => {
        let pref = depSpec;
        for (const converter of converters) {
          pref = await converter(depName, pref, dir, modulesDir);
        }
        return pref;
      };
    }
    async function makePublishDependencies(dir, dependencies, { modulesDir, convertDependencyForPublish }) {
      if (dependencies == null)
        return dependencies;
      const publishDependencies = await (0, p_map_values_1.default)(async (depSpec, depName) => convertDependencyForPublish(depName, depSpec, dir, modulesDir), dependencies);
      return publishDependencies;
    }
    async function readAndCheckManifest(depName, dependencyDir) {
      const { manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(dependencyDir);
      if (!manifest?.name || !manifest?.version) {
        throw new error_1.PnpmError("CANNOT_RESOLVE_WORKSPACE_PROTOCOL", `Cannot resolve workspace protocol of dependency "${depName}" because this dependency is not installed. Try running "pnpm install".`);
      }
      return manifest;
    }
    function resolveCatalogProtocol(catalogResolver, alias, pref) {
      const result2 = catalogResolver({ alias, pref });
      switch (result2.type) {
        case "found":
          return result2.resolution.specifier;
        case "unused":
          return pref;
        case "misconfiguration":
          throw result2.error;
      }
    }
    async function replaceWorkspaceProtocol(depName, depSpec, dir, modulesDir) {
      if (!depSpec.startsWith("workspace:")) {
        return depSpec;
      }
      const versionAliasSpecParts = /^workspace:(.*?)@?([\^~*])$/.exec(depSpec);
      if (versionAliasSpecParts != null) {
        modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules");
        const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName));
        const semverRangeToken = versionAliasSpecParts[2] !== "*" ? versionAliasSpecParts[2] : "";
        if (depName !== manifest.name) {
          return `npm:${manifest.name}@${semverRangeToken}${manifest.version}`;
        }
        return `${semverRangeToken}${manifest.version}`;
      }
      if (depSpec.startsWith("workspace:./") || depSpec.startsWith("workspace:../")) {
        const manifest = await readAndCheckManifest(depName, path_1.default.join(dir, depSpec.slice(10)));
        if (manifest.name === depName)
          return `${manifest.version}`;
        return `npm:${manifest.name}@${manifest.version}`;
      }
      depSpec = depSpec.slice(10);
      if (depSpec.includes("@")) {
        return `npm:${depSpec}`;
      }
      return depSpec;
    }
    async function replaceWorkspaceProtocolPeerDependency(depName, depSpec, dir, modulesDir) {
      if (!depSpec.includes("workspace:")) {
        return depSpec;
      }
      const workspaceSemverRegex = /workspace:([\^~*]|>=|>|<=|<)?((\d+|[xX*])(\.(\d+|[xX*])){0,2})?/;
      const versionAliasSpecParts = workspaceSemverRegex.exec(depSpec);
      if (versionAliasSpecParts != null) {
        const [, semverRangGroup = "", version2] = versionAliasSpecParts;
        if (version2) {
          return depSpec.replace("workspace:", "");
        }
        modulesDir = modulesDir ?? path_1.default.join(dir, "node_modules");
        const manifest = await readAndCheckManifest(depName, path_1.default.join(modulesDir, depName));
        const semverRangeToken = semverRangGroup !== "*" ? semverRangGroup : "";
        return depSpec.replace(workspaceSemverRegex, `${semverRangeToken}${manifest.version}`);
      }
      return depSpec.replace("workspace:", "");
    }
  }
});

// ../node_modules/.pnpm/bl@4.1.0/node_modules/bl/BufferList.js
var require_BufferList = __commonJS({
  "../node_modules/.pnpm/bl@4.1.0/node_modules/bl/BufferList.js"(exports2, module2) {
    "use strict";
    var { Buffer: Buffer2 } = require("buffer");
    var symbol = Symbol.for("BufferList");
    function BufferList(buf) {
      if (!(this instanceof BufferList)) {
        return new BufferList(buf);
      }
      BufferList._init.call(this, buf);
    }
    BufferList._init = function _init(buf) {
      Object.defineProperty(this, symbol, { value: true });
      this._bufs = [];
      this.length = 0;
      if (buf) {
        this.append(buf);
      }
    };
    BufferList.prototype._new = function _new(buf) {
      return new BufferList(buf);
    };
    BufferList.prototype._offset = function _offset(offset) {
      if (offset === 0) {
        return [0, 0];
      }
      let tot = 0;
      for (let i = 0; i < this._bufs.length; i++) {
        const _t = tot + this._bufs[i].length;
        if (offset < _t || i === this._bufs.length - 1) {
          return [i, offset - tot];
        }
        tot = _t;
      }
    };
    BufferList.prototype._reverseOffset = function(blOffset) {
      const bufferId = blOffset[0];
      let offset = blOffset[1];
      for (let i = 0; i < bufferId; i++) {
        offset += this._bufs[i].length;
      }
      return offset;
    };
    BufferList.prototype.get = function get(index) {
      if (index > this.length || index < 0) {
        return void 0;
      }
      const offset = this._offset(index);
      return this._bufs[offset[0]][offset[1]];
    };
    BufferList.prototype.slice = function slice(start, end) {
      if (typeof start === "number" && start < 0) {
        start += this.length;
      }
      if (typeof end === "number" && end < 0) {
        end += this.length;
      }
      return this.copy(null, 0, start, end);
    };
    BufferList.prototype.copy = function copy(dst, dstStart, srcStart, srcEnd) {
      if (typeof srcStart !== "number" || srcStart < 0) {
        srcStart = 0;
      }
      if (typeof srcEnd !== "number" || srcEnd > this.length) {
        srcEnd = this.length;
      }
      if (srcStart >= this.length) {
        return dst || Buffer2.alloc(0);
      }
      if (srcEnd <= 0) {
        return dst || Buffer2.alloc(0);
      }
      const copy2 = !!dst;
      const off = this._offset(srcStart);
      const len = srcEnd - srcStart;
      let bytes = len;
      let bufoff = copy2 && dstStart || 0;
      let start = off[1];
      if (srcStart === 0 && srcEnd === this.length) {
        if (!copy2) {
          return this._bufs.length === 1 ? this._bufs[0] : Buffer2.concat(this._bufs, this.length);
        }
        for (let i = 0; i < this._bufs.length; i++) {
          this._bufs[i].copy(dst, bufoff);
          bufoff += this._bufs[i].length;
        }
        return dst;
      }
      if (bytes <= this._bufs[off[0]].length - start) {
        return copy2 ? this._bufs[off[0]].copy(dst, dstStart, start, start + bytes) : this._bufs[off[0]].slice(start, start + bytes);
      }
      if (!copy2) {
        dst = Buffer2.allocUnsafe(len);
      }
      for (let i = off[0]; i < this._bufs.length; i++) {
        const l = this._bufs[i].length - start;
        if (bytes > l) {
          this._bufs[i].copy(dst, bufoff, start);
          bufoff += l;
        } else {
          this._bufs[i].copy(dst, bufoff, start, start + bytes);
          bufoff += l;
          break;
        }
        bytes -= l;
        if (start) {
          start = 0;
        }
      }
      if (dst.length > bufoff) return dst.slice(0, bufoff);
      return dst;
    };
    BufferList.prototype.shallowSlice = function shallowSlice(start, end) {
      start = start || 0;
      end = typeof end !== "number" ? this.length : end;
      if (start < 0) {
        start += this.length;
      }
      if (end < 0) {
        end += this.length;
      }
      if (start === end) {
        return this._new();
      }
      const startOffset = this._offset(start);
      const endOffset = this._offset(end);
      const buffers = this._bufs.slice(startOffset[0], endOffset[0] + 1);
      if (endOffset[1] === 0) {
        buffers.pop();
      } else {
        buffers[buffers.length - 1] = buffers[buffers.length - 1].slice(0, endOffset[1]);
      }
      if (startOffset[1] !== 0) {
        buffers[0] = buffers[0].slice(startOffset[1]);
      }
      return this._new(buffers);
    };
    BufferList.prototype.toString = function toString(encoding, start, end) {
      return this.slice(start, end).toString(encoding);
    };
    BufferList.prototype.consume = function consume(bytes) {
      bytes = Math.trunc(bytes);
      if (Number.isNaN(bytes) || bytes <= 0) return this;
      while (this._bufs.length) {
        if (bytes >= this._bufs[0].length) {
          bytes -= this._bufs[0].length;
          this.length -= this._bufs[0].length;
          this._bufs.shift();
        } else {
          this._bufs[0] = this._bufs[0].slice(bytes);
          this.length -= bytes;
          break;
        }
      }
      return this;
    };
    BufferList.prototype.duplicate = function duplicate() {
      const copy = this._new();
      for (let i = 0; i < this._bufs.length; i++) {
        copy.append(this._bufs[i]);
      }
      return copy;
    };
    BufferList.prototype.append = function append(buf) {
      if (buf == null) {
        return this;
      }
      if (buf.buffer) {
        this._appendBuffer(Buffer2.from(buf.buffer, buf.byteOffset, buf.byteLength));
      } else if (Array.isArray(buf)) {
        for (let i = 0; i < buf.length; i++) {
          this.append(buf[i]);
        }
      } else if (this._isBufferList(buf)) {
        for (let i = 0; i < buf._bufs.length; i++) {
          this.append(buf._bufs[i]);
        }
      } else {
        if (typeof buf === "number") {
          buf = buf.toString();
        }
        this._appendBuffer(Buffer2.from(buf));
      }
      return this;
    };
    BufferList.prototype._appendBuffer = function appendBuffer(buf) {
      this._bufs.push(buf);
      this.length += buf.length;
    };
    BufferList.prototype.indexOf = function(search, offset, encoding) {
      if (encoding === void 0 && typeof offset === "string") {
        encoding = offset;
        offset = void 0;
      }
      if (typeof search === "function" || Array.isArray(search)) {
        throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');
      } else if (typeof search === "number") {
        search = Buffer2.from([search]);
      } else if (typeof search === "string") {
        search = Buffer2.from(search, encoding);
      } else if (this._isBufferList(search)) {
        search = search.slice();
      } else if (Array.isArray(search.buffer)) {
        search = Buffer2.from(search.buffer, search.byteOffset, search.byteLength);
      } else if (!Buffer2.isBuffer(search)) {
        search = Buffer2.from(search);
      }
      offset = Number(offset || 0);
      if (isNaN(offset)) {
        offset = 0;
      }
      if (offset < 0) {
        offset = this.length + offset;
      }
      if (offset < 0) {
        offset = 0;
      }
      if (search.length === 0) {
        return offset > this.length ? this.length : offset;
      }
      const blOffset = this._offset(offset);
      let blIndex = blOffset[0];
      let buffOffset = blOffset[1];
      for (; blIndex < this._bufs.length; blIndex++) {
        const buff = this._bufs[blIndex];
        while (buffOffset < buff.length) {
          const availableWindow = buff.length - buffOffset;
          if (availableWindow >= search.length) {
            const nativeSearchResult = buff.indexOf(search, buffOffset);
            if (nativeSearchResult !== -1) {
              return this._reverseOffset([blIndex, nativeSearchResult]);
            }
            buffOffset = buff.length - search.length + 1;
          } else {
            const revOffset = this._reverseOffset([blIndex, buffOffset]);
            if (this._match(revOffset, search)) {
              return revOffset;
            }
            buffOffset++;
          }
        }
        buffOffset = 0;
      }
      return -1;
    };
    BufferList.prototype._match = function(offset, search) {
      if (this.length - offset < search.length) {
        return false;
      }
      for (let searchOffset = 0; searchOffset < search.length; searchOffset++) {
        if (this.get(offset + searchOffset) !== search[searchOffset]) {
          return false;
        }
      }
      return true;
    };
    (function() {
      const methods = {
        readDoubleBE: 8,
        readDoubleLE: 8,
        readFloatBE: 4,
        readFloatLE: 4,
        readInt32BE: 4,
        readInt32LE: 4,
        readUInt32BE: 4,
        readUInt32LE: 4,
        readInt16BE: 2,
        readInt16LE: 2,
        readUInt16BE: 2,
        readUInt16LE: 2,
        readInt8: 1,
        readUInt8: 1,
        readIntBE: null,
        readIntLE: null,
        readUIntBE: null,
        readUIntLE: null
      };
      for (const m in methods) {
        (function(m2) {
          if (methods[m2] === null) {
            BufferList.prototype[m2] = function(offset, byteLength) {
              return this.slice(offset, offset + byteLength)[m2](0, byteLength);
            };
          } else {
            BufferList.prototype[m2] = function(offset = 0) {
              return this.slice(offset, offset + methods[m2])[m2](0);
            };
          }
        })(m);
      }
    })();
    BufferList.prototype._isBufferList = function _isBufferList(b) {
      return b instanceof BufferList || BufferList.isBufferList(b);
    };
    BufferList.isBufferList = function isBufferList(b) {
      return b != null && b[symbol];
    };
    module2.exports = BufferList;
  }
});

// ../node_modules/.pnpm/bl@4.1.0/node_modules/bl/bl.js
var require_bl = __commonJS({
  "../node_modules/.pnpm/bl@4.1.0/node_modules/bl/bl.js"(exports2, module2) {
    "use strict";
    var DuplexStream = require_readable().Duplex;
    var inherits = require_inherits();
    var BufferList = require_BufferList();
    function BufferListStream(callback) {
      if (!(this instanceof BufferListStream)) {
        return new BufferListStream(callback);
      }
      if (typeof callback === "function") {
        this._callback = callback;
        const piper = function piper2(err) {
          if (this._callback) {
            this._callback(err);
            this._callback = null;
          }
        }.bind(this);
        this.on("pipe", function onPipe(src) {
          src.on("error", piper);
        });
        this.on("unpipe", function onUnpipe(src) {
          src.removeListener("error", piper);
        });
        callback = null;
      }
      BufferList._init.call(this, callback);
      DuplexStream.call(this);
    }
    inherits(BufferListStream, DuplexStream);
    Object.assign(BufferListStream.prototype, BufferList.prototype);
    BufferListStream.prototype._new = function _new(callback) {
      return new BufferListStream(callback);
    };
    BufferListStream.prototype._write = function _write(buf, encoding, callback) {
      this._appendBuffer(buf);
      if (typeof callback === "function") {
        callback();
      }
    };
    BufferListStream.prototype._read = function _read(size) {
      if (!this.length) {
        return this.push(null);
      }
      size = Math.min(size, this.length);
      this.push(this.slice(0, size));
      this.consume(size);
    };
    BufferListStream.prototype.end = function end(chunk) {
      DuplexStream.prototype.end.call(this, chunk);
      if (this._callback) {
        this._callback(null, this.slice());
        this._callback = null;
      }
    };
    BufferListStream.prototype._destroy = function _destroy(err, cb) {
      this._bufs.length = 0;
      this.length = 0;
      cb(err);
    };
    BufferListStream.prototype._isBufferList = function _isBufferList(b) {
      return b instanceof BufferListStream || b instanceof BufferList || BufferListStream.isBufferList(b);
    };
    BufferListStream.isBufferList = BufferList.isBufferList;
    module2.exports = BufferListStream;
    module2.exports.BufferListStream = BufferListStream;
    module2.exports.BufferList = BufferList;
  }
});

// ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/headers.js
var require_headers2 = __commonJS({
  "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/headers.js"(exports2) {
    var alloc = Buffer.alloc;
    var ZEROS = "0000000000000000000";
    var SEVENS = "7777777777777777777";
    var ZERO_OFFSET = "0".charCodeAt(0);
    var USTAR_MAGIC = Buffer.from("ustar\0", "binary");
    var USTAR_VER = Buffer.from("00", "binary");
    var GNU_MAGIC = Buffer.from("ustar ", "binary");
    var GNU_VER = Buffer.from(" \0", "binary");
    var MASK = parseInt("7777", 8);
    var MAGIC_OFFSET = 257;
    var VERSION_OFFSET = 263;
    var clamp = function(index, len, defaultValue) {
      if (typeof index !== "number") return defaultValue;
      index = ~~index;
      if (index >= len) return len;
      if (index >= 0) return index;
      index += len;
      if (index >= 0) return index;
      return 0;
    };
    var toType = function(flag) {
      switch (flag) {
        case 0:
          return "file";
        case 1:
          return "link";
        case 2:
          return "symlink";
        case 3:
          return "character-device";
        case 4:
          return "block-device";
        case 5:
          return "directory";
        case 6:
          return "fifo";
        case 7:
          return "contiguous-file";
        case 72:
          return "pax-header";
        case 55:
          return "pax-global-header";
        case 27:
          return "gnu-long-link-path";
        case 28:
        case 30:
          return "gnu-long-path";
      }
      return null;
    };
    var toTypeflag = function(flag) {
      switch (flag) {
        case "file":
          return 0;
        case "link":
          return 1;
        case "symlink":
          return 2;
        case "character-device":
          return 3;
        case "block-device":
          return 4;
        case "directory":
          return 5;
        case "fifo":
          return 6;
        case "contiguous-file":
          return 7;
        case "pax-header":
          return 72;
      }
      return 0;
    };
    var indexOf = function(block, num, offset, end) {
      for (; offset < end; offset++) {
        if (block[offset] === num) return offset;
      }
      return end;
    };
    var cksum = function(block) {
      var sum = 8 * 32;
      for (var i = 0; i < 148; i++) sum += block[i];
      for (var j = 156; j < 512; j++) sum += block[j];
      return sum;
    };
    var encodeOct = function(val, n) {
      val = val.toString(8);
      if (val.length > n) return SEVENS.slice(0, n) + " ";
      else return ZEROS.slice(0, n - val.length) + val + " ";
    };
    function parse256(buf) {
      var positive;
      if (buf[0] === 128) positive = true;
      else if (buf[0] === 255) positive = false;
      else return null;
      var tuple = [];
      for (var i = buf.length - 1; i > 0; i--) {
        var byte = buf[i];
        if (positive) tuple.push(byte);
        else tuple.push(255 - byte);
      }
      var sum = 0;
      var l = tuple.length;
      for (i = 0; i < l; i++) {
        sum += tuple[i] * Math.pow(256, i);
      }
      return positive ? sum : -1 * sum;
    }
    var decodeOct = function(val, offset, length) {
      val = val.slice(offset, offset + length);
      offset = 0;
      if (val[offset] & 128) {
        return parse256(val);
      } else {
        while (offset < val.length && val[offset] === 32) offset++;
        var end = clamp(indexOf(val, 32, offset, val.length), val.length, val.length);
        while (offset < end && val[offset] === 0) offset++;
        if (end === offset) return 0;
        return parseInt(val.slice(offset, end).toString(), 8);
      }
    };
    var decodeStr = function(val, offset, length, encoding) {
      return val.slice(offset, indexOf(val, 0, offset, offset + length)).toString(encoding);
    };
    var addLength = function(str) {
      var len = Buffer.byteLength(str);
      var digits = Math.floor(Math.log(len) / Math.log(10)) + 1;
      if (len + digits >= Math.pow(10, digits)) digits++;
      return len + digits + str;
    };
    exports2.decodeLongPath = function(buf, encoding) {
      return decodeStr(buf, 0, buf.length, encoding);
    };
    exports2.encodePax = function(opts) {
      var result2 = "";
      if (opts.name) result2 += addLength(" path=" + opts.name + "\n");
      if (opts.linkname) result2 += addLength(" linkpath=" + opts.linkname + "\n");
      var pax = opts.pax;
      if (pax) {
        for (var key in pax) {
          result2 += addLength(" " + key + "=" + pax[key] + "\n");
        }
      }
      return Buffer.from(result2);
    };
    exports2.decodePax = function(buf) {
      var result2 = {};
      while (buf.length) {
        var i = 0;
        while (i < buf.length && buf[i] !== 32) i++;
        var len = parseInt(buf.slice(0, i).toString(), 10);
        if (!len) return result2;
        var b = buf.slice(i + 1, len - 1).toString();
        var keyIndex = b.indexOf("=");
        if (keyIndex === -1) return result2;
        result2[b.slice(0, keyIndex)] = b.slice(keyIndex + 1);
        buf = buf.slice(len);
      }
      return result2;
    };
    exports2.encode = function(opts) {
      var buf = alloc(512);
      var name = opts.name;
      var prefix = "";
      if (opts.typeflag === 5 && name[name.length - 1] !== "/") name += "/";
      if (Buffer.byteLength(name) !== name.length) return null;
      while (Buffer.byteLength(name) > 100) {
        var i = name.indexOf("/");
        if (i === -1) return null;
        prefix += prefix ? "/" + name.slice(0, i) : name.slice(0, i);
        name = name.slice(i + 1);
      }
      if (Buffer.byteLength(name) > 100 || Buffer.byteLength(prefix) > 155) return null;
      if (opts.linkname && Buffer.byteLength(opts.linkname) > 100) return null;
      buf.write(name);
      buf.write(encodeOct(opts.mode & MASK, 6), 100);
      buf.write(encodeOct(opts.uid, 6), 108);
      buf.write(encodeOct(opts.gid, 6), 116);
      buf.write(encodeOct(opts.size, 11), 124);
      buf.write(encodeOct(opts.mtime.getTime() / 1e3 | 0, 11), 136);
      buf[156] = ZERO_OFFSET + toTypeflag(opts.type);
      if (opts.linkname) buf.write(opts.linkname, 157);
      USTAR_MAGIC.copy(buf, MAGIC_OFFSET);
      USTAR_VER.copy(buf, VERSION_OFFSET);
      if (opts.uname) buf.write(opts.uname, 265);
      if (opts.gname) buf.write(opts.gname, 297);
      buf.write(encodeOct(opts.devmajor || 0, 6), 329);
      buf.write(encodeOct(opts.devminor || 0, 6), 337);
      if (prefix) buf.write(prefix, 345);
      buf.write(encodeOct(cksum(buf), 6), 148);
      return buf;
    };
    exports2.decode = function(buf, filenameEncoding, allowUnknownFormat) {
      var typeflag = buf[156] === 0 ? 0 : buf[156] - ZERO_OFFSET;
      var name = decodeStr(buf, 0, 100, filenameEncoding);
      var mode = decodeOct(buf, 100, 8);
      var uid = decodeOct(buf, 108, 8);
      var gid = decodeOct(buf, 116, 8);
      var size = decodeOct(buf, 124, 12);
      var mtime = decodeOct(buf, 136, 12);
      var type = toType(typeflag);
      var linkname = buf[157] === 0 ? null : decodeStr(buf, 157, 100, filenameEncoding);
      var uname = decodeStr(buf, 265, 32);
      var gname = decodeStr(buf, 297, 32);
      var devmajor = decodeOct(buf, 329, 8);
      var devminor = decodeOct(buf, 337, 8);
      var c = cksum(buf);
      if (c === 8 * 32) return null;
      if (c !== decodeOct(buf, 148, 8)) throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");
      if (USTAR_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0) {
        if (buf[345]) name = decodeStr(buf, 345, 155, filenameEncoding) + "/" + name;
      } else if (GNU_MAGIC.compare(buf, MAGIC_OFFSET, MAGIC_OFFSET + 6) === 0 && GNU_VER.compare(buf, VERSION_OFFSET, VERSION_OFFSET + 2) === 0) {
      } else {
        if (!allowUnknownFormat) {
          throw new Error("Invalid tar header: unknown format.");
        }
      }
      if (typeflag === 0 && name && name[name.length - 1] === "/") typeflag = 5;
      return {
        name,
        mode,
        uid,
        gid,
        size,
        mtime: new Date(1e3 * mtime),
        type,
        linkname,
        uname,
        gname,
        devmajor,
        devminor
      };
    };
  }
});

// ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/extract.js
var require_extract2 = __commonJS({
  "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/extract.js"(exports2, module2) {
    var util = require("util");
    var bl = require_bl();
    var headers = require_headers2();
    var Writable = require_readable().Writable;
    var PassThrough = require_readable().PassThrough;
    var noop = function() {
    };
    var overflow = function(size) {
      size &= 511;
      return size && 512 - size;
    };
    var emptyStream = function(self2, offset) {
      var s = new Source(self2, offset);
      s.end();
      return s;
    };
    var mixinPax = function(header, pax) {
      if (pax.path) header.name = pax.path;
      if (pax.linkpath) header.linkname = pax.linkpath;
      if (pax.size) header.size = parseInt(pax.size, 10);
      header.pax = pax;
      return header;
    };
    var Source = function(self2, offset) {
      this._parent = self2;
      this.offset = offset;
      PassThrough.call(this, { autoDestroy: false });
    };
    util.inherits(Source, PassThrough);
    Source.prototype.destroy = function(err) {
      this._parent.destroy(err);
    };
    var Extract = function(opts) {
      if (!(this instanceof Extract)) return new Extract(opts);
      Writable.call(this, opts);
      opts = opts || {};
      this._offset = 0;
      this._buffer = bl();
      this._missing = 0;
      this._partial = false;
      this._onparse = noop;
      this._header = null;
      this._stream = null;
      this._overflow = null;
      this._cb = null;
      this._locked = false;
      this._destroyed = false;
      this._pax = null;
      this._paxGlobal = null;
      this._gnuLongPath = null;
      this._gnuLongLinkPath = null;
      var self2 = this;
      var b = self2._buffer;
      var oncontinue = function() {
        self2._continue();
      };
      var onunlock = function(err) {
        self2._locked = false;
        if (err) return self2.destroy(err);
        if (!self2._stream) oncontinue();
      };
      var onstreamend = function() {
        self2._stream = null;
        var drain = overflow(self2._header.size);
        if (drain) self2._parse(drain, ondrain);
        else self2._parse(512, onheader);
        if (!self2._locked) oncontinue();
      };
      var ondrain = function() {
        self2._buffer.consume(overflow(self2._header.size));
        self2._parse(512, onheader);
        oncontinue();
      };
      var onpaxglobalheader = function() {
        var size = self2._header.size;
        self2._paxGlobal = headers.decodePax(b.slice(0, size));
        b.consume(size);
        onstreamend();
      };
      var onpaxheader = function() {
        var size = self2._header.size;
        self2._pax = headers.decodePax(b.slice(0, size));
        if (self2._paxGlobal) self2._pax = Object.assign({}, self2._paxGlobal, self2._pax);
        b.consume(size);
        onstreamend();
      };
      var ongnulongpath = function() {
        var size = self2._header.size;
        this._gnuLongPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding);
        b.consume(size);
        onstreamend();
      };
      var ongnulonglinkpath = function() {
        var size = self2._header.size;
        this._gnuLongLinkPath = headers.decodeLongPath(b.slice(0, size), opts.filenameEncoding);
        b.consume(size);
        onstreamend();
      };
      var onheader = function() {
        var offset = self2._offset;
        var header;
        try {
          header = self2._header = headers.decode(b.slice(0, 512), opts.filenameEncoding, opts.allowUnknownFormat);
        } catch (err) {
          self2.emit("error", err);
        }
        b.consume(512);
        if (!header) {
          self2._parse(512, onheader);
          oncontinue();
          return;
        }
        if (header.type === "gnu-long-path") {
          self2._parse(header.size, ongnulongpath);
          oncontinue();
          return;
        }
        if (header.type === "gnu-long-link-path") {
          self2._parse(header.size, ongnulonglinkpath);
          oncontinue();
          return;
        }
        if (header.type === "pax-global-header") {
          self2._parse(header.size, onpaxglobalheader);
          oncontinue();
          return;
        }
        if (header.type === "pax-header") {
          self2._parse(header.size, onpaxheader);
          oncontinue();
          return;
        }
        if (self2._gnuLongPath) {
          header.name = self2._gnuLongPath;
          self2._gnuLongPath = null;
        }
        if (self2._gnuLongLinkPath) {
          header.linkname = self2._gnuLongLinkPath;
          self2._gnuLongLinkPath = null;
        }
        if (self2._pax) {
          self2._header = header = mixinPax(header, self2._pax);
          self2._pax = null;
        }
        self2._locked = true;
        if (!header.size || header.type === "directory") {
          self2._parse(512, onheader);
          self2.emit("entry", header, emptyStream(self2, offset), onunlock);
          return;
        }
        self2._stream = new Source(self2, offset);
        self2.emit("entry", header, self2._stream, onunlock);
        self2._parse(header.size, onstreamend);
        oncontinue();
      };
      this._onheader = onheader;
      this._parse(512, onheader);
    };
    util.inherits(Extract, Writable);
    Extract.prototype.destroy = function(err) {
      if (this._destroyed) return;
      this._destroyed = true;
      if (err) this.emit("error", err);
      this.emit("close");
      if (this._stream) this._stream.emit("close");
    };
    Extract.prototype._parse = function(size, onparse) {
      if (this._destroyed) return;
      this._offset += size;
      this._missing = size;
      if (onparse === this._onheader) this._partial = false;
      this._onparse = onparse;
    };
    Extract.prototype._continue = function() {
      if (this._destroyed) return;
      var cb = this._cb;
      this._cb = noop;
      if (this._overflow) this._write(this._overflow, void 0, cb);
      else cb();
    };
    Extract.prototype._write = function(data, enc, cb) {
      if (this._destroyed) return;
      var s = this._stream;
      var b = this._buffer;
      var missing = this._missing;
      if (data.length) this._partial = true;
      if (data.length < missing) {
        this._missing -= data.length;
        this._overflow = null;
        if (s) return s.write(data, cb);
        b.append(data);
        return cb();
      }
      this._cb = cb;
      this._missing = 0;
      var overflow2 = null;
      if (data.length > missing) {
        overflow2 = data.slice(missing);
        data = data.slice(0, missing);
      }
      if (s) s.end(data);
      else b.append(data);
      this._overflow = overflow2;
      this._onparse();
    };
    Extract.prototype._final = function(cb) {
      if (this._partial) return this.destroy(new Error("Unexpected end of data"));
      cb();
    };
    module2.exports = Extract;
  }
});

// ../node_modules/.pnpm/fs-constants@1.0.0/node_modules/fs-constants/index.js
var require_fs_constants = __commonJS({
  "../node_modules/.pnpm/fs-constants@1.0.0/node_modules/fs-constants/index.js"(exports2, module2) {
    module2.exports = require("fs").constants || require("constants");
  }
});

// ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/pack.js
var require_pack2 = __commonJS({
  "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/pack.js"(exports2, module2) {
    var constants = require_fs_constants();
    var eos = require_end_of_stream2();
    var inherits = require_inherits();
    var alloc = Buffer.alloc;
    var Readable = require_readable().Readable;
    var Writable = require_readable().Writable;
    var StringDecoder = require("string_decoder").StringDecoder;
    var headers = require_headers2();
    var DMODE = parseInt("755", 8);
    var FMODE = parseInt("644", 8);
    var END_OF_TAR = alloc(1024);
    var noop = function() {
    };
    var overflow = function(self2, size) {
      size &= 511;
      if (size) self2.push(END_OF_TAR.slice(0, 512 - size));
    };
    function modeToType(mode) {
      switch (mode & constants.S_IFMT) {
        case constants.S_IFBLK:
          return "block-device";
        case constants.S_IFCHR:
          return "character-device";
        case constants.S_IFDIR:
          return "directory";
        case constants.S_IFIFO:
          return "fifo";
        case constants.S_IFLNK:
          return "symlink";
      }
      return "file";
    }
    var Sink = function(to) {
      Writable.call(this);
      this.written = 0;
      this._to = to;
      this._destroyed = false;
    };
    inherits(Sink, Writable);
    Sink.prototype._write = function(data, enc, cb) {
      this.written += data.length;
      if (this._to.push(data)) return cb();
      this._to._drain = cb;
    };
    Sink.prototype.destroy = function() {
      if (this._destroyed) return;
      this._destroyed = true;
      this.emit("close");
    };
    var LinkSink = function() {
      Writable.call(this);
      this.linkname = "";
      this._decoder = new StringDecoder("utf-8");
      this._destroyed = false;
    };
    inherits(LinkSink, Writable);
    LinkSink.prototype._write = function(data, enc, cb) {
      this.linkname += this._decoder.write(data);
      cb();
    };
    LinkSink.prototype.destroy = function() {
      if (this._destroyed) return;
      this._destroyed = true;
      this.emit("close");
    };
    var Void = function() {
      Writable.call(this);
      this._destroyed = false;
    };
    inherits(Void, Writable);
    Void.prototype._write = function(data, enc, cb) {
      cb(new Error("No body allowed for this entry"));
    };
    Void.prototype.destroy = function() {
      if (this._destroyed) return;
      this._destroyed = true;
      this.emit("close");
    };
    var Pack = function(opts) {
      if (!(this instanceof Pack)) return new Pack(opts);
      Readable.call(this, opts);
      this._drain = noop;
      this._finalized = false;
      this._finalizing = false;
      this._destroyed = false;
      this._stream = null;
    };
    inherits(Pack, Readable);
    Pack.prototype.entry = function(header, buffer, callback) {
      if (this._stream) throw new Error("already piping an entry");
      if (this._finalized || this._destroyed) return;
      if (typeof buffer === "function") {
        callback = buffer;
        buffer = null;
      }
      if (!callback) callback = noop;
      var self2 = this;
      if (!header.size || header.type === "symlink") header.size = 0;
      if (!header.type) header.type = modeToType(header.mode);
      if (!header.mode) header.mode = header.type === "directory" ? DMODE : FMODE;
      if (!header.uid) header.uid = 0;
      if (!header.gid) header.gid = 0;
      if (!header.mtime) header.mtime = /* @__PURE__ */ new Date();
      if (typeof buffer === "string") buffer = Buffer.from(buffer);
      if (Buffer.isBuffer(buffer)) {
        header.size = buffer.length;
        this._encode(header);
        var ok = this.push(buffer);
        overflow(self2, header.size);
        if (ok) process.nextTick(callback);
        else this._drain = callback;
        return new Void();
      }
      if (header.type === "symlink" && !header.linkname) {
        var linkSink = new LinkSink();
        eos(linkSink, function(err) {
          if (err) {
            self2.destroy();
            return callback(err);
          }
          header.linkname = linkSink.linkname;
          self2._encode(header);
          callback();
        });
        return linkSink;
      }
      this._encode(header);
      if (header.type !== "file" && header.type !== "contiguous-file") {
        process.nextTick(callback);
        return new Void();
      }
      var sink = new Sink(this);
      this._stream = sink;
      eos(sink, function(err) {
        self2._stream = null;
        if (err) {
          self2.destroy();
          return callback(err);
        }
        if (sink.written !== header.size) {
          self2.destroy();
          return callback(new Error("size mismatch"));
        }
        overflow(self2, header.size);
        if (self2._finalizing) self2.finalize();
        callback();
      });
      return sink;
    };
    Pack.prototype.finalize = function() {
      if (this._stream) {
        this._finalizing = true;
        return;
      }
      if (this._finalized) return;
      this._finalized = true;
      this.push(END_OF_TAR);
      this.push(null);
    };
    Pack.prototype.destroy = function(err) {
      if (this._destroyed) return;
      this._destroyed = true;
      if (err) this.emit("error", err);
      this.emit("close");
      if (this._stream && this._stream.destroy) this._stream.destroy();
    };
    Pack.prototype._encode = function(header) {
      if (!header.pax) {
        var buf = headers.encode(header);
        if (buf) {
          this.push(buf);
          return;
        }
      }
      this._encodePax(header);
    };
    Pack.prototype._encodePax = function(header) {
      var paxHeader = headers.encodePax({
        name: header.name,
        linkname: header.linkname,
        pax: header.pax
      });
      var newHeader = {
        name: "PaxHeader",
        mode: header.mode,
        uid: header.uid,
        gid: header.gid,
        size: paxHeader.length,
        mtime: header.mtime,
        type: "pax-header",
        linkname: header.linkname && "PaxHeader",
        uname: header.uname,
        gname: header.gname,
        devmajor: header.devmajor,
        devminor: header.devminor
      };
      this.push(headers.encode(newHeader));
      this.push(paxHeader);
      overflow(this, paxHeader.length);
      newHeader.size = header.size;
      newHeader.type = header.type;
      this.push(headers.encode(newHeader));
    };
    Pack.prototype._read = function(n) {
      var drain = this._drain;
      this._drain = noop;
      drain();
    };
    module2.exports = Pack;
  }
});

// ../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/index.js
var require_tar_stream = __commonJS({
  "../node_modules/.pnpm/tar-stream@2.2.0/node_modules/tar-stream/index.js"(exports2) {
    exports2.extract = require_extract2();
    exports2.pack = require_pack2();
  }
});

// ../releasing/plugin-commands-publishing/lib/recursivePublish.js
var require_recursivePublish = __commonJS({
  "../releasing/plugin-commands-publishing/lib/recursivePublish.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.recursivePublish = recursivePublish;
    var path_1 = __importDefault2(require("path"));
    var client_1 = require_lib90();
    var logger_1 = require_lib();
    var pick_registry_for_package_1 = require_lib91();
    var sort_packages_1 = require_lib120();
    var p_filter_1 = __importDefault2(require_p_filter());
    var pick_1 = __importDefault2(require_pick());
    var write_json_file_1 = __importDefault2(require_write_json_file());
    var publish_1 = require_publish2();
    async function recursivePublish(opts) {
      const pkgs = Object.values(opts.selectedProjectsGraph).map((wsPkg) => wsPkg.package);
      const { resolve } = (0, client_1.createResolver)({
        ...opts,
        authConfig: opts.rawConfig,
        userConfig: opts.userConfig,
        retry: {
          factor: opts.fetchRetryFactor,
          maxTimeout: opts.fetchRetryMaxtimeout,
          minTimeout: opts.fetchRetryMintimeout,
          retries: opts.fetchRetries
        },
        timeout: opts.fetchTimeout
      });
      const pkgsToPublish = await (0, p_filter_1.default)(pkgs, async (pkg) => {
        if (!pkg.manifest.name || !pkg.manifest.version || pkg.manifest.private)
          return false;
        if (opts.force)
          return true;
        return !await isAlreadyPublished({
          dir: pkg.rootDir,
          lockfileDir: opts.lockfileDir ?? pkg.rootDir,
          registries: opts.registries,
          resolve
        }, pkg.manifest.name, pkg.manifest.version);
      });
      const publishedPkgDirs = new Set(pkgsToPublish.map(({ rootDir }) => rootDir));
      const publishedPackages = [];
      if (publishedPkgDirs.size === 0) {
        logger_1.logger.info({
          message: "There are no new packages that should be published",
          prefix: opts.dir
        });
      } else {
        const appendedArgs = [];
        if (opts.cliOptions["access"]) {
          appendedArgs.push(`--access=${opts.cliOptions["access"]}`);
        }
        if (opts.dryRun) {
          appendedArgs.push("--dry-run");
        }
        if (opts.cliOptions["otp"]) {
          appendedArgs.push(`--otp=${opts.cliOptions["otp"]}`);
        }
        const chunks = (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph);
        const tag = opts.tag ?? "latest";
        for (const chunk of chunks) {
          for (const pkgDir of chunk) {
            if (!publishedPkgDirs.has(pkgDir))
              continue;
            const pkg = opts.selectedProjectsGraph[pkgDir].package;
            const registry = pkg.manifest.publishConfig?.registry ?? (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkg.manifest.name);
            const publishResult = await (0, publish_1.publish)({
              ...opts,
              dir: pkg.rootDir,
              argv: {
                original: [
                  "publish",
                  "--tag",
                  tag,
                  "--registry",
                  registry,
                  ...appendedArgs
                ]
              },
              gitChecks: false,
              recursive: false
            }, [pkg.rootDir]);
            if (publishResult?.manifest != null) {
              publishedPackages.push((0, pick_1.default)(["name", "version"], publishResult.manifest));
            } else if (publishResult?.exitCode) {
              return { exitCode: publishResult.exitCode };
            }
          }
        }
      }
      if (opts.reportSummary) {
        await (0, write_json_file_1.default)(path_1.default.join(opts.lockfileDir ?? opts.dir, "pnpm-publish-summary.json"), { publishedPackages });
      }
      return { exitCode: 0 };
    }
    async function isAlreadyPublished(opts, pkgName, pkgVersion) {
      try {
        await opts.resolve({ alias: pkgName, pref: pkgVersion }, {
          lockfileDir: opts.lockfileDir,
          preferredVersions: {},
          projectDir: opts.dir,
          registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, pkgName, pkgVersion)
        });
        return true;
      } catch (err) {
        return false;
      }
    }
  }
});

// ../releasing/plugin-commands-publishing/lib/publish.js
var require_publish2 = __commonJS({
  "../releasing/plugin-commands-publishing/lib/publish.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.publish = publish;
    exports2.runScriptsIfPresent = runScriptsIfPresent;
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var lifecycle_1 = require_lib77();
    var run_npm_1 = require_lib132();
    var git_utils_1 = require_lib15();
    var network_auth_header_1 = require_lib89();
    var plugin_commands_env_1 = require_lib82();
    var enquirer_1 = require_enquirer();
    var rimraf_1 = __importDefault2(require_rimraf());
    var pick_1 = __importDefault2(require_pick());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var render_help_1 = __importDefault2(require_lib47());
    var tempy_1 = __importDefault2(require_tempy());
    var pack = __importStar3(require_pack3());
    var recursivePublish_1 = require_recursivePublish();
    function rcOptionsTypes() {
      return (0, pick_1.default)([
        "access",
        "git-checks",
        "ignore-scripts",
        "provenance",
        "npm-path",
        "otp",
        "publish-branch",
        "registry",
        "tag",
        "unsafe-perm",
        "embed-readme"
      ], config_1.types);
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        "dry-run": Boolean,
        force: Boolean,
        json: Boolean,
        recursive: Boolean,
        "report-summary": Boolean
      };
    }
    exports2.commandNames = ["publish"];
    function help() {
      return (0, render_help_1.default)({
        description: "Publishes a package to the npm registry.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Don't check if current branch is your publish branch, clean, and up to date",
                name: "--no-git-checks"
              },
              {
                description: "Sets branch name to publish. Default is master",
                name: "--publish-branch"
              },
              {
                description: "Does everything a publish would do except actually publishing to the registry",
                name: "--dry-run"
              },
              {
                description: "Show information in JSON format",
                name: "--json"
              },
              {
                description: 'Registers the published package with the given tag. By default, the "latest" tag is used.',
                name: "--tag <tag>"
              },
              {
                description: "Tells the registry whether this package should be published as public or restricted",
                name: "--access <public|restricted>"
              },
              {
                description: "Ignores any publish related lifecycle scripts (prepublishOnly, postpublish, and the like)",
                name: "--ignore-scripts"
              },
              {
                description: 'Packages are proceeded to be published even if their current version is already in the registry. This is useful when a "prepublishOnly" script bumps the version of the package before it is published',
                name: "--force"
              },
              {
                description: 'Save the list of the newly published packages to "pnpm-publish-summary.json". Useful when some other tooling is used to report the list of published packages.',
                name: "--report-summary"
              },
              {
                description: "When publishing packages that require two-factor authentication, this option can specify a one-time password",
                name: "--otp"
              },
              {
                description: "Publish all packages from the workspace",
                name: "--recursive",
                shortAlias: "-r"
              }
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("publish"),
        usages: ["pnpm publish [<tarball>|<dir>] [--tag <tag>] [--access <public|restricted>] [options]"]
      });
    }
    var GIT_CHECKS_HINT = 'If you want to disable Git checks on publish, set the "git-checks" setting to "false", or run again with "--no-git-checks".';
    async function handler(opts, params) {
      const result2 = await publish(opts, params);
      if (result2?.manifest)
        return;
      return result2;
    }
    async function publish(opts, params) {
      if (opts.gitChecks !== false && await (0, git_utils_1.isGitRepo)()) {
        if (!await (0, git_utils_1.isWorkingTreeClean)()) {
          throw new error_1.PnpmError("GIT_UNCLEAN", "Unclean working tree. Commit or stash changes first.", {
            hint: GIT_CHECKS_HINT
          });
        }
        const branches = opts.publishBranch ? [opts.publishBranch] : ["master", "main"];
        const currentBranch = await (0, git_utils_1.getCurrentBranch)();
        if (currentBranch === null) {
          throw new error_1.PnpmError("GIT_UNKNOWN_BRANCH", `The Git HEAD may not attached to any branch, but your "publish-branch" is set to "${branches.join("|")}".`, {
            hint: GIT_CHECKS_HINT
          });
        }
        if (!branches.includes(currentBranch)) {
          const { confirm } = await (0, enquirer_1.prompt)({
            message: `You're on branch "${currentBranch}" but your "publish-branch" is set to "${branches.join("|")}". Do you want to continue?`,
            name: "confirm",
            type: "confirm"
          });
          if (!confirm) {
            throw new error_1.PnpmError("GIT_NOT_CORRECT_BRANCH", `Branch is not on '${branches.join("|")}'.`, {
              hint: GIT_CHECKS_HINT
            });
          }
        }
        if (!await (0, git_utils_1.isRemoteHistoryClean)()) {
          throw new error_1.PnpmError("GIT_NOT_LATEST", "Remote history differs. Please pull changes.", {
            hint: GIT_CHECKS_HINT
          });
        }
      }
      if (opts.recursive && opts.selectedProjectsGraph != null) {
        const { exitCode } = await (0, recursivePublish_1.recursivePublish)({
          ...opts,
          selectedProjectsGraph: opts.selectedProjectsGraph,
          workspaceDir: opts.workspaceDir ?? process.cwd()
        });
        return { exitCode };
      }
      let args = opts.argv.original.slice(1);
      const dirInParams = params.length > 0 ? params[0] : void 0;
      if (dirInParams) {
        args = args.filter((arg) => arg !== params[0]);
      }
      const index = args.indexOf("--publish-branch");
      if (index !== -1) {
        if (args[index + 1]?.startsWith("-")) {
          args.splice(index, 1);
        } else {
          args.splice(index, 2);
        }
      }
      if (dirInParams?.endsWith(".tgz")) {
        const { status: status2 } = (0, run_npm_1.runNpm)(opts.npmPath, ["publish", dirInParams, ...args]);
        return { exitCode: status2 ?? 0 };
      }
      const dir = dirInParams ?? opts.dir ?? process.cwd();
      const _runScriptsIfPresent = runScriptsIfPresent.bind(null, {
        depPath: dir,
        extraBinPaths: opts.extraBinPaths,
        extraEnv: opts.extraEnv,
        pkgRoot: dir,
        rawConfig: opts.rawConfig,
        rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(dir, "node_modules")),
        stdio: "inherit",
        unsafePerm: true,
        // when running scripts explicitly, assume that they're trusted.
        prepareExecutionEnv: plugin_commands_env_1.prepareExecutionEnv.bind(null, opts)
      });
      const { manifest } = await (0, cli_utils_1.readProjectManifest)(dir, opts);
      if (!opts.ignoreScripts) {
        await _runScriptsIfPresent([
          "prepublishOnly",
          "prepublish"
        ], manifest);
      }
      const packDestination = tempy_1.default.directory();
      const { tarballPath } = await pack.api({
        ...opts,
        dir,
        packDestination
      });
      await copyNpmrc({ dir, workspaceDir: opts.workspaceDir, packDestination });
      const { status } = (0, run_npm_1.runNpm)(opts.npmPath, ["publish", "--ignore-scripts", path_1.default.basename(tarballPath), ...args], {
        cwd: packDestination,
        env: getEnvWithTokens(opts)
      });
      await (0, rimraf_1.default)(packDestination);
      if (status != null && status !== 0) {
        return { exitCode: status };
      }
      if (!opts.ignoreScripts) {
        await _runScriptsIfPresent([
          "publish",
          "postpublish"
        ], manifest);
      }
      return { manifest };
    }
    function getEnvWithTokens(opts) {
      const tokenHelpers = Object.entries(opts.rawConfig).filter(([key]) => key.endsWith(":tokenHelper"));
      const tokenHelpersFromArgs = opts.argv.original.filter((arg) => arg.includes(":tokenHelper=")).map((arg) => arg.split("=", 2));
      const env = {};
      for (const [key, helperPath] of tokenHelpers.concat(tokenHelpersFromArgs)) {
        const authHeader = (0, network_auth_header_1.loadToken)(helperPath, key);
        const authType = authHeader.startsWith("Bearer") ? "_authToken" : "_auth";
        const registry = key.replace(/:tokenHelper$/, "");
        env[`NPM_CONFIG_${registry}:${authType}`] = authType === "_authToken" ? authHeader.slice("Bearer ".length) : authHeader.replace(/Basic /i, "");
      }
      return env;
    }
    async function copyNpmrc({ dir, workspaceDir, packDestination }) {
      const localNpmrc = path_1.default.join(dir, ".npmrc");
      if ((0, fs_1.existsSync)(localNpmrc)) {
        await fs_1.promises.copyFile(localNpmrc, path_1.default.join(packDestination, ".npmrc"));
        return;
      }
      if (!workspaceDir)
        return;
      const workspaceNpmrc = path_1.default.join(workspaceDir, ".npmrc");
      if ((0, fs_1.existsSync)(workspaceNpmrc)) {
        await fs_1.promises.copyFile(workspaceNpmrc, path_1.default.join(packDestination, ".npmrc"));
      }
    }
    async function runScriptsIfPresent(opts, scriptNames, manifest) {
      for (const scriptName of scriptNames) {
        if (!manifest.scripts?.[scriptName])
          continue;
        await (0, lifecycle_1.runLifecycleHook)(scriptName, manifest, opts);
      }
    }
  }
});

// ../releasing/plugin-commands-publishing/lib/pack.js
var require_pack3 = __commonJS({
  "../releasing/plugin-commands-publishing/lib/pack.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.api = api;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var zlib_1 = require("zlib");
    var error_1 = require_lib6();
    var config_1 = require_lib19();
    var cli_utils_1 = require_lib33();
    var exportable_manifest_1 = require_lib180();
    var fs_packlist_1 = require_lib74();
    var package_bins_1 = require_lib48();
    var tinyglobby_1 = require_dist8();
    var pick_1 = __importDefault2(require_pick());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var render_help_1 = __importDefault2(require_lib47());
    var tar_stream_1 = __importDefault2(require_tar_stream());
    var publish_1 = require_publish2();
    var chalk_1 = __importDefault2(require_source());
    var validate_npm_package_name_1 = __importDefault2(require_lib21());
    var LICENSE_GLOB = "LICEN{S,C}E{,.*}";
    function rcOptionsTypes() {
      return {
        ...cliOptionsTypes(),
        ...(0, pick_1.default)([
          "npm-path"
        ], config_1.types)
      };
    }
    function cliOptionsTypes() {
      return {
        "pack-destination": String,
        out: String,
        ...(0, pick_1.default)([
          "pack-gzip-level",
          "json"
        ], config_1.types)
      };
    }
    exports2.commandNames = ["pack"];
    function help() {
      return (0, render_help_1.default)({
        description: "Create a tarball from a package",
        usages: ["pnpm pack"],
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Directory in which `pnpm pack` will save tarballs. The default is the current working directory.",
                name: "--pack-destination <dir>"
              },
              {
                description: "Prints the packed tarball and contents in the json format.",
                name: "--json"
              },
              {
                description: "Customizes the output path for the tarball. Use `%s` and `%v` to include the package name and version, e.g., `%s.tgz` or `some-dir/%s-%v.tgz`. By default, the tarball is saved in the current working directory with the name `<package-name>-<version>.tgz`.",
                name: "--out <path>"
              }
            ]
          }
        ]
      });
    }
    async function handler(opts) {
      const { publishedManifest, tarballPath, contents } = await api(opts);
      if (opts.json) {
        return JSON.stringify({
          name: publishedManifest.name,
          version: publishedManifest.version,
          filename: tarballPath,
          files: contents.map((path2) => ({ path: path2 }))
        }, null, 2);
      }
      return `${chalk_1.default.blueBright("Tarball Contents")}
${contents.join("\n")}

${chalk_1.default.blueBright("Tarball Details")}
${tarballPath}`;
    }
    async function api(opts) {
      const { manifest: entryManifest, fileName: manifestFileName } = await (0, cli_utils_1.readProjectManifest)(opts.dir, opts);
      preventBundledDependenciesWithoutHoistedNodeLinker(opts.nodeLinker, entryManifest);
      const _runScriptsIfPresent = publish_1.runScriptsIfPresent.bind(null, {
        depPath: opts.dir,
        extraBinPaths: opts.extraBinPaths,
        extraEnv: opts.extraEnv,
        pkgRoot: opts.dir,
        rawConfig: opts.rawConfig,
        rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(opts.dir, "node_modules")),
        stdio: "inherit",
        unsafePerm: true
        // when running scripts explicitly, assume that they're trusted.
      });
      if (!opts.ignoreScripts) {
        await _runScriptsIfPresent([
          "prepack",
          "prepare"
        ], entryManifest);
      }
      const dir = entryManifest.publishConfig?.directory ? path_1.default.join(opts.dir, entryManifest.publishConfig.directory) : opts.dir;
      const { manifest } = await (0, cli_utils_1.readProjectManifest)(dir, opts);
      preventBundledDependenciesWithoutHoistedNodeLinker(opts.nodeLinker, manifest);
      if (!manifest.name) {
        throw new error_1.PnpmError("PACKAGE_NAME_NOT_FOUND", `Package name is not defined in the ${manifestFileName}.`);
      }
      if (!(0, validate_npm_package_name_1.default)(manifest.name).validForOldPackages) {
        throw new error_1.PnpmError("INVALID_PACKAGE_NAME", `Invalid package name "${manifest.name}".`);
      }
      if (!manifest.version) {
        throw new error_1.PnpmError("PACKAGE_VERSION_NOT_FOUND", `Package version is not defined in the ${manifestFileName}.`);
      }
      let tarballName;
      let packDestination;
      const normalizedName = manifest.name.replace("@", "").replace("/", "-");
      if (opts.out) {
        if (opts.packDestination) {
          throw new error_1.PnpmError("INVALID_OPTION", "Cannot use --pack-destination and --out together");
        }
        const preparedOut = opts.out.replaceAll("%s", normalizedName).replaceAll("%v", manifest.version);
        const parsedOut = path_1.default.parse(preparedOut);
        packDestination = parsedOut.dir ? parsedOut.dir : opts.packDestination;
        tarballName = parsedOut.base;
      } else {
        tarballName = `${normalizedName}-${manifest.version}.tgz`;
        packDestination = opts.packDestination;
      }
      const publishManifest = await createPublishManifest({
        projectDir: dir,
        modulesDir: path_1.default.join(opts.dir, "node_modules"),
        manifest,
        embedReadme: opts.embedReadme,
        catalogs: opts.catalogs ?? {}
      });
      const files = await (0, fs_packlist_1.packlist)(dir, {
        packageJsonCache: {
          [path_1.default.join(dir, "package.json")]: publishManifest
        }
      });
      const filesMap = Object.fromEntries(files.map((file) => [`package/${file}`, path_1.default.join(dir, file)]));
      if (opts.workspaceDir != null && dir !== opts.workspaceDir && !files.some((file) => /LICEN[CS]E(?:\..+)?/i.test(file))) {
        const licenses = await (0, tinyglobby_1.glob)([LICENSE_GLOB], { cwd: opts.workspaceDir, expandDirectories: false });
        for (const license of licenses) {
          filesMap[`package/${license}`] = path_1.default.join(opts.workspaceDir, license);
        }
      }
      const destDir = packDestination ? path_1.default.isAbsolute(packDestination) ? packDestination : path_1.default.join(dir, packDestination ?? ".") : dir;
      await fs_1.default.promises.mkdir(destDir, { recursive: true });
      await packPkg({
        destFile: path_1.default.join(destDir, tarballName),
        filesMap,
        modulesDir: path_1.default.join(opts.dir, "node_modules"),
        packGzipLevel: opts.packGzipLevel,
        manifest: publishManifest,
        bins: [
          ...(await (0, package_bins_1.getBinsFromPackageManifest)(publishManifest, dir)).map(({ path: path2 }) => path2),
          ...(manifest.publishConfig?.executableFiles ?? []).map((executableFile) => path_1.default.join(dir, executableFile))
        ]
      });
      if (!opts.ignoreScripts) {
        await _runScriptsIfPresent(["postpack"], entryManifest);
      }
      let packedTarballPath;
      if (opts.dir !== destDir) {
        packedTarballPath = path_1.default.join(destDir, tarballName);
      } else {
        packedTarballPath = path_1.default.relative(opts.dir, path_1.default.join(dir, tarballName));
      }
      const packedContents = files.sort((a, b) => a.localeCompare(b, "en"));
      return {
        publishedManifest: publishManifest,
        contents: packedContents,
        tarballPath: packedTarballPath
      };
    }
    function preventBundledDependenciesWithoutHoistedNodeLinker(nodeLinker, manifest) {
      if (nodeLinker === "hoisted")
        return;
      for (const key of ["bundledDependencies", "bundleDependencies"]) {
        const bundledDependencies = manifest[key];
        if (bundledDependencies) {
          throw new error_1.PnpmError("BUNDLED_DEPENDENCIES_WITHOUT_HOISTED", `${key} does not work with node-linker=${nodeLinker}`, {
            hint: `Add node-linker=hoisted to .npmrc or delete ${key} from the root package.json to resolve this error`
          });
        }
      }
    }
    async function readReadmeFile(projectDir) {
      const files = await fs_1.default.promises.readdir(projectDir);
      const readmePath = files.find((name) => /readme\.md$/i.test(name));
      const readmeFile = readmePath ? await fs_1.default.promises.readFile(path_1.default.join(projectDir, readmePath), "utf8") : void 0;
      return readmeFile;
    }
    async function packPkg(opts) {
      const { destFile, filesMap, bins, manifest } = opts;
      const mtime = /* @__PURE__ */ new Date("1985-10-26T08:15:00.000Z");
      const pack = tar_stream_1.default.pack();
      await Promise.all(Object.entries(filesMap).map(async ([name, source]) => {
        const isExecutable = bins.some((bin) => path_1.default.relative(bin, source) === "");
        const mode = isExecutable ? 493 : 420;
        if (/^package\/package\.(?:json|json5|yaml)$/.test(name)) {
          pack.entry({ mode, mtime, name: "package/package.json" }, JSON.stringify(manifest, null, 2));
          return;
        }
        pack.entry({ mode, mtime, name }, fs_1.default.readFileSync(source));
      }));
      const tarball = fs_1.default.createWriteStream(destFile);
      pack.pipe((0, zlib_1.createGzip)({ level: opts.packGzipLevel })).pipe(tarball);
      pack.finalize();
      return new Promise((resolve, reject) => {
        tarball.on("close", () => {
          resolve();
        }).on("error", reject);
      });
    }
    async function createPublishManifest(opts) {
      const { projectDir, embedReadme, modulesDir, manifest, catalogs } = opts;
      const readmeFile = embedReadme ? await readReadmeFile(projectDir) : void 0;
      return (0, exportable_manifest_1.createExportableManifest)(projectDir, manifest, {
        catalogs,
        readmeFile,
        modulesDir
      });
    }
  }
});

// ../releasing/plugin-commands-publishing/lib/index.js
var require_lib181 = __commonJS({
  "../releasing/plugin-commands-publishing/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.publish = exports2.pack = void 0;
    var pack = __importStar3(require_pack3());
    exports2.pack = pack;
    var publish = __importStar3(require_publish2());
    exports2.publish = publish;
  }
});

// ../node_modules/.pnpm/ansi-escapes@4.3.2/node_modules/ansi-escapes/index.js
var require_ansi_escapes = __commonJS({
  "../node_modules/.pnpm/ansi-escapes@4.3.2/node_modules/ansi-escapes/index.js"(exports2, module2) {
    "use strict";
    var ansiEscapes = module2.exports;
    module2.exports.default = ansiEscapes;
    var ESC = "\x1B[";
    var OSC = "\x1B]";
    var BEL = "\x07";
    var SEP = ";";
    var isTerminalApp = process.env.TERM_PROGRAM === "Apple_Terminal";
    ansiEscapes.cursorTo = (x, y) => {
      if (typeof x !== "number") {
        throw new TypeError("The `x` argument is required");
      }
      if (typeof y !== "number") {
        return ESC + (x + 1) + "G";
      }
      return ESC + (y + 1) + ";" + (x + 1) + "H";
    };
    ansiEscapes.cursorMove = (x, y) => {
      if (typeof x !== "number") {
        throw new TypeError("The `x` argument is required");
      }
      let ret2 = "";
      if (x < 0) {
        ret2 += ESC + -x + "D";
      } else if (x > 0) {
        ret2 += ESC + x + "C";
      }
      if (y < 0) {
        ret2 += ESC + -y + "A";
      } else if (y > 0) {
        ret2 += ESC + y + "B";
      }
      return ret2;
    };
    ansiEscapes.cursorUp = (count = 1) => ESC + count + "A";
    ansiEscapes.cursorDown = (count = 1) => ESC + count + "B";
    ansiEscapes.cursorForward = (count = 1) => ESC + count + "C";
    ansiEscapes.cursorBackward = (count = 1) => ESC + count + "D";
    ansiEscapes.cursorLeft = ESC + "G";
    ansiEscapes.cursorSavePosition = isTerminalApp ? "\x1B7" : ESC + "s";
    ansiEscapes.cursorRestorePosition = isTerminalApp ? "\x1B8" : ESC + "u";
    ansiEscapes.cursorGetPosition = ESC + "6n";
    ansiEscapes.cursorNextLine = ESC + "E";
    ansiEscapes.cursorPrevLine = ESC + "F";
    ansiEscapes.cursorHide = ESC + "?25l";
    ansiEscapes.cursorShow = ESC + "?25h";
    ansiEscapes.eraseLines = (count) => {
      let clear = "";
      for (let i = 0; i < count; i++) {
        clear += ansiEscapes.eraseLine + (i < count - 1 ? ansiEscapes.cursorUp() : "");
      }
      if (count) {
        clear += ansiEscapes.cursorLeft;
      }
      return clear;
    };
    ansiEscapes.eraseEndLine = ESC + "K";
    ansiEscapes.eraseStartLine = ESC + "1K";
    ansiEscapes.eraseLine = ESC + "2K";
    ansiEscapes.eraseDown = ESC + "J";
    ansiEscapes.eraseUp = ESC + "1J";
    ansiEscapes.eraseScreen = ESC + "2J";
    ansiEscapes.scrollUp = ESC + "S";
    ansiEscapes.scrollDown = ESC + "T";
    ansiEscapes.clearScreen = "\x1Bc";
    ansiEscapes.clearTerminal = process.platform === "win32" ? `${ansiEscapes.eraseScreen}${ESC}0f` : (
      // 1. Erases the screen (Only done in case `2` is not supported)
      // 2. Erases the whole screen including scrollback buffer
      // 3. Moves cursor to the top-left position
      // More info: https://www.real-world-systems.com/docs/ANSIcode.html
      `${ansiEscapes.eraseScreen}${ESC}3J${ESC}H`
    );
    ansiEscapes.beep = BEL;
    ansiEscapes.link = (text, url) => {
      return [
        OSC,
        "8",
        SEP,
        SEP,
        url,
        BEL,
        text,
        OSC,
        "8",
        SEP,
        SEP,
        BEL
      ].join("");
    };
    ansiEscapes.image = (buffer, options = {}) => {
      let ret2 = `${OSC}1337;File=inline=1`;
      if (options.width) {
        ret2 += `;width=${options.width}`;
      }
      if (options.height) {
        ret2 += `;height=${options.height}`;
      }
      if (options.preserveAspectRatio === false) {
        ret2 += ";preserveAspectRatio=0";
      }
      return ret2 + ":" + buffer.toString("base64") + BEL;
    };
    ansiEscapes.iTerm = {
      setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,
      annotation: (message, options = {}) => {
        let ret2 = `${OSC}1337;`;
        const hasX = typeof options.x !== "undefined";
        const hasY = typeof options.y !== "undefined";
        if ((hasX || hasY) && !(hasX && hasY && typeof options.length !== "undefined")) {
          throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");
        }
        message = message.replace(/\|/g, "");
        ret2 += options.isHidden ? "AddHiddenAnnotation=" : "AddAnnotation=";
        if (options.length > 0) {
          ret2 += (hasX ? [message, options.length, options.x, options.y] : [options.length, message]).join("|");
        } else {
          ret2 += message;
        }
        return ret2 + BEL;
      }
    };
  }
});

// ../node_modules/.pnpm/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js
var require_supports_hyperlinks = __commonJS({
  "../node_modules/.pnpm/supports-hyperlinks@2.3.0/node_modules/supports-hyperlinks/index.js"(exports2, module2) {
    "use strict";
    var supportsColor = require_supports_color();
    var hasFlag = require_has_flag();
    function parseVersion(versionString) {
      if (/^\d{3,4}$/.test(versionString)) {
        const m = /(\d{1,2})(\d{2})/.exec(versionString);
        return {
          major: 0,
          minor: parseInt(m[1], 10),
          patch: parseInt(m[2], 10)
        };
      }
      const versions = (versionString || "").split(".").map((n) => parseInt(n, 10));
      return {
        major: versions[0],
        minor: versions[1],
        patch: versions[2]
      };
    }
    function supportsHyperlink(stream) {
      const { env } = process;
      if ("FORCE_HYPERLINK" in env) {
        return !(env.FORCE_HYPERLINK.length > 0 && parseInt(env.FORCE_HYPERLINK, 10) === 0);
      }
      if (hasFlag("no-hyperlink") || hasFlag("no-hyperlinks") || hasFlag("hyperlink=false") || hasFlag("hyperlink=never")) {
        return false;
      }
      if (hasFlag("hyperlink=true") || hasFlag("hyperlink=always")) {
        return true;
      }
      if ("NETLIFY" in env) {
        return true;
      }
      if (!supportsColor.supportsColor(stream)) {
        return false;
      }
      if (stream && !stream.isTTY) {
        return false;
      }
      if (process.platform === "win32") {
        return false;
      }
      if ("CI" in env) {
        return false;
      }
      if ("TEAMCITY_VERSION" in env) {
        return false;
      }
      if ("TERM_PROGRAM" in env) {
        const version2 = parseVersion(env.TERM_PROGRAM_VERSION);
        switch (env.TERM_PROGRAM) {
          case "iTerm.app":
            if (version2.major === 3) {
              return version2.minor >= 1;
            }
            return version2.major > 3;
          case "WezTerm":
            return version2.major >= 20200620;
          case "vscode":
            return version2.major > 1 || version2.major === 1 && version2.minor >= 72;
        }
      }
      if ("VTE_VERSION" in env) {
        if (env.VTE_VERSION === "0.50.0") {
          return false;
        }
        const version2 = parseVersion(env.VTE_VERSION);
        return version2.major > 0 || version2.minor >= 50;
      }
      return false;
    }
    module2.exports = {
      supportsHyperlink,
      stdout: supportsHyperlink(process.stdout),
      stderr: supportsHyperlink(process.stderr)
    };
  }
});

// ../node_modules/.pnpm/terminal-link@2.1.1/node_modules/terminal-link/index.js
var require_terminal_link = __commonJS({
  "../node_modules/.pnpm/terminal-link@2.1.1/node_modules/terminal-link/index.js"(exports2, module2) {
    "use strict";
    var ansiEscapes = require_ansi_escapes();
    var supportsHyperlinks = require_supports_hyperlinks();
    var terminalLink = (text, url, { target = "stdout", ...options } = {}) => {
      if (!supportsHyperlinks[target]) {
        if (options.fallback === false) {
          return text;
        }
        return typeof options.fallback === "function" ? options.fallback(text, url) : `${text} (\u200B${url}\u200B)`;
      }
      return ansiEscapes.link(text, url);
    };
    module2.exports = (text, url, options = {}) => terminalLink(text, url, options);
    module2.exports.stderr = (text, url, options = {}) => terminalLink(text, url, { target: "stderr", ...options });
    module2.exports.isSupported = supportsHyperlinks.stdout;
    module2.exports.stderr.isSupported = supportsHyperlinks.stderr;
  }
});

// ../patching/plugin-commands-patching/lib/writePackage.js
var require_writePackage = __commonJS({
  "../patching/plugin-commands-patching/lib/writePackage.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.writePackage = writePackage;
    var store_connection_manager_1 = require_lib106();
    var pick_registry_for_package_1 = require_lib91();
    async function writePackage(dep, dest, opts) {
      const store = await (0, store_connection_manager_1.createOrConnectStoreController)({
        ...opts,
        packageImportMethod: "clone-or-copy"
      });
      const pkgResponse = await store.ctrl.requestPackage(dep, {
        downloadPriority: 1,
        lockfileDir: opts.dir,
        preferredVersions: {},
        projectDir: opts.dir,
        registry: (dep.alias && (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, dep.alias)) ?? opts.registries.default
      });
      const { files } = await pkgResponse.fetching();
      await store.ctrl.importPackage(dest, {
        filesResponse: files,
        force: true
      });
    }
  }
});

// ../patching/plugin-commands-patching/lib/getEditDirPath.js
var require_getEditDirPath = __commonJS({
  "../patching/plugin-commands-patching/lib/getEditDirPath.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getEditDirPath = getEditDirPath;
    var path_1 = __importDefault2(require("path"));
    function getEditDirPath(param, patchedDep, opts) {
      const editDirName = getEditDirNameFromParsedDep(patchedDep) ?? param;
      return path_1.default.join(opts.modulesDir, ".pnpm_patches", editDirName);
    }
    function getEditDirNameFromParsedDep(patchedDep) {
      if (patchedDep.alias && patchedDep.pref) {
        const pref = patchedDep.pref.replace(/[\\/:*?"<>|]+/g, "+");
        return `${patchedDep.alias}@${pref}`;
      }
      if (patchedDep.alias) {
        return patchedDep.alias;
      }
      return void 0;
    }
  }
});

// ../patching/plugin-commands-patching/lib/getPatchedDependency.js
var require_getPatchedDependency = __commonJS({
  "../patching/plugin-commands-patching/lib/getPatchedDependency.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getPatchedDependency = getPatchedDependency;
    exports2.getVersionsFromLockfile = getVersionsFromLockfile;
    var path_1 = __importDefault2(require("path"));
    var parse_wanted_dependency_1 = require_lib22();
    var enquirer_1 = require_enquirer();
    var lockfile_fs_1 = require_lib112();
    var lockfile_utils_1 = require_lib117();
    var error_1 = require_lib6();
    var modules_yaml_1 = require_lib95();
    var pick_fetcher_1 = require_lib56();
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var semver_12 = __importDefault2(require_semver2());
    async function getPatchedDependency(rawDependency, opts) {
      const dep = (0, parse_wanted_dependency_1.parseWantedDependency)(rawDependency);
      const { versions, preferredVersions } = await getVersionsFromLockfile(dep, opts);
      if (!preferredVersions.length) {
        throw new error_1.PnpmError("PATCH_VERSION_NOT_FOUND", `Can not find ${rawDependency} in project ${opts.lockfileDir}, ${versions.length ? `you can specify currently installed version: ${versions.map(({ version: version2 }) => version2).join(", ")}.` : `did you forget to install ${rawDependency}?`}`);
      }
      dep.alias = dep.alias ?? rawDependency;
      if (preferredVersions.length > 1) {
        const { version: version2, applyToAll } = await (0, enquirer_1.prompt)([{
          type: "select",
          name: "version",
          message: "Choose which version to patch",
          choices: preferredVersions.map((preferred) => ({
            name: preferred.version,
            message: preferred.version,
            value: preferred.gitTarballUrl ?? preferred.version,
            hint: preferred.gitTarballUrl ? "Git Hosted" : void 0
          })),
          result(selected) {
            const selectedVersion = preferredVersions.find((preferred) => preferred.version === selected);
            return selectedVersion.gitTarballUrl ?? selected;
          }
        }, {
          type: "confirm",
          name: "applyToAll",
          message: "Apply this patch to all versions?"
        }]);
        return {
          ...dep,
          applyToAll,
          pref: version2
        };
      } else {
        const preferred = preferredVersions[0];
        return {
          ...dep,
          applyToAll: !dep.pref,
          pref: preferred.gitTarballUrl ?? preferred.version
        };
      }
    }
    async function getVersionsFromLockfile(dep, opts) {
      const modulesDir = await (0, realpath_missing_1.default)(path_1.default.join(opts.lockfileDir, opts.modulesDir ?? "node_modules"));
      const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
      const lockfile = (modules?.virtualStoreDir && await (0, lockfile_fs_1.readCurrentLockfile)(modules.virtualStoreDir, {
        ignoreIncompatible: true
      })) ?? null;
      if (!lockfile) {
        throw new error_1.PnpmError("PATCH_NO_LOCKFILE", "The modules directory is not ready for patching", {
          hint: "Run pnpm install first"
        });
      }
      const pkgName = dep.alias && dep.pref ? dep.alias : dep.pref ?? dep.alias;
      const versions = Object.entries(lockfile.packages ?? {}).map(([depPath, pkgSnapshot]) => {
        const tarball = pkgSnapshot.resolution?.tarball ?? "";
        return {
          ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot),
          gitTarballUrl: (0, pick_fetcher_1.isGitHostedPkgUrl)(tarball) ? tarball : void 0
        };
      }).filter(({ name }) => name === pkgName);
      return {
        versions,
        preferredVersions: versions.filter(({ version: version2 }) => dep.alias && dep.pref ? semver_12.default.satisfies(version2, dep.pref) : true)
      };
    }
  }
});

// ../patching/plugin-commands-patching/lib/stateFile.js
var require_stateFile = __commonJS({
  "../patching/plugin-commands-patching/lib/stateFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.readEditDirState = readEditDirState;
    exports2.writeEditDirState = writeEditDirState;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var createEditDirKey = (opts) => opts.editDir;
    function readEditDirState(opts) {
      const state = readStateFile(opts.modulesDir);
      if (!state)
        return void 0;
      const key = createEditDirKey(opts);
      return state[key];
    }
    function writeEditDirState(opts) {
      modifyStateFile(opts.modulesDir, (state) => {
        const key = createEditDirKey(opts);
        state[key] = {
          patchedPkg: opts.patchedPkg,
          applyToAll: opts.applyToAll
        };
      });
    }
    function modifyStateFile(modulesDir, modifyState) {
      const filePath = getStateFilePath(modulesDir);
      let state = readStateFile(modulesDir);
      if (!state) {
        state = {};
        fs_1.default.mkdirSync(path_1.default.dirname(filePath), { recursive: true });
      }
      modifyState(state);
      fs_1.default.writeFileSync(filePath, JSON.stringify(state, void 0, 2));
    }
    function readStateFile(modulesDir) {
      let fileContent;
      try {
        fileContent = fs_1.default.readFileSync(getStateFilePath(modulesDir), "utf-8");
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return void 0;
        }
        throw err;
      }
      return JSON.parse(fileContent);
    }
    function getStateFilePath(modulesDir) {
      return path_1.default.join(modulesDir, ".pnpm_patches", "state.json");
    }
  }
});

// ../patching/plugin-commands-patching/lib/patch.js
var require_patch2 = __commonJS({
  "../patching/plugin-commands-patching/lib/patch.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var patching_apply_patch_1 = require_lib142();
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var chalk_1 = __importDefault2(require_source());
    var terminal_link_1 = __importDefault2(require_terminal_link());
    var error_1 = require_lib6();
    var writePackage_1 = require_writePackage();
    var getEditDirPath_1 = require_getEditDirPath();
    var getPatchedDependency_1 = require_getPatchedDependency();
    var stateFile_1 = require_stateFile();
    var read_project_manifest_1 = require_lib13();
    var is_windows_1 = __importDefault2(require_is_windows());
    function rcOptionsTypes() {
      return (0, pick_1.default)([], config_1.types);
    }
    function cliOptionsTypes() {
      return { ...rcOptionsTypes(), "edit-dir": String, "ignore-existing": Boolean };
    }
    exports2.shorthands = {
      d: "--edit-dir"
    };
    exports2.commandNames = ["patch"];
    function help() {
      return (0, render_help_1.default)({
        description: "Prepare a package for patching",
        descriptionLists: [{
          title: "Options",
          list: [
            {
              description: "The package that needs to be modified will be extracted to this directory",
              name: "--edit-dir"
            },
            {
              description: "Ignore existing patch files when patching",
              name: "--ignore-existing"
            }
          ]
        }],
        url: (0, cli_utils_1.docsUrl)("patch"),
        usages: ["pnpm patch <pkg name>@<version>"]
      });
    }
    async function handler(opts, params) {
      if (opts.editDir && fs_1.default.existsSync(opts.editDir) && fs_1.default.readdirSync(opts.editDir).length > 0) {
        throw new error_1.PnpmError("PATCH_EDIT_DIR_EXISTS", `The target directory already exists: '${opts.editDir}'`);
      }
      if (!params[0]) {
        throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "`pnpm patch` requires the package name");
      }
      const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd();
      const patchedDep = await (0, getPatchedDependency_1.getPatchedDependency)(params[0], {
        lockfileDir,
        modulesDir: opts.modulesDir,
        virtualStoreDir: opts.virtualStoreDir
      });
      const modulesDir = path_1.default.join(lockfileDir, opts.modulesDir ?? "node_modules");
      const editDir = opts.editDir ? path_1.default.resolve(opts.dir, opts.editDir) : (0, getEditDirPath_1.getEditDirPath)(params[0], patchedDep, { modulesDir });
      if (fs_1.default.existsSync(editDir) && fs_1.default.readdirSync(editDir).length !== 0) {
        throw new error_1.PnpmError("EDIT_DIR_NOT_EMPTY", `The directory ${editDir} is not empty`, {
          hint: "Either run `pnpm patch-commit` to commit or delete it then run `pnpm patch` to recreate it"
        });
      }
      await (0, writePackage_1.writePackage)(patchedDep, editDir, opts);
      (0, stateFile_1.writeEditDirState)({
        editDir,
        modulesDir: path_1.default.join(opts.dir, opts.modulesDir ?? "node_modules"),
        patchedPkg: params[0],
        applyToAll: patchedDep.applyToAll
      });
      if (!opts.ignoreExisting) {
        let rootProjectManifest = opts.rootProjectManifest;
        if (!opts.sharedWorkspaceLockfile) {
          const { manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(lockfileDir);
          if (manifest) {
            rootProjectManifest = manifest;
          }
        }
        if (rootProjectManifest?.pnpm?.patchedDependencies) {
          tryPatchWithExistingPatchFile({
            allowFailure: patchedDep.applyToAll,
            patchedDep,
            patchedDir: editDir,
            patchedDependencies: rootProjectManifest.pnpm.patchedDependencies,
            lockfileDir
          });
        }
      }
      const quote = (0, is_windows_1.default)() ? '"' : "'";
      return `Patch: You can now edit the package at:

  ${(0, terminal_link_1.default)(chalk_1.default.blue(editDir), "file://" + editDir, { fallback: false })}

To commit your changes, run:

  ${chalk_1.default.green(`pnpm patch-commit ${quote}${editDir}${quote}`)}

`;
    }
    function tryPatchWithExistingPatchFile({ allowFailure, patchedDep: { applyToAll, alias, pref }, patchedDir, patchedDependencies, lockfileDir }) {
      if (!alias)
        return;
      let existingPatchFile;
      if (pref) {
        existingPatchFile = patchedDependencies[`${alias}@${pref}`];
      }
      if (!existingPatchFile && applyToAll) {
        existingPatchFile = patchedDependencies[alias];
      }
      if (!existingPatchFile) {
        return;
      }
      const existingPatchFilePath = path_1.default.resolve(lockfileDir, existingPatchFile);
      if (!fs_1.default.existsSync(existingPatchFilePath)) {
        throw new error_1.PnpmError("PATCH_FILE_NOT_FOUND", `Unable to find patch file ${existingPatchFilePath}`);
      }
      (0, patching_apply_patch_1.applyPatchToDir)({ patchedDir, patchFilePath: existingPatchFilePath, allowFailure });
    }
  }
});

// ../patching/plugin-commands-patching/lib/patchCommit.js
var require_patchCommit = __commonJS({
  "../patching/plugin-commands-patching/lib/patchCommit.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var crypto_hash_1 = require_lib40();
    var error_1 = require_lib6();
    var fs_packlist_1 = require_lib74();
    var logger_1 = require_lib();
    var plugin_commands_installation_1 = require_lib171();
    var read_package_json_1 = require_lib50();
    var read_project_manifest_1 = require_lib13();
    var store_path_1 = require_lib81();
    var tinyglobby_1 = require_dist8();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var pick_1 = __importDefault2(require_pick());
    var equals_1 = __importDefault2(require_equals2());
    var safe_execa_1 = __importDefault2(require_lib83());
    var escape_string_regexp_1 = __importDefault2(require_escape_string_regexp());
    var make_empty_dir_1 = __importDefault2(require_make_empty_dir());
    var render_help_1 = __importDefault2(require_lib47());
    var writePackage_1 = require_writePackage();
    var parse_wanted_dependency_1 = require_lib22();
    var getPatchedDependency_1 = require_getPatchedDependency();
    var stateFile_1 = require_stateFile();
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)(["patches-dir"], config_1.types);
    }
    exports2.commandNames = ["patch-commit"];
    function help() {
      return (0, render_help_1.default)({
        description: "Generate a patch out of a directory",
        descriptionLists: [{
          title: "Options",
          list: [
            {
              description: "The generated patch file will be saved to this directory",
              name: "--patches-dir"
            }
          ]
        }],
        url: (0, cli_utils_1.docsUrl)("patch-commit"),
        usages: ["pnpm patch-commit <patchDir>"]
      });
    }
    async function handler(opts, params) {
      const userDir = params[0];
      const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd();
      const patchesDirName = (0, normalize_path_1.default)(path_1.default.normalize(opts.patchesDir ?? "patches"));
      const patchesDir = path_1.default.join(lockfileDir, patchesDirName);
      const patchedPkgManifest = await (0, read_package_json_1.readPackageJsonFromDir)(userDir);
      const editDir = path_1.default.resolve(opts.dir, userDir);
      const stateValue = (0, stateFile_1.readEditDirState)({
        editDir,
        modulesDir: path_1.default.join(opts.dir, opts.modulesDir ?? "node_modules")
      });
      if (!stateValue) {
        throw new error_1.PnpmError("INVALID_PATCH_DIR", `${userDir} is not a valid patch directory`, {
          hint: "A valid patch directory should be created by `pnpm patch`"
        });
      }
      const { applyToAll } = stateValue;
      const nameAndVersion = `${patchedPkgManifest.name}@${patchedPkgManifest.version}`;
      const patchKey = applyToAll ? patchedPkgManifest.name : nameAndVersion;
      let gitTarballUrl;
      if (!applyToAll) {
        gitTarballUrl = await getGitTarballUrlFromLockfile({
          alias: patchedPkgManifest.name,
          pref: patchedPkgManifest.version
        }, {
          lockfileDir,
          modulesDir: opts.modulesDir,
          virtualStoreDir: opts.virtualStoreDir
        });
      }
      const patchedPkg = (0, parse_wanted_dependency_1.parseWantedDependency)(gitTarballUrl ? `${patchedPkgManifest.name}@${gitTarballUrl}` : nameAndVersion);
      const patchedPkgDir = await preparePkgFilesForDiff(userDir);
      const patchContent = await getPatchContent({
        patchedPkg,
        patchedPkgDir,
        tmpName: (0, crypto_hash_1.createShortHash)(editDir)
      }, opts);
      if (patchedPkgDir !== userDir) {
        fs_1.default.rmSync(patchedPkgDir, { recursive: true });
      }
      if (!patchContent.length) {
        return `No changes were found to the following directory: ${userDir}`;
      }
      await fs_1.default.promises.mkdir(patchesDir, { recursive: true });
      const patchFileName = patchKey.replace("/", "__");
      await fs_1.default.promises.writeFile(path_1.default.join(patchesDir, `${patchFileName}.patch`), patchContent, "utf8");
      const { writeProjectManifest, manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(lockfileDir);
      const rootProjectManifest = (!opts.sharedWorkspaceLockfile ? manifest : opts.rootProjectManifest ?? manifest) ?? {};
      if (!rootProjectManifest.pnpm) {
        rootProjectManifest.pnpm = {
          patchedDependencies: {}
        };
      } else if (!rootProjectManifest.pnpm.patchedDependencies) {
        rootProjectManifest.pnpm.patchedDependencies = {};
      }
      rootProjectManifest.pnpm.patchedDependencies[patchKey] = `${patchesDirName}/${patchFileName}.patch`;
      await writeProjectManifest(rootProjectManifest);
      if (opts?.selectedProjectsGraph?.[lockfileDir]) {
        opts.selectedProjectsGraph[lockfileDir].package.manifest = rootProjectManifest;
      }
      if (opts?.allProjectsGraph?.[lockfileDir].package.manifest) {
        opts.allProjectsGraph[lockfileDir].package.manifest = rootProjectManifest;
      }
      return plugin_commands_installation_1.install.handler({
        ...opts,
        patchedDependencies: rootProjectManifest.pnpm.patchedDependencies,
        rootProjectManifest,
        rawLocalConfig: {
          ...opts.rawLocalConfig,
          "frozen-lockfile": false
        }
      });
    }
    async function getPatchContent(ctx, opts) {
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const srcDir = path_1.default.join(storeDir, "tmp", "patch-commit", ctx.tmpName);
      await (0, writePackage_1.writePackage)(ctx.patchedPkg, srcDir, opts);
      const patchContent = await diffFolders(srcDir, ctx.patchedPkgDir);
      try {
        fs_1.default.rmSync(srcDir, { recursive: true });
      } catch (error) {
        (0, logger_1.globalWarn)(`Failed to clean up temporary directory at ${srcDir} with error: ${String(error)}`);
      }
      return patchContent;
    }
    async function diffFolders(folderA, folderB) {
      const folderAN = folderA.replace(/\\/g, "/");
      const folderBN = folderB.replace(/\\/g, "/");
      let stdout;
      let stderr;
      try {
        const result2 = await (0, safe_execa_1.default)("git", ["-c", "core.safecrlf=false", "diff", "--src-prefix=a/", "--dst-prefix=b/", "--ignore-cr-at-eol", "--irreversible-delete", "--full-index", "--no-index", "--text", "--no-ext-diff", folderAN, folderBN], {
          cwd: process.cwd(),
          env: {
            ...process.env,
            // #region Predictable output
            // These variables aim to ignore the global git config so we get predictable output
            // https://git-scm.com/docs/git#Documentation/git.txt-codeGITCONFIGNOSYSTEMcode
            GIT_CONFIG_NOSYSTEM: "1",
            HOME: "",
            XDG_CONFIG_HOME: "",
            USERPROFILE: ""
            // #endregion
          },
          stripFinalNewline: false
        });
        stdout = result2.stdout;
        stderr = result2.stderr;
      } catch (err) {
        stdout = err.stdout;
        stderr = err.stderr;
      }
      if (stderr.length > 0)
        throw new Error(`Unable to diff directories. Make sure you have a recent version of 'git' available in PATH.
The following error was reported by 'git':
${stderr}`);
      return stdout.replace(new RegExp(`(a|b)(${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderAN)}/`)})`, "g"), "$1/").replace(new RegExp(`(a|b)${(0, escape_string_regexp_1.default)(`/${removeTrailingAndLeadingSlash(folderBN)}/`)}`, "g"), "$1/").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderAN}/`), "g"), "").replace(new RegExp((0, escape_string_regexp_1.default)(`${folderBN}/`), "g"), "").replace(/\n\\ No newline at end of file\n$/, "\n").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]+?(?=^diff --git)/gm, "").replace(/^diff --git a\/.*\.DS_Store b\/.*\.DS_Store[\s\S]*$/gm, "");
    }
    function removeTrailingAndLeadingSlash(p) {
      if (p[0] === "/" || p.endsWith("/")) {
        return p.replace(/^\/|\/$/g, "");
      }
      return p;
    }
    async function preparePkgFilesForDiff(src) {
      const files = Array.from(new Set((await (0, fs_packlist_1.packlist)(src)).map((f) => path_1.default.join(f))));
      if (await areAllFilesInPkg(files, src)) {
        return src;
      }
      const dest = `${src}_tmp`;
      await (0, make_empty_dir_1.default)(dest);
      await Promise.all(files.map(async (file) => {
        const srcFile = path_1.default.join(src, file);
        const destFile = path_1.default.join(dest, file);
        const destDir = path_1.default.dirname(destFile);
        await fs_1.default.promises.mkdir(destDir, { recursive: true });
        await fs_1.default.promises.link(srcFile, destFile);
      }));
      return dest;
    }
    async function areAllFilesInPkg(files, basePath) {
      const allFiles = await (0, tinyglobby_1.glob)("**", {
        cwd: basePath,
        expandDirectories: false
      });
      return (0, equals_1.default)(allFiles.sort(), files.sort());
    }
    async function getGitTarballUrlFromLockfile(dep, opts) {
      const { preferredVersions } = await (0, getPatchedDependency_1.getVersionsFromLockfile)(dep, opts);
      return preferredVersions[0]?.gitTarballUrl;
    }
  }
});

// ../patching/plugin-commands-patching/lib/patchRemove.js
var require_patchRemove = __commonJS({
  "../patching/plugin-commands-patching/lib/patchRemove.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var promises_1 = __importDefault2(require("fs/promises"));
    var cli_utils_1 = require_lib33();
    var plugin_commands_installation_1 = require_lib171();
    var config_1 = require_lib19();
    var read_project_manifest_1 = require_lib13();
    var error_1 = require_lib6();
    var render_help_1 = __importDefault2(require_lib47());
    var enquirer_1 = require_enquirer();
    var pick_1 = __importDefault2(require_pick());
    function rcOptionsTypes() {
      return (0, pick_1.default)([], config_1.types);
    }
    function cliOptionsTypes() {
      return { ...rcOptionsTypes() };
    }
    exports2.commandNames = ["patch-remove"];
    function help() {
      return (0, render_help_1.default)({
        description: "Remove existing patch files",
        url: (0, cli_utils_1.docsUrl)("patch-remove"),
        usages: ["pnpm patch-remove [pkg...]"]
      });
    }
    async function handler(opts, params) {
      let patchesToRemove = params;
      const lockfileDir = opts.lockfileDir ?? opts.dir ?? process.cwd();
      const { writeProjectManifest, manifest } = await (0, read_project_manifest_1.tryReadProjectManifest)(lockfileDir);
      const rootProjectManifest = opts.rootProjectManifest ?? manifest ?? {};
      const patchedDependencies = rootProjectManifest.pnpm?.patchedDependencies ?? {};
      if (!params.length) {
        const allPatches = Object.keys(patchedDependencies);
        if (allPatches.length) {
          ({ patches: patchesToRemove } = await (0, enquirer_1.prompt)({
            type: "multiselect",
            name: "patches",
            message: "Select the patch to be removed",
            choices: allPatches,
            validate(value) {
              return value.length === 0 ? "Select at least one option." : true;
            }
          }));
        }
      }
      if (!patchesToRemove.length) {
        throw new error_1.PnpmError("NO_PATCHES_TO_REMOVE", "There are no patches that need to be removed");
      }
      const patchesDirs = /* @__PURE__ */ new Set();
      await Promise.all(patchesToRemove.map(async (patch) => {
        if (Object.prototype.hasOwnProperty.call(patchedDependencies, patch)) {
          const patchFile = path_1.default.join(lockfileDir, patchedDependencies[patch]);
          patchesDirs.add(path_1.default.dirname(patchFile));
          await promises_1.default.rm(patchFile, { force: true });
          delete rootProjectManifest.pnpm.patchedDependencies[patch];
          if (!Object.keys(rootProjectManifest.pnpm.patchedDependencies).length) {
            delete rootProjectManifest.pnpm.patchedDependencies;
            if (!Object.keys(rootProjectManifest.pnpm).length) {
              delete rootProjectManifest.pnpm;
            }
          }
        }
      }));
      await Promise.all(Array.from(patchesDirs).map(async (dir) => {
        try {
          const files = await promises_1.default.readdir(dir);
          if (!files.length) {
            await promises_1.default.rmdir(dir);
          }
        } catch {
        }
      }));
      await writeProjectManifest(rootProjectManifest);
      if (opts?.selectedProjectsGraph?.[lockfileDir]) {
        opts.selectedProjectsGraph[lockfileDir].package.manifest = rootProjectManifest;
      }
      if (opts?.allProjectsGraph?.[lockfileDir].package.manifest) {
        opts.allProjectsGraph[lockfileDir].package.manifest = rootProjectManifest;
      }
      return plugin_commands_installation_1.install.handler(opts);
    }
  }
});

// ../patching/plugin-commands-patching/lib/index.js
var require_lib182 = __commonJS({
  "../patching/plugin-commands-patching/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.patchRemove = exports2.patchCommit = exports2.patch = void 0;
    var patch = __importStar3(require_patch2());
    exports2.patch = patch;
    var patchCommit = __importStar3(require_patchCommit());
    exports2.patchCommit = patchCommit;
    var patchRemove = __importStar3(require_patchRemove());
    exports2.patchRemove = patchRemove;
  }
});

// ../env/path/lib/index.js
var require_lib183 = __commonJS({
  "../env/path/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.prependDirsToPath = prependDirsToPath;
    var path_1 = __importDefault2(require("path"));
    var path_name_1 = __importDefault2(require_path_name());
    function prependDirsToPath(prependDirs, env = process.env) {
      const prepend = prependDirs.join(path_1.default.delimiter);
      const envPath = env[path_name_1.default];
      if (envPath != null && (envPath === prepend || envPath.startsWith(`${prepend}${path_1.default.delimiter}`))) {
        return {
          name: path_name_1.default,
          value: envPath,
          updated: false
        };
      }
      return {
        name: path_name_1.default,
        value: [
          prepend,
          ...envPath != null ? [envPath] : []
        ].join(path_1.default.delimiter),
        updated: true
      };
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/makeEnv.js
var require_makeEnv = __commonJS({
  "../exec/plugin-commands-script-runners/lib/makeEnv.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.makeEnv = makeEnv;
    var error_1 = require_lib6();
    var env_path_1 = require_lib183();
    var path_1 = __importDefault2(require("path"));
    function makeEnv(opts) {
      for (const prependPath of opts.prependPaths) {
        if (prependPath.includes(path_1.default.delimiter)) {
          throw new error_1.PnpmError("BAD_PATH_DIR", `Cannot add ${prependPath} to PATH because it contains the path delimiter character (${path_1.default.delimiter})`);
        }
      }
      const pathEnv = (0, env_path_1.prependDirsToPath)(opts.prependPaths);
      return {
        ...process.env,
        ...opts.extraEnv,
        npm_config_user_agent: opts.userAgent ?? "pnpm",
        [pathEnv.name]: pathEnv.value
      };
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/dlx.js
var require_dlx = __commonJS({
  "../exec/plugin-commands-script-runners/lib/dlx.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cliOptionsTypes = exports2.shorthands = exports2.commandNames = exports2.skipPackageManagerCheck = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.createCacheKey = createCacheKey;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var cli_utils_1 = require_lib33();
    var client_1 = require_lib90();
    var parse_wanted_dependency_1 = require_lib22();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var crypto_hash_1 = require_lib40();
    var error_1 = require_lib6();
    var plugin_commands_installation_1 = require_lib171();
    var read_package_json_1 = require_lib50();
    var package_bins_1 = require_lib48();
    var pick_registry_for_package_1 = require_lib91();
    var execa_1 = __importDefault2(require_lib14());
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var symlink_dir_1 = __importDefault2(require_dist17());
    var makeEnv_1 = require_makeEnv();
    exports2.skipPackageManagerCheck = true;
    exports2.commandNames = ["dlx"];
    exports2.shorthands = {
      c: "--shell-mode"
    };
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "use-node-version"
        ], config_1.types),
        "shell-mode": Boolean
      };
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      package: [String, Array],
      "allow-build": [String, Array]
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    function help() {
      return (0, render_help_1.default)({
        description: "Run a package in a temporary environment.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "The package to install before running the command",
                name: "--package"
              },
              {
                description: "A list of package names that are allowed to run postinstall scripts during installation",
                name: "--allow-build"
              },
              {
                description: "Runs the script inside of a shell. Uses /bin/sh on UNIX and \\cmd.exe on Windows.",
                name: "--shell-mode",
                shortAlias: "-c"
              }
            ]
          },
          common_cli_options_help_1.OUTPUT_OPTIONS
        ],
        url: (0, cli_utils_1.docsUrl)("dlx"),
        usages: ["pnpm dlx <command> [args...]"]
      });
    }
    async function handler(opts, [command, ...args]) {
      const pkgs = opts.package ?? [command];
      const { resolve } = (0, client_1.createResolver)({
        ...opts,
        authConfig: opts.rawConfig
      });
      const resolvedPkgAliases = [];
      const resolvedPkgs = await Promise.all(pkgs.map(async (pkg) => {
        const { alias, pref } = (0, parse_wanted_dependency_1.parseWantedDependency)(pkg) || {};
        if (alias == null)
          return pkg;
        resolvedPkgAliases.push(alias);
        const resolved = await resolve({ alias, pref }, {
          lockfileDir: opts.lockfileDir ?? opts.dir,
          preferredVersions: {},
          projectDir: opts.dir,
          registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, alias, pref)
        });
        return resolved.id;
      }));
      const { cacheLink, cacheExists, cachedDir } = findCache(resolvedPkgs, {
        dlxCacheMaxAge: opts.dlxCacheMaxAge,
        cacheDir: opts.cacheDir,
        registries: opts.registries,
        allowBuild: opts.allowBuild ?? []
      });
      if (!cacheExists) {
        fs_1.default.mkdirSync(cachedDir, { recursive: true });
        await plugin_commands_installation_1.add.handler({
          ...opts,
          bin: path_1.default.join(cachedDir, "node_modules/.bin"),
          dir: cachedDir,
          lockfileDir: cachedDir,
          onlyBuiltDependencies: [...resolvedPkgAliases, ...opts.allowBuild ?? []],
          rootProjectManifestDir: cachedDir,
          saveProd: true,
          // dlx will be looking for the package in the "dependencies" field!
          saveDev: false,
          saveOptional: false,
          savePeer: false,
          symlink: true,
          workspaceDir: void 0
        }, resolvedPkgs);
        try {
          await (0, symlink_dir_1.default)(cachedDir, cacheLink, { overwrite: true });
        } catch (error) {
          if (!util_1.default.types.isNativeError(error) || !("code" in error) || error.code !== "EBUSY" && error.code !== "EEXIST") {
            throw error;
          }
        }
      }
      const modulesDir = path_1.default.join(cachedDir, "node_modules");
      const binsDir = path_1.default.join(modulesDir, ".bin");
      const env = (0, makeEnv_1.makeEnv)({
        userAgent: opts.userAgent,
        prependPaths: [binsDir, ...opts.extraBinPaths]
      });
      const binName = opts.package ? command : await getBinName(modulesDir, await getPkgName(cachedDir));
      try {
        await (0, execa_1.default)(binName, args, {
          cwd: process.cwd(),
          env,
          stdio: "inherit",
          shell: opts.shellMode ?? false
        });
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "exitCode" in err && err.exitCode != null) {
          return {
            exitCode: err.exitCode
          };
        }
        throw err;
      }
      return { exitCode: 0 };
    }
    async function getPkgName(pkgDir) {
      const manifest = await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir);
      const dependencyNames = Object.keys(manifest.dependencies ?? {});
      if (dependencyNames.length === 0) {
        throw new error_1.PnpmError("DLX_NO_DEP", 'dlx was unable to find the installed dependency in "dependencies"');
      }
      return dependencyNames[0];
    }
    async function getBinName(modulesDir, pkgName) {
      const pkgDir = path_1.default.join(modulesDir, pkgName);
      const manifest = await (0, read_package_json_1.readPackageJsonFromDir)(pkgDir);
      const bins = await (0, package_bins_1.getBinsFromPackageManifest)(manifest, pkgDir);
      if (bins.length === 0) {
        throw new error_1.PnpmError("DLX_NO_BIN", `No binaries found in ${pkgName}`);
      }
      if (bins.length === 1) {
        return bins[0].name;
      }
      const scopelessPkgName = scopeless(manifest.name);
      const defaultBin = bins.find(({ name }) => name === scopelessPkgName);
      if (defaultBin)
        return defaultBin.name;
      const binNames = bins.map(({ name }) => name);
      throw new error_1.PnpmError("DLX_MULTIPLE_BINS", `Could not determine executable to run. ${pkgName} has multiple binaries: ${binNames.join(", ")}`, {
        hint: `Try one of the following:
${binNames.map((name) => `pnpm --package=${pkgName} dlx ${name}`).join("\n")}
`
      });
    }
    function scopeless(pkgName) {
      if (pkgName[0] === "@") {
        return pkgName.split("/")[1];
      }
      return pkgName;
    }
    function findCache(pkgs, opts) {
      const dlxCommandCacheDir = createDlxCommandCacheDir(pkgs, opts);
      const cacheLink = path_1.default.join(dlxCommandCacheDir, "pkg");
      const cachedDir = getValidCacheDir(cacheLink, opts.dlxCacheMaxAge);
      return {
        cacheLink,
        cachedDir: cachedDir ?? getPrepareDir(dlxCommandCacheDir),
        cacheExists: cachedDir != null
      };
    }
    function createDlxCommandCacheDir(pkgs, opts) {
      const dlxCacheDir = path_1.default.resolve(opts.cacheDir, "dlx");
      const cacheKey = createCacheKey(pkgs, opts.registries, opts.allowBuild);
      const cachePath = path_1.default.join(dlxCacheDir, cacheKey);
      fs_1.default.mkdirSync(cachePath, { recursive: true });
      return cachePath;
    }
    function createCacheKey(pkgs, registries, allowBuild) {
      const sortedPkgs = [...pkgs].sort((a, b) => a.localeCompare(b));
      const sortedRegistries = Object.entries(registries).sort(([k1], [k2]) => k1.localeCompare(k2));
      const args = [sortedPkgs, sortedRegistries];
      if (allowBuild?.length) {
        args.push({ allowBuild: allowBuild.sort((pkg1, pkg2) => pkg1.localeCompare(pkg2)) });
      }
      const hashStr = JSON.stringify(args);
      return (0, crypto_hash_1.createHexHash)(hashStr);
    }
    function getValidCacheDir(cacheLink, dlxCacheMaxAge) {
      let stats;
      let target;
      try {
        stats = fs_1.default.lstatSync(cacheLink);
        if (stats.isSymbolicLink()) {
          target = fs_1.default.realpathSync(cacheLink);
          if (!target)
            return void 0;
        } else {
          return void 0;
        }
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return void 0;
        }
        throw err;
      }
      const isValid = stats.mtime.getTime() + dlxCacheMaxAge * 6e4 >= (/* @__PURE__ */ new Date()).getTime();
      return isValid ? target : void 0;
    }
    function getPrepareDir(cachePath) {
      const name = `${(/* @__PURE__ */ new Date()).getTime().toString(16)}-${process.pid.toString(16)}`;
      return path_1.default.join(cachePath, name);
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/create.js
var require_create4 = __commonJS({
  "../exec/plugin-commands-script-runners/lib/create.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.handler = handler;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    var render_help_1 = __importDefault2(require_lib47());
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var pick_1 = __importDefault2(require_pick());
    var dlx = __importStar3(require_dlx());
    exports2.commandNames = ["create"];
    async function handler(_opts, params) {
      const [packageName, ...packageArgs] = params;
      if (packageName === void 0) {
        throw new error_1.PnpmError("MISSING_ARGS", "Missing the template package name.\nThe correct usage is `pnpm create <name>` with <name> substituted for a package name.");
      }
      const createPackageName = convertToCreateName(packageName);
      return dlx.handler(_opts, [createPackageName, ...packageArgs]);
    }
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "use-node-version"
        ], config_1.types)
      };
    }
    function cliOptionsTypes() {
      return {
        ...rcOptionsTypes(),
        "allow-build": [String, Array]
      };
    }
    function help() {
      return (0, render_help_1.default)({
        description: "Creates a project from a `create-*` starter kit.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "A list of package names that are allowed to run postinstall scripts during installation",
                name: "--allow-build"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("create"),
        usages: [
          "pnpm create <name>",
          "pnpm create <name-without-create>",
          "pnpm create <@scope>"
        ]
      });
    }
    var CREATE_PREFIX = "create-";
    function convertToCreateName(packageName) {
      if (packageName[0] === "@") {
        const preferredVersionPosition = packageName.indexOf("@", 1);
        let preferredVersion = "";
        if (preferredVersionPosition > -1) {
          preferredVersion = packageName.substring(preferredVersionPosition);
          packageName = packageName.substring(0, preferredVersionPosition);
        }
        const [scope, scopedPackage = ""] = packageName.split("/");
        if (scopedPackage === "") {
          return `${scope}/create${preferredVersion}`;
        } else {
          return `${scope}/${ensureCreatePrefixed(scopedPackage)}${preferredVersion}`;
        }
      } else {
        return ensureCreatePrefixed(packageName);
      }
    }
    function ensureCreatePrefixed(packageName) {
      if (packageName.startsWith(CREATE_PREFIX)) {
        return packageName;
      } else {
        return `${CREATE_PREFIX}${packageName}`;
      }
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/existsInDir.js
var require_existsInDir = __commonJS({
  "../exec/plugin-commands-script-runners/lib/existsInDir.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.existsInDir = existsInDir;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    function existsInDir(entityName, dir) {
      const entityPath = path_1.default.join(dir, entityName);
      if (fs_1.default.existsSync(entityPath))
        return entityPath;
      return void 0;
    }
  }
});

// ../workspace/injected-deps-syncer/lib/DirPatcher.js
var require_DirPatcher = __commonJS({
  "../workspace/injected-deps-syncer/lib/DirPatcher.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.DirPatcher = exports2.DIR = void 0;
    exports2.diffDir = diffDir;
    exports2.applyPatch = applyPatch;
    exports2.extendFilesMap = extendFilesMap;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var directory_fetcher_1 = require_lib75();
    var error_1 = require_lib6();
    exports2.DIR = Symbol("Path is a directory");
    var comparePaths = (a, b) => a.split(/\\|\//).length - b.split(/\\|\//).length || a.localeCompare(b);
    function diffDir(oldIndex, newIndex) {
      const oldPaths = Object.keys(oldIndex).sort(comparePaths);
      const newPaths = Object.keys(newIndex).sort(comparePaths);
      const removed = oldPaths.filter((path2) => !(path2 in newIndex)).map((path2) => ({ path: path2, oldValue: oldIndex[path2] }));
      const added = newPaths.filter((path2) => !(path2 in oldIndex)).map((path2) => ({ path: path2, newValue: newIndex[path2] }));
      const modified = oldPaths.filter((path2) => path2 in newIndex && oldIndex[path2] !== newIndex[path2]).map((path2) => ({ path: path2, oldValue: oldIndex[path2], newValue: newIndex[path2] }));
      return { added, removed, modified };
    }
    async function applyPatch(optimizedDirPatch, sourceDir, targetDir) {
      async function addRecursive(sourcePath, targetPath, value) {
        if (value === exports2.DIR) {
          await fs_1.default.promises.mkdir(targetPath, { recursive: true });
        } else if (typeof value === "number") {
          fs_1.default.mkdirSync(path_1.default.dirname(targetPath), { recursive: true });
          await fs_1.default.promises.link(sourcePath, targetPath);
        } else {
          const _ = value;
        }
      }
      async function removeRecursive(targetPath) {
        try {
          await fs_1.default.promises.rm(targetPath, { recursive: true, force: true });
        } catch (error) {
          if (!util_1.default.types.isNativeError(error) || !("code" in error) || error.code !== "ENOENT") {
            throw error;
          }
        }
      }
      const adding = Promise.all(optimizedDirPatch.added.map(async (item) => {
        const sourcePath = path_1.default.join(sourceDir, item.path);
        const targetPath = path_1.default.join(targetDir, item.path);
        await addRecursive(sourcePath, targetPath, item.newValue);
      }));
      const removing = Promise.all(optimizedDirPatch.removed.map(async (item) => {
        const targetPath = path_1.default.join(targetDir, item.path);
        await removeRecursive(targetPath);
      }));
      const modifying = Promise.all(optimizedDirPatch.modified.map(async (item) => {
        const sourcePath = path_1.default.join(sourceDir, item.path);
        const targetPath = path_1.default.join(targetDir, item.path);
        if (item.oldValue === item.newValue)
          return;
        await removeRecursive(targetPath);
        await addRecursive(sourcePath, targetPath, item.newValue);
      }));
      await Promise.all([adding, removing, modifying]);
    }
    async function extendFilesMap({ filesIndex, filesStats }) {
      const result2 = {
        ".": exports2.DIR
      };
      function addInodeAndAncestors(relativePath, value) {
        if (relativePath && relativePath !== "." && !result2[relativePath]) {
          result2[relativePath] = value;
          addInodeAndAncestors(path_1.default.dirname(relativePath), exports2.DIR);
        }
      }
      await Promise.all(Object.entries(filesIndex).map(async ([relativePath, realPath]) => {
        const stats = filesStats?.[relativePath] ?? await fs_1.default.promises.stat(realPath);
        if (stats.isFile()) {
          addInodeAndAncestors(relativePath, stats.ino);
        } else if (stats.isDirectory()) {
          addInodeAndAncestors(relativePath, exports2.DIR);
        } else {
          throw new error_1.PnpmError("UNSUPPORTED_INODE_TYPE", `Filesystem inode at ${realPath} is neither a file, a directory, or a symbolic link`);
        }
      }));
      return result2;
    }
    var DirPatcher = class {
      constructor(patch, sourceDir, targetDir) {
        this.patch = patch;
        this.sourceDir = sourceDir;
        this.targetDir = targetDir;
      }
      static async fromMultipleTargets(sourceDir, targetDirs) {
        const fetchOptions = {
          resolveSymlinks: false
        };
        async function loadMap(dir) {
          const fetchResult = await (0, directory_fetcher_1.fetchFromDir)(dir, fetchOptions);
          return [await extendFilesMap(fetchResult), dir];
        }
        const [[sourceMap], targetPairs] = await Promise.all([
          loadMap(sourceDir),
          Promise.all(targetDirs.map(loadMap))
        ]);
        return targetPairs.map(([targetMap, targetDir]) => {
          const diff = diffDir(targetMap, sourceMap);
          diff.removed.reverse();
          return new this(diff, sourceDir, targetDir);
        });
      }
      async apply() {
        await applyPatch(this.patch, this.sourceDir, this.targetDir);
      }
    };
    exports2.DirPatcher = DirPatcher;
  }
});

// ../workspace/injected-deps-syncer/lib/index.js
var require_lib184 = __commonJS({
  "../workspace/injected-deps-syncer/lib/index.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.syncInjectedDeps = syncInjectedDeps;
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var modules_yaml_1 = require_lib95();
    var normalize_path_1 = __importDefault2(require_normalize_path());
    var DirPatcher_1 = require_DirPatcher();
    var logger = (0, logger_1.logger)("skip-sync-injected-deps");
    async function syncInjectedDeps(opts) {
      if (!opts.pkgName) {
        logger.debug({
          reason: "no-name",
          message: `Skipping sync of ${opts.pkgRootDir} as an injected dependency because, without a name, it cannot be a dependency`,
          opts
        });
        return;
      }
      if (!opts.workspaceDir) {
        throw new error_1.PnpmError("NO_WORKSPACE_DIR", "Cannot update injected dependencies without workspace dir");
      }
      const pkgRootDir = path_1.default.resolve(opts.workspaceDir, opts.pkgRootDir);
      const modulesDir = path_1.default.resolve(opts.workspaceDir, "node_modules");
      const modules = await (0, modules_yaml_1.readModulesManifest)(modulesDir);
      if (!modules?.injectedDeps) {
        logger.debug({
          reason: "no-injected-deps",
          message: "Skipping sync of injected dependencies because none were detected",
          opts
        });
        return;
      }
      const injectedDepKey = (0, normalize_path_1.default)(path_1.default.relative(opts.workspaceDir, pkgRootDir), true);
      const targetDirs = modules.injectedDeps[injectedDepKey];
      if (!targetDirs || targetDirs.length === 0) {
        logger.debug({
          reason: "no-injected-deps",
          message: `There are no injected dependencies from ${opts.pkgRootDir}`,
          opts
        });
        return;
      }
      const patchers = await DirPatcher_1.DirPatcher.fromMultipleTargets(pkgRootDir, targetDirs.map((targetDir) => path_1.default.resolve(opts.workspaceDir, targetDir)));
      await Promise.all(patchers.map((patcher) => patcher.apply()));
    }
  }
});

// ../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/group.js
var require_group = __commonJS({
  "../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/group.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.groupStart = void 0;
    var ci_info_1 = __importStar3(require_ci_info());
    var id = 0;
    function groupStart(groupName) {
      if (!ci_info_1.isCI)
        return void 0;
      const labels = getLabels(groupName);
      if (labels) {
        process.stdout.write(labels.start);
        return () => {
          process.stdout.write(labels.end);
        };
      }
      return void 0;
    }
    exports2.groupStart = groupStart;
    function getLabels(groupName) {
      if (ci_info_1.default.GITHUB_ACTIONS) {
        return {
          start: `::group::${groupName}\r
`,
          end: "::endgroup::\r\n"
        };
      } else if (ci_info_1.default.GITLAB) {
        id++;
        return {
          start: `section_start:${Math.floor(Date.now() / 1e3)}:${id}\\r\\e[0K${groupName}\r
`,
          end: `section_end:${Math.floor(Date.now() / 1e3)}:${id}\\r\\e[0K`
        };
      } else if (ci_info_1.default.TRAVIS) {
        return {
          start: `travis_fold:start:${groupName}\r
`,
          end: `travis_fold:end:${groupName}\r
`
        };
      } else if (ci_info_1.default.AZURE_PIPELINES) {
        return {
          start: `##[group]${groupName}\r
`,
          end: "##[endgroup]\r\n"
        };
      } else if (ci_info_1.default.BUILDKITE) {
        return {
          start: `--- ${groupName}\r
`,
          end: "\r\n"
        };
      }
      return null;
    }
  }
});

// ../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/index.js
var require_dist26 = __commonJS({
  "../node_modules/.pnpm/@pnpm+log.group@3.0.1/node_modules/@pnpm/log.group/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.groupStart = void 0;
    var group_1 = require_group();
    Object.defineProperty(exports2, "groupStart", { enumerable: true, get: function() {
      return group_1.groupStart;
    } });
  }
});

// ../exec/plugin-commands-script-runners/lib/regexpCommand.js
var require_regexpCommand = __commonJS({
  "../exec/plugin-commands-script-runners/lib/regexpCommand.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.tryBuildRegExpFromCommand = tryBuildRegExpFromCommand;
    var error_1 = require_lib6();
    function tryBuildRegExpFromCommand(command) {
      const regExpDetectRegExpScriptCommand = /^\/((?:\\\/|[^/])+)\/([dgimuvys]*)$/;
      const match = command.match(regExpDetectRegExpScriptCommand);
      if (!match) {
        return null;
      }
      if (match[2]) {
        throw new error_1.PnpmError("UNSUPPORTED_SCRIPT_COMMAND_FORMAT", "RegExp flags are not supported in script command selector");
      }
      try {
        return new RegExp(match[1]);
      } catch {
        return null;
      }
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/runRecursive.js
var require_runRecursive = __commonJS({
  "../exec/plugin-commands-script-runners/lib/runRecursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runRecursive = runRecursive;
    exports2.getSpecifiedScripts = getSpecifiedScripts;
    var assert_1 = __importDefault2(require("assert"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var cli_utils_1 = require_lib33();
    var plugin_commands_env_1 = require_lib82();
    var error_1 = require_lib6();
    var lifecycle_1 = require_lib77();
    var logger_1 = require_lib();
    var log_group_1 = require_dist26();
    var sort_packages_1 = require_lib120();
    var p_limit_12 = __importDefault2(require_p_limit());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var existsInDir_1 = require_existsInDir();
    var exec_1 = require_exec();
    var run_1 = require_run();
    var regexpCommand_1 = require_regexpCommand();
    async function runRecursive(params, opts) {
      const [scriptName, ...passedThruArgs] = params;
      if (!scriptName) {
        throw new error_1.PnpmError("SCRIPT_NAME_IS_REQUIRED", "You must specify the script you want to run");
      }
      let hasCommand = 0;
      const sortedPackageChunks = opts.sort ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()];
      let packageChunks = opts.reverse ? sortedPackageChunks.reverse() : sortedPackageChunks;
      if (opts.resumeFrom) {
        packageChunks = (0, exec_1.getResumedPackageChunks)({
          resumeFrom: opts.resumeFrom,
          chunks: packageChunks,
          selectedProjectsGraph: opts.selectedProjectsGraph
        });
      }
      const limitRun = (0, p_limit_12.default)(opts.workspaceConcurrency ?? 4);
      const stdio = !opts.stream && (opts.workspaceConcurrency === 1 || packageChunks.length === 1 && packageChunks[0].length === 1) ? "inherit" : "pipe";
      const existsPnp = existsInDir_1.existsInDir.bind(null, ".pnp.cjs");
      const workspacePnpPath = opts.workspaceDir && existsPnp(opts.workspaceDir);
      const requiredScripts = opts.rootProjectManifest?.pnpm?.requiredScripts ?? [];
      if (requiredScripts.includes(scriptName)) {
        const missingScriptPackages = packageChunks.flat().map((prefix) => opts.selectedProjectsGraph[prefix]).filter((pkg) => getSpecifiedScripts(pkg.package.manifest.scripts ?? {}, scriptName).length < 1).map((pkg) => pkg.package.manifest.name ?? pkg.package.rootDir);
        if (missingScriptPackages.length) {
          throw new error_1.PnpmError("RECURSIVE_RUN_NO_SCRIPT", `Missing script "${scriptName}" in packages: ${missingScriptPackages.join(", ")}`);
        }
      }
      const result2 = (0, exec_1.createEmptyRecursiveSummary)(packageChunks);
      for (const chunk of packageChunks) {
        const selectedScripts = chunk.map((prefix) => {
          const pkg = opts.selectedProjectsGraph[prefix];
          const specifiedScripts = getSpecifiedScripts(pkg.package.manifest.scripts ?? {}, scriptName);
          if (!specifiedScripts.length) {
            result2[prefix].status = "skipped";
          }
          return specifiedScripts.map((script) => ({ prefix, scriptName: script }));
        }).flat();
        await Promise.all(selectedScripts.map(async ({ prefix, scriptName: scriptName2 }) => limitRun(async () => {
          const pkg = opts.selectedProjectsGraph[prefix];
          if (!pkg.package.manifest.scripts?.[scriptName2] || process.env.npm_lifecycle_event === scriptName2 && process.env.PNPM_SCRIPT_SRC_DIR === prefix) {
            return;
          }
          result2[prefix].status = "running";
          const startTime = process.hrtime();
          hasCommand++;
          try {
            const lifecycleOpts = {
              depPath: prefix,
              extraBinPaths: opts.extraBinPaths,
              extraEnv: opts.extraEnv,
              pkgRoot: prefix,
              rawConfig: opts.rawConfig,
              rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(prefix, "node_modules")),
              scriptsPrependNodePath: opts.scriptsPrependNodePath,
              scriptShell: opts.scriptShell,
              silent: opts.reporter === "silent",
              shellEmulator: opts.shellEmulator,
              stdio,
              unsafePerm: true
              // when running scripts explicitly, assume that they're trusted.
            };
            const { executionEnv } = pkg.package.manifest.pnpm ?? {};
            if (executionEnv != null) {
              lifecycleOpts.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, { executionEnv })).extraBinPaths;
            }
            const pnpPath = workspacePnpPath ?? existsPnp(prefix);
            if (pnpPath) {
              lifecycleOpts.extraEnv = {
                ...lifecycleOpts.extraEnv,
                ...(0, lifecycle_1.makeNodeRequireOption)(pnpPath)
              };
            }
            const runScriptOptions = {
              enablePrePostScripts: opts.enablePrePostScripts ?? false,
              syncInjectedDepsAfterScripts: opts.syncInjectedDepsAfterScripts,
              workspaceDir: opts.workspaceDir
            };
            const _runScript = run_1.runScript.bind(null, { manifest: pkg.package.manifest, lifecycleOpts, runScriptOptions, passedThruArgs });
            const groupEnd = (opts.workspaceConcurrency ?? 4) > 1 ? void 0 : (0, log_group_1.groupStart)(formatSectionName({
              name: pkg.package.manifest.name,
              script: scriptName2,
              version: pkg.package.manifest.version,
              prefix: path_1.default.normalize(path_1.default.relative(opts.workspaceDir, prefix))
            }));
            await _runScript(scriptName2);
            groupEnd?.();
            result2[prefix].status = "passed";
            result2[prefix].duration = (0, exec_1.getExecutionDuration)(startTime);
          } catch (err) {
            (0, assert_1.default)(util_1.default.types.isNativeError(err));
            result2[prefix] = {
              status: "failure",
              duration: (0, exec_1.getExecutionDuration)(startTime),
              error: err,
              message: err.message,
              prefix
            };
            if (!opts.bail) {
              return;
            }
            Object.assign(err, {
              code: "ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL",
              prefix
            });
            opts.reportSummary && await (0, exec_1.writeRecursiveSummary)({
              dir: opts.workspaceDir ?? opts.dir,
              summary: result2
            });
            throw err;
          }
        })));
      }
      if (scriptName !== "test" && !hasCommand && !opts.ifPresent) {
        const allPackagesAreSelected = Object.keys(opts.selectedProjectsGraph).length === opts.allProjects.length;
        if (allPackagesAreSelected) {
          throw new error_1.PnpmError("RECURSIVE_RUN_NO_SCRIPT", `None of the packages has a "${scriptName}" script`);
        } else {
          logger_1.logger.info({
            message: `None of the selected packages has a "${scriptName}" script`,
            prefix: opts.workspaceDir
          });
        }
      }
      opts.reportSummary && await (0, exec_1.writeRecursiveSummary)({
        dir: opts.workspaceDir ?? opts.dir,
        summary: result2
      });
      (0, cli_utils_1.throwOnCommandFail)("pnpm recursive run", result2);
    }
    function formatSectionName({ script, name, version: version2, prefix }) {
      return `${name ?? "unknown"}${version2 ? `@${version2}` : ""} ${script ? `: ${script}` : ""} ${prefix}`;
    }
    function getSpecifiedScripts(scripts, scriptName) {
      if (scripts[scriptName]) {
        return [scriptName];
      }
      const scriptSelector = (0, regexpCommand_1.tryBuildRegExpFromCommand)(scriptName);
      if (scriptSelector) {
        const scriptKeys = Object.keys(scripts);
        return scriptKeys.filter((script) => script.match(scriptSelector));
      }
      return [];
    }
  }
});

// ../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/mod.js
var require_mod = __commonJS({
  "../node_modules/.pnpm/fastest-levenshtein@1.0.16/node_modules/fastest-levenshtein/mod.js"(exports2) {
    "use strict";
    exports2.__esModule = true;
    exports2.distance = exports2.closest = void 0;
    var peq = new Uint32Array(65536);
    var myers_32 = function(a, b) {
      var n = a.length;
      var m = b.length;
      var lst = 1 << n - 1;
      var pv = -1;
      var mv = 0;
      var sc = n;
      var i = n;
      while (i--) {
        peq[a.charCodeAt(i)] |= 1 << i;
      }
      for (i = 0; i < m; i++) {
        var eq = peq[b.charCodeAt(i)];
        var xv = eq | mv;
        eq |= (eq & pv) + pv ^ pv;
        mv |= ~(eq | pv);
        pv &= eq;
        if (mv & lst) {
          sc++;
        }
        if (pv & lst) {
          sc--;
        }
        mv = mv << 1 | 1;
        pv = pv << 1 | ~(xv | mv);
        mv &= xv;
      }
      i = n;
      while (i--) {
        peq[a.charCodeAt(i)] = 0;
      }
      return sc;
    };
    var myers_x = function(b, a) {
      var n = a.length;
      var m = b.length;
      var mhc = [];
      var phc = [];
      var hsize = Math.ceil(n / 32);
      var vsize = Math.ceil(m / 32);
      for (var i = 0; i < hsize; i++) {
        phc[i] = -1;
        mhc[i] = 0;
      }
      var j = 0;
      for (; j < vsize - 1; j++) {
        var mv_1 = 0;
        var pv_1 = -1;
        var start_1 = j * 32;
        var vlen_1 = Math.min(32, m) + start_1;
        for (var k = start_1; k < vlen_1; k++) {
          peq[b.charCodeAt(k)] |= 1 << k;
        }
        for (var i = 0; i < n; i++) {
          var eq = peq[a.charCodeAt(i)];
          var pb = phc[i / 32 | 0] >>> i & 1;
          var mb = mhc[i / 32 | 0] >>> i & 1;
          var xv = eq | mv_1;
          var xh = ((eq | mb) & pv_1) + pv_1 ^ pv_1 | eq | mb;
          var ph = mv_1 | ~(xh | pv_1);
          var mh = pv_1 & xh;
          if (ph >>> 31 ^ pb) {
            phc[i / 32 | 0] ^= 1 << i;
          }
          if (mh >>> 31 ^ mb) {
            mhc[i / 32 | 0] ^= 1 << i;
          }
          ph = ph << 1 | pb;
          mh = mh << 1 | mb;
          pv_1 = mh | ~(xv | ph);
          mv_1 = ph & xv;
        }
        for (var k = start_1; k < vlen_1; k++) {
          peq[b.charCodeAt(k)] = 0;
        }
      }
      var mv = 0;
      var pv = -1;
      var start = j * 32;
      var vlen = Math.min(32, m - start) + start;
      for (var k = start; k < vlen; k++) {
        peq[b.charCodeAt(k)] |= 1 << k;
      }
      var score = m;
      for (var i = 0; i < n; i++) {
        var eq = peq[a.charCodeAt(i)];
        var pb = phc[i / 32 | 0] >>> i & 1;
        var mb = mhc[i / 32 | 0] >>> i & 1;
        var xv = eq | mv;
        var xh = ((eq | mb) & pv) + pv ^ pv | eq | mb;
        var ph = mv | ~(xh | pv);
        var mh = pv & xh;
        score += ph >>> m - 1 & 1;
        score -= mh >>> m - 1 & 1;
        if (ph >>> 31 ^ pb) {
          phc[i / 32 | 0] ^= 1 << i;
        }
        if (mh >>> 31 ^ mb) {
          mhc[i / 32 | 0] ^= 1 << i;
        }
        ph = ph << 1 | pb;
        mh = mh << 1 | mb;
        pv = mh | ~(xv | ph);
        mv = ph & xv;
      }
      for (var k = start; k < vlen; k++) {
        peq[b.charCodeAt(k)] = 0;
      }
      return score;
    };
    var distance = function(a, b) {
      if (a.length < b.length) {
        var tmp = b;
        b = a;
        a = tmp;
      }
      if (b.length === 0) {
        return a.length;
      }
      if (a.length <= 32) {
        return myers_32(a, b);
      }
      return myers_x(a, b);
    };
    exports2.distance = distance;
    var closest = function(str, arr) {
      var min_distance = Infinity;
      var min_index = 0;
      for (var i = 0; i < arr.length; i++) {
        var dist = distance(str, arr[i]);
        if (dist < min_distance) {
          min_distance = dist;
          min_index = i;
        }
      }
      return arr[min_index];
    };
    exports2.closest = closest;
  }
});

// ../node_modules/.pnpm/lodash.deburr@4.1.0/node_modules/lodash.deburr/index.js
var require_lodash3 = __commonJS({
  "../node_modules/.pnpm/lodash.deburr@4.1.0/node_modules/lodash.deburr/index.js"(exports2, module2) {
    var INFINITY = 1 / 0;
    var symbolTag = "[object Symbol]";
    var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
    var rsComboMarksRange = "\\u0300-\\u036f\\ufe20-\\ufe23";
    var rsComboSymbolsRange = "\\u20d0-\\u20f0";
    var rsCombo = "[" + rsComboMarksRange + rsComboSymbolsRange + "]";
    var reComboMark = RegExp(rsCombo, "g");
    var deburredLetters = {
      // Latin-1 Supplement block.
      "\xC0": "A",
      "\xC1": "A",
      "\xC2": "A",
      "\xC3": "A",
      "\xC4": "A",
      "\xC5": "A",
      "\xE0": "a",
      "\xE1": "a",
      "\xE2": "a",
      "\xE3": "a",
      "\xE4": "a",
      "\xE5": "a",
      "\xC7": "C",
      "\xE7": "c",
      "\xD0": "D",
      "\xF0": "d",
      "\xC8": "E",
      "\xC9": "E",
      "\xCA": "E",
      "\xCB": "E",
      "\xE8": "e",
      "\xE9": "e",
      "\xEA": "e",
      "\xEB": "e",
      "\xCC": "I",
      "\xCD": "I",
      "\xCE": "I",
      "\xCF": "I",
      "\xEC": "i",
      "\xED": "i",
      "\xEE": "i",
      "\xEF": "i",
      "\xD1": "N",
      "\xF1": "n",
      "\xD2": "O",
      "\xD3": "O",
      "\xD4": "O",
      "\xD5": "O",
      "\xD6": "O",
      "\xD8": "O",
      "\xF2": "o",
      "\xF3": "o",
      "\xF4": "o",
      "\xF5": "o",
      "\xF6": "o",
      "\xF8": "o",
      "\xD9": "U",
      "\xDA": "U",
      "\xDB": "U",
      "\xDC": "U",
      "\xF9": "u",
      "\xFA": "u",
      "\xFB": "u",
      "\xFC": "u",
      "\xDD": "Y",
      "\xFD": "y",
      "\xFF": "y",
      "\xC6": "Ae",
      "\xE6": "ae",
      "\xDE": "Th",
      "\xFE": "th",
      "\xDF": "ss",
      // Latin Extended-A block.
      "\u0100": "A",
      "\u0102": "A",
      "\u0104": "A",
      "\u0101": "a",
      "\u0103": "a",
      "\u0105": "a",
      "\u0106": "C",
      "\u0108": "C",
      "\u010A": "C",
      "\u010C": "C",
      "\u0107": "c",
      "\u0109": "c",
      "\u010B": "c",
      "\u010D": "c",
      "\u010E": "D",
      "\u0110": "D",
      "\u010F": "d",
      "\u0111": "d",
      "\u0112": "E",
      "\u0114": "E",
      "\u0116": "E",
      "\u0118": "E",
      "\u011A": "E",
      "\u0113": "e",
      "\u0115": "e",
      "\u0117": "e",
      "\u0119": "e",
      "\u011B": "e",
      "\u011C": "G",
      "\u011E": "G",
      "\u0120": "G",
      "\u0122": "G",
      "\u011D": "g",
      "\u011F": "g",
      "\u0121": "g",
      "\u0123": "g",
      "\u0124": "H",
      "\u0126": "H",
      "\u0125": "h",
      "\u0127": "h",
      "\u0128": "I",
      "\u012A": "I",
      "\u012C": "I",
      "\u012E": "I",
      "\u0130": "I",
      "\u0129": "i",
      "\u012B": "i",
      "\u012D": "i",
      "\u012F": "i",
      "\u0131": "i",
      "\u0134": "J",
      "\u0135": "j",
      "\u0136": "K",
      "\u0137": "k",
      "\u0138": "k",
      "\u0139": "L",
      "\u013B": "L",
      "\u013D": "L",
      "\u013F": "L",
      "\u0141": "L",
      "\u013A": "l",
      "\u013C": "l",
      "\u013E": "l",
      "\u0140": "l",
      "\u0142": "l",
      "\u0143": "N",
      "\u0145": "N",
      "\u0147": "N",
      "\u014A": "N",
      "\u0144": "n",
      "\u0146": "n",
      "\u0148": "n",
      "\u014B": "n",
      "\u014C": "O",
      "\u014E": "O",
      "\u0150": "O",
      "\u014D": "o",
      "\u014F": "o",
      "\u0151": "o",
      "\u0154": "R",
      "\u0156": "R",
      "\u0158": "R",
      "\u0155": "r",
      "\u0157": "r",
      "\u0159": "r",
      "\u015A": "S",
      "\u015C": "S",
      "\u015E": "S",
      "\u0160": "S",
      "\u015B": "s",
      "\u015D": "s",
      "\u015F": "s",
      "\u0161": "s",
      "\u0162": "T",
      "\u0164": "T",
      "\u0166": "T",
      "\u0163": "t",
      "\u0165": "t",
      "\u0167": "t",
      "\u0168": "U",
      "\u016A": "U",
      "\u016C": "U",
      "\u016E": "U",
      "\u0170": "U",
      "\u0172": "U",
      "\u0169": "u",
      "\u016B": "u",
      "\u016D": "u",
      "\u016F": "u",
      "\u0171": "u",
      "\u0173": "u",
      "\u0174": "W",
      "\u0175": "w",
      "\u0176": "Y",
      "\u0177": "y",
      "\u0178": "Y",
      "\u0179": "Z",
      "\u017B": "Z",
      "\u017D": "Z",
      "\u017A": "z",
      "\u017C": "z",
      "\u017E": "z",
      "\u0132": "IJ",
      "\u0133": "ij",
      "\u0152": "Oe",
      "\u0153": "oe",
      "\u0149": "'n",
      "\u017F": "ss"
    };
    var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
    var freeSelf = typeof self == "object" && self && self.Object === Object && self;
    var root = freeGlobal || freeSelf || Function("return this")();
    function basePropertyOf(object) {
      return function(key) {
        return object == null ? void 0 : object[key];
      };
    }
    var deburrLetter = basePropertyOf(deburredLetters);
    var objectProto = Object.prototype;
    var objectToString = objectProto.toString;
    var Symbol2 = root.Symbol;
    var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
    var symbolToString = symbolProto ? symbolProto.toString : void 0;
    function baseToString(value) {
      if (typeof value == "string") {
        return value;
      }
      if (isSymbol(value)) {
        return symbolToString ? symbolToString.call(value) : "";
      }
      var result2 = value + "";
      return result2 == "0" && 1 / value == -INFINITY ? "-0" : result2;
    }
    function isObjectLike(value) {
      return !!value && typeof value == "object";
    }
    function isSymbol(value) {
      return typeof value == "symbol" || isObjectLike(value) && objectToString.call(value) == symbolTag;
    }
    function toString(value) {
      return value == null ? "" : baseToString(value);
    }
    function deburr(string) {
      string = toString(string);
      return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
    }
    module2.exports = deburr;
  }
});

// ../node_modules/.pnpm/didyoumean2@6.0.1/node_modules/didyoumean2/dist/index.cjs
var require_dist27 = __commonJS({
  "../node_modules/.pnpm/didyoumean2@6.0.1/node_modules/didyoumean2/dist/index.cjs"(exports2) {
    "use strict";
    Object.defineProperties(exports2, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
    var e = require_mod();
    var t = require_lodash3();
    var s = function(e2) {
      return e2.ALL_CLOSEST_MATCHES = "all-closest-matches", e2.ALL_MATCHES = "all-matches", e2.ALL_SORTED_MATCHES = "all-sorted-matches", e2.FIRST_CLOSEST_MATCH = "first-closest-match", e2.FIRST_MATCH = "first-match", e2;
    }({});
    var r = function(e2) {
      return e2.EDIT_DISTANCE = "edit-distance", e2.SIMILARITY = "similarity", e2;
    }({});
    var c = (e2) => {
      const t2 = { caseSensitive: false, deburr: true, matchPath: [], returnType: s.FIRST_CLOSEST_MATCH, thresholdType: r.SIMILARITY, trimSpaces: true, ...e2 };
      if (!Object.values(s).includes(t2.returnType)) throw new TypeError("unknown returnType");
      if (!Object.values(r).includes(t2.thresholdType)) throw new TypeError("unknown thresholdType");
      switch (t2.thresholdType) {
        case r.EDIT_DISTANCE:
          return { threshold: 20, ...t2 };
        case r.SIMILARITY:
          return { threshold: 0.4, ...t2 };
      }
    };
    var n = (t2, s2) => {
      if (!t2 || !s2) return 0;
      if (t2 === s2) return 1;
      const r2 = e.distance(t2, s2), c2 = Math.max(t2.length, s2.length);
      return (c2 - r2) / c2;
    };
    var o = (e2, s2) => {
      let r2 = e2;
      return s2.trimSpaces && (r2 = r2.trim().replaceAll(/\s+/g, " ")), s2.deburr && (r2 = t(r2)), s2.caseSensitive || (r2 = r2.toLowerCase()), r2;
    };
    var T = (e2, t2) => {
      const { matchPath: s2 } = t2, r2 = ((e3, t3) => {
        const s3 = t3.length > 0 ? t3.reduce((e4, t4) => e4?.[t4], e3) : e3;
        return "string" != typeof s3 ? "" : s3;
      })(e2, s2);
      return o(r2, t2);
    };
    var a = (e2, t2, r2) => {
      switch (r2) {
        case s.ALL_CLOSEST_MATCHES:
        case s.ALL_MATCHES:
        case s.ALL_SORTED_MATCHES:
          return t2.map((t3) => e2[t3]);
        case s.FIRST_CLOSEST_MATCH:
        case s.FIRST_MATCH: {
          const s2 = t2[0];
          return void 0 === s2 ? null : e2[s2];
        }
      }
    };
    exports2.ReturnTypeEnums = s, exports2.ThresholdTypeEnums = r, exports2.default = function(t2, S, u) {
      const h = c(u), { returnType: i, threshold: l, thresholdType: I } = h, A = o(t2, h);
      let E, _;
      switch (I) {
        case r.EDIT_DISTANCE:
          E = (e2) => e2 <= l, _ = (t3) => e.distance(A, T(t3, h));
          break;
        case r.SIMILARITY:
          E = (e2) => e2 >= l, _ = (e2) => n(A, T(e2, h));
      }
      const L = [];
      switch (i) {
        case s.ALL_CLOSEST_MATCHES:
        case s.FIRST_CLOSEST_MATCH: {
          const e2 = [];
          let t3;
          switch (I) {
            case r.EDIT_DISTANCE:
              t3 = Number.POSITIVE_INFINITY;
              for (const s2 of S) {
                const r2 = _(s2);
                t3 > r2 && (t3 = r2), e2.push(r2);
              }
              break;
            case r.SIMILARITY:
              t3 = 0;
              for (const s2 of S) {
                const r2 = _(s2);
                t3 < r2 && (t3 = r2), e2.push(r2);
              }
          }
          for (const [s2, r2] of e2.entries()) E(r2) && r2 === t3 && L.push(s2);
          break;
        }
        case s.ALL_MATCHES:
          for (const [e2, t3] of S.entries()) {
            E(_(t3)) && L.push(e2);
          }
          break;
        case s.ALL_SORTED_MATCHES: {
          const e2 = [];
          for (const [t3, s2] of S.entries()) {
            const r2 = _(s2);
            E(r2) && e2.push({ score: r2, index: t3 });
          }
          switch (I) {
            case r.EDIT_DISTANCE:
              e2.sort((e3, t3) => e3.score - t3.score);
              break;
            case r.SIMILARITY:
              e2.sort((e3, t3) => t3.score - e3.score);
          }
          for (const t3 of e2) L.push(t3.index);
          break;
        }
        case s.FIRST_MATCH:
          for (const [e2, t3] of S.entries()) {
            if (E(_(t3))) {
              L.push(e2);
              break;
            }
          }
      }
      return a(S, L, i);
    };
  }
});

// ../exec/plugin-commands-script-runners/lib/buildCommandNotFoundHint.js
var require_buildCommandNotFoundHint = __commonJS({
  "../exec/plugin-commands-script-runners/lib/buildCommandNotFoundHint.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.getNearestProgram = getNearestProgram;
    exports2.buildCommandNotFoundHint = buildCommandNotFoundHint;
    exports2.getNearestScript = getNearestScript;
    exports2.getNearest = getNearest;
    var didyoumean2_1 = __importStar3(require_dist27());
    var fs_1 = require("fs");
    var path_1 = __importDefault2(require("path"));
    function getNearestProgram({ dir, modulesDir, programName, workspaceDir }) {
      try {
        const binDir = path_1.default.join(dir, modulesDir, ".bin");
        const programList = readProgramsFromDir(binDir);
        if (workspaceDir && workspaceDir !== dir) {
          const workspaceBinDir = path_1.default.join(workspaceDir, modulesDir, ".bin");
          programList.push(...readProgramsFromDir(workspaceBinDir));
        }
        return getNearest(programName, programList);
      } catch {
        return null;
      }
    }
    function readProgramsFromDir(binDir) {
      const files = (0, fs_1.readdirSync)(binDir);
      if (process.platform !== "win32")
        return files;
      const executableExtensions = [".cmd", ".bat", ".ps1", ".exe", ".com"];
      return files.map((fullName) => {
        const { name, ext } = path_1.default.parse(fullName);
        return executableExtensions.includes(ext.toLowerCase()) ? name : fullName;
      });
    }
    function buildCommandNotFoundHint(scriptName, scripts) {
      let hint = `Command "${scriptName}" not found.`;
      const nearestCommand = getNearestScript(scriptName, scripts);
      if (nearestCommand) {
        hint += ` Did you mean "pnpm run ${nearestCommand}"?`;
      }
      return hint;
    }
    function getNearestScript(scriptName, scripts) {
      return getNearest(scriptName, Object.keys(scripts ?? []));
    }
    function getNearest(name, list) {
      if (list == null || list.length === 0)
        return null;
      return (0, didyoumean2_1.default)(name, list, {
        returnType: didyoumean2_1.ReturnTypeEnums.FIRST_CLOSEST_MATCH
      });
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/runDepsStatusCheck.js
var require_runDepsStatusCheck = __commonJS({
  "../exec/plugin-commands-script-runners/lib/runDepsStatusCheck.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runDepsStatusCheck = runDepsStatusCheck;
    exports2.createInstallArgs = createInstallArgs;
    var error_1 = require_lib6();
    var exec_pnpm_cli_runner_1 = require_lib173();
    var logger_1 = require_lib();
    var deps_status_1 = require_lib141();
    var enquirer_1 = require_enquirer();
    async function runDepsStatusCheck(opts) {
      const ignoredWorkspaceStateSettings = ["dev", "optional", "production"];
      opts.ignoredWorkspaceStateSettings = ignoredWorkspaceStateSettings;
      const { upToDate, issue, workspaceState } = await (0, deps_status_1.checkDepsStatus)(opts);
      if (upToDate)
        return;
      const command = ["install", ...createInstallArgs(workspaceState?.settings)];
      const install = exec_pnpm_cli_runner_1.runPnpmCli.bind(null, command, { cwd: opts.dir });
      switch (opts.verifyDepsBeforeRun) {
        case "install":
          install();
          break;
        case "prompt": {
          const confirmed = await (0, enquirer_1.prompt)({
            type: "confirm",
            name: "runInstall",
            message: `Your "node_modules" directory is out of sync with the "pnpm-lock.yaml" file. This can lead to issues during scripts execution.

Would you like to run "pnpm ${command.join(" ")}" to update your "node_modules"?`,
            initial: true
          });
          if (confirmed.runInstall) {
            install();
          }
          break;
        }
        case "error":
          throw new error_1.PnpmError("VERIFY_DEPS_BEFORE_RUN", issue ?? "Your node_modules are out of sync with your lockfile", {
            hint: 'Run "pnpm install"'
          });
        case "warn":
          (0, logger_1.globalWarn)(`Your node_modules are out of sync with your lockfile. ${issue}`);
          break;
      }
    }
    function createInstallArgs(opts) {
      const args = [];
      if (!opts)
        return args;
      const { dev, optional, production } = opts;
      if (production && !dev) {
        args.push("--production");
      } else if (dev && !production) {
        args.push("--dev");
      }
      if (!optional) {
        args.push("--no-optional");
      }
      return args;
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/run.js
var require_run = __commonJS({
  "../exec/plugin-commands-script-runners/lib/run.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.completion = exports2.shorthands = exports2.REPORTER_HIDE_PREFIX_HELP = exports2.REPORT_SUMMARY_OPTION_HELP = exports2.SEQUENTIAL_OPTION_HELP = exports2.RESUME_FROM_OPTION_HELP = exports2.PARALLEL_OPTION_HELP = exports2.IF_PRESENT_OPTION_HELP = exports2.IF_PRESENT_OPTION = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    exports2.runScript = runScript;
    var path_1 = __importDefault2(require("path"));
    var p_limit_12 = __importDefault2(require_p_limit());
    var cli_utils_1 = require_lib33();
    var plugin_commands_env_1 = require_lib82();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var lifecycle_1 = require_lib77();
    var workspace_injected_deps_syncer_1 = require_lib184();
    var pick_1 = __importDefault2(require_pick());
    var realpath_missing_1 = __importDefault2(require_realpath_missing());
    var render_help_1 = __importDefault2(require_lib47());
    var runRecursive_1 = require_runRecursive();
    var existsInDir_1 = require_existsInDir();
    var exec_1 = require_exec();
    var buildCommandNotFoundHint_1 = require_buildCommandNotFoundHint();
    var runDepsStatusCheck_1 = require_runDepsStatusCheck();
    exports2.IF_PRESENT_OPTION = {
      "if-present": Boolean
    };
    exports2.IF_PRESENT_OPTION_HELP = {
      description: "Avoid exiting with a non-zero exit code when the script is undefined",
      name: "--if-present"
    };
    exports2.PARALLEL_OPTION_HELP = {
      description: "Completely disregard concurrency and topological sorting, running a given script immediately in all matching packages with prefixed streaming output. This is the preferred flag for long-running processes such as watch run over many packages.",
      name: "--parallel"
    };
    exports2.RESUME_FROM_OPTION_HELP = {
      description: "Command executed from given package",
      name: "--resume-from"
    };
    exports2.SEQUENTIAL_OPTION_HELP = {
      description: "Run the specified scripts one by one",
      name: "--sequential"
    };
    exports2.REPORT_SUMMARY_OPTION_HELP = {
      description: 'Save the execution results of every package to "pnpm-exec-summary.json". Useful to inspect the execution time and status of each package.',
      name: "--report-summary"
    };
    exports2.REPORTER_HIDE_PREFIX_HELP = {
      description: "Hide project name prefix from output of running scripts. Useful when running in CI like GitHub Actions and the output from a script may create an annotation.",
      name: "--reporter-hide-prefix"
    };
    exports2.shorthands = {
      parallel: [
        "--workspace-concurrency=Infinity",
        "--no-sort",
        "--stream",
        "--recursive"
      ],
      sequential: [
        "--workspace-concurrency=1"
      ]
    };
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "npm-path",
          "use-node-version"
        ], config_1.types)
      };
    }
    function cliOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "bail",
          "sort",
          "unsafe-perm",
          "use-node-version",
          "workspace-concurrency",
          "scripts-prepend-node-path"
        ], config_1.types),
        ...exports2.IF_PRESENT_OPTION,
        recursive: Boolean,
        reverse: Boolean,
        "resume-from": String,
        "report-summary": Boolean,
        "reporter-hide-prefix": Boolean
      };
    }
    var completion = async (cliOpts, params) => {
      if (params.length > 0) {
        return [];
      }
      const manifest = await (0, cli_utils_1.readProjectManifestOnly)(cliOpts.dir ?? process.cwd(), cliOpts);
      return Object.keys(manifest.scripts ?? {}).map((name) => ({ name }));
    };
    exports2.completion = completion;
    exports2.commandNames = ["run", "run-script"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["run-script"],
        description: "Runs a defined package script.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: 'Run the defined package script in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "The command will exit with a 0 exit code even if the script fails",
                name: "--no-bail"
              },
              exports2.IF_PRESENT_OPTION_HELP,
              exports2.PARALLEL_OPTION_HELP,
              exports2.RESUME_FROM_OPTION_HELP,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS,
              exports2.SEQUENTIAL_OPTION_HELP,
              exports2.REPORT_SUMMARY_OPTION_HELP,
              exports2.REPORTER_HIDE_PREFIX_HELP
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("run"),
        usages: ["pnpm run <command> [<args>...]"]
      });
    }
    async function handler(opts, params) {
      let dir;
      if (opts.fallbackCommandUsed && (params[0] === "t" || params[0] === "tst")) {
        params[0] = "test";
      }
      const [scriptName, ...passedThruArgs] = params;
      if (opts.verifyDepsBeforeRun) {
        await (0, runDepsStatusCheck_1.runDepsStatusCheck)(opts);
      }
      if (opts.nodeOptions) {
        opts.extraEnv = {
          ...opts.extraEnv,
          NODE_OPTIONS: opts.nodeOptions
        };
      }
      if (opts.recursive) {
        if (scriptName || Object.keys(opts.selectedProjectsGraph).length > 1) {
          return (0, runRecursive_1.runRecursive)(params, opts);
        }
        dir = Object.keys(opts.selectedProjectsGraph)[0];
      } else {
        dir = opts.dir;
      }
      const manifest = await (0, cli_utils_1.readProjectManifestOnly)(dir, opts);
      if (!scriptName) {
        const rootManifest = opts.workspaceDir && opts.workspaceDir !== dir ? (await (0, cli_utils_1.tryReadProjectManifest)(opts.workspaceDir, opts)).manifest : void 0;
        return printProjectCommands(manifest, rootManifest ?? void 0);
      }
      const specifiedScripts = getSpecifiedScripts(manifest.scripts ?? {}, scriptName);
      if (specifiedScripts.length < 1) {
        if (opts.ifPresent)
          return;
        if (opts.fallbackCommandUsed) {
          if (opts.argv == null)
            throw new Error("Could not fallback because opts.argv.original was not passed to the script runner");
          const params2 = opts.argv.original.slice(1);
          while (params2.length > 0 && params2[0].startsWith("-") && params2[0] !== "--") {
            params2.shift();
          }
          if (params2.length > 0 && params2[0] === "--") {
            params2.shift();
          }
          if (params2.length === 0) {
            throw new error_1.PnpmError("UNEXPECTED_BEHAVIOR", "Params should not be an empty array", {
              hint: "This was a bug caused by programmer error. Please report it"
            });
          }
          return (0, exec_1.handler)({
            selectedProjectsGraph: {},
            implicitlyFellbackFromRun: true,
            ...opts
          }, params2);
        }
        if (opts.workspaceDir) {
          const { manifest: rootManifest } = await (0, cli_utils_1.tryReadProjectManifest)(opts.workspaceDir, opts);
          if (getSpecifiedScripts(rootManifest?.scripts ?? {}, scriptName).length > 0 && specifiedScripts.length < 1) {
            throw new error_1.PnpmError("NO_SCRIPT", `Missing script: ${scriptName}`, {
              hint: `But script matched with ${scriptName} is present in the root of the workspace,
so you may run "pnpm -w run ${scriptName}"`
            });
          }
        }
        throw new error_1.PnpmError("NO_SCRIPT", `Missing script: ${scriptName}`, {
          hint: (0, buildCommandNotFoundHint_1.buildCommandNotFoundHint)(scriptName, manifest.scripts)
        });
      }
      const concurrency = opts.workspaceConcurrency ?? 4;
      const lifecycleOpts = {
        depPath: dir,
        extraBinPaths: opts.extraBinPaths,
        extraEnv: opts.extraEnv,
        pkgRoot: dir,
        rawConfig: opts.rawConfig,
        rootModulesDir: await (0, realpath_missing_1.default)(path_1.default.join(dir, "node_modules")),
        scriptsPrependNodePath: opts.scriptsPrependNodePath,
        scriptShell: opts.scriptShell,
        silent: opts.reporter === "silent",
        shellEmulator: opts.shellEmulator,
        stdio: specifiedScripts.length > 1 && concurrency > 1 ? "pipe" : "inherit",
        unsafePerm: true
        // when running scripts explicitly, assume that they're trusted.
      };
      const executionEnv = manifest.pnpm?.executionEnv;
      if (executionEnv != null) {
        lifecycleOpts.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, { executionEnv })).extraBinPaths;
      }
      const existsPnp = existsInDir_1.existsInDir.bind(null, ".pnp.cjs");
      const pnpPath = (opts.workspaceDir && existsPnp(opts.workspaceDir)) ?? existsPnp(dir);
      if (pnpPath) {
        lifecycleOpts.extraEnv = {
          ...lifecycleOpts.extraEnv,
          ...(0, lifecycle_1.makeNodeRequireOption)(pnpPath)
        };
      }
      try {
        const limitRun = (0, p_limit_12.default)(concurrency);
        const runScriptOptions = {
          enablePrePostScripts: opts.enablePrePostScripts ?? false,
          syncInjectedDepsAfterScripts: opts.syncInjectedDepsAfterScripts,
          workspaceDir: opts.workspaceDir
        };
        const _runScript = runScript.bind(null, { manifest, lifecycleOpts, runScriptOptions, passedThruArgs });
        await Promise.all(specifiedScripts.map((script) => limitRun(() => _runScript(script))));
      } catch (err) {
        if (opts.bail !== false) {
          throw err;
        }
      }
      return void 0;
    }
    var ALL_LIFECYCLE_SCRIPTS = /* @__PURE__ */ new Set([
      "prepublish",
      "prepare",
      "prepublishOnly",
      "prepack",
      "postpack",
      "publish",
      "postpublish",
      "preinstall",
      "install",
      "postinstall",
      "preuninstall",
      "uninstall",
      "postuninstall",
      "preversion",
      "version",
      "postversion",
      "pretest",
      "test",
      "posttest",
      "prestop",
      "stop",
      "poststop",
      "prestart",
      "start",
      "poststart",
      "prerestart",
      "restart",
      "postrestart",
      "preshrinkwrap",
      "shrinkwrap",
      "postshrinkwrap"
    ]);
    function printProjectCommands(manifest, rootManifest) {
      const lifecycleScripts = [];
      const otherScripts = [];
      for (const [scriptName, script] of Object.entries(manifest.scripts ?? {})) {
        if (ALL_LIFECYCLE_SCRIPTS.has(scriptName)) {
          lifecycleScripts.push([scriptName, script]);
        } else {
          otherScripts.push([scriptName, script]);
        }
      }
      if (lifecycleScripts.length === 0 && otherScripts.length === 0) {
        return "There are no scripts specified.";
      }
      let output = "";
      if (lifecycleScripts.length > 0) {
        output += `Lifecycle scripts:
${renderCommands(lifecycleScripts)}`;
      }
      if (otherScripts.length > 0) {
        if (output !== "")
          output += "\n\n";
        output += `Commands available via "pnpm run":
${renderCommands(otherScripts)}`;
      }
      if (rootManifest?.scripts == null) {
        return output;
      }
      const rootScripts = Object.entries(rootManifest.scripts);
      if (rootScripts.length === 0) {
        return output;
      }
      if (output !== "")
        output += "\n\n";
      output += `Commands of the root workspace project (to run them, use "pnpm -w run"):
${renderCommands(rootScripts)}`;
      return output;
    }
    async function runScript(opts, scriptName) {
      if (opts.runScriptOptions.enablePrePostScripts && opts.manifest.scripts?.[`pre${scriptName}`] && !opts.manifest.scripts[scriptName].includes(`pre${scriptName}`)) {
        await (0, lifecycle_1.runLifecycleHook)(`pre${scriptName}`, opts.manifest, opts.lifecycleOpts);
      }
      await (0, lifecycle_1.runLifecycleHook)(scriptName, opts.manifest, { ...opts.lifecycleOpts, args: opts.passedThruArgs });
      if (opts.runScriptOptions.enablePrePostScripts && opts.manifest.scripts?.[`post${scriptName}`] && !opts.manifest.scripts[scriptName].includes(`post${scriptName}`)) {
        await (0, lifecycle_1.runLifecycleHook)(`post${scriptName}`, opts.manifest, opts.lifecycleOpts);
      }
      if (opts.runScriptOptions.syncInjectedDepsAfterScripts?.includes(scriptName)) {
        await (0, workspace_injected_deps_syncer_1.syncInjectedDeps)({
          pkgName: opts.manifest.name,
          pkgRootDir: opts.lifecycleOpts.pkgRoot,
          workspaceDir: opts.runScriptOptions.workspaceDir
        });
      }
    }
    function renderCommands(commands) {
      return commands.map(([scriptName, script]) => `  ${scriptName}
    ${script}`).join("\n");
    }
    function getSpecifiedScripts(scripts, scriptName) {
      const specifiedSelector = (0, runRecursive_1.getSpecifiedScripts)(scripts, scriptName);
      if (specifiedSelector.length > 0) {
        return specifiedSelector;
      }
      if (scriptName === "start") {
        return [scriptName];
      }
      return [];
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/exec.js
var require_exec = __commonJS({
  "../exec/plugin-commands-script-runners/lib/exec.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cliOptionsTypes = exports2.commandNames = exports2.shorthands = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.help = help;
    exports2.getResumedPackageChunks = getResumedPackageChunks;
    exports2.writeRecursiveSummary = writeRecursiveSummary;
    exports2.createEmptyRecursiveSummary = createEmptyRecursiveSummary;
    exports2.getExecutionDuration = getExecutionDuration;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var core_loggers_1 = require_lib28();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var lifecycle_1 = require_lib77();
    var logger_1 = require_lib();
    var read_project_manifest_1 = require_lib13();
    var plugin_commands_env_1 = require_lib82();
    var sort_packages_1 = require_lib120();
    var execa_1 = __importDefault2(require_lib14());
    var p_limit_12 = __importDefault2(require_p_limit());
    var env_path_1 = require_lib183();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var existsInDir_1 = require_existsInDir();
    var makeEnv_1 = require_makeEnv();
    var run_1 = require_run();
    var error_1 = require_lib6();
    var which_1 = __importDefault2(require_lib17());
    var write_json_file_1 = __importDefault2(require_write_json_file());
    var buildCommandNotFoundHint_1 = require_buildCommandNotFoundHint();
    var runDepsStatusCheck_1 = require_runDepsStatusCheck();
    exports2.shorthands = {
      parallel: run_1.shorthands.parallel,
      c: "--shell-mode"
    };
    exports2.commandNames = ["exec"];
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "bail",
          "sort",
          "use-node-version",
          "unsafe-perm",
          "workspace-concurrency",
          "reporter-hide-prefix"
        ], config_1.types),
        "shell-mode": Boolean,
        "resume-from": String,
        "report-summary": Boolean
      };
    }
    var cliOptionsTypes = () => ({
      ...rcOptionsTypes(),
      recursive: Boolean,
      reverse: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    function help() {
      return (0, render_help_1.default)({
        description: "Run a shell command in the context of a project.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Do not hide project name prefix from output of recursively running command.",
                name: "--no-reporter-hide-prefix"
              },
              run_1.PARALLEL_OPTION_HELP,
              {
                description: 'Run the shell command in every package found in subdirectories or every workspace package, when executed inside a workspace. For options that may be used with `-r`, see "pnpm help recursive"',
                name: "--recursive",
                shortAlias: "-r"
              },
              {
                description: "If exist, runs file inside of a shell. Uses /bin/sh on UNIX and \\cmd.exe on Windows. The shell should understand the -c switch on UNIX or /d /s /c on Windows.",
                name: "--shell-mode",
                shortAlias: "-c"
              },
              run_1.RESUME_FROM_OPTION_HELP,
              run_1.REPORT_SUMMARY_OPTION_HELP,
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("exec"),
        usages: ["pnpm [-r] [-c] exec <command> [args...]"]
      });
    }
    function getResumedPackageChunks({ resumeFrom, chunks, selectedProjectsGraph }) {
      const resumeFromPackagePrefix = Object.keys(selectedProjectsGraph).find((prefix) => selectedProjectsGraph[prefix]?.package.manifest.name === resumeFrom);
      if (!resumeFromPackagePrefix) {
        throw new error_1.PnpmError("RESUME_FROM_NOT_FOUND", `Cannot find package ${resumeFrom}. Could not determine where to resume from.`);
      }
      const chunkPosition = chunks.findIndex((chunk) => chunk.includes(resumeFromPackagePrefix));
      return chunks.slice(chunkPosition);
    }
    async function writeRecursiveSummary(opts) {
      await (0, write_json_file_1.default)(path_1.default.join(opts.dir, "pnpm-exec-summary.json"), {
        executionStatus: opts.summary
      });
    }
    function createEmptyRecursiveSummary(chunks) {
      const acc = {};
      for (const prefix of chunks.flat()) {
        acc[prefix] = { status: "queued" };
      }
      return acc;
    }
    function getExecutionDuration(start) {
      const end = process.hrtime(start);
      return (end[0] * 1e9 + end[1]) / 1e6;
    }
    async function handler(opts, params) {
      if (params[0] === "--") {
        params.shift();
      }
      if (!params[0]) {
        throw new error_1.PnpmError("EXEC_MISSING_COMMAND", "'pnpm exec' requires a command to run");
      }
      const limitRun = (0, p_limit_12.default)(opts.workspaceConcurrency ?? 4);
      if (opts.verifyDepsBeforeRun) {
        await (0, runDepsStatusCheck_1.runDepsStatusCheck)(opts);
      }
      let chunks;
      if (opts.recursive) {
        chunks = opts.sort ? (0, sort_packages_1.sortPackages)(opts.selectedProjectsGraph) : [Object.keys(opts.selectedProjectsGraph).sort()];
        if (opts.reverse) {
          chunks = chunks.reverse();
        }
      } else {
        chunks = [[opts.dir]];
        const project = await (0, read_project_manifest_1.tryReadProjectManifest)(opts.dir);
        if (project.manifest != null) {
          opts.selectedProjectsGraph = {
            [opts.dir]: {
              dependencies: [],
              package: {
                ...project,
                rootDir: opts.dir,
                rootDirRealPath: opts.dir
              }
            }
          };
        }
      }
      if (!opts.selectedProjectsGraph) {
        throw new error_1.PnpmError("RECURSIVE_EXEC_NO_PACKAGE", "No package found in this workspace");
      }
      if (opts.resumeFrom) {
        chunks = getResumedPackageChunks({
          resumeFrom: opts.resumeFrom,
          chunks,
          selectedProjectsGraph: opts.selectedProjectsGraph
        });
      }
      const result2 = createEmptyRecursiveSummary(chunks);
      const existsPnp = existsInDir_1.existsInDir.bind(null, ".pnp.cjs");
      const workspacePnpPath = opts.workspaceDir && existsPnp(opts.workspaceDir);
      let exitCode = 0;
      const mapPrefixToPrependPaths = {};
      await Promise.all(chunks.flat().map(async (prefix) => {
        const executionEnv = await (0, plugin_commands_env_1.prepareExecutionEnv)(opts, {
          extraBinPaths: opts.extraBinPaths,
          executionEnv: opts.selectedProjectsGraph[prefix]?.package.manifest.pnpm?.executionEnv
        });
        mapPrefixToPrependPaths[prefix] = [
          "./node_modules/.bin",
          ...executionEnv.extraBinPaths
        ];
      }));
      const reporterShowPrefix = opts.recursive && opts.reporterHidePrefix === false;
      for (const chunk of chunks) {
        await Promise.all(chunk.map(async (prefix) => limitRun(async () => {
          const prependPaths = mapPrefixToPrependPaths[prefix];
          result2[prefix].status = "running";
          const startTime = process.hrtime();
          try {
            const pnpPath = workspacePnpPath ?? existsPnp(prefix);
            const extraEnv = {
              ...opts.extraEnv,
              ...pnpPath ? (0, lifecycle_1.makeNodeRequireOption)(pnpPath) : {}
            };
            const env = (0, makeEnv_1.makeEnv)({
              extraEnv: {
                ...extraEnv,
                PNPM_PACKAGE_NAME: opts.selectedProjectsGraph[prefix]?.package.manifest.name,
                ...opts.nodeOptions ? { NODE_OPTIONS: opts.nodeOptions } : {}
              },
              prependPaths,
              userAgent: opts.userAgent
            });
            const [cmd, ...args] = params;
            if (reporterShowPrefix) {
              const manifest = await (0, cli_utils_1.readProjectManifestOnly)(prefix);
              const child = (0, execa_1.default)(cmd, args, {
                cwd: prefix,
                env,
                stdio: "pipe",
                shell: opts.shellMode ?? false
              });
              const lifecycleOpts = {
                wd: prefix,
                depPath: manifest.name ?? path_1.default.relative(opts.dir, prefix),
                stage: "(exec)"
              };
              const logFn = (stdio) => (data) => {
                for (const line of String(data).split("\n")) {
                  core_loggers_1.lifecycleLogger.debug({
                    ...lifecycleOpts,
                    stdio,
                    line
                  });
                }
              };
              child.stdout.on("data", logFn("stdout"));
              child.stderr.on("data", logFn("stderr"));
              void child.once("close", (exitCode2) => {
                core_loggers_1.lifecycleLogger.debug({
                  ...lifecycleOpts,
                  exitCode: exitCode2 ?? 1,
                  optional: false
                });
              });
              await child;
            } else {
              await (0, execa_1.default)(cmd, args, {
                cwd: prefix,
                env,
                stdio: "inherit",
                shell: opts.shellMode ?? false
              });
            }
            result2[prefix].status = "passed";
            result2[prefix].duration = getExecutionDuration(startTime);
          } catch (err) {
            if (isErrorCommandNotFound(params[0], err, prependPaths)) {
              err.message = `Command "${params[0]}" not found`;
              err.hint = await createExecCommandNotFoundHint(params[0], {
                implicitlyFellbackFromRun: opts.implicitlyFellbackFromRun ?? false,
                dir: opts.dir,
                workspaceDir: opts.workspaceDir,
                modulesDir: opts.modulesDir ?? "node_modules"
              });
            } else if (!opts.recursive && typeof err.exitCode === "number") {
              exitCode = err.exitCode;
              return;
            }
            logger_1.logger.info(err);
            result2[prefix] = {
              status: "failure",
              duration: getExecutionDuration(startTime),
              error: err,
              message: err.message,
              prefix
            };
            if (!opts.bail) {
              return;
            }
            if (!err["code"]?.startsWith("ERR_PNPM_")) {
              err["code"] = "ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL";
            }
            err["prefix"] = prefix;
            opts.reportSummary && await writeRecursiveSummary({
              dir: opts.lockfileDir ?? opts.dir,
              summary: result2
            });
            throw err;
          }
        })));
      }
      opts.reportSummary && await writeRecursiveSummary({
        dir: opts.lockfileDir ?? opts.dir,
        summary: result2
      });
      (0, cli_utils_1.throwOnCommandFail)("pnpm recursive exec", result2);
      return { exitCode };
    }
    async function createExecCommandNotFoundHint(programName, opts) {
      if (opts.implicitlyFellbackFromRun) {
        let nearestScript;
        try {
          nearestScript = (0, buildCommandNotFoundHint_1.getNearestScript)(programName, (await (0, cli_utils_1.readProjectManifestOnly)(opts.dir)).scripts);
        } catch {
        }
        if (nearestScript) {
          return `Did you mean "pnpm ${nearestScript}"?`;
        }
        const nearestProgram2 = (0, buildCommandNotFoundHint_1.getNearestProgram)({
          programName,
          dir: opts.dir,
          workspaceDir: opts.workspaceDir,
          modulesDir: opts.modulesDir
        });
        if (nearestProgram2) {
          return `Did you mean "pnpm ${nearestProgram2}"?`;
        }
        return void 0;
      }
      const nearestProgram = (0, buildCommandNotFoundHint_1.getNearestProgram)({
        programName,
        dir: opts.dir,
        workspaceDir: opts.workspaceDir,
        modulesDir: opts.modulesDir
      });
      if (nearestProgram) {
        return `Did you mean "pnpm exec ${nearestProgram}"?`;
      }
      return void 0;
    }
    function isErrorCommandNotFound(command, error, prependPaths) {
      if (process.platform === "linux" || process.platform === "darwin") {
        return error.originalMessage === `spawn ${command} ENOENT`;
      }
      if (process.platform === "win32") {
        const { value: path2 } = (0, env_path_1.prependDirsToPath)(prependPaths);
        return !which_1.default.sync(command, {
          nothrow: true,
          path: path2
        });
      }
      return false;
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/restart.js
var require_restart = __commonJS({
  "../exec/plugin-commands-script-runners/lib/restart.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = void 0;
    exports2.rcOptionsTypes = rcOptionsTypes;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var config_1 = require_lib19();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var run_1 = require_run();
    function rcOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "npm-path"
        ], config_1.types)
      };
    }
    function cliOptionsTypes() {
      return run_1.IF_PRESENT_OPTION;
    }
    exports2.commandNames = ["restart"];
    function help() {
      return (0, render_help_1.default)({
        description: `Restarts a package. Runs a package's "stop", "restart", and "start" scripts, and associated pre- and post- scripts.`,
        descriptionLists: [
          {
            title: "Options",
            list: [
              run_1.IF_PRESENT_OPTION_HELP
            ]
          }
        ],
        usages: ["pnpm restart [-- <args>...]"]
      });
    }
    async function handler(opts, params) {
      await (0, run_1.handler)(opts, ["stop", ...params]);
      await (0, run_1.handler)(opts, ["restart", ...params]);
      await (0, run_1.handler)(opts, ["start", ...params]);
    }
  }
});

// ../exec/plugin-commands-script-runners/lib/index.js
var require_lib185 = __commonJS({
  "../exec/plugin-commands-script-runners/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.run = exports2.restart = exports2.exec = exports2.dlx = exports2.create = void 0;
    var create = __importStar3(require_create4());
    exports2.create = create;
    var dlx = __importStar3(require_dlx());
    exports2.dlx = dlx;
    var exec = __importStar3(require_exec());
    exports2.exec = exec;
    var restart = __importStar3(require_restart());
    exports2.restart = restart;
    var run = __importStar3(require_run());
    exports2.run = run;
  }
});

// ../node_modules/.pnpm/get-port@5.1.1/node_modules/get-port/index.js
var require_get_port = __commonJS({
  "../node_modules/.pnpm/get-port@5.1.1/node_modules/get-port/index.js"(exports2, module2) {
    "use strict";
    var net = require("net");
    var Locked = class extends Error {
      constructor(port) {
        super(`${port} is locked`);
      }
    };
    var lockedPorts = {
      old: /* @__PURE__ */ new Set(),
      young: /* @__PURE__ */ new Set()
    };
    var releaseOldLockedPortsIntervalMs = 1e3 * 15;
    var interval;
    var getAvailablePort = (options) => new Promise((resolve, reject) => {
      const server = net.createServer();
      server.unref();
      server.on("error", reject);
      server.listen(options, () => {
        const { port } = server.address();
        server.close(() => {
          resolve(port);
        });
      });
    });
    var portCheckSequence = function* (ports) {
      if (ports) {
        yield* ports;
      }
      yield 0;
    };
    module2.exports = async (options) => {
      let ports;
      if (options) {
        ports = typeof options.port === "number" ? [options.port] : options.port;
      }
      if (interval === void 0) {
        interval = setInterval(() => {
          lockedPorts.old = lockedPorts.young;
          lockedPorts.young = /* @__PURE__ */ new Set();
        }, releaseOldLockedPortsIntervalMs);
        if (interval.unref) {
          interval.unref();
        }
      }
      for (const port of portCheckSequence(ports)) {
        try {
          let availablePort = await getAvailablePort({ ...options, port });
          while (lockedPorts.old.has(availablePort) || lockedPorts.young.has(availablePort)) {
            if (port !== 0) {
              throw new Locked(port);
            }
            availablePort = await getAvailablePort({ ...options, port });
          }
          lockedPorts.young.add(availablePort);
          return availablePort;
        } catch (error) {
          if (!["EADDRINUSE", "EACCES"].includes(error.code) && !(error instanceof Locked)) {
            throw error;
          }
        }
      }
      throw new Error("No available ports found");
    };
    module2.exports.makeRange = (from, to) => {
      if (!Number.isInteger(from) || !Number.isInteger(to)) {
        throw new TypeError("`from` and `to` must be integer numbers");
      }
      if (from < 1024 || from > 65535) {
        throw new RangeError("`from` must be between 1024 and 65535");
      }
      if (to < 1024 || to > 65536) {
        throw new RangeError("`to` must be between 1024 and 65536");
      }
      if (to < from) {
        throw new RangeError("`to` must be greater than or equal to `from`");
      }
      const generator = function* (from2, to2) {
        for (let port = from2; port <= to2; port++) {
          yield port;
        }
      };
      return generator(from, to);
    };
  }
});

// ../store/plugin-commands-server/lib/start.js
var require_start = __commonJS({
  "../store/plugin-commands-server/lib/start.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.start = start;
    var fs_1 = require("fs");
    var util_1 = require("util");
    var path_1 = __importDefault2(require("path"));
    var cli_meta_1 = require_lib4();
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var server_1 = require_lib97();
    var store_connection_manager_1 = require_lib106();
    var store_path_1 = require_lib81();
    var diable_1 = __importDefault2(require_lib105());
    var get_port_1 = __importDefault2(require_get_port());
    var is_windows_1 = __importDefault2(require_is_windows());
    var signal_exit_1 = __importDefault2(require_signal_exit());
    var storeServerLogger = (0, logger_1.logger)("store-server");
    var write = (0, util_1.promisify)(fs_1.write);
    var close = (0, util_1.promisify)(fs_1.close);
    var open = (0, util_1.promisify)(fs_1.open);
    async function start(opts) {
      if (opts.protocol === "ipc" && opts.port) {
        throw new Error("Port cannot be selected when server communicates via IPC");
      }
      if (opts.background && !diable_1.default.isDaemon()) {
        (0, diable_1.default)();
      }
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir);
      const serverJsonPath = path_1.default.join(connectionInfoDir, "server.json");
      await fs_1.promises.mkdir(connectionInfoDir, { recursive: true });
      let fd;
      try {
        fd = await open(serverJsonPath, "wx");
      } catch (error) {
        if (error.code !== "EEXIST") {
          throw error;
        }
        throw new error_1.PnpmError("SERVER_MANIFEST_LOCKED", `Canceling startup of server (pid ${process.pid}) because another process got exclusive access to server.json`);
      }
      let server = null;
      (0, signal_exit_1.default)(() => {
        if (server !== null) {
          server.close();
        }
        if (fd !== null) {
          try {
            (0, fs_1.closeSync)(fd);
          } catch (error) {
            storeServerLogger.error(error, "Got error while closing file descriptor of server.json, but the process is already exiting");
          }
        }
        try {
          (0, fs_1.unlinkSync)(serverJsonPath);
        } catch (error) {
          if (error.code !== "ENOENT") {
            storeServerLogger.error(error, "Got error unlinking server.json, but the process is already exiting");
          }
        }
      });
      const store = await (0, store_connection_manager_1.createNewStoreController)(Object.assign(opts, {
        storeDir
      }));
      const protocol = opts.protocol ?? (opts.port ? "tcp" : "auto");
      const serverOptions = await getServerOptions(connectionInfoDir, { protocol, port: opts.port });
      const connectionOptions = {
        remotePrefix: serverOptions.path != null ? `http://unix:${serverOptions.path}:` : `http://${serverOptions.hostname}:${serverOptions.port}`
      };
      server = (0, server_1.createServer)(store.ctrl, {
        ...serverOptions,
        ignoreStopRequests: opts.ignoreStopRequests,
        ignoreUploadRequests: opts.ignoreUploadRequests
      });
      const serverJson = {
        connectionOptions,
        pid: process.pid,
        pnpmVersion: cli_meta_1.packageManager.version
      };
      const serverJsonStr = JSON.stringify(serverJson, void 0, 2);
      const serverJsonBuffer = Buffer.from(serverJsonStr, "utf8");
      await write(fd, serverJsonBuffer, 0, serverJsonBuffer.byteLength);
      const fdForClose = fd;
      fd = null;
      await close(fdForClose);
      await server.waitForClose;
    }
    async function getServerOptions(connectionInfoDir, opts) {
      switch (opts.protocol) {
        case "tcp":
          return getTcpOptions();
        case "ipc":
          if ((0, is_windows_1.default)()) {
            throw new Error("IPC protocol is not supported on Windows currently");
          }
          return getIpcOptions();
        case "auto":
          if ((0, is_windows_1.default)()) {
            return getTcpOptions();
          }
          return getIpcOptions();
        default:
          throw new Error(`Protocol ${opts.protocol} is not supported`);
      }
      async function getTcpOptions() {
        return {
          hostname: "localhost",
          port: opts.port || await (0, get_port_1.default)({ port: 5813 })
          // eslint-disable-line
        };
      }
      function getIpcOptions() {
        return {
          path: path_1.default.join(connectionInfoDir, "socket")
        };
      }
    }
  }
});

// ../store/plugin-commands-server/lib/status.js
var require_status = __commonJS({
  "../store/plugin-commands-server/lib/status.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.status = status;
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var store_connection_manager_1 = require_lib106();
    var store_path_1 = require_lib81();
    async function status(opts) {
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir);
      const serverJson = await (0, store_connection_manager_1.tryLoadServerJson)({
        serverJsonPath: path_1.default.join(connectionInfoDir, "server.json"),
        shouldRetryOnNoent: false
      });
      if (serverJson === null) {
        (0, logger_1.globalInfo)(`No server is running for the store at ${storeDir}`);
        return;
      }
      console.log(`store: ${storeDir}
process id: ${serverJson.pid}
remote prefix: ${serverJson.connectionOptions.remotePrefix}`);
    }
  }
});

// ../node_modules/.pnpm/ps-list@6.3.0/node_modules/ps-list/index.js
var require_ps_list = __commonJS({
  "../node_modules/.pnpm/ps-list@6.3.0/node_modules/ps-list/index.js"(exports2, module2) {
    "use strict";
    var util = require("util");
    var path2 = require("path");
    var childProcess = require("child_process");
    var TEN_MEGABYTES = 1e3 * 1e3 * 10;
    var execFile = util.promisify(childProcess.execFile);
    var windows = async () => {
      const bin = path2.join(__dirname, "fastlist.exe");
      const { stdout } = await execFile(bin, { maxBuffer: TEN_MEGABYTES });
      return stdout.trim().split("\r\n").map((line) => line.split("	")).map(([name, pid, ppid]) => ({
        name,
        pid: Number.parseInt(pid, 10),
        ppid: Number.parseInt(ppid, 10)
      }));
    };
    var main = async (options = {}) => {
      const flags = (options.all === false ? "" : "a") + "wwxo";
      const ret2 = {};
      await Promise.all(["comm", "args", "ppid", "uid", "%cpu", "%mem"].map(async (cmd) => {
        const { stdout } = await execFile("ps", [flags, `pid,${cmd}`], { maxBuffer: TEN_MEGABYTES });
        for (let line of stdout.trim().split("\n").slice(1)) {
          line = line.trim();
          const [pid] = line.split(" ", 1);
          const val = line.slice(pid.length + 1).trim();
          if (ret2[pid] === void 0) {
            ret2[pid] = {};
          }
          ret2[pid][cmd] = val;
        }
      }));
      return Object.entries(ret2).filter(([, value]) => value.comm && value.args && value.ppid && value.uid && value["%cpu"] && value["%mem"]).map(([key, value]) => ({
        pid: Number.parseInt(key, 10),
        name: path2.basename(value.comm),
        cmd: value.args,
        ppid: Number.parseInt(value.ppid, 10),
        uid: Number.parseInt(value.uid, 10),
        cpu: Number.parseFloat(value["%cpu"]),
        memory: Number.parseFloat(value["%mem"])
      }));
    };
    module2.exports = process.platform === "win32" ? windows : main;
    module2.exports.default = module2.exports;
  }
});

// ../node_modules/.pnpm/process-exists@4.1.0/node_modules/process-exists/index.js
var require_process_exists = __commonJS({
  "../node_modules/.pnpm/process-exists@4.1.0/node_modules/process-exists/index.js"(exports2, module2) {
    "use strict";
    var psList = require_ps_list();
    var linuxProcessMatchesName = (wantedProcessName, process2) => {
      if (typeof wantedProcessName === "string") {
        return process2.name === wantedProcessName || process2.cmd.split(" ")[0] === wantedProcessName;
      }
      return process2.pid === wantedProcessName;
    };
    var nonLinuxProcessMatchesName = (wantedProcessName, process2) => {
      if (typeof wantedProcessName === "string") {
        return process2.name === wantedProcessName;
      }
      return process2.pid === wantedProcessName;
    };
    var processMatchesName = process.platform === "linux" ? linuxProcessMatchesName : nonLinuxProcessMatchesName;
    module2.exports = async (processName) => {
      const processes = await psList();
      return processes.some((x) => processMatchesName(processName, x));
    };
    module2.exports.all = async (processName) => {
      const processes = await psList();
      return new Map(processName.map((x) => [x, processes.some((y) => processMatchesName(x, y))]));
    };
    module2.exports.filterExists = async (processNames) => {
      const processes = await psList();
      return processNames.filter((x) => processes.some((y) => processMatchesName(x, y)));
    };
  }
});

// ../node_modules/.pnpm/tree-kill@1.2.2/node_modules/tree-kill/index.js
var require_tree_kill = __commonJS({
  "../node_modules/.pnpm/tree-kill@1.2.2/node_modules/tree-kill/index.js"(exports2, module2) {
    "use strict";
    var childProcess = require("child_process");
    var spawn = childProcess.spawn;
    var exec = childProcess.exec;
    module2.exports = function(pid, signal, callback) {
      if (typeof signal === "function" && callback === void 0) {
        callback = signal;
        signal = void 0;
      }
      pid = parseInt(pid);
      if (Number.isNaN(pid)) {
        if (callback) {
          return callback(new Error("pid must be a number"));
        } else {
          throw new Error("pid must be a number");
        }
      }
      var tree = {};
      var pidsToProcess = {};
      tree[pid] = [];
      pidsToProcess[pid] = 1;
      switch (process.platform) {
        case "win32":
          exec("taskkill /pid " + pid + " /T /F", callback);
          break;
        case "darwin":
          buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
            return spawn("pgrep", ["-P", parentPid]);
          }, function() {
            killAll(tree, signal, callback);
          });
          break;
        // case 'sunos':
        //     buildProcessTreeSunOS(pid, tree, pidsToProcess, function () {
        //         killAll(tree, signal, callback);
        //     });
        //     break;
        default:
          buildProcessTree(pid, tree, pidsToProcess, function(parentPid) {
            return spawn("ps", ["-o", "pid", "--no-headers", "--ppid", parentPid]);
          }, function() {
            killAll(tree, signal, callback);
          });
          break;
      }
    };
    function killAll(tree, signal, callback) {
      var killed = {};
      try {
        Object.keys(tree).forEach(function(pid) {
          tree[pid].forEach(function(pidpid) {
            if (!killed[pidpid]) {
              killPid(pidpid, signal);
              killed[pidpid] = 1;
            }
          });
          if (!killed[pid]) {
            killPid(pid, signal);
            killed[pid] = 1;
          }
        });
      } catch (err) {
        if (callback) {
          return callback(err);
        } else {
          throw err;
        }
      }
      if (callback) {
        return callback();
      }
    }
    function killPid(pid, signal) {
      try {
        process.kill(parseInt(pid, 10), signal);
      } catch (err) {
        if (err.code !== "ESRCH") throw err;
      }
    }
    function buildProcessTree(parentPid, tree, pidsToProcess, spawnChildProcessesList, cb) {
      var ps = spawnChildProcessesList(parentPid);
      var allData = "";
      ps.stdout.on("data", function(data) {
        var data = data.toString("ascii");
        allData += data;
      });
      var onClose = function(code) {
        delete pidsToProcess[parentPid];
        if (code != 0) {
          if (Object.keys(pidsToProcess).length == 0) {
            cb();
          }
          return;
        }
        allData.match(/\d+/g).forEach(function(pid) {
          pid = parseInt(pid, 10);
          tree[parentPid].push(pid);
          tree[pid] = [];
          pidsToProcess[pid] = 1;
          buildProcessTree(pid, tree, pidsToProcess, spawnChildProcessesList, cb);
        });
      };
      ps.on("close", onClose);
    }
  }
});

// ../store/plugin-commands-server/lib/stop.js
var require_stop = __commonJS({
  "../store/plugin-commands-server/lib/stop.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.stop = stop;
    var util_1 = require("util");
    var path_1 = __importDefault2(require("path"));
    var logger_1 = require_lib();
    var server_1 = require_lib97();
    var store_connection_manager_1 = require_lib106();
    var store_path_1 = require_lib81();
    var delay_1 = __importDefault2(require_delay2());
    var process_exists_1 = __importDefault2(require_process_exists());
    var tree_kill_1 = __importDefault2(require_tree_kill());
    var kill = (0, util_1.promisify)(tree_kill_1.default);
    async function stop(opts) {
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: opts.dir,
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const connectionInfoDir = (0, store_connection_manager_1.serverConnectionInfoDir)(storeDir);
      const serverJson = await (0, store_connection_manager_1.tryLoadServerJson)({
        serverJsonPath: path_1.default.join(connectionInfoDir, "server.json"),
        shouldRetryOnNoent: false
      });
      if (serverJson === null) {
        (0, logger_1.globalInfo)(`Nothing to stop. No server is running for the store at ${storeDir}`);
        return;
      }
      const storeController = await (0, server_1.connectStoreController)(serverJson.connectionOptions);
      await storeController.stop();
      if (await serverGracefullyStops(serverJson.pid)) {
        (0, logger_1.globalInfo)("Server gracefully stopped");
        return;
      }
      (0, logger_1.globalWarn)("Graceful shutdown failed");
      await kill(serverJson.pid, "SIGINT");
      (0, logger_1.globalInfo)("Server process terminated");
    }
    async function serverGracefullyStops(pid) {
      if (!await (0, process_exists_1.default)(pid))
        return true;
      await (0, delay_1.default)(5e3);
      return !await (0, process_exists_1.default)(pid);
    }
  }
});

// ../store/plugin-commands-server/lib/server.js
var require_server = __commonJS({
  "../store/plugin-commands-server/lib/server.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var start_1 = require_start();
    var status_1 = require_status();
    var stop_1 = require_stop();
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {
        ...(0, pick_1.default)([
          "store-dir"
        ], config_1.types),
        background: Boolean,
        "ignore-stop-requests": Boolean,
        "ignore-upload-requests": Boolean,
        port: Number,
        protocol: ["auto", "tcp", "ipc"]
      };
    }
    exports2.commandNames = ["server"];
    function help() {
      return (0, render_help_1.default)({
        description: "Manage a store server",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                description: "Starts a service that does all interactions with the store. Other commands will delegate any store-related tasks to this service",
                name: "start"
              },
              {
                description: "Stops the store server",
                name: "stop"
              },
              {
                description: "Prints information about the running server",
                name: "status"
              }
            ]
          },
          {
            title: "Start options",
            list: [
              {
                description: "Runs the server in the background",
                name: "--background"
              },
              {
                description: "The communication protocol used by the server",
                name: "--protocol <auto|tcp|ipc>"
              },
              {
                description: "The port number to use, when TCP is used for communication",
                name: "--port <number>"
              },
              common_cli_options_help_1.OPTIONS.storeDir,
              {
                description: "Maximum number of concurrent network requests",
                name: "--network-concurrency <number>"
              },
              {
                description: "If false, doesn't check whether packages in the store were mutated",
                name: "--[no-]verify-store-integrity"
              },
              {
                name: "--[no-]lock"
              },
              {
                description: "Disallows stopping the server using `pnpm server stop`",
                name: "--ignore-stop-requests"
              },
              {
                description: "Disallows creating new side effect cache during install",
                name: "--ignore-upload-requests"
              },
              ...common_cli_options_help_1.UNIVERSAL_OPTIONS
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("server"),
        usages: ["pnpm server <command>"]
      });
    }
    function handler(opts, params) {
      opts.protocol = "tcp";
      switch (params[0]) {
        case "start":
          return (0, start_1.start)(opts);
        case "status":
          return (0, status_1.status)(opts);
        case "stop":
          return (0, stop_1.stop)(opts);
        default:
          help();
          if (params[0]) {
            throw new error_1.PnpmError("INVALID_SERVER_COMMAND", `"server ${params[0]}" is not a pnpm command. See "pnpm help server".`);
          }
          return void 0;
      }
    }
  }
});

// ../store/plugin-commands-server/lib/index.js
var require_lib186 = __commonJS({
  "../store/plugin-commands-server/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.server = void 0;
    var server = __importStar3(require_server());
    exports2.server = server;
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.0.1/node_modules/@pnpm/os.env.path-extender-posix/dist/path-extender-posix.js
var require_path_extender_posix = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.0.1/node_modules/@pnpm/os.env.path-extender-posix/dist/path-extender-posix.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addDirToPosixEnvPath = void 0;
    var fs_1 = __importDefault2(require("fs"));
    var os_1 = __importDefault2(require("os"));
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib54();
    var BadShellSectionError = class extends error_1.PnpmError {
      constructor(opts) {
        super("BAD_SHELL_SECTION", `The config file at "${opts.configFile} already contains a ${opts.configSectionName} section but with other configuration`);
        this.current = opts.current;
        this.wanted = opts.wanted;
      }
    };
    async function addDirToPosixEnvPath(dir, opts) {
      const currentShell = detectCurrentShell();
      return await updateShell(currentShell, dir, opts);
    }
    exports2.addDirToPosixEnvPath = addDirToPosixEnvPath;
    function detectCurrentShell() {
      if (process.env.ZSH_VERSION)
        return "zsh";
      if (process.env.BASH_VERSION)
        return "bash";
      if (process.env.FISH_VERSION)
        return "fish";
      return typeof process.env.SHELL === "string" ? path_1.default.basename(process.env.SHELL) : null;
    }
    async function updateShell(currentShell, pnpmHomeDir, opts) {
      switch (currentShell) {
        case "bash":
        case "zsh":
        case "ksh":
        case "dash":
        case "sh": {
          return setupShell(currentShell, pnpmHomeDir, opts);
        }
        case "fish": {
          return setupFishShell(pnpmHomeDir, opts);
        }
      }
      const supportedShellsMsg = "Supported shell languages are bash, zsh, fish, ksh, dash, and sh.";
      if (!currentShell)
        throw new error_1.PnpmError("UNKNOWN_SHELL", "Could not infer shell type.", {
          hint: `Set the SHELL environment variable to your active shell.
${supportedShellsMsg}`
        });
      throw new error_1.PnpmError("UNSUPPORTED_SHELL", `Can't setup configuration for "${currentShell}" shell`, {
        hint: supportedShellsMsg
      });
    }
    async function setupShell(shell, dir, opts) {
      const configFile = getConfigFilePath(shell);
      let newSettings;
      const _createPathValue = createPathValue.bind(null, opts.position ?? "start");
      if (opts.proxyVarName) {
        newSettings = `export ${opts.proxyVarName}="${dir}"
case ":$PATH:" in
  *":$${opts.proxyVarName}:"*) ;;
  *) export PATH="${_createPathValue(`$${opts.proxyVarName}`)}" ;;
esac`;
      } else {
        newSettings = `case ":$PATH:" in
  *":${dir}:"*) ;;
  *) export PATH="${_createPathValue(dir)}" ;;
esac`;
      }
      const content = wrapSettings(opts.configSectionName, newSettings);
      const { changeType, oldSettings } = await updateShellConfig(configFile, content, opts);
      return {
        configFile: {
          path: configFile,
          changeType
        },
        oldSettings,
        newSettings
      };
    }
    function getConfigFilePath(shell) {
      switch (shell) {
        case "zsh":
          return path_1.default.join(process.env.ZDOTDIR || os_1.default.homedir(), `.${shell}rc`);
        case "dash":
        case "sh": {
          if (!process.env.ENV) {
            throw new error_1.PnpmError("NO_SHELL_CONFIG", `Cannot find a config file for ${shell}. The ENV environment variable is not set.`);
          }
          return process.env.ENV;
        }
        default:
          return path_1.default.join(os_1.default.homedir(), `.${shell}rc`);
      }
    }
    function createPathValue(position, dir) {
      return position === "start" ? `${dir}:$PATH` : `$PATH:${dir}`;
    }
    async function setupFishShell(dir, opts) {
      const configFile = path_1.default.join(os_1.default.homedir(), ".config/fish/config.fish");
      let newSettings;
      const _createPathValue = createFishPathValue.bind(null, opts.position ?? "start");
      if (opts.proxyVarName) {
        newSettings = `set -gx ${opts.proxyVarName} "${dir}"
if not string match -q -- $${opts.proxyVarName} $PATH
  set -gx PATH ${_createPathValue(`$${opts.proxyVarName}`)}
end`;
      } else {
        newSettings = `if not string match -q -- "${dir}" $PATH
  set -gx PATH ${_createPathValue(dir)}
end`;
      }
      const content = wrapSettings(opts.configSectionName, newSettings);
      const { changeType, oldSettings } = await updateShellConfig(configFile, content, opts);
      return {
        configFile: {
          path: configFile,
          changeType
        },
        oldSettings,
        newSettings
      };
    }
    function wrapSettings(sectionName, settings) {
      return `# ${sectionName}
${settings}
# ${sectionName} end`;
    }
    function createFishPathValue(position, dir) {
      return position === "start" ? `"${dir}" $PATH` : `$PATH "${dir}"`;
    }
    async function updateShellConfig(configFile, newContent, opts) {
      if (!fs_1.default.existsSync(configFile)) {
        await fs_1.default.promises.mkdir(path_1.default.dirname(configFile), { recursive: true });
        await fs_1.default.promises.writeFile(configFile, `${newContent}
`, "utf8");
        return {
          changeType: "created",
          oldSettings: ""
        };
      }
      const configContent = await fs_1.default.promises.readFile(configFile, "utf8");
      const match = new RegExp(`# ${opts.configSectionName}
([\\s\\S]*)
# ${opts.configSectionName} end`, "g").exec(configContent);
      if (!match) {
        await fs_1.default.promises.appendFile(configFile, `
${newContent}
`, "utf8");
        return {
          changeType: "appended",
          oldSettings: ""
        };
      }
      const oldSettings = match[1];
      if (match[0] !== newContent) {
        if (!opts.overwrite) {
          throw new BadShellSectionError({
            configSectionName: opts.configSectionName,
            current: match[0],
            wanted: newContent,
            configFile
          });
        }
        const newConfigContent = replaceSection(configContent, newContent, opts.configSectionName);
        await fs_1.default.promises.writeFile(configFile, newConfigContent, "utf8");
        return {
          changeType: "modified",
          oldSettings
        };
      }
      return {
        changeType: "skipped",
        oldSettings
      };
    }
    function replaceSection(originalContent, newSection, sectionName) {
      return originalContent.replace(new RegExp(`# ${sectionName}[\\s\\S]*# ${sectionName} end`, "g"), newSection);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.0.1/node_modules/@pnpm/os.env.path-extender-posix/dist/index.js
var require_dist28 = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender-posix@2.0.1/node_modules/@pnpm/os.env.path-extender-posix/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addDirToPosixEnvPath = void 0;
    var path_extender_posix_1 = require_path_extender_posix();
    Object.defineProperty(exports2, "addDirToPosixEnvPath", { enumerable: true, get: function() {
      return path_extender_posix_1.addDirToPosixEnvPath;
    } });
  }
});

// ../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js
var require_es_object_atoms = __commonJS({
  "../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js"(exports2, module2) {
    "use strict";
    module2.exports = Object;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js
var require_es_errors = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js"(exports2, module2) {
    "use strict";
    module2.exports = Error;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js
var require_eval = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js"(exports2, module2) {
    "use strict";
    module2.exports = EvalError;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js
var require_range4 = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js"(exports2, module2) {
    "use strict";
    module2.exports = RangeError;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js
var require_ref = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js"(exports2, module2) {
    "use strict";
    module2.exports = ReferenceError;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js
var require_syntax = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js"(exports2, module2) {
    "use strict";
    module2.exports = SyntaxError;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js
var require_type4 = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js"(exports2, module2) {
    "use strict";
    module2.exports = TypeError;
  }
});

// ../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js
var require_uri = __commonJS({
  "../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js"(exports2, module2) {
    "use strict";
    module2.exports = URIError;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js
var require_abs = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.abs;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js
var require_floor = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.floor;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js
var require_max3 = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.max;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js
var require_min3 = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.min;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js
var require_pow = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.pow;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js
var require_round = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js"(exports2, module2) {
    "use strict";
    module2.exports = Math.round;
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js
var require_isNaN = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js"(exports2, module2) {
    "use strict";
    module2.exports = Number.isNaN || function isNaN2(a) {
      return a !== a;
    };
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js
var require_sign = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js"(exports2, module2) {
    "use strict";
    var $isNaN = require_isNaN();
    module2.exports = function sign(number) {
      if ($isNaN(number) || number === 0) {
        return number;
      }
      return number < 0 ? -1 : 1;
    };
  }
});

// ../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js
var require_gOPD = __commonJS({
  "../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js"(exports2, module2) {
    "use strict";
    module2.exports = Object.getOwnPropertyDescriptor;
  }
});

// ../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js
var require_gopd = __commonJS({
  "../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js"(exports2, module2) {
    "use strict";
    var $gOPD = require_gOPD();
    if ($gOPD) {
      try {
        $gOPD([], "length");
      } catch (e) {
        $gOPD = null;
      }
    }
    module2.exports = $gOPD;
  }
});

// ../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js
var require_es_define_property = __commonJS({
  "../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js"(exports2, module2) {
    "use strict";
    var $defineProperty = Object.defineProperty || false;
    if ($defineProperty) {
      try {
        $defineProperty({}, "a", { value: 1 });
      } catch (e) {
        $defineProperty = false;
      }
    }
    module2.exports = $defineProperty;
  }
});

// ../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js
var require_shams = __commonJS({
  "../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js"(exports2, module2) {
    "use strict";
    module2.exports = function hasSymbols() {
      if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") {
        return false;
      }
      if (typeof Symbol.iterator === "symbol") {
        return true;
      }
      var obj = {};
      var sym = Symbol("test");
      var symObj = Object(sym);
      if (typeof sym === "string") {
        return false;
      }
      if (Object.prototype.toString.call(sym) !== "[object Symbol]") {
        return false;
      }
      if (Object.prototype.toString.call(symObj) !== "[object Symbol]") {
        return false;
      }
      var symVal = 42;
      obj[sym] = symVal;
      for (var _ in obj) {
        return false;
      }
      if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) {
        return false;
      }
      if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) {
        return false;
      }
      var syms = Object.getOwnPropertySymbols(obj);
      if (syms.length !== 1 || syms[0] !== sym) {
        return false;
      }
      if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) {
        return false;
      }
      if (typeof Object.getOwnPropertyDescriptor === "function") {
        var descriptor = (
          /** @type {PropertyDescriptor} */
          Object.getOwnPropertyDescriptor(obj, sym)
        );
        if (descriptor.value !== symVal || descriptor.enumerable !== true) {
          return false;
        }
      }
      return true;
    };
  }
});

// ../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js
var require_has_symbols = __commonJS({
  "../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js"(exports2, module2) {
    "use strict";
    var origSymbol = typeof Symbol !== "undefined" && Symbol;
    var hasSymbolSham = require_shams();
    module2.exports = function hasNativeSymbols() {
      if (typeof origSymbol !== "function") {
        return false;
      }
      if (typeof Symbol !== "function") {
        return false;
      }
      if (typeof origSymbol("foo") !== "symbol") {
        return false;
      }
      if (typeof Symbol("bar") !== "symbol") {
        return false;
      }
      return hasSymbolSham();
    };
  }
});

// ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js
var require_Reflect_getPrototypeOf = __commonJS({
  "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js"(exports2, module2) {
    "use strict";
    module2.exports = typeof Reflect !== "undefined" && Reflect.getPrototypeOf || null;
  }
});

// ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js
var require_Object_getPrototypeOf = __commonJS({
  "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js"(exports2, module2) {
    "use strict";
    var $Object = require_es_object_atoms();
    module2.exports = $Object.getPrototypeOf || null;
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js
var require_functionCall = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js"(exports2, module2) {
    "use strict";
    module2.exports = Function.prototype.call;
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js
var require_functionApply = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js"(exports2, module2) {
    "use strict";
    module2.exports = Function.prototype.apply;
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js
var require_reflectApply = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/reflectApply.js"(exports2, module2) {
    "use strict";
    module2.exports = typeof Reflect !== "undefined" && Reflect && Reflect.apply;
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js
var require_actualApply = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/actualApply.js"(exports2, module2) {
    "use strict";
    var bind = require_function_bind();
    var $apply = require_functionApply();
    var $call = require_functionCall();
    var $reflectApply = require_reflectApply();
    module2.exports = $reflectApply || bind.call($call, $apply);
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js
var require_call_bind_apply_helpers = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/index.js"(exports2, module2) {
    "use strict";
    var bind = require_function_bind();
    var $TypeError = require_type4();
    var $call = require_functionCall();
    var $actualApply = require_actualApply();
    module2.exports = function callBindBasic(args) {
      if (args.length < 1 || typeof args[0] !== "function") {
        throw new $TypeError("a function is required");
      }
      return $actualApply(bind, $call, args);
    };
  }
});

// ../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js
var require_get3 = __commonJS({
  "../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js"(exports2, module2) {
    "use strict";
    var callBind = require_call_bind_apply_helpers();
    var gOPD = require_gopd();
    var hasProtoAccessor;
    try {
      hasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */
      [].__proto__ === Array.prototype;
    } catch (e) {
      if (!e || typeof e !== "object" || !("code" in e) || e.code !== "ERR_PROTO_ACCESS") {
        throw e;
      }
    }
    var desc = !!hasProtoAccessor && gOPD && gOPD(
      Object.prototype,
      /** @type {keyof typeof Object.prototype} */
      "__proto__"
    );
    var $Object = Object;
    var $getPrototypeOf = $Object.getPrototypeOf;
    module2.exports = desc && typeof desc.get === "function" ? callBind([desc.get]) : typeof $getPrototypeOf === "function" ? (
      /** @type {import('./get')} */
      function getDunder(value) {
        return $getPrototypeOf(value == null ? value : $Object(value));
      }
    ) : false;
  }
});

// ../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js
var require_get_proto = __commonJS({
  "../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js"(exports2, module2) {
    "use strict";
    var reflectGetProto = require_Reflect_getPrototypeOf();
    var originalGetProto = require_Object_getPrototypeOf();
    var getDunderProto = require_get3();
    module2.exports = reflectGetProto ? function getProto(O) {
      return reflectGetProto(O);
    } : originalGetProto ? function getProto(O) {
      if (!O || typeof O !== "object" && typeof O !== "function") {
        throw new TypeError("getProto: not an object");
      }
      return originalGetProto(O);
    } : getDunderProto ? function getProto(O) {
      return getDunderProto(O);
    } : null;
  }
});

// ../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js
var require_get_intrinsic = __commonJS({
  "../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js"(exports2, module2) {
    "use strict";
    var undefined2;
    var $Object = require_es_object_atoms();
    var $Error = require_es_errors();
    var $EvalError = require_eval();
    var $RangeError = require_range4();
    var $ReferenceError = require_ref();
    var $SyntaxError = require_syntax();
    var $TypeError = require_type4();
    var $URIError = require_uri();
    var abs = require_abs();
    var floor = require_floor();
    var max = require_max3();
    var min = require_min3();
    var pow = require_pow();
    var round = require_round();
    var sign = require_sign();
    var $Function = Function;
    var getEvalledConstructor = function(expressionSyntax) {
      try {
        return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")();
      } catch (e) {
      }
    };
    var $gOPD = require_gopd();
    var $defineProperty = require_es_define_property();
    var throwTypeError = function() {
      throw new $TypeError();
    };
    var ThrowTypeError = $gOPD ? function() {
      try {
        arguments.callee;
        return throwTypeError;
      } catch (calleeThrows) {
        try {
          return $gOPD(arguments, "callee").get;
        } catch (gOPDthrows) {
          return throwTypeError;
        }
      }
    }() : throwTypeError;
    var hasSymbols = require_has_symbols()();
    var getProto = require_get_proto();
    var $ObjectGPO = require_Object_getPrototypeOf();
    var $ReflectGPO = require_Reflect_getPrototypeOf();
    var $apply = require_functionApply();
    var $call = require_functionCall();
    var needsEval = {};
    var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array);
    var INTRINSICS = {
      __proto__: null,
      "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError,
      "%Array%": Array,
      "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer,
      "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2,
      "%AsyncFromSyncIteratorPrototype%": undefined2,
      "%AsyncFunction%": needsEval,
      "%AsyncGenerator%": needsEval,
      "%AsyncGeneratorFunction%": needsEval,
      "%AsyncIteratorPrototype%": needsEval,
      "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics,
      "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt,
      "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array,
      "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array,
      "%Boolean%": Boolean,
      "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView,
      "%Date%": Date,
      "%decodeURI%": decodeURI,
      "%decodeURIComponent%": decodeURIComponent,
      "%encodeURI%": encodeURI,
      "%encodeURIComponent%": encodeURIComponent,
      "%Error%": $Error,
      "%eval%": eval,
      // eslint-disable-line no-eval
      "%EvalError%": $EvalError,
      "%Float16Array%": typeof Float16Array === "undefined" ? undefined2 : Float16Array,
      "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array,
      "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array,
      "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry,
      "%Function%": $Function,
      "%GeneratorFunction%": needsEval,
      "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array,
      "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array,
      "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array,
      "%isFinite%": isFinite,
      "%isNaN%": isNaN,
      "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2,
      "%JSON%": typeof JSON === "object" ? JSON : undefined2,
      "%Map%": typeof Map === "undefined" ? undefined2 : Map,
      "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()),
      "%Math%": Math,
      "%Number%": Number,
      "%Object%": $Object,
      "%Object.getOwnPropertyDescriptor%": $gOPD,
      "%parseFloat%": parseFloat,
      "%parseInt%": parseInt,
      "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise,
      "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy,
      "%RangeError%": $RangeError,
      "%ReferenceError%": $ReferenceError,
      "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect,
      "%RegExp%": RegExp,
      "%Set%": typeof Set === "undefined" ? undefined2 : Set,
      "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()),
      "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer,
      "%String%": String,
      "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2,
      "%Symbol%": hasSymbols ? Symbol : undefined2,
      "%SyntaxError%": $SyntaxError,
      "%ThrowTypeError%": ThrowTypeError,
      "%TypedArray%": TypedArray,
      "%TypeError%": $TypeError,
      "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array,
      "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray,
      "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array,
      "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array,
      "%URIError%": $URIError,
      "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap,
      "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef,
      "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet,
      "%Function.prototype.call%": $call,
      "%Function.prototype.apply%": $apply,
      "%Object.defineProperty%": $defineProperty,
      "%Object.getPrototypeOf%": $ObjectGPO,
      "%Math.abs%": abs,
      "%Math.floor%": floor,
      "%Math.max%": max,
      "%Math.min%": min,
      "%Math.pow%": pow,
      "%Math.round%": round,
      "%Math.sign%": sign,
      "%Reflect.getPrototypeOf%": $ReflectGPO
    };
    if (getProto) {
      try {
        null.error;
      } catch (e) {
        errorProto = getProto(getProto(e));
        INTRINSICS["%Error.prototype%"] = errorProto;
      }
    }
    var errorProto;
    var doEval = function doEval2(name) {
      var value;
      if (name === "%AsyncFunction%") {
        value = getEvalledConstructor("async function () {}");
      } else if (name === "%GeneratorFunction%") {
        value = getEvalledConstructor("function* () {}");
      } else if (name === "%AsyncGeneratorFunction%") {
        value = getEvalledConstructor("async function* () {}");
      } else if (name === "%AsyncGenerator%") {
        var fn = doEval2("%AsyncGeneratorFunction%");
        if (fn) {
          value = fn.prototype;
        }
      } else if (name === "%AsyncIteratorPrototype%") {
        var gen = doEval2("%AsyncGenerator%");
        if (gen && getProto) {
          value = getProto(gen.prototype);
        }
      }
      INTRINSICS[name] = value;
      return value;
    };
    var LEGACY_ALIASES = {
      __proto__: null,
      "%ArrayBufferPrototype%": ["ArrayBuffer", "prototype"],
      "%ArrayPrototype%": ["Array", "prototype"],
      "%ArrayProto_entries%": ["Array", "prototype", "entries"],
      "%ArrayProto_forEach%": ["Array", "prototype", "forEach"],
      "%ArrayProto_keys%": ["Array", "prototype", "keys"],
      "%ArrayProto_values%": ["Array", "prototype", "values"],
      "%AsyncFunctionPrototype%": ["AsyncFunction", "prototype"],
      "%AsyncGenerator%": ["AsyncGeneratorFunction", "prototype"],
      "%AsyncGeneratorPrototype%": ["AsyncGeneratorFunction", "prototype", "prototype"],
      "%BooleanPrototype%": ["Boolean", "prototype"],
      "%DataViewPrototype%": ["DataView", "prototype"],
      "%DatePrototype%": ["Date", "prototype"],
      "%ErrorPrototype%": ["Error", "prototype"],
      "%EvalErrorPrototype%": ["EvalError", "prototype"],
      "%Float32ArrayPrototype%": ["Float32Array", "prototype"],
      "%Float64ArrayPrototype%": ["Float64Array", "prototype"],
      "%FunctionPrototype%": ["Function", "prototype"],
      "%Generator%": ["GeneratorFunction", "prototype"],
      "%GeneratorPrototype%": ["GeneratorFunction", "prototype", "prototype"],
      "%Int8ArrayPrototype%": ["Int8Array", "prototype"],
      "%Int16ArrayPrototype%": ["Int16Array", "prototype"],
      "%Int32ArrayPrototype%": ["Int32Array", "prototype"],
      "%JSONParse%": ["JSON", "parse"],
      "%JSONStringify%": ["JSON", "stringify"],
      "%MapPrototype%": ["Map", "prototype"],
      "%NumberPrototype%": ["Number", "prototype"],
      "%ObjectPrototype%": ["Object", "prototype"],
      "%ObjProto_toString%": ["Object", "prototype", "toString"],
      "%ObjProto_valueOf%": ["Object", "prototype", "valueOf"],
      "%PromisePrototype%": ["Promise", "prototype"],
      "%PromiseProto_then%": ["Promise", "prototype", "then"],
      "%Promise_all%": ["Promise", "all"],
      "%Promise_reject%": ["Promise", "reject"],
      "%Promise_resolve%": ["Promise", "resolve"],
      "%RangeErrorPrototype%": ["RangeError", "prototype"],
      "%ReferenceErrorPrototype%": ["ReferenceError", "prototype"],
      "%RegExpPrototype%": ["RegExp", "prototype"],
      "%SetPrototype%": ["Set", "prototype"],
      "%SharedArrayBufferPrototype%": ["SharedArrayBuffer", "prototype"],
      "%StringPrototype%": ["String", "prototype"],
      "%SymbolPrototype%": ["Symbol", "prototype"],
      "%SyntaxErrorPrototype%": ["SyntaxError", "prototype"],
      "%TypedArrayPrototype%": ["TypedArray", "prototype"],
      "%TypeErrorPrototype%": ["TypeError", "prototype"],
      "%Uint8ArrayPrototype%": ["Uint8Array", "prototype"],
      "%Uint8ClampedArrayPrototype%": ["Uint8ClampedArray", "prototype"],
      "%Uint16ArrayPrototype%": ["Uint16Array", "prototype"],
      "%Uint32ArrayPrototype%": ["Uint32Array", "prototype"],
      "%URIErrorPrototype%": ["URIError", "prototype"],
      "%WeakMapPrototype%": ["WeakMap", "prototype"],
      "%WeakSetPrototype%": ["WeakSet", "prototype"]
    };
    var bind = require_function_bind();
    var hasOwn = require_hasown();
    var $concat = bind.call($call, Array.prototype.concat);
    var $spliceApply = bind.call($apply, Array.prototype.splice);
    var $replace = bind.call($call, String.prototype.replace);
    var $strSlice = bind.call($call, String.prototype.slice);
    var $exec = bind.call($call, RegExp.prototype.exec);
    var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g;
    var reEscapeChar = /\\(\\)?/g;
    var stringToPath = function stringToPath2(string) {
      var first = $strSlice(string, 0, 1);
      var last = $strSlice(string, -1);
      if (first === "%" && last !== "%") {
        throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`");
      } else if (last === "%" && first !== "%") {
        throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`");
      }
      var result2 = [];
      $replace(string, rePropName, function(match, number, quote, subString) {
        result2[result2.length] = quote ? $replace(subString, reEscapeChar, "$1") : number || match;
      });
      return result2;
    };
    var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) {
      var intrinsicName = name;
      var alias;
      if (hasOwn(LEGACY_ALIASES, intrinsicName)) {
        alias = LEGACY_ALIASES[intrinsicName];
        intrinsicName = "%" + alias[0] + "%";
      }
      if (hasOwn(INTRINSICS, intrinsicName)) {
        var value = INTRINSICS[intrinsicName];
        if (value === needsEval) {
          value = doEval(intrinsicName);
        }
        if (typeof value === "undefined" && !allowMissing) {
          throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!");
        }
        return {
          alias,
          name: intrinsicName,
          value
        };
      }
      throw new $SyntaxError("intrinsic " + name + " does not exist!");
    };
    module2.exports = function GetIntrinsic(name, allowMissing) {
      if (typeof name !== "string" || name.length === 0) {
        throw new $TypeError("intrinsic name must be a non-empty string");
      }
      if (arguments.length > 1 && typeof allowMissing !== "boolean") {
        throw new $TypeError('"allowMissing" argument must be a boolean');
      }
      if ($exec(/^%?[^%]*%?$/, name) === null) {
        throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name");
      }
      var parts = stringToPath(name);
      var intrinsicBaseName = parts.length > 0 ? parts[0] : "";
      var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing);
      var intrinsicRealName = intrinsic.name;
      var value = intrinsic.value;
      var skipFurtherCaching = false;
      var alias = intrinsic.alias;
      if (alias) {
        intrinsicBaseName = alias[0];
        $spliceApply(parts, $concat([0, 1], alias));
      }
      for (var i = 1, isOwn = true; i < parts.length; i += 1) {
        var part = parts[i];
        var first = $strSlice(part, 0, 1);
        var last = $strSlice(part, -1);
        if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) {
          throw new $SyntaxError("property names with quotes must have matching quotes");
        }
        if (part === "constructor" || !isOwn) {
          skipFurtherCaching = true;
        }
        intrinsicBaseName += "." + part;
        intrinsicRealName = "%" + intrinsicBaseName + "%";
        if (hasOwn(INTRINSICS, intrinsicRealName)) {
          value = INTRINSICS[intrinsicRealName];
        } else if (value != null) {
          if (!(part in value)) {
            if (!allowMissing) {
              throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available.");
            }
            return void undefined2;
          }
          if ($gOPD && i + 1 >= parts.length) {
            var desc = $gOPD(value, part);
            isOwn = !!desc;
            if (isOwn && "get" in desc && !("originalValue" in desc.get)) {
              value = desc.get;
            } else {
              value = value[part];
            }
          } else {
            isOwn = hasOwn(value, part);
            value = value[part];
          }
          if (isOwn && !skipFurtherCaching) {
            INTRINSICS[intrinsicRealName] = value;
          }
        }
      }
      return value;
    };
  }
});

// ../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js
var require_define_data_property = __commonJS({
  "../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js"(exports2, module2) {
    "use strict";
    var $defineProperty = require_es_define_property();
    var $SyntaxError = require_syntax();
    var $TypeError = require_type4();
    var gopd = require_gopd();
    module2.exports = function defineDataProperty(obj, property, value) {
      if (!obj || typeof obj !== "object" && typeof obj !== "function") {
        throw new $TypeError("`obj` must be an object or a function`");
      }
      if (typeof property !== "string" && typeof property !== "symbol") {
        throw new $TypeError("`property` must be a string or a symbol`");
      }
      if (arguments.length > 3 && typeof arguments[3] !== "boolean" && arguments[3] !== null) {
        throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null");
      }
      if (arguments.length > 4 && typeof arguments[4] !== "boolean" && arguments[4] !== null) {
        throw new $TypeError("`nonWritable`, if provided, must be a boolean or null");
      }
      if (arguments.length > 5 && typeof arguments[5] !== "boolean" && arguments[5] !== null) {
        throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null");
      }
      if (arguments.length > 6 && typeof arguments[6] !== "boolean") {
        throw new $TypeError("`loose`, if provided, must be a boolean");
      }
      var nonEnumerable = arguments.length > 3 ? arguments[3] : null;
      var nonWritable = arguments.length > 4 ? arguments[4] : null;
      var nonConfigurable = arguments.length > 5 ? arguments[5] : null;
      var loose = arguments.length > 6 ? arguments[6] : false;
      var desc = !!gopd && gopd(obj, property);
      if ($defineProperty) {
        $defineProperty(obj, property, {
          configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,
          enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,
          value,
          writable: nonWritable === null && desc ? desc.writable : !nonWritable
        });
      } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) {
        obj[property] = value;
      } else {
        throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");
      }
    };
  }
});

// ../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js
var require_has_property_descriptors = __commonJS({
  "../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js"(exports2, module2) {
    "use strict";
    var $defineProperty = require_es_define_property();
    var hasPropertyDescriptors = function hasPropertyDescriptors2() {
      return !!$defineProperty;
    };
    hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {
      if (!$defineProperty) {
        return null;
      }
      try {
        return $defineProperty([], "length", { value: 1 }).length !== 1;
      } catch (e) {
        return true;
      }
    };
    module2.exports = hasPropertyDescriptors;
  }
});

// ../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js
var require_set_function_length = __commonJS({
  "../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var define2 = require_define_data_property();
    var hasDescriptors = require_has_property_descriptors()();
    var gOPD = require_gopd();
    var $TypeError = require_type4();
    var $floor = GetIntrinsic("%Math.floor%");
    module2.exports = function setFunctionLength(fn, length) {
      if (typeof fn !== "function") {
        throw new $TypeError("`fn` is not a function");
      }
      if (typeof length !== "number" || length < 0 || length > 4294967295 || $floor(length) !== length) {
        throw new $TypeError("`length` must be a positive 32-bit integer");
      }
      var loose = arguments.length > 2 && !!arguments[2];
      var functionLengthIsConfigurable = true;
      var functionLengthIsWritable = true;
      if ("length" in fn && gOPD) {
        var desc = gOPD(fn, "length");
        if (desc && !desc.configurable) {
          functionLengthIsConfigurable = false;
        }
        if (desc && !desc.writable) {
          functionLengthIsWritable = false;
        }
      }
      if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {
        if (hasDescriptors) {
          define2(
            /** @type {Parameters<define>[0]} */
            fn,
            "length",
            length,
            true,
            true
          );
        } else {
          define2(
            /** @type {Parameters<define>[0]} */
            fn,
            "length",
            length
          );
        }
      }
      return fn;
    };
  }
});

// ../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js
var require_applyBind = __commonJS({
  "../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/applyBind.js"(exports2, module2) {
    "use strict";
    var bind = require_function_bind();
    var $apply = require_functionApply();
    var actualApply = require_actualApply();
    module2.exports = function applyBind() {
      return actualApply(bind, $apply, arguments);
    };
  }
});

// ../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js
var require_call_bind = __commonJS({
  "../node_modules/.pnpm/call-bind@1.0.8/node_modules/call-bind/index.js"(exports2, module2) {
    "use strict";
    var setFunctionLength = require_set_function_length();
    var $defineProperty = require_es_define_property();
    var callBindBasic = require_call_bind_apply_helpers();
    var applyBind = require_applyBind();
    module2.exports = function callBind(originalFunction) {
      var func = callBindBasic(arguments);
      var adjustedLength = originalFunction.length - (arguments.length - 1);
      return setFunctionLength(
        func,
        1 + (adjustedLength > 0 ? adjustedLength : 0),
        true
      );
    };
    if ($defineProperty) {
      $defineProperty(module2.exports, "apply", { value: applyBind });
    } else {
      module2.exports.apply = applyBind;
    }
  }
});

// ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js
var require_isArguments3 = __commonJS({
  "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/isArguments.js"(exports2, module2) {
    "use strict";
    var toStr = Object.prototype.toString;
    module2.exports = function isArguments(value) {
      var str = toStr.call(value);
      var isArgs = str === "[object Arguments]";
      if (!isArgs) {
        isArgs = str !== "[object Array]" && value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && toStr.call(value.callee) === "[object Function]";
      }
      return isArgs;
    };
  }
});

// ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js
var require_implementation3 = __commonJS({
  "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/implementation.js"(exports2, module2) {
    "use strict";
    var keysShim;
    if (!Object.keys) {
      has = Object.prototype.hasOwnProperty;
      toStr = Object.prototype.toString;
      isArgs = require_isArguments3();
      isEnumerable = Object.prototype.propertyIsEnumerable;
      hasDontEnumBug = !isEnumerable.call({ toString: null }, "toString");
      hasProtoEnumBug = isEnumerable.call(function() {
      }, "prototype");
      dontEnums = [
        "toString",
        "toLocaleString",
        "valueOf",
        "hasOwnProperty",
        "isPrototypeOf",
        "propertyIsEnumerable",
        "constructor"
      ];
      equalsConstructorPrototype = function(o) {
        var ctor = o.constructor;
        return ctor && ctor.prototype === o;
      };
      excludedKeys = {
        $applicationCache: true,
        $console: true,
        $external: true,
        $frame: true,
        $frameElement: true,
        $frames: true,
        $innerHeight: true,
        $innerWidth: true,
        $onmozfullscreenchange: true,
        $onmozfullscreenerror: true,
        $outerHeight: true,
        $outerWidth: true,
        $pageXOffset: true,
        $pageYOffset: true,
        $parent: true,
        $scrollLeft: true,
        $scrollTop: true,
        $scrollX: true,
        $scrollY: true,
        $self: true,
        $webkitIndexedDB: true,
        $webkitStorageInfo: true,
        $window: true
      };
      hasAutomationEqualityBug = function() {
        if (typeof window === "undefined") {
          return false;
        }
        for (var k in window) {
          try {
            if (!excludedKeys["$" + k] && has.call(window, k) && window[k] !== null && typeof window[k] === "object") {
              try {
                equalsConstructorPrototype(window[k]);
              } catch (e) {
                return true;
              }
            }
          } catch (e) {
            return true;
          }
        }
        return false;
      }();
      equalsConstructorPrototypeIfNotBuggy = function(o) {
        if (typeof window === "undefined" || !hasAutomationEqualityBug) {
          return equalsConstructorPrototype(o);
        }
        try {
          return equalsConstructorPrototype(o);
        } catch (e) {
          return false;
        }
      };
      keysShim = function keys(object) {
        var isObject = object !== null && typeof object === "object";
        var isFunction = toStr.call(object) === "[object Function]";
        var isArguments = isArgs(object);
        var isString = isObject && toStr.call(object) === "[object String]";
        var theKeys = [];
        if (!isObject && !isFunction && !isArguments) {
          throw new TypeError("Object.keys called on a non-object");
        }
        var skipProto = hasProtoEnumBug && isFunction;
        if (isString && object.length > 0 && !has.call(object, 0)) {
          for (var i = 0; i < object.length; ++i) {
            theKeys.push(String(i));
          }
        }
        if (isArguments && object.length > 0) {
          for (var j = 0; j < object.length; ++j) {
            theKeys.push(String(j));
          }
        } else {
          for (var name in object) {
            if (!(skipProto && name === "prototype") && has.call(object, name)) {
              theKeys.push(String(name));
            }
          }
        }
        if (hasDontEnumBug) {
          var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);
          for (var k = 0; k < dontEnums.length; ++k) {
            if (!(skipConstructor && dontEnums[k] === "constructor") && has.call(object, dontEnums[k])) {
              theKeys.push(dontEnums[k]);
            }
          }
        }
        return theKeys;
      };
    }
    var has;
    var toStr;
    var isArgs;
    var isEnumerable;
    var hasDontEnumBug;
    var hasProtoEnumBug;
    var dontEnums;
    var equalsConstructorPrototype;
    var excludedKeys;
    var hasAutomationEqualityBug;
    var equalsConstructorPrototypeIfNotBuggy;
    module2.exports = keysShim;
  }
});

// ../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js
var require_object_keys = __commonJS({
  "../node_modules/.pnpm/object-keys@1.1.1/node_modules/object-keys/index.js"(exports2, module2) {
    "use strict";
    var slice = Array.prototype.slice;
    var isArgs = require_isArguments3();
    var origKeys = Object.keys;
    var keysShim = origKeys ? function keys(o) {
      return origKeys(o);
    } : require_implementation3();
    var originalKeys = Object.keys;
    keysShim.shim = function shimObjectKeys() {
      if (Object.keys) {
        var keysWorksWithArguments = function() {
          var args = Object.keys(arguments);
          return args && args.length === arguments.length;
        }(1, 2);
        if (!keysWorksWithArguments) {
          Object.keys = function keys(object) {
            if (isArgs(object)) {
              return originalKeys(slice.call(object));
            }
            return originalKeys(object);
          };
        }
      } else {
        Object.keys = keysShim;
      }
      return Object.keys || keysShim;
    };
    module2.exports = keysShim;
  }
});

// ../node_modules/.pnpm/define-properties@1.2.1/node_modules/define-properties/index.js
var require_define_properties = __commonJS({
  "../node_modules/.pnpm/define-properties@1.2.1/node_modules/define-properties/index.js"(exports2, module2) {
    "use strict";
    var keys = require_object_keys();
    var hasSymbols = typeof Symbol === "function" && typeof Symbol("foo") === "symbol";
    var toStr = Object.prototype.toString;
    var concat = Array.prototype.concat;
    var defineDataProperty = require_define_data_property();
    var isFunction = function(fn) {
      return typeof fn === "function" && toStr.call(fn) === "[object Function]";
    };
    var supportsDescriptors = require_has_property_descriptors()();
    var defineProperty = function(object, name, value, predicate) {
      if (name in object) {
        if (predicate === true) {
          if (object[name] === value) {
            return;
          }
        } else if (!isFunction(predicate) || !predicate()) {
          return;
        }
      }
      if (supportsDescriptors) {
        defineDataProperty(object, name, value, true);
      } else {
        defineDataProperty(object, name, value);
      }
    };
    var defineProperties = function(object, map) {
      var predicates = arguments.length > 2 ? arguments[2] : {};
      var props = keys(map);
      if (hasSymbols) {
        props = concat.call(props, Object.getOwnPropertySymbols(map));
      }
      for (var i = 0; i < props.length; i += 1) {
        defineProperty(object, props[i], map[props[i]], predicates[props[i]]);
      }
    };
    defineProperties.supportsDescriptors = !!supportsDescriptors;
    module2.exports = defineProperties;
  }
});

// ../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js
var require_call_bound = __commonJS({
  "../node_modules/.pnpm/call-bound@1.0.4/node_modules/call-bound/index.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var callBindBasic = require_call_bind_apply_helpers();
    var $indexOf = callBindBasic([GetIntrinsic("%String.prototype.indexOf%")]);
    module2.exports = function callBoundIntrinsic(name, allowMissing) {
      var intrinsic = (
        /** @type {(this: unknown, ...args: unknown[]) => unknown} */
        GetIntrinsic(name, !!allowMissing)
      );
      if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) {
        return callBindBasic(
          /** @type {const} */
          [intrinsic]
        );
      }
      return intrinsic;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/IsArray.js
var require_IsArray = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/IsArray.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $Array = GetIntrinsic("%Array%");
    var toStr = !$Array.isArray && require_call_bound()("Object.prototype.toString");
    module2.exports = $Array.isArray || function IsArray(argument) {
      return toStr(argument) === "[object Array]";
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsArray.js
var require_IsArray2 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsArray.js"(exports2, module2) {
    "use strict";
    module2.exports = require_IsArray();
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Call.js
var require_Call = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Call.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var callBound = require_call_bound();
    var $TypeError = require_type4();
    var IsArray = require_IsArray2();
    var $apply = GetIntrinsic("%Reflect.apply%", true) || callBound("Function.prototype.apply");
    module2.exports = function Call(F, V) {
      var argumentsList = arguments.length > 2 ? arguments[2] : [];
      if (!IsArray(argumentsList)) {
        throw new $TypeError("Assertion failed: optional `argumentsList`, if provided, must be a List");
      }
      return $apply(F, V, argumentsList);
    };
  }
});

// ../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js
var require_util_inspect = __commonJS({
  "../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/util.inspect.js"(exports2, module2) {
    module2.exports = require("util").inspect;
  }
});

// ../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js
var require_object_inspect = __commonJS({
  "../node_modules/.pnpm/object-inspect@1.13.4/node_modules/object-inspect/index.js"(exports2, module2) {
    var hasMap = typeof Map === "function" && Map.prototype;
    var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null;
    var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null;
    var mapForEach = hasMap && Map.prototype.forEach;
    var hasSet = typeof Set === "function" && Set.prototype;
    var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null;
    var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null;
    var setForEach = hasSet && Set.prototype.forEach;
    var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype;
    var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;
    var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype;
    var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;
    var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype;
    var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;
    var booleanValueOf = Boolean.prototype.valueOf;
    var objectToString = Object.prototype.toString;
    var functionToString = Function.prototype.toString;
    var $match = String.prototype.match;
    var $slice = String.prototype.slice;
    var $replace = String.prototype.replace;
    var $toUpperCase = String.prototype.toUpperCase;
    var $toLowerCase = String.prototype.toLowerCase;
    var $test = RegExp.prototype.test;
    var $concat = Array.prototype.concat;
    var $join = Array.prototype.join;
    var $arrSlice = Array.prototype.slice;
    var $floor = Math.floor;
    var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null;
    var gOPS = Object.getOwnPropertySymbols;
    var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null;
    var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object";
    var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null;
    var isEnumerable = Object.prototype.propertyIsEnumerable;
    var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) {
      return O.__proto__;
    } : null);
    function addNumericSeparator(num, str) {
      if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) {
        return str;
      }
      var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;
      if (typeof num === "number") {
        var int = num < 0 ? -$floor(-num) : $floor(num);
        if (int !== num) {
          var intStr = String(int);
          var dec = $slice.call(str, intStr.length + 1);
          return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, "");
        }
      }
      return $replace.call(str, sepRegex, "$&_");
    }
    var utilInspect = require_util_inspect();
    var inspectCustom = utilInspect.custom;
    var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;
    var quotes = {
      __proto__: null,
      "double": '"',
      single: "'"
    };
    var quoteREs = {
      __proto__: null,
      "double": /(["\\])/g,
      single: /(['\\])/g
    };
    module2.exports = function inspect_(obj, options, depth, seen) {
      var opts = options || {};
      if (has(opts, "quoteStyle") && !has(quotes, opts.quoteStyle)) {
        throw new TypeError('option "quoteStyle" must be "single" or "double"');
      }
      if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) {
        throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');
      }
      var customInspect = has(opts, "customInspect") ? opts.customInspect : true;
      if (typeof customInspect !== "boolean" && customInspect !== "symbol") {
        throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");
      }
      if (has(opts, "indent") && opts.indent !== null && opts.indent !== "	" && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) {
        throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');
      }
      if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") {
        throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');
      }
      var numericSeparator = opts.numericSeparator;
      if (typeof obj === "undefined") {
        return "undefined";
      }
      if (obj === null) {
        return "null";
      }
      if (typeof obj === "boolean") {
        return obj ? "true" : "false";
      }
      if (typeof obj === "string") {
        return inspectString(obj, opts);
      }
      if (typeof obj === "number") {
        if (obj === 0) {
          return Infinity / obj > 0 ? "0" : "-0";
        }
        var str = String(obj);
        return numericSeparator ? addNumericSeparator(obj, str) : str;
      }
      if (typeof obj === "bigint") {
        var bigIntStr = String(obj) + "n";
        return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;
      }
      var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth;
      if (typeof depth === "undefined") {
        depth = 0;
      }
      if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") {
        return isArray(obj) ? "[Array]" : "[Object]";
      }
      var indent = getIndent(opts, depth);
      if (typeof seen === "undefined") {
        seen = [];
      } else if (indexOf(seen, obj) >= 0) {
        return "[Circular]";
      }
      function inspect(value, from, noIndent) {
        if (from) {
          seen = $arrSlice.call(seen);
          seen.push(from);
        }
        if (noIndent) {
          var newOpts = {
            depth: opts.depth
          };
          if (has(opts, "quoteStyle")) {
            newOpts.quoteStyle = opts.quoteStyle;
          }
          return inspect_(value, newOpts, depth + 1, seen);
        }
        return inspect_(value, opts, depth + 1, seen);
      }
      if (typeof obj === "function" && !isRegExp(obj)) {
        var name = nameOf(obj);
        var keys = arrObjKeys(obj, inspect);
        return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : "");
      }
      if (isSymbol(obj)) {
        var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj);
        return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString;
      }
      if (isElement(obj)) {
        var s = "<" + $toLowerCase.call(String(obj.nodeName));
        var attrs = obj.attributes || [];
        for (var i = 0; i < attrs.length; i++) {
          s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts);
        }
        s += ">";
        if (obj.childNodes && obj.childNodes.length) {
          s += "...";
        }
        s += "</" + $toLowerCase.call(String(obj.nodeName)) + ">";
        return s;
      }
      if (isArray(obj)) {
        if (obj.length === 0) {
          return "[]";
        }
        var xs = arrObjKeys(obj, inspect);
        if (indent && !singleLineValues(xs)) {
          return "[" + indentedJoin(xs, indent) + "]";
        }
        return "[ " + $join.call(xs, ", ") + " ]";
      }
      if (isError(obj)) {
        var parts = arrObjKeys(obj, inspect);
        if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) {
          return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }";
        }
        if (parts.length === 0) {
          return "[" + String(obj) + "]";
        }
        return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }";
      }
      if (typeof obj === "object" && customInspect) {
        if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) {
          return utilInspect(obj, { depth: maxDepth - depth });
        } else if (customInspect !== "symbol" && typeof obj.inspect === "function") {
          return obj.inspect();
        }
      }
      if (isMap(obj)) {
        var mapParts = [];
        if (mapForEach) {
          mapForEach.call(obj, function(value, key) {
            mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj));
          });
        }
        return collectionOf("Map", mapSize.call(obj), mapParts, indent);
      }
      if (isSet(obj)) {
        var setParts = [];
        if (setForEach) {
          setForEach.call(obj, function(value) {
            setParts.push(inspect(value, obj));
          });
        }
        return collectionOf("Set", setSize.call(obj), setParts, indent);
      }
      if (isWeakMap(obj)) {
        return weakCollectionOf("WeakMap");
      }
      if (isWeakSet(obj)) {
        return weakCollectionOf("WeakSet");
      }
      if (isWeakRef(obj)) {
        return weakCollectionOf("WeakRef");
      }
      if (isNumber(obj)) {
        return markBoxed(inspect(Number(obj)));
      }
      if (isBigInt(obj)) {
        return markBoxed(inspect(bigIntValueOf.call(obj)));
      }
      if (isBoolean(obj)) {
        return markBoxed(booleanValueOf.call(obj));
      }
      if (isString(obj)) {
        return markBoxed(inspect(String(obj)));
      }
      if (typeof window !== "undefined" && obj === window) {
        return "{ [object Window] }";
      }
      if (typeof globalThis !== "undefined" && obj === globalThis || typeof global !== "undefined" && obj === global) {
        return "{ [object globalThis] }";
      }
      if (!isDate(obj) && !isRegExp(obj)) {
        var ys = arrObjKeys(obj, inspect);
        var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;
        var protoTag = obj instanceof Object ? "" : "null prototype";
        var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : "";
        var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : "";
        var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : "");
        if (ys.length === 0) {
          return tag + "{}";
        }
        if (indent) {
          return tag + "{" + indentedJoin(ys, indent) + "}";
        }
        return tag + "{ " + $join.call(ys, ", ") + " }";
      }
      return String(obj);
    };
    function wrapQuotes(s, defaultStyle, opts) {
      var style = opts.quoteStyle || defaultStyle;
      var quoteChar = quotes[style];
      return quoteChar + s + quoteChar;
    }
    function quote(s) {
      return $replace.call(String(s), /"/g, "&quot;");
    }
    function canTrustToString(obj) {
      return !toStringTag || !(typeof obj === "object" && (toStringTag in obj || typeof obj[toStringTag] !== "undefined"));
    }
    function isArray(obj) {
      return toStr(obj) === "[object Array]" && canTrustToString(obj);
    }
    function isDate(obj) {
      return toStr(obj) === "[object Date]" && canTrustToString(obj);
    }
    function isRegExp(obj) {
      return toStr(obj) === "[object RegExp]" && canTrustToString(obj);
    }
    function isError(obj) {
      return toStr(obj) === "[object Error]" && canTrustToString(obj);
    }
    function isString(obj) {
      return toStr(obj) === "[object String]" && canTrustToString(obj);
    }
    function isNumber(obj) {
      return toStr(obj) === "[object Number]" && canTrustToString(obj);
    }
    function isBoolean(obj) {
      return toStr(obj) === "[object Boolean]" && canTrustToString(obj);
    }
    function isSymbol(obj) {
      if (hasShammedSymbols) {
        return obj && typeof obj === "object" && obj instanceof Symbol;
      }
      if (typeof obj === "symbol") {
        return true;
      }
      if (!obj || typeof obj !== "object" || !symToString) {
        return false;
      }
      try {
        symToString.call(obj);
        return true;
      } catch (e) {
      }
      return false;
    }
    function isBigInt(obj) {
      if (!obj || typeof obj !== "object" || !bigIntValueOf) {
        return false;
      }
      try {
        bigIntValueOf.call(obj);
        return true;
      } catch (e) {
      }
      return false;
    }
    var hasOwn = Object.prototype.hasOwnProperty || function(key) {
      return key in this;
    };
    function has(obj, key) {
      return hasOwn.call(obj, key);
    }
    function toStr(obj) {
      return objectToString.call(obj);
    }
    function nameOf(f) {
      if (f.name) {
        return f.name;
      }
      var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/);
      if (m) {
        return m[1];
      }
      return null;
    }
    function indexOf(xs, x) {
      if (xs.indexOf) {
        return xs.indexOf(x);
      }
      for (var i = 0, l = xs.length; i < l; i++) {
        if (xs[i] === x) {
          return i;
        }
      }
      return -1;
    }
    function isMap(x) {
      if (!mapSize || !x || typeof x !== "object") {
        return false;
      }
      try {
        mapSize.call(x);
        try {
          setSize.call(x);
        } catch (s) {
          return true;
        }
        return x instanceof Map;
      } catch (e) {
      }
      return false;
    }
    function isWeakMap(x) {
      if (!weakMapHas || !x || typeof x !== "object") {
        return false;
      }
      try {
        weakMapHas.call(x, weakMapHas);
        try {
          weakSetHas.call(x, weakSetHas);
        } catch (s) {
          return true;
        }
        return x instanceof WeakMap;
      } catch (e) {
      }
      return false;
    }
    function isWeakRef(x) {
      if (!weakRefDeref || !x || typeof x !== "object") {
        return false;
      }
      try {
        weakRefDeref.call(x);
        return true;
      } catch (e) {
      }
      return false;
    }
    function isSet(x) {
      if (!setSize || !x || typeof x !== "object") {
        return false;
      }
      try {
        setSize.call(x);
        try {
          mapSize.call(x);
        } catch (m) {
          return true;
        }
        return x instanceof Set;
      } catch (e) {
      }
      return false;
    }
    function isWeakSet(x) {
      if (!weakSetHas || !x || typeof x !== "object") {
        return false;
      }
      try {
        weakSetHas.call(x, weakSetHas);
        try {
          weakMapHas.call(x, weakMapHas);
        } catch (s) {
          return true;
        }
        return x instanceof WeakSet;
      } catch (e) {
      }
      return false;
    }
    function isElement(x) {
      if (!x || typeof x !== "object") {
        return false;
      }
      if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) {
        return true;
      }
      return typeof x.nodeName === "string" && typeof x.getAttribute === "function";
    }
    function inspectString(str, opts) {
      if (str.length > opts.maxStringLength) {
        var remaining = str.length - opts.maxStringLength;
        var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : "");
        return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;
      }
      var quoteRE = quoteREs[opts.quoteStyle || "single"];
      quoteRE.lastIndex = 0;
      var s = $replace.call($replace.call(str, quoteRE, "\\$1"), /[\x00-\x1f]/g, lowbyte);
      return wrapQuotes(s, "single", opts);
    }
    function lowbyte(c) {
      var n = c.charCodeAt(0);
      var x = {
        8: "b",
        9: "t",
        10: "n",
        12: "f",
        13: "r"
      }[n];
      if (x) {
        return "\\" + x;
      }
      return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16));
    }
    function markBoxed(str) {
      return "Object(" + str + ")";
    }
    function weakCollectionOf(type) {
      return type + " { ? }";
    }
    function collectionOf(type, size, entries, indent) {
      var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", ");
      return type + " (" + size + ") {" + joinedEntries + "}";
    }
    function singleLineValues(xs) {
      for (var i = 0; i < xs.length; i++) {
        if (indexOf(xs[i], "\n") >= 0) {
          return false;
        }
      }
      return true;
    }
    function getIndent(opts, depth) {
      var baseIndent;
      if (opts.indent === "	") {
        baseIndent = "	";
      } else if (typeof opts.indent === "number" && opts.indent > 0) {
        baseIndent = $join.call(Array(opts.indent + 1), " ");
      } else {
        return null;
      }
      return {
        base: baseIndent,
        prev: $join.call(Array(depth + 1), baseIndent)
      };
    }
    function indentedJoin(xs, indent) {
      if (xs.length === 0) {
        return "";
      }
      var lineJoiner = "\n" + indent.prev + indent.base;
      return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev;
    }
    function arrObjKeys(obj, inspect) {
      var isArr = isArray(obj);
      var xs = [];
      if (isArr) {
        xs.length = obj.length;
        for (var i = 0; i < obj.length; i++) {
          xs[i] = has(obj, i) ? inspect(obj[i], obj) : "";
        }
      }
      var syms = typeof gOPS === "function" ? gOPS(obj) : [];
      var symMap;
      if (hasShammedSymbols) {
        symMap = {};
        for (var k = 0; k < syms.length; k++) {
          symMap["$" + syms[k]] = syms[k];
        }
      }
      for (var key in obj) {
        if (!has(obj, key)) {
          continue;
        }
        if (isArr && String(Number(key)) === key && key < obj.length) {
          continue;
        }
        if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) {
          continue;
        } else if ($test.call(/[^\w$]/, key)) {
          xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj));
        } else {
          xs.push(key + ": " + inspect(obj[key], obj));
        }
      }
      if (typeof gOPS === "function") {
        for (var j = 0; j < syms.length; j++) {
          if (isEnumerable.call(obj, syms[j])) {
            xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj));
          }
        }
      }
      return xs;
    }
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isObject.js
var require_isObject3 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isObject.js"(exports2, module2) {
    "use strict";
    module2.exports = function isObject(x) {
      return !!x && (typeof x === "function" || typeof x === "object");
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isPropertyKey.js
var require_isPropertyKey = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isPropertyKey.js"(exports2, module2) {
    "use strict";
    module2.exports = function isPropertyKey(argument) {
      return typeof argument === "string" || typeof argument === "symbol";
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Get.js
var require_Get = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Get.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var inspect = require_object_inspect();
    var isObject = require_isObject3();
    var isPropertyKey = require_isPropertyKey();
    module2.exports = function Get(O, P) {
      if (!isObject(O)) {
        throw new $TypeError("Assertion failed: Type(O) is not Object");
      }
      if (!isPropertyKey(P)) {
        throw new $TypeError("Assertion failed: P is not a Property Key, got " + inspect(P));
      }
      return O[P];
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/GetV.js
var require_GetV = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/GetV.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var inspect = require_object_inspect();
    var isPropertyKey = require_isPropertyKey();
    module2.exports = function GetV(V, P) {
      if (!isPropertyKey(P)) {
        throw new $TypeError("Assertion failed: P is not a Property Key, got " + inspect(P));
      }
      return V[P];
    };
  }
});

// ../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js
var require_is_callable = __commonJS({
  "../node_modules/.pnpm/is-callable@1.2.7/node_modules/is-callable/index.js"(exports2, module2) {
    "use strict";
    var fnToStr = Function.prototype.toString;
    var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply;
    var badArrayLike;
    var isCallableMarker;
    if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") {
      try {
        badArrayLike = Object.defineProperty({}, "length", {
          get: function() {
            throw isCallableMarker;
          }
        });
        isCallableMarker = {};
        reflectApply(function() {
          throw 42;
        }, null, badArrayLike);
      } catch (_) {
        if (_ !== isCallableMarker) {
          reflectApply = null;
        }
      }
    } else {
      reflectApply = null;
    }
    var constructorRegex = /^\s*class\b/;
    var isES6ClassFn = function isES6ClassFunction(value) {
      try {
        var fnStr = fnToStr.call(value);
        return constructorRegex.test(fnStr);
      } catch (e) {
        return false;
      }
    };
    var tryFunctionObject = function tryFunctionToStr(value) {
      try {
        if (isES6ClassFn(value)) {
          return false;
        }
        fnToStr.call(value);
        return true;
      } catch (e) {
        return false;
      }
    };
    var toStr = Object.prototype.toString;
    var objectClass = "[object Object]";
    var fnClass = "[object Function]";
    var genClass = "[object GeneratorFunction]";
    var ddaClass = "[object HTMLAllCollection]";
    var ddaClass2 = "[object HTML document.all class]";
    var ddaClass3 = "[object HTMLCollection]";
    var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag;
    var isIE68 = !(0 in [,]);
    var isDDA = function isDocumentDotAll() {
      return false;
    };
    if (typeof document === "object") {
      all = document.all;
      if (toStr.call(all) === toStr.call(document.all)) {
        isDDA = function isDocumentDotAll(value) {
          if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) {
            try {
              var str = toStr.call(value);
              return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null;
            } catch (e) {
            }
          }
          return false;
        };
      }
    }
    var all;
    module2.exports = reflectApply ? function isCallable(value) {
      if (isDDA(value)) {
        return true;
      }
      if (!value) {
        return false;
      }
      if (typeof value !== "function" && typeof value !== "object") {
        return false;
      }
      try {
        reflectApply(value, null, badArrayLike);
      } catch (e) {
        if (e !== isCallableMarker) {
          return false;
        }
      }
      return !isES6ClassFn(value) && tryFunctionObject(value);
    } : function isCallable(value) {
      if (isDDA(value)) {
        return true;
      }
      if (!value) {
        return false;
      }
      if (typeof value !== "function" && typeof value !== "object") {
        return false;
      }
      if (hasToStringTag) {
        return tryFunctionObject(value);
      }
      if (isES6ClassFn(value)) {
        return false;
      }
      var strClass = toStr.call(value);
      if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) {
        return false;
      }
      return tryFunctionObject(value);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsCallable.js
var require_IsCallable = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsCallable.js"(exports2, module2) {
    "use strict";
    module2.exports = require_is_callable();
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/GetMethod.js
var require_GetMethod = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/GetMethod.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var GetV = require_GetV();
    var IsCallable = require_IsCallable();
    var isPropertyKey = require_isPropertyKey();
    var inspect = require_object_inspect();
    module2.exports = function GetMethod(O, P) {
      if (!isPropertyKey(P)) {
        throw new $TypeError("Assertion failed: P is not a Property Key");
      }
      var func = GetV(O, P);
      if (func == null) {
        return void 0;
      }
      if (!IsCallable(func)) {
        throw new $TypeError(inspect(P) + " is not a function: " + inspect(func));
      }
      return func;
    };
  }
});

// ../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js
var require_shams2 = __commonJS({
  "../node_modules/.pnpm/has-tostringtag@1.0.2/node_modules/has-tostringtag/shams.js"(exports2, module2) {
    "use strict";
    var hasSymbols = require_shams();
    module2.exports = function hasToStringTagShams() {
      return hasSymbols() && !!Symbol.toStringTag;
    };
  }
});

// ../node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js
var require_is_regex = __commonJS({
  "../node_modules/.pnpm/is-regex@1.2.1/node_modules/is-regex/index.js"(exports2, module2) {
    "use strict";
    var callBound = require_call_bound();
    var hasToStringTag = require_shams2()();
    var hasOwn = require_hasown();
    var gOPD = require_gopd();
    var fn;
    if (hasToStringTag) {
      $exec = callBound("RegExp.prototype.exec");
      isRegexMarker = {};
      throwRegexMarker = function() {
        throw isRegexMarker;
      };
      badStringifier = {
        toString: throwRegexMarker,
        valueOf: throwRegexMarker
      };
      if (typeof Symbol.toPrimitive === "symbol") {
        badStringifier[Symbol.toPrimitive] = throwRegexMarker;
      }
      fn = function isRegex(value) {
        if (!value || typeof value !== "object") {
          return false;
        }
        var descriptor = (
          /** @type {NonNullable<typeof gOPD>} */
          gOPD(
            /** @type {{ lastIndex?: unknown }} */
            value,
            "lastIndex"
          )
        );
        var hasLastIndexDataProperty = descriptor && hasOwn(descriptor, "value");
        if (!hasLastIndexDataProperty) {
          return false;
        }
        try {
          $exec(
            value,
            /** @type {string} */
            /** @type {unknown} */
            badStringifier
          );
        } catch (e) {
          return e === isRegexMarker;
        }
      };
    } else {
      $toString = callBound("Object.prototype.toString");
      regexClass = "[object RegExp]";
      fn = function isRegex(value) {
        if (!value || typeof value !== "object" && typeof value !== "function") {
          return false;
        }
        return $toString(value) === regexClass;
      };
    }
    var $exec;
    var isRegexMarker;
    var throwRegexMarker;
    var badStringifier;
    var $toString;
    var regexClass;
    module2.exports = fn;
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToBoolean.js
var require_ToBoolean = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToBoolean.js"(exports2, module2) {
    "use strict";
    module2.exports = function ToBoolean(value) {
      return !!value;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsRegExp.js
var require_IsRegExp = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsRegExp.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $match = GetIntrinsic("%Symbol.match%", true);
    var hasRegExpMatcher = require_is_regex();
    var ToBoolean = require_ToBoolean();
    var isObject = require_isObject3();
    module2.exports = function IsRegExp(argument) {
      if (!isObject(argument)) {
        return false;
      }
      if ($match) {
        var isRegExp = argument[$match];
        if (typeof isRegExp !== "undefined") {
          return ToBoolean(isRegExp);
        }
      }
      return hasRegExpMatcher(argument);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToString.js
var require_ToString = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToString.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $String = GetIntrinsic("%String%");
    var $TypeError = require_type4();
    module2.exports = function ToString(argument) {
      if (typeof argument === "symbol") {
        throw new $TypeError("Cannot convert a Symbol value to a string");
      }
      return $String(argument);
    };
  }
});

// ../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/RequireObjectCoercible.js
var require_RequireObjectCoercible = __commonJS({
  "../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/RequireObjectCoercible.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    module2.exports = function RequireObjectCoercible(value) {
      if (value == null) {
        throw new $TypeError(arguments.length > 0 && arguments[1] || "Cannot call method on " + value);
      }
      return value;
    };
  }
});

// ../node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js
var require_functions_have_names = __commonJS({
  "../node_modules/.pnpm/functions-have-names@1.2.3/node_modules/functions-have-names/index.js"(exports2, module2) {
    "use strict";
    var functionsHaveNames = function functionsHaveNames2() {
      return typeof function f() {
      }.name === "string";
    };
    var gOPD = Object.getOwnPropertyDescriptor;
    if (gOPD) {
      try {
        gOPD([], "length");
      } catch (e) {
        gOPD = null;
      }
    }
    functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {
      if (!functionsHaveNames() || !gOPD) {
        return false;
      }
      var desc = gOPD(function() {
      }, "name");
      return !!desc && !!desc.configurable;
    };
    var $bind = Function.prototype.bind;
    functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {
      return functionsHaveNames() && typeof $bind === "function" && function f() {
      }.bind().name !== "";
    };
    module2.exports = functionsHaveNames;
  }
});

// ../node_modules/.pnpm/set-function-name@2.0.2/node_modules/set-function-name/index.js
var require_set_function_name = __commonJS({
  "../node_modules/.pnpm/set-function-name@2.0.2/node_modules/set-function-name/index.js"(exports2, module2) {
    "use strict";
    var define2 = require_define_data_property();
    var hasDescriptors = require_has_property_descriptors()();
    var functionsHaveConfigurableNames = require_functions_have_names().functionsHaveConfigurableNames();
    var $TypeError = require_type4();
    module2.exports = function setFunctionName(fn, name) {
      if (typeof fn !== "function") {
        throw new $TypeError("`fn` is not a function");
      }
      var loose = arguments.length > 2 && !!arguments[2];
      if (!loose || functionsHaveConfigurableNames) {
        if (hasDescriptors) {
          define2(
            /** @type {Parameters<define>[0]} */
            fn,
            "name",
            name,
            true,
            true
          );
        } else {
          define2(
            /** @type {Parameters<define>[0]} */
            fn,
            "name",
            name
          );
        }
      }
      return fn;
    };
  }
});

// ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/implementation.js
var require_implementation4 = __commonJS({
  "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/implementation.js"(exports2, module2) {
    "use strict";
    var setFunctionName = require_set_function_name();
    var $TypeError = require_type4();
    var $Object = Object;
    module2.exports = setFunctionName(function flags() {
      if (this == null || this !== $Object(this)) {
        throw new $TypeError("RegExp.prototype.flags getter called on non-object");
      }
      var result2 = "";
      if (this.hasIndices) {
        result2 += "d";
      }
      if (this.global) {
        result2 += "g";
      }
      if (this.ignoreCase) {
        result2 += "i";
      }
      if (this.multiline) {
        result2 += "m";
      }
      if (this.dotAll) {
        result2 += "s";
      }
      if (this.unicode) {
        result2 += "u";
      }
      if (this.unicodeSets) {
        result2 += "v";
      }
      if (this.sticky) {
        result2 += "y";
      }
      return result2;
    }, "get flags", true);
  }
});

// ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/polyfill.js
var require_polyfill = __commonJS({
  "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/polyfill.js"(exports2, module2) {
    "use strict";
    var implementation = require_implementation4();
    var supportsDescriptors = require_define_properties().supportsDescriptors;
    var $gOPD = Object.getOwnPropertyDescriptor;
    module2.exports = function getPolyfill() {
      if (supportsDescriptors && /a/mig.flags === "gim") {
        var descriptor = $gOPD(RegExp.prototype, "flags");
        if (descriptor && typeof descriptor.get === "function" && "dotAll" in RegExp.prototype && "hasIndices" in RegExp.prototype) {
          var calls = "";
          var o = {};
          Object.defineProperty(o, "hasIndices", {
            get: function() {
              calls += "d";
            }
          });
          Object.defineProperty(o, "sticky", {
            get: function() {
              calls += "y";
            }
          });
          descriptor.get.call(o);
          if (calls === "dy") {
            return descriptor.get;
          }
        }
      }
      return implementation;
    };
  }
});

// ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/shim.js
var require_shim = __commonJS({
  "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/shim.js"(exports2, module2) {
    "use strict";
    var supportsDescriptors = require_define_properties().supportsDescriptors;
    var getPolyfill = require_polyfill();
    var gOPD = require_gopd();
    var defineProperty = Object.defineProperty;
    var $TypeError = require_es_errors();
    var getProto = require_get_proto();
    var regex = /a/;
    module2.exports = function shimFlags() {
      if (!supportsDescriptors || !getProto) {
        throw new $TypeError("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");
      }
      var polyfill = getPolyfill();
      var proto = getProto(regex);
      var descriptor = gOPD(proto, "flags");
      if (!descriptor || descriptor.get !== polyfill) {
        defineProperty(proto, "flags", {
          configurable: true,
          enumerable: false,
          get: polyfill
        });
      }
      return polyfill;
    };
  }
});

// ../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/index.js
var require_regexp_prototype = __commonJS({
  "../node_modules/.pnpm/regexp.prototype.flags@1.5.4/node_modules/regexp.prototype.flags/index.js"(exports2, module2) {
    "use strict";
    var define2 = require_define_properties();
    var callBind = require_call_bind();
    var implementation = require_implementation4();
    var getPolyfill = require_polyfill();
    var shim = require_shim();
    var flagsBound = callBind(getPolyfill());
    define2(flagsBound, {
      getPolyfill,
      implementation,
      shim
    });
    module2.exports = flagsBound;
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isLeadingSurrogate.js
var require_isLeadingSurrogate = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isLeadingSurrogate.js"(exports2, module2) {
    "use strict";
    module2.exports = function isLeadingSurrogate(charCode) {
      return typeof charCode === "number" && charCode >= 55296 && charCode <= 56319;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isTrailingSurrogate.js
var require_isTrailingSurrogate = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isTrailingSurrogate.js"(exports2, module2) {
    "use strict";
    module2.exports = function isTrailingSurrogate(charCode) {
      return typeof charCode === "number" && charCode >= 56320 && charCode <= 57343;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/UTF16SurrogatePairToCodePoint.js
var require_UTF16SurrogatePairToCodePoint = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/UTF16SurrogatePairToCodePoint.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $TypeError = require_type4();
    var $fromCharCode = GetIntrinsic("%String.fromCharCode%");
    var isLeadingSurrogate = require_isLeadingSurrogate();
    var isTrailingSurrogate = require_isTrailingSurrogate();
    module2.exports = function UTF16SurrogatePairToCodePoint(lead, trail) {
      if (!isLeadingSurrogate(lead) || !isTrailingSurrogate(trail)) {
        throw new $TypeError("Assertion failed: `lead` must be a leading surrogate char code, and `trail` must be a trailing surrogate char code");
      }
      return $fromCharCode(lead) + $fromCharCode(trail);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CodePointAt.js
var require_CodePointAt = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CodePointAt.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var callBound = require_call_bound();
    var isLeadingSurrogate = require_isLeadingSurrogate();
    var isTrailingSurrogate = require_isTrailingSurrogate();
    var UTF16SurrogatePairToCodePoint = require_UTF16SurrogatePairToCodePoint();
    var $charAt = callBound("String.prototype.charAt");
    var $charCodeAt = callBound("String.prototype.charCodeAt");
    module2.exports = function CodePointAt(string, position) {
      if (typeof string !== "string") {
        throw new $TypeError("Assertion failed: `string` must be a String");
      }
      var size = string.length;
      if (position < 0 || position >= size) {
        throw new $TypeError("Assertion failed: `position` must be >= 0, and < the length of `string`");
      }
      var first = $charCodeAt(string, position);
      var cp = $charAt(string, position);
      var firstIsLeading = isLeadingSurrogate(first);
      var firstIsTrailing = isTrailingSurrogate(first);
      if (!firstIsLeading && !firstIsTrailing) {
        return {
          "[[CodePoint]]": cp,
          "[[CodeUnitCount]]": 1,
          "[[IsUnpairedSurrogate]]": false
        };
      }
      if (firstIsTrailing || position + 1 === size) {
        return {
          "[[CodePoint]]": cp,
          "[[CodeUnitCount]]": 1,
          "[[IsUnpairedSurrogate]]": true
        };
      }
      var second = $charCodeAt(string, position + 1);
      if (!isTrailingSurrogate(second)) {
        return {
          "[[CodePoint]]": cp,
          "[[CodeUnitCount]]": 1,
          "[[IsUnpairedSurrogate]]": true
        };
      }
      return {
        "[[CodePoint]]": UTF16SurrogatePairToCodePoint(first, second),
        "[[CodeUnitCount]]": 2,
        "[[IsUnpairedSurrogate]]": false
      };
    };
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isFinite.js
var require_isFinite = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isFinite.js"(exports2, module2) {
    "use strict";
    var $isNaN = require_isNaN();
    module2.exports = function isFinite2(x) {
      return (typeof x === "number" || typeof x === "bigint") && !$isNaN(x) && x !== Infinity && x !== -Infinity;
    };
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isInteger.js
var require_isInteger2 = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isInteger.js"(exports2, module2) {
    "use strict";
    var $abs = require_abs();
    var $floor = require_floor();
    var $isNaN = require_isNaN();
    var $isFinite = require_isFinite();
    module2.exports = function isInteger(argument) {
      if (typeof argument !== "number" || $isNaN(argument) || !$isFinite(argument)) {
        return false;
      }
      var absValue = $abs(argument);
      return $floor(absValue) === absValue;
    };
  }
});

// ../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/constants/maxSafeInteger.js
var require_maxSafeInteger = __commonJS({
  "../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/constants/maxSafeInteger.js"(exports2, module2) {
    "use strict";
    module2.exports = /** @type {import('./maxSafeInteger')} */
    Number.MAX_SAFE_INTEGER || 9007199254740991;
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/AdvanceStringIndex.js
var require_AdvanceStringIndex = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/AdvanceStringIndex.js"(exports2, module2) {
    "use strict";
    var CodePointAt = require_CodePointAt();
    var $TypeError = require_type4();
    var isInteger = require_isInteger2();
    var MAX_SAFE_INTEGER = require_maxSafeInteger();
    module2.exports = function AdvanceStringIndex(S, index, unicode) {
      if (typeof S !== "string") {
        throw new $TypeError("Assertion failed: `S` must be a String");
      }
      if (!isInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {
        throw new $TypeError("Assertion failed: `length` must be an integer >= 0 and <= 2**53");
      }
      if (typeof unicode !== "boolean") {
        throw new $TypeError("Assertion failed: `unicode` must be a Boolean");
      }
      if (!unicode) {
        return index + 1;
      }
      var length = S.length;
      if (index + 1 >= length) {
        return index + 1;
      }
      var cp = CodePointAt(S, index);
      return index + cp["[[CodeUnitCount]]"];
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CreateIterResultObject.js
var require_CreateIterResultObject = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CreateIterResultObject.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    module2.exports = function CreateIterResultObject(value, done) {
      if (typeof done !== "boolean") {
        throw new $TypeError("Assertion failed: Type(done) is not Boolean");
      }
      return {
        value,
        done
      };
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/records/property-descriptor.js
var require_property_descriptor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/records/property-descriptor.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var hasOwn = require_hasown();
    var allowed = {
      __proto__: null,
      "[[Configurable]]": true,
      "[[Enumerable]]": true,
      "[[Get]]": true,
      "[[Set]]": true,
      "[[Value]]": true,
      "[[Writable]]": true
    };
    module2.exports = function isPropertyDescriptor(Desc) {
      if (!Desc || typeof Desc !== "object") {
        return false;
      }
      for (var key in Desc) {
        if (hasOwn(Desc, key) && !allowed[key]) {
          return false;
        }
      }
      var isData = hasOwn(Desc, "[[Value]]") || hasOwn(Desc, "[[Writable]]");
      var IsAccessor = hasOwn(Desc, "[[Get]]") || hasOwn(Desc, "[[Set]]");
      if (isData && IsAccessor) {
        throw new $TypeError("Property Descriptors may not be both accessor and data descriptors");
      }
      return true;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/DefineOwnProperty.js
var require_DefineOwnProperty = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/DefineOwnProperty.js"(exports2, module2) {
    "use strict";
    var hasPropertyDescriptors = require_has_property_descriptors();
    var $defineProperty = require_es_define_property();
    var hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug();
    var isArray = hasArrayLengthDefineBug && require_IsArray();
    var callBound = require_call_bound();
    var $isEnumerable = callBound("Object.prototype.propertyIsEnumerable");
    module2.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {
      if (!$defineProperty) {
        if (!IsDataDescriptor(desc)) {
          return false;
        }
        if (!desc["[[Configurable]]"] || !desc["[[Writable]]"]) {
          return false;
        }
        if (P in O && $isEnumerable(O, P) !== !!desc["[[Enumerable]]"]) {
          return false;
        }
        var V = desc["[[Value]]"];
        O[P] = V;
        return SameValue(O[P], V);
      }
      if (hasArrayLengthDefineBug && P === "length" && "[[Value]]" in desc && isArray(O) && O.length !== desc["[[Value]]"]) {
        O.length = desc["[[Value]]"];
        return O.length === desc["[[Value]]"];
      }
      $defineProperty(O, P, FromPropertyDescriptor(desc));
      return true;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/fromPropertyDescriptor.js
var require_fromPropertyDescriptor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/fromPropertyDescriptor.js"(exports2, module2) {
    "use strict";
    module2.exports = function fromPropertyDescriptor(Desc) {
      if (typeof Desc === "undefined") {
        return Desc;
      }
      var obj = {};
      if ("[[Value]]" in Desc) {
        obj.value = Desc["[[Value]]"];
      }
      if ("[[Writable]]" in Desc) {
        obj.writable = !!Desc["[[Writable]]"];
      }
      if ("[[Get]]" in Desc) {
        obj.get = Desc["[[Get]]"];
      }
      if ("[[Set]]" in Desc) {
        obj.set = Desc["[[Set]]"];
      }
      if ("[[Enumerable]]" in Desc) {
        obj.enumerable = !!Desc["[[Enumerable]]"];
      }
      if ("[[Configurable]]" in Desc) {
        obj.configurable = !!Desc["[[Configurable]]"];
      }
      return obj;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/FromPropertyDescriptor.js
var require_FromPropertyDescriptor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/FromPropertyDescriptor.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var isPropertyDescriptor = require_property_descriptor();
    var fromPropertyDescriptor = require_fromPropertyDescriptor();
    module2.exports = function FromPropertyDescriptor(Desc) {
      if (typeof Desc !== "undefined" && !isPropertyDescriptor(Desc)) {
        throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor");
      }
      return fromPropertyDescriptor(Desc);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsDataDescriptor.js
var require_IsDataDescriptor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsDataDescriptor.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var hasOwn = require_hasown();
    var isPropertyDescriptor = require_property_descriptor();
    module2.exports = function IsDataDescriptor(Desc) {
      if (typeof Desc === "undefined") {
        return false;
      }
      if (!isPropertyDescriptor(Desc)) {
        throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor");
      }
      if (!hasOwn(Desc, "[[Value]]") && !hasOwn(Desc, "[[Writable]]")) {
        return false;
      }
      return true;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/SameValue.js
var require_SameValue = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/SameValue.js"(exports2, module2) {
    "use strict";
    var $isNaN = require_isNaN();
    module2.exports = function SameValue(x, y) {
      if (x === y) {
        if (x === 0) {
          return 1 / x === 1 / y;
        }
        return true;
      }
      return $isNaN(x) && $isNaN(y);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToPropertyDescriptor.js
var require_ToPropertyDescriptor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToPropertyDescriptor.js"(exports2, module2) {
    "use strict";
    var hasOwn = require_hasown();
    var $TypeError = require_type4();
    var IsCallable = require_IsCallable();
    var ToBoolean = require_ToBoolean();
    var isObject = require_isObject3();
    module2.exports = function ToPropertyDescriptor(Obj) {
      if (!isObject(Obj)) {
        throw new $TypeError("ToPropertyDescriptor requires an object");
      }
      var desc = {};
      if (hasOwn(Obj, "enumerable")) {
        desc["[[Enumerable]]"] = ToBoolean(Obj.enumerable);
      }
      if (hasOwn(Obj, "configurable")) {
        desc["[[Configurable]]"] = ToBoolean(Obj.configurable);
      }
      if (hasOwn(Obj, "value")) {
        desc["[[Value]]"] = Obj.value;
      }
      if (hasOwn(Obj, "writable")) {
        desc["[[Writable]]"] = ToBoolean(Obj.writable);
      }
      if (hasOwn(Obj, "get")) {
        var getter = Obj.get;
        if (typeof getter !== "undefined" && !IsCallable(getter)) {
          throw new $TypeError("getter must be a function");
        }
        desc["[[Get]]"] = getter;
      }
      if (hasOwn(Obj, "set")) {
        var setter = Obj.set;
        if (typeof setter !== "undefined" && !IsCallable(setter)) {
          throw new $TypeError("setter must be a function");
        }
        desc["[[Set]]"] = setter;
      }
      if ((hasOwn(desc, "[[Get]]") || hasOwn(desc, "[[Set]]")) && (hasOwn(desc, "[[Value]]") || hasOwn(desc, "[[Writable]]"))) {
        throw new $TypeError("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");
      }
      return desc;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/DefinePropertyOrThrow.js
var require_DefinePropertyOrThrow = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/DefinePropertyOrThrow.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var isPropertyDescriptor = require_property_descriptor();
    var DefineOwnProperty = require_DefineOwnProperty();
    var FromPropertyDescriptor = require_FromPropertyDescriptor();
    var IsDataDescriptor = require_IsDataDescriptor();
    var isPropertyKey = require_isPropertyKey();
    var SameValue = require_SameValue();
    var ToPropertyDescriptor = require_ToPropertyDescriptor();
    var isObject = require_isObject3();
    module2.exports = function DefinePropertyOrThrow(O, P, desc) {
      if (!isObject(O)) {
        throw new $TypeError("Assertion failed: Type(O) is not Object");
      }
      if (!isPropertyKey(P)) {
        throw new $TypeError("Assertion failed: P is not a Property Key");
      }
      var Desc = isPropertyDescriptor(desc) ? desc : ToPropertyDescriptor(desc);
      if (!isPropertyDescriptor(Desc)) {
        throw new $TypeError("Assertion failed: Desc is not a valid Property Descriptor");
      }
      return DefineOwnProperty(
        IsDataDescriptor,
        SameValue,
        FromPropertyDescriptor,
        O,
        P,
        Desc
      );
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isPrimitive.js
var require_isPrimitive = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/isPrimitive.js"(exports2, module2) {
    "use strict";
    module2.exports = function isPrimitive(value) {
      return value === null || typeof value !== "function" && typeof value !== "object";
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsExtensible.js
var require_IsExtensible = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsExtensible.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $preventExtensions = GetIntrinsic("%Object.preventExtensions%", true);
    var $isExtensible = GetIntrinsic("%Object.isExtensible%", true);
    var isPrimitive = require_isPrimitive();
    module2.exports = $preventExtensions ? function IsExtensible(obj) {
      return !isPrimitive(obj) && $isExtensible(obj);
    } : function IsExtensible(obj) {
      return !isPrimitive(obj);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/DefineMethodProperty.js
var require_DefineMethodProperty = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/DefineMethodProperty.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var DefinePropertyOrThrow = require_DefinePropertyOrThrow();
    var IsExtensible = require_IsExtensible();
    var isObject = require_isObject3();
    var isPropertyKey = require_isPropertyKey();
    module2.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) {
      if (!isObject(homeObject)) {
        throw new $TypeError("Assertion failed: `homeObject` is not an Object");
      }
      if (!isPropertyKey(key)) {
        throw new $TypeError("Assertion failed: `key` is not a Property Key or a Private Name");
      }
      if (typeof closure !== "function") {
        throw new $TypeError("Assertion failed: `closure` is not a function");
      }
      if (typeof enumerable !== "boolean") {
        throw new $TypeError("Assertion failed: `enumerable` is not a Boolean");
      }
      if (!IsExtensible(homeObject)) {
        throw new $TypeError("Assertion failed: `homeObject` is not an ordinary, extensible object, with no non-configurable properties");
      }
      var desc = {
        // step 3.a
        "[[Value]]": closure,
        "[[Writable]]": true,
        "[[Enumerable]]": enumerable,
        "[[Configurable]]": true
      };
      DefinePropertyOrThrow(homeObject, key, desc);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/forEach.js
var require_forEach2 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/helpers/forEach.js"(exports2, module2) {
    "use strict";
    module2.exports = function forEach(array, callback) {
      for (var i = 0; i < array.length; i += 1) {
        callback(array[i], i, array);
      }
    };
  }
});

// ../node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js
var require_side_channel_list = __commonJS({
  "../node_modules/.pnpm/side-channel-list@1.0.0/node_modules/side-channel-list/index.js"(exports2, module2) {
    "use strict";
    var inspect = require_object_inspect();
    var $TypeError = require_type4();
    var listGetNode = function(list, key, isDelete) {
      var prev = list;
      var curr;
      for (; (curr = prev.next) != null; prev = curr) {
        if (curr.key === key) {
          prev.next = curr.next;
          if (!isDelete) {
            curr.next = /** @type {NonNullable<typeof list.next>} */
            list.next;
            list.next = curr;
          }
          return curr;
        }
      }
    };
    var listGet = function(objects, key) {
      if (!objects) {
        return void 0;
      }
      var node = listGetNode(objects, key);
      return node && node.value;
    };
    var listSet = function(objects, key, value) {
      var node = listGetNode(objects, key);
      if (node) {
        node.value = value;
      } else {
        objects.next = /** @type {import('./list.d.ts').ListNode<typeof value, typeof key>} */
        {
          // eslint-disable-line no-param-reassign, no-extra-parens
          key,
          next: objects.next,
          value
        };
      }
    };
    var listHas = function(objects, key) {
      if (!objects) {
        return false;
      }
      return !!listGetNode(objects, key);
    };
    var listDelete = function(objects, key) {
      if (objects) {
        return listGetNode(objects, key, true);
      }
    };
    module2.exports = function getSideChannelList() {
      var $o;
      var channel = {
        assert: function(key) {
          if (!channel.has(key)) {
            throw new $TypeError("Side channel does not contain " + inspect(key));
          }
        },
        "delete": function(key) {
          var root = $o && $o.next;
          var deletedNode = listDelete($o, key);
          if (deletedNode && root && root === deletedNode) {
            $o = void 0;
          }
          return !!deletedNode;
        },
        get: function(key) {
          return listGet($o, key);
        },
        has: function(key) {
          return listHas($o, key);
        },
        set: function(key, value) {
          if (!$o) {
            $o = {
              next: void 0
            };
          }
          listSet(
            /** @type {NonNullable<typeof $o>} */
            $o,
            key,
            value
          );
        }
      };
      return channel;
    };
  }
});

// ../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js
var require_side_channel_map = __commonJS({
  "../node_modules/.pnpm/side-channel-map@1.0.1/node_modules/side-channel-map/index.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var callBound = require_call_bound();
    var inspect = require_object_inspect();
    var $TypeError = require_type4();
    var $Map = GetIntrinsic("%Map%", true);
    var $mapGet = callBound("Map.prototype.get", true);
    var $mapSet = callBound("Map.prototype.set", true);
    var $mapHas = callBound("Map.prototype.has", true);
    var $mapDelete = callBound("Map.prototype.delete", true);
    var $mapSize = callBound("Map.prototype.size", true);
    module2.exports = !!$Map && /** @type {Exclude<import('.'), false>} */
    function getSideChannelMap() {
      var $m;
      var channel = {
        assert: function(key) {
          if (!channel.has(key)) {
            throw new $TypeError("Side channel does not contain " + inspect(key));
          }
        },
        "delete": function(key) {
          if ($m) {
            var result2 = $mapDelete($m, key);
            if ($mapSize($m) === 0) {
              $m = void 0;
            }
            return result2;
          }
          return false;
        },
        get: function(key) {
          if ($m) {
            return $mapGet($m, key);
          }
        },
        has: function(key) {
          if ($m) {
            return $mapHas($m, key);
          }
          return false;
        },
        set: function(key, value) {
          if (!$m) {
            $m = new $Map();
          }
          $mapSet($m, key, value);
        }
      };
      return channel;
    };
  }
});

// ../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js
var require_side_channel_weakmap = __commonJS({
  "../node_modules/.pnpm/side-channel-weakmap@1.0.2/node_modules/side-channel-weakmap/index.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var callBound = require_call_bound();
    var inspect = require_object_inspect();
    var getSideChannelMap = require_side_channel_map();
    var $TypeError = require_type4();
    var $WeakMap = GetIntrinsic("%WeakMap%", true);
    var $weakMapGet = callBound("WeakMap.prototype.get", true);
    var $weakMapSet = callBound("WeakMap.prototype.set", true);
    var $weakMapHas = callBound("WeakMap.prototype.has", true);
    var $weakMapDelete = callBound("WeakMap.prototype.delete", true);
    module2.exports = $WeakMap ? (
      /** @type {Exclude<import('.'), false>} */
      function getSideChannelWeakMap() {
        var $wm;
        var $m;
        var channel = {
          assert: function(key) {
            if (!channel.has(key)) {
              throw new $TypeError("Side channel does not contain " + inspect(key));
            }
          },
          "delete": function(key) {
            if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
              if ($wm) {
                return $weakMapDelete($wm, key);
              }
            } else if (getSideChannelMap) {
              if ($m) {
                return $m["delete"](key);
              }
            }
            return false;
          },
          get: function(key) {
            if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
              if ($wm) {
                return $weakMapGet($wm, key);
              }
            }
            return $m && $m.get(key);
          },
          has: function(key) {
            if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
              if ($wm) {
                return $weakMapHas($wm, key);
              }
            }
            return !!$m && $m.has(key);
          },
          set: function(key, value) {
            if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) {
              if (!$wm) {
                $wm = new $WeakMap();
              }
              $weakMapSet($wm, key, value);
            } else if (getSideChannelMap) {
              if (!$m) {
                $m = getSideChannelMap();
              }
              $m.set(key, value);
            }
          }
        };
        return channel;
      }
    ) : getSideChannelMap;
  }
});

// ../node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js
var require_side_channel = __commonJS({
  "../node_modules/.pnpm/side-channel@1.1.0/node_modules/side-channel/index.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var inspect = require_object_inspect();
    var getSideChannelList = require_side_channel_list();
    var getSideChannelMap = require_side_channel_map();
    var getSideChannelWeakMap = require_side_channel_weakmap();
    var makeChannel = getSideChannelWeakMap || getSideChannelMap || getSideChannelList;
    module2.exports = function getSideChannel() {
      var $channelData;
      var channel = {
        assert: function(key) {
          if (!channel.has(key)) {
            throw new $TypeError("Side channel does not contain " + inspect(key));
          }
        },
        "delete": function(key) {
          return !!$channelData && $channelData["delete"](key);
        },
        get: function(key) {
          return $channelData && $channelData.get(key);
        },
        has: function(key) {
          return !!$channelData && $channelData.has(key);
        },
        set: function(key, value) {
          if (!$channelData) {
            $channelData = makeChannel();
          }
          $channelData.set(key, value);
        }
      };
      return channel;
    };
  }
});

// ../node_modules/.pnpm/internal-slot@1.1.0/node_modules/internal-slot/index.js
var require_internal_slot = __commonJS({
  "../node_modules/.pnpm/internal-slot@1.1.0/node_modules/internal-slot/index.js"(exports2, module2) {
    "use strict";
    var hasOwn = require_hasown();
    var channel = require_side_channel()();
    var $TypeError = require_type4();
    var SLOT = {
      assert: function(O, slot) {
        if (!O || typeof O !== "object" && typeof O !== "function") {
          throw new $TypeError("`O` is not an object");
        }
        if (typeof slot !== "string") {
          throw new $TypeError("`slot` must be a string");
        }
        channel.assert(O);
        if (!SLOT.has(O, slot)) {
          throw new $TypeError("`" + slot + "` is not present on `O`");
        }
      },
      get: function(O, slot) {
        if (!O || typeof O !== "object" && typeof O !== "function") {
          throw new $TypeError("`O` is not an object");
        }
        if (typeof slot !== "string") {
          throw new $TypeError("`slot` must be a string");
        }
        var slots = channel.get(O);
        return slots && slots[
          /** @type {SaltedInternalSlot} */
          "$" + slot
        ];
      },
      has: function(O, slot) {
        if (!O || typeof O !== "object" && typeof O !== "function") {
          throw new $TypeError("`O` is not an object");
        }
        if (typeof slot !== "string") {
          throw new $TypeError("`slot` must be a string");
        }
        var slots = channel.get(O);
        return !!slots && hasOwn(
          slots,
          /** @type {SaltedInternalSlot} */
          "$" + slot
        );
      },
      set: function(O, slot, V) {
        if (!O || typeof O !== "object" && typeof O !== "function") {
          throw new $TypeError("`O` is not an object");
        }
        if (typeof slot !== "string") {
          throw new $TypeError("`slot` must be a string");
        }
        var slots = channel.get(O);
        if (!slots) {
          slots = {};
          channel.set(O, slots);
        }
        slots[
          /** @type {SaltedInternalSlot} */
          "$" + slot
        ] = V;
      }
    };
    if (Object.freeze) {
      Object.freeze(SLOT);
    }
    module2.exports = SLOT;
  }
});

// ../node_modules/.pnpm/has-proto@1.2.0/node_modules/has-proto/index.js
var require_has_proto = __commonJS({
  "../node_modules/.pnpm/has-proto@1.2.0/node_modules/has-proto/index.js"(exports2, module2) {
    "use strict";
    var test = {
      __proto__: null,
      foo: {}
    };
    var result2 = { __proto__: test }.foo === test.foo && !(test instanceof Object);
    module2.exports = function hasProto() {
      return result2;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/OrdinaryObjectCreate.js
var require_OrdinaryObjectCreate = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/OrdinaryObjectCreate.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $ObjectCreate = GetIntrinsic("%Object.create%", true);
    var $TypeError = require_type4();
    var $SyntaxError = require_syntax();
    var IsArray = require_IsArray2();
    var forEach = require_forEach2();
    var isObject = require_isObject3();
    var SLOT = require_internal_slot();
    var hasProto = require_has_proto()();
    module2.exports = function OrdinaryObjectCreate(proto) {
      if (proto !== null && !isObject(proto)) {
        throw new $TypeError("Assertion failed: `proto` must be null or an object");
      }
      var additionalInternalSlotsList = arguments.length < 2 ? [] : arguments[1];
      if (!IsArray(additionalInternalSlotsList)) {
        throw new $TypeError("Assertion failed: `additionalInternalSlotsList` must be an Array");
      }
      var O;
      if ($ObjectCreate) {
        O = $ObjectCreate(proto);
      } else if (hasProto) {
        O = { __proto__: proto };
      } else {
        if (proto === null) {
          throw new $SyntaxError("native Object.create support is required to create null objects");
        }
        var T = function T2() {
        };
        T.prototype = proto;
        O = new T();
      }
      if (additionalInternalSlotsList.length > 0) {
        forEach(additionalInternalSlotsList, function(slot) {
          SLOT.set(O, slot, void 0);
        });
      }
      return O;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/RegExpExec.js
var require_RegExpExec = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/RegExpExec.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var regexExec = require_call_bound()("RegExp.prototype.exec");
    var Call = require_Call();
    var Get = require_Get();
    var IsCallable = require_IsCallable();
    var isObject = require_isObject3();
    module2.exports = function RegExpExec(R, S) {
      if (!isObject(R)) {
        throw new $TypeError("Assertion failed: `R` must be an Object");
      }
      if (typeof S !== "string") {
        throw new $TypeError("Assertion failed: `S` must be a String");
      }
      var exec = Get(R, "exec");
      if (IsCallable(exec)) {
        var result2 = Call(exec, R, [S]);
        if (result2 === null || isObject(result2)) {
          return result2;
        }
        throw new $TypeError('"exec" method must return `null` or an Object');
      }
      return regexExec(R, S);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Set.js
var require_Set3 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Set.js"(exports2, module2) {
    "use strict";
    var $TypeError = require_type4();
    var isPropertyKey = require_isPropertyKey();
    var SameValue = require_SameValue();
    var isObject = require_isObject3();
    var noThrowOnStrictViolation = function() {
      try {
        delete [].length;
        return true;
      } catch (e) {
        return false;
      }
    }();
    module2.exports = function Set2(O, P, V, Throw) {
      if (!isObject(O)) {
        throw new $TypeError("Assertion failed: `O` must be an Object");
      }
      if (!isPropertyKey(P)) {
        throw new $TypeError("Assertion failed: `P` must be a Property Key");
      }
      if (typeof Throw !== "boolean") {
        throw new $TypeError("Assertion failed: `Throw` must be a Boolean");
      }
      if (Throw) {
        O[P] = V;
        if (noThrowOnStrictViolation && !SameValue(O[P], V)) {
          throw new $TypeError("Attempted to assign to readonly property.");
        }
        return true;
      }
      try {
        O[P] = V;
        return noThrowOnStrictViolation ? SameValue(O[P], V) : true;
      } catch (e) {
        return false;
      }
    };
  }
});

// ../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/helpers/isPrimitive.js
var require_isPrimitive2 = __commonJS({
  "../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/helpers/isPrimitive.js"(exports2, module2) {
    "use strict";
    module2.exports = function isPrimitive(value) {
      return value === null || typeof value !== "function" && typeof value !== "object";
    };
  }
});

// ../node_modules/.pnpm/is-date-object@1.1.0/node_modules/is-date-object/index.js
var require_is_date_object = __commonJS({
  "../node_modules/.pnpm/is-date-object@1.1.0/node_modules/is-date-object/index.js"(exports2, module2) {
    "use strict";
    var callBound = require_call_bound();
    var getDay = callBound("Date.prototype.getDay");
    var tryDateObject = function tryDateGetDayCall(value) {
      try {
        getDay(value);
        return true;
      } catch (e) {
        return false;
      }
    };
    var toStr = callBound("Object.prototype.toString");
    var dateClass = "[object Date]";
    var hasToStringTag = require_shams2()();
    module2.exports = function isDateObject(value) {
      if (typeof value !== "object" || value === null) {
        return false;
      }
      return hasToStringTag ? tryDateObject(value) : toStr(value) === dateClass;
    };
  }
});

// ../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js
var require_safe_regex_test = __commonJS({
  "../node_modules/.pnpm/safe-regex-test@1.1.0/node_modules/safe-regex-test/index.js"(exports2, module2) {
    "use strict";
    var callBound = require_call_bound();
    var isRegex = require_is_regex();
    var $exec = callBound("RegExp.prototype.exec");
    var $TypeError = require_type4();
    module2.exports = function regexTester(regex) {
      if (!isRegex(regex)) {
        throw new $TypeError("`regex` must be a RegExp");
      }
      return function test(s) {
        return $exec(regex, s) !== null;
      };
    };
  }
});

// ../node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js
var require_is_symbol = __commonJS({
  "../node_modules/.pnpm/is-symbol@1.1.1/node_modules/is-symbol/index.js"(exports2, module2) {
    "use strict";
    var callBound = require_call_bound();
    var $toString = callBound("Object.prototype.toString");
    var hasSymbols = require_has_symbols()();
    var safeRegexTest = require_safe_regex_test();
    if (hasSymbols) {
      $symToStr = callBound("Symbol.prototype.toString");
      isSymString = safeRegexTest(/^Symbol\(.*\)$/);
      isSymbolObject = function isRealSymbolObject(value) {
        if (typeof value.valueOf() !== "symbol") {
          return false;
        }
        return isSymString($symToStr(value));
      };
      module2.exports = function isSymbol(value) {
        if (typeof value === "symbol") {
          return true;
        }
        if (!value || typeof value !== "object" || $toString(value) !== "[object Symbol]") {
          return false;
        }
        try {
          return isSymbolObject(value);
        } catch (e) {
          return false;
        }
      };
    } else {
      module2.exports = function isSymbol(value) {
        return false;
      };
    }
    var $symToStr;
    var isSymString;
    var isSymbolObject;
  }
});

// ../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/es2015.js
var require_es2015 = __commonJS({
  "../node_modules/.pnpm/es-to-primitive@1.3.0/node_modules/es-to-primitive/es2015.js"(exports2, module2) {
    "use strict";
    var hasSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "symbol";
    var isPrimitive = require_isPrimitive2();
    var isCallable = require_is_callable();
    var isDate = require_is_date_object();
    var isSymbol = require_is_symbol();
    var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {
      if (typeof O === "undefined" || O === null) {
        throw new TypeError("Cannot call method on " + O);
      }
      if (typeof hint !== "string" || hint !== "number" && hint !== "string") {
        throw new TypeError('hint must be "string" or "number"');
      }
      var methodNames = hint === "string" ? ["toString", "valueOf"] : ["valueOf", "toString"];
      var method, result2, i;
      for (i = 0; i < methodNames.length; ++i) {
        method = O[methodNames[i]];
        if (isCallable(method)) {
          result2 = method.call(O);
          if (isPrimitive(result2)) {
            return result2;
          }
        }
      }
      throw new TypeError("No default value");
    };
    var GetMethod = function GetMethod2(O, P) {
      var func = O[P];
      if (func !== null && typeof func !== "undefined") {
        if (!isCallable(func)) {
          throw new TypeError(func + " returned for property " + String(P) + " of object " + O + " is not a function");
        }
        return func;
      }
      return void 0;
    };
    module2.exports = function ToPrimitive(input) {
      if (isPrimitive(input)) {
        return input;
      }
      var hint = "default";
      if (arguments.length > 1) {
        if (arguments[1] === String) {
          hint = "string";
        } else if (arguments[1] === Number) {
          hint = "number";
        }
      }
      var exoticToPrim;
      if (hasSymbols) {
        if (Symbol.toPrimitive) {
          exoticToPrim = GetMethod(
            /** @type {Record<PropertyKey, unknown>} */
            input,
            Symbol.toPrimitive
          );
        } else if (isSymbol(input)) {
          exoticToPrim = Symbol.prototype.valueOf;
        }
      }
      if (typeof exoticToPrim !== "undefined") {
        var result2 = exoticToPrim.call(input, hint);
        if (isPrimitive(result2)) {
          return result2;
        }
        throw new TypeError("unable to convert exotic object to primitive");
      }
      if (hint === "default" && (isDate(input) || isSymbol(input))) {
        hint = "string";
      }
      return ordinaryToPrimitive(
        /** @type {object} */
        input,
        hint === "default" ? "number" : hint
      );
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToPrimitive.js
var require_ToPrimitive = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToPrimitive.js"(exports2, module2) {
    "use strict";
    var toPrimitive = require_es2015();
    module2.exports = function ToPrimitive(input) {
      if (arguments.length > 1) {
        return toPrimitive(input, arguments[1]);
      }
      return toPrimitive(input);
    };
  }
});

// ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/implementation.js
var require_implementation5 = __commonJS({
  "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/implementation.js"(exports2, module2) {
    "use strict";
    var RequireObjectCoercible = require_RequireObjectCoercible();
    var ToString = require_ToString();
    var callBound = require_call_bound();
    var $replace = callBound("String.prototype.replace");
    var mvsIsWS = /^\s$/.test("\u180E");
    var leftWhitespace = mvsIsWS ? /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/ : /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/;
    var rightWhitespace = mvsIsWS ? /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/ : /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/;
    module2.exports = function trim() {
      var S = ToString(RequireObjectCoercible(this));
      return $replace($replace(S, leftWhitespace, ""), rightWhitespace, "");
    };
  }
});

// ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/polyfill.js
var require_polyfill2 = __commonJS({
  "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/polyfill.js"(exports2, module2) {
    "use strict";
    var implementation = require_implementation5();
    var zeroWidthSpace = "\u200B";
    var mongolianVowelSeparator = "\u180E";
    module2.exports = function getPolyfill() {
      if (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace && mongolianVowelSeparator.trim() === mongolianVowelSeparator && ("_" + mongolianVowelSeparator).trim() === "_" + mongolianVowelSeparator && (mongolianVowelSeparator + "_").trim() === mongolianVowelSeparator + "_") {
        return String.prototype.trim;
      }
      return implementation;
    };
  }
});

// ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/shim.js
var require_shim2 = __commonJS({
  "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/shim.js"(exports2, module2) {
    "use strict";
    var supportsDescriptors = require_has_property_descriptors()();
    var defineDataProperty = require_define_data_property();
    var getPolyfill = require_polyfill2();
    module2.exports = function shimStringTrim() {
      var polyfill = getPolyfill();
      if (String.prototype.trim !== polyfill) {
        if (supportsDescriptors) {
          defineDataProperty(String.prototype, "trim", polyfill, true);
        } else {
          defineDataProperty(String.prototype, "trim", polyfill);
        }
      }
      return polyfill;
    };
  }
});

// ../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/index.js
var require_string_prototype = __commonJS({
  "../node_modules/.pnpm/string.prototype.trim@1.2.10/node_modules/string.prototype.trim/index.js"(exports2, module2) {
    "use strict";
    var callBind = require_call_bind();
    var define2 = require_define_properties();
    var RequireObjectCoercible = require_RequireObjectCoercible();
    var implementation = require_implementation5();
    var getPolyfill = require_polyfill2();
    var shim = require_shim2();
    var bound = callBind(getPolyfill());
    var boundMethod = function trim(receiver) {
      RequireObjectCoercible(receiver);
      return bound(receiver);
    };
    define2(boundMethod, {
      getPolyfill,
      implementation,
      shim
    });
    module2.exports = boundMethod;
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/StringToNumber.js
var require_StringToNumber = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/StringToNumber.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $RegExp = GetIntrinsic("%RegExp%");
    var $TypeError = require_type4();
    var $parseInteger = GetIntrinsic("%parseInt%");
    var callBound = require_call_bound();
    var regexTester = require_safe_regex_test();
    var $strSlice = callBound("String.prototype.slice");
    var isBinary = regexTester(/^0b[01]+$/i);
    var isOctal = regexTester(/^0o[0-7]+$/i);
    var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i);
    var nonWS = ["\x85", "\u200B", "\uFFFE"].join("");
    var nonWSregex = new $RegExp("[" + nonWS + "]", "g");
    var hasNonWS = regexTester(nonWSregex);
    var $trim = require_string_prototype();
    module2.exports = function StringToNumber(argument) {
      if (typeof argument !== "string") {
        throw new $TypeError("Assertion failed: `argument` is not a String");
      }
      if (isBinary(argument)) {
        return +$parseInteger($strSlice(argument, 2), 2);
      }
      if (isOctal(argument)) {
        return +$parseInteger($strSlice(argument, 2), 8);
      }
      if (hasNonWS(argument) || isInvalidHexLiteral(argument)) {
        return NaN;
      }
      var trimmed = $trim(argument);
      if (trimmed !== argument) {
        return StringToNumber(trimmed);
      }
      return +argument;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToNumber.js
var require_ToNumber = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToNumber.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $TypeError = require_type4();
    var $Number = GetIntrinsic("%Number%");
    var isPrimitive = require_isPrimitive();
    var ToPrimitive = require_ToPrimitive();
    var StringToNumber = require_StringToNumber();
    module2.exports = function ToNumber(argument) {
      var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number);
      if (typeof value === "symbol") {
        throw new $TypeError("Cannot convert a Symbol value to a number");
      }
      if (typeof value === "bigint") {
        throw new $TypeError("Conversion from 'BigInt' to 'number' is not allowed.");
      }
      if (typeof value === "string") {
        return StringToNumber(value);
      }
      return +value;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/floor.js
var require_floor2 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/floor.js"(exports2, module2) {
    "use strict";
    var $floor = require_floor();
    module2.exports = function floor(x) {
      if (typeof x === "bigint") {
        return x;
      }
      return $floor(x);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/truncate.js
var require_truncate2 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/truncate.js"(exports2, module2) {
    "use strict";
    var floor = require_floor2();
    var $TypeError = require_type4();
    module2.exports = function truncate(x) {
      if (typeof x !== "number" && typeof x !== "bigint") {
        throw new $TypeError("argument must be a Number or a BigInt");
      }
      var result2 = x < 0 ? -floor(-x) : floor(x);
      return result2 === 0 ? 0 : result2;
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToIntegerOrInfinity.js
var require_ToIntegerOrInfinity = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToIntegerOrInfinity.js"(exports2, module2) {
    "use strict";
    var ToNumber = require_ToNumber();
    var truncate = require_truncate2();
    var $isNaN = require_isNaN();
    var $isFinite = require_isFinite();
    module2.exports = function ToIntegerOrInfinity(value) {
      var number = ToNumber(value);
      if ($isNaN(number) || number === 0) {
        return 0;
      }
      if (!$isFinite(number)) {
        return number;
      }
      return truncate(number);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToLength.js
var require_ToLength = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/ToLength.js"(exports2, module2) {
    "use strict";
    var MAX_SAFE_INTEGER = require_maxSafeInteger();
    var ToIntegerOrInfinity = require_ToIntegerOrInfinity();
    module2.exports = function ToLength(argument) {
      var len = ToIntegerOrInfinity(argument);
      if (len <= 0) {
        return 0;
      }
      if (len > MAX_SAFE_INTEGER) {
        return MAX_SAFE_INTEGER;
      }
      return len;
    };
  }
});

// ../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js
var require_es_set_tostringtag = __commonJS({
  "../node_modules/.pnpm/es-set-tostringtag@2.1.0/node_modules/es-set-tostringtag/index.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $defineProperty = GetIntrinsic("%Object.defineProperty%", true);
    var hasToStringTag = require_shams2()();
    var hasOwn = require_hasown();
    var $TypeError = require_type4();
    var toStringTag = hasToStringTag ? Symbol.toStringTag : null;
    module2.exports = function setToStringTag(object, value) {
      var overrideIfSet = arguments.length > 2 && !!arguments[2] && arguments[2].force;
      var nonConfigurable = arguments.length > 2 && !!arguments[2] && arguments[2].nonConfigurable;
      if (typeof overrideIfSet !== "undefined" && typeof overrideIfSet !== "boolean" || typeof nonConfigurable !== "undefined" && typeof nonConfigurable !== "boolean") {
        throw new $TypeError("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");
      }
      if (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {
        if ($defineProperty) {
          $defineProperty(object, toStringTag, {
            configurable: !nonConfigurable,
            enumerable: false,
            value,
            writable: false
          });
        } else {
          object[toStringTag] = value;
        }
      }
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CreateRegExpStringIterator.js
var require_CreateRegExpStringIterator = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/CreateRegExpStringIterator.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var hasSymbols = require_has_symbols()();
    var $TypeError = require_type4();
    var IteratorPrototype = GetIntrinsic("%IteratorPrototype%", true);
    var AdvanceStringIndex = require_AdvanceStringIndex();
    var CreateIterResultObject = require_CreateIterResultObject();
    var DefineMethodProperty = require_DefineMethodProperty();
    var Get = require_Get();
    var OrdinaryObjectCreate = require_OrdinaryObjectCreate();
    var RegExpExec = require_RegExpExec();
    var Set2 = require_Set3();
    var ToLength = require_ToLength();
    var ToString = require_ToString();
    var isObject = require_isObject3();
    var SLOT = require_internal_slot();
    var setToStringTag = require_es_set_tostringtag();
    var RegExpStringIterator = function RegExpStringIterator2(R, S, global2, fullUnicode) {
      if (typeof S !== "string") {
        throw new $TypeError("`S` must be a string");
      }
      if (typeof global2 !== "boolean") {
        throw new $TypeError("`global` must be a boolean");
      }
      if (typeof fullUnicode !== "boolean") {
        throw new $TypeError("`fullUnicode` must be a boolean");
      }
      SLOT.set(this, "[[IteratingRegExp]]", R);
      SLOT.set(this, "[[IteratedString]]", S);
      SLOT.set(this, "[[Global]]", global2);
      SLOT.set(this, "[[Unicode]]", fullUnicode);
      SLOT.set(this, "[[Done]]", false);
    };
    if (IteratorPrototype) {
      RegExpStringIterator.prototype = OrdinaryObjectCreate(IteratorPrototype);
    }
    var RegExpStringIteratorNext = function next() {
      var O = this;
      if (!isObject(O)) {
        throw new $TypeError("receiver must be an object");
      }
      if (!(O instanceof RegExpStringIterator) || !SLOT.has(O, "[[IteratingRegExp]]") || !SLOT.has(O, "[[IteratedString]]") || !SLOT.has(O, "[[Global]]") || !SLOT.has(O, "[[Unicode]]") || !SLOT.has(O, "[[Done]]")) {
        throw new $TypeError('"this" value must be a RegExpStringIterator instance');
      }
      if (SLOT.get(O, "[[Done]]")) {
        return CreateIterResultObject(void 0, true);
      }
      var R = SLOT.get(O, "[[IteratingRegExp]]");
      var S = SLOT.get(O, "[[IteratedString]]");
      var global2 = SLOT.get(O, "[[Global]]");
      var fullUnicode = SLOT.get(O, "[[Unicode]]");
      var match = RegExpExec(R, S);
      if (match === null) {
        SLOT.set(O, "[[Done]]", true);
        return CreateIterResultObject(void 0, true);
      }
      if (global2) {
        var matchStr = ToString(Get(match, "0"));
        if (matchStr === "") {
          var thisIndex = ToLength(Get(R, "lastIndex"));
          var nextIndex = AdvanceStringIndex(S, thisIndex, fullUnicode);
          Set2(R, "lastIndex", nextIndex, true);
        }
        return CreateIterResultObject(match, false);
      }
      SLOT.set(O, "[[Done]]", true);
      return CreateIterResultObject(match, false);
    };
    DefineMethodProperty(RegExpStringIterator.prototype, "next", RegExpStringIteratorNext, false);
    if (hasSymbols) {
      setToStringTag(RegExpStringIterator.prototype, "RegExp String Iterator");
      if (Symbol.iterator && typeof RegExpStringIterator.prototype[Symbol.iterator] !== "function") {
        iteratorFn = function SymbolIterator() {
          return this;
        };
        DefineMethodProperty(RegExpStringIterator.prototype, Symbol.iterator, iteratorFn, false);
      }
    }
    var iteratorFn;
    module2.exports = function CreateRegExpStringIterator(R, S, global2, fullUnicode) {
      return new RegExpStringIterator(R, S, global2, fullUnicode);
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/GetIntrinsic.js
var require_GetIntrinsic = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/GetIntrinsic.js"(exports2, module2) {
    "use strict";
    module2.exports = require_get_intrinsic();
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsConstructor.js
var require_IsConstructor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/IsConstructor.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_GetIntrinsic();
    var $construct = GetIntrinsic("%Reflect.construct%", true);
    var DefinePropertyOrThrow = require_DefinePropertyOrThrow();
    try {
      DefinePropertyOrThrow({}, "", { "[[Get]]": function() {
      } });
    } catch (e) {
      DefinePropertyOrThrow = null;
    }
    if (DefinePropertyOrThrow && $construct) {
      isConstructorMarker = {};
      badArrayLike = {};
      DefinePropertyOrThrow(badArrayLike, "length", {
        "[[Get]]": function() {
          throw isConstructorMarker;
        },
        "[[Enumerable]]": true
      });
      module2.exports = function IsConstructor(argument) {
        try {
          $construct(argument, badArrayLike);
        } catch (err) {
          return err === isConstructorMarker;
        }
      };
    } else {
      module2.exports = function IsConstructor(argument) {
        return typeof argument === "function" && !!argument.prototype;
      };
    }
    var isConstructorMarker;
    var badArrayLike;
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/SpeciesConstructor.js
var require_SpeciesConstructor = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/SpeciesConstructor.js"(exports2, module2) {
    "use strict";
    var GetIntrinsic = require_get_intrinsic();
    var $species = GetIntrinsic("%Symbol.species%", true);
    var $TypeError = require_type4();
    var IsConstructor = require_IsConstructor();
    var isObject = require_isObject3();
    module2.exports = function SpeciesConstructor(O, defaultConstructor) {
      if (!isObject(O)) {
        throw new $TypeError("Assertion failed: Type(O) is not Object");
      }
      var C = O.constructor;
      if (typeof C === "undefined") {
        return defaultConstructor;
      }
      if (!isObject(C)) {
        throw new $TypeError("O.constructor is not an Object");
      }
      var S = $species ? C[$species] : void 0;
      if (S == null) {
        return defaultConstructor;
      }
      if (IsConstructor(S)) {
        return S;
      }
      throw new $TypeError("no constructor found");
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/5/Type.js
var require_Type = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/5/Type.js"(exports2, module2) {
    "use strict";
    var isObject = require_isObject3();
    module2.exports = function Type(x) {
      if (x === null) {
        return "Null";
      }
      if (typeof x === "undefined") {
        return "Undefined";
      }
      if (isObject(x)) {
        return "Object";
      }
      if (typeof x === "number") {
        return "Number";
      }
      if (typeof x === "boolean") {
        return "Boolean";
      }
      if (typeof x === "string") {
        return "String";
      }
    };
  }
});

// ../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Type.js
var require_Type2 = __commonJS({
  "../node_modules/.pnpm/es-abstract@1.23.9/node_modules/es-abstract/2024/Type.js"(exports2, module2) {
    "use strict";
    var ES5Type = require_Type();
    module2.exports = function Type(x) {
      if (typeof x === "symbol") {
        return "Symbol";
      }
      if (typeof x === "bigint") {
        return "BigInt";
      }
      return ES5Type(x);
    };
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/regexp-matchall.js
var require_regexp_matchall = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/regexp-matchall.js"(exports2, module2) {
    "use strict";
    var CreateRegExpStringIterator = require_CreateRegExpStringIterator();
    var Get = require_Get();
    var Set2 = require_Set3();
    var SpeciesConstructor = require_SpeciesConstructor();
    var ToLength = require_ToLength();
    var ToString = require_ToString();
    var Type = require_Type2();
    var flagsGetter = require_regexp_prototype();
    var setFunctionName = require_set_function_name();
    var callBound = require_call_bound();
    var GetIntrinsic = require_get_intrinsic();
    var $TypeError = require_type4();
    var $indexOf = callBound("String.prototype.indexOf");
    var OrigRegExp = GetIntrinsic("%RegExp%");
    var supportsConstructingWithFlags = "flags" in OrigRegExp.prototype;
    var constructRegexWithFlags = function constructRegex(C, R) {
      var matcher;
      var flags = "flags" in R ? Get(R, "flags") : ToString(flagsGetter(R));
      if (supportsConstructingWithFlags && typeof flags === "string") {
        matcher = new C(R, flags);
      } else if (C === OrigRegExp) {
        matcher = new C(R.source, flags);
      } else {
        matcher = new C(R, flags);
      }
      return { flags, matcher };
    };
    var regexMatchAll = setFunctionName(function SymbolMatchAll(string) {
      var R = this;
      if (Type(R) !== "Object") {
        throw new $TypeError('"this" value must be an Object');
      }
      var S = ToString(string);
      var C = SpeciesConstructor(R, OrigRegExp);
      var tmp = constructRegexWithFlags(C, R);
      var flags = tmp.flags;
      var matcher = tmp.matcher;
      var lastIndex = ToLength(Get(R, "lastIndex"));
      Set2(matcher, "lastIndex", lastIndex, true);
      var global2 = $indexOf(flags, "g") > -1;
      var fullUnicode = $indexOf(flags, "u") > -1;
      return CreateRegExpStringIterator(matcher, S, global2, fullUnicode);
    }, "[Symbol.matchAll]", true);
    module2.exports = regexMatchAll;
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill-regexp-matchall.js
var require_polyfill_regexp_matchall = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill-regexp-matchall.js"(exports2, module2) {
    "use strict";
    var hasSymbols = require_has_symbols()();
    var regexpMatchAll = require_regexp_matchall();
    module2.exports = function getRegExpMatchAllPolyfill() {
      if (!hasSymbols || typeof Symbol.matchAll !== "symbol" || typeof RegExp.prototype[Symbol.matchAll] !== "function") {
        return regexpMatchAll;
      }
      return RegExp.prototype[Symbol.matchAll];
    };
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/implementation.js
var require_implementation6 = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/implementation.js"(exports2, module2) {
    "use strict";
    var Call = require_Call();
    var Get = require_Get();
    var GetMethod = require_GetMethod();
    var IsRegExp = require_IsRegExp();
    var ToString = require_ToString();
    var RequireObjectCoercible = require_RequireObjectCoercible();
    var callBound = require_call_bound();
    var hasSymbols = require_has_symbols()();
    var flagsGetter = require_regexp_prototype();
    var GetIntrinsic = require_get_intrinsic();
    var $TypeError = require_type4();
    var $RegExp = GetIntrinsic("%RegExp%");
    var $indexOf = callBound("String.prototype.indexOf");
    var regexpMatchAllPolyfill = require_polyfill_regexp_matchall();
    var getMatcher = function getMatcher2(regexp) {
      var matcherPolyfill = regexpMatchAllPolyfill();
      if (hasSymbols && typeof Symbol.matchAll === "symbol") {
        var matcher = GetMethod(regexp, Symbol.matchAll);
        if (matcher === $RegExp.prototype[Symbol.matchAll] && matcher !== matcherPolyfill) {
          return matcherPolyfill;
        }
        return matcher;
      }
      if (IsRegExp(regexp)) {
        return matcherPolyfill;
      }
    };
    module2.exports = function matchAll(regexp) {
      var O = RequireObjectCoercible(this);
      if (typeof regexp !== "undefined" && regexp !== null) {
        var isRegExp = IsRegExp(regexp);
        if (isRegExp) {
          var flags = "flags" in regexp ? Get(regexp, "flags") : flagsGetter(regexp);
          RequireObjectCoercible(flags);
          if ($indexOf(ToString(flags), "g") < 0) {
            throw new $TypeError("matchAll requires a global regular expression");
          }
        }
        var matcher = getMatcher(regexp);
        if (typeof matcher !== "undefined") {
          return Call(matcher, regexp, [O]);
        }
      }
      var S = ToString(O);
      var rx = new $RegExp(regexp, "g");
      return Call(getMatcher(rx), rx, [S]);
    };
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill.js
var require_polyfill3 = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/polyfill.js"(exports2, module2) {
    "use strict";
    var implementation = require_implementation6();
    module2.exports = function getPolyfill() {
      if (String.prototype.matchAll) {
        try {
          "".matchAll(RegExp.prototype);
        } catch (e) {
          return String.prototype.matchAll;
        }
      }
      return implementation;
    };
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/shim.js
var require_shim3 = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/shim.js"(exports2, module2) {
    "use strict";
    var define2 = require_define_properties();
    var hasSymbols = require_has_symbols()();
    var gOPD = require_gopd();
    var getPolyfill = require_polyfill3();
    var regexpMatchAllPolyfill = require_polyfill_regexp_matchall();
    var defineP = Object.defineProperty;
    module2.exports = function shimMatchAll() {
      var polyfill = getPolyfill();
      define2(
        String.prototype,
        { matchAll: polyfill },
        { matchAll: function() {
          return String.prototype.matchAll !== polyfill;
        } }
      );
      if (hasSymbols) {
        var symbol = Symbol.matchAll || (Symbol["for"] ? Symbol["for"]("Symbol.matchAll") : Symbol("Symbol.matchAll"));
        define2(
          Symbol,
          { matchAll: symbol },
          { matchAll: function() {
            return Symbol.matchAll !== symbol;
          } }
        );
        if (defineP && gOPD) {
          var desc = gOPD(Symbol, symbol);
          if (!desc || desc.configurable) {
            defineP(Symbol, symbol, {
              configurable: false,
              enumerable: false,
              value: symbol,
              writable: false
            });
          }
        }
        var regexpMatchAll = regexpMatchAllPolyfill();
        var func = {};
        func[symbol] = regexpMatchAll;
        var predicate = {};
        predicate[symbol] = function() {
          return RegExp.prototype[symbol] !== regexpMatchAll;
        };
        define2(RegExp.prototype, func, predicate);
      }
      return polyfill;
    };
  }
});

// ../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/index.js
var require_string_prototype2 = __commonJS({
  "../node_modules/.pnpm/string.prototype.matchall@4.0.12/node_modules/string.prototype.matchall/index.js"(exports2, module2) {
    "use strict";
    var callBind = require_call_bind();
    var define2 = require_define_properties();
    var implementation = require_implementation6();
    var getPolyfill = require_polyfill3();
    var shim = require_shim3();
    var boundMatchAll = callBind(implementation);
    define2(boundMatchAll, {
      getPolyfill,
      implementation,
      shim
    });
    module2.exports = boundMatchAll;
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.2/node_modules/@pnpm/os.env.path-extender-windows/dist/path-extender-windows.js
var require_path_extender_windows = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.2/node_modules/@pnpm/os.env.path-extender-windows/dist/path-extender-windows.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addDirToWindowsEnvPath = void 0;
    var error_1 = require_lib54();
    var string_prototype_matchall_1 = __importDefault2(require_string_prototype2());
    var path_1 = require("path");
    var safe_execa_1 = __importDefault2(require_lib83());
    var BadEnvVariableError = class extends error_1.PnpmError {
      constructor({ envName, wantedValue, currentValue }) {
        super("BAD_ENV_FOUND", `Currently '${envName}' is set to '${wantedValue}'`);
        this.envName = envName;
        this.wantedValue = wantedValue;
        this.currentValue = currentValue;
      }
    };
    var REG_KEY = "HKEY_CURRENT_USER\\Environment";
    async function addDirToWindowsEnvPath(dir, opts) {
      const chcpResult = await (0, safe_execa_1.default)("chcp");
      const cpMatch = /\d+/.exec(chcpResult.stdout) ?? [];
      if (cpMatch.length === 0) {
        throw new error_1.PnpmError("CHCP", `exec chcp failed: ${chcpResult.stderr}`);
      }
      const cpBak = parseInt(cpMatch[0]);
      if (chcpResult.failed || !(cpBak > 0)) {
        throw new error_1.PnpmError("CHCP", `exec chcp failed: ${cpBak}, ${chcpResult.stderr}`);
      }
      await (0, safe_execa_1.default)("chcp", ["65001"]);
      try {
        const report = await _addDirToWindowsEnvPath(dir, opts);
        await refreshEnvVars();
        return report;
      } finally {
        await (0, safe_execa_1.default)("chcp", [cpBak.toString()]);
      }
    }
    exports2.addDirToWindowsEnvPath = addDirToWindowsEnvPath;
    async function _addDirToWindowsEnvPath(dir, opts = {}) {
      const addedDir = path_1.win32.normalize(dir);
      const registryOutput = await getRegistryOutput();
      const changes = [];
      if (opts.proxyVarName) {
        changes.push(await updateEnvVariable(registryOutput, opts.proxyVarName, addedDir, {
          expandableString: false,
          overwrite: opts.overwriteProxyVar ?? false
        }));
        changes.push(await addToPath(registryOutput, `%${opts.proxyVarName}%`, opts.position));
      } else {
        changes.push(await addToPath(registryOutput, addedDir, opts.position));
      }
      return changes;
    }
    async function updateEnvVariable(registryOutput, name, value, opts) {
      const currentValue = await getEnvValueFromRegistry(registryOutput, name);
      if (currentValue && !opts.overwrite) {
        if (currentValue !== value) {
          throw new BadEnvVariableError({ envName: name, currentValue, wantedValue: value });
        }
        return { variable: name, action: "skipped", oldValue: currentValue, newValue: value };
      } else {
        await setEnvVarInRegistry(name, value, { expandableString: opts.expandableString });
        return { variable: name, action: "updated", oldValue: currentValue, newValue: value };
      }
    }
    async function addToPath(registryOutput, addedDir, position = "start") {
      const variable = "Path";
      const pathData = await getEnvValueFromRegistry(registryOutput, variable);
      if (pathData === void 0 || pathData == null || pathData.trim() === "") {
        throw new error_1.PnpmError("NO_PATH", '"Path" environment variable is not found in the registry');
      } else if (pathData.split(path_1.win32.delimiter).includes(addedDir)) {
        return { action: "skipped", variable, oldValue: pathData, newValue: pathData };
      } else {
        const newPathValue = position === "start" ? `${addedDir}${path_1.win32.delimiter}${pathData}` : `${pathData}${path_1.win32.delimiter}${addedDir}`;
        await setEnvVarInRegistry("Path", newPathValue, { expandableString: true });
        return { action: "updated", variable, oldValue: pathData, newValue: newPathValue };
      }
    }
    var EXEC_OPTS = { windowsHide: false };
    async function getRegistryOutput() {
      try {
        const queryResult = await (0, safe_execa_1.default)("reg", ["query", REG_KEY], EXEC_OPTS);
        return queryResult.stdout;
      } catch (err) {
        throw new error_1.PnpmError("REG_READ", "win32 registry environment values could not be retrieved");
      }
    }
    async function getEnvValueFromRegistry(registryOutput, envVarName) {
      const regexp = new RegExp(`^ {4}(?<name>${envVarName}) {4}(?<type>\\w+) {4}(?<data>.*)$`, "gim");
      const match = Array.from((0, string_prototype_matchall_1.default)(registryOutput, regexp))[0];
      return match?.groups.data;
    }
    async function setEnvVarInRegistry(envVarName, envVarValue, opts) {
      const regType = opts.expandableString ? "REG_EXPAND_SZ" : "REG_SZ";
      try {
        await (0, safe_execa_1.default)("reg", ["add", REG_KEY, "/v", envVarName, "/t", regType, "/d", envVarValue, "/f"], EXEC_OPTS);
      } catch (err) {
        throw new error_1.PnpmError("FAILED_SET_ENV", `Failed to set "${envVarName}" to "${envVarValue}": ${err.stderr}`);
      }
    }
    async function refreshEnvVars() {
      const TEMP_ENV_VAR = "REFRESH_ENV_VARS";
      await (0, safe_execa_1.default)("setx", [TEMP_ENV_VAR, "1"], EXEC_OPTS);
      await (0, safe_execa_1.default)("reg", ["delete", REG_KEY, "/v", TEMP_ENV_VAR, "/f"], EXEC_OPTS);
    }
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.2/node_modules/@pnpm/os.env.path-extender-windows/dist/index.js
var require_dist29 = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender-windows@2.0.2/node_modules/@pnpm/os.env.path-extender-windows/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addDirToWindowsEnvPath = void 0;
    var path_extender_windows_1 = require_path_extender_windows();
    Object.defineProperty(exports2, "addDirToWindowsEnvPath", { enumerable: true, get: function() {
      return path_extender_windows_1.addDirToWindowsEnvPath;
    } });
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.2/node_modules/@pnpm/os.env.path-extender/dist/path-extender.js
var require_path_extender = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.2/node_modules/@pnpm/os.env.path-extender/dist/path-extender.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.renderWindowsReport = exports2.addDirToEnvPath = void 0;
    var os_env_path_extender_posix_1 = require_dist28();
    var os_env_path_extender_windows_1 = require_dist29();
    async function addDirToEnvPath(dir, opts) {
      if (process.platform === "win32") {
        return renderWindowsReport(await (0, os_env_path_extender_windows_1.addDirToWindowsEnvPath)(dir, {
          position: opts.position,
          proxyVarName: opts.proxyVarName,
          overwriteProxyVar: opts.overwrite
        }));
      }
      return (0, os_env_path_extender_posix_1.addDirToPosixEnvPath)(dir, opts);
    }
    exports2.addDirToEnvPath = addDirToEnvPath;
    function renderWindowsReport(changedEnvVariables) {
      const oldSettings = [];
      const newSettings = [];
      for (const changedEnvVariable of changedEnvVariables) {
        if (changedEnvVariable.oldValue) {
          oldSettings.push(`${changedEnvVariable.variable}=${changedEnvVariable.oldValue}`);
        }
        if (changedEnvVariable.newValue) {
          newSettings.push(`${changedEnvVariable.variable}=${changedEnvVariable.newValue}`);
        }
      }
      return {
        oldSettings: oldSettings.join("\n"),
        newSettings: newSettings.join("\n")
      };
    }
    exports2.renderWindowsReport = renderWindowsReport;
  }
});

// ../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.2/node_modules/@pnpm/os.env.path-extender/dist/index.js
var require_dist30 = __commonJS({
  "../node_modules/.pnpm/@pnpm+os.env.path-extender@2.0.2/node_modules/@pnpm/os.env.path-extender/dist/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.addDirToEnvPath = void 0;
    var path_extender_1 = require_path_extender();
    Object.defineProperty(exports2, "addDirToEnvPath", { enumerable: true, get: function() {
      return path_extender_1.addDirToEnvPath;
    } });
  }
});

// ../packages/plugin-commands-setup/lib/setup.js
var require_setup = __commonJS({
  "../packages/plugin-commands-setup/lib/setup.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.shorthands = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var cli_meta_1 = require_lib4();
    var cli_utils_1 = require_lib33();
    var logger_1 = require_lib();
    var os_env_path_extender_1 = require_dist30();
    var render_help_1 = __importDefault2(require_lib47());
    var rimraf_1 = __importDefault2(require_rimraf());
    var rcOptionsTypes = () => ({});
    exports2.rcOptionsTypes = rcOptionsTypes;
    var cliOptionsTypes = () => ({
      force: Boolean
    });
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.shorthands = {};
    exports2.commandNames = ["setup"];
    function help() {
      return (0, render_help_1.default)({
        description: "Sets up pnpm",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Override the PNPM_HOME env variable in case it already exists",
                name: "--force",
                shortAlias: "-f"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("setup"),
        usages: ["pnpm setup"]
      });
    }
    function getExecPath() {
      if ((0, cli_meta_1.detectIfCurrentPkgIsExecutable)()) {
        return process.execPath;
      }
      return require.main != null ? require.main.filename : process.cwd();
    }
    function copyCli(currentLocation, targetDir) {
      const newExecPath = path_1.default.join(targetDir, path_1.default.basename(currentLocation));
      if (path_1.default.relative(newExecPath, currentLocation) === "")
        return;
      logger_1.logger.info({
        message: `Copying pnpm CLI from ${currentLocation} to ${newExecPath}`,
        prefix: process.cwd()
      });
      fs_1.default.mkdirSync(targetDir, { recursive: true });
      rimraf_1.default.sync(newExecPath);
      fs_1.default.copyFileSync(currentLocation, newExecPath);
    }
    function createPnpxScripts(targetDir) {
      fs_1.default.mkdirSync(targetDir, { recursive: true });
      const shellScript = [
        "#!/bin/sh",
        'exec pnpm dlx "$@"'
      ].join("\n");
      fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx"), shellScript, { mode: 493 });
      if (process.platform === "win32") {
        const batchScript = [
          "@echo off",
          "pnpm dlx %*"
        ].join("\n");
        fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx.cmd"), batchScript);
        const powershellScript = "pnpm dlx @args";
        fs_1.default.writeFileSync(path_1.default.join(targetDir, "pnpx.ps1"), powershellScript);
      }
    }
    async function handler(opts) {
      const execPath = getExecPath();
      if (execPath.match(/\.[cm]?js$/) == null) {
        copyCli(execPath, opts.pnpmHomeDir);
        createPnpxScripts(opts.pnpmHomeDir);
      }
      try {
        const report = await (0, os_env_path_extender_1.addDirToEnvPath)(opts.pnpmHomeDir, {
          configSectionName: "pnpm",
          proxyVarName: "PNPM_HOME",
          overwrite: opts.force,
          position: "start"
        });
        return renderSetupOutput(report);
      } catch (err) {
        switch (err.code) {
          case "ERR_PNPM_BAD_ENV_FOUND":
            err.hint = "If you want to override the existing env variable, use the --force option";
            break;
          case "ERR_PNPM_BAD_SHELL_SECTION":
            err.hint = "If you want to override the existing configuration section, use the --force option";
            break;
        }
        throw err;
      }
    }
    function renderSetupOutput(report) {
      if (report.oldSettings === report.newSettings) {
        return "No changes to the environment were made. Everything is already up to date.";
      }
      const output = [];
      if (report.configFile) {
        output.push(reportConfigChange(report.configFile));
      }
      output.push(`Next configuration changes were made:
${report.newSettings}`);
      if (report.configFile == null) {
        output.push("Setup complete. Open a new terminal to start using pnpm.");
      } else if (report.configFile.changeType !== "skipped") {
        output.push(`To start using pnpm, run:
source ${report.configFile.path}
`);
      }
      return output.join("\n\n");
    }
    function reportConfigChange(configReport) {
      switch (configReport.changeType) {
        case "created":
          return `Created ${configReport.path}`;
        case "appended":
          return `Appended new lines to ${configReport.path}`;
        case "modified":
          return `Replaced configuration in ${configReport.path}`;
        case "skipped":
          return `Configuration already up to date in ${configReport.path}`;
      }
    }
  }
});

// ../packages/plugin-commands-setup/lib/index.js
var require_lib187 = __commonJS({
  "../packages/plugin-commands-setup/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.setup = void 0;
    var setup = __importStar3(require_setup());
    exports2.setup = setup;
  }
});

// ../store/plugin-commands-store/lib/storeAdd.js
var require_storeAdd = __commonJS({
  "../store/plugin-commands-store/lib/storeAdd.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.storeAdd = storeAdd;
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var parse_wanted_dependency_1 = require_lib22();
    var pick_registry_for_package_1 = require_lib91();
    async function storeAdd(fuzzyDeps, opts) {
      const reporter = opts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const deps = fuzzyDeps.map((dep) => (0, parse_wanted_dependency_1.parseWantedDependency)(dep));
      let hasFailures = false;
      const prefix = opts.prefix ?? process.cwd();
      const registries = opts.registries ?? {
        default: "https://registry.npmjs.org/"
      };
      await Promise.all(deps.map(async (dep) => {
        try {
          const pkgResponse = await opts.storeController.requestPackage(dep, {
            downloadPriority: 1,
            lockfileDir: prefix,
            preferredVersions: {},
            projectDir: prefix,
            registry: (dep.alias && (0, pick_registry_for_package_1.pickRegistryForPackage)(registries, dep.alias)) ?? registries.default,
            supportedArchitectures: opts.supportedArchitectures
          });
          await pkgResponse.fetching();
          (0, logger_1.globalInfo)(`+ ${pkgResponse.body.id}`);
        } catch (e) {
          hasFailures = true;
          (0, logger_1.logger)("store").error(e);
        }
      }));
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.removeListener("data", reporter);
      }
      if (hasFailures) {
        throw new error_1.PnpmError("STORE_ADD_FAILURE", "Some packages have not been added correctly");
      }
    }
  }
});

// ../store/plugin-commands-store/lib/cleanExpiredDlxCache.js
var require_cleanExpiredDlxCache = __commonJS({
  "../store/plugin-commands-store/lib/cleanExpiredDlxCache.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.cleanExpiredDlxCache = cleanExpiredDlxCache;
    exports2.cleanOrphans = cleanOrphans;
    var fs_1 = require("fs");
    var promises_1 = __importDefault2(require("fs/promises"));
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    async function cleanExpiredDlxCache({ cacheDir, dlxCacheMaxAge, now }) {
      if (dlxCacheMaxAge === Infinity)
        return;
      const dlxCacheDir = path_1.default.join(cacheDir, "dlx");
      const dlxCacheNames = readOptDir(dlxCacheDir);
      if (!dlxCacheNames)
        return;
      await Promise.all(dlxCacheNames.map(async (dlxCacheName) => {
        const dlxCachePath = path_1.default.join(dlxCacheDir, dlxCacheName);
        const dlxCacheLink = path_1.default.join(dlxCachePath, "pkg");
        let shouldClean;
        if (dlxCacheMaxAge <= 0) {
          shouldClean = true;
        } else {
          const dlxCacheLinkStats = await getStats(dlxCacheLink);
          shouldClean = dlxCacheLinkStats !== "ENOENT" && isOutdated(dlxCacheLinkStats, dlxCacheMaxAge, now);
        }
        if (shouldClean) {
          await promises_1.default.rm(dlxCachePath, { recursive: true, force: true });
        }
      }));
      await cleanOrphans(dlxCacheDir);
    }
    async function cleanOrphans(dlxCacheDir) {
      const dlxCacheNames = readOptDir(dlxCacheDir);
      if (!dlxCacheNames)
        return;
      await Promise.all(dlxCacheNames.map(async (dlxCacheName) => {
        const dlxCachePath = path_1.default.join(dlxCacheDir, dlxCacheName);
        const dlxCacheLink = path_1.default.join(dlxCachePath, "pkg");
        const dlxCacheLinkStats = await getStats(dlxCacheLink);
        if (dlxCacheLinkStats === "ENOENT") {
          return promises_1.default.rm(dlxCachePath, { recursive: true, force: true });
        }
        const dlxCacheLinkTarget = await getRealPath(dlxCacheLink);
        const children = await promises_1.default.readdir(dlxCachePath);
        await Promise.all(children.map(async (name) => {
          if (name === "pkg")
            return;
          const fullPath = path_1.default.join(dlxCachePath, name);
          if (fullPath === dlxCacheLinkTarget)
            return;
          await promises_1.default.rm(fullPath, { recursive: true, force: true });
        }));
      }));
    }
    function isOutdated(stats, dlxCacheMaxAge, now) {
      return stats.mtime.getTime() + dlxCacheMaxAge * 6e4 < now.getTime();
    }
    async function getStats(path2) {
      try {
        return await promises_1.default.lstat(path2);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return "ENOENT";
        }
        throw err;
      }
    }
    function readOptDir(dirPath) {
      try {
        return (0, fs_1.readdirSync)(dirPath, "utf-8");
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return null;
        }
        throw err;
      }
    }
    async function getRealPath(linkPath) {
      try {
        return await promises_1.default.realpath(linkPath);
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          return null;
        }
        throw err;
      }
    }
  }
});

// ../store/plugin-commands-store/lib/storePrune.js
var require_storePrune = __commonJS({
  "../store/plugin-commands-store/lib/storePrune.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.storePrune = storePrune;
    var logger_1 = require_lib();
    var cleanExpiredDlxCache_1 = require_cleanExpiredDlxCache();
    async function storePrune(opts) {
      const reporter = opts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      await opts.storeController.prune(opts.removeAlienFiles);
      await opts.storeController.close();
      await (0, cleanExpiredDlxCache_1.cleanExpiredDlxCache)({
        cacheDir: opts.cacheDir,
        dlxCacheMaxAge: opts.dlxCacheMaxAge,
        now: /* @__PURE__ */ new Date()
      });
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.removeListener("data", reporter);
      }
    }
  }
});

// ../node_modules/.pnpm/ssri@8.0.1/node_modules/ssri/index.js
var require_ssri = __commonJS({
  "../node_modules/.pnpm/ssri@8.0.1/node_modules/ssri/index.js"(exports2, module2) {
    "use strict";
    var crypto5 = require("crypto");
    var MiniPass = require_minipass2();
    var SPEC_ALGORITHMS = ["sha256", "sha384", "sha512"];
    var BASE64_REGEX = /^[a-z0-9+/]+(?:=?=?)$/i;
    var SRI_REGEX = /^([a-z0-9]+)-([^?]+)([?\S*]*)$/;
    var STRICT_SRI_REGEX = /^([a-z0-9]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)?$/;
    var VCHAR_REGEX = /^[\x21-\x7E]+$/;
    var defaultOpts = {
      algorithms: ["sha512"],
      error: false,
      options: [],
      pickAlgorithm: getPrioritizedHash,
      sep: " ",
      single: false,
      strict: false
    };
    var ssriOpts = (opts = {}) => ({ ...defaultOpts, ...opts });
    var getOptString = (options) => !options || !options.length ? "" : `?${options.join("?")}`;
    var _onEnd = Symbol("_onEnd");
    var _getOptions = Symbol("_getOptions");
    var IntegrityStream = class extends MiniPass {
      constructor(opts) {
        super();
        this.size = 0;
        this.opts = opts;
        this[_getOptions]();
        const { algorithms = defaultOpts.algorithms } = opts;
        this.algorithms = Array.from(
          new Set(algorithms.concat(this.algorithm ? [this.algorithm] : []))
        );
        this.hashes = this.algorithms.map(crypto5.createHash);
      }
      [_getOptions]() {
        const {
          integrity,
          size,
          options
        } = { ...defaultOpts, ...this.opts };
        this.sri = integrity ? parse2(integrity, this.opts) : null;
        this.expectedSize = size;
        this.goodSri = this.sri ? !!Object.keys(this.sri).length : false;
        this.algorithm = this.goodSri ? this.sri.pickAlgorithm(this.opts) : null;
        this.digests = this.goodSri ? this.sri[this.algorithm] : null;
        this.optString = getOptString(options);
      }
      emit(ev, data) {
        if (ev === "end") this[_onEnd]();
        return super.emit(ev, data);
      }
      write(data) {
        this.size += data.length;
        this.hashes.forEach((h) => h.update(data));
        return super.write(data);
      }
      [_onEnd]() {
        if (!this.goodSri) {
          this[_getOptions]();
        }
        const newSri = parse2(this.hashes.map((h, i) => {
          return `${this.algorithms[i]}-${h.digest("base64")}${this.optString}`;
        }).join(" "), this.opts);
        const match = this.goodSri && newSri.match(this.sri, this.opts);
        if (typeof this.expectedSize === "number" && this.size !== this.expectedSize) {
          const err = new Error(`stream size mismatch when checking ${this.sri}.
  Wanted: ${this.expectedSize}
  Found: ${this.size}`);
          err.code = "EBADSIZE";
          err.found = this.size;
          err.expected = this.expectedSize;
          err.sri = this.sri;
          this.emit("error", err);
        } else if (this.sri && !match) {
          const err = new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${newSri}. (${this.size} bytes)`);
          err.code = "EINTEGRITY";
          err.found = newSri;
          err.expected = this.digests;
          err.algorithm = this.algorithm;
          err.sri = this.sri;
          this.emit("error", err);
        } else {
          this.emit("size", this.size);
          this.emit("integrity", newSri);
          match && this.emit("verified", match);
        }
      }
    };
    var Hash = class {
      get isHash() {
        return true;
      }
      constructor(hash, opts) {
        opts = ssriOpts(opts);
        const strict = !!opts.strict;
        this.source = hash.trim();
        this.digest = "";
        this.algorithm = "";
        this.options = [];
        const match = this.source.match(
          strict ? STRICT_SRI_REGEX : SRI_REGEX
        );
        if (!match) {
          return;
        }
        if (strict && !SPEC_ALGORITHMS.some((a) => a === match[1])) {
          return;
        }
        this.algorithm = match[1];
        this.digest = match[2];
        const rawOpts = match[3];
        if (rawOpts) {
          this.options = rawOpts.slice(1).split("?");
        }
      }
      hexDigest() {
        return this.digest && Buffer.from(this.digest, "base64").toString("hex");
      }
      toJSON() {
        return this.toString();
      }
      toString(opts) {
        opts = ssriOpts(opts);
        if (opts.strict) {
          if (!// The spec has very restricted productions for algorithms.
          // https://www.w3.org/TR/CSP2/#source-list-syntax
          (SPEC_ALGORITHMS.some((x) => x === this.algorithm) && // Usually, if someone insists on using a "different" base64, we
          // leave it as-is, since there's multiple standards, and the
          // specified is not a URL-safe variant.
          // https://www.w3.org/TR/CSP2/#base64_value
          this.digest.match(BASE64_REGEX) && // Option syntax is strictly visual chars.
          // https://w3c.github.io/webappsec-subresource-integrity/#grammardef-option-expression
          // https://tools.ietf.org/html/rfc5234#appendix-B.1
          this.options.every((opt) => opt.match(VCHAR_REGEX)))) {
            return "";
          }
        }
        const options = this.options && this.options.length ? `?${this.options.join("?")}` : "";
        return `${this.algorithm}-${this.digest}${options}`;
      }
    };
    var Integrity = class {
      get isIntegrity() {
        return true;
      }
      toJSON() {
        return this.toString();
      }
      isEmpty() {
        return Object.keys(this).length === 0;
      }
      toString(opts) {
        opts = ssriOpts(opts);
        let sep = opts.sep || " ";
        if (opts.strict) {
          sep = sep.replace(/\S+/g, " ");
        }
        return Object.keys(this).map((k) => {
          return this[k].map((hash) => {
            return Hash.prototype.toString.call(hash, opts);
          }).filter((x) => x.length).join(sep);
        }).filter((x) => x.length).join(sep);
      }
      concat(integrity, opts) {
        opts = ssriOpts(opts);
        const other = typeof integrity === "string" ? integrity : stringify2(integrity, opts);
        return parse2(`${this.toString(opts)} ${other}`, opts);
      }
      hexDigest() {
        return parse2(this, { single: true }).hexDigest();
      }
      // add additional hashes to an integrity value, but prevent
      // *changing* an existing integrity hash.
      merge(integrity, opts) {
        opts = ssriOpts(opts);
        const other = parse2(integrity, opts);
        for (const algo in other) {
          if (this[algo]) {
            if (!this[algo].find((hash) => other[algo].find((otherhash) => hash.digest === otherhash.digest))) {
              throw new Error("hashes do not match, cannot update integrity");
            }
          } else {
            this[algo] = other[algo];
          }
        }
      }
      match(integrity, opts) {
        opts = ssriOpts(opts);
        const other = parse2(integrity, opts);
        const algo = other.pickAlgorithm(opts);
        return this[algo] && other[algo] && this[algo].find(
          (hash) => other[algo].find(
            (otherhash) => hash.digest === otherhash.digest
          )
        ) || false;
      }
      pickAlgorithm(opts) {
        opts = ssriOpts(opts);
        const pickAlgorithm = opts.pickAlgorithm;
        const keys = Object.keys(this);
        return keys.reduce((acc, algo) => {
          return pickAlgorithm(acc, algo) || acc;
        });
      }
    };
    module2.exports.parse = parse2;
    function parse2(sri, opts) {
      if (!sri) return null;
      opts = ssriOpts(opts);
      if (typeof sri === "string") {
        return _parse(sri, opts);
      } else if (sri.algorithm && sri.digest) {
        const fullSri = new Integrity();
        fullSri[sri.algorithm] = [sri];
        return _parse(stringify2(fullSri, opts), opts);
      } else {
        return _parse(stringify2(sri, opts), opts);
      }
    }
    function _parse(integrity, opts) {
      if (opts.single) {
        return new Hash(integrity, opts);
      }
      const hashes = integrity.trim().split(/\s+/).reduce((acc, string) => {
        const hash = new Hash(string, opts);
        if (hash.algorithm && hash.digest) {
          const algo = hash.algorithm;
          if (!acc[algo]) {
            acc[algo] = [];
          }
          acc[algo].push(hash);
        }
        return acc;
      }, new Integrity());
      return hashes.isEmpty() ? null : hashes;
    }
    module2.exports.stringify = stringify2;
    function stringify2(obj, opts) {
      opts = ssriOpts(opts);
      if (obj.algorithm && obj.digest) {
        return Hash.prototype.toString.call(obj, opts);
      } else if (typeof obj === "string") {
        return stringify2(parse2(obj, opts), opts);
      } else {
        return Integrity.prototype.toString.call(obj, opts);
      }
    }
    module2.exports.fromHex = fromHex;
    function fromHex(hexDigest, algorithm, opts) {
      opts = ssriOpts(opts);
      const optString = getOptString(opts.options);
      return parse2(
        `${algorithm}-${Buffer.from(hexDigest, "hex").toString("base64")}${optString}`,
        opts
      );
    }
    module2.exports.fromData = fromData;
    function fromData(data, opts) {
      opts = ssriOpts(opts);
      const algorithms = opts.algorithms;
      const optString = getOptString(opts.options);
      return algorithms.reduce((acc, algo) => {
        const digest = crypto5.createHash(algo).update(data).digest("base64");
        const hash = new Hash(
          `${algo}-${digest}${optString}`,
          opts
        );
        if (hash.algorithm && hash.digest) {
          const algo2 = hash.algorithm;
          if (!acc[algo2]) {
            acc[algo2] = [];
          }
          acc[algo2].push(hash);
        }
        return acc;
      }, new Integrity());
    }
    module2.exports.fromStream = fromStream;
    function fromStream(stream, opts) {
      opts = ssriOpts(opts);
      const istream = integrityStream(opts);
      return new Promise((resolve, reject) => {
        stream.pipe(istream);
        stream.on("error", reject);
        istream.on("error", reject);
        let sri;
        istream.on("integrity", (s) => {
          sri = s;
        });
        istream.on("end", () => resolve(sri));
        istream.on("data", () => {
        });
      });
    }
    module2.exports.checkData = checkData;
    function checkData(data, sri, opts) {
      opts = ssriOpts(opts);
      sri = parse2(sri, opts);
      if (!sri || !Object.keys(sri).length) {
        if (opts.error) {
          throw Object.assign(
            new Error("No valid integrity hashes to check against"),
            {
              code: "EINTEGRITY"
            }
          );
        } else {
          return false;
        }
      }
      const algorithm = sri.pickAlgorithm(opts);
      const digest = crypto5.createHash(algorithm).update(data).digest("base64");
      const newSri = parse2({ algorithm, digest });
      const match = newSri.match(sri, opts);
      if (match || !opts.error) {
        return match;
      } else if (typeof opts.size === "number" && data.length !== opts.size) {
        const err = new Error(`data size mismatch when checking ${sri}.
  Wanted: ${opts.size}
  Found: ${data.length}`);
        err.code = "EBADSIZE";
        err.found = data.length;
        err.expected = opts.size;
        err.sri = sri;
        throw err;
      } else {
        const err = new Error(`Integrity checksum failed when using ${algorithm}: Wanted ${sri}, but got ${newSri}. (${data.length} bytes)`);
        err.code = "EINTEGRITY";
        err.found = newSri;
        err.expected = sri;
        err.algorithm = algorithm;
        err.sri = sri;
        throw err;
      }
    }
    module2.exports.checkStream = checkStream;
    function checkStream(stream, sri, opts) {
      opts = ssriOpts(opts);
      opts.integrity = sri;
      sri = parse2(sri, opts);
      if (!sri || !Object.keys(sri).length) {
        return Promise.reject(Object.assign(
          new Error("No valid integrity hashes to check against"),
          {
            code: "EINTEGRITY"
          }
        ));
      }
      const checker = integrityStream(opts);
      return new Promise((resolve, reject) => {
        stream.pipe(checker);
        stream.on("error", reject);
        checker.on("error", reject);
        let sri2;
        checker.on("verified", (s) => {
          sri2 = s;
        });
        checker.on("end", () => resolve(sri2));
        checker.on("data", () => {
        });
      });
    }
    module2.exports.integrityStream = integrityStream;
    function integrityStream(opts = {}) {
      return new IntegrityStream(opts);
    }
    module2.exports.create = createIntegrity;
    function createIntegrity(opts) {
      opts = ssriOpts(opts);
      const algorithms = opts.algorithms;
      const optString = getOptString(opts.options);
      const hashes = algorithms.map(crypto5.createHash);
      return {
        update: function(chunk, enc) {
          hashes.forEach((h) => h.update(chunk, enc));
          return this;
        },
        digest: function(enc) {
          const integrity = algorithms.reduce((acc, algo) => {
            const digest = hashes.shift().digest("base64");
            const hash = new Hash(
              `${algo}-${digest}${optString}`,
              opts
            );
            if (hash.algorithm && hash.digest) {
              const algo2 = hash.algorithm;
              if (!acc[algo2]) {
                acc[algo2] = [];
              }
              acc[algo2].push(hash);
            }
            return acc;
          }, new Integrity());
          return integrity;
        }
      };
    }
    var NODE_HASHES = new Set(crypto5.getHashes());
    var DEFAULT_PRIORITY = [
      "md5",
      "whirlpool",
      "sha1",
      "sha224",
      "sha256",
      "sha384",
      "sha512",
      // TODO - it's unclear _which_ of these Node will actually use as its name
      //        for the algorithm, so we guesswork it based on the OpenSSL names.
      "sha3",
      "sha3-256",
      "sha3-384",
      "sha3-512",
      "sha3_256",
      "sha3_384",
      "sha3_512"
    ].filter((algo) => NODE_HASHES.has(algo));
    function getPrioritizedHash(algo1, algo2) {
      return DEFAULT_PRIORITY.indexOf(algo1.toLowerCase()) >= DEFAULT_PRIORITY.indexOf(algo2.toLowerCase()) ? algo1 : algo2;
    }
  }
});

// ../node_modules/.pnpm/dint@5.1.0/node_modules/dint/index.js
var require_dint = __commonJS({
  "../node_modules/.pnpm/dint@5.1.0/node_modules/dint/index.js"(exports2, module2) {
    "use strict";
    var fs = require("fs");
    var ssri = require_ssri();
    var path2 = require("path");
    var pEvery = require_p_every();
    var pLimit = require_p_limit();
    var limit = pLimit(20);
    var MAX_BULK_SIZE = 1 * 1024 * 1024;
    function generateFrom(dirname) {
      return _retrieveFileIntegrities(dirname, dirname, {});
    }
    async function _retrieveFileIntegrities(rootDir, currDir, index) {
      try {
        const files = await fs.promises.readdir(currDir);
        await Promise.all(files.map(async (file) => {
          const fullPath = path2.join(currDir, file);
          const stat = await fs.promises.stat(fullPath);
          if (stat.isDirectory()) {
            return _retrieveFileIntegrities(rootDir, fullPath, index);
          }
          if (stat.isFile()) {
            const relativePath = path2.relative(rootDir, fullPath);
            index[relativePath] = {
              size: stat.size,
              generatingIntegrity: limit(() => {
                return stat.size < MAX_BULK_SIZE ? fs.promises.readFile(fullPath).then(ssri.fromData) : ssri.fromStream(fs.createReadStream(fullPath));
              })
            };
          }
        }));
        return index;
      } catch (err) {
        if (err.code !== "ENOENT") {
          throw err;
        }
        return index;
      }
    }
    function check(dirname, dirIntegrity) {
      dirname = path2.resolve(dirname);
      return pEvery(Object.keys(dirIntegrity), async (f) => {
        const fstat = dirIntegrity[f];
        if (!fstat.integrity) return false;
        const filename = path2.join(dirname, f);
        if (fstat.size > MAX_BULK_SIZE) {
          try {
            return await ssri.checkStream(fs.createReadStream(filename), fstat.integrity);
          } catch (err) {
            if (err.code === "EINTEGRITY" || err.code === "ENOENT") return false;
            throw err;
          }
        }
        try {
          const data = await fs.promises.readFile(filename);
          return ssri.checkData(data, fstat.integrity);
        } catch (err) {
          if (err.code === "EINTEGRITY" || err.code === "ENOENT") return false;
          throw err;
        }
      }, { concurrency: 100 });
    }
    module2.exports = {
      from: generateFrom,
      check
    };
  }
});

// ../store/plugin-commands-store/lib/storeStatus/extendStoreStatusOptions.js
var require_extendStoreStatusOptions = __commonJS({
  "../store/plugin-commands-store/lib/storeStatus/extendStoreStatusOptions.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.extendStoreStatusOptions = extendStoreStatusOptions;
    var path_1 = __importDefault2(require("path"));
    var normalize_registries_1 = require_lib113();
    var defaults = async (opts) => {
      const dir = opts.dir ?? process.cwd();
      const lockfileDir = opts.lockfileDir ?? dir;
      return {
        binsDir: path_1.default.join(dir, "node_modules", ".bin"),
        dir,
        force: false,
        lockfileDir,
        nodeLinker: "isolated",
        registries: normalize_registries_1.DEFAULT_REGISTRIES,
        shamefullyHoist: false,
        storeDir: opts.storeDir,
        useLockfile: true
      };
    };
    async function extendStoreStatusOptions(opts) {
      if (opts) {
        for (const key in opts) {
          if (opts[key] === void 0) {
            delete opts[key];
          }
        }
      }
      const defaultOpts = await defaults(opts);
      const extendedOpts = { ...defaultOpts, ...opts, storeDir: defaultOpts.storeDir };
      extendedOpts.registries = (0, normalize_registries_1.normalizeRegistries)(extendedOpts.registries);
      return extendedOpts;
    }
  }
});

// ../store/plugin-commands-store/lib/storeStatus/index.js
var require_storeStatus = __commonJS({
  "../store/plugin-commands-store/lib/storeStatus/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.storeStatus = storeStatus;
    var path_1 = __importDefault2(require("path"));
    var store_cafs_1 = require_lib57();
    var get_context_1 = require_lib115();
    var lockfile_utils_1 = require_lib117();
    var logger_1 = require_lib();
    var dp = __importStar3(require_lib98());
    var dint_1 = __importDefault2(require_dint());
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var p_filter_1 = __importDefault2(require_p_filter());
    var extendStoreStatusOptions_1 = require_extendStoreStatusOptions();
    async function storeStatus(maybeOpts) {
      const reporter = maybeOpts?.reporter;
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.on("data", reporter);
      }
      const opts = await (0, extendStoreStatusOptions_1.extendStoreStatusOptions)(maybeOpts);
      const { storeDir, skipped, virtualStoreDir, wantedLockfile } = await (0, get_context_1.getContextForSingleImporter)({}, {
        ...opts,
        extraBinPaths: []
        // ctx.extraBinPaths is not needed, so this is fine
      });
      if (!wantedLockfile)
        return [];
      const pkgs = Object.entries(wantedLockfile.packages ?? {}).filter(([depPath]) => !skipped.has(depPath)).map(([depPath, pkgSnapshot]) => {
        const id = (0, lockfile_utils_1.packageIdFromSnapshot)(depPath, pkgSnapshot);
        return {
          depPath,
          id,
          integrity: pkgSnapshot.resolution.integrity,
          pkgPath: depPath,
          ...(0, lockfile_utils_1.nameVerFromPkgSnapshot)(depPath, pkgSnapshot)
        };
      });
      const modified = await (0, p_filter_1.default)(pkgs, async ({ id, integrity, depPath, name }) => {
        const pkgIndexFilePath = integrity ? (0, store_cafs_1.getIndexFilePathInCafs)(storeDir, integrity, id) : path_1.default.join(storeDir, dp.depPathToFilename(id, maybeOpts.virtualStoreDirMaxLength), "integrity.json");
        const { files } = await (0, load_json_file_1.default)(pkgIndexFilePath);
        return await dint_1.default.check(path_1.default.join(virtualStoreDir, dp.depPathToFilename(depPath, maybeOpts.virtualStoreDirMaxLength), "node_modules", name), files) === false;
      }, { concurrency: 8 });
      if (reporter != null && typeof reporter === "function") {
        logger_1.streamParser.removeListener("data", reporter);
      }
      return modified.map(({ pkgPath }) => pkgPath);
    }
  }
});

// ../store/plugin-commands-store/lib/store.js
var require_store = __commonJS({
  "../store/plugin-commands-store/lib/store.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = exports2.skipPackageManagerCheck = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var store_connection_manager_1 = require_lib106();
    var store_path_1 = require_lib81();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    var storeAdd_1 = require_storeAdd();
    var storePrune_1 = require_storePrune();
    var storeStatus_1 = require_storeStatus();
    exports2.skipPackageManagerCheck = true;
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)([
        "registry",
        "store-dir",
        "force"
      ], config_1.types);
    }
    exports2.commandNames = ["store"];
    function help() {
      return (0, render_help_1.default)({
        description: "Reads and performs actions on pnpm store that is on the current filesystem.",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                description: "Checks for modified packages in the store. Returns exit code 0 if the content of the package is the same as it was at the time of unpacking",
                name: "status"
              },
              {
                description: "Adds new packages to the store. Example: pnpm store add express@4 typescript@2.1.0",
                name: "add <pkg>..."
              },
              {
                description: "Removes unreferenced (extraneous, orphan) packages from the store. Pruning the store is not harmful, but might slow down future installations. Visit the documentation for more information on unreferenced packages and why they occur",
                name: "prune"
              },
              {
                description: "If there are alien directories in the store, this command removes them. Alien directories are directories/files that were not created by the package manager.",
                name: "prune --force"
              },
              {
                description: "Returns the path to the active store directory.",
                name: "path"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("store"),
        usages: ["pnpm store <command>"]
      });
    }
    var StoreStatusError = class extends error_1.PnpmError {
      constructor(modified) {
        super("MODIFIED_DEPENDENCY", "");
        this.modified = modified;
      }
    };
    async function handler(opts, params) {
      let store;
      switch (params[0]) {
        case "status":
          return statusCmd(opts);
        case "path":
          return (0, store_path_1.getStorePath)({
            pkgRoot: opts.dir,
            storePath: opts.storeDir,
            pnpmHomeDir: opts.pnpmHomeDir
          });
        case "prune": {
          store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
          const storePruneOptions = Object.assign(opts, {
            storeController: store.ctrl,
            storeDir: store.dir,
            removeAlienFiles: opts.force,
            cacheDir: opts.cacheDir,
            dlxCacheMaxAge: opts.dlxCacheMaxAge
          });
          return (0, storePrune_1.storePrune)(storePruneOptions);
        }
        case "add":
          store = await (0, store_connection_manager_1.createOrConnectStoreController)(opts);
          return (0, storeAdd_1.storeAdd)(params.slice(1), {
            prefix: opts.dir,
            registries: opts.registries,
            reporter: opts.reporter,
            storeController: store.ctrl,
            tag: opts.tag
          });
        default:
          return help();
      }
    }
    async function statusCmd(opts) {
      const modifiedPkgs = await (0, storeStatus_1.storeStatus)(Object.assign(opts, {
        storeDir: await (0, store_path_1.getStorePath)({
          pkgRoot: opts.dir,
          storePath: opts.storeDir,
          pnpmHomeDir: opts.pnpmHomeDir
        })
      }));
      if (!modifiedPkgs || modifiedPkgs.length === 0) {
        logger_1.logger.info({
          message: "Packages in the store are untouched",
          prefix: opts.dir
        });
        return;
      }
      throw new StoreStatusError(modifiedPkgs);
    }
  }
});

// ../store/plugin-commands-store/lib/index.js
var require_lib188 = __commonJS({
  "../store/plugin-commands-store/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.store = void 0;
    var store = __importStar3(require_store());
    exports2.store = store;
  }
});

// ../store/plugin-commands-store-inspecting/lib/catIndex.js
var require_catIndex = __commonJS({
  "../store/plugin-commands-store-inspecting/lib/catIndex.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var client_1 = require_lib90();
    var error_1 = require_lib6();
    var object_key_sorting_1 = require_lib108();
    var store_path_1 = require_lib81();
    var store_cafs_1 = require_lib57();
    var pick_registry_for_package_1 = require_lib91();
    var parse_wanted_dependency_1 = require_lib22();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var render_help_1 = __importDefault2(require_lib47());
    exports2.skipPackageManagerCheck = true;
    exports2.commandNames = ["cat-index"];
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    function help() {
      return (0, render_help_1.default)({
        description: "Prints the index file of a specific package from the store.",
        descriptionLists: [],
        usages: ["pnpm cat-index <pkg name>@<pkg version>"]
      });
    }
    async function handler(opts, params) {
      if (!params || params.length === 0) {
        throw new error_1.PnpmError("MISSING_PACKAGE_NAME", "Specify a package", {
          hint: help()
        });
      }
      const wantedDependency = params[0];
      const { alias, pref } = (0, parse_wanted_dependency_1.parseWantedDependency)(wantedDependency) || {};
      if (!alias) {
        throw new error_1.PnpmError("INVALID_SELECTOR", `Cannot parse the "${wantedDependency}" selector`);
      }
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: process.cwd(),
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const { resolve } = (0, client_1.createResolver)({
        ...opts,
        authConfig: opts.rawConfig
      });
      const pkgSnapshot = await resolve({ alias, pref }, {
        lockfileDir: opts.lockfileDir ?? opts.dir,
        preferredVersions: {},
        projectDir: opts.dir,
        registry: (0, pick_registry_for_package_1.pickRegistryForPackage)(opts.registries, alias, pref)
      });
      const filesIndexFile = (0, store_cafs_1.getIndexFilePathInCafs)(storeDir, pkgSnapshot.resolution.integrity.toString(), `${alias}@${pref}`);
      try {
        const pkgFilesIndex = await (0, load_json_file_1.default)(filesIndexFile);
        return JSON.stringify((0, object_key_sorting_1.sortDeepKeys)(pkgFilesIndex), null, 2);
      } catch {
        throw new error_1.PnpmError("INVALID_PACKAGE", "No corresponding index file found. You can use pnpm list to see if the package is installed.");
      }
    }
  }
});

// ../store/plugin-commands-store-inspecting/lib/catFile.js
var require_catFile = __commonJS({
  "../store/plugin-commands-store-inspecting/lib/catFile.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var util_1 = __importDefault2(require("util"));
    var error_1 = require_lib6();
    var graceful_fs_1 = __importDefault2(require_lib12());
    var store_path_1 = require_lib81();
    var render_help_1 = __importDefault2(require_lib47());
    var INTEGRITY_REGEX = /^([^-]+)-([A-Za-z0-9+/=]+)$/;
    exports2.skipPackageManagerCheck = true;
    exports2.commandNames = ["cat-file"];
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    function help() {
      return (0, render_help_1.default)({
        description: "Prints the contents of a file based on the hash value stored in the index file.",
        descriptionLists: [],
        usages: ["pnpm cat-file <hash>"]
      });
    }
    async function handler(opts, params) {
      if (!params || params.length === 0) {
        throw new error_1.PnpmError("MISSING_HASH", "Missing file hash", {
          hint: help()
        });
      }
      const [, , integrityHash] = params[0].match(INTEGRITY_REGEX);
      const toHex = Buffer.from(integrityHash, "base64").toString("hex");
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: process.cwd(),
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const cafsDir = path_1.default.join(storeDir, "files");
      const filePath = path_1.default.resolve(cafsDir, toHex.slice(0, 2), toHex.slice(2));
      try {
        return graceful_fs_1.default.readFileSync(filePath, "utf8");
      } catch (err) {
        if (util_1.default.types.isNativeError(err) && "code" in err && err.code === "ENOENT") {
          throw new error_1.PnpmError("INVALID_HASH", "Corresponding hash file not found");
        }
        throw err;
      }
    }
  }
});

// ../store/plugin-commands-store-inspecting/lib/findHash.js
var require_findHash = __commonJS({
  "../store/plugin-commands-store-inspecting/lib/findHash.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rcOptionsTypes = exports2.commandNames = exports2.skipPackageManagerCheck = exports2.INDEX_PATH_CLR = exports2.PACKAGE_INFO_CLR = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var fs_1 = __importDefault2(require("fs"));
    var chalk_1 = __importDefault2(require_source());
    var error_1 = require_lib6();
    var store_path_1 = require_lib81();
    var load_json_file_1 = __importDefault2(require_load_json_file());
    var render_help_1 = __importDefault2(require_lib47());
    exports2.PACKAGE_INFO_CLR = chalk_1.default.greenBright;
    exports2.INDEX_PATH_CLR = chalk_1.default.hex("#078487");
    exports2.skipPackageManagerCheck = true;
    exports2.commandNames = ["find-hash"];
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    function help() {
      return (0, render_help_1.default)({
        description: "Experimental! Lists the packages that include the file with the specified hash.",
        descriptionLists: [],
        usages: ["pnpm find-hash <hash>"]
      });
    }
    async function handler(opts, params) {
      if (!params || params.length === 0) {
        throw new error_1.PnpmError("MISSING_HASH", "`pnpm find-hash` requires the hash");
      }
      const hash = params[0];
      const storeDir = await (0, store_path_1.getStorePath)({
        pkgRoot: process.cwd(),
        storePath: opts.storeDir,
        pnpmHomeDir: opts.pnpmHomeDir
      });
      const indexDir = path_1.default.join(storeDir, "index");
      const cafsChildrenDirs = fs_1.default.readdirSync(indexDir, { withFileTypes: true }).filter((file) => file.isDirectory());
      const indexFiles = [];
      const result2 = [];
      for (const { name: dirName } of cafsChildrenDirs) {
        const dirIndexFiles = fs_1.default.readdirSync(`${indexDir}/${dirName}`).filter((fileName) => fileName.includes(".json"))?.map((fileName) => `${indexDir}/${dirName}/${fileName}`);
        indexFiles.push(...dirIndexFiles);
      }
      for (const filesIndexFile of indexFiles) {
        const pkgFilesIndex = load_json_file_1.default.sync(filesIndexFile);
        for (const [, file] of Object.entries(pkgFilesIndex.files)) {
          if (file?.integrity === hash) {
            result2.push({ name: pkgFilesIndex.name ?? "unknown", version: pkgFilesIndex?.version ?? "unknown", filesIndexFile: filesIndexFile.replace(indexDir, "") });
            continue;
          }
        }
        if (pkgFilesIndex?.sideEffects) {
          for (const { added } of Object.values(pkgFilesIndex.sideEffects)) {
            if (!added)
              continue;
            for (const file of Object.values(added)) {
              if (file?.integrity === hash) {
                result2.push({ name: pkgFilesIndex.name ?? "unknown", version: pkgFilesIndex?.version ?? "unknown", filesIndexFile: filesIndexFile.replace(indexDir, "") });
                continue;
              }
            }
          }
        }
      }
      if (!result2.length) {
        throw new error_1.PnpmError("INVALID_FILE_HASH", "No package or index file matching this hash was found.");
      }
      let acc = "";
      for (const { name, version: version2, filesIndexFile } of result2) {
        acc += `${(0, exports2.PACKAGE_INFO_CLR)(name)}@${(0, exports2.PACKAGE_INFO_CLR)(version2)}  ${(0, exports2.INDEX_PATH_CLR)(filesIndexFile)}
`;
      }
      return acc;
    }
  }
});

// ../store/plugin-commands-store-inspecting/lib/index.js
var require_lib189 = __commonJS({
  "../store/plugin-commands-store-inspecting/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.findHash = exports2.catFile = exports2.catIndex = void 0;
    var catIndex = __importStar3(require_catIndex());
    exports2.catIndex = catIndex;
    var catFile = __importStar3(require_catFile());
    exports2.catFile = catFile;
    var findHash = __importStar3(require_findHash());
    exports2.findHash = findHash;
  }
});

// ../packages/plugin-commands-init/lib/utils.js
var require_utils19 = __commonJS({
  "../packages/plugin-commands-init/lib/utils.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.personToString = personToString;
    exports2.workWithInitModule = workWithInitModule;
    exports2.workWithInitConfig = workWithInitConfig;
    exports2.parseRawConfig = parseRawConfig;
    var path_1 = __importDefault2(require("path"));
    var child_process_1 = require("child_process");
    var camelcase_keys_1 = __importDefault2(require_camelcase_keys());
    var fs_1 = __importDefault2(require("fs"));
    function personToString(person) {
      const name = person.name ?? "";
      const u = person.url ?? person.web;
      const url = u ? ` (${u})` : "";
      const e = person.email ?? person.mail;
      const email = e ? ` <${e}>` : "";
      return name + email + url;
    }
    function workWithInitModule(localConfig) {
      const { initModule, ...restConfig } = localConfig;
      if (initModule) {
        const filePath = path_1.default.resolve(localConfig.initModule);
        const isFileExist = fs_1.default.existsSync(filePath);
        if ([".js", ".cjs"].includes(path_1.default.extname(filePath)) && isFileExist) {
          (0, child_process_1.spawnSync)("node", [filePath], {
            stdio: "inherit"
          });
        }
      }
      return restConfig;
    }
    function workWithInitConfig(localConfig) {
      const packageJson = {};
      const authorInfo = {};
      for (const localConfigKey in localConfig) {
        if (localConfigKey.startsWith("init") && localConfigKey !== "initPackageManager") {
          const pureKey = localConfigKey.replace("init", "");
          const value = localConfig[localConfigKey];
          if (pureKey.startsWith("Author")) {
            authorInfo[pureKey.replace("Author", "")] = value;
          } else {
            packageJson[pureKey] = value;
          }
        }
      }
      const author = personToString((0, camelcase_keys_1.default)(authorInfo));
      if (author) {
        packageJson.author = author;
      }
      return (0, camelcase_keys_1.default)(packageJson);
    }
    async function parseRawConfig(rawConfig) {
      return workWithInitConfig(workWithInitModule((0, camelcase_keys_1.default)(rawConfig)));
    }
  }
});

// ../packages/plugin-commands-init/lib/init.js
var require_init2 = __commonJS({
  "../packages/plugin-commands-init/lib/init.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var fs_1 = __importDefault2(require("fs"));
    var path_1 = __importDefault2(require("path"));
    var cli_utils_1 = require_lib33();
    var cli_meta_1 = require_lib4();
    var error_1 = require_lib6();
    var object_key_sorting_1 = require_lib108();
    var write_project_manifest_1 = require_lib11();
    var render_help_1 = __importDefault2(require_lib47());
    var utils_1 = require_utils19();
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return {};
    }
    exports2.commandNames = ["init"];
    function help() {
      return (0, render_help_1.default)({
        description: "Create a package.json file",
        descriptionLists: [],
        url: (0, cli_utils_1.docsUrl)("init"),
        usages: ["pnpm init"]
      });
    }
    async function handler(opts, params) {
      if (params?.length) {
        throw new error_1.PnpmError("INIT_ARG", "init command does not accept any arguments", {
          hint: `Maybe you wanted to run "pnpm create ${params.join(" ")}"`
        });
      }
      const manifestPath = path_1.default.join(opts.cliOptions.dir ?? process.cwd(), "package.json");
      if (fs_1.default.existsSync(manifestPath)) {
        throw new error_1.PnpmError("PACKAGE_JSON_EXISTS", "package.json already exists");
      }
      const manifest = {
        name: path_1.default.basename(process.cwd()),
        version: "1.0.0",
        description: "",
        main: "index.js",
        scripts: {
          test: 'echo "Error: no test specified" && exit 1'
        },
        keywords: [],
        author: "",
        license: "ISC"
      };
      const config = await (0, utils_1.parseRawConfig)(opts.rawConfig);
      const packageJson = { ...manifest, ...config };
      if (opts.initPackageManager) {
        packageJson.packageManager = `pnpm@${cli_meta_1.packageManager.version}`;
      }
      const priority = Object.fromEntries([
        "name",
        "version",
        "description",
        "main",
        "scripts",
        "keywords",
        "author",
        "license",
        "packageManager"
      ].map((key, index) => [key, index]));
      const sortedPackageJson = (0, object_key_sorting_1.sortKeysByPriority)({ priority }, packageJson);
      await (0, write_project_manifest_1.writeProjectManifest)(manifestPath, sortedPackageJson, {
        indent: 2
      });
      return `Wrote to ${manifestPath}

${JSON.stringify(sortedPackageJson, null, 2)}`;
    }
  }
});

// ../packages/plugin-commands-init/lib/index.js
var require_lib190 = __commonJS({
  "../packages/plugin-commands-init/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.init = void 0;
    var init = __importStar3(require_init2());
    exports2.init = init;
  }
});

// lib/shorthands.js
var require_shorthands = __commonJS({
  "lib/shorthands.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.shorthands = void 0;
    exports2.shorthands = {
      s: "--reporter=silent",
      d: "--loglevel=info",
      dd: "--loglevel=verbose",
      ddd: "--loglevel=silly",
      L: "--latest",
      r: "--recursive",
      silent: "--reporter=silent",
      verbose: "--loglevel=verbose",
      quiet: "--loglevel=warn",
      q: "--loglevel=warn",
      h: "--help",
      H: "--help",
      "?": "--help",
      usage: "--help",
      v: "--version",
      f: "--force",
      local: "--no-global",
      l: "--long",
      p: "--parseable",
      porcelain: "--parseable",
      prod: "--production",
      development: "--dev",
      g: "--global",
      S: "--save",
      D: "--save-dev",
      P: "--save-prod",
      E: "--save-exact",
      O: "--save-optional",
      C: "--dir",
      w: "--workspace-root",
      i: "--interactive",
      F: "--filter"
    };
  }
});

// ../cli/parse-cli-args/lib/index.js
var require_lib191 = __commonJS({
  "../cli/parse-cli-args/lib/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseCliArgs = parseCliArgs;
    var error_1 = require_lib6();
    var find_workspace_dir_1 = require_lib130();
    var nopt_1 = __importDefault2(require_nopt());
    var didyoumean2_1 = __importStar3(require_dist27());
    var RECURSIVE_CMDS = /* @__PURE__ */ new Set(["recursive", "multi", "m"]);
    async function parseCliArgs(opts, inputArgv) {
      const noptExploratoryResults = (0, nopt_1.default)({
        filter: [String],
        help: Boolean,
        recursive: Boolean,
        ...opts.universalOptionsTypes,
        ...opts.getTypesByCommandName("add"),
        ...opts.getTypesByCommandName("install")
      }, {
        r: "--recursive",
        ...opts.universalShorthands
      }, inputArgv, 0, { escapeArgs: opts.escapeArgs });
      const recursiveCommandUsed = RECURSIVE_CMDS.has(noptExploratoryResults.argv.remain[0]);
      let commandName = getCommandName(noptExploratoryResults.argv.remain);
      let cmd = commandName ? opts.getCommandLongName(commandName) : null;
      const fallbackCommandUsed = Boolean(commandName && !cmd && opts.fallbackCommand);
      if (fallbackCommandUsed) {
        cmd = opts.fallbackCommand;
        commandName = opts.fallbackCommand;
        inputArgv.unshift(opts.fallbackCommand);
      } else if (cmd !== "run") {
        if (noptExploratoryResults["help"]) {
          return {
            ...getParsedArgsForHelp(),
            workspaceDir: await getWorkspaceDir(noptExploratoryResults)
          };
        }
        if (noptExploratoryResults["version"] || noptExploratoryResults["v"]) {
          return {
            argv: noptExploratoryResults.argv,
            cmd: null,
            options: {
              version: true
            },
            params: noptExploratoryResults.argv.remain,
            unknownOptions: /* @__PURE__ */ new Map(),
            fallbackCommandUsed: false,
            workspaceDir: await getWorkspaceDir(noptExploratoryResults)
          };
        }
      }
      function getParsedArgsForHelp() {
        return {
          argv: noptExploratoryResults.argv,
          cmd: "help",
          options: {},
          params: noptExploratoryResults.argv.remain,
          unknownOptions: /* @__PURE__ */ new Map(),
          fallbackCommandUsed: false
        };
      }
      const types = {
        ...opts.universalOptionsTypes,
        ...opts.getTypesByCommandName(commandName)
      };
      function getCommandName(args) {
        if (recursiveCommandUsed) {
          args = args.slice(1);
        }
        if (opts.getCommandLongName(args[0]) !== "install" || args.length === 1) {
          return args[0];
        }
        return "add";
      }
      function getEscapeArgsWithSpecialCaseForRun() {
        if (cmd !== "run") {
          return opts.escapeArgs;
        }
        const indexOfRunScriptName = 1 + (recursiveCommandUsed ? 1 : 0) + (fallbackCommandUsed && opts.fallbackCommand === "run" ? -1 : 0);
        return [noptExploratoryResults.argv.remain[indexOfRunScriptName]];
      }
      const { argv: argv2, ...options } = (0, nopt_1.default)({
        recursive: Boolean,
        ...types
      }, {
        ...opts.universalShorthands,
        ...opts.shorthandsByCommandName[commandName]
      }, inputArgv, 0, { escapeArgs: getEscapeArgsWithSpecialCaseForRun() });
      const workspaceDir = await getWorkspaceDir(options);
      if (cmd === "run" && options["help"]) {
        return {
          ...getParsedArgsForHelp(),
          workspaceDir
        };
      }
      if (opts.renamedOptions != null) {
        for (const [cliOption, optionValue] of Object.entries(options)) {
          if (opts.renamedOptions[cliOption]) {
            options[opts.renamedOptions[cliOption]] = optionValue;
            delete options[cliOption];
          }
        }
      }
      const params = argv2.remain.slice(1);
      if (options["recursive"] !== true && (options["filter"] || options["filter-prod"] || recursiveCommandUsed)) {
        options["recursive"] = true;
        const subCmd = argv2.remain[1] && opts.getCommandLongName(argv2.remain[1]);
        if (subCmd && recursiveCommandUsed) {
          params.shift();
          argv2.remain.shift();
          cmd = subCmd;
        }
      }
      if (options["workspace-root"]) {
        if (options["global"]) {
          throw new error_1.PnpmError("OPTIONS_CONFLICT", "--workspace-root may not be used with --global");
        }
        if (!workspaceDir) {
          throw new error_1.PnpmError("NOT_IN_WORKSPACE", "--workspace-root may only be used inside a workspace");
        }
        options["dir"] = workspaceDir;
      }
      if (cmd === "install" && params.length > 0) {
        cmd = "add";
      } else if (!cmd && options["recursive"]) {
        cmd = "recursive";
      }
      const knownOptions = new Set(Object.keys(types));
      return {
        argv: argv2,
        cmd,
        params,
        workspaceDir,
        fallbackCommandUsed,
        ...normalizeOptions(options, knownOptions)
      };
    }
    var CUSTOM_OPTION_PREFIX = "config.";
    function normalizeOptions(options, knownOptions) {
      const standardOptionNames = [];
      const normalizedOptions = {};
      for (const [optionName, optionValue] of Object.entries(options)) {
        if (optionName.startsWith(CUSTOM_OPTION_PREFIX)) {
          normalizedOptions[optionName.substring(CUSTOM_OPTION_PREFIX.length)] = optionValue;
          continue;
        }
        normalizedOptions[optionName] = optionValue;
        standardOptionNames.push(optionName);
      }
      const unknownOptions = getUnknownOptions(standardOptionNames, knownOptions);
      return { options: normalizedOptions, unknownOptions };
    }
    function getUnknownOptions(usedOptions, knownOptions) {
      const unknownOptions = /* @__PURE__ */ new Map();
      const closestMatches = getClosestOptionMatches.bind(null, Array.from(knownOptions));
      for (const usedOption of usedOptions) {
        if (knownOptions.has(usedOption) || usedOption.startsWith("//") || isScopeRegistryOption(usedOption))
          continue;
        unknownOptions.set(usedOption, closestMatches(usedOption));
      }
      return unknownOptions;
    }
    function isScopeRegistryOption(optionName) {
      return /^@[a-z0-9][\w.-]*:registry$/.test(optionName);
    }
    function getClosestOptionMatches(knownOptions, option) {
      return (0, didyoumean2_1.default)(option, knownOptions, {
        returnType: didyoumean2_1.ReturnTypeEnums.ALL_CLOSEST_MATCHES
      });
    }
    async function getWorkspaceDir(parsedOpts) {
      if (parsedOpts["global"] || parsedOpts["ignore-workspace"])
        return void 0;
      const dir = parsedOpts["dir"] ?? process.cwd();
      return (0, find_workspace_dir_1.findWorkspaceDir)(dir);
    }
  }
});

// lib/parseCliArgs.js
var require_parseCliArgs = __commonJS({
  "lib/parseCliArgs.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.parseCliArgs = parseCliArgs;
    var parse_cli_args_1 = require_lib191();
    var cmd_1 = require_cmd();
    var shorthands_1 = require_shorthands();
    var RENAMED_OPTIONS = {
      "lockfile-directory": "lockfile-dir",
      prefix: "dir",
      "shrinkwrap-directory": "lockfile-dir",
      store: "store-dir"
    };
    async function parseCliArgs(inputArgv) {
      return (0, parse_cli_args_1.parseCliArgs)({
        fallbackCommand: "run",
        escapeArgs: ["create", "dlx", "exec", "test"],
        getCommandLongName: cmd_1.getCommandFullName,
        getTypesByCommandName: cmd_1.getCliOptionsTypes,
        renamedOptions: RENAMED_OPTIONS,
        shorthandsByCommandName: cmd_1.shorthandsByCommandName,
        universalOptionsTypes: cmd_1.GLOBAL_OPTIONS,
        universalShorthands: shorthands_1.shorthands
      }, inputArgv);
    }
  }
});

// lib/cmd/bin.js
var require_bin2 = __commonJS({
  "lib/cmd/bin.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var config_1 = require_lib19();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)([
        "global"
      ], config_1.types);
    }
    exports2.commandNames = ["bin"];
    function help() {
      return (0, render_help_1.default)({
        description: "Print the directory where pnpm will install executables.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Print the global executables directory",
                name: "--global",
                shortAlias: "-g"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("bin"),
        usages: ["pnpm bin [-g]"]
      });
    }
    async function handler(opts) {
      return opts.bin;
    }
  }
});

// lib/cmd/help.js
var require_help2 = __commonJS({
  "lib/cmd/help.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.createHelp = createHelp;
    var cli_meta_1 = require_lib4();
    var render_help_1 = __importDefault2(require_lib47());
    function createHelp(helpByCommandName) {
      return function(opts, params) {
        let helpText;
        if (params.length === 0) {
          helpText = getHelpText();
        } else if (helpByCommandName[params[0]]) {
          helpText = helpByCommandName[params[0]]();
        } else {
          helpText = `No results for "${params[0]}"`;
        }
        return `Version ${cli_meta_1.packageManager.version}${(0, cli_meta_1.detectIfCurrentPkgIsExecutable)() != null ? ` (compiled to binary; bundled Node.js ${process.version})` : ""}
${helpText}
`;
      };
    }
    function getHelpText() {
      return (0, render_help_1.default)({
        descriptionLists: [
          {
            title: "Manage your dependencies",
            list: [
              {
                description: "Install all dependencies for a project",
                name: "install",
                shortAlias: "i"
              },
              {
                description: "Installs a package and any packages that it depends on. By default, any new package is installed as a prod dependency",
                name: "add"
              },
              {
                description: "Updates packages to their latest version based on the specified range",
                name: "update",
                shortAlias: "up"
              },
              {
                description: "Removes packages from node_modules and from the project's package.json",
                name: "remove",
                shortAlias: "rm"
              },
              {
                description: "Connect the local project to another one",
                name: "link",
                shortAlias: "ln"
              },
              {
                description: "Unlinks a package. Like yarn unlink but pnpm re-installs the dependency after removing the external link",
                name: "unlink"
              },
              {
                description: "Generates a pnpm-lock.yaml from an npm package-lock.json (or npm-shrinkwrap.json) file",
                name: "import"
              },
              {
                description: "Runs a pnpm install followed immediately by a pnpm test",
                name: "install-test",
                shortAlias: "it"
              },
              {
                description: "Rebuild a package",
                name: "rebuild",
                shortAlias: "rb"
              },
              {
                description: "Removes extraneous packages",
                name: "prune"
              }
            ]
          },
          {
            title: "Review your dependencies",
            list: [
              {
                description: "Checks for known security issues with the installed packages",
                name: "audit"
              },
              {
                description: "Print all the versions of packages that are installed, as well as their dependencies, in a tree-structure",
                name: "list",
                shortAlias: "ls"
              },
              {
                description: "Check for outdated packages",
                name: "outdated"
              },
              {
                description: "Check licenses in consumed packages",
                name: "licenses"
              }
            ]
          },
          {
            title: "Run your scripts",
            list: [
              {
                description: "Executes a shell command in scope of a project",
                name: "exec"
              },
              {
                description: "Runs a defined package script",
                name: "run"
              },
              {
                description: `Runs a package's "test" script, if one was provided`,
                name: "test",
                shortAlias: "t"
              },
              {
                description: `Runs an arbitrary command specified in the package's "start" property of its "scripts" object`,
                name: "start"
              }
            ]
          },
          {
            title: "Other",
            list: [
              {
                description: "Create a tarball from a package",
                name: "pack"
              },
              {
                description: "Publishes a package to the registry",
                name: "publish"
              },
              {
                description: "Prints the effective modules directory",
                name: "root"
              },
              {
                description: "Prints the index file of a specific package from the store",
                name: "cat-index"
              },
              {
                description: "Prints the contents of a file based on the hash value stored in the index file",
                name: "cat-file"
              },
              {
                description: "Experimental! Lists the packages that include the file with the specified hash.",
                name: "find-hash"
              }
            ]
          },
          {
            title: "Manage your store",
            list: [
              {
                description: "Adds new packages to the pnpm store directly. Does not modify any projects or files outside the store",
                name: "store add"
              },
              {
                description: "Prints the path to the active store directory",
                name: "store path"
              },
              {
                description: "Removes unreferenced (extraneous, orphan) packages from the store",
                name: "store prune"
              },
              {
                description: "Checks for modified packages in the store",
                name: "store status"
              }
            ]
          },
          {
            title: "Options",
            list: [
              {
                description: "Run the command for each project in the workspace.",
                name: "--recursive",
                shortAlias: "-r"
              }
            ]
          }
        ],
        usages: ["pnpm [command] [flags]", "pnpm [ -h | --help | -v | --version ]"]
      });
    }
  }
});

// lib/cmd/installTest.js
var require_installTest = __commonJS({
  "lib/cmd/installTest.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = exports2.cliOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var plugin_commands_installation_1 = require_lib171();
    var plugin_commands_script_runners_1 = require_lib185();
    var render_help_1 = __importDefault2(require_lib47());
    exports2.cliOptionsTypes = plugin_commands_installation_1.install.cliOptionsTypes;
    exports2.rcOptionsTypes = plugin_commands_installation_1.install.rcOptionsTypes;
    exports2.commandNames = ["install-test", "it"];
    function help() {
      return (0, render_help_1.default)({
        aliases: ["it"],
        description: "Runs a `pnpm install` followed immediately by a `pnpm test`. It takes exactly the same arguments as `pnpm install`.",
        url: (0, cli_utils_1.docsUrl)("install-test"),
        usages: ["pnpm install-test"]
      });
    }
    async function handler(opts, params) {
      await plugin_commands_installation_1.install.handler(opts);
      await plugin_commands_script_runners_1.run.handler(opts, ["test", ...params]);
    }
  }
});

// lib/cmd/recursive.js
var require_recursive5 = __commonJS({
  "lib/cmd/recursive.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.cliOptionsTypes = exports2.rcOptionsTypes = void 0;
    exports2.help = help;
    exports2.handler = handler;
    var cli_utils_1 = require_lib33();
    var common_cli_options_help_1 = require_lib96();
    var constants_1 = require_lib5();
    var render_help_1 = __importDefault2(require_lib47());
    var rcOptionsTypes = () => ({});
    exports2.rcOptionsTypes = rcOptionsTypes;
    var cliOptionsTypes = () => ({});
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.commandNames = ["recursive", "multi", "m"];
    function help() {
      return (0, render_help_1.default)({
        description: "Concurrently performs some actions in all subdirectories with a `package.json` (excluding node_modules). A `pnpm-workspace.yaml` file may be used to control what directories are searched for packages.",
        descriptionLists: [
          {
            title: "Commands",
            list: [
              {
                name: "install"
              },
              {
                name: "add"
              },
              {
                name: "update"
              },
              {
                description: "Uninstall a dependency from each package",
                name: "remove <pkg>..."
              },
              {
                description: "Removes links to local packages and reinstalls them from the registry.",
                name: "unlink"
              },
              {
                description: "List dependencies in each package.",
                name: "list [<pkg>...]"
              },
              {
                description: "List packages that depend on <pkg>.",
                name: "why <pkg>..."
              },
              {
                description: "Check for outdated dependencies in every package.",
                name: "outdated [<pkg>...]"
              },
              {
                description: `This runs an arbitrary command from each package's "scripts" object. If a package doesn't have the command, it is skipped. If none of the packages have the command, the command fails.`,
                name: "run <command> [-- <args>...]"
              },
              {
                description: `This runs each package's "test" script, if one was provided.`,
                name: "test [-- <args>...]"
              },
              {
                description: 'This command runs the "npm build" command on each package. This is useful when you install a new version of node, and must recompile all your C++ addons with the new binary.',
                name: "rebuild [[<@scope>/<name>]...]"
              },
              {
                description: "Run a command in each package.",
                name: "exec -- <command> [args...]"
              },
              {
                description: "Publishes packages to the npm registry. Only publishes a package if its version is not taken in the registry.",
                name: "publish [--tag <tag>] [--access <public|restricted>]"
              }
            ]
          },
          {
            title: "Options",
            list: [
              {
                description: "Continues executing other tasks even if a task threw an error",
                name: "--no-bail"
              },
              {
                description: "Set the maximum number of concurrency. Default is 4. For unlimited concurrency use Infinity.",
                name: "--workspace-concurrency <number>"
              },
              {
                description: "Locally available packages are linked to node_modules instead of being downloaded from the registry. Convenient to use in a multi-package repository.",
                name: "--link-workspace-packages"
              },
              {
                description: "Reverse the order that packages get ordered in. Disabled by default.",
                name: "--reverse"
              },
              {
                description: "Sort packages topologically (dependencies before dependents). Pass --no-sort to disable.",
                name: "--sort"
              },
              {
                description: `Creates a single ${constants_1.WANTED_LOCKFILE} file in the root of the workspace. A shared lockfile also means that all dependencies of all projects will be in a single node_modules.`,
                name: "--shared-workspace-lockfile"
              },
              {
                description: "When executing commands recursively in a workspace, execute them on the root workspace project as well",
                name: "--include-workspace-root"
              }
            ]
          },
          common_cli_options_help_1.FILTERING
        ],
        url: (0, cli_utils_1.docsUrl)("recursive"),
        usages: [
          "pnpm recursive [command] [flags] [--filter <package selector>]",
          "pnpm multi [command] [flags] [--filter <package selector>]",
          "pnpm m [command] [flags] [--filter <package selector>]"
        ]
      });
    }
    function handler() {
      console.log(help());
      process.exit(1);
    }
  }
});

// lib/cmd/root.js
var require_root2 = __commonJS({
  "lib/cmd/root.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.commandNames = exports2.rcOptionsTypes = void 0;
    exports2.cliOptionsTypes = cliOptionsTypes;
    exports2.help = help;
    exports2.handler = handler;
    var path_1 = __importDefault2(require("path"));
    var config_1 = require_lib19();
    var cli_utils_1 = require_lib33();
    var pick_1 = __importDefault2(require_pick());
    var render_help_1 = __importDefault2(require_lib47());
    exports2.rcOptionsTypes = cliOptionsTypes;
    function cliOptionsTypes() {
      return (0, pick_1.default)([
        "global"
      ], config_1.types);
    }
    exports2.commandNames = ["root"];
    function help() {
      return (0, render_help_1.default)({
        description: "Print the effective `node_modules` directory.",
        descriptionLists: [
          {
            title: "Options",
            list: [
              {
                description: "Print the global `node_modules` directory",
                name: "--global",
                shortAlias: "-g"
              }
            ]
          }
        ],
        url: (0, cli_utils_1.docsUrl)("root"),
        usages: ["pnpm root [-g]"]
      });
    }
    async function handler(opts) {
      return `${path_1.default.join(opts.dir, "node_modules")}
`;
    }
  }
});

// lib/cmd/index.js
var require_cmd = __commonJS({
  "lib/cmd/index.js"(exports2) {
    "use strict";
    var __createBinding3 = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
      if (k2 === void 0) 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 === void 0) k2 = k;
      o[k2] = m[k];
    });
    var __setModuleDefault3 = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
      Object.defineProperty(o, "default", { enumerable: true, value: v });
    } : function(o, v) {
      o["default"] = v;
    });
    var __importStar3 = exports2 && exports2.__importStar || function(mod) {
      if (mod && mod.__esModule) return mod;
      var result2 = {};
      if (mod != null) {
        for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding3(result2, mod, k);
      }
      __setModuleDefault3(result2, mod);
      return result2;
    };
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.rcOptionsTypes = exports2.shorthandsByCommandName = exports2.skipPackageManagerCheckForCommand = exports2.pnpmCmds = exports2.GLOBAL_OPTIONS = void 0;
    exports2.getCliOptionsTypes = getCliOptionsTypes;
    exports2.getCommandFullName = getCommandFullName;
    var cache_commands_1 = require_lib93();
    var config_1 = require_lib19();
    var exec_build_commands_1 = require_lib123();
    var plugin_commands_audit_1 = require_lib128();
    var plugin_commands_completion_1 = require_lib131();
    var plugin_commands_config_1 = require_lib133();
    var plugin_commands_doctor_1 = require_lib134();
    var plugin_commands_env_1 = require_lib82();
    var plugin_commands_deploy_1 = require_lib172();
    var plugin_commands_installation_1 = require_lib171();
    var tools_plugin_commands_self_updater_1 = require_lib175();
    var plugin_commands_listing_1 = require_lib176();
    var plugin_commands_licenses_1 = require_lib178();
    var plugin_commands_outdated_1 = require_lib179();
    var plugin_commands_publishing_1 = require_lib181();
    var plugin_commands_patching_1 = require_lib182();
    var plugin_commands_rebuild_1 = require_lib121();
    var plugin_commands_script_runners_1 = require_lib185();
    var plugin_commands_server_1 = require_lib186();
    var plugin_commands_setup_1 = require_lib187();
    var plugin_commands_store_1 = require_lib188();
    var plugin_commands_store_inspecting_1 = require_lib189();
    var plugin_commands_init_1 = require_lib190();
    var pick_1 = __importDefault2(require_pick());
    var shorthands_1 = require_shorthands();
    var parseCliArgs_1 = require_parseCliArgs();
    var bin = __importStar3(require_bin2());
    var help_1 = require_help2();
    var installTest = __importStar3(require_installTest());
    var recursive = __importStar3(require_recursive5());
    var root = __importStar3(require_root2());
    exports2.GLOBAL_OPTIONS = (0, pick_1.default)([
      "color",
      "dir",
      "filter",
      "filter-prod",
      "loglevel",
      "parseable",
      "prefix",
      "reporter",
      "stream",
      "aggregate-output",
      "test-pattern",
      "changed-files-ignore-pattern",
      "use-stderr",
      "ignore-workspace",
      "workspace-packages",
      "workspace-root",
      "include-workspace-root",
      "fail-if-no-match"
    ], config_1.types);
    var commands = [
      plugin_commands_installation_1.add,
      exec_build_commands_1.approveBuilds,
      plugin_commands_audit_1.audit,
      bin,
      cache_commands_1.cache,
      plugin_commands_installation_1.ci,
      plugin_commands_config_1.config,
      plugin_commands_installation_1.dedupe,
      plugin_commands_config_1.getCommand,
      plugin_commands_config_1.setCommand,
      plugin_commands_script_runners_1.create,
      plugin_commands_deploy_1.deploy,
      plugin_commands_script_runners_1.dlx,
      plugin_commands_doctor_1.doctor,
      plugin_commands_env_1.env,
      plugin_commands_script_runners_1.exec,
      plugin_commands_installation_1.fetch,
      plugin_commands_completion_1.generateCompletion,
      exec_build_commands_1.ignoredBuilds,
      plugin_commands_installation_1.importCommand,
      tools_plugin_commands_self_updater_1.selfUpdate,
      plugin_commands_init_1.init,
      plugin_commands_installation_1.install,
      installTest,
      plugin_commands_installation_1.link,
      plugin_commands_listing_1.list,
      plugin_commands_listing_1.ll,
      plugin_commands_licenses_1.licenses,
      plugin_commands_outdated_1.outdated,
      plugin_commands_publishing_1.pack,
      plugin_commands_patching_1.patch,
      plugin_commands_patching_1.patchCommit,
      plugin_commands_patching_1.patchRemove,
      plugin_commands_installation_1.prune,
      plugin_commands_publishing_1.publish,
      plugin_commands_rebuild_1.rebuild,
      recursive,
      plugin_commands_installation_1.remove,
      plugin_commands_script_runners_1.restart,
      root,
      plugin_commands_script_runners_1.run,
      plugin_commands_server_1.server,
      plugin_commands_setup_1.setup,
      plugin_commands_store_1.store,
      plugin_commands_store_inspecting_1.catFile,
      plugin_commands_store_inspecting_1.catIndex,
      plugin_commands_store_inspecting_1.findHash,
      plugin_commands_installation_1.unlink,
      plugin_commands_installation_1.update,
      plugin_commands_listing_1.why
    ];
    var handlerByCommandName = {};
    var helpByCommandName = {};
    var cliOptionsTypesByCommandName = {};
    var aliasToFullName = /* @__PURE__ */ new Map();
    var completionByCommandName = {};
    var shorthandsByCommandName = {};
    exports2.shorthandsByCommandName = shorthandsByCommandName;
    var rcOptionsTypes = {};
    exports2.rcOptionsTypes = rcOptionsTypes;
    var skipPackageManagerCheckForCommandArray = ["completion-server"];
    for (let i = 0; i < commands.length; i++) {
      const { cliOptionsTypes, commandNames, completion, handler, help, rcOptionsTypes: rcOptionsTypes2, shorthands, skipPackageManagerCheck } = commands[i];
      exports2.rcOptionsTypes = rcOptionsTypes2;
      if (!commandNames || commandNames.length === 0) {
        throw new Error(`The command at index ${i} doesn't have command names`);
      }
      for (const commandName of commandNames) {
        handlerByCommandName[commandName] = handler;
        helpByCommandName[commandName] = help;
        cliOptionsTypesByCommandName[commandName] = cliOptionsTypes;
        shorthandsByCommandName[commandName] = shorthands ?? {};
        if (completion != null) {
          completionByCommandName[commandName] = completion;
        }
        Object.assign(rcOptionsTypes2, rcOptionsTypes2());
      }
      if (skipPackageManagerCheck) {
        skipPackageManagerCheckForCommandArray.push(...commandNames);
      }
      if (commandNames.length > 1) {
        const fullName = commandNames[0];
        for (let i2 = 1; i2 < commandNames.length; i2++) {
          aliasToFullName.set(commandNames[i2], fullName);
        }
      }
    }
    handlerByCommandName.help = (0, help_1.createHelp)(helpByCommandName);
    handlerByCommandName["completion-server"] = (0, plugin_commands_completion_1.createCompletionServer)({
      cliOptionsTypesByCommandName,
      completionByCommandName,
      initialCompletion,
      shorthandsByCommandName,
      universalOptionsTypes: exports2.GLOBAL_OPTIONS,
      universalShorthands: shorthands_1.shorthands,
      parseCliArgs: parseCliArgs_1.parseCliArgs
    });
    function initialCompletion() {
      return Object.keys(handlerByCommandName).map((name) => ({ name }));
    }
    exports2.pnpmCmds = handlerByCommandName;
    exports2.skipPackageManagerCheckForCommand = new Set(skipPackageManagerCheckForCommandArray);
    function getCliOptionsTypes(commandName) {
      return cliOptionsTypesByCommandName[commandName]?.() || {};
    }
    function getCommandFullName(commandName) {
      return aliasToFullName.get(commandName) ?? (handlerByCommandName[commandName] ? commandName : null);
    }
  }
});

// lib/formatError.js
var require_formatError = __commonJS({
  "lib/formatError.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.formatUnknownOptionsError = formatUnknownOptionsError;
    var chalk_1 = __importDefault2(require_source());
    function formatUnknownOptionsError(unknownOptions) {
      let output = chalk_1.default.bgRed.black("\u2009ERROR\u2009");
      const unknownOptionsArray = Array.from(unknownOptions.keys());
      if (unknownOptionsArray.length > 1) {
        return `${output} ${chalk_1.default.red(`Unknown options: ${unknownOptionsArray.map((unknownOption2) => `'${unknownOption2}'`).join(", ")}`)}`;
      }
      const unknownOption = unknownOptionsArray[0];
      output += ` ${chalk_1.default.red(`Unknown option: '${unknownOption}'`)}`;
      const didYouMeanOptions = unknownOptions.get(unknownOption);
      if (!didYouMeanOptions?.length) {
        return output;
      }
      return `${output}
Did you mean '${didYouMeanOptions.join("', or '")}'? Use "--config.unknown=value" to force an unknown option.`;
    }
  }
});

// lib/reporter/silentReporter.js
var require_silentReporter = __commonJS({
  "lib/reporter/silentReporter.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.silentReporter = silentReporter;
    function silentReporter(streamParser) {
      streamParser.on("data", (obj) => {
        if (obj.level !== "error")
          return;
        if (obj.err?.code?.startsWith("ERR_PNPM_"))
          return;
        console.log(obj["err"]?.message ?? obj["message"]);
        if (obj["err"]?.stack) {
          console.log(`
${obj["err"].stack}`);
        }
      });
    }
  }
});

// lib/reporter/index.js
var require_reporter = __commonJS({
  "lib/reporter/index.js"(exports2) {
    "use strict";
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.initReporter = initReporter;
    var default_reporter_1 = require_lib27();
    var logger_1 = require_lib();
    var silentReporter_1 = require_silentReporter();
    function initReporter(reporterType, opts) {
      switch (reporterType) {
        case "default":
          (0, default_reporter_1.initDefaultReporter)({
            useStderr: opts.config.useStderr,
            context: {
              argv: opts.cmd ? [opts.cmd] : [],
              config: opts.config
            },
            reportingOptions: {
              appendOnly: false,
              logLevel: opts.config.loglevel,
              streamLifecycleOutput: opts.config.stream,
              throttleProgress: 200,
              hideAddedPkgsProgress: opts.config.lockfileOnly,
              hideLifecyclePrefix: opts.config.reporterHidePrefix,
              peerDependencyRules: opts.config.peerDependencyRules
            },
            streamParser: logger_1.streamParser
          });
          return;
        case "append-only":
          (0, default_reporter_1.initDefaultReporter)({
            useStderr: opts.config.useStderr,
            context: {
              argv: opts.cmd ? [opts.cmd] : [],
              config: opts.config
            },
            reportingOptions: {
              appendOnly: true,
              aggregateOutput: opts.config.aggregateOutput,
              logLevel: opts.config.loglevel,
              throttleProgress: 1e3,
              hideLifecyclePrefix: opts.config.reporterHidePrefix,
              peerDependencyRules: opts.config.peerDependencyRules
            },
            streamParser: logger_1.streamParser
          });
          return;
        case "ndjson":
          (0, logger_1.writeToConsole)();
          return;
        case "silent":
          (0, silentReporter_1.silentReporter)(logger_1.streamParser);
      }
    }
  }
});

// lib/switchCliVersion.js
var require_switchCliVersion = __commonJS({
  "lib/switchCliVersion.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.switchCliVersion = switchCliVersion;
    var path_1 = __importDefault2(require("path"));
    var error_1 = require_lib6();
    var logger_1 = require_lib();
    var cli_meta_1 = require_lib4();
    var env_path_1 = require_lib183();
    var tools_plugin_commands_self_updater_1 = require_lib175();
    var cross_spawn_1 = __importDefault2(require_cross_spawn());
    var semver_12 = __importDefault2(require_semver2());
    async function switchCliVersion(config) {
      const pm = config.wantedPackageManager;
      if (pm == null || pm.name !== "pnpm" || pm.version == null || pm.version === cli_meta_1.packageManager.version)
        return;
      const pmVersion = semver_12.default.valid(pm.version);
      if (!pmVersion) {
        (0, logger_1.globalWarn)(`Cannot switch to pnpm@${pm.version}: "${pm.version}" is not a valid version`);
        return;
      }
      if (pmVersion !== pm.version.trim()) {
        (0, logger_1.globalWarn)(`Cannot switch to pnpm@${pm.version}: you need to specify the version as "${pmVersion}"`);
        return;
      }
      const { binDir: wantedPnpmBinDir } = await (0, tools_plugin_commands_self_updater_1.installPnpmToTools)(pmVersion, config);
      const pnpmEnv = (0, env_path_1.prependDirsToPath)([wantedPnpmBinDir]);
      if (!pnpmEnv.updated) {
        throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir);
      }
      const pnpmBinPath = path_1.default.join(wantedPnpmBinDir, "pnpm");
      const { status, error } = cross_spawn_1.default.sync(pnpmBinPath, process.argv.slice(2), {
        stdio: "inherit",
        env: {
          ...process.env,
          [pnpmEnv.name]: pnpmEnv.value
        }
      });
      if (error) {
        throw new VersionSwitchFail(pmVersion, wantedPnpmBinDir, error);
      }
      process.exit(status ?? 0);
    }
    var VersionSwitchFail = class extends error_1.PnpmError {
      constructor(version2, wantedPnpmBinDir, cause) {
        super("VERSION_SWITCH_FAIL", `Failed to switch pnpm to v${version2}. Looks like pnpm CLI is missing at "${wantedPnpmBinDir}" or is incorrect`, { hint: cause instanceof Error ? cause?.message : void 0 });
        if (cause != null) {
          this.cause = cause;
        }
      }
    };
  }
});

// lib/main.js
var require_main3 = __commonJS({
  "lib/main.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.REPORTER_INITIALIZED = void 0;
    exports2.main = main;
    if (!global["pnpm__startedAt"]) {
      global["pnpm__startedAt"] = Date.now();
    }
    var loud_rejection_1 = __importDefault2(require_loud_rejection());
    var cli_meta_1 = require_lib4();
    var cli_utils_1 = require_lib33();
    var core_loggers_1 = require_lib28();
    var error_1 = require_lib6();
    var filter_workspace_packages_1 = require_lib46();
    var logger_1 = require_lib();
    var plugin_commands_env_1 = require_lib82();
    var worker_1 = require_lib60();
    var chalk_1 = __importDefault2(require_source());
    var ci_info_1 = require_ci_info();
    var path_1 = __importDefault2(require("path"));
    var isEmpty_1 = __importDefault2(require_isEmpty2());
    var util_1 = require("util");
    var checkForUpdates_1 = require_checkForUpdates();
    var cmd_1 = require_cmd();
    var formatError_1 = require_formatError();
    var parseCliArgs_1 = require_parseCliArgs();
    var reporter_1 = require_reporter();
    var switchCliVersion_1 = require_switchCliVersion();
    exports2.REPORTER_INITIALIZED = Symbol("reporterInitialized");
    (0, loud_rejection_1.default)();
    var DEPRECATED_OPTIONS = /* @__PURE__ */ new Set([
      "independent-leaves",
      "lock",
      "resolution-strategy"
    ]);
    delete process.env.PKG_EXECPATH;
    async function main(inputArgv) {
      let parsedCliArgs;
      try {
        parsedCliArgs = await (0, parseCliArgs_1.parseCliArgs)(inputArgv);
      } catch (err) {
        printError(err.message, err["hint"]);
        process.exitCode = 1;
        return;
      }
      const { argv: argv2, params: cliParams, options: cliOptions, cmd, fallbackCommandUsed, unknownOptions, workspaceDir } = parsedCliArgs;
      if (cmd !== null && !cmd_1.pnpmCmds[cmd]) {
        printError(`Unknown command '${cmd}'`, "For help, run: pnpm help");
        process.exitCode = 1;
        return;
      }
      if (unknownOptions.size > 0 && !fallbackCommandUsed) {
        const unknownOptionsArray = Array.from(unknownOptions.keys());
        if (unknownOptionsArray.every((option) => DEPRECATED_OPTIONS.has(option))) {
          let deprecationMsg = `${chalk_1.default.bgYellow.black("\u2009WARN\u2009")}`;
          if (unknownOptionsArray.length === 1) {
            const deprecatedOption = unknownOptionsArray[0];
            deprecationMsg += ` ${chalk_1.default.yellow(`Deprecated option: '${deprecatedOption}'`)}`;
          } else {
            deprecationMsg += ` ${chalk_1.default.yellow(`Deprecated options: ${unknownOptionsArray.map((unknownOption) => `'${unknownOption}'`).join(", ")}`)}`;
          }
          console.log(deprecationMsg);
        } else {
          printError((0, formatError_1.formatUnknownOptionsError)(unknownOptions), `For help, run: pnpm help${cmd ? ` ${cmd}` : ""}`);
          process.exitCode = 1;
          return;
        }
      }
      let config;
      try {
        const globalDirShouldAllowWrite = cmd !== "root";
        const isDlxCommand = cmd === "dlx";
        if (cmd === "link" && cliParams.length === 0) {
          cliOptions.global = true;
        }
        config = await (0, cli_utils_1.getConfig)(cliOptions, {
          excludeReporter: false,
          globalDirShouldAllowWrite,
          rcOptionsTypes: cmd_1.rcOptionsTypes,
          workspaceDir,
          checkUnknownSetting: false,
          ignoreNonAuthSettingsFromLocal: isDlxCommand
        });
        if (!(0, cli_meta_1.isExecutedByCorepack)() && cmd !== "setup" && config.wantedPackageManager != null) {
          if (config.managePackageManagerVersions && config.wantedPackageManager?.name === "pnpm" && cmd !== "self-update") {
            await (0, switchCliVersion_1.switchCliVersion)(config);
          } else if (!cmd || !cmd_1.skipPackageManagerCheckForCommand.has(cmd)) {
            checkPackageManager(config.wantedPackageManager, config);
          }
        }
        if (isDlxCommand) {
          config.useStderr = true;
        }
        config.argv = argv2;
        config.fallbackCommandUsed = fallbackCommandUsed;
        if (cmd) {
          config.extraEnv = {
            ...config.extraEnv,
            // Follow the behavior of npm by setting it to 'run-script' when running scripts (e.g. pnpm run dev)
            // and to the command name otherwise (e.g. pnpm test)
            npm_command: cmd === "run" ? "run-script" : cmd
          };
        }
      } catch (err) {
        const hint = err["hint"] ? err["hint"] : `For help, run: pnpm help${cmd ? ` ${cmd}` : ""}`;
        printError(err.message, hint);
        process.exitCode = 1;
        return;
      }
      if (cmd == null && cliOptions.version) {
        console.log(cli_meta_1.packageManager.version);
        return;
      }
      let write = process.stdout.write.bind(process.stdout);
      if (config.color === "always") {
        process.env["FORCE_COLOR"] = "1";
      } else if (config.color === "never") {
        process.env["FORCE_COLOR"] = "0";
        write = (text) => process.stdout.write((0, util_1.stripVTControlCharacters)(text));
      }
      const reporterType = (() => {
        if (config.loglevel === "silent")
          return "silent";
        if (config.reporter)
          return config.reporter;
        if (ci_info_1.isCI || !process.stdout.isTTY)
          return "append-only";
        return "default";
      })();
      const printLogs = !config["parseable"] && !config["json"];
      if (printLogs) {
        (0, reporter_1.initReporter)(reporterType, {
          cmd,
          config
        });
        global[exports2.REPORTER_INITIALIZED] = reporterType;
      }
      if (cmd === "self-update") {
        await cmd_1.pnpmCmds.server(config, ["stop"]);
      }
      if ((cmd === "install" || cmd === "import" || cmd === "dedupe" || cmd === "patch-commit" || cmd === "patch" || cmd === "patch-remove" || cmd === "approve-builds") && typeof workspaceDir === "string") {
        cliOptions["recursive"] = true;
        config.recursive = true;
        if (!config.recursiveInstall && !config.filter && !config.filterProd) {
          config.filter = ["{.}..."];
        }
      }
      if (cliOptions["recursive"]) {
        const wsDir = workspaceDir ?? process.cwd();
        config.filter = config.filter ?? [];
        config.filterProd = config.filterProd ?? [];
        const filters = [
          ...config.filter.map((filter) => ({ filter, followProdDepsOnly: false })),
          ...config.filterProd.map((filter) => ({ filter, followProdDepsOnly: true }))
        ];
        const relativeWSDirPath = () => path_1.default.relative(process.cwd(), wsDir) || ".";
        if (config.workspaceRoot) {
          filters.push({ filter: `{${relativeWSDirPath()}}`, followProdDepsOnly: Boolean(config.filterProd.length) });
        } else if (workspaceDir && !config.includeWorkspaceRoot && (cmd === "run" || cmd === "exec" || cmd === "add" || cmd === "test")) {
          filters.push({ filter: `!{${relativeWSDirPath()}}`, followProdDepsOnly: Boolean(config.filterProd.length) });
        }
        const filterResults = await (0, filter_workspace_packages_1.filterPackagesFromDir)(wsDir, filters, {
          engineStrict: config.engineStrict,
          nodeVersion: config.nodeVersion ?? config.useNodeVersion,
          patterns: config.workspacePackagePatterns,
          linkWorkspacePackages: !!config.linkWorkspacePackages,
          prefix: process.cwd(),
          workspaceDir: wsDir,
          testPattern: config.testPattern,
          changedFilesIgnorePattern: config.changedFilesIgnorePattern,
          useGlobDirFiltering: !config.legacyDirFiltering,
          sharedWorkspaceLockfile: config.sharedWorkspaceLockfile
        });
        if (filterResults.allProjects.length === 0) {
          if (printLogs) {
            console.log(`No projects found in "${wsDir}"`);
          }
          process.exitCode = config.failIfNoMatch ? 1 : 0;
          return;
        }
        config.allProjectsGraph = filterResults.allProjectsGraph;
        config.selectedProjectsGraph = filterResults.selectedProjectsGraph;
        if ((0, isEmpty_1.default)(config.selectedProjectsGraph)) {
          if (printLogs) {
            console.log(`No projects matched the filters in "${wsDir}"`);
          }
          process.exitCode = config.failIfNoMatch ? 1 : 0;
          return;
        }
        if (filterResults.unmatchedFilters.length !== 0 && printLogs) {
          console.log(`No projects matched the filters "${filterResults.unmatchedFilters.join(", ")}" in "${wsDir}"`);
        }
        config.allProjects = filterResults.allProjects;
        config.workspaceDir = wsDir;
      }
      let { output, exitCode } = await (async () => {
        await new Promise((resolve) => setTimeout(() => {
          resolve();
        }, 0));
        if (config.updateNotifier !== false && !ci_info_1.isCI && cmd !== "self-update" && !config.offline && !config.preferOffline && !config.fallbackCommandUsed && (cmd === "install" || cmd === "add")) {
          (0, checkForUpdates_1.checkForUpdates)(config).catch(() => {
          });
        }
        if (config.force === true && !config.fallbackCommandUsed) {
          logger_1.logger.warn({
            message: "using --force I sure hope you know what you are doing",
            prefix: config.dir
          });
        }
        core_loggers_1.scopeLogger.debug({
          ...!cliOptions["recursive"] ? { selected: 1 } : {
            selected: Object.keys(config.selectedProjectsGraph).length,
            total: config.allProjects.length
          },
          ...workspaceDir ? { workspacePrefix: workspaceDir } : {}
        });
        if (config.useNodeVersion != null) {
          if ("webcontainer" in process.versions) {
            (0, logger_1.globalWarn)("Automatic installation of different Node.js versions is not supported in WebContainer");
          } else {
            config.extraBinPaths = (await (0, plugin_commands_env_1.prepareExecutionEnv)(config, {
              extraBinPaths: config.extraBinPaths,
              executionEnv: {
                nodeVersion: config.useNodeVersion
              }
            })).extraBinPaths;
            config.nodeVersion = config.useNodeVersion;
          }
        }
        let result2 = cmd_1.pnpmCmds[cmd ?? "help"](
          // TypeScript doesn't currently infer that the type of config
          // is `Omit<typeof config, 'reporter'>` after the `delete config.reporter` statement
          config,
          cliParams
        );
        try {
          if (result2 instanceof Promise) {
            result2 = await result2;
          }
        } finally {
          await (0, worker_1.finishWorkers)();
        }
        core_loggers_1.executionTimeLogger.debug({
          startedAt: global["pnpm__startedAt"],
          endedAt: Date.now()
        });
        if (!result2) {
          return { output: null, exitCode: 0 };
        }
        if (typeof result2 === "string") {
          return { output: result2, exitCode: 0 };
        }
        return result2;
      })();
      if (output) {
        if (!output.endsWith("\n")) {
          output = `${output}
`;
        }
        write(output);
      }
      if (!cmd) {
        exitCode = 1;
      }
      if (exitCode) {
        process.exitCode = exitCode;
      }
    }
    function printError(message, hint) {
      const ERROR = chalk_1.default.bgRed.black("\u2009ERROR\u2009");
      console.error(`${message.startsWith(ERROR) ? "" : ERROR + " "}${chalk_1.default.red(message)}`);
      if (hint) {
        console.error(hint);
      }
    }
    function checkPackageManager(pm, config) {
      if (!pm.name)
        return;
      if (pm.name !== "pnpm") {
        const msg = `This project is configured to use ${pm.name}`;
        if (config.packageManagerStrict) {
          throw new error_1.PnpmError("OTHER_PM_EXPECTED", msg);
        }
        (0, logger_1.globalWarn)(msg);
      } else {
        const currentPnpmVersion = cli_meta_1.packageManager.name === "pnpm" ? cli_meta_1.packageManager.version : void 0;
        if (currentPnpmVersion && config.packageManagerStrictVersion && pm.version && pm.version !== currentPnpmVersion) {
          const msg = `This project is configured to use v${pm.version} of pnpm. Your current pnpm is v${currentPnpmVersion}`;
          if (config.packageManagerStrict) {
            throw new error_1.PnpmError("BAD_PM_VERSION", msg, {
              hint: 'If you want to bypass this version check, you can set the "package-manager-strict" configuration to "false" or set the "COREPACK_ENABLE_STRICT" environment variable to "0"'
            });
          } else {
            (0, logger_1.globalWarn)(msg);
          }
        }
      }
    }
  }
});

// lib/errorHandler.js
var require_errorHandler = __commonJS({
  "lib/errorHandler.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.errorHandler = errorHandler;
    var util_1 = require("util");
    var logger_1 = require_lib();
    var pidtree_1 = __importDefault2(require_pidtree2());
    var main_1 = require_main3();
    var getDescendentProcesses = (0, util_1.promisify)((pid, callback) => {
      (0, pidtree_1.default)(pid, { root: false }, callback);
    });
    async function errorHandler(error) {
      if (error.name != null && error.name !== "pnpm" && !error.name.startsWith("pnpm:")) {
        try {
          error.name = "pnpm";
        } catch {
        }
      }
      if (!global[main_1.REPORTER_INITIALIZED]) {
        console.log(JSON.stringify({
          error: {
            code: error.code ?? error.name,
            message: error.message
          }
        }, null, 2));
      } else if (global[main_1.REPORTER_INITIALIZED] !== "silent") {
        logger_1.logger.error(error, error);
        await new Promise((resolve) => setTimeout(() => {
          resolve();
        }, 0));
      }
      await killProcesses("errno" in error && typeof error.errno === "number" ? error.errno : 1);
    }
    async function killProcesses(status) {
      try {
        const descendentProcesses = await getDescendentProcesses(process.pid);
        for (const pid of descendentProcesses) {
          try {
            process.kill(pid);
          } catch {
          }
        }
      } catch {
      }
      process.exit(status);
    }
  }
});

// lib/runNpm.js
var require_runNpm = __commonJS({
  "lib/runNpm.js"(exports2) {
    "use strict";
    var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
      return mod && mod.__esModule ? mod : { "default": mod };
    };
    Object.defineProperty(exports2, "__esModule", { value: true });
    exports2.runNpm = runNpm;
    var cli_meta_1 = require_lib4();
    var config_1 = require_lib19();
    var run_npm_1 = require_lib132();
    var pick_1 = __importDefault2(require_pick());
    async function runNpm(args) {
      const { config } = await (0, config_1.getConfig)({
        cliOptions: {},
        packageManager: cli_meta_1.packageManager,
        rcOptionsTypes: {
          ...(0, pick_1.default)([
            "npm-path"
          ], config_1.types)
        }
      });
      return (0, run_npm_1.runNpm)(config.npmPath, args);
    }
  }
});

// lib/pnpm.js
var __createBinding2 = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
  if (k2 === void 0) 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 === void 0) k2 = k;
  o[k2] = m[k];
});
var __setModuleDefault2 = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
  Object.defineProperty(o, "default", { enumerable: true, value: v });
} : function(o, v) {
  o["default"] = v;
});
var __importStar2 = exports && exports.__importStar || function(mod) {
  if (mod && mod.__esModule) return mod;
  var result2 = {};
  if (mod != null) {
    for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding2(result2, mod, k);
  }
  __setModuleDefault2(result2, mod);
  return result2;
};
process.setMaxListeners(0);
var argv = process.argv.slice(2);
(async () => {
  switch (argv[0]) {
    // commands that are passed through to npm:
    case "access":
    case "adduser":
    case "bugs":
    case "deprecate":
    case "dist-tag":
    case "docs":
    case "edit":
    case "find":
    case "home":
    case "info":
    case "issues":
    case "login":
    case "logout":
    case "owner":
    case "ping":
    case "prefix":
    case "profile":
    case "pkg":
    case "repo":
    case "s":
    case "se":
    case "search":
    case "set-script":
    case "show":
    case "star":
    case "stars":
    case "team":
    case "token":
    case "unpublish":
    case "unstar":
    case "v":
    case "version":
    case "view":
    case "whoami":
    case "xmas":
      await passThruToNpm();
      break;
    default:
      await runPnpm();
      break;
  }
})();
async function runPnpm() {
  const { errorHandler } = await Promise.resolve().then(() => __importStar2(require_errorHandler()));
  try {
    const { main } = await Promise.resolve().then(() => __importStar2(require_main3()));
    await main(argv);
  } catch (err) {
    await errorHandler(err);
  }
}
async function passThruToNpm() {
  const { runNpm } = await Promise.resolve().then(() => __importStar2(require_runNpm()));
  const { status } = await runNpm(argv);
  process.exit(status);
}
/*! Bundled license information:

safe-buffer/index.js:
  (*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)

imurmurhash/imurmurhash.js:
  (**
   * @preserve
   * JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
   *
   * @author <a href="mailto:jensyt@gmail.com">Jens Taylor</a>
   * @see http://github.com/homebrewing/brauhaus-diff
   * @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
   * @see http://github.com/garycourt/murmurhash-js
   * @author <a href="mailto:aappleby@gmail.com">Austin Appleby</a>
   * @see http://sites.google.com/site/murmurhash/
   *)

is-windows/index.js:
  (*!
   * is-windows <https://github.com/jonschlinkert/is-windows>
   *
   * Copyright © 2015-2018, Jon Schlinkert.
   * Released under the MIT License.
   *)

normalize-path/index.js:
  (*!
   * normalize-path <https://github.com/jonschlinkert/normalize-path>
   *
   * Copyright (c) 2014-2018, Jon Schlinkert.
   * Released under the MIT License.
   *)

is-number/index.js:
  (*!
   * is-number <https://github.com/jonschlinkert/is-number>
   *
   * Copyright (c) 2014-present, Jon Schlinkert.
   * Released under the MIT License.
   *)

to-regex-range/index.js:
  (*!
   * to-regex-range <https://github.com/micromatch/to-regex-range>
   *
   * Copyright (c) 2015-present, Jon Schlinkert.
   * Released under the MIT License.
   *)

fill-range/index.js:
  (*!
   * fill-range <https://github.com/jonschlinkert/fill-range>
   *
   * Copyright (c) 2014-present, Jon Schlinkert.
   * Licensed under the MIT License.
   *)

humanize-ms/index.js:
  (*!
   * humanize-ms - index.js
   * Copyright(c) 2014 dead_horse <dead_horse@qq.com>
   * MIT Licensed
   *)

is-extglob/index.js:
  (*!
   * is-extglob <https://github.com/jonschlinkert/is-extglob>
   *
   * Copyright (c) 2014-2016, Jon Schlinkert.
   * Licensed under the MIT License.
   *)

is-glob/index.js:
  (*!
   * is-glob <https://github.com/jonschlinkert/is-glob>
   *
   * Copyright (c) 2014-2017, Jon Schlinkert.
   * Released under the MIT License.
   *)

queue-microtask/index.js:
  (*! queue-microtask. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)

run-parallel/index.js:
  (*! run-parallel. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)

@yarnpkg/pnp/lib/index.js:
  (**
    @license
    Copyright Node.js contributors. All rights reserved.
  
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to
    deal in the Software without restriction, including without limitation the
    rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
    sell copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
  
    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.
  
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
    IN THE SOFTWARE.
  *)
  (**
    @license
    The MIT License (MIT)
  
    Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
  
    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:
  
    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.
  
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.
  *)
*/
